MCPcopy Create free account
hub / github.com/brainflow-dev/brainflow / uart_rx

Function uart_rx

src/board_controller/muse/muse_bglib/uart.cpp:210–243  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

208 return 0;
209}
210int uart_rx (int len, unsigned char *data, int timeout_ms)
211{
212 int l = len;
213 DWORD r, rread;
214 COMMTIMEOUTS timeouts;
215 timeouts.ReadIntervalTimeout = MAXDWORD;
216 timeouts.ReadTotalTimeoutMultiplier = 0;
217 timeouts.ReadTotalTimeoutConstant = timeout_ms;
218 timeouts.WriteTotalTimeoutMultiplier = 0;
219 timeouts.WriteTotalTimeoutConstant = 0;
220
221 SetCommTimeouts (serial_handle, &timeouts);
222 while (len)
223 {
224 r = ReadFile (serial_handle, data, len, &rread, NULL);
225
226 if (!r)
227 {
228 l = GetLastError ();
229 if (l == ERROR_SUCCESS)
230 return 0;
231 return -1;
232 }
233 else
234 {
235 if (rread == 0)
236 return 0;
237 }
238 len -= rread;
239 data += rread;
240 }
241
242 return l;
243}
244
245#else
246

Callers 1

read_messageMethod · 0.70

Calls 1

readFunction · 0.50

Tested by

no test coverage detected