VectorNav C/C++ Library
|
This example shows how to retrieve the lastest asynchronous data packet received from the VN-100 sensor by using the function vn100_getCurrentAsyncData. This function is useful since it does not block while a command transaction is performed with the sensor. The library's backend thread is constantly servicing the COM port and when asychronous data is received from the sensor, it saves a copy in memory making it immediately accessible on the call to vn100_getCurrentAsyncData.
#include <stdio.h> #include <tchar.h> #include "vectornav.h" /* Change the connection settings to your configuration. */ const char* const COM_PORT = "COM1"; const int BAUD_RATE = 115200; int _tmain(int argc, _TCHAR* argv[]) { Vn100 vn100; VnYpr ypr; int i; vn100_connect(&vn100, COM_PORT, BAUD_RATE); /* Pause to ensure we have received the first asynchronous data record from the sensor. */ Sleep(1000); for (i = 0; i < 10; i++) { Vn100CompositeData data; vn100_getCurrentAsyncData(&vn100, &data); printf("YPR: %+#7.2f %+#7.2f %+#7.2f\n", data.ypr.yaw, data.ypr.pitch, data.ypr.roll); Sleep(1000); } vn100_disconnect(&vn100); return 0; }