@@ -38,119 +38,125 @@ bool FakeSerialPort::close()
38
38
return true ;
39
39
}
40
40
41
- bool FakeSerialPort::setDTR (bool value)
41
+ ReturnValue FakeSerialPort::setDTR (bool value)
42
42
{
43
- return true ;
43
+ return ReturnValue_ok ;
44
44
}
45
45
46
- bool FakeSerialPort::send (const Bottle & msg)
46
+ ReturnValue FakeSerialPort::sendString (const std::string & msg)
47
47
{
48
- if (msg.size () > 0 )
49
- {
50
- int message_size = msg.get (0 ).asString ().length ();
48
+ size_t message_size = msg.size ();
51
49
52
- if (message_size > 0 )
53
- {
54
- if (verbose)
55
- {
56
- yCDebug (FAKESERIALPORT, " Sending string: %s" , msg.get (0 ).asString ().c_str ());
57
- }
58
- }
59
- else
50
+ if (message_size > 0 )
51
+ {
52
+ if (verbose)
60
53
{
61
- if (verbose)
62
- {
63
- yCDebug (FAKESERIALPORT, " The input command bottle contains an empty string." );
64
- }
65
- return false ;
54
+ yCDebug (FAKESERIALPORT, " Sending string: %s" , msg.c_str ());
66
55
}
67
56
}
68
57
else
69
58
{
70
59
if (verbose)
71
60
{
72
- yCDebug (FAKESERIALPORT, " The input command bottle is empty. \n " );
61
+ yCDebug (FAKESERIALPORT, " The string contains an empty string. " );
73
62
}
74
- return false ;
63
+ return yarp::dev::ReturnValue::return_code::return_value_error_method_failed ;
75
64
}
76
65
77
- return true ;
66
+ return ReturnValue_ok ;
78
67
}
79
68
80
- bool FakeSerialPort::send ( const char *msg, size_t size )
69
+ ReturnValue FakeSerialPort::sendByte ( unsigned char byt )
81
70
{
82
- if (size > 0 )
71
+ yCInfo (FAKESERIALPORT, " sent byte : %c \n " , byt);
72
+ return ReturnValue_ok;
73
+ }
74
+
75
+ ReturnValue FakeSerialPort::sendBytes (const std::vector<unsigned char >& msg)
76
+ {
77
+ if (msg.size () > 0 )
83
78
{
84
79
if (verbose)
85
80
{
86
81
yCDebug (FAKESERIALPORT, " Sending string: %s" , msg);
87
82
}
88
83
89
84
// Write message in the serial device
90
- size_t bytes_written = size;
85
+ size_t bytes_written = msg. size () ;
91
86
92
87
if (bytes_written == -1 )
93
88
{
94
89
yCError (FAKESERIALPORT, " Unable to write to serial port" );
95
- return false ;
90
+ return ReturnValue::return_code::return_value_error_method_failed ;
96
91
}
97
92
}
98
93
else
99
94
{
100
95
if (verbose) {
101
96
yCDebug (FAKESERIALPORT, " The input message is empty. \n " );
102
97
}
103
- return false ;
98
+ return ReturnValue::return_code::return_value_error_method_failed ;
104
99
}
105
100
106
101
yCInfo (FAKESERIALPORT, " sent command: %s \n " ,msg);
107
- return true ;
102
+ return ReturnValue_ok ;
108
103
}
109
104
110
- int FakeSerialPort::receiveChar ( char & c)
105
+ ReturnValue FakeSerialPort::receiveByte ( unsigned char & c)
111
106
{
112
- char chr=' c ' ;
107
+ char chr=' R ' ;
113
108
114
109
size_t bytes_read = 1 ;
115
110
116
111
if (bytes_read == -1 )
117
112
{
118
113
yCError (FAKESERIALPORT, " Error in SerialDeviceDriver::receive()" );
119
- return 0 ;
114
+ return ReturnValue::return_code::return_value_error_method_failed ;
120
115
}
121
116
122
117
if (bytes_read == 0 )
123
118
{
124
- return 0 ;
119
+ return ReturnValue::return_code::return_value_error_method_failed ;
125
120
}
126
121
127
122
c=chr;
128
- return 1 ;
123
+ return ReturnValue_ok ;
129
124
}
130
125
131
- int FakeSerialPort::flush ()
126
+ ReturnValue FakeSerialPort::flush ()
132
127
{
133
- return 1 ;
128
+ size_t dummy_counter = 0 ;
129
+ return flush (dummy_counter);
134
130
}
135
131
136
- int FakeSerialPort::receiveBytes ( unsigned char * bytes, const int size )
132
+ ReturnValue FakeSerialPort::flush ( size_t & flushed )
137
133
{
138
- for (size_t i=0 ; i< size; i++)
139
- bytes[i]=' 0' +i;
140
- return size;
134
+ flushed = 3 ;
135
+ return ReturnValue_ok;
141
136
}
142
137
143
- int FakeSerialPort::receiveLine (char * buffer, const int MaxLineLength)
138
+ ReturnValue FakeSerialPort::receiveBytes (std::vector<unsigned char >& line, const int MaxSize)
139
+ {
140
+ line.clear ();
141
+ line.resize (1000 );
142
+ for (size_t i = 0 ; i < MaxSize; i++)
143
+ {
144
+ line[i]= (' 0' + i);
145
+ }
146
+ return ReturnValue_ok;
147
+ }
148
+
149
+ ReturnValue FakeSerialPort::receiveLine (std::vector<char >& line, const int MaxLineLength)
144
150
{
145
151
int i;
146
152
for (i = 0 ; i < MaxLineLength -1 ; ++i)
147
153
{
148
- char recv_ch;
149
- int n = receiveChar (recv_ch);
150
- if (n <= 0 )
154
+ unsigned char recv_ch;
155
+ auto ret = receiveByte (recv_ch);
156
+ if (!ret )
151
157
{
152
158
// this invalidates the whole line, because no line terminator \n was found
153
- return 0 ;
159
+ return ReturnValue::return_code::return_value_error_method_failed ;
154
160
155
161
// use this commented code here if you do NOT want to invalidate the line
156
162
// buffer[i] = '\0';
@@ -168,7 +174,7 @@ int FakeSerialPort::receiveLine(char* buffer, const int MaxLineLength)
168
174
return i;
169
175
}
170
176
171
- bool FakeSerialPort::receive (Bottle & msg)
177
+ ReturnValue FakeSerialPort::receiveString (std::string & msg)
172
178
{
173
179
char message[10 ] = " 123456789" ;
174
180
@@ -178,11 +184,11 @@ bool FakeSerialPort::receive(Bottle& msg)
178
184
if (bytes_read == -1 )
179
185
{
180
186
yCError (FAKESERIALPORT, " Error in SerialDeviceDriver::receive()" );
181
- return false ;
187
+ return ReturnValue::return_code::return_value_error_method_failed ;
182
188
}
183
189
184
190
if (bytes_read == 0 ) { // nothing there
185
- return true ;
191
+ return ReturnValue_ok ;
186
192
}
187
193
188
194
message[bytes_read] = 0 ;
@@ -193,8 +199,8 @@ bool FakeSerialPort::receive(Bottle& msg)
193
199
}
194
200
195
201
196
- // Put message in the bottle
197
- msg. addString ( message) ;
202
+ // Return the message
203
+ msg= message;
198
204
199
- return true ;
205
+ return ReturnValue_ok ;
200
206
}
0 commit comments