I've been testing the C++ WPILibrary-based code for integrating with the nav IMU over the Serial Port, and am experiencing an exception in the SerialPort:Read(char *buffer, INT32 count) function. The CRio is running firmware v. 52, and the WPI Library was installed from WorkbenchUpdate rev 3876 (1/1/2014).
The IMU is configured to transmit packets with a length of about 35 bytes each. The serial port configuration is 57600, 8, N, 1. Flow control is kNone.
The exception occurs somewhere inside viBufRead() and appears to be some sort of buffer overrun condition.
The exception only occurs when the IMU is configured to transmit packets at a high update rate (100Hz).
The exception can take up to 15 seconds or so after opening the serial port before it occurs.
When the update rate is dropped down to 50Hz, the exception does not occur.
Please let me know if any more information is needed on this.
Thanks,
- scott
Mentor, Team 2465 (Kauaibots)


Reply With Quote
