74 return ((int16_t)(rx[3] + 256 * rx[4]));
89 return (rx[4] + 256 * rx[5]);
127 if ((rx[4] + 256 * rx[5]) > 0)
165 size_t write(
const uint8_t* buffer,
size_t size)
167 uint8_t nextWriteSize;
168 uint16_t bytesWritten = 0;
169 uint32_t startTime = millis();
178 nextWriteSize = (uint8_t)size;
183 for (i = 0; i < nextWriteSize; ++i)
185 tx[4 + i] = buffer[i];
187 tx[3] = nextWriteSize;
192 return(bytesWritten);
194 bytesWritten += rx[3];
196 while ((size - bytesWritten) >= 7)
200 buffer[bytesWritten],
201 buffer[bytesWritten + 1],
202 buffer[bytesWritten + 2],
203 buffer[bytesWritten + 3],
204 buffer[bytesWritten + 4],
205 buffer[bytesWritten + 5],
206 buffer[bytesWritten + 6] };
212 return(bytesWritten);
214 bytesWritten += rx[3];
216 if (millis() > startTime + _timeout)
218 return(bytesWritten);
222 while (size - bytesWritten > 0)
225 if (size - bytesWritten >= 4)
231 nextWriteSize = (uint8_t)(size - bytesWritten);
236 for (i = 0; i < nextWriteSize; ++i)
238 tx[4 + i] = buffer[i + bytesWritten];
240 tx[3] = nextWriteSize;
245 return(bytesWritten);
247 bytesWritten += rx[3];
249 if (millis() > startTime + _timeout)
251 return(bytesWritten);
254 return (bytesWritten);
268 return (rx[6] + 256 * rx[7]);
285 uint16_t bytesAvailable = 0;
286 uint32_t startTime = millis();
294 bytesAvailable = (rx[4] + 256 * rx[5]);
297 if (bytesAvailable <
length)
302 uint16_t bytesRead = 0;
303 while (bytesRead <
length)
306 uint8_t bytesToRead =(uint8_t)(
length - bytesRead);
317 for (i = 0; i < rx[1] && bytesRead <
length; ++i)
319 buffer[bytesRead] = rx[2 + i];
328 if (millis() > startTime + _timeout)
343 _timeout = timeout_mS;
351 uint32_t _timeout = 500;