From 74509c8da3454a128033921baac4e64a9119ecec Mon Sep 17 00:00:00 2001 From: "r.koeppe" Date: Thu, 6 Jun 2024 11:37:03 +0200 Subject: [PATCH] removed proglib of vectornav --- vnproglib/LICENSE.txt | 22 - vnproglib/c/CMakeLists.txt | 57 - vnproglib/c/Makefile | 50 - .../c/examples/ez_async_data/CMakeLists.txt | 25 - vnproglib/c/examples/ez_async_data/Makefile | 20 - vnproglib/c/examples/ez_async_data/main.c | 82 - .../projects/vs2008/ez_async_data.sln | 45 - .../projects/vs2008/ez_async_data.vcproj | 280 - .../projects/vs2010/ez_async_data.sln | 45 - .../projects/vs2010/ez_async_data.vcxproj | 262 - .../vs2010/ez_async_data.vcxproj.filters | 13 - .../projects/vs2012/ez_async_data.sln | 45 - .../projects/vs2012/ez_async_data.vcxproj | 266 - .../vs2012/ez_async_data.vcxproj.filters | 13 - .../projects/vs2013/ez_async_data.sln | 45 - .../projects/vs2013/ez_async_data.vcxproj | 266 - .../vs2013/ez_async_data.vcxproj.filters | 13 - ... before opening project for first time.txt | 24 - .../projects/vs2019/ez_async_data.sln | 47 - .../projects/vs2019/ez_async_data.vcxproj | 273 - .../vs2019/ez_async_data.vcxproj.filters | 13 - .../vs2019/ez_async_data.vcxproj.user | 4 - .../c/examples/firmware_update/CMakeLists.txt | 24 - vnproglib/c/examples/firmware_update/Makefile | 20 - .../vs2019/Firmware Update Example.sln | 31 - .../vs2019/Firmware Update Example.vcxproj | 112 - .../Firmware Update Example.vcxproj.user | 4 - ... before opening project for first time.txt | 24 - vnproglib/c/examples/firmware_update/main.c | 340 - .../c/examples/getting_started/CMakeLists.txt | 24 - vnproglib/c/examples/getting_started/Makefile | 20 - vnproglib/c/examples/getting_started/main.c | 438 - .../projects/vs2008/getting_started.sln | 45 - .../projects/vs2008/getting_started.vcproj | 280 - .../projects/vs2010/getting_started.sln | 45 - .../projects/vs2010/getting_started.vcxproj | 262 - .../vs2010/getting_started.vcxproj.filters | 13 - .../projects/vs2012/getting_started.sln | 45 - .../projects/vs2012/getting_started.vcxproj | 266 - .../vs2012/getting_started.vcxproj.filters | 13 - .../projects/vs2013/getting_started.sln | 45 - .../projects/vs2013/getting_started.vcxproj | 266 - .../vs2013/getting_started.vcxproj.filters | 13 - ... before opening project for first time.txt | 24 - .../projects/vs2019/getting_started.sln | 43 - .../projects/vs2019/getting_started.vcxproj | 273 - .../vs2019/getting_started.vcxproj.filters | 13 - .../vs2019/getting_started.vcxproj.user | 4 - vnproglib/c/examples/sensor/CMakeLists.txt | 24 - vnproglib/c/examples/sensor/Makefile | 20 - vnproglib/c/examples/sensor/main.c | 265 - .../sensor/projects/vs2008/sensor.sln | 45 - .../sensor/projects/vs2008/sensor.vcproj | 280 - .../sensor/projects/vs2010/sensor.sln | 45 - .../sensor/projects/vs2010/sensor.vcxproj | 262 - .../projects/vs2010/sensor.vcxproj.filters | 13 - .../sensor/projects/vs2012/sensor.sln | 45 - .../sensor/projects/vs2012/sensor.vcxproj | 266 - .../projects/vs2012/sensor.vcxproj.filters | 13 - .../sensor/projects/vs2013/sensor.sln | 45 - .../sensor/projects/vs2013/sensor.vcxproj | 266 - .../projects/vs2013/sensor.vcxproj.filters | 13 - ... before opening project for first time.txt | 24 - .../sensor/projects/vs2019/sensor.sln | 33 - .../sensor/projects/vs2019/sensor.vcxproj | 154 - .../projects/vs2019/sensor.vcxproj.filters | 13 - .../projects/vs2019/sensor.vcxproj.user | 4 - vnproglib/c/examples/spi/CMakeLists.txt | 24 - vnproglib/c/examples/spi/Makefile | 20 - vnproglib/c/examples/spi/main.c | 148 - .../c/examples/spi/projects/vs2008/spi.sln | 45 - .../c/examples/spi/projects/vs2008/spi.vcproj | 280 - .../c/examples/spi/projects/vs2010/spi.sln | 45 - .../examples/spi/projects/vs2010/spi.vcxproj | 262 - .../spi/projects/vs2010/spi.vcxproj.filters | 13 - .../c/examples/spi/projects/vs2012/spi.sln | 45 - .../examples/spi/projects/vs2012/spi.vcxproj | 266 - .../spi/projects/vs2012/spi.vcxproj.filters | 13 - .../c/examples/spi/projects/vs2013/spi.sln | 45 - .../examples/spi/projects/vs2013/spi.vcxproj | 266 - .../spi/projects/vs2013/spi.vcxproj.filters | 13 - ... before opening project for first time.txt | 24 - .../c/examples/spi/projects/vs2019/spi.sln | 33 - .../examples/spi/projects/vs2019/spi.vcxproj | 152 - .../spi/projects/vs2019/spi.vcxproj.filters | 13 - .../spi/projects/vs2019/spi.vcxproj.user | 4 - vnproglib/c/help/annotated.html | 165 - vnproglib/c/help/arrowdown.png | Bin 246 -> 0 bytes vnproglib/c/help/arrowright.png | Bin 229 -> 0 bytes vnproglib/c/help/bc_s.png | Bin 676 -> 0 bytes vnproglib/c/help/bdwn.png | Bin 147 -> 0 bytes vnproglib/c/help/bool_8h_source.html | 138 - vnproglib/c/help/classes.html | 140 - vnproglib/c/help/closed.png | Bin 132 -> 0 bytes vnproglib/c/help/common_8h_source.html | 162 - vnproglib/c/help/compiler_8h_source.html | 140 - vnproglib/c/help/compositedata_8h_source.html | 306 - vnproglib/c/help/const_8h_source.html | 109 - vnproglib/c/help/conv_8h_source.html | 114 - vnproglib/c/help/criticalsection_8h.html | 234 - .../c/help/criticalsection_8h_source.html | 164 - .../dir_027780aa32961d07c4d51557f73a7d30.html | 111 - .../dir_31a68fee5b0aade5575fcd9899552a15.html | 107 - .../dir_8bde4b85f1f8cd0faa87b91375e717e4.html | 136 - .../dir_b8f3676ce45a2d9945f359024fabdbc0.html | 107 - .../dir_c8e7966a7aa62365068a660868ad1d75.html | 109 - .../dir_d44c64559bbebec7f509842c48db8b23.html | 103 - .../dir_f40822c92baf324ecf3ea224d9a1e0b5.html | 105 - vnproglib/c/help/doc.png | Bin 746 -> 0 bytes vnproglib/c/help/doxygen.css | 1454 --- vnproglib/c/help/doxygen.png | Bin 3779 -> 0 bytes vnproglib/c/help/dynsections.js | 97 - vnproglib/c/help/enum_8h_source.html | 521 - vnproglib/c/help/error_8h_source.html | 111 - .../c/help/error__detection_8h_source.html | 123 - vnproglib/c/help/event_8h.html | 292 - vnproglib/c/help/event_8h_source.html | 171 - vnproglib/c/help/examples.html | 103 - vnproglib/c/help/export_8h_source.html | 119 - .../help/ez_async_data_2main_8c-example.html | 204 - vnproglib/c/help/ezasyncdata_8h_source.html | 146 - vnproglib/c/help/files.html | 131 - vnproglib/c/help/folderclosed.png | Bin 616 -> 0 bytes vnproglib/c/help/folderopen.png | Bin 597 -> 0 bytes vnproglib/c/help/functions.html | 242 - vnproglib/c/help/functions_b.html | 177 - vnproglib/c/help/functions_c.html | 158 - vnproglib/c/help/functions_d.html | 165 - vnproglib/c/help/functions_e.html | 157 - vnproglib/c/help/functions_f.html | 142 - vnproglib/c/help/functions_g.html | 173 - vnproglib/c/help/functions_h.html | 142 - vnproglib/c/help/functions_i.html | 151 - vnproglib/c/help/functions_l.html | 139 - vnproglib/c/help/functions_m.html | 201 - vnproglib/c/help/functions_n.html | 151 - vnproglib/c/help/functions_o.html | 136 - vnproglib/c/help/functions_p.html | 202 - vnproglib/c/help/functions_q.html | 139 - vnproglib/c/help/functions_r.html | 148 - vnproglib/c/help/functions_s.html | 202 - vnproglib/c/help/functions_t.html | 182 - vnproglib/c/help/functions_u.html | 152 - vnproglib/c/help/functions_v.html | 185 - vnproglib/c/help/functions_vars.html | 242 - vnproglib/c/help/functions_vars_b.html | 177 - vnproglib/c/help/functions_vars_c.html | 158 - vnproglib/c/help/functions_vars_d.html | 165 - vnproglib/c/help/functions_vars_e.html | 157 - vnproglib/c/help/functions_vars_f.html | 142 - vnproglib/c/help/functions_vars_g.html | 173 - vnproglib/c/help/functions_vars_h.html | 142 - vnproglib/c/help/functions_vars_i.html | 151 - vnproglib/c/help/functions_vars_l.html | 139 - vnproglib/c/help/functions_vars_m.html | 201 - vnproglib/c/help/functions_vars_n.html | 151 - vnproglib/c/help/functions_vars_o.html | 136 - vnproglib/c/help/functions_vars_p.html | 202 - vnproglib/c/help/functions_vars_q.html | 139 - vnproglib/c/help/functions_vars_r.html | 148 - vnproglib/c/help/functions_vars_s.html | 202 - vnproglib/c/help/functions_vars_t.html | 182 - vnproglib/c/help/functions_vars_u.html | 152 - vnproglib/c/help/functions_vars_v.html | 185 - vnproglib/c/help/functions_vars_w.html | 140 - vnproglib/c/help/functions_vars_x.html | 139 - vnproglib/c/help/functions_vars_y.html | 146 - vnproglib/c/help/functions_w.html | 140 - vnproglib/c/help/functions_x.html | 139 - vnproglib/c/help/functions_y.html | 146 - .../getting_started_2main_8c-example.html | 555 - vnproglib/c/help/globals.html | 571 - vnproglib/c/help/globals_func.html | 568 - vnproglib/c/help/globals_type.html | 107 - vnproglib/c/help/group__byte_orderers.html | 329 - .../help/group__register_access_methods.html | 3609 ------ .../c/help/group__register_structures.html | 332 - .../help/group__sensor_value_extractors.html | 329 - .../help/group__spi__genread__functions.html | 2607 ----- .../help/group__spi__genwrite__functions.html | 2097 ---- .../help/group__uart__genread__functions.html | 3302 ------ .../group__uart__genwrite__functions.html | 9802 ----------------- ...roup__uart_packet_ascii_async_parsers.html | 1204 -- .../group__uart_packet_binary_extractors.html | 387 - vnproglib/c/help/index.html | 112 - vnproglib/c/help/int_8h_source.html | 132 - vnproglib/c/help/jquery.js | 68 - vnproglib/c/help/known_issues.html | 104 - vnproglib/c/help/matrix_8h_source.html | 175 - vnproglib/c/help/modules.html | 107 - vnproglib/c/help/nav_f.png | Bin 153 -> 0 bytes vnproglib/c/help/nav_g.png | Bin 95 -> 0 bytes vnproglib/c/help/nav_h.png | Bin 98 -> 0 bytes vnproglib/c/help/open.png | Bin 123 -> 0 bytes vnproglib/c/help/pages.html | 100 - vnproglib/c/help/port_8h_source.html | 119 - vnproglib/c/help/proglib.png | Bin 1396 -> 0 bytes vnproglib/c/help/requirements.html | 100 - vnproglib/c/help/search/all_0.html | 26 - vnproglib/c/help/search/all_0.js | 36 - vnproglib/c/help/search/all_1.html | 26 - vnproglib/c/help/search/all_1.js | 19 - vnproglib/c/help/search/all_10.html | 26 - vnproglib/c/help/search/all_10.js | 12 - vnproglib/c/help/search/all_11.html | 26 - vnproglib/c/help/search/all_11.js | 60 - vnproglib/c/help/search/all_12.html | 26 - vnproglib/c/help/search/all_12.js | 20 - vnproglib/c/help/search/all_13.html | 26 - vnproglib/c/help/search/all_13.js | 13 - vnproglib/c/help/search/all_14.html | 26 - vnproglib/c/help/search/all_14.js | 500 - vnproglib/c/help/search/all_15.html | 26 - vnproglib/c/help/search/all_15.js | 4 - vnproglib/c/help/search/all_16.html | 26 - vnproglib/c/help/search/all_16.js | 5 - vnproglib/c/help/search/all_17.html | 26 - vnproglib/c/help/search/all_17.js | 8 - vnproglib/c/help/search/all_2.html | 26 - vnproglib/c/help/search/all_2.js | 12 - vnproglib/c/help/search/all_3.html | 26 - vnproglib/c/help/search/all_3.js | 14 - vnproglib/c/help/search/all_4.html | 26 - vnproglib/c/help/search/all_4.js | 12 - vnproglib/c/help/search/all_5.html | 26 - vnproglib/c/help/search/all_5.js | 9 - vnproglib/c/help/search/all_6.html | 26 - vnproglib/c/help/search/all_6.js | 20 - vnproglib/c/help/search/all_7.html | 26 - vnproglib/c/help/search/all_7.js | 11 - vnproglib/c/help/search/all_8.html | 26 - vnproglib/c/help/search/all_8.js | 19 - vnproglib/c/help/search/all_9.html | 26 - vnproglib/c/help/search/all_9.js | 4 - vnproglib/c/help/search/all_a.html | 26 - vnproglib/c/help/search/all_a.js | 5 - vnproglib/c/help/search/all_b.html | 26 - vnproglib/c/help/search/all_b.js | 28 - vnproglib/c/help/search/all_c.html | 26 - vnproglib/c/help/search/all_c.js | 8 - vnproglib/c/help/search/all_d.html | 26 - vnproglib/c/help/search/all_d.js | 4 - vnproglib/c/help/search/all_e.html | 26 - vnproglib/c/help/search/all_e.js | 23 - vnproglib/c/help/search/all_f.html | 26 - vnproglib/c/help/search/all_f.js | 7 - vnproglib/c/help/search/classes_0.html | 26 - vnproglib/c/help/search/classes_0.js | 4 - vnproglib/c/help/search/classes_1.html | 26 - vnproglib/c/help/search/classes_1.js | 4 - vnproglib/c/help/search/classes_2.html | 26 - vnproglib/c/help/search/classes_2.js | 5 - vnproglib/c/help/search/classes_3.html | 26 - vnproglib/c/help/search/classes_3.js | 5 - vnproglib/c/help/search/classes_4.html | 26 - vnproglib/c/help/search/classes_4.js | 6 - vnproglib/c/help/search/classes_5.html | 26 - vnproglib/c/help/search/classes_5.js | 9 - vnproglib/c/help/search/classes_6.html | 26 - vnproglib/c/help/search/classes_6.js | 13 - vnproglib/c/help/search/classes_7.html | 26 - vnproglib/c/help/search/classes_7.js | 8 - vnproglib/c/help/search/classes_8.html | 26 - vnproglib/c/help/search/classes_8.js | 5 - vnproglib/c/help/search/classes_9.html | 26 - vnproglib/c/help/search/classes_9.js | 4 - vnproglib/c/help/search/classes_a.html | 26 - vnproglib/c/help/search/classes_a.js | 6 - vnproglib/c/help/search/classes_b.html | 26 - vnproglib/c/help/search/classes_b.js | 25 - vnproglib/c/help/search/classes_c.html | 26 - vnproglib/c/help/search/classes_c.js | 6 - vnproglib/c/help/search/close.png | Bin 273 -> 0 bytes vnproglib/c/help/search/files_0.html | 26 - vnproglib/c/help/search/files_0.js | 4 - vnproglib/c/help/search/files_1.html | 26 - vnproglib/c/help/search/files_1.js | 4 - vnproglib/c/help/search/files_2.html | 26 - vnproglib/c/help/search/files_2.js | 4 - vnproglib/c/help/search/files_3.html | 26 - vnproglib/c/help/search/files_3.js | 5 - vnproglib/c/help/search/functions_0.html | 26 - vnproglib/c/help/search/functions_0.js | 4 - vnproglib/c/help/search/functions_1.html | 26 - vnproglib/c/help/search/functions_1.js | 8 - vnproglib/c/help/search/functions_2.html | 26 - vnproglib/c/help/search/functions_2.js | 31 - vnproglib/c/help/search/functions_3.html | 26 - vnproglib/c/help/search/functions_3.js | 459 - vnproglib/c/help/search/groups_0.html | 26 - vnproglib/c/help/search/groups_0.js | 4 - vnproglib/c/help/search/groups_1.html | 26 - vnproglib/c/help/search/groups_1.js | 5 - vnproglib/c/help/search/groups_2.html | 26 - vnproglib/c/help/search/groups_2.js | 6 - vnproglib/c/help/search/groups_3.html | 26 - vnproglib/c/help/search/groups_3.js | 7 - vnproglib/c/help/search/mag_sel.png | Bin 563 -> 0 bytes vnproglib/c/help/search/nomatches.html | 12 - vnproglib/c/help/search/pages_0.html | 26 - vnproglib/c/help/search/pages_0.js | 4 - vnproglib/c/help/search/pages_1.html | 26 - vnproglib/c/help/search/pages_1.js | 4 - vnproglib/c/help/search/pages_2.html | 26 - vnproglib/c/help/search/pages_2.js | 5 - vnproglib/c/help/search/search.css | 271 - vnproglib/c/help/search/search.js | 791 -- vnproglib/c/help/search/search_l.png | Bin 604 -> 0 bytes vnproglib/c/help/search/search_m.png | Bin 158 -> 0 bytes vnproglib/c/help/search/search_r.png | Bin 612 -> 0 bytes vnproglib/c/help/search/searchdata.js | 36 - vnproglib/c/help/search/typedefs_0.html | 26 - vnproglib/c/help/search/typedefs_0.js | 4 - vnproglib/c/help/search/variables_0.html | 26 - vnproglib/c/help/search/variables_0.js | 35 - vnproglib/c/help/search/variables_1.html | 26 - vnproglib/c/help/search/variables_1.js | 16 - vnproglib/c/help/search/variables_10.html | 26 - vnproglib/c/help/search/variables_10.js | 25 - vnproglib/c/help/search/variables_11.html | 26 - vnproglib/c/help/search/variables_11.js | 18 - vnproglib/c/help/search/variables_12.html | 26 - vnproglib/c/help/search/variables_12.js | 9 - vnproglib/c/help/search/variables_13.html | 26 - vnproglib/c/help/search/variables_13.js | 19 - vnproglib/c/help/search/variables_14.html | 26 - vnproglib/c/help/search/variables_14.js | 4 - vnproglib/c/help/search/variables_15.html | 26 - vnproglib/c/help/search/variables_15.js | 5 - vnproglib/c/help/search/variables_16.html | 26 - vnproglib/c/help/search/variables_16.js | 5 - vnproglib/c/help/search/variables_2.html | 26 - vnproglib/c/help/search/variables_2.js | 9 - vnproglib/c/help/search/variables_3.html | 26 - vnproglib/c/help/search/variables_3.js | 12 - vnproglib/c/help/search/variables_4.html | 26 - vnproglib/c/help/search/variables_4.js | 11 - vnproglib/c/help/search/variables_5.html | 26 - vnproglib/c/help/search/variables_5.js | 6 - vnproglib/c/help/search/variables_6.html | 26 - vnproglib/c/help/search/variables_6.js | 14 - vnproglib/c/help/search/variables_7.html | 26 - vnproglib/c/help/search/variables_7.js | 6 - vnproglib/c/help/search/variables_8.html | 26 - vnproglib/c/help/search/variables_8.js | 9 - vnproglib/c/help/search/variables_9.html | 26 - vnproglib/c/help/search/variables_9.js | 5 - vnproglib/c/help/search/variables_a.html | 26 - vnproglib/c/help/search/variables_a.js | 23 - vnproglib/c/help/search/variables_b.html | 26 - vnproglib/c/help/search/variables_b.js | 8 - vnproglib/c/help/search/variables_c.html | 26 - vnproglib/c/help/search/variables_c.js | 4 - vnproglib/c/help/search/variables_d.html | 26 - vnproglib/c/help/search/variables_d.js | 23 - vnproglib/c/help/search/variables_e.html | 26 - vnproglib/c/help/search/variables_e.js | 5 - vnproglib/c/help/search/variables_f.html | 26 - vnproglib/c/help/search/variables_f.js | 8 - vnproglib/c/help/searcher_8h_source.html | 167 - vnproglib/c/help/sensor_2main_8c-example.html | 385 - vnproglib/c/help/sensors_8h.html | 2319 ---- vnproglib/c/help/sensors_8h_source.html | 1440 --- vnproglib/c/help/serialport_8h_source.html | 208 - vnproglib/c/help/spi_2main_8c-example.html | 283 - vnproglib/c/help/spi_8h_source.html | 1217 -- vnproglib/c/help/splitbar.png | Bin 314 -> 0 bytes ...ct_acceleration_compensation_register.html | 124 - .../c/help/struct_binary_output_register.html | 239 - ...ted_magnetometer_calibration_register.html | 124 - ...mmunication_protocol_control_register.html | 144 - ...delta_velocity_configuration_register.html | 128 - ...lta_theta_and_delta_velocity_register.html | 128 - ...ter_active_tuning_parameters_register.html | 132 - .../struct_filter_basic_control_register.html | 136 - ...urements_variance_parameters_register.html | 132 - .../struct_gps_compass_baseline_register.html | 124 - ...s_compass_estimated_baseline_register.html | 132 - .../struct_gps_configuration_register.html | 124 - .../struct_gps_solution_ecef_register.html | 152 - .../struct_gps_solution_lla_register.html | 152 - .../struct_gyro_compensation_register.html | 124 - ..._imu_filtering_configuration_register.html | 156 - .../struct_imu_measurements_register.html | 136 - ...truct_imu_rate_configuration_register.html | 132 - ...t_ins_advanced_configuration_register.html | 176 - ...ns_basic_configuration_register_vn200.html | 124 - ...ns_basic_configuration_register_vn300.html | 128 - .../struct_ins_solution_ecef_register.html | 152 - .../struct_ins_solution_lla_register.html | 152 - .../help/struct_ins_state_ecef_register.html | 136 - .../c/help/struct_ins_state_lla_register.html | 136 - ...celeration_and_angular_rates_register.html | 128 - ...nd_gravity_reference_vectors_register.html | 124 - ...etometer_calibration_control_register.html | 128 - ...ct_magnetometer_compensation_register.html | 124 - ...celeration_and_angular_rates_register.html | 132 - ...ference_vector_configuration_register.html | 136 - ...startup_filter_bias_estimate_register.html | 128 - ...ruct_synchronization_control_register.html | 144 - ...truct_synchronization_status_register.html | 128 - ...elocity_compensation_control_register.html | 128 - ...velocity_compensation_status_register.html | 132 - .../c/help/struct_vn_composite_data.html | 884 -- .../c/help/struct_vn_critical_section.html | 103 - vnproglib/c/help/struct_vn_event.html | 110 - vnproglib/c/help/struct_vn_ez_async_data.html | 129 - vnproglib/c/help/struct_vn_port_info.html | 140 - vnproglib/c/help/struct_vn_sensor.html | 165 - vnproglib/c/help/struct_vn_serial_port.html | 140 - vnproglib/c/help/struct_vn_stopwatch.html | 110 - vnproglib/c/help/struct_vn_thread.html | 110 - vnproglib/c/help/struct_vn_uart_packet.html | 163 - .../c/help/struct_vn_uart_packet_finder.html | 186 - ...ccelerometer_advanced_tuning_register.html | 136 - ...e_accelerometer_basic_tuning_register.html | 128 - .../struct_vpe_basic_control_register.html | 133 - ...struct_vpe_gyro_basic_tuning_register.html | 128 - ...magnetometer_advanced_tuning_register.html | 136 - ...pe_magnetometer_basic_tuning_register.html | 128 - ...celeration_and_angular_rates_register.html | 133 - ...celeration_and_angular_rates_register.html | 128 - ...celeration_and_angular_rates_register.html | 128 - vnproglib/c/help/sync_off.png | Bin 853 -> 0 bytes vnproglib/c/help/sync_on.png | Bin 845 -> 0 bytes vnproglib/c/help/tab_a.png | Bin 142 -> 0 bytes vnproglib/c/help/tab_b.png | Bin 169 -> 0 bytes vnproglib/c/help/tab_h.png | Bin 177 -> 0 bytes vnproglib/c/help/tab_s.png | Bin 184 -> 0 bytes vnproglib/c/help/tabs.css | 60 - vnproglib/c/help/thread_8h.html | 291 - vnproglib/c/help/thread_8h_source.html | 171 - vnproglib/c/help/time_8h.html | 222 - vnproglib/c/help/time_8h_source.html | 160 - vnproglib/c/help/types_8h_source.html | 123 - vnproglib/c/help/unionmat3f.html | 132 - vnproglib/c/help/unionquatf.html | 132 - vnproglib/c/help/unionvec3d.html | 132 - vnproglib/c/help/unionvec3f.html | 134 - vnproglib/c/help/unionvec4f.html | 132 - vnproglib/c/help/upack_8h_source.html | 1562 --- vnproglib/c/help/upackf_8h_source.html | 202 - vnproglib/c/help/util_8h_source.html | 213 - vnproglib/c/help/vector_8h_source.html | 216 - vnproglib/c/help/vectornav_8h_source.html | 112 - vnproglib/c/help/version_history.html | 111 - vnproglib/c/include/vn/bool.h | 37 - vnproglib/c/include/vn/const.h | 7 - vnproglib/c/include/vn/conv.h | 16 - vnproglib/c/include/vn/enum.h | 670 -- vnproglib/c/include/vn/error.h | 14 - vnproglib/c/include/vn/error_detection.h | 34 - vnproglib/c/include/vn/int.h | 29 - vnproglib/c/include/vn/math/matrix.h | 87 - vnproglib/c/include/vn/math/vector.h | 172 - vnproglib/c/include/vn/protocol/common.h | 61 - vnproglib/c/include/vn/protocol/spi.h | 2481 ----- vnproglib/c/include/vn/protocol/upack.h | 3650 ------ vnproglib/c/include/vn/protocol/upackf.h | 129 - vnproglib/c/include/vn/sensors.h | 2020 ---- .../c/include/vn/sensors/compositedata.h | 245 - vnproglib/c/include/vn/sensors/ezasyncdata.h | 60 - vnproglib/c/include/vn/sensors/searcher.h | 94 - vnproglib/c/include/vn/types.h | 60 - vnproglib/c/include/vn/util.h | 273 - vnproglib/c/include/vn/util/compiler.h | 37 - vnproglib/c/include/vn/util/export.h | 16 - vnproglib/c/include/vn/util/port.h | 19 - vnproglib/c/include/vn/vectornav.h | 9 - .../c/include/vn/xplat/criticalsection.h | 77 - vnproglib/c/include/vn/xplat/event.h | 98 - vnproglib/c/include/vn/xplat/serialport.h | 149 - vnproglib/c/include/vn/xplat/thread.h | 87 - vnproglib/c/include/vn/xplat/time.h | 73 - vnproglib/c/index.html | 8 - vnproglib/c/projects/vs2008/libvnc.sln | 32 - vnproglib/c/projects/vs2008/libvnc.vcproj | 375 - vnproglib/c/projects/vs2010/libvnc.sln | 32 - vnproglib/c/projects/vs2010/libvnc.vcxproj | 256 - .../c/projects/vs2010/libvnc.vcxproj.filters | 153 - vnproglib/c/projects/vs2012/libvnc.sln | 32 - vnproglib/c/projects/vs2012/libvnc.vcxproj | 260 - .../c/projects/vs2012/libvnc.vcxproj.filters | 153 - vnproglib/c/projects/vs2013/libvnc.sln | 32 - vnproglib/c/projects/vs2013/libvnc.vcxproj | 260 - .../c/projects/vs2013/libvnc.vcxproj.filters | 153 - vnproglib/c/projects/vs2017/libvnc.sln | 32 - vnproglib/c/projects/vs2017/libvnc.vcxproj | 263 - .../c/projects/vs2017/libvnc.vcxproj.filters | 153 - .../c/projects/vs2017/libvnc.vcxproj.user | 4 - vnproglib/c/src/vn/conv.c | 81 - vnproglib/c/src/vn/error.c | 142 - vnproglib/c/src/vn/error_detection.c | 32 - vnproglib/c/src/vn/math/matrix.c | 123 - vnproglib/c/src/vn/math/vector.c | 118 - vnproglib/c/src/vn/protocol/spi.c | 2911 ----- vnproglib/c/src/vn/protocol/upack.c | 4860 -------- vnproglib/c/src/vn/protocol/upackf.c | 438 - vnproglib/c/src/vn/sensors.c | 3526 ------ vnproglib/c/src/vn/sensors/compositedata.c | 763 -- vnproglib/c/src/vn/sensors/ezasyncdata.c | 94 - vnproglib/c/src/vn/sensors/searcher.c | 564 - vnproglib/c/src/vn/util.c | 391 - vnproglib/c/src/vn/xplat/criticalsection.c | 73 - vnproglib/c/src/vn/xplat/event.c | 239 - vnproglib/c/src/vn/xplat/serialport.c | 762 -- vnproglib/c/src/vn/xplat/thread.c | 157 - vnproglib/c/src/vn/xplat/time.c | 129 - 508 files changed, 100092 deletions(-) delete mode 100644 vnproglib/LICENSE.txt delete mode 100644 vnproglib/c/CMakeLists.txt delete mode 100644 vnproglib/c/Makefile delete mode 100644 vnproglib/c/examples/ez_async_data/CMakeLists.txt delete mode 100644 vnproglib/c/examples/ez_async_data/Makefile delete mode 100644 vnproglib/c/examples/ez_async_data/main.c delete mode 100644 vnproglib/c/examples/ez_async_data/projects/vs2008/ez_async_data.sln delete mode 100644 vnproglib/c/examples/ez_async_data/projects/vs2008/ez_async_data.vcproj delete mode 100644 vnproglib/c/examples/ez_async_data/projects/vs2010/ez_async_data.sln delete mode 100644 vnproglib/c/examples/ez_async_data/projects/vs2010/ez_async_data.vcxproj delete mode 100644 vnproglib/c/examples/ez_async_data/projects/vs2010/ez_async_data.vcxproj.filters delete mode 100644 vnproglib/c/examples/ez_async_data/projects/vs2012/ez_async_data.sln delete mode 100644 vnproglib/c/examples/ez_async_data/projects/vs2012/ez_async_data.vcxproj delete mode 100644 vnproglib/c/examples/ez_async_data/projects/vs2012/ez_async_data.vcxproj.filters delete mode 100644 vnproglib/c/examples/ez_async_data/projects/vs2013/ez_async_data.sln delete mode 100644 vnproglib/c/examples/ez_async_data/projects/vs2013/ez_async_data.vcxproj delete mode 100644 vnproglib/c/examples/ez_async_data/projects/vs2013/ez_async_data.vcxproj.filters delete mode 100644 vnproglib/c/examples/ez_async_data/projects/vs2019/README before opening project for first time.txt delete mode 100644 vnproglib/c/examples/ez_async_data/projects/vs2019/ez_async_data.sln delete mode 100644 vnproglib/c/examples/ez_async_data/projects/vs2019/ez_async_data.vcxproj delete mode 100644 vnproglib/c/examples/ez_async_data/projects/vs2019/ez_async_data.vcxproj.filters delete mode 100644 vnproglib/c/examples/ez_async_data/projects/vs2019/ez_async_data.vcxproj.user delete mode 100644 vnproglib/c/examples/firmware_update/CMakeLists.txt delete mode 100644 vnproglib/c/examples/firmware_update/Makefile delete mode 100644 vnproglib/c/examples/firmware_update/Projects/vs2019/Firmware Update Example.sln delete mode 100644 vnproglib/c/examples/firmware_update/Projects/vs2019/Firmware Update Example.vcxproj delete mode 100644 vnproglib/c/examples/firmware_update/Projects/vs2019/Firmware Update Example.vcxproj.user delete mode 100644 vnproglib/c/examples/firmware_update/Projects/vs2019/README before opening project for first time.txt delete mode 100644 vnproglib/c/examples/firmware_update/main.c delete mode 100644 vnproglib/c/examples/getting_started/CMakeLists.txt delete mode 100644 vnproglib/c/examples/getting_started/Makefile delete mode 100644 vnproglib/c/examples/getting_started/main.c delete mode 100644 vnproglib/c/examples/getting_started/projects/vs2008/getting_started.sln delete mode 100644 vnproglib/c/examples/getting_started/projects/vs2008/getting_started.vcproj delete mode 100644 vnproglib/c/examples/getting_started/projects/vs2010/getting_started.sln delete mode 100644 vnproglib/c/examples/getting_started/projects/vs2010/getting_started.vcxproj delete mode 100644 vnproglib/c/examples/getting_started/projects/vs2010/getting_started.vcxproj.filters delete mode 100644 vnproglib/c/examples/getting_started/projects/vs2012/getting_started.sln delete mode 100644 vnproglib/c/examples/getting_started/projects/vs2012/getting_started.vcxproj delete mode 100644 vnproglib/c/examples/getting_started/projects/vs2012/getting_started.vcxproj.filters delete mode 100644 vnproglib/c/examples/getting_started/projects/vs2013/getting_started.sln delete mode 100644 vnproglib/c/examples/getting_started/projects/vs2013/getting_started.vcxproj delete mode 100644 vnproglib/c/examples/getting_started/projects/vs2013/getting_started.vcxproj.filters delete mode 100644 vnproglib/c/examples/getting_started/projects/vs2019/README before opening project for first time.txt delete mode 100644 vnproglib/c/examples/getting_started/projects/vs2019/getting_started.sln delete mode 100644 vnproglib/c/examples/getting_started/projects/vs2019/getting_started.vcxproj delete mode 100644 vnproglib/c/examples/getting_started/projects/vs2019/getting_started.vcxproj.filters delete mode 100644 vnproglib/c/examples/getting_started/projects/vs2019/getting_started.vcxproj.user delete mode 100644 vnproglib/c/examples/sensor/CMakeLists.txt delete mode 100644 vnproglib/c/examples/sensor/Makefile delete mode 100644 vnproglib/c/examples/sensor/main.c delete mode 100644 vnproglib/c/examples/sensor/projects/vs2008/sensor.sln delete mode 100644 vnproglib/c/examples/sensor/projects/vs2008/sensor.vcproj delete mode 100644 vnproglib/c/examples/sensor/projects/vs2010/sensor.sln delete mode 100644 vnproglib/c/examples/sensor/projects/vs2010/sensor.vcxproj delete mode 100644 vnproglib/c/examples/sensor/projects/vs2010/sensor.vcxproj.filters delete mode 100644 vnproglib/c/examples/sensor/projects/vs2012/sensor.sln delete mode 100644 vnproglib/c/examples/sensor/projects/vs2012/sensor.vcxproj delete mode 100644 vnproglib/c/examples/sensor/projects/vs2012/sensor.vcxproj.filters delete mode 100644 vnproglib/c/examples/sensor/projects/vs2013/sensor.sln delete mode 100644 vnproglib/c/examples/sensor/projects/vs2013/sensor.vcxproj delete mode 100644 vnproglib/c/examples/sensor/projects/vs2013/sensor.vcxproj.filters delete mode 100644 vnproglib/c/examples/sensor/projects/vs2019/README before opening project for first time.txt delete mode 100644 vnproglib/c/examples/sensor/projects/vs2019/sensor.sln delete mode 100644 vnproglib/c/examples/sensor/projects/vs2019/sensor.vcxproj delete mode 100644 vnproglib/c/examples/sensor/projects/vs2019/sensor.vcxproj.filters delete mode 100644 vnproglib/c/examples/sensor/projects/vs2019/sensor.vcxproj.user delete mode 100644 vnproglib/c/examples/spi/CMakeLists.txt delete mode 100644 vnproglib/c/examples/spi/Makefile delete mode 100644 vnproglib/c/examples/spi/main.c delete mode 100644 vnproglib/c/examples/spi/projects/vs2008/spi.sln delete mode 100644 vnproglib/c/examples/spi/projects/vs2008/spi.vcproj delete mode 100644 vnproglib/c/examples/spi/projects/vs2010/spi.sln delete mode 100644 vnproglib/c/examples/spi/projects/vs2010/spi.vcxproj delete mode 100644 vnproglib/c/examples/spi/projects/vs2010/spi.vcxproj.filters delete mode 100644 vnproglib/c/examples/spi/projects/vs2012/spi.sln delete mode 100644 vnproglib/c/examples/spi/projects/vs2012/spi.vcxproj delete mode 100644 vnproglib/c/examples/spi/projects/vs2012/spi.vcxproj.filters delete mode 100644 vnproglib/c/examples/spi/projects/vs2013/spi.sln delete mode 100644 vnproglib/c/examples/spi/projects/vs2013/spi.vcxproj delete mode 100644 vnproglib/c/examples/spi/projects/vs2013/spi.vcxproj.filters delete mode 100644 vnproglib/c/examples/spi/projects/vs2019/README before opening project for first time.txt delete mode 100644 vnproglib/c/examples/spi/projects/vs2019/spi.sln delete mode 100644 vnproglib/c/examples/spi/projects/vs2019/spi.vcxproj delete mode 100644 vnproglib/c/examples/spi/projects/vs2019/spi.vcxproj.filters delete mode 100644 vnproglib/c/examples/spi/projects/vs2019/spi.vcxproj.user delete mode 100644 vnproglib/c/help/annotated.html delete mode 100644 vnproglib/c/help/arrowdown.png delete mode 100644 vnproglib/c/help/arrowright.png delete mode 100644 vnproglib/c/help/bc_s.png delete mode 100644 vnproglib/c/help/bdwn.png delete mode 100644 vnproglib/c/help/bool_8h_source.html delete mode 100644 vnproglib/c/help/classes.html delete mode 100644 vnproglib/c/help/closed.png delete mode 100644 vnproglib/c/help/common_8h_source.html delete mode 100644 vnproglib/c/help/compiler_8h_source.html delete mode 100644 vnproglib/c/help/compositedata_8h_source.html delete mode 100644 vnproglib/c/help/const_8h_source.html delete mode 100644 vnproglib/c/help/conv_8h_source.html delete mode 100644 vnproglib/c/help/criticalsection_8h.html delete mode 100644 vnproglib/c/help/criticalsection_8h_source.html delete mode 100644 vnproglib/c/help/dir_027780aa32961d07c4d51557f73a7d30.html delete mode 100644 vnproglib/c/help/dir_31a68fee5b0aade5575fcd9899552a15.html delete mode 100644 vnproglib/c/help/dir_8bde4b85f1f8cd0faa87b91375e717e4.html delete mode 100644 vnproglib/c/help/dir_b8f3676ce45a2d9945f359024fabdbc0.html delete mode 100644 vnproglib/c/help/dir_c8e7966a7aa62365068a660868ad1d75.html delete mode 100644 vnproglib/c/help/dir_d44c64559bbebec7f509842c48db8b23.html delete mode 100644 vnproglib/c/help/dir_f40822c92baf324ecf3ea224d9a1e0b5.html delete mode 100644 vnproglib/c/help/doc.png delete mode 100644 vnproglib/c/help/doxygen.css delete mode 100644 vnproglib/c/help/doxygen.png delete mode 100644 vnproglib/c/help/dynsections.js delete mode 100644 vnproglib/c/help/enum_8h_source.html delete mode 100644 vnproglib/c/help/error_8h_source.html delete mode 100644 vnproglib/c/help/error__detection_8h_source.html delete mode 100644 vnproglib/c/help/event_8h.html delete mode 100644 vnproglib/c/help/event_8h_source.html delete mode 100644 vnproglib/c/help/examples.html delete mode 100644 vnproglib/c/help/export_8h_source.html delete mode 100644 vnproglib/c/help/ez_async_data_2main_8c-example.html delete mode 100644 vnproglib/c/help/ezasyncdata_8h_source.html delete mode 100644 vnproglib/c/help/files.html delete mode 100644 vnproglib/c/help/folderclosed.png delete mode 100644 vnproglib/c/help/folderopen.png delete mode 100644 vnproglib/c/help/functions.html delete mode 100644 vnproglib/c/help/functions_b.html delete mode 100644 vnproglib/c/help/functions_c.html delete mode 100644 vnproglib/c/help/functions_d.html delete mode 100644 vnproglib/c/help/functions_e.html delete mode 100644 vnproglib/c/help/functions_f.html delete mode 100644 vnproglib/c/help/functions_g.html delete mode 100644 vnproglib/c/help/functions_h.html delete mode 100644 vnproglib/c/help/functions_i.html delete mode 100644 vnproglib/c/help/functions_l.html delete mode 100644 vnproglib/c/help/functions_m.html delete mode 100644 vnproglib/c/help/functions_n.html delete mode 100644 vnproglib/c/help/functions_o.html delete mode 100644 vnproglib/c/help/functions_p.html delete mode 100644 vnproglib/c/help/functions_q.html delete mode 100644 vnproglib/c/help/functions_r.html delete mode 100644 vnproglib/c/help/functions_s.html delete mode 100644 vnproglib/c/help/functions_t.html delete mode 100644 vnproglib/c/help/functions_u.html delete mode 100644 vnproglib/c/help/functions_v.html delete mode 100644 vnproglib/c/help/functions_vars.html delete mode 100644 vnproglib/c/help/functions_vars_b.html delete mode 100644 vnproglib/c/help/functions_vars_c.html delete mode 100644 vnproglib/c/help/functions_vars_d.html delete mode 100644 vnproglib/c/help/functions_vars_e.html delete mode 100644 vnproglib/c/help/functions_vars_f.html delete mode 100644 vnproglib/c/help/functions_vars_g.html delete mode 100644 vnproglib/c/help/functions_vars_h.html delete mode 100644 vnproglib/c/help/functions_vars_i.html delete mode 100644 vnproglib/c/help/functions_vars_l.html delete mode 100644 vnproglib/c/help/functions_vars_m.html delete mode 100644 vnproglib/c/help/functions_vars_n.html delete mode 100644 vnproglib/c/help/functions_vars_o.html delete mode 100644 vnproglib/c/help/functions_vars_p.html delete mode 100644 vnproglib/c/help/functions_vars_q.html delete mode 100644 vnproglib/c/help/functions_vars_r.html delete mode 100644 vnproglib/c/help/functions_vars_s.html delete mode 100644 vnproglib/c/help/functions_vars_t.html delete mode 100644 vnproglib/c/help/functions_vars_u.html delete mode 100644 vnproglib/c/help/functions_vars_v.html delete mode 100644 vnproglib/c/help/functions_vars_w.html delete mode 100644 vnproglib/c/help/functions_vars_x.html delete mode 100644 vnproglib/c/help/functions_vars_y.html delete mode 100644 vnproglib/c/help/functions_w.html delete mode 100644 vnproglib/c/help/functions_x.html delete mode 100644 vnproglib/c/help/functions_y.html delete mode 100644 vnproglib/c/help/getting_started_2main_8c-example.html delete mode 100644 vnproglib/c/help/globals.html delete mode 100644 vnproglib/c/help/globals_func.html delete mode 100644 vnproglib/c/help/globals_type.html delete mode 100644 vnproglib/c/help/group__byte_orderers.html delete mode 100644 vnproglib/c/help/group__register_access_methods.html delete mode 100644 vnproglib/c/help/group__register_structures.html delete mode 100644 vnproglib/c/help/group__sensor_value_extractors.html delete mode 100644 vnproglib/c/help/group__spi__genread__functions.html delete mode 100644 vnproglib/c/help/group__spi__genwrite__functions.html delete mode 100644 vnproglib/c/help/group__uart__genread__functions.html delete mode 100644 vnproglib/c/help/group__uart__genwrite__functions.html delete mode 100644 vnproglib/c/help/group__uart_packet_ascii_async_parsers.html delete mode 100644 vnproglib/c/help/group__uart_packet_binary_extractors.html delete mode 100644 vnproglib/c/help/index.html delete mode 100644 vnproglib/c/help/int_8h_source.html delete mode 100644 vnproglib/c/help/jquery.js delete mode 100644 vnproglib/c/help/known_issues.html delete mode 100644 vnproglib/c/help/matrix_8h_source.html delete mode 100644 vnproglib/c/help/modules.html delete mode 100644 vnproglib/c/help/nav_f.png delete mode 100644 vnproglib/c/help/nav_g.png delete mode 100644 vnproglib/c/help/nav_h.png delete mode 100644 vnproglib/c/help/open.png delete mode 100644 vnproglib/c/help/pages.html delete mode 100644 vnproglib/c/help/port_8h_source.html delete mode 100644 vnproglib/c/help/proglib.png delete mode 100644 vnproglib/c/help/requirements.html delete mode 100644 vnproglib/c/help/search/all_0.html delete mode 100644 vnproglib/c/help/search/all_0.js delete mode 100644 vnproglib/c/help/search/all_1.html delete mode 100644 vnproglib/c/help/search/all_1.js delete mode 100644 vnproglib/c/help/search/all_10.html delete mode 100644 vnproglib/c/help/search/all_10.js delete mode 100644 vnproglib/c/help/search/all_11.html delete mode 100644 vnproglib/c/help/search/all_11.js delete mode 100644 vnproglib/c/help/search/all_12.html delete mode 100644 vnproglib/c/help/search/all_12.js delete mode 100644 vnproglib/c/help/search/all_13.html delete mode 100644 vnproglib/c/help/search/all_13.js delete mode 100644 vnproglib/c/help/search/all_14.html delete mode 100644 vnproglib/c/help/search/all_14.js delete mode 100644 vnproglib/c/help/search/all_15.html delete mode 100644 vnproglib/c/help/search/all_15.js delete mode 100644 vnproglib/c/help/search/all_16.html delete mode 100644 vnproglib/c/help/search/all_16.js delete mode 100644 vnproglib/c/help/search/all_17.html delete mode 100644 vnproglib/c/help/search/all_17.js delete mode 100644 vnproglib/c/help/search/all_2.html delete mode 100644 vnproglib/c/help/search/all_2.js delete mode 100644 vnproglib/c/help/search/all_3.html delete mode 100644 vnproglib/c/help/search/all_3.js delete mode 100644 vnproglib/c/help/search/all_4.html delete mode 100644 vnproglib/c/help/search/all_4.js delete mode 100644 vnproglib/c/help/search/all_5.html delete mode 100644 vnproglib/c/help/search/all_5.js delete mode 100644 vnproglib/c/help/search/all_6.html delete mode 100644 vnproglib/c/help/search/all_6.js delete mode 100644 vnproglib/c/help/search/all_7.html delete mode 100644 vnproglib/c/help/search/all_7.js delete mode 100644 vnproglib/c/help/search/all_8.html delete mode 100644 vnproglib/c/help/search/all_8.js delete mode 100644 vnproglib/c/help/search/all_9.html delete mode 100644 vnproglib/c/help/search/all_9.js delete mode 100644 vnproglib/c/help/search/all_a.html delete mode 100644 vnproglib/c/help/search/all_a.js delete mode 100644 vnproglib/c/help/search/all_b.html delete mode 100644 vnproglib/c/help/search/all_b.js delete mode 100644 vnproglib/c/help/search/all_c.html delete mode 100644 vnproglib/c/help/search/all_c.js delete mode 100644 vnproglib/c/help/search/all_d.html delete mode 100644 vnproglib/c/help/search/all_d.js delete mode 100644 vnproglib/c/help/search/all_e.html delete mode 100644 vnproglib/c/help/search/all_e.js delete mode 100644 vnproglib/c/help/search/all_f.html delete mode 100644 vnproglib/c/help/search/all_f.js delete mode 100644 vnproglib/c/help/search/classes_0.html delete mode 100644 vnproglib/c/help/search/classes_0.js delete mode 100644 vnproglib/c/help/search/classes_1.html delete mode 100644 vnproglib/c/help/search/classes_1.js delete mode 100644 vnproglib/c/help/search/classes_2.html delete mode 100644 vnproglib/c/help/search/classes_2.js delete mode 100644 vnproglib/c/help/search/classes_3.html delete mode 100644 vnproglib/c/help/search/classes_3.js delete mode 100644 vnproglib/c/help/search/classes_4.html delete mode 100644 vnproglib/c/help/search/classes_4.js delete mode 100644 vnproglib/c/help/search/classes_5.html delete mode 100644 vnproglib/c/help/search/classes_5.js delete mode 100644 vnproglib/c/help/search/classes_6.html delete mode 100644 vnproglib/c/help/search/classes_6.js delete mode 100644 vnproglib/c/help/search/classes_7.html delete mode 100644 vnproglib/c/help/search/classes_7.js delete mode 100644 vnproglib/c/help/search/classes_8.html delete mode 100644 vnproglib/c/help/search/classes_8.js delete mode 100644 vnproglib/c/help/search/classes_9.html delete mode 100644 vnproglib/c/help/search/classes_9.js delete mode 100644 vnproglib/c/help/search/classes_a.html delete mode 100644 vnproglib/c/help/search/classes_a.js delete mode 100644 vnproglib/c/help/search/classes_b.html delete mode 100644 vnproglib/c/help/search/classes_b.js delete mode 100644 vnproglib/c/help/search/classes_c.html delete mode 100644 vnproglib/c/help/search/classes_c.js delete mode 100644 vnproglib/c/help/search/close.png delete mode 100644 vnproglib/c/help/search/files_0.html delete mode 100644 vnproglib/c/help/search/files_0.js delete mode 100644 vnproglib/c/help/search/files_1.html delete mode 100644 vnproglib/c/help/search/files_1.js delete mode 100644 vnproglib/c/help/search/files_2.html delete mode 100644 vnproglib/c/help/search/files_2.js delete mode 100644 vnproglib/c/help/search/files_3.html delete mode 100644 vnproglib/c/help/search/files_3.js delete mode 100644 vnproglib/c/help/search/functions_0.html delete mode 100644 vnproglib/c/help/search/functions_0.js delete mode 100644 vnproglib/c/help/search/functions_1.html delete mode 100644 vnproglib/c/help/search/functions_1.js delete mode 100644 vnproglib/c/help/search/functions_2.html delete mode 100644 vnproglib/c/help/search/functions_2.js delete mode 100644 vnproglib/c/help/search/functions_3.html delete mode 100644 vnproglib/c/help/search/functions_3.js delete mode 100644 vnproglib/c/help/search/groups_0.html delete mode 100644 vnproglib/c/help/search/groups_0.js delete mode 100644 vnproglib/c/help/search/groups_1.html delete mode 100644 vnproglib/c/help/search/groups_1.js delete mode 100644 vnproglib/c/help/search/groups_2.html delete mode 100644 vnproglib/c/help/search/groups_2.js delete mode 100644 vnproglib/c/help/search/groups_3.html delete mode 100644 vnproglib/c/help/search/groups_3.js delete mode 100644 vnproglib/c/help/search/mag_sel.png delete mode 100644 vnproglib/c/help/search/nomatches.html delete mode 100644 vnproglib/c/help/search/pages_0.html delete mode 100644 vnproglib/c/help/search/pages_0.js delete mode 100644 vnproglib/c/help/search/pages_1.html delete mode 100644 vnproglib/c/help/search/pages_1.js delete mode 100644 vnproglib/c/help/search/pages_2.html delete mode 100644 vnproglib/c/help/search/pages_2.js delete mode 100644 vnproglib/c/help/search/search.css delete mode 100644 vnproglib/c/help/search/search.js delete mode 100644 vnproglib/c/help/search/search_l.png delete mode 100644 vnproglib/c/help/search/search_m.png delete mode 100644 vnproglib/c/help/search/search_r.png delete mode 100644 vnproglib/c/help/search/searchdata.js delete mode 100644 vnproglib/c/help/search/typedefs_0.html delete mode 100644 vnproglib/c/help/search/typedefs_0.js delete mode 100644 vnproglib/c/help/search/variables_0.html delete mode 100644 vnproglib/c/help/search/variables_0.js delete mode 100644 vnproglib/c/help/search/variables_1.html delete mode 100644 vnproglib/c/help/search/variables_1.js delete mode 100644 vnproglib/c/help/search/variables_10.html delete mode 100644 vnproglib/c/help/search/variables_10.js delete mode 100644 vnproglib/c/help/search/variables_11.html delete mode 100644 vnproglib/c/help/search/variables_11.js delete mode 100644 vnproglib/c/help/search/variables_12.html delete mode 100644 vnproglib/c/help/search/variables_12.js delete mode 100644 vnproglib/c/help/search/variables_13.html delete mode 100644 vnproglib/c/help/search/variables_13.js delete mode 100644 vnproglib/c/help/search/variables_14.html delete mode 100644 vnproglib/c/help/search/variables_14.js delete mode 100644 vnproglib/c/help/search/variables_15.html delete mode 100644 vnproglib/c/help/search/variables_15.js delete mode 100644 vnproglib/c/help/search/variables_16.html delete mode 100644 vnproglib/c/help/search/variables_16.js delete mode 100644 vnproglib/c/help/search/variables_2.html delete mode 100644 vnproglib/c/help/search/variables_2.js delete mode 100644 vnproglib/c/help/search/variables_3.html delete mode 100644 vnproglib/c/help/search/variables_3.js delete mode 100644 vnproglib/c/help/search/variables_4.html delete mode 100644 vnproglib/c/help/search/variables_4.js delete mode 100644 vnproglib/c/help/search/variables_5.html delete mode 100644 vnproglib/c/help/search/variables_5.js delete mode 100644 vnproglib/c/help/search/variables_6.html delete mode 100644 vnproglib/c/help/search/variables_6.js delete mode 100644 vnproglib/c/help/search/variables_7.html delete mode 100644 vnproglib/c/help/search/variables_7.js delete mode 100644 vnproglib/c/help/search/variables_8.html delete mode 100644 vnproglib/c/help/search/variables_8.js delete mode 100644 vnproglib/c/help/search/variables_9.html delete mode 100644 vnproglib/c/help/search/variables_9.js delete mode 100644 vnproglib/c/help/search/variables_a.html delete mode 100644 vnproglib/c/help/search/variables_a.js delete mode 100644 vnproglib/c/help/search/variables_b.html delete mode 100644 vnproglib/c/help/search/variables_b.js delete mode 100644 vnproglib/c/help/search/variables_c.html delete mode 100644 vnproglib/c/help/search/variables_c.js delete mode 100644 vnproglib/c/help/search/variables_d.html delete mode 100644 vnproglib/c/help/search/variables_d.js delete mode 100644 vnproglib/c/help/search/variables_e.html delete mode 100644 vnproglib/c/help/search/variables_e.js delete mode 100644 vnproglib/c/help/search/variables_f.html delete mode 100644 vnproglib/c/help/search/variables_f.js delete mode 100644 vnproglib/c/help/searcher_8h_source.html delete mode 100644 vnproglib/c/help/sensor_2main_8c-example.html delete mode 100644 vnproglib/c/help/sensors_8h.html delete mode 100644 vnproglib/c/help/sensors_8h_source.html delete mode 100644 vnproglib/c/help/serialport_8h_source.html delete mode 100644 vnproglib/c/help/spi_2main_8c-example.html delete mode 100644 vnproglib/c/help/spi_8h_source.html delete mode 100644 vnproglib/c/help/splitbar.png delete mode 100644 vnproglib/c/help/struct_acceleration_compensation_register.html delete mode 100644 vnproglib/c/help/struct_binary_output_register.html delete mode 100644 vnproglib/c/help/struct_calculated_magnetometer_calibration_register.html delete mode 100644 vnproglib/c/help/struct_communication_protocol_control_register.html delete mode 100644 vnproglib/c/help/struct_delta_theta_and_delta_velocity_configuration_register.html delete mode 100644 vnproglib/c/help/struct_delta_theta_and_delta_velocity_register.html delete mode 100644 vnproglib/c/help/struct_filter_active_tuning_parameters_register.html delete mode 100644 vnproglib/c/help/struct_filter_basic_control_register.html delete mode 100644 vnproglib/c/help/struct_filter_measurements_variance_parameters_register.html delete mode 100644 vnproglib/c/help/struct_gps_compass_baseline_register.html delete mode 100644 vnproglib/c/help/struct_gps_compass_estimated_baseline_register.html delete mode 100644 vnproglib/c/help/struct_gps_configuration_register.html delete mode 100644 vnproglib/c/help/struct_gps_solution_ecef_register.html delete mode 100644 vnproglib/c/help/struct_gps_solution_lla_register.html delete mode 100644 vnproglib/c/help/struct_gyro_compensation_register.html delete mode 100644 vnproglib/c/help/struct_imu_filtering_configuration_register.html delete mode 100644 vnproglib/c/help/struct_imu_measurements_register.html delete mode 100644 vnproglib/c/help/struct_imu_rate_configuration_register.html delete mode 100644 vnproglib/c/help/struct_ins_advanced_configuration_register.html delete mode 100644 vnproglib/c/help/struct_ins_basic_configuration_register_vn200.html delete mode 100644 vnproglib/c/help/struct_ins_basic_configuration_register_vn300.html delete mode 100644 vnproglib/c/help/struct_ins_solution_ecef_register.html delete mode 100644 vnproglib/c/help/struct_ins_solution_lla_register.html delete mode 100644 vnproglib/c/help/struct_ins_state_ecef_register.html delete mode 100644 vnproglib/c/help/struct_ins_state_lla_register.html delete mode 100644 vnproglib/c/help/struct_magnetic_acceleration_and_angular_rates_register.html delete mode 100644 vnproglib/c/help/struct_magnetic_and_gravity_reference_vectors_register.html delete mode 100644 vnproglib/c/help/struct_magnetometer_calibration_control_register.html delete mode 100644 vnproglib/c/help/struct_magnetometer_compensation_register.html delete mode 100644 vnproglib/c/help/struct_quaternion_magnetic_acceleration_and_angular_rates_register.html delete mode 100644 vnproglib/c/help/struct_reference_vector_configuration_register.html delete mode 100644 vnproglib/c/help/struct_startup_filter_bias_estimate_register.html delete mode 100644 vnproglib/c/help/struct_synchronization_control_register.html delete mode 100644 vnproglib/c/help/struct_synchronization_status_register.html delete mode 100644 vnproglib/c/help/struct_velocity_compensation_control_register.html delete mode 100644 vnproglib/c/help/struct_velocity_compensation_status_register.html delete mode 100644 vnproglib/c/help/struct_vn_composite_data.html delete mode 100644 vnproglib/c/help/struct_vn_critical_section.html delete mode 100644 vnproglib/c/help/struct_vn_event.html delete mode 100644 vnproglib/c/help/struct_vn_ez_async_data.html delete mode 100644 vnproglib/c/help/struct_vn_port_info.html delete mode 100644 vnproglib/c/help/struct_vn_sensor.html delete mode 100644 vnproglib/c/help/struct_vn_serial_port.html delete mode 100644 vnproglib/c/help/struct_vn_stopwatch.html delete mode 100644 vnproglib/c/help/struct_vn_thread.html delete mode 100644 vnproglib/c/help/struct_vn_uart_packet.html delete mode 100644 vnproglib/c/help/struct_vn_uart_packet_finder.html delete mode 100644 vnproglib/c/help/struct_vpe_accelerometer_advanced_tuning_register.html delete mode 100644 vnproglib/c/help/struct_vpe_accelerometer_basic_tuning_register.html delete mode 100644 vnproglib/c/help/struct_vpe_basic_control_register.html delete mode 100644 vnproglib/c/help/struct_vpe_gyro_basic_tuning_register.html delete mode 100644 vnproglib/c/help/struct_vpe_magnetometer_advanced_tuning_register.html delete mode 100644 vnproglib/c/help/struct_vpe_magnetometer_basic_tuning_register.html delete mode 100644 vnproglib/c/help/struct_yaw_pitch_roll_magnetic_acceleration_and_angular_rates_register.html delete mode 100644 vnproglib/c/help/struct_yaw_pitch_roll_true_body_acceleration_and_angular_rates_register.html delete mode 100644 vnproglib/c/help/struct_yaw_pitch_roll_true_inertial_acceleration_and_angular_rates_register.html delete mode 100644 vnproglib/c/help/sync_off.png delete mode 100644 vnproglib/c/help/sync_on.png delete mode 100644 vnproglib/c/help/tab_a.png delete mode 100644 vnproglib/c/help/tab_b.png delete mode 100644 vnproglib/c/help/tab_h.png delete mode 100644 vnproglib/c/help/tab_s.png delete mode 100644 vnproglib/c/help/tabs.css delete mode 100644 vnproglib/c/help/thread_8h.html delete mode 100644 vnproglib/c/help/thread_8h_source.html delete mode 100644 vnproglib/c/help/time_8h.html delete mode 100644 vnproglib/c/help/time_8h_source.html delete mode 100644 vnproglib/c/help/types_8h_source.html delete mode 100644 vnproglib/c/help/unionmat3f.html delete mode 100644 vnproglib/c/help/unionquatf.html delete mode 100644 vnproglib/c/help/unionvec3d.html delete mode 100644 vnproglib/c/help/unionvec3f.html delete mode 100644 vnproglib/c/help/unionvec4f.html delete mode 100644 vnproglib/c/help/upack_8h_source.html delete mode 100644 vnproglib/c/help/upackf_8h_source.html delete mode 100644 vnproglib/c/help/util_8h_source.html delete mode 100644 vnproglib/c/help/vector_8h_source.html delete mode 100644 vnproglib/c/help/vectornav_8h_source.html delete mode 100644 vnproglib/c/help/version_history.html delete mode 100644 vnproglib/c/include/vn/bool.h delete mode 100644 vnproglib/c/include/vn/const.h delete mode 100644 vnproglib/c/include/vn/conv.h delete mode 100644 vnproglib/c/include/vn/enum.h delete mode 100644 vnproglib/c/include/vn/error.h delete mode 100644 vnproglib/c/include/vn/error_detection.h delete mode 100644 vnproglib/c/include/vn/int.h delete mode 100644 vnproglib/c/include/vn/math/matrix.h delete mode 100644 vnproglib/c/include/vn/math/vector.h delete mode 100644 vnproglib/c/include/vn/protocol/common.h delete mode 100644 vnproglib/c/include/vn/protocol/spi.h delete mode 100644 vnproglib/c/include/vn/protocol/upack.h delete mode 100644 vnproglib/c/include/vn/protocol/upackf.h delete mode 100644 vnproglib/c/include/vn/sensors.h delete mode 100644 vnproglib/c/include/vn/sensors/compositedata.h delete mode 100644 vnproglib/c/include/vn/sensors/ezasyncdata.h delete mode 100644 vnproglib/c/include/vn/sensors/searcher.h delete mode 100644 vnproglib/c/include/vn/types.h delete mode 100644 vnproglib/c/include/vn/util.h delete mode 100644 vnproglib/c/include/vn/util/compiler.h delete mode 100644 vnproglib/c/include/vn/util/export.h delete mode 100644 vnproglib/c/include/vn/util/port.h delete mode 100644 vnproglib/c/include/vn/vectornav.h delete mode 100644 vnproglib/c/include/vn/xplat/criticalsection.h delete mode 100644 vnproglib/c/include/vn/xplat/event.h delete mode 100644 vnproglib/c/include/vn/xplat/serialport.h delete mode 100644 vnproglib/c/include/vn/xplat/thread.h delete mode 100644 vnproglib/c/include/vn/xplat/time.h delete mode 100644 vnproglib/c/index.html delete mode 100644 vnproglib/c/projects/vs2008/libvnc.sln delete mode 100644 vnproglib/c/projects/vs2008/libvnc.vcproj delete mode 100644 vnproglib/c/projects/vs2010/libvnc.sln delete mode 100644 vnproglib/c/projects/vs2010/libvnc.vcxproj delete mode 100644 vnproglib/c/projects/vs2010/libvnc.vcxproj.filters delete mode 100644 vnproglib/c/projects/vs2012/libvnc.sln delete mode 100644 vnproglib/c/projects/vs2012/libvnc.vcxproj delete mode 100644 vnproglib/c/projects/vs2012/libvnc.vcxproj.filters delete mode 100644 vnproglib/c/projects/vs2013/libvnc.sln delete mode 100644 vnproglib/c/projects/vs2013/libvnc.vcxproj delete mode 100644 vnproglib/c/projects/vs2013/libvnc.vcxproj.filters delete mode 100644 vnproglib/c/projects/vs2017/libvnc.sln delete mode 100644 vnproglib/c/projects/vs2017/libvnc.vcxproj delete mode 100644 vnproglib/c/projects/vs2017/libvnc.vcxproj.filters delete mode 100644 vnproglib/c/projects/vs2017/libvnc.vcxproj.user delete mode 100644 vnproglib/c/src/vn/conv.c delete mode 100644 vnproglib/c/src/vn/error.c delete mode 100644 vnproglib/c/src/vn/error_detection.c delete mode 100644 vnproglib/c/src/vn/math/matrix.c delete mode 100644 vnproglib/c/src/vn/math/vector.c delete mode 100644 vnproglib/c/src/vn/protocol/spi.c delete mode 100644 vnproglib/c/src/vn/protocol/upack.c delete mode 100644 vnproglib/c/src/vn/protocol/upackf.c delete mode 100644 vnproglib/c/src/vn/sensors.c delete mode 100644 vnproglib/c/src/vn/sensors/compositedata.c delete mode 100644 vnproglib/c/src/vn/sensors/ezasyncdata.c delete mode 100644 vnproglib/c/src/vn/sensors/searcher.c delete mode 100644 vnproglib/c/src/vn/util.c delete mode 100644 vnproglib/c/src/vn/xplat/criticalsection.c delete mode 100644 vnproglib/c/src/vn/xplat/event.c delete mode 100644 vnproglib/c/src/vn/xplat/serialport.c delete mode 100644 vnproglib/c/src/vn/xplat/thread.c delete mode 100644 vnproglib/c/src/vn/xplat/time.c diff --git a/vnproglib/LICENSE.txt b/vnproglib/LICENSE.txt deleted file mode 100644 index 4a7e7fa..0000000 --- a/vnproglib/LICENSE.txt +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -VectorNav Programming Library (v1.2.0.0) -Copyright (c) 2015 VectorNav Technologies, LLC - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/vnproglib/c/CMakeLists.txt b/vnproglib/c/CMakeLists.txt deleted file mode 100644 index c4c40af..0000000 --- a/vnproglib/c/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -cmake_minimum_required(VERSION 2.8.4) -project(libvnc C) - -set(CMAKE_SUPPRESS_REGENERATION TRUE) - -include_directories( - include) - -set(SOURCES - src/vn/xplat/criticalsection.c - src/vn/xplat/event.c - src/vn/xplat/serialport.c - src/vn/xplat/thread.c - src/vn/xplat/time.c - src/vn/error.c - src/vn/error_detection.c - src/vn/util.c - src/vn/math/matrix.c - src/vn/math/vector.c - src/vn/protocol/upack.c - src/vn/protocol/upackf.c - src/vn/protocol/spi.c - src/vn/sensors/compositedata.c - src/vn/sensors/searcher.c - src/vn/sensors.c - src/vn/sensors/ezasyncdata.c - src/vn/conv.c - include/vn/vectornav.h - include/vn/bool.h - include/vn/util/compiler.h - include/vn/sensors/compositedata.h - include/vn/const.h - include/vn/conv.h - include/vn/xplat/criticalsection.h - include/vn/enum.h - include/vn/error_detection.h - include/vn/error.h - include/vn/xplat/event.h - include/vn/util/export.h - include/vn/sensors/ezasyncdata.h - include/vn/int.h - include/vn/math/matrix.h - include/vn/util/port.h - include/vn/protocol/common.h - include/vn/sensors/searcher.h - include/vn/sensors.h - include/vn/xplat/serialport.h - include/vn/protocol/spi.h - include/vn/xplat/thread.h - include/vn/xplat/time.h - include/vn/types.h - include/vn/protocol/upack.h - include/vn/protocol/upackf.h - include/vn/util.h - include/vn/math/vector.h) - -add_library(libvnc ${SOURCES}) diff --git a/vnproglib/c/Makefile b/vnproglib/c/Makefile deleted file mode 100644 index e3fd586..0000000 --- a/vnproglib/c/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -CC = gcc -INCLUDES = -Iinclude -CFLAGS = -Wall -Wpedantic -std=c90 -BINDIR = build -OBJDIR = build/obj - -SOURCES = \ - src/vn/conv.c \ - src/vn/error.c \ - src/vn/error_detection.c \ - src/vn/sensors.c \ - src/vn/util.c \ - src/vn/math/matrix.c \ - src/vn/math/vector.c \ - src/vn/protocol/spi.c \ - src/vn/protocol/upack.c \ - src/vn/protocol/upackf.c \ - src/vn/sensors/compositedata.c \ - src/vn/sensors/ezasyncdata.c \ - src/vn/sensors/searcher.c \ - src/vn/xplat/criticalsection.c \ - src/vn/xplat/event.c \ - src/vn/xplat/serialport.c \ - src/vn/xplat/thread.c \ - src/vn/xplat/time.c - -# Set the object file names, with the source directory stripped -# from the path, and the build path prepended in its place -OBJECTS = $(SOURCES:src/%.c=$(OBJDIR)/%.o) - -all: dirs lib - -lib: libvnc.a - -libvnc.a: $(OBJECTS) - ar -cvq $(BINDIR)/libvnc.a $(OBJECTS) - -# Create the directories used in the build -.PHONY: dirs -dirs: - @mkdir -p $(BINDIR) - @mkdir -p $(OBJDIR) - @mkdir -p $(dir $(OBJECTS)) - -$(OBJDIR)/%.o: src/%.c - $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@ - -clean: - rm -f $(BINDIR)/libvnc.a - rm -f $(OBJECTS) diff --git a/vnproglib/c/examples/ez_async_data/CMakeLists.txt b/vnproglib/c/examples/ez_async_data/CMakeLists.txt deleted file mode 100644 index 32d87ff..0000000 --- a/vnproglib/c/examples/ez_async_data/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -cmake_minimum_required(VERSION 2.8.4) -project(ez_async_data) - -add_subdirectory(../.. libvnc) - -set(CMAKE_SUPPRESS_REGENERATION TRUE) - -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") -if (CMAKE_COMPILER_IS_GNUCC) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wpedantic -std=c90") -endif() - -set(SOURCE_FILES - main.c) - -include_directories(../../include) - -add_executable(ez_async_data ${SOURCE_FILES}) - -target_link_libraries(ez_async_data LINK_PUBLIC libvnc) - -if (UNIX OR APPLE) - target_link_libraries(ez_async_data LINK_PUBLIC pthread) - target_link_libraries(ez_async_data LINK_PUBLIC m) -endif() diff --git a/vnproglib/c/examples/ez_async_data/Makefile b/vnproglib/c/examples/ez_async_data/Makefile deleted file mode 100644 index 3f33d3d..0000000 --- a/vnproglib/c/examples/ez_async_data/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -CC = gcc -INCLUDES = -I ../../include -CFLAGS = -Wall - -all: ez_async_data - -clean: - rm -f main.o - rm -f ez_async_data - cd ../.. && make clean - -ez_async_data: main.o proglib - $(CC) -o ez_async_data main.o -L ../../build -lvnc -lpthread -lm - -proglib: - cd ../.. && make - -main.o: main.c - $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@ - diff --git a/vnproglib/c/examples/ez_async_data/main.c b/vnproglib/c/examples/ez_async_data/main.c deleted file mode 100644 index e69f744..0000000 --- a/vnproglib/c/examples/ez_async_data/main.c +++ /dev/null @@ -1,82 +0,0 @@ -#include - -/* Include files needed to use VnEzAsyncData. */ -#include "vn/sensors/ezasyncdata.h" - -int processErrorReceived(char* errorMessage, VnError errorCode); - -int main(void) -{ - VnEzAsyncData ez; - VnError error = E_NONE; - size_t i = 0; - char strConversions[50]; - - /* This example walks through using the VnEzAsyncData structure to easily access - * asynchronous data from a VectorNav sensor at a slight performance hit which is - * acceptable for many applications, especially simple data logging. */ - - /* First determine which COM port your sensor is attached to and update the - * constant below. Also, if you have changed your sensor from the factory - * default baudrate of 115200, you will need to update the baudrate - * constant below as well. */ - const char SENSOR_PORT[] = "COM1"; /* Windows format for physical and virtual (USB) serial port. */ - /*const char SENSOR_PORT[] = "/dev/ttyS1"; */ /* Linux format for physical serial port. */ - /*const char SENSOR_PORT[] = "/dev/ttyUSB0"; */ /* Linux format for virtual (USB) serial port. */ - /*const char SENSOR_PORT[] = "/dev/tty.usbserial-FTXXXXXX"; */ /* Mac OS X format for virtual (USB) serial port. */ - /*const char SENSOR_PORT[] = "/dev/ttyS0"; */ /* CYGWIN format. Usually the Windows COM port number minus 1. This would connect to COM1. */ - const uint32_t SENSOR_BAUDRATE = 115200; - - /* We call the initialize and connect method to connect with our VectorNav sensor. */ - if ((error = VnEzAsyncData_initializeAndConnect(&ez, SENSOR_PORT, SENSOR_BAUDRATE)) != E_NONE) - return processErrorReceived("Error connecting to sensor.", error); - - /* Now let's display the latest yaw, pitch, roll data at 5 Hz for 5 seconds. */ - printf("Displaying yaw, pitch, roll at 5 Hz for 5 seconds.\n"); - for (i = 0; i < 25; i++) - { - VnCompositeData cd; - - VnThread_sleepMs(200); - - cd = VnEzAsyncData_currentData(&ez); - - str_vec3f(strConversions, cd.yawPitchRoll); - printf("Current YPR: %s\n", strConversions); - } - - /* Most of the asynchronous data handling is done by VnEzAsyncData but there are times - * when we wish to configure the sensor directly while still having VnEzAsyncData do - * most of the grunt work. This is easily accomplished and we show changing the ASCII - * asynchronous data output type here. */ - if ((error = VnSensor_writeAsyncDataOutputType(VnEzAsyncData_sensor(&ez), VNYPR, true)) != E_NONE) - return processErrorReceived("Error setting async data output type.", error); - - /* We can now display yaw, pitch, roll data from the new ASCII asynchronous data type. */ - printf("Displaying yaw, pitch, roll from new ASCII async type.\n"); - for (i = 0; i < 25; i++) - { - VnCompositeData cd; - - VnThread_sleepMs(200); - - cd = VnEzAsyncData_currentData(&ez); - - str_vec3f(strConversions, cd.yawPitchRoll); - printf("Current YPR: %s\n", strConversions); - } - - /* Now disconnect from the sensor since we are finished. */ - if ((error = VnEzAsyncData_disconnectAndUninitialize(&ez)) != E_NONE) - return processErrorReceived("Error disconnecting from sensor.", error); - - return 0; -} - -int processErrorReceived(char* errorMessage, VnError errorCode) -{ - char errorCodeStr[100]; - strFromVnError(errorCodeStr, errorCode); - printf("%s\nERROR: %s\n", errorMessage, errorCodeStr); - return -1; -} diff --git a/vnproglib/c/examples/ez_async_data/projects/vs2008/ez_async_data.sln b/vnproglib/c/examples/ez_async_data/projects/vs2008/ez_async_data.sln deleted file mode 100644 index 292e1bb..0000000 --- a/vnproglib/c/examples/ez_async_data/projects/vs2008/ez_async_data.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ez_async_data", "ez_async_data.vcproj", "{2EC6ED3E-738A-34A9-B1E0-7F22096EAD64}" - ProjectSection(ProjectDependencies) = postProject - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E} = {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2008\libvnc.vcproj", "{70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {33C502B6-FBC3-31F7-9111-D2CADAE7787D}.Debug|Win32.ActiveCfg = Debug|Win32 - {33C502B6-FBC3-31F7-9111-D2CADAE7787D}.Release|Win32.ActiveCfg = Release|Win32 - {33C502B6-FBC3-31F7-9111-D2CADAE7787D}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {33C502B6-FBC3-31F7-9111-D2CADAE7787D}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {2EC6ED3E-738A-34A9-B1E0-7F22096EAD64}.Debug|Win32.ActiveCfg = Debug|Win32 - {2EC6ED3E-738A-34A9-B1E0-7F22096EAD64}.Debug|Win32.Build.0 = Debug|Win32 - {2EC6ED3E-738A-34A9-B1E0-7F22096EAD64}.Release|Win32.ActiveCfg = Release|Win32 - {2EC6ED3E-738A-34A9-B1E0-7F22096EAD64}.Release|Win32.Build.0 = Release|Win32 - {2EC6ED3E-738A-34A9-B1E0-7F22096EAD64}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {2EC6ED3E-738A-34A9-B1E0-7F22096EAD64}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {2EC6ED3E-738A-34A9-B1E0-7F22096EAD64}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {2EC6ED3E-738A-34A9-B1E0-7F22096EAD64}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Debug|Win32.ActiveCfg = Debug|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Debug|Win32.Build.0 = Debug|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Release|Win32.ActiveCfg = Release|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Release|Win32.Build.0 = Release|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/ez_async_data/projects/vs2008/ez_async_data.vcproj b/vnproglib/c/examples/ez_async_data/projects/vs2008/ez_async_data.vcproj deleted file mode 100644 index 87834fc..0000000 --- a/vnproglib/c/examples/ez_async_data/projects/vs2008/ez_async_data.vcproj +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/vnproglib/c/examples/ez_async_data/projects/vs2010/ez_async_data.sln b/vnproglib/c/examples/ez_async_data/projects/vs2010/ez_async_data.sln deleted file mode 100644 index 8847780..0000000 --- a/vnproglib/c/examples/ez_async_data/projects/vs2010/ez_async_data.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ez_async_data", "ez_async_data.vcxproj", "{DAC87CDE-CCC6-376D-B96E-139F4FB1B62E}" - ProjectSection(ProjectDependencies) = postProject - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9} = {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2010\libvnc.vcxproj", "{B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C3643CDA-3735-31A7-B14F-86520DC20DE9}.Debug|Win32.ActiveCfg = Debug|Win32 - {C3643CDA-3735-31A7-B14F-86520DC20DE9}.Release|Win32.ActiveCfg = Release|Win32 - {C3643CDA-3735-31A7-B14F-86520DC20DE9}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {C3643CDA-3735-31A7-B14F-86520DC20DE9}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {DAC87CDE-CCC6-376D-B96E-139F4FB1B62E}.Debug|Win32.ActiveCfg = Debug|Win32 - {DAC87CDE-CCC6-376D-B96E-139F4FB1B62E}.Debug|Win32.Build.0 = Debug|Win32 - {DAC87CDE-CCC6-376D-B96E-139F4FB1B62E}.Release|Win32.ActiveCfg = Release|Win32 - {DAC87CDE-CCC6-376D-B96E-139F4FB1B62E}.Release|Win32.Build.0 = Release|Win32 - {DAC87CDE-CCC6-376D-B96E-139F4FB1B62E}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {DAC87CDE-CCC6-376D-B96E-139F4FB1B62E}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {DAC87CDE-CCC6-376D-B96E-139F4FB1B62E}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {DAC87CDE-CCC6-376D-B96E-139F4FB1B62E}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Debug|Win32.ActiveCfg = Debug|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Debug|Win32.Build.0 = Debug|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Release|Win32.ActiveCfg = Release|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Release|Win32.Build.0 = Release|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/ez_async_data/projects/vs2010/ez_async_data.vcxproj b/vnproglib/c/examples/ez_async_data/projects/vs2010/ez_async_data.vcxproj deleted file mode 100644 index ae17ab3..0000000 --- a/vnproglib/c/examples/ez_async_data/projects/vs2010/ez_async_data.vcxproj +++ /dev/null @@ -1,262 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {DAC87CDE-CCC6-376D-B96E-139F4FB1B62E} - Win32Proj - Win32 - ez_async_data - - - - Application - false - MultiByte - - - Application - false - MultiByte - - - Application - false - MultiByte - - - Application - false - MultiByte - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2010\Debug\ - ez_async_data.dir\Debug\ - ez_async_data - .exe - true - true - ..\..\projects\vs2010\Release\ - ez_async_data.dir\Release\ - ez_async_data - .exe - false - true - ..\..\projects\vs2010\MinSizeRel\ - ez_async_data.dir\MinSizeRel\ - ez_async_data - .exe - false - true - ..\..\projects\vs2010\RelWithDebInfo\ - ez_async_data.dir\RelWithDebInfo\ - ez_async_data - .exe - true - true - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - EnableAllWarnings - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - - - - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9} - - - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/ez_async_data/projects/vs2010/ez_async_data.vcxproj.filters b/vnproglib/c/examples/ez_async_data/projects/vs2010/ez_async_data.vcxproj.filters deleted file mode 100644 index 89271e3..0000000 --- a/vnproglib/c/examples/ez_async_data/projects/vs2010/ez_async_data.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Source Files - - - - - {F5706CA6-A160-3EB1-B450-0ABABC81B1B4} - - - diff --git a/vnproglib/c/examples/ez_async_data/projects/vs2012/ez_async_data.sln b/vnproglib/c/examples/ez_async_data/projects/vs2012/ez_async_data.sln deleted file mode 100644 index aef2ca7..0000000 --- a/vnproglib/c/examples/ez_async_data/projects/vs2012/ez_async_data.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ez_async_data", "ez_async_data.vcxproj", "{AFEC5F9B-3074-3745-9210-2006E964C7B7}" - ProjectSection(ProjectDependencies) = postProject - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69} = {CF7C59BE-0DD8-3132-A4DE-B79B62914D69} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2012\libvnc.vcxproj", "{CF7C59BE-0DD8-3132-A4DE-B79B62914D69}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {0A33FB21-3BFD-31B2-9612-32B981BB9E47}.Debug|Win32.ActiveCfg = Debug|Win32 - {0A33FB21-3BFD-31B2-9612-32B981BB9E47}.Release|Win32.ActiveCfg = Release|Win32 - {0A33FB21-3BFD-31B2-9612-32B981BB9E47}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {0A33FB21-3BFD-31B2-9612-32B981BB9E47}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {AFEC5F9B-3074-3745-9210-2006E964C7B7}.Debug|Win32.ActiveCfg = Debug|Win32 - {AFEC5F9B-3074-3745-9210-2006E964C7B7}.Debug|Win32.Build.0 = Debug|Win32 - {AFEC5F9B-3074-3745-9210-2006E964C7B7}.Release|Win32.ActiveCfg = Release|Win32 - {AFEC5F9B-3074-3745-9210-2006E964C7B7}.Release|Win32.Build.0 = Release|Win32 - {AFEC5F9B-3074-3745-9210-2006E964C7B7}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {AFEC5F9B-3074-3745-9210-2006E964C7B7}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {AFEC5F9B-3074-3745-9210-2006E964C7B7}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {AFEC5F9B-3074-3745-9210-2006E964C7B7}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Debug|Win32.ActiveCfg = Debug|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Debug|Win32.Build.0 = Debug|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Release|Win32.ActiveCfg = Release|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Release|Win32.Build.0 = Release|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/ez_async_data/projects/vs2012/ez_async_data.vcxproj b/vnproglib/c/examples/ez_async_data/projects/vs2012/ez_async_data.vcxproj deleted file mode 100644 index 888f232..0000000 --- a/vnproglib/c/examples/ez_async_data/projects/vs2012/ez_async_data.vcxproj +++ /dev/null @@ -1,266 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {AFEC5F9B-3074-3745-9210-2006E964C7B7} - Win32Proj - Win32 - ez_async_data - - - - Application - false - MultiByte - v110 - - - Application - false - MultiByte - v110 - - - Application - false - MultiByte - v110 - - - Application - false - MultiByte - v110 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2012\Debug\ - ez_async_data.dir\Debug\ - ez_async_data - .exe - true - true - ..\..\projects\vs2012\Release\ - ez_async_data.dir\Release\ - ez_async_data - .exe - false - true - ..\..\projects\vs2012\MinSizeRel\ - ez_async_data.dir\MinSizeRel\ - ez_async_data - .exe - false - true - ..\..\projects\vs2012\RelWithDebInfo\ - ez_async_data.dir\RelWithDebInfo\ - ez_async_data - .exe - true - true - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - EnableAllWarnings - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - - - - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69} - - - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/ez_async_data/projects/vs2012/ez_async_data.vcxproj.filters b/vnproglib/c/examples/ez_async_data/projects/vs2012/ez_async_data.vcxproj.filters deleted file mode 100644 index 2479595..0000000 --- a/vnproglib/c/examples/ez_async_data/projects/vs2012/ez_async_data.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Source Files - - - - - {0C313AEA-8E46-3FD0-81C9-424A967EB4DF} - - - diff --git a/vnproglib/c/examples/ez_async_data/projects/vs2013/ez_async_data.sln b/vnproglib/c/examples/ez_async_data/projects/vs2013/ez_async_data.sln deleted file mode 100644 index 5fb729f..0000000 --- a/vnproglib/c/examples/ez_async_data/projects/vs2013/ez_async_data.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ez_async_data", "ez_async_data.vcxproj", "{83240C3E-49F6-3837-8150-3F094F2A079F}" - ProjectSection(ProjectDependencies) = postProject - {E237AE2C-CE1B-39F5-B931-3C0E53353E53} = {E237AE2C-CE1B-39F5-B931-3C0E53353E53} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2013\libvnc.vcxproj", "{E237AE2C-CE1B-39F5-B931-3C0E53353E53}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CB9572E3-6350-3ADD-BBCD-2AD2CB1C7ECF}.Debug|Win32.ActiveCfg = Debug|Win32 - {CB9572E3-6350-3ADD-BBCD-2AD2CB1C7ECF}.Release|Win32.ActiveCfg = Release|Win32 - {CB9572E3-6350-3ADD-BBCD-2AD2CB1C7ECF}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {CB9572E3-6350-3ADD-BBCD-2AD2CB1C7ECF}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {83240C3E-49F6-3837-8150-3F094F2A079F}.Debug|Win32.ActiveCfg = Debug|Win32 - {83240C3E-49F6-3837-8150-3F094F2A079F}.Debug|Win32.Build.0 = Debug|Win32 - {83240C3E-49F6-3837-8150-3F094F2A079F}.Release|Win32.ActiveCfg = Release|Win32 - {83240C3E-49F6-3837-8150-3F094F2A079F}.Release|Win32.Build.0 = Release|Win32 - {83240C3E-49F6-3837-8150-3F094F2A079F}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {83240C3E-49F6-3837-8150-3F094F2A079F}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {83240C3E-49F6-3837-8150-3F094F2A079F}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {83240C3E-49F6-3837-8150-3F094F2A079F}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.ActiveCfg = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.Build.0 = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.ActiveCfg = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.Build.0 = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/ez_async_data/projects/vs2013/ez_async_data.vcxproj b/vnproglib/c/examples/ez_async_data/projects/vs2013/ez_async_data.vcxproj deleted file mode 100644 index a1d8881..0000000 --- a/vnproglib/c/examples/ez_async_data/projects/vs2013/ez_async_data.vcxproj +++ /dev/null @@ -1,266 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {83240C3E-49F6-3837-8150-3F094F2A079F} - Win32Proj - Win32 - ez_async_data - - - - Application - false - MultiByte - v120 - - - Application - false - MultiByte - v120 - - - Application - false - MultiByte - v120 - - - Application - false - MultiByte - v120 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2013\Debug\ - ez_async_data.dir\Debug\ - ez_async_data - .exe - true - true - ..\..\projects\vs2013\Release\ - ez_async_data.dir\Release\ - ez_async_data - .exe - false - true - ..\..\projects\vs2013\MinSizeRel\ - ez_async_data.dir\MinSizeRel\ - ez_async_data - .exe - false - true - ..\..\projects\vs2013\RelWithDebInfo\ - ez_async_data.dir\RelWithDebInfo\ - ez_async_data - .exe - true - true - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - EnableAllWarnings - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - - - - {E237AE2C-CE1B-39F5-B931-3C0E53353E53} - - - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/ez_async_data/projects/vs2013/ez_async_data.vcxproj.filters b/vnproglib/c/examples/ez_async_data/projects/vs2013/ez_async_data.vcxproj.filters deleted file mode 100644 index 8543ebb..0000000 --- a/vnproglib/c/examples/ez_async_data/projects/vs2013/ez_async_data.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Source Files - - - - - {A4EEDEBD-AB22-37D0-AE6B-A8E5E9834EF8} - - - diff --git a/vnproglib/c/examples/ez_async_data/projects/vs2019/README before opening project for first time.txt b/vnproglib/c/examples/ez_async_data/projects/vs2019/README before opening project for first time.txt deleted file mode 100644 index 05a24b8..0000000 --- a/vnproglib/c/examples/ez_async_data/projects/vs2019/README before opening project for first time.txt +++ /dev/null @@ -1,24 +0,0 @@ -When opening the vs2019 example Project, Visual Studio will pop up a dialog asking to retarget Projects to the latest Windows SDK Version and Platform Toolset. DO NOT update the projects because it will break building the libvncxx library. The latest Platform Toolset that can be used to build the libvncxx library is Visual Studio 2017. - -Also, the library currently only supports x86 builds. - -If you do not have the Visual Studio 2017 Build Tools, you will get the following error: - -Error MSB8020 The build tools for Visual Studio 2017 (Platform Toolset = 'v141') cannot be found. To build using the v141 build tools, please install Visual Studio 2017 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". - -The following link will walk you through how to add the Visual Studio 2017 platform toolset to your environment. - -https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio?view=vs-2019 - -Run C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe - -Select C++/CLI support for v141 build tools (14.16) under Compilers, build tools, and runtimes from the Individual components tab of modifying Visual Studio 2019 - -MSVC v141 - VS 2017 C++ x64/x86 build tools (v14.16) - -Also select Windows 10 SDK 10.0.18362.0 for the needed make tools. - -After adding support for Visual Studio 2017 build toolset, if the projects are marked as unusable, have Visual Studio install the missing components. - - - diff --git a/vnproglib/c/examples/ez_async_data/projects/vs2019/ez_async_data.sln b/vnproglib/c/examples/ez_async_data/projects/vs2019/ez_async_data.sln deleted file mode 100644 index f800f06..0000000 --- a/vnproglib/c/examples/ez_async_data/projects/vs2019/ez_async_data.sln +++ /dev/null @@ -1,47 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30717.126 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ez_async_data", "ez_async_data.vcxproj", "{83240C3E-49F6-3837-8150-3F094F2A079F}" - ProjectSection(ProjectDependencies) = postProject - {E237AE2C-CE1B-39F5-B931-3C0E53353E53} = {E237AE2C-CE1B-39F5-B931-3C0E53353E53} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2017\libvnc.vcxproj", "{E237AE2C-CE1B-39F5-B931-3C0E53353E53}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {CB9572E3-6350-3ADD-BBCD-2AD2CB1C7ECF}.Debug|Win32.ActiveCfg = Debug|Win32 - {CB9572E3-6350-3ADD-BBCD-2AD2CB1C7ECF}.Release|Win32.ActiveCfg = Release|Win32 - {CB9572E3-6350-3ADD-BBCD-2AD2CB1C7ECF}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {CB9572E3-6350-3ADD-BBCD-2AD2CB1C7ECF}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {83240C3E-49F6-3837-8150-3F094F2A079F}.Debug|Win32.ActiveCfg = Debug|Win32 - {83240C3E-49F6-3837-8150-3F094F2A079F}.Debug|Win32.Build.0 = Debug|Win32 - {83240C3E-49F6-3837-8150-3F094F2A079F}.Release|Win32.ActiveCfg = Release|Win32 - {83240C3E-49F6-3837-8150-3F094F2A079F}.Release|Win32.Build.0 = Release|Win32 - {83240C3E-49F6-3837-8150-3F094F2A079F}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {83240C3E-49F6-3837-8150-3F094F2A079F}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {83240C3E-49F6-3837-8150-3F094F2A079F}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {83240C3E-49F6-3837-8150-3F094F2A079F}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.ActiveCfg = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.Build.0 = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.ActiveCfg = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.Build.0 = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/ez_async_data/projects/vs2019/ez_async_data.vcxproj b/vnproglib/c/examples/ez_async_data/projects/vs2019/ez_async_data.vcxproj deleted file mode 100644 index c447df4..0000000 --- a/vnproglib/c/examples/ez_async_data/projects/vs2019/ez_async_data.vcxproj +++ /dev/null @@ -1,273 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {83240C3E-49F6-3837-8150-3F094F2A079F} - Win32Proj - Win32 - ez_async_data - 10.0.18362.0 - - - - Application - false - MultiByte - v141 - - - Application - false - MultiByte - v141 - - - Application - false - MultiByte - v141 - - - Application - false - MultiByte - v141 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2019\Debug\ - ez_async_data.dir\Debug\ - ez_async_data - .exe - true - true - ..\..\projects\vs2019\Release\ - ez_async_data.dir\Release\ - ez_async_data - .exe - false - true - ..\..\projects\vs2019\MinSizeRel\ - ez_async_data.dir\MinSizeRel\ - ez_async_data - .exe - false - true - ..\..\projects\vs2019\RelWithDebInfo\ - ez_async_data.dir\RelWithDebInfo\ - ez_async_data - .exe - true - true - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - EnableAllWarnings - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - - true - - - - - - - - {E237AE2C-CE1B-39F5-B931-3C0E53353E53} - - - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/ez_async_data/projects/vs2019/ez_async_data.vcxproj.filters b/vnproglib/c/examples/ez_async_data/projects/vs2019/ez_async_data.vcxproj.filters deleted file mode 100644 index 8543ebb..0000000 --- a/vnproglib/c/examples/ez_async_data/projects/vs2019/ez_async_data.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Source Files - - - - - {A4EEDEBD-AB22-37D0-AE6B-A8E5E9834EF8} - - - diff --git a/vnproglib/c/examples/ez_async_data/projects/vs2019/ez_async_data.vcxproj.user b/vnproglib/c/examples/ez_async_data/projects/vs2019/ez_async_data.vcxproj.user deleted file mode 100644 index 0f14913..0000000 --- a/vnproglib/c/examples/ez_async_data/projects/vs2019/ez_async_data.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/firmware_update/CMakeLists.txt b/vnproglib/c/examples/firmware_update/CMakeLists.txt deleted file mode 100644 index 593a1b2..0000000 --- a/vnproglib/c/examples/firmware_update/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -cmake_minimum_required(VERSION 2.8.4) -project(firmware_update) - -add_subdirectory(../.. libvnc) - -set(CMAKE_SUPPRESS_REGENERATION TRUE) - -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") -if (CMAKE_COMPILER_IS_GNUCC) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wpedantic -std=c90") -endif() - -set(SOURCE_FILES - main.c) - -include_directories("../../include") - -add_executable(sensor ${SOURCE_FILES}) - -target_link_libraries(sensor LINK_PUBLIC libvnc) - -if (UNIX OR APPLE) - target_link_libraries(sensor LINK_PUBLIC pthread) -endif() diff --git a/vnproglib/c/examples/firmware_update/Makefile b/vnproglib/c/examples/firmware_update/Makefile deleted file mode 100644 index d38c6a5..0000000 --- a/vnproglib/c/examples/firmware_update/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -CC = gcc -INCLUDES = -I ../../include -CFLAGS = -Wall - -all: firmware_update - -clean: - rm -f main.o - rm -f firmware_update - cd ../.. && make clean - -firmware_update: main.o proglib - $(CC) -o firmware_update main.o -L ../../build -lvnc -lpthread - -proglib: - cd ../.. && make - -main.o: main.c - $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@ - diff --git a/vnproglib/c/examples/firmware_update/Projects/vs2019/Firmware Update Example.sln b/vnproglib/c/examples/firmware_update/Projects/vs2019/Firmware Update Example.sln deleted file mode 100644 index d8af8a7..0000000 --- a/vnproglib/c/examples/firmware_update/Projects/vs2019/Firmware Update Example.sln +++ /dev/null @@ -1,31 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30717.126 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Firmware Update Example", "Firmware Update Example.vcxproj", "{615ED95B-A8FD-44D7-A8BF-3879D236C3FE}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2017\libvnc.vcxproj", "{E237AE2C-CE1B-39F5-B931-3C0E53353E53}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x86 = Debug|x86 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {615ED95B-A8FD-44D7-A8BF-3879D236C3FE}.Debug|x86.ActiveCfg = Debug|Win32 - {615ED95B-A8FD-44D7-A8BF-3879D236C3FE}.Debug|x86.Build.0 = Debug|Win32 - {615ED95B-A8FD-44D7-A8BF-3879D236C3FE}.Release|x86.ActiveCfg = Release|Win32 - {615ED95B-A8FD-44D7-A8BF-3879D236C3FE}.Release|x86.Build.0 = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|x86.ActiveCfg = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|x86.Build.0 = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|x86.ActiveCfg = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {7AEE4A97-D29B-418A-A35F-75821820433A} - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/firmware_update/Projects/vs2019/Firmware Update Example.vcxproj b/vnproglib/c/examples/firmware_update/Projects/vs2019/Firmware Update Example.vcxproj deleted file mode 100644 index 54f0f0b..0000000 --- a/vnproglib/c/examples/firmware_update/Projects/vs2019/Firmware Update Example.vcxproj +++ /dev/null @@ -1,112 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - 16.0 - Win32Proj - {615ed95b-a8fd-44d7-a8bf-3879d236c3fe} - FirmwareUpdateExample - 10.0.18362.0 - - - - Application - true - v141 - Unicode - - - Application - false - v141 - true - Unicode - - - Application - true - v141 - Unicode - - - Application - false - v141 - true - Unicode - - - - - - - - - - - - - - - - - - - - - true - ..\..\..\..\include;$(IncludePath) - - - false - C:\Workspace\customer-source-code-tools\Programming Library\c\include;$(IncludePath) - - - - Level3 - true - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - - - - - Level3 - true - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - true - true - - - - - - - - {e237ae2c-ce1b-39f5-b931-3c0e53353e53} - - - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/firmware_update/Projects/vs2019/Firmware Update Example.vcxproj.user b/vnproglib/c/examples/firmware_update/Projects/vs2019/Firmware Update Example.vcxproj.user deleted file mode 100644 index 0f14913..0000000 --- a/vnproglib/c/examples/firmware_update/Projects/vs2019/Firmware Update Example.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/firmware_update/Projects/vs2019/README before opening project for first time.txt b/vnproglib/c/examples/firmware_update/Projects/vs2019/README before opening project for first time.txt deleted file mode 100644 index 05a24b8..0000000 --- a/vnproglib/c/examples/firmware_update/Projects/vs2019/README before opening project for first time.txt +++ /dev/null @@ -1,24 +0,0 @@ -When opening the vs2019 example Project, Visual Studio will pop up a dialog asking to retarget Projects to the latest Windows SDK Version and Platform Toolset. DO NOT update the projects because it will break building the libvncxx library. The latest Platform Toolset that can be used to build the libvncxx library is Visual Studio 2017. - -Also, the library currently only supports x86 builds. - -If you do not have the Visual Studio 2017 Build Tools, you will get the following error: - -Error MSB8020 The build tools for Visual Studio 2017 (Platform Toolset = 'v141') cannot be found. To build using the v141 build tools, please install Visual Studio 2017 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". - -The following link will walk you through how to add the Visual Studio 2017 platform toolset to your environment. - -https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio?view=vs-2019 - -Run C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe - -Select C++/CLI support for v141 build tools (14.16) under Compilers, build tools, and runtimes from the Individual components tab of modifying Visual Studio 2019 - -MSVC v141 - VS 2017 C++ x64/x86 build tools (v14.16) - -Also select Windows 10 SDK 10.0.18362.0 for the needed make tools. - -After adding support for Visual Studio 2017 build toolset, if the projects are marked as unusable, have Visual Studio install the missing components. - - - diff --git a/vnproglib/c/examples/firmware_update/main.c b/vnproglib/c/examples/firmware_update/main.c deleted file mode 100644 index ede6444..0000000 --- a/vnproglib/c/examples/firmware_update/main.c +++ /dev/null @@ -1,340 +0,0 @@ -#include - -/* Include files needed to do firmware updates. */ -#include "vn/sensors.h" - -int processErrorReceived(char* errorMessage, VnError errorCode); - -/* - Firmware Update Protocol - 1. Switch to target processor - 2. Enter Update Mode in Bootloader - 3. Set Baud Rate - 4. Verify Acknowledgement - 5. Send firmware update one record at a time - 6. Wait for Acknowledgement before sending next record - 7. Exit Update Mode in Bootloader - 8. Switch to next target processor or return back to the NAV processor -*/ - -int one_call_method_for_the_VN300(void) -{ - - VnSensor vs; - char modelNumber[30]; - char firmwareVersion[30]; - VnError error; - - /* This example walks through using the VectorNav C Library to do a firmware update on the different processors of the VN300 using the firmwareUpdate method. */ - - /* First determine which COM port your sensor is attached to and update the - * constant below. Also, if you have changed your sensor from the factory - * default baudrate of 115200, you will need to update the baudrate - * constant below as well. */ - const char SENSOR_PORT[] = "COM4"; /* Windows format for physical and virtual (USB) serial port. */ - /*const char SENSOR_PORT[] = "/dev/ttyS1"; */ /* Linux format for physical serial port. */ - /*const char SENSOR_PORT[] = "/dev/ttyUSB0"; */ /* Linux format for virtual (USB) serial port. */ - /*const char SENSOR_PORT[] = "/dev/tty.usbserial-FTXXXXXX"; */ /* Mac OS X format for virtual (USB) serial port. */ - /*const char SENSOR_PORT[] = "/dev/ttyS0"; */ /* CYGWIN format. Usually the Windows COM port number minus 1. This would connect to COM1. */ - const uint32_t SENSOR_BAUDRATE = 115200; - const uint32_t FIRMWARE_UPDATE_BAUDRATE = 115200; /* This can be different than the sensor baudrate, recommend 115200 or slower for reliability */ - const char VN300_NAVFirmwareUpdate[] = "../../FirmwareUpdates/VN300_NAV_v0.5.0.0.vnx"; - const char VN300_GPSFirmwareUpdate[] = "../../FirmwareUpdates/VN300_GPS_v0.5.0.0.vnx"; - - - /* We first need to initialize our VnSensor structure. */ - printf("Initialize VN Sensor.\n"); - VnSensor_initialize(&vs); - - /* Now connect to our sensor. */ - printf("Connect to VN Sensor.\n"); - if ((error = VnSensor_connect(&vs, SENSOR_PORT, SENSOR_BAUDRATE)) != E_NONE) - return processErrorReceived("Error connecting to sensor.", error); - - /* Let's query the sensor's model number. */ - printf("Query VN Sensor Model.\n"); - if ((error = VnSensor_readModelNumber(&vs, modelNumber, sizeof(modelNumber))) != E_NONE) - return processErrorReceived("Error reading model number.", error); - printf("Model Number: %s\n", modelNumber); - - /* Let's query the sensor's firmware version. */ - printf("Query VN Sensor Firmware Version.\n"); - if ((error = VnSensor_readFirmwareVersion(&vs, firmwareVersion, sizeof(firmwareVersion))) != E_NONE) - return processErrorReceived("Error reading firmware version.", error); - printf("Firmware Version: %s\n", firmwareVersion); - - /* Let's update the firmware on the NAV processor. */ - printf("NAV Firmware Update VN Sensor with %s.\n", VN300_NAVFirmwareUpdate); - if ((error = VnSensor_firmwareUpdate(&vs, FIRMWARE_UPDATE_BAUDRATE, VN300_NAVFirmwareUpdate)) != E_NONE) - return processErrorReceived("Error updating firmware.", error); - - /* Let's switch to the target processor to update. */ - printf("Switch processors on VN Sensor.\n"); - if ((error = VnSensor_switchProcessors(&vs, VNPROCESSOR_GPS, modelNumber, firmwareVersion)) != E_NONE) - return processErrorReceived("Error switching processors.", error); - - /* Let's update the firmware on the GPS processor. */ - printf("GPS Firmware Update VN Sensor with %s.\n", VN300_GPSFirmwareUpdate); - if ((error = VnSensor_firmwareUpdate(&vs, FIRMWARE_UPDATE_BAUDRATE, VN300_GPSFirmwareUpdate)) != E_NONE) - return processErrorReceived("Error updating firmware.", error); - - /* Now disconnect from the sensor since we are finished. */ - printf("Disconnect from VN Sensor.\n"); - if ((error = VnSensor_disconnect(&vs)) != E_NONE) - return processErrorReceived("Error disconnecting from sensor.", error); - - /* Depending on the sensor, a power cycle may be needed instead of a reset. */ - printf("Power Cycle the sensor.\n"); - - return 0; -} - -int manage_each_step_for_the_VN200(void) -{ - VnSensor vs; - char modelNumber[30]; - char firmwareVersion[30]; - VnError error; - int RecordSize = MAXFIRMWAREUPDATERECORDSIZE; - char record[MAXFIRMWAREUPDATERECORDSIZE]; - bool stillGoing = true; - - /* This example walks through using the VectorNav C Library to connect to - * and interact with a VectorNav sensor using the VnSensor structure. */ - - /* First determine which COM port your sensor is attached to and update the - * constant below. Also, if you have changed your sensor from the factory - * default baudrate of 115200, you will need to update the baudrate - * constant below as well. */ - const char SENSOR_PORT[] = "COM3"; /* Windows format for physical and virtual (USB) serial port. */ - /*const char SENSOR_PORT[] = "/dev/ttyS1"; */ /* Linux format for physical serial port. */ - /*const char SENSOR_PORT[] = "/dev/ttyUSB0"; */ /* Linux format for virtual (USB) serial port. */ - /*const char SENSOR_PORT[] = "/dev/tty.usbserial-FTXXXXXX"; */ /* Mac OS X format for virtual (USB) serial port. */ - /*const char SENSOR_PORT[] = "/dev/ttyS0"; */ /* CYGWIN format. Usually the Windows COM port number minus 1. This would connect to COM1. */ - const uint32_t SENSOR_BAUDRATE = 115200; - const uint32_t FIRMWARE_UPDATE_BAUDRATE = 115200; /* This can be different than the sensor baudrate, recommend 115200 or slower for reliability */ - const char VN200FirmwareUpdate[] = "../../FirmwareUpdates/VN200_NAV_v2.0.0.1.vnx"; - - /* We first need to initialize our VnSensor structure. */ - printf("Initialize VN Sensor.\n"); - VnSensor_initialize(&vs); - - /* Now connect to our sensor. */ - printf("Connect to VN Sensor.\n"); - if ((error = VnSensor_connect(&vs, SENSOR_PORT, SENSOR_BAUDRATE)) != E_NONE) - return processErrorReceived("Error connecting to sensor.", error); - - /* Let's query the sensor's model number. */ - printf("Query VN Sensor Model.\n"); - if ((error = VnSensor_readModelNumber(&vs, modelNumber, sizeof(modelNumber))) != E_NONE) - return processErrorReceived("Error reading model number.", error); - printf("Model Number: %s\n", modelNumber); - - /* Let's query the sensor's firmware version. */ - printf("Query VN Sensor Firmware Version.\n"); - if ((error = VnSensor_readFirmwareVersion(&vs, firmwareVersion, sizeof(firmwareVersion))) != E_NONE) - return processErrorReceived("Error reading firmware version.", error); - printf("Firmware Version: %s\n", firmwareVersion); - - /* Open Firmware Update File*/ - FILE* firmwareUpdateFile = VnSensor_openFirmwareUpdateFile(VN200FirmwareUpdate); - - /* Enter the bootloader */ - if((error = VnSensor_firmwareUpdateMode(&vs, true)) != E_NONE) - return processErrorReceived("Failed to enter firmware update mode.", error); - - /* Give the processor some time to reboot */ - VnThread_sleepMs(1000); - - /* Change the baud rate for updating the firmware */ - if((error = VnSerialPort_changeBaudrate(&(vs.serialPort), FIRMWARE_UPDATE_BAUDRATE)) != E_NONE) - return processErrorReceived("Failed to change the firmware update baud rate.", error); - - /* Calibrate the Bootloader before sending records */ - VnSensor_calibrateBootloader(&vs); - - /* Write the firmware update file to the sensor, one record at a time */ - while (stillGoing) - { - stillGoing = VnSensor_getNextFirmwareUpdateRecord(firmwareUpdateFile, record, RecordSize); - if (stillGoing) - { - //printf("Send: %s\n", record); - printf("."); - if((error = VnSensor_writeFirmwareUpdateRecord(&vs, record)) != E_BOOTLOADER_NONE) - { - processErrorReceived("Failed to write record to firmware.", error); - stillGoing = false; - } - } - } - printf("\n"); - - /* Switch the baud rate back to the original setting */ - if((error = VnSerialPort_changeBaudrate(&(vs.serialPort), SENSOR_BAUDRATE)) != E_NONE) - return processErrorReceived("Failed to change baud rate back.", error); - - /* Close the firmware update file */ - VnSensor_closeFirmwareUpdateFile(firmwareUpdateFile); - - /* Exit Bootloader mode. Just sleep for 10 seconds */ - VnThread_sleepMs(10000); - - /* Do a reset */ - VnSensor_reset(&vs, true); - - /* Wait 2 seconds for the reset to finish */ - VnThread_sleepMs(2000); - - /* Now disconnect from the sensor since we are finished. */ - printf("Disconnect from VN Sensor.\n"); - if ((error = VnSensor_disconnect(&vs)) != E_NONE) - return processErrorReceived("Error disconnecting from sensor.", error); - - /* Depending on the sensor, a power cycle may be needed instead of a reset. */ - printf("Power Cycle the sensor.\n"); - return 0; -} - -int one_call_method_for_the_VN310(void) -{ - - VnSensor vs; - char modelNumber[30]; - char firmwareVersion[30]; - VnError error; - int RecordSize = MAXFIRMWAREUPDATERECORDSIZE; - char record[MAXFIRMWAREUPDATERECORDSIZE]; - bool stillGoing = true; - - /* This example walks through using the VectorNav C Library to connect to - * and interact with a VectorNav sensor using the VnSensor structure. */ - - /* First determine which COM port your sensor is attached to and update the - * constant below. Also, if you have changed your sensor from the factory - * default baudrate of 115200, you will need to update the baudrate - * constant below as well. */ - const char SENSOR_PORT[] = "COM6"; /* Windows format for physical and virtual (USB) serial port. */ - /*const char SENSOR_PORT[] = "/dev/ttyS1"; */ /* Linux format for physical serial port. */ - /*const char SENSOR_PORT[] = "/dev/ttyUSB0"; */ /* Linux format for virtual (USB) serial port. */ - /*const char SENSOR_PORT[] = "/dev/tty.usbserial-FTXXXXXX"; */ /* Mac OS X format for virtual (USB) serial port. */ - /*const char SENSOR_PORT[] = "/dev/ttyS0"; */ /* CYGWIN format. Usually the Windows COM port number minus 1. This would connect to COM1. */ - const uint32_t SENSOR_BAUDRATE = 115200; - const uint32_t FIRMWARE_UPDATE_BAUDRATE = 115200; /* This can be different than the sensor baudrate, recommend 115200 or slower for reliability */ - const char VN310_NAVFirmwareUpdate[] = "../../FirmwareUpdates/VN310_NAV_v0.8.1.0.vnx"; - const char VN310_GPSFirmwareUpdate[] = "../../FirmwareUpdates/VN310_GPS_v0.8.1.0.vnx"; - const char VN310_IMUFirmwareUpdate[] = "../../FirmwareUpdates/VN310_IMU_v2.5.1.0.vnx"; - - bool updateNAV = true; - bool updateGPS = true; - bool updateIMU = true; - - - /* We first need to initialize our VnSensor structure. */ - printf("Initialize VN Sensor.\n"); - VnSensor_initialize(&vs); - - /* Now connect to our sensor. */ - printf("Connect to VN Sensor.\n"); - if ((error = VnSensor_connect(&vs, SENSOR_PORT, SENSOR_BAUDRATE)) != E_NONE) - return processErrorReceived("Error connecting to sensor.", error); - - /* Let's query the sensor's model number. */ - printf("Query VN Sensor Model.\n"); - if ((error = VnSensor_readModelNumber(&vs, modelNumber, sizeof(modelNumber))) != E_NONE) - return processErrorReceived("Error reading model number.", error); - printf("Model Number: %s\n", modelNumber); - - /* Let's query the sensor's firmware version. */ - printf("Query VN Sensor Firmware Version.\n"); - if ((error = VnSensor_readFirmwareVersion(&vs, firmwareVersion, sizeof(firmwareVersion))) != E_NONE) - return processErrorReceived("Error reading firmware version.", error); - printf("Firmware Version: %s\n", firmwareVersion); - - if (updateNAV) - { - /* Let's update the firmware on the NAV processor. */ - printf("NAV Firmware Update VN Sensor with %s.\n", VN310_NAVFirmwareUpdate); - if ((error = VnSensor_firmwareUpdate(&vs, FIRMWARE_UPDATE_BAUDRATE, VN310_NAVFirmwareUpdate)) != E_NONE) - return processErrorReceived("Error updating firmware.", error); - - /* Need to switch back to NAV befor we leave*/ - printf("Switch to NAV processor.\n"); - if ((error = VnSensor_switchProcessors(&vs, VNPROCESSOR_NAV, modelNumber, firmwareVersion)) != E_NONE) - return processErrorReceived("Error switching processors.", error); - } - - if (updateGPS) - { - /* Let's switch to the target processor to update. */ - printf("Switch to GPS processor.\n"); - if ((error = VnSensor_switchProcessors(&vs, VNPROCESSOR_GPS, modelNumber, firmwareVersion)) != E_NONE) - return processErrorReceived("Error switching processors.", error); - - /* Let's update the firmware on the GPS processor. */ - printf("GPS Firmware Update VN Sensor with %s.\n", VN310_GPSFirmwareUpdate); - if ((error = VnSensor_firmwareUpdate(&vs, FIRMWARE_UPDATE_BAUDRATE, VN310_GPSFirmwareUpdate)) != E_NONE) - return processErrorReceived("Error updating firmware.", error); - - /* Need to switch back to NAV since we cannot switch directly to IMU from GPS. */ - printf("Switch to NAV processor.\n"); - if ((error = VnSensor_switchProcessors(&vs, VNPROCESSOR_NAV, modelNumber, firmwareVersion)) != E_NONE) - return processErrorReceived("Error switching processors.", error); - } - - if (updateIMU) - { - /* Let's switch to the target processor to update. */ - printf("Switch to IMU processor.\n"); - if ((error = VnSensor_switchProcessors(&vs, VNPROCESSOR_IMU, modelNumber, firmwareVersion)) != E_NONE) - return processErrorReceived("Error switching processors.", error); - - /* Let's update the firmware on the GPS processor. */ - printf("IMU Firmware Update VN Sensor with %s.\n", VN310_IMUFirmwareUpdate); - if ((error = VnSensor_firmwareUpdate(&vs, FIRMWARE_UPDATE_BAUDRATE, VN310_IMUFirmwareUpdate)) != E_NONE) - return processErrorReceived("Error updating firmware.", error); - - /* Need to switch back to NAV befor we leave*/ - printf("Switch to NAV processor.\n"); - if ((error = VnSensor_switchProcessors(&vs, VNPROCESSOR_NAV, modelNumber, firmwareVersion)) != E_NONE) - return processErrorReceived("Error switching processors.", error); - } - /* Now disconnect from the sensor since we are finished. */ - printf("Disconnect from VN Sensor.\n"); - if ((error = VnSensor_disconnect(&vs)) != E_NONE) - return processErrorReceived("Error disconnecting from sensor.", error); - - return 0; -} - - -int processErrorReceived(char* errorMessage, VnError errorCode) -{ - char errorCodeStr[100]; - strFromVnError(errorCodeStr, errorCode); - printf("%s\nERROR: %s\n", errorMessage, errorCodeStr); - return -1; -} - - -int main(void) -{ - int retval = 0; - - printf("********************************************************************************\n"); - printf("Updating the firmware on a VN200.\n"); - printf("********************************************************************************\n"); - retval = manage_each_step_for_the_VN200(); - - printf("********************************************************************************\n"); - printf("Updating the firmware on a VN300.\n"); - printf("********************************************************************************\n"); - retval = one_call_method_for_the_VN300(); - - printf("********************************************************************************\n"); - printf("Updating the firmware on a VN310.\n"); - printf("********************************************************************************\n"); - retval = one_call_method_for_the_VN310(); - - return retval; -} \ No newline at end of file diff --git a/vnproglib/c/examples/getting_started/CMakeLists.txt b/vnproglib/c/examples/getting_started/CMakeLists.txt deleted file mode 100644 index 76da27f..0000000 --- a/vnproglib/c/examples/getting_started/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -cmake_minimum_required(VERSION 2.8.4) -project(getting_started C) - -add_subdirectory(../.. libvnc) - -set(CMAKE_SUPPRESS_REGENERATION TRUE) - -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") -if (CMAKE_COMPILER_IS_GNUCC) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wpedantic -std=c90") -endif() - -set(SOURCE_FILES - main.c) - -include_directories("../../include") - -add_executable(getting_started ${SOURCE_FILES}) - -target_link_libraries(getting_started LINK_PUBLIC libvnc) - -if (UNIX OR APPLE) - target_link_libraries(getting_started LINK_PUBLIC pthread) -endif() diff --git a/vnproglib/c/examples/getting_started/Makefile b/vnproglib/c/examples/getting_started/Makefile deleted file mode 100644 index d3d2004..0000000 --- a/vnproglib/c/examples/getting_started/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -CC = gcc -INCLUDES = -I ../../include -CFLAGS = -Wall - -all: getting_started - -clean: - rm -f main.o - rm -f getting_started - cd ../.. && make clean - -getting_started: main.o proglib - $(CC) -o getting_started main.o -L ../../build -lvnc -lpthread - -proglib: - cd ../.. && make - -main.o: main.c - $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@ - diff --git a/vnproglib/c/examples/getting_started/main.c b/vnproglib/c/examples/getting_started/main.c deleted file mode 100644 index 0e22715..0000000 --- a/vnproglib/c/examples/getting_started/main.c +++ /dev/null @@ -1,438 +0,0 @@ -#include -#include - -/* Include files needed to use the UART protocol. */ -#include "vn/util.h" -#include "vn/protocol/upack.h" -#include "vn/protocol/upackf.h" -#include "vn/int.h" - -/* This include file normally contains higher level abstractions for working - * with VectorNav sensors. However, we include it for some string functions to - * display named options for the sensor's register's fields. */ -#include "vn/sensors.h" - -void packetFoundHandler(void *userData, VnUartPacket *packet, size_t runningIndexOfPacketStart); -void UserUart_initialize(void); -bool UserUart_checkForReceivedData(char* buffer, size_t bufferSize, size_t* numOfBytesReceived); -void UserUart_mockReceivedData(char* buffer, size_t bufferSize); -void UserUart_sendData(char *data, size_t size); - -bool gIsCheckingForModelNumberResponse = false; -bool gIsCheckingForAsyncOutputFreqResponse = false; -bool gIsCheckingForVpeBasicControlResponse = false; -uint8_t gEnable, gHeadingMode, gFilteringMode, gTuningMode; - -int main(void) -{ - char buffer[256]; - size_t numOfBytes, readModelNumberSize, writeAsyncOutputFreqSize, readVpeBasicControlSize, writeVpeBasicControlSize; - size_t writeBinaryOutput1Size; - char mockAsciiAsyncData[] = "$VNYMR,+100.949,-007.330,+000.715,-00.0049,-00.2449,+00.5397,-01.258,-00.100,-09.701,-00.000018,+00.001122,-00.000551*69\r\n"; - char mockReadModelNumberResponse[] = "$VNRRG,01,VN-200T-CR*31\r\n"; - char mockWriteAsyncOutputFrequencyResponse[] = "$VNWRG,07,2*6F\r\n"; - char mockFactoryDefaultReadVpeBasicControlResponse[] = "$VNRRG,35,1,1,1,1*75\r\n"; - char mockWriteVpeBasicControlResponse[] = "$VNWRG,35,1,0,1,1*71\r\n"; - char mockErrorMessage[] = "$VNERR,12*72\r\n"; - uint8_t mockBinaryAsyncData[] = { 0xFA, 0x01, 0x09, 0x00, 0x70, 0x05, 0x00, 0x03, 0x0A, 0x00, 0x00, 0x00, 0x48, 0x0E, 0x2C, 0x42, 0x08, 0x4C, 0x37, 0xC1, 0x10, 0x38, 0x8B, 0xC2, 0xD4, 0xCB }; - char genReadModelNumberBuffer[256]; - char genWriteAsyncOutputFrequencyBuffer[256]; - char genReadVpeBasicControlBuffer[256]; - char genWriteVpeBasicControlBuffer[256]; - char genWriteBinaryOutput1Buffer[256]; - - /* This example provides an overview of the UART protocol functionality - * of the VectorNav C Library. - * - * Using the UART Protocol allows communicating with a VectorNav sensor - * over a UART interface using both ASCII and binary protocols. Usage of - * this "core" feature requires you to do all of the grunt work of - * initializing and managing the UART port for your development - * environment. Once this is setup, you will initialize the UART protocol - * and then simply pass arrays of data between your UART code and the - * VectorNav C Library's protocol code. To keep this example generic, we - * will mock the necessary UART initialization and management functions - * that would need to be replaced by code specific for your environment - * to tie into a real VectorNav sensor. For now we just use some fake data - * to illustrate the process. */ - - /* The VnUartProtocol structure encapsulates the data used for buffering - * and handling incoming data. It is not associated with sending commands - * to the sensor. This will be illustrated further in the example. */ - VnUartPacketFinder up; - - /* First thing you should do is initialize the data structure. */ - VnUartPacketFinder_initialize(&up); - - /* Register our callback method for when the VnUartPacketFinder finds an - ASCII asynchronous packet. */ - VnUartPacketFinder_registerPacketFoundHandler(&up, packetFoundHandler, NULL); - - /* Initialize the UART port (this is mimicked in this example). */ - UserUart_initialize(); - - /* With our VnUartProtocol and mock UART initialized, we will fake an - * asynchronous message output by a VectorNav sensor and received by our - * mock UART port. */ - UserUart_mockReceivedData(mockAsciiAsyncData, strlen(mockAsciiAsyncData)); - - /* Normally you will be continually checking for new UART data and then - * passing any received data to the VnUartProtocol to build, parse and - * verify data packets. Since this is just for demonstration purposes, we - * just poll the mock UART for its current data. In a real world - * environment where you are servicing a real UART port, you would have - * code similar to the code lines below. - * - * char buffer[256]; - * while (1) - * { - * size_t numOfBytes; - * if (UserUart_checkForReceivedData(buffer, 256, &numOfBytes)) - * VnUartPacketFinder_processReceivedData(buffer, numOfBytes); - * } - */ - UserUart_checkForReceivedData(buffer, sizeof(buffer), &numOfBytes); - - /* Now when we pass the data to the VnUartPacketFinder, our function - * validPacketFoundHandler will be called since we passed in a complete - * and valid data packet. Scroll down to the function validPacketFoundHandler - * to see how to process and extract the values from the packet. */ - VnUartPacketFinder_processData(&up,(uint8_t*) buffer, numOfBytes); - - /* Processing received asynchronous data from the sensor is fairly straight - * forward. However, you may wish to query or configure the sensor and in - * theory this is still straight forward if you do not add code to handle - * retransmits of commands or communication timeouts. We will show the - * basic structure of querying and configuring and leave it to the - * developer for adding edge case handling code. The file sensors.cpp in - * the C++ may serve as a reference for adding this extra code. - */ - - /* We will first illustrate querying the sensor's model number. First we - * generate a read register command. */ - VnUartPacket_genReadModelNumber( - genReadModelNumberBuffer, - sizeof(genReadModelNumberBuffer), - VNERRORDETECTIONMODE_CHECKSUM, - &readModelNumberSize); - - /* Now send the data to the sensor. */ - gIsCheckingForModelNumberResponse = true; - UserUart_sendData(genReadModelNumberBuffer, readModelNumberSize); - - /* Mock that the sensor responded to our request. */ - UserUart_mockReceivedData(mockReadModelNumberResponse, strlen(mockReadModelNumberResponse)); - - /* Now process the mock data that our fake UART port received and hand it - * over to our UART packet finder. */ - UserUart_checkForReceivedData(buffer, sizeof(buffer), &numOfBytes); - VnUartPacketFinder_processData(&up, (uint8_t*)buffer, numOfBytes); - gIsCheckingForModelNumberResponse = false; - - /* Let's see how to perform a trivial configuration of the sensor. We will - * change the asynchronous data output frequency to 2 Hz. */ - VnUartPacket_genWriteAsyncDataOutputFrequency( - genWriteAsyncOutputFrequencyBuffer, - sizeof(genWriteAsyncOutputFrequencyBuffer), - VNERRORDETECTIONMODE_CHECKSUM, - &writeAsyncOutputFreqSize, - 2); - - /* Now send the data to the sensor. */ - gIsCheckingForAsyncOutputFreqResponse = true; - UserUart_sendData(genWriteAsyncOutputFrequencyBuffer, writeAsyncOutputFreqSize); - - /* Mock that the sensor responded to our request. */ - UserUart_mockReceivedData(mockWriteAsyncOutputFrequencyResponse, strlen(mockWriteAsyncOutputFrequencyResponse)); - - /* Now process the mock data that our fake UART port received and hand it - * over to our UART packet finder. */ - UserUart_checkForReceivedData(buffer, sizeof(buffer), &numOfBytes); - VnUartPacketFinder_processData(&up, (uint8_t*)buffer, numOfBytes); - gIsCheckingForAsyncOutputFreqResponse = false; - - /* Other configuration register on the VectorNav sensors have multiple - * fields that need to be set when we write to them. If we only are - * interested in one field, a safe and easy way to perform this is to first - * read the current configuration, change the fields we are concerned with, - * and then write the settings back to the sensor. We will illustrate this - * now by changing the sensors heading mode of the VPE Basic Control - * register. */ - - printf("Reading current values of the VPE Basic Control register.\n"); - - /* First generate a read register command. */ - VnUartPacket_genReadVpeBasicControl( - genReadVpeBasicControlBuffer, - sizeof(genReadVpeBasicControlBuffer), - VNERRORDETECTIONMODE_CHECKSUM, - &readVpeBasicControlSize); - - /* Now send the data to the sensor. */ - gIsCheckingForVpeBasicControlResponse = true; - UserUart_sendData(genReadVpeBasicControlBuffer, readVpeBasicControlSize); - - /* Mock that the sensor responded to our request. */ - UserUart_mockReceivedData(mockFactoryDefaultReadVpeBasicControlResponse, strlen(mockFactoryDefaultReadVpeBasicControlResponse)); - - /* Now process the mock data that our fake UART port received and hand it - * over to our UART packet finder. */ - UserUart_checkForReceivedData(buffer, sizeof(buffer), &numOfBytes); - VnUartPacketFinder_processData(&up, (uint8_t*)buffer, numOfBytes); - gIsCheckingForVpeBasicControlResponse = false; - - /* The validPacketFoundHandler will have set the current values of the VPE - * Basic Control register into our global variables. Let's now change the - * heading mode field for this register while keeping the other fields in - * their current state. */ - - printf("Writing new values to the VPE Basic Control register.\n"); - - /* Generate the write register command. */ - VnUartPacket_genWriteVpeBasicControl( - genWriteVpeBasicControlBuffer, - sizeof(genWriteVpeBasicControlBuffer), - VNERRORDETECTIONMODE_CHECKSUM, - &writeVpeBasicControlSize, - gEnable, - 0, /* Could possibly use a value from the enum HeadingMode in sensors.h. */ - gFilteringMode, - gTuningMode); - - /* Send the data to the sensor. */ - gIsCheckingForVpeBasicControlResponse = true; - UserUart_sendData(genWriteVpeBasicControlBuffer, writeVpeBasicControlSize); - - /* Mock that the sensor responded to our request. */ - UserUart_mockReceivedData(mockWriteVpeBasicControlResponse, strlen(mockWriteVpeBasicControlResponse)); - - /* Process the mock data that our fake UART port received and hand it - * over to our UART packet finder. */ - UserUart_checkForReceivedData(buffer, sizeof(buffer), &numOfBytes); - VnUartPacketFinder_processData(&up, (uint8_t*)buffer, numOfBytes); - gIsCheckingForVpeBasicControlResponse = false; - - /* The VectorNav sensor also supports binary asynchronous data output, - * which can be configured by the user to support flexible configuration of - * data output types. In this example, we will show how to configure the - * sensor's binary output configuration register, and then process a packet - * received of this binary output data. */ - - /* Generate our command to configure the Binary Output 1 register. Normally - * when working with the functions from the file uart.h, the data types as - * listed in the user manual are used, without any abstractions getting in - * the way. However, here we use some enums defined in sensors.h for - * specifying the flags of the register's fields since it is much easier to - * understand. Here we configure the sensor to output yaw, pitch, roll and - * timestart data at 4 Hz. Note that the sensor's user manual requires - * specifying which groups are present; however, this function call will - * take care of determining which fields are present. */ - VnUartPacket_genWriteBinaryOutput1( - (uint8_t*)genWriteBinaryOutput1Buffer, - sizeof(genWriteBinaryOutput1Buffer), - VNERRORDETECTIONMODE_CHECKSUM, - &writeBinaryOutput1Size, - ASYNCMODE_PORT1, - 200, - COMMONGROUP_TIMESTARTUP | COMMONGROUP_YAWPITCHROLL, /* Note use of binary OR to configure flags. */ - TIMEGROUP_NONE, - IMUGROUP_NONE, - GPSGROUP_NONE, - ATTITUDEGROUP_NONE, - INSGROUP_NONE, - GPSGROUP_NONE); - - /* Send the data to the sensor. */ - UserUart_sendData(genWriteBinaryOutput1Buffer, writeBinaryOutput1Size); - - /* Mock that the sensor responded to our request. */ - UserUart_mockReceivedData((char*)mockBinaryAsyncData, 26); - - /* Process the mock data that our fake UART port received and hand it - * over to our UART packet finder. */ - UserUart_checkForReceivedData(buffer, sizeof(buffer), &numOfBytes); - VnUartPacketFinder_processData(&up, (uint8_t*)buffer, numOfBytes); - - /* Lastly, you may want to include code that checks for error messages - * output from the sensor. To demonstrate, we pass a fake error message to - * be handled by our code. */ - UserUart_mockReceivedData(mockErrorMessage, strlen(mockErrorMessage)); - UserUart_checkForReceivedData(buffer, sizeof(buffer), &numOfBytes); - VnUartPacketFinder_processData(&up, (uint8_t*)buffer, numOfBytes); - - return 0; -} - -void packetFoundHandler(void *userData, VnUartPacket *packet, size_t runningIndexOfPacketStart) -{ - /* Silence 'unreferenced formal parameters' warning in Visual Studio. */ - (runningIndexOfPacketStart); - (userData); - - /* When this function is called, the packet will already have been - * validated so no checksum/CRC check is required. */ - - /* First see if this is an ASCII or binary packet. */ - if (VnUartPacket_type(packet) == PACKETTYPE_ASCII) - { - /* Now that we know this is an ASCII packet, we can call the various - * ASCII functions to further process this packet. */ - if (VnUartPacket_isAsciiAsync(packet)) - { - /* We know we have an ASCII asynchronous data packet. Let's see if - * this is a message type we are looking for. */ - VnAsciiAsync asyncType = VnUartPacket_determineAsciiAsyncType(packet); - - if (asyncType == VNYMR) - { - /* Parse the VNYMR message. */ - vec3f ypr, mag, accel, angularRate; - char yprStr[100], magStr[100], accelStr[100], angularRateStr[100]; - - VnUartPacket_parseVNYMR(packet, &ypr, &mag, &accel, &angularRate); - - str_vec3f(yprStr, ypr); - str_vec3f(magStr, mag); - str_vec3f(accelStr, accel); - str_vec3f(angularRateStr, angularRate); - printf("[Found VNYMR Packet]\n"); - printf(" YawPitchRoll: %s\n", yprStr); - printf(" Magnetic: %s\n", magStr); - printf(" Acceleration: %s\n", accelStr); - printf(" Angular Rate: %s\n", angularRateStr); - } - } - else if (VnUartPacket_isResponse(packet)) - { - if (gIsCheckingForModelNumberResponse) - { - char modelNumber[100]; - - VnUartPacket_parseModelNumber(packet, modelNumber); - - printf("Model Number: %s\n", modelNumber); - } - else if (gIsCheckingForAsyncOutputFreqResponse) - { - uint32_t asyncOutputFreq; - - VnUartPacket_parseAsyncDataOutputFrequency(packet, &asyncOutputFreq); - - printf("Asynchronous Output Frequency: %u Hz\n", asyncOutputFreq); - } - else if (gIsCheckingForVpeBasicControlResponse) - { - char enableStr[100], headingModeStr[100], filteringModeStr[100], tuningModeStr[100]; - - VnUartPacket_parseVpeBasicControl(packet, &gEnable, &gHeadingMode, &gFilteringMode, &gTuningMode); - - strFromBool(enableStr, (bool) gEnable); - strFromHeadingMode(headingModeStr, (VnHeadingMode)gHeadingMode); - strFromVpeMode(filteringModeStr, (VnVpeMode)gFilteringMode); - strFromVpeMode(tuningModeStr, (VnVpeMode)gTuningMode); - printf("[VPE Basic Control]\n"); - printf(" Enable: %s\n", enableStr); - printf(" Heading Mode: %s\n", headingModeStr); - printf(" Filtering Mode: %s\n", filteringModeStr); - printf(" Tuning Mode: %s\n", tuningModeStr); - } - } - else if (VnUartPacket_isError(packet)) - { - uint8_t error; - char errorStr[100]; - - VnUartPacket_parseError(packet, &error); - - strFromSensorError(errorStr, (SensorError) error); - - printf("Sensor Error: %s\n", errorStr); - } - } - else if (VnUartPacket_type(packet) == PACKETTYPE_BINARY) { - uint64_t timeStartup; - vec3f ypr; - char yprStr[100]; - - /* See if this is a binary packet type we are expecting. */ - if (!VnUartPacket_isCompatible( - packet, - (CommonGroup)(COMMONGROUP_TIMESTARTUP | COMMONGROUP_YAWPITCHROLL), - (TimeGroup)(TIMEGROUP_NONE), - (ImuGroup)(IMUGROUP_NONE), - (GpsGroup)(GPSGROUP_NONE), - (AttitudeGroup)(ATTITUDEGROUP_NONE), - (InsGroup)(INSGROUP_NONE), - (GpsGroup)(GPSGROUP_NONE))) - { - /* Not the type of binary packet we are expecting. */ - return; - } - - /* Ok, we have our expected binary output packet. Since there are many - * ways to configure the binary data output, the burden is on the user - * to correctly parse the binary packet. However, we can make use of - * the parsing convenience methods provided by the VnUartPacket structure. - * When using these convenience methods, you have to extract them in - * the order they are organized in the binary packet per the User Manual. */ - timeStartup = VnUartPacket_extractUint64(packet); - ypr = VnUartPacket_extractVec3f(packet); - str_vec3f(yprStr, ypr); - printf("[Binary Packet Received]\n"); - printf(" TimeStartup: %u\n", (uint32_t) timeStartup); - printf(" Yaw Pitch Roll: %s\n", yprStr); - } -} - -/* Some variables to enable our mock UART port. */ -char* mockUartReceivedDataBuffer[256]; -size_t mockUartReceivedDataSize; - -/* This is a mock function which in a real development environment would - * contain code to initialize the device's UART port. However, to keep this - * example generic, we simply initialize our program to mimic a UART port - * provided by the user. */ -void UserUart_initialize(void) -{ - mockUartReceivedDataSize = 0; -} - -/* This is another mock function which would be replaced in a real program to - * actually query the environment's UART for any data received. We just mock - * the data in this example. */ -bool UserUart_checkForReceivedData(char* buffer, size_t bufferSize, size_t* numOfBytesReceived) -{ - /* Silence 'unreferenced formal parameters' warning in Visual Studio. */ - (bufferSize); - - if (mockUartReceivedDataSize == 0) - return false; - - memcpy(buffer, mockUartReceivedDataBuffer, mockUartReceivedDataSize); - *numOfBytesReceived = mockUartReceivedDataSize; - - mockUartReceivedDataSize = 0; - - return true; -} - -/* This is a helper method for our mocked UART port that will mimic data that - * has been received on a UART port. This function would not be implemented in - * an environment that is using an actual UART port. */ -void UserUart_mockReceivedData(char* buffer, size_t bufferSize) -{ - memcpy(mockUartReceivedDataBuffer, buffer, bufferSize); - mockUartReceivedDataSize = bufferSize; -} - -/* This is a method for simulating sending data to a VectorNav sensor. This - * will need to be implemented by the developer to actually send the data over - * the system's UART. */ -void UserUart_sendData(char *data, size_t size) -{ - /* Silence 'unreferenced formal parameters' warning in Visual Studio. */ - (data); - (size); - - /* Do nothing since we are mocking a UART port. */ -} diff --git a/vnproglib/c/examples/getting_started/projects/vs2008/getting_started.sln b/vnproglib/c/examples/getting_started/projects/vs2008/getting_started.sln deleted file mode 100644 index 8a04db4..0000000 --- a/vnproglib/c/examples/getting_started/projects/vs2008/getting_started.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "getting_started", "getting_started.vcproj", "{46C5F55A-E6B2-3D9A-B942-92B966974AFA}" - ProjectSection(ProjectDependencies) = postProject - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E} = {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2008\libvnc.vcproj", "{70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {E7542957-E5BC-392D-9CBA-5113C1B5195E}.Debug|Win32.ActiveCfg = Debug|Win32 - {E7542957-E5BC-392D-9CBA-5113C1B5195E}.Release|Win32.ActiveCfg = Release|Win32 - {E7542957-E5BC-392D-9CBA-5113C1B5195E}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {E7542957-E5BC-392D-9CBA-5113C1B5195E}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {46C5F55A-E6B2-3D9A-B942-92B966974AFA}.Debug|Win32.ActiveCfg = Debug|Win32 - {46C5F55A-E6B2-3D9A-B942-92B966974AFA}.Debug|Win32.Build.0 = Debug|Win32 - {46C5F55A-E6B2-3D9A-B942-92B966974AFA}.Release|Win32.ActiveCfg = Release|Win32 - {46C5F55A-E6B2-3D9A-B942-92B966974AFA}.Release|Win32.Build.0 = Release|Win32 - {46C5F55A-E6B2-3D9A-B942-92B966974AFA}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {46C5F55A-E6B2-3D9A-B942-92B966974AFA}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {46C5F55A-E6B2-3D9A-B942-92B966974AFA}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {46C5F55A-E6B2-3D9A-B942-92B966974AFA}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Debug|Win32.ActiveCfg = Debug|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Debug|Win32.Build.0 = Debug|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Release|Win32.ActiveCfg = Release|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Release|Win32.Build.0 = Release|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/getting_started/projects/vs2008/getting_started.vcproj b/vnproglib/c/examples/getting_started/projects/vs2008/getting_started.vcproj deleted file mode 100644 index 4ba21c3..0000000 --- a/vnproglib/c/examples/getting_started/projects/vs2008/getting_started.vcproj +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/vnproglib/c/examples/getting_started/projects/vs2010/getting_started.sln b/vnproglib/c/examples/getting_started/projects/vs2010/getting_started.sln deleted file mode 100644 index b1ec7f6..0000000 --- a/vnproglib/c/examples/getting_started/projects/vs2010/getting_started.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "getting_started", "getting_started.vcxproj", "{D9DF1FB5-3092-3C46-8AA8-9D67D9E7D880}" - ProjectSection(ProjectDependencies) = postProject - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9} = {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2010\libvnc.vcxproj", "{B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {BB34449E-1E8E-37E8-8AF7-4E4AAC4A56F1}.Debug|Win32.ActiveCfg = Debug|Win32 - {BB34449E-1E8E-37E8-8AF7-4E4AAC4A56F1}.Release|Win32.ActiveCfg = Release|Win32 - {BB34449E-1E8E-37E8-8AF7-4E4AAC4A56F1}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {BB34449E-1E8E-37E8-8AF7-4E4AAC4A56F1}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {D9DF1FB5-3092-3C46-8AA8-9D67D9E7D880}.Debug|Win32.ActiveCfg = Debug|Win32 - {D9DF1FB5-3092-3C46-8AA8-9D67D9E7D880}.Debug|Win32.Build.0 = Debug|Win32 - {D9DF1FB5-3092-3C46-8AA8-9D67D9E7D880}.Release|Win32.ActiveCfg = Release|Win32 - {D9DF1FB5-3092-3C46-8AA8-9D67D9E7D880}.Release|Win32.Build.0 = Release|Win32 - {D9DF1FB5-3092-3C46-8AA8-9D67D9E7D880}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {D9DF1FB5-3092-3C46-8AA8-9D67D9E7D880}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {D9DF1FB5-3092-3C46-8AA8-9D67D9E7D880}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {D9DF1FB5-3092-3C46-8AA8-9D67D9E7D880}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Debug|Win32.ActiveCfg = Debug|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Debug|Win32.Build.0 = Debug|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Release|Win32.ActiveCfg = Release|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Release|Win32.Build.0 = Release|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/getting_started/projects/vs2010/getting_started.vcxproj b/vnproglib/c/examples/getting_started/projects/vs2010/getting_started.vcxproj deleted file mode 100644 index 0bff47f..0000000 --- a/vnproglib/c/examples/getting_started/projects/vs2010/getting_started.vcxproj +++ /dev/null @@ -1,262 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {D9DF1FB5-3092-3C46-8AA8-9D67D9E7D880} - Win32Proj - Win32 - getting_started - - - - Application - false - MultiByte - - - Application - false - MultiByte - - - Application - false - MultiByte - - - Application - false - MultiByte - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2010\Debug\ - getting_started.dir\Debug\ - getting_started - .exe - true - true - ..\..\projects\vs2010\Release\ - getting_started.dir\Release\ - getting_started - .exe - false - true - ..\..\projects\vs2010\MinSizeRel\ - getting_started.dir\MinSizeRel\ - getting_started - .exe - false - true - ..\..\projects\vs2010\RelWithDebInfo\ - getting_started.dir\RelWithDebInfo\ - getting_started - .exe - true - true - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - EnableAllWarnings - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - - - - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9} - - - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/getting_started/projects/vs2010/getting_started.vcxproj.filters b/vnproglib/c/examples/getting_started/projects/vs2010/getting_started.vcxproj.filters deleted file mode 100644 index 9d18c55..0000000 --- a/vnproglib/c/examples/getting_started/projects/vs2010/getting_started.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Source Files - - - - - {93B68329-8F3C-3AF0-A3C1-7CCEC267FB5C} - - - diff --git a/vnproglib/c/examples/getting_started/projects/vs2012/getting_started.sln b/vnproglib/c/examples/getting_started/projects/vs2012/getting_started.sln deleted file mode 100644 index ef4b72e..0000000 --- a/vnproglib/c/examples/getting_started/projects/vs2012/getting_started.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "getting_started", "getting_started.vcxproj", "{69F78359-9C62-3027-B698-914D7238D744}" - ProjectSection(ProjectDependencies) = postProject - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69} = {CF7C59BE-0DD8-3132-A4DE-B79B62914D69} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2012\libvnc.vcxproj", "{CF7C59BE-0DD8-3132-A4DE-B79B62914D69}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D6AA56FD-39A2-3687-973E-C2B2CFD32760}.Debug|Win32.ActiveCfg = Debug|Win32 - {D6AA56FD-39A2-3687-973E-C2B2CFD32760}.Release|Win32.ActiveCfg = Release|Win32 - {D6AA56FD-39A2-3687-973E-C2B2CFD32760}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {D6AA56FD-39A2-3687-973E-C2B2CFD32760}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {69F78359-9C62-3027-B698-914D7238D744}.Debug|Win32.ActiveCfg = Debug|Win32 - {69F78359-9C62-3027-B698-914D7238D744}.Debug|Win32.Build.0 = Debug|Win32 - {69F78359-9C62-3027-B698-914D7238D744}.Release|Win32.ActiveCfg = Release|Win32 - {69F78359-9C62-3027-B698-914D7238D744}.Release|Win32.Build.0 = Release|Win32 - {69F78359-9C62-3027-B698-914D7238D744}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {69F78359-9C62-3027-B698-914D7238D744}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {69F78359-9C62-3027-B698-914D7238D744}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {69F78359-9C62-3027-B698-914D7238D744}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Debug|Win32.ActiveCfg = Debug|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Debug|Win32.Build.0 = Debug|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Release|Win32.ActiveCfg = Release|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Release|Win32.Build.0 = Release|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/getting_started/projects/vs2012/getting_started.vcxproj b/vnproglib/c/examples/getting_started/projects/vs2012/getting_started.vcxproj deleted file mode 100644 index d4b7d9e..0000000 --- a/vnproglib/c/examples/getting_started/projects/vs2012/getting_started.vcxproj +++ /dev/null @@ -1,266 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {69F78359-9C62-3027-B698-914D7238D744} - Win32Proj - Win32 - getting_started - - - - Application - false - MultiByte - v110 - - - Application - false - MultiByte - v110 - - - Application - false - MultiByte - v110 - - - Application - false - MultiByte - v110 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2012\Debug\ - getting_started.dir\Debug\ - getting_started - .exe - true - true - ..\..\projects\vs2012\Release\ - getting_started.dir\Release\ - getting_started - .exe - false - true - ..\..\projects\vs2012\MinSizeRel\ - getting_started.dir\MinSizeRel\ - getting_started - .exe - false - true - ..\..\projects\vs2012\RelWithDebInfo\ - getting_started.dir\RelWithDebInfo\ - getting_started - .exe - true - true - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - EnableAllWarnings - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - - - - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69} - - - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/getting_started/projects/vs2012/getting_started.vcxproj.filters b/vnproglib/c/examples/getting_started/projects/vs2012/getting_started.vcxproj.filters deleted file mode 100644 index 2f96ddc..0000000 --- a/vnproglib/c/examples/getting_started/projects/vs2012/getting_started.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Source Files - - - - - {14FA41C7-E752-3B76-B116-2297D7C7A02D} - - - diff --git a/vnproglib/c/examples/getting_started/projects/vs2013/getting_started.sln b/vnproglib/c/examples/getting_started/projects/vs2013/getting_started.sln deleted file mode 100644 index 4fce073..0000000 --- a/vnproglib/c/examples/getting_started/projects/vs2013/getting_started.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "getting_started", "getting_started.vcxproj", "{620DB29A-E896-3F44-A0B7-202206594DC3}" - ProjectSection(ProjectDependencies) = postProject - {E237AE2C-CE1B-39F5-B931-3C0E53353E53} = {E237AE2C-CE1B-39F5-B931-3C0E53353E53} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2013\libvnc.vcxproj", "{E237AE2C-CE1B-39F5-B931-3C0E53353E53}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {02FE4592-8E04-327F-A215-2FE0DE56A3B9}.Debug|Win32.ActiveCfg = Debug|Win32 - {02FE4592-8E04-327F-A215-2FE0DE56A3B9}.Release|Win32.ActiveCfg = Release|Win32 - {02FE4592-8E04-327F-A215-2FE0DE56A3B9}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {02FE4592-8E04-327F-A215-2FE0DE56A3B9}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {620DB29A-E896-3F44-A0B7-202206594DC3}.Debug|Win32.ActiveCfg = Debug|Win32 - {620DB29A-E896-3F44-A0B7-202206594DC3}.Debug|Win32.Build.0 = Debug|Win32 - {620DB29A-E896-3F44-A0B7-202206594DC3}.Release|Win32.ActiveCfg = Release|Win32 - {620DB29A-E896-3F44-A0B7-202206594DC3}.Release|Win32.Build.0 = Release|Win32 - {620DB29A-E896-3F44-A0B7-202206594DC3}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {620DB29A-E896-3F44-A0B7-202206594DC3}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {620DB29A-E896-3F44-A0B7-202206594DC3}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {620DB29A-E896-3F44-A0B7-202206594DC3}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.ActiveCfg = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.Build.0 = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.ActiveCfg = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.Build.0 = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/getting_started/projects/vs2013/getting_started.vcxproj b/vnproglib/c/examples/getting_started/projects/vs2013/getting_started.vcxproj deleted file mode 100644 index 8c39dd6..0000000 --- a/vnproglib/c/examples/getting_started/projects/vs2013/getting_started.vcxproj +++ /dev/null @@ -1,266 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {620DB29A-E896-3F44-A0B7-202206594DC3} - Win32Proj - Win32 - getting_started - - - - Application - false - MultiByte - v120 - - - Application - false - MultiByte - v120 - - - Application - false - MultiByte - v120 - - - Application - false - MultiByte - v120 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2013\Debug\ - getting_started.dir\Debug\ - getting_started - .exe - true - true - ..\..\projects\vs2013\Release\ - getting_started.dir\Release\ - getting_started - .exe - false - true - ..\..\projects\vs2013\MinSizeRel\ - getting_started.dir\MinSizeRel\ - getting_started - .exe - false - true - ..\..\projects\vs2013\RelWithDebInfo\ - getting_started.dir\RelWithDebInfo\ - getting_started - .exe - true - true - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - EnableAllWarnings - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - - - - {E237AE2C-CE1B-39F5-B931-3C0E53353E53} - - - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/getting_started/projects/vs2013/getting_started.vcxproj.filters b/vnproglib/c/examples/getting_started/projects/vs2013/getting_started.vcxproj.filters deleted file mode 100644 index ce1de67..0000000 --- a/vnproglib/c/examples/getting_started/projects/vs2013/getting_started.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Source Files - - - - - {CED7D1F9-958B-3672-A65B-07683BE90887} - - - diff --git a/vnproglib/c/examples/getting_started/projects/vs2019/README before opening project for first time.txt b/vnproglib/c/examples/getting_started/projects/vs2019/README before opening project for first time.txt deleted file mode 100644 index 05a24b8..0000000 --- a/vnproglib/c/examples/getting_started/projects/vs2019/README before opening project for first time.txt +++ /dev/null @@ -1,24 +0,0 @@ -When opening the vs2019 example Project, Visual Studio will pop up a dialog asking to retarget Projects to the latest Windows SDK Version and Platform Toolset. DO NOT update the projects because it will break building the libvncxx library. The latest Platform Toolset that can be used to build the libvncxx library is Visual Studio 2017. - -Also, the library currently only supports x86 builds. - -If you do not have the Visual Studio 2017 Build Tools, you will get the following error: - -Error MSB8020 The build tools for Visual Studio 2017 (Platform Toolset = 'v141') cannot be found. To build using the v141 build tools, please install Visual Studio 2017 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". - -The following link will walk you through how to add the Visual Studio 2017 platform toolset to your environment. - -https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio?view=vs-2019 - -Run C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe - -Select C++/CLI support for v141 build tools (14.16) under Compilers, build tools, and runtimes from the Individual components tab of modifying Visual Studio 2019 - -MSVC v141 - VS 2017 C++ x64/x86 build tools (v14.16) - -Also select Windows 10 SDK 10.0.18362.0 for the needed make tools. - -After adding support for Visual Studio 2017 build toolset, if the projects are marked as unusable, have Visual Studio install the missing components. - - - diff --git a/vnproglib/c/examples/getting_started/projects/vs2019/getting_started.sln b/vnproglib/c/examples/getting_started/projects/vs2019/getting_started.sln deleted file mode 100644 index b9f1810..0000000 --- a/vnproglib/c/examples/getting_started/projects/vs2019/getting_started.sln +++ /dev/null @@ -1,43 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30717.126 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "getting_started", "getting_started.vcxproj", "{620DB29A-E896-3F44-A0B7-202206594DC3}" - ProjectSection(ProjectDependencies) = postProject - {E237AE2C-CE1B-39F5-B931-3C0E53353E53} = {E237AE2C-CE1B-39F5-B931-3C0E53353E53} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2017\libvnc.vcxproj", "{E237AE2C-CE1B-39F5-B931-3C0E53353E53}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - Release|Win32 = Release|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {620DB29A-E896-3F44-A0B7-202206594DC3}.Debug|Win32.ActiveCfg = Debug|Win32 - {620DB29A-E896-3F44-A0B7-202206594DC3}.Debug|Win32.Build.0 = Debug|Win32 - {620DB29A-E896-3F44-A0B7-202206594DC3}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {620DB29A-E896-3F44-A0B7-202206594DC3}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {620DB29A-E896-3F44-A0B7-202206594DC3}.Release|Win32.ActiveCfg = Release|Win32 - {620DB29A-E896-3F44-A0B7-202206594DC3}.Release|Win32.Build.0 = Release|Win32 - {620DB29A-E896-3F44-A0B7-202206594DC3}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {620DB29A-E896-3F44-A0B7-202206594DC3}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.ActiveCfg = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.Build.0 = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.ActiveCfg = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.Build.0 = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {C1FEB865-624A-4310-B6B6-41DF9ADD78ED} - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/getting_started/projects/vs2019/getting_started.vcxproj b/vnproglib/c/examples/getting_started/projects/vs2019/getting_started.vcxproj deleted file mode 100644 index bb0bef3..0000000 --- a/vnproglib/c/examples/getting_started/projects/vs2019/getting_started.vcxproj +++ /dev/null @@ -1,273 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {620DB29A-E896-3F44-A0B7-202206594DC3} - Win32Proj - Win32 - getting_started - 10.0.18362.0 - - - - Application - false - MultiByte - v141 - - - Application - false - MultiByte - v141 - - - Application - false - MultiByte - v141 - - - Application - false - MultiByte - v141 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2013\Debug\ - getting_started.dir\Debug\ - getting_started - .exe - true - true - ..\..\projects\vs2013\Release\ - getting_started.dir\Release\ - getting_started - .exe - false - true - ..\..\projects\vs2013\MinSizeRel\ - getting_started.dir\MinSizeRel\ - getting_started - .exe - false - true - ..\..\projects\vs2013\RelWithDebInfo\ - getting_started.dir\RelWithDebInfo\ - getting_started - .exe - true - true - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - EnableAllWarnings - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - - true - - - - - - - - {e237ae2c-ce1b-39f5-b931-3c0e53353e53} - - - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/getting_started/projects/vs2019/getting_started.vcxproj.filters b/vnproglib/c/examples/getting_started/projects/vs2019/getting_started.vcxproj.filters deleted file mode 100644 index ce1de67..0000000 --- a/vnproglib/c/examples/getting_started/projects/vs2019/getting_started.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Source Files - - - - - {CED7D1F9-958B-3672-A65B-07683BE90887} - - - diff --git a/vnproglib/c/examples/getting_started/projects/vs2019/getting_started.vcxproj.user b/vnproglib/c/examples/getting_started/projects/vs2019/getting_started.vcxproj.user deleted file mode 100644 index 0f14913..0000000 --- a/vnproglib/c/examples/getting_started/projects/vs2019/getting_started.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/sensor/CMakeLists.txt b/vnproglib/c/examples/sensor/CMakeLists.txt deleted file mode 100644 index 8eda961..0000000 --- a/vnproglib/c/examples/sensor/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -cmake_minimum_required(VERSION 2.8.4) -project(sensor) - -add_subdirectory(../.. libvnc) - -set(CMAKE_SUPPRESS_REGENERATION TRUE) - -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") -if (CMAKE_COMPILER_IS_GNUCC) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wpedantic -std=c90") -endif() - -set(SOURCE_FILES - main.c) - -include_directories("../../include") - -add_executable(sensor ${SOURCE_FILES}) - -target_link_libraries(sensor LINK_PUBLIC libvnc) - -if (UNIX OR APPLE) - target_link_libraries(sensor LINK_PUBLIC pthread) -endif() diff --git a/vnproglib/c/examples/sensor/Makefile b/vnproglib/c/examples/sensor/Makefile deleted file mode 100644 index 013b0c8..0000000 --- a/vnproglib/c/examples/sensor/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -CC = gcc -INCLUDES = -I ../../include -CFLAGS = -Wall - -all: sensor - -clean: - rm -f main.o - rm -f sensor - cd ../.. && make clean - -sensor: main.o proglib - $(CC) -o sensor main.o -L ../../build -lvnc -lpthread - -proglib: - cd ../.. && make - -main.o: main.c - $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@ - diff --git a/vnproglib/c/examples/sensor/main.c b/vnproglib/c/examples/sensor/main.c deleted file mode 100644 index 76b47e3..0000000 --- a/vnproglib/c/examples/sensor/main.c +++ /dev/null @@ -1,265 +0,0 @@ -#include -#include - -/* Include files needed to use VnSensor. */ -#include "vn/sensors.h" - -void asciiAsyncMessageReceived(void *userData, VnUartPacket *packet, size_t runningIndex); -void asciiOrBinaryAsyncMessageReceived(void *userData, VnUartPacket *packet, size_t runningIndex); -int processErrorReceived(char* errorMessage, VnError errorCode); - -int main(void) -{ - VnSensor vs; - char modelNumber[30]; - char strConversions[50]; - vec3f ypr; - YawPitchRollMagneticAccelerationAndAngularRatesRegister reg; - VpeBasicControlRegister vpeReg; - uint32_t oldHz, newHz; - VnAsciiAsync asyncType; - BinaryOutputRegister bor; - VnError error; - - /* This example walks through using the VectorNav C Library to connect to - * and interact with a VectorNav sensor using the VnSensor structure. */ - - /* First determine which COM port your sensor is attached to and update the - * constant below. Also, if you have changed your sensor from the factory - * default baudrate of 115200, you will need to update the baudrate - * constant below as well. */ - const char SENSOR_PORT[] = "COM1"; /* Windows format for physical and virtual (USB) serial port. */ - /*const char SENSOR_PORT[] = "/dev/ttyS1"; */ /* Linux format for physical serial port. */ - /*const char SENSOR_PORT[] = "/dev/ttyUSB0"; */ /* Linux format for virtual (USB) serial port. */ - /*const char SENSOR_PORT[] = "/dev/tty.usbserial-FTXXXXXX"; */ /* Mac OS X format for virtual (USB) serial port. */ - /*const char SENSOR_PORT[] = "/dev/ttyS0"; */ /* CYGWIN format. Usually the Windows COM port number minus 1. This would connect to COM1. */ - const uint32_t SENSOR_BAUDRATE = 115200; - - /* We first need to initialize our VnSensor structure. */ - VnSensor_initialize(&vs); - - /* Now connect to our sensor. */ - if ((error = VnSensor_connect(&vs, SENSOR_PORT, SENSOR_BAUDRATE)) != E_NONE) - return processErrorReceived("Error connecting to sensor.", error); - - /* Let's query the sensor's model number. */ - if ((error = VnSensor_readModelNumber(&vs, modelNumber, sizeof(modelNumber))) != E_NONE) - return processErrorReceived("Error reading model number.", error); - printf("Model Number: %s\n", modelNumber); - - /* Get some orientation data from the sensor. */ - if ((error = VnSensor_readYawPitchRoll(&vs, &ypr)) != E_NONE) - return processErrorReceived("Error reading yaw pitch roll.", error); - str_vec3f(strConversions, ypr); - printf("Current YPR: %s\n", strConversions); - - /* Get some orientation and IMU data. */ - if ((error = VnSensor_readYawPitchRollMagneticAccelerationAndAngularRates(&vs, ®)) != E_NONE) - return processErrorReceived("Error reading orientation and IMU data.", error); - str_vec3f(strConversions, reg.yawPitchRoll); - printf("Current YPR: %s\n", strConversions); - str_vec3f(strConversions, reg.mag); - printf("Current Magnetic: %s\n", strConversions); - str_vec3f(strConversions, reg.accel); - printf("Current Acceleration: %s\n", strConversions); - str_vec3f(strConversions, reg.gyro); - printf("Current Angular Rates: %s\n", strConversions); - - /* Let's do some simple reconfiguration of the sensor. As it comes from the - * factory, the sensor outputs asynchronous data at 40 Hz. We will change - * this to 2 Hz for demonstration purposes. */ - if ((error = VnSensor_readAsyncDataOutputFrequency(&vs, &oldHz)) != E_NONE) - return processErrorReceived("Error reading async data output frequency.", error); - if ((error = VnSensor_writeAsyncDataOutputFrequency(&vs, 2, true)) != E_NONE) - return processErrorReceived("Error writing async data output frequency.", error); - if ((error = VnSensor_readAsyncDataOutputFrequency(&vs, &newHz)) != E_NONE) - return processErrorReceived("Error reading async data output frequency.", error); - printf("Old Async Frequency: %d Hz\n", oldHz); - printf("New Async Frequency: %d Hz\n", newHz); - - /* For the registers that have more complex configuration options, it is - * convenient to read the current existing register configuration, change - * only the values of interest, and then write the configuration to the - * register. This allows preserving the current settings for the register's - * other fields. Below, we change the heading mode used by the sensor. */ - if ((error = VnSensor_readVpeBasicControl(&vs, &vpeReg)) != E_NONE) - return processErrorReceived("Error reading VPE basic control.", error); - strFromHeadingMode(strConversions, vpeReg.headingMode); - printf("Old Heading Mode: %s\n", strConversions); - vpeReg.headingMode = VNHEADINGMODE_ABSOLUTE; - if ((error = VnSensor_writeVpeBasicControl(&vs, vpeReg, true)) != E_NONE) - return processErrorReceived("Error writing VPE basic control.", error); - if ((error = VnSensor_readVpeBasicControl(&vs, &vpeReg)) != E_NONE) - return processErrorReceived("Error reading VPE basic control.", error); - strFromHeadingMode(strConversions, vpeReg.headingMode); - printf("New Heading Mode: %s\n", strConversions); - - /* Up to now, we have shown some examples of how to configure the sensor - * and query for the latest measurements. However, this querying is a - * relatively slow method for getting measurements since the CPU has to - * send out the command to the sensor and also wait for the command - * response. An alternative way of receiving the sensor's latest - * measurements without the waiting for a query response, you can configure - * the library to alert you when new asynchronous data measurements are - * received. We will illustrate hooking up to our current VnSensor to - * receive these notifications of asynchronous messages. */ - - /* First let's configure the sensor to output a known asynchronous data - * message type. */ - if ((error = VnSensor_writeAsyncDataOutputType(&vs, VNYPR, true)) != E_NONE) - return processErrorReceived("Error writing to async data output type.", error); - if ((error = VnSensor_readAsyncDataOutputType(&vs, &asyncType)) != E_NONE) - return processErrorReceived("Error reading async data output type.", error); - strFromVnAsciiAsync(strConversions, asyncType); - printf("ASCII Async Type: %s\n", strConversions); - - /* You will need to define a method which has the appropriate - * signature for receiving notifications. This is implemented with the - * method asciiAsyncMessageReceived. Now we register the method with the - * VnSensor structure. */ - VnSensor_registerAsyncPacketReceivedHandler(&vs, asciiAsyncMessageReceived, NULL); - - /* Now sleep for 5 seconds so that our asynchronous callback method can - * receive and display receive yaw, pitch, roll packets. */ - printf("Starting sleep...\n"); - VnThread_sleepSec(5); - - /* Unregister our callback method. */ - VnSensor_unregisterAsyncPacketReceivedHandler(&vs); - - /* As an alternative to receiving notifications of new ASCII asynchronous - * messages, the binary output configuration of the sensor is another - * popular choice for receiving data since it is compact, fast to parse, - * and can be output at faster rates over the same connection baudrate. - * Here we will configure the binary output register and process packets - * with a new callback method that can handle both ASCII and binary - * packets. */ - - /* First we create a structure for setting the configuration information - * for the binary output register to send yaw, pitch, roll data out at - * 4 Hz. */ - BinaryOutputRegister_initialize( - &bor, - ASYNCMODE_PORT1, - 200, - COMMONGROUP_TIMESTARTUP | COMMONGROUP_YAWPITCHROLL, /* Note use of binary OR to configure flags. */ - TIMEGROUP_NONE, - IMUGROUP_NONE, - GPSGROUP_NONE, - ATTITUDEGROUP_NONE, - INSGROUP_NONE, - GPSGROUP_NONE); - - if ((error = VnSensor_writeBinaryOutput1(&vs, &bor, true)) != E_NONE) - return processErrorReceived("Error writing binary output 1.", error); - - VnSensor_registerAsyncPacketReceivedHandler(&vs, asciiOrBinaryAsyncMessageReceived, NULL); - - printf("Starting sleep...\n"); - VnThread_sleepSec(5); - - VnSensor_unregisterAsyncPacketReceivedHandler(&vs); - - /* Now disconnect from the sensor since we are finished. */ - if ((error = VnSensor_disconnect(&vs)) != E_NONE) - return processErrorReceived("Error disconnecting from sensor.", error); - - return 0; -} - -/* This is our basic callback handler for notifications of new asynchronous - * data packets received. The userData parameter is a pointer to the data we - * supplied when we called registerAsyncPacketReceivedHandler. In this case - * we didn't need any user data so we just set this to NULL. Alternatively you - * can provide a pointer to user data which you can use in the callback method. - * One use for this is help in calling back to a member method instead of just - * a global or static method. The Packet p parameter is an encapsulation of - * the data packet. At this state, it has already been validated and identified - * as an asynchronous data message. However, some processing is required on the - * user side to make sure it is the right type of asynchronous message type so - * we can parse it correctly. The index parameter is an advanced usage item and - * can be safely ignored for now. */ -void asciiAsyncMessageReceived(void *userData, VnUartPacket *packet, size_t runningIndex) -{ - vec3f ypr; - char strConversions[50]; - - /* Silence 'unreferenced formal parameters' warning in Visual Studio. */ - (userData); - (runningIndex); - - /* Make sure we have an ASCII packet and not a binary packet. */ - if (VnUartPacket_type(packet) != PACKETTYPE_ASCII) - return; - - /* Make sure we have a VNYPR data packet. */ - if (VnUartPacket_determineAsciiAsyncType(packet) != VNYPR) - return; - - /* We now need to parse out the yaw, pitch, roll data. */ - VnUartPacket_parseVNYPR(packet, &ypr); - - /* Now print out the yaw, pitch, roll measurements. */ - str_vec3f(strConversions, ypr); - printf("ASCII Async YPR: %s\n", strConversions); -} - -void asciiOrBinaryAsyncMessageReceived(void *userData, VnUartPacket *packet, size_t runningIndex) -{ - vec3f ypr; - char strConversions[50]; - - /* Silence 'unreferenced formal parameters' warning in Visual Studio. */ - (userData); - (runningIndex); - - if (VnUartPacket_type(packet) == PACKETTYPE_ASCII && VnUartPacket_determineAsciiAsyncType(packet) == VNYPR) - { - VnUartPacket_parseVNYPR(packet, &ypr); - str_vec3f(strConversions, ypr); - printf("ASCII Async YPR: %s\n", strConversions); - - return; - } - - if (VnUartPacket_type(packet) == PACKETTYPE_BINARY) - { - uint64_t timeStartup; - - /* First make sure we have a binary packet type we expect since there - * are many types of binary output types that can be configured. */ - if (!VnUartPacket_isCompatible(packet, - COMMONGROUP_TIMESTARTUP | COMMONGROUP_YAWPITCHROLL, - TIMEGROUP_NONE, - IMUGROUP_NONE, - GPSGROUP_NONE, - ATTITUDEGROUP_NONE, - INSGROUP_NONE, - GPSGROUP_NONE)) - /* Not the type of binary packet we are expecting. */ - return; - - /* Ok, we have our expected binary output packet. Since there are many - * ways to configure the binary data output, the burden is on the user - * to correctly parse the binary packet. However, we can make use of - * the parsing convenience methods provided by the Packet structure. - * When using these convenience methods, you have to extract them in - * the order they are organized in the binary packet per the User Manual. */ - timeStartup = VnUartPacket_extractUint64(packet); - ypr = VnUartPacket_extractVec3f(packet); - - str_vec3f(strConversions, ypr); - printf("Binary Async TimeStartup: %" PRIu64 "\n", timeStartup); - printf("Binary Async YPR: %s\n", strConversions); - - return; - } -} - -int processErrorReceived(char* errorMessage, VnError errorCode) -{ - char errorCodeStr[100]; - strFromVnError(errorCodeStr, errorCode); - printf("%s\nERROR: %s\n", errorMessage, errorCodeStr); - return -1; -} diff --git a/vnproglib/c/examples/sensor/projects/vs2008/sensor.sln b/vnproglib/c/examples/sensor/projects/vs2008/sensor.sln deleted file mode 100644 index 0adbf0d..0000000 --- a/vnproglib/c/examples/sensor/projects/vs2008/sensor.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2008\libvnc.vcproj", "{70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sensor", "sensor.vcproj", "{927C0236-400D-359E-98AC-3F7C087AC1B2}" - ProjectSection(ProjectDependencies) = postProject - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E} = {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {DBFFEF57-639E-3E8E-A308-89C14C6933B3}.Debug|Win32.ActiveCfg = Debug|Win32 - {DBFFEF57-639E-3E8E-A308-89C14C6933B3}.Release|Win32.ActiveCfg = Release|Win32 - {DBFFEF57-639E-3E8E-A308-89C14C6933B3}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {DBFFEF57-639E-3E8E-A308-89C14C6933B3}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Debug|Win32.ActiveCfg = Debug|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Debug|Win32.Build.0 = Debug|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Release|Win32.ActiveCfg = Release|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Release|Win32.Build.0 = Release|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {927C0236-400D-359E-98AC-3F7C087AC1B2}.Debug|Win32.ActiveCfg = Debug|Win32 - {927C0236-400D-359E-98AC-3F7C087AC1B2}.Debug|Win32.Build.0 = Debug|Win32 - {927C0236-400D-359E-98AC-3F7C087AC1B2}.Release|Win32.ActiveCfg = Release|Win32 - {927C0236-400D-359E-98AC-3F7C087AC1B2}.Release|Win32.Build.0 = Release|Win32 - {927C0236-400D-359E-98AC-3F7C087AC1B2}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {927C0236-400D-359E-98AC-3F7C087AC1B2}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {927C0236-400D-359E-98AC-3F7C087AC1B2}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {927C0236-400D-359E-98AC-3F7C087AC1B2}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/sensor/projects/vs2008/sensor.vcproj b/vnproglib/c/examples/sensor/projects/vs2008/sensor.vcproj deleted file mode 100644 index b903146..0000000 --- a/vnproglib/c/examples/sensor/projects/vs2008/sensor.vcproj +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/vnproglib/c/examples/sensor/projects/vs2010/sensor.sln b/vnproglib/c/examples/sensor/projects/vs2010/sensor.sln deleted file mode 100644 index 2cb4261..0000000 --- a/vnproglib/c/examples/sensor/projects/vs2010/sensor.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2010\libvnc.vcxproj", "{B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sensor", "sensor.vcxproj", "{757C2420-0A0C-3CC2-A2C8-3453D81C2BFD}" - ProjectSection(ProjectDependencies) = postProject - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9} = {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7EA77998-DC63-3C51-A528-FC959F13A05E}.Debug|Win32.ActiveCfg = Debug|Win32 - {7EA77998-DC63-3C51-A528-FC959F13A05E}.Release|Win32.ActiveCfg = Release|Win32 - {7EA77998-DC63-3C51-A528-FC959F13A05E}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {7EA77998-DC63-3C51-A528-FC959F13A05E}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Debug|Win32.ActiveCfg = Debug|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Debug|Win32.Build.0 = Debug|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Release|Win32.ActiveCfg = Release|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Release|Win32.Build.0 = Release|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {757C2420-0A0C-3CC2-A2C8-3453D81C2BFD}.Debug|Win32.ActiveCfg = Debug|Win32 - {757C2420-0A0C-3CC2-A2C8-3453D81C2BFD}.Debug|Win32.Build.0 = Debug|Win32 - {757C2420-0A0C-3CC2-A2C8-3453D81C2BFD}.Release|Win32.ActiveCfg = Release|Win32 - {757C2420-0A0C-3CC2-A2C8-3453D81C2BFD}.Release|Win32.Build.0 = Release|Win32 - {757C2420-0A0C-3CC2-A2C8-3453D81C2BFD}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {757C2420-0A0C-3CC2-A2C8-3453D81C2BFD}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {757C2420-0A0C-3CC2-A2C8-3453D81C2BFD}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {757C2420-0A0C-3CC2-A2C8-3453D81C2BFD}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/sensor/projects/vs2010/sensor.vcxproj b/vnproglib/c/examples/sensor/projects/vs2010/sensor.vcxproj deleted file mode 100644 index 43d948b..0000000 --- a/vnproglib/c/examples/sensor/projects/vs2010/sensor.vcxproj +++ /dev/null @@ -1,262 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {757C2420-0A0C-3CC2-A2C8-3453D81C2BFD} - Win32Proj - Win32 - sensor - - - - Application - false - MultiByte - - - Application - false - MultiByte - - - Application - false - MultiByte - - - Application - false - MultiByte - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2010\Debug\ - sensor.dir\Debug\ - sensor - .exe - true - true - ..\..\projects\vs2010\Release\ - sensor.dir\Release\ - sensor - .exe - false - true - ..\..\projects\vs2010\MinSizeRel\ - sensor.dir\MinSizeRel\ - sensor - .exe - false - true - ..\..\projects\vs2010\RelWithDebInfo\ - sensor.dir\RelWithDebInfo\ - sensor - .exe - true - true - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - EnableAllWarnings - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - - - - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9} - - - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/sensor/projects/vs2010/sensor.vcxproj.filters b/vnproglib/c/examples/sensor/projects/vs2010/sensor.vcxproj.filters deleted file mode 100644 index 57db754..0000000 --- a/vnproglib/c/examples/sensor/projects/vs2010/sensor.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Source Files - - - - - {930C54B2-2C19-3E89-BE9C-257B10E11E66} - - - diff --git a/vnproglib/c/examples/sensor/projects/vs2012/sensor.sln b/vnproglib/c/examples/sensor/projects/vs2012/sensor.sln deleted file mode 100644 index c03b107..0000000 --- a/vnproglib/c/examples/sensor/projects/vs2012/sensor.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2012\libvnc.vcxproj", "{CF7C59BE-0DD8-3132-A4DE-B79B62914D69}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sensor", "sensor.vcxproj", "{A2132093-D783-3D07-970D-347DBD3DEFD2}" - ProjectSection(ProjectDependencies) = postProject - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69} = {CF7C59BE-0DD8-3132-A4DE-B79B62914D69} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {90EE5832-B4A3-39F9-B7D7-E5ECD21A608A}.Debug|Win32.ActiveCfg = Debug|Win32 - {90EE5832-B4A3-39F9-B7D7-E5ECD21A608A}.Release|Win32.ActiveCfg = Release|Win32 - {90EE5832-B4A3-39F9-B7D7-E5ECD21A608A}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {90EE5832-B4A3-39F9-B7D7-E5ECD21A608A}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Debug|Win32.ActiveCfg = Debug|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Debug|Win32.Build.0 = Debug|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Release|Win32.ActiveCfg = Release|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Release|Win32.Build.0 = Release|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {A2132093-D783-3D07-970D-347DBD3DEFD2}.Debug|Win32.ActiveCfg = Debug|Win32 - {A2132093-D783-3D07-970D-347DBD3DEFD2}.Debug|Win32.Build.0 = Debug|Win32 - {A2132093-D783-3D07-970D-347DBD3DEFD2}.Release|Win32.ActiveCfg = Release|Win32 - {A2132093-D783-3D07-970D-347DBD3DEFD2}.Release|Win32.Build.0 = Release|Win32 - {A2132093-D783-3D07-970D-347DBD3DEFD2}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {A2132093-D783-3D07-970D-347DBD3DEFD2}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {A2132093-D783-3D07-970D-347DBD3DEFD2}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {A2132093-D783-3D07-970D-347DBD3DEFD2}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/sensor/projects/vs2012/sensor.vcxproj b/vnproglib/c/examples/sensor/projects/vs2012/sensor.vcxproj deleted file mode 100644 index fadb1f1..0000000 --- a/vnproglib/c/examples/sensor/projects/vs2012/sensor.vcxproj +++ /dev/null @@ -1,266 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {A2132093-D783-3D07-970D-347DBD3DEFD2} - Win32Proj - Win32 - sensor - - - - Application - false - MultiByte - v110 - - - Application - false - MultiByte - v110 - - - Application - false - MultiByte - v110 - - - Application - false - MultiByte - v110 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2012\Debug\ - sensor.dir\Debug\ - sensor - .exe - true - true - ..\..\projects\vs2012\Release\ - sensor.dir\Release\ - sensor - .exe - false - true - ..\..\projects\vs2012\MinSizeRel\ - sensor.dir\MinSizeRel\ - sensor - .exe - false - true - ..\..\projects\vs2012\RelWithDebInfo\ - sensor.dir\RelWithDebInfo\ - sensor - .exe - true - true - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - EnableAllWarnings - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - - - - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69} - - - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/sensor/projects/vs2012/sensor.vcxproj.filters b/vnproglib/c/examples/sensor/projects/vs2012/sensor.vcxproj.filters deleted file mode 100644 index 3115470..0000000 --- a/vnproglib/c/examples/sensor/projects/vs2012/sensor.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Source Files - - - - - {356E340B-C536-34EF-9639-4A0BACC7F3C9} - - - diff --git a/vnproglib/c/examples/sensor/projects/vs2013/sensor.sln b/vnproglib/c/examples/sensor/projects/vs2013/sensor.sln deleted file mode 100644 index 821da61..0000000 --- a/vnproglib/c/examples/sensor/projects/vs2013/sensor.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2013\libvnc.vcxproj", "{E237AE2C-CE1B-39F5-B931-3C0E53353E53}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sensor", "sensor.vcxproj", "{DA121FE3-04A0-3763-A4B5-750DF8A3ACC6}" - ProjectSection(ProjectDependencies) = postProject - {E237AE2C-CE1B-39F5-B931-3C0E53353E53} = {E237AE2C-CE1B-39F5-B931-3C0E53353E53} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {114398B3-D059-3B35-8E60-D50F43E2C38F}.Debug|Win32.ActiveCfg = Debug|Win32 - {114398B3-D059-3B35-8E60-D50F43E2C38F}.Release|Win32.ActiveCfg = Release|Win32 - {114398B3-D059-3B35-8E60-D50F43E2C38F}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {114398B3-D059-3B35-8E60-D50F43E2C38F}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.ActiveCfg = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.Build.0 = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.ActiveCfg = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.Build.0 = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {DA121FE3-04A0-3763-A4B5-750DF8A3ACC6}.Debug|Win32.ActiveCfg = Debug|Win32 - {DA121FE3-04A0-3763-A4B5-750DF8A3ACC6}.Debug|Win32.Build.0 = Debug|Win32 - {DA121FE3-04A0-3763-A4B5-750DF8A3ACC6}.Release|Win32.ActiveCfg = Release|Win32 - {DA121FE3-04A0-3763-A4B5-750DF8A3ACC6}.Release|Win32.Build.0 = Release|Win32 - {DA121FE3-04A0-3763-A4B5-750DF8A3ACC6}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {DA121FE3-04A0-3763-A4B5-750DF8A3ACC6}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {DA121FE3-04A0-3763-A4B5-750DF8A3ACC6}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {DA121FE3-04A0-3763-A4B5-750DF8A3ACC6}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/sensor/projects/vs2013/sensor.vcxproj b/vnproglib/c/examples/sensor/projects/vs2013/sensor.vcxproj deleted file mode 100644 index 9d5c26d..0000000 --- a/vnproglib/c/examples/sensor/projects/vs2013/sensor.vcxproj +++ /dev/null @@ -1,266 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {DA121FE3-04A0-3763-A4B5-750DF8A3ACC6} - Win32Proj - Win32 - sensor - - - - Application - false - MultiByte - v120 - - - Application - false - MultiByte - v120 - - - Application - false - MultiByte - v120 - - - Application - false - MultiByte - v120 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2013\Debug\ - sensor.dir\Debug\ - sensor - .exe - true - true - ..\..\projects\vs2013\Release\ - sensor.dir\Release\ - sensor - .exe - false - true - ..\..\projects\vs2013\MinSizeRel\ - sensor.dir\MinSizeRel\ - sensor - .exe - false - true - ..\..\projects\vs2013\RelWithDebInfo\ - sensor.dir\RelWithDebInfo\ - sensor - .exe - true - true - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - EnableAllWarnings - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - - - - {E237AE2C-CE1B-39F5-B931-3C0E53353E53} - - - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/sensor/projects/vs2013/sensor.vcxproj.filters b/vnproglib/c/examples/sensor/projects/vs2013/sensor.vcxproj.filters deleted file mode 100644 index 3fcb751..0000000 --- a/vnproglib/c/examples/sensor/projects/vs2013/sensor.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Source Files - - - - - {FB246C80-D0EB-3916-B47A-681FFA994058} - - - diff --git a/vnproglib/c/examples/sensor/projects/vs2019/README before opening project for first time.txt b/vnproglib/c/examples/sensor/projects/vs2019/README before opening project for first time.txt deleted file mode 100644 index 05a24b8..0000000 --- a/vnproglib/c/examples/sensor/projects/vs2019/README before opening project for first time.txt +++ /dev/null @@ -1,24 +0,0 @@ -When opening the vs2019 example Project, Visual Studio will pop up a dialog asking to retarget Projects to the latest Windows SDK Version and Platform Toolset. DO NOT update the projects because it will break building the libvncxx library. The latest Platform Toolset that can be used to build the libvncxx library is Visual Studio 2017. - -Also, the library currently only supports x86 builds. - -If you do not have the Visual Studio 2017 Build Tools, you will get the following error: - -Error MSB8020 The build tools for Visual Studio 2017 (Platform Toolset = 'v141') cannot be found. To build using the v141 build tools, please install Visual Studio 2017 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". - -The following link will walk you through how to add the Visual Studio 2017 platform toolset to your environment. - -https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio?view=vs-2019 - -Run C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe - -Select C++/CLI support for v141 build tools (14.16) under Compilers, build tools, and runtimes from the Individual components tab of modifying Visual Studio 2019 - -MSVC v141 - VS 2017 C++ x64/x86 build tools (v14.16) - -Also select Windows 10 SDK 10.0.18362.0 for the needed make tools. - -After adding support for Visual Studio 2017 build toolset, if the projects are marked as unusable, have Visual Studio install the missing components. - - - diff --git a/vnproglib/c/examples/sensor/projects/vs2019/sensor.sln b/vnproglib/c/examples/sensor/projects/vs2019/sensor.sln deleted file mode 100644 index 361bb87..0000000 --- a/vnproglib/c/examples/sensor/projects/vs2019/sensor.sln +++ /dev/null @@ -1,33 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2017\libvnc.vcxproj", "{E237AE2C-CE1B-39F5-B931-3C0E53353E53}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sensor", "sensor.vcxproj", "{DA121FE3-04A0-3763-A4B5-750DF8A3ACC6}" - ProjectSection(ProjectDependencies) = postProject - {E237AE2C-CE1B-39F5-B931-3C0E53353E53} = {E237AE2C-CE1B-39F5-B931-3C0E53353E53} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {114398B3-D059-3B35-8E60-D50F43E2C38F}.Debug|Win32.ActiveCfg = Debug|Win32 - {114398B3-D059-3B35-8E60-D50F43E2C38F}.Release|Win32.ActiveCfg = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.ActiveCfg = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.Build.0 = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.ActiveCfg = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.Build.0 = Release|Win32 - {DA121FE3-04A0-3763-A4B5-750DF8A3ACC6}.Debug|Win32.ActiveCfg = Debug|Win32 - {DA121FE3-04A0-3763-A4B5-750DF8A3ACC6}.Debug|Win32.Build.0 = Debug|Win32 - {DA121FE3-04A0-3763-A4B5-750DF8A3ACC6}.Release|Win32.ActiveCfg = Release|Win32 - {DA121FE3-04A0-3763-A4B5-750DF8A3ACC6}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/sensor/projects/vs2019/sensor.vcxproj b/vnproglib/c/examples/sensor/projects/vs2019/sensor.vcxproj deleted file mode 100644 index e231b8b..0000000 --- a/vnproglib/c/examples/sensor/projects/vs2019/sensor.vcxproj +++ /dev/null @@ -1,154 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {DA121FE3-04A0-3763-A4B5-750DF8A3ACC6} - Win32Proj - Win32 - sensor - 10.0.18362.0 - - - - Application - false - MultiByte - v141 - - - Application - false - MultiByte - v141 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2019\Debug\ - sensor.dir\Debug\ - sensor - .exe - true - true - ..\..\projects\vs2019\Release\ - sensor.dir\Release\ - sensor - .exe - false - true - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - EnableAllWarnings - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - - true - - - - - - - - {E237AE2C-CE1B-39F5-B931-3C0E53353E53} - - - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/sensor/projects/vs2019/sensor.vcxproj.filters b/vnproglib/c/examples/sensor/projects/vs2019/sensor.vcxproj.filters deleted file mode 100644 index 3fcb751..0000000 --- a/vnproglib/c/examples/sensor/projects/vs2019/sensor.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Source Files - - - - - {FB246C80-D0EB-3916-B47A-681FFA994058} - - - diff --git a/vnproglib/c/examples/sensor/projects/vs2019/sensor.vcxproj.user b/vnproglib/c/examples/sensor/projects/vs2019/sensor.vcxproj.user deleted file mode 100644 index 6e2aec7..0000000 --- a/vnproglib/c/examples/sensor/projects/vs2019/sensor.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/spi/CMakeLists.txt b/vnproglib/c/examples/spi/CMakeLists.txt deleted file mode 100644 index 3be43bd..0000000 --- a/vnproglib/c/examples/spi/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -cmake_minimum_required(VERSION 2.8.4) -project(spi) - -add_subdirectory(../.. libvnc) - -set(CMAKE_SUPPRESS_REGENERATION TRUE) - -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") -if (CMAKE_COMPILER_IS_GNUCC) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wpedantic -std=c90") -endif() - -set(SOURCE_FILES - main.c) - -include_directories("../../include") - -add_executable(spi ${SOURCE_FILES}) - -target_link_libraries(spi LINK_PUBLIC libvnc) - -if (UNIX OR APPLE) - target_link_libraries(spi LINK_PUBLIC pthread) -endif() diff --git a/vnproglib/c/examples/spi/Makefile b/vnproglib/c/examples/spi/Makefile deleted file mode 100644 index 6049438..0000000 --- a/vnproglib/c/examples/spi/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -CC = gcc -INCLUDES = -I ../../include -CFLAGS = -Wall - -all: spi - -clean: - rm -f main.o - rm -f spi - cd ../.. && make clean - -spi: main.o ../../build/libvnc.a - $(CC) -o spi main.o -L ../../build -lvnc -lpthread - -../../build/libvnc.a: - cd ../.. && make - -main.o: main.c - $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@ - diff --git a/vnproglib/c/examples/spi/main.c b/vnproglib/c/examples/spi/main.c deleted file mode 100644 index 33e06c7..0000000 --- a/vnproglib/c/examples/spi/main.c +++ /dev/null @@ -1,148 +0,0 @@ -#include -#include - -/* Include to get access to the VectorNav SPI functions. */ -#include "vn/protocol/spi.h" -#include "vn/protocol/common.h" -#include "vn/xplat/thread.h" - -int display_error(const char* msg); -void mockspi_initialize(void); -void mockspi_writeread(const char* dataOut, size_t dataOutSize, char* dataIn); - -int main(void) -{ - /* This example walks through using the VectorNav C Library to connect to - * and interact with a mock VectorNav sensor through the Serial Peripheral - * Interaface (SPI). Once you work through and understand the example, you - * may want to try replacing the mock functions with ones that interface - * with your SPI subsystem. */ - - char txbuf[0x100]; - char rxbuf[0x100]; - size_t bufcmdsize; - size_t responseSize; - vec3f ypr; - char strConversions[50]; - size_t i; - - mockspi_initialize(); - - /* With SPI 'initialize', let's work through reading the current yaw, pitch, - * roll values from the sensor. */ - - /* First we must generate the command to query the sensor. */ - bufcmdsize = sizeof(txbuf); /* First set this variable to the size of the buffer. */ - if (VnSpi_genReadYawPitchRoll( - txbuf, - &bufcmdsize, /* Pass in the pointer since the function will set this with the length of the command generate. */ - 0, - &responseSize) != E_NONE) - return display_error("Error generating read yaw, pitch, roll command.\n"); - - /* Send out the command over SPI. */ - mockspi_writeread( - txbuf, - responseSize, - rxbuf); - - /* Now the sensor will have responded with data on this transaction but - * since the sensor only responds on following transaction, we will - * disregard this data. These double transactions can be mitigated by only - * requesting the same data each time or by staggering the the requested - * data in an appropriate order. */ - - /* Make sure enough time has passed for the sensor to format the previous response. */ - VnThread_sleepMs(1); /* Actual sensor requirement is only 50 us. */ - - /* Retransmit so the sensor responds with the previous request. */ - mockspi_writeread( - txbuf, - responseSize, - rxbuf); - - /* Now parse the received response. */ - if (VnSpi_parseYawPitchRoll( - rxbuf, - &ypr) != E_NONE) - return display_error("Error parsing yaw, pitch, roll.\n"); - - str_vec3f(strConversions, ypr); - printf("Current YPR: %s\n", strConversions); - - /* We have now shown how to process one full command transaction which - * requires two SPI transactions because the VectorNav sensor requires a - * short amount of time to ready the response. Now we can optimize this - * transaction squence to utilize this behavior when we are only requesting - * the same data each time. This is illustrated in the for loop below. */ - - for (i = 0; i < 25; i++) - { - /* For this loop, we want to display data at ~10 Hz. */ - VnThread_sleepMs(100); - - /* Perform a transaction for the same sensor register. */ - mockspi_writeread( - txbuf, - responseSize, - rxbuf); - - /* Now since the previous command was for the same register, we will - * have valid data and can print/use the results. */ - if (VnSpi_parseYawPitchRoll( - rxbuf, - &ypr) != E_NONE) - return display_error("Error parsing yaw, pitch, roll.\n"); - - str_vec3f(strConversions, ypr); - printf("Current YPR: %s\n", strConversions); - } - - /* We illustrate how to write settings to the sensor by changing the - * asynchronous data output type. Note that this setting only affects the - * output on the UART ports and has no effect on the SPI ports. It is only - * used for illustration purposes. */ - - /* Remember to reset the bufcmdsize variable to let the function know how - * large the provided buffer is. */ - bufcmdsize = sizeof(txbuf); - - if (VnSpi_genWriteAsyncDataOutputType( - txbuf, - &bufcmdsize, - 0, - &responseSize, - VNYPR) != E_NONE) - return display_error("Error generating write async data output type command.\n"); - - mockspi_writeread( - txbuf, - responseSize, - rxbuf); - - return 0; -} - -int display_error(const char* msg) -{ - printf("%s\n", msg); - return -1; -} - -void mockspi_initialize(void) -{ - /* Do nothing since we are faking the SPI interface. */ -} - -void mockspi_writeread(const char* dataOut, size_t dataOutSize, char* dataIn) -{ - /* This function fakes a SPI subsystem for this example. */ - - char yprResponse[] = { 0x00, 0x01, 0x08, 0x00, 0xd8, 0x9c, 0xd4, 0x42, 0x44, 0xba, 0x9e, 0x40, 0x4e, 0xe4, 0x8b, 0x40 }; - - /* Silence 'unreferenced formal parameters' warning in Visual Studio. */ - (dataOut); - (dataOutSize); - - memcpy(dataIn, yprResponse, sizeof(yprResponse)); -} diff --git a/vnproglib/c/examples/spi/projects/vs2008/spi.sln b/vnproglib/c/examples/spi/projects/vs2008/spi.sln deleted file mode 100644 index 3089d58..0000000 --- a/vnproglib/c/examples/spi/projects/vs2008/spi.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2008\libvnc.vcproj", "{70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spi", "spi.vcproj", "{E97AFF45-BD23-37BA-B775-3285FB4CB488}" - ProjectSection(ProjectDependencies) = postProject - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E} = {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {74FDA5CC-6BE6-39DE-A845-070037ACF440}.Debug|Win32.ActiveCfg = Debug|Win32 - {74FDA5CC-6BE6-39DE-A845-070037ACF440}.Release|Win32.ActiveCfg = Release|Win32 - {74FDA5CC-6BE6-39DE-A845-070037ACF440}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {74FDA5CC-6BE6-39DE-A845-070037ACF440}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Debug|Win32.ActiveCfg = Debug|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Debug|Win32.Build.0 = Debug|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Release|Win32.ActiveCfg = Release|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Release|Win32.Build.0 = Release|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {E97AFF45-BD23-37BA-B775-3285FB4CB488}.Debug|Win32.ActiveCfg = Debug|Win32 - {E97AFF45-BD23-37BA-B775-3285FB4CB488}.Debug|Win32.Build.0 = Debug|Win32 - {E97AFF45-BD23-37BA-B775-3285FB4CB488}.Release|Win32.ActiveCfg = Release|Win32 - {E97AFF45-BD23-37BA-B775-3285FB4CB488}.Release|Win32.Build.0 = Release|Win32 - {E97AFF45-BD23-37BA-B775-3285FB4CB488}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {E97AFF45-BD23-37BA-B775-3285FB4CB488}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {E97AFF45-BD23-37BA-B775-3285FB4CB488}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {E97AFF45-BD23-37BA-B775-3285FB4CB488}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/spi/projects/vs2008/spi.vcproj b/vnproglib/c/examples/spi/projects/vs2008/spi.vcproj deleted file mode 100644 index b7b15ee..0000000 --- a/vnproglib/c/examples/spi/projects/vs2008/spi.vcproj +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/vnproglib/c/examples/spi/projects/vs2010/spi.sln b/vnproglib/c/examples/spi/projects/vs2010/spi.sln deleted file mode 100644 index 8f4adc1..0000000 --- a/vnproglib/c/examples/spi/projects/vs2010/spi.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2010\libvnc.vcxproj", "{B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spi", "spi.vcxproj", "{EC0AE006-B56D-3638-A6F1-5C17AF5E3C6C}" - ProjectSection(ProjectDependencies) = postProject - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9} = {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A6BCC45E-DC02-352E-B1B5-B2E3D2BCC62B}.Debug|Win32.ActiveCfg = Debug|Win32 - {A6BCC45E-DC02-352E-B1B5-B2E3D2BCC62B}.Release|Win32.ActiveCfg = Release|Win32 - {A6BCC45E-DC02-352E-B1B5-B2E3D2BCC62B}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {A6BCC45E-DC02-352E-B1B5-B2E3D2BCC62B}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Debug|Win32.ActiveCfg = Debug|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Debug|Win32.Build.0 = Debug|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Release|Win32.ActiveCfg = Release|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Release|Win32.Build.0 = Release|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {EC0AE006-B56D-3638-A6F1-5C17AF5E3C6C}.Debug|Win32.ActiveCfg = Debug|Win32 - {EC0AE006-B56D-3638-A6F1-5C17AF5E3C6C}.Debug|Win32.Build.0 = Debug|Win32 - {EC0AE006-B56D-3638-A6F1-5C17AF5E3C6C}.Release|Win32.ActiveCfg = Release|Win32 - {EC0AE006-B56D-3638-A6F1-5C17AF5E3C6C}.Release|Win32.Build.0 = Release|Win32 - {EC0AE006-B56D-3638-A6F1-5C17AF5E3C6C}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {EC0AE006-B56D-3638-A6F1-5C17AF5E3C6C}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {EC0AE006-B56D-3638-A6F1-5C17AF5E3C6C}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {EC0AE006-B56D-3638-A6F1-5C17AF5E3C6C}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/spi/projects/vs2010/spi.vcxproj b/vnproglib/c/examples/spi/projects/vs2010/spi.vcxproj deleted file mode 100644 index a573d86..0000000 --- a/vnproglib/c/examples/spi/projects/vs2010/spi.vcxproj +++ /dev/null @@ -1,262 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {EC0AE006-B56D-3638-A6F1-5C17AF5E3C6C} - Win32Proj - Win32 - spi - - - - Application - false - MultiByte - - - Application - false - MultiByte - - - Application - false - MultiByte - - - Application - false - MultiByte - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2010\Debug\ - spi.dir\Debug\ - spi - .exe - true - true - ..\..\projects\vs2010\Release\ - spi.dir\Release\ - spi - .exe - false - true - ..\..\projects\vs2010\MinSizeRel\ - spi.dir\MinSizeRel\ - spi - .exe - false - true - ..\..\projects\vs2010\RelWithDebInfo\ - spi.dir\RelWithDebInfo\ - spi - .exe - true - true - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - EnableAllWarnings - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - - - - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9} - - - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/spi/projects/vs2010/spi.vcxproj.filters b/vnproglib/c/examples/spi/projects/vs2010/spi.vcxproj.filters deleted file mode 100644 index df669c1..0000000 --- a/vnproglib/c/examples/spi/projects/vs2010/spi.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Source Files - - - - - {4A5C391C-A2F0-34A4-B985-3B1EFED20889} - - - diff --git a/vnproglib/c/examples/spi/projects/vs2012/spi.sln b/vnproglib/c/examples/spi/projects/vs2012/spi.sln deleted file mode 100644 index 4c67c12..0000000 --- a/vnproglib/c/examples/spi/projects/vs2012/spi.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2012\libvnc.vcxproj", "{CF7C59BE-0DD8-3132-A4DE-B79B62914D69}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spi", "spi.vcxproj", "{2047EFCB-40E2-3F87-9BA6-8F93E6B5A768}" - ProjectSection(ProjectDependencies) = postProject - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69} = {CF7C59BE-0DD8-3132-A4DE-B79B62914D69} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C7CF12A6-68A7-3DDC-83CF-6E4DEADE52B9}.Debug|Win32.ActiveCfg = Debug|Win32 - {C7CF12A6-68A7-3DDC-83CF-6E4DEADE52B9}.Release|Win32.ActiveCfg = Release|Win32 - {C7CF12A6-68A7-3DDC-83CF-6E4DEADE52B9}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {C7CF12A6-68A7-3DDC-83CF-6E4DEADE52B9}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Debug|Win32.ActiveCfg = Debug|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Debug|Win32.Build.0 = Debug|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Release|Win32.ActiveCfg = Release|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Release|Win32.Build.0 = Release|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {2047EFCB-40E2-3F87-9BA6-8F93E6B5A768}.Debug|Win32.ActiveCfg = Debug|Win32 - {2047EFCB-40E2-3F87-9BA6-8F93E6B5A768}.Debug|Win32.Build.0 = Debug|Win32 - {2047EFCB-40E2-3F87-9BA6-8F93E6B5A768}.Release|Win32.ActiveCfg = Release|Win32 - {2047EFCB-40E2-3F87-9BA6-8F93E6B5A768}.Release|Win32.Build.0 = Release|Win32 - {2047EFCB-40E2-3F87-9BA6-8F93E6B5A768}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {2047EFCB-40E2-3F87-9BA6-8F93E6B5A768}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {2047EFCB-40E2-3F87-9BA6-8F93E6B5A768}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {2047EFCB-40E2-3F87-9BA6-8F93E6B5A768}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/spi/projects/vs2012/spi.vcxproj b/vnproglib/c/examples/spi/projects/vs2012/spi.vcxproj deleted file mode 100644 index c9d96b3..0000000 --- a/vnproglib/c/examples/spi/projects/vs2012/spi.vcxproj +++ /dev/null @@ -1,266 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {2047EFCB-40E2-3F87-9BA6-8F93E6B5A768} - Win32Proj - Win32 - spi - - - - Application - false - MultiByte - v110 - - - Application - false - MultiByte - v110 - - - Application - false - MultiByte - v110 - - - Application - false - MultiByte - v110 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2012\Debug\ - spi.dir\Debug\ - spi - .exe - true - true - ..\..\projects\vs2012\Release\ - spi.dir\Release\ - spi - .exe - false - true - ..\..\projects\vs2012\MinSizeRel\ - spi.dir\MinSizeRel\ - spi - .exe - false - true - ..\..\projects\vs2012\RelWithDebInfo\ - spi.dir\RelWithDebInfo\ - spi - .exe - true - true - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - EnableAllWarnings - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - - - - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69} - - - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/spi/projects/vs2012/spi.vcxproj.filters b/vnproglib/c/examples/spi/projects/vs2012/spi.vcxproj.filters deleted file mode 100644 index 3cf3713..0000000 --- a/vnproglib/c/examples/spi/projects/vs2012/spi.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Source Files - - - - - {30614032-177D-3F6D-8958-61D95C767DC7} - - - diff --git a/vnproglib/c/examples/spi/projects/vs2013/spi.sln b/vnproglib/c/examples/spi/projects/vs2013/spi.sln deleted file mode 100644 index 782dde8..0000000 --- a/vnproglib/c/examples/spi/projects/vs2013/spi.sln +++ /dev/null @@ -1,45 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2013\libvnc.vcxproj", "{E237AE2C-CE1B-39F5-B931-3C0E53353E53}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spi", "spi.vcxproj", "{7FD1457E-F969-3283-99D4-282344F762A7}" - ProjectSection(ProjectDependencies) = postProject - {E237AE2C-CE1B-39F5-B931-3C0E53353E53} = {E237AE2C-CE1B-39F5-B931-3C0E53353E53} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A0654F5E-4F6F-3A23-AFEE-D128A227748B}.Debug|Win32.ActiveCfg = Debug|Win32 - {A0654F5E-4F6F-3A23-AFEE-D128A227748B}.Release|Win32.ActiveCfg = Release|Win32 - {A0654F5E-4F6F-3A23-AFEE-D128A227748B}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {A0654F5E-4F6F-3A23-AFEE-D128A227748B}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.ActiveCfg = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.Build.0 = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.ActiveCfg = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.Build.0 = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - {7FD1457E-F969-3283-99D4-282344F762A7}.Debug|Win32.ActiveCfg = Debug|Win32 - {7FD1457E-F969-3283-99D4-282344F762A7}.Debug|Win32.Build.0 = Debug|Win32 - {7FD1457E-F969-3283-99D4-282344F762A7}.Release|Win32.ActiveCfg = Release|Win32 - {7FD1457E-F969-3283-99D4-282344F762A7}.Release|Win32.Build.0 = Release|Win32 - {7FD1457E-F969-3283-99D4-282344F762A7}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {7FD1457E-F969-3283-99D4-282344F762A7}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {7FD1457E-F969-3283-99D4-282344F762A7}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {7FD1457E-F969-3283-99D4-282344F762A7}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/spi/projects/vs2013/spi.vcxproj b/vnproglib/c/examples/spi/projects/vs2013/spi.vcxproj deleted file mode 100644 index e7542f7..0000000 --- a/vnproglib/c/examples/spi/projects/vs2013/spi.vcxproj +++ /dev/null @@ -1,266 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {7FD1457E-F969-3283-99D4-282344F762A7} - Win32Proj - Win32 - spi - - - - Application - false - MultiByte - v120 - - - Application - false - MultiByte - v120 - - - Application - false - MultiByte - v120 - - - Application - false - MultiByte - v120 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2013\Debug\ - spi.dir\Debug\ - spi - .exe - true - true - ..\..\projects\vs2013\Release\ - spi.dir\Release\ - spi - .exe - false - true - ..\..\projects\vs2013\MinSizeRel\ - spi.dir\MinSizeRel\ - spi - .exe - false - true - ..\..\projects\vs2013\RelWithDebInfo\ - spi.dir\RelWithDebInfo\ - spi - .exe - true - true - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - EnableAllWarnings - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - - - - {E237AE2C-CE1B-39F5-B931-3C0E53353E53} - - - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/spi/projects/vs2013/spi.vcxproj.filters b/vnproglib/c/examples/spi/projects/vs2013/spi.vcxproj.filters deleted file mode 100644 index c9cbfb9..0000000 --- a/vnproglib/c/examples/spi/projects/vs2013/spi.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Source Files - - - - - {1E5E0AC3-28F5-336D-AF41-CFA2D0608728} - - - diff --git a/vnproglib/c/examples/spi/projects/vs2019/README before opening project for first time.txt b/vnproglib/c/examples/spi/projects/vs2019/README before opening project for first time.txt deleted file mode 100644 index 05a24b8..0000000 --- a/vnproglib/c/examples/spi/projects/vs2019/README before opening project for first time.txt +++ /dev/null @@ -1,24 +0,0 @@ -When opening the vs2019 example Project, Visual Studio will pop up a dialog asking to retarget Projects to the latest Windows SDK Version and Platform Toolset. DO NOT update the projects because it will break building the libvncxx library. The latest Platform Toolset that can be used to build the libvncxx library is Visual Studio 2017. - -Also, the library currently only supports x86 builds. - -If you do not have the Visual Studio 2017 Build Tools, you will get the following error: - -Error MSB8020 The build tools for Visual Studio 2017 (Platform Toolset = 'v141') cannot be found. To build using the v141 build tools, please install Visual Studio 2017 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". - -The following link will walk you through how to add the Visual Studio 2017 platform toolset to your environment. - -https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio?view=vs-2019 - -Run C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe - -Select C++/CLI support for v141 build tools (14.16) under Compilers, build tools, and runtimes from the Individual components tab of modifying Visual Studio 2019 - -MSVC v141 - VS 2017 C++ x64/x86 build tools (v14.16) - -Also select Windows 10 SDK 10.0.18362.0 for the needed make tools. - -After adding support for Visual Studio 2017 build toolset, if the projects are marked as unusable, have Visual Studio install the missing components. - - - diff --git a/vnproglib/c/examples/spi/projects/vs2019/spi.sln b/vnproglib/c/examples/spi/projects/vs2019/spi.sln deleted file mode 100644 index 0001ac9..0000000 --- a/vnproglib/c/examples/spi/projects/vs2019/spi.sln +++ /dev/null @@ -1,33 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "..\..\..\..\projects\vs2017\libvnc.vcxproj", "{E237AE2C-CE1B-39F5-B931-3C0E53353E53}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spi", "spi.vcxproj", "{7FD1457E-F969-3283-99D4-282344F762A7}" - ProjectSection(ProjectDependencies) = postProject - {E237AE2C-CE1B-39F5-B931-3C0E53353E53} = {E237AE2C-CE1B-39F5-B931-3C0E53353E53} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A0654F5E-4F6F-3A23-AFEE-D128A227748B}.Debug|Win32.ActiveCfg = Debug|Win32 - {A0654F5E-4F6F-3A23-AFEE-D128A227748B}.Release|Win32.ActiveCfg = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.ActiveCfg = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.Build.0 = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.ActiveCfg = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.Build.0 = Release|Win32 - {7FD1457E-F969-3283-99D4-282344F762A7}.Debug|Win32.ActiveCfg = Debug|Win32 - {7FD1457E-F969-3283-99D4-282344F762A7}.Debug|Win32.Build.0 = Debug|Win32 - {7FD1457E-F969-3283-99D4-282344F762A7}.Release|Win32.ActiveCfg = Release|Win32 - {7FD1457E-F969-3283-99D4-282344F762A7}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/examples/spi/projects/vs2019/spi.vcxproj b/vnproglib/c/examples/spi/projects/vs2019/spi.vcxproj deleted file mode 100644 index 14fdb89..0000000 --- a/vnproglib/c/examples/spi/projects/vs2019/spi.vcxproj +++ /dev/null @@ -1,152 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {7FD1457E-F969-3283-99D4-282344F762A7} - Win32Proj - Win32 - spi - 10.0.18362.0 - - - - Application - false - MultiByte - v141 - - - Application - false - MultiByte - v141 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2019\Debug\ - spi.dir\Debug\ - spi - .exe - true - true - ..\..\projects\vs2019\Release\ - spi.dir\Release\ - spi - .exe - false - true - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - EnableAllWarnings - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 /debug %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - true - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - true - - - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - EnableAllWarnings - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib - %(AdditionalLibraryDirectories) - false - %(IgnoreSpecificDefaultLibraries) - $(OutDir)..\$(TargetName).lib - Console - - - - - true - - - - - - - - {E237AE2C-CE1B-39F5-B931-3C0E53353E53} - - - - - - \ No newline at end of file diff --git a/vnproglib/c/examples/spi/projects/vs2019/spi.vcxproj.filters b/vnproglib/c/examples/spi/projects/vs2019/spi.vcxproj.filters deleted file mode 100644 index c9cbfb9..0000000 --- a/vnproglib/c/examples/spi/projects/vs2019/spi.vcxproj.filters +++ /dev/null @@ -1,13 +0,0 @@ - - - - - Source Files - - - - - {1E5E0AC3-28F5-336D-AF41-CFA2D0608728} - - - diff --git a/vnproglib/c/examples/spi/projects/vs2019/spi.vcxproj.user b/vnproglib/c/examples/spi/projects/vs2019/spi.vcxproj.user deleted file mode 100644 index 6e2aec7..0000000 --- a/vnproglib/c/examples/spi/projects/vs2019/spi.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/vnproglib/c/help/annotated.html b/vnproglib/c/help/annotated.html deleted file mode 100644 index 8425195..0000000 --- a/vnproglib/c/help/annotated.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -VectorNav C Library: Data Structures - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - -
- -
-
- - -
- -
- -
-
-
Data Structures
-
-
-
Here are the data structures with brief descriptions:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 CAccelerationCompensationRegisterStructure representing the Acceleration Compensation register
 CBinaryOutputRegisterStructure representing a Binary Output register
 CCalculatedMagnetometerCalibrationRegisterStructure representing the Calculated Magnetometer Calibration register
 CCommunicationProtocolControlRegisterStructure representing the Communication Protocol Control register
 CDeltaThetaAndDeltaVelocityConfigurationRegisterStructure representing the Delta Theta and Delta Velocity Configuration register
 CDeltaThetaAndDeltaVelocityRegisterStructure representing the Delta Theta and Delta Velocity register
 CFilterActiveTuningParametersRegisterStructure representing the Filter Active Tuning Parameters register
 CFilterBasicControlRegisterStructure representing the Filter Basic Control register
 CFilterMeasurementsVarianceParametersRegisterStructure representing the Filter Measurements Variance Parameters register
 CGpsCompassBaselineRegisterStructure representing the GPS Compass Baseline register
 CGpsCompassEstimatedBaselineRegisterStructure representing the GPS Compass Estimated Baseline register
 CGpsConfigurationRegisterStructure representing the GPS Configuration register
 CGpsSolutionEcefRegisterStructure representing the GPS Solution - ECEF register
 CGpsSolutionLlaRegisterStructure representing the GPS Solution - LLA register
 CGyroCompensationRegisterStructure representing the Gyro Compensation register
 CImuFilteringConfigurationRegisterStructure representing the IMU Filtering Configuration register
 CImuMeasurementsRegisterStructure representing the IMU Measurements register
 CImuRateConfigurationRegisterStructure representing the IMU Rate Configuration register
 CInsAdvancedConfigurationRegisterStructure representing the INS Advanced Configuration register
 CInsBasicConfigurationRegisterVn200Structure representing the INS Basic Configuration register for a VN-200 sensor
 CInsBasicConfigurationRegisterVn300Structure representing the INS Basic Configuration register for a VN-300 sensor
 CInsSolutionEcefRegisterStructure representing the INS Solution - ECEF register
 CInsSolutionLlaRegisterStructure representing the INS Solution - LLA register
 CInsStateEcefRegisterStructure representing the INS State - ECEF register
 CInsStateLlaRegisterStructure representing the INS State - LLA register
 CMagneticAccelerationAndAngularRatesRegisterStructure representing the Magnetic, Acceleration and Angular Rates register
 CMagneticAndGravityReferenceVectorsRegisterStructure representing the Magnetic and Gravity Reference Vectors register
 CMagnetometerCalibrationControlRegisterStructure representing the Magnetometer Calibration Control register
 CMagnetometerCompensationRegisterStructure representing the Magnetometer Compensation register
 Cmat3fRepresents a 3x3 matrix with an underlying data type of float
 CQuaternionMagneticAccelerationAndAngularRatesRegisterStructure representing the Quaternion, Magnetic, Acceleration and Angular Rates register
 CquatfRepresents a quaternion reading with underlying data type of float
 CReferenceVectorConfigurationRegisterStructure representing the Reference Vector Configuration register
 CStartupFilterBiasEstimateRegisterStructure representing the Startup Filter Bias Estimate register
 CSynchronizationControlRegisterStructure representing the Synchronization Control register
 CSynchronizationStatusRegisterStructure representing the Synchronization Status register
 Cvec3dRepresents a 3 component vector with an underlying data type of double
 Cvec3fVarious vector types and operations
 Cvec4fRepresents a 4 component vector with an underlying data type of float
 CVelocityCompensationControlRegisterStructure representing the Velocity Compensation Control register
 CVelocityCompensationStatusRegisterStructure representing the Velocity Compensation Status register
 CVnCompositeDataComposite structure of all available data types from VectorNav sensors
 CVnCriticalSection
 CVnEventStructure representing an event
 CVnEzAsyncDataStructure supporting easy and reliable access to asynchronous data from a VectorNav sensor at the cost of a slight performance hit
 CVnPortInfoContaining information about the port to be searched
 CVnSensorHelpful structure for working with VectorNav sensors
 CVnSerialPortProvides access to a serial port
 CVnStopwatchProvides simple timing capabilities
 CVnThreadStructure for working with threads
 CVnUartPacketStructure representing a UART packet received from a VectorNav sensor
 CVnUartPacketFinderData structure holding current parsing status of data received from a VectorNav sensor
 CVpeAccelerometerAdvancedTuningRegisterStructure representing the VPE Accelerometer Advanced Tuning register
 CVpeAccelerometerBasicTuningRegisterStructure representing the VPE Accelerometer Basic Tuning register
 CVpeBasicControlRegisterStructure representing the VPE Basic Control register
 CVpeGyroBasicTuningRegisterStructure representing the VPE Gyro Basic Tuning register
 CVpeMagnetometerAdvancedTuningRegisterStructure representing the VPE Magnetometer Advanced Tuning register
 CVpeMagnetometerBasicTuningRegisterStructure representing the VPE Magnetometer Basic Tuning register
 CYawPitchRollMagneticAccelerationAndAngularRatesRegisterStructure representing the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register
 CYawPitchRollTrueBodyAccelerationAndAngularRatesRegisterStructure representing the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register
 CYawPitchRollTrueInertialAccelerationAndAngularRatesRegisterStructure representing the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register
-
-
- - - - diff --git a/vnproglib/c/help/arrowdown.png b/vnproglib/c/help/arrowdown.png deleted file mode 100644 index 0b63f6d38c4b9ec907b820192ebe9724ed6eca22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmVkw!R34#Lv2LOS^S2tZA31X++9RY}n zChwn@Z)Wz*WWHH{)HDtJnq&A2hk$b-y(>?@z0iHr41EKCGp#T5?07*qoM6N<$f(V3Pvj6}9 diff --git a/vnproglib/c/help/arrowright.png b/vnproglib/c/help/arrowright.png deleted file mode 100644 index c6ee22f937a07d1dbfc27c669d11f8ed13e2f152..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229 zcmV^P)R?RzRoKvklcaQ%HF6%rK2&ZgO(-ihJ_C zzrKgp4jgO( fd_(yg|3PpEQb#9`a?Pz_00000NkvXXu0mjftR`5K diff --git a/vnproglib/c/help/bc_s.png b/vnproglib/c/help/bc_s.png deleted file mode 100644 index 224b29aa9847d5a4b3902efd602b7ddf7d33e6c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT diff --git a/vnproglib/c/help/bdwn.png b/vnproglib/c/help/bdwn.png deleted file mode 100644 index 940a0b950443a0bb1b216ac03c45b8a16c955452..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T - - - - - -VectorNav C Library: bool.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
bool.h
-
-
-
1 #ifndef VNBOOL_H_INCLUDED
-
2 #define VNBOOL_H_INCLUDED
-
3 
-
6 #include "vn/util/compiler.h"
-
7 #include "vn/int.h"
-
8 
-
9 #if !defined(__cplusplus)
-
10 
-
11  #if VN_HAVE_STDBOOL_H
-
12  #include <stdbool.h>
-
13  #else
-
14  #if !defined(__GNUC__)
-
15  /* _Bool builtin type is included in GCC. */
-
16  /* ISO C Standard: 5.2.5 An object declared as type _Bool is large
-
17  * enough to store the values 0 and 1. */
-
18  typedef int8_t _Bool;
-
19  #endif
-
20 
-
21  /* ISO C Standard: 7.16 Boolean type */
-
22 
-
23  #if defined(__STDC__) && defined(__GNUC__)
-
24  /* Avoid warning "ISO C90/89 does not support boolean types" */
-
25  #define bool int8_t
-
26  #else
-
27  #define bool _Bool
-
28  #endif
-
29 
-
30  #define true 1
-
31  #define false 0
-
32  #define __bool_true_false_are_defined 1
-
33  #endif
-
34 
-
35 #endif
-
36 
-
37 #endif
-
- - - - diff --git a/vnproglib/c/help/classes.html b/vnproglib/c/help/classes.html deleted file mode 100644 index f88706b..0000000 --- a/vnproglib/c/help/classes.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - -VectorNav C Library: Data Structure Index - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - -
- -
-
- - -
- -
- -
-
-
Data Structure Index
-
-
-
A | B | C | D | F | G | I | M | Q | R | S | V | Y
- - - - - - - - - - - - - - - - - - - - - -
  A  
-
FilterMeasurementsVarianceParametersRegister   InsSolutionLlaRegister   SynchronizationControlRegister   VpeAccelerometerBasicTuningRegister   
  G  
-
InsStateEcefRegister   SynchronizationStatusRegister   VpeBasicControlRegister   
AccelerationCompensationRegister   InsStateLlaRegister   
  V  
-
VpeGyroBasicTuningRegister   
  B  
-
GpsCompassBaselineRegister   
  M  
-
VpeMagnetometerAdvancedTuningRegister   
GpsCompassEstimatedBaselineRegister   VelocityCompensationControlRegister   VpeMagnetometerBasicTuningRegister   
BinaryOutputRegister   GpsConfigurationRegister   MagneticAccelerationAndAngularRatesRegister   VelocityCompensationStatusRegister   
  Y  
-
  C  
-
GpsSolutionEcefRegister   MagneticAndGravityReferenceVectorsRegister   VnCompositeData   
GpsSolutionLlaRegister   MagnetometerCalibrationControlRegister   VnCriticalSection   YawPitchRollMagneticAccelerationAndAngularRatesRegister   
CalculatedMagnetometerCalibrationRegister   GyroCompensationRegister   MagnetometerCompensationRegister   VnEvent   YawPitchRollTrueBodyAccelerationAndAngularRatesRegister   
CommunicationProtocolControlRegister   
  I  
-
  Q  
-
VnEzAsyncData   YawPitchRollTrueInertialAccelerationAndAngularRatesRegister   
  D  
-
VnPortInfo   
  m  
-
ImuFilteringConfigurationRegister   QuaternionMagneticAccelerationAndAngularRatesRegister   VnSensor   
DeltaThetaAndDeltaVelocityConfigurationRegister   ImuMeasurementsRegister   
  R  
-
VnSerialPort   mat3f   
DeltaThetaAndDeltaVelocityRegister   ImuRateConfigurationRegister   VnStopwatch   
  q  
-
  F  
-
InsAdvancedConfigurationRegister   ReferenceVectorConfigurationRegister   VnThread   
InsBasicConfigurationRegisterVn200   
  S  
-
VnUartPacket   quatf   
FilterActiveTuningParametersRegister   InsBasicConfigurationRegisterVn300   VnUartPacketFinder   
  v  
-
FilterBasicControlRegister   InsSolutionEcefRegister   StartupFilterBiasEstimateRegister   VpeAccelerometerAdvancedTuningRegister   
vec3d   
-
A | B | C | D | F | G | I | M | Q | R | S | V | Y
-
- - - - diff --git a/vnproglib/c/help/closed.png b/vnproglib/c/help/closed.png deleted file mode 100644 index 98cc2c909da37a6df914fbf67780eebd99c597f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT diff --git a/vnproglib/c/help/common_8h_source.html b/vnproglib/c/help/common_8h_source.html deleted file mode 100644 index 54c8001..0000000 --- a/vnproglib/c/help/common_8h_source.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - -VectorNav C Library: common.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
common.h
-
-
-
1 #ifndef _VNCOMMON_H_
-
2 #define _VNCOMMON_H_
-
3 
-
4 #ifdef __cplusplus
-
5 extern "C" {
-
6 #endif
-
7 
-
9 typedef enum
-
10 {
-
11  VNOFF = 0,
-
12  VNYPR = 1,
-
13  VNQTN = 2,
-
14  #ifdef EXTRA
-
15  VNQTM = 3,
-
16  VNQTA = 4,
-
17  VNQTR = 5,
-
18  VNQMA = 6,
-
19  VNQAR = 7,
-
20  #endif
-
21  VNQMR = 8,
-
22  #ifdef EXTRA
-
23  VNDCM = 9,
-
24  #endif
-
25  VNMAG = 10,
-
26  VNACC = 11,
-
27  VNGYR = 12,
-
28  VNMAR = 13,
-
29  VNYMR = 14,
-
30  #ifdef EXTRA
-
31  VNYCM = 15,
-
32  #endif
-
33  VNYBA = 16,
-
34  VNYIA = 17,
-
35  #ifdef EXTRA
-
36  VNICM = 18,
-
37  #endif
-
38  VNIMU = 19,
-
39  VNGPS = 20,
-
40  VNGPE = 21,
-
41  VNINS = 22,
-
42  VNINE = 23,
-
43  VNISL = 28,
-
44  VNISE = 29,
-
45  VNDTV = 30
-
46  #ifdef EXTRA
-
47  ,
-
48  VNRAW = 252,
-
49  VNCMV = 253,
-
50  VNSTV = 254,
-
51  VNCOV = 255
-
52  #endif
-
53 } VnAsciiAsync;
-
54 
-
55 
-
56 #ifdef __cplusplus
-
57 }
-
58 #endif
-
59 
-
60 #endif
-
- - - - diff --git a/vnproglib/c/help/compiler_8h_source.html b/vnproglib/c/help/compiler_8h_source.html deleted file mode 100644 index 0d40f19..0000000 --- a/vnproglib/c/help/compiler_8h_source.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - -VectorNav C Library: compiler.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
compiler.h
-
-
-
1 #ifndef _VN_UTIL_COMPILER_H
-
2 #define _VN_UTIL_COMPILER_H
-
3 
-
4 /* This header provides some simple checks for various features supported by the
-
5 * current compiler. */
-
6 
-
7 /* Determine the level of standard C support. */
-
8 #if __STDC__
-
9  #if defined (__STDC_VERSION__)
-
10  #if (__STDC_VERSION__ >= 199901L)
-
11  #define C99
-
12  #endif
-
13  #endif
-
14 #endif
-
15 
-
16 /* Determine if the compiler has stdbool.h. */
-
17 #if defined(C99) || _MSC_VER >= 1800
-
18  #define VN_HAVE_STDBOOL_H 1
-
19 #else
-
20  #define VN_HAVE_STDBOOL_H 0
-
21 #endif
-
22 
-
23 /* Determine if the secure CRT is available. */
-
24 #if defined(_MSC_VER)
-
25  #define VN_HAVE_SECURE_CRT 1
-
26 #else
-
27  #define VN_HAVE_SECURE_CRT 0
-
28 #endif
-
29 
-
30 #endif
-
31 
-
32 /* Determine if the generic type math library (tgmath.h) is available. */
-
33 #if defined(C99)
-
34  #define VN_HAVE_GENERIC_TYPE_MATH 1
-
35 #else
-
36  #define VN_HAVE_GENERIC_TYPE_MATH 0
-
37 #endif
-
- - - - diff --git a/vnproglib/c/help/compositedata_8h_source.html b/vnproglib/c/help/compositedata_8h_source.html deleted file mode 100644 index 6beb081..0000000 --- a/vnproglib/c/help/compositedata_8h_source.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - -VectorNav C Library: compositedata.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
compositedata.h
-
-
-
1 #ifndef _VNCOMPOSITEDATA_H_
-
2 #define _VNCOMPOSITEDATA_H_
-
3 
-
4 #include "vn/bool.h"
- -
6 #include "vn/enum.h"
-
7 #include "vn/int.h"
-
8 #include "vn/math/vector.h"
-
9 #include "vn/math/matrix.h"
-
10 #include "vn/protocol/upack.h"
-
11 #include "vn/math/vector.h"
-
12 
-
13 #ifdef __cplusplus
-
14 extern "C" {
-
15 #endif
-
16 
-
17 #ifdef _WIN32
-
18 #pragma warning(push)
-
19 #pragma warning(disable : 4820)
-
20 #endif
-
21 
-
23 typedef struct
-
24 {
- - - - - - - -
32  VelocityType velocityType;
- - - - - - - - - -
42  #ifdef EXTRA
-
43  vec3f magneticRaw;
-
44  #endif
- - - - - - - -
52  #ifdef EXTRA
-
53  vec3f accelerationRaw;
-
54  #endif
- - -
57  #ifdef EXTRA
-
58  vec3f angularRateRaw;
-
59  #endif
-
60  float temperature;
-
61  #ifdef EXTRA
-
62  float temperatureRaw;
-
63  #endif
-
64  float pressure;
-
65  uint64_t timeStartup;
-
66  float deltaTime;
- - -
69  double tow;
-
70  uint16_t week;
-
71  uint8_t gpsFix;
-
72  uint8_t numSats;
-
73  uint64_t timeGps;
-
74  uint64_t timeGpsPps;
-
75  uint64_t gpsTow;
- - - - - - -
82  uint32_t timeUncertainty;
-
83  uint16_t vpeStatus;
-
84  uint16_t insStatus;
-
85  uint64_t timeSyncIn;
-
86  uint32_t syncInCnt;
-
87  uint16_t sensSat;
-
88  #ifdef EXTRA
-
89  vec3f yprRates;
-
90  #endif
-
91 
- -
93 #ifdef _WIN32
-
94 #pragma warning(pop)
-
95 #endif
-
96 
-
101 bool VnCompositeData_hasCourseOverGround(VnCompositeData* compositeData);
-
102 
-
108 bool VnCompositeData_courseOverGround(VnCompositeData* compositeData, float* courseOverGroundOut);
-
109 
-
114 bool VnCompositeData_hasSpeedOverGround(VnCompositeData* compositeData);
-
115 
-
121 bool VnCompositeData_speedOverGround(VnCompositeData* compositeData, float* speedOverGroundOut);
-
122 
-
129 void VnCompositeData_initialize(VnCompositeData* compositeData);
-
130 
-
137 void VnCompositeData_processBinaryPacket(VnCompositeData* compositeData, VnUartPacket* packet, VnCriticalSection* criticalSection);
-
138 
-
145 void VnCompositeData_processAsciiAsyncPacket(VnCompositeData* compositeData, VnUartPacket* packet, VnCriticalSection* criticalSection);
-
146 
-
153 void VnCompositeData_processBinaryPacketCommonGroup(
-
154  VnCompositeData* compositeData,
-
155  VnUartPacket* packet,
-
156  CommonGroup groupFlags);
-
157 
-
164 void VnCompositeData_processBinaryPacketTimeGroup(
-
165  VnCompositeData* compositeData,
-
166  VnUartPacket* packet,
-
167  TimeGroup groupFlags);
-
168 
-
175 void VnCompositeData_processBinaryPacketImuGroup(
-
176  VnCompositeData* compositeData,
-
177  VnUartPacket* packet,
-
178  ImuGroup groupFlags);
-
179 
-
186 void VnCompositeData_processBinaryPacketGpsGroup(
-
187  VnCompositeData* compositeData,
-
188  VnUartPacket* packet,
-
189  GpsGroup groupFlags);
-
190 
-
197 void VnCompositeData_processBinaryPacketAttitudeGroup(
-
198  VnCompositeData* compositeData,
-
199  VnUartPacket* packet,
-
200  AttitudeGroup groupFlags);
-
201 
-
208 void VnCompositeData_processBinaryPacketInsGroup(
-
209  VnCompositeData* compositeData,
-
210  VnUartPacket* packet,
-
211  InsGroup groupFlags);
-
212 
-
213 #ifdef __cplusplus
-
214 }
-
215 #endif
-
216 
-
217 #endif
-
float deltaTime
Definition: compositedata.h:66
-
vec3f attitudeUncertainty
Definition: compositedata.h:76
-
vec3f velocityEstimatedNed
Definition: compositedata.h:36
-
vec3f accelerationLinearNed
Definition: compositedata.h:50
-
mat3f directionCosineMatrix
Definition: compositedata.h:27
-
vec3f deltaVelocity
Definition: compositedata.h:68
-
vec3f angularRate
Definition: compositedata.h:55
-
uint8_t numSats
Definition: compositedata.h:72
-
vec4f quaternion
Definition: compositedata.h:26
-
Structure representing a UART packet received from a VectorNav sensor.
Definition: upack.h:34
-
float positionUncertaintyEstimated
Definition: compositedata.h:79
-
vec3f yawPitchRoll
Definition: compositedata.h:25
-
uint16_t insStatus
Definition: compositedata.h:84
-
uint32_t timeUncertainty
Definition: compositedata.h:82
-
vec3f accelerationUncompensated
Definition: compositedata.h:46
-
uint16_t week
Definition: compositedata.h:70
-
float velocityUncertaintyGps
Definition: compositedata.h:80
-
uint64_t gpsTow
Definition: compositedata.h:75
-
vec3f accelerationLinearEcef
Definition: compositedata.h:51
-
vec3d positionEstimatedEcef
Definition: compositedata.h:31
-
float velocityUncertaintyEstimated
Definition: compositedata.h:81
-
uint64_t timeStartup
Definition: compositedata.h:65
-
vec3f magneticUncompensated
Definition: compositedata.h:39
-
float temperature
Definition: compositedata.h:60
-
Represents a 4 component vector with an underlying data type of float.
Definition: vector.h:68
-
Represents a 3 component vector with an underlying data type of double.
Definition: vector.h:41
-
vec3f magneticNed
Definition: compositedata.h:40
-
vec3d positionGpsEcef
Definition: compositedata.h:29
-
vec3f positionUncertaintyGpsNed
Definition: compositedata.h:77
-
uint8_t gpsFix
Definition: compositedata.h:71
-
uint64_t timeGpsPps
Definition: compositedata.h:74
-
vec3f deltaTheta
Definition: compositedata.h:67
-
vec3f magnetic
Definition: compositedata.h:38
-
vec3f positionUncertaintyGpsEcef
Definition: compositedata.h:78
- -
Definition: criticalsection.h:38
-
vec3f accelerationNed
Definition: compositedata.h:47
-
Composite structure of all available data types from VectorNav sensors.
Definition: compositedata.h:23
-
uint16_t sensSat
Definition: compositedata.h:87
-
vec3f accelerationLinearBody
Definition: compositedata.h:49
-
vec3f angularRateUncompensated
Definition: compositedata.h:56
-
VelocityType velocityType
Definition: compositedata.h:32
-
Represents a 3x3 matrix with an underlying data type of float.
Definition: matrix.h:11
-
vec3f acceleration
Definition: compositedata.h:45
-
vec3d positionGpsLla
Definition: compositedata.h:28
-
vec3f velocityEstimatedEcef
Definition: compositedata.h:37
-
double tow
Definition: compositedata.h:69
-
vec3f velocityEstimatedBody
Definition: compositedata.h:35
-
uint64_t timeGps
Definition: compositedata.h:73
-
vec3f velocityGpsEcef
Definition: compositedata.h:34
-
Various vector types and operations.
Definition: vector.h:14
-
uint16_t vpeStatus
Definition: compositedata.h:83
-
uint32_t syncInCnt
Definition: compositedata.h:86
-
vec3f velocityGpsNed
Definition: compositedata.h:33
-
vec3d positionEstimatedLla
Definition: compositedata.h:30
-
vec3f magneticEcef
Definition: compositedata.h:41
-
uint64_t timeSyncIn
Definition: compositedata.h:85
-
vec3f accelerationEcef
Definition: compositedata.h:48
-
float pressure
Definition: compositedata.h:64
-
- - - - diff --git a/vnproglib/c/help/const_8h_source.html b/vnproglib/c/help/const_8h_source.html deleted file mode 100644 index c5df368..0000000 --- a/vnproglib/c/help/const_8h_source.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - -VectorNav C Library: const.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
const.h
-
-
-
1 #ifndef __VNCONTS_H__
-
2 #define __VNCONTS_H__
-
3 
-
5 #define VNC_PI_D (3.141592653589793238)
-
6 
-
7 #endif
-
- - - - diff --git a/vnproglib/c/help/conv_8h_source.html b/vnproglib/c/help/conv_8h_source.html deleted file mode 100644 index a5ea26b..0000000 --- a/vnproglib/c/help/conv_8h_source.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - -VectorNav C Library: conv.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
conv.h
-
-
-
1 #ifndef __VNCONV_H__
-
2 #define __VNCONV_H__
-
3 
-
4 #include "vn/math/vector.h"
-
5 
-
9 vec3d ecef_to_lla_v3d(vec3d ecef);
-
10 
-
14 vec3d lla_to_ecef_v3d(vec3d lla);
-
15 
-
16 #endif
-
Represents a 3 component vector with an underlying data type of double.
Definition: vector.h:41
-
- - - - diff --git a/vnproglib/c/help/criticalsection_8h.html b/vnproglib/c/help/criticalsection_8h.html deleted file mode 100644 index f8a4845..0000000 --- a/vnproglib/c/help/criticalsection_8h.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - -VectorNav C Library: criticalsection.h File Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
- -
-
criticalsection.h File Reference
-
-
-
#include "vn/error.h"
-
-

Go to the source code of this file.

- - - - -

-Data Structures

struct  VnCriticalSection
 
- - - - - - - - - - - - -

-Functions

VnError VnCriticalSection_initialize (VnCriticalSection *criticalSection)
 
VnError VnCriticalSection_deinitialize (VnCriticalSection *criticalSection)
 Disposes of a VnCriticalSection structure and associated resources. More...
 
VnError VnCriticalSection_enter (VnCriticalSection *criticalSection)
 Attempt to enter a critical section. More...
 
VnError VnCriticalSection_leave (VnCriticalSection *criticalSection)
 Leave a critical section. More...
 
-

Detailed Description

-

{COMMON_HEADER}

-

-DESCRIPTION

-

This header file contains structures and functions useful for critical sections.

-

Function Documentation

- -
-
- - - - - - - - -
VnError VnCriticalSection_deinitialize (VnCriticalSectioncriticalSection)
-
- -

Disposes of a VnCriticalSection structure and associated resources.

-
Parameters
- - -
[in]criticalSectionThe associated VnCriticalSection structure.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - -
VnError VnCriticalSection_enter (VnCriticalSectioncriticalSection)
-
- -

Attempt to enter a critical section.

-
Parameters
- - -
[in]criticalSectionThe associated VnCriticalSection structure.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - -
VnError VnCriticalSection_initialize (VnCriticalSectioncriticalSection)
-
-

Initializes a VnCriticalSection structure.

-
Parameters
- - -
[in]criticalSectionThe VnCriticalSection structure to initialize.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - -
VnError VnCriticalSection_leave (VnCriticalSectioncriticalSection)
-
- -

Leave a critical section.

-
Parameters
- - -
[in]criticalSectionThe associated VnCriticalSection structure.
-
-
-
Returns
Any errors encountered.
- -
-
-
- - - - diff --git a/vnproglib/c/help/criticalsection_8h_source.html b/vnproglib/c/help/criticalsection_8h_source.html deleted file mode 100644 index 694f03c..0000000 --- a/vnproglib/c/help/criticalsection_8h_source.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - -VectorNav C Library: criticalsection.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
criticalsection.h
-
-
-Go to the documentation of this file.
1 
-
7 #ifndef _VN_CRITICALSECTION_H_
-
8 #define _VN_CRITICALSECTION_H_
-
9 
-
10 #include "vn/error.h"
-
11 
-
12 #ifdef _WIN32
-
13 
-
14  /* Disable some warnings for Visual Studio with -Wall. */
-
15  #if defined(_MSC_VER)
-
16  #pragma warning(push)
-
17  #pragma warning(disable:4668)
-
18  #pragma warning(disable:4820)
-
19  #pragma warning(disable:4255)
-
20  #endif
-
21 
-
22  #include <Windows.h>
-
23 
-
24  #if defined(_MSC_VER)
-
25  #pragma warning(pop)
-
26  #endif
-
27 
-
28 #endif
-
29 
-
30 #if (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__)
-
31  #include <pthread.h>
-
32 #endif
-
33 
-
34 #ifdef __cplusplus
-
35 extern "C" {
-
36 #endif
-
37 
-
38 typedef struct
-
39 {
-
40  #if _WIN32
-
41  CRITICAL_SECTION handle;
-
42  #elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__
-
43  pthread_mutex_t handle;
-
44  #else
-
45  #error "Unknown System"
-
46  #endif
- -
48 
-
53 VnError VnCriticalSection_initialize(VnCriticalSection *criticalSection);
-
54 
-
59 VnError VnCriticalSection_deinitialize(VnCriticalSection *criticalSection);
-
60 
-
65 VnError VnCriticalSection_enter(VnCriticalSection *criticalSection);
-
66 
-
71 VnError VnCriticalSection_leave(VnCriticalSection *criticalSection);
-
72 
-
73 #ifdef __cplusplus
-
74 }
-
75 #endif
-
76 
-
77 #endif
-
VnError VnCriticalSection_leave(VnCriticalSection *criticalSection)
Leave a critical section.
-
VnError VnCriticalSection_initialize(VnCriticalSection *criticalSection)
-
VnError VnCriticalSection_deinitialize(VnCriticalSection *criticalSection)
Disposes of a VnCriticalSection structure and associated resources.
-
Definition: criticalsection.h:38
-
VnError VnCriticalSection_enter(VnCriticalSection *criticalSection)
Attempt to enter a critical section.
-
- - - - diff --git a/vnproglib/c/help/dir_027780aa32961d07c4d51557f73a7d30.html b/vnproglib/c/help/dir_027780aa32961d07c4d51557f73a7d30.html deleted file mode 100644 index 81f0e93..0000000 --- a/vnproglib/c/help/dir_027780aa32961d07c4d51557f73a7d30.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -VectorNav C Library: xplat Directory Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - -
-
- - -
- -
- - -
-
-
-
xplat Directory Reference
-
-
- - - - - - - - - - - - -

-Files

file  criticalsection.h [code]
 
file  event.h [code]
 
file  serialport.h [code]
 
file  thread.h [code]
 
file  time.h [code]
 
-
- - - - diff --git a/vnproglib/c/help/dir_31a68fee5b0aade5575fcd9899552a15.html b/vnproglib/c/help/dir_31a68fee5b0aade5575fcd9899552a15.html deleted file mode 100644 index cc1ed46..0000000 --- a/vnproglib/c/help/dir_31a68fee5b0aade5575fcd9899552a15.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - -VectorNav C Library: util Directory Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - -
-
- - -
- -
- - -
-
-
-
util Directory Reference
-
-
- - - - - - - - -

-Files

file  compiler.h [code]
 
file  export.h [code]
 
file  port.h [code]
 
-
- - - - diff --git a/vnproglib/c/help/dir_8bde4b85f1f8cd0faa87b91375e717e4.html b/vnproglib/c/help/dir_8bde4b85f1f8cd0faa87b91375e717e4.html deleted file mode 100644 index 4b17afc..0000000 --- a/vnproglib/c/help/dir_8bde4b85f1f8cd0faa87b91375e717e4.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -VectorNav C Library: vn Directory Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - -
-
- - -
- -
- - -
-
-
-
vn Directory Reference
-
-
- - - - - - - - - - - - -

-Directories

directory  math
 
directory  protocol
 
directory  sensors
 
directory  util
 
directory  xplat
 
- - - - - - - - - - - - - - - - - - - - - - - -

-Files

file  bool.h [code]
 
file  const.h [code]
 
file  conv.h [code]
 
file  enum.h [code]
 
file  error.h [code]
 
file  error_detection.h [code]
 
file  int.h [code]
 
file  sensors.h [code]
 
file  types.h [code]
 
file  util.h [code]
 
file  vectornav.h [code]
 
-
- - - - diff --git a/vnproglib/c/help/dir_b8f3676ce45a2d9945f359024fabdbc0.html b/vnproglib/c/help/dir_b8f3676ce45a2d9945f359024fabdbc0.html deleted file mode 100644 index 3e950cf..0000000 --- a/vnproglib/c/help/dir_b8f3676ce45a2d9945f359024fabdbc0.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - -VectorNav C Library: sensors Directory Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - -
-
- - -
- -
- - -
-
-
-
sensors Directory Reference
-
-
- - - - - - - - -

-Files

file  compositedata.h [code]
 
file  ezasyncdata.h [code]
 
file  searcher.h [code]
 
-
- - - - diff --git a/vnproglib/c/help/dir_c8e7966a7aa62365068a660868ad1d75.html b/vnproglib/c/help/dir_c8e7966a7aa62365068a660868ad1d75.html deleted file mode 100644 index c26e68e..0000000 --- a/vnproglib/c/help/dir_c8e7966a7aa62365068a660868ad1d75.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - -VectorNav C Library: protocol Directory Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - -
-
- - -
- -
- - -
-
-
-
protocol Directory Reference
-
-
- - - - - - - - - - -

-Files

file  common.h [code]
 
file  spi.h [code]
 
file  upack.h [code]
 
file  upackf.h [code]
 
-
- - - - diff --git a/vnproglib/c/help/dir_d44c64559bbebec7f509842c48db8b23.html b/vnproglib/c/help/dir_d44c64559bbebec7f509842c48db8b23.html deleted file mode 100644 index 470e431..0000000 --- a/vnproglib/c/help/dir_d44c64559bbebec7f509842c48db8b23.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - -VectorNav C Library: include Directory Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - -
-
- - -
- -
- - -
-
-
-
include Directory Reference
-
-
- - - - -

-Directories

directory  vn
 
-
- - - - diff --git a/vnproglib/c/help/dir_f40822c92baf324ecf3ea224d9a1e0b5.html b/vnproglib/c/help/dir_f40822c92baf324ecf3ea224d9a1e0b5.html deleted file mode 100644 index d4191cf..0000000 --- a/vnproglib/c/help/dir_f40822c92baf324ecf3ea224d9a1e0b5.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - -VectorNav C Library: math Directory Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - -
-
- - -
- -
- - -
-
-
-
math Directory Reference
-
-
- - - - - - -

-Files

file  matrix.h [code]
 
file  vector.h [code]
 
-
- - - - diff --git a/vnproglib/c/help/doc.png b/vnproglib/c/help/doc.png deleted file mode 100644 index 17edabff95f7b8da13c9516a04efe05493c29501..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t diff --git a/vnproglib/c/help/doxygen.css b/vnproglib/c/help/doxygen.css deleted file mode 100644 index a3290a0..0000000 --- a/vnproglib/c/help/doxygen.css +++ /dev/null @@ -1,1454 +0,0 @@ -/* The standard CSS for doxygen 1.8.10 */ - -body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; -} - -/* @group Heading Levels */ - -h1.groupheader { - font-size: 150%; -} - -.title { - font: 400 14px/28px Roboto,sans-serif; - font-size: 150%; - font-weight: bold; - margin: 10px 2px; -} - -h2.groupheader { - border-bottom: 1px solid #879ECB; - color: #354C7B; - font-size: 150%; - font-weight: normal; - margin-top: 1.75em; - padding-top: 8px; - padding-bottom: 4px; - width: 100%; -} - -h3.groupheader { - font-size: 100%; -} - -h1, h2, h3, h4, h5, h6 { - -webkit-transition: text-shadow 0.5s linear; - -moz-transition: text-shadow 0.5s linear; - -ms-transition: text-shadow 0.5s linear; - -o-transition: text-shadow 0.5s linear; - transition: text-shadow 0.5s linear; - margin-right: 15px; -} - -h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px cyan; -} - -dt { - font-weight: bold; -} - -div.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; -} - -p.startli, p.startdd { - margin-top: 2px; -} - -p.starttd { - margin-top: 0px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; -} - -div.qindex, div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ - -a { - color: #3D578C; - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: #4665A2; -} - -a:hover { - text-decoration: underline; -} - -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #ffffff; - border: 1px double #869DCA; -} - -.contents a.qindexHL:visited { - color: #ffffff; -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code, a.code:visited, a.line, a.line:visited { - color: #4665A2; -} - -a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #4665A2; -} - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; - font-family: monospace, fixed; - font-size: 105%; -} - -div.fragment { - padding: 4px 6px; - margin: 4px 8px 4px 2px; - background-color: #FBFCFD; - border: 1px solid #C4CFE5; -} - -div.line { - font-family: monospace, fixed; - font-size: 13px; - min-height: 13px; - line-height: 1.0; - text-wrap: unrestricted; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; - padding-bottom: 0px; - margin: 0px; - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -div.line.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; -} - - -span.lineno { - padding-right: 4px; - text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; - white-space: pre; -} -span.lineno a { - background-color: #D8D8D8; -} - -span.lineno a:hover { - background-color: #C8C8C8; -} - -div.ah, span.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); -} - -div.classindex ul { - list-style: none; - padding-left: 0; -} - -div.classindex span.ai { - display: inline-block; -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background-color: white; - color: black; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 12px; - margin-right: 8px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { - -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { - color: #008000 -} - -span.keywordtype { - color: #604020 -} - -span.keywordflow { - color: #e08000 -} - -span.comment { - color: #800000 -} - -span.preprocessor { - color: #806020 -} - -span.stringliteral { - color: #002080 -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -blockquote { - background-color: #F7F8FB; - border-left: 2px solid #9CAFD4; - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; -} - -/* @end */ - -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid #4A6AAA; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ - -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - -.memberdecls td, .fieldtable tr { - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -.memberdecls td.glow, .fieldtable tr.glow { - background-color: cyan; - box-shadow: 0 0 15px cyan; -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memSeparator { - border-bottom: 1px solid #DEE4F0; - line-height: 1px; - margin: 0px; - padding: 0px; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight { - width: 100%; -} - -.memTemplParams { - color: #4665A2; - white-space: nowrap; - font-size: 80%; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: normal; - margin-left: 9px; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.mempage { - width: 100%; -} - -.memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; - -webkit-transition: box-shadow 0.5s linear; - -moz-transition: box-shadow 0.5s linear; - -ms-transition: box-shadow 0.5s linear; - -o-transition: box-shadow 0.5s linear; - transition: box-shadow 0.5s linear; - display: table !important; - width: 100%; -} - -.memitem.glow { - box-shadow: 0 0 15px cyan; -} - -.memname { - font-weight: bold; - margin-left: 6px; -} - -.memname td { - vertical-align: bottom; -} - -.memproto, dl.reflist dt { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 0px 6px 0px; - color: #253555; - font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - /* opera specific markup */ - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 4px; - border-top-left-radius: 4px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 4px; - -moz-border-radius-topleft: 4px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 4px; - -webkit-border-top-left-radius: 4px; - -} - -.memdoc, dl.reflist dd { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 10px 2px 10px; - background-color: #FBFCFD; - border-top-width: 0; - background-image:url('nav_g.png'); - background-repeat:repeat-x; - background-color: #FFFFFF; - /* opera specific markup */ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-bottomright: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -dl.reflist dt { - padding: 5px; -} - -dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} -.paramname code { - line-height: 14px; -} - -.params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; -} - -.params .paramname, .retval .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype { - font-style: italic; - vertical-align: top; -} - -.params .paramdir { - font-family: "courier new",courier,monospace; - vertical-align: top; -} - -table.mlabels { - border-spacing: 0px; -} - -td.mlabels-left { - width: 100%; - padding: 0px; -} - -td.mlabels-right { - vertical-align: bottom; - padding: 0px; - white-space: nowrap; -} - -span.mlabels { - margin-left: 8px; -} - -span.mlabel { - background-color: #728DC1; - border-top:1px solid #5373B4; - border-left:1px solid #5373B4; - border-right:1px solid #C4CFE5; - border-bottom:1px solid #C4CFE5; - text-shadow: none; - color: white; - margin-right: 4px; - padding: 2px 3px; - border-radius: 3px; - font-size: 7pt; - white-space: nowrap; - vertical-align: middle; -} - - - -/* @end */ - -/* these are for tree view inside a (index) page */ - -div.directory { - margin: 10px 0px; - border-top: 1px solid #9CAFD4; - border-bottom: 1px solid #9CAFD4; - width: 100%; -} - -.directory table { - border-collapse:collapse; -} - -.directory td { - margin: 0px; - padding: 0px; - vertical-align: top; -} - -.directory td.entry { - white-space: nowrap; - padding-right: 6px; - padding-top: 3px; -} - -.directory td.entry a { - outline:none; -} - -.directory td.entry a img { - border: none; -} - -.directory td.desc { - width: 100%; - padding-left: 6px; - padding-right: 6px; - padding-top: 3px; - border-left: 1px solid rgba(0,0,0,0.05); -} - -.directory tr.even { - padding-left: 6px; - background-color: #F7F8FB; -} - -.directory img { - vertical-align: -30%; -} - -.directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; - font-size: 9pt; -} - -.directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; - color: #3D578C; -} - -.arrow { - color: #9CAFD4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - font-size: 80%; - display: inline-block; - width: 16px; - height: 22px; -} - -.icon { - font-family: Arial, Helvetica; - font-weight: bold; - font-size: 12px; - height: 14px; - width: 16px; - display: inline-block; - background-color: #728DC1; - color: white; - text-align: center; - border-radius: 4px; - margin-left: 2px; - margin-right: 2px; -} - -.icona { - width: 24px; - height: 22px; - display: inline-block; -} - -.iconfopen { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderopen.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.iconfclosed { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderclosed.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.icondoc { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('doc.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -table.directory { - font: 400 14px Roboto,sans-serif; -} - -/* @end */ - -div.dynheader { - margin-top: 8px; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -table.fieldtable { - /*width: 100%;*/ - margin-bottom: 10px; - border: 1px solid #A8B8D9; - border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); -} - -.fieldtable td, .fieldtable th { - padding: 3px 7px 2px; -} - -.fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - border-right: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; - vertical-align: top; -} - -.fieldtable td.fieldname { - padding-top: 3px; -} - -.fieldtable td.fielddoc { - border-bottom: 1px solid #A8B8D9; - /*width: 100%;*/ -} - -.fieldtable td.fielddoc p:first-child { - margin-top: 0px; -} - -.fieldtable td.fielddoc p:last-child { - margin-bottom: 2px; -} - -.fieldtable tr:last-child td { - border-bottom: none; -} - -.fieldtable th { - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - font-size: 90%; - color: #253555; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid #A8B8D9; -} - - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: url('tab_b.png'); - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image:url('tab_b.png'); - background-repeat:repeat-x; - background-position: 0 -5px; - height:30px; - line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - color:#364D7C; -} - -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; - color: #283A5D; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; -} - -.navpath li.navelem a:hover -{ - color:#6884BD; -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#364D7C; - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -div.ingroups -{ - font-size: 8pt; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - margin: 0px; - border-bottom: 1px solid #C4CFE5; -} - -div.headertitle -{ - padding: 5px 5px 5px 10px; -} - -dl -{ - padding: 0 0 0 10px; -} - -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ -dl.section -{ - margin-left: 0px; - padding-left: 0px; -} - -dl.note -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #D0C000; -} - -dl.warning, dl.attention -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00D000; -} - -dl.deprecated -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #505050; -} - -dl.todo -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00C0E0; -} - -dl.test -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #3030E0; -} - -dl.bug -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #C08050; -} - -dl.section dd { - margin-bottom: 6px; -} - - -#projectlogo -{ - text-align: center; - vertical-align: bottom; - border-collapse: separate; -} - -#projectlogo img -{ - border: 0px none; -} - -#projectalign -{ - vertical-align: middle; -} - -#projectname -{ - font: 300% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 2px 0px; -} - -#projectbrief -{ - font: 120% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#projectnumber -{ - font: 50% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#titlearea -{ - padding: 0px; - margin: 0px; - width: 100%; - border-bottom: 1px solid #5373B4; -} - -.image -{ - text-align: center; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.diagraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - -div.zoom -{ - border: 1px solid #90A5CE; -} - -dl.citelist { - margin-bottom:50px; -} - -dl.citelist dt { - color:#334975; - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; -} - -dl.citelist dd { - margin:2px 0; - padding:5px 0; -} - -div.toc { - padding: 14px 25px; - background-color: #F4F6FA; - border: 1px solid #D8DFEE; - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 20px 10px 10px; - width: 200px; -} - -div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; -} - -div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #4665A2; - border-bottom: 0 none; - margin: 0; -} - -div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; -} - -div.toc li.level1 { - margin-left: 0px; -} - -div.toc li.level2 { - margin-left: 15px; -} - -div.toc li.level3 { - margin-left: 30px; -} - -div.toc li.level4 { - margin-left: 45px; -} - -.inherit_header { - font-weight: bold; - color: gray; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.inherit_header td { - padding: 6px 0px 2px 5px; -} - -.inherit { - display: none; -} - -tr.heading h2 { - margin-top: 12px; - margin-bottom: 4px; -} - -/* tooltip related style info */ - -.ttc { - position: absolute; - display: none; -} - -#powerTip { - cursor: default; - white-space: nowrap; - background-color: white; - border: 1px solid gray; - border-radius: 4px 4px 4px 4px; - box-shadow: 1px 1px 7px gray; - display: none; - font-size: smaller; - max-width: 80%; - opacity: 0.9; - padding: 1ex 1em 1em; - position: absolute; - z-index: 2147483647; -} - -#powerTip div.ttdoc { - color: grey; - font-style: italic; -} - -#powerTip div.ttname a { - font-weight: bold; -} - -#powerTip div.ttname { - font-weight: bold; -} - -#powerTip div.ttdeci { - color: #006318; -} - -#powerTip div { - margin: 0px; - padding: 0px; - font: 12px/16px Roboto,sans-serif; -} - -#powerTip:before, #powerTip:after { - content: ""; - position: absolute; - margin: 0px; -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.s:after, #powerTip.s:before, -#powerTip.w:after, #powerTip.w:before, -#powerTip.e:after, #powerTip.e:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.nw:after, #powerTip.nw:before, -#powerTip.sw:after, #powerTip.sw:before { - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; -} - -#powerTip.n:after, #powerTip.s:after, -#powerTip.w:after, #powerTip.e:after, -#powerTip.nw:after, #powerTip.ne:after, -#powerTip.sw:after, #powerTip.se:after { - border-color: rgba(255, 255, 255, 0); -} - -#powerTip.n:before, #powerTip.s:before, -#powerTip.w:before, #powerTip.e:before, -#powerTip.nw:before, #powerTip.ne:before, -#powerTip.sw:before, #powerTip.se:before { - border-color: rgba(128, 128, 128, 0); -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.nw:after, #powerTip.nw:before { - top: 100%; -} - -#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #ffffff; - border-width: 10px; - margin: 0px -10px; -} -#powerTip.n:before { - border-top-color: #808080; - border-width: 11px; - margin: 0px -11px; -} -#powerTip.n:after, #powerTip.n:before { - left: 50%; -} - -#powerTip.nw:after, #powerTip.nw:before { - right: 14px; -} - -#powerTip.ne:after, #powerTip.ne:before { - left: 14px; -} - -#powerTip.s:after, #powerTip.s:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.sw:after, #powerTip.sw:before { - bottom: 100%; -} - -#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #ffffff; - border-width: 10px; - margin: 0px -10px; -} - -#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; - border-width: 11px; - margin: 0px -11px; -} - -#powerTip.s:after, #powerTip.s:before { - left: 50%; -} - -#powerTip.sw:after, #powerTip.sw:before { - right: 14px; -} - -#powerTip.se:after, #powerTip.se:before { - left: 14px; -} - -#powerTip.e:after, #powerTip.e:before { - left: 100%; -} -#powerTip.e:after { - border-left-color: #ffffff; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.e:before { - border-left-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -#powerTip.w:after, #powerTip.w:before { - right: 100%; -} -#powerTip.w:after { - border-right-color: #ffffff; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.w:before { - border-right-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -@media print -{ - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } -} - diff --git a/vnproglib/c/help/doxygen.png b/vnproglib/c/help/doxygen.png deleted file mode 100644 index 3ff17d807fd8aa003bed8bb2a69e8f0909592fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3779 zcmV;!4m|ORP)tMIv#Q0*~7*`IBSO7_x;@a8#Zk6_PeKR_s92J&)(m+);m9Iz3blw)z#Gi zP!9lj4$%+*>Hz@HCmM9L9|8c+0u=!H$O3?R0Kgx|#WP<6fKfC8fM-CQZT|_r@`>VO zX^Hgb|9cJqpdJA5$MCEK`F_2@2Y@s>^+;pF`~jdI0Pvr|vl4`=C)EH@1IFe7pdJ8F zH(qGi004~QnF)Ggga~8v08kGAs2hKTATxr7pwfNk|4#_AaT>w8P6TV+R2kbS$v==} zAjf`s0g#V8lB+b3)5oEI*q+{Yt$MZDruD2^;$+(_%Qn+%v0X-bJO=;@kiJ^ygLBnC z?1OVv_%aex1M@jKU|Z~$eI?PoF4Vj>fDzyo zAiLfpXY*a^Sj-S5D0S3@#V$sRW)g)_1e#$%8xdM>Jm7?!h zu0P2X=xoN>^!4DoPRgph2(2va07yfpXF+WH7EOg1GY%Zn z7~1A<(z7Q$ktEXhW_?GMpHp9l_UL18F3KOsxu81pqoBiNbFSGsof-W z6~eloMoz=4?OOnl2J268x5rOY`dCk0us(uS#Ud4yqOr@?=Q57a}tit|BhY>}~frH1sP`ScHS_d)oqH^lYy zZ%VP`#10MlE~P?cE(%(#(AUSv_T{+;t@$U}El}(1ig`vZo`Rm;+5&(AYzJ^Ae=h2X z@Re%vHwZU>|f0NI&%$*4eJweC5OROQrpPMA@*w|o z()A==l}(@bv^&>H1Ob3C=<^|hob?0+xJ?QQ3-ueQC}zy&JQNib!OqSO@-=>XzxlSF zAZ^U*1l6EEmg3r};_HY>&Jo_{dOPEFTWPmt=U&F#+0(O59^UIlHbNX+eF8UzyDR*T z(=5X$VF3!gm@RooS-&iiUYGG^`hMR(07zr_xP`d!^BH?uD>Phl8Rdifx3Af^Zr`Ku ztL+~HkVeL#bJ)7;`=>;{KNRvjmc}1}c58Sr#Treq=4{xo!ATy|c>iRSp4`dzMMVd@ zL8?uwXDY}Wqgh4mH`|$BTXpUIu6A1-cSq%hJw;@^Zr8TP=GMh*p(m(tN7@!^D~sl$ zz^tf4II4|};+irE$Fnm4NTc5%p{PRA`%}Zk`CE5?#h3|xcyQsS#iONZ z6H(@^i9td!$z~bZiJLTax$o>r(p}3o@< zyD7%(>ZYvy=6$U3e!F{Z`uSaYy`xQyl?b{}eg|G3&fz*`QH@mDUn)1%#5u`0m$%D} z?;tZ0u(mWeMV0QtzjgN!lT*pNRj;6510Wwx?Yi_=tYw|J#7@(Xe7ifDzXuK;JB;QO z#bg~K$cgm$@{QiL_3yr}y&~wuv=P=#O&Tj=Sr)aCUlYmZMcw?)T?c%0rUe1cS+o!qs_ zQ6Gp)-{)V!;=q}llyK3|^WeLKyjf%y;xHku;9(vM!j|~<7w1c*Mk-;P{T&yG) z@C-8E?QPynNQ<8f01D`2qexcVEIOU?y}MG)TAE6&VT5`rK8s(4PE;uQ92LTXUQ<>^ ztyQ@=@kRdh@ebUG^Z6NWWIL;_IGJ2ST>$t!$m$qvtj0Qmw8moN6GUV^!QKNK zHBXCtUH8)RY9++gH_TUV4^=-j$t}dD3qsN7GclJ^Zc&(j6&a_!$jCf}%c5ey`pm~1)@{yI3 zTdWyB+*X{JFw#z;PwRr5evb2!ueWF;v`B0HoUu4-(~aL=z;OXUUEtG`_$)Oxw6FKg zEzY`CyKaSBK3xt#8gA|r_|Kehn_HYVBMpEwbn9-fI*!u*eTA1ef8Mkl1=!jV4oYwWYM}i`A>_F4nhmlCIC6WLa zY%;4&@AlnaG11ejl61Jev21|r*m+?Kru3;1tFDl}#!OzUp6c>go4{C|^erwpG*&h6bspUPJag}oOkN2912Y3I?(eRc@U9>z#HPBHC?nps7H5!zP``90!Q1n80jo+B3TWXp!8Pe zwuKuLLI6l3Gv@+QH*Y}2wPLPQ1^EZhT#+Ed8q8Wo z1pTmIBxv14-{l&QVKxAyQF#8Q@NeJwWdKk>?cpiJLkJr+aZ!Me+Cfp!?FWSRf^j2k z73BRR{WSKaMkJ>1Nbx5dan5hg^_}O{Tj6u%iV%#QGz0Q@j{R^Ik)Z*+(YvY2ziBG)?AmJa|JV%4UT$k`hcOg5r9R?5>?o~JzK zJCrj&{i#hG>N7!B4kNX(%igb%kDj0fOQThC-8mtfap82PNRXr1D>lbgg)dYTQ(kbx z`Ee5kXG~Bh+BHQBf|kJEy6(ga%WfhvdQNDuOfQoe377l#ht&DrMGeIsI5C<&ai zWG$|hop2@@q5YDa)_-A?B02W;#fH!%k`daQLEItaJJ8Yf1L%8x;kg?)k)00P-lH+w z)5$QNV6r2$YtnV(4o=0^3{kmaXn*Dm0F*fU(@o)yVVjk|ln8ea6BMy%vZAhW9|wvA z8RoDkVoMEz1d>|5(k0Nw>22ZT){V<3$^C-cN+|~hKt2)){+l-?3m@-$c?-dlzQ)q- zZ)j%n^gerV{|+t}9m1_&&Ly!9$rtG4XX|WQ8`xYzGC~U@nYh~g(z9)bdAl#xH)xd5a=@|qql z|FzEil{P5(@gy!4ek05i$>`E^G~{;pnf6ftpLh$h#W?^#4UkPfa;;?bsIe&kz!+40 zI|6`F2n020)-r`pFaZ38F!S-lJM-o&inOw|66=GMeP@xQU5ghQH{~5Uh~TMTd;I9` z>YhVB`e^EVj*S7JF39ZgNf}A-0DwOcTT63ydN$I3b?yBQtUI*_fae~kPvzoD$zjX3 zoqBe#>12im4WzZ=f^4+u=!lA|#r%1`WB0-6*3BL#at`47#ebPpR|D1b)3BjT34nYY z%Ds%d?5$|{LgOIaRO{{oC&RK`O91$fqwM0(C_TALcozu*fWHb%%q&p-q{_8*2Zsi^ zh1ZCnr^UYa;4vQEtHk{~zi>wwMC5o{S=$P0X681y`SXwFH?Ewn{x-MOZynmc)JT5v zuHLwh;tLfxRrr%|k370}GofLl7thg>ACWWY&msqaVu&ry+`7+Ss>NL^%T1|z{IGMA zW-SKl=V-^{(f!Kf^#3(|T2W47d(%JVCI4JgRrT1pNz>+ietmFToNv^`gzC@&O-)+i zPQ~RwK8%C_vf%;%e>NyTp~dM5;!C|N0Q^6|CEb7Bw=Vz~$1#FA;Z*?mKSC)Hl-20s t8QyHj(g6VK0RYbl8UjE)0O0w=e*@m04r>stuEhWV002ovPDHLkV1hl;dM*F} diff --git a/vnproglib/c/help/dynsections.js b/vnproglib/c/help/dynsections.js deleted file mode 100644 index 5cb79e1..0000000 --- a/vnproglib/c/help/dynsections.js +++ /dev/null @@ -1,97 +0,0 @@ -function toggleVisibility(linkObj) -{ - var base = $(linkObj).attr('id'); - var summary = $('#'+base+'-summary'); - var content = $('#'+base+'-content'); - var trigger = $('#'+base+'-trigger'); - var src=$(trigger).attr('src'); - if (content.is(':visible')===true) { - content.hide(); - summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); - } else { - content.show(); - summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } - return false; -} - -function updateStripes() -{ - $('table.directory tr'). - removeClass('even').filter(':visible:even').addClass('even'); -} - -function toggleLevel(level) -{ - $('table.directory tr').each(function() { - var l = this.id.split('_').length-1; - var i = $('#img'+this.id.substring(3)); - var a = $('#arr'+this.id.substring(3)); - if (l - - - - - -VectorNav C Library: enum.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
enum.h
-
-
-
1 #ifndef VNENUM_H_INCLUDED
-
2 #define VNENUM_H_INCLUDED
-
3 
-
5 typedef enum
-
6 {
-
7  PACKETTYPE_BINARY,
-
8  PACKETTYPE_ASCII,
-
9  PACKETTYPE_UNKNOWN
-
10 } PacketType;
-
11 
-
13 typedef enum
-
14 {
-
15  BINARYGROUPTYPE_COMMON = 0x01,
-
16  BINARYGROUPTYPE_TIME = 0x02,
-
17  BINARYGROUPTYPE_IMU = 0x04,
-
18  BINARYGROUPTYPE_GPS = 0x08,
-
19  BINARYGROUPTYPE_ATTITUDE = 0x10,
-
20  BINARYGROUPTYPE_INS = 0x20
-
21 } BinaryGroupType;
-
22 
-
24 typedef enum
-
25 {
-
26  ASYNCMODE_NONE = 0,
-
27  ASYNCMODE_PORT1 = 1,
-
28  ASYNCMODE_PORT2 = 2,
-
29  ASYNCMODE_BOTH = 3
-
30 } AsyncMode;
-
31 
-
33 typedef enum
-
34 {
-
35  COMMONGROUP_NONE = 0x0000,
-
36  COMMONGROUP_TIMESTARTUP = 0x0001,
-
37  COMMONGROUP_TIMEGPS = 0x0002,
-
38  COMMONGROUP_TIMESYNCIN = 0x0004,
-
39  COMMONGROUP_YAWPITCHROLL = 0x0008,
-
40  COMMONGROUP_QUATERNION = 0x0010,
-
41  COMMONGROUP_ANGULARRATE = 0x0020,
-
42  COMMONGROUP_POSITION = 0x0040,
-
43  COMMONGROUP_VELOCITY = 0x0080,
-
44  COMMONGROUP_ACCEL = 0x0100,
-
45  COMMONGROUP_IMU = 0x0200,
-
46  COMMONGROUP_MAGPRES = 0x0400,
-
47  COMMONGROUP_DELTATHETA = 0x0800,
-
48  COMMONGROUP_INSSTATUS = 0x1000,
-
49  COMMONGROUP_SYNCINCNT = 0x2000,
-
50  COMMONGROUP_TIMEGPSPPS = 0x4000
-
51 } CommonGroup;
-
52 
-
54 typedef enum
-
55 {
-
56  TIMEGROUP_NONE = 0x0000,
-
57  TIMEGROUP_TIMESTARTUP = 0x0001,
-
58  TIMEGROUP_TIMEGPS = 0x0002,
-
59  TIMEGROUP_GPSTOW = 0x0004,
-
60  TIMEGROUP_GPSWEEK = 0x0008,
-
61  TIMEGROUP_TIMESYNCIN = 0x0010,
-
62  TIMEGROUP_TIMEGPSPPS = 0x0020,
-
63  TIMEGROUP_TIMEUTC = 0x0040,
-
64  TIMEGROUP_SYNCINCNT = 0x0080
-
65 } TimeGroup;
-
66 
-
68 typedef enum
-
69 {
-
70  IMUGROUP_NONE = 0x0000,
-
71  IMUGROUP_IMUSTATUS = 0x0001,
-
72  IMUGROUP_UNCOMPMAG = 0x0002,
-
73  IMUGROUP_UNCOMPACCEL = 0x0004,
-
74  IMUGROUP_UNCOMPGYRO = 0x0008,
-
75  IMUGROUP_TEMP = 0x0010,
-
76  IMUGROUP_PRES = 0x0020,
-
77  IMUGROUP_DELTATHETA = 0x0040,
-
78  IMUGROUP_DELTAVEL = 0x0080,
-
79  IMUGROUP_MAG = 0x0100,
-
80  IMUGROUP_ACCEL = 0x0200,
-
81  IMUGROUP_ANGULARRATE = 0x0400,
-
82  IMUGROUP_SENSSAT = 0x0800
-
83  #ifdef EXTRA
-
84  ,
-
85  IMUGROUP_RAW = 0x1000
-
86  #endif
-
87 } ImuGroup;
-
88 
-
90 typedef enum
-
91 {
-
92  GPSGROUP_NONE = 0x0000,
-
93  GPSGROUP_UTC = 0x0001,
-
94  GPSGROUP_TOW = 0x0002,
-
95  GPSGROUP_WEEK = 0x0004,
-
96  GPSGROUP_NUMSATS = 0x0008,
-
97  GPSGROUP_FIX = 0x0010,
-
98  GPSGROUP_POSLLA = 0x0020,
-
99  GPSGROUP_POSECEF = 0x0040,
-
100  GPSGROUP_VELNED = 0x0080,
-
101  GPSGROUP_VELECEF = 0x0100,
-
102  GPSGROUP_POSU = 0x0200,
-
103  GPSGROUP_VELU = 0x0400,
-
104  GPSGROUP_TIMEU = 0x0800
-
105  #ifdef EXTRA
-
106  ,
-
107  GPSGROUP_SVSTAT = 0x1000
-
108  #endif
-
109 } GpsGroup;
-
110 
-
112 typedef enum
-
113 {
-
114  ATTITUDEGROUP_NONE = 0x0000,
-
115  ATTITUDEGROUP_VPESTATUS = 0x0001,
-
116  ATTITUDEGROUP_YAWPITCHROLL = 0x0002,
-
117  ATTITUDEGROUP_QUATERNION = 0x0004,
-
118  ATTITUDEGROUP_DCM = 0x0008,
-
119  ATTITUDEGROUP_MAGNED = 0x0010,
-
120  ATTITUDEGROUP_ACCELNED = 0x0020,
-
121  ATTITUDEGROUP_LINEARACCELBODY = 0x0040,
-
122  ATTITUDEGROUP_LINEARACCELNED = 0x0080,
-
123  ATTITUDEGROUP_YPRU = 0x0100
-
124  #ifdef EXTRA
-
125  ,
-
126  ATTITUDEGROUP_YPRRATE = 0x0200,
-
127  ATTITUDEGROUP_STATEAHRS = 0x0400,
-
128  ATTITUDEGROUP_COVAHRS = 0x0800
-
129  #endif
-
130 } AttitudeGroup;
-
131 
-
133 typedef enum
-
134 {
-
135  INSGROUP_NONE = 0x0000,
-
136  INSGROUP_INSSTATUS = 0x0001,
-
137  INSGROUP_POSLLA = 0x0002,
-
138  INSGROUP_POSECEF = 0x0004,
-
139  INSGROUP_VELBODY = 0x0008,
-
140  INSGROUP_VELNED = 0x0010,
-
141  INSGROUP_VELECEF = 0x0020,
-
142  INSGROUP_MAGECEF = 0x0040,
-
143  INSGROUP_ACCELECEF = 0x0080,
-
144  INSGROUP_LINEARACCELECEF = 0x0100,
-
145  INSGROUP_POSU = 0x0200,
-
146  INSGROUP_VELU = 0x0400
-
147  #ifdef EXTRA
-
148  ,
-
149  INSGROUP_STATEINS = 0x0800,
-
150  INSGROUP_COVINS = 0x1000
-
151  #endif
-
152 } InsGroup;
-
153 
-
155 typedef enum
-
156 {
-
157  CDVEL_None,
-
158  CDVEL_GpsNed,
-
159  CDVEL_GpsEcef,
-
160  CDVEL_EstimatedNed,
-
161  CDVEL_EstimatedEcef,
-
162  CDVEL_EstimatedBody
-
163 } VelocityType;
-
164 
-
166 typedef enum
-
167 {
-
168  ERR_HARD_FAULT = 1,
-
169  ERR_SERIAL_BUFFER_OVERFLOW = 2,
-
170  ERR_INVALID_CHECKSUM = 3,
-
171  ERR_INVALID_COMMAND = 4,
-
172  ERR_NOT_ENOUGH_PARAMETERS = 5,
-
173  ERR_TOO_MANY_PARAMETERS = 6,
-
174  ERR_INVALID_PARAMETER = 7,
-
175  ERR_INVALID_REGISTER = 8,
-
176  ERR_UNAUTHORIZED_ACCESS = 9,
-
177  ERR_WATCHDOG_RESET = 10,
-
178  ERR_OUTPUT_BUFFER_OVERFLOW = 11,
-
179  ERR_INSUFFICIENT_BAUD_RATE = 12,
-
180  ERR_ERROR_BUFFER_OVERFLOW = 255
-
181 } SensorError;
-
182 
-
184 typedef enum
-
185 {
-
187  E_NONE,
-
188 
-
190  E_UNKNOWN,
-
191 
-
193  E_BUFFER_TOO_SMALL,
-
194 
-
196  E_INVALID_VALUE,
-
197 
-
199  E_NOT_IMPLEMENTED,
-
200 
-
202  E_NOT_SUPPORTED,
-
203 
-
205  E_NOT_FOUND,
-
206 
-
208  E_TIMEOUT,
-
209 
-
211  E_PERMISSION_DENIED,
-
212 
-
214  E_INVALID_OPERATION,
-
215 
-
217  E_SIGNALED,
-
218 
-
220  E_MEMORY_NOT_ALLOCATED,
-
221 
-
223  E_SENSOR_HARD_FAULT = 1001,
-
224 
-
226  E_SENSOR_SERIAL_BUFFER_OVERFLOW = 1002,
-
227 
-
229  E_SENSOR_INVALID_CHECKSUM = 1003,
-
230 
-
232  E_SENSOR_INVALID_COMMAND = 1004,
-
233 
-
235  E_SENSOR_NOT_ENOUGH_PARAMETERS = 1005,
-
236 
-
238  E_SENSOR_TOO_MANY_PARAMETERS = 1006,
-
239 
-
241  E_SENSOR_INVALID_PARAMETER = 1007,
-
242 
-
244  E_SENSOR_INVALID_REGISTER = 1008,
-
245 
-
247  E_SENSOR_UNAUTHORIZED_ACCESS = 1009,
-
248 
-
250  E_SENSOR_WATCHDOG_RESET = 1010,
-
251 
-
253  E_SENSOR_OUTPUT_BUFFER_OVERFLOW = 1011,
-
254 
-
256  E_SENSOR_INSUFFICIENT_BAUD_RATE = 1012,
-
257 
-
259  E_SENSOR_ERROR_BUFFER_OVERFLOW = 1013,
-
260 
-
261  E_DATA_NOT_ELLIPTICAL = 2001,
-
262  E_ILL_CONDITIONED = 2002,
-
263  E_EXCEEDED_MAX_ITERATIONS = 2003,
-
264  E_BAD_FINAL_INTERATION = 2004,
-
265  E_INSUFFICIENT_DATA = 2005
-
267 } VnError;
-
268 
-
271 typedef enum
-
272 {
-
274  VNERRORDETECTIONMODE_NONE,
-
275 
-
277  VNERRORDETECTIONMODE_CHECKSUM,
-
278 
-
280  VNERRORDETECTIONMODE_CRC
-
281 
-
282 } VnErrorDetectionMode;
-
283 
-
285 typedef enum
-
286 {
-
287  #ifdef EXTRA
-
288 
-
291  VNSYNCINMODE_COUNT2 = 0,
-
295  VNSYNCINMODE_ADC2 = 1,
-
299  VNSYNCINMODE_ASYNC2 = 2,
-
300  #endif
-
301 
-
303  VNSYNCINMODE_COUNT = 3,
-
306  VNSYNCINMODE_IMU = 4,
-
309  VNSYNCINMODE_ASYNC = 5
-
310 } VnSyncInMode;
-
311 
-
313 typedef enum
-
314 {
-
317  VNSYNCINEDGE_RISING = 0,
-
320  VNSYNCINEDGE_FALLING = 1
-
321 } VnSyncInEdge;
-
322 
-
324 typedef enum
-
325 {
-
328  VNSYNCOUTMODE_NONE = 0,
-
331  VNSYNCOUTMODE_ITEMSTART = 1,
-
334  VNSYNCOUTMODE_IMUREADY = 2,
-
337  VNSYNCOUTMODE_INS = 3,
-
340  VNSYNCOUTMODE_GPSPPS = 6
-
341 } VnSyncOutMode;
-
342 
-
344 typedef enum
-
345 {
-
348  VNSYNCOUTPOLARITY_NEGATIVE = 0,
-
351  VNSYNCOUTPOLARITY_POSITIVE = 1
-
352 } VnSyncOutPolarity;
-
353 
-
355 typedef enum
-
356 {
-
359  VNCOUNTMODE_NONE = 0,
-
362  VNCOUNTMODE_SYNCINCOUNT = 1,
-
365  VNCOUNTMODE_SYNCINTIME = 2,
-
368  VNCOUNTMODE_SYNCOUTCOUNTER = 3,
-
371  VNCOUNTMODE_GPSPPS = 4
-
372 } VnCountMode;
-
373 
-
375 typedef enum
-
376 {
-
379  VNSTATUSMODE_OFF = 0,
-
382  VNSTATUSMODE_VPESTATUS = 1,
-
385  VNSTATUSMODE_INSSTATUS = 2
-
386 } VnStatusMode;
-
387 
-
389 typedef enum
-
390 {
-
393  VNCHECKSUMMODE_OFF = 0,
-
396  VNCHECKSUMMODE_CHECKSUM = 1,
-
399  VNCHECKSUMMODE_CRC = 2
-
400 } VnChecksumMode;
-
401 
-
403 typedef enum
-
404 {
-
407  VNERRORMODE_IGNORE = 0,
-
410  VNERRORMODE_SEND = 1,
-
413  VNERRORMODE_SENDANDOFF = 2
-
414 } VnErrorMode;
-
415 
-
417 typedef enum
-
418 {
-
421  VNFILTERMODE_NOFILTERING = 0,
-
424  VNFILTERMODE_ONLYRAW = 1,
-
427  VNFILTERMODE_ONLYCOMPENSATED = 2,
-
430  VNFILTERMODE_BOTH = 3
-
431 } VnFilterMode;
-
432 
-
434 typedef enum
-
435 {
-
438  VNINTEGRATIONFRAME_BODY = 0,
-
441  VNINTEGRATIONFRAME_NED = 1
-
442 } VnIntegrationFrame;
-
443 
-
445 typedef enum
-
446 {
-
449  VNCOMPENSATIONMODE_NONE = 0,
-
452  VNCOMPENSATIONMODE_BIAS = 1
-
453 } VnCompensationMode;
-
454 
-
456 typedef enum
-
457 {
-
460  VNGPSFIX_NOFIX = 0,
-
463  VNGPSFIX_TIMEONLY = 1,
-
466  VNGPSFIX_2D = 2,
-
469  VNGPSFIX_3D = 3
-
470 } VnGpsFix;
-
471 
-
473 typedef enum
-
474 {
-
477  VNGPSMODE_ONBOARDGPS = 0,
-
480  VNGPSMODE_EXTERNALGPS = 1,
-
483  VNGPSMODE_EXTERNALVN200GPS = 2
-
484 } VnGpsMode;
-
485 
-
487 typedef enum
-
488 {
-
491  VNPPSSOURCE_GPSPPSRISING = 0,
-
494  VNPPSSOURCE_GPSPPSFALLING = 1,
-
497  VNPPSSOURCE_SYNCINRISING = 2,
-
500  VNPPSSOURCE_SYNCINFALLING = 3
-
501 } VnPpsSource;
-
502 
-
504 typedef enum
-
505 {
-
508  VNVPEENABLE_DISABLE = 0,
-
511  VNVPEENABLE_ENABLE = 1
-
512 } VnVpeEnable;
-
513 
-
515 typedef enum
-
516 {
-
519  VNHEADINGMODE_ABSOLUTE = 0,
-
522  VNHEADINGMODE_RELATIVE = 1,
-
525  VNHEADINGMODE_INDOOR = 2
-
526 } VnHeadingMode;
-
527 
-
529 typedef enum
-
530 {
-
533  VNVPEMODE_OFF = 0,
-
536  VNVPEMODE_MODE1 = 1
-
537 } VnVpeMode;
-
538 
-
540 typedef enum
-
541 {
-
544  VNSCENARIO_AHRS = 0,
-
547  VNSCENARIO_INSWITHPRESSURE = 1,
-
550  VNSCENARIO_INSWITHOUTPRESSURE = 2,
-
553  VNSCENARIO_GPSMOVINGBASELINEDYNAMIC = 3,
-
556  VNSCENARIO_GPSMOVINGBASELINESTATIC = 4
-
557 } VnScenario;
-
558 
-
560 typedef enum
-
561 {
-
564  VNHSIMODE_OFF = 0,
-
567  VNHSIMODE_RUN = 1,
-
570  VNHSIMODE_RESET = 2
-
571 } VnHsiMode;
-
572 
-
574 typedef enum
-
575 {
-
578  VNHSIOUTPUT_NOONBOARD = 1,
-
581  VNHSIOUTPUT_USEONBOARD = 3
-
582 } VnHsiOutput;
-
583 
-
585 typedef enum
-
586 {
-
589  VNVELOCITYCOMPENSATIONMODE_DISABLED = 0,
-
592  VNVELOCITYCOMPENSATIONMODE_BODYMEASUREMENT = 1
-
593 } VnVelocityCompensationMode;
-
594 
-
596 typedef enum
-
597 {
-
600  VNMAGNETICMODE_2D = 0,
-
603  VNMAGNETICMODE_3D = 1
-
604 } VnMagneticMode;
-
605 
-
607 typedef enum
-
608 {
-
611  VNEXTERNALSENSORMODE_INTERNAL = 0,
-
614  VNEXTERNALSENSORMODE_EXTERNAL200HZ = 1,
-
617  VNEXTERNALSENSORMODE_EXTERNALONUPDATE = 2
-
618 } VnExternalSensorMode;
-
619 
-
621 typedef enum
-
622 {
-
625  VNFOAMINIT_NOFOAMINIT = 0,
-
628  VNFOAMINIT_FOAMINITPITCHROLL = 1,
-
631  VNFOAMINIT_FOAMINITHEADINGPITCHROLL = 2,
-
634  VNFOAMINIT_FOAMINITPITCHROLLCOVARIANCE = 3,
-
637  VNFOAMINIT_FOAMINITHEADINGPITCHROLLCOVARIANCE = 4
-
638 } VnFoamInit;
-
639 
-
640 #endif
-
- - - - diff --git a/vnproglib/c/help/error_8h_source.html b/vnproglib/c/help/error_8h_source.html deleted file mode 100644 index 8a2d142..0000000 --- a/vnproglib/c/help/error_8h_source.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -VectorNav C Library: error.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
error.h
-
-
-
1 #ifndef VN_ERROR_H_INCLUDED
-
2 #define VN_ERROR_H_INCLUDED
-
3 
-
4 #include "vn/enum.h"
-
5 
-
12 void strFromVnError(char* out, VnError val);
-
13 
-
14 #endif
-
- - - - diff --git a/vnproglib/c/help/error__detection_8h_source.html b/vnproglib/c/help/error__detection_8h_source.html deleted file mode 100644 index b830d78..0000000 --- a/vnproglib/c/help/error__detection_8h_source.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - -VectorNav C Library: error_detection.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
error_detection.h
-
-
-
1 #ifndef VNERRDET_H_INCLUDED
-
2 #define VNERRDET_H_INCLUDED
-
3 
-
6 #include "vn/enum.h"
-
7 #include "vn/int.h"
-
8 #include "vn/types.h"
-
9 
-
10 #ifdef __cplusplus
-
11 extern "C" {
-
12 #endif
-
13 
-
20 uint8_t VnChecksum8_compute(char const *data, size_t length);
-
21 
-
28 uint16_t VnCrc16_compute(char const *data, size_t length);
-
29 
-
30 #ifdef __cplusplus
-
31 }
-
32 #endif
-
33 
-
34 #endif
-
- - - - diff --git a/vnproglib/c/help/event_8h.html b/vnproglib/c/help/event_8h.html deleted file mode 100644 index 764c1d9..0000000 --- a/vnproglib/c/help/event_8h.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - -VectorNav C Library: event.h File Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
- -
-
event.h File Reference
-
-
-
#include "vn/int.h"
-#include "vn/error.h"
-#include "vn/bool.h"
-
-

Go to the source code of this file.

- - - - - -

-Data Structures

struct  VnEvent
 Structure representing an event. More...
 
- - - - - - - - - - - - - - - - -

-Functions

VnError VnEvent_initialize (VnEvent *event)
 Initializes a VnEvent structure. More...
 
VnError VnEvent_wait (VnEvent *event)
 Causes the calling thread to wait on an event until the event is signalled. More...
 
VnError VnEvent_waitUs (VnEvent *event, uint32_t timeoutUs)
 Causes the calling thread to wait on an event until the event is signalled. More...
 
VnError VnEvent_waitMs (VnEvent *event, uint32_t timeoutMs)
 Causes the calling thread to wait on an event until the event is signalled. More...
 
VnError VnEvent_signal (VnEvent *event)
 Signals an event. More...
 
-

Detailed Description

-

{COMMON_HEADER}

-

-DESCRIPTION

-

This header file contains structures and functions useful events and signals.

-

Function Documentation

- -
-
- - - - - - - - -
VnError VnEvent_initialize (VnEventevent)
-
- -

Initializes a VnEvent structure.

-
Parameters
- - -
[in]eventThe VnEvent structure to initialize.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - -
VnError VnEvent_signal (VnEventevent)
-
- -

Signals an event.

-
Parameters
- - -
[in]eventThe associated event.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - -
VnError VnEvent_wait (VnEventevent)
-
- -

Causes the calling thread to wait on an event until the event is signalled.

-

If the event is signalled, the value E_SIGNALED will be returned.

-
Parameters
- - -
[in]eventThe associated VnEvent.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnEvent_waitMs (VnEventevent,
uint32_t timeoutMs 
)
-
- -

Causes the calling thread to wait on an event until the event is signalled.

-

If the event is signalled, the value E_SIGNALED will be returned.

-
Parameters
- - - -
[in]eventThe associated VnEvent.
[in]timeoutMsThe number of milliseconds to wait before the thread stops waiting on the event. If a timeout does occur, the value E_TIMEOUT will be returned.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnEvent_waitUs (VnEventevent,
uint32_t timeoutUs 
)
-
- -

Causes the calling thread to wait on an event until the event is signalled.

-

If the event is signalled, the value E_SIGNALED will be returned.

-
Parameters
- - - -
[in]eventThe associated VnEvent.
[in]timeoutUsThe number of microseconds to wait before the thread stops waiting on the event. If a timeout does occur, the value E_TIMEOUT will be returned.
-
-
-
Returns
Any errors encountered.
- -
-
-
- - - - diff --git a/vnproglib/c/help/event_8h_source.html b/vnproglib/c/help/event_8h_source.html deleted file mode 100644 index 18beb58..0000000 --- a/vnproglib/c/help/event_8h_source.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - -VectorNav C Library: event.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
event.h
-
-
-Go to the documentation of this file.
1 
-
7 #ifndef _VNEVENT_H_
-
8 #define _VNEVENT_H_
-
9 
-
10 #include "vn/int.h"
-
11 #include "vn/error.h"
-
12 #include "vn/bool.h"
-
13 
-
14 #ifdef _WIN32
-
15 
-
16  /* Disable some warnings for Visual Studio with -Wall. */
-
17  #if defined(_MSC_VER)
-
18  #pragma warning(push)
-
19  #pragma warning(disable:4668)
-
20  #pragma warning(disable:4820)
-
21  #pragma warning(disable:4255)
-
22  #endif
-
23 
-
24  #include <Windows.h>
-
25 
-
26  #if defined(_MSC_VER)
-
27  #pragma warning(pop)
-
28  #endif
-
29 
-
30 #endif
-
31 
-
32 #if (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__)
-
33  #include <pthread.h>
-
34 #endif
-
35 
-
36 #ifdef __cplusplus
-
37 extern "C" {
-
38 #endif
-
39 
-
41 typedef struct
-
42 {
-
43  #ifdef _WIN32
-
44  HANDLE handle;
-
45  #elif (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__)
-
46  pthread_mutex_t mutex;
-
47  pthread_cond_t condition;
-
48  bool isTriggered;
-
49  #else
-
50  #error "Unknown System"
-
51  #endif
-
52 } VnEvent;
-
53 
-
58 VnError VnEvent_initialize(VnEvent *event);
-
59 
-
66 VnError VnEvent_wait(VnEvent *event);
-
67 
-
76 VnError VnEvent_waitUs(VnEvent *event, uint32_t timeoutUs);
-
77 
-
86 VnError VnEvent_waitMs(VnEvent *event, uint32_t timeoutMs);
-
87 
-
92 VnError VnEvent_signal(VnEvent *event);
-
93 
-
94 #ifdef __cplusplus
-
95 }
-
96 #endif
-
97 
-
98 #endif
-
VnError VnEvent_signal(VnEvent *event)
Signals an event.
-
VnError VnEvent_wait(VnEvent *event)
Causes the calling thread to wait on an event until the event is signalled.
-
VnError VnEvent_waitMs(VnEvent *event, uint32_t timeoutMs)
Causes the calling thread to wait on an event until the event is signalled.
-
Structure representing an event.
Definition: event.h:41
-
VnError VnEvent_initialize(VnEvent *event)
Initializes a VnEvent structure.
-
VnError VnEvent_waitUs(VnEvent *event, uint32_t timeoutUs)
Causes the calling thread to wait on an event until the event is signalled.
-
- - - - diff --git a/vnproglib/c/help/examples.html b/vnproglib/c/help/examples.html deleted file mode 100644 index 0cbf6ae..0000000 --- a/vnproglib/c/help/examples.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - -VectorNav C Library: Examples - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
-
-
Examples
-
-
-
Here is a list of all examples:
-
- - - - diff --git a/vnproglib/c/help/export_8h_source.html b/vnproglib/c/help/export_8h_source.html deleted file mode 100644 index 1983ed9..0000000 --- a/vnproglib/c/help/export_8h_source.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - -VectorNav C Library: export.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
export.h
-
-
-
1 #ifndef VNEXPORT_H_INCLUDED
-
2 #define VNEXPORT_H_INCLUDED
-
3 
-
4 /* Not only does this have to be windows to use __declspec */
-
5 /* it also needs to actually be outputting a DLL */
-
6 #if defined _WINDOWS && defined _WINDLL
-
7  #if proglib_c_EXPORTS
-
8  #define DllExport __declspec(dllexport)
-
9  #else
-
10  #define DllExport __declspec(dllimport)
-
11  #endif
-
12 #else
-
13  #define DllExport
-
14 #endif
-
15 
-
16 #endif
-
- - - - diff --git a/vnproglib/c/help/ez_async_data_2main_8c-example.html b/vnproglib/c/help/ez_async_data_2main_8c-example.html deleted file mode 100644 index 6c39e1c..0000000 --- a/vnproglib/c/help/ez_async_data_2main_8c-example.html +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - -VectorNav C Library: ez_async_data/main.c - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
-
-
ez_async_data/main.c
-
-
-

This example illustrates using the high-level VnEzAsyncData structure to access and easily connect to a VectorNav sensor on a system with an operating system and display current data from the VectorNav sensor.

-

-Visual Studio (Windows)

-
    -
  1. Open the solution file for your specific Visual Studio version located at <root>/c/examples/ez_async_data/projects/vs20XX/ez_async_data.sln.
  2. -
  3. Open the project file main.c and edit the SENSOR_PORT and SENSOR_BAUDRATE constants at the top of the main() function to the settings used by your attached VectorNav sensor.
  4. -
  5. Build the entire solution by going to the menu BUILD -> Build Solution.
  6. -
  7. Right-click the project ez_async_data and select Debug -> Start new instance.
  8. -
-

-Make (Linux/Mac OS X)

-
    -
  1. Open a terminal and change to the directory <root>/c/examples/ez_async_data .
  2. -
  3. Open the file main.c and edit the SENSOR_PORT and SENSOR_BAUDRATE constants at the top of the main() function to the settings used by your attached VectorNav sensor.
  4. -
  5. To build the example, run the command make .
  6. -
  7. Run the example by executing the command sudo ./ez_async_data .
  8. -
-

-CLion (Windows/Linux/Mac OS X)

-
    -
  1. Open the project file located at <root>/c/examples/ez_async_data in CLion.
  2. -
  3. Open the project file main.c and edit the SENSOR_PORT and SENSOR_BAUDRATE constants at the top of the main() function to the settings used by your attached VectorNav sensor.
  4. -
  5. Make sure the ez_async_data configuration is active. You can set this by clicking the small drop-down list in the upper-right corner and selecting the option ez_async_data.
  6. -
  7. Build the solution by going to the menu Run -> Build.
  8. -
  9. Run the example by going to the menu Run -> Run 'ez_async_data'.
  10. -
-

-Other

-

To compile and run for an environment not listed here, you will need to add all of the *.c files in the directory <root>/c/src along with the file located at <root>/c/examples/ez_async_data/main.c to your project for compilation. You will also need to add <root>/c/include to your include directories. Finally, before compiling, open the file main.c and edit the SENSOR_PORT and SENSOR_BAUDRATE constants at the top of the main() function to the settings used by your attached VectorNav sensor.

-
#include <stdio.h>
-
-
/* Include files needed to use VnEzAsyncData. */
-
#include "vn/sensors/ezasyncdata.h"
-
-
int processErrorReceived(char* errorMessage, VnError errorCode);
-
-
int main(void)
-
{
- -
VnError error = E_NONE;
-
size_t i = 0;
-
char strConversions[50];
-
-
/* This example walks through using the VnEzAsyncData structure to easily access
-
* asynchronous data from a VectorNav sensor at a slight performance hit which is
-
* acceptable for many applications, especially simple data logging. */
-
-
/* First determine which COM port your sensor is attached to and update the
-
* constant below. Also, if you have changed your sensor from the factory
-
* default baudrate of 115200, you will need to update the baudrate
-
* constant below as well. */
-
const char SENSOR_PORT[] = "COM1"; /* Windows format for physical and virtual (USB) serial port. */
-
/*const char SENSOR_PORT[] = "/dev/ttyS1"; */ /* Linux format for physical serial port. */
-
/*const char SENSOR_PORT[] = "/dev/ttyUSB0"; */ /* Linux format for virtual (USB) serial port. */
-
/*const char SENSOR_PORT[] = "/dev/tty.usbserial-FTXXXXXX"; */ /* Mac OS X format for virtual (USB) serial port. */
-
/*const char SENSOR_PORT[] = "/dev/ttyS0"; */ /* CYGWIN format. Usually the Windows COM port number minus 1. This would connect to COM1. */
-
const uint32_t SENSOR_BAUDRATE = 115200;
-
-
/* We call the initialize and connect method to connect with our VectorNav sensor. */
-
if ((error = VnEzAsyncData_initializeAndConnect(&ez, SENSOR_PORT, SENSOR_BAUDRATE)) != E_NONE)
-
return processErrorReceived("Error connecting to sensor.", error);
-
-
/* Now let's display the latest yaw, pitch, roll data at 5 Hz for 5 seconds. */
-
printf("Displaying yaw, pitch, roll at 5 Hz for 5 seconds.\n");
-
for (i = 0; i < 25; i++)
-
{
- -
- -
-
cd = VnEzAsyncData_currentData(&ez);
-
-
str_vec3f(strConversions, cd.yawPitchRoll);
-
printf("Current YPR: %s\n", strConversions);
-
}
-
-
/* Most of the asynchronous data handling is done by VnEzAsyncData but there are times
-
* when we wish to configure the sensor directly while still having VnEzAsyncData do
-
* most of the grunt work. This is easily accomplished and we show changing the ASCII
-
* asynchronous data output type here. */
-
if ((error = VnSensor_writeAsyncDataOutputType(VnEzAsyncData_sensor(&ez), VNYPR, true)) != E_NONE)
-
return processErrorReceived("Error setting async data output type.", error);
-
-
/* We can now display yaw, pitch, roll data from the new ASCII asynchronous data type. */
-
printf("Displaying yaw, pitch, roll from new ASCII async type.\n");
-
for (i = 0; i < 25; i++)
-
{
- -
- -
-
cd = VnEzAsyncData_currentData(&ez);
-
-
str_vec3f(strConversions, cd.yawPitchRoll);
-
printf("Current YPR: %s\n", strConversions);
-
}
-
-
/* Now disconnect from the sensor since we are finished. */
-
if ((error = VnEzAsyncData_disconnectAndUninitialize(&ez)) != E_NONE)
-
return processErrorReceived("Error disconnecting from sensor.", error);
-
-
return 0;
-
}
-
-
int processErrorReceived(char* errorMessage, VnError errorCode)
-
{
-
char errorCodeStr[100];
-
strFromVnError(errorCodeStr, errorCode);
-
printf("%s\nERROR: %s\n", errorMessage, errorCodeStr);
-
return -1;
-
}
-
- - - - diff --git a/vnproglib/c/help/ezasyncdata_8h_source.html b/vnproglib/c/help/ezasyncdata_8h_source.html deleted file mode 100644 index 708151f..0000000 --- a/vnproglib/c/help/ezasyncdata_8h_source.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - -VectorNav C Library: ezasyncdata.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
ezasyncdata.h
-
-
-
1 #ifndef _VNEZASYNCDATA_H_
-
2 #define _VNEZASYNCDATA_H_
-
3 
-
4 #include "vn/int.h"
-
5 #include "vn/error.h"
-
6 #include "vn/sensors/compositedata.h"
-
7 #include "vn/sensors.h"
-
8 
-
9 #ifdef __cplusplus
-
10 extern "C" {
-
11 #endif
-
12 
-
15 typedef struct
-
16 {
- -
19 
- -
22 
- -
25 
- -
27 
-
35 VnError VnEzAsyncData_initializeAndConnect(VnEzAsyncData* ezAsyncData, const char* portName, uint32_t baudrate);
-
36 
-
41 VnError VnEzAsyncData_disconnectAndUninitialize(VnEzAsyncData* ezAsyncData);
-
42 
-
48 VnCompositeData VnEzAsyncData_currentData(VnEzAsyncData* ezAsyncData);
-
49 
-
54 VnSensor* VnEzAsyncData_sensor(VnEzAsyncData* ezAsyncData);
-
55 
-
56 #ifdef __cplusplus
-
57 }
-
58 #endif
-
59 
-
60 #endif
-
VnCompositeData * curData
The current data received from asynchronous data packets.
Definition: ezasyncdata.h:24
-
Helpful structure for working with VectorNav sensors.
Definition: sensors.h:894
-
VnCriticalSection * curDataCS
Critical section for accessing the current data.
Definition: ezasyncdata.h:21
-
Definition: criticalsection.h:38
- -
Composite structure of all available data types from VectorNav sensors.
Definition: compositedata.h:23
-
Structure supporting easy and reliable access to asynchronous data from a VectorNav sensor at the cos...
Definition: ezasyncdata.h:15
-
VnSensor * sensor
The associated connected sensor.
Definition: ezasyncdata.h:18
-
- - - - diff --git a/vnproglib/c/help/files.html b/vnproglib/c/help/files.html deleted file mode 100644 index 1ac2f92..0000000 --- a/vnproglib/c/help/files.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - -VectorNav C Library: File List - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - -
- -
-
- - -
- -
- -
-
-
File List
-
-
-
Here is a list of all documented files with brief descriptions:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 bool.h
 common.h
 compiler.h
 compositedata.h
 const.h
 conv.h
 criticalsection.h
 enum.h
 error.h
 error_detection.h
 event.h
 export.h
 ezasyncdata.h
 int.h
 matrix.h
 port.h
 searcher.h
 sensors.h
 serialport.h
 spi.h
 thread.h
 time.h
 types.h
 upack.h
 upackf.h
 util.h
 vector.h
 vectornav.h
-
-
- - - - diff --git a/vnproglib/c/help/folderclosed.png b/vnproglib/c/help/folderclosed.png deleted file mode 100644 index bb8ab35edce8e97554e360005ee9fc5bffb36e66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA diff --git a/vnproglib/c/help/functions.html b/vnproglib/c/help/functions.html deleted file mode 100644 index 6a7402e..0000000 --- a/vnproglib/c/help/functions.html +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- a -

-
- - - - diff --git a/vnproglib/c/help/functions_b.html b/vnproglib/c/help/functions_b.html deleted file mode 100644 index 2c6803f..0000000 --- a/vnproglib/c/help/functions_b.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- b -

-
- - - - diff --git a/vnproglib/c/help/functions_c.html b/vnproglib/c/help/functions_c.html deleted file mode 100644 index 28ab7c1..0000000 --- a/vnproglib/c/help/functions_c.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- c -

-
- - - - diff --git a/vnproglib/c/help/functions_d.html b/vnproglib/c/help/functions_d.html deleted file mode 100644 index 9b59436..0000000 --- a/vnproglib/c/help/functions_d.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- d -

-
- - - - diff --git a/vnproglib/c/help/functions_e.html b/vnproglib/c/help/functions_e.html deleted file mode 100644 index 27b4a90..0000000 --- a/vnproglib/c/help/functions_e.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- e -

-
- - - - diff --git a/vnproglib/c/help/functions_f.html b/vnproglib/c/help/functions_f.html deleted file mode 100644 index 0c97e0c..0000000 --- a/vnproglib/c/help/functions_f.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- f -

-
- - - - diff --git a/vnproglib/c/help/functions_g.html b/vnproglib/c/help/functions_g.html deleted file mode 100644 index 5000c39..0000000 --- a/vnproglib/c/help/functions_g.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- - - - - - diff --git a/vnproglib/c/help/functions_h.html b/vnproglib/c/help/functions_h.html deleted file mode 100644 index 5b85e1c..0000000 --- a/vnproglib/c/help/functions_h.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- h -

-
- - - - diff --git a/vnproglib/c/help/functions_i.html b/vnproglib/c/help/functions_i.html deleted file mode 100644 index f03e5cf..0000000 --- a/vnproglib/c/help/functions_i.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- i -

-
- - - - diff --git a/vnproglib/c/help/functions_l.html b/vnproglib/c/help/functions_l.html deleted file mode 100644 index aeb188b..0000000 --- a/vnproglib/c/help/functions_l.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- l -

-
- - - - diff --git a/vnproglib/c/help/functions_m.html b/vnproglib/c/help/functions_m.html deleted file mode 100644 index 4503659..0000000 --- a/vnproglib/c/help/functions_m.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- m -

-
- - - - diff --git a/vnproglib/c/help/functions_n.html b/vnproglib/c/help/functions_n.html deleted file mode 100644 index bc7ab1c..0000000 --- a/vnproglib/c/help/functions_n.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- n -

-
- - - - diff --git a/vnproglib/c/help/functions_o.html b/vnproglib/c/help/functions_o.html deleted file mode 100644 index f9c15c5..0000000 --- a/vnproglib/c/help/functions_o.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- o -

-
- - - - diff --git a/vnproglib/c/help/functions_p.html b/vnproglib/c/help/functions_p.html deleted file mode 100644 index 7e4e641..0000000 --- a/vnproglib/c/help/functions_p.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- p -

-
- - - - diff --git a/vnproglib/c/help/functions_q.html b/vnproglib/c/help/functions_q.html deleted file mode 100644 index 4bbc9b8..0000000 --- a/vnproglib/c/help/functions_q.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- q -

-
- - - - diff --git a/vnproglib/c/help/functions_r.html b/vnproglib/c/help/functions_r.html deleted file mode 100644 index 3b64f3b..0000000 --- a/vnproglib/c/help/functions_r.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- r -

-
- - - - diff --git a/vnproglib/c/help/functions_s.html b/vnproglib/c/help/functions_s.html deleted file mode 100644 index a38c95c..0000000 --- a/vnproglib/c/help/functions_s.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- s -

-
- - - - diff --git a/vnproglib/c/help/functions_t.html b/vnproglib/c/help/functions_t.html deleted file mode 100644 index 4d700be..0000000 --- a/vnproglib/c/help/functions_t.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- t -

-
- - - - diff --git a/vnproglib/c/help/functions_u.html b/vnproglib/c/help/functions_u.html deleted file mode 100644 index 13f4d1b..0000000 --- a/vnproglib/c/help/functions_u.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- u -

-
- - - - diff --git a/vnproglib/c/help/functions_v.html b/vnproglib/c/help/functions_v.html deleted file mode 100644 index 719b9be..0000000 --- a/vnproglib/c/help/functions_v.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- v -

-
- - - - diff --git a/vnproglib/c/help/functions_vars.html b/vnproglib/c/help/functions_vars.html deleted file mode 100644 index 1e6dda0..0000000 --- a/vnproglib/c/help/functions_vars.html +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- a -

-
- - - - diff --git a/vnproglib/c/help/functions_vars_b.html b/vnproglib/c/help/functions_vars_b.html deleted file mode 100644 index 9e3b612..0000000 --- a/vnproglib/c/help/functions_vars_b.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- b -

-
- - - - diff --git a/vnproglib/c/help/functions_vars_c.html b/vnproglib/c/help/functions_vars_c.html deleted file mode 100644 index 52e664b..0000000 --- a/vnproglib/c/help/functions_vars_c.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- - - - - - diff --git a/vnproglib/c/help/functions_vars_d.html b/vnproglib/c/help/functions_vars_d.html deleted file mode 100644 index 5fb29fe..0000000 --- a/vnproglib/c/help/functions_vars_d.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- - - - - - diff --git a/vnproglib/c/help/functions_vars_e.html b/vnproglib/c/help/functions_vars_e.html deleted file mode 100644 index 63ec4db..0000000 --- a/vnproglib/c/help/functions_vars_e.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- e -

-
- - - - diff --git a/vnproglib/c/help/functions_vars_f.html b/vnproglib/c/help/functions_vars_f.html deleted file mode 100644 index 79c2ab1..0000000 --- a/vnproglib/c/help/functions_vars_f.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- f -

-
- - - - diff --git a/vnproglib/c/help/functions_vars_g.html b/vnproglib/c/help/functions_vars_g.html deleted file mode 100644 index ebefdfa..0000000 --- a/vnproglib/c/help/functions_vars_g.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- - - - - - diff --git a/vnproglib/c/help/functions_vars_h.html b/vnproglib/c/help/functions_vars_h.html deleted file mode 100644 index f80f5b4..0000000 --- a/vnproglib/c/help/functions_vars_h.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- h -

-
- - - - diff --git a/vnproglib/c/help/functions_vars_i.html b/vnproglib/c/help/functions_vars_i.html deleted file mode 100644 index 5e2ca7c..0000000 --- a/vnproglib/c/help/functions_vars_i.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- i -

-
- - - - diff --git a/vnproglib/c/help/functions_vars_l.html b/vnproglib/c/help/functions_vars_l.html deleted file mode 100644 index 4afdf66..0000000 --- a/vnproglib/c/help/functions_vars_l.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- l -

-
- - - - diff --git a/vnproglib/c/help/functions_vars_m.html b/vnproglib/c/help/functions_vars_m.html deleted file mode 100644 index e8a1cae..0000000 --- a/vnproglib/c/help/functions_vars_m.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- - - - - - diff --git a/vnproglib/c/help/functions_vars_n.html b/vnproglib/c/help/functions_vars_n.html deleted file mode 100644 index 5edbf94..0000000 --- a/vnproglib/c/help/functions_vars_n.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- - - - - - diff --git a/vnproglib/c/help/functions_vars_o.html b/vnproglib/c/help/functions_vars_o.html deleted file mode 100644 index 0f5dfc2..0000000 --- a/vnproglib/c/help/functions_vars_o.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- o -

-
- - - - diff --git a/vnproglib/c/help/functions_vars_p.html b/vnproglib/c/help/functions_vars_p.html deleted file mode 100644 index 769897c..0000000 --- a/vnproglib/c/help/functions_vars_p.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- p -

-
- - - - diff --git a/vnproglib/c/help/functions_vars_q.html b/vnproglib/c/help/functions_vars_q.html deleted file mode 100644 index cf54c1e..0000000 --- a/vnproglib/c/help/functions_vars_q.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- q -

-
- - - - diff --git a/vnproglib/c/help/functions_vars_r.html b/vnproglib/c/help/functions_vars_r.html deleted file mode 100644 index 5417376..0000000 --- a/vnproglib/c/help/functions_vars_r.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- r -

-
- - - - diff --git a/vnproglib/c/help/functions_vars_s.html b/vnproglib/c/help/functions_vars_s.html deleted file mode 100644 index eb5d070..0000000 --- a/vnproglib/c/help/functions_vars_s.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- - - - - - diff --git a/vnproglib/c/help/functions_vars_t.html b/vnproglib/c/help/functions_vars_t.html deleted file mode 100644 index 499fe68..0000000 --- a/vnproglib/c/help/functions_vars_t.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- t -

-
- - - - diff --git a/vnproglib/c/help/functions_vars_u.html b/vnproglib/c/help/functions_vars_u.html deleted file mode 100644 index 758f95a..0000000 --- a/vnproglib/c/help/functions_vars_u.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- - - - - - diff --git a/vnproglib/c/help/functions_vars_v.html b/vnproglib/c/help/functions_vars_v.html deleted file mode 100644 index 746a842..0000000 --- a/vnproglib/c/help/functions_vars_v.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- v -

-
- - - - diff --git a/vnproglib/c/help/functions_vars_w.html b/vnproglib/c/help/functions_vars_w.html deleted file mode 100644 index 4b68bdd..0000000 --- a/vnproglib/c/help/functions_vars_w.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- - - - - - diff --git a/vnproglib/c/help/functions_vars_x.html b/vnproglib/c/help/functions_vars_x.html deleted file mode 100644 index 57a87c8..0000000 --- a/vnproglib/c/help/functions_vars_x.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- - - - - - diff --git a/vnproglib/c/help/functions_vars_y.html b/vnproglib/c/help/functions_vars_y.html deleted file mode 100644 index 1161339..0000000 --- a/vnproglib/c/help/functions_vars_y.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - Variables - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- - - - - - diff --git a/vnproglib/c/help/functions_w.html b/vnproglib/c/help/functions_w.html deleted file mode 100644 index d30f290..0000000 --- a/vnproglib/c/help/functions_w.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- w -

-
- - - - diff --git a/vnproglib/c/help/functions_x.html b/vnproglib/c/help/functions_x.html deleted file mode 100644 index ad71ccd..0000000 --- a/vnproglib/c/help/functions_x.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
- -

- x -

-
- - - - diff --git a/vnproglib/c/help/functions_y.html b/vnproglib/c/help/functions_y.html deleted file mode 100644 index 3776d16..0000000 --- a/vnproglib/c/help/functions_y.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - -VectorNav C Library: Data Fields - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- - - - - - diff --git a/vnproglib/c/help/getting_started_2main_8c-example.html b/vnproglib/c/help/getting_started_2main_8c-example.html deleted file mode 100644 index b308406..0000000 --- a/vnproglib/c/help/getting_started_2main_8c-example.html +++ /dev/null @@ -1,555 +0,0 @@ - - - - - - -VectorNav C Library: getting_started/main.c - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
-
-
getting_started/main.c
-
-
-

This example illustrates basic connectivity and interaction with a VectorNav sensor using the low-level UART protocol code that is part of the core section of the library.

-

-Visual Studio (Windows)

-
    -
  1. Open the solution file for your specific Visual Studio version located at <root>/c/examples/getting_started/projects/vs20XX/getting_started.sln.
  2. -
  3. Build the entire solution by going to the menu BUILD -> Build Solution.
  4. -
  5. Right-click the project getting_started and select Debug -> Start new instance.
  6. -
-

-Make (Linux/Mac OS X)

-
    -
  1. Open a terminal and change to the directory <root>/c/examples/getting_started .
  2. -
  3. To build the example, run the command make .
  4. -
  5. Run the example by executing the command ./getting_started .
  6. -
-

-CLion (Windows/Linux/Mac OS X)

-
    -
  1. Open the project file located at <root>/c/examples/getting_started in CLion.
  2. -
  3. Make sure the getting_started configuration is active. You can set this by clicking the small drop-down list in the upper-right corner and selecting the option getting_started.
  4. -
  5. Build the solution by going to the menu Run -> Build.
  6. -
  7. Run the example by going to the menu Run -> Run 'gettings_started'.
  8. -
-

-Other

-

To compile and run for an environment not listed here, you will need to add all of the *.c files in the directory <root>/c/src along with the file located at <root>/c/examples/getting_started/main.c to your project for compilation. You will also need to add <root>/c/include to your include directories.

-
#include <string.h>
-
#include <stdio.h>
-
-
/* Include files needed to use the UART protocol. */
-
#include "vn/util.h"
-
#include "vn/protocol/upack.h"
-
#include "vn/protocol/upackf.h"
-
#include "vn/int.h"
-
-
/* This include file normally contains higher level abstractions for working
-
* with VectorNav sensors. However, we include it for some string functions to
-
* display named options for the sensor's register's fields. */
-
#include "vn/sensors.h"
-
-
void packetFoundHandler(void *userData, VnUartPacket *packet, size_t runningIndexOfPacketStart);
-
void UserUart_initialize(void);
-
bool UserUart_checkForReceivedData(char* buffer, size_t bufferSize, size_t* numOfBytesReceived);
-
void UserUart_mockReceivedData(char* buffer, size_t bufferSize);
-
void UserUart_sendData(char *data, size_t size);
-
-
bool gIsCheckingForModelNumberResponse = false;
-
bool gIsCheckingForAsyncOutputFreqResponse = false;
-
bool gIsCheckingForVpeBasicControlResponse = false;
-
uint8_t gEnable, gHeadingMode, gFilteringMode, gTuningMode;
-
-
int main(void)
-
{
-
char buffer[256];
-
size_t numOfBytes, readModelNumberSize, writeAsyncOutputFreqSize, readVpeBasicControlSize, writeVpeBasicControlSize;
-
size_t writeBinaryOutput1Size;
-
char mockAsciiAsyncData[] = "$VNYMR,+100.949,-007.330,+000.715,-00.0049,-00.2449,+00.5397,-01.258,-00.100,-09.701,-00.000018,+00.001122,-00.000551*69\r\n";
-
char mockReadModelNumberResponse[] = "$VNRRG,01,VN-200T-CR*31\r\n";
-
char mockWriteAsyncOutputFrequencyResponse[] = "$VNWRG,07,2*6F\r\n";
-
char mockFactoryDefaultReadVpeBasicControlResponse[] = "$VNRRG,35,1,1,1,1*75\r\n";
-
char mockWriteVpeBasicControlResponse[] = "$VNWRG,35,1,0,1,1*71\r\n";
-
char mockErrorMessage[] = "$VNERR,12*72\r\n";
-
uint8_t mockBinaryAsyncData[] = { 0xFA, 0x01, 0x09, 0x00, 0x70, 0x05, 0x00, 0x03, 0x0A, 0x00, 0x00, 0x00, 0x48, 0x0E, 0x2C, 0x42, 0x08, 0x4C, 0x37, 0xC1, 0x10, 0x38, 0x8B, 0xC2, 0xD4, 0xCB };
-
char genReadModelNumberBuffer[256];
-
char genWriteAsyncOutputFrequencyBuffer[256];
-
char genReadVpeBasicControlBuffer[256];
-
char genWriteVpeBasicControlBuffer[256];
-
char genWriteBinaryOutput1Buffer[256];
-
-
/* This example provides an overview of the UART protocol functionality
-
* of the VectorNav C Library.
-
*
-
* Using the UART Protocol allows communicating with a VectorNav sensor
-
* over a UART interface using both ASCII and binary protocols. Usage of
-
* this "core" feature requires you to do all of the grunt work of
-
* initializing and managing the UART port for your development
-
* environment. Once this is setup, you will initialize the UART protocol
-
* and then simply pass arrays of data between your UART code and the
-
* VectorNav C Library's protocol code. To keep this example generic, we
-
* will mock the necessary UART initialization and management functions
-
* that would need to be replaced by code specific for your environment
-
* to tie into a real VectorNav sensor. For now we just use some fake data
-
* to illustrate the process. */
-
-
/* The VnUartProtocol structure encapsulates the data used for buffering
-
* and handling incoming data. It is not associated with sending commands
-
* to the sensor. This will be illustrated further in the example. */
- -
-
/* First thing you should do is initialize the data structure. */
-
VnUartPacketFinder_initialize(&up);
-
-
/* Register our callback method for when the VnUartPacketFinder finds an
-
ASCII asynchronous packet. */
-
VnUartPacketFinder_registerPacketFoundHandler(&up, packetFoundHandler, NULL);
-
-
/* Initialize the UART port (this is mimicked in this example). */
-
UserUart_initialize();
-
-
/* With our VnUartProtocol and mock UART initialized, we will fake an
-
* asynchronous message output by a VectorNav sensor and received by our
-
* mock UART port. */
-
UserUart_mockReceivedData(mockAsciiAsyncData, strlen(mockAsciiAsyncData));
-
-
/* Normally you will be continually checking for new UART data and then
-
* passing any received data to the VnUartProtocol to build, parse and
-
* verify data packets. Since this is just for demonstration purposes, we
-
* just poll the mock UART for its current data. In a real world
-
* environment where you are servicing a real UART port, you would have
-
* code similar to the code lines below.
-
*
-
* char buffer[256];
-
* while (1)
-
* {
-
* size_t numOfBytes;
-
* if (UserUart_checkForReceivedData(buffer, 256, &numOfBytes))
-
* VnUartPacketFinder_processReceivedData(buffer, numOfBytes);
-
* }
-
*/
-
UserUart_checkForReceivedData(buffer, sizeof(buffer), &numOfBytes);
-
-
/* Now when we pass the data to the VnUartPacketFinder, our function
-
* validPacketFoundHandler will be called since we passed in a complete
-
* and valid data packet. Scroll down to the function validPacketFoundHandler
-
* to see how to process and extract the values from the packet. */
-
VnUartPacketFinder_processData(&up,(uint8_t*) buffer, numOfBytes);
-
-
/* Processing received asynchronous data from the sensor is fairly straight
-
* forward. However, you may wish to query or configure the sensor and in
-
* theory this is still straight forward if you do not add code to handle
-
* retransmits of commands or communication timeouts. We will show the
-
* basic structure of querying and configuring and leave it to the
-
* developer for adding edge case handling code. The file sensors.cpp in
-
* the C++ may serve as a reference for adding this extra code.
-
*/
-
-
/* We will first illustrate querying the sensor's model number. First we
-
* generate a read register command. */
- -
genReadModelNumberBuffer,
-
sizeof(genReadModelNumberBuffer),
-
VNERRORDETECTIONMODE_CHECKSUM,
-
&readModelNumberSize);
-
-
/* Now send the data to the sensor. */
-
gIsCheckingForModelNumberResponse = true;
-
UserUart_sendData(genReadModelNumberBuffer, readModelNumberSize);
-
-
/* Mock that the sensor responded to our request. */
-
UserUart_mockReceivedData(mockReadModelNumberResponse, strlen(mockReadModelNumberResponse));
-
-
/* Now process the mock data that our fake UART port received and hand it
-
* over to our UART packet finder. */
-
UserUart_checkForReceivedData(buffer, sizeof(buffer), &numOfBytes);
-
VnUartPacketFinder_processData(&up, (uint8_t*)buffer, numOfBytes);
-
gIsCheckingForModelNumberResponse = false;
-
-
/* Let's see how to perform a trivial configuration of the sensor. We will
-
* change the asynchronous data output frequency to 2 Hz. */
- -
genWriteAsyncOutputFrequencyBuffer,
-
sizeof(genWriteAsyncOutputFrequencyBuffer),
-
VNERRORDETECTIONMODE_CHECKSUM,
-
&writeAsyncOutputFreqSize,
-
2);
-
-
/* Now send the data to the sensor. */
-
gIsCheckingForAsyncOutputFreqResponse = true;
-
UserUart_sendData(genWriteAsyncOutputFrequencyBuffer, writeAsyncOutputFreqSize);
-
-
/* Mock that the sensor responded to our request. */
-
UserUart_mockReceivedData(mockWriteAsyncOutputFrequencyResponse, strlen(mockWriteAsyncOutputFrequencyResponse));
-
-
/* Now process the mock data that our fake UART port received and hand it
-
* over to our UART packet finder. */
-
UserUart_checkForReceivedData(buffer, sizeof(buffer), &numOfBytes);
-
VnUartPacketFinder_processData(&up, (uint8_t*)buffer, numOfBytes);
-
gIsCheckingForAsyncOutputFreqResponse = false;
-
-
/* Other configuration register on the VectorNav sensors have multiple
-
* fields that need to be set when we write to them. If we only are
-
* interested in one field, a safe and easy way to perform this is to first
-
* read the current configuration, change the fields we are concerned with,
-
* and then write the settings back to the sensor. We will illustrate this
-
* now by changing the sensors heading mode of the VPE Basic Control
-
* register. */
-
-
printf("Reading current values of the VPE Basic Control register.\n");
-
-
/* First generate a read register command. */
- -
genReadVpeBasicControlBuffer,
-
sizeof(genReadVpeBasicControlBuffer),
-
VNERRORDETECTIONMODE_CHECKSUM,
-
&readVpeBasicControlSize);
-
-
/* Now send the data to the sensor. */
-
gIsCheckingForVpeBasicControlResponse = true;
-
UserUart_sendData(genReadVpeBasicControlBuffer, readVpeBasicControlSize);
-
-
/* Mock that the sensor responded to our request. */
-
UserUart_mockReceivedData(mockFactoryDefaultReadVpeBasicControlResponse, strlen(mockFactoryDefaultReadVpeBasicControlResponse));
-
-
/* Now process the mock data that our fake UART port received and hand it
-
* over to our UART packet finder. */
-
UserUart_checkForReceivedData(buffer, sizeof(buffer), &numOfBytes);
-
VnUartPacketFinder_processData(&up, (uint8_t*)buffer, numOfBytes);
-
gIsCheckingForVpeBasicControlResponse = false;
-
-
/* The validPacketFoundHandler will have set the current values of the VPE
-
* Basic Control register into our global variables. Let's now change the
-
* heading mode field for this register while keeping the other fields in
-
* their current state. */
-
-
printf("Writing new values to the VPE Basic Control register.\n");
-
-
/* Generate the write register command. */
- -
genWriteVpeBasicControlBuffer,
-
sizeof(genWriteVpeBasicControlBuffer),
-
VNERRORDETECTIONMODE_CHECKSUM,
-
&writeVpeBasicControlSize,
-
gEnable,
-
0, /* Could possibly use a value from the enum HeadingMode in sensors.h. */
-
gFilteringMode,
-
gTuningMode);
-
-
/* Send the data to the sensor. */
-
gIsCheckingForVpeBasicControlResponse = true;
-
UserUart_sendData(genWriteVpeBasicControlBuffer, writeVpeBasicControlSize);
-
-
/* Mock that the sensor responded to our request. */
-
UserUart_mockReceivedData(mockWriteVpeBasicControlResponse, strlen(mockWriteVpeBasicControlResponse));
-
-
/* Process the mock data that our fake UART port received and hand it
-
* over to our UART packet finder. */
-
UserUart_checkForReceivedData(buffer, sizeof(buffer), &numOfBytes);
-
VnUartPacketFinder_processData(&up, (uint8_t*)buffer, numOfBytes);
-
gIsCheckingForVpeBasicControlResponse = false;
-
-
/* The VectorNav sensor also supports binary asynchronous data output,
-
* which can be configured by the user to support flexible configuration of
-
* data output types. In this example, we will show how to configure the
-
* sensor's binary output configuration register, and then process a packet
-
* received of this binary output data. */
-
-
/* Generate our command to configure the Binary Output 1 register. Normally
-
* when working with the functions from the file uart.h, the data types as
-
* listed in the user manual are used, without any abstractions getting in
-
* the way. However, here we use some enums defined in sensors.h for
-
* specifying the flags of the register's fields since it is much easier to
-
* understand. Here we configure the sensor to output yaw, pitch, roll and
-
* timestart data at 4 Hz. Note that the sensor's user manual requires
-
* specifying which groups are present; however, this function call will
-
* take care of determining which fields are present. */
- -
(uint8_t*)genWriteBinaryOutput1Buffer,
-
sizeof(genWriteBinaryOutput1Buffer),
-
VNERRORDETECTIONMODE_CHECKSUM,
-
&writeBinaryOutput1Size,
-
ASYNCMODE_PORT1,
-
200,
-
COMMONGROUP_TIMESTARTUP | COMMONGROUP_YAWPITCHROLL, /* Note use of binary OR to configure flags. */
-
TIMEGROUP_NONE,
-
IMUGROUP_NONE,
-
GPSGROUP_NONE,
-
ATTITUDEGROUP_NONE,
-
INSGROUP_NONE);
-
-
/* Send the data to the sensor. */
-
UserUart_sendData(genWriteBinaryOutput1Buffer, writeBinaryOutput1Size);
-
-
/* Mock that the sensor responded to our request. */
-
UserUart_mockReceivedData((char*)mockBinaryAsyncData, 26);
-
-
/* Process the mock data that our fake UART port received and hand it
-
* over to our UART packet finder. */
-
UserUart_checkForReceivedData(buffer, sizeof(buffer), &numOfBytes);
-
VnUartPacketFinder_processData(&up, (uint8_t*)buffer, numOfBytes);
-
-
/* Lastly, you may want to include code that checks for error messages
-
* output from the sensor. To demonstrate, we pass a fake error message to
-
* be handled by our code. */
-
UserUart_mockReceivedData(mockErrorMessage, strlen(mockErrorMessage));
-
UserUart_checkForReceivedData(buffer, sizeof(buffer), &numOfBytes);
-
VnUartPacketFinder_processData(&up, (uint8_t*)buffer, numOfBytes);
-
-
return 0;
-
}
-
-
void packetFoundHandler(void *userData, VnUartPacket *packet, size_t runningIndexOfPacketStart)
-
{
-
/* Silence 'unreferenced formal parameters' warning in Visual Studio. */
-
(runningIndexOfPacketStart);
-
(userData);
-
-
/* When this function is called, the packet will already have been
-
* validated so no checksum/CRC check is required. */
-
-
/* First see if this is an ASCII or binary packet. */
-
if (VnUartPacket_type(packet) == PACKETTYPE_ASCII)
-
{
-
/* Now that we know this is an ASCII packet, we can call the various
-
* ASCII functions to further process this packet. */
-
if (VnUartPacket_isAsciiAsync(packet))
-
{
-
/* We know we have an ASCII asynchronous data packet. Let's see if
-
* this is a message type we are looking for. */
-
VnAsciiAsync asyncType = VnUartPacket_determineAsciiAsyncType(packet);
-
-
if (asyncType == VNYMR)
-
{
-
/* Parse the VNYMR message. */
-
vec3f ypr, mag, accel, angularRate;
-
char yprStr[100], magStr[100], accelStr[100], angularRateStr[100];
-
-
VnUartPacket_parseVNYMR(packet, &ypr, &mag, &accel, &angularRate);
-
-
str_vec3f(yprStr, ypr);
-
str_vec3f(magStr, mag);
-
str_vec3f(accelStr, accel);
-
str_vec3f(angularRateStr, angularRate);
-
printf("[Found VNYMR Packet]\n");
-
printf(" YawPitchRoll: %s\n", yprStr);
-
printf(" Magnetic: %s\n", magStr);
-
printf(" Acceleration: %s\n", accelStr);
-
printf(" Angular Rate: %s\n", angularRateStr);
-
}
-
}
-
else if (VnUartPacket_isResponse(packet))
-
{
-
if (gIsCheckingForModelNumberResponse)
-
{
-
char modelNumber[100];
-
-
VnUartPacket_parseModelNumber(packet, modelNumber);
-
-
printf("Model Number: %s\n", modelNumber);
-
}
-
else if (gIsCheckingForAsyncOutputFreqResponse)
-
{
-
uint32_t asyncOutputFreq;
-
-
VnUartPacket_parseAsyncDataOutputFrequency(packet, &asyncOutputFreq);
-
-
printf("Asynchronous Output Frequency: %u Hz\n", asyncOutputFreq);
-
}
-
else if (gIsCheckingForVpeBasicControlResponse)
-
{
-
char enableStr[100], headingModeStr[100], filteringModeStr[100], tuningModeStr[100];
-
-
VnUartPacket_parseVpeBasicControl(packet, &gEnable, &gHeadingMode, &gFilteringMode, &gTuningMode);
-
-
strFromBool(enableStr, (bool) gEnable);
-
strFromHeadingMode(headingModeStr, gHeadingMode);
-
strFromFilterMode(filteringModeStr, gFilteringMode);
-
strFromFilterMode(tuningModeStr, gTuningMode);
-
printf("[VPE Basic Control]\n");
-
printf(" Enable: %s\n", enableStr);
-
printf(" Heading Mode: %s\n", headingModeStr);
-
printf(" Filtering Mode: %s\n", filteringModeStr);
-
printf(" Tuning Mode: %s\n", tuningModeStr);
-
}
-
}
-
else if (VnUartPacket_isError(packet))
-
{
-
uint8_t error;
-
char errorStr[100];
-
-
VnUartPacket_parseError(packet, &error);
-
-
strFromSensorError(errorStr, (SensorError) error);
-
-
printf("Sensor Error: %s\n", errorStr);
-
}
-
}
-
else if (VnUartPacket_type(packet) == PACKETTYPE_BINARY) {
-
uint64_t timeStartup;
-
vec3f ypr;
-
char yprStr[100];
-
-
/* See if this is a binary packet type we are expecting. */
-
if (!VnUartPacket_isCompatible(
-
packet,
-
COMMONGROUP_TIMESTARTUP | COMMONGROUP_YAWPITCHROLL,
-
TIMEGROUP_NONE,
-
IMUGROUP_NONE,
-
GPSGROUP_NONE,
-
ATTITUDEGROUP_NONE,
-
INSGROUP_NONE))
-
{
-
/* Not the type of binary packet we are expecting. */
-
return;
-
}
-
-
/* Ok, we have our expected binary output packet. Since there are many
-
* ways to configure the binary data output, the burden is on the user
-
* to correctly parse the binary packet. However, we can make use of
-
* the parsing convenience methods provided by the VnUartPacket structure.
-
* When using these convenience methods, you have to extract them in
-
* the order they are organized in the binary packet per the User Manual. */
-
timeStartup = VnUartPacket_extractUint64(packet);
- -
str_vec3f(yprStr, ypr);
-
printf("[Binary Packet Received]\n");
-
printf(" TimeStartup: %u\n", (uint32_t) timeStartup);
-
printf(" Yaw Pitch Roll: %s\n", yprStr);
-
}
-
}
-
-
/* Some variables to enable our mock UART port. */
-
char* mockUartReceivedDataBuffer[256];
-
size_t mockUartReceivedDataSize;
-
-
/* This is a mock function which in a real development environment would
-
* contain code to initialize the device's UART port. However, to keep this
-
* example generic, we simply initialize our program to mimic a UART port
-
* provided by the user. */
-
void UserUart_initialize(void)
-
{
-
mockUartReceivedDataSize = 0;
-
}
-
-
/* This is another mock function which would be replaced in a real program to
-
* actually query the environment's UART for any data received. We just mock
-
* the data in this example. */
-
bool UserUart_checkForReceivedData(char* buffer, size_t bufferSize, size_t* numOfBytesReceived)
-
{
-
/* Silence 'unreferenced formal parameters' warning in Visual Studio. */
-
(bufferSize);
-
-
if (mockUartReceivedDataSize == 0)
-
return false;
-
-
memcpy(buffer, mockUartReceivedDataBuffer, mockUartReceivedDataSize);
-
*numOfBytesReceived = mockUartReceivedDataSize;
-
-
mockUartReceivedDataSize = 0;
-
-
return true;
-
}
-
-
/* This is a helper method for our mocked UART port that will mimic data that
-
* has been received on a UART port. This function would not be implemented in
-
* an environment that is using an actual UART port. */
-
void UserUart_mockReceivedData(char* buffer, size_t bufferSize)
-
{
-
memcpy(mockUartReceivedDataBuffer, buffer, bufferSize);
-
mockUartReceivedDataSize = bufferSize;
-
}
-
-
/* This is a method for simulating sending data to a VectorNav sensor. This
-
* will need to be implemented by the developer to actually send the data over
-
* the system's UART. */
-
void UserUart_sendData(char *data, size_t size)
-
{
-
/* Silence 'unreferenced formal parameters' warning in Visual Studio. */
-
(data);
-
(size);
-
-
/* Do nothing since we are mocking a UART port. */
-
}
-
- - - - diff --git a/vnproglib/c/help/globals.html b/vnproglib/c/help/globals.html deleted file mode 100644 index 8815304..0000000 --- a/vnproglib/c/help/globals.html +++ /dev/null @@ -1,571 +0,0 @@ - - - - - - -VectorNav C Library: Globals - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
- -

- b -

    -
  • BinaryOutputRegister_initialize() -: sensors.h -
  • -
- - -

- s -

- - -

- v -

    -
  • VnCriticalSection_deinitialize() -: criticalsection.h -
  • -
  • VnCriticalSection_enter() -: criticalsection.h -
  • -
  • VnCriticalSection_initialize() -: criticalsection.h -
  • -
  • VnCriticalSection_leave() -: criticalsection.h -
  • -
  • VnEvent_initialize() -: event.h -
  • -
  • VnEvent_signal() -: event.h -
  • -
  • VnEvent_wait() -: event.h -
  • -
  • VnEvent_waitMs() -: event.h -
  • -
  • VnEvent_waitUs() -: event.h -
  • -
  • VnSensor_accelerationDisturbancePresent() -: sensors.h -
  • -
  • VnSensor_changeBaudrate() -: sensors.h -
  • -
  • VnSensor_connect() -: sensors.h -
  • -
  • VnSensor_disconnect() -: sensors.h -
  • -
  • VnSensor_getResponseTimeoutMs() -: sensors.h -
  • -
  • VnSensor_getRetransmitDelayMs() -: sensors.h -
  • -
  • VnSensor_initialize() -: sensors.h -
  • -
  • VnSensor_isConnected() -: sensors.h -
  • -
  • VnSensor_magneticDisturbancePresent() -: sensors.h -
  • -
  • VnSensor_readAccelerationCompensation() -: sensors.h -
  • -
  • VnSensor_readAccelerationMeasurements() -: sensors.h -
  • -
  • VnSensor_readAngularRateMeasurements() -: sensors.h -
  • -
  • VnSensor_readAsyncDataOutputFrequency() -: sensors.h -
  • -
  • VnSensor_readAsyncDataOutputType() -: sensors.h -
  • -
  • VnSensor_readAttitudeQuaternion() -: sensors.h -
  • -
  • VnSensor_readBinaryOutput1() -: sensors.h -
  • -
  • VnSensor_readBinaryOutput2() -: sensors.h -
  • -
  • VnSensor_readBinaryOutput3() -: sensors.h -
  • -
  • VnSensor_readCalculatedMagnetometerCalibration() -: sensors.h -
  • -
  • VnSensor_readCommunicationProtocolControl() -: sensors.h -
  • -
  • VnSensor_readDeltaThetaAndDeltaVelocity() -: sensors.h -
  • -
  • VnSensor_readDeltaThetaAndDeltaVelocityConfiguration() -: sensors.h -
  • -
  • VnSensor_readFirmwareVersion() -: sensors.h -
  • -
  • VnSensor_readGpsAntennaOffset() -: sensors.h -
  • -
  • VnSensor_readGpsCompassBaseline() -: sensors.h -
  • -
  • VnSensor_readGpsCompassEstimatedBaseline() -: sensors.h -
  • -
  • VnSensor_readGpsConfiguration() -: sensors.h -
  • -
  • VnSensor_readGpsSolutionEcef() -: sensors.h -
  • -
  • VnSensor_readGpsSolutionLla() -: sensors.h -
  • -
  • VnSensor_readGyroCompensation() -: sensors.h -
  • -
  • VnSensor_readHardwareRevision() -: sensors.h -
  • -
  • VnSensor_readImuFilteringConfiguration() -: sensors.h -
  • -
  • VnSensor_readImuMeasurements() -: sensors.h -
  • -
  • VnSensor_readInsBasicConfigurationVn200() -: sensors.h -
  • -
  • VnSensor_readInsBasicConfigurationVn300() -: sensors.h -
  • -
  • VnSensor_readInsSolutionEcef() -: sensors.h -
  • -
  • VnSensor_readInsSolutionLla() -: sensors.h -
  • -
  • VnSensor_readInsStateEcef() -: sensors.h -
  • -
  • VnSensor_readInsStateLla() -: sensors.h -
  • -
  • VnSensor_readMagneticAccelerationAndAngularRates() -: sensors.h -
  • -
  • VnSensor_readMagneticAndGravityReferenceVectors() -: sensors.h -
  • -
  • VnSensor_readMagneticMeasurements() -: sensors.h -
  • -
  • VnSensor_readMagnetometerCalibrationControl() -: sensors.h -
  • -
  • VnSensor_readMagnetometerCompensation() -: sensors.h -
  • -
  • VnSensor_readModelNumber() -: sensors.h -
  • -
  • VnSensor_readQuaternionMagneticAccelerationAndAngularRates() -: sensors.h -
  • -
  • VnSensor_readReferenceFrameRotation() -: sensors.h -
  • -
  • VnSensor_readReferenceVectorConfiguration() -: sensors.h -
  • -
  • VnSensor_readSerialBaudRate() -: sensors.h -
  • -
  • VnSensor_readSerialNumber() -: sensors.h -
  • -
  • VnSensor_readStartupFilterBiasEstimate() -: sensors.h -
  • -
  • VnSensor_readSynchronizationControl() -: sensors.h -
  • -
  • VnSensor_readSynchronizationStatus() -: sensors.h -
  • -
  • VnSensor_readUserTag() -: sensors.h -
  • -
  • VnSensor_readVelocityCompensationControl() -: sensors.h -
  • -
  • VnSensor_readVelocityCompensationMeasurement() -: sensors.h -
  • -
  • VnSensor_readVpeAccelerometerBasicTuning() -: sensors.h -
  • -
  • VnSensor_readVpeBasicControl() -: sensors.h -
  • -
  • VnSensor_readVpeMagnetometerBasicTuning() -: sensors.h -
  • -
  • VnSensor_readYawPitchRoll() -: sensors.h -
  • -
  • VnSensor_readYawPitchRollMagneticAccelerationAndAngularRates() -: sensors.h -
  • -
  • VnSensor_readYawPitchRollTrueBodyAccelerationAndAngularRates() -: sensors.h -
  • -
  • VnSensor_readYawPitchRollTrueInertialAccelerationAndAngularRates() -: sensors.h -
  • -
  • VnSensor_registerAsyncPacketReceivedHandler() -: sensors.h -
  • -
  • VnSensor_registerErrorPacketReceivedHandler() -: sensors.h -
  • -
  • VnSensor_reset() -: sensors.h -
  • -
  • VnSensor_restoreFactorySettings() -: sensors.h -
  • -
  • VnSensor_setGyroBias() -: sensors.h -
  • -
  • VnSensor_setResponseTimeoutMs() -: sensors.h -
  • -
  • VnSensor_setRetransmitDelayMs() -: sensors.h -
  • -
  • VnSensor_tare() -: sensors.h -
  • -
  • VnSensor_transaction() -: sensors.h -
  • -
  • VnSensor_unregisterAsyncPacketReceivedHandler() -: sensors.h -
  • -
  • VnSensor_unregisterErrorPacketReceivedHandler() -: sensors.h -
  • -
  • VnSensor_verifySensorConnectivity() -: sensors.h -
  • -
  • VnSensor_writeAccelerationCompensation() -: sensors.h -
  • -
  • VnSensor_writeAsyncDataOutputFrequency() -: sensors.h -
  • -
  • VnSensor_writeAsyncDataOutputType() -: sensors.h -
  • -
  • VnSensor_writeBinaryOutput1() -: sensors.h -
  • -
  • VnSensor_writeBinaryOutput2() -: sensors.h -
  • -
  • VnSensor_writeBinaryOutput3() -: sensors.h -
  • -
  • VnSensor_writeCommunicationProtocolControl() -: sensors.h -
  • -
  • VnSensor_writeDeltaThetaAndDeltaVelocityConfiguration() -: sensors.h -
  • -
  • VnSensor_writeGpsAntennaOffset() -: sensors.h -
  • -
  • VnSensor_writeGpsCompassBaseline() -: sensors.h -
  • -
  • VnSensor_writeGpsConfiguration() -: sensors.h -
  • -
  • VnSensor_writeGyroCompensation() -: sensors.h -
  • -
  • VnSensor_writeImuFilteringConfiguration() -: sensors.h -
  • -
  • VnSensor_writeInsBasicConfigurationVn200() -: sensors.h -
  • -
  • VnSensor_writeInsBasicConfigurationVn300() -: sensors.h -
  • -
  • VnSensor_writeMagneticAndGravityReferenceVectors() -: sensors.h -
  • -
  • VnSensor_writeMagnetometerCalibrationControl() -: sensors.h -
  • -
  • VnSensor_writeMagnetometerCompensation() -: sensors.h -
  • -
  • VnSensor_writeReferenceFrameRotation() -: sensors.h -
  • -
  • VnSensor_writeReferenceVectorConfiguration() -: sensors.h -
  • -
  • VnSensor_writeSerialBaudRate() -: sensors.h -
  • -
  • VnSensor_writeSettings() -: sensors.h -
  • -
  • VnSensor_writeStartupFilterBiasEstimate() -: sensors.h -
  • -
  • VnSensor_writeSynchronizationControl() -: sensors.h -
  • -
  • VnSensor_writeSynchronizationStatus() -: sensors.h -
  • -
  • VnSensor_writeUserTag() -: sensors.h -
  • -
  • VnSensor_writeVelocityCompensationControl() -: sensors.h -
  • -
  • VnSensor_writeVelocityCompensationMeasurement() -: sensors.h -
  • -
  • VnSensor_writeVpeAccelerometerBasicTuning() -: sensors.h -
  • -
  • VnSensor_writeVpeBasicControl() -: sensors.h -
  • -
  • VnSensor_writeVpeMagnetometerBasicTuning() -: sensors.h -
  • -
  • VnStopwatch_elapsedMs() -: time.h -
  • -
  • VnStopwatch_initializeAndStart() -: time.h -
  • -
  • VnStopwatch_reset() -: time.h -
  • -
  • VnThread_join() -: thread.h -
  • -
  • VnThread_sleepMs() -: thread.h -
  • -
  • VnThread_sleepSec() -: thread.h -
  • -
  • VnThread_sleepUs() -: thread.h -
  • -
  • VnThread_startNew() -: thread.h -
  • -
  • VnThread_StartRoutine -: thread.h -
  • -
-
- - - - diff --git a/vnproglib/c/help/globals_func.html b/vnproglib/c/help/globals_func.html deleted file mode 100644 index 724fd3b..0000000 --- a/vnproglib/c/help/globals_func.html +++ /dev/null @@ -1,568 +0,0 @@ - - - - - - -VectorNav C Library: Globals - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - - -
- -
-
- - -
- -
- -
-  - -

- b -

    -
  • BinaryOutputRegister_initialize() -: sensors.h -
  • -
- - -

- s -

- - -

- v -

    -
  • VnCriticalSection_deinitialize() -: criticalsection.h -
  • -
  • VnCriticalSection_enter() -: criticalsection.h -
  • -
  • VnCriticalSection_initialize() -: criticalsection.h -
  • -
  • VnCriticalSection_leave() -: criticalsection.h -
  • -
  • VnEvent_initialize() -: event.h -
  • -
  • VnEvent_signal() -: event.h -
  • -
  • VnEvent_wait() -: event.h -
  • -
  • VnEvent_waitMs() -: event.h -
  • -
  • VnEvent_waitUs() -: event.h -
  • -
  • VnSensor_accelerationDisturbancePresent() -: sensors.h -
  • -
  • VnSensor_changeBaudrate() -: sensors.h -
  • -
  • VnSensor_connect() -: sensors.h -
  • -
  • VnSensor_disconnect() -: sensors.h -
  • -
  • VnSensor_getResponseTimeoutMs() -: sensors.h -
  • -
  • VnSensor_getRetransmitDelayMs() -: sensors.h -
  • -
  • VnSensor_initialize() -: sensors.h -
  • -
  • VnSensor_isConnected() -: sensors.h -
  • -
  • VnSensor_magneticDisturbancePresent() -: sensors.h -
  • -
  • VnSensor_readAccelerationCompensation() -: sensors.h -
  • -
  • VnSensor_readAccelerationMeasurements() -: sensors.h -
  • -
  • VnSensor_readAngularRateMeasurements() -: sensors.h -
  • -
  • VnSensor_readAsyncDataOutputFrequency() -: sensors.h -
  • -
  • VnSensor_readAsyncDataOutputType() -: sensors.h -
  • -
  • VnSensor_readAttitudeQuaternion() -: sensors.h -
  • -
  • VnSensor_readBinaryOutput1() -: sensors.h -
  • -
  • VnSensor_readBinaryOutput2() -: sensors.h -
  • -
  • VnSensor_readBinaryOutput3() -: sensors.h -
  • -
  • VnSensor_readCalculatedMagnetometerCalibration() -: sensors.h -
  • -
  • VnSensor_readCommunicationProtocolControl() -: sensors.h -
  • -
  • VnSensor_readDeltaThetaAndDeltaVelocity() -: sensors.h -
  • -
  • VnSensor_readDeltaThetaAndDeltaVelocityConfiguration() -: sensors.h -
  • -
  • VnSensor_readFirmwareVersion() -: sensors.h -
  • -
  • VnSensor_readGpsAntennaOffset() -: sensors.h -
  • -
  • VnSensor_readGpsCompassBaseline() -: sensors.h -
  • -
  • VnSensor_readGpsCompassEstimatedBaseline() -: sensors.h -
  • -
  • VnSensor_readGpsConfiguration() -: sensors.h -
  • -
  • VnSensor_readGpsSolutionEcef() -: sensors.h -
  • -
  • VnSensor_readGpsSolutionLla() -: sensors.h -
  • -
  • VnSensor_readGyroCompensation() -: sensors.h -
  • -
  • VnSensor_readHardwareRevision() -: sensors.h -
  • -
  • VnSensor_readImuFilteringConfiguration() -: sensors.h -
  • -
  • VnSensor_readImuMeasurements() -: sensors.h -
  • -
  • VnSensor_readInsBasicConfigurationVn200() -: sensors.h -
  • -
  • VnSensor_readInsBasicConfigurationVn300() -: sensors.h -
  • -
  • VnSensor_readInsSolutionEcef() -: sensors.h -
  • -
  • VnSensor_readInsSolutionLla() -: sensors.h -
  • -
  • VnSensor_readInsStateEcef() -: sensors.h -
  • -
  • VnSensor_readInsStateLla() -: sensors.h -
  • -
  • VnSensor_readMagneticAccelerationAndAngularRates() -: sensors.h -
  • -
  • VnSensor_readMagneticAndGravityReferenceVectors() -: sensors.h -
  • -
  • VnSensor_readMagneticMeasurements() -: sensors.h -
  • -
  • VnSensor_readMagnetometerCalibrationControl() -: sensors.h -
  • -
  • VnSensor_readMagnetometerCompensation() -: sensors.h -
  • -
  • VnSensor_readModelNumber() -: sensors.h -
  • -
  • VnSensor_readQuaternionMagneticAccelerationAndAngularRates() -: sensors.h -
  • -
  • VnSensor_readReferenceFrameRotation() -: sensors.h -
  • -
  • VnSensor_readReferenceVectorConfiguration() -: sensors.h -
  • -
  • VnSensor_readSerialBaudRate() -: sensors.h -
  • -
  • VnSensor_readSerialNumber() -: sensors.h -
  • -
  • VnSensor_readStartupFilterBiasEstimate() -: sensors.h -
  • -
  • VnSensor_readSynchronizationControl() -: sensors.h -
  • -
  • VnSensor_readSynchronizationStatus() -: sensors.h -
  • -
  • VnSensor_readUserTag() -: sensors.h -
  • -
  • VnSensor_readVelocityCompensationControl() -: sensors.h -
  • -
  • VnSensor_readVelocityCompensationMeasurement() -: sensors.h -
  • -
  • VnSensor_readVpeAccelerometerBasicTuning() -: sensors.h -
  • -
  • VnSensor_readVpeBasicControl() -: sensors.h -
  • -
  • VnSensor_readVpeMagnetometerBasicTuning() -: sensors.h -
  • -
  • VnSensor_readYawPitchRoll() -: sensors.h -
  • -
  • VnSensor_readYawPitchRollMagneticAccelerationAndAngularRates() -: sensors.h -
  • -
  • VnSensor_readYawPitchRollTrueBodyAccelerationAndAngularRates() -: sensors.h -
  • -
  • VnSensor_readYawPitchRollTrueInertialAccelerationAndAngularRates() -: sensors.h -
  • -
  • VnSensor_registerAsyncPacketReceivedHandler() -: sensors.h -
  • -
  • VnSensor_registerErrorPacketReceivedHandler() -: sensors.h -
  • -
  • VnSensor_reset() -: sensors.h -
  • -
  • VnSensor_restoreFactorySettings() -: sensors.h -
  • -
  • VnSensor_setGyroBias() -: sensors.h -
  • -
  • VnSensor_setResponseTimeoutMs() -: sensors.h -
  • -
  • VnSensor_setRetransmitDelayMs() -: sensors.h -
  • -
  • VnSensor_tare() -: sensors.h -
  • -
  • VnSensor_transaction() -: sensors.h -
  • -
  • VnSensor_unregisterAsyncPacketReceivedHandler() -: sensors.h -
  • -
  • VnSensor_unregisterErrorPacketReceivedHandler() -: sensors.h -
  • -
  • VnSensor_verifySensorConnectivity() -: sensors.h -
  • -
  • VnSensor_writeAccelerationCompensation() -: sensors.h -
  • -
  • VnSensor_writeAsyncDataOutputFrequency() -: sensors.h -
  • -
  • VnSensor_writeAsyncDataOutputType() -: sensors.h -
  • -
  • VnSensor_writeBinaryOutput1() -: sensors.h -
  • -
  • VnSensor_writeBinaryOutput2() -: sensors.h -
  • -
  • VnSensor_writeBinaryOutput3() -: sensors.h -
  • -
  • VnSensor_writeCommunicationProtocolControl() -: sensors.h -
  • -
  • VnSensor_writeDeltaThetaAndDeltaVelocityConfiguration() -: sensors.h -
  • -
  • VnSensor_writeGpsAntennaOffset() -: sensors.h -
  • -
  • VnSensor_writeGpsCompassBaseline() -: sensors.h -
  • -
  • VnSensor_writeGpsConfiguration() -: sensors.h -
  • -
  • VnSensor_writeGyroCompensation() -: sensors.h -
  • -
  • VnSensor_writeImuFilteringConfiguration() -: sensors.h -
  • -
  • VnSensor_writeInsBasicConfigurationVn200() -: sensors.h -
  • -
  • VnSensor_writeInsBasicConfigurationVn300() -: sensors.h -
  • -
  • VnSensor_writeMagneticAndGravityReferenceVectors() -: sensors.h -
  • -
  • VnSensor_writeMagnetometerCalibrationControl() -: sensors.h -
  • -
  • VnSensor_writeMagnetometerCompensation() -: sensors.h -
  • -
  • VnSensor_writeReferenceFrameRotation() -: sensors.h -
  • -
  • VnSensor_writeReferenceVectorConfiguration() -: sensors.h -
  • -
  • VnSensor_writeSerialBaudRate() -: sensors.h -
  • -
  • VnSensor_writeSettings() -: sensors.h -
  • -
  • VnSensor_writeStartupFilterBiasEstimate() -: sensors.h -
  • -
  • VnSensor_writeSynchronizationControl() -: sensors.h -
  • -
  • VnSensor_writeSynchronizationStatus() -: sensors.h -
  • -
  • VnSensor_writeUserTag() -: sensors.h -
  • -
  • VnSensor_writeVelocityCompensationControl() -: sensors.h -
  • -
  • VnSensor_writeVelocityCompensationMeasurement() -: sensors.h -
  • -
  • VnSensor_writeVpeAccelerometerBasicTuning() -: sensors.h -
  • -
  • VnSensor_writeVpeBasicControl() -: sensors.h -
  • -
  • VnSensor_writeVpeMagnetometerBasicTuning() -: sensors.h -
  • -
  • VnStopwatch_elapsedMs() -: time.h -
  • -
  • VnStopwatch_initializeAndStart() -: time.h -
  • -
  • VnStopwatch_reset() -: time.h -
  • -
  • VnThread_join() -: thread.h -
  • -
  • VnThread_sleepMs() -: thread.h -
  • -
  • VnThread_sleepSec() -: thread.h -
  • -
  • VnThread_sleepUs() -: thread.h -
  • -
  • VnThread_startNew() -: thread.h -
  • -
-
- - - - diff --git a/vnproglib/c/help/globals_type.html b/vnproglib/c/help/globals_type.html deleted file mode 100644 index 3263e14..0000000 --- a/vnproglib/c/help/globals_type.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - -VectorNav C Library: Globals - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
- -
-
- - -
- -
- -
-
- - - - diff --git a/vnproglib/c/help/group__byte_orderers.html b/vnproglib/c/help/group__byte_orderers.html deleted file mode 100644 index 429c486..0000000 --- a/vnproglib/c/help/group__byte_orderers.html +++ /dev/null @@ -1,329 +0,0 @@ - - - - - - -VectorNav C Library: Byte Ordering Functions - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
- -
-
Byte Ordering Functions
-
-
- -

This group of functions are useful for ordering of bytes sent/received from VectorNav sensors. -More...

- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

uint16_t stoh16 (uint16_t sensorOrdered)
 Converts a 16-bit integer in sensor order to host order. More...
 
uint32_t stoh32 (uint32_t sensorOrdered)
 Converts a 32-bit integer in sensor order to host order. More...
 
uint64_t stoh64 (uint64_t sensorOrdered)
 Converts a 64-bit integer in sensor order to host order. More...
 
uint16_t htos16 (uint16_t hostOrdered)
 Converts a 16-bit integer in host order to sensor order. More...
 
uint32_t htos32 (uint32_t hostOrdered)
 Converts a 32-bit integer in host order to sensor order. More...
 
uint64_t htos64 (uint64_t hostOrdered)
 Converts a 64-bit integer in host order to sensor order. More...
 
float htosf4 (float hostOrdered)
 Converts a 4-byte float in host order to sensor order. More...
 
double htosf8 (double hostOrdered)
 Converts an 8-byte float in host order to sensor order. More...
 
-

Detailed Description

-

This group of functions are useful for ordering of bytes sent/received from VectorNav sensors.

-

Function Documentation

- -
-
- - - - - - - - -
uint16_t htos16 (uint16_t hostOrdered)
-
- -

Converts a 16-bit integer in host order to sensor order.

-
Parameters
- - -
[in]hostOrderedThe 16-bit integer in host order.
-
-
-
Returns
The value converted to sensor ordered.
- -
-
- -
-
- - - - - - - - -
uint32_t htos32 (uint32_t hostOrdered)
-
- -

Converts a 32-bit integer in host order to sensor order.

-
Parameters
- - -
[in]hostOrderedThe 32-bit integer in host order.
-
-
-
Returns
The value converted to sensor ordered.
- -
-
- -
-
- - - - - - - - -
uint64_t htos64 (uint64_t hostOrdered)
-
- -

Converts a 64-bit integer in host order to sensor order.

-
Parameters
- - -
[in]hostOrderedThe 64-bit integer in host order.
-
-
-
Returns
The value converted to sensor ordered.
- -
-
- -
-
- - - - - - - - -
float htosf4 (float hostOrdered)
-
- -

Converts a 4-byte float in host order to sensor order.

-
Parameters
- - -
[in]hostOrderedThe 4-byte float in host order.
-
-
-
Returns
The value converted to sensor ordered.
- -
-
- -
-
- - - - - - - - -
double htosf8 (double hostOrdered)
-
- -

Converts an 8-byte float in host order to sensor order.

-
Parameters
- - -
[in]hostOrderedThe 8-byte float in host order.
-
-
-
Returns
The value converted to sensor ordered.
- -
-
- -
-
- - - - - - - - -
uint16_t stoh16 (uint16_t sensorOrdered)
-
- -

Converts a 16-bit integer in sensor order to host order.

-
Parameters
- - -
[in]sensorOrderedThe 16-bit integer in sensor order.
-
-
-
Returns
The value converted to host ordered.
- -
-
- -
-
- - - - - - - - -
uint32_t stoh32 (uint32_t sensorOrdered)
-
- -

Converts a 32-bit integer in sensor order to host order.

-
Parameters
- - -
[in]sensorOrderedThe 32-bit integer in sensor order.
-
-
-
Returns
The value converted to host ordered.
- -
-
- -
-
- - - - - - - - -
uint64_t stoh64 (uint64_t sensorOrdered)
-
- -

Converts a 64-bit integer in sensor order to host order.

-
Parameters
- - -
[in]sensorOrderedThe 64-bit integer in sensor order.
-
-
-
Returns
The value converted to host ordered.
- -
-
-
- - - - diff --git a/vnproglib/c/help/group__register_access_methods.html b/vnproglib/c/help/group__register_access_methods.html deleted file mode 100644 index 430c593..0000000 --- a/vnproglib/c/help/group__register_access_methods.html +++ /dev/null @@ -1,3609 +0,0 @@ - - - - - - -VectorNav C Library: Register Access Methods - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
- -
-
Register Access Methods
-
-
- -

This group of methods provide access to read and write to the sensor's registers. -More...

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

VnError VnSensor_readBinaryOutput1 (VnSensor *sensor, BinaryOutputRegister *fields)
 Reads the Binary Output 1 register. More...
 
VnError VnSensor_writeBinaryOutput1 (VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply)
 Writes to the Binary Output 1 register. More...
 
VnError VnSensor_readBinaryOutput2 (VnSensor *sensor, BinaryOutputRegister *fields)
 Reads the Binary Output 2 register. More...
 
VnError VnSensor_writeBinaryOutput2 (VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply)
 Writes to the Binary Output 2 register. More...
 
VnError VnSensor_readBinaryOutput3 (VnSensor *sensor, BinaryOutputRegister *fields)
 Reads the Binary Output 3 register. More...
 
VnError VnSensor_writeBinaryOutput3 (VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply)
 Writes to the Binary Output 3 register. More...
 
VnError VnSensor_readUserTag (VnSensor *sensor, char *tagBuffer, size_t tagBufferLength)
 Reads the User Tag register. More...
 
VnError VnSensor_writeUserTag (VnSensor *sensor, char *tag, bool waitForReply)
 Writes to the User Tag register. More...
 
VnError VnSensor_readModelNumber (VnSensor *sensor, char *productNameBuffer, size_t productNameBufferLength)
 Reads the Model Number register. More...
 
VnError VnSensor_readHardwareRevision (VnSensor *sensor, uint32_t *revision)
 Reads the Hardware Revision register. More...
 
VnError VnSensor_readSerialNumber (VnSensor *sensor, uint32_t *serialNum)
 Reads the Serial Number register. More...
 
VnError VnSensor_readFirmwareVersion (VnSensor *sensor, char *firmwareVersionBuffer, size_t firmwareVersionBufferLength)
 Reads the Firmware Version register. More...
 
VnError VnSensor_readSerialBaudRate (VnSensor *sensor, uint32_t *baudrate)
 Reads the Serial Baud Rate register. More...
 
VnError VnSensor_writeSerialBaudRate (VnSensor *sensor, uint32_t baudrate, bool waitForReply)
 Writes to the Serial Baud Rate register. More...
 
VnError VnSensor_readAsyncDataOutputType (VnSensor *sensor, VnAsciiAsync *ador)
 Reads the Async Data Output Type register. More...
 
VnError VnSensor_writeAsyncDataOutputType (VnSensor *sensor, VnAsciiAsync ador, bool waitForReply)
 Writes to the Async Data Output Type register. More...
 
VnError VnSensor_readAsyncDataOutputFrequency (VnSensor *sensor, uint32_t *adof)
 Reads the Async Data Output Frequency register. More...
 
VnError VnSensor_writeAsyncDataOutputFrequency (VnSensor *sensor, uint32_t adof, bool waitForReply)
 Writes to the Async Data Output Frequency register. More...
 
VnError VnSensor_readYawPitchRoll (VnSensor *sensor, vec3f *yawPitchRoll)
 Reads the Yaw Pitch Roll register. More...
 
VnError VnSensor_readAttitudeQuaternion (VnSensor *sensor, vec4f *quat)
 Reads the Attitude Quaternion register. More...
 
VnError VnSensor_readQuaternionMagneticAccelerationAndAngularRates (VnSensor *sensor, QuaternionMagneticAccelerationAndAngularRatesRegister *fields)
 Reads the Quaternion, Magnetic, Acceleration and Angular Rates register. More...
 
VnError VnSensor_readMagneticMeasurements (VnSensor *sensor, vec3f *mag)
 Reads the Magnetic Measurements register. More...
 
VnError VnSensor_readAccelerationMeasurements (VnSensor *sensor, vec3f *accel)
 Reads the Acceleration Measurements register. More...
 
VnError VnSensor_readAngularRateMeasurements (VnSensor *sensor, vec3f *gyro)
 Reads the Angular Rate Measurements register. More...
 
VnError VnSensor_readMagneticAccelerationAndAngularRates (VnSensor *sensor, MagneticAccelerationAndAngularRatesRegister *fields)
 Reads the Magnetic, Acceleration and Angular Rates register. More...
 
VnError VnSensor_readMagneticAndGravityReferenceVectors (VnSensor *sensor, MagneticAndGravityReferenceVectorsRegister *fields)
 Reads the Magnetic and Gravity Reference Vectors register. More...
 
VnError VnSensor_writeMagneticAndGravityReferenceVectors (VnSensor *sensor, MagneticAndGravityReferenceVectorsRegister fields, bool waitForReply)
 Writes to the Magnetic and Gravity Reference Vectors register. More...
 
VnError VnSensor_readMagnetometerCompensation (VnSensor *sensor, MagnetometerCompensationRegister *fields)
 Reads the Magnetometer Compensation register. More...
 
VnError VnSensor_writeMagnetometerCompensation (VnSensor *sensor, MagnetometerCompensationRegister fields, bool waitForReply)
 Writes to the Magnetometer Compensation register. More...
 
VnError VnSensor_readAccelerationCompensation (VnSensor *sensor, AccelerationCompensationRegister *fields)
 Reads the Acceleration Compensation register. More...
 
VnError VnSensor_writeAccelerationCompensation (VnSensor *sensor, AccelerationCompensationRegister fields, bool waitForReply)
 Writes to the Acceleration Compensation register. More...
 
VnError VnSensor_readReferenceFrameRotation (VnSensor *sensor, mat3f *c)
 Reads the Reference Frame Rotation register. More...
 
VnError VnSensor_writeReferenceFrameRotation (VnSensor *sensor, mat3f c, bool waitForReply)
 Writes to the Reference Frame Rotation register. More...
 
VnError VnSensor_readYawPitchRollMagneticAccelerationAndAngularRates (VnSensor *sensor, YawPitchRollMagneticAccelerationAndAngularRatesRegister *fields)
 Reads the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register. More...
 
VnError VnSensor_readCommunicationProtocolControl (VnSensor *sensor, CommunicationProtocolControlRegister *fields)
 Reads the Communication Protocol Control register. More...
 
VnError VnSensor_writeCommunicationProtocolControl (VnSensor *sensor, CommunicationProtocolControlRegister fields, bool waitForReply)
 Writes to the Communication Protocol Control register. More...
 
VnError VnSensor_readSynchronizationControl (VnSensor *sensor, SynchronizationControlRegister *fields)
 Reads the Synchronization Control register. More...
 
VnError VnSensor_writeSynchronizationControl (VnSensor *sensor, SynchronizationControlRegister fields, bool waitForReply)
 Writes to the Synchronization Control register. More...
 
VnError VnSensor_readSynchronizationStatus (VnSensor *sensor, SynchronizationStatusRegister *fields)
 Reads the Synchronization Status register. More...
 
VnError VnSensor_writeSynchronizationStatus (VnSensor *sensor, SynchronizationStatusRegister fields, bool waitForReply)
 Writes to the Synchronization Status register. More...
 
VnError VnSensor_readVpeBasicControl (VnSensor *sensor, VpeBasicControlRegister *fields)
 Reads the VPE Basic Control register. More...
 
VnError VnSensor_writeVpeBasicControl (VnSensor *sensor, VpeBasicControlRegister fields, bool waitForReply)
 Writes to the VPE Basic Control register. More...
 
VnError VnSensor_readVpeMagnetometerBasicTuning (VnSensor *sensor, VpeMagnetometerBasicTuningRegister *fields)
 Reads the VPE Magnetometer Basic Tuning register. More...
 
VnError VnSensor_writeVpeMagnetometerBasicTuning (VnSensor *sensor, VpeMagnetometerBasicTuningRegister fields, bool waitForReply)
 Writes to the VPE Magnetometer Basic Tuning register. More...
 
VnError VnSensor_readVpeAccelerometerBasicTuning (VnSensor *sensor, VpeAccelerometerBasicTuningRegister *fields)
 Reads the VPE Accelerometer Basic Tuning register. More...
 
VnError VnSensor_writeVpeAccelerometerBasicTuning (VnSensor *sensor, VpeAccelerometerBasicTuningRegister fields, bool waitForReply)
 Writes to the VPE Accelerometer Basic Tuning register. More...
 
VnError VnSensor_readMagnetometerCalibrationControl (VnSensor *sensor, MagnetometerCalibrationControlRegister *fields)
 Reads the Magnetometer Calibration Control register. More...
 
VnError VnSensor_writeMagnetometerCalibrationControl (VnSensor *sensor, MagnetometerCalibrationControlRegister fields, bool waitForReply)
 Writes to the Magnetometer Calibration Control register. More...
 
VnError VnSensor_readCalculatedMagnetometerCalibration (VnSensor *sensor, CalculatedMagnetometerCalibrationRegister *fields)
 Reads the Calculated Magnetometer Calibration register. More...
 
VnError VnSensor_readVelocityCompensationMeasurement (VnSensor *sensor, vec3f *velocity)
 Reads the Velocity Compensation Measurement register. More...
 
VnError VnSensor_writeVelocityCompensationMeasurement (VnSensor *sensor, vec3f velocity, bool waitForReply)
 Writes to the Velocity Compensation Measurement register. More...
 
VnError VnSensor_readVelocityCompensationControl (VnSensor *sensor, VelocityCompensationControlRegister *fields)
 Reads the Velocity Compensation Control register. More...
 
VnError VnSensor_writeVelocityCompensationControl (VnSensor *sensor, VelocityCompensationControlRegister fields, bool waitForReply)
 Writes to the Velocity Compensation Control register. More...
 
VnError VnSensor_readImuMeasurements (VnSensor *sensor, ImuMeasurementsRegister *fields)
 Reads the IMU Measurements register. More...
 
VnError VnSensor_readGpsConfiguration (VnSensor *sensor, GpsConfigurationRegister *fields)
 Reads the GPS Configuration register. More...
 
VnError VnSensor_writeGpsConfiguration (VnSensor *sensor, GpsConfigurationRegister fields, bool waitForReply)
 Writes to the GPS Configuration register. More...
 
VnError VnSensor_readGpsAntennaOffset (VnSensor *sensor, vec3f *position)
 Reads the GPS Antenna Offset register. More...
 
VnError VnSensor_writeGpsAntennaOffset (VnSensor *sensor, vec3f position, bool waitForReply)
 Writes to the GPS Antenna Offset register. More...
 
VnError VnSensor_readGpsSolutionLla (VnSensor *sensor, GpsSolutionLlaRegister *fields)
 Reads the GPS Solution - LLA register. More...
 
VnError VnSensor_readGpsSolutionEcef (VnSensor *sensor, GpsSolutionEcefRegister *fields)
 Reads the GPS Solution - ECEF register. More...
 
VnError VnSensor_readInsSolutionLla (VnSensor *sensor, InsSolutionLlaRegister *fields)
 Reads the INS Solution - LLA register. More...
 
VnError VnSensor_readInsSolutionEcef (VnSensor *sensor, InsSolutionEcefRegister *fields)
 Reads the INS Solution - ECEF register. More...
 
VnError VnSensor_readInsBasicConfigurationVn200 (VnSensor *sensor, InsBasicConfigurationRegisterVn200 *fields)
 Reads the INS Basic Configuration register for a VN-200 sensor. More...
 
VnError VnSensor_writeInsBasicConfigurationVn200 (VnSensor *sensor, InsBasicConfigurationRegisterVn200 fields, bool waitForReply)
 Writes to the INS Basic Configuration register for a VN-200 sensor. More...
 
VnError VnSensor_readInsBasicConfigurationVn300 (VnSensor *sensor, InsBasicConfigurationRegisterVn300 *fields)
 Reads the INS Basic Configuration register for a VN-300 sensor. More...
 
VnError VnSensor_writeInsBasicConfigurationVn300 (VnSensor *sensor, InsBasicConfigurationRegisterVn300 fields, bool waitForReply)
 Writes to the INS Basic Configuration register for a VN-300 sensor. More...
 
VnError VnSensor_readInsStateLla (VnSensor *sensor, InsStateLlaRegister *fields)
 Reads the INS State - LLA register. More...
 
VnError VnSensor_readInsStateEcef (VnSensor *sensor, InsStateEcefRegister *fields)
 Reads the INS State - ECEF register. More...
 
VnError VnSensor_readStartupFilterBiasEstimate (VnSensor *sensor, StartupFilterBiasEstimateRegister *fields)
 Reads the Startup Filter Bias Estimate register. More...
 
VnError VnSensor_writeStartupFilterBiasEstimate (VnSensor *sensor, StartupFilterBiasEstimateRegister fields, bool waitForReply)
 Writes to the Startup Filter Bias Estimate register. More...
 
VnError VnSensor_readDeltaThetaAndDeltaVelocity (VnSensor *sensor, DeltaThetaAndDeltaVelocityRegister *fields)
 Reads the Delta Theta and Delta Velocity register. More...
 
VnError VnSensor_readDeltaThetaAndDeltaVelocityConfiguration (VnSensor *sensor, DeltaThetaAndDeltaVelocityConfigurationRegister *fields)
 Reads the Delta Theta and Delta Velocity Configuration register. More...
 
VnError VnSensor_writeDeltaThetaAndDeltaVelocityConfiguration (VnSensor *sensor, DeltaThetaAndDeltaVelocityConfigurationRegister fields, bool waitForReply)
 Writes to the Delta Theta and Delta Velocity Configuration register. More...
 
VnError VnSensor_readReferenceVectorConfiguration (VnSensor *sensor, ReferenceVectorConfigurationRegister *fields)
 Reads the Reference Vector Configuration register. More...
 
VnError VnSensor_writeReferenceVectorConfiguration (VnSensor *sensor, ReferenceVectorConfigurationRegister fields, bool waitForReply)
 Writes to the Reference Vector Configuration register. More...
 
VnError VnSensor_readGyroCompensation (VnSensor *sensor, GyroCompensationRegister *fields)
 Reads the Gyro Compensation register. More...
 
VnError VnSensor_writeGyroCompensation (VnSensor *sensor, GyroCompensationRegister fields, bool waitForReply)
 Writes to the Gyro Compensation register. More...
 
VnError VnSensor_readImuFilteringConfiguration (VnSensor *sensor, ImuFilteringConfigurationRegister *fields)
 Reads the IMU Filtering Configuration register. More...
 
VnError VnSensor_writeImuFilteringConfiguration (VnSensor *sensor, ImuFilteringConfigurationRegister fields, bool waitForReply)
 Writes to the IMU Filtering Configuration register. More...
 
VnError VnSensor_readGpsCompassBaseline (VnSensor *sensor, GpsCompassBaselineRegister *fields)
 Reads the GPS Compass Baseline register. More...
 
VnError VnSensor_writeGpsCompassBaseline (VnSensor *sensor, GpsCompassBaselineRegister fields, bool waitForReply)
 Writes to the GPS Compass Baseline register. More...
 
VnError VnSensor_readGpsCompassEstimatedBaseline (VnSensor *sensor, GpsCompassEstimatedBaselineRegister *fields)
 Reads the GPS Compass Estimated Baseline register. More...
 
VnError VnSensor_readYawPitchRollTrueBodyAccelerationAndAngularRates (VnSensor *sensor, YawPitchRollTrueBodyAccelerationAndAngularRatesRegister *fields)
 Reads the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register. More...
 
VnError VnSensor_readYawPitchRollTrueInertialAccelerationAndAngularRates (VnSensor *sensor, YawPitchRollTrueInertialAccelerationAndAngularRatesRegister *fields)
 Reads the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register. More...
 
-

Detailed Description

-

This group of methods provide access to read and write to the sensor's registers.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readAccelerationCompensation (VnSensorsensor,
AccelerationCompensationRegisterfields 
)
-
- -

Reads the Acceleration Compensation register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readAccelerationMeasurements (VnSensorsensor,
vec3faccel 
)
-
- -

Reads the Acceleration Measurements register.

-
Parameters
- - -
[in]sensorThe associated VnSensor.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readAngularRateMeasurements (VnSensorsensor,
vec3fgyro 
)
-
- -

Reads the Angular Rate Measurements register.

-
Parameters
- - -
[in]sensorThe associated VnSensor.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readAsyncDataOutputFrequency (VnSensorsensor,
uint32_t * adof 
)
-
- -

Reads the Async Data Output Frequency register.

-
Parameters
- - -
[in]sensorThe associated VnSensor.
-
-
-
Returns
Any errors encountered.
-
Examples:
sensor/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readAsyncDataOutputType (VnSensorsensor,
VnAsciiAsync * ador 
)
-
- -

Reads the Async Data Output Type register.

-
Parameters
- - -
[in]sensorThe associated VnSensor.
-
-
-
Returns
Any errors encountered.
-
Examples:
sensor/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readAttitudeQuaternion (VnSensorsensor,
vec4fquat 
)
-
- -

Reads the Attitude Quaternion register.

-
Parameters
- - -
[in]sensorThe associated VnSensor.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readBinaryOutput1 (VnSensorsensor,
BinaryOutputRegisterfields 
)
-
- -

Reads the Binary Output 1 register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readBinaryOutput2 (VnSensorsensor,
BinaryOutputRegisterfields 
)
-
- -

Reads the Binary Output 2 register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readBinaryOutput3 (VnSensorsensor,
BinaryOutputRegisterfields 
)
-
- -

Reads the Binary Output 3 register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readCalculatedMagnetometerCalibration (VnSensorsensor,
CalculatedMagnetometerCalibrationRegisterfields 
)
-
- -

Reads the Calculated Magnetometer Calibration register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readCommunicationProtocolControl (VnSensorsensor,
CommunicationProtocolControlRegisterfields 
)
-
- -

Reads the Communication Protocol Control register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readDeltaThetaAndDeltaVelocity (VnSensorsensor,
DeltaThetaAndDeltaVelocityRegisterfields 
)
-
- -

Reads the Delta Theta and Delta Velocity register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readDeltaThetaAndDeltaVelocityConfiguration (VnSensorsensor,
DeltaThetaAndDeltaVelocityConfigurationRegisterfields 
)
-
- -

Reads the Delta Theta and Delta Velocity Configuration register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_readFirmwareVersion (VnSensorsensor,
char * firmwareVersionBuffer,
size_t firmwareVersionBufferLength 
)
-
- -

Reads the Firmware Version register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[out]firmwareVersionBufferBuffer to place the read register value.
[in]firmwareVersionBufferLengthLength of the provided buffer.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readGpsAntennaOffset (VnSensorsensor,
vec3fposition 
)
-
- -

Reads the GPS Antenna Offset register.

-
Parameters
- - -
[in]sensorThe associated VnSensor.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readGpsCompassBaseline (VnSensorsensor,
GpsCompassBaselineRegisterfields 
)
-
- -

Reads the GPS Compass Baseline register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readGpsCompassEstimatedBaseline (VnSensorsensor,
GpsCompassEstimatedBaselineRegisterfields 
)
-
- -

Reads the GPS Compass Estimated Baseline register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readGpsConfiguration (VnSensorsensor,
GpsConfigurationRegisterfields 
)
-
- -

Reads the GPS Configuration register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readGpsSolutionEcef (VnSensorsensor,
GpsSolutionEcefRegisterfields 
)
-
- -

Reads the GPS Solution - ECEF register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readGpsSolutionLla (VnSensorsensor,
GpsSolutionLlaRegisterfields 
)
-
- -

Reads the GPS Solution - LLA register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readGyroCompensation (VnSensorsensor,
GyroCompensationRegisterfields 
)
-
- -

Reads the Gyro Compensation register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readHardwareRevision (VnSensorsensor,
uint32_t * revision 
)
-
- -

Reads the Hardware Revision register.

-
Parameters
- - -
[in]sensorThe associated VnSensor.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readImuFilteringConfiguration (VnSensorsensor,
ImuFilteringConfigurationRegisterfields 
)
-
- -

Reads the IMU Filtering Configuration register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readImuMeasurements (VnSensorsensor,
ImuMeasurementsRegisterfields 
)
-
- -

Reads the IMU Measurements register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readInsBasicConfigurationVn200 (VnSensorsensor,
InsBasicConfigurationRegisterVn200fields 
)
-
- -

Reads the INS Basic Configuration register for a VN-200 sensor.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readInsBasicConfigurationVn300 (VnSensorsensor,
InsBasicConfigurationRegisterVn300fields 
)
-
- -

Reads the INS Basic Configuration register for a VN-300 sensor.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readInsSolutionEcef (VnSensorsensor,
InsSolutionEcefRegisterfields 
)
-
- -

Reads the INS Solution - ECEF register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readInsSolutionLla (VnSensorsensor,
InsSolutionLlaRegisterfields 
)
-
- -

Reads the INS Solution - LLA register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readInsStateEcef (VnSensorsensor,
InsStateEcefRegisterfields 
)
-
- -

Reads the INS State - ECEF register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readInsStateLla (VnSensorsensor,
InsStateLlaRegisterfields 
)
-
- -

Reads the INS State - LLA register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readMagneticAccelerationAndAngularRates (VnSensorsensor,
MagneticAccelerationAndAngularRatesRegisterfields 
)
-
- -

Reads the Magnetic, Acceleration and Angular Rates register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readMagneticAndGravityReferenceVectors (VnSensorsensor,
MagneticAndGravityReferenceVectorsRegisterfields 
)
-
- -

Reads the Magnetic and Gravity Reference Vectors register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readMagneticMeasurements (VnSensorsensor,
vec3fmag 
)
-
- -

Reads the Magnetic Measurements register.

-
Parameters
- - -
[in]sensorThe associated VnSensor.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readMagnetometerCalibrationControl (VnSensorsensor,
MagnetometerCalibrationControlRegisterfields 
)
-
- -

Reads the Magnetometer Calibration Control register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readMagnetometerCompensation (VnSensorsensor,
MagnetometerCompensationRegisterfields 
)
-
- -

Reads the Magnetometer Compensation register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_readModelNumber (VnSensorsensor,
char * productNameBuffer,
size_t productNameBufferLength 
)
-
- -

Reads the Model Number register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[out]productNameBufferBuffer to place the read register value.
[in]productNameBufferLengthLength of the provided buffer.
-
-
-
Returns
Any errors encountered.
-
Examples:
sensor/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readQuaternionMagneticAccelerationAndAngularRates (VnSensorsensor,
QuaternionMagneticAccelerationAndAngularRatesRegisterfields 
)
-
- -

Reads the Quaternion, Magnetic, Acceleration and Angular Rates register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readReferenceFrameRotation (VnSensorsensor,
mat3fc 
)
-
- -

Reads the Reference Frame Rotation register.

-
Parameters
- - -
[in]sensorThe associated VnSensor.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readReferenceVectorConfiguration (VnSensorsensor,
ReferenceVectorConfigurationRegisterfields 
)
-
- -

Reads the Reference Vector Configuration register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readSerialBaudRate (VnSensorsensor,
uint32_t * baudrate 
)
-
- -

Reads the Serial Baud Rate register.

-
Parameters
- - -
[in]sensorThe associated VnSensor.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readSerialNumber (VnSensorsensor,
uint32_t * serialNum 
)
-
- -

Reads the Serial Number register.

-
Parameters
- - -
[in]sensorThe associated VnSensor.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readStartupFilterBiasEstimate (VnSensorsensor,
StartupFilterBiasEstimateRegisterfields 
)
-
- -

Reads the Startup Filter Bias Estimate register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readSynchronizationControl (VnSensorsensor,
SynchronizationControlRegisterfields 
)
-
- -

Reads the Synchronization Control register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readSynchronizationStatus (VnSensorsensor,
SynchronizationStatusRegisterfields 
)
-
- -

Reads the Synchronization Status register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_readUserTag (VnSensorsensor,
char * tagBuffer,
size_t tagBufferLength 
)
-
- -

Reads the User Tag register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[out]tagBufferBuffer to place the read register value.
[in]tagBufferLengthLength of the provided buffer.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readVelocityCompensationControl (VnSensorsensor,
VelocityCompensationControlRegisterfields 
)
-
- -

Reads the Velocity Compensation Control register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readVelocityCompensationMeasurement (VnSensorsensor,
vec3fvelocity 
)
-
- -

Reads the Velocity Compensation Measurement register.

-
Parameters
- - -
[in]sensorThe associated VnSensor.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readVpeAccelerometerBasicTuning (VnSensorsensor,
VpeAccelerometerBasicTuningRegisterfields 
)
-
- -

Reads the VPE Accelerometer Basic Tuning register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readVpeBasicControl (VnSensorsensor,
VpeBasicControlRegisterfields 
)
-
- -

Reads the VPE Basic Control register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
-
Examples:
sensor/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readVpeMagnetometerBasicTuning (VnSensorsensor,
VpeMagnetometerBasicTuningRegisterfields 
)
-
- -

Reads the VPE Magnetometer Basic Tuning register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readYawPitchRoll (VnSensorsensor,
vec3fyawPitchRoll 
)
-
- -

Reads the Yaw Pitch Roll register.

-
Parameters
- - -
[in]sensorThe associated VnSensor.
-
-
-
Returns
Any errors encountered.
-
Examples:
sensor/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readYawPitchRollMagneticAccelerationAndAngularRates (VnSensorsensor,
YawPitchRollMagneticAccelerationAndAngularRatesRegisterfields 
)
-
- -

Reads the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
-
Examples:
sensor/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readYawPitchRollTrueBodyAccelerationAndAngularRates (VnSensorsensor,
YawPitchRollTrueBodyAccelerationAndAngularRatesRegisterfields 
)
-
- -

Reads the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_readYawPitchRollTrueInertialAccelerationAndAngularRates (VnSensorsensor,
YawPitchRollTrueInertialAccelerationAndAngularRatesRegisterfields 
)
-
- -

Reads the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[out]fieldsThe register's values.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeAccelerationCompensation (VnSensorsensor,
AccelerationCompensationRegister fields,
bool waitForReply 
)
-
- -

Writes to the Acceleration Compensation register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeAsyncDataOutputFrequency (VnSensorsensor,
uint32_t adof,
bool waitForReply 
)
-
- -

Writes to the Async Data Output Frequency register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]adofThe value to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
-
Examples:
sensor/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeAsyncDataOutputType (VnSensorsensor,
VnAsciiAsync ador,
bool waitForReply 
)
-
- -

Writes to the Async Data Output Type register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]adorThe value to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
-
Examples:
ez_async_data/main.c, and sensor/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeBinaryOutput1 (VnSensorsensor,
BinaryOutputRegisterfields,
bool waitForReply 
)
-
- -

Writes to the Binary Output 1 register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe register's fields.
[in]waitForReplyIndicates if the method should wait for a response from the sensor.
-
-
-
Returns
Any errors encountered.
-
Examples:
sensor/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeBinaryOutput2 (VnSensorsensor,
BinaryOutputRegisterfields,
bool waitForReply 
)
-
- -

Writes to the Binary Output 2 register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe register's fields.
[in]waitForReplyIndicates if the method should wait for a response from the sensor.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeBinaryOutput3 (VnSensorsensor,
BinaryOutputRegisterfields,
bool waitForReply 
)
-
- -

Writes to the Binary Output 3 register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe register's fields.
[in]waitForReplyIndicates if the method should wait for a response from the sensor.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeCommunicationProtocolControl (VnSensorsensor,
CommunicationProtocolControlRegister fields,
bool waitForReply 
)
-
- -

Writes to the Communication Protocol Control register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeDeltaThetaAndDeltaVelocityConfiguration (VnSensorsensor,
DeltaThetaAndDeltaVelocityConfigurationRegister fields,
bool waitForReply 
)
-
- -

Writes to the Delta Theta and Delta Velocity Configuration register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeGpsAntennaOffset (VnSensorsensor,
vec3f position,
bool waitForReply 
)
-
- -

Writes to the GPS Antenna Offset register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]positionThe value to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeGpsCompassBaseline (VnSensorsensor,
GpsCompassBaselineRegister fields,
bool waitForReply 
)
-
- -

Writes to the GPS Compass Baseline register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeGpsConfiguration (VnSensorsensor,
GpsConfigurationRegister fields,
bool waitForReply 
)
-
- -

Writes to the GPS Configuration register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeGyroCompensation (VnSensorsensor,
GyroCompensationRegister fields,
bool waitForReply 
)
-
- -

Writes to the Gyro Compensation register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeImuFilteringConfiguration (VnSensorsensor,
ImuFilteringConfigurationRegister fields,
bool waitForReply 
)
-
- -

Writes to the IMU Filtering Configuration register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeInsBasicConfigurationVn200 (VnSensorsensor,
InsBasicConfigurationRegisterVn200 fields,
bool waitForReply 
)
-
- -

Writes to the INS Basic Configuration register for a VN-200 sensor.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeInsBasicConfigurationVn300 (VnSensorsensor,
InsBasicConfigurationRegisterVn300 fields,
bool waitForReply 
)
-
- -

Writes to the INS Basic Configuration register for a VN-300 sensor.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeMagneticAndGravityReferenceVectors (VnSensorsensor,
MagneticAndGravityReferenceVectorsRegister fields,
bool waitForReply 
)
-
- -

Writes to the Magnetic and Gravity Reference Vectors register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeMagnetometerCalibrationControl (VnSensorsensor,
MagnetometerCalibrationControlRegister fields,
bool waitForReply 
)
-
- -

Writes to the Magnetometer Calibration Control register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeMagnetometerCompensation (VnSensorsensor,
MagnetometerCompensationRegister fields,
bool waitForReply 
)
-
- -

Writes to the Magnetometer Compensation register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeReferenceFrameRotation (VnSensorsensor,
mat3f c,
bool waitForReply 
)
-
- -

Writes to the Reference Frame Rotation register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]cThe value to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeReferenceVectorConfiguration (VnSensorsensor,
ReferenceVectorConfigurationRegister fields,
bool waitForReply 
)
-
- -

Writes to the Reference Vector Configuration register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeSerialBaudRate (VnSensorsensor,
uint32_t baudrate,
bool waitForReply 
)
-
- -

Writes to the Serial Baud Rate register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]baudrateThe value to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeStartupFilterBiasEstimate (VnSensorsensor,
StartupFilterBiasEstimateRegister fields,
bool waitForReply 
)
-
- -

Writes to the Startup Filter Bias Estimate register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeSynchronizationControl (VnSensorsensor,
SynchronizationControlRegister fields,
bool waitForReply 
)
-
- -

Writes to the Synchronization Control register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeSynchronizationStatus (VnSensorsensor,
SynchronizationStatusRegister fields,
bool waitForReply 
)
-
- -

Writes to the Synchronization Status register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeUserTag (VnSensorsensor,
char * tag,
bool waitForReply 
)
-
- -

Writes to the User Tag register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]tagThe value to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeVelocityCompensationControl (VnSensorsensor,
VelocityCompensationControlRegister fields,
bool waitForReply 
)
-
- -

Writes to the Velocity Compensation Control register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeVelocityCompensationMeasurement (VnSensorsensor,
vec3f velocity,
bool waitForReply 
)
-
- -

Writes to the Velocity Compensation Measurement register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]velocityThe value to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeVpeAccelerometerBasicTuning (VnSensorsensor,
VpeAccelerometerBasicTuningRegister fields,
bool waitForReply 
)
-
- -

Writes to the VPE Accelerometer Basic Tuning register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeVpeBasicControl (VnSensorsensor,
VpeBasicControlRegister fields,
bool waitForReply 
)
-
- -

Writes to the VPE Basic Control register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
-
Examples:
sensor/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeVpeMagnetometerBasicTuning (VnSensorsensor,
VpeMagnetometerBasicTuningRegister fields,
bool waitForReply 
)
-
- -

Writes to the VPE Magnetometer Basic Tuning register.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]fieldsThe values to write to the register.
[in]waitForReplySet to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return.
-
-
-
Returns
Any errors encountered.
- -
-
-
- - - - diff --git a/vnproglib/c/help/group__register_structures.html b/vnproglib/c/help/group__register_structures.html deleted file mode 100644 index 3f573c7..0000000 --- a/vnproglib/c/help/group__register_structures.html +++ /dev/null @@ -1,332 +0,0 @@ - - - - - - -VectorNav C Library: Register Structures - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
- -
-
Register Structures
-
-
- -

These structures represent the various registers on a VecotorNav sensor. -More...

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Data Structures

struct  BinaryOutputRegister
 Structure representing a Binary Output register. More...
 
struct  QuaternionMagneticAccelerationAndAngularRatesRegister
 Structure representing the Quaternion, Magnetic, Acceleration and Angular Rates register. More...
 
struct  MagneticAccelerationAndAngularRatesRegister
 Structure representing the Magnetic, Acceleration and Angular Rates register. More...
 
struct  MagneticAndGravityReferenceVectorsRegister
 Structure representing the Magnetic and Gravity Reference Vectors register. More...
 
struct  FilterMeasurementsVarianceParametersRegister
 Structure representing the Filter Measurements Variance Parameters register. More...
 
struct  MagnetometerCompensationRegister
 Structure representing the Magnetometer Compensation register. More...
 
struct  FilterActiveTuningParametersRegister
 Structure representing the Filter Active Tuning Parameters register. More...
 
struct  AccelerationCompensationRegister
 Structure representing the Acceleration Compensation register. More...
 
struct  YawPitchRollMagneticAccelerationAndAngularRatesRegister
 Structure representing the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register. More...
 
struct  CommunicationProtocolControlRegister
 Structure representing the Communication Protocol Control register. More...
 
struct  SynchronizationControlRegister
 Structure representing the Synchronization Control register. More...
 
struct  SynchronizationStatusRegister
 Structure representing the Synchronization Status register. More...
 
struct  FilterBasicControlRegister
 Structure representing the Filter Basic Control register. More...
 
struct  VpeBasicControlRegister
 Structure representing the VPE Basic Control register. More...
 
struct  VpeMagnetometerBasicTuningRegister
 Structure representing the VPE Magnetometer Basic Tuning register. More...
 
struct  VpeMagnetometerAdvancedTuningRegister
 Structure representing the VPE Magnetometer Advanced Tuning register. More...
 
struct  VpeAccelerometerBasicTuningRegister
 Structure representing the VPE Accelerometer Basic Tuning register. More...
 
struct  VpeAccelerometerAdvancedTuningRegister
 Structure representing the VPE Accelerometer Advanced Tuning register. More...
 
struct  VpeGyroBasicTuningRegister
 Structure representing the VPE Gyro Basic Tuning register. More...
 
struct  MagnetometerCalibrationControlRegister
 Structure representing the Magnetometer Calibration Control register. More...
 
struct  CalculatedMagnetometerCalibrationRegister
 Structure representing the Calculated Magnetometer Calibration register. More...
 
struct  VelocityCompensationControlRegister
 Structure representing the Velocity Compensation Control register. More...
 
struct  VelocityCompensationStatusRegister
 Structure representing the Velocity Compensation Status register. More...
 
struct  ImuMeasurementsRegister
 Structure representing the IMU Measurements register. More...
 
struct  GpsConfigurationRegister
 Structure representing the GPS Configuration register. More...
 
struct  GpsSolutionLlaRegister
 Structure representing the GPS Solution - LLA register. More...
 
struct  GpsSolutionEcefRegister
 Structure representing the GPS Solution - ECEF register. More...
 
struct  InsSolutionLlaRegister
 Structure representing the INS Solution - LLA register. More...
 
struct  InsSolutionEcefRegister
 Structure representing the INS Solution - ECEF register. More...
 
struct  InsBasicConfigurationRegisterVn200
 Structure representing the INS Basic Configuration register for a VN-200 sensor. More...
 
struct  InsBasicConfigurationRegisterVn300
 Structure representing the INS Basic Configuration register for a VN-300 sensor. More...
 
struct  InsAdvancedConfigurationRegister
 Structure representing the INS Advanced Configuration register. More...
 
struct  InsStateLlaRegister
 Structure representing the INS State - LLA register. More...
 
struct  InsStateEcefRegister
 Structure representing the INS State - ECEF register. More...
 
struct  StartupFilterBiasEstimateRegister
 Structure representing the Startup Filter Bias Estimate register. More...
 
struct  DeltaThetaAndDeltaVelocityRegister
 Structure representing the Delta Theta and Delta Velocity register. More...
 
struct  DeltaThetaAndDeltaVelocityConfigurationRegister
 Structure representing the Delta Theta and Delta Velocity Configuration register. More...
 
struct  ReferenceVectorConfigurationRegister
 Structure representing the Reference Vector Configuration register. More...
 
struct  GyroCompensationRegister
 Structure representing the Gyro Compensation register. More...
 
struct  ImuFilteringConfigurationRegister
 Structure representing the IMU Filtering Configuration register. More...
 
struct  GpsCompassBaselineRegister
 Structure representing the GPS Compass Baseline register. More...
 
struct  GpsCompassEstimatedBaselineRegister
 Structure representing the GPS Compass Estimated Baseline register. More...
 
struct  ImuRateConfigurationRegister
 Structure representing the IMU Rate Configuration register. More...
 
struct  YawPitchRollTrueBodyAccelerationAndAngularRatesRegister
 Structure representing the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register. More...
 
struct  YawPitchRollTrueInertialAccelerationAndAngularRatesRegister
 Structure representing the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register. More...
 
- - - - -

-Functions

void BinaryOutputRegister_initialize (BinaryOutputRegister *reg, AsyncMode asyncMode, uint32_t rateDivisor, CommonGroup commonField, TimeGroup timeField, ImuGroup imuField, GpsGroup gpsField, AttitudeGroup attitudeField, InsGroup insField)
 Initializes a BinaryOutputRegister structure. More...
 
-

Detailed Description

-

These structures represent the various registers on a VecotorNav sensor.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void BinaryOutputRegister_initialize (BinaryOutputRegisterreg,
AsyncMode asyncMode,
uint32_t rateDivisor,
CommonGroup commonField,
TimeGroup timeField,
ImuGroup imuField,
GpsGroup gpsField,
AttitudeGroup attitudeField,
InsGroup insField 
)
-
- -

Initializes a BinaryOutputRegister structure.

-
Parameters
- - - - - - - - - - -
[in]regThe BinaryOutputRegister structure to initialize.
[in]asyncModeValue to initialize the asyncMode field with.
[in]rateDivisorValue to initialize the rateDivisor field with.
[in]commonFieldValue to initialize the commonField with.
[in]timeFieldValue to initialize the timeField with.
[in]imuFieldValue to initialize the imuField with.
[in]gpsFieldValue to initialize the gpsField with.
[in]attitudeFieldValue to initialize the attitudeField with.
[in]insFieldValue to initialize the insField with.
-
-
-
Examples:
sensor/main.c.
-
-
-
-
- - - - diff --git a/vnproglib/c/help/group__sensor_value_extractors.html b/vnproglib/c/help/group__sensor_value_extractors.html deleted file mode 100644 index dda33f5..0000000 --- a/vnproglib/c/help/group__sensor_value_extractors.html +++ /dev/null @@ -1,329 +0,0 @@ - - - - - - -VectorNav C Library: Sensor Value Extractors - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
- -
-
Sensor Value Extractors
-
-
- -

This group of methods is useful for extracting data from binary data received from a VectorNav sensor either from a UART binary or a SPI packet. Any necessary byte ordering will be performed. -More...

- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

uint16_t VnUtil_extractUint16 (const char *pos)
 Extracts a uint16_t with appropriate byte reordering from the binary array received from a VectorNav sensor either from the UART binary or SPI packet. More...
 
uint32_t VnUtil_extractUint32 (const char *pos)
 Extracts a uint32_t with appropriate byte reordering from the binary array received from a VectorNav sensor either from the UART binary or SPI packet. More...
 
float VnUtil_extractFloat (const char *pos)
 Extracts a float with appropriate byte reordering from the binary array received from a VectorNav sensor either from the UART binary or SPI packet. More...
 
double VnUtil_extractDouble (const char *pos)
 Extracts a double with appropriate byte reordering from the binary array received from a VectorNav sensor either from the UART binary or SPI packet. More...
 
vec3f VnUtil_extractVec3f (const char *pos)
 Extracts a vec3f with appropriate byte reordering from the binary array received from a VectorNav sensor either from the UART binary or SPI packet. More...
 
vec4f VnUtil_extractVec4f (const char *pos)
 Extracts a vec4f with appropriate byte reordering from the binary array received from a VectorNav sensor either from the UART binary or SPI packet. More...
 
vec3d VnUtil_extractVec3d (const char *pos)
 Extracts a vec3d with appropriate byte reordering from the binary array received from a VectorNav sensor either from the UART binary or SPI packet. More...
 
mat3f VnUtil_extractMat3f (const char *pos)
 Extracts a mat3f with appropriate byte reordering from the binary array received from a VectorNav sensor either from the UART binary or SPI packet. More...
 
-

Detailed Description

-

This group of methods is useful for extracting data from binary data received from a VectorNav sensor either from a UART binary or a SPI packet. Any necessary byte ordering will be performed.

-

Function Documentation

- -
-
- - - - - - - - -
double VnUtil_extractDouble (const char * pos)
-
- -

Extracts a double with appropriate byte reordering from the binary array received from a VectorNav sensor either from the UART binary or SPI packet.

-
Parameters
- - -
[in]posThe current position to extract the value from.
-
-
-
Returns
The extracted value.
- -
-
- -
-
- - - - - - - - -
float VnUtil_extractFloat (const char * pos)
-
- -

Extracts a float with appropriate byte reordering from the binary array received from a VectorNav sensor either from the UART binary or SPI packet.

-
Parameters
- - -
[in]posThe current position to extract the value from.
-
-
-
Returns
The extracted value.
- -
-
- -
-
- - - - - - - - -
mat3f VnUtil_extractMat3f (const char * pos)
-
- -

Extracts a mat3f with appropriate byte reordering from the binary array received from a VectorNav sensor either from the UART binary or SPI packet.

-
Parameters
- - -
[in]posThe current position to extract the value from.
-
-
-
Returns
The extracted value.
- -
-
- -
-
- - - - - - - - -
uint16_t VnUtil_extractUint16 (const char * pos)
-
- -

Extracts a uint16_t with appropriate byte reordering from the binary array received from a VectorNav sensor either from the UART binary or SPI packet.

-
Parameters
- - -
[in]posThe current position to extract the value from.
-
-
-
Returns
The extracted value.
- -
-
- -
-
- - - - - - - - -
uint32_t VnUtil_extractUint32 (const char * pos)
-
- -

Extracts a uint32_t with appropriate byte reordering from the binary array received from a VectorNav sensor either from the UART binary or SPI packet.

-
Parameters
- - -
[in]posThe current position to extract the value from.
-
-
-
Returns
The extracted value.
- -
-
- -
-
- - - - - - - - -
vec3d VnUtil_extractVec3d (const char * pos)
-
- -

Extracts a vec3d with appropriate byte reordering from the binary array received from a VectorNav sensor either from the UART binary or SPI packet.

-
Parameters
- - -
[in]posThe current position to extract the value from.
-
-
-
Returns
The extracted value.
- -
-
- -
-
- - - - - - - - -
vec3f VnUtil_extractVec3f (const char * pos)
-
- -

Extracts a vec3f with appropriate byte reordering from the binary array received from a VectorNav sensor either from the UART binary or SPI packet.

-
Parameters
- - -
[in]posThe current position to extract the value from.
-
-
-
Returns
The extracted value.
- -
-
- -
-
- - - - - - - - -
vec4f VnUtil_extractVec4f (const char * pos)
-
- -

Extracts a vec4f with appropriate byte reordering from the binary array received from a VectorNav sensor either from the UART binary or SPI packet.

-
Parameters
- - -
[in]posThe current position to extract the value from.
-
-
-
Returns
The extracted value.
- -
-
-
- - - - diff --git a/vnproglib/c/help/group__spi__genread__functions.html b/vnproglib/c/help/group__spi__genread__functions.html deleted file mode 100644 index 33fc8b3..0000000 --- a/vnproglib/c/help/group__spi__genread__functions.html +++ /dev/null @@ -1,2607 +0,0 @@ - - - - - - -VectorNav C Library: SPI Generate Read Functions - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
- -
-
SPI Generate Read Functions
-
-
- -

This set of functions will generate command strings for reading registers on VectorNav sensors using the SPI protocol. -More...

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

VnError VnSpi_genReadUserTag (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the User Tag register on a VectorNav sensor. More...
 
VnError VnSpi_genReadModelNumber (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Model Number register on a VectorNav sensor. More...
 
VnError VnSpi_genReadHardwareRevision (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Hardware Revision register on a VectorNav sensor. More...
 
VnError VnSpi_genReadSerialNumber (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Serial Number register on a VectorNav sensor. More...
 
VnError VnSpi_genReadFirmwareVersion (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Firmware Version register on a VectorNav sensor. More...
 
VnError VnSpi_genReadSerialBaudRate (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Serial Baud Rate register on a VectorNav sensor. More...
 
VnError VnSpi_genReadAsyncDataOutputType (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Async Data Output Type register on a VectorNav sensor. More...
 
VnError VnSpi_genReadAsyncDataOutputFrequency (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Async Data Output Frequency register on a VectorNav sensor. More...
 
VnError VnSpi_genReadYawPitchRoll (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Yaw Pitch Roll register on a VectorNav sensor. More...
 
VnError VnSpi_genReadAttitudeQuaternion (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Attitude Quaternion register on a VectorNav sensor. More...
 
VnError VnSpi_genReadQuaternionMagneticAccelerationAndAngularRates (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Quaternion, Magnetic, Acceleration and Angular Rates register on a VectorNav sensor. More...
 
VnError VnSpi_genReadMagneticMeasurements (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Magnetic Measurements register on a VectorNav sensor. More...
 
VnError VnSpi_genReadAccelerationMeasurements (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Acceleration Measurements register on a VectorNav sensor. More...
 
VnError VnSpi_genReadAngularRateMeasurements (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Angular Rate Measurements register on a VectorNav sensor. More...
 
VnError VnSpi_genReadMagneticAccelerationAndAngularRates (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Magnetic, Acceleration and Angular Rates register on a VectorNav sensor. More...
 
VnError VnSpi_genReadMagneticAndGravityReferenceVectors (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Magnetic and Gravity Reference Vectors register on a VectorNav sensor. More...
 
VnError VnSpi_genReadMagnetometerCompensation (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Magnetometer Compensation register on a VectorNav sensor. More...
 
VnError VnSpi_genReadAccelerationCompensation (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Acceleration Compensation register on a VectorNav sensor. More...
 
VnError VnSpi_genReadReferenceFrameRotation (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Reference Frame Rotation register on a VectorNav sensor. More...
 
VnError VnSpi_genReadYawPitchRollMagneticAccelerationAndAngularRates (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register on a VectorNav sensor. More...
 
VnError VnSpi_genReadCommunicationProtocolControl (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Communication Protocol Control register on a VectorNav sensor. More...
 
VnError VnSpi_genReadSynchronizationControl (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Synchronization Control register on a VectorNav sensor. More...
 
VnError VnSpi_genReadSynchronizationStatus (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Synchronization Status register on a VectorNav sensor. More...
 
VnError VnSpi_genReadVpeBasicControl (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the VPE Basic Control register on a VectorNav sensor. More...
 
VnError VnSpi_genReadVpeMagnetometerBasicTuning (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the VPE Magnetometer Basic Tuning register on a VectorNav sensor. More...
 
VnError VnSpi_genReadVpeAccelerometerBasicTuning (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the VPE Accelerometer Basic Tuning register on a VectorNav sensor. More...
 
VnError VnSpi_genReadMagnetometerCalibrationControl (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Magnetometer Calibration Control register on a VectorNav sensor. More...
 
VnError VnSpi_genReadCalculatedMagnetometerCalibration (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Calculated Magnetometer Calibration register on a VectorNav sensor. More...
 
VnError VnSpi_genReadVelocityCompensationMeasurement (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Velocity Compensation Measurement register on a VectorNav sensor. More...
 
VnError VnSpi_genReadVelocityCompensationControl (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Velocity Compensation Control register on a VectorNav sensor. More...
 
VnError VnSpi_genReadImuMeasurements (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the IMU Measurements register on a VectorNav sensor. More...
 
VnError VnSpi_genReadGpsConfiguration (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the GPS Configuration register on a VectorNav sensor. More...
 
VnError VnSpi_genReadGpsAntennaOffset (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the GPS Antenna Offset register on a VectorNav sensor. More...
 
VnError VnSpi_genReadGpsSolutionLla (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the GPS Solution - LLA register on a VectorNav sensor. More...
 
VnError VnSpi_genReadGpsSolutionEcef (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the GPS Solution - ECEF register on a VectorNav sensor. More...
 
VnError VnSpi_genReadInsSolutionLla (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the INS Solution - LLA register on a VectorNav sensor. More...
 
VnError VnSpi_genReadInsSolutionEcef (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the INS Solution - ECEF register on a VectorNav sensor. More...
 
VnError VnSpi_genReadInsBasicConfiguration (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the INS Basic Configuration register on a VectorNav sensor. More...
 
VnError VnSpi_genReadInsStateLla (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the INS State - LLA register on a VectorNav sensor. More...
 
VnError VnSpi_genReadInsStateEcef (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the INS State - ECEF register on a VectorNav sensor. More...
 
VnError VnSpi_genReadStartupFilterBiasEstimate (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Startup Filter Bias Estimate register on a VectorNav sensor. More...
 
VnError VnSpi_genReadDeltaThetaAndDeltaVelocity (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Delta Theta and Delta Velocity register on a VectorNav sensor. More...
 
VnError VnSpi_genReadDeltaThetaAndDeltaVelocityConfiguration (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Delta Theta and Delta Velocity Configuration register on a VectorNav sensor. More...
 
VnError VnSpi_genReadReferenceVectorConfiguration (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Reference Vector Configuration register on a VectorNav sensor. More...
 
VnError VnSpi_genReadGyroCompensation (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Gyro Compensation register on a VectorNav sensor. More...
 
VnError VnSpi_genReadImuFilteringConfiguration (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the IMU Filtering Configuration register on a VectorNav sensor. More...
 
VnError VnSpi_genReadGpsCompassBaseline (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the GPS Compass Baseline register on a VectorNav sensor. More...
 
VnError VnSpi_genReadGpsCompassEstimatedBaseline (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the GPS Compass Estimated Baseline register on a VectorNav sensor. More...
 
VnError VnSpi_genReadYawPitchRollTrueBodyAccelerationAndAngularRates (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register on a VectorNav sensor. More...
 
VnError VnSpi_genReadYawPitchRollTrueInertialAccelerationAndAngularRates (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
 Generates a command to read the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register on a VectorNav sensor. More...
 
-

Detailed Description

-

This set of functions will generate command strings for reading registers on VectorNav sensors using the SPI protocol.

-

These functions take the form of VnError VnSpi_genReadXXX(char buffer, size_t size, size_t desiredLength, size_t* responseSize) where XXX is replaced with the name of the register, buffer is provided by the user to be filled with the generated command, size is the number of bytes available in the provided buffer and will contain the number of bytes of the command to send, desiredLength is the total number of bytes to pad with 0x00 should the total constructed length of the command be less than the desiredLength, responseSize is the number of bytes to read during the SPI transaction to get this command's response.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadAccelerationCompensation (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Acceleration Compensation register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadAccelerationMeasurements (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Acceleration Measurements register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadAngularRateMeasurements (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Angular Rate Measurements register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadAsyncDataOutputFrequency (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Async Data Output Frequency register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadAsyncDataOutputType (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Async Data Output Type register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadAttitudeQuaternion (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Attitude Quaternion register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadCalculatedMagnetometerCalibration (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Calculated Magnetometer Calibration register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadCommunicationProtocolControl (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Communication Protocol Control register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadDeltaThetaAndDeltaVelocity (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Delta Theta and Delta Velocity register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadDeltaThetaAndDeltaVelocityConfiguration (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Delta Theta and Delta Velocity Configuration register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadFirmwareVersion (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Firmware Version register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadGpsAntennaOffset (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the GPS Antenna Offset register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadGpsCompassBaseline (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the GPS Compass Baseline register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadGpsCompassEstimatedBaseline (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the GPS Compass Estimated Baseline register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadGpsConfiguration (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the GPS Configuration register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadGpsSolutionEcef (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the GPS Solution - ECEF register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadGpsSolutionLla (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the GPS Solution - LLA register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadGyroCompensation (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Gyro Compensation register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadHardwareRevision (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Hardware Revision register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadImuFilteringConfiguration (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the IMU Filtering Configuration register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadImuMeasurements (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the IMU Measurements register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadInsBasicConfiguration (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the INS Basic Configuration register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadInsSolutionEcef (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the INS Solution - ECEF register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadInsSolutionLla (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the INS Solution - LLA register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadInsStateEcef (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the INS State - ECEF register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadInsStateLla (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the INS State - LLA register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadMagneticAccelerationAndAngularRates (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Magnetic, Acceleration and Angular Rates register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadMagneticAndGravityReferenceVectors (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Magnetic and Gravity Reference Vectors register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadMagneticMeasurements (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Magnetic Measurements register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadMagnetometerCalibrationControl (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Magnetometer Calibration Control register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadMagnetometerCompensation (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Magnetometer Compensation register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadModelNumber (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Model Number register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadQuaternionMagneticAccelerationAndAngularRates (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Quaternion, Magnetic, Acceleration and Angular Rates register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadReferenceFrameRotation (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Reference Frame Rotation register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadReferenceVectorConfiguration (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Reference Vector Configuration register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadSerialBaudRate (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Serial Baud Rate register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadSerialNumber (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Serial Number register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadStartupFilterBiasEstimate (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Startup Filter Bias Estimate register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadSynchronizationControl (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Synchronization Control register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadSynchronizationStatus (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Synchronization Status register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadUserTag (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the User Tag register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadVelocityCompensationControl (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Velocity Compensation Control register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadVelocityCompensationMeasurement (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Velocity Compensation Measurement register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadVpeAccelerometerBasicTuning (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the VPE Accelerometer Basic Tuning register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadVpeBasicControl (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the VPE Basic Control register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadVpeMagnetometerBasicTuning (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the VPE Magnetometer Basic Tuning register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadYawPitchRoll (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Yaw Pitch Roll register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
-
Examples:
spi/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadYawPitchRollMagneticAccelerationAndAngularRates (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadYawPitchRollTrueBodyAccelerationAndAngularRates (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genReadYawPitchRollTrueInertialAccelerationAndAngularRates (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize 
)
-
- -

Generates a command to read the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
-
- - - - diff --git a/vnproglib/c/help/group__spi__genwrite__functions.html b/vnproglib/c/help/group__spi__genwrite__functions.html deleted file mode 100644 index 03e359c..0000000 --- a/vnproglib/c/help/group__spi__genwrite__functions.html +++ /dev/null @@ -1,2097 +0,0 @@ - - - - - - -VectorNav C Library: SPI Generate Write Functions - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
- -
-
SPI Generate Write Functions
-
-
- -

This set of functions will generate command strings for writing to registers on VectorNav sensors using the SPI protocol. -More...

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

VnError VnSpi_genWriteUserTag (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, char *tag)
 Generates a command to write the User Tag register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteSerialBaudRate (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t baudrate)
 Generates a command to write the Serial Baud Rate register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteSerialBaudRateWithOptions (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t baudrate)
 Generates a command to write the Serial Baud Rate register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteAsyncDataOutputType (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t ador)
 Generates a command to write the Async Data Output Type register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteAsyncDataOutputTypeWithOptions (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t ador)
 Generates a command to write the Async Data Output Type register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteAsyncDataOutputFrequency (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t adof)
 Generates a command to write the Async Data Output Frequency register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteAsyncDataOutputFrequencyWithOptions (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t adof)
 Generates a command to write the Async Data Output Frequency register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteMagneticAndGravityReferenceVectors (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f magRef, vec3f accRef)
 Generates a command to write the Magnetic and Gravity Reference Vectors register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteMagnetometerCompensation (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, mat3f c, vec3f b)
 Generates a command to write the Magnetometer Compensation register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteAccelerationCompensation (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, mat3f c, vec3f b)
 Generates a command to write the Acceleration Compensation register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteReferenceFrameRotation (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, mat3f c)
 Generates a command to write the Reference Frame Rotation register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteCommunicationProtocolControl (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t serialCount, uint8_t serialStatus, uint8_t spiCount, uint8_t spiStatus, uint8_t serialChecksum, uint8_t spiChecksum, uint8_t errorMode)
 Generates a command to write the Communication Protocol Control register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteSynchronizationControl (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t syncInMode, uint8_t syncInEdge, uint16_t syncInSkipFactor, uint32_t reserved1, uint8_t syncOutMode, uint8_t syncOutPolarity, uint16_t syncOutSkipFactor, uint32_t syncOutPulseWidth, uint32_t reserved2)
 Generates a command to write the Synchronization Control register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteSynchronizationStatus (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t syncInCount, uint32_t syncInTime, uint32_t syncOutCount)
 Generates a command to write the Synchronization Status register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteVpeBasicControl (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t enable, uint8_t headingMode, uint8_t filteringMode, uint8_t tuningMode)
 Generates a command to write the VPE Basic Control register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteVpeMagnetometerBasicTuning (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f baseTuning, vec3f adaptiveTuning, vec3f adaptiveFiltering)
 Generates a command to write the VPE Magnetometer Basic Tuning register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteVpeAccelerometerBasicTuning (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f baseTuning, vec3f adaptiveTuning, vec3f adaptiveFiltering)
 Generates a command to write the VPE Accelerometer Basic Tuning register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteMagnetometerCalibrationControl (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t hsiMode, uint8_t hsiOutput, uint8_t convergeRate)
 Generates a command to write the Magnetometer Calibration Control register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteVelocityCompensationMeasurement (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f velocity)
 Generates a command to write the Velocity Compensation Measurement register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteVelocityCompensationControl (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t mode, float velocityTuning, float rateTuning)
 Generates a command to write the Velocity Compensation Control register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteGpsConfiguration (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t mode, uint8_t ppsSource, uint8_t reserved1, uint8_t reserved2, uint8_t reserved3)
 Generates a command to write the GPS Configuration register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteGpsAntennaOffset (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f position)
 Generates a command to write the GPS Antenna Offset register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteInsBasicConfiguration (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t scenario, uint8_t ahrsAiding, uint8_t estBaseline, uint8_t resv2)
 Generates a command to write the INS Basic Configuration register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteStartupFilterBiasEstimate (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f gyroBias, vec3f accelBias, float pressureBias)
 Generates a command to write the Startup Filter Bias Estimate register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteDeltaThetaAndDeltaVelocityConfiguration (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t integrationFrame, uint8_t gyroCompensation, uint8_t accelCompensation, uint8_t reserved1, uint16_t reserved2)
 Generates a command to write the Delta Theta and Delta Velocity Configuration register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteReferenceVectorConfiguration (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t useMagModel, uint8_t useGravityModel, uint8_t resv1, uint8_t resv2, uint32_t recalcThreshold, float year, vec3d position)
 Generates a command to write the Reference Vector Configuration register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteGyroCompensation (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, mat3f c, vec3f b)
 Generates a command to write the Gyro Compensation register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteImuFilteringConfiguration (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint16_t magWindowSize, uint16_t accelWindowSize, uint16_t gyroWindowSize, uint16_t tempWindowSize, uint16_t presWindowSize, uint8_t magFilterMode, uint8_t accelFilterMode, uint8_t gyroFilterMode, uint8_t tempFilterMode, uint8_t presFilterMode)
 Generates a command to write the IMU Filtering Configuration register on a VectorNav sensor. More...
 
VnError VnSpi_genWriteGpsCompassBaseline (char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f position, vec3f uncertainty)
 Generates a command to write the GPS Compass Baseline register on a VectorNav sensor. More...
 
-

Detailed Description

-

This set of functions will generate command strings for writing to registers on VectorNav sensors using the SPI protocol.

-

These functions take the form shown below. XXX is replaced by the name of the register, buffer is provided by the user to be filled with the generated command, size is the number of bytes available in the provided buffer and will contain the number of bytes of the command to send, desiredLength is the total number of bytes to pad with 0x00 should the total constructed length of the command be less than the desired length, and [Variable argument list] varies with the specified register being written to.

-
VnError VnSpi_genWriteXXX(
-
char *buffer,
-
size_t* size,
-
size_t desiredLength,
-
size_t* responseSize,
-
[Variable argument list]);
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteAccelerationCompensation (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
mat3f c,
vec3f b 
)
-
- -

Generates a command to write the Acceleration Compensation register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteAsyncDataOutputFrequency (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
uint32_t adof 
)
-
- -

Generates a command to write the Async Data Output Frequency register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteAsyncDataOutputFrequencyWithOptions (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
uint32_t adof 
)
-
- -

Generates a command to write the Async Data Output Frequency register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteAsyncDataOutputType (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
uint32_t ador 
)
-
- -

Generates a command to write the Async Data Output Type register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
-
Examples:
spi/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteAsyncDataOutputTypeWithOptions (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
uint32_t ador 
)
-
- -

Generates a command to write the Async Data Output Type register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteCommunicationProtocolControl (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
uint8_t serialCount,
uint8_t serialStatus,
uint8_t spiCount,
uint8_t spiStatus,
uint8_t serialChecksum,
uint8_t spiChecksum,
uint8_t errorMode 
)
-
- -

Generates a command to write the Communication Protocol Control register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteDeltaThetaAndDeltaVelocityConfiguration (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
uint8_t integrationFrame,
uint8_t gyroCompensation,
uint8_t accelCompensation,
uint8_t reserved1,
uint16_t reserved2 
)
-
- -

Generates a command to write the Delta Theta and Delta Velocity Configuration register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteGpsAntennaOffset (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
vec3f position 
)
-
- -

Generates a command to write the GPS Antenna Offset register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteGpsCompassBaseline (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
vec3f position,
vec3f uncertainty 
)
-
- -

Generates a command to write the GPS Compass Baseline register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteGpsConfiguration (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
uint8_t mode,
uint8_t ppsSource,
uint8_t reserved1,
uint8_t reserved2,
uint8_t reserved3 
)
-
- -

Generates a command to write the GPS Configuration register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteGyroCompensation (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
mat3f c,
vec3f b 
)
-
- -

Generates a command to write the Gyro Compensation register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteImuFilteringConfiguration (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
uint16_t magWindowSize,
uint16_t accelWindowSize,
uint16_t gyroWindowSize,
uint16_t tempWindowSize,
uint16_t presWindowSize,
uint8_t magFilterMode,
uint8_t accelFilterMode,
uint8_t gyroFilterMode,
uint8_t tempFilterMode,
uint8_t presFilterMode 
)
-
- -

Generates a command to write the IMU Filtering Configuration register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteInsBasicConfiguration (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
uint8_t scenario,
uint8_t ahrsAiding,
uint8_t estBaseline,
uint8_t resv2 
)
-
- -

Generates a command to write the INS Basic Configuration register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteMagneticAndGravityReferenceVectors (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
vec3f magRef,
vec3f accRef 
)
-
- -

Generates a command to write the Magnetic and Gravity Reference Vectors register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteMagnetometerCalibrationControl (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
uint8_t hsiMode,
uint8_t hsiOutput,
uint8_t convergeRate 
)
-
- -

Generates a command to write the Magnetometer Calibration Control register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteMagnetometerCompensation (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
mat3f c,
vec3f b 
)
-
- -

Generates a command to write the Magnetometer Compensation register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteReferenceFrameRotation (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
mat3f c 
)
-
- -

Generates a command to write the Reference Frame Rotation register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteReferenceVectorConfiguration (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
uint8_t useMagModel,
uint8_t useGravityModel,
uint8_t resv1,
uint8_t resv2,
uint32_t recalcThreshold,
float year,
vec3d position 
)
-
- -

Generates a command to write the Reference Vector Configuration register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteSerialBaudRate (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
uint32_t baudrate 
)
-
- -

Generates a command to write the Serial Baud Rate register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteSerialBaudRateWithOptions (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
uint32_t baudrate 
)
-
- -

Generates a command to write the Serial Baud Rate register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteStartupFilterBiasEstimate (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
vec3f gyroBias,
vec3f accelBias,
float pressureBias 
)
-
- -

Generates a command to write the Startup Filter Bias Estimate register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteSynchronizationControl (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
uint8_t syncInMode,
uint8_t syncInEdge,
uint16_t syncInSkipFactor,
uint32_t reserved1,
uint8_t syncOutMode,
uint8_t syncOutPolarity,
uint16_t syncOutSkipFactor,
uint32_t syncOutPulseWidth,
uint32_t reserved2 
)
-
- -

Generates a command to write the Synchronization Control register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteSynchronizationStatus (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
uint32_t syncInCount,
uint32_t syncInTime,
uint32_t syncOutCount 
)
-
- -

Generates a command to write the Synchronization Status register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteUserTag (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
char * tag 
)
-
- -

Generates a command to write the User Tag register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteVelocityCompensationControl (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
uint8_t mode,
float velocityTuning,
float rateTuning 
)
-
- -

Generates a command to write the Velocity Compensation Control register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteVelocityCompensationMeasurement (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
vec3f velocity 
)
-
- -

Generates a command to write the Velocity Compensation Measurement register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteVpeAccelerometerBasicTuning (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
vec3f baseTuning,
vec3f adaptiveTuning,
vec3f adaptiveFiltering 
)
-
- -

Generates a command to write the VPE Accelerometer Basic Tuning register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteVpeBasicControl (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
uint8_t enable,
uint8_t headingMode,
uint8_t filteringMode,
uint8_t tuningMode 
)
-
- -

Generates a command to write the VPE Basic Control register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSpi_genWriteVpeMagnetometerBasicTuning (char * buffer,
size_t * size,
size_t desiredLength,
size_t * responseSize,
vec3f baseTuning,
vec3f adaptiveTuning,
vec3f adaptiveFiltering 
)
-
- -

Generates a command to write the VPE Magnetometer Basic Tuning register on a VectorNav sensor.

-
Parameters
- - - -
[in]bufferCaller provided buffer to place the generated command.
-
-
- -
-
-
- - - - diff --git a/vnproglib/c/help/group__uart__genread__functions.html b/vnproglib/c/help/group__uart__genread__functions.html deleted file mode 100644 index a295c53..0000000 --- a/vnproglib/c/help/group__uart__genread__functions.html +++ /dev/null @@ -1,3302 +0,0 @@ - - - - - - -VectorNav C Library: UART Generate Read Functions - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
- -
-
UART Generate Read Functions
-
-
- -

This set of functions will generate command strings for reading registers on VectorNav sensors. -More...

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

VnError VnUartPacket_genReadBinaryOutput1 (uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Binary Output 1 register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadBinaryOutput2 (uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Binary Output 2 register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadBinaryOutput3 (uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Binary Output 3 register on a VectorNav sensor. More...
 
VnError VnUartPacket_genCmdWriteSettings (uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to write sensor settings to non-volitile memory. More...
 
VnError VnUartPacket_genCmdRestoreFactorySettings (uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to restore the sensor to factory settings. More...
 
VnError VnUartPacket_genCmdReset (uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to reset the sensor. More...
 
VnError VnUartPacket_genCmdTare (uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to tare the sensor. More...
 
VnError VnUartPacket_genCmdSetGyroBias (uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to set the gyro bias. More...
 
VnError VnUartPacket_genCmdKnownMagneticDisturbance (uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, bool disturbancePresent, size_t *cmdSize)
 Generates a command to alert the sensor of a known magnetic disturbance. More...
 
VnError VnUartPacket_genCmdKnownAccelerationDisturbance (uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, bool disturbancePresent, size_t *cmdSize)
 Generates a command to alert the sensor of a known acceleration disturbance. More...
 
VnError VnUartPacket_genReadUserTag (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the User Tag register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadModelNumber (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Model Number register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadHardwareRevision (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Hardware Revision register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadSerialNumber (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Serial Number register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadFirmwareVersion (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Firmware Version register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadSerialBaudRate (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Serial Baud Rate register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadAsyncDataOutputType (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Async Data Output Type register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadAsyncDataOutputFrequency (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Async Data Output Frequency register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadYawPitchRoll (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Yaw Pitch Roll register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadAttitudeQuaternion (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Attitude Quaternion register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadQuaternionMagneticAccelerationAndAngularRates (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Quaternion, Magnetic, Acceleration and Angular Rates register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadMagneticMeasurements (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Magnetic Measurements register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadAccelerationMeasurements (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Acceleration Measurements register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadAngularRateMeasurements (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Angular Rate Measurements register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadMagneticAccelerationAndAngularRates (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Magnetic, Acceleration and Angular Rates register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadMagneticAndGravityReferenceVectors (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Magnetic and Gravity Reference Vectors register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadMagnetometerCompensation (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Magnetometer Compensation register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadAccelerationCompensation (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Acceleration Compensation register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadReferenceFrameRotation (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Reference Frame Rotation register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadYawPitchRollMagneticAccelerationAndAngularRates (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadCommunicationProtocolControl (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Communication Protocol Control register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadSynchronizationControl (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Synchronization Control register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadSynchronizationStatus (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Synchronization Status register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadVpeBasicControl (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the VPE Basic Control register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadVpeMagnetometerBasicTuning (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the VPE Magnetometer Basic Tuning register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadVpeAccelerometerBasicTuning (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the VPE Accelerometer Basic Tuning register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadMagnetometerCalibrationControl (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Magnetometer Calibration Control register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadCalculatedMagnetometerCalibration (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Calculated Magnetometer Calibration register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadVelocityCompensationMeasurement (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Velocity Compensation Measurement register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadVelocityCompensationControl (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Velocity Compensation Control register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadImuMeasurements (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the IMU Measurements register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadGpsConfiguration (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the GPS Configuration register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadGpsAntennaOffset (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the GPS Antenna Offset register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadGpsSolutionLla (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the GPS Solution - LLA register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadGpsSolutionEcef (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the GPS Solution - ECEF register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadInsSolutionLla (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the INS Solution - LLA register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadInsSolutionEcef (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the INS Solution - ECEF register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadInsBasicConfiguration (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the INS Basic Configuration register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadInsStateLla (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the INS State - LLA register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadInsStateEcef (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the INS State - ECEF register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadStartupFilterBiasEstimate (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Startup Filter Bias Estimate register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadDeltaThetaAndDeltaVelocity (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Delta Theta and Delta Velocity register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadDeltaThetaAndDeltaVelocityConfiguration (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Delta Theta and Delta Velocity Configuration register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadReferenceVectorConfiguration (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Reference Vector Configuration register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadGyroCompensation (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Gyro Compensation register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadImuFilteringConfiguration (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the IMU Filtering Configuration register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadGpsCompassBaseline (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the GPS Compass Baseline register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadGpsCompassEstimatedBaseline (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the GPS Compass Estimated Baseline register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadYawPitchRollTrueBodyAccelerationAndAngularRates (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register on a VectorNav sensor. More...
 
VnError VnUartPacket_genReadYawPitchRollTrueInertialAccelerationAndAngularRates (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
 Generates a command to read the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register on a VectorNav sensor. More...
 
-

Detailed Description

-

This set of functions will generate command strings for reading registers on VectorNav sensors.

-

These functions take the form of VnError VnUartPacket_genReadXXX(char *buffer, size_t bufferSize, VnErrorDetection errorDetection, size_t *cmdSize) where XXX is replaced with the name of the register, buffer is provided by the user to fill with the generated command, bufferSize is the number of bytes in the provided buffer, errorDetection indicates the type of error-detection to generate the command with, and cmdSize is returned back to the caller to indicate the total size of the generated command placed in buffer.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genCmdKnownAccelerationDisturbance (uint8_t * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
bool disturbancePresent,
size_t * cmdSize 
)
-
- -

Generates a command to alert the sensor of a known acceleration disturbance.

-
Parameters
- - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[in]disturbancePresentIndicate the presence of an acceleration disturbance.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genCmdKnownMagneticDisturbance (uint8_t * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
bool disturbancePresent,
size_t * cmdSize 
)
-
- -

Generates a command to alert the sensor of a known magnetic disturbance.

-
Parameters
- - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[in]disturbancePresentIndicate the presence of a magnetic disturbance.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genCmdReset (uint8_t * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to reset the sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genCmdRestoreFactorySettings (uint8_t * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to restore the sensor to factory settings.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genCmdSetGyroBias (uint8_t * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to set the gyro bias.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genCmdTare (uint8_t * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to tare the sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genCmdWriteSettings (uint8_t * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to write sensor settings to non-volitile memory.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadAccelerationCompensation (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Acceleration Compensation register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadAccelerationMeasurements (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Acceleration Measurements register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadAngularRateMeasurements (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Angular Rate Measurements register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadAsyncDataOutputFrequency (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Async Data Output Frequency register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadAsyncDataOutputType (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Async Data Output Type register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadAttitudeQuaternion (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Attitude Quaternion register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadBinaryOutput1 (uint8_t * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Binary Output 1 register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadBinaryOutput2 (uint8_t * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Binary Output 2 register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadBinaryOutput3 (uint8_t * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Binary Output 3 register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadCalculatedMagnetometerCalibration (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Calculated Magnetometer Calibration register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadCommunicationProtocolControl (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Communication Protocol Control register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadDeltaThetaAndDeltaVelocity (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Delta Theta and Delta Velocity register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadDeltaThetaAndDeltaVelocityConfiguration (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Delta Theta and Delta Velocity Configuration register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadFirmwareVersion (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Firmware Version register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadGpsAntennaOffset (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the GPS Antenna Offset register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadGpsCompassBaseline (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the GPS Compass Baseline register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadGpsCompassEstimatedBaseline (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the GPS Compass Estimated Baseline register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadGpsConfiguration (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the GPS Configuration register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadGpsSolutionEcef (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the GPS Solution - ECEF register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadGpsSolutionLla (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the GPS Solution - LLA register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadGyroCompensation (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Gyro Compensation register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadHardwareRevision (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Hardware Revision register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadImuFilteringConfiguration (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the IMU Filtering Configuration register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadImuMeasurements (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the IMU Measurements register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadInsBasicConfiguration (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the INS Basic Configuration register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadInsSolutionEcef (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the INS Solution - ECEF register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadInsSolutionLla (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the INS Solution - LLA register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadInsStateEcef (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the INS State - ECEF register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadInsStateLla (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the INS State - LLA register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadMagneticAccelerationAndAngularRates (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Magnetic, Acceleration and Angular Rates register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadMagneticAndGravityReferenceVectors (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Magnetic and Gravity Reference Vectors register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadMagneticMeasurements (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Magnetic Measurements register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadMagnetometerCalibrationControl (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Magnetometer Calibration Control register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadMagnetometerCompensation (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Magnetometer Compensation register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadModelNumber (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Model Number register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
-
Examples:
getting_started/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadQuaternionMagneticAccelerationAndAngularRates (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Quaternion, Magnetic, Acceleration and Angular Rates register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadReferenceFrameRotation (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Reference Frame Rotation register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadReferenceVectorConfiguration (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Reference Vector Configuration register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadSerialBaudRate (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Serial Baud Rate register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadSerialNumber (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Serial Number register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadStartupFilterBiasEstimate (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Startup Filter Bias Estimate register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadSynchronizationControl (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Synchronization Control register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadSynchronizationStatus (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Synchronization Status register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadUserTag (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the User Tag register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadVelocityCompensationControl (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Velocity Compensation Control register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadVelocityCompensationMeasurement (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Velocity Compensation Measurement register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadVpeAccelerometerBasicTuning (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the VPE Accelerometer Basic Tuning register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadVpeBasicControl (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the VPE Basic Control register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
-
Examples:
getting_started/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadVpeMagnetometerBasicTuning (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the VPE Magnetometer Basic Tuning register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadYawPitchRoll (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Yaw Pitch Roll register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadYawPitchRollMagneticAccelerationAndAngularRates (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadYawPitchRollTrueBodyAccelerationAndAngularRates (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genReadYawPitchRollTrueInertialAccelerationAndAngularRates (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize 
)
-
- -

Generates a command to read the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register on a VectorNav sensor.

-
Parameters
- - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
-
-
-
Returns
Indicates any errors encountered.
- -
-
-
- - - - diff --git a/vnproglib/c/help/group__uart__genwrite__functions.html b/vnproglib/c/help/group__uart__genwrite__functions.html deleted file mode 100644 index f903620..0000000 --- a/vnproglib/c/help/group__uart__genwrite__functions.html +++ /dev/null @@ -1,9802 +0,0 @@ - - - - - - -VectorNav C Library: UART Generate Write Functions - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
- -
-
UART Generate Write Functions
-
-
- -

This set of functions will generate command strings for writing to VectorNav sensor registers. -More...

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

VnError VnUartPacket_genWriteBinaryOutput1 (uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint16_t asyncMode, uint16_t rateDivisor, uint16_t commonField, uint16_t timeField, uint16_t imuField, uint16_t gpsField, uint16_t attitudeField, uint16_t insField)
 Generates a command to write to the Binary Output 1 register. More...
 
VnError VnUartPacket_genWriteBinaryOutput2 (uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint16_t asyncMode, uint16_t rateDivisor, uint16_t commonField, uint16_t timeField, uint16_t imuField, uint16_t gpsField, uint16_t attitudeField, uint16_t insField)
 Generates a command to write to the Binary Output 2 register. More...
 
VnError VnUartPacket_genWriteBinaryOutput3 (uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint16_t asyncMode, uint16_t rateDivisor, uint16_t commonField, uint16_t timeField, uint16_t imuField, uint16_t gpsField, uint16_t attitudeField, uint16_t insField)
 Generates a command to write to the Binary Output 3 register. More...
 
VnError VnUartPacket_genWriteUserTag (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, char *tag)
 Generates a command to write to the User Tag register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteSerialBaudRate (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t baudrate)
 Generates a command to write to the Serial Baud Rate register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteSerialBaudRateWithOptions (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t baudrate)
 Generates a command to write to the Serial Baud Rate register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteAsyncDataOutputType (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t ador)
 Generates a command to write to the Async Data Output Type register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteAsyncDataOutputTypeWithOptions (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t ador)
 Generates a command to write to the Async Data Output Type register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteAsyncDataOutputFrequency (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t adof)
 Generates a command to write to the Async Data Output Frequency register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteAsyncDataOutputFrequencyWithOptions (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t adof)
 Generates a command to write to the Async Data Output Frequency register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteMagneticAndGravityReferenceVectors (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f magRef, vec3f accRef)
 Generates a command to write to the Magnetic and Gravity Reference Vectors register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteMagnetometerCompensation (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, mat3f c, vec3f b)
 Generates a command to write to the Magnetometer Compensation register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteAccelerationCompensation (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, mat3f c, vec3f b)
 Generates a command to write to the Acceleration Compensation register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteReferenceFrameRotation (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, mat3f c)
 Generates a command to write to the Reference Frame Rotation register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteCommunicationProtocolControl (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t serialCount, uint8_t serialStatus, uint8_t spiCount, uint8_t spiStatus, uint8_t serialChecksum, uint8_t spiChecksum, uint8_t errorMode)
 Generates a command to write to the Communication Protocol Control register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteSynchronizationControl (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t syncInMode, uint8_t syncInEdge, uint16_t syncInSkipFactor, uint32_t reserved1, uint8_t syncOutMode, uint8_t syncOutPolarity, uint16_t syncOutSkipFactor, uint32_t syncOutPulseWidth, uint32_t reserved2)
 Generates a command to write to the Synchronization Control register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteSynchronizationStatus (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t syncInCount, uint32_t syncInTime, uint32_t syncOutCount)
 Generates a command to write to the Synchronization Status register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteVpeBasicControl (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t enable, uint8_t headingMode, uint8_t filteringMode, uint8_t tuningMode)
 Generates a command to write to the VPE Basic Control register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteVpeMagnetometerBasicTuning (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f baseTuning, vec3f adaptiveTuning, vec3f adaptiveFiltering)
 Generates a command to write to the VPE Magnetometer Basic Tuning register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteVpeAccelerometerBasicTuning (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f baseTuning, vec3f adaptiveTuning, vec3f adaptiveFiltering)
 Generates a command to write to the VPE Accelerometer Basic Tuning register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteMagnetometerCalibrationControl (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t hsiMode, uint8_t hsiOutput, uint8_t convergeRate)
 Generates a command to write to the Magnetometer Calibration Control register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteVelocityCompensationMeasurement (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f velocity)
 Generates a command to write to the Velocity Compensation Measurement register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteVelocityCompensationControl (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t mode, float velocityTuning, float rateTuning)
 Generates a command to write to the Velocity Compensation Control register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteGpsConfiguration (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t mode, uint8_t ppsSource, uint8_t reserved1, uint8_t reserved2, uint8_t reserved3)
 Generates a command to write to the GPS Configuration register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteGpsAntennaOffset (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f position)
 Generates a command to write to the GPS Antenna Offset register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteInsBasicConfiguration (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t scenario, uint8_t ahrsAiding, uint8_t estBaseline, uint8_t resv2)
 Generates a command to write to the INS Basic Configuration register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteStartupFilterBiasEstimate (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f gyroBias, vec3f accelBias, float pressureBias)
 Generates a command to write to the Startup Filter Bias Estimate register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteDeltaThetaAndDeltaVelocityConfiguration (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t integrationFrame, uint8_t gyroCompensation, uint8_t accelCompensation, uint8_t reserved1, uint16_t reserved2)
 Generates a command to write to the Delta Theta and Delta Velocity Configuration register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteReferenceVectorConfiguration (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t useMagModel, uint8_t useGravityModel, uint8_t resv1, uint8_t resv2, uint32_t recalcThreshold, float year, vec3d position)
 Generates a command to write to the Reference Vector Configuration register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteGyroCompensation (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, mat3f c, vec3f b)
 Generates a command to write to the Gyro Compensation register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteImuFilteringConfiguration (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint16_t magWindowSize, uint16_t accelWindowSize, uint16_t gyroWindowSize, uint16_t tempWindowSize, uint16_t presWindowSize, uint8_t magFilterMode, uint8_t accelFilterMode, uint8_t gyroFilterMode, uint8_t tempFilterMode, uint8_t presFilterMode)
 Generates a command to write to the IMU Filtering Configuration register on a VectorNav sensor. More...
 
VnError VnUartPacket_genWriteGpsCompassBaseline (char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f position, vec3f uncertainty)
 Generates a command to write to the GPS Compass Baseline register on a VectorNav sensor. More...
 
void VnUartPacket_parseError (VnUartPacket *packet, uint8_t *error)
 Parses an error packet to get the error type. More...
 
void VnUartPacket_parseErrorRaw (uint8_t *packet, uint8_t *error)
 Parses an error packet to get the error type. More...
 
void VnUartPacket_parseBinaryOutput (VnUartPacket *packet, uint16_t *asyncMode, uint16_t *rateDivisor, uint16_t *outputGroup, uint16_t *commonField, uint16_t *timeField, uint16_t *imuField, uint16_t *gpsField, uint16_t *attitudeField, uint16_t *insField)
 Parses a response from reading any of the Binary Output registers. More...
 
void VnUartPacket_parseBinaryOutputRaw (uint8_t *packet, uint16_t *asyncMode, uint16_t *rateDivisor, uint16_t *outputGroup, uint16_t *commonField, uint16_t *timeField, uint16_t *imuField, uint16_t *gpsField, uint16_t *attitudeField, uint16_t *insField)
 Parses a response from reading any of the Binary Output registers. More...
 
void VnUartPacket_parseUserTag (VnUartPacket *packet, char *tag)
 Parses a response from reading the User Tag register. More...
 
void VnUartPacket_parseUserTagRaw (char *packet, char *tag)
 Parses a response from reading the User Tag register. More...
 
void VnUartPacket_parseModelNumber (VnUartPacket *packet, char *productName)
 Parses a response from reading the Model Number register. More...
 
void VnUartPacket_parseModelNumberRaw (char *packet, char *productName)
 Parses a response from reading the Model Number register. More...
 
void VnUartPacket_parseHardwareRevision (VnUartPacket *packet, uint32_t *revision)
 Parses a response from reading the Hardware Revision register. More...
 
void VnUartPacket_parseHardwareRevisionRaw (char *packet, uint32_t *revision)
 Parses a response from reading the Hardware Revision register. More...
 
void VnUartPacket_parseSerialNumber (VnUartPacket *packet, uint32_t *serialNum)
 Parses a response from reading the Serial Number register. More...
 
void VnUartPacket_parseSerialNumberRaw (char *packet, uint32_t *serialNum)
 Parses a response from reading the Serial Number register. More...
 
void VnUartPacket_parseFirmwareVersion (VnUartPacket *packet, char *firmwareVersion)
 Parses a response from reading the Firmware Version register. More...
 
void VnUartPacket_parseFirmwareVersionRaw (char *packet, char *firmwareVersion)
 Parses a response from reading the Firmware Version register. More...
 
void VnUartPacket_parseSerialBaudRate (VnUartPacket *packet, uint32_t *baudrate)
 Parses a response from reading the Serial Baud Rate register. More...
 
void VnUartPacket_parseSerialBaudRateRaw (char *packet, uint32_t *baudrate)
 Parses a response from reading the Serial Baud Rate register. More...
 
void VnUartPacket_parseAsyncDataOutputType (VnUartPacket *packet, uint32_t *ador)
 Parses a response from reading the Async Data Output Type register. More...
 
void VnUartPacket_parseAsyncDataOutputTypeRaw (char *packet, uint32_t *ador)
 Parses a response from reading the Async Data Output Type register. More...
 
void VnUartPacket_parseAsyncDataOutputFrequency (VnUartPacket *packet, uint32_t *adof)
 Parses a response from reading the Async Data Output Frequency register. More...
 
void VnUartPacket_parseAsyncDataOutputFrequencyRaw (char *packet, uint32_t *adof)
 Parses a response from reading the Async Data Output Frequency register. More...
 
void VnUartPacket_parseYawPitchRoll (VnUartPacket *packet, vec3f *yawPitchRoll)
 Parses a response from reading the Yaw Pitch Roll register. More...
 
void VnUartPacket_parseYawPitchRollRaw (char *packet, vec3f *yawPitchRoll)
 Parses a response from reading the Yaw Pitch Roll register. More...
 
void VnUartPacket_parseAttitudeQuaternion (VnUartPacket *packet, vec4f *quat)
 Parses a response from reading the Attitude Quaternion register. More...
 
void VnUartPacket_parseAttitudeQuaternionRaw (char *packet, vec4f *quat)
 Parses a response from reading the Attitude Quaternion register. More...
 
void VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRates (VnUartPacket *packet, vec4f *quat, vec3f *mag, vec3f *accel, vec3f *gyro)
 Parses a response from reading the Quaternion, Magnetic, Acceleration and Angular Rates register. More...
 
void VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRatesRaw (char *packet, vec4f *quat, vec3f *mag, vec3f *accel, vec3f *gyro)
 Parses a response from reading the Quaternion, Magnetic, Acceleration and Angular Rates register. More...
 
void VnUartPacket_parseMagneticMeasurements (VnUartPacket *packet, vec3f *mag)
 Parses a response from reading the Magnetic Measurements register. More...
 
void VnUartPacket_parseMagneticMeasurementsRaw (char *packet, vec3f *mag)
 Parses a response from reading the Magnetic Measurements register. More...
 
void VnUartPacket_parseAccelerationMeasurements (VnUartPacket *packet, vec3f *accel)
 Parses a response from reading the Acceleration Measurements register. More...
 
void VnUartPacket_parseAccelerationMeasurementsRaw (char *packet, vec3f *accel)
 Parses a response from reading the Acceleration Measurements register. More...
 
void VnUartPacket_parseAngularRateMeasurements (VnUartPacket *packet, vec3f *gyro)
 Parses a response from reading the Angular Rate Measurements register. More...
 
void VnUartPacket_parseAngularRateMeasurementsRaw (char *packet, vec3f *gyro)
 Parses a response from reading the Angular Rate Measurements register. More...
 
void VnUartPacket_parseMagneticAccelerationAndAngularRates (VnUartPacket *packet, vec3f *mag, vec3f *accel, vec3f *gyro)
 Parses a response from reading the Magnetic, Acceleration and Angular Rates register. More...
 
void VnUartPacket_parseMagneticAccelerationAndAngularRatesRaw (char *packet, vec3f *mag, vec3f *accel, vec3f *gyro)
 Parses a response from reading the Magnetic, Acceleration and Angular Rates register. More...
 
void VnUartPacket_parseMagneticAndGravityReferenceVectors (VnUartPacket *packet, vec3f *magRef, vec3f *accRef)
 Parses a response from reading the Magnetic and Gravity Reference Vectors register. More...
 
void VnUartPacket_parseMagneticAndGravityReferenceVectorsRaw (char *packet, vec3f *magRef, vec3f *accRef)
 Parses a response from reading the Magnetic and Gravity Reference Vectors register. More...
 
void VnUartPacket_parseFilterMeasurementsVarianceParameters (VnUartPacket *packet, float *angularWalkVariance, vec3f *angularRateVariance, vec3f *magneticVariance, vec3f *accelerationVariance)
 Parses a response from reading the Filter Measurements Variance Parameters register. More...
 
void VnUartPacket_parseFilterMeasurementsVarianceParametersRaw (char *packet, float *angularWalkVariance, vec3f *angularRateVariance, vec3f *magneticVariance, vec3f *accelerationVariance)
 Parses a response from reading the Filter Measurements Variance Parameters register. More...
 
void VnUartPacket_parseMagnetometerCompensation (VnUartPacket *packet, mat3f *c, vec3f *b)
 Parses a response from reading the Magnetometer Compensation register. More...
 
void VnUartPacket_parseMagnetometerCompensationRaw (char *packet, mat3f *c, vec3f *b)
 Parses a response from reading the Magnetometer Compensation register. More...
 
void VnUartPacket_parseFilterActiveTuningParameters (VnUartPacket *packet, float *magneticDisturbanceGain, float *accelerationDisturbanceGain, float *magneticDisturbanceMemory, float *accelerationDisturbanceMemory)
 Parses a response from reading the Filter Active Tuning Parameters register. More...
 
void VnUartPacket_parseFilterActiveTuningParametersRaw (char *packet, float *magneticDisturbanceGain, float *accelerationDisturbanceGain, float *magneticDisturbanceMemory, float *accelerationDisturbanceMemory)
 Parses a response from reading the Filter Active Tuning Parameters register. More...
 
void VnUartPacket_parseAccelerationCompensation (VnUartPacket *packet, mat3f *c, vec3f *b)
 Parses a response from reading the Acceleration Compensation register. More...
 
void VnUartPacket_parseAccelerationCompensationRaw (char *packet, mat3f *c, vec3f *b)
 Parses a response from reading the Acceleration Compensation register. More...
 
void VnUartPacket_parseReferenceFrameRotation (VnUartPacket *packet, mat3f *c)
 Parses a response from reading the Reference Frame Rotation register. More...
 
void VnUartPacket_parseReferenceFrameRotationRaw (char *packet, mat3f *c)
 Parses a response from reading the Reference Frame Rotation register. More...
 
void VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRates (VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *mag, vec3f *accel, vec3f *gyro)
 Parses a response from reading the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register. More...
 
void VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRatesRaw (char *packet, vec3f *yawPitchRoll, vec3f *mag, vec3f *accel, vec3f *gyro)
 Parses a response from reading the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register. More...
 
void VnUartPacket_parseCommunicationProtocolControl (VnUartPacket *packet, uint8_t *serialCount, uint8_t *serialStatus, uint8_t *spiCount, uint8_t *spiStatus, uint8_t *serialChecksum, uint8_t *spiChecksum, uint8_t *errorMode)
 Parses a response from reading the Communication Protocol Control register. More...
 
void VnUartPacket_parseCommunicationProtocolControlRaw (char *packet, uint8_t *serialCount, uint8_t *serialStatus, uint8_t *spiCount, uint8_t *spiStatus, uint8_t *serialChecksum, uint8_t *spiChecksum, uint8_t *errorMode)
 Parses a response from reading the Communication Protocol Control register. More...
 
void VnUartPacket_parseSynchronizationControl (VnUartPacket *packet, uint8_t *syncInMode, uint8_t *syncInEdge, uint16_t *syncInSkipFactor, uint32_t *reserved1, uint8_t *syncOutMode, uint8_t *syncOutPolarity, uint16_t *syncOutSkipFactor, uint32_t *syncOutPulseWidth, uint32_t *reserved2)
 Parses a response from reading the Synchronization Control register. More...
 
void VnUartPacket_parseSynchronizationControlRaw (char *packet, uint8_t *syncInMode, uint8_t *syncInEdge, uint16_t *syncInSkipFactor, uint32_t *reserved1, uint8_t *syncOutMode, uint8_t *syncOutPolarity, uint16_t *syncOutSkipFactor, uint32_t *syncOutPulseWidth, uint32_t *reserved2)
 Parses a response from reading the Synchronization Control register. More...
 
void VnUartPacket_parseSynchronizationStatus (VnUartPacket *packet, uint32_t *syncInCount, uint32_t *syncInTime, uint32_t *syncOutCount)
 Parses a response from reading the Synchronization Status register. More...
 
void VnUartPacket_parseSynchronizationStatusRaw (char *packet, uint32_t *syncInCount, uint32_t *syncInTime, uint32_t *syncOutCount)
 Parses a response from reading the Synchronization Status register. More...
 
void VnUartPacket_parseFilterBasicControl (VnUartPacket *packet, uint8_t *magMode, uint8_t *extMagMode, uint8_t *extAccMode, uint8_t *extGyroMode, vec3f *gyroLimit)
 Parses a response from reading the Filter Basic Control register. More...
 
void VnUartPacket_parseFilterBasicControlRaw (char *packet, uint8_t *magMode, uint8_t *extMagMode, uint8_t *extAccMode, uint8_t *extGyroMode, vec3f *gyroLimit)
 Parses a response from reading the Filter Basic Control register. More...
 
void VnUartPacket_parseVpeBasicControl (VnUartPacket *packet, uint8_t *enable, uint8_t *headingMode, uint8_t *filteringMode, uint8_t *tuningMode)
 Parses a response from reading the VPE Basic Control register. More...
 
void VnUartPacket_parseVpeBasicControlRaw (char *packet, uint8_t *enable, uint8_t *headingMode, uint8_t *filteringMode, uint8_t *tuningMode)
 Parses a response from reading the VPE Basic Control register. More...
 
void VnUartPacket_parseVpeMagnetometerBasicTuning (VnUartPacket *packet, vec3f *baseTuning, vec3f *adaptiveTuning, vec3f *adaptiveFiltering)
 Parses a response from reading the VPE Magnetometer Basic Tuning register. More...
 
void VnUartPacket_parseVpeMagnetometerBasicTuningRaw (char *packet, vec3f *baseTuning, vec3f *adaptiveTuning, vec3f *adaptiveFiltering)
 Parses a response from reading the VPE Magnetometer Basic Tuning register. More...
 
void VnUartPacket_parseVpeMagnetometerAdvancedTuning (VnUartPacket *packet, vec3f *minFiltering, vec3f *maxFiltering, float *maxAdaptRate, float *disturbanceWindow, float *maxTuning)
 Parses a response from reading the VPE Magnetometer Advanced Tuning register. More...
 
void VnUartPacket_parseVpeMagnetometerAdvancedTuningRaw (char *packet, vec3f *minFiltering, vec3f *maxFiltering, float *maxAdaptRate, float *disturbanceWindow, float *maxTuning)
 Parses a response from reading the VPE Magnetometer Advanced Tuning register. More...
 
void VnUartPacket_parseVpeAccelerometerBasicTuning (VnUartPacket *packet, vec3f *baseTuning, vec3f *adaptiveTuning, vec3f *adaptiveFiltering)
 Parses a response from reading the VPE Accelerometer Basic Tuning register. More...
 
void VnUartPacket_parseVpeAccelerometerBasicTuningRaw (char *packet, vec3f *baseTuning, vec3f *adaptiveTuning, vec3f *adaptiveFiltering)
 Parses a response from reading the VPE Accelerometer Basic Tuning register. More...
 
void VnUartPacket_parseVpeAccelerometerAdvancedTuning (VnUartPacket *packet, vec3f *minFiltering, vec3f *maxFiltering, float *maxAdaptRate, float *disturbanceWindow, float *maxTuning)
 Parses a response from reading the VPE Accelerometer Advanced Tuning register. More...
 
void VnUartPacket_parseVpeAccelerometerAdvancedTuningRaw (char *packet, vec3f *minFiltering, vec3f *maxFiltering, float *maxAdaptRate, float *disturbanceWindow, float *maxTuning)
 Parses a response from reading the VPE Accelerometer Advanced Tuning register. More...
 
void VnUartPacket_parseVpeGyroBasicTuning (VnUartPacket *packet, vec3f *angularWalkVariance, vec3f *baseTuning, vec3f *adaptiveTuning)
 Parses a response from reading the VPE Gyro Basic Tuning register. More...
 
void VnUartPacket_parseVpeGyroBasicTuningRaw (char *packet, vec3f *angularWalkVariance, vec3f *baseTuning, vec3f *adaptiveTuning)
 Parses a response from reading the VPE Gyro Basic Tuning register. More...
 
void VnUartPacket_parseFilterStartupGyroBias (VnUartPacket *packet, vec3f *bias)
 Parses a response from reading the Filter Startup Gyro Bias register. More...
 
void VnUartPacket_parseFilterStartupGyroBiasRaw (char *packet, vec3f *bias)
 Parses a response from reading the Filter Startup Gyro Bias register. More...
 
void VnUartPacket_parseMagnetometerCalibrationControl (VnUartPacket *packet, uint8_t *hsiMode, uint8_t *hsiOutput, uint8_t *convergeRate)
 Parses a response from reading the Magnetometer Calibration Control register. More...
 
void VnUartPacket_parseMagnetometerCalibrationControlRaw (char *packet, uint8_t *hsiMode, uint8_t *hsiOutput, uint8_t *convergeRate)
 Parses a response from reading the Magnetometer Calibration Control register. More...
 
void VnUartPacket_parseCalculatedMagnetometerCalibration (VnUartPacket *packet, mat3f *c, vec3f *b)
 Parses a response from reading the Calculated Magnetometer Calibration register. More...
 
void VnUartPacket_parseCalculatedMagnetometerCalibrationRaw (char *packet, mat3f *c, vec3f *b)
 Parses a response from reading the Calculated Magnetometer Calibration register. More...
 
void VnUartPacket_parseIndoorHeadingModeControl (VnUartPacket *packet, float *maxRateError, uint8_t *reserved1)
 Parses a response from reading the Indoor Heading Mode Control register. More...
 
void VnUartPacket_parseIndoorHeadingModeControlRaw (char *packet, float *maxRateError, uint8_t *reserved1)
 Parses a response from reading the Indoor Heading Mode Control register. More...
 
void VnUartPacket_parseVelocityCompensationMeasurement (VnUartPacket *packet, vec3f *velocity)
 Parses a response from reading the Velocity Compensation Measurement register. More...
 
void VnUartPacket_parseVelocityCompensationMeasurementRaw (char *packet, vec3f *velocity)
 Parses a response from reading the Velocity Compensation Measurement register. More...
 
void VnUartPacket_parseVelocityCompensationControl (VnUartPacket *packet, uint8_t *mode, float *velocityTuning, float *rateTuning)
 Parses a response from reading the Velocity Compensation Control register. More...
 
void VnUartPacket_parseVelocityCompensationControlRaw (char *packet, uint8_t *mode, float *velocityTuning, float *rateTuning)
 Parses a response from reading the Velocity Compensation Control register. More...
 
void VnUartPacket_parseVelocityCompensationStatus (VnUartPacket *packet, float *x, float *xDot, vec3f *accelOffset, vec3f *omega)
 Parses a response from reading the Velocity Compensation Status register. More...
 
void VnUartPacket_parseVelocityCompensationStatusRaw (char *packet, float *x, float *xDot, vec3f *accelOffset, vec3f *omega)
 Parses a response from reading the Velocity Compensation Status register. More...
 
void VnUartPacket_parseImuMeasurements (VnUartPacket *packet, vec3f *mag, vec3f *accel, vec3f *gyro, float *temp, float *pressure)
 Parses a response from reading the IMU Measurements register. More...
 
void VnUartPacket_parseImuMeasurementsRaw (char *packet, vec3f *mag, vec3f *accel, vec3f *gyro, float *temp, float *pressure)
 Parses a response from reading the IMU Measurements register. More...
 
void VnUartPacket_parseGpsConfiguration (VnUartPacket *packet, uint8_t *mode, uint8_t *ppsSource, uint8_t *reserved1, uint8_t *reserved2, uint8_t *reserved3)
 Parses a response from reading the GPS Configuration register. More...
 
void VnUartPacket_parseGpsConfigurationRaw (char *packet, uint8_t *mode, uint8_t *ppsSource, uint8_t *reserved1, uint8_t *reserved2, uint8_t *reserved3)
 Parses a response from reading the GPS Configuration register. More...
 
void VnUartPacket_parseGpsAntennaOffset (VnUartPacket *packet, vec3f *position)
 Parses a response from reading the GPS Antenna Offset register. More...
 
void VnUartPacket_parseGpsAntennaOffsetRaw (char *packet, vec3f *position)
 Parses a response from reading the GPS Antenna Offset register. More...
 
void VnUartPacket_parseGpsSolutionLla (VnUartPacket *packet, double *time, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *lla, vec3f *nedVel, vec3f *nedAcc, float *speedAcc, float *timeAcc)
 Parses a response from reading the GPS Solution - LLA register. More...
 
void VnUartPacket_parseGpsSolutionLlaRaw (char *packet, double *time, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *lla, vec3f *nedVel, vec3f *nedAcc, float *speedAcc, float *timeAcc)
 Parses a response from reading the GPS Solution - LLA register. More...
 
void VnUartPacket_parseGpsSolutionEcef (VnUartPacket *packet, double *tow, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *position, vec3f *velocity, vec3f *posAcc, float *speedAcc, float *timeAcc)
 Parses a response from reading the GPS Solution - ECEF register. More...
 
void VnUartPacket_parseGpsSolutionEcefRaw (char *packet, double *tow, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *position, vec3f *velocity, vec3f *posAcc, float *speedAcc, float *timeAcc)
 Parses a response from reading the GPS Solution - ECEF register. More...
 
void VnUartPacket_parseInsSolutionLla (VnUartPacket *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *nedVel, float *attUncertainty, float *posUncertainty, float *velUncertainty)
 Parses a response from reading the INS Solution - LLA register. More...
 
void VnUartPacket_parseInsSolutionLlaRaw (char *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *nedVel, float *attUncertainty, float *posUncertainty, float *velUncertainty)
 Parses a response from reading the INS Solution - LLA register. More...
 
void VnUartPacket_parseInsSolutionEcef (VnUartPacket *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, float *attUncertainty, float *posUncertainty, float *velUncertainty)
 Parses a response from reading the INS Solution - ECEF register. More...
 
void VnUartPacket_parseInsSolutionEcefRaw (char *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, float *attUncertainty, float *posUncertainty, float *velUncertainty)
 Parses a response from reading the INS Solution - ECEF register. More...
 
void VnUartPacket_parseInsBasicConfiguration (VnUartPacket *packet, uint8_t *scenario, uint8_t *ahrsAiding, uint8_t *estBaseline, uint8_t *resv2)
 Parses a response from reading the INS Basic Configuration register. More...
 
void VnUartPacket_parseInsBasicConfigurationRaw (char *packet, uint8_t *scenario, uint8_t *ahrsAiding, uint8_t *estBaseline, uint8_t *resv2)
 Parses a response from reading the INS Basic Configuration register. More...
 
void VnUartPacket_parseInsAdvancedConfiguration (VnUartPacket *packet, uint8_t *useMag, uint8_t *usePres, uint8_t *posAtt, uint8_t *velAtt, uint8_t *velBias, uint8_t *useFoam, uint8_t *gpsCovType, uint8_t *velCount, float *velInit, float *moveOrigin, float *gpsTimeout, float *deltaLimitPos, float *deltaLimitVel, float *minPosUncertainty, float *minVelUncertainty)
 Parses a response from reading the INS Advanced Configuration register. More...
 
void VnUartPacket_parseInsAdvancedConfigurationRaw (char *packet, uint8_t *useMag, uint8_t *usePres, uint8_t *posAtt, uint8_t *velAtt, uint8_t *velBias, uint8_t *useFoam, uint8_t *gpsCovType, uint8_t *velCount, float *velInit, float *moveOrigin, float *gpsTimeout, float *deltaLimitPos, float *deltaLimitVel, float *minPosUncertainty, float *minVelUncertainty)
 Parses a response from reading the INS Advanced Configuration register. More...
 
void VnUartPacket_parseInsStateLla (VnUartPacket *packet, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, vec3f *accel, vec3f *angularRate)
 Parses a response from reading the INS State - LLA register. More...
 
void VnUartPacket_parseInsStateLlaRaw (char *packet, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, vec3f *accel, vec3f *angularRate)
 Parses a response from reading the INS State - LLA register. More...
 
void VnUartPacket_parseInsStateEcef (VnUartPacket *packet, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, vec3f *accel, vec3f *angularRate)
 Parses a response from reading the INS State - ECEF register. More...
 
void VnUartPacket_parseInsStateEcefRaw (char *packet, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, vec3f *accel, vec3f *angularRate)
 Parses a response from reading the INS State - ECEF register. More...
 
void VnUartPacket_parseStartupFilterBiasEstimate (VnUartPacket *packet, vec3f *gyroBias, vec3f *accelBias, float *pressureBias)
 Parses a response from reading the Startup Filter Bias Estimate register. More...
 
void VnUartPacket_parseStartupFilterBiasEstimateRaw (char *packet, vec3f *gyroBias, vec3f *accelBias, float *pressureBias)
 Parses a response from reading the Startup Filter Bias Estimate register. More...
 
void VnUartPacket_parseDeltaThetaAndDeltaVelocity (VnUartPacket *packet, float *deltaTime, vec3f *deltaTheta, vec3f *deltaVelocity)
 Parses a response from reading the Delta Theta and Delta Velocity register. More...
 
void VnUartPacket_parseDeltaThetaAndDeltaVelocityRaw (char *packet, float *deltaTime, vec3f *deltaTheta, vec3f *deltaVelocity)
 Parses a response from reading the Delta Theta and Delta Velocity register. More...
 
void VnUartPacket_parseDeltaThetaAndDeltaVelocityConfiguration (VnUartPacket *packet, uint8_t *integrationFrame, uint8_t *gyroCompensation, uint8_t *accelCompensation, uint8_t *reserved1, uint16_t *reserved2)
 Parses a response from reading the Delta Theta and Delta Velocity Configuration register. More...
 
void VnUartPacket_parseDeltaThetaAndDeltaVelocityConfigurationRaw (char *packet, uint8_t *integrationFrame, uint8_t *gyroCompensation, uint8_t *accelCompensation, uint8_t *reserved1, uint16_t *reserved2)
 Parses a response from reading the Delta Theta and Delta Velocity Configuration register. More...
 
void VnUartPacket_parseReferenceVectorConfiguration (VnUartPacket *packet, uint8_t *useMagModel, uint8_t *useGravityModel, uint8_t *resv1, uint8_t *resv2, uint32_t *recalcThreshold, float *year, vec3d *position)
 Parses a response from reading the Reference Vector Configuration register. More...
 
void VnUartPacket_parseReferenceVectorConfigurationRaw (char *packet, uint8_t *useMagModel, uint8_t *useGravityModel, uint8_t *resv1, uint8_t *resv2, uint32_t *recalcThreshold, float *year, vec3d *position)
 Parses a response from reading the Reference Vector Configuration register. More...
 
void VnUartPacket_parseGyroCompensation (VnUartPacket *packet, mat3f *c, vec3f *b)
 Parses a response from reading the Gyro Compensation register. More...
 
void VnUartPacket_parseGyroCompensationRaw (char *packet, mat3f *c, vec3f *b)
 Parses a response from reading the Gyro Compensation register. More...
 
void VnUartPacket_parseImuFilteringConfiguration (VnUartPacket *packet, uint16_t *magWindowSize, uint16_t *accelWindowSize, uint16_t *gyroWindowSize, uint16_t *tempWindowSize, uint16_t *presWindowSize, uint8_t *magFilterMode, uint8_t *accelFilterMode, uint8_t *gyroFilterMode, uint8_t *tempFilterMode, uint8_t *presFilterMode)
 Parses a response from reading the IMU Filtering Configuration register. More...
 
void VnUartPacket_parseImuFilteringConfigurationRaw (char *packet, uint16_t *magWindowSize, uint16_t *accelWindowSize, uint16_t *gyroWindowSize, uint16_t *tempWindowSize, uint16_t *presWindowSize, uint8_t *magFilterMode, uint8_t *accelFilterMode, uint8_t *gyroFilterMode, uint8_t *tempFilterMode, uint8_t *presFilterMode)
 Parses a response from reading the IMU Filtering Configuration register. More...
 
void VnUartPacket_parseGpsCompassBaseline (VnUartPacket *packet, vec3f *position, vec3f *uncertainty)
 Parses a response from reading the GPS Compass Baseline register. More...
 
void VnUartPacket_parseGpsCompassBaselineRaw (char *packet, vec3f *position, vec3f *uncertainty)
 Parses a response from reading the GPS Compass Baseline register. More...
 
void VnUartPacket_parseGpsCompassEstimatedBaseline (VnUartPacket *packet, uint8_t *estBaselineUsed, uint8_t *resv, uint16_t *numMeas, vec3f *position, vec3f *uncertainty)
 Parses a response from reading the GPS Compass Estimated Baseline register. More...
 
void VnUartPacket_parseGpsCompassEstimatedBaselineRaw (char *packet, uint8_t *estBaselineUsed, uint8_t *resv, uint16_t *numMeas, vec3f *position, vec3f *uncertainty)
 Parses a response from reading the GPS Compass Estimated Baseline register. More...
 
void VnUartPacket_parseImuRateConfiguration (VnUartPacket *packet, uint16_t *imuRate, uint16_t *navDivisor, float *filterTargetRate, float *filterMinRate)
 Parses a response from reading the IMU Rate Configuration register. More...
 
void VnUartPacket_parseImuRateConfigurationRaw (char *packet, uint16_t *imuRate, uint16_t *navDivisor, float *filterTargetRate, float *filterMinRate)
 Parses a response from reading the IMU Rate Configuration register. More...
 
void VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRates (VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *bodyAccel, vec3f *gyro)
 Parses a response from reading the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register. More...
 
void VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRatesRaw (char *packet, vec3f *yawPitchRoll, vec3f *bodyAccel, vec3f *gyro)
 Parses a response from reading the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register. More...
 
void VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRates (VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *inertialAccel, vec3f *gyro)
 Parses a response from reading the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register. More...
 
void VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRatesRaw (char *packet, vec3f *yawPitchRoll, vec3f *inertialAccel, vec3f *gyro)
 Parses a response from reading the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register. More...
 
-

Detailed Description

-

This set of functions will generate command strings for writing to VectorNav sensor registers.

-

These functions take the form shown below. XXX is replaced by the name of the register, buffer is provided by the user to be filled with the generated command, bufferSize is the number of bytes in the provided buffer, errorDetection indicates the type of error-detection to generate the command with, cmdSize is returned to the user to indicate the number of bytes of the generated command, and [Variable argument list] varies with the specified register being written to.

-
VnError VnUartPacket_genWriteXXX(
-
char *buffer,
-
size_t bufferSize,
-
VnErrorDetection errorDetection,
-
size_t *cmdSize,
-
[Variable argument list]);
-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteAccelerationCompensation (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
mat3f c,
vec3f b 
)
-
- -

Generates a command to write to the Acceleration Compensation register on a VectorNav sensor.

-
Parameters
- - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]cThe register's C field.
[in]bThe register's B field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteAsyncDataOutputFrequency (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint32_t adof 
)
-
- -

Generates a command to write to the Async Data Output Frequency register on a VectorNav sensor.

-
Parameters
- - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]adofThe register's ADOF field.
-
-
-
Returns
Indicates any errors encountered.
-
Examples:
getting_started/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteAsyncDataOutputFrequencyWithOptions (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint32_t adof 
)
-
- -

Generates a command to write to the Async Data Output Frequency register on a VectorNav sensor.

-
Parameters
- - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]adofThe register's ADOF field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteAsyncDataOutputType (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint32_t ador 
)
-
- -

Generates a command to write to the Async Data Output Type register on a VectorNav sensor.

-
Parameters
- - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]adorThe register's ADOR field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteAsyncDataOutputTypeWithOptions (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint32_t ador 
)
-
- -

Generates a command to write to the Async Data Output Type register on a VectorNav sensor.

-
Parameters
- - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]adorThe register's ADOR field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteBinaryOutput1 (uint8_t * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint16_t asyncMode,
uint16_t rateDivisor,
uint16_t commonField,
uint16_t timeField,
uint16_t imuField,
uint16_t gpsField,
uint16_t attitudeField,
uint16_t insField 
)
-
- -

Generates a command to write to the Binary Output 1 register.

-
Parameters
- - - - - - - - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]asyncModeThe register's async mode.
[in]rateDivisorThe register's rate divisor field.
[in]commonFieldThe flags for Group 1 (Common) field.
[in]timeFieldThe flags for Group 2 (Time) field.
[in]imuFieldThe flags for Group 3 (IMU) field.
[in]gpsFieldThe flags for Group 4 (GPS) field.
[in]attitudeFieldThe flags for Group 5 (Attitude) field.
[in]insFieldThe flags for Group 6 (INS) field.
-
-
-
Returns
Indicates any errors encountered.
-
Examples:
getting_started/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteBinaryOutput2 (uint8_t * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint16_t asyncMode,
uint16_t rateDivisor,
uint16_t commonField,
uint16_t timeField,
uint16_t imuField,
uint16_t gpsField,
uint16_t attitudeField,
uint16_t insField 
)
-
- -

Generates a command to write to the Binary Output 2 register.

-
Parameters
- - - - - - - - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]asyncModeThe register's async mode.
[in]rateDivisorThe register's rate divisor field.
[in]commonFieldThe flags for Group 1 (Common) field.
[in]timeFieldThe flags for Group 2 (Time) field.
[in]imuFieldThe flags for Group 3 (IMU) field.
[in]gpsFieldThe flags for Group 4 (GPS) field.
[in]attitudeFieldThe flags for Group 5 (Attitude) field.
[in]insFieldThe flags for Group 6 (INS) field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteBinaryOutput3 (uint8_t * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint16_t asyncMode,
uint16_t rateDivisor,
uint16_t commonField,
uint16_t timeField,
uint16_t imuField,
uint16_t gpsField,
uint16_t attitudeField,
uint16_t insField 
)
-
- -

Generates a command to write to the Binary Output 3 register.

-
Parameters
- - - - - - - - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]asyncModeThe register's async mode.
[in]rateDivisorThe register's rate divisor field.
[in]commonFieldThe flags for Group 1 (Common) field.
[in]timeFieldThe flags for Group 2 (Time) field.
[in]imuFieldThe flags for Group 3 (IMU) field.
[in]gpsFieldThe flags for Group 4 (GPS) field.
[in]attitudeFieldThe flags for Group 5 (Attitude) field.
[in]insFieldThe flags for Group 6 (INS) field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteCommunicationProtocolControl (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint8_t serialCount,
uint8_t serialStatus,
uint8_t spiCount,
uint8_t spiStatus,
uint8_t serialChecksum,
uint8_t spiChecksum,
uint8_t errorMode 
)
-
- -

Generates a command to write to the Communication Protocol Control register on a VectorNav sensor.

-
Parameters
- - - - - - - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]serialCountThe register's SerialCount field.
[in]serialStatusThe register's SerialStatus field.
[in]spiCountThe register's SPICount field.
[in]spiStatusThe register's SPIStatus field.
[in]serialChecksumThe register's SerialChecksum field.
[in]spiChecksumThe register's SPIChecksum field.
[in]errorModeThe register's ErrorMode field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteDeltaThetaAndDeltaVelocityConfiguration (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint8_t integrationFrame,
uint8_t gyroCompensation,
uint8_t accelCompensation,
uint8_t reserved1,
uint16_t reserved2 
)
-
- -

Generates a command to write to the Delta Theta and Delta Velocity Configuration register on a VectorNav sensor.

-
Parameters
- - - - - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]integrationFrameThe register's IntegrationFrame field.
[in]gyroCompensationThe register's GyroCompensation field.
[in]accelCompensationThe register's AccelCompensation field.
[in]reserved1The register's Reserved1 field.
[in]reserved2The register's Reserved2 field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteGpsAntennaOffset (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
vec3f position 
)
-
- -

Generates a command to write to the GPS Antenna Offset register on a VectorNav sensor.

-
Parameters
- - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]positionThe register's Position field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteGpsCompassBaseline (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
vec3f position,
vec3f uncertainty 
)
-
- -

Generates a command to write to the GPS Compass Baseline register on a VectorNav sensor.

-
Parameters
- - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]positionThe register's Position field.
[in]uncertaintyThe register's Uncertainty field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteGpsConfiguration (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint8_t mode,
uint8_t ppsSource,
uint8_t reserved1,
uint8_t reserved2,
uint8_t reserved3 
)
-
- -

Generates a command to write to the GPS Configuration register on a VectorNav sensor.

-
Parameters
- - - - - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]modeThe register's Mode field.
[in]ppsSourceThe register's PpsSource field.
[in]reserved1The register's Reserved1 field.
[in]reserved2The register's Reserved2 field.
[in]reserved3The register's Reserved3 field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteGyroCompensation (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
mat3f c,
vec3f b 
)
-
- -

Generates a command to write to the Gyro Compensation register on a VectorNav sensor.

-
Parameters
- - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]cThe register's C field.
[in]bThe register's B field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteImuFilteringConfiguration (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint16_t magWindowSize,
uint16_t accelWindowSize,
uint16_t gyroWindowSize,
uint16_t tempWindowSize,
uint16_t presWindowSize,
uint8_t magFilterMode,
uint8_t accelFilterMode,
uint8_t gyroFilterMode,
uint8_t tempFilterMode,
uint8_t presFilterMode 
)
-
- -

Generates a command to write to the IMU Filtering Configuration register on a VectorNav sensor.

-
Parameters
- - - - - - - - - - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]magWindowSizeThe register's MagWindowSize field.
[in]accelWindowSizeThe register's AccelWindowSize field.
[in]gyroWindowSizeThe register's GyroWindowSize field.
[in]tempWindowSizeThe register's TempWindowSize field.
[in]presWindowSizeThe register's PresWindowSize field.
[in]magFilterModeThe register's MagFilterMode field.
[in]accelFilterModeThe register's AccelFilterMode field.
[in]gyroFilterModeThe register's GyroFilterMode field.
[in]tempFilterModeThe register's TempFilterMode field.
[in]presFilterModeThe register's PresFilterMode field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteInsBasicConfiguration (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint8_t scenario,
uint8_t ahrsAiding,
uint8_t estBaseline,
uint8_t resv2 
)
-
- -

Generates a command to write to the INS Basic Configuration register on a VectorNav sensor.

-
Parameters
- - - - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]scenarioThe register's Scenario field.
[in]ahrsAidingThe register's AhrsAiding field.
[in]estBaselineThe register's EstBaseline field.
[in]resv2The register's Resv2 field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteMagneticAndGravityReferenceVectors (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
vec3f magRef,
vec3f accRef 
)
-
- -

Generates a command to write to the Magnetic and Gravity Reference Vectors register on a VectorNav sensor.

-
Parameters
- - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]magRefThe register's MagRef field.
[in]accRefThe register's AccRef field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteMagnetometerCalibrationControl (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint8_t hsiMode,
uint8_t hsiOutput,
uint8_t convergeRate 
)
-
- -

Generates a command to write to the Magnetometer Calibration Control register on a VectorNav sensor.

-
Parameters
- - - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]hsiModeThe register's HSIMode field.
[in]hsiOutputThe register's HSIOutput field.
[in]convergeRateThe register's ConvergeRate field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteMagnetometerCompensation (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
mat3f c,
vec3f b 
)
-
- -

Generates a command to write to the Magnetometer Compensation register on a VectorNav sensor.

-
Parameters
- - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]cThe register's C field.
[in]bThe register's B field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteReferenceFrameRotation (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
mat3f c 
)
-
- -

Generates a command to write to the Reference Frame Rotation register on a VectorNav sensor.

-
Parameters
- - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]cThe register's C field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteReferenceVectorConfiguration (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint8_t useMagModel,
uint8_t useGravityModel,
uint8_t resv1,
uint8_t resv2,
uint32_t recalcThreshold,
float year,
vec3d position 
)
-
- -

Generates a command to write to the Reference Vector Configuration register on a VectorNav sensor.

-
Parameters
- - - - - - - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]useMagModelThe register's UseMagModel field.
[in]useGravityModelThe register's UseGravityModel field.
[in]resv1The register's Resv1 field.
[in]resv2The register's Resv2 field.
[in]recalcThresholdThe register's RecalcThreshold field.
[in]yearThe register's Year field.
[in]positionThe register's Position field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteSerialBaudRate (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint32_t baudrate 
)
-
- -

Generates a command to write to the Serial Baud Rate register on a VectorNav sensor.

-
Parameters
- - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]baudrateThe register's Baud Rate field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteSerialBaudRateWithOptions (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint32_t baudrate 
)
-
- -

Generates a command to write to the Serial Baud Rate register on a VectorNav sensor.

-
Parameters
- - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]baudrateThe register's Baud Rate field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteStartupFilterBiasEstimate (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
vec3f gyroBias,
vec3f accelBias,
float pressureBias 
)
-
- -

Generates a command to write to the Startup Filter Bias Estimate register on a VectorNav sensor.

-
Parameters
- - - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]gyroBiasThe register's GyroBias field.
[in]accelBiasThe register's AccelBias field.
[in]pressureBiasThe register's PressureBias field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteSynchronizationControl (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint8_t syncInMode,
uint8_t syncInEdge,
uint16_t syncInSkipFactor,
uint32_t reserved1,
uint8_t syncOutMode,
uint8_t syncOutPolarity,
uint16_t syncOutSkipFactor,
uint32_t syncOutPulseWidth,
uint32_t reserved2 
)
-
- -

Generates a command to write to the Synchronization Control register on a VectorNav sensor.

-
Parameters
- - - - - - - - - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]syncInModeThe register's SyncInMode field.
[in]syncInEdgeThe register's SyncInEdge field.
[in]syncInSkipFactorThe register's SyncInSkipFactor field.
[in]reserved1The register's RESERVED1 field.
[in]syncOutModeThe register's SyncOutMode field.
[in]syncOutPolarityThe register's SyncOutPolarity field.
[in]syncOutSkipFactorThe register's SyncOutSkipFactor field.
[in]syncOutPulseWidthThe register's SyncOutPulseWidth field.
[in]reserved2The register's RESERVED2 field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteSynchronizationStatus (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint32_t syncInCount,
uint32_t syncInTime,
uint32_t syncOutCount 
)
-
- -

Generates a command to write to the Synchronization Status register on a VectorNav sensor.

-
Parameters
- - - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]syncInCountThe register's SyncInCount field.
[in]syncInTimeThe register's SyncInTime field.
[in]syncOutCountThe register's SyncOutCount field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteUserTag (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
char * tag 
)
-
- -

Generates a command to write to the User Tag register on a VectorNav sensor.

-
Parameters
- - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]tagThe register's Tag field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteVelocityCompensationControl (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint8_t mode,
float velocityTuning,
float rateTuning 
)
-
- -

Generates a command to write to the Velocity Compensation Control register on a VectorNav sensor.

-
Parameters
- - - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]modeThe register's Mode field.
[in]velocityTuningThe register's VelocityTuning field.
[in]rateTuningThe register's RateTuning field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteVelocityCompensationMeasurement (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
vec3f velocity 
)
-
- -

Generates a command to write to the Velocity Compensation Measurement register on a VectorNav sensor.

-
Parameters
- - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]velocityThe register's Velocity field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteVpeAccelerometerBasicTuning (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
vec3f baseTuning,
vec3f adaptiveTuning,
vec3f adaptiveFiltering 
)
-
- -

Generates a command to write to the VPE Accelerometer Basic Tuning register on a VectorNav sensor.

-
Parameters
- - - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]baseTuningThe register's BaseTuning field.
[in]adaptiveTuningThe register's AdaptiveTuning field.
[in]adaptiveFilteringThe register's AdaptiveFiltering field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteVpeBasicControl (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
uint8_t enable,
uint8_t headingMode,
uint8_t filteringMode,
uint8_t tuningMode 
)
-
- -

Generates a command to write to the VPE Basic Control register on a VectorNav sensor.

-
Parameters
- - - - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]enableThe register's Enable field.
[in]headingModeThe register's HeadingMode field.
[in]filteringModeThe register's FilteringMode field.
[in]tuningModeThe register's TuningMode field.
-
-
-
Returns
Indicates any errors encountered.
-
Examples:
getting_started/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_genWriteVpeMagnetometerBasicTuning (char * buffer,
size_t bufferSize,
VnErrorDetectionMode errorDetectionMode,
size_t * cmdSize,
vec3f baseTuning,
vec3f adaptiveTuning,
vec3f adaptiveFiltering 
)
-
- -

Generates a command to write to the VPE Magnetometer Basic Tuning register on a VectorNav sensor.

-
Parameters
- - - - - - - - -
[in]bufferCaller provided buffer to place the generated command.
[in]bufferSizeNumber of bytes available in the provided buffer.
[in]errorDetectionModeThe type of error-detection to use in generating the command.
[out]cmdSizeThe total number bytes in the generated command.
[in]baseTuningThe register's BaseTuning field.
[in]adaptiveTuningThe register's AdaptiveTuning field.
[in]adaptiveFilteringThe register's AdaptiveFiltering field.
-
-
-
Returns
Indicates any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseAccelerationCompensation (VnUartPacketpacket,
mat3fc,
vec3fb 
)
-
- -

Parses a response from reading the Acceleration Compensation register.

-
Parameters
- - - - -
[in]packetThe associated packet.
[out]cThe register's C field.
[out]bThe register's B field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseAccelerationCompensationRaw (char * packet,
mat3fc,
vec3fb 
)
-
- -

Parses a response from reading the Acceleration Compensation register.

-
Parameters
- - - - -
[in]packetThe associated packet.
[out]cThe register's C field.
[out]bThe register's B field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseAccelerationMeasurements (VnUartPacketpacket,
vec3faccel 
)
-
- -

Parses a response from reading the Acceleration Measurements register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]accelThe register's Accel field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseAccelerationMeasurementsRaw (char * packet,
vec3faccel 
)
-
- -

Parses a response from reading the Acceleration Measurements register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]accelThe register's Accel field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseAngularRateMeasurements (VnUartPacketpacket,
vec3fgyro 
)
-
- -

Parses a response from reading the Angular Rate Measurements register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]gyroThe register's Gyro field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseAngularRateMeasurementsRaw (char * packet,
vec3fgyro 
)
-
- -

Parses a response from reading the Angular Rate Measurements register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]gyroThe register's Gyro field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseAsyncDataOutputFrequency (VnUartPacketpacket,
uint32_t * adof 
)
-
- -

Parses a response from reading the Async Data Output Frequency register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]adofThe register's ADOF field.
-
-
-
Examples:
getting_started/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseAsyncDataOutputFrequencyRaw (char * packet,
uint32_t * adof 
)
-
- -

Parses a response from reading the Async Data Output Frequency register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]adofThe register's ADOF field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseAsyncDataOutputType (VnUartPacketpacket,
uint32_t * ador 
)
-
- -

Parses a response from reading the Async Data Output Type register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]adorThe register's ADOR field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseAsyncDataOutputTypeRaw (char * packet,
uint32_t * ador 
)
-
- -

Parses a response from reading the Async Data Output Type register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]adorThe register's ADOR field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseAttitudeQuaternion (VnUartPacketpacket,
vec4fquat 
)
-
- -

Parses a response from reading the Attitude Quaternion register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]quatThe register's Quat field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseAttitudeQuaternionRaw (char * packet,
vec4fquat 
)
-
- -

Parses a response from reading the Attitude Quaternion register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]quatThe register's Quat field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseBinaryOutput (VnUartPacketpacket,
uint16_t * asyncMode,
uint16_t * rateDivisor,
uint16_t * outputGroup,
uint16_t * commonField,
uint16_t * timeField,
uint16_t * imuField,
uint16_t * gpsField,
uint16_t * attitudeField,
uint16_t * insField 
)
-
- -

Parses a response from reading any of the Binary Output registers.

-
Parameters
- - - - - - - - - - - -
[in]packetThe associated packet.
[out]asyncModeThe register's AsyncMode field.
[out]rateDivisorThe register's RateDivisor field.
[out]outputGroupThe register's OutputGroup field.
[out]commonFieldThe set fields of Output Group 1 (Common) if present.
[out]timeFieldThe set fields of Output Group 2 (Time) if present.
[out]imuFieldThe set fields of Output Group 3 (IMU) if present.
[out]gpsFieldThe set fields of Output Group 4 (GPS) if present.
[out]attitudeFieldThe set fields of Output Group 5 (Attitude) if present.
[out]insFieldThe set fields of Output Group 6 (INS) if present.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseBinaryOutputRaw (uint8_t * packet,
uint16_t * asyncMode,
uint16_t * rateDivisor,
uint16_t * outputGroup,
uint16_t * commonField,
uint16_t * timeField,
uint16_t * imuField,
uint16_t * gpsField,
uint16_t * attitudeField,
uint16_t * insField 
)
-
- -

Parses a response from reading any of the Binary Output registers.

-
Parameters
- - - - - - - - - - - -
[in]packetThe associated packet.
[out]asyncModeThe register's AsyncMode field.
[out]rateDivisorThe register's RateDivisor field.
[out]outputGroupThe register's OutputGroup field.
[out]commonFieldThe set fields of Output Group 1 (Common) if present.
[out]timeFieldThe set fields of Output Group 2 (Time) if present.
[out]imuFieldThe set fields of Output Group 3 (IMU) if present.
[out]gpsFieldThe set fields of Output Group 4 (GPS) if present.
[out]attitudeFieldThe set fields of Output Group 5 (Attitude) if present.
[out]insFieldThe set fields of Output Group 6 (INS) if present.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseCalculatedMagnetometerCalibration (VnUartPacketpacket,
mat3fc,
vec3fb 
)
-
- -

Parses a response from reading the Calculated Magnetometer Calibration register.

-
Parameters
- - - - -
[in]packetThe associated packet.
[out]cThe register's C field.
[out]bThe register's B field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseCalculatedMagnetometerCalibrationRaw (char * packet,
mat3fc,
vec3fb 
)
-
- -

Parses a response from reading the Calculated Magnetometer Calibration register.

-
Parameters
- - - - -
[in]packetThe associated packet.
[out]cThe register's C field.
[out]bThe register's B field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseCommunicationProtocolControl (VnUartPacketpacket,
uint8_t * serialCount,
uint8_t * serialStatus,
uint8_t * spiCount,
uint8_t * spiStatus,
uint8_t * serialChecksum,
uint8_t * spiChecksum,
uint8_t * errorMode 
)
-
- -

Parses a response from reading the Communication Protocol Control register.

-
Parameters
- - - - - - - - - -
[in]packetThe associated packet.
[out]serialCountThe register's SerialCount field.
[out]serialStatusThe register's SerialStatus field.
[out]spiCountThe register's SPICount field.
[out]spiStatusThe register's SPIStatus field.
[out]serialChecksumThe register's SerialChecksum field.
[out]spiChecksumThe register's SPIChecksum field.
[out]errorModeThe register's ErrorMode field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseCommunicationProtocolControlRaw (char * packet,
uint8_t * serialCount,
uint8_t * serialStatus,
uint8_t * spiCount,
uint8_t * spiStatus,
uint8_t * serialChecksum,
uint8_t * spiChecksum,
uint8_t * errorMode 
)
-
- -

Parses a response from reading the Communication Protocol Control register.

-
Parameters
- - - - - - - - - -
[in]packetThe associated packet.
[out]serialCountThe register's SerialCount field.
[out]serialStatusThe register's SerialStatus field.
[out]spiCountThe register's SPICount field.
[out]spiStatusThe register's SPIStatus field.
[out]serialChecksumThe register's SerialChecksum field.
[out]spiChecksumThe register's SPIChecksum field.
[out]errorModeThe register's ErrorMode field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseDeltaThetaAndDeltaVelocity (VnUartPacketpacket,
float * deltaTime,
vec3fdeltaTheta,
vec3fdeltaVelocity 
)
-
- -

Parses a response from reading the Delta Theta and Delta Velocity register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]deltaTimeThe register's DeltaTime field.
[out]deltaThetaThe register's DeltaTheta field.
[out]deltaVelocityThe register's DeltaVelocity field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseDeltaThetaAndDeltaVelocityConfiguration (VnUartPacketpacket,
uint8_t * integrationFrame,
uint8_t * gyroCompensation,
uint8_t * accelCompensation,
uint8_t * reserved1,
uint16_t * reserved2 
)
-
- -

Parses a response from reading the Delta Theta and Delta Velocity Configuration register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]integrationFrameThe register's IntegrationFrame field.
[out]gyroCompensationThe register's GyroCompensation field.
[out]accelCompensationThe register's AccelCompensation field.
[out]reserved1The register's Reserved1 field.
[out]reserved2The register's Reserved2 field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseDeltaThetaAndDeltaVelocityConfigurationRaw (char * packet,
uint8_t * integrationFrame,
uint8_t * gyroCompensation,
uint8_t * accelCompensation,
uint8_t * reserved1,
uint16_t * reserved2 
)
-
- -

Parses a response from reading the Delta Theta and Delta Velocity Configuration register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]integrationFrameThe register's IntegrationFrame field.
[out]gyroCompensationThe register's GyroCompensation field.
[out]accelCompensationThe register's AccelCompensation field.
[out]reserved1The register's Reserved1 field.
[out]reserved2The register's Reserved2 field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseDeltaThetaAndDeltaVelocityRaw (char * packet,
float * deltaTime,
vec3fdeltaTheta,
vec3fdeltaVelocity 
)
-
- -

Parses a response from reading the Delta Theta and Delta Velocity register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]deltaTimeThe register's DeltaTime field.
[out]deltaThetaThe register's DeltaTheta field.
[out]deltaVelocityThe register's DeltaVelocity field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseError (VnUartPacketpacket,
uint8_t * error 
)
-
- -

Parses an error packet to get the error type.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]errorThe reported error.
-
-
-
Examples:
getting_started/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseErrorRaw (uint8_t * packet,
uint8_t * error 
)
-
- -

Parses an error packet to get the error type.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]errorThe reported error.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseFilterActiveTuningParameters (VnUartPacketpacket,
float * magneticDisturbanceGain,
float * accelerationDisturbanceGain,
float * magneticDisturbanceMemory,
float * accelerationDisturbanceMemory 
)
-
- -

Parses a response from reading the Filter Active Tuning Parameters register.

-
Parameters
- - - - - - -
[in]packetThe associated packet.
[out]magneticDisturbanceGainThe register's Magnetic Disturbance Gain field.
[out]accelerationDisturbanceGainThe register's Acceleration Disturbance Gain field.
[out]magneticDisturbanceMemoryThe register's Magnetic Disturbance Memory field.
[out]accelerationDisturbanceMemoryThe register's Acceleration Disturbance Memory field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseFilterActiveTuningParametersRaw (char * packet,
float * magneticDisturbanceGain,
float * accelerationDisturbanceGain,
float * magneticDisturbanceMemory,
float * accelerationDisturbanceMemory 
)
-
- -

Parses a response from reading the Filter Active Tuning Parameters register.

-
Parameters
- - - - - - -
[in]packetThe associated packet.
[out]magneticDisturbanceGainThe register's Magnetic Disturbance Gain field.
[out]accelerationDisturbanceGainThe register's Acceleration Disturbance Gain field.
[out]magneticDisturbanceMemoryThe register's Magnetic Disturbance Memory field.
[out]accelerationDisturbanceMemoryThe register's Acceleration Disturbance Memory field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseFilterBasicControl (VnUartPacketpacket,
uint8_t * magMode,
uint8_t * extMagMode,
uint8_t * extAccMode,
uint8_t * extGyroMode,
vec3fgyroLimit 
)
-
- -

Parses a response from reading the Filter Basic Control register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]magModeThe register's MagMode field.
[out]extMagModeThe register's ExtMagMode field.
[out]extAccModeThe register's ExtAccMode field.
[out]extGyroModeThe register's ExtGyroMode field.
[out]gyroLimitThe register's GyroLimit field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseFilterBasicControlRaw (char * packet,
uint8_t * magMode,
uint8_t * extMagMode,
uint8_t * extAccMode,
uint8_t * extGyroMode,
vec3fgyroLimit 
)
-
- -

Parses a response from reading the Filter Basic Control register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]magModeThe register's MagMode field.
[out]extMagModeThe register's ExtMagMode field.
[out]extAccModeThe register's ExtAccMode field.
[out]extGyroModeThe register's ExtGyroMode field.
[out]gyroLimitThe register's GyroLimit field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseFilterMeasurementsVarianceParameters (VnUartPacketpacket,
float * angularWalkVariance,
vec3fangularRateVariance,
vec3fmagneticVariance,
vec3faccelerationVariance 
)
-
- -

Parses a response from reading the Filter Measurements Variance Parameters register.

-
Parameters
- - - - - - -
[in]packetThe associated packet.
[out]angularWalkVarianceThe register's Angular Walk Variance field.
[out]angularRateVarianceThe register's Angular Rate Variance field.
[out]magneticVarianceThe register's Magnetic Variance field.
[out]accelerationVarianceThe register's Acceleration Variance field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseFilterMeasurementsVarianceParametersRaw (char * packet,
float * angularWalkVariance,
vec3fangularRateVariance,
vec3fmagneticVariance,
vec3faccelerationVariance 
)
-
- -

Parses a response from reading the Filter Measurements Variance Parameters register.

-
Parameters
- - - - - - -
[in]packetThe associated packet.
[out]angularWalkVarianceThe register's Angular Walk Variance field.
[out]angularRateVarianceThe register's Angular Rate Variance field.
[out]magneticVarianceThe register's Magnetic Variance field.
[out]accelerationVarianceThe register's Acceleration Variance field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseFilterStartupGyroBias (VnUartPacketpacket,
vec3fbias 
)
-
- -

Parses a response from reading the Filter Startup Gyro Bias register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]biasThe register's Bias field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseFilterStartupGyroBiasRaw (char * packet,
vec3fbias 
)
-
- -

Parses a response from reading the Filter Startup Gyro Bias register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]biasThe register's Bias field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseFirmwareVersion (VnUartPacketpacket,
char * firmwareVersion 
)
-
- -

Parses a response from reading the Firmware Version register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]firmwareVersionThe register's Firmware Version field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseFirmwareVersionRaw (char * packet,
char * firmwareVersion 
)
-
- -

Parses a response from reading the Firmware Version register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]firmwareVersionThe register's Firmware Version field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseGpsAntennaOffset (VnUartPacketpacket,
vec3fposition 
)
-
- -

Parses a response from reading the GPS Antenna Offset register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]positionThe register's Position field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseGpsAntennaOffsetRaw (char * packet,
vec3fposition 
)
-
- -

Parses a response from reading the GPS Antenna Offset register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]positionThe register's Position field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseGpsCompassBaseline (VnUartPacketpacket,
vec3fposition,
vec3funcertainty 
)
-
- -

Parses a response from reading the GPS Compass Baseline register.

-
Parameters
- - - - -
[in]packetThe associated packet.
[out]positionThe register's Position field.
[out]uncertaintyThe register's Uncertainty field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseGpsCompassBaselineRaw (char * packet,
vec3fposition,
vec3funcertainty 
)
-
- -

Parses a response from reading the GPS Compass Baseline register.

-
Parameters
- - - - -
[in]packetThe associated packet.
[out]positionThe register's Position field.
[out]uncertaintyThe register's Uncertainty field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseGpsCompassEstimatedBaseline (VnUartPacketpacket,
uint8_t * estBaselineUsed,
uint8_t * resv,
uint16_t * numMeas,
vec3fposition,
vec3funcertainty 
)
-
- -

Parses a response from reading the GPS Compass Estimated Baseline register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]estBaselineUsedThe register's EstBaselineUsed field.
[out]resvThe register's Resv field.
[out]numMeasThe register's NumMeas field.
[out]positionThe register's Position field.
[out]uncertaintyThe register's Uncertainty field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseGpsCompassEstimatedBaselineRaw (char * packet,
uint8_t * estBaselineUsed,
uint8_t * resv,
uint16_t * numMeas,
vec3fposition,
vec3funcertainty 
)
-
- -

Parses a response from reading the GPS Compass Estimated Baseline register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]estBaselineUsedThe register's EstBaselineUsed field.
[out]resvThe register's Resv field.
[out]numMeasThe register's NumMeas field.
[out]positionThe register's Position field.
[out]uncertaintyThe register's Uncertainty field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseGpsConfiguration (VnUartPacketpacket,
uint8_t * mode,
uint8_t * ppsSource,
uint8_t * reserved1,
uint8_t * reserved2,
uint8_t * reserved3 
)
-
- -

Parses a response from reading the GPS Configuration register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]modeThe register's Mode field.
[out]ppsSourceThe register's PpsSource field.
[out]reserved1The register's Reserved1 field.
[out]reserved2The register's Reserved2 field.
[out]reserved3The register's Reserved3 field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseGpsConfigurationRaw (char * packet,
uint8_t * mode,
uint8_t * ppsSource,
uint8_t * reserved1,
uint8_t * reserved2,
uint8_t * reserved3 
)
-
- -

Parses a response from reading the GPS Configuration register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]modeThe register's Mode field.
[out]ppsSourceThe register's PpsSource field.
[out]reserved1The register's Reserved1 field.
[out]reserved2The register's Reserved2 field.
[out]reserved3The register's Reserved3 field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseGpsSolutionEcef (VnUartPacketpacket,
double * tow,
uint16_t * week,
uint8_t * gpsFix,
uint8_t * numSats,
vec3dposition,
vec3fvelocity,
vec3fposAcc,
float * speedAcc,
float * timeAcc 
)
-
- -

Parses a response from reading the GPS Solution - ECEF register.

-
Parameters
- - - - - - - - - - - -
[in]packetThe associated packet.
[out]towThe register's Tow field.
[out]weekThe register's Week field.
[out]gpsFixThe register's GpsFix field.
[out]numSatsThe register's NumSats field.
[out]positionThe register's Position field.
[out]velocityThe register's Velocity field.
[out]posAccThe register's PosAcc field.
[out]speedAccThe register's SpeedAcc field.
[out]timeAccThe register's TimeAcc field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseGpsSolutionEcefRaw (char * packet,
double * tow,
uint16_t * week,
uint8_t * gpsFix,
uint8_t * numSats,
vec3dposition,
vec3fvelocity,
vec3fposAcc,
float * speedAcc,
float * timeAcc 
)
-
- -

Parses a response from reading the GPS Solution - ECEF register.

-
Parameters
- - - - - - - - - - - -
[in]packetThe associated packet.
[out]towThe register's Tow field.
[out]weekThe register's Week field.
[out]gpsFixThe register's GpsFix field.
[out]numSatsThe register's NumSats field.
[out]positionThe register's Position field.
[out]velocityThe register's Velocity field.
[out]posAccThe register's PosAcc field.
[out]speedAccThe register's SpeedAcc field.
[out]timeAccThe register's TimeAcc field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseGpsSolutionLla (VnUartPacketpacket,
double * time,
uint16_t * week,
uint8_t * gpsFix,
uint8_t * numSats,
vec3dlla,
vec3fnedVel,
vec3fnedAcc,
float * speedAcc,
float * timeAcc 
)
-
- -

Parses a response from reading the GPS Solution - LLA register.

-
Parameters
- - - - - - - - - - - -
[in]packetThe associated packet.
[out]timeThe register's Time field.
[out]weekThe register's Week field.
[out]gpsFixThe register's GpsFix field.
[out]numSatsThe register's NumSats field.
[out]llaThe register's Lla field.
[out]nedVelThe register's NedVel field.
[out]nedAccThe register's NedAcc field.
[out]speedAccThe register's SpeedAcc field.
[out]timeAccThe register's TimeAcc field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseGpsSolutionLlaRaw (char * packet,
double * time,
uint16_t * week,
uint8_t * gpsFix,
uint8_t * numSats,
vec3dlla,
vec3fnedVel,
vec3fnedAcc,
float * speedAcc,
float * timeAcc 
)
-
- -

Parses a response from reading the GPS Solution - LLA register.

-
Parameters
- - - - - - - - - - - -
[in]packetThe associated packet.
[out]timeThe register's Time field.
[out]weekThe register's Week field.
[out]gpsFixThe register's GpsFix field.
[out]numSatsThe register's NumSats field.
[out]llaThe register's Lla field.
[out]nedVelThe register's NedVel field.
[out]nedAccThe register's NedAcc field.
[out]speedAccThe register's SpeedAcc field.
[out]timeAccThe register's TimeAcc field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseGyroCompensation (VnUartPacketpacket,
mat3fc,
vec3fb 
)
-
- -

Parses a response from reading the Gyro Compensation register.

-
Parameters
- - - - -
[in]packetThe associated packet.
[out]cThe register's C field.
[out]bThe register's B field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseGyroCompensationRaw (char * packet,
mat3fc,
vec3fb 
)
-
- -

Parses a response from reading the Gyro Compensation register.

-
Parameters
- - - - -
[in]packetThe associated packet.
[out]cThe register's C field.
[out]bThe register's B field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseHardwareRevision (VnUartPacketpacket,
uint32_t * revision 
)
-
- -

Parses a response from reading the Hardware Revision register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]revisionThe register's Revision field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseHardwareRevisionRaw (char * packet,
uint32_t * revision 
)
-
- -

Parses a response from reading the Hardware Revision register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]revisionThe register's Revision field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseImuFilteringConfiguration (VnUartPacketpacket,
uint16_t * magWindowSize,
uint16_t * accelWindowSize,
uint16_t * gyroWindowSize,
uint16_t * tempWindowSize,
uint16_t * presWindowSize,
uint8_t * magFilterMode,
uint8_t * accelFilterMode,
uint8_t * gyroFilterMode,
uint8_t * tempFilterMode,
uint8_t * presFilterMode 
)
-
- -

Parses a response from reading the IMU Filtering Configuration register.

-
Parameters
- - - - - - - - - - - - -
[in]packetThe associated packet.
[out]magWindowSizeThe register's MagWindowSize field.
[out]accelWindowSizeThe register's AccelWindowSize field.
[out]gyroWindowSizeThe register's GyroWindowSize field.
[out]tempWindowSizeThe register's TempWindowSize field.
[out]presWindowSizeThe register's PresWindowSize field.
[out]magFilterModeThe register's MagFilterMode field.
[out]accelFilterModeThe register's AccelFilterMode field.
[out]gyroFilterModeThe register's GyroFilterMode field.
[out]tempFilterModeThe register's TempFilterMode field.
[out]presFilterModeThe register's PresFilterMode field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseImuFilteringConfigurationRaw (char * packet,
uint16_t * magWindowSize,
uint16_t * accelWindowSize,
uint16_t * gyroWindowSize,
uint16_t * tempWindowSize,
uint16_t * presWindowSize,
uint8_t * magFilterMode,
uint8_t * accelFilterMode,
uint8_t * gyroFilterMode,
uint8_t * tempFilterMode,
uint8_t * presFilterMode 
)
-
- -

Parses a response from reading the IMU Filtering Configuration register.

-
Parameters
- - - - - - - - - - - - -
[in]packetThe associated packet.
[out]magWindowSizeThe register's MagWindowSize field.
[out]accelWindowSizeThe register's AccelWindowSize field.
[out]gyroWindowSizeThe register's GyroWindowSize field.
[out]tempWindowSizeThe register's TempWindowSize field.
[out]presWindowSizeThe register's PresWindowSize field.
[out]magFilterModeThe register's MagFilterMode field.
[out]accelFilterModeThe register's AccelFilterMode field.
[out]gyroFilterModeThe register's GyroFilterMode field.
[out]tempFilterModeThe register's TempFilterMode field.
[out]presFilterModeThe register's PresFilterMode field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseImuMeasurements (VnUartPacketpacket,
vec3fmag,
vec3faccel,
vec3fgyro,
float * temp,
float * pressure 
)
-
- -

Parses a response from reading the IMU Measurements register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]magThe register's Mag field.
[out]accelThe register's Accel field.
[out]gyroThe register's Gyro field.
[out]tempThe register's Temp field.
[out]pressureThe register's Pressure field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseImuMeasurementsRaw (char * packet,
vec3fmag,
vec3faccel,
vec3fgyro,
float * temp,
float * pressure 
)
-
- -

Parses a response from reading the IMU Measurements register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]magThe register's Mag field.
[out]accelThe register's Accel field.
[out]gyroThe register's Gyro field.
[out]tempThe register's Temp field.
[out]pressureThe register's Pressure field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseImuRateConfiguration (VnUartPacketpacket,
uint16_t * imuRate,
uint16_t * navDivisor,
float * filterTargetRate,
float * filterMinRate 
)
-
- -

Parses a response from reading the IMU Rate Configuration register.

-
Parameters
- - - - - - -
[in]packetThe associated packet.
[out]imuRateThe register's imuRate field.
[out]navDivisorThe register's NavDivisor field.
[out]filterTargetRateThe register's filterTargetRate field.
[out]filterMinRateThe register's filterMinRate field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseImuRateConfigurationRaw (char * packet,
uint16_t * imuRate,
uint16_t * navDivisor,
float * filterTargetRate,
float * filterMinRate 
)
-
- -

Parses a response from reading the IMU Rate Configuration register.

-
Parameters
- - - - - - -
[in]packetThe associated packet.
[out]imuRateThe register's imuRate field.
[out]navDivisorThe register's NavDivisor field.
[out]filterTargetRateThe register's filterTargetRate field.
[out]filterMinRateThe register's filterMinRate field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseIndoorHeadingModeControl (VnUartPacketpacket,
float * maxRateError,
uint8_t * reserved1 
)
-
- -

Parses a response from reading the Indoor Heading Mode Control register.

-
Parameters
- - - - -
[in]packetThe associated packet.
[out]maxRateErrorThe register's Max Rate Error field.
[out]reserved1The register's Reserved1 field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseIndoorHeadingModeControlRaw (char * packet,
float * maxRateError,
uint8_t * reserved1 
)
-
- -

Parses a response from reading the Indoor Heading Mode Control register.

-
Parameters
- - - - -
[in]packetThe associated packet.
[out]maxRateErrorThe register's Max Rate Error field.
[out]reserved1The register's Reserved1 field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseInsAdvancedConfiguration (VnUartPacketpacket,
uint8_t * useMag,
uint8_t * usePres,
uint8_t * posAtt,
uint8_t * velAtt,
uint8_t * velBias,
uint8_t * useFoam,
uint8_t * gpsCovType,
uint8_t * velCount,
float * velInit,
float * moveOrigin,
float * gpsTimeout,
float * deltaLimitPos,
float * deltaLimitVel,
float * minPosUncertainty,
float * minVelUncertainty 
)
-
- -

Parses a response from reading the INS Advanced Configuration register.

-
Parameters
- - - - - - - - - - - - - - - - - -
[in]packetThe associated packet.
[out]useMagThe register's UseMag field.
[out]usePresThe register's UsePres field.
[out]posAttThe register's PosAtt field.
[out]velAttThe register's VelAtt field.
[out]velBiasThe register's VelBias field.
[out]useFoamThe register's UseFoam field.
[out]gpsCovTypeThe register's GPSCovType field.
[out]velCountThe register's VelCount field.
[out]velInitThe register's VelInit field.
[out]moveOriginThe register's MoveOrigin field.
[out]gpsTimeoutThe register's GPSTimeout field.
[out]deltaLimitPosThe register's DeltaLimitPos field.
[out]deltaLimitVelThe register's DeltaLimitVel field.
[out]minPosUncertaintyThe register's MinPosUncertainty field.
[out]minVelUncertaintyThe register's MinVelUncertainty field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseInsAdvancedConfigurationRaw (char * packet,
uint8_t * useMag,
uint8_t * usePres,
uint8_t * posAtt,
uint8_t * velAtt,
uint8_t * velBias,
uint8_t * useFoam,
uint8_t * gpsCovType,
uint8_t * velCount,
float * velInit,
float * moveOrigin,
float * gpsTimeout,
float * deltaLimitPos,
float * deltaLimitVel,
float * minPosUncertainty,
float * minVelUncertainty 
)
-
- -

Parses a response from reading the INS Advanced Configuration register.

-
Parameters
- - - - - - - - - - - - - - - - - -
[in]packetThe associated packet.
[out]useMagThe register's UseMag field.
[out]usePresThe register's UsePres field.
[out]posAttThe register's PosAtt field.
[out]velAttThe register's VelAtt field.
[out]velBiasThe register's VelBias field.
[out]useFoamThe register's UseFoam field.
[out]gpsCovTypeThe register's GPSCovType field.
[out]velCountThe register's VelCount field.
[out]velInitThe register's VelInit field.
[out]moveOriginThe register's MoveOrigin field.
[out]gpsTimeoutThe register's GPSTimeout field.
[out]deltaLimitPosThe register's DeltaLimitPos field.
[out]deltaLimitVelThe register's DeltaLimitVel field.
[out]minPosUncertaintyThe register's MinPosUncertainty field.
[out]minVelUncertaintyThe register's MinVelUncertainty field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseInsBasicConfiguration (VnUartPacketpacket,
uint8_t * scenario,
uint8_t * ahrsAiding,
uint8_t * estBaseline,
uint8_t * resv2 
)
-
- -

Parses a response from reading the INS Basic Configuration register.

-
Parameters
- - - - - - -
[in]packetThe associated packet.
[out]scenarioThe register's Scenario field.
[out]ahrsAidingThe register's AhrsAiding field.
[out]estBaselineThe register's EstBaseline field.
[out]resv2The register's Resv2 field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseInsBasicConfigurationRaw (char * packet,
uint8_t * scenario,
uint8_t * ahrsAiding,
uint8_t * estBaseline,
uint8_t * resv2 
)
-
- -

Parses a response from reading the INS Basic Configuration register.

-
Parameters
- - - - - - -
[in]packetThe associated packet.
[out]scenarioThe register's Scenario field.
[out]ahrsAidingThe register's AhrsAiding field.
[out]estBaselineThe register's EstBaseline field.
[out]resv2The register's Resv2 field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseInsSolutionEcef (VnUartPacketpacket,
double * time,
uint16_t * week,
uint16_t * status,
vec3fyawPitchRoll,
vec3dposition,
vec3fvelocity,
float * attUncertainty,
float * posUncertainty,
float * velUncertainty 
)
-
- -

Parses a response from reading the INS Solution - ECEF register.

-
Parameters
- - - - - - - - - - - -
[in]packetThe associated packet.
[out]timeThe register's Time field.
[out]weekThe register's Week field.
[out]statusThe register's Status field.
[out]yawPitchRollThe register's YawPitchRoll field.
[out]positionThe register's Position field.
[out]velocityThe register's Velocity field.
[out]attUncertaintyThe register's AttUncertainty field.
[out]posUncertaintyThe register's PosUncertainty field.
[out]velUncertaintyThe register's VelUncertainty field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseInsSolutionEcefRaw (char * packet,
double * time,
uint16_t * week,
uint16_t * status,
vec3fyawPitchRoll,
vec3dposition,
vec3fvelocity,
float * attUncertainty,
float * posUncertainty,
float * velUncertainty 
)
-
- -

Parses a response from reading the INS Solution - ECEF register.

-
Parameters
- - - - - - - - - - - -
[in]packetThe associated packet.
[out]timeThe register's Time field.
[out]weekThe register's Week field.
[out]statusThe register's Status field.
[out]yawPitchRollThe register's YawPitchRoll field.
[out]positionThe register's Position field.
[out]velocityThe register's Velocity field.
[out]attUncertaintyThe register's AttUncertainty field.
[out]posUncertaintyThe register's PosUncertainty field.
[out]velUncertaintyThe register's VelUncertainty field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseInsSolutionLla (VnUartPacketpacket,
double * time,
uint16_t * week,
uint16_t * status,
vec3fyawPitchRoll,
vec3dposition,
vec3fnedVel,
float * attUncertainty,
float * posUncertainty,
float * velUncertainty 
)
-
- -

Parses a response from reading the INS Solution - LLA register.

-
Parameters
- - - - - - - - - - - -
[in]packetThe associated packet.
[out]timeThe register's Time field.
[out]weekThe register's Week field.
[out]statusThe register's Status field.
[out]yawPitchRollThe register's YawPitchRoll field.
[out]positionThe register's Position field.
[out]nedVelThe register's NedVel field.
[out]attUncertaintyThe register's AttUncertainty field.
[out]posUncertaintyThe register's PosUncertainty field.
[out]velUncertaintyThe register's VelUncertainty field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseInsSolutionLlaRaw (char * packet,
double * time,
uint16_t * week,
uint16_t * status,
vec3fyawPitchRoll,
vec3dposition,
vec3fnedVel,
float * attUncertainty,
float * posUncertainty,
float * velUncertainty 
)
-
- -

Parses a response from reading the INS Solution - LLA register.

-
Parameters
- - - - - - - - - - - -
[in]packetThe associated packet.
[out]timeThe register's Time field.
[out]weekThe register's Week field.
[out]statusThe register's Status field.
[out]yawPitchRollThe register's YawPitchRoll field.
[out]positionThe register's Position field.
[out]nedVelThe register's NedVel field.
[out]attUncertaintyThe register's AttUncertainty field.
[out]posUncertaintyThe register's PosUncertainty field.
[out]velUncertaintyThe register's VelUncertainty field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseInsStateEcef (VnUartPacketpacket,
vec3fyawPitchRoll,
vec3dposition,
vec3fvelocity,
vec3faccel,
vec3fangularRate 
)
-
- -

Parses a response from reading the INS State - ECEF register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]yawPitchRollThe register's YawPitchRoll field.
[out]positionThe register's Position field.
[out]velocityThe register's Velocity field.
[out]accelThe register's Accel field.
[out]angularRateThe register's AngularRate field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseInsStateEcefRaw (char * packet,
vec3fyawPitchRoll,
vec3dposition,
vec3fvelocity,
vec3faccel,
vec3fangularRate 
)
-
- -

Parses a response from reading the INS State - ECEF register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]yawPitchRollThe register's YawPitchRoll field.
[out]positionThe register's Position field.
[out]velocityThe register's Velocity field.
[out]accelThe register's Accel field.
[out]angularRateThe register's AngularRate field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseInsStateLla (VnUartPacketpacket,
vec3fyawPitchRoll,
vec3dposition,
vec3fvelocity,
vec3faccel,
vec3fangularRate 
)
-
- -

Parses a response from reading the INS State - LLA register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]yawPitchRollThe register's YawPitchRoll field.
[out]positionThe register's Position field.
[out]velocityThe register's Velocity field.
[out]accelThe register's Accel field.
[out]angularRateThe register's AngularRate field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseInsStateLlaRaw (char * packet,
vec3fyawPitchRoll,
vec3dposition,
vec3fvelocity,
vec3faccel,
vec3fangularRate 
)
-
- -

Parses a response from reading the INS State - LLA register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]yawPitchRollThe register's YawPitchRoll field.
[out]positionThe register's Position field.
[out]velocityThe register's Velocity field.
[out]accelThe register's Accel field.
[out]angularRateThe register's AngularRate field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseMagneticAccelerationAndAngularRates (VnUartPacketpacket,
vec3fmag,
vec3faccel,
vec3fgyro 
)
-
- -

Parses a response from reading the Magnetic, Acceleration and Angular Rates register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]magThe register's Mag field.
[out]accelThe register's Accel field.
[out]gyroThe register's Gyro field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseMagneticAccelerationAndAngularRatesRaw (char * packet,
vec3fmag,
vec3faccel,
vec3fgyro 
)
-
- -

Parses a response from reading the Magnetic, Acceleration and Angular Rates register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]magThe register's Mag field.
[out]accelThe register's Accel field.
[out]gyroThe register's Gyro field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseMagneticAndGravityReferenceVectors (VnUartPacketpacket,
vec3fmagRef,
vec3faccRef 
)
-
- -

Parses a response from reading the Magnetic and Gravity Reference Vectors register.

-
Parameters
- - - - -
[in]packetThe associated packet.
[out]magRefThe register's MagRef field.
[out]accRefThe register's AccRef field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseMagneticAndGravityReferenceVectorsRaw (char * packet,
vec3fmagRef,
vec3faccRef 
)
-
- -

Parses a response from reading the Magnetic and Gravity Reference Vectors register.

-
Parameters
- - - - -
[in]packetThe associated packet.
[out]magRefThe register's MagRef field.
[out]accRefThe register's AccRef field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseMagneticMeasurements (VnUartPacketpacket,
vec3fmag 
)
-
- -

Parses a response from reading the Magnetic Measurements register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]magThe register's Mag field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseMagneticMeasurementsRaw (char * packet,
vec3fmag 
)
-
- -

Parses a response from reading the Magnetic Measurements register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]magThe register's Mag field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseMagnetometerCalibrationControl (VnUartPacketpacket,
uint8_t * hsiMode,
uint8_t * hsiOutput,
uint8_t * convergeRate 
)
-
- -

Parses a response from reading the Magnetometer Calibration Control register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]hsiModeThe register's HSIMode field.
[out]hsiOutputThe register's HSIOutput field.
[out]convergeRateThe register's ConvergeRate field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseMagnetometerCalibrationControlRaw (char * packet,
uint8_t * hsiMode,
uint8_t * hsiOutput,
uint8_t * convergeRate 
)
-
- -

Parses a response from reading the Magnetometer Calibration Control register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]hsiModeThe register's HSIMode field.
[out]hsiOutputThe register's HSIOutput field.
[out]convergeRateThe register's ConvergeRate field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseMagnetometerCompensation (VnUartPacketpacket,
mat3fc,
vec3fb 
)
-
- -

Parses a response from reading the Magnetometer Compensation register.

-
Parameters
- - - - -
[in]packetThe associated packet.
[out]cThe register's C field.
[out]bThe register's B field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseMagnetometerCompensationRaw (char * packet,
mat3fc,
vec3fb 
)
-
- -

Parses a response from reading the Magnetometer Compensation register.

-
Parameters
- - - - -
[in]packetThe associated packet.
[out]cThe register's C field.
[out]bThe register's B field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseModelNumber (VnUartPacketpacket,
char * productName 
)
-
- -

Parses a response from reading the Model Number register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]productNameThe register's Product Name field.
-
-
-
Examples:
getting_started/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseModelNumberRaw (char * packet,
char * productName 
)
-
- -

Parses a response from reading the Model Number register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]productNameThe register's Product Name field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRates (VnUartPacketpacket,
vec4fquat,
vec3fmag,
vec3faccel,
vec3fgyro 
)
-
- -

Parses a response from reading the Quaternion, Magnetic, Acceleration and Angular Rates register.

-
Parameters
- - - - - - -
[in]packetThe associated packet.
[out]quatThe register's Quat field.
[out]magThe register's Mag field.
[out]accelThe register's Accel field.
[out]gyroThe register's Gyro field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRatesRaw (char * packet,
vec4fquat,
vec3fmag,
vec3faccel,
vec3fgyro 
)
-
- -

Parses a response from reading the Quaternion, Magnetic, Acceleration and Angular Rates register.

-
Parameters
- - - - - - -
[in]packetThe associated packet.
[out]quatThe register's Quat field.
[out]magThe register's Mag field.
[out]accelThe register's Accel field.
[out]gyroThe register's Gyro field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseReferenceFrameRotation (VnUartPacketpacket,
mat3fc 
)
-
- -

Parses a response from reading the Reference Frame Rotation register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]cThe register's C field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseReferenceFrameRotationRaw (char * packet,
mat3fc 
)
-
- -

Parses a response from reading the Reference Frame Rotation register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]cThe register's C field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseReferenceVectorConfiguration (VnUartPacketpacket,
uint8_t * useMagModel,
uint8_t * useGravityModel,
uint8_t * resv1,
uint8_t * resv2,
uint32_t * recalcThreshold,
float * year,
vec3dposition 
)
-
- -

Parses a response from reading the Reference Vector Configuration register.

-
Parameters
- - - - - - - - - -
[in]packetThe associated packet.
[out]useMagModelThe register's UseMagModel field.
[out]useGravityModelThe register's UseGravityModel field.
[out]resv1The register's Resv1 field.
[out]resv2The register's Resv2 field.
[out]recalcThresholdThe register's RecalcThreshold field.
[out]yearThe register's Year field.
[out]positionThe register's Position field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseReferenceVectorConfigurationRaw (char * packet,
uint8_t * useMagModel,
uint8_t * useGravityModel,
uint8_t * resv1,
uint8_t * resv2,
uint32_t * recalcThreshold,
float * year,
vec3dposition 
)
-
- -

Parses a response from reading the Reference Vector Configuration register.

-
Parameters
- - - - - - - - - -
[in]packetThe associated packet.
[out]useMagModelThe register's UseMagModel field.
[out]useGravityModelThe register's UseGravityModel field.
[out]resv1The register's Resv1 field.
[out]resv2The register's Resv2 field.
[out]recalcThresholdThe register's RecalcThreshold field.
[out]yearThe register's Year field.
[out]positionThe register's Position field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseSerialBaudRate (VnUartPacketpacket,
uint32_t * baudrate 
)
-
- -

Parses a response from reading the Serial Baud Rate register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]baudrateThe register's Baud Rate field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseSerialBaudRateRaw (char * packet,
uint32_t * baudrate 
)
-
- -

Parses a response from reading the Serial Baud Rate register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]baudrateThe register's Baud Rate field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseSerialNumber (VnUartPacketpacket,
uint32_t * serialNum 
)
-
- -

Parses a response from reading the Serial Number register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]serialNumThe register's SerialNum field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseSerialNumberRaw (char * packet,
uint32_t * serialNum 
)
-
- -

Parses a response from reading the Serial Number register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]serialNumThe register's SerialNum field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseStartupFilterBiasEstimate (VnUartPacketpacket,
vec3fgyroBias,
vec3faccelBias,
float * pressureBias 
)
-
- -

Parses a response from reading the Startup Filter Bias Estimate register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]gyroBiasThe register's GyroBias field.
[out]accelBiasThe register's AccelBias field.
[out]pressureBiasThe register's PressureBias field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseStartupFilterBiasEstimateRaw (char * packet,
vec3fgyroBias,
vec3faccelBias,
float * pressureBias 
)
-
- -

Parses a response from reading the Startup Filter Bias Estimate register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]gyroBiasThe register's GyroBias field.
[out]accelBiasThe register's AccelBias field.
[out]pressureBiasThe register's PressureBias field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseSynchronizationControl (VnUartPacketpacket,
uint8_t * syncInMode,
uint8_t * syncInEdge,
uint16_t * syncInSkipFactor,
uint32_t * reserved1,
uint8_t * syncOutMode,
uint8_t * syncOutPolarity,
uint16_t * syncOutSkipFactor,
uint32_t * syncOutPulseWidth,
uint32_t * reserved2 
)
-
- -

Parses a response from reading the Synchronization Control register.

-
Parameters
- - - - - - - - - - - -
[in]packetThe associated packet.
[out]syncInModeThe register's SyncInMode field.
[out]syncInEdgeThe register's SyncInEdge field.
[out]syncInSkipFactorThe register's SyncInSkipFactor field.
[out]reserved1The register's RESERVED1 field.
[out]syncOutModeThe register's SyncOutMode field.
[out]syncOutPolarityThe register's SyncOutPolarity field.
[out]syncOutSkipFactorThe register's SyncOutSkipFactor field.
[out]syncOutPulseWidthThe register's SyncOutPulseWidth field.
[out]reserved2The register's RESERVED2 field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseSynchronizationControlRaw (char * packet,
uint8_t * syncInMode,
uint8_t * syncInEdge,
uint16_t * syncInSkipFactor,
uint32_t * reserved1,
uint8_t * syncOutMode,
uint8_t * syncOutPolarity,
uint16_t * syncOutSkipFactor,
uint32_t * syncOutPulseWidth,
uint32_t * reserved2 
)
-
- -

Parses a response from reading the Synchronization Control register.

-
Parameters
- - - - - - - - - - - -
[in]packetThe associated packet.
[out]syncInModeThe register's SyncInMode field.
[out]syncInEdgeThe register's SyncInEdge field.
[out]syncInSkipFactorThe register's SyncInSkipFactor field.
[out]reserved1The register's RESERVED1 field.
[out]syncOutModeThe register's SyncOutMode field.
[out]syncOutPolarityThe register's SyncOutPolarity field.
[out]syncOutSkipFactorThe register's SyncOutSkipFactor field.
[out]syncOutPulseWidthThe register's SyncOutPulseWidth field.
[out]reserved2The register's RESERVED2 field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseSynchronizationStatus (VnUartPacketpacket,
uint32_t * syncInCount,
uint32_t * syncInTime,
uint32_t * syncOutCount 
)
-
- -

Parses a response from reading the Synchronization Status register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]syncInCountThe register's SyncInCount field.
[out]syncInTimeThe register's SyncInTime field.
[out]syncOutCountThe register's SyncOutCount field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseSynchronizationStatusRaw (char * packet,
uint32_t * syncInCount,
uint32_t * syncInTime,
uint32_t * syncOutCount 
)
-
- -

Parses a response from reading the Synchronization Status register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]syncInCountThe register's SyncInCount field.
[out]syncInTimeThe register's SyncInTime field.
[out]syncOutCountThe register's SyncOutCount field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseUserTag (VnUartPacketpacket,
char * tag 
)
-
- -

Parses a response from reading the User Tag register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]tagThe register's Tag field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseUserTagRaw (char * packet,
char * tag 
)
-
- -

Parses a response from reading the User Tag register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]tagThe register's Tag field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVelocityCompensationControl (VnUartPacketpacket,
uint8_t * mode,
float * velocityTuning,
float * rateTuning 
)
-
- -

Parses a response from reading the Velocity Compensation Control register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]modeThe register's Mode field.
[out]velocityTuningThe register's VelocityTuning field.
[out]rateTuningThe register's RateTuning field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVelocityCompensationControlRaw (char * packet,
uint8_t * mode,
float * velocityTuning,
float * rateTuning 
)
-
- -

Parses a response from reading the Velocity Compensation Control register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]modeThe register's Mode field.
[out]velocityTuningThe register's VelocityTuning field.
[out]rateTuningThe register's RateTuning field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVelocityCompensationMeasurement (VnUartPacketpacket,
vec3fvelocity 
)
-
- -

Parses a response from reading the Velocity Compensation Measurement register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]velocityThe register's Velocity field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVelocityCompensationMeasurementRaw (char * packet,
vec3fvelocity 
)
-
- -

Parses a response from reading the Velocity Compensation Measurement register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]velocityThe register's Velocity field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVelocityCompensationStatus (VnUartPacketpacket,
float * x,
float * xDot,
vec3faccelOffset,
vec3fomega 
)
-
- -

Parses a response from reading the Velocity Compensation Status register.

-
Parameters
- - - - - - -
[in]packetThe associated packet.
[out]xThe register's x field.
[out]xDotThe register's xDot field.
[out]accelOffsetThe register's accelOffset field.
[out]omegaThe register's omega field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVelocityCompensationStatusRaw (char * packet,
float * x,
float * xDot,
vec3faccelOffset,
vec3fomega 
)
-
- -

Parses a response from reading the Velocity Compensation Status register.

-
Parameters
- - - - - - -
[in]packetThe associated packet.
[out]xThe register's x field.
[out]xDotThe register's xDot field.
[out]accelOffsetThe register's accelOffset field.
[out]omegaThe register's omega field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVpeAccelerometerAdvancedTuning (VnUartPacketpacket,
vec3fminFiltering,
vec3fmaxFiltering,
float * maxAdaptRate,
float * disturbanceWindow,
float * maxTuning 
)
-
- -

Parses a response from reading the VPE Accelerometer Advanced Tuning register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]minFilteringThe register's MinFiltering field.
[out]maxFilteringThe register's MaxFiltering field.
[out]maxAdaptRateThe register's MaxAdaptRate field.
[out]disturbanceWindowThe register's DisturbanceWindow field.
[out]maxTuningThe register's MaxTuning field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVpeAccelerometerAdvancedTuningRaw (char * packet,
vec3fminFiltering,
vec3fmaxFiltering,
float * maxAdaptRate,
float * disturbanceWindow,
float * maxTuning 
)
-
- -

Parses a response from reading the VPE Accelerometer Advanced Tuning register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]minFilteringThe register's MinFiltering field.
[out]maxFilteringThe register's MaxFiltering field.
[out]maxAdaptRateThe register's MaxAdaptRate field.
[out]disturbanceWindowThe register's DisturbanceWindow field.
[out]maxTuningThe register's MaxTuning field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVpeAccelerometerBasicTuning (VnUartPacketpacket,
vec3fbaseTuning,
vec3fadaptiveTuning,
vec3fadaptiveFiltering 
)
-
- -

Parses a response from reading the VPE Accelerometer Basic Tuning register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]baseTuningThe register's BaseTuning field.
[out]adaptiveTuningThe register's AdaptiveTuning field.
[out]adaptiveFilteringThe register's AdaptiveFiltering field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVpeAccelerometerBasicTuningRaw (char * packet,
vec3fbaseTuning,
vec3fadaptiveTuning,
vec3fadaptiveFiltering 
)
-
- -

Parses a response from reading the VPE Accelerometer Basic Tuning register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]baseTuningThe register's BaseTuning field.
[out]adaptiveTuningThe register's AdaptiveTuning field.
[out]adaptiveFilteringThe register's AdaptiveFiltering field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVpeBasicControl (VnUartPacketpacket,
uint8_t * enable,
uint8_t * headingMode,
uint8_t * filteringMode,
uint8_t * tuningMode 
)
-
- -

Parses a response from reading the VPE Basic Control register.

-
Parameters
- - - - - - -
[in]packetThe associated packet.
[out]enableThe register's Enable field.
[out]headingModeThe register's HeadingMode field.
[out]filteringModeThe register's FilteringMode field.
[out]tuningModeThe register's TuningMode field.
-
-
-
Examples:
getting_started/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVpeBasicControlRaw (char * packet,
uint8_t * enable,
uint8_t * headingMode,
uint8_t * filteringMode,
uint8_t * tuningMode 
)
-
- -

Parses a response from reading the VPE Basic Control register.

-
Parameters
- - - - - - -
[in]packetThe associated packet.
[out]enableThe register's Enable field.
[out]headingModeThe register's HeadingMode field.
[out]filteringModeThe register's FilteringMode field.
[out]tuningModeThe register's TuningMode field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVpeGyroBasicTuning (VnUartPacketpacket,
vec3fangularWalkVariance,
vec3fbaseTuning,
vec3fadaptiveTuning 
)
-
- -

Parses a response from reading the VPE Gyro Basic Tuning register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]angularWalkVarianceThe register's AngularWalkVariance field.
[out]baseTuningThe register's BaseTuning field.
[out]adaptiveTuningThe register's AdaptiveTuning field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVpeGyroBasicTuningRaw (char * packet,
vec3fangularWalkVariance,
vec3fbaseTuning,
vec3fadaptiveTuning 
)
-
- -

Parses a response from reading the VPE Gyro Basic Tuning register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]angularWalkVarianceThe register's AngularWalkVariance field.
[out]baseTuningThe register's BaseTuning field.
[out]adaptiveTuningThe register's AdaptiveTuning field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVpeMagnetometerAdvancedTuning (VnUartPacketpacket,
vec3fminFiltering,
vec3fmaxFiltering,
float * maxAdaptRate,
float * disturbanceWindow,
float * maxTuning 
)
-
- -

Parses a response from reading the VPE Magnetometer Advanced Tuning register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]minFilteringThe register's MinFiltering field.
[out]maxFilteringThe register's MaxFiltering field.
[out]maxAdaptRateThe register's MaxAdaptRate field.
[out]disturbanceWindowThe register's DisturbanceWindow field.
[out]maxTuningThe register's MaxTuning field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVpeMagnetometerAdvancedTuningRaw (char * packet,
vec3fminFiltering,
vec3fmaxFiltering,
float * maxAdaptRate,
float * disturbanceWindow,
float * maxTuning 
)
-
- -

Parses a response from reading the VPE Magnetometer Advanced Tuning register.

-
Parameters
- - - - - - - -
[in]packetThe associated packet.
[out]minFilteringThe register's MinFiltering field.
[out]maxFilteringThe register's MaxFiltering field.
[out]maxAdaptRateThe register's MaxAdaptRate field.
[out]disturbanceWindowThe register's DisturbanceWindow field.
[out]maxTuningThe register's MaxTuning field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVpeMagnetometerBasicTuning (VnUartPacketpacket,
vec3fbaseTuning,
vec3fadaptiveTuning,
vec3fadaptiveFiltering 
)
-
- -

Parses a response from reading the VPE Magnetometer Basic Tuning register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]baseTuningThe register's BaseTuning field.
[out]adaptiveTuningThe register's AdaptiveTuning field.
[out]adaptiveFilteringThe register's AdaptiveFiltering field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVpeMagnetometerBasicTuningRaw (char * packet,
vec3fbaseTuning,
vec3fadaptiveTuning,
vec3fadaptiveFiltering 
)
-
- -

Parses a response from reading the VPE Magnetometer Basic Tuning register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]baseTuningThe register's BaseTuning field.
[out]adaptiveTuningThe register's AdaptiveTuning field.
[out]adaptiveFilteringThe register's AdaptiveFiltering field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseYawPitchRoll (VnUartPacketpacket,
vec3fyawPitchRoll 
)
-
- -

Parses a response from reading the Yaw Pitch Roll register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]yawPitchRollThe register's YawPitchRoll field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRates (VnUartPacketpacket,
vec3fyawPitchRoll,
vec3fmag,
vec3faccel,
vec3fgyro 
)
-
- -

Parses a response from reading the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register.

-
Parameters
- - - - - - -
[in]packetThe associated packet.
[out]yawPitchRollThe register's YawPitchRoll field.
[out]magThe register's Mag field.
[out]accelThe register's Accel field.
[out]gyroThe register's Gyro field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRatesRaw (char * packet,
vec3fyawPitchRoll,
vec3fmag,
vec3faccel,
vec3fgyro 
)
-
- -

Parses a response from reading the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register.

-
Parameters
- - - - - - -
[in]packetThe associated packet.
[out]yawPitchRollThe register's YawPitchRoll field.
[out]magThe register's Mag field.
[out]accelThe register's Accel field.
[out]gyroThe register's Gyro field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseYawPitchRollRaw (char * packet,
vec3fyawPitchRoll 
)
-
- -

Parses a response from reading the Yaw Pitch Roll register.

-
Parameters
- - - -
[in]packetThe associated packet.
[out]yawPitchRollThe register's YawPitchRoll field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRates (VnUartPacketpacket,
vec3fyawPitchRoll,
vec3fbodyAccel,
vec3fgyro 
)
-
- -

Parses a response from reading the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]yawPitchRollThe register's YawPitchRoll field.
[out]bodyAccelThe register's BodyAccel field.
[out]gyroThe register's Gyro field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRatesRaw (char * packet,
vec3fyawPitchRoll,
vec3fbodyAccel,
vec3fgyro 
)
-
- -

Parses a response from reading the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]yawPitchRollThe register's YawPitchRoll field.
[out]bodyAccelThe register's BodyAccel field.
[out]gyroThe register's Gyro field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRates (VnUartPacketpacket,
vec3fyawPitchRoll,
vec3finertialAccel,
vec3fgyro 
)
-
- -

Parses a response from reading the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]yawPitchRollThe register's YawPitchRoll field.
[out]inertialAccelThe register's InertialAccel field.
[out]gyroThe register's Gyro field.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRatesRaw (char * packet,
vec3fyawPitchRoll,
vec3finertialAccel,
vec3fgyro 
)
-
- -

Parses a response from reading the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register.

-
Parameters
- - - - - -
[in]packetThe associated packet.
[out]yawPitchRollThe register's YawPitchRoll field.
[out]inertialAccelThe register's InertialAccel field.
[out]gyroThe register's Gyro field.
-
-
- -
-
-
- - - - diff --git a/vnproglib/c/help/group__uart_packet_ascii_async_parsers.html b/vnproglib/c/help/group__uart_packet_ascii_async_parsers.html deleted file mode 100644 index 6fef3b7..0000000 --- a/vnproglib/c/help/group__uart_packet_ascii_async_parsers.html +++ /dev/null @@ -1,1204 +0,0 @@ - - - - - - -VectorNav C Library: UART ASCII Asynchronous Packet Parsers - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
- -
-
UART ASCII Asynchronous Packet Parsers
-
-
- -

This group of functions allow parsing of ASCII asynchronous data packets from VectorNav sensors. -More...

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

void VnUartPacket_parseVNYPR (VnUartPacket *packet, vec3f *yawPitchRoll)
 Parses a VNYPR asynchronous packet. More...
 
void VnUartPacket_parseVNQTN (VnUartPacket *packet, vec4f *quaternion)
 Parses a VNQTN asynchronous packet. More...
 
void VnUartPacket_parseVNQMR (VnUartPacket *packet, vec4f *quaternion, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate)
 Parses a VNQMR asynchronous packet. More...
 
void VnUartPacket_parseVNMAG (VnUartPacket *packet, vec3f *magnetic)
 Parses a VNMAG asynchronous packet. More...
 
void VnUartPacket_parseVNACC (VnUartPacket *packet, vec3f *acceleration)
 Parses a VNACC asynchronous packet. More...
 
void VnUartPacket_parseVNGYR (VnUartPacket *packet, vec3f *angularRate)
 Parses a VNGYR asynchronous packet. More...
 
void VnUartPacket_parseVNMAR (VnUartPacket *packet, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate)
 Parses a VNMAR asynchronous packet. More...
 
VnError VnUartPacket_parseVNYMR (VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate)
 Parses a VNYMR asynchronous packet. More...
 
void VnUartPacket_parseVNYBA (VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *accelerationBody, vec3f *angularRate)
 Parses a VNYMR asynchronous packet. More...
 
void VnUartPacket_parseVNYIA (VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *accelerationInertial, vec3f *angularRate)
 Parses a VNYIA asynchronous packet. More...
 
void VnUartPacket_parseVNIMU (VnUartPacket *packet, vec3f *magneticUncompensated, vec3f *accelerationUncompensated, vec3f *angularRateUncompensated, float *temperature, float *pressure)
 Parses a VNIMU asynchronous packet. More...
 
void VnUartPacket_parseVNGPS (VnUartPacket *packet, double *time, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *lla, vec3f *nedVel, vec3f *nedAcc, float *speedAcc, float *timeAcc)
 Parses a VNGPS asynchronous packet. More...
 
void VnUartPacket_parseVNINS (VnUartPacket *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *lla, vec3f *nedVel, float *attUncertainty, float *posUncertainty, float *velUncertainty)
 Parses a VNINS asynchronous packet. More...
 
void VnUartPacket_parseVNINE (VnUartPacket *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, float *attUncertainty, float *posUncertainty, float *velUncertainty)
 Parses a VNINE asynchronous packet. More...
 
void VnUartPacket_parseVNISL (VnUartPacket *packet, vec3f *ypr, vec3d *lla, vec3f *velocity, vec3f *acceleration, vec3f *angularRate)
 Parse a VNISL asynchronous packet. More...
 
void VnUartPacket_parseVNISE (VnUartPacket *packet, vec3f *ypr, vec3d *position, vec3f *velocity, vec3f *acceleration, vec3f *angularRate)
 Parse a VNISE asynchronous packet. More...
 
void VnUartPacket_parseVNGPE (VnUartPacket *packet, double *tow, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *position, vec3f *velocity, vec3f *posAcc, float *speedAcc, float *timeAcc)
 Parses a VNGPE asynchronous packet. More...
 
void VnUartPacket_parseVNDTV (VnUartPacket *packet, float *deltaTime, vec3f *deltaTheta, vec3f *deltaVelocity)
 Parses a VNDTV asynchronous packet. More...
 
-

Detailed Description

-

This group of functions allow parsing of ASCII asynchronous data packets from VectorNav sensors.

-

The units are not specified for the out parameters since these functions do a simple conversion operation from the received packet string. Please consult the appropriate sensor user manual for details about the units returned by the sensor.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVNACC (VnUartPacketpacket,
vec3facceleration 
)
-
- -

Parses a VNACC asynchronous packet.

-
Parameters
- - - -
[in]packetThe packet to extract the values from.
[out]accelerationThe acceleration values in the packet.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVNDTV (VnUartPacketpacket,
float * deltaTime,
vec3fdeltaTheta,
vec3fdeltaVelocity 
)
-
- -

Parses a VNDTV asynchronous packet.

-
Parameters
- - - - - -
[in]packetThe packet to extract the values from.
[out]deltaTimeThe DeltaTime value in the packet.
[out]deltaThetaThe DeltaTheta values in the packet.
[out]deltaVelocityThe DeltaVelocity values in the packet.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVNGPE (VnUartPacketpacket,
double * tow,
uint16_t * week,
uint8_t * gpsFix,
uint8_t * numSats,
vec3dposition,
vec3fvelocity,
vec3fposAcc,
float * speedAcc,
float * timeAcc 
)
-
- -

Parses a VNGPE asynchronous packet.

-
Parameters
- - - - - - - - - - - -
[in]packetThe packet to extract the values from.
[out]towThe tow value in the packet.
[out]weekThe week value in the packet.
[out]gpsFixThe GPS fix value in the packet.
[out]numSatsThe numSats value in the packet.
[out]positionThe ECEF position values in the packet.
[out]velocityThe ECEF velocity values in the packet.
[out]posAccThe PosAcc values in the packet.
[out]speedAccThe SpeedAcc value in the packet.
[out]timeAccThe TimeAcc value in the packet.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVNGPS (VnUartPacketpacket,
double * time,
uint16_t * week,
uint8_t * gpsFix,
uint8_t * numSats,
vec3dlla,
vec3fnedVel,
vec3fnedAcc,
float * speedAcc,
float * timeAcc 
)
-
- -

Parses a VNGPS asynchronous packet.

-
Parameters
- - - - - - - - - - - -
[in]packetThe packet to extract the values from.
[out]timeThe time value in the packet.
[out]weekThe week value in the packet.
[out]gpsFixThe GPS fix value in the packet.
[out]numSatsThe NumSats value in the packet.
[out]llaThe latitude, longitude and altitude values in the packet.
[out]nedVelThe NED velocity values in the packet.
[out]nedAccThe NED position accuracy values in the packet.
[out]speedAccThe SpeedAcc value in the packet.
[out]timeAccThe TimeAcc value in the packet.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVNGYR (VnUartPacketpacket,
vec3fangularRate 
)
-
- -

Parses a VNGYR asynchronous packet.

-
Parameters
- - - -
[in]packetThe packet to extract the values from.
[out]angularRateThe angular rate values in the packet.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVNIMU (VnUartPacketpacket,
vec3fmagneticUncompensated,
vec3faccelerationUncompensated,
vec3fangularRateUncompensated,
float * temperature,
float * pressure 
)
-
- -

Parses a VNIMU asynchronous packet.

-
Parameters
- - - - - - - -
[in]packetThe packet to extract the values from.
[out]magneticUncompensatedThe uncompensated magnetic values in the packet.
[out]accelerationUncompensatedThe uncompensated acceleration values in the packet.
[out]angularRateUncompensatedThe uncompensated angular rate values in the packet.
[out]temperatureThe temperature value in the packet.
[out]pressureThe pressure value in the packet.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVNINE (VnUartPacketpacket,
double * time,
uint16_t * week,
uint16_t * status,
vec3fyawPitchRoll,
vec3dposition,
vec3fvelocity,
float * attUncertainty,
float * posUncertainty,
float * velUncertainty 
)
-
- -

Parses a VNINE asynchronous packet.

-
Parameters
- - - - - - - - - - - -
[in]packetThe packet to extract the values from.
[out]timeThe time value in the packet.
[out]weekThe week value in the packet.
[out]statusThe status value in the packet.
[out]yawPitchRollThe yaw, pitch, roll values in the packet.
[out]positionThe latitude, longitude, altitude values in the packet.
[out]velocityThe NED velocity values in the packet.
[out]attUncertaintyThe attitude uncertainty value in the packet.
[out]posUncertaintyThe position uncertainty value in the packet.
[out]velUncertaintyThe velocity uncertainty value in the packet.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVNINS (VnUartPacketpacket,
double * time,
uint16_t * week,
uint16_t * status,
vec3fyawPitchRoll,
vec3dlla,
vec3fnedVel,
float * attUncertainty,
float * posUncertainty,
float * velUncertainty 
)
-
- -

Parses a VNINS asynchronous packet.

-
Parameters
- - - - - - - - - - - -
[in]packetThe packet to extract the values from.
[out]timeThe time value in the packet.
[out]weekThe week value in the packet.
[out]statusThe status value in the packet.
[out]yawPitchRollThe yaw, pitch, roll values in the packet.
[out]llaThe latitude, longitude, altitude values in the packet.
[out]nedVelThe NED velocity values in the packet.
[out]attUncertaintyThe attitude uncertainty value in the packet.
[out]posUncertaintyThe position uncertainty value in the packet.
[out]velUncertaintyThe velocity uncertainty value in the packet.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVNISE (VnUartPacketpacket,
vec3fypr,
vec3dposition,
vec3fvelocity,
vec3facceleration,
vec3fangularRate 
)
-
- -

Parse a VNISE asynchronous packet.

-
Parameters
- - - - - - - -
[in]packetThe packet to extract the values from.
[out]yprThe yaw, pitch, roll values in the packet.
[out]positionThe ECEF position values in the packet.
[out]velocityThe ECEF velocity values in the packet.
[out]accelerationThe acceleration values in the packet.
[out]angularRateThe angular rate values in the packet.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVNISL (VnUartPacketpacket,
vec3fypr,
vec3dlla,
vec3fvelocity,
vec3facceleration,
vec3fangularRate 
)
-
- -

Parse a VNISL asynchronous packet.

-
Parameters
- - - - - - - -
[in]packetThe packet to extract the values from.
[out]yprThe yaw, pitch, roll values in the packet.
[out]llaThe latitude, longitude, altitude values in the packet.
[out]velocityThe velocity values in the packet.
[out]accelerationThe acceleration values in the packet.
[out]angularRateThe angular rate values in the packet.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVNMAG (VnUartPacketpacket,
vec3fmagnetic 
)
-
- -

Parses a VNMAG asynchronous packet.

-
Parameters
- - - -
[in]packetThe packet to extract the values from.
[out]magneticThe magnetic values in the packet.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVNMAR (VnUartPacketpacket,
vec3fmagnetic,
vec3facceleration,
vec3fangularRate 
)
-
- -

Parses a VNMAR asynchronous packet.

-
Parameters
- - - - - -
[in]packetThe packet to extract the values from.
[out]magneticThe magnetic values in the packet.
[out]accelerationThe acceleration values in the packet.
[out]angularRateThe angular rate values in the packet.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVNQMR (VnUartPacketpacket,
vec4fquaternion,
vec3fmagnetic,
vec3facceleration,
vec3fangularRate 
)
-
- -

Parses a VNQMR asynchronous packet.

-
Parameters
- - - - - - -
[in]packetThe packet to extract the values from.
[out]quaternionThe quaternion values in the packet.
[out]magneticThe magnetic values in the packet.
[out]accelerationThe acceleration values in the packet.
[out]angularRateThe angular rate values in the packet.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVNQTN (VnUartPacketpacket,
vec4fquaternion 
)
-
- -

Parses a VNQTN asynchronous packet.

-
Parameters
- - - -
[in]packetThe packet to extract the values from.
[out]quaternionThe quaternion values in the packet.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVNYBA (VnUartPacketpacket,
vec3fyawPitchRoll,
vec3faccelerationBody,
vec3fangularRate 
)
-
- -

Parses a VNYMR asynchronous packet.

-
Parameters
- - - - - - - - - - - -
[in]packetThe packet to extract the values from.
[in]packetLengthThe number of bytes in the packet buffer.
[out]yawPitchRollThe yaw, pitch, roll values in the packet.
[out]magneticThe magnetic values in the packet.
[out]accelerationThe acceleration values in the packet.
[out]angularRateThe angular rate values in the packet. Parses a VNYBA asynchronous packet.
[in]packetThe packet to extract the values from.
[out]yawPitchRollThe yaw, pitch, roll values in the packet.
[out]accelerationBodyThe acceleration body values in the packet.
[out]angularRateThe angular rate values in the packet.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVNYIA (VnUartPacketpacket,
vec3fyawPitchRoll,
vec3faccelerationInertial,
vec3fangularRate 
)
-
- -

Parses a VNYIA asynchronous packet.

-
Parameters
- - - - - -
[in]packetThe packet to extract the values from.
[out]yawPitchRollThe yaw, pitch, roll values in the packet.
[out]accelerationInertialThe acceleration inertial values in the packet.
[out]angularRateThe angular rate values in the packet.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnUartPacket_parseVNYMR (VnUartPacketpacket,
vec3fyawPitchRoll,
vec3fmagnetic,
vec3facceleration,
vec3fangularRate 
)
-
- -

Parses a VNYMR asynchronous packet.

-
Parameters
- - - - - - -
[in]packetThe packet to extract the values from.
[out]yawPitchRollThe yaw, pitch, roll values in the packet.
[out]magneticThe magnetic values in the packet.
[out]accelerationThe acceleration values in the packet.
[out]angularRateThe angular rate values in the packet.
-
-
-
Examples:
getting_started/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - -
void VnUartPacket_parseVNYPR (VnUartPacketpacket,
vec3fyawPitchRoll 
)
-
- -

Parses a VNYPR asynchronous packet.

-
Parameters
- - - -
[in]packetThe packet to extract the values from.
[out]yawPitchRollThe yaw, pitch, roll values in the packet.
-
-
-
Examples:
sensor/main.c.
-
-
-
-
- - - - diff --git a/vnproglib/c/help/group__uart_packet_binary_extractors.html b/vnproglib/c/help/group__uart_packet_binary_extractors.html deleted file mode 100644 index 868ad69..0000000 --- a/vnproglib/c/help/group__uart_packet_binary_extractors.html +++ /dev/null @@ -1,387 +0,0 @@ - - - - - - -VectorNav C Library: UART Binary Data Extractors - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
- -
-
UART Binary Data Extractors
-
-
- -

This group of methods are useful for extracting data from binary data packets. -More...

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

uint8_t VnUartPacket_extractUint8 (VnUartPacket *packet)
 Extracts a uint8_t data type from a binary packet and advances the next extraction point appropriately. More...
 
int8_t VnUartPacket_extractInt8 (VnUartPacket *packet)
 Extracts a int8_t data type from a binary packet and advances the next extraction point appropriately. More...
 
uint16_t VnUartPacket_extractUint16 (VnUartPacket *packet)
 Extracts a uint16_t data type from a binary packet and advances the next extraction point appropriately. More...
 
uint32_t VnUartPacket_extractUint32 (VnUartPacket *packet)
 Extracts a uint32_t data type from a binary packet and advances the next extraction point appropriately. More...
 
uint64_t VnUartPacket_extractUint64 (VnUartPacket *packet)
 Extracts a uint64_t data type from a binary packet and advances the next extraction point appropriately. More...
 
float VnUartPacket_extractFloat (VnUartPacket *packet)
 Extracts a float data type from a binary packet and advances the next extraction point appropriately. More...
 
vec3f VnUartPacket_extractVec3f (VnUartPacket *packet)
 Extracts a vec3f data type from a binary packet and advances the next extraction point appropriately. More...
 
vec3d VnUartPacket_extractVec3d (VnUartPacket *packet)
 Extracts a vec3d data type from a binary packet and advances the next extraction point appropriately. More...
 
vec4f VnUartPacket_extractVec4f (VnUartPacket *packet)
 Extracts a vec4f data type from a binary packet and advances the next extraction point appropriately. More...
 
mat3f VnUartPacket_extractMat3f (VnUartPacket *packet)
 Extracts a mat3f data type from a binary packet and advances the next extraction point appropriately. More...
 
-

Detailed Description

-

This group of methods are useful for extracting data from binary data packets.

-

Function Documentation

- -
-
- - - - - - - - -
float VnUartPacket_extractFloat (VnUartPacketpacket)
-
- -

Extracts a float data type from a binary packet and advances the next extraction point appropriately.

-
Parameters
- - -
[in]packetThe packet to extract the value from.
-
-
-
Returns
The extracted value.
- -
-
- -
-
- - - - - - - - -
int8_t VnUartPacket_extractInt8 (VnUartPacketpacket)
-
- -

Extracts a int8_t data type from a binary packet and advances the next extraction point appropriately.

-
Parameters
- - -
[in]packetThe packet to extract the value from.
-
-
-
Returns
The extracted value.
- -
-
- -
-
- - - - - - - - -
mat3f VnUartPacket_extractMat3f (VnUartPacketpacket)
-
- -

Extracts a mat3f data type from a binary packet and advances the next extraction point appropriately.

-
Parameters
- - -
[in]packetThe packet to extract the value from.
-
-
-
Returns
The extracted value.
- -
-
- -
-
- - - - - - - - -
uint16_t VnUartPacket_extractUint16 (VnUartPacketpacket)
-
- -

Extracts a uint16_t data type from a binary packet and advances the next extraction point appropriately.

-
Parameters
- - -
[in]packetThe packet to extract the value from.
-
-
-
Returns
The extracted value.
- -
-
- -
-
- - - - - - - - -
uint32_t VnUartPacket_extractUint32 (VnUartPacketpacket)
-
- -

Extracts a uint32_t data type from a binary packet and advances the next extraction point appropriately.

-
Parameters
- - -
[in]packetThe packet to extract the value from.
-
-
-
Returns
The extracted value.
- -
-
- -
-
- - - - - - - - -
uint64_t VnUartPacket_extractUint64 (VnUartPacketpacket)
-
- -

Extracts a uint64_t data type from a binary packet and advances the next extraction point appropriately.

-
Parameters
- - -
[in]packetThe packet to extract the value from.
-
-
-
Returns
The extracted value.
-
Examples:
getting_started/main.c, and sensor/main.c.
-
-
-
- -
-
- - - - - - - - -
uint8_t VnUartPacket_extractUint8 (VnUartPacketpacket)
-
- -

Extracts a uint8_t data type from a binary packet and advances the next extraction point appropriately.

-
Parameters
- - -
[in]packetThe packet to extract the value from.
-
-
-
Returns
The extracted value.
- -
-
- -
-
- - - - - - - - -
vec3d VnUartPacket_extractVec3d (VnUartPacketpacket)
-
- -

Extracts a vec3d data type from a binary packet and advances the next extraction point appropriately.

-
Parameters
- - -
[in]packetThe packet to extract the value from.
-
-
-
Returns
The extracted value.
- -
-
- -
-
- - - - - - - - -
vec3f VnUartPacket_extractVec3f (VnUartPacketpacket)
-
- -

Extracts a vec3f data type from a binary packet and advances the next extraction point appropriately.

-
Parameters
- - -
[in]packetThe packet to extract the value from.
-
-
-
Returns
The extracted value.
-
Examples:
getting_started/main.c, and sensor/main.c.
-
-
-
- -
-
- - - - - - - - -
vec4f VnUartPacket_extractVec4f (VnUartPacketpacket)
-
- -

Extracts a vec4f data type from a binary packet and advances the next extraction point appropriately.

-
Parameters
- - -
[in]packetThe packet to extract the value from.
-
-
-
Returns
The extracted value.
- -
-
-
- - - - diff --git a/vnproglib/c/help/index.html b/vnproglib/c/help/index.html deleted file mode 100644 index 06ef1cf..0000000 --- a/vnproglib/c/help/index.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - -VectorNav C Library: VectorNav C Library - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
-
-
VectorNav C Library
-
-
-

The VectorNav C Library (libvnc) is geared towards development for embedded systems and provides access to VectorNav's line of sensor products.

-

The library is divided into core and extended sections. The core section minimizes required environment support (i.e. no operating system is required) and only requires a C89/C90 compatible C compiler with standard libraries. Because of this environment minimization, some grunt work may be needed to integrate the library in your application. For example, if you wish to use the core section to parse and generate commands for communicating with a VectorNav sensor, you will be required to implement the necessary UART or SPI handling code for your platform, and this code will mainly be concerned with relaying byte arrays between the UART/SPI code with the VectorNav C Library protocol handling code. However, if your development environment contains an operating system (Windows/Linux/Mac), you may be interested in using the extended section of the library. The extended section builds upon the core section but provides a more convenient access to VectorNav's sensors.

-

-Examples

-

To get started, we recommend first going through the Getting Started example below to get comfortable with structuring a program to communication with a sensor using the core section of the library. After finishing this, the other examples listed are useful areas to jump into.

- -

-Resources

-

The items listed below are useful resources regarding the VectorNav C Library.

- -
- - - - diff --git a/vnproglib/c/help/int_8h_source.html b/vnproglib/c/help/int_8h_source.html deleted file mode 100644 index 1133b8a..0000000 --- a/vnproglib/c/help/int_8h_source.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -VectorNav C Library: int.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
int.h
-
-
-
1 #ifndef VNINT_H_INCLUDED
-
2 #define VNINT_H_INCLUDED
-
3 
-
4 #ifdef _WIN32
-
5 #pragma warning(push)
-
6 #pragma warning(disable : 4820)
-
7 #pragma warning(disable : 4255)
-
8 #endif
-
9 
-
10 /* Visual Studio 2008 and earlier do not include the stdint.h header file. */
-
11 #if defined(_MSC_VER) && _MSC_VER <= 1500
-
12  typedef signed __int8 int8_t;
-
13  typedef signed __int16 int16_t;
-
14  typedef signed __int32 int32_t;
-
15  typedef signed __int64 int64_t;
-
16  typedef unsigned __int8 uint8_t;
-
17  typedef unsigned __int16 uint16_t;
-
18  typedef unsigned __int32 uint32_t;
-
19  typedef unsigned __int64 uint64_t;
-
20 #else
-
21  /* Just include the standard header file for integer types. */
-
22  #include <stdint.h>
-
23 #endif
-
24 
-
25 #ifdef _WIN32
-
26 #pragma warning(pop)
-
27 #endif
-
28 
-
29 #endif
-
- - - - diff --git a/vnproglib/c/help/jquery.js b/vnproglib/c/help/jquery.js deleted file mode 100644 index d902f54..0000000 --- a/vnproglib/c/help/jquery.js +++ /dev/null @@ -1,68 +0,0 @@ -/*! - * jQuery JavaScript Library v1.7.1 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Mon Nov 21 21:11:03 2011 -0500 - */ -(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); -/*! - * Sizzle CSS Selector Engine - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! - * jQuery UI 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI - */ -(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! - * jQuery UI Widget 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Widget - */ -(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! - * jQuery UI Mouse 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Mouse - * - * Depends: - * jquery.ui.widget.js - */ -(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! - * jQuery hashchange event - v1.3 - 7/21/2010 - * http://benalman.com/projects/jquery-hashchange-plugin/ - * - * Copyright (c) 2010 "Cowboy" Ben Alman - * Dual licensed under the MIT and GPL licenses. - * http://benalman.com/about/license/ - */ -(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' - - - -
-
-
Known Issues
-
-
-

Below is a list of the known issues for the VectorNav C Library.

- -

-Wireless and Other Unreliable Communication Channel Issues

-

When using the VnSensor object for high-level communication with a VectorNav sensor, issues may arise with communication over a wireless or other wireless communication device. Many of these issues arise because some of the data that is transmitted may be corrupted or lost and will not be recognized by the VectorNav sensor or the VnSensor code. As a result, often times a request to read a register from the sensor (e.g. VnSensor_readModelNumber) will return with an error E_TIMEOUT. To better understand why this problem arises and how possible solutions to this issue work, it is useful to know more about how the VnSensor code handles communication with the VectorNav sensor.

-

The VnSensor code enters into a special mode when a request to read a register is made or when a write register request is made with the option to waitForReply is set to true (e.g. VnSensor_writeAsyncDataOutputFrequency). When these type of requests are made, the VnSensor code must receive a response from the sensor to either get/parse the register value returned or to verify the values were written to the sensor. Associated with the waiting is a responseTimeout value which tells the code how long to wait before it gives up waiting on a response, default value is 500 milliseconds. In this event, the VnSensor code will return the error E_TIMEOUT to indicate this event. Additionally, while the VnSensor code is waiting for a response from the sensor, it will periodically retransmit the original command in case the first one sent got corrupted or lost. This value is controlled by a retransmitDelay value which tells the VnSensor code how long to wait before retransmitting again. The default value of this is 100 milliseconds.

-

Now normally the default responseTimeout and retransmitDelays are sufficient for communication channels that are largely reliable such as connecting over a serial port or using a USB to serial converter cable. In this scenario, most communication will consist of a single command transmitted to the sensor and the sensor will then respond and be received by the VnSensor code. The default values allow for the occasional blip in the data transmission. However, when the communication channel is not as reliable and there is an increased chance of data dropping or becoming corrupted (e.g. wireless or long serial cable lengths), these default values will result in an increased chance that the communication with the sensor will not be completed, resulting in a greater chance of receiving the error E_TIMEOUT. The best solution is to increase the reliability of the communication channel but if this is not an option, then adjusting the responseTimeout and retransmitDelays may result in acceptable interaction with the sensor.

-

In such a scenario and with the default values, the VnSensor code will only wait for 0.5 seconds and will send out the command a total of ~5 times before failing. If we can increase the number of retransmits, we increase the odds that a successful communication interaction is completed. As an example we have experienced in-house, using a Digi International XBee 802.15.4 non-PRO version communication module configured for 115200 baud communication, we had trouble with the VnSensor's default values for communication with the sensor on a single desk. However, we were able to adjust these values and get acceptable performance for a single data collection task. For our scenario, we configured the responseTimeout to 10 seconds and configured the retransmitDelay to 20 milliseconds. This configuration would allow sending out the command ~500 times before failing. With this configuration, we found that our register writes would complete generally between 100 ms to 1,000 ms.

-

Now although we were able to get a solution working for our specific setup and needs, your application may require different configuration values. Hopefully this explanation will guide your experimentation with finding appropriate values that work for your application. Your can configure the VnSensor code to use your custom values by calling the methods VnSensor_setResponseTimeoutMs and VnSensor_setRetransmitDelayMs.

-
- - - - diff --git a/vnproglib/c/help/matrix_8h_source.html b/vnproglib/c/help/matrix_8h_source.html deleted file mode 100644 index 4b74974..0000000 --- a/vnproglib/c/help/matrix_8h_source.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - -VectorNav C Library: matrix.h Source File - - - - - - - - - - -
-
-
- - - - - - -
-
VectorNav C Library -
-
- - - - - - - -
-
- - -
- -
- - - -
-
-
matrix.h
-
-
-
1 #ifndef VN_MATRIX_H_INCLUDED
-
2 #define VN_MATRIX_H_INCLUDED
-
3 
-
4 #include "vn/util/compiler.h"
-
5 
-
6 #ifdef __cplusplus
-
7 extern "C" {
-
8 #endif
-
9 
-
11 typedef union
-
12 {
-
13  float e[3*3];
-
15  /* Check if the compiler supports anonymous unions. */
-
16  #if defined(__STDC_VERSION___) && (__STDC_VERSION__ >= 201112L) && defined(__GNUC__)
-
17 
-
18  struct
-
19  {
-
20  float e00;
-
21  float e10;
-
22  float e20;
-
23  float e01;
-
24  float e11;
-
25  float e21;
-
26  float e02;
-
27  float e12;
-
28  float e22;
-
29  };
-
30 
-
31  #endif
-
32 
-
33 } mat3f;
-
34 
-
36 typedef union
-
37 {
-
38  float c[4];
-
40  /* Check if the compiler supports anonymous unions. */
-
41  #if defined(__STDC_VERSION___) && (__STDC_VERSION__ >= 201112L) && defined(__GNUC__)
-
42 
-
43  struct
-
44  {
-
45  float x;
-
46  float y;
-
47  float z;
-
48  float w;
-
49  };
-
50 
-
51  struct
-
52  {
-
53  float c0;
-
54  float c1;
-
55  float c2;
-
56  float c3;
-
57  };
-
58 
-
59  #endif
-
60 
-
61 } quatf;
-
62 
-
68 void vn_m3_init_fa(mat3f* m, const float* fa);
-
69 
-
75 void strFromMat3f(char* out, mat3f m);
-
76 
-
80 mat3f vnm_negative_mat3f(mat3f m);
-
81 
-
82 #ifdef __cplusplus
-
83 }
-
84 #endif
-
85 
-
86 #endif
-
87 
-
Represents a 3x3 matrix with an underlying data type of float.
Definition: matrix.h:11
-
Represents a quaternion reading with underlying data type of float.
Definition: matrix.h:36
-
- - - - diff --git a/vnproglib/c/help/modules.html b/vnproglib/c/help/modules.html deleted file mode 100644 index 218b5b9..0000000 --- a/vnproglib/c/help/modules.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - -VectorNav C Library: Modules - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
-
-
Modules
-
-
-
Here is a list of all modules:
- - - - - - - - - - - -
 SPI Generate Read FunctionsThis set of functions will generate command strings for reading registers on VectorNav sensors using the SPI protocol
 SPI Generate Write FunctionsThis set of functions will generate command strings for writing to registers on VectorNav sensors using the SPI protocol
 UART Binary Data ExtractorsThis group of methods are useful for extracting data from binary data packets
 UART ASCII Asynchronous Packet ParsersThis group of functions allow parsing of ASCII asynchronous data packets from VectorNav sensors
 UART Generate Read FunctionsThis set of functions will generate command strings for reading registers on VectorNav sensors
 UART Generate Write FunctionsThis set of functions will generate command strings for writing to VectorNav sensor registers
 Register StructuresThese structures represent the various registers on a VecotorNav sensor
 Register Access MethodsThis group of methods provide access to read and write to the sensor's registers
 Byte Ordering FunctionsThis group of functions are useful for ordering of bytes sent/received from VectorNav sensors
 Sensor Value ExtractorsThis group of methods is useful for extracting data from binary data received from a VectorNav sensor either from a UART binary or a SPI packet. Any necessary byte ordering will be performed
-
-
- - - - diff --git a/vnproglib/c/help/nav_f.png b/vnproglib/c/help/nav_f.png deleted file mode 100644 index 72a58a529ed3a9ed6aa0c51a79cf207e026deee2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_z8U diff --git a/vnproglib/c/help/nav_g.png b/vnproglib/c/help/nav_g.png deleted file mode 100644 index 2093a237a94f6c83e19ec6e5fd42f7ddabdafa81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KF$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&vFVdQ&MBb@0HFXL1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM - - - - - -VectorNav C Library: Related Pages - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
-
-
Related Pages
-
-
-
Here is a list of all related documentation pages:
-
- - - - diff --git a/vnproglib/c/help/port_8h_source.html b/vnproglib/c/help/port_8h_source.html deleted file mode 100644 index 633e243..0000000 --- a/vnproglib/c/help/port_8h_source.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - -VectorNav C Library: port.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
port.h
-
-
-
1 #ifndef VNPORT_H_INCLUDED
-
2 #define VNPORT_H_INCLUDED
-
3 
-
7 #ifdef _MSC_VER
-
8  #if VN_LINKED_AS_SHARED_LIBRARY
-
9  #define VNAPI __declspec(dllimport)
-
10  #elif VN_CREATE_SHARED_LIBRARY
-
11  #define VNAPI __declspec(dllexport)
-
12  #endif
-
13 #endif
-
14 
-
15 #ifndef VNAPI
-
16  #define VNAPI
-
17 #endif
-
18 
-
19 #endif
-
- - - - diff --git a/vnproglib/c/help/proglib.png b/vnproglib/c/help/proglib.png deleted file mode 100644 index fae0fa830eaa2c7f471ce723680fba9102a90650..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1396 zcmV-)1&jKLP)u!;hT!GmZ#7!67g^+15l>S2wU*~mn3H)0UvqQ*o>)Po`r-E|b0fCuGg zg5!`N0;_Bs6a}I?5nMIFPukR!)z#Ha&!AQ~R98>G_tpEW?-e1Vqob3)r!htCMV-rC z-}b=!auD;GGp6UHr^POqXIPDIc;xuSD@0nt;+QR~SIwLrrWa6d$r%8mS7PT!1Olkm z<-T_39=+R&Th7w_eM*^<@?&g;L8Cdk8yfH@wh*)89T?0#bw=Al__EyLB#*Fa+}I`( z;ufhX8|r;hmXd^twY$d@8O8lgvSn#YXP58Iuy&U#L_o+q<^$iY@`QrK7QG97nmf(>)Vk75q_s<6;XQuK??r11Eg#cpW35(*d z;6A}y$#5o*yn5xZ7bw@Uh*yTi8V97NSPkgJ0usAM>B=?5y6kY#06f5Ce6XEzIusMTCh%W zVgEeqhv~2i>wz~WuQ1DX`BHXPZ&Oor;#yNwlrojtYifM`&;4kuwk4a>IbGhLf3(+B z({hmQc_sd?1D-jZzaL5^ImBQ+#0`yIE)Qf+4*Loc@CO40pdX54=m4iUYftyG(guvaEx{hBM)2UQ% zbGI`thg^Y?5a4R&VRizs*XtYUmQA%%11!leQ(F_mP?e%dB<0lB=hW4ynMWDmjTGBV zT45F)u5zCm_Qto+)2c^0aU8b<$PQAjLpW57gMP%{bE;7sRDqySIii9&G&z7wFZxXV zeQJV`FFLy%@eKr2K#?vB#ou*`+cC{nP+Td*idaAkIz4LM9hZ?bFKFaQjqLP@071=% z8&!sTRs(HNw5OHXn`EpDhSw0?+#e(G&u`nRvk{o`?tf-)A>`5%DSF~Z%Qv~`JlN_Y z1VIY0jS9-3RZHW#Ynq@zx4EBP2C`!KdLSqRh2GlTQj5f2dIAQFp0W%R_#c2*~)i*p0E=u2^CoNyf z76N5YiPMgBlbDb>NS$FcXmJ>-K56XQImKeuKFf~o&Ct_zjB9uYhLnrPvN?(*?k#C; zksY*>_z0f`@{bOg7Shttg`xpUR+xtq)Zcu36kq`8GMJ_Ck#Tnb0000 - - - - - -VectorNav C Library: Requirements - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - -
-
- - -
- -
- -
-
-
-
Requirements
-
-
-

Below is a list of the requirements for using the VectorNav C Library.

-

-Requirements

-
    -
  • C89/C90/ANSI C compatible C compiler with standard libraries
  • -
  • Windows, Linux or Mac OS X for high level library functions
  • -
-
- - - - diff --git a/vnproglib/c/help/search/all_0.html b/vnproglib/c/help/search/all_0.html deleted file mode 100644 index b27e4aa..0000000 --- a/vnproglib/c/help/search/all_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_0.js b/vnproglib/c/help/search/all_0.js deleted file mode 100644 index a3ba7c6..0000000 --- a/vnproglib/c/help/search/all_0.js +++ /dev/null @@ -1,36 +0,0 @@ -var searchData= -[ - ['accel',['accel',['../struct_quaternion_magnetic_acceleration_and_angular_rates_register.html#abc4f9f3b3459f809b15eeffb87fc06e1',1,'QuaternionMagneticAccelerationAndAngularRatesRegister::accel()'],['../struct_magnetic_acceleration_and_angular_rates_register.html#abc4f9f3b3459f809b15eeffb87fc06e1',1,'MagneticAccelerationAndAngularRatesRegister::accel()'],['../struct_yaw_pitch_roll_magnetic_acceleration_and_angular_rates_register.html#abc4f9f3b3459f809b15eeffb87fc06e1',1,'YawPitchRollMagneticAccelerationAndAngularRatesRegister::accel()'],['../struct_imu_measurements_register.html#abc4f9f3b3459f809b15eeffb87fc06e1',1,'ImuMeasurementsRegister::accel()'],['../struct_ins_state_lla_register.html#abc4f9f3b3459f809b15eeffb87fc06e1',1,'InsStateLlaRegister::accel()'],['../struct_ins_state_ecef_register.html#abc4f9f3b3459f809b15eeffb87fc06e1',1,'InsStateEcefRegister::accel()']]], - ['accelbias',['accelBias',['../struct_startup_filter_bias_estimate_register.html#a38422443b6922786c508aae9b65d458d',1,'StartupFilterBiasEstimateRegister']]], - ['accelcompensation',['accelCompensation',['../struct_delta_theta_and_delta_velocity_configuration_register.html#aa3bd1cfb307c639c1a73c995f8e34319',1,'DeltaThetaAndDeltaVelocityConfigurationRegister']]], - ['acceleration',['acceleration',['../struct_vn_composite_data.html#a7dcdfb3d2836d604b6055db3524fb850',1,'VnCompositeData']]], - ['accelerationcompensationregister',['AccelerationCompensationRegister',['../struct_acceleration_compensation_register.html',1,'']]], - ['accelerationdisturbancegain',['accelerationDisturbanceGain',['../struct_filter_active_tuning_parameters_register.html#a0e15cdf9e46a08507d0bdebd0a8affdf',1,'FilterActiveTuningParametersRegister']]], - ['accelerationdisturbancememory',['accelerationDisturbanceMemory',['../struct_filter_active_tuning_parameters_register.html#aac89bb3b23120fe73e0f2bd11d196915',1,'FilterActiveTuningParametersRegister']]], - ['accelerationecef',['accelerationEcef',['../struct_vn_composite_data.html#aba3fc13f8d0796478158e2a8db6201b9',1,'VnCompositeData']]], - ['accelerationlinearbody',['accelerationLinearBody',['../struct_vn_composite_data.html#a3bc388595b56a1897d8fe4bdcc4a3d9c',1,'VnCompositeData']]], - ['accelerationlinearecef',['accelerationLinearEcef',['../struct_vn_composite_data.html#a9f351b92299dbf4bf9312df4127c5d8a',1,'VnCompositeData']]], - ['accelerationlinearned',['accelerationLinearNed',['../struct_vn_composite_data.html#a1569cf62df6e6cff41030f1a17a4efcd',1,'VnCompositeData']]], - ['accelerationned',['accelerationNed',['../struct_vn_composite_data.html#a9fc34b4d3b6709417f66ea1f6677da3f',1,'VnCompositeData']]], - ['accelerationuncompensated',['accelerationUncompensated',['../struct_vn_composite_data.html#a7523ff430976aaf730790e36879f0c5b',1,'VnCompositeData']]], - ['accelerationvariance',['accelerationVariance',['../struct_filter_measurements_variance_parameters_register.html#a0ed663ce7d38fe72f44296b9a90d2e2a',1,'FilterMeasurementsVarianceParametersRegister']]], - ['accelfiltermode',['accelFilterMode',['../struct_imu_filtering_configuration_register.html#ab28991dad5023fe893aa6e57977da2a8',1,'ImuFilteringConfigurationRegister']]], - ['acceloffset',['accelOffset',['../struct_velocity_compensation_status_register.html#a3884a20934f3cc8bb5e2854f3dfb9fec',1,'VelocityCompensationStatusRegister']]], - ['accelwindowsize',['accelWindowSize',['../struct_imu_filtering_configuration_register.html#aafe0c00a97e26dfd94c983b4757159c4',1,'ImuFilteringConfigurationRegister']]], - ['accref',['accRef',['../struct_magnetic_and_gravity_reference_vectors_register.html#a899562cfdbf9f3ef2de38cf1ecd3faa5',1,'MagneticAndGravityReferenceVectorsRegister']]], - ['adaptivefiltering',['adaptiveFiltering',['../struct_vpe_magnetometer_basic_tuning_register.html#a3f98c37b8865782d51938f51891cc069',1,'VpeMagnetometerBasicTuningRegister::adaptiveFiltering()'],['../struct_vpe_accelerometer_basic_tuning_register.html#a3f98c37b8865782d51938f51891cc069',1,'VpeAccelerometerBasicTuningRegister::adaptiveFiltering()']]], - ['adaptivetuning',['adaptiveTuning',['../struct_vpe_magnetometer_basic_tuning_register.html#a942915ac415d5b8ca875551ffdb01610',1,'VpeMagnetometerBasicTuningRegister::adaptiveTuning()'],['../struct_vpe_accelerometer_basic_tuning_register.html#a942915ac415d5b8ca875551ffdb01610',1,'VpeAccelerometerBasicTuningRegister::adaptiveTuning()'],['../struct_vpe_gyro_basic_tuning_register.html#a942915ac415d5b8ca875551ffdb01610',1,'VpeGyroBasicTuningRegister::adaptiveTuning()']]], - ['ahrsaiding',['ahrsAiding',['../struct_ins_basic_configuration_register_vn200.html#ad84b6e71d767d5889cd6dd030a27eb4d',1,'InsBasicConfigurationRegisterVn200::ahrsAiding()'],['../struct_ins_basic_configuration_register_vn300.html#ad84b6e71d767d5889cd6dd030a27eb4d',1,'InsBasicConfigurationRegisterVn300::ahrsAiding()']]], - ['angularrate',['angularRate',['../struct_vn_composite_data.html#a9e93db1b514e2592c5098b1f3b207d22',1,'VnCompositeData::angularRate()'],['../struct_ins_state_lla_register.html#a9e93db1b514e2592c5098b1f3b207d22',1,'InsStateLlaRegister::angularRate()'],['../struct_ins_state_ecef_register.html#a9e93db1b514e2592c5098b1f3b207d22',1,'InsStateEcefRegister::angularRate()']]], - ['angularrateuncompensated',['angularRateUncompensated',['../struct_vn_composite_data.html#a9316ec9da5875c4e17ce1ec3743a0803',1,'VnCompositeData']]], - ['angularratevariance',['angularRateVariance',['../struct_filter_measurements_variance_parameters_register.html#a25e2164ad6ed1948ef4439264f213dcd',1,'FilterMeasurementsVarianceParametersRegister']]], - ['angularwalkvariance',['angularWalkVariance',['../struct_filter_measurements_variance_parameters_register.html#ade0de62399c7342b79ea3a3dd5972cc3',1,'FilterMeasurementsVarianceParametersRegister::angularWalkVariance()'],['../struct_vpe_gyro_basic_tuning_register.html#af135ad8f84c3030a707df94b5e4f41f5',1,'VpeGyroBasicTuningRegister::angularWalkVariance()']]], - ['asciicurrentlybuildingpacket',['asciiCurrentlyBuildingPacket',['../struct_vn_uart_packet_finder.html#a10f9917d1108cd05b39f3f23d28c06a6',1,'VnUartPacketFinder']]], - ['asciiendchar1found',['asciiEndChar1Found',['../struct_vn_uart_packet_finder.html#af5542b412b165a717a038d26e8269f7e',1,'VnUartPacketFinder']]], - ['asciipossiblestartofpacketindex',['asciiPossibleStartOfPacketIndex',['../struct_vn_uart_packet_finder.html#a4f878d73de4b01250f139bcac1c5a421',1,'VnUartPacketFinder']]], - ['asciirunningdataindexofstart',['asciiRunningDataIndexOfStart',['../struct_vn_uart_packet_finder.html#a5686ffd5c685204ec794f81c9f44b3da',1,'VnUartPacketFinder']]], - ['asyncmode',['asyncMode',['../struct_binary_output_register.html#adbf9162c09dd1932f71b51ae6d0fef91',1,'BinaryOutputRegister']]], - ['attitudefield',['attitudeField',['../struct_binary_output_register.html#af8072b7a9ea3d2f7a6a13795b9be7dbd',1,'BinaryOutputRegister']]], - ['attitudeuncertainty',['attitudeUncertainty',['../struct_vn_composite_data.html#ac98f8597fca9cfb1f9e4bcb6da1d9e2a',1,'VnCompositeData']]], - ['attuncertainty',['attUncertainty',['../struct_ins_solution_lla_register.html#ab86ae2c2b0bbdefbb2885e2ea51d7339',1,'InsSolutionLlaRegister::attUncertainty()'],['../struct_ins_solution_ecef_register.html#ab86ae2c2b0bbdefbb2885e2ea51d7339',1,'InsSolutionEcefRegister::attUncertainty()']]] -]; diff --git a/vnproglib/c/help/search/all_1.html b/vnproglib/c/help/search/all_1.html deleted file mode 100644 index e0b0c6d..0000000 --- a/vnproglib/c/help/search/all_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_1.js b/vnproglib/c/help/search/all_1.js deleted file mode 100644 index 85628a8..0000000 --- a/vnproglib/c/help/search/all_1.js +++ /dev/null @@ -1,19 +0,0 @@ -var searchData= -[ - ['b',['b',['../struct_magnetometer_compensation_register.html#a39ec0c2460150f73f4ed1560627841f3',1,'MagnetometerCompensationRegister::b()'],['../struct_acceleration_compensation_register.html#a39ec0c2460150f73f4ed1560627841f3',1,'AccelerationCompensationRegister::b()'],['../struct_calculated_magnetometer_calibration_register.html#a39ec0c2460150f73f4ed1560627841f3',1,'CalculatedMagnetometerCalibrationRegister::b()'],['../struct_gyro_compensation_register.html#a39ec0c2460150f73f4ed1560627841f3',1,'GyroCompensationRegister::b()']]], - ['basetuning',['baseTuning',['../struct_vpe_magnetometer_basic_tuning_register.html#abdb09ca7879639b1a8e07d297abd2d42',1,'VpeMagnetometerBasicTuningRegister::baseTuning()'],['../struct_vpe_accelerometer_basic_tuning_register.html#abdb09ca7879639b1a8e07d297abd2d42',1,'VpeAccelerometerBasicTuningRegister::baseTuning()'],['../struct_vpe_gyro_basic_tuning_register.html#abdb09ca7879639b1a8e07d297abd2d42',1,'VpeGyroBasicTuningRegister::baseTuning()']]], - ['baud',['baud',['../struct_vn_port_info.html#a73d752e8e2a092871ed55bf7220ba0c0',1,'VnPortInfo']]], - ['binarycurrentlybuildingbinarypacket',['binaryCurrentlyBuildingBinaryPacket',['../struct_vn_uart_packet_finder.html#a35bd4adf9a18225d230f81ea958cecd6',1,'VnUartPacketFinder']]], - ['binarygroupspresent',['binaryGroupsPresent',['../struct_vn_uart_packet_finder.html#aa5ca0b837b3e7ff4c0ff4c650d99fcad',1,'VnUartPacketFinder']]], - ['binarygroupspresentfound',['binaryGroupsPresentFound',['../struct_vn_uart_packet_finder.html#a1b24628bb3ad9cd313557eeea32a8b8d',1,'VnUartPacketFinder']]], - ['binarynumberofbytesremainingforcompletepacket',['binaryNumberOfBytesRemainingForCompletePacket',['../struct_vn_uart_packet_finder.html#af2f3b6cd82c0bef5f0d2191dac042f34',1,'VnUartPacketFinder']]], - ['binarynumofbytesremainingtohaveallgroupfields',['binaryNumOfBytesRemainingToHaveAllGroupFields',['../struct_vn_uart_packet_finder.html#a23f98ef16e8b2200067968a2af8d1f2d',1,'VnUartPacketFinder']]], - ['binaryoutputregister',['BinaryOutputRegister',['../struct_binary_output_register.html',1,'']]], - ['binaryoutputregister_5finitialize',['BinaryOutputRegister_initialize',['../group__register_structures.html#gab3061f669ecafade5b67ce11fef27bd1',1,'sensors.h']]], - ['binarypossiblestartindex',['binaryPossibleStartIndex',['../struct_vn_uart_packet_finder.html#a6146ae9a97e58d15dce14a81718992b9',1,'VnUartPacketFinder']]], - ['binaryrunningdataindexofstart',['binaryRunningDataIndexOfStart',['../struct_vn_uart_packet_finder.html#aca4f0ae1cb4a1e949e4c790a1870b7a7',1,'VnUartPacketFinder']]], - ['bodyaccel',['bodyAccel',['../struct_yaw_pitch_roll_true_body_acceleration_and_angular_rates_register.html#a427f6b2731d9a1bc7861ebd429f761e4',1,'YawPitchRollTrueBodyAccelerationAndAngularRatesRegister']]], - ['bufferappendlocation',['bufferAppendLocation',['../struct_vn_uart_packet_finder.html#ad38201b6b2ef022d6427fefedba67108',1,'VnUartPacketFinder']]], - ['buffersize',['bufferSize',['../struct_vn_uart_packet_finder.html#a7be887a2ca0a258cf6b368d32fd87487',1,'VnUartPacketFinder']]], - ['byte_20ordering_20functions',['Byte Ordering Functions',['../group__byte_orderers.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/all_10.html b/vnproglib/c/help/search/all_10.html deleted file mode 100644 index 2eb9d8a..0000000 --- a/vnproglib/c/help/search/all_10.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_10.js b/vnproglib/c/help/search/all_10.js deleted file mode 100644 index 980a11e..0000000 --- a/vnproglib/c/help/search/all_10.js +++ /dev/null @@ -1,12 +0,0 @@ -var searchData= -[ - ['ratedivisor',['rateDivisor',['../struct_binary_output_register.html#a8bea41ea2803f82bba30539542cd6461',1,'BinaryOutputRegister']]], - ['ratetuning',['rateTuning',['../struct_velocity_compensation_control_register.html#a639936db6e0c7cea48fe2b72a3af3fee',1,'VelocityCompensationControlRegister']]], - ['recalcthreshold',['recalcThreshold',['../struct_reference_vector_configuration_register.html#acb85dcd7dc68988beac31dc477545f11',1,'ReferenceVectorConfigurationRegister']]], - ['receivebuffer',['receiveBuffer',['../struct_vn_uart_packet_finder.html#a03e1083a19e2967b51841e61cf300833',1,'VnUartPacketFinder']]], - ['referencevectorconfigurationregister',['ReferenceVectorConfigurationRegister',['../struct_reference_vector_configuration_register.html',1,'']]], - ['register_20access_20methods',['Register Access Methods',['../group__register_access_methods.html',1,'']]], - ['register_20structures',['Register Structures',['../group__register_structures.html',1,'']]], - ['requirements',['Requirements',['../requirements.html',1,'']]], - ['runningdataindex',['runningDataIndex',['../struct_vn_uart_packet_finder.html#a81ff9b7bdfaec882e5d122c9744dc67c',1,'VnUartPacketFinder']]] -]; diff --git a/vnproglib/c/help/search/all_11.html b/vnproglib/c/help/search/all_11.html deleted file mode 100644 index e083915..0000000 --- a/vnproglib/c/help/search/all_11.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_11.js b/vnproglib/c/help/search/all_11.js deleted file mode 100644 index 808809f..0000000 --- a/vnproglib/c/help/search/all_11.js +++ /dev/null @@ -1,60 +0,0 @@ -var searchData= -[ - ['scenario',['scenario',['../struct_ins_basic_configuration_register_vn200.html#af0b49b673890a9dfc1b7afd9202719e7',1,'InsBasicConfigurationRegisterVn200::scenario()'],['../struct_ins_basic_configuration_register_vn300.html#af0b49b673890a9dfc1b7afd9202719e7',1,'InsBasicConfigurationRegisterVn300::scenario()']]], - ['sensor',['sensor',['../struct_vn_ez_async_data.html#a5b16933dbc0bb53a3b2d584aee515e94',1,'VnEzAsyncData']]], - ['sensors_2eh',['sensors.h',['../sensors_8h.html',1,'']]], - ['sensor_20value_20extractors',['Sensor Value Extractors',['../group__sensor_value_extractors.html',1,'']]], - ['senssat',['sensSat',['../struct_vn_composite_data.html#af84067adb14fad35669540940236ce97',1,'VnCompositeData']]], - ['serialchecksum',['serialChecksum',['../struct_communication_protocol_control_register.html#a392926aded83e6d002e514e518ea969d',1,'CommunicationProtocolControlRegister']]], - ['serialcount',['serialCount',['../struct_communication_protocol_control_register.html#ad855904b91c01a5626693bff56e097c0',1,'CommunicationProtocolControlRegister']]], - ['serialstatus',['serialStatus',['../struct_communication_protocol_control_register.html#adba1cfbe2517a106b04ec1e9eee5a762',1,'CommunicationProtocolControlRegister']]], - ['speedacc',['speedAcc',['../struct_gps_solution_lla_register.html#a65db50c21172a2804f79029cbbf5e25a',1,'GpsSolutionLlaRegister::speedAcc()'],['../struct_gps_solution_ecef_register.html#a65db50c21172a2804f79029cbbf5e25a',1,'GpsSolutionEcefRegister::speedAcc()']]], - ['spi_20generate_20read_20functions',['SPI Generate Read Functions',['../group__spi__genread__functions.html',1,'']]], - ['spi_20generate_20write_20functions',['SPI Generate Write Functions',['../group__spi__genwrite__functions.html',1,'']]], - ['spichecksum',['spiChecksum',['../struct_communication_protocol_control_register.html#a0f5eed3d05a038e96e3fcfe8ab1c2adc',1,'CommunicationProtocolControlRegister']]], - ['spicount',['spiCount',['../struct_communication_protocol_control_register.html#a329206ec1c72ac905a8043739f709985',1,'CommunicationProtocolControlRegister']]], - ['spistatus',['spiStatus',['../struct_communication_protocol_control_register.html#a4aabb6f0738992c9e8416f6d4abb3f0e',1,'CommunicationProtocolControlRegister']]], - ['startupfilterbiasestimateregister',['StartupFilterBiasEstimateRegister',['../struct_startup_filter_bias_estimate_register.html',1,'']]], - ['status',['status',['../struct_ins_solution_lla_register.html#a5393c99e246925076b1dfd69a64177ef',1,'InsSolutionLlaRegister::status()'],['../struct_ins_solution_ecef_register.html#a5393c99e246925076b1dfd69a64177ef',1,'InsSolutionEcefRegister::status()']]], - ['stoh16',['stoh16',['../group__byte_orderers.html#ga77f0b2284393666d8bdb5bdf0a69361f',1,'util.h']]], - ['stoh32',['stoh32',['../group__byte_orderers.html#ga7a28812d3659f7af2a87b7a577b972cc',1,'util.h']]], - ['stoh64',['stoh64',['../group__byte_orderers.html#gad993af5db1d46cc842842bdf4b9d1e97',1,'util.h']]], - ['strfromchecksummode',['strFromChecksumMode',['../sensors_8h.html#a302f1f3e38e649ae24d77d61043ff509',1,'sensors.h']]], - ['strfromcompensationmode',['strFromCompensationMode',['../sensors_8h.html#aa03a784b37fc18324064e39dd3a9f896',1,'sensors.h']]], - ['strfromcountmode',['strFromCountMode',['../sensors_8h.html#aec83b9314ea98b616ed16724415d3d1c',1,'sensors.h']]], - ['strfromerrormode',['strFromErrorMode',['../sensors_8h.html#ad5a2d1f0b9f9722475c9f257cae73b7a',1,'sensors.h']]], - ['strfromexternalsensormode',['strFromExternalSensorMode',['../sensors_8h.html#ad69d28dad8963f1f2f31c3b28ceb6e28',1,'sensors.h']]], - ['strfromfiltermode',['strFromFilterMode',['../sensors_8h.html#a8e0d2220e7a01304fee6395fd1bf82d4',1,'sensors.h']]], - ['strfromfoaminit',['strFromFoamInit',['../sensors_8h.html#a50b99ecd6d90310a58aecc6c54cc161d',1,'sensors.h']]], - ['strfromgpsfix',['strFromGpsFix',['../sensors_8h.html#a2307c0feacf6d4b11100650f5b1ea50c',1,'sensors.h']]], - ['strfromgpsmode',['strFromGpsMode',['../sensors_8h.html#a3b95152188213dc0c8875e068acea194',1,'sensors.h']]], - ['strfromheadingmode',['strFromHeadingMode',['../sensors_8h.html#a2930ef60abd21d0523be4da88b3e4446',1,'sensors.h']]], - ['strfromhsimode',['strFromHsiMode',['../sensors_8h.html#a852fd009afbd9375c986b3cb32bdaaa2',1,'sensors.h']]], - ['strfromhsioutput',['strFromHsiOutput',['../sensors_8h.html#a04c5581ad3f2c150b2b23996161039ab',1,'sensors.h']]], - ['strfromintegrationframe',['strFromIntegrationFrame',['../sensors_8h.html#ac918ccf84be17182120ec4b98b26574f',1,'sensors.h']]], - ['strfrommagneticmode',['strFromMagneticMode',['../sensors_8h.html#ad79380f693f491e4798ee209250cd96e',1,'sensors.h']]], - ['strfromppssource',['strFromPpsSource',['../sensors_8h.html#a1651bbea6b96dd1133465cb7a24203e4',1,'sensors.h']]], - ['strfromscenario',['strFromScenario',['../sensors_8h.html#a73e65d49c62c09c0dd82e03b2fb88f88',1,'sensors.h']]], - ['strfromsensorerror',['strFromSensorError',['../sensors_8h.html#a8c82ca99e6dc14d5f5a050c53420f788',1,'sensors.h']]], - ['strfromstatusmode',['strFromStatusMode',['../sensors_8h.html#ae8ba67b44cd1b0d3b94d755ec8b3fb5e',1,'sensors.h']]], - ['strfromsyncinedge',['strFromSyncInEdge',['../sensors_8h.html#a173b3d7045f11098bca53f35159fa3db',1,'sensors.h']]], - ['strfromsyncinmode',['strFromSyncInMode',['../sensors_8h.html#afc6728ebbb0279ad796ab39729a59b54',1,'sensors.h']]], - ['strfromsyncoutmode',['strFromSyncOutMode',['../sensors_8h.html#af088717473c27dbe64d6d06e125401c7',1,'sensors.h']]], - ['strfromsyncoutpolarity',['strFromSyncOutPolarity',['../sensors_8h.html#af2b1d442dbdfcfae247465beab2359d6',1,'sensors.h']]], - ['strfromvelocitycompensationmode',['strFromVelocityCompensationMode',['../sensors_8h.html#aa87637be816d0cb9076362d176b09cf7',1,'sensors.h']]], - ['strfromvpeenable',['strFromVpeEnable',['../sensors_8h.html#a471156d0287543b351ec316eb6d6c8d5',1,'sensors.h']]], - ['strfromvpemode',['strFromVpeMode',['../sensors_8h.html#a3182cf1a687d8e9f0a763c0a82116b70',1,'sensors.h']]], - ['synchronizationcontrolregister',['SynchronizationControlRegister',['../struct_synchronization_control_register.html',1,'']]], - ['synchronizationstatusregister',['SynchronizationStatusRegister',['../struct_synchronization_status_register.html',1,'']]], - ['syncincnt',['syncInCnt',['../struct_vn_composite_data.html#ad50a62350c1430e02769c22071a3998f',1,'VnCompositeData']]], - ['syncincount',['syncInCount',['../struct_synchronization_status_register.html#a584810419fd3f671ec4f271001192bcb',1,'SynchronizationStatusRegister']]], - ['syncinedge',['syncInEdge',['../struct_synchronization_control_register.html#a4794a66c5d3d199a12138a737a527f0b',1,'SynchronizationControlRegister']]], - ['syncinmode',['syncInMode',['../struct_synchronization_control_register.html#a4821dd9c99387eda43ee0ed2653358db',1,'SynchronizationControlRegister']]], - ['syncinskipfactor',['syncInSkipFactor',['../struct_synchronization_control_register.html#af9c796275d0a80b5a5cd19fd263f3b69',1,'SynchronizationControlRegister']]], - ['syncintime',['syncInTime',['../struct_synchronization_status_register.html#a1a58709da5ac7ca48ac2fb0d3385efcf',1,'SynchronizationStatusRegister']]], - ['syncoutcount',['syncOutCount',['../struct_synchronization_status_register.html#aa068bfde2979052594dedb69d2553642',1,'SynchronizationStatusRegister']]], - ['syncoutmode',['syncOutMode',['../struct_synchronization_control_register.html#aacface90e61bc6b03fd7f2aebab12042',1,'SynchronizationControlRegister']]], - ['syncoutpolarity',['syncOutPolarity',['../struct_synchronization_control_register.html#aabb592c36e2dfb9ef5b208d550475aa2',1,'SynchronizationControlRegister']]], - ['syncoutpulsewidth',['syncOutPulseWidth',['../struct_synchronization_control_register.html#ad782668008b729cb1648928e805ccf30',1,'SynchronizationControlRegister']]], - ['syncoutskipfactor',['syncOutSkipFactor',['../struct_synchronization_control_register.html#a4eb5cd91ab3b194b9d17637128524e96',1,'SynchronizationControlRegister']]] -]; diff --git a/vnproglib/c/help/search/all_12.html b/vnproglib/c/help/search/all_12.html deleted file mode 100644 index 5b98123..0000000 --- a/vnproglib/c/help/search/all_12.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_12.js b/vnproglib/c/help/search/all_12.js deleted file mode 100644 index 387cb52..0000000 --- a/vnproglib/c/help/search/all_12.js +++ /dev/null @@ -1,20 +0,0 @@ -var searchData= -[ - ['temp',['temp',['../struct_imu_measurements_register.html#a24d61a35b72d7299eb6b5f48e71a571b',1,'ImuMeasurementsRegister']]], - ['temperature',['temperature',['../struct_vn_composite_data.html#afc1d28cfbce795d6ea954ebe725241f5',1,'VnCompositeData']]], - ['tempfiltermode',['tempFilterMode',['../struct_imu_filtering_configuration_register.html#a5ec955528a65dbd984e13feefd78384c',1,'ImuFilteringConfigurationRegister']]], - ['tempwindowsize',['tempWindowSize',['../struct_imu_filtering_configuration_register.html#af51e47a4ea235eedd60d7faca28ca8ee',1,'ImuFilteringConfigurationRegister']]], - ['thread',['thread',['../struct_vn_port_info.html#ab3c66746a2f276a8f20667285d141d4e',1,'VnPortInfo']]], - ['thread_2eh',['thread.h',['../thread_8h.html',1,'']]], - ['time',['time',['../struct_gps_solution_lla_register.html#ab2d5aa7fce1a14d8bddfb2c333ea9679',1,'GpsSolutionLlaRegister::time()'],['../struct_ins_solution_lla_register.html#ab2d5aa7fce1a14d8bddfb2c333ea9679',1,'InsSolutionLlaRegister::time()'],['../struct_ins_solution_ecef_register.html#ab2d5aa7fce1a14d8bddfb2c333ea9679',1,'InsSolutionEcefRegister::time()']]], - ['time_2eh',['time.h',['../time_8h.html',1,'']]], - ['timeacc',['timeAcc',['../struct_gps_solution_lla_register.html#a76eb01542ecfef2de8cf62689590dcb6',1,'GpsSolutionLlaRegister::timeAcc()'],['../struct_gps_solution_ecef_register.html#a76eb01542ecfef2de8cf62689590dcb6',1,'GpsSolutionEcefRegister::timeAcc()']]], - ['timefield',['timeField',['../struct_binary_output_register.html#a3273402788977633cb032ba577a11729',1,'BinaryOutputRegister']]], - ['timegps',['timeGps',['../struct_vn_composite_data.html#a3f732e16a58a3302d57d10c67d805d99',1,'VnCompositeData']]], - ['timegpspps',['timeGpsPps',['../struct_vn_composite_data.html#a65a22ac276b40c40787803ff3349571c',1,'VnCompositeData']]], - ['timestartup',['timeStartup',['../struct_vn_composite_data.html#a7682251beedb1819056d92610af7cd09',1,'VnCompositeData']]], - ['timesyncin',['timeSyncIn',['../struct_vn_composite_data.html#aa4fab63e1d94ebffeea0ec6932b1da36',1,'VnCompositeData']]], - ['timeuncertainty',['timeUncertainty',['../struct_vn_composite_data.html#a6e3eda250d2ba565b0cdb97bafe0999a',1,'VnCompositeData']]], - ['tow',['tow',['../struct_vn_composite_data.html#aa286df8ebe6354374b3ac7627635f916',1,'VnCompositeData::tow()'],['../struct_gps_solution_ecef_register.html#aa286df8ebe6354374b3ac7627635f916',1,'GpsSolutionEcefRegister::tow()']]], - ['tuningmode',['tuningMode',['../struct_vpe_basic_control_register.html#a3ea041589c02b79edf60448762564532',1,'VpeBasicControlRegister']]] -]; diff --git a/vnproglib/c/help/search/all_13.html b/vnproglib/c/help/search/all_13.html deleted file mode 100644 index f57925b..0000000 --- a/vnproglib/c/help/search/all_13.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_13.js b/vnproglib/c/help/search/all_13.js deleted file mode 100644 index 4ce141c..0000000 --- a/vnproglib/c/help/search/all_13.js +++ /dev/null @@ -1,13 +0,0 @@ -var searchData= -[ - ['uart_20generate_20read_20functions',['UART Generate Read Functions',['../group__uart__genread__functions.html',1,'']]], - ['uart_20generate_20write_20functions',['UART Generate Write Functions',['../group__uart__genwrite__functions.html',1,'']]], - ['uart_20ascii_20asynchronous_20packet_20parsers',['UART ASCII Asynchronous Packet Parsers',['../group__uart_packet_ascii_async_parsers.html',1,'']]], - ['uart_20binary_20data_20extractors',['UART Binary Data Extractors',['../group__uart_packet_binary_extractors.html',1,'']]], - ['uncertainty',['uncertainty',['../struct_gps_compass_baseline_register.html#ac5f61d9d412fef6c025d13ce1e51c298',1,'GpsCompassBaselineRegister::uncertainty()'],['../struct_gps_compass_estimated_baseline_register.html#ac5f61d9d412fef6c025d13ce1e51c298',1,'GpsCompassEstimatedBaselineRegister::uncertainty()']]], - ['usefoam',['useFoam',['../struct_ins_advanced_configuration_register.html#a8561d8a92050bd8855ca0b9636b72b36',1,'InsAdvancedConfigurationRegister']]], - ['usegravitymodel',['useGravityModel',['../struct_reference_vector_configuration_register.html#a534d2e509a36244afb235315a6eaa57b',1,'ReferenceVectorConfigurationRegister']]], - ['usemag',['useMag',['../struct_ins_advanced_configuration_register.html#a3a31a1264f68cef963b0dc5342050931',1,'InsAdvancedConfigurationRegister']]], - ['usemagmodel',['useMagModel',['../struct_reference_vector_configuration_register.html#a842588dbda4ab1387154745c9489f752',1,'ReferenceVectorConfigurationRegister']]], - ['usepres',['usePres',['../struct_ins_advanced_configuration_register.html#a14872dda33f1f3e814c135268b5622c8',1,'InsAdvancedConfigurationRegister']]] -]; diff --git a/vnproglib/c/help/search/all_14.html b/vnproglib/c/help/search/all_14.html deleted file mode 100644 index 570b65b..0000000 --- a/vnproglib/c/help/search/all_14.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_14.js b/vnproglib/c/help/search/all_14.js deleted file mode 100644 index f8e0191..0000000 --- a/vnproglib/c/help/search/all_14.js +++ /dev/null @@ -1,500 +0,0 @@ -var searchData= -[ - ['vectornav_20c_20library',['VectorNav C Library',['../index.html',1,'']]], - ['vec3d',['vec3d',['../unionvec3d.html',1,'']]], - ['vec3f',['vec3f',['../unionvec3f.html',1,'']]], - ['vec4f',['vec4f',['../unionvec4f.html',1,'']]], - ['velatt',['velAtt',['../struct_ins_advanced_configuration_register.html#a700f83b910b8547dac8884f782e3fd31',1,'InsAdvancedConfigurationRegister']]], - ['velbias',['velBias',['../struct_ins_advanced_configuration_register.html#af4254aa6a27d3ddb351f09b268ad7077',1,'InsAdvancedConfigurationRegister']]], - ['velcount',['velCount',['../struct_ins_advanced_configuration_register.html#a627b2097cfa37351a48ace7d94a989f2',1,'InsAdvancedConfigurationRegister']]], - ['velinit',['velInit',['../struct_ins_advanced_configuration_register.html#accfb14039f766fb422e3f7b519fb7c30',1,'InsAdvancedConfigurationRegister']]], - ['velocity',['velocity',['../struct_gps_solution_ecef_register.html#a3d6782af16d671338a24d9533e3d2a25',1,'GpsSolutionEcefRegister::velocity()'],['../struct_ins_solution_ecef_register.html#a3d6782af16d671338a24d9533e3d2a25',1,'InsSolutionEcefRegister::velocity()'],['../struct_ins_state_lla_register.html#a3d6782af16d671338a24d9533e3d2a25',1,'InsStateLlaRegister::velocity()'],['../struct_ins_state_ecef_register.html#a3d6782af16d671338a24d9533e3d2a25',1,'InsStateEcefRegister::velocity()']]], - ['velocitycompensationcontrolregister',['VelocityCompensationControlRegister',['../struct_velocity_compensation_control_register.html',1,'']]], - ['velocitycompensationstatusregister',['VelocityCompensationStatusRegister',['../struct_velocity_compensation_status_register.html',1,'']]], - ['velocityestimatedbody',['velocityEstimatedBody',['../struct_vn_composite_data.html#ab0e147b470741426dd06e2fd7608b403',1,'VnCompositeData']]], - ['velocityestimatedecef',['velocityEstimatedEcef',['../struct_vn_composite_data.html#a677ab87b376896d10b091b9d8682e6eb',1,'VnCompositeData']]], - ['velocityestimatedned',['velocityEstimatedNed',['../struct_vn_composite_data.html#aededf4c7739e2ae0724de91641d6dee9',1,'VnCompositeData']]], - ['velocitygpsecef',['velocityGpsEcef',['../struct_vn_composite_data.html#ac543bd1b8af08fa34b8a37209102a48b',1,'VnCompositeData']]], - ['velocitygpsned',['velocityGpsNed',['../struct_vn_composite_data.html#afe6a1223da73b9bd81fc412ddafd20f3',1,'VnCompositeData']]], - ['velocitytuning',['velocityTuning',['../struct_velocity_compensation_control_register.html#aa484e0e174441462d63f46e6fbd52c25',1,'VelocityCompensationControlRegister']]], - ['velocitytype',['velocityType',['../struct_vn_composite_data.html#aa77bb9c96133e669ebaf606c153a08b8',1,'VnCompositeData']]], - ['velocityuncertaintyestimated',['velocityUncertaintyEstimated',['../struct_vn_composite_data.html#a6f3b2f3b0772d5399135b7d56fe7d581',1,'VnCompositeData']]], - ['velocityuncertaintygps',['velocityUncertaintyGps',['../struct_vn_composite_data.html#aced69b7bc20fbc9eb605442668e0130a',1,'VnCompositeData']]], - ['veluncertainty',['velUncertainty',['../struct_ins_solution_lla_register.html#a170248e44c168cdf3d2d5f0db40bd80c',1,'InsSolutionLlaRegister::velUncertainty()'],['../struct_ins_solution_ecef_register.html#a170248e44c168cdf3d2d5f0db40bd80c',1,'InsSolutionEcefRegister::velUncertainty()']]], - ['version_20history',['Version History',['../version_history.html',1,'']]], - ['vncompositedata',['VnCompositeData',['../struct_vn_composite_data.html',1,'']]], - ['vncriticalsection',['VnCriticalSection',['../struct_vn_critical_section.html',1,'']]], - ['vncriticalsection_5fdeinitialize',['VnCriticalSection_deinitialize',['../criticalsection_8h.html#a73e9706beca47d6a1ee389d65ab18cc8',1,'criticalsection.h']]], - ['vncriticalsection_5fenter',['VnCriticalSection_enter',['../criticalsection_8h.html#abadd347552031004ace13cbff1fc0ab1',1,'criticalsection.h']]], - ['vncriticalsection_5finitialize',['VnCriticalSection_initialize',['../criticalsection_8h.html#abe85fa757adb49711376901b1440db5e',1,'criticalsection.h']]], - ['vncriticalsection_5fleave',['VnCriticalSection_leave',['../criticalsection_8h.html#aff7c6ec7e675a773407b871cc6272828',1,'criticalsection.h']]], - ['vnevent',['VnEvent',['../struct_vn_event.html',1,'']]], - ['vnevent_5finitialize',['VnEvent_initialize',['../event_8h.html#ae193dcd7cd0eb89cdfed3b6ecb195b4f',1,'event.h']]], - ['vnevent_5fsignal',['VnEvent_signal',['../event_8h.html#a3465208c5344353dffdc44f4b5dfa747',1,'event.h']]], - ['vnevent_5fwait',['VnEvent_wait',['../event_8h.html#a12664adba700687abf8d5c55deca5cc0',1,'event.h']]], - ['vnevent_5fwaitms',['VnEvent_waitMs',['../event_8h.html#a8952d9c4522caa3564279e438dbad162',1,'event.h']]], - ['vnevent_5fwaitus',['VnEvent_waitUs',['../event_8h.html#a0a947126950103bec5844e84429db9f6',1,'event.h']]], - ['vnezasyncdata',['VnEzAsyncData',['../struct_vn_ez_async_data.html',1,'']]], - ['vnportinfo',['VnPortInfo',['../struct_vn_port_info.html',1,'']]], - ['vnsensor',['VnSensor',['../struct_vn_sensor.html',1,'']]], - ['vnsensor_5faccelerationdisturbancepresent',['VnSensor_accelerationDisturbancePresent',['../sensors_8h.html#a3b604c006b8cac48882c42b99389b516',1,'sensors.h']]], - ['vnsensor_5fchangebaudrate',['VnSensor_changeBaudrate',['../sensors_8h.html#a4dbc6af1011bf75e745879cf0299a201',1,'sensors.h']]], - ['vnsensor_5fconnect',['VnSensor_connect',['../sensors_8h.html#a4119849871592f17e73a0069c35b212e',1,'sensors.h']]], - ['vnsensor_5fdisconnect',['VnSensor_disconnect',['../sensors_8h.html#a74157c344356b64aeaae97970ccab34a',1,'sensors.h']]], - ['vnsensor_5fgetresponsetimeoutms',['VnSensor_getResponseTimeoutMs',['../sensors_8h.html#a0ac35289a31f9aa55a4f206fa9de38e5',1,'sensors.h']]], - ['vnsensor_5fgetretransmitdelayms',['VnSensor_getRetransmitDelayMs',['../sensors_8h.html#a3335b0f9ca87e0058d11c1436127e121',1,'sensors.h']]], - ['vnsensor_5finitialize',['VnSensor_initialize',['../sensors_8h.html#aa85a300484816d7e49f32aaccfd07553',1,'sensors.h']]], - ['vnsensor_5fisconnected',['VnSensor_isConnected',['../sensors_8h.html#acbdeb4d8d8238e24133b6dafd805d969',1,'sensors.h']]], - ['vnsensor_5fmagneticdisturbancepresent',['VnSensor_magneticDisturbancePresent',['../sensors_8h.html#aaa55c88fcea7bc852df28a31011289b5',1,'sensors.h']]], - ['vnsensor_5freadaccelerationcompensation',['VnSensor_readAccelerationCompensation',['../group__register_access_methods.html#gad033debad2c3992370fcee1bc48b6ac6',1,'sensors.h']]], - ['vnsensor_5freadaccelerationmeasurements',['VnSensor_readAccelerationMeasurements',['../group__register_access_methods.html#gafd91518db2d5735b7886386f04c6dff2',1,'sensors.h']]], - ['vnsensor_5freadangularratemeasurements',['VnSensor_readAngularRateMeasurements',['../group__register_access_methods.html#ga4d916a7a0218846867df646dae0b3774',1,'sensors.h']]], - ['vnsensor_5freadasyncdataoutputfrequency',['VnSensor_readAsyncDataOutputFrequency',['../group__register_access_methods.html#ga8697185242ceebeb9a014d923e3efc49',1,'sensors.h']]], - ['vnsensor_5freadasyncdataoutputtype',['VnSensor_readAsyncDataOutputType',['../group__register_access_methods.html#gaa112c59da2d15f92cc5a5bcea1938ed5',1,'sensors.h']]], - ['vnsensor_5freadattitudequaternion',['VnSensor_readAttitudeQuaternion',['../group__register_access_methods.html#gae8605a776c298a8fa6350ce268277602',1,'sensors.h']]], - ['vnsensor_5freadbinaryoutput1',['VnSensor_readBinaryOutput1',['../group__register_access_methods.html#ga00af1e436c5ed64da8263d80181b310d',1,'sensors.h']]], - ['vnsensor_5freadbinaryoutput2',['VnSensor_readBinaryOutput2',['../group__register_access_methods.html#ga21cbd3270a8d8160bfdc83992eee8908',1,'sensors.h']]], - ['vnsensor_5freadbinaryoutput3',['VnSensor_readBinaryOutput3',['../group__register_access_methods.html#gaa4d579e744e6ba82e29500f4173ee961',1,'sensors.h']]], - ['vnsensor_5freadcalculatedmagnetometercalibration',['VnSensor_readCalculatedMagnetometerCalibration',['../group__register_access_methods.html#ga466400b4c7e69501e5884f6dfce60e6d',1,'sensors.h']]], - ['vnsensor_5freadcommunicationprotocolcontrol',['VnSensor_readCommunicationProtocolControl',['../group__register_access_methods.html#gab52f8d2c31bbba2c2b2bcbb10dd1cc4e',1,'sensors.h']]], - ['vnsensor_5freaddeltathetaanddeltavelocity',['VnSensor_readDeltaThetaAndDeltaVelocity',['../group__register_access_methods.html#ga48b004c1d4d01528f31539be49f42cd9',1,'sensors.h']]], - ['vnsensor_5freaddeltathetaanddeltavelocityconfiguration',['VnSensor_readDeltaThetaAndDeltaVelocityConfiguration',['../group__register_access_methods.html#gaa5f0b9d592248351043da6a188c9e67a',1,'sensors.h']]], - ['vnsensor_5freadfirmwareversion',['VnSensor_readFirmwareVersion',['../group__register_access_methods.html#gabe8f8b6ac071e28e45aa86d4722a0934',1,'sensors.h']]], - ['vnsensor_5freadgpsantennaoffset',['VnSensor_readGpsAntennaOffset',['../group__register_access_methods.html#gafc39e83a688d01224b4c47b07df49ffe',1,'sensors.h']]], - ['vnsensor_5freadgpscompassbaseline',['VnSensor_readGpsCompassBaseline',['../group__register_access_methods.html#ga7decae783015f6d05bdc99f26ad27083',1,'sensors.h']]], - ['vnsensor_5freadgpscompassestimatedbaseline',['VnSensor_readGpsCompassEstimatedBaseline',['../group__register_access_methods.html#gacd164f4ae41697424b2cce3c4f36743d',1,'sensors.h']]], - ['vnsensor_5freadgpsconfiguration',['VnSensor_readGpsConfiguration',['../group__register_access_methods.html#ga763889c2b19a0e01231607638bb22c8b',1,'sensors.h']]], - ['vnsensor_5freadgpssolutionecef',['VnSensor_readGpsSolutionEcef',['../group__register_access_methods.html#ga0e96094413455aca4787ca3a0e334341',1,'sensors.h']]], - ['vnsensor_5freadgpssolutionlla',['VnSensor_readGpsSolutionLla',['../group__register_access_methods.html#gaeda594f6e45e6add7d93c7754b506822',1,'sensors.h']]], - ['vnsensor_5freadgyrocompensation',['VnSensor_readGyroCompensation',['../group__register_access_methods.html#ga60e2bae34eafe80f40c06778d95943f0',1,'sensors.h']]], - ['vnsensor_5freadhardwarerevision',['VnSensor_readHardwareRevision',['../group__register_access_methods.html#ga99e805ebd47674b86f87ca29ae93439e',1,'sensors.h']]], - ['vnsensor_5freadimufilteringconfiguration',['VnSensor_readImuFilteringConfiguration',['../group__register_access_methods.html#ga0a39b20e23e43fd61b9cbbe678231695',1,'sensors.h']]], - ['vnsensor_5freadimumeasurements',['VnSensor_readImuMeasurements',['../group__register_access_methods.html#ga98d3067aa511dcc8373a0cb2a04a5080',1,'sensors.h']]], - ['vnsensor_5freadinsbasicconfigurationvn200',['VnSensor_readInsBasicConfigurationVn200',['../group__register_access_methods.html#ga7db6155dbd865fe8f60997d6a7505483',1,'sensors.h']]], - ['vnsensor_5freadinsbasicconfigurationvn300',['VnSensor_readInsBasicConfigurationVn300',['../group__register_access_methods.html#gabe35973bee10af844f8a7cea31b20e84',1,'sensors.h']]], - ['vnsensor_5freadinssolutionecef',['VnSensor_readInsSolutionEcef',['../group__register_access_methods.html#ga78b5e4b3494f9010fd18d61cd1329223',1,'sensors.h']]], - ['vnsensor_5freadinssolutionlla',['VnSensor_readInsSolutionLla',['../group__register_access_methods.html#gafbb711803130fca99e7b95b19df2250f',1,'sensors.h']]], - ['vnsensor_5freadinsstateecef',['VnSensor_readInsStateEcef',['../group__register_access_methods.html#ga294ec58a13c9e7027818965a3537015a',1,'sensors.h']]], - ['vnsensor_5freadinsstatella',['VnSensor_readInsStateLla',['../group__register_access_methods.html#ga7f74af6ccb2fcb38105c73203b640299',1,'sensors.h']]], - ['vnsensor_5freadmagneticaccelerationandangularrates',['VnSensor_readMagneticAccelerationAndAngularRates',['../group__register_access_methods.html#ga0d895389bb73a85079a24e8d31100658',1,'sensors.h']]], - ['vnsensor_5freadmagneticandgravityreferencevectors',['VnSensor_readMagneticAndGravityReferenceVectors',['../group__register_access_methods.html#ga2fb71172d4706a3c56ea9b816426e4dd',1,'sensors.h']]], - ['vnsensor_5freadmagneticmeasurements',['VnSensor_readMagneticMeasurements',['../group__register_access_methods.html#gaf5190d33e06b7b7e8c8af0624be9829f',1,'sensors.h']]], - ['vnsensor_5freadmagnetometercalibrationcontrol',['VnSensor_readMagnetometerCalibrationControl',['../group__register_access_methods.html#ga462f82f938a8ac32e3b72a3524a8bcd8',1,'sensors.h']]], - ['vnsensor_5freadmagnetometercompensation',['VnSensor_readMagnetometerCompensation',['../group__register_access_methods.html#ga84de0c7b42ba4fe680e198b065cd1b24',1,'sensors.h']]], - ['vnsensor_5freadmodelnumber',['VnSensor_readModelNumber',['../group__register_access_methods.html#ga828407d537f5c56ff24f6b53300cd849',1,'sensors.h']]], - ['vnsensor_5freadquaternionmagneticaccelerationandangularrates',['VnSensor_readQuaternionMagneticAccelerationAndAngularRates',['../group__register_access_methods.html#gaf0b6fa89ebb62da7dead04d44ff07693',1,'sensors.h']]], - ['vnsensor_5freadreferenceframerotation',['VnSensor_readReferenceFrameRotation',['../group__register_access_methods.html#ga9e7976469e642f52da519411830ddcf2',1,'sensors.h']]], - ['vnsensor_5freadreferencevectorconfiguration',['VnSensor_readReferenceVectorConfiguration',['../group__register_access_methods.html#ga71fe239623b760b9e05a6297b697e7a8',1,'sensors.h']]], - ['vnsensor_5freadserialbaudrate',['VnSensor_readSerialBaudRate',['../group__register_access_methods.html#gac9c0603ddd6a44b9162e25715f6b0d78',1,'sensors.h']]], - ['vnsensor_5freadserialnumber',['VnSensor_readSerialNumber',['../group__register_access_methods.html#ga5e5f0fa907f3e631d5c826484d42bb95',1,'sensors.h']]], - ['vnsensor_5freadstartupfilterbiasestimate',['VnSensor_readStartupFilterBiasEstimate',['../group__register_access_methods.html#gaa105e99f247016e698a476440bd7ed2e',1,'sensors.h']]], - ['vnsensor_5freadsynchronizationcontrol',['VnSensor_readSynchronizationControl',['../group__register_access_methods.html#gadfd320dd0ce8c7add6533db15e1402b0',1,'sensors.h']]], - ['vnsensor_5freadsynchronizationstatus',['VnSensor_readSynchronizationStatus',['../group__register_access_methods.html#gade65e02bec636b04072d6659b0dd56fd',1,'sensors.h']]], - ['vnsensor_5freadusertag',['VnSensor_readUserTag',['../group__register_access_methods.html#gaf3dddc96889881cbe3ff28b2e18afed3',1,'sensors.h']]], - ['vnsensor_5freadvelocitycompensationcontrol',['VnSensor_readVelocityCompensationControl',['../group__register_access_methods.html#gab2286d0e7c8464f8531754448ed4c2a8',1,'sensors.h']]], - ['vnsensor_5freadvelocitycompensationmeasurement',['VnSensor_readVelocityCompensationMeasurement',['../group__register_access_methods.html#ga5d242228a1526dacec61299172324d4b',1,'sensors.h']]], - ['vnsensor_5freadvpeaccelerometerbasictuning',['VnSensor_readVpeAccelerometerBasicTuning',['../group__register_access_methods.html#ga7473012a7df2843a54fa03e932dbeeac',1,'sensors.h']]], - ['vnsensor_5freadvpebasiccontrol',['VnSensor_readVpeBasicControl',['../group__register_access_methods.html#ga9151c8f37e12b6c9967c09d2466fea77',1,'sensors.h']]], - ['vnsensor_5freadvpemagnetometerbasictuning',['VnSensor_readVpeMagnetometerBasicTuning',['../group__register_access_methods.html#gac64cf6e3ca5f073e69ff31efc6f7bce0',1,'sensors.h']]], - ['vnsensor_5freadyawpitchroll',['VnSensor_readYawPitchRoll',['../group__register_access_methods.html#gaa6dae4194856ca741805cf2e0e5eb77e',1,'sensors.h']]], - ['vnsensor_5freadyawpitchrollmagneticaccelerationandangularrates',['VnSensor_readYawPitchRollMagneticAccelerationAndAngularRates',['../group__register_access_methods.html#ga626456fecf0b2f69d14a38315e59477c',1,'sensors.h']]], - ['vnsensor_5freadyawpitchrolltruebodyaccelerationandangularrates',['VnSensor_readYawPitchRollTrueBodyAccelerationAndAngularRates',['../group__register_access_methods.html#ga6ebc808afb134f1cad980435ea894ac6',1,'sensors.h']]], - ['vnsensor_5freadyawpitchrolltrueinertialaccelerationandangularrates',['VnSensor_readYawPitchRollTrueInertialAccelerationAndAngularRates',['../group__register_access_methods.html#ga76b5ba4767e25e16f296e5be9d5ee64a',1,'sensors.h']]], - ['vnsensor_5fregisterasyncpacketreceivedhandler',['VnSensor_registerAsyncPacketReceivedHandler',['../sensors_8h.html#ac2ae8a9a36c04703afd6f281a455a422',1,'sensors.h']]], - ['vnsensor_5fregistererrorpacketreceivedhandler',['VnSensor_registerErrorPacketReceivedHandler',['../sensors_8h.html#a5d677b5f321c2a3c3bd90d522e3df403',1,'sensors.h']]], - ['vnsensor_5freset',['VnSensor_reset',['../sensors_8h.html#a34aa4c9fa1abef42de2bea9f5cab8391',1,'sensors.h']]], - ['vnsensor_5frestorefactorysettings',['VnSensor_restoreFactorySettings',['../sensors_8h.html#ac24215ed2650869b44e37bb3016b9761',1,'sensors.h']]], - ['vnsensor_5fsetgyrobias',['VnSensor_setGyroBias',['../sensors_8h.html#a57b7efafe0fa2b1b7853db0fa34ab554',1,'sensors.h']]], - ['vnsensor_5fsetresponsetimeoutms',['VnSensor_setResponseTimeoutMs',['../sensors_8h.html#a478fea9a2f2b5f05ad4771dde4b6be36',1,'sensors.h']]], - ['vnsensor_5fsetretransmitdelayms',['VnSensor_setRetransmitDelayMs',['../sensors_8h.html#af0d99b0dc7b89a75b5a523f7dd9159e0',1,'sensors.h']]], - ['vnsensor_5ftare',['VnSensor_tare',['../sensors_8h.html#ac0ed11f4e20f474584c75f54c203b6df',1,'sensors.h']]], - ['vnsensor_5ftransaction',['VnSensor_transaction',['../sensors_8h.html#ada92a20aba91a7b604530905e65cd57c',1,'sensors.h']]], - ['vnsensor_5funregisterasyncpacketreceivedhandler',['VnSensor_unregisterAsyncPacketReceivedHandler',['../sensors_8h.html#a6cf70cc3ef2c164ac5ac4b7ab68df687',1,'sensors.h']]], - ['vnsensor_5funregistererrorpacketreceivedhandler',['VnSensor_unregisterErrorPacketReceivedHandler',['../sensors_8h.html#a5e50d71dfa07179ff89411038389584a',1,'sensors.h']]], - ['vnsensor_5fverifysensorconnectivity',['VnSensor_verifySensorConnectivity',['../sensors_8h.html#adce8556fd8759b16d6ce717e95415177',1,'sensors.h']]], - ['vnsensor_5fwriteaccelerationcompensation',['VnSensor_writeAccelerationCompensation',['../group__register_access_methods.html#gaf101fdf0a7a4e9c2b18ac1d79447a2f5',1,'sensors.h']]], - ['vnsensor_5fwriteasyncdataoutputfrequency',['VnSensor_writeAsyncDataOutputFrequency',['../group__register_access_methods.html#ga182ff64ec8d0abf4591b12b7d888eba9',1,'sensors.h']]], - ['vnsensor_5fwriteasyncdataoutputtype',['VnSensor_writeAsyncDataOutputType',['../group__register_access_methods.html#gaf36c1e47164b6462c07708b5971f97cf',1,'sensors.h']]], - ['vnsensor_5fwritebinaryoutput1',['VnSensor_writeBinaryOutput1',['../group__register_access_methods.html#ga1eb72c717997c23e449cfc5de8571935',1,'sensors.h']]], - ['vnsensor_5fwritebinaryoutput2',['VnSensor_writeBinaryOutput2',['../group__register_access_methods.html#ga0593b18644d9db9057aac0f2b77f46c6',1,'sensors.h']]], - ['vnsensor_5fwritebinaryoutput3',['VnSensor_writeBinaryOutput3',['../group__register_access_methods.html#gaec2de1660f6a0edb68abd917239de5af',1,'sensors.h']]], - ['vnsensor_5fwritecommunicationprotocolcontrol',['VnSensor_writeCommunicationProtocolControl',['../group__register_access_methods.html#ga5974ce35548e49e90b633557be8c2364',1,'sensors.h']]], - ['vnsensor_5fwritedeltathetaanddeltavelocityconfiguration',['VnSensor_writeDeltaThetaAndDeltaVelocityConfiguration',['../group__register_access_methods.html#gace4c74f3796b9457cd5dd235f3c4ff0a',1,'sensors.h']]], - ['vnsensor_5fwritegpsantennaoffset',['VnSensor_writeGpsAntennaOffset',['../group__register_access_methods.html#gae22146780ab3ceca8bf93b6ad0563832',1,'sensors.h']]], - ['vnsensor_5fwritegpscompassbaseline',['VnSensor_writeGpsCompassBaseline',['../group__register_access_methods.html#ga95b3cd873478323933621c226ba6fa43',1,'sensors.h']]], - ['vnsensor_5fwritegpsconfiguration',['VnSensor_writeGpsConfiguration',['../group__register_access_methods.html#gaf028e28d43bfafe997fedff679676f96',1,'sensors.h']]], - ['vnsensor_5fwritegyrocompensation',['VnSensor_writeGyroCompensation',['../group__register_access_methods.html#ga22b2d3d889a052394c75681a5be5d9f5',1,'sensors.h']]], - ['vnsensor_5fwriteimufilteringconfiguration',['VnSensor_writeImuFilteringConfiguration',['../group__register_access_methods.html#ga154f2361ef7f659a88987e003433827f',1,'sensors.h']]], - ['vnsensor_5fwriteinsbasicconfigurationvn200',['VnSensor_writeInsBasicConfigurationVn200',['../group__register_access_methods.html#gaaba64f6dd2d1047abe646ddebc7b93ae',1,'sensors.h']]], - ['vnsensor_5fwriteinsbasicconfigurationvn300',['VnSensor_writeInsBasicConfigurationVn300',['../group__register_access_methods.html#gacefa46fcb273a23a6ab9b1d1ab31d609',1,'sensors.h']]], - ['vnsensor_5fwritemagneticandgravityreferencevectors',['VnSensor_writeMagneticAndGravityReferenceVectors',['../group__register_access_methods.html#gad29730d7923fde28d2f060a98f316e89',1,'sensors.h']]], - ['vnsensor_5fwritemagnetometercalibrationcontrol',['VnSensor_writeMagnetometerCalibrationControl',['../group__register_access_methods.html#ga7e608b179ffa0ecb9760a52ae6bb6b14',1,'sensors.h']]], - ['vnsensor_5fwritemagnetometercompensation',['VnSensor_writeMagnetometerCompensation',['../group__register_access_methods.html#ga89f5520218f42ec468dd20ea12f18bac',1,'sensors.h']]], - ['vnsensor_5fwritereferenceframerotation',['VnSensor_writeReferenceFrameRotation',['../group__register_access_methods.html#ga8d511e8182ff1d61d34096aa28a60246',1,'sensors.h']]], - ['vnsensor_5fwritereferencevectorconfiguration',['VnSensor_writeReferenceVectorConfiguration',['../group__register_access_methods.html#gaf690e1c75f75b081bb101a4fecf6ca6c',1,'sensors.h']]], - ['vnsensor_5fwriteserialbaudrate',['VnSensor_writeSerialBaudRate',['../group__register_access_methods.html#gad8213b009a621fa4d5cc5606b60ccf8c',1,'sensors.h']]], - ['vnsensor_5fwritesettings',['VnSensor_writeSettings',['../sensors_8h.html#afbdfb0941074d3a140e32e6da4f28e88',1,'sensors.h']]], - ['vnsensor_5fwritestartupfilterbiasestimate',['VnSensor_writeStartupFilterBiasEstimate',['../group__register_access_methods.html#ga4c15c98e22fb2579c6b6c48ae8151ad7',1,'sensors.h']]], - ['vnsensor_5fwritesynchronizationcontrol',['VnSensor_writeSynchronizationControl',['../group__register_access_methods.html#ga10c74261f30f6ede9646616ac6288c01',1,'sensors.h']]], - ['vnsensor_5fwritesynchronizationstatus',['VnSensor_writeSynchronizationStatus',['../group__register_access_methods.html#ga450ed738cccbfce402914591e7a5b2e9',1,'sensors.h']]], - ['vnsensor_5fwriteusertag',['VnSensor_writeUserTag',['../group__register_access_methods.html#gad0c969683a4d4acc82f85fce8937a6b7',1,'sensors.h']]], - ['vnsensor_5fwritevelocitycompensationcontrol',['VnSensor_writeVelocityCompensationControl',['../group__register_access_methods.html#gaf00c20b253fae8d5459d80730184612a',1,'sensors.h']]], - ['vnsensor_5fwritevelocitycompensationmeasurement',['VnSensor_writeVelocityCompensationMeasurement',['../group__register_access_methods.html#ga15908f6e79698cd1718df53f47fccd4e',1,'sensors.h']]], - ['vnsensor_5fwritevpeaccelerometerbasictuning',['VnSensor_writeVpeAccelerometerBasicTuning',['../group__register_access_methods.html#ga4f01ae9f67b45dd00b3f78e735ed0f68',1,'sensors.h']]], - ['vnsensor_5fwritevpebasiccontrol',['VnSensor_writeVpeBasicControl',['../group__register_access_methods.html#ga4a5de1b8deb2f82ed44ade6974a15e02',1,'sensors.h']]], - ['vnsensor_5fwritevpemagnetometerbasictuning',['VnSensor_writeVpeMagnetometerBasicTuning',['../group__register_access_methods.html#gac693546c765c03faedcd2318fd26fcbf',1,'sensors.h']]], - ['vnserialport',['VnSerialPort',['../struct_vn_serial_port.html',1,'']]], - ['vnspi_5fgenreadaccelerationcompensation',['VnSpi_genReadAccelerationCompensation',['../group__spi__genread__functions.html#ga37a6319319a801d2fa13b8c1c879b224',1,'spi.h']]], - ['vnspi_5fgenreadaccelerationmeasurements',['VnSpi_genReadAccelerationMeasurements',['../group__spi__genread__functions.html#ga5256cec6756dab48dedb965d65a8aa44',1,'spi.h']]], - ['vnspi_5fgenreadangularratemeasurements',['VnSpi_genReadAngularRateMeasurements',['../group__spi__genread__functions.html#ga5c470933ed9ba868a80794e9b1f0d1f6',1,'spi.h']]], - ['vnspi_5fgenreadasyncdataoutputfrequency',['VnSpi_genReadAsyncDataOutputFrequency',['../group__spi__genread__functions.html#gac68bd6424288428b33c80b6c6157dfb9',1,'spi.h']]], - ['vnspi_5fgenreadasyncdataoutputtype',['VnSpi_genReadAsyncDataOutputType',['../group__spi__genread__functions.html#ga9883fa4c86f7bf01bc92d4cbf2bee3e0',1,'spi.h']]], - ['vnspi_5fgenreadattitudequaternion',['VnSpi_genReadAttitudeQuaternion',['../group__spi__genread__functions.html#ga4c75e4055467d763d82887952e5b0a35',1,'spi.h']]], - ['vnspi_5fgenreadcalculatedmagnetometercalibration',['VnSpi_genReadCalculatedMagnetometerCalibration',['../group__spi__genread__functions.html#gafbdab258cd5ba3e9af52de150e457f38',1,'spi.h']]], - ['vnspi_5fgenreadcommunicationprotocolcontrol',['VnSpi_genReadCommunicationProtocolControl',['../group__spi__genread__functions.html#gadc4ef4fd7626a1a0aaab804d3dec49ba',1,'spi.h']]], - ['vnspi_5fgenreaddeltathetaanddeltavelocity',['VnSpi_genReadDeltaThetaAndDeltaVelocity',['../group__spi__genread__functions.html#ga44ed8c35893221d4b45df083dca10c3d',1,'spi.h']]], - ['vnspi_5fgenreaddeltathetaanddeltavelocityconfiguration',['VnSpi_genReadDeltaThetaAndDeltaVelocityConfiguration',['../group__spi__genread__functions.html#ga7d9cd0da9149cba3b3be7db116bf9c50',1,'spi.h']]], - ['vnspi_5fgenreadfirmwareversion',['VnSpi_genReadFirmwareVersion',['../group__spi__genread__functions.html#gaff5a3433438aca40426d2a9dc25e8479',1,'spi.h']]], - ['vnspi_5fgenreadgpsantennaoffset',['VnSpi_genReadGpsAntennaOffset',['../group__spi__genread__functions.html#ga45a5b49df275f7a4140ae9c6325b07a8',1,'spi.h']]], - ['vnspi_5fgenreadgpscompassbaseline',['VnSpi_genReadGpsCompassBaseline',['../group__spi__genread__functions.html#ga9535df37388c1dfc3f467c83599e29f1',1,'spi.h']]], - ['vnspi_5fgenreadgpscompassestimatedbaseline',['VnSpi_genReadGpsCompassEstimatedBaseline',['../group__spi__genread__functions.html#ga6a272e01917fd331bc11356f593fbb01',1,'spi.h']]], - ['vnspi_5fgenreadgpsconfiguration',['VnSpi_genReadGpsConfiguration',['../group__spi__genread__functions.html#ga0c5e13df4efd0872f70f5ed55d926140',1,'spi.h']]], - ['vnspi_5fgenreadgpssolutionecef',['VnSpi_genReadGpsSolutionEcef',['../group__spi__genread__functions.html#ga47471d35216364c168fed7fd370a1a4d',1,'spi.h']]], - ['vnspi_5fgenreadgpssolutionlla',['VnSpi_genReadGpsSolutionLla',['../group__spi__genread__functions.html#gad0c2f3983d05acaa3dc116dfba2aa0f1',1,'spi.h']]], - ['vnspi_5fgenreadgyrocompensation',['VnSpi_genReadGyroCompensation',['../group__spi__genread__functions.html#ga420dbf2c6438801d7f753a48ec91b250',1,'spi.h']]], - ['vnspi_5fgenreadhardwarerevision',['VnSpi_genReadHardwareRevision',['../group__spi__genread__functions.html#gaf0facfa01144eb8e36db9e2e279b6ba7',1,'spi.h']]], - ['vnspi_5fgenreadimufilteringconfiguration',['VnSpi_genReadImuFilteringConfiguration',['../group__spi__genread__functions.html#gaa4fdc6f9e24606cc4e189528ab25de3a',1,'spi.h']]], - ['vnspi_5fgenreadimumeasurements',['VnSpi_genReadImuMeasurements',['../group__spi__genread__functions.html#ga089df3bfa8866a3bb364907100628076',1,'spi.h']]], - ['vnspi_5fgenreadinsbasicconfiguration',['VnSpi_genReadInsBasicConfiguration',['../group__spi__genread__functions.html#gade45d4032bd971c66f718ff606924549',1,'spi.h']]], - ['vnspi_5fgenreadinssolutionecef',['VnSpi_genReadInsSolutionEcef',['../group__spi__genread__functions.html#gab79ae39546c0b2c455fde5610ee4ee32',1,'spi.h']]], - ['vnspi_5fgenreadinssolutionlla',['VnSpi_genReadInsSolutionLla',['../group__spi__genread__functions.html#gae82ddb7c9fe4460e49efecd6ba0a5f68',1,'spi.h']]], - ['vnspi_5fgenreadinsstateecef',['VnSpi_genReadInsStateEcef',['../group__spi__genread__functions.html#ga2facbeae1e8f868f48ef27feded545ff',1,'spi.h']]], - ['vnspi_5fgenreadinsstatella',['VnSpi_genReadInsStateLla',['../group__spi__genread__functions.html#ga86101c64d6e77f4b7b56b7458dc4818e',1,'spi.h']]], - ['vnspi_5fgenreadmagneticaccelerationandangularrates',['VnSpi_genReadMagneticAccelerationAndAngularRates',['../group__spi__genread__functions.html#gaf44d95fa29e73a6552249f1598eeb46c',1,'spi.h']]], - ['vnspi_5fgenreadmagneticandgravityreferencevectors',['VnSpi_genReadMagneticAndGravityReferenceVectors',['../group__spi__genread__functions.html#ga553b56f0429b61fe0c314da1a3da882f',1,'spi.h']]], - ['vnspi_5fgenreadmagneticmeasurements',['VnSpi_genReadMagneticMeasurements',['../group__spi__genread__functions.html#gae5d5b881d83e2cf9977d06b7d4e05209',1,'spi.h']]], - ['vnspi_5fgenreadmagnetometercalibrationcontrol',['VnSpi_genReadMagnetometerCalibrationControl',['../group__spi__genread__functions.html#gab9308dbbcece729230e614644295fd4f',1,'spi.h']]], - ['vnspi_5fgenreadmagnetometercompensation',['VnSpi_genReadMagnetometerCompensation',['../group__spi__genread__functions.html#ga1628c266bec6e0e4e70ba798424b75a8',1,'spi.h']]], - ['vnspi_5fgenreadmodelnumber',['VnSpi_genReadModelNumber',['../group__spi__genread__functions.html#gae60a881e9809cbd66de1954470ca2b5e',1,'spi.h']]], - ['vnspi_5fgenreadquaternionmagneticaccelerationandangularrates',['VnSpi_genReadQuaternionMagneticAccelerationAndAngularRates',['../group__spi__genread__functions.html#gadca926961fb2f760790e8389b672b072',1,'spi.h']]], - ['vnspi_5fgenreadreferenceframerotation',['VnSpi_genReadReferenceFrameRotation',['../group__spi__genread__functions.html#gaec7f872ef4e253d58983327d4973c04d',1,'spi.h']]], - ['vnspi_5fgenreadreferencevectorconfiguration',['VnSpi_genReadReferenceVectorConfiguration',['../group__spi__genread__functions.html#ga0bf2b3b804893cbc426d175c962f0ae0',1,'spi.h']]], - ['vnspi_5fgenreadserialbaudrate',['VnSpi_genReadSerialBaudRate',['../group__spi__genread__functions.html#gae1e29d8b311f6b7a9d16622a3be655ca',1,'spi.h']]], - ['vnspi_5fgenreadserialnumber',['VnSpi_genReadSerialNumber',['../group__spi__genread__functions.html#ga1d3ff8731075b1ba7ecbe32685d5f6e5',1,'spi.h']]], - ['vnspi_5fgenreadstartupfilterbiasestimate',['VnSpi_genReadStartupFilterBiasEstimate',['../group__spi__genread__functions.html#ga363f4af2a89c3691023b8ec999306fd0',1,'spi.h']]], - ['vnspi_5fgenreadsynchronizationcontrol',['VnSpi_genReadSynchronizationControl',['../group__spi__genread__functions.html#gac4f6f254b611abe44f842b14fb6b4251',1,'spi.h']]], - ['vnspi_5fgenreadsynchronizationstatus',['VnSpi_genReadSynchronizationStatus',['../group__spi__genread__functions.html#gabf28c7214286955c1f785bb19098d749',1,'spi.h']]], - ['vnspi_5fgenreadusertag',['VnSpi_genReadUserTag',['../group__spi__genread__functions.html#ga9c0061a63116770c8a3537747853710b',1,'spi.h']]], - ['vnspi_5fgenreadvelocitycompensationcontrol',['VnSpi_genReadVelocityCompensationControl',['../group__spi__genread__functions.html#gaac4a4c33530ed20f88c91610c6577cea',1,'spi.h']]], - ['vnspi_5fgenreadvelocitycompensationmeasurement',['VnSpi_genReadVelocityCompensationMeasurement',['../group__spi__genread__functions.html#gab4a71b31e74c273803c81945654c52b6',1,'spi.h']]], - ['vnspi_5fgenreadvpeaccelerometerbasictuning',['VnSpi_genReadVpeAccelerometerBasicTuning',['../group__spi__genread__functions.html#ga7a21dfec10e052dd63a06181d9b9f1ce',1,'spi.h']]], - ['vnspi_5fgenreadvpebasiccontrol',['VnSpi_genReadVpeBasicControl',['../group__spi__genread__functions.html#ga94e028fd9db3bf9b7ff8b3a3662d42d2',1,'spi.h']]], - ['vnspi_5fgenreadvpemagnetometerbasictuning',['VnSpi_genReadVpeMagnetometerBasicTuning',['../group__spi__genread__functions.html#ga327dcd2533aa70813ec4cbb4549bfa7e',1,'spi.h']]], - ['vnspi_5fgenreadyawpitchroll',['VnSpi_genReadYawPitchRoll',['../group__spi__genread__functions.html#ga9a894bb76035e5e778a4db7688cf60d3',1,'spi.h']]], - ['vnspi_5fgenreadyawpitchrollmagneticaccelerationandangularrates',['VnSpi_genReadYawPitchRollMagneticAccelerationAndAngularRates',['../group__spi__genread__functions.html#gaa77f36e390ce4cdfee72f634e76d0441',1,'spi.h']]], - ['vnspi_5fgenreadyawpitchrolltruebodyaccelerationandangularrates',['VnSpi_genReadYawPitchRollTrueBodyAccelerationAndAngularRates',['../group__spi__genread__functions.html#ga8552f7ee16bf42f07f76a8def50bc7e4',1,'spi.h']]], - ['vnspi_5fgenreadyawpitchrolltrueinertialaccelerationandangularrates',['VnSpi_genReadYawPitchRollTrueInertialAccelerationAndAngularRates',['../group__spi__genread__functions.html#ga8b9bbb4b762fdc258e677d635cab0188',1,'spi.h']]], - ['vnspi_5fgenwriteaccelerationcompensation',['VnSpi_genWriteAccelerationCompensation',['../group__spi__genwrite__functions.html#ga45bea37cdfa5668a97efda57802f3740',1,'spi.h']]], - ['vnspi_5fgenwriteasyncdataoutputfrequency',['VnSpi_genWriteAsyncDataOutputFrequency',['../group__spi__genwrite__functions.html#ga3be81d1f7830cc5ef732ed635e94e88f',1,'spi.h']]], - ['vnspi_5fgenwriteasyncdataoutputfrequencywithoptions',['VnSpi_genWriteAsyncDataOutputFrequencyWithOptions',['../group__spi__genwrite__functions.html#gaf33a7c31325ffac3165e715919ed2a5b',1,'spi.h']]], - ['vnspi_5fgenwriteasyncdataoutputtype',['VnSpi_genWriteAsyncDataOutputType',['../group__spi__genwrite__functions.html#gae5e4e9b342f5eb6462541b7f5af9523a',1,'spi.h']]], - ['vnspi_5fgenwriteasyncdataoutputtypewithoptions',['VnSpi_genWriteAsyncDataOutputTypeWithOptions',['../group__spi__genwrite__functions.html#ga4d307c2e9a84bb8c8e8af6e8361a6e67',1,'spi.h']]], - ['vnspi_5fgenwritecommunicationprotocolcontrol',['VnSpi_genWriteCommunicationProtocolControl',['../group__spi__genwrite__functions.html#ga61deeb9a26a3f410658e50ace8614a46',1,'spi.h']]], - ['vnspi_5fgenwritedeltathetaanddeltavelocityconfiguration',['VnSpi_genWriteDeltaThetaAndDeltaVelocityConfiguration',['../group__spi__genwrite__functions.html#gace21c317aaf86a4bdb7e45b7360df821',1,'spi.h']]], - ['vnspi_5fgenwritegpsantennaoffset',['VnSpi_genWriteGpsAntennaOffset',['../group__spi__genwrite__functions.html#ga87fc3e262f41444a6a0cc8f88b0de5e4',1,'spi.h']]], - ['vnspi_5fgenwritegpscompassbaseline',['VnSpi_genWriteGpsCompassBaseline',['../group__spi__genwrite__functions.html#ga91b6fbd2c5ef57e20242be9baba975a8',1,'spi.h']]], - ['vnspi_5fgenwritegpsconfiguration',['VnSpi_genWriteGpsConfiguration',['../group__spi__genwrite__functions.html#ga523d9203ac3fbdeec01577b5f191c164',1,'spi.h']]], - ['vnspi_5fgenwritegyrocompensation',['VnSpi_genWriteGyroCompensation',['../group__spi__genwrite__functions.html#ga8361129dfe2fc16fb83e24118db54d7e',1,'spi.h']]], - ['vnspi_5fgenwriteimufilteringconfiguration',['VnSpi_genWriteImuFilteringConfiguration',['../group__spi__genwrite__functions.html#ga254beee15c45ffa6262d0e038f65f867',1,'spi.h']]], - ['vnspi_5fgenwriteinsbasicconfiguration',['VnSpi_genWriteInsBasicConfiguration',['../group__spi__genwrite__functions.html#gad63c73dee0560a21acf3c440cd248778',1,'spi.h']]], - ['vnspi_5fgenwritemagneticandgravityreferencevectors',['VnSpi_genWriteMagneticAndGravityReferenceVectors',['../group__spi__genwrite__functions.html#gafb88161b65d526751b820b9c570759f8',1,'spi.h']]], - ['vnspi_5fgenwritemagnetometercalibrationcontrol',['VnSpi_genWriteMagnetometerCalibrationControl',['../group__spi__genwrite__functions.html#ga224cb589c833441ebf999751258e8b45',1,'spi.h']]], - ['vnspi_5fgenwritemagnetometercompensation',['VnSpi_genWriteMagnetometerCompensation',['../group__spi__genwrite__functions.html#ga5e9dc8c4421b84e9bb93f6bf8e98b39e',1,'spi.h']]], - ['vnspi_5fgenwritereferenceframerotation',['VnSpi_genWriteReferenceFrameRotation',['../group__spi__genwrite__functions.html#ga3ac075d69ad46e1f7da09c3e718f7463',1,'spi.h']]], - ['vnspi_5fgenwritereferencevectorconfiguration',['VnSpi_genWriteReferenceVectorConfiguration',['../group__spi__genwrite__functions.html#gaeb47e3d914161684b96da15f5ead5f9c',1,'spi.h']]], - ['vnspi_5fgenwriteserialbaudrate',['VnSpi_genWriteSerialBaudRate',['../group__spi__genwrite__functions.html#gaf6dc937dee583bb5eb392d2c1c3234ca',1,'spi.h']]], - ['vnspi_5fgenwriteserialbaudratewithoptions',['VnSpi_genWriteSerialBaudRateWithOptions',['../group__spi__genwrite__functions.html#ga2e77528d33d9be60fee7f80255eeebf1',1,'spi.h']]], - ['vnspi_5fgenwritestartupfilterbiasestimate',['VnSpi_genWriteStartupFilterBiasEstimate',['../group__spi__genwrite__functions.html#ga65402f75fe21aefdfd29122ef21a5560',1,'spi.h']]], - ['vnspi_5fgenwritesynchronizationcontrol',['VnSpi_genWriteSynchronizationControl',['../group__spi__genwrite__functions.html#ga1d2a7ff0d3954da51dad6eccf7fbaf87',1,'spi.h']]], - ['vnspi_5fgenwritesynchronizationstatus',['VnSpi_genWriteSynchronizationStatus',['../group__spi__genwrite__functions.html#ga81f044cc768c29e1b4c38525543172f6',1,'spi.h']]], - ['vnspi_5fgenwriteusertag',['VnSpi_genWriteUserTag',['../group__spi__genwrite__functions.html#gabd6849328ae689ad9afb0192a72153a6',1,'spi.h']]], - ['vnspi_5fgenwritevelocitycompensationcontrol',['VnSpi_genWriteVelocityCompensationControl',['../group__spi__genwrite__functions.html#ga4319bb16eb7aa0df23825c4efc8cb9ec',1,'spi.h']]], - ['vnspi_5fgenwritevelocitycompensationmeasurement',['VnSpi_genWriteVelocityCompensationMeasurement',['../group__spi__genwrite__functions.html#ga2ed315bae47634825557fc22c69f6e7d',1,'spi.h']]], - ['vnspi_5fgenwritevpeaccelerometerbasictuning',['VnSpi_genWriteVpeAccelerometerBasicTuning',['../group__spi__genwrite__functions.html#gac9c7b14a045d058e89705ae33f939157',1,'spi.h']]], - ['vnspi_5fgenwritevpebasiccontrol',['VnSpi_genWriteVpeBasicControl',['../group__spi__genwrite__functions.html#gaa265b8c0a941e40070f1458f7f715072',1,'spi.h']]], - ['vnspi_5fgenwritevpemagnetometerbasictuning',['VnSpi_genWriteVpeMagnetometerBasicTuning',['../group__spi__genwrite__functions.html#ga749c44f2b20d7fc9b2ff739e90dcad72',1,'spi.h']]], - ['vnstopwatch',['VnStopwatch',['../struct_vn_stopwatch.html',1,'']]], - ['vnstopwatch_5felapsedms',['VnStopwatch_elapsedMs',['../time_8h.html#accc9d9a023ae660c1efe6471b009aa02',1,'time.h']]], - ['vnstopwatch_5finitializeandstart',['VnStopwatch_initializeAndStart',['../time_8h.html#aa254433bbe9a72c8be1299aee3527715',1,'time.h']]], - ['vnstopwatch_5freset',['VnStopwatch_reset',['../time_8h.html#a21bb834a876ebc23c103866acd2dbf6f',1,'time.h']]], - ['vnthread',['VnThread',['../struct_vn_thread.html',1,'']]], - ['vnthread_5fjoin',['VnThread_join',['../thread_8h.html#aad9e390fadd1d328f07169feb6bb7332',1,'thread.h']]], - ['vnthread_5fsleepms',['VnThread_sleepMs',['../thread_8h.html#ae184a96ccf6c94c4b9d7b937655b0c44',1,'thread.h']]], - ['vnthread_5fsleepsec',['VnThread_sleepSec',['../thread_8h.html#a4f80a22d8ebeab270653deeb86199726',1,'thread.h']]], - ['vnthread_5fsleepus',['VnThread_sleepUs',['../thread_8h.html#a81cfc1ad5f4aa45b597e571e7a171beb',1,'thread.h']]], - ['vnthread_5fstartnew',['VnThread_startNew',['../thread_8h.html#a553c92d20be27b8e3c0155d002ac2397',1,'thread.h']]], - ['vnthread_5fstartroutine',['VnThread_StartRoutine',['../thread_8h.html#a48573a28650e096f1af4a848caee6ea4',1,'thread.h']]], - ['vnuartpacket',['VnUartPacket',['../struct_vn_uart_packet.html',1,'']]], - ['vnuartpacket_5fextractfloat',['VnUartPacket_extractFloat',['../group__uart_packet_binary_extractors.html#gaf89e96757c64209ea52a6963f94c48e8',1,'upack.h']]], - ['vnuartpacket_5fextractint8',['VnUartPacket_extractInt8',['../group__uart_packet_binary_extractors.html#gad00a7e842e623c73a76d6c245aa95725',1,'upack.h']]], - ['vnuartpacket_5fextractmat3f',['VnUartPacket_extractMat3f',['../group__uart_packet_binary_extractors.html#ga2aafc8af2844100e9ef5adcbe0c9379e',1,'upack.h']]], - ['vnuartpacket_5fextractuint16',['VnUartPacket_extractUint16',['../group__uart_packet_binary_extractors.html#ga278d70b97cb5296fc07ed7173acb50d1',1,'upack.h']]], - ['vnuartpacket_5fextractuint32',['VnUartPacket_extractUint32',['../group__uart_packet_binary_extractors.html#ga226ec6598ef9f3041da63b94d6218c98',1,'upack.h']]], - ['vnuartpacket_5fextractuint64',['VnUartPacket_extractUint64',['../group__uart_packet_binary_extractors.html#ga6fe1746b5fec18983245f1bd020f39e9',1,'upack.h']]], - ['vnuartpacket_5fextractuint8',['VnUartPacket_extractUint8',['../group__uart_packet_binary_extractors.html#ga8c33488adb9d44d21072b34dcfa21601',1,'upack.h']]], - ['vnuartpacket_5fextractvec3d',['VnUartPacket_extractVec3d',['../group__uart_packet_binary_extractors.html#ga2d1b0512baeae011739cfab8e8dfcecc',1,'upack.h']]], - ['vnuartpacket_5fextractvec3f',['VnUartPacket_extractVec3f',['../group__uart_packet_binary_extractors.html#gab50c5ac1ff646d31e2648fe67c8977e4',1,'upack.h']]], - ['vnuartpacket_5fextractvec4f',['VnUartPacket_extractVec4f',['../group__uart_packet_binary_extractors.html#gae6a318f365e5f15aca286ff0636bcc5e',1,'upack.h']]], - ['vnuartpacket_5fgencmdknownaccelerationdisturbance',['VnUartPacket_genCmdKnownAccelerationDisturbance',['../group__uart__genread__functions.html#ga941f24bbdcc59fbba104e8bb35bf9bc3',1,'upack.h']]], - ['vnuartpacket_5fgencmdknownmagneticdisturbance',['VnUartPacket_genCmdKnownMagneticDisturbance',['../group__uart__genread__functions.html#gaa59bf447f0497179fb33178affb9297f',1,'upack.h']]], - ['vnuartpacket_5fgencmdreset',['VnUartPacket_genCmdReset',['../group__uart__genread__functions.html#ga642b0af9fe84de5f4b80e75c2217846a',1,'upack.h']]], - ['vnuartpacket_5fgencmdrestorefactorysettings',['VnUartPacket_genCmdRestoreFactorySettings',['../group__uart__genread__functions.html#gac9372fab871d4c6d8e4052ab2a8a59c4',1,'upack.h']]], - ['vnuartpacket_5fgencmdsetgyrobias',['VnUartPacket_genCmdSetGyroBias',['../group__uart__genread__functions.html#ga2c1c2f9679acc65ea581fe7a48cfabfd',1,'upack.h']]], - ['vnuartpacket_5fgencmdtare',['VnUartPacket_genCmdTare',['../group__uart__genread__functions.html#ga04135c26984427ba58a425b7d45eba00',1,'upack.h']]], - ['vnuartpacket_5fgencmdwritesettings',['VnUartPacket_genCmdWriteSettings',['../group__uart__genread__functions.html#ga11c49872fbb15b494fae4b916c299951',1,'upack.h']]], - ['vnuartpacket_5fgenreadaccelerationcompensation',['VnUartPacket_genReadAccelerationCompensation',['../group__uart__genread__functions.html#ga5f205091b639f6e7c4f937d38cd91f9b',1,'upack.h']]], - ['vnuartpacket_5fgenreadaccelerationmeasurements',['VnUartPacket_genReadAccelerationMeasurements',['../group__uart__genread__functions.html#ga21c525d82be0c5cb114717321c5685ff',1,'upack.h']]], - ['vnuartpacket_5fgenreadangularratemeasurements',['VnUartPacket_genReadAngularRateMeasurements',['../group__uart__genread__functions.html#gaa46188b2b31872bdb3fd4f64ffc3266b',1,'upack.h']]], - ['vnuartpacket_5fgenreadasyncdataoutputfrequency',['VnUartPacket_genReadAsyncDataOutputFrequency',['../group__uart__genread__functions.html#gaf6f6cfa7c857e6b36da4b4add05b0e0c',1,'upack.h']]], - ['vnuartpacket_5fgenreadasyncdataoutputtype',['VnUartPacket_genReadAsyncDataOutputType',['../group__uart__genread__functions.html#ga8bce5cc7f2bf30ab077c8753ebbb5560',1,'upack.h']]], - ['vnuartpacket_5fgenreadattitudequaternion',['VnUartPacket_genReadAttitudeQuaternion',['../group__uart__genread__functions.html#ga435de44db6613ec635472ea0c9a407ce',1,'upack.h']]], - ['vnuartpacket_5fgenreadbinaryoutput1',['VnUartPacket_genReadBinaryOutput1',['../group__uart__genread__functions.html#gaedd9ccaa2c40befce571753fde9c2879',1,'upack.h']]], - ['vnuartpacket_5fgenreadbinaryoutput2',['VnUartPacket_genReadBinaryOutput2',['../group__uart__genread__functions.html#ga7646253716e66d45c0cbc167b41b5ce1',1,'upack.h']]], - ['vnuartpacket_5fgenreadbinaryoutput3',['VnUartPacket_genReadBinaryOutput3',['../group__uart__genread__functions.html#ga0d757e1df2a76638dd258f93ee9fd1ac',1,'upack.h']]], - ['vnuartpacket_5fgenreadcalculatedmagnetometercalibration',['VnUartPacket_genReadCalculatedMagnetometerCalibration',['../group__uart__genread__functions.html#gaff29a166aa76f9a31799aa7ae8f28843',1,'upack.h']]], - ['vnuartpacket_5fgenreadcommunicationprotocolcontrol',['VnUartPacket_genReadCommunicationProtocolControl',['../group__uart__genread__functions.html#ga22c0610de2aa101cd9246d6f6422b750',1,'upack.h']]], - ['vnuartpacket_5fgenreaddeltathetaanddeltavelocity',['VnUartPacket_genReadDeltaThetaAndDeltaVelocity',['../group__uart__genread__functions.html#ga1e75c2c3fbe93d2d1ce3c6985813afaf',1,'upack.h']]], - ['vnuartpacket_5fgenreaddeltathetaanddeltavelocityconfiguration',['VnUartPacket_genReadDeltaThetaAndDeltaVelocityConfiguration',['../group__uart__genread__functions.html#ga08679abc9d275b48572a9a9b5e6b9fb3',1,'upack.h']]], - ['vnuartpacket_5fgenreadfirmwareversion',['VnUartPacket_genReadFirmwareVersion',['../group__uart__genread__functions.html#gae835fb2183f5ab2cb148ddb975fac3c3',1,'upack.h']]], - ['vnuartpacket_5fgenreadgpsantennaoffset',['VnUartPacket_genReadGpsAntennaOffset',['../group__uart__genread__functions.html#ga4fd179300b65cc5362c37e6c13850c0f',1,'upack.h']]], - ['vnuartpacket_5fgenreadgpscompassbaseline',['VnUartPacket_genReadGpsCompassBaseline',['../group__uart__genread__functions.html#gac70fe017f1bb721704cbf9fc15b6dcc5',1,'upack.h']]], - ['vnuartpacket_5fgenreadgpscompassestimatedbaseline',['VnUartPacket_genReadGpsCompassEstimatedBaseline',['../group__uart__genread__functions.html#gab0d48176542dd3862f47b4d66f0a6a3d',1,'upack.h']]], - ['vnuartpacket_5fgenreadgpsconfiguration',['VnUartPacket_genReadGpsConfiguration',['../group__uart__genread__functions.html#gacc5b8a44170bd9df4623ae9d006885a6',1,'upack.h']]], - ['vnuartpacket_5fgenreadgpssolutionecef',['VnUartPacket_genReadGpsSolutionEcef',['../group__uart__genread__functions.html#gaf638e3ca1591b6148b2ea7d6c8321b31',1,'upack.h']]], - ['vnuartpacket_5fgenreadgpssolutionlla',['VnUartPacket_genReadGpsSolutionLla',['../group__uart__genread__functions.html#ga70330a7c99e7a130d0f62ad7b86c174c',1,'upack.h']]], - ['vnuartpacket_5fgenreadgyrocompensation',['VnUartPacket_genReadGyroCompensation',['../group__uart__genread__functions.html#ga5eb852a0aafaa7d40baee4cc2ff63942',1,'upack.h']]], - ['vnuartpacket_5fgenreadhardwarerevision',['VnUartPacket_genReadHardwareRevision',['../group__uart__genread__functions.html#ga1619337729455368e7ae9f9f715f1d9f',1,'upack.h']]], - ['vnuartpacket_5fgenreadimufilteringconfiguration',['VnUartPacket_genReadImuFilteringConfiguration',['../group__uart__genread__functions.html#ga5d3fa0297cc207d4ddd4dc23ae5de4f9',1,'upack.h']]], - ['vnuartpacket_5fgenreadimumeasurements',['VnUartPacket_genReadImuMeasurements',['../group__uart__genread__functions.html#ga0d594e163064199f7f9023e88d8aa155',1,'upack.h']]], - ['vnuartpacket_5fgenreadinsbasicconfiguration',['VnUartPacket_genReadInsBasicConfiguration',['../group__uart__genread__functions.html#gaa5dca11d0b9ce6d4c1dd290c3d612981',1,'upack.h']]], - ['vnuartpacket_5fgenreadinssolutionecef',['VnUartPacket_genReadInsSolutionEcef',['../group__uart__genread__functions.html#ga70acac0fd13030156f54fabc9a0d2904',1,'upack.h']]], - ['vnuartpacket_5fgenreadinssolutionlla',['VnUartPacket_genReadInsSolutionLla',['../group__uart__genread__functions.html#gadf0ff5c26b4d0d6fe1d2758ab68c546b',1,'upack.h']]], - ['vnuartpacket_5fgenreadinsstateecef',['VnUartPacket_genReadInsStateEcef',['../group__uart__genread__functions.html#gaf0222df493c5d456ce63b4e78a4cd9e9',1,'upack.h']]], - ['vnuartpacket_5fgenreadinsstatella',['VnUartPacket_genReadInsStateLla',['../group__uart__genread__functions.html#ga26c41e5aa74be641f23863a0c1124511',1,'upack.h']]], - ['vnuartpacket_5fgenreadmagneticaccelerationandangularrates',['VnUartPacket_genReadMagneticAccelerationAndAngularRates',['../group__uart__genread__functions.html#gac8d0baec84fe026dcc0d9ca24e6a3d62',1,'upack.h']]], - ['vnuartpacket_5fgenreadmagneticandgravityreferencevectors',['VnUartPacket_genReadMagneticAndGravityReferenceVectors',['../group__uart__genread__functions.html#ga90568f7c3ee0815912916e6c66a02576',1,'upack.h']]], - ['vnuartpacket_5fgenreadmagneticmeasurements',['VnUartPacket_genReadMagneticMeasurements',['../group__uart__genread__functions.html#gaf48c4d2326cb3a16810af66eb1b94117',1,'upack.h']]], - ['vnuartpacket_5fgenreadmagnetometercalibrationcontrol',['VnUartPacket_genReadMagnetometerCalibrationControl',['../group__uart__genread__functions.html#gabefc1c5babe4dfc2ad8abff6bdcef619',1,'upack.h']]], - ['vnuartpacket_5fgenreadmagnetometercompensation',['VnUartPacket_genReadMagnetometerCompensation',['../group__uart__genread__functions.html#ga331692a3a11c1c134291524277e3ea18',1,'upack.h']]], - ['vnuartpacket_5fgenreadmodelnumber',['VnUartPacket_genReadModelNumber',['../group__uart__genread__functions.html#ga76e37c9c18f1b4b96d17e9e4d0a195ce',1,'upack.h']]], - ['vnuartpacket_5fgenreadquaternionmagneticaccelerationandangularrates',['VnUartPacket_genReadQuaternionMagneticAccelerationAndAngularRates',['../group__uart__genread__functions.html#ga552d2cb67910d4f373194eecfbcd8c0b',1,'upack.h']]], - ['vnuartpacket_5fgenreadreferenceframerotation',['VnUartPacket_genReadReferenceFrameRotation',['../group__uart__genread__functions.html#gac90c68d8ad80bbd4779f2ef556b92bbf',1,'upack.h']]], - ['vnuartpacket_5fgenreadreferencevectorconfiguration',['VnUartPacket_genReadReferenceVectorConfiguration',['../group__uart__genread__functions.html#gad5a2663abae78a95fb55e240c52aae23',1,'upack.h']]], - ['vnuartpacket_5fgenreadserialbaudrate',['VnUartPacket_genReadSerialBaudRate',['../group__uart__genread__functions.html#ga158be77ee67a3edee0a8fad41c208470',1,'upack.h']]], - ['vnuartpacket_5fgenreadserialnumber',['VnUartPacket_genReadSerialNumber',['../group__uart__genread__functions.html#ga9b2ca08a5ee7b3b395de5179c0751548',1,'upack.h']]], - ['vnuartpacket_5fgenreadstartupfilterbiasestimate',['VnUartPacket_genReadStartupFilterBiasEstimate',['../group__uart__genread__functions.html#ga6ef1f5b95112f8039d5e641043646e56',1,'upack.h']]], - ['vnuartpacket_5fgenreadsynchronizationcontrol',['VnUartPacket_genReadSynchronizationControl',['../group__uart__genread__functions.html#gaa3bb38ada712c3964b95238ac91ff595',1,'upack.h']]], - ['vnuartpacket_5fgenreadsynchronizationstatus',['VnUartPacket_genReadSynchronizationStatus',['../group__uart__genread__functions.html#gafeb0037a02815c32b58c6d5d49cd2ea3',1,'upack.h']]], - ['vnuartpacket_5fgenreadusertag',['VnUartPacket_genReadUserTag',['../group__uart__genread__functions.html#gaa58d5e31b81f66f640e313b51aef86b2',1,'upack.h']]], - ['vnuartpacket_5fgenreadvelocitycompensationcontrol',['VnUartPacket_genReadVelocityCompensationControl',['../group__uart__genread__functions.html#ga5f28e6f0b8f3c76e10bc16e4b0ec9ecd',1,'upack.h']]], - ['vnuartpacket_5fgenreadvelocitycompensationmeasurement',['VnUartPacket_genReadVelocityCompensationMeasurement',['../group__uart__genread__functions.html#gae99080aebca2f1eac2c9d9cfb7286c69',1,'upack.h']]], - ['vnuartpacket_5fgenreadvpeaccelerometerbasictuning',['VnUartPacket_genReadVpeAccelerometerBasicTuning',['../group__uart__genread__functions.html#ga71ab80c1cd34f5657d73fe9af276113a',1,'upack.h']]], - ['vnuartpacket_5fgenreadvpebasiccontrol',['VnUartPacket_genReadVpeBasicControl',['../group__uart__genread__functions.html#ga44d3ce815ddda62cee9461454f069f71',1,'upack.h']]], - ['vnuartpacket_5fgenreadvpemagnetometerbasictuning',['VnUartPacket_genReadVpeMagnetometerBasicTuning',['../group__uart__genread__functions.html#gafbdf4518ed4438252e1d7687902b447f',1,'upack.h']]], - ['vnuartpacket_5fgenreadyawpitchroll',['VnUartPacket_genReadYawPitchRoll',['../group__uart__genread__functions.html#gae3123b118d0b1e06ff8badb9959f05f5',1,'upack.h']]], - ['vnuartpacket_5fgenreadyawpitchrollmagneticaccelerationandangularrates',['VnUartPacket_genReadYawPitchRollMagneticAccelerationAndAngularRates',['../group__uart__genread__functions.html#gaa40ffcce0f91d69eec26126667d49584',1,'upack.h']]], - ['vnuartpacket_5fgenreadyawpitchrolltruebodyaccelerationandangularrates',['VnUartPacket_genReadYawPitchRollTrueBodyAccelerationAndAngularRates',['../group__uart__genread__functions.html#gad00bb46c37ef0bf1101285b0461f4d26',1,'upack.h']]], - ['vnuartpacket_5fgenreadyawpitchrolltrueinertialaccelerationandangularrates',['VnUartPacket_genReadYawPitchRollTrueInertialAccelerationAndAngularRates',['../group__uart__genread__functions.html#gab987523a2f62aff14adf3418bc7590ff',1,'upack.h']]], - ['vnuartpacket_5fgenwriteaccelerationcompensation',['VnUartPacket_genWriteAccelerationCompensation',['../group__uart__genwrite__functions.html#ga715216a6eef04a26342b39135a5cda9a',1,'upack.h']]], - ['vnuartpacket_5fgenwriteasyncdataoutputfrequency',['VnUartPacket_genWriteAsyncDataOutputFrequency',['../group__uart__genwrite__functions.html#gafe690f4740b28ac67955415708496354',1,'upack.h']]], - ['vnuartpacket_5fgenwriteasyncdataoutputfrequencywithoptions',['VnUartPacket_genWriteAsyncDataOutputFrequencyWithOptions',['../group__uart__genwrite__functions.html#gab3406ea711ebdd029450ca00b8cf7153',1,'upack.h']]], - ['vnuartpacket_5fgenwriteasyncdataoutputtype',['VnUartPacket_genWriteAsyncDataOutputType',['../group__uart__genwrite__functions.html#ga3ff5e382b049ea97c0a31d9b68f79777',1,'upack.h']]], - ['vnuartpacket_5fgenwriteasyncdataoutputtypewithoptions',['VnUartPacket_genWriteAsyncDataOutputTypeWithOptions',['../group__uart__genwrite__functions.html#gaa43254fe19485ef91d7b6006547a36b4',1,'upack.h']]], - ['vnuartpacket_5fgenwritebinaryoutput1',['VnUartPacket_genWriteBinaryOutput1',['../group__uart__genwrite__functions.html#ga07afb3340e7843c1ecb9f55f1b5091b1',1,'upack.h']]], - ['vnuartpacket_5fgenwritebinaryoutput2',['VnUartPacket_genWriteBinaryOutput2',['../group__uart__genwrite__functions.html#ga0802e6cc8f20d364e235dfeca629cbc9',1,'upack.h']]], - ['vnuartpacket_5fgenwritebinaryoutput3',['VnUartPacket_genWriteBinaryOutput3',['../group__uart__genwrite__functions.html#ga68ad53f662108982d2bdbd85992ebd54',1,'upack.h']]], - ['vnuartpacket_5fgenwritecommunicationprotocolcontrol',['VnUartPacket_genWriteCommunicationProtocolControl',['../group__uart__genwrite__functions.html#ga1cfbce5f1d3debb88b29281fda29f25d',1,'upack.h']]], - ['vnuartpacket_5fgenwritedeltathetaanddeltavelocityconfiguration',['VnUartPacket_genWriteDeltaThetaAndDeltaVelocityConfiguration',['../group__uart__genwrite__functions.html#ga8b84de3d348cf7d0462890c507e7de48',1,'upack.h']]], - ['vnuartpacket_5fgenwritegpsantennaoffset',['VnUartPacket_genWriteGpsAntennaOffset',['../group__uart__genwrite__functions.html#ga4681c5234b654945de18a195737b4e76',1,'upack.h']]], - ['vnuartpacket_5fgenwritegpscompassbaseline',['VnUartPacket_genWriteGpsCompassBaseline',['../group__uart__genwrite__functions.html#gadfafa40c490d9a94636771a659146caa',1,'upack.h']]], - ['vnuartpacket_5fgenwritegpsconfiguration',['VnUartPacket_genWriteGpsConfiguration',['../group__uart__genwrite__functions.html#ga0cfa5ab01f74d48525858fd897863ed7',1,'upack.h']]], - ['vnuartpacket_5fgenwritegyrocompensation',['VnUartPacket_genWriteGyroCompensation',['../group__uart__genwrite__functions.html#ga7102d519619fb52fb275fb566a48f6b2',1,'upack.h']]], - ['vnuartpacket_5fgenwriteimufilteringconfiguration',['VnUartPacket_genWriteImuFilteringConfiguration',['../group__uart__genwrite__functions.html#gad70fcd798beb27e954f2dc7eb141774d',1,'upack.h']]], - ['vnuartpacket_5fgenwriteinsbasicconfiguration',['VnUartPacket_genWriteInsBasicConfiguration',['../group__uart__genwrite__functions.html#gaae3dece8397d8521df77fe960c1a847d',1,'upack.h']]], - ['vnuartpacket_5fgenwritemagneticandgravityreferencevectors',['VnUartPacket_genWriteMagneticAndGravityReferenceVectors',['../group__uart__genwrite__functions.html#gadcc18d5acc3fd729f10b15830e33041b',1,'upack.h']]], - ['vnuartpacket_5fgenwritemagnetometercalibrationcontrol',['VnUartPacket_genWriteMagnetometerCalibrationControl',['../group__uart__genwrite__functions.html#ga624636063f24305e604a11be047aeab6',1,'upack.h']]], - ['vnuartpacket_5fgenwritemagnetometercompensation',['VnUartPacket_genWriteMagnetometerCompensation',['../group__uart__genwrite__functions.html#ga24b905272307ed6f4de53328ce0ba943',1,'upack.h']]], - ['vnuartpacket_5fgenwritereferenceframerotation',['VnUartPacket_genWriteReferenceFrameRotation',['../group__uart__genwrite__functions.html#gaecf52412505939af1463f64f6efda1b9',1,'upack.h']]], - ['vnuartpacket_5fgenwritereferencevectorconfiguration',['VnUartPacket_genWriteReferenceVectorConfiguration',['../group__uart__genwrite__functions.html#ga1c8ab4e3b8eb31cff154e7c0997276fb',1,'upack.h']]], - ['vnuartpacket_5fgenwriteserialbaudrate',['VnUartPacket_genWriteSerialBaudRate',['../group__uart__genwrite__functions.html#ga4005cdfa530c90be0b2ae1b3a8fd683e',1,'upack.h']]], - ['vnuartpacket_5fgenwriteserialbaudratewithoptions',['VnUartPacket_genWriteSerialBaudRateWithOptions',['../group__uart__genwrite__functions.html#ga47fd3830079e7b6e1dd66419e3065d55',1,'upack.h']]], - ['vnuartpacket_5fgenwritestartupfilterbiasestimate',['VnUartPacket_genWriteStartupFilterBiasEstimate',['../group__uart__genwrite__functions.html#ga98048c5abaef159b6c6f4ea54b26a145',1,'upack.h']]], - ['vnuartpacket_5fgenwritesynchronizationcontrol',['VnUartPacket_genWriteSynchronizationControl',['../group__uart__genwrite__functions.html#ga992943da040b7958fa234e535cb3d9ce',1,'upack.h']]], - ['vnuartpacket_5fgenwritesynchronizationstatus',['VnUartPacket_genWriteSynchronizationStatus',['../group__uart__genwrite__functions.html#ga4bb622305bce6b5c7cff948444dee07e',1,'upack.h']]], - ['vnuartpacket_5fgenwriteusertag',['VnUartPacket_genWriteUserTag',['../group__uart__genwrite__functions.html#gaaaa089b8a7a9eec4b7a19239c67cf147',1,'upack.h']]], - ['vnuartpacket_5fgenwritevelocitycompensationcontrol',['VnUartPacket_genWriteVelocityCompensationControl',['../group__uart__genwrite__functions.html#gaa101dd03b5b12ddeb60861c17cb9d2ee',1,'upack.h']]], - ['vnuartpacket_5fgenwritevelocitycompensationmeasurement',['VnUartPacket_genWriteVelocityCompensationMeasurement',['../group__uart__genwrite__functions.html#ga7af2b21625b57941be6384a1f16d64ce',1,'upack.h']]], - ['vnuartpacket_5fgenwritevpeaccelerometerbasictuning',['VnUartPacket_genWriteVpeAccelerometerBasicTuning',['../group__uart__genwrite__functions.html#ga17956c5b5f158520a1f2c3c1abab1eaf',1,'upack.h']]], - ['vnuartpacket_5fgenwritevpebasiccontrol',['VnUartPacket_genWriteVpeBasicControl',['../group__uart__genwrite__functions.html#ga6d561442602beacf394680798d43d9f7',1,'upack.h']]], - ['vnuartpacket_5fgenwritevpemagnetometerbasictuning',['VnUartPacket_genWriteVpeMagnetometerBasicTuning',['../group__uart__genwrite__functions.html#ga19eb1c8dbdfb3ccd120bb5eb20b585d6',1,'upack.h']]], - ['vnuartpacket_5fparseaccelerationcompensation',['VnUartPacket_parseAccelerationCompensation',['../group__uart__genwrite__functions.html#ga4318d5a00e0b79594e8cf8644991894f',1,'upack.h']]], - ['vnuartpacket_5fparseaccelerationcompensationraw',['VnUartPacket_parseAccelerationCompensationRaw',['../group__uart__genwrite__functions.html#gac691ca7b1ab4fc0de3a494b62490fe5d',1,'upack.h']]], - ['vnuartpacket_5fparseaccelerationmeasurements',['VnUartPacket_parseAccelerationMeasurements',['../group__uart__genwrite__functions.html#gacf24ba30cd395a9f78fed989ab5edda8',1,'upack.h']]], - ['vnuartpacket_5fparseaccelerationmeasurementsraw',['VnUartPacket_parseAccelerationMeasurementsRaw',['../group__uart__genwrite__functions.html#gab76b6463bf7a8e5e164d086a653c761c',1,'upack.h']]], - ['vnuartpacket_5fparseangularratemeasurements',['VnUartPacket_parseAngularRateMeasurements',['../group__uart__genwrite__functions.html#ga652a50194a9ff479967142b1951d907a',1,'upack.h']]], - ['vnuartpacket_5fparseangularratemeasurementsraw',['VnUartPacket_parseAngularRateMeasurementsRaw',['../group__uart__genwrite__functions.html#gafd04e1624cd6ec5d874c91dacba5893a',1,'upack.h']]], - ['vnuartpacket_5fparseasyncdataoutputfrequency',['VnUartPacket_parseAsyncDataOutputFrequency',['../group__uart__genwrite__functions.html#gaa89c4d2c71f4e60cacb4f9da90367e12',1,'upack.h']]], - ['vnuartpacket_5fparseasyncdataoutputfrequencyraw',['VnUartPacket_parseAsyncDataOutputFrequencyRaw',['../group__uart__genwrite__functions.html#gaf5be2c3d0eee19994d3be0e3b9a63b51',1,'upack.h']]], - ['vnuartpacket_5fparseasyncdataoutputtype',['VnUartPacket_parseAsyncDataOutputType',['../group__uart__genwrite__functions.html#ga9f53aea6e59b6dbd403f030b6560c200',1,'upack.h']]], - ['vnuartpacket_5fparseasyncdataoutputtyperaw',['VnUartPacket_parseAsyncDataOutputTypeRaw',['../group__uart__genwrite__functions.html#ga12845975b8c45b9220c08d71376c907b',1,'upack.h']]], - ['vnuartpacket_5fparseattitudequaternion',['VnUartPacket_parseAttitudeQuaternion',['../group__uart__genwrite__functions.html#ga768fdcaed903a9ecaa38155df80616d6',1,'upack.h']]], - ['vnuartpacket_5fparseattitudequaternionraw',['VnUartPacket_parseAttitudeQuaternionRaw',['../group__uart__genwrite__functions.html#ga51d39089d5ad127aeb48fd4293388821',1,'upack.h']]], - ['vnuartpacket_5fparsebinaryoutput',['VnUartPacket_parseBinaryOutput',['../group__uart__genwrite__functions.html#gafd0d33575cf119e5467540d358de2c02',1,'upack.h']]], - ['vnuartpacket_5fparsebinaryoutputraw',['VnUartPacket_parseBinaryOutputRaw',['../group__uart__genwrite__functions.html#ga5924071e89fb44af85db890c075ebac2',1,'upack.h']]], - ['vnuartpacket_5fparsecalculatedmagnetometercalibration',['VnUartPacket_parseCalculatedMagnetometerCalibration',['../group__uart__genwrite__functions.html#ga699e7432af6f25b52a4d22e88c6f97ba',1,'upack.h']]], - ['vnuartpacket_5fparsecalculatedmagnetometercalibrationraw',['VnUartPacket_parseCalculatedMagnetometerCalibrationRaw',['../group__uart__genwrite__functions.html#gae362a829e4c0192e9d0d214637f14b88',1,'upack.h']]], - ['vnuartpacket_5fparsecommunicationprotocolcontrol',['VnUartPacket_parseCommunicationProtocolControl',['../group__uart__genwrite__functions.html#ga6328410f1133baf68d4c42dcf4b18957',1,'upack.h']]], - ['vnuartpacket_5fparsecommunicationprotocolcontrolraw',['VnUartPacket_parseCommunicationProtocolControlRaw',['../group__uart__genwrite__functions.html#gafac199e1275204d2ff9bba911c574615',1,'upack.h']]], - ['vnuartpacket_5fparsedeltathetaanddeltavelocity',['VnUartPacket_parseDeltaThetaAndDeltaVelocity',['../group__uart__genwrite__functions.html#gaa36907a64507f54b3c428990f153385b',1,'upack.h']]], - ['vnuartpacket_5fparsedeltathetaanddeltavelocityconfiguration',['VnUartPacket_parseDeltaThetaAndDeltaVelocityConfiguration',['../group__uart__genwrite__functions.html#ga514c383e8dcf407e15615f2a92f498ad',1,'upack.h']]], - ['vnuartpacket_5fparsedeltathetaanddeltavelocityconfigurationraw',['VnUartPacket_parseDeltaThetaAndDeltaVelocityConfigurationRaw',['../group__uart__genwrite__functions.html#gaf1d209f782801b3afaae543c34bd0797',1,'upack.h']]], - ['vnuartpacket_5fparsedeltathetaanddeltavelocityraw',['VnUartPacket_parseDeltaThetaAndDeltaVelocityRaw',['../group__uart__genwrite__functions.html#ga72342fc61f9f7f41d833c2412ca5ac00',1,'upack.h']]], - ['vnuartpacket_5fparseerror',['VnUartPacket_parseError',['../group__uart__genwrite__functions.html#ga4488412e853a2c1655fa1ebbb63d3efa',1,'upack.h']]], - ['vnuartpacket_5fparseerrorraw',['VnUartPacket_parseErrorRaw',['../group__uart__genwrite__functions.html#ga8c11ce5559fdd176646047510b71c581',1,'upack.h']]], - ['vnuartpacket_5fparsefilteractivetuningparameters',['VnUartPacket_parseFilterActiveTuningParameters',['../group__uart__genwrite__functions.html#ga0fa8f2862d8cebd228f9b1fa19550f14',1,'upack.h']]], - ['vnuartpacket_5fparsefilteractivetuningparametersraw',['VnUartPacket_parseFilterActiveTuningParametersRaw',['../group__uart__genwrite__functions.html#gaef3c076525b1da4ed10921defd641e05',1,'upack.h']]], - ['vnuartpacket_5fparsefilterbasiccontrol',['VnUartPacket_parseFilterBasicControl',['../group__uart__genwrite__functions.html#ga825b5284cdc2b5697d5e11980bd5e690',1,'upack.h']]], - ['vnuartpacket_5fparsefilterbasiccontrolraw',['VnUartPacket_parseFilterBasicControlRaw',['../group__uart__genwrite__functions.html#ga6ddfb7e22e3208979130b8e328489915',1,'upack.h']]], - ['vnuartpacket_5fparsefiltermeasurementsvarianceparameters',['VnUartPacket_parseFilterMeasurementsVarianceParameters',['../group__uart__genwrite__functions.html#gaf0b7b8d7a20b62bd2aff1111d09bf81d',1,'upack.h']]], - ['vnuartpacket_5fparsefiltermeasurementsvarianceparametersraw',['VnUartPacket_parseFilterMeasurementsVarianceParametersRaw',['../group__uart__genwrite__functions.html#ga4104d79231aa4193540995b17e9aa2f9',1,'upack.h']]], - ['vnuartpacket_5fparsefilterstartupgyrobias',['VnUartPacket_parseFilterStartupGyroBias',['../group__uart__genwrite__functions.html#ga84adf76e6a64cf9509f8fc39a43641e6',1,'upack.h']]], - ['vnuartpacket_5fparsefilterstartupgyrobiasraw',['VnUartPacket_parseFilterStartupGyroBiasRaw',['../group__uart__genwrite__functions.html#ga15e626258fe7bfe12310fd04ad772dac',1,'upack.h']]], - ['vnuartpacket_5fparsefirmwareversion',['VnUartPacket_parseFirmwareVersion',['../group__uart__genwrite__functions.html#gaf125dc3e6b0a422e348ce753ad449992',1,'upack.h']]], - ['vnuartpacket_5fparsefirmwareversionraw',['VnUartPacket_parseFirmwareVersionRaw',['../group__uart__genwrite__functions.html#gab8e5253fe54536db27510b1d8078e189',1,'upack.h']]], - ['vnuartpacket_5fparsegpsantennaoffset',['VnUartPacket_parseGpsAntennaOffset',['../group__uart__genwrite__functions.html#gacc1e02655266978d23106069dc5bdcdf',1,'upack.h']]], - ['vnuartpacket_5fparsegpsantennaoffsetraw',['VnUartPacket_parseGpsAntennaOffsetRaw',['../group__uart__genwrite__functions.html#ga0a98acb4af8d8dd491c223ff4b879828',1,'upack.h']]], - ['vnuartpacket_5fparsegpscompassbaseline',['VnUartPacket_parseGpsCompassBaseline',['../group__uart__genwrite__functions.html#gafec482f7b759cffef43d7452dc21c5a8',1,'upack.h']]], - ['vnuartpacket_5fparsegpscompassbaselineraw',['VnUartPacket_parseGpsCompassBaselineRaw',['../group__uart__genwrite__functions.html#gadc71c912218b5abb2a43b14745ad6c92',1,'upack.h']]], - ['vnuartpacket_5fparsegpscompassestimatedbaseline',['VnUartPacket_parseGpsCompassEstimatedBaseline',['../group__uart__genwrite__functions.html#gada5f4d1927041b20d426140c453b7c25',1,'upack.h']]], - ['vnuartpacket_5fparsegpscompassestimatedbaselineraw',['VnUartPacket_parseGpsCompassEstimatedBaselineRaw',['../group__uart__genwrite__functions.html#gab443d209ef341b6e107a0508fd23c5b5',1,'upack.h']]], - ['vnuartpacket_5fparsegpsconfiguration',['VnUartPacket_parseGpsConfiguration',['../group__uart__genwrite__functions.html#ga3e96430942135beaac93aa27151f822e',1,'upack.h']]], - ['vnuartpacket_5fparsegpsconfigurationraw',['VnUartPacket_parseGpsConfigurationRaw',['../group__uart__genwrite__functions.html#ga93bbd1c8454148caabace1a864b1c8e9',1,'upack.h']]], - ['vnuartpacket_5fparsegpssolutionecef',['VnUartPacket_parseGpsSolutionEcef',['../group__uart__genwrite__functions.html#gab694f52382f4342e59e57351442edb9b',1,'upack.h']]], - ['vnuartpacket_5fparsegpssolutionecefraw',['VnUartPacket_parseGpsSolutionEcefRaw',['../group__uart__genwrite__functions.html#gaad0b8f4ae3971c53fe5937a7981d1e9e',1,'upack.h']]], - ['vnuartpacket_5fparsegpssolutionlla',['VnUartPacket_parseGpsSolutionLla',['../group__uart__genwrite__functions.html#ga5869bcc078ebb2037aac9461b822510c',1,'upack.h']]], - ['vnuartpacket_5fparsegpssolutionllaraw',['VnUartPacket_parseGpsSolutionLlaRaw',['../group__uart__genwrite__functions.html#gad03437cde70a59dd9d3ede39f6d6e254',1,'upack.h']]], - ['vnuartpacket_5fparsegyrocompensation',['VnUartPacket_parseGyroCompensation',['../group__uart__genwrite__functions.html#gaff9cc27e8b8849450a312f6cc8ea5644',1,'upack.h']]], - ['vnuartpacket_5fparsegyrocompensationraw',['VnUartPacket_parseGyroCompensationRaw',['../group__uart__genwrite__functions.html#ga09e7fa8968ba7107d15d4009f64be54c',1,'upack.h']]], - ['vnuartpacket_5fparsehardwarerevision',['VnUartPacket_parseHardwareRevision',['../group__uart__genwrite__functions.html#gad8f8e72e2b81a9e84a3e1b601341b6f7',1,'upack.h']]], - ['vnuartpacket_5fparsehardwarerevisionraw',['VnUartPacket_parseHardwareRevisionRaw',['../group__uart__genwrite__functions.html#ga41e2a049946caccfad7f564c8e016023',1,'upack.h']]], - ['vnuartpacket_5fparseimufilteringconfiguration',['VnUartPacket_parseImuFilteringConfiguration',['../group__uart__genwrite__functions.html#gad42393ea01ba950a1a339a3a7ab48e22',1,'upack.h']]], - ['vnuartpacket_5fparseimufilteringconfigurationraw',['VnUartPacket_parseImuFilteringConfigurationRaw',['../group__uart__genwrite__functions.html#gaf8056d0d7be235325793bc90cde0fc03',1,'upack.h']]], - ['vnuartpacket_5fparseimumeasurements',['VnUartPacket_parseImuMeasurements',['../group__uart__genwrite__functions.html#gadbe4b098a48b41de10cbb231e40af234',1,'upack.h']]], - ['vnuartpacket_5fparseimumeasurementsraw',['VnUartPacket_parseImuMeasurementsRaw',['../group__uart__genwrite__functions.html#ga64e72a5cc892f140eae7a302119e49d6',1,'upack.h']]], - ['vnuartpacket_5fparseimurateconfiguration',['VnUartPacket_parseImuRateConfiguration',['../group__uart__genwrite__functions.html#ga86697b1db4d4840232f3f07146fca0b3',1,'upack.h']]], - ['vnuartpacket_5fparseimurateconfigurationraw',['VnUartPacket_parseImuRateConfigurationRaw',['../group__uart__genwrite__functions.html#ga3aeddc08bd21fa4dad1fa7ccae11bcfa',1,'upack.h']]], - ['vnuartpacket_5fparseindoorheadingmodecontrol',['VnUartPacket_parseIndoorHeadingModeControl',['../group__uart__genwrite__functions.html#ga49b3c66e02296b9b2386553b9b808fc3',1,'upack.h']]], - ['vnuartpacket_5fparseindoorheadingmodecontrolraw',['VnUartPacket_parseIndoorHeadingModeControlRaw',['../group__uart__genwrite__functions.html#gafbfde077a1b3aabad95479192388974e',1,'upack.h']]], - ['vnuartpacket_5fparseinsadvancedconfiguration',['VnUartPacket_parseInsAdvancedConfiguration',['../group__uart__genwrite__functions.html#ga2b65280596603078340c214d6da6b771',1,'upack.h']]], - ['vnuartpacket_5fparseinsadvancedconfigurationraw',['VnUartPacket_parseInsAdvancedConfigurationRaw',['../group__uart__genwrite__functions.html#ga01ffdc17e0519234f3def7c35a604b3c',1,'upack.h']]], - ['vnuartpacket_5fparseinsbasicconfiguration',['VnUartPacket_parseInsBasicConfiguration',['../group__uart__genwrite__functions.html#ga2f9f1d7c73b84cd1cbf7d1a94384c618',1,'upack.h']]], - ['vnuartpacket_5fparseinsbasicconfigurationraw',['VnUartPacket_parseInsBasicConfigurationRaw',['../group__uart__genwrite__functions.html#gaf8b1b23c67939d0ab443b155ed4a716d',1,'upack.h']]], - ['vnuartpacket_5fparseinssolutionecef',['VnUartPacket_parseInsSolutionEcef',['../group__uart__genwrite__functions.html#gab06defa9a618c1004eb7b333b3427b1e',1,'upack.h']]], - ['vnuartpacket_5fparseinssolutionecefraw',['VnUartPacket_parseInsSolutionEcefRaw',['../group__uart__genwrite__functions.html#ga7ffecad1ba03ac579fbb1dc3aba78352',1,'upack.h']]], - ['vnuartpacket_5fparseinssolutionlla',['VnUartPacket_parseInsSolutionLla',['../group__uart__genwrite__functions.html#ga2a431dc8f022c01bc66e4c131eee8a7b',1,'upack.h']]], - ['vnuartpacket_5fparseinssolutionllaraw',['VnUartPacket_parseInsSolutionLlaRaw',['../group__uart__genwrite__functions.html#gac0884270a8b81d818d6208bdf429bedd',1,'upack.h']]], - ['vnuartpacket_5fparseinsstateecef',['VnUartPacket_parseInsStateEcef',['../group__uart__genwrite__functions.html#ga67fd9b261d40a007a736fe6f3936f19a',1,'upack.h']]], - ['vnuartpacket_5fparseinsstateecefraw',['VnUartPacket_parseInsStateEcefRaw',['../group__uart__genwrite__functions.html#ga04e2c8cd64705f2e5d3e14c28161540f',1,'upack.h']]], - ['vnuartpacket_5fparseinsstatella',['VnUartPacket_parseInsStateLla',['../group__uart__genwrite__functions.html#ga2696f3def249ba3cc9ca3ae17e3711df',1,'upack.h']]], - ['vnuartpacket_5fparseinsstatellaraw',['VnUartPacket_parseInsStateLlaRaw',['../group__uart__genwrite__functions.html#gaebeaa638e201cf2ccf93e62086621ebe',1,'upack.h']]], - ['vnuartpacket_5fparsemagneticaccelerationandangularrates',['VnUartPacket_parseMagneticAccelerationAndAngularRates',['../group__uart__genwrite__functions.html#ga074240e66a3030767bbe011cc4c107d8',1,'upack.h']]], - ['vnuartpacket_5fparsemagneticaccelerationandangularratesraw',['VnUartPacket_parseMagneticAccelerationAndAngularRatesRaw',['../group__uart__genwrite__functions.html#ga5b3d13775510d6c03304c020a012a928',1,'upack.h']]], - ['vnuartpacket_5fparsemagneticandgravityreferencevectors',['VnUartPacket_parseMagneticAndGravityReferenceVectors',['../group__uart__genwrite__functions.html#gad3fc2e698161105b96457aad4bdcb574',1,'upack.h']]], - ['vnuartpacket_5fparsemagneticandgravityreferencevectorsraw',['VnUartPacket_parseMagneticAndGravityReferenceVectorsRaw',['../group__uart__genwrite__functions.html#ga1b63c9923d58a7364eb8a87adfaf0c11',1,'upack.h']]], - ['vnuartpacket_5fparsemagneticmeasurements',['VnUartPacket_parseMagneticMeasurements',['../group__uart__genwrite__functions.html#gaf9006e67961978c62206c247638b9562',1,'upack.h']]], - ['vnuartpacket_5fparsemagneticmeasurementsraw',['VnUartPacket_parseMagneticMeasurementsRaw',['../group__uart__genwrite__functions.html#gab0415129d370c08e8c1320c11ab2b758',1,'upack.h']]], - ['vnuartpacket_5fparsemagnetometercalibrationcontrol',['VnUartPacket_parseMagnetometerCalibrationControl',['../group__uart__genwrite__functions.html#gafdfbc556eb3db239890adeb534aa85e3',1,'upack.h']]], - ['vnuartpacket_5fparsemagnetometercalibrationcontrolraw',['VnUartPacket_parseMagnetometerCalibrationControlRaw',['../group__uart__genwrite__functions.html#ga6a83f10859e96a88de9256732ab0920f',1,'upack.h']]], - ['vnuartpacket_5fparsemagnetometercompensation',['VnUartPacket_parseMagnetometerCompensation',['../group__uart__genwrite__functions.html#ga15e0519943cbbec07de39932c1b2826f',1,'upack.h']]], - ['vnuartpacket_5fparsemagnetometercompensationraw',['VnUartPacket_parseMagnetometerCompensationRaw',['../group__uart__genwrite__functions.html#gab2b63e8161d79136f624aab56127f192',1,'upack.h']]], - ['vnuartpacket_5fparsemodelnumber',['VnUartPacket_parseModelNumber',['../group__uart__genwrite__functions.html#gad811578908e41056b2b3a042a8e7f421',1,'upack.h']]], - ['vnuartpacket_5fparsemodelnumberraw',['VnUartPacket_parseModelNumberRaw',['../group__uart__genwrite__functions.html#ga143dcf19679055a8c77fb3b7c1263148',1,'upack.h']]], - ['vnuartpacket_5fparsequaternionmagneticaccelerationandangularrates',['VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRates',['../group__uart__genwrite__functions.html#ga8557035a208dc941d0c6a3afbb460af6',1,'upack.h']]], - ['vnuartpacket_5fparsequaternionmagneticaccelerationandangularratesraw',['VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRatesRaw',['../group__uart__genwrite__functions.html#ga93df42d39def7bad7bdd9568f8ba995d',1,'upack.h']]], - ['vnuartpacket_5fparsereferenceframerotation',['VnUartPacket_parseReferenceFrameRotation',['../group__uart__genwrite__functions.html#ga443da0155c22e0655b7064167716fbaf',1,'upack.h']]], - ['vnuartpacket_5fparsereferenceframerotationraw',['VnUartPacket_parseReferenceFrameRotationRaw',['../group__uart__genwrite__functions.html#gaaf0dac23312449f18d47eb0828fdaeda',1,'upack.h']]], - ['vnuartpacket_5fparsereferencevectorconfiguration',['VnUartPacket_parseReferenceVectorConfiguration',['../group__uart__genwrite__functions.html#ga0c9e9bf5a4f18a023e7bff0453874f59',1,'upack.h']]], - ['vnuartpacket_5fparsereferencevectorconfigurationraw',['VnUartPacket_parseReferenceVectorConfigurationRaw',['../group__uart__genwrite__functions.html#ga555a6edb67bb6551ead3ccd51379b070',1,'upack.h']]], - ['vnuartpacket_5fparseserialbaudrate',['VnUartPacket_parseSerialBaudRate',['../group__uart__genwrite__functions.html#ga60951e4f42a600f1a58bfff62879f370',1,'upack.h']]], - ['vnuartpacket_5fparseserialbaudrateraw',['VnUartPacket_parseSerialBaudRateRaw',['../group__uart__genwrite__functions.html#ga879513ea4a6d6e1d7996af4dab43a139',1,'upack.h']]], - ['vnuartpacket_5fparseserialnumber',['VnUartPacket_parseSerialNumber',['../group__uart__genwrite__functions.html#ga9be280e21ee63375d8cfa53278d4eaf8',1,'upack.h']]], - ['vnuartpacket_5fparseserialnumberraw',['VnUartPacket_parseSerialNumberRaw',['../group__uart__genwrite__functions.html#ga770df9852e4f860ecb25cebe995c826b',1,'upack.h']]], - ['vnuartpacket_5fparsestartupfilterbiasestimate',['VnUartPacket_parseStartupFilterBiasEstimate',['../group__uart__genwrite__functions.html#ga5adc4ad4e631c2a815343aed1b93760d',1,'upack.h']]], - ['vnuartpacket_5fparsestartupfilterbiasestimateraw',['VnUartPacket_parseStartupFilterBiasEstimateRaw',['../group__uart__genwrite__functions.html#ga86525cd74d3a514fa70ac977ce4c89ef',1,'upack.h']]], - ['vnuartpacket_5fparsesynchronizationcontrol',['VnUartPacket_parseSynchronizationControl',['../group__uart__genwrite__functions.html#ga5bd4f07a18c9c2f2f00a08087b09d1b6',1,'upack.h']]], - ['vnuartpacket_5fparsesynchronizationcontrolraw',['VnUartPacket_parseSynchronizationControlRaw',['../group__uart__genwrite__functions.html#ga392b12d5b9cec2e55915a1885e25d2d1',1,'upack.h']]], - ['vnuartpacket_5fparsesynchronizationstatus',['VnUartPacket_parseSynchronizationStatus',['../group__uart__genwrite__functions.html#ga8a89c3acc4fa19e012e737f69401ffaf',1,'upack.h']]], - ['vnuartpacket_5fparsesynchronizationstatusraw',['VnUartPacket_parseSynchronizationStatusRaw',['../group__uart__genwrite__functions.html#ga3b96691a651d211b8bbfe81c6d559bc4',1,'upack.h']]], - ['vnuartpacket_5fparseusertag',['VnUartPacket_parseUserTag',['../group__uart__genwrite__functions.html#ga7229fbd9bdeb76f594d00541aa07004e',1,'upack.h']]], - ['vnuartpacket_5fparseusertagraw',['VnUartPacket_parseUserTagRaw',['../group__uart__genwrite__functions.html#gada904203ff26a6c12014f838963e4d01',1,'upack.h']]], - ['vnuartpacket_5fparsevelocitycompensationcontrol',['VnUartPacket_parseVelocityCompensationControl',['../group__uart__genwrite__functions.html#gadb53e61c4962afbb5aba0717d360128e',1,'upack.h']]], - ['vnuartpacket_5fparsevelocitycompensationcontrolraw',['VnUartPacket_parseVelocityCompensationControlRaw',['../group__uart__genwrite__functions.html#ga4ac4a8a0ee66daef539a5dd3c440778c',1,'upack.h']]], - ['vnuartpacket_5fparsevelocitycompensationmeasurement',['VnUartPacket_parseVelocityCompensationMeasurement',['../group__uart__genwrite__functions.html#ga1b886297ad4d32add3cc995589a86185',1,'upack.h']]], - ['vnuartpacket_5fparsevelocitycompensationmeasurementraw',['VnUartPacket_parseVelocityCompensationMeasurementRaw',['../group__uart__genwrite__functions.html#ga858daadaadb54d4ba0a6a698961c8e61',1,'upack.h']]], - ['vnuartpacket_5fparsevelocitycompensationstatus',['VnUartPacket_parseVelocityCompensationStatus',['../group__uart__genwrite__functions.html#ga0d982d0ae2b97f4def93fdb5c036363a',1,'upack.h']]], - ['vnuartpacket_5fparsevelocitycompensationstatusraw',['VnUartPacket_parseVelocityCompensationStatusRaw',['../group__uart__genwrite__functions.html#gaf146527f241e40c19f6081609c5d94bd',1,'upack.h']]], - ['vnuartpacket_5fparsevnacc',['VnUartPacket_parseVNACC',['../group__uart_packet_ascii_async_parsers.html#ga206bba3faebaa324c4098b106d66d25b',1,'upack.h']]], - ['vnuartpacket_5fparsevndtv',['VnUartPacket_parseVNDTV',['../group__uart_packet_ascii_async_parsers.html#ga0172845345960dffc202e3e33ee325f7',1,'upack.h']]], - ['vnuartpacket_5fparsevngpe',['VnUartPacket_parseVNGPE',['../group__uart_packet_ascii_async_parsers.html#ga3fa55f3171f9a13719b7f7af48fa8639',1,'upack.h']]], - ['vnuartpacket_5fparsevngps',['VnUartPacket_parseVNGPS',['../group__uart_packet_ascii_async_parsers.html#gaace7e67d677c1d696418ea92b03fbb8f',1,'upack.h']]], - ['vnuartpacket_5fparsevngyr',['VnUartPacket_parseVNGYR',['../group__uart_packet_ascii_async_parsers.html#ga3387855ef472616dc3dc3745da32bef8',1,'upack.h']]], - ['vnuartpacket_5fparsevnimu',['VnUartPacket_parseVNIMU',['../group__uart_packet_ascii_async_parsers.html#gaaf80a8c7e364f8f8e48c9e31f61e5918',1,'upack.h']]], - ['vnuartpacket_5fparsevnine',['VnUartPacket_parseVNINE',['../group__uart_packet_ascii_async_parsers.html#ga229bd3188bd62700835597d01a729f96',1,'upack.h']]], - ['vnuartpacket_5fparsevnins',['VnUartPacket_parseVNINS',['../group__uart_packet_ascii_async_parsers.html#gae67a9520fa414828ee2528320505843c',1,'upack.h']]], - ['vnuartpacket_5fparsevnise',['VnUartPacket_parseVNISE',['../group__uart_packet_ascii_async_parsers.html#gad0375907326fbc2d7f6f7ed09dc7e286',1,'upack.h']]], - ['vnuartpacket_5fparsevnisl',['VnUartPacket_parseVNISL',['../group__uart_packet_ascii_async_parsers.html#ga5cc0e5d9512db7e9243491e13d73e2e6',1,'upack.h']]], - ['vnuartpacket_5fparsevnmag',['VnUartPacket_parseVNMAG',['../group__uart_packet_ascii_async_parsers.html#gaac2f6506e456825673995e6bd7ebe380',1,'upack.h']]], - ['vnuartpacket_5fparsevnmar',['VnUartPacket_parseVNMAR',['../group__uart_packet_ascii_async_parsers.html#gaf4c62595f81fb7ab3151b332898df67f',1,'upack.h']]], - ['vnuartpacket_5fparsevnqmr',['VnUartPacket_parseVNQMR',['../group__uart_packet_ascii_async_parsers.html#ga667d913d418fefde71ecc44a77e208e3',1,'upack.h']]], - ['vnuartpacket_5fparsevnqtn',['VnUartPacket_parseVNQTN',['../group__uart_packet_ascii_async_parsers.html#gad90e855006aa836d4cd0d83f506884a0',1,'upack.h']]], - ['vnuartpacket_5fparsevnyba',['VnUartPacket_parseVNYBA',['../group__uart_packet_ascii_async_parsers.html#ga4261ec65248a81d81fde53c5680844e1',1,'upack.h']]], - ['vnuartpacket_5fparsevnyia',['VnUartPacket_parseVNYIA',['../group__uart_packet_ascii_async_parsers.html#ga7a356281f3505ec245b1c868c2b1c29c',1,'upack.h']]], - ['vnuartpacket_5fparsevnymr',['VnUartPacket_parseVNYMR',['../group__uart_packet_ascii_async_parsers.html#ga8753a6d113cc5490df24ad5cb3d04309',1,'upack.h']]], - ['vnuartpacket_5fparsevnypr',['VnUartPacket_parseVNYPR',['../group__uart_packet_ascii_async_parsers.html#gabcab9b6803cb8b3da74abc2601cd40a2',1,'upack.h']]], - ['vnuartpacket_5fparsevpeaccelerometeradvancedtuning',['VnUartPacket_parseVpeAccelerometerAdvancedTuning',['../group__uart__genwrite__functions.html#gab608631e42813a947d0ca0441b604c13',1,'upack.h']]], - ['vnuartpacket_5fparsevpeaccelerometeradvancedtuningraw',['VnUartPacket_parseVpeAccelerometerAdvancedTuningRaw',['../group__uart__genwrite__functions.html#ga27382ddcbb19eb2408ee2e78ad5c9a1a',1,'upack.h']]], - ['vnuartpacket_5fparsevpeaccelerometerbasictuning',['VnUartPacket_parseVpeAccelerometerBasicTuning',['../group__uart__genwrite__functions.html#gacb9956c9d77ffa806e0e55ee0109a942',1,'upack.h']]], - ['vnuartpacket_5fparsevpeaccelerometerbasictuningraw',['VnUartPacket_parseVpeAccelerometerBasicTuningRaw',['../group__uart__genwrite__functions.html#ga235ef89cd4735b615115df01d515d7c1',1,'upack.h']]], - ['vnuartpacket_5fparsevpebasiccontrol',['VnUartPacket_parseVpeBasicControl',['../group__uart__genwrite__functions.html#ga8c6e9480662677fe2ca207383b770b2d',1,'upack.h']]], - ['vnuartpacket_5fparsevpebasiccontrolraw',['VnUartPacket_parseVpeBasicControlRaw',['../group__uart__genwrite__functions.html#ga0885ec782ae0aa4a17ceff44689221a8',1,'upack.h']]], - ['vnuartpacket_5fparsevpegyrobasictuning',['VnUartPacket_parseVpeGyroBasicTuning',['../group__uart__genwrite__functions.html#gaf25da9b1bd6d42110eb2e5997be65e50',1,'upack.h']]], - ['vnuartpacket_5fparsevpegyrobasictuningraw',['VnUartPacket_parseVpeGyroBasicTuningRaw',['../group__uart__genwrite__functions.html#ga492a562501a4991e100a70423178e9c7',1,'upack.h']]], - ['vnuartpacket_5fparsevpemagnetometeradvancedtuning',['VnUartPacket_parseVpeMagnetometerAdvancedTuning',['../group__uart__genwrite__functions.html#gadd4265cc2d0b6af3fb1076f7b697d517',1,'upack.h']]], - ['vnuartpacket_5fparsevpemagnetometeradvancedtuningraw',['VnUartPacket_parseVpeMagnetometerAdvancedTuningRaw',['../group__uart__genwrite__functions.html#gaed0e59bd2c76f323eccd4b9c3153352e',1,'upack.h']]], - ['vnuartpacket_5fparsevpemagnetometerbasictuning',['VnUartPacket_parseVpeMagnetometerBasicTuning',['../group__uart__genwrite__functions.html#ga39683ef7595376b32b20758be462cd38',1,'upack.h']]], - ['vnuartpacket_5fparsevpemagnetometerbasictuningraw',['VnUartPacket_parseVpeMagnetometerBasicTuningRaw',['../group__uart__genwrite__functions.html#ga2a8555a25037d055258f7bb9540f9d14',1,'upack.h']]], - ['vnuartpacket_5fparseyawpitchroll',['VnUartPacket_parseYawPitchRoll',['../group__uart__genwrite__functions.html#gacba233f0c1ef52808fedee9b9af19dd5',1,'upack.h']]], - ['vnuartpacket_5fparseyawpitchrollmagneticaccelerationandangularrates',['VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRates',['../group__uart__genwrite__functions.html#ga197102f43f30f7e14badfce7d41f48d8',1,'upack.h']]], - ['vnuartpacket_5fparseyawpitchrollmagneticaccelerationandangularratesraw',['VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRatesRaw',['../group__uart__genwrite__functions.html#gaeea29df69957929ddaf14edcb33cee71',1,'upack.h']]], - ['vnuartpacket_5fparseyawpitchrollraw',['VnUartPacket_parseYawPitchRollRaw',['../group__uart__genwrite__functions.html#gafb9b03c00c9ce65d04b909dd383b85b1',1,'upack.h']]], - ['vnuartpacket_5fparseyawpitchrolltruebodyaccelerationandangularrates',['VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRates',['../group__uart__genwrite__functions.html#gaa1727fd220969bbcaa59f71c57a5728d',1,'upack.h']]], - ['vnuartpacket_5fparseyawpitchrolltruebodyaccelerationandangularratesraw',['VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRatesRaw',['../group__uart__genwrite__functions.html#gac0381b1ea07ddfd35b1ba03b5b853479',1,'upack.h']]], - ['vnuartpacket_5fparseyawpitchrolltrueinertialaccelerationandangularrates',['VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRates',['../group__uart__genwrite__functions.html#ga9591d19b2f83756b0e4a2fd62009095c',1,'upack.h']]], - ['vnuartpacket_5fparseyawpitchrolltrueinertialaccelerationandangularratesraw',['VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRatesRaw',['../group__uart__genwrite__functions.html#gae38abdf5c468c4dffb7cf7278617cd37',1,'upack.h']]], - ['vnuartpacketfinder',['VnUartPacketFinder',['../struct_vn_uart_packet_finder.html',1,'']]], - ['vnutil_5fextractdouble',['VnUtil_extractDouble',['../group__sensor_value_extractors.html#ga9abee9b7f6e11a9fbf00019e06cab73a',1,'util.h']]], - ['vnutil_5fextractfloat',['VnUtil_extractFloat',['../group__sensor_value_extractors.html#ga2b0e777f59407f501256902dcaba5325',1,'util.h']]], - ['vnutil_5fextractmat3f',['VnUtil_extractMat3f',['../group__sensor_value_extractors.html#ga2b32e5bfd9e0bb5d5906548c2a2bf63f',1,'util.h']]], - ['vnutil_5fextractuint16',['VnUtil_extractUint16',['../group__sensor_value_extractors.html#ga67046d2ccd7062c2f2e87f76ffdee825',1,'util.h']]], - ['vnutil_5fextractuint32',['VnUtil_extractUint32',['../group__sensor_value_extractors.html#gada8600834e016d1a6198bd7df84949a8',1,'util.h']]], - ['vnutil_5fextractvec3d',['VnUtil_extractVec3d',['../group__sensor_value_extractors.html#ga67803c335c0cbc25acfcc31feab84c9d',1,'util.h']]], - ['vnutil_5fextractvec3f',['VnUtil_extractVec3f',['../group__sensor_value_extractors.html#ga9decf8a326fcba9319a31de0656367b3',1,'util.h']]], - ['vnutil_5fextractvec4f',['VnUtil_extractVec4f',['../group__sensor_value_extractors.html#gaefb159f66e04644b11cf83c1e87b9031',1,'util.h']]], - ['vpeaccelerometeradvancedtuningregister',['VpeAccelerometerAdvancedTuningRegister',['../struct_vpe_accelerometer_advanced_tuning_register.html',1,'']]], - ['vpeaccelerometerbasictuningregister',['VpeAccelerometerBasicTuningRegister',['../struct_vpe_accelerometer_basic_tuning_register.html',1,'']]], - ['vpebasiccontrolregister',['VpeBasicControlRegister',['../struct_vpe_basic_control_register.html',1,'']]], - ['vpegyrobasictuningregister',['VpeGyroBasicTuningRegister',['../struct_vpe_gyro_basic_tuning_register.html',1,'']]], - ['vpemagnetometeradvancedtuningregister',['VpeMagnetometerAdvancedTuningRegister',['../struct_vpe_magnetometer_advanced_tuning_register.html',1,'']]], - ['vpemagnetometerbasictuningregister',['VpeMagnetometerBasicTuningRegister',['../struct_vpe_magnetometer_basic_tuning_register.html',1,'']]], - ['vpestatus',['vpeStatus',['../struct_vn_composite_data.html#a59dc81ba9dcf248e6412917bc5f23c3e',1,'VnCompositeData']]] -]; diff --git a/vnproglib/c/help/search/all_15.html b/vnproglib/c/help/search/all_15.html deleted file mode 100644 index 2a0c057..0000000 --- a/vnproglib/c/help/search/all_15.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_15.js b/vnproglib/c/help/search/all_15.js deleted file mode 100644 index 54e5366..0000000 --- a/vnproglib/c/help/search/all_15.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['week',['week',['../struct_vn_composite_data.html#a75a738c4141aeb0df05229d6c5d2beea',1,'VnCompositeData::week()'],['../struct_gps_solution_lla_register.html#a75a738c4141aeb0df05229d6c5d2beea',1,'GpsSolutionLlaRegister::week()'],['../struct_gps_solution_ecef_register.html#a75a738c4141aeb0df05229d6c5d2beea',1,'GpsSolutionEcefRegister::week()'],['../struct_ins_solution_lla_register.html#a75a738c4141aeb0df05229d6c5d2beea',1,'InsSolutionLlaRegister::week()'],['../struct_ins_solution_ecef_register.html#a75a738c4141aeb0df05229d6c5d2beea',1,'InsSolutionEcefRegister::week()']]] -]; diff --git a/vnproglib/c/help/search/all_16.html b/vnproglib/c/help/search/all_16.html deleted file mode 100644 index 338203e..0000000 --- a/vnproglib/c/help/search/all_16.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_16.js b/vnproglib/c/help/search/all_16.js deleted file mode 100644 index 5c13232..0000000 --- a/vnproglib/c/help/search/all_16.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['x',['x',['../struct_velocity_compensation_status_register.html#ad0da36b2558901e21e7a30f6c227a45e',1,'VelocityCompensationStatusRegister']]], - ['xdot',['xDot',['../struct_velocity_compensation_status_register.html#aac57e6557fa068eea041770e78f671e8',1,'VelocityCompensationStatusRegister']]] -]; diff --git a/vnproglib/c/help/search/all_17.html b/vnproglib/c/help/search/all_17.html deleted file mode 100644 index 2ceda4c..0000000 --- a/vnproglib/c/help/search/all_17.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_17.js b/vnproglib/c/help/search/all_17.js deleted file mode 100644 index 4d47119..0000000 --- a/vnproglib/c/help/search/all_17.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['yawpitchroll',['yawPitchRoll',['../struct_vn_composite_data.html#a422bd966180f1f455de6f4d6b9e60d17',1,'VnCompositeData::yawPitchRoll()'],['../struct_yaw_pitch_roll_magnetic_acceleration_and_angular_rates_register.html#a422bd966180f1f455de6f4d6b9e60d17',1,'YawPitchRollMagneticAccelerationAndAngularRatesRegister::yawPitchRoll()'],['../struct_ins_solution_lla_register.html#a422bd966180f1f455de6f4d6b9e60d17',1,'InsSolutionLlaRegister::yawPitchRoll()'],['../struct_ins_solution_ecef_register.html#a422bd966180f1f455de6f4d6b9e60d17',1,'InsSolutionEcefRegister::yawPitchRoll()'],['../struct_ins_state_lla_register.html#a422bd966180f1f455de6f4d6b9e60d17',1,'InsStateLlaRegister::yawPitchRoll()'],['../struct_ins_state_ecef_register.html#a422bd966180f1f455de6f4d6b9e60d17',1,'InsStateEcefRegister::yawPitchRoll()'],['../struct_yaw_pitch_roll_true_body_acceleration_and_angular_rates_register.html#a422bd966180f1f455de6f4d6b9e60d17',1,'YawPitchRollTrueBodyAccelerationAndAngularRatesRegister::yawPitchRoll()'],['../struct_yaw_pitch_roll_true_inertial_acceleration_and_angular_rates_register.html#a422bd966180f1f455de6f4d6b9e60d17',1,'YawPitchRollTrueInertialAccelerationAndAngularRatesRegister::yawPitchRoll()']]], - ['yawpitchrollmagneticaccelerationandangularratesregister',['YawPitchRollMagneticAccelerationAndAngularRatesRegister',['../struct_yaw_pitch_roll_magnetic_acceleration_and_angular_rates_register.html',1,'']]], - ['yawpitchrolltruebodyaccelerationandangularratesregister',['YawPitchRollTrueBodyAccelerationAndAngularRatesRegister',['../struct_yaw_pitch_roll_true_body_acceleration_and_angular_rates_register.html',1,'']]], - ['yawpitchrolltrueinertialaccelerationandangularratesregister',['YawPitchRollTrueInertialAccelerationAndAngularRatesRegister',['../struct_yaw_pitch_roll_true_inertial_acceleration_and_angular_rates_register.html',1,'']]], - ['year',['year',['../struct_reference_vector_configuration_register.html#a1461f908052295f8ddaddc19e35a6ba3',1,'ReferenceVectorConfigurationRegister']]] -]; diff --git a/vnproglib/c/help/search/all_2.html b/vnproglib/c/help/search/all_2.html deleted file mode 100644 index 9786ba6..0000000 --- a/vnproglib/c/help/search/all_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_2.js b/vnproglib/c/help/search/all_2.js deleted file mode 100644 index fd2f098..0000000 --- a/vnproglib/c/help/search/all_2.js +++ /dev/null @@ -1,12 +0,0 @@ -var searchData= -[ - ['c',['c',['../unionquatf.html#aa074583eac8ebaeccf2a71d3a0a8b3eb',1,'quatf::c()'],['../unionvec3f.html#a512996865e64b9aaca31390f37cd8db3',1,'vec3f::c()'],['../unionvec3d.html#adffe062455ce7fd9e485a126781af13f',1,'vec3d::c()'],['../unionvec4f.html#aa074583eac8ebaeccf2a71d3a0a8b3eb',1,'vec4f::c()'],['../struct_magnetometer_compensation_register.html#adb694ac822e606771c42de0c042c3390',1,'MagnetometerCompensationRegister::c()'],['../struct_acceleration_compensation_register.html#adb694ac822e606771c42de0c042c3390',1,'AccelerationCompensationRegister::c()'],['../struct_calculated_magnetometer_calibration_register.html#adb694ac822e606771c42de0c042c3390',1,'CalculatedMagnetometerCalibrationRegister::c()'],['../struct_gyro_compensation_register.html#adb694ac822e606771c42de0c042c3390',1,'GyroCompensationRegister::c()']]], - ['calculatedmagnetometercalibrationregister',['CalculatedMagnetometerCalibrationRegister',['../struct_calculated_magnetometer_calibration_register.html',1,'']]], - ['commonfield',['commonField',['../struct_binary_output_register.html#aeaaa402161ac2de9b36636d3aa6bef54',1,'BinaryOutputRegister']]], - ['communicationprotocolcontrolregister',['CommunicationProtocolControlRegister',['../struct_communication_protocol_control_register.html',1,'']]], - ['convergerate',['convergeRate',['../struct_magnetometer_calibration_control_register.html#a618e01f8c147fb555a7f08baaf455cf7',1,'MagnetometerCalibrationControlRegister']]], - ['criticalsection_2eh',['criticalsection.h',['../criticalsection_8h.html',1,'']]], - ['curdata',['curData',['../struct_vn_ez_async_data.html#a4d9998a6f312d8829af8a116b064765c',1,'VnEzAsyncData']]], - ['curdatacs',['curDataCS',['../struct_vn_ez_async_data.html#a8a716b58e0968033539f1f07ad6a0382',1,'VnEzAsyncData']]], - ['curextractloc',['curExtractLoc',['../struct_vn_uart_packet.html#a31410eded043b69c31f1936050fb8905',1,'VnUartPacket']]] -]; diff --git a/vnproglib/c/help/search/all_3.html b/vnproglib/c/help/search/all_3.html deleted file mode 100644 index e85b95c..0000000 --- a/vnproglib/c/help/search/all_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_3.js b/vnproglib/c/help/search/all_3.js deleted file mode 100644 index 86843ce..0000000 --- a/vnproglib/c/help/search/all_3.js +++ /dev/null @@ -1,14 +0,0 @@ -var searchData= -[ - ['data',['data',['../struct_vn_uart_packet.html#abe222f6d3581e7920dcad5306cc906a8',1,'VnUartPacket::data()'],['../struct_vn_port_info.html#a6f1fcd712c3f5776853626b2dd03df97',1,'VnPortInfo::data()']]], - ['datasize',['dataSize',['../struct_vn_port_info.html#a78f9703861dd365a513c2c5aab9f9239',1,'VnPortInfo']]], - ['deltalimitpos',['deltaLimitPos',['../struct_ins_advanced_configuration_register.html#a022ade72f149eeebca0406e3b12159c3',1,'InsAdvancedConfigurationRegister']]], - ['deltalimitvel',['deltaLimitVel',['../struct_ins_advanced_configuration_register.html#a1e6cceff6cbbf90ff2206a9fb7b7baa5',1,'InsAdvancedConfigurationRegister']]], - ['deltatheta',['deltaTheta',['../struct_vn_composite_data.html#aa092a4d41f672ccf2fa814da4e79032c',1,'VnCompositeData::deltaTheta()'],['../struct_delta_theta_and_delta_velocity_register.html#aa092a4d41f672ccf2fa814da4e79032c',1,'DeltaThetaAndDeltaVelocityRegister::deltaTheta()']]], - ['deltathetaanddeltavelocityconfigurationregister',['DeltaThetaAndDeltaVelocityConfigurationRegister',['../struct_delta_theta_and_delta_velocity_configuration_register.html',1,'']]], - ['deltathetaanddeltavelocityregister',['DeltaThetaAndDeltaVelocityRegister',['../struct_delta_theta_and_delta_velocity_register.html',1,'']]], - ['deltatime',['deltaTime',['../struct_vn_composite_data.html#a1a61318ed6aa02b4ff346e7eb8f68891',1,'VnCompositeData::deltaTime()'],['../struct_delta_theta_and_delta_velocity_register.html#a1a61318ed6aa02b4ff346e7eb8f68891',1,'DeltaThetaAndDeltaVelocityRegister::deltaTime()']]], - ['deltavelocity',['deltaVelocity',['../struct_vn_composite_data.html#afc94796e5da87f7751db5368d218c756',1,'VnCompositeData::deltaVelocity()'],['../struct_delta_theta_and_delta_velocity_register.html#afc94796e5da87f7751db5368d218c756',1,'DeltaThetaAndDeltaVelocityRegister::deltaVelocity()']]], - ['directioncosinematrix',['directionCosineMatrix',['../struct_vn_composite_data.html#a9b0e6f2f6038bc87368c2a6e560fd8f2',1,'VnCompositeData']]], - ['disturbancewindow',['disturbanceWindow',['../struct_vpe_magnetometer_advanced_tuning_register.html#a24df44079e2e7927b9f026d7e6460a79',1,'VpeMagnetometerAdvancedTuningRegister::disturbanceWindow()'],['../struct_vpe_accelerometer_advanced_tuning_register.html#a24df44079e2e7927b9f026d7e6460a79',1,'VpeAccelerometerAdvancedTuningRegister::disturbanceWindow()']]] -]; diff --git a/vnproglib/c/help/search/all_4.html b/vnproglib/c/help/search/all_4.html deleted file mode 100644 index 7fcb91e..0000000 --- a/vnproglib/c/help/search/all_4.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_4.js b/vnproglib/c/help/search/all_4.js deleted file mode 100644 index be70d5e..0000000 --- a/vnproglib/c/help/search/all_4.js +++ /dev/null @@ -1,12 +0,0 @@ -var searchData= -[ - ['e',['e',['../unionmat3f.html#a325d50c409beb070ac286872ccdf6d9b',1,'mat3f']]], - ['enable',['enable',['../struct_vpe_basic_control_register.html#a324d63698d720716b386efb308337af8',1,'VpeBasicControlRegister']]], - ['errormode',['errorMode',['../struct_communication_protocol_control_register.html#abefce879f42d7c61cc6c7970e79372c1',1,'CommunicationProtocolControlRegister']]], - ['estbaseline',['estBaseline',['../struct_ins_basic_configuration_register_vn300.html#afd34a9ef06cc030480b8225c5757bf7c',1,'InsBasicConfigurationRegisterVn300']]], - ['estbaselineused',['estBaselineUsed',['../struct_gps_compass_estimated_baseline_register.html#aa0d7613a534f3bedb6e55b6f5e08ac08',1,'GpsCompassEstimatedBaselineRegister']]], - ['event_2eh',['event.h',['../event_8h.html',1,'']]], - ['extaccmode',['extAccMode',['../struct_filter_basic_control_register.html#ad4bbd01c2b559d21a24fd4d036acecc0',1,'FilterBasicControlRegister']]], - ['extgyromode',['extGyroMode',['../struct_filter_basic_control_register.html#ac7b277ef68a8f1255e4f83417cd6138f',1,'FilterBasicControlRegister']]], - ['extmagmode',['extMagMode',['../struct_filter_basic_control_register.html#a3d4dd0cac3d3e0679ed6ddbbcce86e14',1,'FilterBasicControlRegister']]] -]; diff --git a/vnproglib/c/help/search/all_5.html b/vnproglib/c/help/search/all_5.html deleted file mode 100644 index d7ed274..0000000 --- a/vnproglib/c/help/search/all_5.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_5.js b/vnproglib/c/help/search/all_5.js deleted file mode 100644 index e041871..0000000 --- a/vnproglib/c/help/search/all_5.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['filteractivetuningparametersregister',['FilterActiveTuningParametersRegister',['../struct_filter_active_tuning_parameters_register.html',1,'']]], - ['filterbasiccontrolregister',['FilterBasicControlRegister',['../struct_filter_basic_control_register.html',1,'']]], - ['filteringmode',['filteringMode',['../struct_vpe_basic_control_register.html#a5e3eb3d11092d3dcac248c024342e948',1,'VpeBasicControlRegister']]], - ['filtermeasurementsvarianceparametersregister',['FilterMeasurementsVarianceParametersRegister',['../struct_filter_measurements_variance_parameters_register.html',1,'']]], - ['filterminrate',['filterMinRate',['../struct_imu_rate_configuration_register.html#add27048ad21183a2c3d3e1fa5762f508',1,'ImuRateConfigurationRegister']]], - ['filtertargetrate',['filterTargetRate',['../struct_imu_rate_configuration_register.html#a6c0d98f814d852458db292ea8b173422',1,'ImuRateConfigurationRegister']]] -]; diff --git a/vnproglib/c/help/search/all_6.html b/vnproglib/c/help/search/all_6.html deleted file mode 100644 index 4206aa6..0000000 --- a/vnproglib/c/help/search/all_6.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_6.js b/vnproglib/c/help/search/all_6.js deleted file mode 100644 index 69e79b0..0000000 --- a/vnproglib/c/help/search/all_6.js +++ /dev/null @@ -1,20 +0,0 @@ -var searchData= -[ - ['gpscompassbaselineregister',['GpsCompassBaselineRegister',['../struct_gps_compass_baseline_register.html',1,'']]], - ['gpscompassestimatedbaselineregister',['GpsCompassEstimatedBaselineRegister',['../struct_gps_compass_estimated_baseline_register.html',1,'']]], - ['gpsconfigurationregister',['GpsConfigurationRegister',['../struct_gps_configuration_register.html',1,'']]], - ['gpscovtype',['gpsCovType',['../struct_ins_advanced_configuration_register.html#aca9c75465a8d10d1f3596cc6c832aea7',1,'InsAdvancedConfigurationRegister']]], - ['gpsfield',['gpsField',['../struct_binary_output_register.html#aa9a75ff14683fc5e8d72b2be0f041f3f',1,'BinaryOutputRegister']]], - ['gpsfix',['gpsFix',['../struct_vn_composite_data.html#a3178ced0e7e771e1dde55945384a85f3',1,'VnCompositeData::gpsFix()'],['../struct_gps_solution_lla_register.html#a3178ced0e7e771e1dde55945384a85f3',1,'GpsSolutionLlaRegister::gpsFix()'],['../struct_gps_solution_ecef_register.html#a3178ced0e7e771e1dde55945384a85f3',1,'GpsSolutionEcefRegister::gpsFix()']]], - ['gpssolutionecefregister',['GpsSolutionEcefRegister',['../struct_gps_solution_ecef_register.html',1,'']]], - ['gpssolutionllaregister',['GpsSolutionLlaRegister',['../struct_gps_solution_lla_register.html',1,'']]], - ['gpstimeout',['gpsTimeout',['../struct_ins_advanced_configuration_register.html#a4bf998e53af36be6cfa8ae8806e735a3',1,'InsAdvancedConfigurationRegister']]], - ['gpstow',['gpsTow',['../struct_vn_composite_data.html#a1dab92337d2c9d9ac1110084065caa3c',1,'VnCompositeData']]], - ['gyro',['gyro',['../struct_quaternion_magnetic_acceleration_and_angular_rates_register.html#ab890584ad2f34c8fd0b63ecd8ef5e29b',1,'QuaternionMagneticAccelerationAndAngularRatesRegister::gyro()'],['../struct_magnetic_acceleration_and_angular_rates_register.html#ab890584ad2f34c8fd0b63ecd8ef5e29b',1,'MagneticAccelerationAndAngularRatesRegister::gyro()'],['../struct_yaw_pitch_roll_magnetic_acceleration_and_angular_rates_register.html#ab890584ad2f34c8fd0b63ecd8ef5e29b',1,'YawPitchRollMagneticAccelerationAndAngularRatesRegister::gyro()'],['../struct_imu_measurements_register.html#ab890584ad2f34c8fd0b63ecd8ef5e29b',1,'ImuMeasurementsRegister::gyro()'],['../struct_yaw_pitch_roll_true_body_acceleration_and_angular_rates_register.html#ab890584ad2f34c8fd0b63ecd8ef5e29b',1,'YawPitchRollTrueBodyAccelerationAndAngularRatesRegister::gyro()'],['../struct_yaw_pitch_roll_true_inertial_acceleration_and_angular_rates_register.html#ab890584ad2f34c8fd0b63ecd8ef5e29b',1,'YawPitchRollTrueInertialAccelerationAndAngularRatesRegister::gyro()']]], - ['gyrobias',['gyroBias',['../struct_startup_filter_bias_estimate_register.html#ad765978cadde7bb9ec0e0a507612933f',1,'StartupFilterBiasEstimateRegister']]], - ['gyrocompensation',['gyroCompensation',['../struct_delta_theta_and_delta_velocity_configuration_register.html#a0a35df75eb799d6e6dcdc16c70a615f3',1,'DeltaThetaAndDeltaVelocityConfigurationRegister']]], - ['gyrocompensationregister',['GyroCompensationRegister',['../struct_gyro_compensation_register.html',1,'']]], - ['gyrofiltermode',['gyroFilterMode',['../struct_imu_filtering_configuration_register.html#a12618c9a730c8d8b68d1684043584b9b',1,'ImuFilteringConfigurationRegister']]], - ['gyrolimit',['gyroLimit',['../struct_filter_basic_control_register.html#a4468233d08288504c7e86ad7f3236b05',1,'FilterBasicControlRegister']]], - ['gyrowindowsize',['gyroWindowSize',['../struct_imu_filtering_configuration_register.html#ab19715cb10635cb82c19d8387e2ebcca',1,'ImuFilteringConfigurationRegister']]] -]; diff --git a/vnproglib/c/help/search/all_7.html b/vnproglib/c/help/search/all_7.html deleted file mode 100644 index df6797b..0000000 --- a/vnproglib/c/help/search/all_7.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_7.js b/vnproglib/c/help/search/all_7.js deleted file mode 100644 index 5073c74..0000000 --- a/vnproglib/c/help/search/all_7.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['headingmode',['headingMode',['../struct_vpe_basic_control_register.html#a2a92eaae7f0850d6e2eedd6ba2eedb07',1,'VpeBasicControlRegister']]], - ['hsimode',['hsiMode',['../struct_magnetometer_calibration_control_register.html#a699913c24ed0705b87e33f1c746b153a',1,'MagnetometerCalibrationControlRegister']]], - ['hsioutput',['hsiOutput',['../struct_magnetometer_calibration_control_register.html#a5ab7b44c6c6cd25daf5f5aac19c4f959',1,'MagnetometerCalibrationControlRegister']]], - ['htos16',['htos16',['../group__byte_orderers.html#ga6719327d04e4fb3340ac36527b45bf80',1,'util.h']]], - ['htos32',['htos32',['../group__byte_orderers.html#ga1e5af0d83175c5a4e3117017b48f669a',1,'util.h']]], - ['htos64',['htos64',['../group__byte_orderers.html#ga642450533d60a03348eb630b89d76495',1,'util.h']]], - ['htosf4',['htosf4',['../group__byte_orderers.html#ga2d883ad9d232920fcf8505788df1c951',1,'util.h']]], - ['htosf8',['htosf8',['../group__byte_orderers.html#ga13a39e8d4dba632a0a2bbe1be2d06326',1,'util.h']]] -]; diff --git a/vnproglib/c/help/search/all_8.html b/vnproglib/c/help/search/all_8.html deleted file mode 100644 index 008b9f9..0000000 --- a/vnproglib/c/help/search/all_8.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_8.js b/vnproglib/c/help/search/all_8.js deleted file mode 100644 index 55726f8..0000000 --- a/vnproglib/c/help/search/all_8.js +++ /dev/null @@ -1,19 +0,0 @@ -var searchData= -[ - ['imufield',['imuField',['../struct_binary_output_register.html#a7dea59363342c5f343e5c88c5222e438',1,'BinaryOutputRegister']]], - ['imufilteringconfigurationregister',['ImuFilteringConfigurationRegister',['../struct_imu_filtering_configuration_register.html',1,'']]], - ['imumeasurementsregister',['ImuMeasurementsRegister',['../struct_imu_measurements_register.html',1,'']]], - ['imurate',['imuRate',['../struct_imu_rate_configuration_register.html#ab4cd7fda89ec601ac2266202c6e1cdeb',1,'ImuRateConfigurationRegister']]], - ['imurateconfigurationregister',['ImuRateConfigurationRegister',['../struct_imu_rate_configuration_register.html',1,'']]], - ['inertialaccel',['inertialAccel',['../struct_yaw_pitch_roll_true_inertial_acceleration_and_angular_rates_register.html#ab4e4f47c9683105d005dc1f334119c82',1,'YawPitchRollTrueInertialAccelerationAndAngularRatesRegister']]], - ['insadvancedconfigurationregister',['InsAdvancedConfigurationRegister',['../struct_ins_advanced_configuration_register.html',1,'']]], - ['insbasicconfigurationregistervn200',['InsBasicConfigurationRegisterVn200',['../struct_ins_basic_configuration_register_vn200.html',1,'']]], - ['insbasicconfigurationregistervn300',['InsBasicConfigurationRegisterVn300',['../struct_ins_basic_configuration_register_vn300.html',1,'']]], - ['insfield',['insField',['../struct_binary_output_register.html#a4b7f3a8cf2010b2ff694bbe150f556b3',1,'BinaryOutputRegister']]], - ['inssolutionecefregister',['InsSolutionEcefRegister',['../struct_ins_solution_ecef_register.html',1,'']]], - ['inssolutionllaregister',['InsSolutionLlaRegister',['../struct_ins_solution_lla_register.html',1,'']]], - ['insstateecefregister',['InsStateEcefRegister',['../struct_ins_state_ecef_register.html',1,'']]], - ['insstatellaregister',['InsStateLlaRegister',['../struct_ins_state_lla_register.html',1,'']]], - ['insstatus',['insStatus',['../struct_vn_composite_data.html#a21b4eec3eda79b3bddff91b86ab88c62',1,'VnCompositeData']]], - ['integrationframe',['integrationFrame',['../struct_delta_theta_and_delta_velocity_configuration_register.html#a83987f42dacdde6b5e688608baec83f8',1,'DeltaThetaAndDeltaVelocityConfigurationRegister']]] -]; diff --git a/vnproglib/c/help/search/all_9.html b/vnproglib/c/help/search/all_9.html deleted file mode 100644 index 0651d82..0000000 --- a/vnproglib/c/help/search/all_9.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_9.js b/vnproglib/c/help/search/all_9.js deleted file mode 100644 index c68605c..0000000 --- a/vnproglib/c/help/search/all_9.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['known_20issues',['Known Issues',['../known_issues.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/all_a.html b/vnproglib/c/help/search/all_a.html deleted file mode 100644 index 0173517..0000000 --- a/vnproglib/c/help/search/all_a.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_a.js b/vnproglib/c/help/search/all_a.js deleted file mode 100644 index b734f6d..0000000 --- a/vnproglib/c/help/search/all_a.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['length',['length',['../struct_vn_uart_packet.html#ae809d5359ac030c60a30a8f0b2294b82',1,'VnUartPacket']]], - ['lla',['lla',['../struct_gps_solution_lla_register.html#af6a8e44b9726649396af05dd50fa9215',1,'GpsSolutionLlaRegister']]] -]; diff --git a/vnproglib/c/help/search/all_b.html b/vnproglib/c/help/search/all_b.html deleted file mode 100644 index f86ec8e..0000000 --- a/vnproglib/c/help/search/all_b.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_b.js b/vnproglib/c/help/search/all_b.js deleted file mode 100644 index 099ef7b..0000000 --- a/vnproglib/c/help/search/all_b.js +++ /dev/null @@ -1,28 +0,0 @@ -var searchData= -[ - ['mag',['mag',['../struct_quaternion_magnetic_acceleration_and_angular_rates_register.html#a6d7a8470b23c03065744577e1cd50509',1,'QuaternionMagneticAccelerationAndAngularRatesRegister::mag()'],['../struct_magnetic_acceleration_and_angular_rates_register.html#a6d7a8470b23c03065744577e1cd50509',1,'MagneticAccelerationAndAngularRatesRegister::mag()'],['../struct_yaw_pitch_roll_magnetic_acceleration_and_angular_rates_register.html#a6d7a8470b23c03065744577e1cd50509',1,'YawPitchRollMagneticAccelerationAndAngularRatesRegister::mag()'],['../struct_imu_measurements_register.html#a6d7a8470b23c03065744577e1cd50509',1,'ImuMeasurementsRegister::mag()']]], - ['magfiltermode',['magFilterMode',['../struct_imu_filtering_configuration_register.html#a332858779937bac2207b27405b2f8e59',1,'ImuFilteringConfigurationRegister']]], - ['magmode',['magMode',['../struct_filter_basic_control_register.html#a84830f28c0f27a9e5beb22fa5ed03e32',1,'FilterBasicControlRegister']]], - ['magnetic',['magnetic',['../struct_vn_composite_data.html#a9d1d8cb4355d4b9ab047e73b12b2f128',1,'VnCompositeData']]], - ['magneticaccelerationandangularratesregister',['MagneticAccelerationAndAngularRatesRegister',['../struct_magnetic_acceleration_and_angular_rates_register.html',1,'']]], - ['magneticandgravityreferencevectorsregister',['MagneticAndGravityReferenceVectorsRegister',['../struct_magnetic_and_gravity_reference_vectors_register.html',1,'']]], - ['magneticdisturbancegain',['magneticDisturbanceGain',['../struct_filter_active_tuning_parameters_register.html#aa0c0de20bb3bae02aac79085e575c6c8',1,'FilterActiveTuningParametersRegister']]], - ['magneticdisturbancememory',['magneticDisturbanceMemory',['../struct_filter_active_tuning_parameters_register.html#addf1bed42f8ea643478608977def03cb',1,'FilterActiveTuningParametersRegister']]], - ['magneticecef',['magneticEcef',['../struct_vn_composite_data.html#afa4d62e17e32eb869af646dd431278b3',1,'VnCompositeData']]], - ['magneticned',['magneticNed',['../struct_vn_composite_data.html#a2626f2354fac6a2120e4eaf23e985e4f',1,'VnCompositeData']]], - ['magneticuncompensated',['magneticUncompensated',['../struct_vn_composite_data.html#a21f67714e076de3c5258b0df66690ec1',1,'VnCompositeData']]], - ['magneticvariance',['magneticVariance',['../struct_filter_measurements_variance_parameters_register.html#ad52811589392356a70f3c2991df46f69',1,'FilterMeasurementsVarianceParametersRegister']]], - ['magnetometercalibrationcontrolregister',['MagnetometerCalibrationControlRegister',['../struct_magnetometer_calibration_control_register.html',1,'']]], - ['magnetometercompensationregister',['MagnetometerCompensationRegister',['../struct_magnetometer_compensation_register.html',1,'']]], - ['magref',['magRef',['../struct_magnetic_and_gravity_reference_vectors_register.html#ada01dab395502cd313a9f01f68c56027',1,'MagneticAndGravityReferenceVectorsRegister']]], - ['magwindowsize',['magWindowSize',['../struct_imu_filtering_configuration_register.html#ab00297258157bb773ab9736a2f6def06',1,'ImuFilteringConfigurationRegister']]], - ['mat3f',['mat3f',['../unionmat3f.html',1,'']]], - ['maxadaptrate',['maxAdaptRate',['../struct_vpe_magnetometer_advanced_tuning_register.html#af4e6100eaf01c23b74f07aade65b7c4c',1,'VpeMagnetometerAdvancedTuningRegister::maxAdaptRate()'],['../struct_vpe_accelerometer_advanced_tuning_register.html#af4e6100eaf01c23b74f07aade65b7c4c',1,'VpeAccelerometerAdvancedTuningRegister::maxAdaptRate()']]], - ['maxfiltering',['maxFiltering',['../struct_vpe_magnetometer_advanced_tuning_register.html#a907ee0e82afbf788c0652c07234173a5',1,'VpeMagnetometerAdvancedTuningRegister::maxFiltering()'],['../struct_vpe_accelerometer_advanced_tuning_register.html#a907ee0e82afbf788c0652c07234173a5',1,'VpeAccelerometerAdvancedTuningRegister::maxFiltering()']]], - ['maxtuning',['maxTuning',['../struct_vpe_magnetometer_advanced_tuning_register.html#aaa976cfb6d5791bb0729119a6d17fde9',1,'VpeMagnetometerAdvancedTuningRegister::maxTuning()'],['../struct_vpe_accelerometer_advanced_tuning_register.html#aaa976cfb6d5791bb0729119a6d17fde9',1,'VpeAccelerometerAdvancedTuningRegister::maxTuning()']]], - ['minfiltering',['minFiltering',['../struct_vpe_magnetometer_advanced_tuning_register.html#a096789d671a578cd8e1aa5f3a739dcdc',1,'VpeMagnetometerAdvancedTuningRegister::minFiltering()'],['../struct_vpe_accelerometer_advanced_tuning_register.html#a096789d671a578cd8e1aa5f3a739dcdc',1,'VpeAccelerometerAdvancedTuningRegister::minFiltering()']]], - ['minposuncertainty',['minPosUncertainty',['../struct_ins_advanced_configuration_register.html#acd67f1cc0adca4aefabb480a2a0bbb39',1,'InsAdvancedConfigurationRegister']]], - ['minveluncertainty',['minVelUncertainty',['../struct_ins_advanced_configuration_register.html#a5f6ffdb251a824e231b26f727aa8c1d5',1,'InsAdvancedConfigurationRegister']]], - ['mode',['mode',['../struct_velocity_compensation_control_register.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'VelocityCompensationControlRegister::mode()'],['../struct_gps_configuration_register.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'GpsConfigurationRegister::mode()']]], - ['moveorigin',['moveOrigin',['../struct_ins_advanced_configuration_register.html#a0eb02c0a22494126dcd4ec1d10d0924b',1,'InsAdvancedConfigurationRegister']]] -]; diff --git a/vnproglib/c/help/search/all_c.html b/vnproglib/c/help/search/all_c.html deleted file mode 100644 index 579f536..0000000 --- a/vnproglib/c/help/search/all_c.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_c.js b/vnproglib/c/help/search/all_c.js deleted file mode 100644 index cfdc62f..0000000 --- a/vnproglib/c/help/search/all_c.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['navdivisor',['navDivisor',['../struct_imu_rate_configuration_register.html#a3b6471ae7ce60605deb5c452051220a3',1,'ImuRateConfigurationRegister']]], - ['nedacc',['nedAcc',['../struct_gps_solution_lla_register.html#a97b67ef714d0a8fe8a5ca79a4f49ded2',1,'GpsSolutionLlaRegister']]], - ['nedvel',['nedVel',['../struct_gps_solution_lla_register.html#a70cb1b13e848715078da62243a6ea836',1,'GpsSolutionLlaRegister::nedVel()'],['../struct_ins_solution_lla_register.html#a70cb1b13e848715078da62243a6ea836',1,'InsSolutionLlaRegister::nedVel()']]], - ['nummeas',['numMeas',['../struct_gps_compass_estimated_baseline_register.html#ac4f6d3187273b8ec439252f30a6bf58a',1,'GpsCompassEstimatedBaselineRegister']]], - ['numsats',['numSats',['../struct_vn_composite_data.html#a930c169f06fc077f0f285e497af7c1b1',1,'VnCompositeData::numSats()'],['../struct_gps_solution_lla_register.html#a930c169f06fc077f0f285e497af7c1b1',1,'GpsSolutionLlaRegister::numSats()'],['../struct_gps_solution_ecef_register.html#a930c169f06fc077f0f285e497af7c1b1',1,'GpsSolutionEcefRegister::numSats()']]] -]; diff --git a/vnproglib/c/help/search/all_d.html b/vnproglib/c/help/search/all_d.html deleted file mode 100644 index e92274d..0000000 --- a/vnproglib/c/help/search/all_d.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_d.js b/vnproglib/c/help/search/all_d.js deleted file mode 100644 index ce61f64..0000000 --- a/vnproglib/c/help/search/all_d.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['omega',['omega',['../struct_velocity_compensation_status_register.html#a62b90331154d3d45a3136bfe96d41a02',1,'VelocityCompensationStatusRegister']]] -]; diff --git a/vnproglib/c/help/search/all_e.html b/vnproglib/c/help/search/all_e.html deleted file mode 100644 index c49b9a6..0000000 --- a/vnproglib/c/help/search/all_e.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_e.js b/vnproglib/c/help/search/all_e.js deleted file mode 100644 index 7cb5c2c..0000000 --- a/vnproglib/c/help/search/all_e.js +++ /dev/null @@ -1,23 +0,0 @@ -var searchData= -[ - ['packetfoundhandler',['packetFoundHandler',['../struct_vn_uart_packet_finder.html#a3bc3f7532d62213f2dc66ef99eb6ade8',1,'VnUartPacketFinder']]], - ['packetfoundhandleruserdata',['packetFoundHandlerUserData',['../struct_vn_uart_packet_finder.html#aaf39230c3aa2cd377ff0b7af18daa950',1,'VnUartPacketFinder']]], - ['port',['port',['../struct_vn_port_info.html#a14ad0b76757cfe77fec7b1e899fee9cc',1,'VnPortInfo']]], - ['portname',['portName',['../struct_vn_port_info.html#a0b618d18dae228750be66b361c3fb6e9',1,'VnPortInfo']]], - ['posacc',['posAcc',['../struct_gps_solution_ecef_register.html#a72c392c8a59d284abc83b41556f48ab8',1,'GpsSolutionEcefRegister']]], - ['posatt',['posAtt',['../struct_ins_advanced_configuration_register.html#aebd4000973f8fd24c9b968eb1f745395',1,'InsAdvancedConfigurationRegister']]], - ['position',['position',['../struct_gps_solution_ecef_register.html#a54714baed5606260851e126de957d13a',1,'GpsSolutionEcefRegister::position()'],['../struct_ins_solution_lla_register.html#a54714baed5606260851e126de957d13a',1,'InsSolutionLlaRegister::position()'],['../struct_ins_solution_ecef_register.html#a54714baed5606260851e126de957d13a',1,'InsSolutionEcefRegister::position()'],['../struct_ins_state_lla_register.html#a54714baed5606260851e126de957d13a',1,'InsStateLlaRegister::position()'],['../struct_ins_state_ecef_register.html#a54714baed5606260851e126de957d13a',1,'InsStateEcefRegister::position()'],['../struct_reference_vector_configuration_register.html#a54714baed5606260851e126de957d13a',1,'ReferenceVectorConfigurationRegister::position()'],['../struct_gps_compass_baseline_register.html#aea93c894ec2213d55f64d5494e23ef7b',1,'GpsCompassBaselineRegister::position()'],['../struct_gps_compass_estimated_baseline_register.html#aea93c894ec2213d55f64d5494e23ef7b',1,'GpsCompassEstimatedBaselineRegister::position()']]], - ['positionestimatedecef',['positionEstimatedEcef',['../struct_vn_composite_data.html#a30e10a84e4248dc53aaa3e7c2d31fe9c',1,'VnCompositeData']]], - ['positionestimatedlla',['positionEstimatedLla',['../struct_vn_composite_data.html#a0eb39d5d6a26c2fae9eb0c461e599222',1,'VnCompositeData']]], - ['positiongpsecef',['positionGpsEcef',['../struct_vn_composite_data.html#a198e10e9fd54ad276a5c7ead976e956e',1,'VnCompositeData']]], - ['positiongpslla',['positionGpsLla',['../struct_vn_composite_data.html#a6bc5cd050ab074f5767ec2f0fd60a92e',1,'VnCompositeData']]], - ['positionuncertaintyestimated',['positionUncertaintyEstimated',['../struct_vn_composite_data.html#a44c9086a20bb0c88d45878027e9bd1ae',1,'VnCompositeData']]], - ['positionuncertaintygpsecef',['positionUncertaintyGpsEcef',['../struct_vn_composite_data.html#a2a02e178ae1fbb19622b90f4d5224aae',1,'VnCompositeData']]], - ['positionuncertaintygpsned',['positionUncertaintyGpsNed',['../struct_vn_composite_data.html#a852e8fd1ff03df8d99fa41e107938da9',1,'VnCompositeData']]], - ['posuncertainty',['posUncertainty',['../struct_ins_solution_lla_register.html#ac176e7bd4980d13f4d916dcfc6603dd4',1,'InsSolutionLlaRegister::posUncertainty()'],['../struct_ins_solution_ecef_register.html#ac176e7bd4980d13f4d916dcfc6603dd4',1,'InsSolutionEcefRegister::posUncertainty()']]], - ['ppssource',['ppsSource',['../struct_gps_configuration_register.html#a3a0e304664359783a6fbc1d8460a5784',1,'GpsConfigurationRegister']]], - ['presfiltermode',['presFilterMode',['../struct_imu_filtering_configuration_register.html#a4e1242c0a6a5a776fae95684038a00bb',1,'ImuFilteringConfigurationRegister']]], - ['pressure',['pressure',['../struct_vn_composite_data.html#ac870e1249bab4a2a68cc4126761d24ef',1,'VnCompositeData::pressure()'],['../struct_imu_measurements_register.html#ac870e1249bab4a2a68cc4126761d24ef',1,'ImuMeasurementsRegister::pressure()']]], - ['pressurebias',['pressureBias',['../struct_startup_filter_bias_estimate_register.html#abd199760028fcce3ee9baa584bf62c32',1,'StartupFilterBiasEstimateRegister']]], - ['preswindowsize',['presWindowSize',['../struct_imu_filtering_configuration_register.html#a68d0e6af920881f706101252eeaa0e40',1,'ImuFilteringConfigurationRegister']]] -]; diff --git a/vnproglib/c/help/search/all_f.html b/vnproglib/c/help/search/all_f.html deleted file mode 100644 index 9f21257..0000000 --- a/vnproglib/c/help/search/all_f.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/all_f.js b/vnproglib/c/help/search/all_f.js deleted file mode 100644 index 01a55cb..0000000 --- a/vnproglib/c/help/search/all_f.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['quat',['quat',['../struct_quaternion_magnetic_acceleration_and_angular_rates_register.html#ae1e178adc8118816ec2da009785d4052',1,'QuaternionMagneticAccelerationAndAngularRatesRegister']]], - ['quaternion',['quaternion',['../struct_vn_composite_data.html#a61cfa09b4d48bfff612330015e501408',1,'VnCompositeData']]], - ['quaternionmagneticaccelerationandangularratesregister',['QuaternionMagneticAccelerationAndAngularRatesRegister',['../struct_quaternion_magnetic_acceleration_and_angular_rates_register.html',1,'']]], - ['quatf',['quatf',['../unionquatf.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/classes_0.html b/vnproglib/c/help/search/classes_0.html deleted file mode 100644 index 002d009..0000000 --- a/vnproglib/c/help/search/classes_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/classes_0.js b/vnproglib/c/help/search/classes_0.js deleted file mode 100644 index 8fab9b3..0000000 --- a/vnproglib/c/help/search/classes_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['accelerationcompensationregister',['AccelerationCompensationRegister',['../struct_acceleration_compensation_register.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/classes_1.html b/vnproglib/c/help/search/classes_1.html deleted file mode 100644 index a2c3269..0000000 --- a/vnproglib/c/help/search/classes_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/classes_1.js b/vnproglib/c/help/search/classes_1.js deleted file mode 100644 index 0aea4bd..0000000 --- a/vnproglib/c/help/search/classes_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['binaryoutputregister',['BinaryOutputRegister',['../struct_binary_output_register.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/classes_2.html b/vnproglib/c/help/search/classes_2.html deleted file mode 100644 index aff90c7..0000000 --- a/vnproglib/c/help/search/classes_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/classes_2.js b/vnproglib/c/help/search/classes_2.js deleted file mode 100644 index 0f35327..0000000 --- a/vnproglib/c/help/search/classes_2.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['calculatedmagnetometercalibrationregister',['CalculatedMagnetometerCalibrationRegister',['../struct_calculated_magnetometer_calibration_register.html',1,'']]], - ['communicationprotocolcontrolregister',['CommunicationProtocolControlRegister',['../struct_communication_protocol_control_register.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/classes_3.html b/vnproglib/c/help/search/classes_3.html deleted file mode 100644 index 7c1a337..0000000 --- a/vnproglib/c/help/search/classes_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/classes_3.js b/vnproglib/c/help/search/classes_3.js deleted file mode 100644 index 6f64d57..0000000 --- a/vnproglib/c/help/search/classes_3.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['deltathetaanddeltavelocityconfigurationregister',['DeltaThetaAndDeltaVelocityConfigurationRegister',['../struct_delta_theta_and_delta_velocity_configuration_register.html',1,'']]], - ['deltathetaanddeltavelocityregister',['DeltaThetaAndDeltaVelocityRegister',['../struct_delta_theta_and_delta_velocity_register.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/classes_4.html b/vnproglib/c/help/search/classes_4.html deleted file mode 100644 index 720c4e6..0000000 --- a/vnproglib/c/help/search/classes_4.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/classes_4.js b/vnproglib/c/help/search/classes_4.js deleted file mode 100644 index 906c6d7..0000000 --- a/vnproglib/c/help/search/classes_4.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['filteractivetuningparametersregister',['FilterActiveTuningParametersRegister',['../struct_filter_active_tuning_parameters_register.html',1,'']]], - ['filterbasiccontrolregister',['FilterBasicControlRegister',['../struct_filter_basic_control_register.html',1,'']]], - ['filtermeasurementsvarianceparametersregister',['FilterMeasurementsVarianceParametersRegister',['../struct_filter_measurements_variance_parameters_register.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/classes_5.html b/vnproglib/c/help/search/classes_5.html deleted file mode 100644 index 8c38fd5..0000000 --- a/vnproglib/c/help/search/classes_5.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/classes_5.js b/vnproglib/c/help/search/classes_5.js deleted file mode 100644 index 2a980e3..0000000 --- a/vnproglib/c/help/search/classes_5.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['gpscompassbaselineregister',['GpsCompassBaselineRegister',['../struct_gps_compass_baseline_register.html',1,'']]], - ['gpscompassestimatedbaselineregister',['GpsCompassEstimatedBaselineRegister',['../struct_gps_compass_estimated_baseline_register.html',1,'']]], - ['gpsconfigurationregister',['GpsConfigurationRegister',['../struct_gps_configuration_register.html',1,'']]], - ['gpssolutionecefregister',['GpsSolutionEcefRegister',['../struct_gps_solution_ecef_register.html',1,'']]], - ['gpssolutionllaregister',['GpsSolutionLlaRegister',['../struct_gps_solution_lla_register.html',1,'']]], - ['gyrocompensationregister',['GyroCompensationRegister',['../struct_gyro_compensation_register.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/classes_6.html b/vnproglib/c/help/search/classes_6.html deleted file mode 100644 index 33f9093..0000000 --- a/vnproglib/c/help/search/classes_6.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/classes_6.js b/vnproglib/c/help/search/classes_6.js deleted file mode 100644 index 47355a0..0000000 --- a/vnproglib/c/help/search/classes_6.js +++ /dev/null @@ -1,13 +0,0 @@ -var searchData= -[ - ['imufilteringconfigurationregister',['ImuFilteringConfigurationRegister',['../struct_imu_filtering_configuration_register.html',1,'']]], - ['imumeasurementsregister',['ImuMeasurementsRegister',['../struct_imu_measurements_register.html',1,'']]], - ['imurateconfigurationregister',['ImuRateConfigurationRegister',['../struct_imu_rate_configuration_register.html',1,'']]], - ['insadvancedconfigurationregister',['InsAdvancedConfigurationRegister',['../struct_ins_advanced_configuration_register.html',1,'']]], - ['insbasicconfigurationregistervn200',['InsBasicConfigurationRegisterVn200',['../struct_ins_basic_configuration_register_vn200.html',1,'']]], - ['insbasicconfigurationregistervn300',['InsBasicConfigurationRegisterVn300',['../struct_ins_basic_configuration_register_vn300.html',1,'']]], - ['inssolutionecefregister',['InsSolutionEcefRegister',['../struct_ins_solution_ecef_register.html',1,'']]], - ['inssolutionllaregister',['InsSolutionLlaRegister',['../struct_ins_solution_lla_register.html',1,'']]], - ['insstateecefregister',['InsStateEcefRegister',['../struct_ins_state_ecef_register.html',1,'']]], - ['insstatellaregister',['InsStateLlaRegister',['../struct_ins_state_lla_register.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/classes_7.html b/vnproglib/c/help/search/classes_7.html deleted file mode 100644 index 273efd5..0000000 --- a/vnproglib/c/help/search/classes_7.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/classes_7.js b/vnproglib/c/help/search/classes_7.js deleted file mode 100644 index 464311c..0000000 --- a/vnproglib/c/help/search/classes_7.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['magneticaccelerationandangularratesregister',['MagneticAccelerationAndAngularRatesRegister',['../struct_magnetic_acceleration_and_angular_rates_register.html',1,'']]], - ['magneticandgravityreferencevectorsregister',['MagneticAndGravityReferenceVectorsRegister',['../struct_magnetic_and_gravity_reference_vectors_register.html',1,'']]], - ['magnetometercalibrationcontrolregister',['MagnetometerCalibrationControlRegister',['../struct_magnetometer_calibration_control_register.html',1,'']]], - ['magnetometercompensationregister',['MagnetometerCompensationRegister',['../struct_magnetometer_compensation_register.html',1,'']]], - ['mat3f',['mat3f',['../unionmat3f.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/classes_8.html b/vnproglib/c/help/search/classes_8.html deleted file mode 100644 index fa8a44c..0000000 --- a/vnproglib/c/help/search/classes_8.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/classes_8.js b/vnproglib/c/help/search/classes_8.js deleted file mode 100644 index 660f6b9..0000000 --- a/vnproglib/c/help/search/classes_8.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['quaternionmagneticaccelerationandangularratesregister',['QuaternionMagneticAccelerationAndAngularRatesRegister',['../struct_quaternion_magnetic_acceleration_and_angular_rates_register.html',1,'']]], - ['quatf',['quatf',['../unionquatf.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/classes_9.html b/vnproglib/c/help/search/classes_9.html deleted file mode 100644 index 2357aa1..0000000 --- a/vnproglib/c/help/search/classes_9.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/classes_9.js b/vnproglib/c/help/search/classes_9.js deleted file mode 100644 index 49daffc..0000000 --- a/vnproglib/c/help/search/classes_9.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['referencevectorconfigurationregister',['ReferenceVectorConfigurationRegister',['../struct_reference_vector_configuration_register.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/classes_a.html b/vnproglib/c/help/search/classes_a.html deleted file mode 100644 index 1807e8d..0000000 --- a/vnproglib/c/help/search/classes_a.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/classes_a.js b/vnproglib/c/help/search/classes_a.js deleted file mode 100644 index 0072f7a..0000000 --- a/vnproglib/c/help/search/classes_a.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['startupfilterbiasestimateregister',['StartupFilterBiasEstimateRegister',['../struct_startup_filter_bias_estimate_register.html',1,'']]], - ['synchronizationcontrolregister',['SynchronizationControlRegister',['../struct_synchronization_control_register.html',1,'']]], - ['synchronizationstatusregister',['SynchronizationStatusRegister',['../struct_synchronization_status_register.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/classes_b.html b/vnproglib/c/help/search/classes_b.html deleted file mode 100644 index 6899502..0000000 --- a/vnproglib/c/help/search/classes_b.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/classes_b.js b/vnproglib/c/help/search/classes_b.js deleted file mode 100644 index da39872..0000000 --- a/vnproglib/c/help/search/classes_b.js +++ /dev/null @@ -1,25 +0,0 @@ -var searchData= -[ - ['vec3d',['vec3d',['../unionvec3d.html',1,'']]], - ['vec3f',['vec3f',['../unionvec3f.html',1,'']]], - ['vec4f',['vec4f',['../unionvec4f.html',1,'']]], - ['velocitycompensationcontrolregister',['VelocityCompensationControlRegister',['../struct_velocity_compensation_control_register.html',1,'']]], - ['velocitycompensationstatusregister',['VelocityCompensationStatusRegister',['../struct_velocity_compensation_status_register.html',1,'']]], - ['vncompositedata',['VnCompositeData',['../struct_vn_composite_data.html',1,'']]], - ['vncriticalsection',['VnCriticalSection',['../struct_vn_critical_section.html',1,'']]], - ['vnevent',['VnEvent',['../struct_vn_event.html',1,'']]], - ['vnezasyncdata',['VnEzAsyncData',['../struct_vn_ez_async_data.html',1,'']]], - ['vnportinfo',['VnPortInfo',['../struct_vn_port_info.html',1,'']]], - ['vnsensor',['VnSensor',['../struct_vn_sensor.html',1,'']]], - ['vnserialport',['VnSerialPort',['../struct_vn_serial_port.html',1,'']]], - ['vnstopwatch',['VnStopwatch',['../struct_vn_stopwatch.html',1,'']]], - ['vnthread',['VnThread',['../struct_vn_thread.html',1,'']]], - ['vnuartpacket',['VnUartPacket',['../struct_vn_uart_packet.html',1,'']]], - ['vnuartpacketfinder',['VnUartPacketFinder',['../struct_vn_uart_packet_finder.html',1,'']]], - ['vpeaccelerometeradvancedtuningregister',['VpeAccelerometerAdvancedTuningRegister',['../struct_vpe_accelerometer_advanced_tuning_register.html',1,'']]], - ['vpeaccelerometerbasictuningregister',['VpeAccelerometerBasicTuningRegister',['../struct_vpe_accelerometer_basic_tuning_register.html',1,'']]], - ['vpebasiccontrolregister',['VpeBasicControlRegister',['../struct_vpe_basic_control_register.html',1,'']]], - ['vpegyrobasictuningregister',['VpeGyroBasicTuningRegister',['../struct_vpe_gyro_basic_tuning_register.html',1,'']]], - ['vpemagnetometeradvancedtuningregister',['VpeMagnetometerAdvancedTuningRegister',['../struct_vpe_magnetometer_advanced_tuning_register.html',1,'']]], - ['vpemagnetometerbasictuningregister',['VpeMagnetometerBasicTuningRegister',['../struct_vpe_magnetometer_basic_tuning_register.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/classes_c.html b/vnproglib/c/help/search/classes_c.html deleted file mode 100644 index bbd48e6..0000000 --- a/vnproglib/c/help/search/classes_c.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/classes_c.js b/vnproglib/c/help/search/classes_c.js deleted file mode 100644 index 253e5f7..0000000 --- a/vnproglib/c/help/search/classes_c.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['yawpitchrollmagneticaccelerationandangularratesregister',['YawPitchRollMagneticAccelerationAndAngularRatesRegister',['../struct_yaw_pitch_roll_magnetic_acceleration_and_angular_rates_register.html',1,'']]], - ['yawpitchrolltruebodyaccelerationandangularratesregister',['YawPitchRollTrueBodyAccelerationAndAngularRatesRegister',['../struct_yaw_pitch_roll_true_body_acceleration_and_angular_rates_register.html',1,'']]], - ['yawpitchrolltrueinertialaccelerationandangularratesregister',['YawPitchRollTrueInertialAccelerationAndAngularRatesRegister',['../struct_yaw_pitch_roll_true_inertial_acceleration_and_angular_rates_register.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/close.png b/vnproglib/c/help/search/close.png deleted file mode 100644 index 9342d3dfeea7b7c4ee610987e717804b5a42ceb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmV+s0q*{ZP)4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN diff --git a/vnproglib/c/help/search/files_0.html b/vnproglib/c/help/search/files_0.html deleted file mode 100644 index dc5601f..0000000 --- a/vnproglib/c/help/search/files_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/files_0.js b/vnproglib/c/help/search/files_0.js deleted file mode 100644 index 90577b1..0000000 --- a/vnproglib/c/help/search/files_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['criticalsection_2eh',['criticalsection.h',['../criticalsection_8h.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/files_1.html b/vnproglib/c/help/search/files_1.html deleted file mode 100644 index f16dd9a..0000000 --- a/vnproglib/c/help/search/files_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/files_1.js b/vnproglib/c/help/search/files_1.js deleted file mode 100644 index 9c7578c..0000000 --- a/vnproglib/c/help/search/files_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['event_2eh',['event.h',['../event_8h.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/files_2.html b/vnproglib/c/help/search/files_2.html deleted file mode 100644 index 5711194..0000000 --- a/vnproglib/c/help/search/files_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/files_2.js b/vnproglib/c/help/search/files_2.js deleted file mode 100644 index 7223493..0000000 --- a/vnproglib/c/help/search/files_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['sensors_2eh',['sensors.h',['../sensors_8h.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/files_3.html b/vnproglib/c/help/search/files_3.html deleted file mode 100644 index 9e89d19..0000000 --- a/vnproglib/c/help/search/files_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/files_3.js b/vnproglib/c/help/search/files_3.js deleted file mode 100644 index 7054c69..0000000 --- a/vnproglib/c/help/search/files_3.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['thread_2eh',['thread.h',['../thread_8h.html',1,'']]], - ['time_2eh',['time.h',['../time_8h.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/functions_0.html b/vnproglib/c/help/search/functions_0.html deleted file mode 100644 index c0da3f5..0000000 --- a/vnproglib/c/help/search/functions_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/functions_0.js b/vnproglib/c/help/search/functions_0.js deleted file mode 100644 index 4677f95..0000000 --- a/vnproglib/c/help/search/functions_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['binaryoutputregister_5finitialize',['BinaryOutputRegister_initialize',['../group__register_structures.html#gab3061f669ecafade5b67ce11fef27bd1',1,'sensors.h']]] -]; diff --git a/vnproglib/c/help/search/functions_1.html b/vnproglib/c/help/search/functions_1.html deleted file mode 100644 index 4fde118..0000000 --- a/vnproglib/c/help/search/functions_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/functions_1.js b/vnproglib/c/help/search/functions_1.js deleted file mode 100644 index 9201588..0000000 --- a/vnproglib/c/help/search/functions_1.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['htos16',['htos16',['../group__byte_orderers.html#ga6719327d04e4fb3340ac36527b45bf80',1,'util.h']]], - ['htos32',['htos32',['../group__byte_orderers.html#ga1e5af0d83175c5a4e3117017b48f669a',1,'util.h']]], - ['htos64',['htos64',['../group__byte_orderers.html#ga642450533d60a03348eb630b89d76495',1,'util.h']]], - ['htosf4',['htosf4',['../group__byte_orderers.html#ga2d883ad9d232920fcf8505788df1c951',1,'util.h']]], - ['htosf8',['htosf8',['../group__byte_orderers.html#ga13a39e8d4dba632a0a2bbe1be2d06326',1,'util.h']]] -]; diff --git a/vnproglib/c/help/search/functions_2.html b/vnproglib/c/help/search/functions_2.html deleted file mode 100644 index 4a0c084..0000000 --- a/vnproglib/c/help/search/functions_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/functions_2.js b/vnproglib/c/help/search/functions_2.js deleted file mode 100644 index 17e223c..0000000 --- a/vnproglib/c/help/search/functions_2.js +++ /dev/null @@ -1,31 +0,0 @@ -var searchData= -[ - ['stoh16',['stoh16',['../group__byte_orderers.html#ga77f0b2284393666d8bdb5bdf0a69361f',1,'util.h']]], - ['stoh32',['stoh32',['../group__byte_orderers.html#ga7a28812d3659f7af2a87b7a577b972cc',1,'util.h']]], - ['stoh64',['stoh64',['../group__byte_orderers.html#gad993af5db1d46cc842842bdf4b9d1e97',1,'util.h']]], - ['strfromchecksummode',['strFromChecksumMode',['../sensors_8h.html#a302f1f3e38e649ae24d77d61043ff509',1,'sensors.h']]], - ['strfromcompensationmode',['strFromCompensationMode',['../sensors_8h.html#aa03a784b37fc18324064e39dd3a9f896',1,'sensors.h']]], - ['strfromcountmode',['strFromCountMode',['../sensors_8h.html#aec83b9314ea98b616ed16724415d3d1c',1,'sensors.h']]], - ['strfromerrormode',['strFromErrorMode',['../sensors_8h.html#ad5a2d1f0b9f9722475c9f257cae73b7a',1,'sensors.h']]], - ['strfromexternalsensormode',['strFromExternalSensorMode',['../sensors_8h.html#ad69d28dad8963f1f2f31c3b28ceb6e28',1,'sensors.h']]], - ['strfromfiltermode',['strFromFilterMode',['../sensors_8h.html#a8e0d2220e7a01304fee6395fd1bf82d4',1,'sensors.h']]], - ['strfromfoaminit',['strFromFoamInit',['../sensors_8h.html#a50b99ecd6d90310a58aecc6c54cc161d',1,'sensors.h']]], - ['strfromgpsfix',['strFromGpsFix',['../sensors_8h.html#a2307c0feacf6d4b11100650f5b1ea50c',1,'sensors.h']]], - ['strfromgpsmode',['strFromGpsMode',['../sensors_8h.html#a3b95152188213dc0c8875e068acea194',1,'sensors.h']]], - ['strfromheadingmode',['strFromHeadingMode',['../sensors_8h.html#a2930ef60abd21d0523be4da88b3e4446',1,'sensors.h']]], - ['strfromhsimode',['strFromHsiMode',['../sensors_8h.html#a852fd009afbd9375c986b3cb32bdaaa2',1,'sensors.h']]], - ['strfromhsioutput',['strFromHsiOutput',['../sensors_8h.html#a04c5581ad3f2c150b2b23996161039ab',1,'sensors.h']]], - ['strfromintegrationframe',['strFromIntegrationFrame',['../sensors_8h.html#ac918ccf84be17182120ec4b98b26574f',1,'sensors.h']]], - ['strfrommagneticmode',['strFromMagneticMode',['../sensors_8h.html#ad79380f693f491e4798ee209250cd96e',1,'sensors.h']]], - ['strfromppssource',['strFromPpsSource',['../sensors_8h.html#a1651bbea6b96dd1133465cb7a24203e4',1,'sensors.h']]], - ['strfromscenario',['strFromScenario',['../sensors_8h.html#a73e65d49c62c09c0dd82e03b2fb88f88',1,'sensors.h']]], - ['strfromsensorerror',['strFromSensorError',['../sensors_8h.html#a8c82ca99e6dc14d5f5a050c53420f788',1,'sensors.h']]], - ['strfromstatusmode',['strFromStatusMode',['../sensors_8h.html#ae8ba67b44cd1b0d3b94d755ec8b3fb5e',1,'sensors.h']]], - ['strfromsyncinedge',['strFromSyncInEdge',['../sensors_8h.html#a173b3d7045f11098bca53f35159fa3db',1,'sensors.h']]], - ['strfromsyncinmode',['strFromSyncInMode',['../sensors_8h.html#afc6728ebbb0279ad796ab39729a59b54',1,'sensors.h']]], - ['strfromsyncoutmode',['strFromSyncOutMode',['../sensors_8h.html#af088717473c27dbe64d6d06e125401c7',1,'sensors.h']]], - ['strfromsyncoutpolarity',['strFromSyncOutPolarity',['../sensors_8h.html#af2b1d442dbdfcfae247465beab2359d6',1,'sensors.h']]], - ['strfromvelocitycompensationmode',['strFromVelocityCompensationMode',['../sensors_8h.html#aa87637be816d0cb9076362d176b09cf7',1,'sensors.h']]], - ['strfromvpeenable',['strFromVpeEnable',['../sensors_8h.html#a471156d0287543b351ec316eb6d6c8d5',1,'sensors.h']]], - ['strfromvpemode',['strFromVpeMode',['../sensors_8h.html#a3182cf1a687d8e9f0a763c0a82116b70',1,'sensors.h']]] -]; diff --git a/vnproglib/c/help/search/functions_3.html b/vnproglib/c/help/search/functions_3.html deleted file mode 100644 index 0d91efe..0000000 --- a/vnproglib/c/help/search/functions_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/functions_3.js b/vnproglib/c/help/search/functions_3.js deleted file mode 100644 index a165eda..0000000 --- a/vnproglib/c/help/search/functions_3.js +++ /dev/null @@ -1,459 +0,0 @@ -var searchData= -[ - ['vncriticalsection_5fdeinitialize',['VnCriticalSection_deinitialize',['../criticalsection_8h.html#a73e9706beca47d6a1ee389d65ab18cc8',1,'criticalsection.h']]], - ['vncriticalsection_5fenter',['VnCriticalSection_enter',['../criticalsection_8h.html#abadd347552031004ace13cbff1fc0ab1',1,'criticalsection.h']]], - ['vncriticalsection_5finitialize',['VnCriticalSection_initialize',['../criticalsection_8h.html#abe85fa757adb49711376901b1440db5e',1,'criticalsection.h']]], - ['vncriticalsection_5fleave',['VnCriticalSection_leave',['../criticalsection_8h.html#aff7c6ec7e675a773407b871cc6272828',1,'criticalsection.h']]], - ['vnevent_5finitialize',['VnEvent_initialize',['../event_8h.html#ae193dcd7cd0eb89cdfed3b6ecb195b4f',1,'event.h']]], - ['vnevent_5fsignal',['VnEvent_signal',['../event_8h.html#a3465208c5344353dffdc44f4b5dfa747',1,'event.h']]], - ['vnevent_5fwait',['VnEvent_wait',['../event_8h.html#a12664adba700687abf8d5c55deca5cc0',1,'event.h']]], - ['vnevent_5fwaitms',['VnEvent_waitMs',['../event_8h.html#a8952d9c4522caa3564279e438dbad162',1,'event.h']]], - ['vnevent_5fwaitus',['VnEvent_waitUs',['../event_8h.html#a0a947126950103bec5844e84429db9f6',1,'event.h']]], - ['vnsensor_5faccelerationdisturbancepresent',['VnSensor_accelerationDisturbancePresent',['../sensors_8h.html#a3b604c006b8cac48882c42b99389b516',1,'sensors.h']]], - ['vnsensor_5fchangebaudrate',['VnSensor_changeBaudrate',['../sensors_8h.html#a4dbc6af1011bf75e745879cf0299a201',1,'sensors.h']]], - ['vnsensor_5fconnect',['VnSensor_connect',['../sensors_8h.html#a4119849871592f17e73a0069c35b212e',1,'sensors.h']]], - ['vnsensor_5fdisconnect',['VnSensor_disconnect',['../sensors_8h.html#a74157c344356b64aeaae97970ccab34a',1,'sensors.h']]], - ['vnsensor_5fgetresponsetimeoutms',['VnSensor_getResponseTimeoutMs',['../sensors_8h.html#a0ac35289a31f9aa55a4f206fa9de38e5',1,'sensors.h']]], - ['vnsensor_5fgetretransmitdelayms',['VnSensor_getRetransmitDelayMs',['../sensors_8h.html#a3335b0f9ca87e0058d11c1436127e121',1,'sensors.h']]], - ['vnsensor_5finitialize',['VnSensor_initialize',['../sensors_8h.html#aa85a300484816d7e49f32aaccfd07553',1,'sensors.h']]], - ['vnsensor_5fisconnected',['VnSensor_isConnected',['../sensors_8h.html#acbdeb4d8d8238e24133b6dafd805d969',1,'sensors.h']]], - ['vnsensor_5fmagneticdisturbancepresent',['VnSensor_magneticDisturbancePresent',['../sensors_8h.html#aaa55c88fcea7bc852df28a31011289b5',1,'sensors.h']]], - ['vnsensor_5freadaccelerationcompensation',['VnSensor_readAccelerationCompensation',['../group__register_access_methods.html#gad033debad2c3992370fcee1bc48b6ac6',1,'sensors.h']]], - ['vnsensor_5freadaccelerationmeasurements',['VnSensor_readAccelerationMeasurements',['../group__register_access_methods.html#gafd91518db2d5735b7886386f04c6dff2',1,'sensors.h']]], - ['vnsensor_5freadangularratemeasurements',['VnSensor_readAngularRateMeasurements',['../group__register_access_methods.html#ga4d916a7a0218846867df646dae0b3774',1,'sensors.h']]], - ['vnsensor_5freadasyncdataoutputfrequency',['VnSensor_readAsyncDataOutputFrequency',['../group__register_access_methods.html#ga8697185242ceebeb9a014d923e3efc49',1,'sensors.h']]], - ['vnsensor_5freadasyncdataoutputtype',['VnSensor_readAsyncDataOutputType',['../group__register_access_methods.html#gaa112c59da2d15f92cc5a5bcea1938ed5',1,'sensors.h']]], - ['vnsensor_5freadattitudequaternion',['VnSensor_readAttitudeQuaternion',['../group__register_access_methods.html#gae8605a776c298a8fa6350ce268277602',1,'sensors.h']]], - ['vnsensor_5freadbinaryoutput1',['VnSensor_readBinaryOutput1',['../group__register_access_methods.html#ga00af1e436c5ed64da8263d80181b310d',1,'sensors.h']]], - ['vnsensor_5freadbinaryoutput2',['VnSensor_readBinaryOutput2',['../group__register_access_methods.html#ga21cbd3270a8d8160bfdc83992eee8908',1,'sensors.h']]], - ['vnsensor_5freadbinaryoutput3',['VnSensor_readBinaryOutput3',['../group__register_access_methods.html#gaa4d579e744e6ba82e29500f4173ee961',1,'sensors.h']]], - ['vnsensor_5freadcalculatedmagnetometercalibration',['VnSensor_readCalculatedMagnetometerCalibration',['../group__register_access_methods.html#ga466400b4c7e69501e5884f6dfce60e6d',1,'sensors.h']]], - ['vnsensor_5freadcommunicationprotocolcontrol',['VnSensor_readCommunicationProtocolControl',['../group__register_access_methods.html#gab52f8d2c31bbba2c2b2bcbb10dd1cc4e',1,'sensors.h']]], - ['vnsensor_5freaddeltathetaanddeltavelocity',['VnSensor_readDeltaThetaAndDeltaVelocity',['../group__register_access_methods.html#ga48b004c1d4d01528f31539be49f42cd9',1,'sensors.h']]], - ['vnsensor_5freaddeltathetaanddeltavelocityconfiguration',['VnSensor_readDeltaThetaAndDeltaVelocityConfiguration',['../group__register_access_methods.html#gaa5f0b9d592248351043da6a188c9e67a',1,'sensors.h']]], - ['vnsensor_5freadfirmwareversion',['VnSensor_readFirmwareVersion',['../group__register_access_methods.html#gabe8f8b6ac071e28e45aa86d4722a0934',1,'sensors.h']]], - ['vnsensor_5freadgpsantennaoffset',['VnSensor_readGpsAntennaOffset',['../group__register_access_methods.html#gafc39e83a688d01224b4c47b07df49ffe',1,'sensors.h']]], - ['vnsensor_5freadgpscompassbaseline',['VnSensor_readGpsCompassBaseline',['../group__register_access_methods.html#ga7decae783015f6d05bdc99f26ad27083',1,'sensors.h']]], - ['vnsensor_5freadgpscompassestimatedbaseline',['VnSensor_readGpsCompassEstimatedBaseline',['../group__register_access_methods.html#gacd164f4ae41697424b2cce3c4f36743d',1,'sensors.h']]], - ['vnsensor_5freadgpsconfiguration',['VnSensor_readGpsConfiguration',['../group__register_access_methods.html#ga763889c2b19a0e01231607638bb22c8b',1,'sensors.h']]], - ['vnsensor_5freadgpssolutionecef',['VnSensor_readGpsSolutionEcef',['../group__register_access_methods.html#ga0e96094413455aca4787ca3a0e334341',1,'sensors.h']]], - ['vnsensor_5freadgpssolutionlla',['VnSensor_readGpsSolutionLla',['../group__register_access_methods.html#gaeda594f6e45e6add7d93c7754b506822',1,'sensors.h']]], - ['vnsensor_5freadgyrocompensation',['VnSensor_readGyroCompensation',['../group__register_access_methods.html#ga60e2bae34eafe80f40c06778d95943f0',1,'sensors.h']]], - ['vnsensor_5freadhardwarerevision',['VnSensor_readHardwareRevision',['../group__register_access_methods.html#ga99e805ebd47674b86f87ca29ae93439e',1,'sensors.h']]], - ['vnsensor_5freadimufilteringconfiguration',['VnSensor_readImuFilteringConfiguration',['../group__register_access_methods.html#ga0a39b20e23e43fd61b9cbbe678231695',1,'sensors.h']]], - ['vnsensor_5freadimumeasurements',['VnSensor_readImuMeasurements',['../group__register_access_methods.html#ga98d3067aa511dcc8373a0cb2a04a5080',1,'sensors.h']]], - ['vnsensor_5freadinsbasicconfigurationvn200',['VnSensor_readInsBasicConfigurationVn200',['../group__register_access_methods.html#ga7db6155dbd865fe8f60997d6a7505483',1,'sensors.h']]], - ['vnsensor_5freadinsbasicconfigurationvn300',['VnSensor_readInsBasicConfigurationVn300',['../group__register_access_methods.html#gabe35973bee10af844f8a7cea31b20e84',1,'sensors.h']]], - ['vnsensor_5freadinssolutionecef',['VnSensor_readInsSolutionEcef',['../group__register_access_methods.html#ga78b5e4b3494f9010fd18d61cd1329223',1,'sensors.h']]], - ['vnsensor_5freadinssolutionlla',['VnSensor_readInsSolutionLla',['../group__register_access_methods.html#gafbb711803130fca99e7b95b19df2250f',1,'sensors.h']]], - ['vnsensor_5freadinsstateecef',['VnSensor_readInsStateEcef',['../group__register_access_methods.html#ga294ec58a13c9e7027818965a3537015a',1,'sensors.h']]], - ['vnsensor_5freadinsstatella',['VnSensor_readInsStateLla',['../group__register_access_methods.html#ga7f74af6ccb2fcb38105c73203b640299',1,'sensors.h']]], - ['vnsensor_5freadmagneticaccelerationandangularrates',['VnSensor_readMagneticAccelerationAndAngularRates',['../group__register_access_methods.html#ga0d895389bb73a85079a24e8d31100658',1,'sensors.h']]], - ['vnsensor_5freadmagneticandgravityreferencevectors',['VnSensor_readMagneticAndGravityReferenceVectors',['../group__register_access_methods.html#ga2fb71172d4706a3c56ea9b816426e4dd',1,'sensors.h']]], - ['vnsensor_5freadmagneticmeasurements',['VnSensor_readMagneticMeasurements',['../group__register_access_methods.html#gaf5190d33e06b7b7e8c8af0624be9829f',1,'sensors.h']]], - ['vnsensor_5freadmagnetometercalibrationcontrol',['VnSensor_readMagnetometerCalibrationControl',['../group__register_access_methods.html#ga462f82f938a8ac32e3b72a3524a8bcd8',1,'sensors.h']]], - ['vnsensor_5freadmagnetometercompensation',['VnSensor_readMagnetometerCompensation',['../group__register_access_methods.html#ga84de0c7b42ba4fe680e198b065cd1b24',1,'sensors.h']]], - ['vnsensor_5freadmodelnumber',['VnSensor_readModelNumber',['../group__register_access_methods.html#ga828407d537f5c56ff24f6b53300cd849',1,'sensors.h']]], - ['vnsensor_5freadquaternionmagneticaccelerationandangularrates',['VnSensor_readQuaternionMagneticAccelerationAndAngularRates',['../group__register_access_methods.html#gaf0b6fa89ebb62da7dead04d44ff07693',1,'sensors.h']]], - ['vnsensor_5freadreferenceframerotation',['VnSensor_readReferenceFrameRotation',['../group__register_access_methods.html#ga9e7976469e642f52da519411830ddcf2',1,'sensors.h']]], - ['vnsensor_5freadreferencevectorconfiguration',['VnSensor_readReferenceVectorConfiguration',['../group__register_access_methods.html#ga71fe239623b760b9e05a6297b697e7a8',1,'sensors.h']]], - ['vnsensor_5freadserialbaudrate',['VnSensor_readSerialBaudRate',['../group__register_access_methods.html#gac9c0603ddd6a44b9162e25715f6b0d78',1,'sensors.h']]], - ['vnsensor_5freadserialnumber',['VnSensor_readSerialNumber',['../group__register_access_methods.html#ga5e5f0fa907f3e631d5c826484d42bb95',1,'sensors.h']]], - ['vnsensor_5freadstartupfilterbiasestimate',['VnSensor_readStartupFilterBiasEstimate',['../group__register_access_methods.html#gaa105e99f247016e698a476440bd7ed2e',1,'sensors.h']]], - ['vnsensor_5freadsynchronizationcontrol',['VnSensor_readSynchronizationControl',['../group__register_access_methods.html#gadfd320dd0ce8c7add6533db15e1402b0',1,'sensors.h']]], - ['vnsensor_5freadsynchronizationstatus',['VnSensor_readSynchronizationStatus',['../group__register_access_methods.html#gade65e02bec636b04072d6659b0dd56fd',1,'sensors.h']]], - ['vnsensor_5freadusertag',['VnSensor_readUserTag',['../group__register_access_methods.html#gaf3dddc96889881cbe3ff28b2e18afed3',1,'sensors.h']]], - ['vnsensor_5freadvelocitycompensationcontrol',['VnSensor_readVelocityCompensationControl',['../group__register_access_methods.html#gab2286d0e7c8464f8531754448ed4c2a8',1,'sensors.h']]], - ['vnsensor_5freadvelocitycompensationmeasurement',['VnSensor_readVelocityCompensationMeasurement',['../group__register_access_methods.html#ga5d242228a1526dacec61299172324d4b',1,'sensors.h']]], - ['vnsensor_5freadvpeaccelerometerbasictuning',['VnSensor_readVpeAccelerometerBasicTuning',['../group__register_access_methods.html#ga7473012a7df2843a54fa03e932dbeeac',1,'sensors.h']]], - ['vnsensor_5freadvpebasiccontrol',['VnSensor_readVpeBasicControl',['../group__register_access_methods.html#ga9151c8f37e12b6c9967c09d2466fea77',1,'sensors.h']]], - ['vnsensor_5freadvpemagnetometerbasictuning',['VnSensor_readVpeMagnetometerBasicTuning',['../group__register_access_methods.html#gac64cf6e3ca5f073e69ff31efc6f7bce0',1,'sensors.h']]], - ['vnsensor_5freadyawpitchroll',['VnSensor_readYawPitchRoll',['../group__register_access_methods.html#gaa6dae4194856ca741805cf2e0e5eb77e',1,'sensors.h']]], - ['vnsensor_5freadyawpitchrollmagneticaccelerationandangularrates',['VnSensor_readYawPitchRollMagneticAccelerationAndAngularRates',['../group__register_access_methods.html#ga626456fecf0b2f69d14a38315e59477c',1,'sensors.h']]], - ['vnsensor_5freadyawpitchrolltruebodyaccelerationandangularrates',['VnSensor_readYawPitchRollTrueBodyAccelerationAndAngularRates',['../group__register_access_methods.html#ga6ebc808afb134f1cad980435ea894ac6',1,'sensors.h']]], - ['vnsensor_5freadyawpitchrolltrueinertialaccelerationandangularrates',['VnSensor_readYawPitchRollTrueInertialAccelerationAndAngularRates',['../group__register_access_methods.html#ga76b5ba4767e25e16f296e5be9d5ee64a',1,'sensors.h']]], - ['vnsensor_5fregisterasyncpacketreceivedhandler',['VnSensor_registerAsyncPacketReceivedHandler',['../sensors_8h.html#ac2ae8a9a36c04703afd6f281a455a422',1,'sensors.h']]], - ['vnsensor_5fregistererrorpacketreceivedhandler',['VnSensor_registerErrorPacketReceivedHandler',['../sensors_8h.html#a5d677b5f321c2a3c3bd90d522e3df403',1,'sensors.h']]], - ['vnsensor_5freset',['VnSensor_reset',['../sensors_8h.html#a34aa4c9fa1abef42de2bea9f5cab8391',1,'sensors.h']]], - ['vnsensor_5frestorefactorysettings',['VnSensor_restoreFactorySettings',['../sensors_8h.html#ac24215ed2650869b44e37bb3016b9761',1,'sensors.h']]], - ['vnsensor_5fsetgyrobias',['VnSensor_setGyroBias',['../sensors_8h.html#a57b7efafe0fa2b1b7853db0fa34ab554',1,'sensors.h']]], - ['vnsensor_5fsetresponsetimeoutms',['VnSensor_setResponseTimeoutMs',['../sensors_8h.html#a478fea9a2f2b5f05ad4771dde4b6be36',1,'sensors.h']]], - ['vnsensor_5fsetretransmitdelayms',['VnSensor_setRetransmitDelayMs',['../sensors_8h.html#af0d99b0dc7b89a75b5a523f7dd9159e0',1,'sensors.h']]], - ['vnsensor_5ftare',['VnSensor_tare',['../sensors_8h.html#ac0ed11f4e20f474584c75f54c203b6df',1,'sensors.h']]], - ['vnsensor_5ftransaction',['VnSensor_transaction',['../sensors_8h.html#ada92a20aba91a7b604530905e65cd57c',1,'sensors.h']]], - ['vnsensor_5funregisterasyncpacketreceivedhandler',['VnSensor_unregisterAsyncPacketReceivedHandler',['../sensors_8h.html#a6cf70cc3ef2c164ac5ac4b7ab68df687',1,'sensors.h']]], - ['vnsensor_5funregistererrorpacketreceivedhandler',['VnSensor_unregisterErrorPacketReceivedHandler',['../sensors_8h.html#a5e50d71dfa07179ff89411038389584a',1,'sensors.h']]], - ['vnsensor_5fverifysensorconnectivity',['VnSensor_verifySensorConnectivity',['../sensors_8h.html#adce8556fd8759b16d6ce717e95415177',1,'sensors.h']]], - ['vnsensor_5fwriteaccelerationcompensation',['VnSensor_writeAccelerationCompensation',['../group__register_access_methods.html#gaf101fdf0a7a4e9c2b18ac1d79447a2f5',1,'sensors.h']]], - ['vnsensor_5fwriteasyncdataoutputfrequency',['VnSensor_writeAsyncDataOutputFrequency',['../group__register_access_methods.html#ga182ff64ec8d0abf4591b12b7d888eba9',1,'sensors.h']]], - ['vnsensor_5fwriteasyncdataoutputtype',['VnSensor_writeAsyncDataOutputType',['../group__register_access_methods.html#gaf36c1e47164b6462c07708b5971f97cf',1,'sensors.h']]], - ['vnsensor_5fwritebinaryoutput1',['VnSensor_writeBinaryOutput1',['../group__register_access_methods.html#ga1eb72c717997c23e449cfc5de8571935',1,'sensors.h']]], - ['vnsensor_5fwritebinaryoutput2',['VnSensor_writeBinaryOutput2',['../group__register_access_methods.html#ga0593b18644d9db9057aac0f2b77f46c6',1,'sensors.h']]], - ['vnsensor_5fwritebinaryoutput3',['VnSensor_writeBinaryOutput3',['../group__register_access_methods.html#gaec2de1660f6a0edb68abd917239de5af',1,'sensors.h']]], - ['vnsensor_5fwritecommunicationprotocolcontrol',['VnSensor_writeCommunicationProtocolControl',['../group__register_access_methods.html#ga5974ce35548e49e90b633557be8c2364',1,'sensors.h']]], - ['vnsensor_5fwritedeltathetaanddeltavelocityconfiguration',['VnSensor_writeDeltaThetaAndDeltaVelocityConfiguration',['../group__register_access_methods.html#gace4c74f3796b9457cd5dd235f3c4ff0a',1,'sensors.h']]], - ['vnsensor_5fwritegpsantennaoffset',['VnSensor_writeGpsAntennaOffset',['../group__register_access_methods.html#gae22146780ab3ceca8bf93b6ad0563832',1,'sensors.h']]], - ['vnsensor_5fwritegpscompassbaseline',['VnSensor_writeGpsCompassBaseline',['../group__register_access_methods.html#ga95b3cd873478323933621c226ba6fa43',1,'sensors.h']]], - ['vnsensor_5fwritegpsconfiguration',['VnSensor_writeGpsConfiguration',['../group__register_access_methods.html#gaf028e28d43bfafe997fedff679676f96',1,'sensors.h']]], - ['vnsensor_5fwritegyrocompensation',['VnSensor_writeGyroCompensation',['../group__register_access_methods.html#ga22b2d3d889a052394c75681a5be5d9f5',1,'sensors.h']]], - ['vnsensor_5fwriteimufilteringconfiguration',['VnSensor_writeImuFilteringConfiguration',['../group__register_access_methods.html#ga154f2361ef7f659a88987e003433827f',1,'sensors.h']]], - ['vnsensor_5fwriteinsbasicconfigurationvn200',['VnSensor_writeInsBasicConfigurationVn200',['../group__register_access_methods.html#gaaba64f6dd2d1047abe646ddebc7b93ae',1,'sensors.h']]], - ['vnsensor_5fwriteinsbasicconfigurationvn300',['VnSensor_writeInsBasicConfigurationVn300',['../group__register_access_methods.html#gacefa46fcb273a23a6ab9b1d1ab31d609',1,'sensors.h']]], - ['vnsensor_5fwritemagneticandgravityreferencevectors',['VnSensor_writeMagneticAndGravityReferenceVectors',['../group__register_access_methods.html#gad29730d7923fde28d2f060a98f316e89',1,'sensors.h']]], - ['vnsensor_5fwritemagnetometercalibrationcontrol',['VnSensor_writeMagnetometerCalibrationControl',['../group__register_access_methods.html#ga7e608b179ffa0ecb9760a52ae6bb6b14',1,'sensors.h']]], - ['vnsensor_5fwritemagnetometercompensation',['VnSensor_writeMagnetometerCompensation',['../group__register_access_methods.html#ga89f5520218f42ec468dd20ea12f18bac',1,'sensors.h']]], - ['vnsensor_5fwritereferenceframerotation',['VnSensor_writeReferenceFrameRotation',['../group__register_access_methods.html#ga8d511e8182ff1d61d34096aa28a60246',1,'sensors.h']]], - ['vnsensor_5fwritereferencevectorconfiguration',['VnSensor_writeReferenceVectorConfiguration',['../group__register_access_methods.html#gaf690e1c75f75b081bb101a4fecf6ca6c',1,'sensors.h']]], - ['vnsensor_5fwriteserialbaudrate',['VnSensor_writeSerialBaudRate',['../group__register_access_methods.html#gad8213b009a621fa4d5cc5606b60ccf8c',1,'sensors.h']]], - ['vnsensor_5fwritesettings',['VnSensor_writeSettings',['../sensors_8h.html#afbdfb0941074d3a140e32e6da4f28e88',1,'sensors.h']]], - ['vnsensor_5fwritestartupfilterbiasestimate',['VnSensor_writeStartupFilterBiasEstimate',['../group__register_access_methods.html#ga4c15c98e22fb2579c6b6c48ae8151ad7',1,'sensors.h']]], - ['vnsensor_5fwritesynchronizationcontrol',['VnSensor_writeSynchronizationControl',['../group__register_access_methods.html#ga10c74261f30f6ede9646616ac6288c01',1,'sensors.h']]], - ['vnsensor_5fwritesynchronizationstatus',['VnSensor_writeSynchronizationStatus',['../group__register_access_methods.html#ga450ed738cccbfce402914591e7a5b2e9',1,'sensors.h']]], - ['vnsensor_5fwriteusertag',['VnSensor_writeUserTag',['../group__register_access_methods.html#gad0c969683a4d4acc82f85fce8937a6b7',1,'sensors.h']]], - ['vnsensor_5fwritevelocitycompensationcontrol',['VnSensor_writeVelocityCompensationControl',['../group__register_access_methods.html#gaf00c20b253fae8d5459d80730184612a',1,'sensors.h']]], - ['vnsensor_5fwritevelocitycompensationmeasurement',['VnSensor_writeVelocityCompensationMeasurement',['../group__register_access_methods.html#ga15908f6e79698cd1718df53f47fccd4e',1,'sensors.h']]], - ['vnsensor_5fwritevpeaccelerometerbasictuning',['VnSensor_writeVpeAccelerometerBasicTuning',['../group__register_access_methods.html#ga4f01ae9f67b45dd00b3f78e735ed0f68',1,'sensors.h']]], - ['vnsensor_5fwritevpebasiccontrol',['VnSensor_writeVpeBasicControl',['../group__register_access_methods.html#ga4a5de1b8deb2f82ed44ade6974a15e02',1,'sensors.h']]], - ['vnsensor_5fwritevpemagnetometerbasictuning',['VnSensor_writeVpeMagnetometerBasicTuning',['../group__register_access_methods.html#gac693546c765c03faedcd2318fd26fcbf',1,'sensors.h']]], - ['vnspi_5fgenreadaccelerationcompensation',['VnSpi_genReadAccelerationCompensation',['../group__spi__genread__functions.html#ga37a6319319a801d2fa13b8c1c879b224',1,'spi.h']]], - ['vnspi_5fgenreadaccelerationmeasurements',['VnSpi_genReadAccelerationMeasurements',['../group__spi__genread__functions.html#ga5256cec6756dab48dedb965d65a8aa44',1,'spi.h']]], - ['vnspi_5fgenreadangularratemeasurements',['VnSpi_genReadAngularRateMeasurements',['../group__spi__genread__functions.html#ga5c470933ed9ba868a80794e9b1f0d1f6',1,'spi.h']]], - ['vnspi_5fgenreadasyncdataoutputfrequency',['VnSpi_genReadAsyncDataOutputFrequency',['../group__spi__genread__functions.html#gac68bd6424288428b33c80b6c6157dfb9',1,'spi.h']]], - ['vnspi_5fgenreadasyncdataoutputtype',['VnSpi_genReadAsyncDataOutputType',['../group__spi__genread__functions.html#ga9883fa4c86f7bf01bc92d4cbf2bee3e0',1,'spi.h']]], - ['vnspi_5fgenreadattitudequaternion',['VnSpi_genReadAttitudeQuaternion',['../group__spi__genread__functions.html#ga4c75e4055467d763d82887952e5b0a35',1,'spi.h']]], - ['vnspi_5fgenreadcalculatedmagnetometercalibration',['VnSpi_genReadCalculatedMagnetometerCalibration',['../group__spi__genread__functions.html#gafbdab258cd5ba3e9af52de150e457f38',1,'spi.h']]], - ['vnspi_5fgenreadcommunicationprotocolcontrol',['VnSpi_genReadCommunicationProtocolControl',['../group__spi__genread__functions.html#gadc4ef4fd7626a1a0aaab804d3dec49ba',1,'spi.h']]], - ['vnspi_5fgenreaddeltathetaanddeltavelocity',['VnSpi_genReadDeltaThetaAndDeltaVelocity',['../group__spi__genread__functions.html#ga44ed8c35893221d4b45df083dca10c3d',1,'spi.h']]], - ['vnspi_5fgenreaddeltathetaanddeltavelocityconfiguration',['VnSpi_genReadDeltaThetaAndDeltaVelocityConfiguration',['../group__spi__genread__functions.html#ga7d9cd0da9149cba3b3be7db116bf9c50',1,'spi.h']]], - ['vnspi_5fgenreadfirmwareversion',['VnSpi_genReadFirmwareVersion',['../group__spi__genread__functions.html#gaff5a3433438aca40426d2a9dc25e8479',1,'spi.h']]], - ['vnspi_5fgenreadgpsantennaoffset',['VnSpi_genReadGpsAntennaOffset',['../group__spi__genread__functions.html#ga45a5b49df275f7a4140ae9c6325b07a8',1,'spi.h']]], - ['vnspi_5fgenreadgpscompassbaseline',['VnSpi_genReadGpsCompassBaseline',['../group__spi__genread__functions.html#ga9535df37388c1dfc3f467c83599e29f1',1,'spi.h']]], - ['vnspi_5fgenreadgpscompassestimatedbaseline',['VnSpi_genReadGpsCompassEstimatedBaseline',['../group__spi__genread__functions.html#ga6a272e01917fd331bc11356f593fbb01',1,'spi.h']]], - ['vnspi_5fgenreadgpsconfiguration',['VnSpi_genReadGpsConfiguration',['../group__spi__genread__functions.html#ga0c5e13df4efd0872f70f5ed55d926140',1,'spi.h']]], - ['vnspi_5fgenreadgpssolutionecef',['VnSpi_genReadGpsSolutionEcef',['../group__spi__genread__functions.html#ga47471d35216364c168fed7fd370a1a4d',1,'spi.h']]], - ['vnspi_5fgenreadgpssolutionlla',['VnSpi_genReadGpsSolutionLla',['../group__spi__genread__functions.html#gad0c2f3983d05acaa3dc116dfba2aa0f1',1,'spi.h']]], - ['vnspi_5fgenreadgyrocompensation',['VnSpi_genReadGyroCompensation',['../group__spi__genread__functions.html#ga420dbf2c6438801d7f753a48ec91b250',1,'spi.h']]], - ['vnspi_5fgenreadhardwarerevision',['VnSpi_genReadHardwareRevision',['../group__spi__genread__functions.html#gaf0facfa01144eb8e36db9e2e279b6ba7',1,'spi.h']]], - ['vnspi_5fgenreadimufilteringconfiguration',['VnSpi_genReadImuFilteringConfiguration',['../group__spi__genread__functions.html#gaa4fdc6f9e24606cc4e189528ab25de3a',1,'spi.h']]], - ['vnspi_5fgenreadimumeasurements',['VnSpi_genReadImuMeasurements',['../group__spi__genread__functions.html#ga089df3bfa8866a3bb364907100628076',1,'spi.h']]], - ['vnspi_5fgenreadinsbasicconfiguration',['VnSpi_genReadInsBasicConfiguration',['../group__spi__genread__functions.html#gade45d4032bd971c66f718ff606924549',1,'spi.h']]], - ['vnspi_5fgenreadinssolutionecef',['VnSpi_genReadInsSolutionEcef',['../group__spi__genread__functions.html#gab79ae39546c0b2c455fde5610ee4ee32',1,'spi.h']]], - ['vnspi_5fgenreadinssolutionlla',['VnSpi_genReadInsSolutionLla',['../group__spi__genread__functions.html#gae82ddb7c9fe4460e49efecd6ba0a5f68',1,'spi.h']]], - ['vnspi_5fgenreadinsstateecef',['VnSpi_genReadInsStateEcef',['../group__spi__genread__functions.html#ga2facbeae1e8f868f48ef27feded545ff',1,'spi.h']]], - ['vnspi_5fgenreadinsstatella',['VnSpi_genReadInsStateLla',['../group__spi__genread__functions.html#ga86101c64d6e77f4b7b56b7458dc4818e',1,'spi.h']]], - ['vnspi_5fgenreadmagneticaccelerationandangularrates',['VnSpi_genReadMagneticAccelerationAndAngularRates',['../group__spi__genread__functions.html#gaf44d95fa29e73a6552249f1598eeb46c',1,'spi.h']]], - ['vnspi_5fgenreadmagneticandgravityreferencevectors',['VnSpi_genReadMagneticAndGravityReferenceVectors',['../group__spi__genread__functions.html#ga553b56f0429b61fe0c314da1a3da882f',1,'spi.h']]], - ['vnspi_5fgenreadmagneticmeasurements',['VnSpi_genReadMagneticMeasurements',['../group__spi__genread__functions.html#gae5d5b881d83e2cf9977d06b7d4e05209',1,'spi.h']]], - ['vnspi_5fgenreadmagnetometercalibrationcontrol',['VnSpi_genReadMagnetometerCalibrationControl',['../group__spi__genread__functions.html#gab9308dbbcece729230e614644295fd4f',1,'spi.h']]], - ['vnspi_5fgenreadmagnetometercompensation',['VnSpi_genReadMagnetometerCompensation',['../group__spi__genread__functions.html#ga1628c266bec6e0e4e70ba798424b75a8',1,'spi.h']]], - ['vnspi_5fgenreadmodelnumber',['VnSpi_genReadModelNumber',['../group__spi__genread__functions.html#gae60a881e9809cbd66de1954470ca2b5e',1,'spi.h']]], - ['vnspi_5fgenreadquaternionmagneticaccelerationandangularrates',['VnSpi_genReadQuaternionMagneticAccelerationAndAngularRates',['../group__spi__genread__functions.html#gadca926961fb2f760790e8389b672b072',1,'spi.h']]], - ['vnspi_5fgenreadreferenceframerotation',['VnSpi_genReadReferenceFrameRotation',['../group__spi__genread__functions.html#gaec7f872ef4e253d58983327d4973c04d',1,'spi.h']]], - ['vnspi_5fgenreadreferencevectorconfiguration',['VnSpi_genReadReferenceVectorConfiguration',['../group__spi__genread__functions.html#ga0bf2b3b804893cbc426d175c962f0ae0',1,'spi.h']]], - ['vnspi_5fgenreadserialbaudrate',['VnSpi_genReadSerialBaudRate',['../group__spi__genread__functions.html#gae1e29d8b311f6b7a9d16622a3be655ca',1,'spi.h']]], - ['vnspi_5fgenreadserialnumber',['VnSpi_genReadSerialNumber',['../group__spi__genread__functions.html#ga1d3ff8731075b1ba7ecbe32685d5f6e5',1,'spi.h']]], - ['vnspi_5fgenreadstartupfilterbiasestimate',['VnSpi_genReadStartupFilterBiasEstimate',['../group__spi__genread__functions.html#ga363f4af2a89c3691023b8ec999306fd0',1,'spi.h']]], - ['vnspi_5fgenreadsynchronizationcontrol',['VnSpi_genReadSynchronizationControl',['../group__spi__genread__functions.html#gac4f6f254b611abe44f842b14fb6b4251',1,'spi.h']]], - ['vnspi_5fgenreadsynchronizationstatus',['VnSpi_genReadSynchronizationStatus',['../group__spi__genread__functions.html#gabf28c7214286955c1f785bb19098d749',1,'spi.h']]], - ['vnspi_5fgenreadusertag',['VnSpi_genReadUserTag',['../group__spi__genread__functions.html#ga9c0061a63116770c8a3537747853710b',1,'spi.h']]], - ['vnspi_5fgenreadvelocitycompensationcontrol',['VnSpi_genReadVelocityCompensationControl',['../group__spi__genread__functions.html#gaac4a4c33530ed20f88c91610c6577cea',1,'spi.h']]], - ['vnspi_5fgenreadvelocitycompensationmeasurement',['VnSpi_genReadVelocityCompensationMeasurement',['../group__spi__genread__functions.html#gab4a71b31e74c273803c81945654c52b6',1,'spi.h']]], - ['vnspi_5fgenreadvpeaccelerometerbasictuning',['VnSpi_genReadVpeAccelerometerBasicTuning',['../group__spi__genread__functions.html#ga7a21dfec10e052dd63a06181d9b9f1ce',1,'spi.h']]], - ['vnspi_5fgenreadvpebasiccontrol',['VnSpi_genReadVpeBasicControl',['../group__spi__genread__functions.html#ga94e028fd9db3bf9b7ff8b3a3662d42d2',1,'spi.h']]], - ['vnspi_5fgenreadvpemagnetometerbasictuning',['VnSpi_genReadVpeMagnetometerBasicTuning',['../group__spi__genread__functions.html#ga327dcd2533aa70813ec4cbb4549bfa7e',1,'spi.h']]], - ['vnspi_5fgenreadyawpitchroll',['VnSpi_genReadYawPitchRoll',['../group__spi__genread__functions.html#ga9a894bb76035e5e778a4db7688cf60d3',1,'spi.h']]], - ['vnspi_5fgenreadyawpitchrollmagneticaccelerationandangularrates',['VnSpi_genReadYawPitchRollMagneticAccelerationAndAngularRates',['../group__spi__genread__functions.html#gaa77f36e390ce4cdfee72f634e76d0441',1,'spi.h']]], - ['vnspi_5fgenreadyawpitchrolltruebodyaccelerationandangularrates',['VnSpi_genReadYawPitchRollTrueBodyAccelerationAndAngularRates',['../group__spi__genread__functions.html#ga8552f7ee16bf42f07f76a8def50bc7e4',1,'spi.h']]], - ['vnspi_5fgenreadyawpitchrolltrueinertialaccelerationandangularrates',['VnSpi_genReadYawPitchRollTrueInertialAccelerationAndAngularRates',['../group__spi__genread__functions.html#ga8b9bbb4b762fdc258e677d635cab0188',1,'spi.h']]], - ['vnspi_5fgenwriteaccelerationcompensation',['VnSpi_genWriteAccelerationCompensation',['../group__spi__genwrite__functions.html#ga45bea37cdfa5668a97efda57802f3740',1,'spi.h']]], - ['vnspi_5fgenwriteasyncdataoutputfrequency',['VnSpi_genWriteAsyncDataOutputFrequency',['../group__spi__genwrite__functions.html#ga3be81d1f7830cc5ef732ed635e94e88f',1,'spi.h']]], - ['vnspi_5fgenwriteasyncdataoutputfrequencywithoptions',['VnSpi_genWriteAsyncDataOutputFrequencyWithOptions',['../group__spi__genwrite__functions.html#gaf33a7c31325ffac3165e715919ed2a5b',1,'spi.h']]], - ['vnspi_5fgenwriteasyncdataoutputtype',['VnSpi_genWriteAsyncDataOutputType',['../group__spi__genwrite__functions.html#gae5e4e9b342f5eb6462541b7f5af9523a',1,'spi.h']]], - ['vnspi_5fgenwriteasyncdataoutputtypewithoptions',['VnSpi_genWriteAsyncDataOutputTypeWithOptions',['../group__spi__genwrite__functions.html#ga4d307c2e9a84bb8c8e8af6e8361a6e67',1,'spi.h']]], - ['vnspi_5fgenwritecommunicationprotocolcontrol',['VnSpi_genWriteCommunicationProtocolControl',['../group__spi__genwrite__functions.html#ga61deeb9a26a3f410658e50ace8614a46',1,'spi.h']]], - ['vnspi_5fgenwritedeltathetaanddeltavelocityconfiguration',['VnSpi_genWriteDeltaThetaAndDeltaVelocityConfiguration',['../group__spi__genwrite__functions.html#gace21c317aaf86a4bdb7e45b7360df821',1,'spi.h']]], - ['vnspi_5fgenwritegpsantennaoffset',['VnSpi_genWriteGpsAntennaOffset',['../group__spi__genwrite__functions.html#ga87fc3e262f41444a6a0cc8f88b0de5e4',1,'spi.h']]], - ['vnspi_5fgenwritegpscompassbaseline',['VnSpi_genWriteGpsCompassBaseline',['../group__spi__genwrite__functions.html#ga91b6fbd2c5ef57e20242be9baba975a8',1,'spi.h']]], - ['vnspi_5fgenwritegpsconfiguration',['VnSpi_genWriteGpsConfiguration',['../group__spi__genwrite__functions.html#ga523d9203ac3fbdeec01577b5f191c164',1,'spi.h']]], - ['vnspi_5fgenwritegyrocompensation',['VnSpi_genWriteGyroCompensation',['../group__spi__genwrite__functions.html#ga8361129dfe2fc16fb83e24118db54d7e',1,'spi.h']]], - ['vnspi_5fgenwriteimufilteringconfiguration',['VnSpi_genWriteImuFilteringConfiguration',['../group__spi__genwrite__functions.html#ga254beee15c45ffa6262d0e038f65f867',1,'spi.h']]], - ['vnspi_5fgenwriteinsbasicconfiguration',['VnSpi_genWriteInsBasicConfiguration',['../group__spi__genwrite__functions.html#gad63c73dee0560a21acf3c440cd248778',1,'spi.h']]], - ['vnspi_5fgenwritemagneticandgravityreferencevectors',['VnSpi_genWriteMagneticAndGravityReferenceVectors',['../group__spi__genwrite__functions.html#gafb88161b65d526751b820b9c570759f8',1,'spi.h']]], - ['vnspi_5fgenwritemagnetometercalibrationcontrol',['VnSpi_genWriteMagnetometerCalibrationControl',['../group__spi__genwrite__functions.html#ga224cb589c833441ebf999751258e8b45',1,'spi.h']]], - ['vnspi_5fgenwritemagnetometercompensation',['VnSpi_genWriteMagnetometerCompensation',['../group__spi__genwrite__functions.html#ga5e9dc8c4421b84e9bb93f6bf8e98b39e',1,'spi.h']]], - ['vnspi_5fgenwritereferenceframerotation',['VnSpi_genWriteReferenceFrameRotation',['../group__spi__genwrite__functions.html#ga3ac075d69ad46e1f7da09c3e718f7463',1,'spi.h']]], - ['vnspi_5fgenwritereferencevectorconfiguration',['VnSpi_genWriteReferenceVectorConfiguration',['../group__spi__genwrite__functions.html#gaeb47e3d914161684b96da15f5ead5f9c',1,'spi.h']]], - ['vnspi_5fgenwriteserialbaudrate',['VnSpi_genWriteSerialBaudRate',['../group__spi__genwrite__functions.html#gaf6dc937dee583bb5eb392d2c1c3234ca',1,'spi.h']]], - ['vnspi_5fgenwriteserialbaudratewithoptions',['VnSpi_genWriteSerialBaudRateWithOptions',['../group__spi__genwrite__functions.html#ga2e77528d33d9be60fee7f80255eeebf1',1,'spi.h']]], - ['vnspi_5fgenwritestartupfilterbiasestimate',['VnSpi_genWriteStartupFilterBiasEstimate',['../group__spi__genwrite__functions.html#ga65402f75fe21aefdfd29122ef21a5560',1,'spi.h']]], - ['vnspi_5fgenwritesynchronizationcontrol',['VnSpi_genWriteSynchronizationControl',['../group__spi__genwrite__functions.html#ga1d2a7ff0d3954da51dad6eccf7fbaf87',1,'spi.h']]], - ['vnspi_5fgenwritesynchronizationstatus',['VnSpi_genWriteSynchronizationStatus',['../group__spi__genwrite__functions.html#ga81f044cc768c29e1b4c38525543172f6',1,'spi.h']]], - ['vnspi_5fgenwriteusertag',['VnSpi_genWriteUserTag',['../group__spi__genwrite__functions.html#gabd6849328ae689ad9afb0192a72153a6',1,'spi.h']]], - ['vnspi_5fgenwritevelocitycompensationcontrol',['VnSpi_genWriteVelocityCompensationControl',['../group__spi__genwrite__functions.html#ga4319bb16eb7aa0df23825c4efc8cb9ec',1,'spi.h']]], - ['vnspi_5fgenwritevelocitycompensationmeasurement',['VnSpi_genWriteVelocityCompensationMeasurement',['../group__spi__genwrite__functions.html#ga2ed315bae47634825557fc22c69f6e7d',1,'spi.h']]], - ['vnspi_5fgenwritevpeaccelerometerbasictuning',['VnSpi_genWriteVpeAccelerometerBasicTuning',['../group__spi__genwrite__functions.html#gac9c7b14a045d058e89705ae33f939157',1,'spi.h']]], - ['vnspi_5fgenwritevpebasiccontrol',['VnSpi_genWriteVpeBasicControl',['../group__spi__genwrite__functions.html#gaa265b8c0a941e40070f1458f7f715072',1,'spi.h']]], - ['vnspi_5fgenwritevpemagnetometerbasictuning',['VnSpi_genWriteVpeMagnetometerBasicTuning',['../group__spi__genwrite__functions.html#ga749c44f2b20d7fc9b2ff739e90dcad72',1,'spi.h']]], - ['vnstopwatch_5felapsedms',['VnStopwatch_elapsedMs',['../time_8h.html#accc9d9a023ae660c1efe6471b009aa02',1,'time.h']]], - ['vnstopwatch_5finitializeandstart',['VnStopwatch_initializeAndStart',['../time_8h.html#aa254433bbe9a72c8be1299aee3527715',1,'time.h']]], - ['vnstopwatch_5freset',['VnStopwatch_reset',['../time_8h.html#a21bb834a876ebc23c103866acd2dbf6f',1,'time.h']]], - ['vnthread_5fjoin',['VnThread_join',['../thread_8h.html#aad9e390fadd1d328f07169feb6bb7332',1,'thread.h']]], - ['vnthread_5fsleepms',['VnThread_sleepMs',['../thread_8h.html#ae184a96ccf6c94c4b9d7b937655b0c44',1,'thread.h']]], - ['vnthread_5fsleepsec',['VnThread_sleepSec',['../thread_8h.html#a4f80a22d8ebeab270653deeb86199726',1,'thread.h']]], - ['vnthread_5fsleepus',['VnThread_sleepUs',['../thread_8h.html#a81cfc1ad5f4aa45b597e571e7a171beb',1,'thread.h']]], - ['vnthread_5fstartnew',['VnThread_startNew',['../thread_8h.html#a553c92d20be27b8e3c0155d002ac2397',1,'thread.h']]], - ['vnuartpacket_5fextractfloat',['VnUartPacket_extractFloat',['../group__uart_packet_binary_extractors.html#gaf89e96757c64209ea52a6963f94c48e8',1,'upack.h']]], - ['vnuartpacket_5fextractint8',['VnUartPacket_extractInt8',['../group__uart_packet_binary_extractors.html#gad00a7e842e623c73a76d6c245aa95725',1,'upack.h']]], - ['vnuartpacket_5fextractmat3f',['VnUartPacket_extractMat3f',['../group__uart_packet_binary_extractors.html#ga2aafc8af2844100e9ef5adcbe0c9379e',1,'upack.h']]], - ['vnuartpacket_5fextractuint16',['VnUartPacket_extractUint16',['../group__uart_packet_binary_extractors.html#ga278d70b97cb5296fc07ed7173acb50d1',1,'upack.h']]], - ['vnuartpacket_5fextractuint32',['VnUartPacket_extractUint32',['../group__uart_packet_binary_extractors.html#ga226ec6598ef9f3041da63b94d6218c98',1,'upack.h']]], - ['vnuartpacket_5fextractuint64',['VnUartPacket_extractUint64',['../group__uart_packet_binary_extractors.html#ga6fe1746b5fec18983245f1bd020f39e9',1,'upack.h']]], - ['vnuartpacket_5fextractuint8',['VnUartPacket_extractUint8',['../group__uart_packet_binary_extractors.html#ga8c33488adb9d44d21072b34dcfa21601',1,'upack.h']]], - ['vnuartpacket_5fextractvec3d',['VnUartPacket_extractVec3d',['../group__uart_packet_binary_extractors.html#ga2d1b0512baeae011739cfab8e8dfcecc',1,'upack.h']]], - ['vnuartpacket_5fextractvec3f',['VnUartPacket_extractVec3f',['../group__uart_packet_binary_extractors.html#gab50c5ac1ff646d31e2648fe67c8977e4',1,'upack.h']]], - ['vnuartpacket_5fextractvec4f',['VnUartPacket_extractVec4f',['../group__uart_packet_binary_extractors.html#gae6a318f365e5f15aca286ff0636bcc5e',1,'upack.h']]], - ['vnuartpacket_5fgencmdknownaccelerationdisturbance',['VnUartPacket_genCmdKnownAccelerationDisturbance',['../group__uart__genread__functions.html#ga941f24bbdcc59fbba104e8bb35bf9bc3',1,'upack.h']]], - ['vnuartpacket_5fgencmdknownmagneticdisturbance',['VnUartPacket_genCmdKnownMagneticDisturbance',['../group__uart__genread__functions.html#gaa59bf447f0497179fb33178affb9297f',1,'upack.h']]], - ['vnuartpacket_5fgencmdreset',['VnUartPacket_genCmdReset',['../group__uart__genread__functions.html#ga642b0af9fe84de5f4b80e75c2217846a',1,'upack.h']]], - ['vnuartpacket_5fgencmdrestorefactorysettings',['VnUartPacket_genCmdRestoreFactorySettings',['../group__uart__genread__functions.html#gac9372fab871d4c6d8e4052ab2a8a59c4',1,'upack.h']]], - ['vnuartpacket_5fgencmdsetgyrobias',['VnUartPacket_genCmdSetGyroBias',['../group__uart__genread__functions.html#ga2c1c2f9679acc65ea581fe7a48cfabfd',1,'upack.h']]], - ['vnuartpacket_5fgencmdtare',['VnUartPacket_genCmdTare',['../group__uart__genread__functions.html#ga04135c26984427ba58a425b7d45eba00',1,'upack.h']]], - ['vnuartpacket_5fgencmdwritesettings',['VnUartPacket_genCmdWriteSettings',['../group__uart__genread__functions.html#ga11c49872fbb15b494fae4b916c299951',1,'upack.h']]], - ['vnuartpacket_5fgenreadaccelerationcompensation',['VnUartPacket_genReadAccelerationCompensation',['../group__uart__genread__functions.html#ga5f205091b639f6e7c4f937d38cd91f9b',1,'upack.h']]], - ['vnuartpacket_5fgenreadaccelerationmeasurements',['VnUartPacket_genReadAccelerationMeasurements',['../group__uart__genread__functions.html#ga21c525d82be0c5cb114717321c5685ff',1,'upack.h']]], - ['vnuartpacket_5fgenreadangularratemeasurements',['VnUartPacket_genReadAngularRateMeasurements',['../group__uart__genread__functions.html#gaa46188b2b31872bdb3fd4f64ffc3266b',1,'upack.h']]], - ['vnuartpacket_5fgenreadasyncdataoutputfrequency',['VnUartPacket_genReadAsyncDataOutputFrequency',['../group__uart__genread__functions.html#gaf6f6cfa7c857e6b36da4b4add05b0e0c',1,'upack.h']]], - ['vnuartpacket_5fgenreadasyncdataoutputtype',['VnUartPacket_genReadAsyncDataOutputType',['../group__uart__genread__functions.html#ga8bce5cc7f2bf30ab077c8753ebbb5560',1,'upack.h']]], - ['vnuartpacket_5fgenreadattitudequaternion',['VnUartPacket_genReadAttitudeQuaternion',['../group__uart__genread__functions.html#ga435de44db6613ec635472ea0c9a407ce',1,'upack.h']]], - ['vnuartpacket_5fgenreadbinaryoutput1',['VnUartPacket_genReadBinaryOutput1',['../group__uart__genread__functions.html#gaedd9ccaa2c40befce571753fde9c2879',1,'upack.h']]], - ['vnuartpacket_5fgenreadbinaryoutput2',['VnUartPacket_genReadBinaryOutput2',['../group__uart__genread__functions.html#ga7646253716e66d45c0cbc167b41b5ce1',1,'upack.h']]], - ['vnuartpacket_5fgenreadbinaryoutput3',['VnUartPacket_genReadBinaryOutput3',['../group__uart__genread__functions.html#ga0d757e1df2a76638dd258f93ee9fd1ac',1,'upack.h']]], - ['vnuartpacket_5fgenreadcalculatedmagnetometercalibration',['VnUartPacket_genReadCalculatedMagnetometerCalibration',['../group__uart__genread__functions.html#gaff29a166aa76f9a31799aa7ae8f28843',1,'upack.h']]], - ['vnuartpacket_5fgenreadcommunicationprotocolcontrol',['VnUartPacket_genReadCommunicationProtocolControl',['../group__uart__genread__functions.html#ga22c0610de2aa101cd9246d6f6422b750',1,'upack.h']]], - ['vnuartpacket_5fgenreaddeltathetaanddeltavelocity',['VnUartPacket_genReadDeltaThetaAndDeltaVelocity',['../group__uart__genread__functions.html#ga1e75c2c3fbe93d2d1ce3c6985813afaf',1,'upack.h']]], - ['vnuartpacket_5fgenreaddeltathetaanddeltavelocityconfiguration',['VnUartPacket_genReadDeltaThetaAndDeltaVelocityConfiguration',['../group__uart__genread__functions.html#ga08679abc9d275b48572a9a9b5e6b9fb3',1,'upack.h']]], - ['vnuartpacket_5fgenreadfirmwareversion',['VnUartPacket_genReadFirmwareVersion',['../group__uart__genread__functions.html#gae835fb2183f5ab2cb148ddb975fac3c3',1,'upack.h']]], - ['vnuartpacket_5fgenreadgpsantennaoffset',['VnUartPacket_genReadGpsAntennaOffset',['../group__uart__genread__functions.html#ga4fd179300b65cc5362c37e6c13850c0f',1,'upack.h']]], - ['vnuartpacket_5fgenreadgpscompassbaseline',['VnUartPacket_genReadGpsCompassBaseline',['../group__uart__genread__functions.html#gac70fe017f1bb721704cbf9fc15b6dcc5',1,'upack.h']]], - ['vnuartpacket_5fgenreadgpscompassestimatedbaseline',['VnUartPacket_genReadGpsCompassEstimatedBaseline',['../group__uart__genread__functions.html#gab0d48176542dd3862f47b4d66f0a6a3d',1,'upack.h']]], - ['vnuartpacket_5fgenreadgpsconfiguration',['VnUartPacket_genReadGpsConfiguration',['../group__uart__genread__functions.html#gacc5b8a44170bd9df4623ae9d006885a6',1,'upack.h']]], - ['vnuartpacket_5fgenreadgpssolutionecef',['VnUartPacket_genReadGpsSolutionEcef',['../group__uart__genread__functions.html#gaf638e3ca1591b6148b2ea7d6c8321b31',1,'upack.h']]], - ['vnuartpacket_5fgenreadgpssolutionlla',['VnUartPacket_genReadGpsSolutionLla',['../group__uart__genread__functions.html#ga70330a7c99e7a130d0f62ad7b86c174c',1,'upack.h']]], - ['vnuartpacket_5fgenreadgyrocompensation',['VnUartPacket_genReadGyroCompensation',['../group__uart__genread__functions.html#ga5eb852a0aafaa7d40baee4cc2ff63942',1,'upack.h']]], - ['vnuartpacket_5fgenreadhardwarerevision',['VnUartPacket_genReadHardwareRevision',['../group__uart__genread__functions.html#ga1619337729455368e7ae9f9f715f1d9f',1,'upack.h']]], - ['vnuartpacket_5fgenreadimufilteringconfiguration',['VnUartPacket_genReadImuFilteringConfiguration',['../group__uart__genread__functions.html#ga5d3fa0297cc207d4ddd4dc23ae5de4f9',1,'upack.h']]], - ['vnuartpacket_5fgenreadimumeasurements',['VnUartPacket_genReadImuMeasurements',['../group__uart__genread__functions.html#ga0d594e163064199f7f9023e88d8aa155',1,'upack.h']]], - ['vnuartpacket_5fgenreadinsbasicconfiguration',['VnUartPacket_genReadInsBasicConfiguration',['../group__uart__genread__functions.html#gaa5dca11d0b9ce6d4c1dd290c3d612981',1,'upack.h']]], - ['vnuartpacket_5fgenreadinssolutionecef',['VnUartPacket_genReadInsSolutionEcef',['../group__uart__genread__functions.html#ga70acac0fd13030156f54fabc9a0d2904',1,'upack.h']]], - ['vnuartpacket_5fgenreadinssolutionlla',['VnUartPacket_genReadInsSolutionLla',['../group__uart__genread__functions.html#gadf0ff5c26b4d0d6fe1d2758ab68c546b',1,'upack.h']]], - ['vnuartpacket_5fgenreadinsstateecef',['VnUartPacket_genReadInsStateEcef',['../group__uart__genread__functions.html#gaf0222df493c5d456ce63b4e78a4cd9e9',1,'upack.h']]], - ['vnuartpacket_5fgenreadinsstatella',['VnUartPacket_genReadInsStateLla',['../group__uart__genread__functions.html#ga26c41e5aa74be641f23863a0c1124511',1,'upack.h']]], - ['vnuartpacket_5fgenreadmagneticaccelerationandangularrates',['VnUartPacket_genReadMagneticAccelerationAndAngularRates',['../group__uart__genread__functions.html#gac8d0baec84fe026dcc0d9ca24e6a3d62',1,'upack.h']]], - ['vnuartpacket_5fgenreadmagneticandgravityreferencevectors',['VnUartPacket_genReadMagneticAndGravityReferenceVectors',['../group__uart__genread__functions.html#ga90568f7c3ee0815912916e6c66a02576',1,'upack.h']]], - ['vnuartpacket_5fgenreadmagneticmeasurements',['VnUartPacket_genReadMagneticMeasurements',['../group__uart__genread__functions.html#gaf48c4d2326cb3a16810af66eb1b94117',1,'upack.h']]], - ['vnuartpacket_5fgenreadmagnetometercalibrationcontrol',['VnUartPacket_genReadMagnetometerCalibrationControl',['../group__uart__genread__functions.html#gabefc1c5babe4dfc2ad8abff6bdcef619',1,'upack.h']]], - ['vnuartpacket_5fgenreadmagnetometercompensation',['VnUartPacket_genReadMagnetometerCompensation',['../group__uart__genread__functions.html#ga331692a3a11c1c134291524277e3ea18',1,'upack.h']]], - ['vnuartpacket_5fgenreadmodelnumber',['VnUartPacket_genReadModelNumber',['../group__uart__genread__functions.html#ga76e37c9c18f1b4b96d17e9e4d0a195ce',1,'upack.h']]], - ['vnuartpacket_5fgenreadquaternionmagneticaccelerationandangularrates',['VnUartPacket_genReadQuaternionMagneticAccelerationAndAngularRates',['../group__uart__genread__functions.html#ga552d2cb67910d4f373194eecfbcd8c0b',1,'upack.h']]], - ['vnuartpacket_5fgenreadreferenceframerotation',['VnUartPacket_genReadReferenceFrameRotation',['../group__uart__genread__functions.html#gac90c68d8ad80bbd4779f2ef556b92bbf',1,'upack.h']]], - ['vnuartpacket_5fgenreadreferencevectorconfiguration',['VnUartPacket_genReadReferenceVectorConfiguration',['../group__uart__genread__functions.html#gad5a2663abae78a95fb55e240c52aae23',1,'upack.h']]], - ['vnuartpacket_5fgenreadserialbaudrate',['VnUartPacket_genReadSerialBaudRate',['../group__uart__genread__functions.html#ga158be77ee67a3edee0a8fad41c208470',1,'upack.h']]], - ['vnuartpacket_5fgenreadserialnumber',['VnUartPacket_genReadSerialNumber',['../group__uart__genread__functions.html#ga9b2ca08a5ee7b3b395de5179c0751548',1,'upack.h']]], - ['vnuartpacket_5fgenreadstartupfilterbiasestimate',['VnUartPacket_genReadStartupFilterBiasEstimate',['../group__uart__genread__functions.html#ga6ef1f5b95112f8039d5e641043646e56',1,'upack.h']]], - ['vnuartpacket_5fgenreadsynchronizationcontrol',['VnUartPacket_genReadSynchronizationControl',['../group__uart__genread__functions.html#gaa3bb38ada712c3964b95238ac91ff595',1,'upack.h']]], - ['vnuartpacket_5fgenreadsynchronizationstatus',['VnUartPacket_genReadSynchronizationStatus',['../group__uart__genread__functions.html#gafeb0037a02815c32b58c6d5d49cd2ea3',1,'upack.h']]], - ['vnuartpacket_5fgenreadusertag',['VnUartPacket_genReadUserTag',['../group__uart__genread__functions.html#gaa58d5e31b81f66f640e313b51aef86b2',1,'upack.h']]], - ['vnuartpacket_5fgenreadvelocitycompensationcontrol',['VnUartPacket_genReadVelocityCompensationControl',['../group__uart__genread__functions.html#ga5f28e6f0b8f3c76e10bc16e4b0ec9ecd',1,'upack.h']]], - ['vnuartpacket_5fgenreadvelocitycompensationmeasurement',['VnUartPacket_genReadVelocityCompensationMeasurement',['../group__uart__genread__functions.html#gae99080aebca2f1eac2c9d9cfb7286c69',1,'upack.h']]], - ['vnuartpacket_5fgenreadvpeaccelerometerbasictuning',['VnUartPacket_genReadVpeAccelerometerBasicTuning',['../group__uart__genread__functions.html#ga71ab80c1cd34f5657d73fe9af276113a',1,'upack.h']]], - ['vnuartpacket_5fgenreadvpebasiccontrol',['VnUartPacket_genReadVpeBasicControl',['../group__uart__genread__functions.html#ga44d3ce815ddda62cee9461454f069f71',1,'upack.h']]], - ['vnuartpacket_5fgenreadvpemagnetometerbasictuning',['VnUartPacket_genReadVpeMagnetometerBasicTuning',['../group__uart__genread__functions.html#gafbdf4518ed4438252e1d7687902b447f',1,'upack.h']]], - ['vnuartpacket_5fgenreadyawpitchroll',['VnUartPacket_genReadYawPitchRoll',['../group__uart__genread__functions.html#gae3123b118d0b1e06ff8badb9959f05f5',1,'upack.h']]], - ['vnuartpacket_5fgenreadyawpitchrollmagneticaccelerationandangularrates',['VnUartPacket_genReadYawPitchRollMagneticAccelerationAndAngularRates',['../group__uart__genread__functions.html#gaa40ffcce0f91d69eec26126667d49584',1,'upack.h']]], - ['vnuartpacket_5fgenreadyawpitchrolltruebodyaccelerationandangularrates',['VnUartPacket_genReadYawPitchRollTrueBodyAccelerationAndAngularRates',['../group__uart__genread__functions.html#gad00bb46c37ef0bf1101285b0461f4d26',1,'upack.h']]], - ['vnuartpacket_5fgenreadyawpitchrolltrueinertialaccelerationandangularrates',['VnUartPacket_genReadYawPitchRollTrueInertialAccelerationAndAngularRates',['../group__uart__genread__functions.html#gab987523a2f62aff14adf3418bc7590ff',1,'upack.h']]], - ['vnuartpacket_5fgenwriteaccelerationcompensation',['VnUartPacket_genWriteAccelerationCompensation',['../group__uart__genwrite__functions.html#ga715216a6eef04a26342b39135a5cda9a',1,'upack.h']]], - ['vnuartpacket_5fgenwriteasyncdataoutputfrequency',['VnUartPacket_genWriteAsyncDataOutputFrequency',['../group__uart__genwrite__functions.html#gafe690f4740b28ac67955415708496354',1,'upack.h']]], - ['vnuartpacket_5fgenwriteasyncdataoutputfrequencywithoptions',['VnUartPacket_genWriteAsyncDataOutputFrequencyWithOptions',['../group__uart__genwrite__functions.html#gab3406ea711ebdd029450ca00b8cf7153',1,'upack.h']]], - ['vnuartpacket_5fgenwriteasyncdataoutputtype',['VnUartPacket_genWriteAsyncDataOutputType',['../group__uart__genwrite__functions.html#ga3ff5e382b049ea97c0a31d9b68f79777',1,'upack.h']]], - ['vnuartpacket_5fgenwriteasyncdataoutputtypewithoptions',['VnUartPacket_genWriteAsyncDataOutputTypeWithOptions',['../group__uart__genwrite__functions.html#gaa43254fe19485ef91d7b6006547a36b4',1,'upack.h']]], - ['vnuartpacket_5fgenwritebinaryoutput1',['VnUartPacket_genWriteBinaryOutput1',['../group__uart__genwrite__functions.html#ga07afb3340e7843c1ecb9f55f1b5091b1',1,'upack.h']]], - ['vnuartpacket_5fgenwritebinaryoutput2',['VnUartPacket_genWriteBinaryOutput2',['../group__uart__genwrite__functions.html#ga0802e6cc8f20d364e235dfeca629cbc9',1,'upack.h']]], - ['vnuartpacket_5fgenwritebinaryoutput3',['VnUartPacket_genWriteBinaryOutput3',['../group__uart__genwrite__functions.html#ga68ad53f662108982d2bdbd85992ebd54',1,'upack.h']]], - ['vnuartpacket_5fgenwritecommunicationprotocolcontrol',['VnUartPacket_genWriteCommunicationProtocolControl',['../group__uart__genwrite__functions.html#ga1cfbce5f1d3debb88b29281fda29f25d',1,'upack.h']]], - ['vnuartpacket_5fgenwritedeltathetaanddeltavelocityconfiguration',['VnUartPacket_genWriteDeltaThetaAndDeltaVelocityConfiguration',['../group__uart__genwrite__functions.html#ga8b84de3d348cf7d0462890c507e7de48',1,'upack.h']]], - ['vnuartpacket_5fgenwritegpsantennaoffset',['VnUartPacket_genWriteGpsAntennaOffset',['../group__uart__genwrite__functions.html#ga4681c5234b654945de18a195737b4e76',1,'upack.h']]], - ['vnuartpacket_5fgenwritegpscompassbaseline',['VnUartPacket_genWriteGpsCompassBaseline',['../group__uart__genwrite__functions.html#gadfafa40c490d9a94636771a659146caa',1,'upack.h']]], - ['vnuartpacket_5fgenwritegpsconfiguration',['VnUartPacket_genWriteGpsConfiguration',['../group__uart__genwrite__functions.html#ga0cfa5ab01f74d48525858fd897863ed7',1,'upack.h']]], - ['vnuartpacket_5fgenwritegyrocompensation',['VnUartPacket_genWriteGyroCompensation',['../group__uart__genwrite__functions.html#ga7102d519619fb52fb275fb566a48f6b2',1,'upack.h']]], - ['vnuartpacket_5fgenwriteimufilteringconfiguration',['VnUartPacket_genWriteImuFilteringConfiguration',['../group__uart__genwrite__functions.html#gad70fcd798beb27e954f2dc7eb141774d',1,'upack.h']]], - ['vnuartpacket_5fgenwriteinsbasicconfiguration',['VnUartPacket_genWriteInsBasicConfiguration',['../group__uart__genwrite__functions.html#gaae3dece8397d8521df77fe960c1a847d',1,'upack.h']]], - ['vnuartpacket_5fgenwritemagneticandgravityreferencevectors',['VnUartPacket_genWriteMagneticAndGravityReferenceVectors',['../group__uart__genwrite__functions.html#gadcc18d5acc3fd729f10b15830e33041b',1,'upack.h']]], - ['vnuartpacket_5fgenwritemagnetometercalibrationcontrol',['VnUartPacket_genWriteMagnetometerCalibrationControl',['../group__uart__genwrite__functions.html#ga624636063f24305e604a11be047aeab6',1,'upack.h']]], - ['vnuartpacket_5fgenwritemagnetometercompensation',['VnUartPacket_genWriteMagnetometerCompensation',['../group__uart__genwrite__functions.html#ga24b905272307ed6f4de53328ce0ba943',1,'upack.h']]], - ['vnuartpacket_5fgenwritereferenceframerotation',['VnUartPacket_genWriteReferenceFrameRotation',['../group__uart__genwrite__functions.html#gaecf52412505939af1463f64f6efda1b9',1,'upack.h']]], - ['vnuartpacket_5fgenwritereferencevectorconfiguration',['VnUartPacket_genWriteReferenceVectorConfiguration',['../group__uart__genwrite__functions.html#ga1c8ab4e3b8eb31cff154e7c0997276fb',1,'upack.h']]], - ['vnuartpacket_5fgenwriteserialbaudrate',['VnUartPacket_genWriteSerialBaudRate',['../group__uart__genwrite__functions.html#ga4005cdfa530c90be0b2ae1b3a8fd683e',1,'upack.h']]], - ['vnuartpacket_5fgenwriteserialbaudratewithoptions',['VnUartPacket_genWriteSerialBaudRateWithOptions',['../group__uart__genwrite__functions.html#ga47fd3830079e7b6e1dd66419e3065d55',1,'upack.h']]], - ['vnuartpacket_5fgenwritestartupfilterbiasestimate',['VnUartPacket_genWriteStartupFilterBiasEstimate',['../group__uart__genwrite__functions.html#ga98048c5abaef159b6c6f4ea54b26a145',1,'upack.h']]], - ['vnuartpacket_5fgenwritesynchronizationcontrol',['VnUartPacket_genWriteSynchronizationControl',['../group__uart__genwrite__functions.html#ga992943da040b7958fa234e535cb3d9ce',1,'upack.h']]], - ['vnuartpacket_5fgenwritesynchronizationstatus',['VnUartPacket_genWriteSynchronizationStatus',['../group__uart__genwrite__functions.html#ga4bb622305bce6b5c7cff948444dee07e',1,'upack.h']]], - ['vnuartpacket_5fgenwriteusertag',['VnUartPacket_genWriteUserTag',['../group__uart__genwrite__functions.html#gaaaa089b8a7a9eec4b7a19239c67cf147',1,'upack.h']]], - ['vnuartpacket_5fgenwritevelocitycompensationcontrol',['VnUartPacket_genWriteVelocityCompensationControl',['../group__uart__genwrite__functions.html#gaa101dd03b5b12ddeb60861c17cb9d2ee',1,'upack.h']]], - ['vnuartpacket_5fgenwritevelocitycompensationmeasurement',['VnUartPacket_genWriteVelocityCompensationMeasurement',['../group__uart__genwrite__functions.html#ga7af2b21625b57941be6384a1f16d64ce',1,'upack.h']]], - ['vnuartpacket_5fgenwritevpeaccelerometerbasictuning',['VnUartPacket_genWriteVpeAccelerometerBasicTuning',['../group__uart__genwrite__functions.html#ga17956c5b5f158520a1f2c3c1abab1eaf',1,'upack.h']]], - ['vnuartpacket_5fgenwritevpebasiccontrol',['VnUartPacket_genWriteVpeBasicControl',['../group__uart__genwrite__functions.html#ga6d561442602beacf394680798d43d9f7',1,'upack.h']]], - ['vnuartpacket_5fgenwritevpemagnetometerbasictuning',['VnUartPacket_genWriteVpeMagnetometerBasicTuning',['../group__uart__genwrite__functions.html#ga19eb1c8dbdfb3ccd120bb5eb20b585d6',1,'upack.h']]], - ['vnuartpacket_5fparseaccelerationcompensation',['VnUartPacket_parseAccelerationCompensation',['../group__uart__genwrite__functions.html#ga4318d5a00e0b79594e8cf8644991894f',1,'upack.h']]], - ['vnuartpacket_5fparseaccelerationcompensationraw',['VnUartPacket_parseAccelerationCompensationRaw',['../group__uart__genwrite__functions.html#gac691ca7b1ab4fc0de3a494b62490fe5d',1,'upack.h']]], - ['vnuartpacket_5fparseaccelerationmeasurements',['VnUartPacket_parseAccelerationMeasurements',['../group__uart__genwrite__functions.html#gacf24ba30cd395a9f78fed989ab5edda8',1,'upack.h']]], - ['vnuartpacket_5fparseaccelerationmeasurementsraw',['VnUartPacket_parseAccelerationMeasurementsRaw',['../group__uart__genwrite__functions.html#gab76b6463bf7a8e5e164d086a653c761c',1,'upack.h']]], - ['vnuartpacket_5fparseangularratemeasurements',['VnUartPacket_parseAngularRateMeasurements',['../group__uart__genwrite__functions.html#ga652a50194a9ff479967142b1951d907a',1,'upack.h']]], - ['vnuartpacket_5fparseangularratemeasurementsraw',['VnUartPacket_parseAngularRateMeasurementsRaw',['../group__uart__genwrite__functions.html#gafd04e1624cd6ec5d874c91dacba5893a',1,'upack.h']]], - ['vnuartpacket_5fparseasyncdataoutputfrequency',['VnUartPacket_parseAsyncDataOutputFrequency',['../group__uart__genwrite__functions.html#gaa89c4d2c71f4e60cacb4f9da90367e12',1,'upack.h']]], - ['vnuartpacket_5fparseasyncdataoutputfrequencyraw',['VnUartPacket_parseAsyncDataOutputFrequencyRaw',['../group__uart__genwrite__functions.html#gaf5be2c3d0eee19994d3be0e3b9a63b51',1,'upack.h']]], - ['vnuartpacket_5fparseasyncdataoutputtype',['VnUartPacket_parseAsyncDataOutputType',['../group__uart__genwrite__functions.html#ga9f53aea6e59b6dbd403f030b6560c200',1,'upack.h']]], - ['vnuartpacket_5fparseasyncdataoutputtyperaw',['VnUartPacket_parseAsyncDataOutputTypeRaw',['../group__uart__genwrite__functions.html#ga12845975b8c45b9220c08d71376c907b',1,'upack.h']]], - ['vnuartpacket_5fparseattitudequaternion',['VnUartPacket_parseAttitudeQuaternion',['../group__uart__genwrite__functions.html#ga768fdcaed903a9ecaa38155df80616d6',1,'upack.h']]], - ['vnuartpacket_5fparseattitudequaternionraw',['VnUartPacket_parseAttitudeQuaternionRaw',['../group__uart__genwrite__functions.html#ga51d39089d5ad127aeb48fd4293388821',1,'upack.h']]], - ['vnuartpacket_5fparsebinaryoutput',['VnUartPacket_parseBinaryOutput',['../group__uart__genwrite__functions.html#gafd0d33575cf119e5467540d358de2c02',1,'upack.h']]], - ['vnuartpacket_5fparsebinaryoutputraw',['VnUartPacket_parseBinaryOutputRaw',['../group__uart__genwrite__functions.html#ga5924071e89fb44af85db890c075ebac2',1,'upack.h']]], - ['vnuartpacket_5fparsecalculatedmagnetometercalibration',['VnUartPacket_parseCalculatedMagnetometerCalibration',['../group__uart__genwrite__functions.html#ga699e7432af6f25b52a4d22e88c6f97ba',1,'upack.h']]], - ['vnuartpacket_5fparsecalculatedmagnetometercalibrationraw',['VnUartPacket_parseCalculatedMagnetometerCalibrationRaw',['../group__uart__genwrite__functions.html#gae362a829e4c0192e9d0d214637f14b88',1,'upack.h']]], - ['vnuartpacket_5fparsecommunicationprotocolcontrol',['VnUartPacket_parseCommunicationProtocolControl',['../group__uart__genwrite__functions.html#ga6328410f1133baf68d4c42dcf4b18957',1,'upack.h']]], - ['vnuartpacket_5fparsecommunicationprotocolcontrolraw',['VnUartPacket_parseCommunicationProtocolControlRaw',['../group__uart__genwrite__functions.html#gafac199e1275204d2ff9bba911c574615',1,'upack.h']]], - ['vnuartpacket_5fparsedeltathetaanddeltavelocity',['VnUartPacket_parseDeltaThetaAndDeltaVelocity',['../group__uart__genwrite__functions.html#gaa36907a64507f54b3c428990f153385b',1,'upack.h']]], - ['vnuartpacket_5fparsedeltathetaanddeltavelocityconfiguration',['VnUartPacket_parseDeltaThetaAndDeltaVelocityConfiguration',['../group__uart__genwrite__functions.html#ga514c383e8dcf407e15615f2a92f498ad',1,'upack.h']]], - ['vnuartpacket_5fparsedeltathetaanddeltavelocityconfigurationraw',['VnUartPacket_parseDeltaThetaAndDeltaVelocityConfigurationRaw',['../group__uart__genwrite__functions.html#gaf1d209f782801b3afaae543c34bd0797',1,'upack.h']]], - ['vnuartpacket_5fparsedeltathetaanddeltavelocityraw',['VnUartPacket_parseDeltaThetaAndDeltaVelocityRaw',['../group__uart__genwrite__functions.html#ga72342fc61f9f7f41d833c2412ca5ac00',1,'upack.h']]], - ['vnuartpacket_5fparseerror',['VnUartPacket_parseError',['../group__uart__genwrite__functions.html#ga4488412e853a2c1655fa1ebbb63d3efa',1,'upack.h']]], - ['vnuartpacket_5fparseerrorraw',['VnUartPacket_parseErrorRaw',['../group__uart__genwrite__functions.html#ga8c11ce5559fdd176646047510b71c581',1,'upack.h']]], - ['vnuartpacket_5fparsefilteractivetuningparameters',['VnUartPacket_parseFilterActiveTuningParameters',['../group__uart__genwrite__functions.html#ga0fa8f2862d8cebd228f9b1fa19550f14',1,'upack.h']]], - ['vnuartpacket_5fparsefilteractivetuningparametersraw',['VnUartPacket_parseFilterActiveTuningParametersRaw',['../group__uart__genwrite__functions.html#gaef3c076525b1da4ed10921defd641e05',1,'upack.h']]], - ['vnuartpacket_5fparsefilterbasiccontrol',['VnUartPacket_parseFilterBasicControl',['../group__uart__genwrite__functions.html#ga825b5284cdc2b5697d5e11980bd5e690',1,'upack.h']]], - ['vnuartpacket_5fparsefilterbasiccontrolraw',['VnUartPacket_parseFilterBasicControlRaw',['../group__uart__genwrite__functions.html#ga6ddfb7e22e3208979130b8e328489915',1,'upack.h']]], - ['vnuartpacket_5fparsefiltermeasurementsvarianceparameters',['VnUartPacket_parseFilterMeasurementsVarianceParameters',['../group__uart__genwrite__functions.html#gaf0b7b8d7a20b62bd2aff1111d09bf81d',1,'upack.h']]], - ['vnuartpacket_5fparsefiltermeasurementsvarianceparametersraw',['VnUartPacket_parseFilterMeasurementsVarianceParametersRaw',['../group__uart__genwrite__functions.html#ga4104d79231aa4193540995b17e9aa2f9',1,'upack.h']]], - ['vnuartpacket_5fparsefilterstartupgyrobias',['VnUartPacket_parseFilterStartupGyroBias',['../group__uart__genwrite__functions.html#ga84adf76e6a64cf9509f8fc39a43641e6',1,'upack.h']]], - ['vnuartpacket_5fparsefilterstartupgyrobiasraw',['VnUartPacket_parseFilterStartupGyroBiasRaw',['../group__uart__genwrite__functions.html#ga15e626258fe7bfe12310fd04ad772dac',1,'upack.h']]], - ['vnuartpacket_5fparsefirmwareversion',['VnUartPacket_parseFirmwareVersion',['../group__uart__genwrite__functions.html#gaf125dc3e6b0a422e348ce753ad449992',1,'upack.h']]], - ['vnuartpacket_5fparsefirmwareversionraw',['VnUartPacket_parseFirmwareVersionRaw',['../group__uart__genwrite__functions.html#gab8e5253fe54536db27510b1d8078e189',1,'upack.h']]], - ['vnuartpacket_5fparsegpsantennaoffset',['VnUartPacket_parseGpsAntennaOffset',['../group__uart__genwrite__functions.html#gacc1e02655266978d23106069dc5bdcdf',1,'upack.h']]], - ['vnuartpacket_5fparsegpsantennaoffsetraw',['VnUartPacket_parseGpsAntennaOffsetRaw',['../group__uart__genwrite__functions.html#ga0a98acb4af8d8dd491c223ff4b879828',1,'upack.h']]], - ['vnuartpacket_5fparsegpscompassbaseline',['VnUartPacket_parseGpsCompassBaseline',['../group__uart__genwrite__functions.html#gafec482f7b759cffef43d7452dc21c5a8',1,'upack.h']]], - ['vnuartpacket_5fparsegpscompassbaselineraw',['VnUartPacket_parseGpsCompassBaselineRaw',['../group__uart__genwrite__functions.html#gadc71c912218b5abb2a43b14745ad6c92',1,'upack.h']]], - ['vnuartpacket_5fparsegpscompassestimatedbaseline',['VnUartPacket_parseGpsCompassEstimatedBaseline',['../group__uart__genwrite__functions.html#gada5f4d1927041b20d426140c453b7c25',1,'upack.h']]], - ['vnuartpacket_5fparsegpscompassestimatedbaselineraw',['VnUartPacket_parseGpsCompassEstimatedBaselineRaw',['../group__uart__genwrite__functions.html#gab443d209ef341b6e107a0508fd23c5b5',1,'upack.h']]], - ['vnuartpacket_5fparsegpsconfiguration',['VnUartPacket_parseGpsConfiguration',['../group__uart__genwrite__functions.html#ga3e96430942135beaac93aa27151f822e',1,'upack.h']]], - ['vnuartpacket_5fparsegpsconfigurationraw',['VnUartPacket_parseGpsConfigurationRaw',['../group__uart__genwrite__functions.html#ga93bbd1c8454148caabace1a864b1c8e9',1,'upack.h']]], - ['vnuartpacket_5fparsegpssolutionecef',['VnUartPacket_parseGpsSolutionEcef',['../group__uart__genwrite__functions.html#gab694f52382f4342e59e57351442edb9b',1,'upack.h']]], - ['vnuartpacket_5fparsegpssolutionecefraw',['VnUartPacket_parseGpsSolutionEcefRaw',['../group__uart__genwrite__functions.html#gaad0b8f4ae3971c53fe5937a7981d1e9e',1,'upack.h']]], - ['vnuartpacket_5fparsegpssolutionlla',['VnUartPacket_parseGpsSolutionLla',['../group__uart__genwrite__functions.html#ga5869bcc078ebb2037aac9461b822510c',1,'upack.h']]], - ['vnuartpacket_5fparsegpssolutionllaraw',['VnUartPacket_parseGpsSolutionLlaRaw',['../group__uart__genwrite__functions.html#gad03437cde70a59dd9d3ede39f6d6e254',1,'upack.h']]], - ['vnuartpacket_5fparsegyrocompensation',['VnUartPacket_parseGyroCompensation',['../group__uart__genwrite__functions.html#gaff9cc27e8b8849450a312f6cc8ea5644',1,'upack.h']]], - ['vnuartpacket_5fparsegyrocompensationraw',['VnUartPacket_parseGyroCompensationRaw',['../group__uart__genwrite__functions.html#ga09e7fa8968ba7107d15d4009f64be54c',1,'upack.h']]], - ['vnuartpacket_5fparsehardwarerevision',['VnUartPacket_parseHardwareRevision',['../group__uart__genwrite__functions.html#gad8f8e72e2b81a9e84a3e1b601341b6f7',1,'upack.h']]], - ['vnuartpacket_5fparsehardwarerevisionraw',['VnUartPacket_parseHardwareRevisionRaw',['../group__uart__genwrite__functions.html#ga41e2a049946caccfad7f564c8e016023',1,'upack.h']]], - ['vnuartpacket_5fparseimufilteringconfiguration',['VnUartPacket_parseImuFilteringConfiguration',['../group__uart__genwrite__functions.html#gad42393ea01ba950a1a339a3a7ab48e22',1,'upack.h']]], - ['vnuartpacket_5fparseimufilteringconfigurationraw',['VnUartPacket_parseImuFilteringConfigurationRaw',['../group__uart__genwrite__functions.html#gaf8056d0d7be235325793bc90cde0fc03',1,'upack.h']]], - ['vnuartpacket_5fparseimumeasurements',['VnUartPacket_parseImuMeasurements',['../group__uart__genwrite__functions.html#gadbe4b098a48b41de10cbb231e40af234',1,'upack.h']]], - ['vnuartpacket_5fparseimumeasurementsraw',['VnUartPacket_parseImuMeasurementsRaw',['../group__uart__genwrite__functions.html#ga64e72a5cc892f140eae7a302119e49d6',1,'upack.h']]], - ['vnuartpacket_5fparseimurateconfiguration',['VnUartPacket_parseImuRateConfiguration',['../group__uart__genwrite__functions.html#ga86697b1db4d4840232f3f07146fca0b3',1,'upack.h']]], - ['vnuartpacket_5fparseimurateconfigurationraw',['VnUartPacket_parseImuRateConfigurationRaw',['../group__uart__genwrite__functions.html#ga3aeddc08bd21fa4dad1fa7ccae11bcfa',1,'upack.h']]], - ['vnuartpacket_5fparseindoorheadingmodecontrol',['VnUartPacket_parseIndoorHeadingModeControl',['../group__uart__genwrite__functions.html#ga49b3c66e02296b9b2386553b9b808fc3',1,'upack.h']]], - ['vnuartpacket_5fparseindoorheadingmodecontrolraw',['VnUartPacket_parseIndoorHeadingModeControlRaw',['../group__uart__genwrite__functions.html#gafbfde077a1b3aabad95479192388974e',1,'upack.h']]], - ['vnuartpacket_5fparseinsadvancedconfiguration',['VnUartPacket_parseInsAdvancedConfiguration',['../group__uart__genwrite__functions.html#ga2b65280596603078340c214d6da6b771',1,'upack.h']]], - ['vnuartpacket_5fparseinsadvancedconfigurationraw',['VnUartPacket_parseInsAdvancedConfigurationRaw',['../group__uart__genwrite__functions.html#ga01ffdc17e0519234f3def7c35a604b3c',1,'upack.h']]], - ['vnuartpacket_5fparseinsbasicconfiguration',['VnUartPacket_parseInsBasicConfiguration',['../group__uart__genwrite__functions.html#ga2f9f1d7c73b84cd1cbf7d1a94384c618',1,'upack.h']]], - ['vnuartpacket_5fparseinsbasicconfigurationraw',['VnUartPacket_parseInsBasicConfigurationRaw',['../group__uart__genwrite__functions.html#gaf8b1b23c67939d0ab443b155ed4a716d',1,'upack.h']]], - ['vnuartpacket_5fparseinssolutionecef',['VnUartPacket_parseInsSolutionEcef',['../group__uart__genwrite__functions.html#gab06defa9a618c1004eb7b333b3427b1e',1,'upack.h']]], - ['vnuartpacket_5fparseinssolutionecefraw',['VnUartPacket_parseInsSolutionEcefRaw',['../group__uart__genwrite__functions.html#ga7ffecad1ba03ac579fbb1dc3aba78352',1,'upack.h']]], - ['vnuartpacket_5fparseinssolutionlla',['VnUartPacket_parseInsSolutionLla',['../group__uart__genwrite__functions.html#ga2a431dc8f022c01bc66e4c131eee8a7b',1,'upack.h']]], - ['vnuartpacket_5fparseinssolutionllaraw',['VnUartPacket_parseInsSolutionLlaRaw',['../group__uart__genwrite__functions.html#gac0884270a8b81d818d6208bdf429bedd',1,'upack.h']]], - ['vnuartpacket_5fparseinsstateecef',['VnUartPacket_parseInsStateEcef',['../group__uart__genwrite__functions.html#ga67fd9b261d40a007a736fe6f3936f19a',1,'upack.h']]], - ['vnuartpacket_5fparseinsstateecefraw',['VnUartPacket_parseInsStateEcefRaw',['../group__uart__genwrite__functions.html#ga04e2c8cd64705f2e5d3e14c28161540f',1,'upack.h']]], - ['vnuartpacket_5fparseinsstatella',['VnUartPacket_parseInsStateLla',['../group__uart__genwrite__functions.html#ga2696f3def249ba3cc9ca3ae17e3711df',1,'upack.h']]], - ['vnuartpacket_5fparseinsstatellaraw',['VnUartPacket_parseInsStateLlaRaw',['../group__uart__genwrite__functions.html#gaebeaa638e201cf2ccf93e62086621ebe',1,'upack.h']]], - ['vnuartpacket_5fparsemagneticaccelerationandangularrates',['VnUartPacket_parseMagneticAccelerationAndAngularRates',['../group__uart__genwrite__functions.html#ga074240e66a3030767bbe011cc4c107d8',1,'upack.h']]], - ['vnuartpacket_5fparsemagneticaccelerationandangularratesraw',['VnUartPacket_parseMagneticAccelerationAndAngularRatesRaw',['../group__uart__genwrite__functions.html#ga5b3d13775510d6c03304c020a012a928',1,'upack.h']]], - ['vnuartpacket_5fparsemagneticandgravityreferencevectors',['VnUartPacket_parseMagneticAndGravityReferenceVectors',['../group__uart__genwrite__functions.html#gad3fc2e698161105b96457aad4bdcb574',1,'upack.h']]], - ['vnuartpacket_5fparsemagneticandgravityreferencevectorsraw',['VnUartPacket_parseMagneticAndGravityReferenceVectorsRaw',['../group__uart__genwrite__functions.html#ga1b63c9923d58a7364eb8a87adfaf0c11',1,'upack.h']]], - ['vnuartpacket_5fparsemagneticmeasurements',['VnUartPacket_parseMagneticMeasurements',['../group__uart__genwrite__functions.html#gaf9006e67961978c62206c247638b9562',1,'upack.h']]], - ['vnuartpacket_5fparsemagneticmeasurementsraw',['VnUartPacket_parseMagneticMeasurementsRaw',['../group__uart__genwrite__functions.html#gab0415129d370c08e8c1320c11ab2b758',1,'upack.h']]], - ['vnuartpacket_5fparsemagnetometercalibrationcontrol',['VnUartPacket_parseMagnetometerCalibrationControl',['../group__uart__genwrite__functions.html#gafdfbc556eb3db239890adeb534aa85e3',1,'upack.h']]], - ['vnuartpacket_5fparsemagnetometercalibrationcontrolraw',['VnUartPacket_parseMagnetometerCalibrationControlRaw',['../group__uart__genwrite__functions.html#ga6a83f10859e96a88de9256732ab0920f',1,'upack.h']]], - ['vnuartpacket_5fparsemagnetometercompensation',['VnUartPacket_parseMagnetometerCompensation',['../group__uart__genwrite__functions.html#ga15e0519943cbbec07de39932c1b2826f',1,'upack.h']]], - ['vnuartpacket_5fparsemagnetometercompensationraw',['VnUartPacket_parseMagnetometerCompensationRaw',['../group__uart__genwrite__functions.html#gab2b63e8161d79136f624aab56127f192',1,'upack.h']]], - ['vnuartpacket_5fparsemodelnumber',['VnUartPacket_parseModelNumber',['../group__uart__genwrite__functions.html#gad811578908e41056b2b3a042a8e7f421',1,'upack.h']]], - ['vnuartpacket_5fparsemodelnumberraw',['VnUartPacket_parseModelNumberRaw',['../group__uart__genwrite__functions.html#ga143dcf19679055a8c77fb3b7c1263148',1,'upack.h']]], - ['vnuartpacket_5fparsequaternionmagneticaccelerationandangularrates',['VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRates',['../group__uart__genwrite__functions.html#ga8557035a208dc941d0c6a3afbb460af6',1,'upack.h']]], - ['vnuartpacket_5fparsequaternionmagneticaccelerationandangularratesraw',['VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRatesRaw',['../group__uart__genwrite__functions.html#ga93df42d39def7bad7bdd9568f8ba995d',1,'upack.h']]], - ['vnuartpacket_5fparsereferenceframerotation',['VnUartPacket_parseReferenceFrameRotation',['../group__uart__genwrite__functions.html#ga443da0155c22e0655b7064167716fbaf',1,'upack.h']]], - ['vnuartpacket_5fparsereferenceframerotationraw',['VnUartPacket_parseReferenceFrameRotationRaw',['../group__uart__genwrite__functions.html#gaaf0dac23312449f18d47eb0828fdaeda',1,'upack.h']]], - ['vnuartpacket_5fparsereferencevectorconfiguration',['VnUartPacket_parseReferenceVectorConfiguration',['../group__uart__genwrite__functions.html#ga0c9e9bf5a4f18a023e7bff0453874f59',1,'upack.h']]], - ['vnuartpacket_5fparsereferencevectorconfigurationraw',['VnUartPacket_parseReferenceVectorConfigurationRaw',['../group__uart__genwrite__functions.html#ga555a6edb67bb6551ead3ccd51379b070',1,'upack.h']]], - ['vnuartpacket_5fparseserialbaudrate',['VnUartPacket_parseSerialBaudRate',['../group__uart__genwrite__functions.html#ga60951e4f42a600f1a58bfff62879f370',1,'upack.h']]], - ['vnuartpacket_5fparseserialbaudrateraw',['VnUartPacket_parseSerialBaudRateRaw',['../group__uart__genwrite__functions.html#ga879513ea4a6d6e1d7996af4dab43a139',1,'upack.h']]], - ['vnuartpacket_5fparseserialnumber',['VnUartPacket_parseSerialNumber',['../group__uart__genwrite__functions.html#ga9be280e21ee63375d8cfa53278d4eaf8',1,'upack.h']]], - ['vnuartpacket_5fparseserialnumberraw',['VnUartPacket_parseSerialNumberRaw',['../group__uart__genwrite__functions.html#ga770df9852e4f860ecb25cebe995c826b',1,'upack.h']]], - ['vnuartpacket_5fparsestartupfilterbiasestimate',['VnUartPacket_parseStartupFilterBiasEstimate',['../group__uart__genwrite__functions.html#ga5adc4ad4e631c2a815343aed1b93760d',1,'upack.h']]], - ['vnuartpacket_5fparsestartupfilterbiasestimateraw',['VnUartPacket_parseStartupFilterBiasEstimateRaw',['../group__uart__genwrite__functions.html#ga86525cd74d3a514fa70ac977ce4c89ef',1,'upack.h']]], - ['vnuartpacket_5fparsesynchronizationcontrol',['VnUartPacket_parseSynchronizationControl',['../group__uart__genwrite__functions.html#ga5bd4f07a18c9c2f2f00a08087b09d1b6',1,'upack.h']]], - ['vnuartpacket_5fparsesynchronizationcontrolraw',['VnUartPacket_parseSynchronizationControlRaw',['../group__uart__genwrite__functions.html#ga392b12d5b9cec2e55915a1885e25d2d1',1,'upack.h']]], - ['vnuartpacket_5fparsesynchronizationstatus',['VnUartPacket_parseSynchronizationStatus',['../group__uart__genwrite__functions.html#ga8a89c3acc4fa19e012e737f69401ffaf',1,'upack.h']]], - ['vnuartpacket_5fparsesynchronizationstatusraw',['VnUartPacket_parseSynchronizationStatusRaw',['../group__uart__genwrite__functions.html#ga3b96691a651d211b8bbfe81c6d559bc4',1,'upack.h']]], - ['vnuartpacket_5fparseusertag',['VnUartPacket_parseUserTag',['../group__uart__genwrite__functions.html#ga7229fbd9bdeb76f594d00541aa07004e',1,'upack.h']]], - ['vnuartpacket_5fparseusertagraw',['VnUartPacket_parseUserTagRaw',['../group__uart__genwrite__functions.html#gada904203ff26a6c12014f838963e4d01',1,'upack.h']]], - ['vnuartpacket_5fparsevelocitycompensationcontrol',['VnUartPacket_parseVelocityCompensationControl',['../group__uart__genwrite__functions.html#gadb53e61c4962afbb5aba0717d360128e',1,'upack.h']]], - ['vnuartpacket_5fparsevelocitycompensationcontrolraw',['VnUartPacket_parseVelocityCompensationControlRaw',['../group__uart__genwrite__functions.html#ga4ac4a8a0ee66daef539a5dd3c440778c',1,'upack.h']]], - ['vnuartpacket_5fparsevelocitycompensationmeasurement',['VnUartPacket_parseVelocityCompensationMeasurement',['../group__uart__genwrite__functions.html#ga1b886297ad4d32add3cc995589a86185',1,'upack.h']]], - ['vnuartpacket_5fparsevelocitycompensationmeasurementraw',['VnUartPacket_parseVelocityCompensationMeasurementRaw',['../group__uart__genwrite__functions.html#ga858daadaadb54d4ba0a6a698961c8e61',1,'upack.h']]], - ['vnuartpacket_5fparsevelocitycompensationstatus',['VnUartPacket_parseVelocityCompensationStatus',['../group__uart__genwrite__functions.html#ga0d982d0ae2b97f4def93fdb5c036363a',1,'upack.h']]], - ['vnuartpacket_5fparsevelocitycompensationstatusraw',['VnUartPacket_parseVelocityCompensationStatusRaw',['../group__uart__genwrite__functions.html#gaf146527f241e40c19f6081609c5d94bd',1,'upack.h']]], - ['vnuartpacket_5fparsevnacc',['VnUartPacket_parseVNACC',['../group__uart_packet_ascii_async_parsers.html#ga206bba3faebaa324c4098b106d66d25b',1,'upack.h']]], - ['vnuartpacket_5fparsevndtv',['VnUartPacket_parseVNDTV',['../group__uart_packet_ascii_async_parsers.html#ga0172845345960dffc202e3e33ee325f7',1,'upack.h']]], - ['vnuartpacket_5fparsevngpe',['VnUartPacket_parseVNGPE',['../group__uart_packet_ascii_async_parsers.html#ga3fa55f3171f9a13719b7f7af48fa8639',1,'upack.h']]], - ['vnuartpacket_5fparsevngps',['VnUartPacket_parseVNGPS',['../group__uart_packet_ascii_async_parsers.html#gaace7e67d677c1d696418ea92b03fbb8f',1,'upack.h']]], - ['vnuartpacket_5fparsevngyr',['VnUartPacket_parseVNGYR',['../group__uart_packet_ascii_async_parsers.html#ga3387855ef472616dc3dc3745da32bef8',1,'upack.h']]], - ['vnuartpacket_5fparsevnimu',['VnUartPacket_parseVNIMU',['../group__uart_packet_ascii_async_parsers.html#gaaf80a8c7e364f8f8e48c9e31f61e5918',1,'upack.h']]], - ['vnuartpacket_5fparsevnine',['VnUartPacket_parseVNINE',['../group__uart_packet_ascii_async_parsers.html#ga229bd3188bd62700835597d01a729f96',1,'upack.h']]], - ['vnuartpacket_5fparsevnins',['VnUartPacket_parseVNINS',['../group__uart_packet_ascii_async_parsers.html#gae67a9520fa414828ee2528320505843c',1,'upack.h']]], - ['vnuartpacket_5fparsevnise',['VnUartPacket_parseVNISE',['../group__uart_packet_ascii_async_parsers.html#gad0375907326fbc2d7f6f7ed09dc7e286',1,'upack.h']]], - ['vnuartpacket_5fparsevnisl',['VnUartPacket_parseVNISL',['../group__uart_packet_ascii_async_parsers.html#ga5cc0e5d9512db7e9243491e13d73e2e6',1,'upack.h']]], - ['vnuartpacket_5fparsevnmag',['VnUartPacket_parseVNMAG',['../group__uart_packet_ascii_async_parsers.html#gaac2f6506e456825673995e6bd7ebe380',1,'upack.h']]], - ['vnuartpacket_5fparsevnmar',['VnUartPacket_parseVNMAR',['../group__uart_packet_ascii_async_parsers.html#gaf4c62595f81fb7ab3151b332898df67f',1,'upack.h']]], - ['vnuartpacket_5fparsevnqmr',['VnUartPacket_parseVNQMR',['../group__uart_packet_ascii_async_parsers.html#ga667d913d418fefde71ecc44a77e208e3',1,'upack.h']]], - ['vnuartpacket_5fparsevnqtn',['VnUartPacket_parseVNQTN',['../group__uart_packet_ascii_async_parsers.html#gad90e855006aa836d4cd0d83f506884a0',1,'upack.h']]], - ['vnuartpacket_5fparsevnyba',['VnUartPacket_parseVNYBA',['../group__uart_packet_ascii_async_parsers.html#ga4261ec65248a81d81fde53c5680844e1',1,'upack.h']]], - ['vnuartpacket_5fparsevnyia',['VnUartPacket_parseVNYIA',['../group__uart_packet_ascii_async_parsers.html#ga7a356281f3505ec245b1c868c2b1c29c',1,'upack.h']]], - ['vnuartpacket_5fparsevnymr',['VnUartPacket_parseVNYMR',['../group__uart_packet_ascii_async_parsers.html#ga8753a6d113cc5490df24ad5cb3d04309',1,'upack.h']]], - ['vnuartpacket_5fparsevnypr',['VnUartPacket_parseVNYPR',['../group__uart_packet_ascii_async_parsers.html#gabcab9b6803cb8b3da74abc2601cd40a2',1,'upack.h']]], - ['vnuartpacket_5fparsevpeaccelerometeradvancedtuning',['VnUartPacket_parseVpeAccelerometerAdvancedTuning',['../group__uart__genwrite__functions.html#gab608631e42813a947d0ca0441b604c13',1,'upack.h']]], - ['vnuartpacket_5fparsevpeaccelerometeradvancedtuningraw',['VnUartPacket_parseVpeAccelerometerAdvancedTuningRaw',['../group__uart__genwrite__functions.html#ga27382ddcbb19eb2408ee2e78ad5c9a1a',1,'upack.h']]], - ['vnuartpacket_5fparsevpeaccelerometerbasictuning',['VnUartPacket_parseVpeAccelerometerBasicTuning',['../group__uart__genwrite__functions.html#gacb9956c9d77ffa806e0e55ee0109a942',1,'upack.h']]], - ['vnuartpacket_5fparsevpeaccelerometerbasictuningraw',['VnUartPacket_parseVpeAccelerometerBasicTuningRaw',['../group__uart__genwrite__functions.html#ga235ef89cd4735b615115df01d515d7c1',1,'upack.h']]], - ['vnuartpacket_5fparsevpebasiccontrol',['VnUartPacket_parseVpeBasicControl',['../group__uart__genwrite__functions.html#ga8c6e9480662677fe2ca207383b770b2d',1,'upack.h']]], - ['vnuartpacket_5fparsevpebasiccontrolraw',['VnUartPacket_parseVpeBasicControlRaw',['../group__uart__genwrite__functions.html#ga0885ec782ae0aa4a17ceff44689221a8',1,'upack.h']]], - ['vnuartpacket_5fparsevpegyrobasictuning',['VnUartPacket_parseVpeGyroBasicTuning',['../group__uart__genwrite__functions.html#gaf25da9b1bd6d42110eb2e5997be65e50',1,'upack.h']]], - ['vnuartpacket_5fparsevpegyrobasictuningraw',['VnUartPacket_parseVpeGyroBasicTuningRaw',['../group__uart__genwrite__functions.html#ga492a562501a4991e100a70423178e9c7',1,'upack.h']]], - ['vnuartpacket_5fparsevpemagnetometeradvancedtuning',['VnUartPacket_parseVpeMagnetometerAdvancedTuning',['../group__uart__genwrite__functions.html#gadd4265cc2d0b6af3fb1076f7b697d517',1,'upack.h']]], - ['vnuartpacket_5fparsevpemagnetometeradvancedtuningraw',['VnUartPacket_parseVpeMagnetometerAdvancedTuningRaw',['../group__uart__genwrite__functions.html#gaed0e59bd2c76f323eccd4b9c3153352e',1,'upack.h']]], - ['vnuartpacket_5fparsevpemagnetometerbasictuning',['VnUartPacket_parseVpeMagnetometerBasicTuning',['../group__uart__genwrite__functions.html#ga39683ef7595376b32b20758be462cd38',1,'upack.h']]], - ['vnuartpacket_5fparsevpemagnetometerbasictuningraw',['VnUartPacket_parseVpeMagnetometerBasicTuningRaw',['../group__uart__genwrite__functions.html#ga2a8555a25037d055258f7bb9540f9d14',1,'upack.h']]], - ['vnuartpacket_5fparseyawpitchroll',['VnUartPacket_parseYawPitchRoll',['../group__uart__genwrite__functions.html#gacba233f0c1ef52808fedee9b9af19dd5',1,'upack.h']]], - ['vnuartpacket_5fparseyawpitchrollmagneticaccelerationandangularrates',['VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRates',['../group__uart__genwrite__functions.html#ga197102f43f30f7e14badfce7d41f48d8',1,'upack.h']]], - ['vnuartpacket_5fparseyawpitchrollmagneticaccelerationandangularratesraw',['VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRatesRaw',['../group__uart__genwrite__functions.html#gaeea29df69957929ddaf14edcb33cee71',1,'upack.h']]], - ['vnuartpacket_5fparseyawpitchrollraw',['VnUartPacket_parseYawPitchRollRaw',['../group__uart__genwrite__functions.html#gafb9b03c00c9ce65d04b909dd383b85b1',1,'upack.h']]], - ['vnuartpacket_5fparseyawpitchrolltruebodyaccelerationandangularrates',['VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRates',['../group__uart__genwrite__functions.html#gaa1727fd220969bbcaa59f71c57a5728d',1,'upack.h']]], - ['vnuartpacket_5fparseyawpitchrolltruebodyaccelerationandangularratesraw',['VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRatesRaw',['../group__uart__genwrite__functions.html#gac0381b1ea07ddfd35b1ba03b5b853479',1,'upack.h']]], - ['vnuartpacket_5fparseyawpitchrolltrueinertialaccelerationandangularrates',['VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRates',['../group__uart__genwrite__functions.html#ga9591d19b2f83756b0e4a2fd62009095c',1,'upack.h']]], - ['vnuartpacket_5fparseyawpitchrolltrueinertialaccelerationandangularratesraw',['VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRatesRaw',['../group__uart__genwrite__functions.html#gae38abdf5c468c4dffb7cf7278617cd37',1,'upack.h']]], - ['vnutil_5fextractdouble',['VnUtil_extractDouble',['../group__sensor_value_extractors.html#ga9abee9b7f6e11a9fbf00019e06cab73a',1,'util.h']]], - ['vnutil_5fextractfloat',['VnUtil_extractFloat',['../group__sensor_value_extractors.html#ga2b0e777f59407f501256902dcaba5325',1,'util.h']]], - ['vnutil_5fextractmat3f',['VnUtil_extractMat3f',['../group__sensor_value_extractors.html#ga2b32e5bfd9e0bb5d5906548c2a2bf63f',1,'util.h']]], - ['vnutil_5fextractuint16',['VnUtil_extractUint16',['../group__sensor_value_extractors.html#ga67046d2ccd7062c2f2e87f76ffdee825',1,'util.h']]], - ['vnutil_5fextractuint32',['VnUtil_extractUint32',['../group__sensor_value_extractors.html#gada8600834e016d1a6198bd7df84949a8',1,'util.h']]], - ['vnutil_5fextractvec3d',['VnUtil_extractVec3d',['../group__sensor_value_extractors.html#ga67803c335c0cbc25acfcc31feab84c9d',1,'util.h']]], - ['vnutil_5fextractvec3f',['VnUtil_extractVec3f',['../group__sensor_value_extractors.html#ga9decf8a326fcba9319a31de0656367b3',1,'util.h']]], - ['vnutil_5fextractvec4f',['VnUtil_extractVec4f',['../group__sensor_value_extractors.html#gaefb159f66e04644b11cf83c1e87b9031',1,'util.h']]] -]; diff --git a/vnproglib/c/help/search/groups_0.html b/vnproglib/c/help/search/groups_0.html deleted file mode 100644 index 8221db5..0000000 --- a/vnproglib/c/help/search/groups_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/groups_0.js b/vnproglib/c/help/search/groups_0.js deleted file mode 100644 index 3ab00be..0000000 --- a/vnproglib/c/help/search/groups_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['byte_20ordering_20functions',['Byte Ordering Functions',['../group__byte_orderers.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/groups_1.html b/vnproglib/c/help/search/groups_1.html deleted file mode 100644 index 34dd0b8..0000000 --- a/vnproglib/c/help/search/groups_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/groups_1.js b/vnproglib/c/help/search/groups_1.js deleted file mode 100644 index 5ade1cb..0000000 --- a/vnproglib/c/help/search/groups_1.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['register_20access_20methods',['Register Access Methods',['../group__register_access_methods.html',1,'']]], - ['register_20structures',['Register Structures',['../group__register_structures.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/groups_2.html b/vnproglib/c/help/search/groups_2.html deleted file mode 100644 index d0687b7..0000000 --- a/vnproglib/c/help/search/groups_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/groups_2.js b/vnproglib/c/help/search/groups_2.js deleted file mode 100644 index 8d8ce58..0000000 --- a/vnproglib/c/help/search/groups_2.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['sensor_20value_20extractors',['Sensor Value Extractors',['../group__sensor_value_extractors.html',1,'']]], - ['spi_20generate_20read_20functions',['SPI Generate Read Functions',['../group__spi__genread__functions.html',1,'']]], - ['spi_20generate_20write_20functions',['SPI Generate Write Functions',['../group__spi__genwrite__functions.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/groups_3.html b/vnproglib/c/help/search/groups_3.html deleted file mode 100644 index 6269fde..0000000 --- a/vnproglib/c/help/search/groups_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/groups_3.js b/vnproglib/c/help/search/groups_3.js deleted file mode 100644 index f28bd6b..0000000 --- a/vnproglib/c/help/search/groups_3.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['uart_20generate_20read_20functions',['UART Generate Read Functions',['../group__uart__genread__functions.html',1,'']]], - ['uart_20generate_20write_20functions',['UART Generate Write Functions',['../group__uart__genwrite__functions.html',1,'']]], - ['uart_20ascii_20asynchronous_20packet_20parsers',['UART ASCII Asynchronous Packet Parsers',['../group__uart_packet_ascii_async_parsers.html',1,'']]], - ['uart_20binary_20data_20extractors',['UART Binary Data Extractors',['../group__uart_packet_binary_extractors.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/mag_sel.png b/vnproglib/c/help/search/mag_sel.png deleted file mode 100644 index 81f6040a2092402b4d98f9ffa8855d12a0d4ca17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 563 zcmV-30?hr1P)zxx&tqG15pu7)IiiXFflOc2k;dXd>%13GZAy? zRz!q0=|E6a6vV)&ZBS~G9oe0kbqyw1*gvY`{Pop2oKq#FlzgXt@Xh-7fxh>}`Fxg> z$%N%{$!4=5nM{(;=c!aG1Ofr^Do{u%Ih{^&Fc@H2)+a-?TBXrw5DW&z%Nb6mQ!L9O zl}b@6mB?f=tX3;#vl)}ggh(Vpyh(IK z(Mb0D{l{U$FsRjP;!{($+bsaaVi8T#1c0V#qEIOCYa9@UVLV`f__E81L;?WEaRA;Y zUH;rZ;vb;mk7JX|$=i3O~&If0O@oZfLg8gfIjW=dcBsz;gI=!{-r4# z4%6v$&~;q^j7Fo67yJ(NJWuX+I~I!tj^nW3?}^9bq|<3^+vapS5sgM^x7!cs(+mMT z&y%j};&~po+YO)3hoUH4E*E;e9>?R6SS&`X)p`njycAVcg{rEb41T{~Hk(bl-7eSb zmFxA2uIqo#@R?lKm50ND`~6Nfn|-b1|L6O98vt3Tx@gKz#isxO002ovPDHLkV1kyW B_l^Jn diff --git a/vnproglib/c/help/search/nomatches.html b/vnproglib/c/help/search/nomatches.html deleted file mode 100644 index 529a265..0000000 --- a/vnproglib/c/help/search/nomatches.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - -
-
No Matches
-
- - diff --git a/vnproglib/c/help/search/pages_0.html b/vnproglib/c/help/search/pages_0.html deleted file mode 100644 index 5cb6873..0000000 --- a/vnproglib/c/help/search/pages_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/pages_0.js b/vnproglib/c/help/search/pages_0.js deleted file mode 100644 index c68605c..0000000 --- a/vnproglib/c/help/search/pages_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['known_20issues',['Known Issues',['../known_issues.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/pages_1.html b/vnproglib/c/help/search/pages_1.html deleted file mode 100644 index cc23354..0000000 --- a/vnproglib/c/help/search/pages_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/pages_1.js b/vnproglib/c/help/search/pages_1.js deleted file mode 100644 index c2686e7..0000000 --- a/vnproglib/c/help/search/pages_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['requirements',['Requirements',['../requirements.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/pages_2.html b/vnproglib/c/help/search/pages_2.html deleted file mode 100644 index cabe8ac..0000000 --- a/vnproglib/c/help/search/pages_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/pages_2.js b/vnproglib/c/help/search/pages_2.js deleted file mode 100644 index eb9d4af..0000000 --- a/vnproglib/c/help/search/pages_2.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['vectornav_20c_20library',['VectorNav C Library',['../index.html',1,'']]], - ['version_20history',['Version History',['../version_history.html',1,'']]] -]; diff --git a/vnproglib/c/help/search/search.css b/vnproglib/c/help/search/search.css deleted file mode 100644 index cccf76c..0000000 --- a/vnproglib/c/help/search/search.css +++ /dev/null @@ -1,271 +0,0 @@ -/*---------------- Search Box */ - -#FSearchBox { - float: left; -} - -#MSearchBox { - white-space : nowrap; - position: absolute; - float: none; - display: inline; - margin-top: 8px; - right: 0px; - width: 170px; - z-index: 102; - background-color: white; -} - -#MSearchBox .left -{ - display:block; - position:absolute; - left:10px; - width:20px; - height:19px; - background:url('search_l.png') no-repeat; - background-position:right; -} - -#MSearchSelect { - display:block; - position:absolute; - width:20px; - height:19px; -} - -.left #MSearchSelect { - left:4px; -} - -.right #MSearchSelect { - right:5px; -} - -#MSearchField { - display:block; - position:absolute; - height:19px; - background:url('search_m.png') repeat-x; - border:none; - width:111px; - margin-left:20px; - padding-left:4px; - color: #909090; - outline: none; - font: 9pt Arial, Verdana, sans-serif; -} - -#FSearchBox #MSearchField { - margin-left:15px; -} - -#MSearchBox .right { - display:block; - position:absolute; - right:10px; - top:0px; - width:20px; - height:19px; - background:url('search_r.png') no-repeat; - background-position:left; -} - -#MSearchClose { - display: none; - position: absolute; - top: 4px; - background : none; - border: none; - margin: 0px 4px 0px 0px; - padding: 0px 0px; - outline: none; -} - -.left #MSearchClose { - left: 6px; -} - -.right #MSearchClose { - right: 2px; -} - -.MSearchBoxActive #MSearchField { - color: #000000; -} - -/*---------------- Search filter selection */ - -#MSearchSelectWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid #90A5CE; - background-color: #F9FAFC; - z-index: 1; - padding-top: 4px; - padding-bottom: 4px; - -moz-border-radius: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -.SelectItem { - font: 8pt Arial, Verdana, sans-serif; - padding-left: 2px; - padding-right: 12px; - border: 0px; -} - -span.SelectionMark { - margin-right: 4px; - font-family: monospace; - outline-style: none; - text-decoration: none; -} - -a.SelectItem { - display: block; - outline-style: none; - color: #000000; - text-decoration: none; - padding-left: 6px; - padding-right: 12px; -} - -a.SelectItem:focus, -a.SelectItem:active { - color: #000000; - outline-style: none; - text-decoration: none; -} - -a.SelectItem:hover { - color: #FFFFFF; - background-color: #3D578C; - outline-style: none; - text-decoration: none; - cursor: pointer; - display: block; -} - -/*---------------- Search results window */ - -iframe#MSearchResults { - width: 60ex; - height: 15em; -} - -#MSearchResultsWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid #000; - background-color: #EEF1F7; -} - -/* ----------------------------------- */ - - -#SRIndex { - clear:both; - padding-bottom: 15px; -} - -.SREntry { - font-size: 10pt; - padding-left: 1ex; -} - -.SRPage .SREntry { - font-size: 8pt; - padding: 1px 5px; -} - -body.SRPage { - margin: 5px 2px; -} - -.SRChildren { - padding-left: 3ex; padding-bottom: .5em -} - -.SRPage .SRChildren { - display: none; -} - -.SRSymbol { - font-weight: bold; - color: #425E97; - font-family: Arial, Verdana, sans-serif; - text-decoration: none; - outline: none; -} - -a.SRScope { - display: block; - color: #425E97; - font-family: Arial, Verdana, sans-serif; - text-decoration: none; - outline: none; -} - -a.SRSymbol:focus, a.SRSymbol:active, -a.SRScope:focus, a.SRScope:active { - text-decoration: underline; -} - -span.SRScope { - padding-left: 4px; -} - -.SRPage .SRStatus { - padding: 2px 5px; - font-size: 8pt; - font-style: italic; -} - -.SRResult { - display: none; -} - -DIV.searchresults { - margin-left: 10px; - margin-right: 10px; -} - -/*---------------- External search page results */ - -.searchresult { - background-color: #F0F3F8; -} - -.pages b { - color: white; - padding: 5px 5px 3px 5px; - background-image: url("../tab_a.png"); - background-repeat: repeat-x; - text-shadow: 0 1px 1px #000000; -} - -.pages { - line-height: 17px; - margin-left: 4px; - text-decoration: none; -} - -.hl { - font-weight: bold; -} - -#searchresults { - margin-bottom: 20px; -} - -.searchpages { - margin-top: 10px; -} - diff --git a/vnproglib/c/help/search/search.js b/vnproglib/c/help/search/search.js deleted file mode 100644 index 6ebf134..0000000 --- a/vnproglib/c/help/search/search.js +++ /dev/null @@ -1,791 +0,0 @@ -function convertToId(search) -{ - var result = ''; - for (i=0;i do a search - { - this.Search(); - } - } - - this.OnSearchSelectKey = function(evt) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==40 && this.searchIndex0) // Up - { - this.searchIndex--; - this.OnSelectItem(this.searchIndex); - } - else if (e.keyCode==13 || e.keyCode==27) - { - this.OnSelectItem(this.searchIndex); - this.CloseSelectionWindow(); - this.DOMSearchField().focus(); - } - return false; - } - - // --------- Actions - - // Closes the results window. - this.CloseResultsWindow = function() - { - this.DOMPopupSearchResultsWindow().style.display = 'none'; - this.DOMSearchClose().style.display = 'none'; - this.Activate(false); - } - - this.CloseSelectionWindow = function() - { - this.DOMSearchSelectWindow().style.display = 'none'; - } - - // Performs a search. - this.Search = function() - { - this.keyTimeout = 0; - - // strip leading whitespace - var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); - - var code = searchValue.toLowerCase().charCodeAt(0); - var idxChar = searchValue.substr(0, 1).toLowerCase(); - if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair - { - idxChar = searchValue.substr(0, 2); - } - - var resultsPage; - var resultsPageWithSearch; - var hasResultsPage; - - var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); - if (idx!=-1) - { - var hexCode=idx.toString(16); - resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; - resultsPageWithSearch = resultsPage+'?'+escape(searchValue); - hasResultsPage = true; - } - else // nothing available for this search term - { - resultsPage = this.resultsPath + '/nomatches.html'; - resultsPageWithSearch = resultsPage; - hasResultsPage = false; - } - - window.frames.MSearchResults.location = resultsPageWithSearch; - var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); - - if (domPopupSearchResultsWindow.style.display!='block') - { - var domSearchBox = this.DOMSearchBox(); - this.DOMSearchClose().style.display = 'inline'; - if (this.insideFrame) - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - domPopupSearchResultsWindow.style.position = 'relative'; - domPopupSearchResultsWindow.style.display = 'block'; - var width = document.body.clientWidth - 8; // the -8 is for IE :-( - domPopupSearchResultsWindow.style.width = width + 'px'; - domPopupSearchResults.style.width = width + 'px'; - } - else - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; - var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; - domPopupSearchResultsWindow.style.display = 'block'; - left -= domPopupSearchResults.offsetWidth; - domPopupSearchResultsWindow.style.top = top + 'px'; - domPopupSearchResultsWindow.style.left = left + 'px'; - } - } - - this.lastSearchValue = searchValue; - this.lastResultsPage = resultsPage; - } - - // -------- Activation Functions - - // Activates or deactivates the search panel, resetting things to - // their default values if necessary. - this.Activate = function(isActive) - { - if (isActive || // open it - this.DOMPopupSearchResultsWindow().style.display == 'block' - ) - { - this.DOMSearchBox().className = 'MSearchBoxActive'; - - var searchField = this.DOMSearchField(); - - if (searchField.value == this.searchLabel) // clear "Search" term upon entry - { - searchField.value = ''; - this.searchActive = true; - } - } - else if (!isActive) // directly remove the panel - { - this.DOMSearchBox().className = 'MSearchBoxInactive'; - this.DOMSearchField().value = this.searchLabel; - this.searchActive = false; - this.lastSearchValue = '' - this.lastResultsPage = ''; - } - } -} - -// ----------------------------------------------------------------------- - -// The class that handles everything on the search results page. -function SearchResults(name) -{ - // The number of matches from the last run of . - this.lastMatchCount = 0; - this.lastKey = 0; - this.repeatOn = false; - - // Toggles the visibility of the passed element ID. - this.FindChildElement = function(id) - { - var parentElement = document.getElementById(id); - var element = parentElement.firstChild; - - while (element && element!=parentElement) - { - if (element.nodeName == 'DIV' && element.className == 'SRChildren') - { - return element; - } - - if (element.nodeName == 'DIV' && element.hasChildNodes()) - { - element = element.firstChild; - } - else if (element.nextSibling) - { - element = element.nextSibling; - } - else - { - do - { - element = element.parentNode; - } - while (element && element!=parentElement && !element.nextSibling); - - if (element && element!=parentElement) - { - element = element.nextSibling; - } - } - } - } - - this.Toggle = function(id) - { - var element = this.FindChildElement(id); - if (element) - { - if (element.style.display == 'block') - { - element.style.display = 'none'; - } - else - { - element.style.display = 'block'; - } - } - } - - // Searches for the passed string. If there is no parameter, - // it takes it from the URL query. - // - // Always returns true, since other documents may try to call it - // and that may or may not be possible. - this.Search = function(search) - { - if (!search) // get search word from URL - { - search = window.location.search; - search = search.substring(1); // Remove the leading '?' - search = unescape(search); - } - - search = search.replace(/^ +/, ""); // strip leading spaces - search = search.replace(/ +$/, ""); // strip trailing spaces - search = search.toLowerCase(); - search = convertToId(search); - - var resultRows = document.getElementsByTagName("div"); - var matches = 0; - - var i = 0; - while (i < resultRows.length) - { - var row = resultRows.item(i); - if (row.className == "SRResult") - { - var rowMatchName = row.id.toLowerCase(); - rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' - - if (search.length<=rowMatchName.length && - rowMatchName.substr(0, search.length)==search) - { - row.style.display = 'block'; - matches++; - } - else - { - row.style.display = 'none'; - } - } - i++; - } - document.getElementById("Searching").style.display='none'; - if (matches == 0) // no results - { - document.getElementById("NoMatches").style.display='block'; - } - else // at least one result - { - document.getElementById("NoMatches").style.display='none'; - } - this.lastMatchCount = matches; - return true; - } - - // return the first item with index index or higher that is visible - this.NavNext = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index++; - } - return focusItem; - } - - this.NavPrev = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index--; - } - return focusItem; - } - - this.ProcessKeys = function(e) - { - if (e.type == "keydown") - { - this.repeatOn = false; - this.lastKey = e.keyCode; - } - else if (e.type == "keypress") - { - if (!this.repeatOn) - { - if (this.lastKey) this.repeatOn = true; - return false; // ignore first keypress after keydown - } - } - else if (e.type == "keyup") - { - this.lastKey = 0; - this.repeatOn = false; - } - return this.lastKey!=0; - } - - this.Nav = function(evt,itemIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - var newIndex = itemIndex-1; - var focusItem = this.NavPrev(newIndex); - if (focusItem) - { - var child = this.FindChildElement(focusItem.parentNode.parentNode.id); - if (child && child.style.display == 'block') // children visible - { - var n=0; - var tmpElem; - while (1) // search for last child - { - tmpElem = document.getElementById('Item'+newIndex+'_c'+n); - if (tmpElem) - { - focusItem = tmpElem; - } - else // found it! - { - break; - } - n++; - } - } - } - if (focusItem) - { - focusItem.focus(); - } - else // return focus to search field - { - parent.document.getElementById("MSearchField").focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = itemIndex+1; - var focusItem; - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem && elem.style.display == 'block') // children visible - { - focusItem = document.getElementById('Item'+itemIndex+'_c0'); - } - if (!focusItem) focusItem = this.NavNext(newIndex); - if (focusItem) focusItem.focus(); - } - else if (this.lastKey==39) // Right - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'block'; - } - else if (this.lastKey==37) // Left - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'none'; - } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } - - this.NavChild = function(evt,itemIndex,childIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - if (childIndex>0) - { - var newIndex = childIndex-1; - document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); - } - else // already at first child, jump to parent - { - document.getElementById('Item'+itemIndex).focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = childIndex+1; - var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); - if (!elem) // last child, jump to parent next parent - { - elem = this.NavNext(itemIndex+1); - } - if (elem) - { - elem.focus(); - } - } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } -} - -function setKeyActions(elem,action) -{ - elem.setAttribute('onkeydown',action); - elem.setAttribute('onkeypress',action); - elem.setAttribute('onkeyup',action); -} - -function setClassAttr(elem,attr) -{ - elem.setAttribute('class',attr); - elem.setAttribute('className',attr); -} - -function createResults() -{ - var results = document.getElementById("SRResults"); - for (var e=0; ek7RCwB~R6VQOP#AvB$vH7i{6H{96zot$7cZT<7246EF5Np6N}+$IbiG6W zg#87A+NFaX+=_^xM1#gCtshC=E{%9^uQX_%?YwXvo{#q&MnpJ8uh(O?ZRc&~_1%^SsPxG@rfElJg-?U zm!Cz-IOn(qJP3kDp-^~qt+FGbl=5jNli^Wj_xIBG{Rc0en{!oFvyoNC7{V~T8}b>| z=jL2WIReZzX(YN(_9fV;BBD$VXQIxNasAL8ATvEu822WQ%mvv4FO#qs` BFGc_W diff --git a/vnproglib/c/help/search/search_r.png b/vnproglib/c/help/search/search_r.png deleted file mode 100644 index 97ee8b439687084201b79c6f776a41f495c6392a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 612 zcmV-q0-ODbP)PbXFRCwB?)W514K@j&X?z2*SxFI6-@HT2E2K=9X9%Pb zEK*!TBw&g(DMC;|A)uGlRkOS9vd-?zNs%bR4d$w+ox_iFnE8fvIvv7^5<(>Te12Li z7C)9srCzmK{ZcNM{YIl9j{DePFgOWiS%xG@5CnnnJa4nvY<^glbz7^|-ZY!dUkAwd z{gaTC@_>b5h~;ug#R0wRL0>o5!hxm*s0VW?8dr}O#zXTRTnrQm_Z7z1Mrnx>&p zD4qifUjzLvbVVWi?l?rUzwt^sdb~d!f_LEhsRVIXZtQ=qSxuxqm zEX#tf>$?M_Y1-LSDT)HqG?`%-%ZpY!#{N!rcNIiL;G7F0`l?)mNGTD9;f9F5Up3Kg zw}a<-JylhG&;=!>B+fZaCX+?C+kHYrP%c?X2!Zu_olK|GcS4A70HEy;vn)I0>0kLH z`jc(WIaaHc7!HS@f*^R^Znx8W=_jIl2oWJoQ*h1^$FX!>*PqR1J8k|fw}w_y}TpE>7m8DqDO<3z`OzXt$ccSejbEZCg@0000 - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/typedefs_0.js b/vnproglib/c/help/search/typedefs_0.js deleted file mode 100644 index 9bd8e4b..0000000 --- a/vnproglib/c/help/search/typedefs_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['vnthread_5fstartroutine',['VnThread_StartRoutine',['../thread_8h.html#a48573a28650e096f1af4a848caee6ea4',1,'thread.h']]] -]; diff --git a/vnproglib/c/help/search/variables_0.html b/vnproglib/c/help/search/variables_0.html deleted file mode 100644 index 592718b..0000000 --- a/vnproglib/c/help/search/variables_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_0.js b/vnproglib/c/help/search/variables_0.js deleted file mode 100644 index 1ae9555..0000000 --- a/vnproglib/c/help/search/variables_0.js +++ /dev/null @@ -1,35 +0,0 @@ -var searchData= -[ - ['accel',['accel',['../struct_quaternion_magnetic_acceleration_and_angular_rates_register.html#abc4f9f3b3459f809b15eeffb87fc06e1',1,'QuaternionMagneticAccelerationAndAngularRatesRegister::accel()'],['../struct_magnetic_acceleration_and_angular_rates_register.html#abc4f9f3b3459f809b15eeffb87fc06e1',1,'MagneticAccelerationAndAngularRatesRegister::accel()'],['../struct_yaw_pitch_roll_magnetic_acceleration_and_angular_rates_register.html#abc4f9f3b3459f809b15eeffb87fc06e1',1,'YawPitchRollMagneticAccelerationAndAngularRatesRegister::accel()'],['../struct_imu_measurements_register.html#abc4f9f3b3459f809b15eeffb87fc06e1',1,'ImuMeasurementsRegister::accel()'],['../struct_ins_state_lla_register.html#abc4f9f3b3459f809b15eeffb87fc06e1',1,'InsStateLlaRegister::accel()'],['../struct_ins_state_ecef_register.html#abc4f9f3b3459f809b15eeffb87fc06e1',1,'InsStateEcefRegister::accel()']]], - ['accelbias',['accelBias',['../struct_startup_filter_bias_estimate_register.html#a38422443b6922786c508aae9b65d458d',1,'StartupFilterBiasEstimateRegister']]], - ['accelcompensation',['accelCompensation',['../struct_delta_theta_and_delta_velocity_configuration_register.html#aa3bd1cfb307c639c1a73c995f8e34319',1,'DeltaThetaAndDeltaVelocityConfigurationRegister']]], - ['acceleration',['acceleration',['../struct_vn_composite_data.html#a7dcdfb3d2836d604b6055db3524fb850',1,'VnCompositeData']]], - ['accelerationdisturbancegain',['accelerationDisturbanceGain',['../struct_filter_active_tuning_parameters_register.html#a0e15cdf9e46a08507d0bdebd0a8affdf',1,'FilterActiveTuningParametersRegister']]], - ['accelerationdisturbancememory',['accelerationDisturbanceMemory',['../struct_filter_active_tuning_parameters_register.html#aac89bb3b23120fe73e0f2bd11d196915',1,'FilterActiveTuningParametersRegister']]], - ['accelerationecef',['accelerationEcef',['../struct_vn_composite_data.html#aba3fc13f8d0796478158e2a8db6201b9',1,'VnCompositeData']]], - ['accelerationlinearbody',['accelerationLinearBody',['../struct_vn_composite_data.html#a3bc388595b56a1897d8fe4bdcc4a3d9c',1,'VnCompositeData']]], - ['accelerationlinearecef',['accelerationLinearEcef',['../struct_vn_composite_data.html#a9f351b92299dbf4bf9312df4127c5d8a',1,'VnCompositeData']]], - ['accelerationlinearned',['accelerationLinearNed',['../struct_vn_composite_data.html#a1569cf62df6e6cff41030f1a17a4efcd',1,'VnCompositeData']]], - ['accelerationned',['accelerationNed',['../struct_vn_composite_data.html#a9fc34b4d3b6709417f66ea1f6677da3f',1,'VnCompositeData']]], - ['accelerationuncompensated',['accelerationUncompensated',['../struct_vn_composite_data.html#a7523ff430976aaf730790e36879f0c5b',1,'VnCompositeData']]], - ['accelerationvariance',['accelerationVariance',['../struct_filter_measurements_variance_parameters_register.html#a0ed663ce7d38fe72f44296b9a90d2e2a',1,'FilterMeasurementsVarianceParametersRegister']]], - ['accelfiltermode',['accelFilterMode',['../struct_imu_filtering_configuration_register.html#ab28991dad5023fe893aa6e57977da2a8',1,'ImuFilteringConfigurationRegister']]], - ['acceloffset',['accelOffset',['../struct_velocity_compensation_status_register.html#a3884a20934f3cc8bb5e2854f3dfb9fec',1,'VelocityCompensationStatusRegister']]], - ['accelwindowsize',['accelWindowSize',['../struct_imu_filtering_configuration_register.html#aafe0c00a97e26dfd94c983b4757159c4',1,'ImuFilteringConfigurationRegister']]], - ['accref',['accRef',['../struct_magnetic_and_gravity_reference_vectors_register.html#a899562cfdbf9f3ef2de38cf1ecd3faa5',1,'MagneticAndGravityReferenceVectorsRegister']]], - ['adaptivefiltering',['adaptiveFiltering',['../struct_vpe_magnetometer_basic_tuning_register.html#a3f98c37b8865782d51938f51891cc069',1,'VpeMagnetometerBasicTuningRegister::adaptiveFiltering()'],['../struct_vpe_accelerometer_basic_tuning_register.html#a3f98c37b8865782d51938f51891cc069',1,'VpeAccelerometerBasicTuningRegister::adaptiveFiltering()']]], - ['adaptivetuning',['adaptiveTuning',['../struct_vpe_magnetometer_basic_tuning_register.html#a942915ac415d5b8ca875551ffdb01610',1,'VpeMagnetometerBasicTuningRegister::adaptiveTuning()'],['../struct_vpe_accelerometer_basic_tuning_register.html#a942915ac415d5b8ca875551ffdb01610',1,'VpeAccelerometerBasicTuningRegister::adaptiveTuning()'],['../struct_vpe_gyro_basic_tuning_register.html#a942915ac415d5b8ca875551ffdb01610',1,'VpeGyroBasicTuningRegister::adaptiveTuning()']]], - ['ahrsaiding',['ahrsAiding',['../struct_ins_basic_configuration_register_vn200.html#ad84b6e71d767d5889cd6dd030a27eb4d',1,'InsBasicConfigurationRegisterVn200::ahrsAiding()'],['../struct_ins_basic_configuration_register_vn300.html#ad84b6e71d767d5889cd6dd030a27eb4d',1,'InsBasicConfigurationRegisterVn300::ahrsAiding()']]], - ['angularrate',['angularRate',['../struct_vn_composite_data.html#a9e93db1b514e2592c5098b1f3b207d22',1,'VnCompositeData::angularRate()'],['../struct_ins_state_lla_register.html#a9e93db1b514e2592c5098b1f3b207d22',1,'InsStateLlaRegister::angularRate()'],['../struct_ins_state_ecef_register.html#a9e93db1b514e2592c5098b1f3b207d22',1,'InsStateEcefRegister::angularRate()']]], - ['angularrateuncompensated',['angularRateUncompensated',['../struct_vn_composite_data.html#a9316ec9da5875c4e17ce1ec3743a0803',1,'VnCompositeData']]], - ['angularratevariance',['angularRateVariance',['../struct_filter_measurements_variance_parameters_register.html#a25e2164ad6ed1948ef4439264f213dcd',1,'FilterMeasurementsVarianceParametersRegister']]], - ['angularwalkvariance',['angularWalkVariance',['../struct_filter_measurements_variance_parameters_register.html#ade0de62399c7342b79ea3a3dd5972cc3',1,'FilterMeasurementsVarianceParametersRegister::angularWalkVariance()'],['../struct_vpe_gyro_basic_tuning_register.html#af135ad8f84c3030a707df94b5e4f41f5',1,'VpeGyroBasicTuningRegister::angularWalkVariance()']]], - ['asciicurrentlybuildingpacket',['asciiCurrentlyBuildingPacket',['../struct_vn_uart_packet_finder.html#a10f9917d1108cd05b39f3f23d28c06a6',1,'VnUartPacketFinder']]], - ['asciiendchar1found',['asciiEndChar1Found',['../struct_vn_uart_packet_finder.html#af5542b412b165a717a038d26e8269f7e',1,'VnUartPacketFinder']]], - ['asciipossiblestartofpacketindex',['asciiPossibleStartOfPacketIndex',['../struct_vn_uart_packet_finder.html#a4f878d73de4b01250f139bcac1c5a421',1,'VnUartPacketFinder']]], - ['asciirunningdataindexofstart',['asciiRunningDataIndexOfStart',['../struct_vn_uart_packet_finder.html#a5686ffd5c685204ec794f81c9f44b3da',1,'VnUartPacketFinder']]], - ['asyncmode',['asyncMode',['../struct_binary_output_register.html#adbf9162c09dd1932f71b51ae6d0fef91',1,'BinaryOutputRegister']]], - ['attitudefield',['attitudeField',['../struct_binary_output_register.html#af8072b7a9ea3d2f7a6a13795b9be7dbd',1,'BinaryOutputRegister']]], - ['attitudeuncertainty',['attitudeUncertainty',['../struct_vn_composite_data.html#ac98f8597fca9cfb1f9e4bcb6da1d9e2a',1,'VnCompositeData']]], - ['attuncertainty',['attUncertainty',['../struct_ins_solution_lla_register.html#ab86ae2c2b0bbdefbb2885e2ea51d7339',1,'InsSolutionLlaRegister::attUncertainty()'],['../struct_ins_solution_ecef_register.html#ab86ae2c2b0bbdefbb2885e2ea51d7339',1,'InsSolutionEcefRegister::attUncertainty()']]] -]; diff --git a/vnproglib/c/help/search/variables_1.html b/vnproglib/c/help/search/variables_1.html deleted file mode 100644 index fdb3bd4..0000000 --- a/vnproglib/c/help/search/variables_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_1.js b/vnproglib/c/help/search/variables_1.js deleted file mode 100644 index e7c6bc7..0000000 --- a/vnproglib/c/help/search/variables_1.js +++ /dev/null @@ -1,16 +0,0 @@ -var searchData= -[ - ['b',['b',['../struct_magnetometer_compensation_register.html#a39ec0c2460150f73f4ed1560627841f3',1,'MagnetometerCompensationRegister::b()'],['../struct_acceleration_compensation_register.html#a39ec0c2460150f73f4ed1560627841f3',1,'AccelerationCompensationRegister::b()'],['../struct_calculated_magnetometer_calibration_register.html#a39ec0c2460150f73f4ed1560627841f3',1,'CalculatedMagnetometerCalibrationRegister::b()'],['../struct_gyro_compensation_register.html#a39ec0c2460150f73f4ed1560627841f3',1,'GyroCompensationRegister::b()']]], - ['basetuning',['baseTuning',['../struct_vpe_magnetometer_basic_tuning_register.html#abdb09ca7879639b1a8e07d297abd2d42',1,'VpeMagnetometerBasicTuningRegister::baseTuning()'],['../struct_vpe_accelerometer_basic_tuning_register.html#abdb09ca7879639b1a8e07d297abd2d42',1,'VpeAccelerometerBasicTuningRegister::baseTuning()'],['../struct_vpe_gyro_basic_tuning_register.html#abdb09ca7879639b1a8e07d297abd2d42',1,'VpeGyroBasicTuningRegister::baseTuning()']]], - ['baud',['baud',['../struct_vn_port_info.html#a73d752e8e2a092871ed55bf7220ba0c0',1,'VnPortInfo']]], - ['binarycurrentlybuildingbinarypacket',['binaryCurrentlyBuildingBinaryPacket',['../struct_vn_uart_packet_finder.html#a35bd4adf9a18225d230f81ea958cecd6',1,'VnUartPacketFinder']]], - ['binarygroupspresent',['binaryGroupsPresent',['../struct_vn_uart_packet_finder.html#aa5ca0b837b3e7ff4c0ff4c650d99fcad',1,'VnUartPacketFinder']]], - ['binarygroupspresentfound',['binaryGroupsPresentFound',['../struct_vn_uart_packet_finder.html#a1b24628bb3ad9cd313557eeea32a8b8d',1,'VnUartPacketFinder']]], - ['binarynumberofbytesremainingforcompletepacket',['binaryNumberOfBytesRemainingForCompletePacket',['../struct_vn_uart_packet_finder.html#af2f3b6cd82c0bef5f0d2191dac042f34',1,'VnUartPacketFinder']]], - ['binarynumofbytesremainingtohaveallgroupfields',['binaryNumOfBytesRemainingToHaveAllGroupFields',['../struct_vn_uart_packet_finder.html#a23f98ef16e8b2200067968a2af8d1f2d',1,'VnUartPacketFinder']]], - ['binarypossiblestartindex',['binaryPossibleStartIndex',['../struct_vn_uart_packet_finder.html#a6146ae9a97e58d15dce14a81718992b9',1,'VnUartPacketFinder']]], - ['binaryrunningdataindexofstart',['binaryRunningDataIndexOfStart',['../struct_vn_uart_packet_finder.html#aca4f0ae1cb4a1e949e4c790a1870b7a7',1,'VnUartPacketFinder']]], - ['bodyaccel',['bodyAccel',['../struct_yaw_pitch_roll_true_body_acceleration_and_angular_rates_register.html#a427f6b2731d9a1bc7861ebd429f761e4',1,'YawPitchRollTrueBodyAccelerationAndAngularRatesRegister']]], - ['bufferappendlocation',['bufferAppendLocation',['../struct_vn_uart_packet_finder.html#ad38201b6b2ef022d6427fefedba67108',1,'VnUartPacketFinder']]], - ['buffersize',['bufferSize',['../struct_vn_uart_packet_finder.html#a7be887a2ca0a258cf6b368d32fd87487',1,'VnUartPacketFinder']]] -]; diff --git a/vnproglib/c/help/search/variables_10.html b/vnproglib/c/help/search/variables_10.html deleted file mode 100644 index cbee507..0000000 --- a/vnproglib/c/help/search/variables_10.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_10.js b/vnproglib/c/help/search/variables_10.js deleted file mode 100644 index 1d9384e..0000000 --- a/vnproglib/c/help/search/variables_10.js +++ /dev/null @@ -1,25 +0,0 @@ -var searchData= -[ - ['scenario',['scenario',['../struct_ins_basic_configuration_register_vn200.html#af0b49b673890a9dfc1b7afd9202719e7',1,'InsBasicConfigurationRegisterVn200::scenario()'],['../struct_ins_basic_configuration_register_vn300.html#af0b49b673890a9dfc1b7afd9202719e7',1,'InsBasicConfigurationRegisterVn300::scenario()']]], - ['sensor',['sensor',['../struct_vn_ez_async_data.html#a5b16933dbc0bb53a3b2d584aee515e94',1,'VnEzAsyncData']]], - ['senssat',['sensSat',['../struct_vn_composite_data.html#af84067adb14fad35669540940236ce97',1,'VnCompositeData']]], - ['serialchecksum',['serialChecksum',['../struct_communication_protocol_control_register.html#a392926aded83e6d002e514e518ea969d',1,'CommunicationProtocolControlRegister']]], - ['serialcount',['serialCount',['../struct_communication_protocol_control_register.html#ad855904b91c01a5626693bff56e097c0',1,'CommunicationProtocolControlRegister']]], - ['serialstatus',['serialStatus',['../struct_communication_protocol_control_register.html#adba1cfbe2517a106b04ec1e9eee5a762',1,'CommunicationProtocolControlRegister']]], - ['speedacc',['speedAcc',['../struct_gps_solution_lla_register.html#a65db50c21172a2804f79029cbbf5e25a',1,'GpsSolutionLlaRegister::speedAcc()'],['../struct_gps_solution_ecef_register.html#a65db50c21172a2804f79029cbbf5e25a',1,'GpsSolutionEcefRegister::speedAcc()']]], - ['spichecksum',['spiChecksum',['../struct_communication_protocol_control_register.html#a0f5eed3d05a038e96e3fcfe8ab1c2adc',1,'CommunicationProtocolControlRegister']]], - ['spicount',['spiCount',['../struct_communication_protocol_control_register.html#a329206ec1c72ac905a8043739f709985',1,'CommunicationProtocolControlRegister']]], - ['spistatus',['spiStatus',['../struct_communication_protocol_control_register.html#a4aabb6f0738992c9e8416f6d4abb3f0e',1,'CommunicationProtocolControlRegister']]], - ['status',['status',['../struct_ins_solution_lla_register.html#a5393c99e246925076b1dfd69a64177ef',1,'InsSolutionLlaRegister::status()'],['../struct_ins_solution_ecef_register.html#a5393c99e246925076b1dfd69a64177ef',1,'InsSolutionEcefRegister::status()']]], - ['syncincnt',['syncInCnt',['../struct_vn_composite_data.html#ad50a62350c1430e02769c22071a3998f',1,'VnCompositeData']]], - ['syncincount',['syncInCount',['../struct_synchronization_status_register.html#a584810419fd3f671ec4f271001192bcb',1,'SynchronizationStatusRegister']]], - ['syncinedge',['syncInEdge',['../struct_synchronization_control_register.html#a4794a66c5d3d199a12138a737a527f0b',1,'SynchronizationControlRegister']]], - ['syncinmode',['syncInMode',['../struct_synchronization_control_register.html#a4821dd9c99387eda43ee0ed2653358db',1,'SynchronizationControlRegister']]], - ['syncinskipfactor',['syncInSkipFactor',['../struct_synchronization_control_register.html#af9c796275d0a80b5a5cd19fd263f3b69',1,'SynchronizationControlRegister']]], - ['syncintime',['syncInTime',['../struct_synchronization_status_register.html#a1a58709da5ac7ca48ac2fb0d3385efcf',1,'SynchronizationStatusRegister']]], - ['syncoutcount',['syncOutCount',['../struct_synchronization_status_register.html#aa068bfde2979052594dedb69d2553642',1,'SynchronizationStatusRegister']]], - ['syncoutmode',['syncOutMode',['../struct_synchronization_control_register.html#aacface90e61bc6b03fd7f2aebab12042',1,'SynchronizationControlRegister']]], - ['syncoutpolarity',['syncOutPolarity',['../struct_synchronization_control_register.html#aabb592c36e2dfb9ef5b208d550475aa2',1,'SynchronizationControlRegister']]], - ['syncoutpulsewidth',['syncOutPulseWidth',['../struct_synchronization_control_register.html#ad782668008b729cb1648928e805ccf30',1,'SynchronizationControlRegister']]], - ['syncoutskipfactor',['syncOutSkipFactor',['../struct_synchronization_control_register.html#a4eb5cd91ab3b194b9d17637128524e96',1,'SynchronizationControlRegister']]] -]; diff --git a/vnproglib/c/help/search/variables_11.html b/vnproglib/c/help/search/variables_11.html deleted file mode 100644 index 164dcba..0000000 --- a/vnproglib/c/help/search/variables_11.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_11.js b/vnproglib/c/help/search/variables_11.js deleted file mode 100644 index 2258ba5..0000000 --- a/vnproglib/c/help/search/variables_11.js +++ /dev/null @@ -1,18 +0,0 @@ -var searchData= -[ - ['temp',['temp',['../struct_imu_measurements_register.html#a24d61a35b72d7299eb6b5f48e71a571b',1,'ImuMeasurementsRegister']]], - ['temperature',['temperature',['../struct_vn_composite_data.html#afc1d28cfbce795d6ea954ebe725241f5',1,'VnCompositeData']]], - ['tempfiltermode',['tempFilterMode',['../struct_imu_filtering_configuration_register.html#a5ec955528a65dbd984e13feefd78384c',1,'ImuFilteringConfigurationRegister']]], - ['tempwindowsize',['tempWindowSize',['../struct_imu_filtering_configuration_register.html#af51e47a4ea235eedd60d7faca28ca8ee',1,'ImuFilteringConfigurationRegister']]], - ['thread',['thread',['../struct_vn_port_info.html#ab3c66746a2f276a8f20667285d141d4e',1,'VnPortInfo']]], - ['time',['time',['../struct_gps_solution_lla_register.html#ab2d5aa7fce1a14d8bddfb2c333ea9679',1,'GpsSolutionLlaRegister::time()'],['../struct_ins_solution_lla_register.html#ab2d5aa7fce1a14d8bddfb2c333ea9679',1,'InsSolutionLlaRegister::time()'],['../struct_ins_solution_ecef_register.html#ab2d5aa7fce1a14d8bddfb2c333ea9679',1,'InsSolutionEcefRegister::time()']]], - ['timeacc',['timeAcc',['../struct_gps_solution_lla_register.html#a76eb01542ecfef2de8cf62689590dcb6',1,'GpsSolutionLlaRegister::timeAcc()'],['../struct_gps_solution_ecef_register.html#a76eb01542ecfef2de8cf62689590dcb6',1,'GpsSolutionEcefRegister::timeAcc()']]], - ['timefield',['timeField',['../struct_binary_output_register.html#a3273402788977633cb032ba577a11729',1,'BinaryOutputRegister']]], - ['timegps',['timeGps',['../struct_vn_composite_data.html#a3f732e16a58a3302d57d10c67d805d99',1,'VnCompositeData']]], - ['timegpspps',['timeGpsPps',['../struct_vn_composite_data.html#a65a22ac276b40c40787803ff3349571c',1,'VnCompositeData']]], - ['timestartup',['timeStartup',['../struct_vn_composite_data.html#a7682251beedb1819056d92610af7cd09',1,'VnCompositeData']]], - ['timesyncin',['timeSyncIn',['../struct_vn_composite_data.html#aa4fab63e1d94ebffeea0ec6932b1da36',1,'VnCompositeData']]], - ['timeuncertainty',['timeUncertainty',['../struct_vn_composite_data.html#a6e3eda250d2ba565b0cdb97bafe0999a',1,'VnCompositeData']]], - ['tow',['tow',['../struct_vn_composite_data.html#aa286df8ebe6354374b3ac7627635f916',1,'VnCompositeData::tow()'],['../struct_gps_solution_ecef_register.html#aa286df8ebe6354374b3ac7627635f916',1,'GpsSolutionEcefRegister::tow()']]], - ['tuningmode',['tuningMode',['../struct_vpe_basic_control_register.html#a3ea041589c02b79edf60448762564532',1,'VpeBasicControlRegister']]] -]; diff --git a/vnproglib/c/help/search/variables_12.html b/vnproglib/c/help/search/variables_12.html deleted file mode 100644 index b150f7d..0000000 --- a/vnproglib/c/help/search/variables_12.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_12.js b/vnproglib/c/help/search/variables_12.js deleted file mode 100644 index bbe1930..0000000 --- a/vnproglib/c/help/search/variables_12.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['uncertainty',['uncertainty',['../struct_gps_compass_baseline_register.html#ac5f61d9d412fef6c025d13ce1e51c298',1,'GpsCompassBaselineRegister::uncertainty()'],['../struct_gps_compass_estimated_baseline_register.html#ac5f61d9d412fef6c025d13ce1e51c298',1,'GpsCompassEstimatedBaselineRegister::uncertainty()']]], - ['usefoam',['useFoam',['../struct_ins_advanced_configuration_register.html#a8561d8a92050bd8855ca0b9636b72b36',1,'InsAdvancedConfigurationRegister']]], - ['usegravitymodel',['useGravityModel',['../struct_reference_vector_configuration_register.html#a534d2e509a36244afb235315a6eaa57b',1,'ReferenceVectorConfigurationRegister']]], - ['usemag',['useMag',['../struct_ins_advanced_configuration_register.html#a3a31a1264f68cef963b0dc5342050931',1,'InsAdvancedConfigurationRegister']]], - ['usemagmodel',['useMagModel',['../struct_reference_vector_configuration_register.html#a842588dbda4ab1387154745c9489f752',1,'ReferenceVectorConfigurationRegister']]], - ['usepres',['usePres',['../struct_ins_advanced_configuration_register.html#a14872dda33f1f3e814c135268b5622c8',1,'InsAdvancedConfigurationRegister']]] -]; diff --git a/vnproglib/c/help/search/variables_13.html b/vnproglib/c/help/search/variables_13.html deleted file mode 100644 index ef78917..0000000 --- a/vnproglib/c/help/search/variables_13.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_13.js b/vnproglib/c/help/search/variables_13.js deleted file mode 100644 index cdef07f..0000000 --- a/vnproglib/c/help/search/variables_13.js +++ /dev/null @@ -1,19 +0,0 @@ -var searchData= -[ - ['velatt',['velAtt',['../struct_ins_advanced_configuration_register.html#a700f83b910b8547dac8884f782e3fd31',1,'InsAdvancedConfigurationRegister']]], - ['velbias',['velBias',['../struct_ins_advanced_configuration_register.html#af4254aa6a27d3ddb351f09b268ad7077',1,'InsAdvancedConfigurationRegister']]], - ['velcount',['velCount',['../struct_ins_advanced_configuration_register.html#a627b2097cfa37351a48ace7d94a989f2',1,'InsAdvancedConfigurationRegister']]], - ['velinit',['velInit',['../struct_ins_advanced_configuration_register.html#accfb14039f766fb422e3f7b519fb7c30',1,'InsAdvancedConfigurationRegister']]], - ['velocity',['velocity',['../struct_gps_solution_ecef_register.html#a3d6782af16d671338a24d9533e3d2a25',1,'GpsSolutionEcefRegister::velocity()'],['../struct_ins_solution_ecef_register.html#a3d6782af16d671338a24d9533e3d2a25',1,'InsSolutionEcefRegister::velocity()'],['../struct_ins_state_lla_register.html#a3d6782af16d671338a24d9533e3d2a25',1,'InsStateLlaRegister::velocity()'],['../struct_ins_state_ecef_register.html#a3d6782af16d671338a24d9533e3d2a25',1,'InsStateEcefRegister::velocity()']]], - ['velocityestimatedbody',['velocityEstimatedBody',['../struct_vn_composite_data.html#ab0e147b470741426dd06e2fd7608b403',1,'VnCompositeData']]], - ['velocityestimatedecef',['velocityEstimatedEcef',['../struct_vn_composite_data.html#a677ab87b376896d10b091b9d8682e6eb',1,'VnCompositeData']]], - ['velocityestimatedned',['velocityEstimatedNed',['../struct_vn_composite_data.html#aededf4c7739e2ae0724de91641d6dee9',1,'VnCompositeData']]], - ['velocitygpsecef',['velocityGpsEcef',['../struct_vn_composite_data.html#ac543bd1b8af08fa34b8a37209102a48b',1,'VnCompositeData']]], - ['velocitygpsned',['velocityGpsNed',['../struct_vn_composite_data.html#afe6a1223da73b9bd81fc412ddafd20f3',1,'VnCompositeData']]], - ['velocitytuning',['velocityTuning',['../struct_velocity_compensation_control_register.html#aa484e0e174441462d63f46e6fbd52c25',1,'VelocityCompensationControlRegister']]], - ['velocitytype',['velocityType',['../struct_vn_composite_data.html#aa77bb9c96133e669ebaf606c153a08b8',1,'VnCompositeData']]], - ['velocityuncertaintyestimated',['velocityUncertaintyEstimated',['../struct_vn_composite_data.html#a6f3b2f3b0772d5399135b7d56fe7d581',1,'VnCompositeData']]], - ['velocityuncertaintygps',['velocityUncertaintyGps',['../struct_vn_composite_data.html#aced69b7bc20fbc9eb605442668e0130a',1,'VnCompositeData']]], - ['veluncertainty',['velUncertainty',['../struct_ins_solution_lla_register.html#a170248e44c168cdf3d2d5f0db40bd80c',1,'InsSolutionLlaRegister::velUncertainty()'],['../struct_ins_solution_ecef_register.html#a170248e44c168cdf3d2d5f0db40bd80c',1,'InsSolutionEcefRegister::velUncertainty()']]], - ['vpestatus',['vpeStatus',['../struct_vn_composite_data.html#a59dc81ba9dcf248e6412917bc5f23c3e',1,'VnCompositeData']]] -]; diff --git a/vnproglib/c/help/search/variables_14.html b/vnproglib/c/help/search/variables_14.html deleted file mode 100644 index eca0ed4..0000000 --- a/vnproglib/c/help/search/variables_14.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_14.js b/vnproglib/c/help/search/variables_14.js deleted file mode 100644 index 54e5366..0000000 --- a/vnproglib/c/help/search/variables_14.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['week',['week',['../struct_vn_composite_data.html#a75a738c4141aeb0df05229d6c5d2beea',1,'VnCompositeData::week()'],['../struct_gps_solution_lla_register.html#a75a738c4141aeb0df05229d6c5d2beea',1,'GpsSolutionLlaRegister::week()'],['../struct_gps_solution_ecef_register.html#a75a738c4141aeb0df05229d6c5d2beea',1,'GpsSolutionEcefRegister::week()'],['../struct_ins_solution_lla_register.html#a75a738c4141aeb0df05229d6c5d2beea',1,'InsSolutionLlaRegister::week()'],['../struct_ins_solution_ecef_register.html#a75a738c4141aeb0df05229d6c5d2beea',1,'InsSolutionEcefRegister::week()']]] -]; diff --git a/vnproglib/c/help/search/variables_15.html b/vnproglib/c/help/search/variables_15.html deleted file mode 100644 index 811d656..0000000 --- a/vnproglib/c/help/search/variables_15.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_15.js b/vnproglib/c/help/search/variables_15.js deleted file mode 100644 index 5c13232..0000000 --- a/vnproglib/c/help/search/variables_15.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['x',['x',['../struct_velocity_compensation_status_register.html#ad0da36b2558901e21e7a30f6c227a45e',1,'VelocityCompensationStatusRegister']]], - ['xdot',['xDot',['../struct_velocity_compensation_status_register.html#aac57e6557fa068eea041770e78f671e8',1,'VelocityCompensationStatusRegister']]] -]; diff --git a/vnproglib/c/help/search/variables_16.html b/vnproglib/c/help/search/variables_16.html deleted file mode 100644 index 31d17c5..0000000 --- a/vnproglib/c/help/search/variables_16.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_16.js b/vnproglib/c/help/search/variables_16.js deleted file mode 100644 index 024d976..0000000 --- a/vnproglib/c/help/search/variables_16.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['yawpitchroll',['yawPitchRoll',['../struct_vn_composite_data.html#a422bd966180f1f455de6f4d6b9e60d17',1,'VnCompositeData::yawPitchRoll()'],['../struct_yaw_pitch_roll_magnetic_acceleration_and_angular_rates_register.html#a422bd966180f1f455de6f4d6b9e60d17',1,'YawPitchRollMagneticAccelerationAndAngularRatesRegister::yawPitchRoll()'],['../struct_ins_solution_lla_register.html#a422bd966180f1f455de6f4d6b9e60d17',1,'InsSolutionLlaRegister::yawPitchRoll()'],['../struct_ins_solution_ecef_register.html#a422bd966180f1f455de6f4d6b9e60d17',1,'InsSolutionEcefRegister::yawPitchRoll()'],['../struct_ins_state_lla_register.html#a422bd966180f1f455de6f4d6b9e60d17',1,'InsStateLlaRegister::yawPitchRoll()'],['../struct_ins_state_ecef_register.html#a422bd966180f1f455de6f4d6b9e60d17',1,'InsStateEcefRegister::yawPitchRoll()'],['../struct_yaw_pitch_roll_true_body_acceleration_and_angular_rates_register.html#a422bd966180f1f455de6f4d6b9e60d17',1,'YawPitchRollTrueBodyAccelerationAndAngularRatesRegister::yawPitchRoll()'],['../struct_yaw_pitch_roll_true_inertial_acceleration_and_angular_rates_register.html#a422bd966180f1f455de6f4d6b9e60d17',1,'YawPitchRollTrueInertialAccelerationAndAngularRatesRegister::yawPitchRoll()']]], - ['year',['year',['../struct_reference_vector_configuration_register.html#a1461f908052295f8ddaddc19e35a6ba3',1,'ReferenceVectorConfigurationRegister']]] -]; diff --git a/vnproglib/c/help/search/variables_2.html b/vnproglib/c/help/search/variables_2.html deleted file mode 100644 index f3afedc..0000000 --- a/vnproglib/c/help/search/variables_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_2.js b/vnproglib/c/help/search/variables_2.js deleted file mode 100644 index 7d34118..0000000 --- a/vnproglib/c/help/search/variables_2.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['c',['c',['../unionquatf.html#aa074583eac8ebaeccf2a71d3a0a8b3eb',1,'quatf::c()'],['../unionvec3f.html#a512996865e64b9aaca31390f37cd8db3',1,'vec3f::c()'],['../unionvec3d.html#adffe062455ce7fd9e485a126781af13f',1,'vec3d::c()'],['../unionvec4f.html#aa074583eac8ebaeccf2a71d3a0a8b3eb',1,'vec4f::c()'],['../struct_magnetometer_compensation_register.html#adb694ac822e606771c42de0c042c3390',1,'MagnetometerCompensationRegister::c()'],['../struct_acceleration_compensation_register.html#adb694ac822e606771c42de0c042c3390',1,'AccelerationCompensationRegister::c()'],['../struct_calculated_magnetometer_calibration_register.html#adb694ac822e606771c42de0c042c3390',1,'CalculatedMagnetometerCalibrationRegister::c()'],['../struct_gyro_compensation_register.html#adb694ac822e606771c42de0c042c3390',1,'GyroCompensationRegister::c()']]], - ['commonfield',['commonField',['../struct_binary_output_register.html#aeaaa402161ac2de9b36636d3aa6bef54',1,'BinaryOutputRegister']]], - ['convergerate',['convergeRate',['../struct_magnetometer_calibration_control_register.html#a618e01f8c147fb555a7f08baaf455cf7',1,'MagnetometerCalibrationControlRegister']]], - ['curdata',['curData',['../struct_vn_ez_async_data.html#a4d9998a6f312d8829af8a116b064765c',1,'VnEzAsyncData']]], - ['curdatacs',['curDataCS',['../struct_vn_ez_async_data.html#a8a716b58e0968033539f1f07ad6a0382',1,'VnEzAsyncData']]], - ['curextractloc',['curExtractLoc',['../struct_vn_uart_packet.html#a31410eded043b69c31f1936050fb8905',1,'VnUartPacket']]] -]; diff --git a/vnproglib/c/help/search/variables_3.html b/vnproglib/c/help/search/variables_3.html deleted file mode 100644 index a6e56c2..0000000 --- a/vnproglib/c/help/search/variables_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_3.js b/vnproglib/c/help/search/variables_3.js deleted file mode 100644 index a142caf..0000000 --- a/vnproglib/c/help/search/variables_3.js +++ /dev/null @@ -1,12 +0,0 @@ -var searchData= -[ - ['data',['data',['../struct_vn_uart_packet.html#abe222f6d3581e7920dcad5306cc906a8',1,'VnUartPacket::data()'],['../struct_vn_port_info.html#a6f1fcd712c3f5776853626b2dd03df97',1,'VnPortInfo::data()']]], - ['datasize',['dataSize',['../struct_vn_port_info.html#a78f9703861dd365a513c2c5aab9f9239',1,'VnPortInfo']]], - ['deltalimitpos',['deltaLimitPos',['../struct_ins_advanced_configuration_register.html#a022ade72f149eeebca0406e3b12159c3',1,'InsAdvancedConfigurationRegister']]], - ['deltalimitvel',['deltaLimitVel',['../struct_ins_advanced_configuration_register.html#a1e6cceff6cbbf90ff2206a9fb7b7baa5',1,'InsAdvancedConfigurationRegister']]], - ['deltatheta',['deltaTheta',['../struct_vn_composite_data.html#aa092a4d41f672ccf2fa814da4e79032c',1,'VnCompositeData::deltaTheta()'],['../struct_delta_theta_and_delta_velocity_register.html#aa092a4d41f672ccf2fa814da4e79032c',1,'DeltaThetaAndDeltaVelocityRegister::deltaTheta()']]], - ['deltatime',['deltaTime',['../struct_vn_composite_data.html#a1a61318ed6aa02b4ff346e7eb8f68891',1,'VnCompositeData::deltaTime()'],['../struct_delta_theta_and_delta_velocity_register.html#a1a61318ed6aa02b4ff346e7eb8f68891',1,'DeltaThetaAndDeltaVelocityRegister::deltaTime()']]], - ['deltavelocity',['deltaVelocity',['../struct_vn_composite_data.html#afc94796e5da87f7751db5368d218c756',1,'VnCompositeData::deltaVelocity()'],['../struct_delta_theta_and_delta_velocity_register.html#afc94796e5da87f7751db5368d218c756',1,'DeltaThetaAndDeltaVelocityRegister::deltaVelocity()']]], - ['directioncosinematrix',['directionCosineMatrix',['../struct_vn_composite_data.html#a9b0e6f2f6038bc87368c2a6e560fd8f2',1,'VnCompositeData']]], - ['disturbancewindow',['disturbanceWindow',['../struct_vpe_magnetometer_advanced_tuning_register.html#a24df44079e2e7927b9f026d7e6460a79',1,'VpeMagnetometerAdvancedTuningRegister::disturbanceWindow()'],['../struct_vpe_accelerometer_advanced_tuning_register.html#a24df44079e2e7927b9f026d7e6460a79',1,'VpeAccelerometerAdvancedTuningRegister::disturbanceWindow()']]] -]; diff --git a/vnproglib/c/help/search/variables_4.html b/vnproglib/c/help/search/variables_4.html deleted file mode 100644 index 40558b6..0000000 --- a/vnproglib/c/help/search/variables_4.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_4.js b/vnproglib/c/help/search/variables_4.js deleted file mode 100644 index 05ad17c..0000000 --- a/vnproglib/c/help/search/variables_4.js +++ /dev/null @@ -1,11 +0,0 @@ -var searchData= -[ - ['e',['e',['../unionmat3f.html#a325d50c409beb070ac286872ccdf6d9b',1,'mat3f']]], - ['enable',['enable',['../struct_vpe_basic_control_register.html#a324d63698d720716b386efb308337af8',1,'VpeBasicControlRegister']]], - ['errormode',['errorMode',['../struct_communication_protocol_control_register.html#abefce879f42d7c61cc6c7970e79372c1',1,'CommunicationProtocolControlRegister']]], - ['estbaseline',['estBaseline',['../struct_ins_basic_configuration_register_vn300.html#afd34a9ef06cc030480b8225c5757bf7c',1,'InsBasicConfigurationRegisterVn300']]], - ['estbaselineused',['estBaselineUsed',['../struct_gps_compass_estimated_baseline_register.html#aa0d7613a534f3bedb6e55b6f5e08ac08',1,'GpsCompassEstimatedBaselineRegister']]], - ['extaccmode',['extAccMode',['../struct_filter_basic_control_register.html#ad4bbd01c2b559d21a24fd4d036acecc0',1,'FilterBasicControlRegister']]], - ['extgyromode',['extGyroMode',['../struct_filter_basic_control_register.html#ac7b277ef68a8f1255e4f83417cd6138f',1,'FilterBasicControlRegister']]], - ['extmagmode',['extMagMode',['../struct_filter_basic_control_register.html#a3d4dd0cac3d3e0679ed6ddbbcce86e14',1,'FilterBasicControlRegister']]] -]; diff --git a/vnproglib/c/help/search/variables_5.html b/vnproglib/c/help/search/variables_5.html deleted file mode 100644 index 3c1a24a..0000000 --- a/vnproglib/c/help/search/variables_5.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_5.js b/vnproglib/c/help/search/variables_5.js deleted file mode 100644 index 3a3f8b9..0000000 --- a/vnproglib/c/help/search/variables_5.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['filteringmode',['filteringMode',['../struct_vpe_basic_control_register.html#a5e3eb3d11092d3dcac248c024342e948',1,'VpeBasicControlRegister']]], - ['filterminrate',['filterMinRate',['../struct_imu_rate_configuration_register.html#add27048ad21183a2c3d3e1fa5762f508',1,'ImuRateConfigurationRegister']]], - ['filtertargetrate',['filterTargetRate',['../struct_imu_rate_configuration_register.html#a6c0d98f814d852458db292ea8b173422',1,'ImuRateConfigurationRegister']]] -]; diff --git a/vnproglib/c/help/search/variables_6.html b/vnproglib/c/help/search/variables_6.html deleted file mode 100644 index ee4ba50..0000000 --- a/vnproglib/c/help/search/variables_6.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_6.js b/vnproglib/c/help/search/variables_6.js deleted file mode 100644 index 0051e4b..0000000 --- a/vnproglib/c/help/search/variables_6.js +++ /dev/null @@ -1,14 +0,0 @@ -var searchData= -[ - ['gpscovtype',['gpsCovType',['../struct_ins_advanced_configuration_register.html#aca9c75465a8d10d1f3596cc6c832aea7',1,'InsAdvancedConfigurationRegister']]], - ['gpsfield',['gpsField',['../struct_binary_output_register.html#aa9a75ff14683fc5e8d72b2be0f041f3f',1,'BinaryOutputRegister']]], - ['gpsfix',['gpsFix',['../struct_vn_composite_data.html#a3178ced0e7e771e1dde55945384a85f3',1,'VnCompositeData::gpsFix()'],['../struct_gps_solution_lla_register.html#a3178ced0e7e771e1dde55945384a85f3',1,'GpsSolutionLlaRegister::gpsFix()'],['../struct_gps_solution_ecef_register.html#a3178ced0e7e771e1dde55945384a85f3',1,'GpsSolutionEcefRegister::gpsFix()']]], - ['gpstimeout',['gpsTimeout',['../struct_ins_advanced_configuration_register.html#a4bf998e53af36be6cfa8ae8806e735a3',1,'InsAdvancedConfigurationRegister']]], - ['gpstow',['gpsTow',['../struct_vn_composite_data.html#a1dab92337d2c9d9ac1110084065caa3c',1,'VnCompositeData']]], - ['gyro',['gyro',['../struct_quaternion_magnetic_acceleration_and_angular_rates_register.html#ab890584ad2f34c8fd0b63ecd8ef5e29b',1,'QuaternionMagneticAccelerationAndAngularRatesRegister::gyro()'],['../struct_magnetic_acceleration_and_angular_rates_register.html#ab890584ad2f34c8fd0b63ecd8ef5e29b',1,'MagneticAccelerationAndAngularRatesRegister::gyro()'],['../struct_yaw_pitch_roll_magnetic_acceleration_and_angular_rates_register.html#ab890584ad2f34c8fd0b63ecd8ef5e29b',1,'YawPitchRollMagneticAccelerationAndAngularRatesRegister::gyro()'],['../struct_imu_measurements_register.html#ab890584ad2f34c8fd0b63ecd8ef5e29b',1,'ImuMeasurementsRegister::gyro()'],['../struct_yaw_pitch_roll_true_body_acceleration_and_angular_rates_register.html#ab890584ad2f34c8fd0b63ecd8ef5e29b',1,'YawPitchRollTrueBodyAccelerationAndAngularRatesRegister::gyro()'],['../struct_yaw_pitch_roll_true_inertial_acceleration_and_angular_rates_register.html#ab890584ad2f34c8fd0b63ecd8ef5e29b',1,'YawPitchRollTrueInertialAccelerationAndAngularRatesRegister::gyro()']]], - ['gyrobias',['gyroBias',['../struct_startup_filter_bias_estimate_register.html#ad765978cadde7bb9ec0e0a507612933f',1,'StartupFilterBiasEstimateRegister']]], - ['gyrocompensation',['gyroCompensation',['../struct_delta_theta_and_delta_velocity_configuration_register.html#a0a35df75eb799d6e6dcdc16c70a615f3',1,'DeltaThetaAndDeltaVelocityConfigurationRegister']]], - ['gyrofiltermode',['gyroFilterMode',['../struct_imu_filtering_configuration_register.html#a12618c9a730c8d8b68d1684043584b9b',1,'ImuFilteringConfigurationRegister']]], - ['gyrolimit',['gyroLimit',['../struct_filter_basic_control_register.html#a4468233d08288504c7e86ad7f3236b05',1,'FilterBasicControlRegister']]], - ['gyrowindowsize',['gyroWindowSize',['../struct_imu_filtering_configuration_register.html#ab19715cb10635cb82c19d8387e2ebcca',1,'ImuFilteringConfigurationRegister']]] -]; diff --git a/vnproglib/c/help/search/variables_7.html b/vnproglib/c/help/search/variables_7.html deleted file mode 100644 index f7bfc9a..0000000 --- a/vnproglib/c/help/search/variables_7.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_7.js b/vnproglib/c/help/search/variables_7.js deleted file mode 100644 index aab4788..0000000 --- a/vnproglib/c/help/search/variables_7.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['headingmode',['headingMode',['../struct_vpe_basic_control_register.html#a2a92eaae7f0850d6e2eedd6ba2eedb07',1,'VpeBasicControlRegister']]], - ['hsimode',['hsiMode',['../struct_magnetometer_calibration_control_register.html#a699913c24ed0705b87e33f1c746b153a',1,'MagnetometerCalibrationControlRegister']]], - ['hsioutput',['hsiOutput',['../struct_magnetometer_calibration_control_register.html#a5ab7b44c6c6cd25daf5f5aac19c4f959',1,'MagnetometerCalibrationControlRegister']]] -]; diff --git a/vnproglib/c/help/search/variables_8.html b/vnproglib/c/help/search/variables_8.html deleted file mode 100644 index afaa386..0000000 --- a/vnproglib/c/help/search/variables_8.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_8.js b/vnproglib/c/help/search/variables_8.js deleted file mode 100644 index c11ebae..0000000 --- a/vnproglib/c/help/search/variables_8.js +++ /dev/null @@ -1,9 +0,0 @@ -var searchData= -[ - ['imufield',['imuField',['../struct_binary_output_register.html#a7dea59363342c5f343e5c88c5222e438',1,'BinaryOutputRegister']]], - ['imurate',['imuRate',['../struct_imu_rate_configuration_register.html#ab4cd7fda89ec601ac2266202c6e1cdeb',1,'ImuRateConfigurationRegister']]], - ['inertialaccel',['inertialAccel',['../struct_yaw_pitch_roll_true_inertial_acceleration_and_angular_rates_register.html#ab4e4f47c9683105d005dc1f334119c82',1,'YawPitchRollTrueInertialAccelerationAndAngularRatesRegister']]], - ['insfield',['insField',['../struct_binary_output_register.html#a4b7f3a8cf2010b2ff694bbe150f556b3',1,'BinaryOutputRegister']]], - ['insstatus',['insStatus',['../struct_vn_composite_data.html#a21b4eec3eda79b3bddff91b86ab88c62',1,'VnCompositeData']]], - ['integrationframe',['integrationFrame',['../struct_delta_theta_and_delta_velocity_configuration_register.html#a83987f42dacdde6b5e688608baec83f8',1,'DeltaThetaAndDeltaVelocityConfigurationRegister']]] -]; diff --git a/vnproglib/c/help/search/variables_9.html b/vnproglib/c/help/search/variables_9.html deleted file mode 100644 index 18d2d09..0000000 --- a/vnproglib/c/help/search/variables_9.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_9.js b/vnproglib/c/help/search/variables_9.js deleted file mode 100644 index b734f6d..0000000 --- a/vnproglib/c/help/search/variables_9.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['length',['length',['../struct_vn_uart_packet.html#ae809d5359ac030c60a30a8f0b2294b82',1,'VnUartPacket']]], - ['lla',['lla',['../struct_gps_solution_lla_register.html#af6a8e44b9726649396af05dd50fa9215',1,'GpsSolutionLlaRegister']]] -]; diff --git a/vnproglib/c/help/search/variables_a.html b/vnproglib/c/help/search/variables_a.html deleted file mode 100644 index b94e999..0000000 --- a/vnproglib/c/help/search/variables_a.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_a.js b/vnproglib/c/help/search/variables_a.js deleted file mode 100644 index e418b07..0000000 --- a/vnproglib/c/help/search/variables_a.js +++ /dev/null @@ -1,23 +0,0 @@ -var searchData= -[ - ['mag',['mag',['../struct_quaternion_magnetic_acceleration_and_angular_rates_register.html#a6d7a8470b23c03065744577e1cd50509',1,'QuaternionMagneticAccelerationAndAngularRatesRegister::mag()'],['../struct_magnetic_acceleration_and_angular_rates_register.html#a6d7a8470b23c03065744577e1cd50509',1,'MagneticAccelerationAndAngularRatesRegister::mag()'],['../struct_yaw_pitch_roll_magnetic_acceleration_and_angular_rates_register.html#a6d7a8470b23c03065744577e1cd50509',1,'YawPitchRollMagneticAccelerationAndAngularRatesRegister::mag()'],['../struct_imu_measurements_register.html#a6d7a8470b23c03065744577e1cd50509',1,'ImuMeasurementsRegister::mag()']]], - ['magfiltermode',['magFilterMode',['../struct_imu_filtering_configuration_register.html#a332858779937bac2207b27405b2f8e59',1,'ImuFilteringConfigurationRegister']]], - ['magmode',['magMode',['../struct_filter_basic_control_register.html#a84830f28c0f27a9e5beb22fa5ed03e32',1,'FilterBasicControlRegister']]], - ['magnetic',['magnetic',['../struct_vn_composite_data.html#a9d1d8cb4355d4b9ab047e73b12b2f128',1,'VnCompositeData']]], - ['magneticdisturbancegain',['magneticDisturbanceGain',['../struct_filter_active_tuning_parameters_register.html#aa0c0de20bb3bae02aac79085e575c6c8',1,'FilterActiveTuningParametersRegister']]], - ['magneticdisturbancememory',['magneticDisturbanceMemory',['../struct_filter_active_tuning_parameters_register.html#addf1bed42f8ea643478608977def03cb',1,'FilterActiveTuningParametersRegister']]], - ['magneticecef',['magneticEcef',['../struct_vn_composite_data.html#afa4d62e17e32eb869af646dd431278b3',1,'VnCompositeData']]], - ['magneticned',['magneticNed',['../struct_vn_composite_data.html#a2626f2354fac6a2120e4eaf23e985e4f',1,'VnCompositeData']]], - ['magneticuncompensated',['magneticUncompensated',['../struct_vn_composite_data.html#a21f67714e076de3c5258b0df66690ec1',1,'VnCompositeData']]], - ['magneticvariance',['magneticVariance',['../struct_filter_measurements_variance_parameters_register.html#ad52811589392356a70f3c2991df46f69',1,'FilterMeasurementsVarianceParametersRegister']]], - ['magref',['magRef',['../struct_magnetic_and_gravity_reference_vectors_register.html#ada01dab395502cd313a9f01f68c56027',1,'MagneticAndGravityReferenceVectorsRegister']]], - ['magwindowsize',['magWindowSize',['../struct_imu_filtering_configuration_register.html#ab00297258157bb773ab9736a2f6def06',1,'ImuFilteringConfigurationRegister']]], - ['maxadaptrate',['maxAdaptRate',['../struct_vpe_magnetometer_advanced_tuning_register.html#af4e6100eaf01c23b74f07aade65b7c4c',1,'VpeMagnetometerAdvancedTuningRegister::maxAdaptRate()'],['../struct_vpe_accelerometer_advanced_tuning_register.html#af4e6100eaf01c23b74f07aade65b7c4c',1,'VpeAccelerometerAdvancedTuningRegister::maxAdaptRate()']]], - ['maxfiltering',['maxFiltering',['../struct_vpe_magnetometer_advanced_tuning_register.html#a907ee0e82afbf788c0652c07234173a5',1,'VpeMagnetometerAdvancedTuningRegister::maxFiltering()'],['../struct_vpe_accelerometer_advanced_tuning_register.html#a907ee0e82afbf788c0652c07234173a5',1,'VpeAccelerometerAdvancedTuningRegister::maxFiltering()']]], - ['maxtuning',['maxTuning',['../struct_vpe_magnetometer_advanced_tuning_register.html#aaa976cfb6d5791bb0729119a6d17fde9',1,'VpeMagnetometerAdvancedTuningRegister::maxTuning()'],['../struct_vpe_accelerometer_advanced_tuning_register.html#aaa976cfb6d5791bb0729119a6d17fde9',1,'VpeAccelerometerAdvancedTuningRegister::maxTuning()']]], - ['minfiltering',['minFiltering',['../struct_vpe_magnetometer_advanced_tuning_register.html#a096789d671a578cd8e1aa5f3a739dcdc',1,'VpeMagnetometerAdvancedTuningRegister::minFiltering()'],['../struct_vpe_accelerometer_advanced_tuning_register.html#a096789d671a578cd8e1aa5f3a739dcdc',1,'VpeAccelerometerAdvancedTuningRegister::minFiltering()']]], - ['minposuncertainty',['minPosUncertainty',['../struct_ins_advanced_configuration_register.html#acd67f1cc0adca4aefabb480a2a0bbb39',1,'InsAdvancedConfigurationRegister']]], - ['minveluncertainty',['minVelUncertainty',['../struct_ins_advanced_configuration_register.html#a5f6ffdb251a824e231b26f727aa8c1d5',1,'InsAdvancedConfigurationRegister']]], - ['mode',['mode',['../struct_velocity_compensation_control_register.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'VelocityCompensationControlRegister::mode()'],['../struct_gps_configuration_register.html#a37e90f5e3bd99fac2021fb3a326607d4',1,'GpsConfigurationRegister::mode()']]], - ['moveorigin',['moveOrigin',['../struct_ins_advanced_configuration_register.html#a0eb02c0a22494126dcd4ec1d10d0924b',1,'InsAdvancedConfigurationRegister']]] -]; diff --git a/vnproglib/c/help/search/variables_b.html b/vnproglib/c/help/search/variables_b.html deleted file mode 100644 index 58efc59..0000000 --- a/vnproglib/c/help/search/variables_b.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_b.js b/vnproglib/c/help/search/variables_b.js deleted file mode 100644 index cfdc62f..0000000 --- a/vnproglib/c/help/search/variables_b.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['navdivisor',['navDivisor',['../struct_imu_rate_configuration_register.html#a3b6471ae7ce60605deb5c452051220a3',1,'ImuRateConfigurationRegister']]], - ['nedacc',['nedAcc',['../struct_gps_solution_lla_register.html#a97b67ef714d0a8fe8a5ca79a4f49ded2',1,'GpsSolutionLlaRegister']]], - ['nedvel',['nedVel',['../struct_gps_solution_lla_register.html#a70cb1b13e848715078da62243a6ea836',1,'GpsSolutionLlaRegister::nedVel()'],['../struct_ins_solution_lla_register.html#a70cb1b13e848715078da62243a6ea836',1,'InsSolutionLlaRegister::nedVel()']]], - ['nummeas',['numMeas',['../struct_gps_compass_estimated_baseline_register.html#ac4f6d3187273b8ec439252f30a6bf58a',1,'GpsCompassEstimatedBaselineRegister']]], - ['numsats',['numSats',['../struct_vn_composite_data.html#a930c169f06fc077f0f285e497af7c1b1',1,'VnCompositeData::numSats()'],['../struct_gps_solution_lla_register.html#a930c169f06fc077f0f285e497af7c1b1',1,'GpsSolutionLlaRegister::numSats()'],['../struct_gps_solution_ecef_register.html#a930c169f06fc077f0f285e497af7c1b1',1,'GpsSolutionEcefRegister::numSats()']]] -]; diff --git a/vnproglib/c/help/search/variables_c.html b/vnproglib/c/help/search/variables_c.html deleted file mode 100644 index f531169..0000000 --- a/vnproglib/c/help/search/variables_c.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_c.js b/vnproglib/c/help/search/variables_c.js deleted file mode 100644 index ce61f64..0000000 --- a/vnproglib/c/help/search/variables_c.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['omega',['omega',['../struct_velocity_compensation_status_register.html#a62b90331154d3d45a3136bfe96d41a02',1,'VelocityCompensationStatusRegister']]] -]; diff --git a/vnproglib/c/help/search/variables_d.html b/vnproglib/c/help/search/variables_d.html deleted file mode 100644 index 2ad8c9e..0000000 --- a/vnproglib/c/help/search/variables_d.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_d.js b/vnproglib/c/help/search/variables_d.js deleted file mode 100644 index 7cb5c2c..0000000 --- a/vnproglib/c/help/search/variables_d.js +++ /dev/null @@ -1,23 +0,0 @@ -var searchData= -[ - ['packetfoundhandler',['packetFoundHandler',['../struct_vn_uart_packet_finder.html#a3bc3f7532d62213f2dc66ef99eb6ade8',1,'VnUartPacketFinder']]], - ['packetfoundhandleruserdata',['packetFoundHandlerUserData',['../struct_vn_uart_packet_finder.html#aaf39230c3aa2cd377ff0b7af18daa950',1,'VnUartPacketFinder']]], - ['port',['port',['../struct_vn_port_info.html#a14ad0b76757cfe77fec7b1e899fee9cc',1,'VnPortInfo']]], - ['portname',['portName',['../struct_vn_port_info.html#a0b618d18dae228750be66b361c3fb6e9',1,'VnPortInfo']]], - ['posacc',['posAcc',['../struct_gps_solution_ecef_register.html#a72c392c8a59d284abc83b41556f48ab8',1,'GpsSolutionEcefRegister']]], - ['posatt',['posAtt',['../struct_ins_advanced_configuration_register.html#aebd4000973f8fd24c9b968eb1f745395',1,'InsAdvancedConfigurationRegister']]], - ['position',['position',['../struct_gps_solution_ecef_register.html#a54714baed5606260851e126de957d13a',1,'GpsSolutionEcefRegister::position()'],['../struct_ins_solution_lla_register.html#a54714baed5606260851e126de957d13a',1,'InsSolutionLlaRegister::position()'],['../struct_ins_solution_ecef_register.html#a54714baed5606260851e126de957d13a',1,'InsSolutionEcefRegister::position()'],['../struct_ins_state_lla_register.html#a54714baed5606260851e126de957d13a',1,'InsStateLlaRegister::position()'],['../struct_ins_state_ecef_register.html#a54714baed5606260851e126de957d13a',1,'InsStateEcefRegister::position()'],['../struct_reference_vector_configuration_register.html#a54714baed5606260851e126de957d13a',1,'ReferenceVectorConfigurationRegister::position()'],['../struct_gps_compass_baseline_register.html#aea93c894ec2213d55f64d5494e23ef7b',1,'GpsCompassBaselineRegister::position()'],['../struct_gps_compass_estimated_baseline_register.html#aea93c894ec2213d55f64d5494e23ef7b',1,'GpsCompassEstimatedBaselineRegister::position()']]], - ['positionestimatedecef',['positionEstimatedEcef',['../struct_vn_composite_data.html#a30e10a84e4248dc53aaa3e7c2d31fe9c',1,'VnCompositeData']]], - ['positionestimatedlla',['positionEstimatedLla',['../struct_vn_composite_data.html#a0eb39d5d6a26c2fae9eb0c461e599222',1,'VnCompositeData']]], - ['positiongpsecef',['positionGpsEcef',['../struct_vn_composite_data.html#a198e10e9fd54ad276a5c7ead976e956e',1,'VnCompositeData']]], - ['positiongpslla',['positionGpsLla',['../struct_vn_composite_data.html#a6bc5cd050ab074f5767ec2f0fd60a92e',1,'VnCompositeData']]], - ['positionuncertaintyestimated',['positionUncertaintyEstimated',['../struct_vn_composite_data.html#a44c9086a20bb0c88d45878027e9bd1ae',1,'VnCompositeData']]], - ['positionuncertaintygpsecef',['positionUncertaintyGpsEcef',['../struct_vn_composite_data.html#a2a02e178ae1fbb19622b90f4d5224aae',1,'VnCompositeData']]], - ['positionuncertaintygpsned',['positionUncertaintyGpsNed',['../struct_vn_composite_data.html#a852e8fd1ff03df8d99fa41e107938da9',1,'VnCompositeData']]], - ['posuncertainty',['posUncertainty',['../struct_ins_solution_lla_register.html#ac176e7bd4980d13f4d916dcfc6603dd4',1,'InsSolutionLlaRegister::posUncertainty()'],['../struct_ins_solution_ecef_register.html#ac176e7bd4980d13f4d916dcfc6603dd4',1,'InsSolutionEcefRegister::posUncertainty()']]], - ['ppssource',['ppsSource',['../struct_gps_configuration_register.html#a3a0e304664359783a6fbc1d8460a5784',1,'GpsConfigurationRegister']]], - ['presfiltermode',['presFilterMode',['../struct_imu_filtering_configuration_register.html#a4e1242c0a6a5a776fae95684038a00bb',1,'ImuFilteringConfigurationRegister']]], - ['pressure',['pressure',['../struct_vn_composite_data.html#ac870e1249bab4a2a68cc4126761d24ef',1,'VnCompositeData::pressure()'],['../struct_imu_measurements_register.html#ac870e1249bab4a2a68cc4126761d24ef',1,'ImuMeasurementsRegister::pressure()']]], - ['pressurebias',['pressureBias',['../struct_startup_filter_bias_estimate_register.html#abd199760028fcce3ee9baa584bf62c32',1,'StartupFilterBiasEstimateRegister']]], - ['preswindowsize',['presWindowSize',['../struct_imu_filtering_configuration_register.html#a68d0e6af920881f706101252eeaa0e40',1,'ImuFilteringConfigurationRegister']]] -]; diff --git a/vnproglib/c/help/search/variables_e.html b/vnproglib/c/help/search/variables_e.html deleted file mode 100644 index 371620e..0000000 --- a/vnproglib/c/help/search/variables_e.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_e.js b/vnproglib/c/help/search/variables_e.js deleted file mode 100644 index 9f4e60a..0000000 --- a/vnproglib/c/help/search/variables_e.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['quat',['quat',['../struct_quaternion_magnetic_acceleration_and_angular_rates_register.html#ae1e178adc8118816ec2da009785d4052',1,'QuaternionMagneticAccelerationAndAngularRatesRegister']]], - ['quaternion',['quaternion',['../struct_vn_composite_data.html#a61cfa09b4d48bfff612330015e501408',1,'VnCompositeData']]] -]; diff --git a/vnproglib/c/help/search/variables_f.html b/vnproglib/c/help/search/variables_f.html deleted file mode 100644 index 311574b..0000000 --- a/vnproglib/c/help/search/variables_f.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/vnproglib/c/help/search/variables_f.js b/vnproglib/c/help/search/variables_f.js deleted file mode 100644 index b21b6fa..0000000 --- a/vnproglib/c/help/search/variables_f.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['ratedivisor',['rateDivisor',['../struct_binary_output_register.html#a8bea41ea2803f82bba30539542cd6461',1,'BinaryOutputRegister']]], - ['ratetuning',['rateTuning',['../struct_velocity_compensation_control_register.html#a639936db6e0c7cea48fe2b72a3af3fee',1,'VelocityCompensationControlRegister']]], - ['recalcthreshold',['recalcThreshold',['../struct_reference_vector_configuration_register.html#acb85dcd7dc68988beac31dc477545f11',1,'ReferenceVectorConfigurationRegister']]], - ['receivebuffer',['receiveBuffer',['../struct_vn_uart_packet_finder.html#a03e1083a19e2967b51841e61cf300833',1,'VnUartPacketFinder']]], - ['runningdataindex',['runningDataIndex',['../struct_vn_uart_packet_finder.html#a81ff9b7bdfaec882e5d122c9744dc67c',1,'VnUartPacketFinder']]] -]; diff --git a/vnproglib/c/help/searcher_8h_source.html b/vnproglib/c/help/searcher_8h_source.html deleted file mode 100644 index a74a712..0000000 --- a/vnproglib/c/help/searcher_8h_source.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - -VectorNav C Library: searcher.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
searcher.h
-
-
-
1 #ifndef _SEARCHER_H_
-
2 #define _SEARCHER_H_
-
3 
-
4 #include "vn/bool.h"
-
5 #include "vn/int.h"
-
6 #include "vn/xplat/serialport.h"
-
7 #include "vn/xplat/thread.h"
-
8 
-
9 /* These defines are used to enable a single function name while implementing */
-
10 /* different solutions given the OS. */
-
11 #if defined __linux__ || defined __CYGWIN__
-
12  #define VnSearcher_findPorts VnSearcher_findPorts_LINUX
-
13 #elif defined _WIN32
-
14  #define VnSearcher_findPorts VnSearcher_findPorts_WIN32
-
15 #else
-
16  #error ERROR: System not yet supported in VnSearcher
-
17 #endif
-
18 
-
19 #ifdef _WIN32
-
20 #pragma warning(push)
-
21 #pragma warning(disable : 4820)
-
22 #endif
-
23 
-
25 typedef struct
-
26 {
-
28  char* portName;
-
29 
- -
32 
-
34  int32_t baud;
-
35 
-
37  size_t dataSize;
-
38 
- -
41 
-
43  char data[255];
-
44 } VnPortInfo;
-
45 
-
46 #ifdef _WIN32
-
47 #pragma warning(pop)
-
48 #endif
-
49 
-
54 char* VnSearcher_getPortName(VnPortInfo* portInfo);
-
55 
-
62 int32_t VnSearcher_getPortBaud(VnPortInfo* portInfo);
-
63 
-
68 void VnSearcher_findPorts(char*** portNames, int32_t* numPortsFound);
-
69 
-
75 void VnSearcher_findPortBaud(char* portName, int32_t* foundBaudrate);
-
76 
-
82 void VnSearcher_findAllSensors(VnPortInfo*** sensorsFound, int32_t* numSensors);
-
83 
-
92 void VnSearcher_searchInputPorts(char*** portsToCheck, int32_t numPortsToCheck, VnPortInfo*** sensorsFound);
-
93 
-
94 #endif
-
int32_t baud
Baud of the attached senosr, -1 for no sensor, -2 for error.
Definition: searcher.h:34
-
containing information about the port to be searched.
Definition: searcher.h:25
- -
Provides access to a serial port.
Definition: serialport.h:48
-
char * portName
Contains the name of the port.
Definition: searcher.h:28
-
VnThread thread
VnThread object for callback purposes.
Definition: searcher.h:31
-
Structure for working with threads.
Definition: thread.h:40
-
VnSerialPort * port
VnSerialPort object to handle communication to the sensor.
Definition: searcher.h:40
-
size_t dataSize
size of the data array
Definition: searcher.h:37
-
- - - - diff --git a/vnproglib/c/help/sensor_2main_8c-example.html b/vnproglib/c/help/sensor_2main_8c-example.html deleted file mode 100644 index 8224340..0000000 --- a/vnproglib/c/help/sensor_2main_8c-example.html +++ /dev/null @@ -1,385 +0,0 @@ - - - - - - -VectorNav C Library: sensor/main.c - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
-
-
sensor/main.c
-
-
-

This example illustrates using the high-level VnSensor structure to access a VectorNav sensor on a system with an operating system. This example is in contrast with the getting_started/main.c example which is lower-level protocol handling and requires the user to supply external communication functions.

-

-Visual Studio (Windows)

-
    -
  1. Open the solution file for your specific Visual Studio version located at <root>/c/examples/sensor/projects/vs20XX/sensor.sln.
  2. -
  3. Open the project file main.c and edit the SENSOR_PORT and SENSOR_BAUDRATE constants at the top of the main() function to the settings used by your attached VectorNav sensor.
  4. -
  5. Build the entire solution by going to the menu BUILD -> Build Solution.
  6. -
  7. Right-click the project sensor and select Debug -> Start new instance.
  8. -
-

-Make (Linux/Mac OS X)

-
    -
  1. Open a terminal and change to the directory <root>/c/examples/sensor .
  2. -
  3. Open the file main.c and edit the SENSOR_PORT and SENSOR_BAUDRATE constants at the top of the main() function to the settings used by your attached VectorNav sensor.
  4. -
  5. To build the example, run the command make .
  6. -
  7. Run the example by executing the command sudo ./sensor .
  8. -
-

-CLion (Windows/Linux/Mac OS X)

-
    -
  1. Open the project file located at <root>/c/examples/sensor in CLion.
  2. -
  3. Open the project file main.c and edit the SENSOR_PORT and SENSOR_BAUDRATE constants at the top of the main() function to the settings used by your attached VectorNav sensor.
  4. -
  5. Make sure the sensor configuration is active. You can set this by clicking the small drop-down list in the upper-right corner and selecting the option sensor.
  6. -
  7. Build the solution by going to the menu Run -> Build.
  8. -
  9. Run the example by going to the menu Run -> Run 'sensor'.
  10. -
-

-Other

-

To compile and run for an environment not listed here, you will need to add all of the *.c files in the directory <root>/c/src along with the file located at <root>/c/examples/sensor/main.c to your project for compilation. You will also need to add <root>/c/include to your include directories. Finally, before compiling, open the file main.c and edit the SENSOR_PORT and SENSOR_BAUDRATE constants at the top of the main() function to the settings used by your attached VectorNav sensor.

-
#include <stdio.h>
-
#include <inttypes.h>
-
-
/* Include files needed to use VnSensor. */
-
#include "vn/sensors.h"
-
-
void asciiAsyncMessageReceived(void *userData, VnUartPacket *packet, size_t runningIndex);
-
void asciiOrBinaryAsyncMessageReceived(void *userData, VnUartPacket *packet, size_t runningIndex);
-
int processErrorReceived(char* errorMessage, VnError errorCode);
-
-
int main(void)
-
{
- -
char modelNumber[30];
-
char strConversions[50];
-
vec3f ypr;
- - -
uint32_t oldHz, newHz;
-
VnAsciiAsync asyncType;
- -
VnError error;
-
-
/* This example walks through using the VectorNav C Library to connect to
-
* and interact with a VectorNav sensor using the VnSensor structure. */
-
-
/* First determine which COM port your sensor is attached to and update the
-
* constant below. Also, if you have changed your sensor from the factory
-
* default baudrate of 115200, you will need to update the baudrate
-
* constant below as well. */
-
const char SENSOR_PORT[] = "COM1"; /* Windows format for physical and virtual (USB) serial port. */
-
/*const char SENSOR_PORT[] = "/dev/ttyS1"; */ /* Linux format for physical serial port. */
-
/*const char SENSOR_PORT[] = "/dev/ttyUSB0"; */ /* Linux format for virtual (USB) serial port. */
-
/*const char SENSOR_PORT[] = "/dev/tty.usbserial-FTXXXXXX"; */ /* Mac OS X format for virtual (USB) serial port. */
-
/*const char SENSOR_PORT[] = "/dev/ttyS0"; */ /* CYGWIN format. Usually the Windows COM port number minus 1. This would connect to COM1. */
-
const uint32_t SENSOR_BAUDRATE = 115200;
-
-
/* We first need to initialize our VnSensor structure. */
- -
-
/* Now connect to our sensor. */
-
if ((error = VnSensor_connect(&vs, SENSOR_PORT, SENSOR_BAUDRATE)) != E_NONE)
-
return processErrorReceived("Error connecting to sensor.", error);
-
-
/* Let's query the sensor's model number. */
-
if ((error = VnSensor_readModelNumber(&vs, modelNumber, sizeof(modelNumber))) != E_NONE)
-
return processErrorReceived("Error reading model number.", error);
-
printf("Model Number: %s\n", modelNumber);
-
-
/* Get some orientation data from the sensor. */
-
if ((error = VnSensor_readYawPitchRoll(&vs, &ypr)) != E_NONE)
-
return processErrorReceived("Error reading yaw pitch roll.", error);
-
str_vec3f(strConversions, ypr);
-
printf("Current YPR: %s\n", strConversions);
-
-
/* Get some orientation and IMU data. */
- -
return processErrorReceived("Error reading orientation and IMU data.", error);
-
str_vec3f(strConversions, reg.yawPitchRoll);
-
printf("Current YPR: %s\n", strConversions);
-
str_vec3f(strConversions, reg.mag);
-
printf("Current Magnetic: %s\n", strConversions);
-
str_vec3f(strConversions, reg.accel);
-
printf("Current Acceleration: %s\n", strConversions);
-
str_vec3f(strConversions, reg.gyro);
-
printf("Current Angular Rates: %s\n", strConversions);
-
-
/* Let's do some simple reconfiguration of the sensor. As it comes from the
-
* factory, the sensor outputs asynchronous data at 40 Hz. We will change
-
* this to 2 Hz for demonstration purposes. */
-
if ((error = VnSensor_readAsyncDataOutputFrequency(&vs, &oldHz)) != E_NONE)
-
return processErrorReceived("Error reading async data output frequency.", error);
-
if ((error = VnSensor_writeAsyncDataOutputFrequency(&vs, 2, true)) != E_NONE)
-
return processErrorReceived("Error writing async data output frequency.", error);
-
if ((error = VnSensor_readAsyncDataOutputFrequency(&vs, &newHz)) != E_NONE)
-
return processErrorReceived("Error reading async data output frequency.", error);
-
printf("Old Async Frequency: %d Hz\n", oldHz);
-
printf("New Async Frequency: %d Hz\n", newHz);
-
-
/* For the registers that have more complex configuration options, it is
-
* convenient to read the current existing register configuration, change
-
* only the values of interest, and then write the configuration to the
-
* register. This allows preserving the current settings for the register's
-
* other fields. Below, we change the heading mode used by the sensor. */
-
if ((error = VnSensor_readVpeBasicControl(&vs, &vpeReg)) != E_NONE)
-
return processErrorReceived("Error reading VPE basic control.", error);
-
strFromHeadingMode(strConversions, vpeReg.headingMode);
-
printf("Old Heading Mode: %s\n", strConversions);
-
vpeReg.headingMode = VNHEADINGMODE_ABSOLUTE;
-
if ((error = VnSensor_writeVpeBasicControl(&vs, vpeReg, true)) != E_NONE)
-
return processErrorReceived("Error writing VPE basic control.", error);
-
if ((error = VnSensor_readVpeBasicControl(&vs, &vpeReg)) != E_NONE)
-
return processErrorReceived("Error reading VPE basic control.", error);
-
strFromHeadingMode(strConversions, vpeReg.headingMode);
-
printf("New Heading Mode: %s\n", strConversions);
-
-
/* Up to now, we have shown some examples of how to configure the sensor
-
* and query for the latest measurements. However, this querying is a
-
* relatively slow method for getting measurements since the CPU has to
-
* send out the command to the sensor and also wait for the command
-
* response. An alternative way of receiving the sensor's latest
-
* measurements without the waiting for a query response, you can configure
-
* the library to alert you when new asynchronous data measurements are
-
* received. We will illustrate hooking up to our current VnSensor to
-
* receive these notifications of asynchronous messages. */
-
-
/* First let's configure the sensor to output a known asynchronous data
-
* message type. */
-
if ((error = VnSensor_writeAsyncDataOutputType(&vs, VNYPR, true)) != E_NONE)
-
return processErrorReceived("Error writing to async data output type.", error);
-
if ((error = VnSensor_readAsyncDataOutputType(&vs, &asyncType)) != E_NONE)
-
return processErrorReceived("Error reading async data output type.", error);
-
strFromVnAsciiAsync(strConversions, asyncType);
-
printf("ASCII Async Type: %s\n", strConversions);
-
-
/* You will need to define a method which has the appropriate
-
* signature for receiving notifications. This is implemented with the
-
* method asciiAsyncMessageReceived. Now we register the method with the
-
* VnSensor structure. */
-
VnSensor_registerAsyncPacketReceivedHandler(&vs, asciiAsyncMessageReceived, NULL);
-
-
/* Now sleep for 5 seconds so that our asynchronous callback method can
-
* receive and display receive yaw, pitch, roll packets. */
-
printf("Starting sleep...\n");
- -
-
/* Unregister our callback method. */
- -
-
/* As an alternative to receiving notifications of new ASCII asynchronous
-
* messages, the binary output configuration of the sensor is another
-
* popular choice for receiving data since it is compact, fast to parse,
-
* and can be output at faster rates over the same connection baudrate.
-
* Here we will configure the binary output register and process packets
-
* with a new callback method that can handle both ASCII and binary
-
* packets. */
-
-
/* First we create a structure for setting the configuration information
-
* for the binary output register to send yaw, pitch, roll data out at
-
* 4 Hz. */
- -
&bor,
-
ASYNCMODE_PORT1,
-
200,
-
COMMONGROUP_TIMESTARTUP | COMMONGROUP_YAWPITCHROLL, /* Note use of binary OR to configure flags. */
-
TIMEGROUP_NONE,
-
IMUGROUP_NONE,
-
GPSGROUP_NONE,
-
ATTITUDEGROUP_NONE,
-
INSGROUP_NONE);
-
-
if ((error = VnSensor_writeBinaryOutput1(&vs, &bor, true)) != E_NONE)
-
return processErrorReceived("Error writing binary output 1.", error);
-
-
VnSensor_registerAsyncPacketReceivedHandler(&vs, asciiOrBinaryAsyncMessageReceived, NULL);
-
-
printf("Starting sleep...\n");
- -
- -
-
/* Now disconnect from the sensor since we are finished. */
-
if ((error = VnSensor_disconnect(&vs)) != E_NONE)
-
return processErrorReceived("Error disconnecting from sensor.", error);
-
-
return 0;
-
}
-
-
/* This is our basic callback handler for notifications of new asynchronous
-
* data packets received. The userData parameter is a pointer to the data we
-
* supplied when we called registerAsyncPacketReceivedHandler. In this case
-
* we didn't need any user data so we just set this to NULL. Alternatively you
-
* can provide a pointer to user data which you can use in the callback method.
-
* One use for this is help in calling back to a member method instead of just
-
* a global or static method. The Packet p parameter is an encapsulation of
-
* the data packet. At this state, it has already been validated and identified
-
* as an asynchronous data message. However, some processing is required on the
-
* user side to make sure it is the right type of asynchronous message type so
-
* we can parse it correctly. The index parameter is an advanced usage item and
-
* can be safely ignored for now. */
-
void asciiAsyncMessageReceived(void *userData, VnUartPacket *packet, size_t runningIndex)
-
{
-
vec3f ypr;
-
char strConversions[50];
-
-
/* Silence 'unreferenced formal parameters' warning in Visual Studio. */
-
(userData);
-
(runningIndex);
-
-
/* Make sure we have an ASCII packet and not a binary packet. */
-
if (VnUartPacket_type(packet) != PACKETTYPE_ASCII)
-
return;
-
-
/* Make sure we have a VNYPR data packet. */
-
if (VnUartPacket_determineAsciiAsyncType(packet) != VNYPR)
-
return;
-
-
/* We now need to parse out the yaw, pitch, roll data. */
-
VnUartPacket_parseVNYPR(packet, &ypr);
-
-
/* Now print out the yaw, pitch, roll measurements. */
-
str_vec3f(strConversions, ypr);
-
printf("ASCII Async YPR: %s\n", strConversions);
-
}
-
-
void asciiOrBinaryAsyncMessageReceived(void *userData, VnUartPacket *packet, size_t runningIndex)
-
{
-
vec3f ypr;
-
char strConversions[50];
-
-
/* Silence 'unreferenced formal parameters' warning in Visual Studio. */
-
(userData);
-
(runningIndex);
-
-
if (VnUartPacket_type(packet) == PACKETTYPE_ASCII && VnUartPacket_determineAsciiAsyncType(packet) == VNYPR)
-
{
-
VnUartPacket_parseVNYPR(packet, &ypr);
-
str_vec3f(strConversions, ypr);
-
printf("ASCII Async YPR: %s\n", strConversions);
-
-
return;
-
}
-
-
if (VnUartPacket_type(packet) == PACKETTYPE_BINARY)
-
{
-
uint64_t timeStartup;
-
-
/* First make sure we have a binary packet type we expect since there
-
* are many types of binary output types that can be configured. */
-
if (!VnUartPacket_isCompatible(packet,
-
COMMONGROUP_TIMESTARTUP | COMMONGROUP_YAWPITCHROLL,
-
TIMEGROUP_NONE,
-
IMUGROUP_NONE,
-
GPSGROUP_NONE,
-
ATTITUDEGROUP_NONE,
-
INSGROUP_NONE))
-
/* Not the type of binary packet we are expecting. */
-
return;
-
-
/* Ok, we have our expected binary output packet. Since there are many
-
* ways to configure the binary data output, the burden is on the user
-
* to correctly parse the binary packet. However, we can make use of
-
* the parsing convenience methods provided by the Packet structure.
-
* When using these convenience methods, you have to extract them in
-
* the order they are organized in the binary packet per the User Manual. */
-
timeStartup = VnUartPacket_extractUint64(packet);
- -
-
str_vec3f(strConversions, ypr);
-
printf("Binary Async TimeStartup: %" PRIu64 "\n", timeStartup);
-
printf("Binary Async YPR: %s\n", strConversions);
-
-
return;
-
}
-
}
-
-
int processErrorReceived(char* errorMessage, VnError errorCode)
-
{
-
char errorCodeStr[100];
-
strFromVnError(errorCodeStr, errorCode);
-
printf("%s\nERROR: %s\n", errorMessage, errorCodeStr);
-
return -1;
-
}
-
- - - - diff --git a/vnproglib/c/help/sensors_8h.html b/vnproglib/c/help/sensors_8h.html deleted file mode 100644 index f4a5a99..0000000 --- a/vnproglib/c/help/sensors_8h.html +++ /dev/null @@ -1,2319 +0,0 @@ - - - - - - -VectorNav C Library: sensors.h File Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
- -
-
sensors.h File Reference
-
-
-
#include <stddef.h>
-#include "vn/int.h"
-#include "vn/error.h"
-#include "vn/enum.h"
-#include "vn/bool.h"
-#include "vn/protocol/upack.h"
-#include "vn/protocol/upackf.h"
-#include "vn/xplat/serialport.h"
-#include "vn/xplat/event.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Data Structures

struct  BinaryOutputRegister
 Structure representing a Binary Output register. More...
 
struct  QuaternionMagneticAccelerationAndAngularRatesRegister
 Structure representing the Quaternion, Magnetic, Acceleration and Angular Rates register. More...
 
struct  MagneticAccelerationAndAngularRatesRegister
 Structure representing the Magnetic, Acceleration and Angular Rates register. More...
 
struct  MagneticAndGravityReferenceVectorsRegister
 Structure representing the Magnetic and Gravity Reference Vectors register. More...
 
struct  FilterMeasurementsVarianceParametersRegister
 Structure representing the Filter Measurements Variance Parameters register. More...
 
struct  MagnetometerCompensationRegister
 Structure representing the Magnetometer Compensation register. More...
 
struct  FilterActiveTuningParametersRegister
 Structure representing the Filter Active Tuning Parameters register. More...
 
struct  AccelerationCompensationRegister
 Structure representing the Acceleration Compensation register. More...
 
struct  YawPitchRollMagneticAccelerationAndAngularRatesRegister
 Structure representing the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register. More...
 
struct  CommunicationProtocolControlRegister
 Structure representing the Communication Protocol Control register. More...
 
struct  SynchronizationControlRegister
 Structure representing the Synchronization Control register. More...
 
struct  SynchronizationStatusRegister
 Structure representing the Synchronization Status register. More...
 
struct  FilterBasicControlRegister
 Structure representing the Filter Basic Control register. More...
 
struct  VpeBasicControlRegister
 Structure representing the VPE Basic Control register. More...
 
struct  VpeMagnetometerBasicTuningRegister
 Structure representing the VPE Magnetometer Basic Tuning register. More...
 
struct  VpeMagnetometerAdvancedTuningRegister
 Structure representing the VPE Magnetometer Advanced Tuning register. More...
 
struct  VpeAccelerometerBasicTuningRegister
 Structure representing the VPE Accelerometer Basic Tuning register. More...
 
struct  VpeAccelerometerAdvancedTuningRegister
 Structure representing the VPE Accelerometer Advanced Tuning register. More...
 
struct  VpeGyroBasicTuningRegister
 Structure representing the VPE Gyro Basic Tuning register. More...
 
struct  MagnetometerCalibrationControlRegister
 Structure representing the Magnetometer Calibration Control register. More...
 
struct  CalculatedMagnetometerCalibrationRegister
 Structure representing the Calculated Magnetometer Calibration register. More...
 
struct  VelocityCompensationControlRegister
 Structure representing the Velocity Compensation Control register. More...
 
struct  VelocityCompensationStatusRegister
 Structure representing the Velocity Compensation Status register. More...
 
struct  ImuMeasurementsRegister
 Structure representing the IMU Measurements register. More...
 
struct  GpsConfigurationRegister
 Structure representing the GPS Configuration register. More...
 
struct  GpsSolutionLlaRegister
 Structure representing the GPS Solution - LLA register. More...
 
struct  GpsSolutionEcefRegister
 Structure representing the GPS Solution - ECEF register. More...
 
struct  InsSolutionLlaRegister
 Structure representing the INS Solution - LLA register. More...
 
struct  InsSolutionEcefRegister
 Structure representing the INS Solution - ECEF register. More...
 
struct  InsBasicConfigurationRegisterVn200
 Structure representing the INS Basic Configuration register for a VN-200 sensor. More...
 
struct  InsBasicConfigurationRegisterVn300
 Structure representing the INS Basic Configuration register for a VN-300 sensor. More...
 
struct  InsAdvancedConfigurationRegister
 Structure representing the INS Advanced Configuration register. More...
 
struct  InsStateLlaRegister
 Structure representing the INS State - LLA register. More...
 
struct  InsStateEcefRegister
 Structure representing the INS State - ECEF register. More...
 
struct  StartupFilterBiasEstimateRegister
 Structure representing the Startup Filter Bias Estimate register. More...
 
struct  DeltaThetaAndDeltaVelocityRegister
 Structure representing the Delta Theta and Delta Velocity register. More...
 
struct  DeltaThetaAndDeltaVelocityConfigurationRegister
 Structure representing the Delta Theta and Delta Velocity Configuration register. More...
 
struct  ReferenceVectorConfigurationRegister
 Structure representing the Reference Vector Configuration register. More...
 
struct  GyroCompensationRegister
 Structure representing the Gyro Compensation register. More...
 
struct  ImuFilteringConfigurationRegister
 Structure representing the IMU Filtering Configuration register. More...
 
struct  GpsCompassBaselineRegister
 Structure representing the GPS Compass Baseline register. More...
 
struct  GpsCompassEstimatedBaselineRegister
 Structure representing the GPS Compass Estimated Baseline register. More...
 
struct  ImuRateConfigurationRegister
 Structure representing the IMU Rate Configuration register. More...
 
struct  YawPitchRollTrueBodyAccelerationAndAngularRatesRegister
 Structure representing the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register. More...
 
struct  YawPitchRollTrueInertialAccelerationAndAngularRatesRegister
 Structure representing the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register. More...
 
struct  VnSensor
 Helpful structure for working with VectorNav sensors. More...
 
- - - -

-Typedefs

-typedef void(* VnSensor_PacketFoundHandler) (void *userData, VnUartPacket *packet, size_t runningIndex)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

void BinaryOutputRegister_initialize (BinaryOutputRegister *reg, AsyncMode asyncMode, uint32_t rateDivisor, CommonGroup commonField, TimeGroup timeField, ImuGroup imuField, GpsGroup gpsField, AttitudeGroup attitudeField, InsGroup insField)
 Initializes a BinaryOutputRegister structure. More...
 
VnError VnSensor_initialize (VnSensor *sensor)
 Initializes a VnSensor structure. More...
 
VnError VnSensor_connect (VnSensor *sensor, const char *portName, uint32_t baudrate)
 Connects to a VectorNav sensor. More...
 
VnError VnSensor_disconnect (VnSensor *sensor)
 Disconnects from a VectorNav sensor. More...
 
VnError VnSensor_changeBaudrate (VnSensor *sensor, uint32_t baudrate)
 Issues a change baudrate to the VectorNav sensor and then reconnectes the attached serial port at the new baudrate. More...
 
VnError VnSensor_transaction (VnSensor *sensor, char *toSend, size_t toSendLength, char *response, size_t *responseLength)
 Sends the provided command and returns the response from the sensor. More...
 
bool VnSensor_isConnected (VnSensor *sensor)
 Indicates if the VnSensor is connected. More...
 
VnError VnSensor_writeSettings (VnSensor *sensor, bool waitForReply)
 Issues a Write Settings command to the VectorNav Sensor. More...
 
VnError VnSensor_restoreFactorySettings (VnSensor *sensor, bool waitForReply)
 Issues a Restore Factory Settings command to the VectorNav sensor. More...
 
VnError VnSensor_reset (VnSensor *sensor, bool waitForReply)
 Issues a Reset command to the VectorNav sensor. More...
 
VnError VnSensor_tare (VnSensor *sensor, bool waitForReply)
 Issues a tare command to the VectorNav Sensor. More...
 
VnError VnSensor_setGyroBias (VnSensor *sensor, bool waitForReply)
 Issues a command to the VectorNav Sensor to set the Gyro's bias. More...
 
VnError VnSensor_magneticDisturbancePresent (VnSensor *sensor, bool disturbancePresent, bool waitForReply)
 Command to inform the VectorNav Sensor if there is a magnetic disturbance present. More...
 
VnError VnSensor_accelerationDisturbancePresent (VnSensor *sensor, bool disturbancePresent, bool waitForReply)
 Command to inform the VectorNav Sensor if there is an acceleration disturbance present. More...
 
bool VnSensor_verifySensorConnectivity (VnSensor *sensor)
 Checks if we are able to send and receive communication with a sensor. More...
 
uint16_t VnSensor_getResponseTimeoutMs (VnSensor *sensor)
 Returns the current response timeout value in milliseconds used for communication with a sensor. More...
 
VnError VnSensor_setResponseTimeoutMs (VnSensor *sensor, uint16_t reponseTimeoutMs)
 Sets the current response timeout value in milliseconds used for communication with a sensor. More...
 
uint16_t VnSensor_getRetransmitDelayMs (VnSensor *sensor)
 Gets the current retransmit delay used for communication with a sensor. More...
 
VnError VnSensor_setRetransmitDelayMs (VnSensor *sensor, uint16_t retransmitDelayMs)
 Sets the current retransmit delay used for communication with a sensor. More...
 
VnError VnSensor_registerAsyncPacketReceivedHandler (VnSensor *sensor, VnSensor_PacketFoundHandler handler, void *userData)
 Allows registering a callback for notification of when an asynchronous data packet is received. More...
 
VnError VnSensor_unregisterAsyncPacketReceivedHandler (VnSensor *sensor)
 Allows unregistering from callback notifications when asynchronous data packets are received. More...
 
VnError VnSensor_registerErrorPacketReceivedHandler (VnSensor *sensor, VnSensor_PacketFoundHandler handler, void *userData)
 Allows registering a callback for notification of when a sensor error message is received. More...
 
VnError VnSensor_unregisterErrorPacketReceivedHandler (VnSensor *sensor)
 Allows unregistering callbacks for notifications of when a sensor error message is recieved. More...
 
VnError VnSensor_readBinaryOutput1 (VnSensor *sensor, BinaryOutputRegister *fields)
 Reads the Binary Output 1 register. More...
 
VnError VnSensor_writeBinaryOutput1 (VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply)
 Writes to the Binary Output 1 register. More...
 
VnError VnSensor_readBinaryOutput2 (VnSensor *sensor, BinaryOutputRegister *fields)
 Reads the Binary Output 2 register. More...
 
VnError VnSensor_writeBinaryOutput2 (VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply)
 Writes to the Binary Output 2 register. More...
 
VnError VnSensor_readBinaryOutput3 (VnSensor *sensor, BinaryOutputRegister *fields)
 Reads the Binary Output 3 register. More...
 
VnError VnSensor_writeBinaryOutput3 (VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply)
 Writes to the Binary Output 3 register. More...
 
VnError VnSensor_readUserTag (VnSensor *sensor, char *tagBuffer, size_t tagBufferLength)
 Reads the User Tag register. More...
 
VnError VnSensor_writeUserTag (VnSensor *sensor, char *tag, bool waitForReply)
 Writes to the User Tag register. More...
 
VnError VnSensor_readModelNumber (VnSensor *sensor, char *productNameBuffer, size_t productNameBufferLength)
 Reads the Model Number register. More...
 
VnError VnSensor_readHardwareRevision (VnSensor *sensor, uint32_t *revision)
 Reads the Hardware Revision register. More...
 
VnError VnSensor_readSerialNumber (VnSensor *sensor, uint32_t *serialNum)
 Reads the Serial Number register. More...
 
VnError VnSensor_readFirmwareVersion (VnSensor *sensor, char *firmwareVersionBuffer, size_t firmwareVersionBufferLength)
 Reads the Firmware Version register. More...
 
VnError VnSensor_readSerialBaudRate (VnSensor *sensor, uint32_t *baudrate)
 Reads the Serial Baud Rate register. More...
 
VnError VnSensor_writeSerialBaudRate (VnSensor *sensor, uint32_t baudrate, bool waitForReply)
 Writes to the Serial Baud Rate register. More...
 
VnError VnSensor_readAsyncDataOutputType (VnSensor *sensor, VnAsciiAsync *ador)
 Reads the Async Data Output Type register. More...
 
VnError VnSensor_writeAsyncDataOutputType (VnSensor *sensor, VnAsciiAsync ador, bool waitForReply)
 Writes to the Async Data Output Type register. More...
 
VnError VnSensor_readAsyncDataOutputFrequency (VnSensor *sensor, uint32_t *adof)
 Reads the Async Data Output Frequency register. More...
 
VnError VnSensor_writeAsyncDataOutputFrequency (VnSensor *sensor, uint32_t adof, bool waitForReply)
 Writes to the Async Data Output Frequency register. More...
 
VnError VnSensor_readYawPitchRoll (VnSensor *sensor, vec3f *yawPitchRoll)
 Reads the Yaw Pitch Roll register. More...
 
VnError VnSensor_readAttitudeQuaternion (VnSensor *sensor, vec4f *quat)
 Reads the Attitude Quaternion register. More...
 
VnError VnSensor_readQuaternionMagneticAccelerationAndAngularRates (VnSensor *sensor, QuaternionMagneticAccelerationAndAngularRatesRegister *fields)
 Reads the Quaternion, Magnetic, Acceleration and Angular Rates register. More...
 
VnError VnSensor_readMagneticMeasurements (VnSensor *sensor, vec3f *mag)
 Reads the Magnetic Measurements register. More...
 
VnError VnSensor_readAccelerationMeasurements (VnSensor *sensor, vec3f *accel)
 Reads the Acceleration Measurements register. More...
 
VnError VnSensor_readAngularRateMeasurements (VnSensor *sensor, vec3f *gyro)
 Reads the Angular Rate Measurements register. More...
 
VnError VnSensor_readMagneticAccelerationAndAngularRates (VnSensor *sensor, MagneticAccelerationAndAngularRatesRegister *fields)
 Reads the Magnetic, Acceleration and Angular Rates register. More...
 
VnError VnSensor_readMagneticAndGravityReferenceVectors (VnSensor *sensor, MagneticAndGravityReferenceVectorsRegister *fields)
 Reads the Magnetic and Gravity Reference Vectors register. More...
 
VnError VnSensor_writeMagneticAndGravityReferenceVectors (VnSensor *sensor, MagneticAndGravityReferenceVectorsRegister fields, bool waitForReply)
 Writes to the Magnetic and Gravity Reference Vectors register. More...
 
VnError VnSensor_readMagnetometerCompensation (VnSensor *sensor, MagnetometerCompensationRegister *fields)
 Reads the Magnetometer Compensation register. More...
 
VnError VnSensor_writeMagnetometerCompensation (VnSensor *sensor, MagnetometerCompensationRegister fields, bool waitForReply)
 Writes to the Magnetometer Compensation register. More...
 
VnError VnSensor_readAccelerationCompensation (VnSensor *sensor, AccelerationCompensationRegister *fields)
 Reads the Acceleration Compensation register. More...
 
VnError VnSensor_writeAccelerationCompensation (VnSensor *sensor, AccelerationCompensationRegister fields, bool waitForReply)
 Writes to the Acceleration Compensation register. More...
 
VnError VnSensor_readReferenceFrameRotation (VnSensor *sensor, mat3f *c)
 Reads the Reference Frame Rotation register. More...
 
VnError VnSensor_writeReferenceFrameRotation (VnSensor *sensor, mat3f c, bool waitForReply)
 Writes to the Reference Frame Rotation register. More...
 
VnError VnSensor_readYawPitchRollMagneticAccelerationAndAngularRates (VnSensor *sensor, YawPitchRollMagneticAccelerationAndAngularRatesRegister *fields)
 Reads the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register. More...
 
VnError VnSensor_readCommunicationProtocolControl (VnSensor *sensor, CommunicationProtocolControlRegister *fields)
 Reads the Communication Protocol Control register. More...
 
VnError VnSensor_writeCommunicationProtocolControl (VnSensor *sensor, CommunicationProtocolControlRegister fields, bool waitForReply)
 Writes to the Communication Protocol Control register. More...
 
VnError VnSensor_readSynchronizationControl (VnSensor *sensor, SynchronizationControlRegister *fields)
 Reads the Synchronization Control register. More...
 
VnError VnSensor_writeSynchronizationControl (VnSensor *sensor, SynchronizationControlRegister fields, bool waitForReply)
 Writes to the Synchronization Control register. More...
 
VnError VnSensor_readSynchronizationStatus (VnSensor *sensor, SynchronizationStatusRegister *fields)
 Reads the Synchronization Status register. More...
 
VnError VnSensor_writeSynchronizationStatus (VnSensor *sensor, SynchronizationStatusRegister fields, bool waitForReply)
 Writes to the Synchronization Status register. More...
 
VnError VnSensor_readVpeBasicControl (VnSensor *sensor, VpeBasicControlRegister *fields)
 Reads the VPE Basic Control register. More...
 
VnError VnSensor_writeVpeBasicControl (VnSensor *sensor, VpeBasicControlRegister fields, bool waitForReply)
 Writes to the VPE Basic Control register. More...
 
VnError VnSensor_readVpeMagnetometerBasicTuning (VnSensor *sensor, VpeMagnetometerBasicTuningRegister *fields)
 Reads the VPE Magnetometer Basic Tuning register. More...
 
VnError VnSensor_writeVpeMagnetometerBasicTuning (VnSensor *sensor, VpeMagnetometerBasicTuningRegister fields, bool waitForReply)
 Writes to the VPE Magnetometer Basic Tuning register. More...
 
VnError VnSensor_readVpeAccelerometerBasicTuning (VnSensor *sensor, VpeAccelerometerBasicTuningRegister *fields)
 Reads the VPE Accelerometer Basic Tuning register. More...
 
VnError VnSensor_writeVpeAccelerometerBasicTuning (VnSensor *sensor, VpeAccelerometerBasicTuningRegister fields, bool waitForReply)
 Writes to the VPE Accelerometer Basic Tuning register. More...
 
VnError VnSensor_readMagnetometerCalibrationControl (VnSensor *sensor, MagnetometerCalibrationControlRegister *fields)
 Reads the Magnetometer Calibration Control register. More...
 
VnError VnSensor_writeMagnetometerCalibrationControl (VnSensor *sensor, MagnetometerCalibrationControlRegister fields, bool waitForReply)
 Writes to the Magnetometer Calibration Control register. More...
 
VnError VnSensor_readCalculatedMagnetometerCalibration (VnSensor *sensor, CalculatedMagnetometerCalibrationRegister *fields)
 Reads the Calculated Magnetometer Calibration register. More...
 
VnError VnSensor_readVelocityCompensationMeasurement (VnSensor *sensor, vec3f *velocity)
 Reads the Velocity Compensation Measurement register. More...
 
VnError VnSensor_writeVelocityCompensationMeasurement (VnSensor *sensor, vec3f velocity, bool waitForReply)
 Writes to the Velocity Compensation Measurement register. More...
 
VnError VnSensor_readVelocityCompensationControl (VnSensor *sensor, VelocityCompensationControlRegister *fields)
 Reads the Velocity Compensation Control register. More...
 
VnError VnSensor_writeVelocityCompensationControl (VnSensor *sensor, VelocityCompensationControlRegister fields, bool waitForReply)
 Writes to the Velocity Compensation Control register. More...
 
VnError VnSensor_readImuMeasurements (VnSensor *sensor, ImuMeasurementsRegister *fields)
 Reads the IMU Measurements register. More...
 
VnError VnSensor_readGpsConfiguration (VnSensor *sensor, GpsConfigurationRegister *fields)
 Reads the GPS Configuration register. More...
 
VnError VnSensor_writeGpsConfiguration (VnSensor *sensor, GpsConfigurationRegister fields, bool waitForReply)
 Writes to the GPS Configuration register. More...
 
VnError VnSensor_readGpsAntennaOffset (VnSensor *sensor, vec3f *position)
 Reads the GPS Antenna Offset register. More...
 
VnError VnSensor_writeGpsAntennaOffset (VnSensor *sensor, vec3f position, bool waitForReply)
 Writes to the GPS Antenna Offset register. More...
 
VnError VnSensor_readGpsSolutionLla (VnSensor *sensor, GpsSolutionLlaRegister *fields)
 Reads the GPS Solution - LLA register. More...
 
VnError VnSensor_readGpsSolutionEcef (VnSensor *sensor, GpsSolutionEcefRegister *fields)
 Reads the GPS Solution - ECEF register. More...
 
VnError VnSensor_readInsSolutionLla (VnSensor *sensor, InsSolutionLlaRegister *fields)
 Reads the INS Solution - LLA register. More...
 
VnError VnSensor_readInsSolutionEcef (VnSensor *sensor, InsSolutionEcefRegister *fields)
 Reads the INS Solution - ECEF register. More...
 
VnError VnSensor_readInsBasicConfigurationVn200 (VnSensor *sensor, InsBasicConfigurationRegisterVn200 *fields)
 Reads the INS Basic Configuration register for a VN-200 sensor. More...
 
VnError VnSensor_writeInsBasicConfigurationVn200 (VnSensor *sensor, InsBasicConfigurationRegisterVn200 fields, bool waitForReply)
 Writes to the INS Basic Configuration register for a VN-200 sensor. More...
 
VnError VnSensor_readInsBasicConfigurationVn300 (VnSensor *sensor, InsBasicConfigurationRegisterVn300 *fields)
 Reads the INS Basic Configuration register for a VN-300 sensor. More...
 
VnError VnSensor_writeInsBasicConfigurationVn300 (VnSensor *sensor, InsBasicConfigurationRegisterVn300 fields, bool waitForReply)
 Writes to the INS Basic Configuration register for a VN-300 sensor. More...
 
VnError VnSensor_readInsStateLla (VnSensor *sensor, InsStateLlaRegister *fields)
 Reads the INS State - LLA register. More...
 
VnError VnSensor_readInsStateEcef (VnSensor *sensor, InsStateEcefRegister *fields)
 Reads the INS State - ECEF register. More...
 
VnError VnSensor_readStartupFilterBiasEstimate (VnSensor *sensor, StartupFilterBiasEstimateRegister *fields)
 Reads the Startup Filter Bias Estimate register. More...
 
VnError VnSensor_writeStartupFilterBiasEstimate (VnSensor *sensor, StartupFilterBiasEstimateRegister fields, bool waitForReply)
 Writes to the Startup Filter Bias Estimate register. More...
 
VnError VnSensor_readDeltaThetaAndDeltaVelocity (VnSensor *sensor, DeltaThetaAndDeltaVelocityRegister *fields)
 Reads the Delta Theta and Delta Velocity register. More...
 
VnError VnSensor_readDeltaThetaAndDeltaVelocityConfiguration (VnSensor *sensor, DeltaThetaAndDeltaVelocityConfigurationRegister *fields)
 Reads the Delta Theta and Delta Velocity Configuration register. More...
 
VnError VnSensor_writeDeltaThetaAndDeltaVelocityConfiguration (VnSensor *sensor, DeltaThetaAndDeltaVelocityConfigurationRegister fields, bool waitForReply)
 Writes to the Delta Theta and Delta Velocity Configuration register. More...
 
VnError VnSensor_readReferenceVectorConfiguration (VnSensor *sensor, ReferenceVectorConfigurationRegister *fields)
 Reads the Reference Vector Configuration register. More...
 
VnError VnSensor_writeReferenceVectorConfiguration (VnSensor *sensor, ReferenceVectorConfigurationRegister fields, bool waitForReply)
 Writes to the Reference Vector Configuration register. More...
 
VnError VnSensor_readGyroCompensation (VnSensor *sensor, GyroCompensationRegister *fields)
 Reads the Gyro Compensation register. More...
 
VnError VnSensor_writeGyroCompensation (VnSensor *sensor, GyroCompensationRegister fields, bool waitForReply)
 Writes to the Gyro Compensation register. More...
 
VnError VnSensor_readImuFilteringConfiguration (VnSensor *sensor, ImuFilteringConfigurationRegister *fields)
 Reads the IMU Filtering Configuration register. More...
 
VnError VnSensor_writeImuFilteringConfiguration (VnSensor *sensor, ImuFilteringConfigurationRegister fields, bool waitForReply)
 Writes to the IMU Filtering Configuration register. More...
 
VnError VnSensor_readGpsCompassBaseline (VnSensor *sensor, GpsCompassBaselineRegister *fields)
 Reads the GPS Compass Baseline register. More...
 
VnError VnSensor_writeGpsCompassBaseline (VnSensor *sensor, GpsCompassBaselineRegister fields, bool waitForReply)
 Writes to the GPS Compass Baseline register. More...
 
VnError VnSensor_readGpsCompassEstimatedBaseline (VnSensor *sensor, GpsCompassEstimatedBaselineRegister *fields)
 Reads the GPS Compass Estimated Baseline register. More...
 
VnError VnSensor_readYawPitchRollTrueBodyAccelerationAndAngularRates (VnSensor *sensor, YawPitchRollTrueBodyAccelerationAndAngularRatesRegister *fields)
 Reads the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register. More...
 
VnError VnSensor_readYawPitchRollTrueInertialAccelerationAndAngularRates (VnSensor *sensor, YawPitchRollTrueInertialAccelerationAndAngularRatesRegister *fields)
 Reads the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register. More...
 
void strFromSensorError (char *out, SensorError val)
 Converts a sensor error into a string. More...
 
void strFromSyncInMode (char *out, VnSyncInMode val)
 Converts a SyncInMode into a string. More...
 
void strFromSyncInEdge (char *out, VnSyncInEdge val)
 Converts a SyncInEdge into a string. More...
 
void strFromSyncOutMode (char *out, VnSyncOutMode val)
 Converts a SyncOutMode into a string. More...
 
void strFromSyncOutPolarity (char *out, VnSyncOutPolarity val)
 Converts a SyncOutPolarity into a string. More...
 
void strFromCountMode (char *out, VnCountMode val)
 Converts a CountMode into a string. More...
 
void strFromStatusMode (char *out, VnStatusMode val)
 Converts a StatusMode into a string. More...
 
void strFromChecksumMode (char *out, VnChecksumMode val)
 Converts a ChecksumMode into a string. More...
 
void strFromErrorMode (char *out, VnErrorMode val)
 Converts a ErrorMode into a string. More...
 
void strFromFilterMode (char *out, VnFilterMode val)
 Converts a FilterMode into a string. More...
 
void strFromIntegrationFrame (char *out, VnIntegrationFrame val)
 Converts a IntegrationFrame into a string. More...
 
void strFromCompensationMode (char *out, VnCompensationMode val)
 Converts a CompensationMode into a string. More...
 
void strFromGpsFix (char *out, VnGpsFix val)
 Converts a GpsFix into a string. More...
 
void strFromGpsMode (char *out, VnGpsMode val)
 Converts a GpsMode into a string. More...
 
void strFromPpsSource (char *out, VnPpsSource val)
 Converts a PpsSource into a string. More...
 
void strFromVpeEnable (char *out, VnVpeEnable val)
 Converts a VpeEnable into a string. More...
 
void strFromHeadingMode (char *out, VnHeadingMode val)
 Converts a HeadingMode into a string. More...
 
void strFromVpeMode (char *out, VnVpeMode val)
 Converts a VpeMode into a string. More...
 
void strFromScenario (char *out, VnScenario val)
 Converts a Scenario into a string. More...
 
void strFromHsiMode (char *out, VnHsiMode val)
 Converts a HsiMode into a string. More...
 
void strFromHsiOutput (char *out, VnHsiOutput val)
 Converts a HsiOutput into a string. More...
 
void strFromVelocityCompensationMode (char *out, VnVelocityCompensationMode val)
 Converts a VelocityCompensationMode into a string. More...
 
void strFromMagneticMode (char *out, VnMagneticMode val)
 Converts a MagneticMode into a string. More...
 
void strFromExternalSensorMode (char *out, VnExternalSensorMode val)
 Converts a ExternalSensorMode into a string. More...
 
void strFromFoamInit (char *out, VnFoamInit val)
 Converts a FoamInit into a string. More...
 
-

Detailed Description

-

{COMMON_HEADER}

-

-Description

-

This header file contains declarations for using VectorNav sensors.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
void strFromChecksumMode (char * out,
VnChecksumMode val 
)
-
- -

Converts a ChecksumMode into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe ChecksumMode value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromCompensationMode (char * out,
VnCompensationMode val 
)
-
- -

Converts a CompensationMode into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe CompensationMode value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromCountMode (char * out,
VnCountMode val 
)
-
- -

Converts a CountMode into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe CountMode value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromErrorMode (char * out,
VnErrorMode val 
)
-
- -

Converts a ErrorMode into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe ErrorMode value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromExternalSensorMode (char * out,
VnExternalSensorMode val 
)
-
- -

Converts a ExternalSensorMode into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe ExternalSensorMode value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromFilterMode (char * out,
VnFilterMode val 
)
-
- -

Converts a FilterMode into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe FilterMode value to convert to string.
-
-
-
Examples:
getting_started/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromFoamInit (char * out,
VnFoamInit val 
)
-
- -

Converts a FoamInit into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe FoamInit value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromGpsFix (char * out,
VnGpsFix val 
)
-
- -

Converts a GpsFix into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe GpsFix value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromGpsMode (char * out,
VnGpsMode val 
)
-
- -

Converts a GpsMode into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe GpsMode value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromHeadingMode (char * out,
VnHeadingMode val 
)
-
- -

Converts a HeadingMode into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe HeadingMode value to convert to string.
-
-
-
Examples:
getting_started/main.c, and sensor/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromHsiMode (char * out,
VnHsiMode val 
)
-
- -

Converts a HsiMode into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe HsiMode value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromHsiOutput (char * out,
VnHsiOutput val 
)
-
- -

Converts a HsiOutput into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe HsiOutput value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromIntegrationFrame (char * out,
VnIntegrationFrame val 
)
-
- -

Converts a IntegrationFrame into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe IntegrationFrame value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromMagneticMode (char * out,
VnMagneticMode val 
)
-
- -

Converts a MagneticMode into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe MagneticMode value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromPpsSource (char * out,
VnPpsSource val 
)
-
- -

Converts a PpsSource into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe PpsSource value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromScenario (char * out,
VnScenario val 
)
-
- -

Converts a Scenario into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe Scenario value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromSensorError (char * out,
SensorError val 
)
-
- -

Converts a sensor error into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe SensorError value to convert to string.
-
-
-
Returns
The converted value.
-
Examples:
getting_started/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromStatusMode (char * out,
VnStatusMode val 
)
-
- -

Converts a StatusMode into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe StatusMode value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromSyncInEdge (char * out,
VnSyncInEdge val 
)
-
- -

Converts a SyncInEdge into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe SyncInEdge value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromSyncInMode (char * out,
VnSyncInMode val 
)
-
- -

Converts a SyncInMode into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe SyncInMode value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromSyncOutMode (char * out,
VnSyncOutMode val 
)
-
- -

Converts a SyncOutMode into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe SyncOutMode value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromSyncOutPolarity (char * out,
VnSyncOutPolarity val 
)
-
- -

Converts a SyncOutPolarity into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe SyncOutPolarity value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromVelocityCompensationMode (char * out,
VnVelocityCompensationMode val 
)
-
- -

Converts a VelocityCompensationMode into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe VelocityCompensationMode value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromVpeEnable (char * out,
VnVpeEnable val 
)
-
- -

Converts a VpeEnable into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe VpeEnable value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void strFromVpeMode (char * out,
VnVpeMode val 
)
-
- -

Converts a VpeMode into a string.

-
Parameters
- - - -
[out]outThe buffer to place the string in.
[in]valThe VpeMode value to convert to string.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_accelerationDisturbancePresent (VnSensorsensor,
bool disturbancePresent,
bool waitForReply 
)
-
- -

Command to inform the VectorNav Sensor if there is an acceleration disturbance present.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]disturbancePresentIndicates the presense of a disturbance.
[in]waitForReplyIndicates if the method should wait for a response from the sensor.
-
-
-
Returns
Any errors encountered
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_changeBaudrate (VnSensorsensor,
uint32_t baudrate 
)
-
- -

Issues a change baudrate to the VectorNav sensor and then reconnectes the attached serial port at the new baudrate.

-
Parameters
- - - -
[in]sensorThe VnSensor structure.
[in]baudrateThe new sensor baudrate.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_connect (VnSensorsensor,
const char * portName,
uint32_t baudrate 
)
-
- -

Connects to a VectorNav sensor.

-
Parameters
- - - - -
[in]sensorThe VnSensor structure.
[in]portNameThe name of the serial port to connect to.
[in]baudrateThe baudrate to connect at.
-
-
-
Returns
Any errors encountered.
-
Examples:
sensor/main.c.
-
-
-
- -
-
- - - - - - - - -
VnError VnSensor_disconnect (VnSensorsensor)
-
- -

Disconnects from a VectorNav sensor.

-
Parameters
- - -
[in]sensorThe associated sensor.
-
-
-
Returns
Any errors encountered.
-
Examples:
sensor/main.c.
-
-
-
- -
-
- - - - - - - - -
uint16_t VnSensor_getResponseTimeoutMs (VnSensorsensor)
-
- -

Returns the current response timeout value in milliseconds used for communication with a sensor.

-

The response timeout is used on commands that require a response to be received from the sensor. If a response has not been received from the sensor in the amount of time specified by this value, the called function will return an E_TIMEOUT error.

-
Parameters
- - -
[in]sensorThe associated VnSensor.
-
-
-
Returns
The current response timeout value in milliseconds.
- -
-
- -
-
- - - - - - - - -
uint16_t VnSensor_getRetransmitDelayMs (VnSensorsensor)
-
- -

Gets the current retransmit delay used for communication with a sensor.

-

During the time that the VnSensor is awaiting a response from a sensor, the command will be retransmitted to the sensor at the interval specified by this value.

-
Parameters
- - -
[in]sensorThe associated VnSensor.
-
-
-
Returns
The current retransmit delay value in milliseconds.
- -
-
- -
-
- - - - - - - - -
VnError VnSensor_initialize (VnSensorsensor)
-
- -

Initializes a VnSensor structure.

-
Parameters
- - -
[in]sensorThe structure to initialize.
-
-
-
Returns
Any errors encountered.
-
Examples:
sensor/main.c.
-
-
-
- -
-
- - - - - - - - -
bool VnSensor_isConnected (VnSensorsensor)
-
- -

Indicates if the VnSensor is connected.

-
Parameters
- - -
[in]sensorThe associated VnSensor.
-
-
-
Returns
true if the VnSensor is connected; otherwise false.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_magneticDisturbancePresent (VnSensorsensor,
bool disturbancePresent,
bool waitForReply 
)
-
- -

Command to inform the VectorNav Sensor if there is a magnetic disturbance present.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]disturbancePresentIndicates the presense of a disturbance.
[in]waitForReplyIndicates if the method should wait for a response from the sensor.
-
-
-
Returns
Any errors encountered
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_registerAsyncPacketReceivedHandler (VnSensorsensor,
VnSensor_PacketFoundHandler handler,
void * userData 
)
-
- -

Allows registering a callback for notification of when an asynchronous data packet is received.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]handlerThe callback handler.
[in]userDataData which will be provided with all callbacks.
-
-
-
Returns
Any errors encountered.
-
Examples:
sensor/main.c.
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_registerErrorPacketReceivedHandler (VnSensorsensor,
VnSensor_PacketFoundHandler handler,
void * userData 
)
-
- -

Allows registering a callback for notification of when a sensor error message is received.

-
Parameters
- - - - -
[in]sensorThe associated VnSensor.
[in]handlerThe callback handler.
[in]userDataData which will be provided with all callbacks.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_reset (VnSensorsensor,
bool waitForReply 
)
-
- -

Issues a Reset command to the VectorNav sensor.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[in]waitForReplyIndicates if the method should wait for a response from the sensor.
-
-
-
Returns
Any errors encountered
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_restoreFactorySettings (VnSensorsensor,
bool waitForReply 
)
-
- -

Issues a Restore Factory Settings command to the VectorNav sensor.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[in]waitForReplyIndicates if the method should wait for a response from the sensor.
-
-
-
Returns
Any errors encountered
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_setGyroBias (VnSensorsensor,
bool waitForReply 
)
-
- -

Issues a command to the VectorNav Sensor to set the Gyro's bias.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[in]waitForReplyIndicates if the method should wait for a response from the sensor.
-
-
-
Returns
Any errors encountered
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_setResponseTimeoutMs (VnSensorsensor,
uint16_t reponseTimeoutMs 
)
-
- -

Sets the current response timeout value in milliseconds used for communication with a sensor.

-

The response timeout is used on commands that require a response to be received from the sensor. If a response has not been received from the sensor in the amount of time specified by this value, the called function will return an E_TIMEOUT error.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[in]responseTimeoutMsThe new value for the response timeout in milliseconds.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_setRetransmitDelayMs (VnSensorsensor,
uint16_t retransmitDelayMs 
)
-
- -

Sets the current retransmit delay used for communication with a sensor.

-

During the time that the VnSensor is awaiting a response from a sensor, the command will be retransmitted to the sensor at the interval specified by this value.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[in]retransmitDelayMsThe new value for the retransmit delay in milliseconds.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_tare (VnSensorsensor,
bool waitForReply 
)
-
- -

Issues a tare command to the VectorNav Sensor.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[in]waitForReplyIndicates if the method should wait for a response from the sensor.
-
-
-
Returns
Any errors encountered
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnSensor_transaction (VnSensorsensor,
char * toSend,
size_t toSendLength,
char * response,
size_t * responseLength 
)
-
- -

Sends the provided command and returns the response from the sensor.

-

If the command does not have an asterisk '*', the a checksum will be performed and appended based on the current error detection mode. Also, if the line-ending \r\n is not present, these will be added also.

-
Parameters
- - - - - - -
[in]sensorThe associated VnSensor.
[in]toSendThe command to send to the sensor.
[in]toSendLengthThe number of bytes provided in the toSend buffer.
[out]responseThe response received from the sensor.
[in,out]responseLengthThe size of the provided response buffer and will be set with the returned response length.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - -
VnError VnSensor_unregisterAsyncPacketReceivedHandler (VnSensorsensor)
-
- -

Allows unregistering from callback notifications when asynchronous data packets are received.

-
Parameters
- - -
[in]sensorThe associated sensor.
-
-
-
Examples:
sensor/main.c.
-
-
-
- -
-
- - - - - - - - -
VnError VnSensor_unregisterErrorPacketReceivedHandler (VnSensorsensor)
-
- -

Allows unregistering callbacks for notifications of when a sensor error message is recieved.

-
Parameters
- - -
[in]sensorThe associated VnSensor.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - -
bool VnSensor_verifySensorConnectivity (VnSensorsensor)
-
- -

Checks if we are able to send and receive communication with a sensor.

-
Parameters
- - -
[in]sensorThe associated sensor.
-
-
-
Returns
true if we can communicate with a sensor; otherwise false.
- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnSensor_writeSettings (VnSensorsensor,
bool waitForReply 
)
-
- -

Issues a Write Settings command to the VectorNav Sensor.

-
Parameters
- - - -
[in]sensorThe associated VnSensor.
[in]waitForReplyIndicates if the method should wait for a response from the sensor.
-
-
-
Returns
Any errors encountered
- -
-
-
- - - - diff --git a/vnproglib/c/help/sensors_8h_source.html b/vnproglib/c/help/sensors_8h_source.html deleted file mode 100644 index 16aea02..0000000 --- a/vnproglib/c/help/sensors_8h_source.html +++ /dev/null @@ -1,1440 +0,0 @@ - - - - - - -VectorNav C Library: sensors.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
sensors.h
-
-
-Go to the documentation of this file.
1 
-
7 #ifndef _VNSENSORS_H_
-
8 #define _VNSENSORS_H_
-
9 
-
10 #include <stddef.h>
-
11 
-
12 #include "vn/int.h"
-
13 #include "vn/error.h"
-
14 #include "vn/enum.h"
-
15 #include "vn/bool.h"
-
16 #include "vn/protocol/upack.h"
-
17 #include "vn/protocol/upackf.h"
-
18 #include "vn/xplat/serialport.h"
-
19 #include "vn/xplat/event.h"
-
20 
-
21 #ifdef __cplusplus
-
22 extern "C" {
-
23 #endif
-
24 
-
25 #ifdef _WIN32
-
26 #pragma warning(push)
-
27 #pragma warning(disable : 4820)
-
28 #endif
-
29 
-
43 typedef struct
-
44 {
-
45  AsyncMode asyncMode;
-
46  uint16_t rateDivisor;
-
47  CommonGroup commonField;
-
48  TimeGroup timeField;
-
49  ImuGroup imuField;
-
50  GpsGroup gpsField;
-
51  AttitudeGroup attitudeField;
-
52  InsGroup insField;
- -
55 
- - -
69  AsyncMode asyncMode,
-
70  uint32_t rateDivisor,
-
71  CommonGroup commonField,
-
72  TimeGroup timeField,
-
73  ImuGroup imuField,
-
74  GpsGroup gpsField,
-
75  AttitudeGroup attitudeField,
-
76  InsGroup insField);
-
77 
-
79 typedef struct
-
80 {
- -
83 
- -
86 
- -
89 
- -
92 
- -
94 
-
96 typedef struct
-
97 {
- -
100 
- -
103 
- -
106 
- -
108 
-
110 typedef struct
-
111 {
- -
114 
- -
117 
- -
119 
-
121 typedef struct
-
122 {
- -
125 
- -
128 
- -
131 
- -
134 
- -
136 
-
138 typedef struct
-
139 {
- -
142 
- -
145 
- -
147 
-
149 typedef struct
-
150 {
- -
153 
- -
156 
- -
159 
- -
162 
- -
164 
-
166 typedef struct
-
167 {
- -
170 
- -
173 
- -
175 
-
177 typedef struct
-
178 {
- -
181 
- -
184 
- -
187 
- -
190 
- -
192 
-
194 typedef struct
-
195 {
-
197  uint8_t serialCount;
-
198 
-
200  uint8_t serialStatus;
-
201 
-
203  uint8_t spiCount;
-
204 
-
206  uint8_t spiStatus;
-
207 
-
209  uint8_t serialChecksum;
-
210 
-
212  uint8_t spiChecksum;
-
213 
-
215  uint8_t errorMode;
-
216 
- -
218 
-
220 typedef struct
-
221 {
-
223  uint8_t syncInMode;
-
224 
-
226  uint8_t syncInEdge;
-
227 
- -
230 
-
232  uint8_t syncOutMode;
-
233 
- -
236 
- -
239 
- -
242 
- -
244 
-
246 typedef struct
-
247 {
-
249  uint32_t syncInCount;
-
250 
-
252  uint32_t syncInTime;
-
253 
-
255  uint32_t syncOutCount;
-
256 
- -
258 
-
260 typedef struct
-
261 {
-
263  uint8_t magMode;
-
264 
-
266  uint8_t extMagMode;
-
267 
-
269  uint8_t extAccMode;
-
270 
-
272  uint8_t extGyroMode;
-
273 
- -
276 
- -
278 
-
280 typedef struct
-
281 {
-
283  uint8_t enable;
-
284 
-
286  uint8_t headingMode;
-
287 
-
289  uint8_t filteringMode;
-
290 
-
292  uint8_t tuningMode;
-
293 
- -
295 
-
297 typedef struct
-
298 {
- -
301 
- -
304 
- -
307 
- -
309 
-
311 typedef struct
-
312 {
- -
315 
- -
318 
- -
321 
- -
324 
-
326  float maxTuning;
-
327 
- -
329 
-
331 typedef struct
-
332 {
- -
335 
- -
338 
- -
341 
- -
343 
-
345 typedef struct
-
346 {
- -
349 
- -
352 
- -
355 
- -
358 
-
360  float maxTuning;
-
361 
- -
363 
-
365 typedef struct
-
366 {
- -
369 
- -
372 
- -
375 
- -
377 
-
379 typedef struct
-
380 {
-
382  uint8_t hsiMode;
-
383 
-
385  uint8_t hsiOutput;
-
386 
-
388  uint8_t convergeRate;
-
389 
- -
391 
-
393 typedef struct
-
394 {
- -
397 
- -
400 
- -
402 
-
404 typedef struct
-
405 {
-
407  uint8_t mode;
-
408 
- -
411 
-
413  float rateTuning;
-
414 
- -
416 
-
418 typedef struct
-
419 {
-
421  float x;
-
422 
-
424  float xDot;
-
425 
- -
428 
- -
431 
- -
433 
-
435 typedef struct
-
436 {
- -
439 
- -
442 
- -
445 
-
447  float temp;
-
448 
-
450  float pressure;
-
451 
- -
453 
-
455 typedef struct
-
456 {
-
458  uint8_t mode;
-
459 
-
461  uint8_t ppsSource;
-
462 
- -
464 
-
466 typedef struct
-
467 {
-
469  double time;
-
470 
-
472  uint16_t week;
-
473 
-
475  uint8_t gpsFix;
-
476 
-
478  uint8_t numSats;
-
479 
- -
482 
- -
485 
- -
488 
-
490  float speedAcc;
-
491 
-
493  float timeAcc;
-
494 
- -
496 
-
498 typedef struct
-
499 {
-
501  double tow;
-
502 
-
504  uint16_t week;
-
505 
-
507  uint8_t gpsFix;
-
508 
-
510  uint8_t numSats;
-
511 
- -
514 
- -
517 
- -
520 
-
522  float speedAcc;
-
523 
-
525  float timeAcc;
-
526 
- -
528 
-
530 typedef struct
-
531 {
-
533  double time;
-
534 
-
536  uint16_t week;
-
537 
-
539  uint16_t status;
-
540 
- -
543 
- -
546 
- -
549 
- -
552 
- -
555 
- -
558 
- -
560 
-
562 typedef struct
-
563 {
-
565  double time;
-
566 
-
568  uint16_t week;
-
569 
-
571  uint16_t status;
-
572 
- -
575 
- -
578 
- -
581 
- -
584 
- -
587 
- -
590 
- -
592 
-
594 typedef struct
-
595 {
-
597  uint8_t scenario;
-
598 
-
600  uint8_t ahrsAiding;
-
601 
- -
603 
-
605 typedef struct
-
606 {
-
608  uint8_t scenario;
-
609 
-
611  uint8_t ahrsAiding;
-
612 
-
614  uint8_t estBaseline;
-
615 
- -
617 
-
619 typedef struct
-
620 {
-
622  uint8_t useMag;
-
623 
-
625  uint8_t usePres;
-
626 
-
628  uint8_t posAtt;
-
629 
-
631  uint8_t velAtt;
-
632 
-
634  uint8_t velBias;
-
635 
-
637  uint8_t useFoam;
-
638 
-
640  uint8_t gpsCovType;
-
641 
-
643  uint8_t velCount;
-
644 
-
646  float velInit;
-
647 
-
649  float moveOrigin;
-
650 
-
652  float gpsTimeout;
-
653 
- -
656 
- -
659 
- -
662 
- -
665 
- -
667 
-
669 typedef struct
-
670 {
- -
673 
- -
676 
- -
679 
- -
682 
- -
685 
- -
687 
-
689 typedef struct
-
690 {
- -
693 
- -
696 
- -
699 
- -
702 
- -
705 
- -
707 
-
709 typedef struct
-
710 {
- -
713 
- -
716 
- -
719 
- -
721 
-
723 typedef struct
-
724 {
-
726  float deltaTime;
-
727 
- -
730 
- -
733 
- -
735 
-
737 typedef struct
-
738 {
- -
741 
- -
744 
- -
747 
- -
749 
-
751 typedef struct
-
752 {
-
754  uint8_t useMagModel;
-
755 
- -
758 
-
760  uint32_t recalcThreshold;
-
761 
-
763  float year;
-
764 
- -
767 
- -
769 
-
771 typedef struct
-
772 {
- -
775 
- -
778 
- -
780 
-
782 typedef struct
-
783 {
-
785  uint16_t magWindowSize;
-
786 
-
788  uint16_t accelWindowSize;
-
789 
-
791  uint16_t gyroWindowSize;
-
792 
-
794  uint16_t tempWindowSize;
-
795 
-
797  uint16_t presWindowSize;
-
798 
-
800  uint8_t magFilterMode;
-
801 
- -
804 
-
806  uint8_t gyroFilterMode;
-
807 
-
809  uint8_t tempFilterMode;
-
810 
-
812  uint8_t presFilterMode;
-
813 
- -
815 
-
817 typedef struct
-
818 {
- -
821 
- -
824 
- -
826 
-
828 typedef struct
-
829 {
- -
832 
-
834  uint16_t numMeas;
-
835 
- -
838 
- -
841 
- -
843 
-
845 typedef struct
-
846 {
-
848  uint16_t imuRate;
-
849 
-
851  uint16_t navDivisor;
-
852 
- -
855 
- -
858 
- -
860 
-
862 typedef struct
-
863 {
- -
866 
- -
869 
- -
872 
- -
874 
-
876 typedef struct
-
877 {
- -
880 
- -
883 
- -
886 
- -
888 
-
889 /* \} */
-
890 
-
891 typedef void (*VnSensor_PacketFoundHandler)(void *userData, VnUartPacket *packet, size_t runningIndex);
-
892 
-
894 typedef struct
-
895 {
-
896  VnSerialPort serialPort;
-
897 
-
898  /* Error detection mode to use for outgoing packets. */
-
899  VnErrorDetectionMode sendErrorDetectionMode;
-
900 
-
901  /* Timeout duration for waiting for a response from the sensor. */
-
902  uint16_t responseTimeoutMs;
-
903 
-
904  /* Delay between retransmitting commands. */
-
905  uint16_t retransmitDelayMs;
-
906 
-
907  VnCriticalSection transactionCS;
-
908 
-
909  VnEvent newResponsesEvent;
-
910 
-
911  /* Indicates if the transaction function is waiting for a response. */
-
912  bool waitingForResponse;
-
913 
-
914  /* Indicates if a response is waiting for processing by the transaction functions. */
-
915  bool responseWaitingForProcessing;
-
916 
-
917  size_t runningDataIndex;
-
918 
-
919  VnUartPacketFinder packetFinder;
-
920 
-
921  VnSensor_PacketFoundHandler asyncPacketFoundHandler;
-
922  void *asyncPacketFoundHandlerUserData;
-
923 
-
924  VnSensor_PacketFoundHandler errorMessageReceivedHandler;
-
925  void *errorMessageReceivedHandlerUserData;
-
926 
-
927  size_t responseLength;
-
928 
-
929  /* Holds any received response from the sensor for processing in our transaction functions. */
-
930  char response[0x100];
-
931 
-
932 } VnSensor;
-
933 
-
938 VnError VnSensor_initialize(VnSensor* sensor);
-
939 
-
946 VnError VnSensor_connect(VnSensor* sensor, const char* portName, uint32_t baudrate);
-
947 
-
952 VnError VnSensor_disconnect(VnSensor* sensor);
-
953 
-
960 VnError VnSensor_changeBaudrate(VnSensor* sensor, uint32_t baudrate);
-
961 
-
975 VnError VnSensor_transaction(VnSensor* sensor, char* toSend, size_t toSendLength, char* response, size_t* responseLength);
-
976 
-
981 bool VnSensor_isConnected(VnSensor* sensor);
-
982 
-
989 VnError VnSensor_writeSettings(VnSensor* sensor, bool waitForReply);
-
990 
-
997 VnError VnSensor_restoreFactorySettings(VnSensor* sensor, bool waitForReply);
-
998 
-
1005 VnError VnSensor_reset(VnSensor* sensor, bool waitForReply);
-
1006 
-
1013 VnError VnSensor_tare(VnSensor* sensor, bool waitForReply);
-
1014 
-
1021 VnError VnSensor_setGyroBias(VnSensor* sensor, bool waitForReply);
-
1022 
-
1030 VnError VnSensor_magneticDisturbancePresent(VnSensor* sensor, bool disturbancePresent, bool waitForReply);
-
1031 
-
1039 VnError VnSensor_accelerationDisturbancePresent(VnSensor* sensor, bool disturbancePresent, bool waitForReply);
-
1040 
- -
1046 
-
1057 uint16_t VnSensor_getResponseTimeoutMs(VnSensor* sensor);
-
1058 
-
1070 VnError VnSensor_setResponseTimeoutMs(VnSensor* sensor, uint16_t reponseTimeoutMs);
-
1071 
-
1081 uint16_t VnSensor_getRetransmitDelayMs(VnSensor* sensor);
-
1082 
-
1093 VnError VnSensor_setRetransmitDelayMs(VnSensor* sensor, uint16_t retransmitDelayMs);
-
1094 
-
1101 VnError VnSensor_registerAsyncPacketReceivedHandler(VnSensor *sensor, VnSensor_PacketFoundHandler handler, void *userData);
-
1102 
- -
1107 
-
1114 VnError VnSensor_registerErrorPacketReceivedHandler(VnSensor *sensor, VnSensor_PacketFoundHandler handler, void *userData);
-
1115 
- -
1121 
-
1133 VnError VnSensor_readBinaryOutput1(VnSensor *sensor, BinaryOutputRegister *fields);
-
1134 
-
1141 VnError VnSensor_writeBinaryOutput1(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply);
-
1142 
-
1148 VnError VnSensor_readBinaryOutput2(VnSensor *sensor, BinaryOutputRegister *fields);
-
1149 
-
1156 VnError VnSensor_writeBinaryOutput2(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply);
-
1157 
-
1163 VnError VnSensor_readBinaryOutput3(VnSensor *sensor, BinaryOutputRegister *fields);
-
1164 
-
1171 VnError VnSensor_writeBinaryOutput3(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply);
-
1172 
-
1173 #ifdef EXTRA
-
1174 
-
1180 VnError VnSensor_readBinaryOutput4(VnSensor *sensor, BinaryOutputRegister *fields);
-
1181 
-
1188 VnError VnSensor_writeBinaryOutput4(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply);
-
1189 
-
1195 VnError VnSensor_readBinaryOutput5(VnSensor *sensor, BinaryOutputRegister *fields);
-
1196 
-
1203 VnError VnSensor_writeBinaryOutput5(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply);
-
1204 
-
1205 #endif
-
1206 
-
1213 VnError VnSensor_readUserTag(VnSensor *sensor, char *tagBuffer, size_t tagBufferLength);
-
1214 
-
1221 VnError VnSensor_writeUserTag(VnSensor *sensor, char* tag, bool waitForReply);
-
1222 
-
1229 VnError VnSensor_readModelNumber(VnSensor *sensor, char *productNameBuffer, size_t productNameBufferLength);
-
1230 
-
1235 VnError VnSensor_readHardwareRevision(VnSensor *sensor, uint32_t *revision);
-
1236 
-
1241 VnError VnSensor_readSerialNumber(VnSensor *sensor, uint32_t *serialNum);
-
1242 
-
1249 VnError VnSensor_readFirmwareVersion(VnSensor *sensor, char *firmwareVersionBuffer, size_t firmwareVersionBufferLength);
-
1250 
-
1255 VnError VnSensor_readSerialBaudRate(VnSensor *sensor, uint32_t *baudrate);
-
1256 
-
1263 VnError VnSensor_writeSerialBaudRate(VnSensor *sensor, uint32_t baudrate, bool waitForReply);
-
1264 
-
1269 VnError VnSensor_readAsyncDataOutputType(VnSensor *sensor, VnAsciiAsync *ador);
-
1270 
-
1277 VnError VnSensor_writeAsyncDataOutputType(VnSensor *sensor, VnAsciiAsync ador, bool waitForReply);
-
1278 
-
1283 VnError VnSensor_readAsyncDataOutputFrequency(VnSensor *sensor, uint32_t *adof);
-
1284 
-
1291 VnError VnSensor_writeAsyncDataOutputFrequency(VnSensor *sensor, uint32_t adof, bool waitForReply);
-
1292 
-
1297 VnError VnSensor_readYawPitchRoll(VnSensor *sensor, vec3f *yawPitchRoll);
-
1298 
-
1303 VnError VnSensor_readAttitudeQuaternion(VnSensor *sensor, vec4f *quat);
-
1304 
- -
1311 
-
1316 VnError VnSensor_readMagneticMeasurements(VnSensor *sensor, vec3f *mag);
-
1317 
-
1322 VnError VnSensor_readAccelerationMeasurements(VnSensor *sensor, vec3f *accel);
-
1323 
-
1328 VnError VnSensor_readAngularRateMeasurements(VnSensor *sensor, vec3f *gyro);
-
1329 
- -
1336 
- -
1343 
- -
1351 
- -
1358 
-
1365 VnError VnSensor_writeMagnetometerCompensation(VnSensor *sensor, MagnetometerCompensationRegister fields, bool waitForReply);
-
1366 
- -
1373 
-
1380 VnError VnSensor_writeAccelerationCompensation(VnSensor *sensor, AccelerationCompensationRegister fields, bool waitForReply);
-
1381 
- -
1387 
-
1394 VnError VnSensor_writeReferenceFrameRotation(VnSensor *sensor, mat3f c, bool waitForReply);
-
1395 
- -
1402 
- -
1409 
- -
1417 
- -
1424 
-
1431 VnError VnSensor_writeSynchronizationControl(VnSensor *sensor, SynchronizationControlRegister fields, bool waitForReply);
-
1432 
- -
1439 
-
1446 VnError VnSensor_writeSynchronizationStatus(VnSensor *sensor, SynchronizationStatusRegister fields, bool waitForReply);
-
1447 
- -
1454 
-
1461 VnError VnSensor_writeVpeBasicControl(VnSensor *sensor, VpeBasicControlRegister fields, bool waitForReply);
-
1462 
- -
1469 
- -
1477 
- -
1484 
- -
1492 
- -
1499 
- -
1507 
- -
1514 
-
1519 VnError VnSensor_readVelocityCompensationMeasurement(VnSensor *sensor, vec3f *velocity);
-
1520 
-
1527 VnError VnSensor_writeVelocityCompensationMeasurement(VnSensor *sensor, vec3f velocity, bool waitForReply);
-
1528 
- -
1535 
- -
1543 
- -
1550 
- -
1557 
-
1564 VnError VnSensor_writeGpsConfiguration(VnSensor *sensor, GpsConfigurationRegister fields, bool waitForReply);
-
1565 
-
1570 VnError VnSensor_readGpsAntennaOffset(VnSensor *sensor, vec3f *position);
-
1571 
-
1578 VnError VnSensor_writeGpsAntennaOffset(VnSensor *sensor, vec3f position, bool waitForReply);
-
1579 
- -
1586 
- -
1593 
- -
1600 
- -
1607 
- -
1614 
- -
1622 
- -
1629 
- -
1637 
-
1643 VnError VnSensor_readInsStateLla(VnSensor *sensor, InsStateLlaRegister *fields);
-
1644 
-
1650 VnError VnSensor_readInsStateEcef(VnSensor *sensor, InsStateEcefRegister *fields);
-
1651 
- -
1658 
-
1665 VnError VnSensor_writeStartupFilterBiasEstimate(VnSensor *sensor, StartupFilterBiasEstimateRegister fields, bool waitForReply);
-
1666 
- -
1673 
- -
1680 
- -
1688 
- -
1695 
- -
1703 
- -
1710 
-
1717 VnError VnSensor_writeGyroCompensation(VnSensor *sensor, GyroCompensationRegister fields, bool waitForReply);
-
1718 
- -
1725 
-
1732 VnError VnSensor_writeImuFilteringConfiguration(VnSensor *sensor, ImuFilteringConfigurationRegister fields, bool waitForReply);
-
1733 
- -
1740 
-
1747 VnError VnSensor_writeGpsCompassBaseline(VnSensor *sensor, GpsCompassBaselineRegister fields, bool waitForReply);
-
1748 
- -
1755 
- -
1762 
- -
1769 
-
1778 void strFromSensorError(char *out, SensorError val);
-
1779 
-
1785 void strFromSyncInMode(char *out, VnSyncInMode val);
-
1786 
-
1792 void strFromSyncInEdge(char *out, VnSyncInEdge val);
-
1793 
-
1799 void strFromSyncOutMode(char *out, VnSyncOutMode val);
-
1800 
-
1806 void strFromSyncOutPolarity(char *out, VnSyncOutPolarity val);
-
1807 
-
1813 void strFromCountMode(char *out, VnCountMode val);
-
1814 
-
1820 void strFromStatusMode(char *out, VnStatusMode val);
-
1821 
-
1827 void strFromChecksumMode(char *out, VnChecksumMode val);
-
1828 
-
1834 void strFromErrorMode(char *out, VnErrorMode val);
-
1835 
-
1841 void strFromFilterMode(char *out, VnFilterMode val);
-
1842 
-
1848 void strFromIntegrationFrame(char *out, VnIntegrationFrame val);
-
1849 
-
1855 void strFromCompensationMode(char *out, VnCompensationMode val);
-
1856 
-
1862 void strFromGpsFix(char *out, VnGpsFix val);
-
1863 
-
1869 void strFromGpsMode(char *out, VnGpsMode val);
-
1870 
-
1876 void strFromPpsSource(char *out, VnPpsSource val);
-
1877 
-
1883 void strFromVpeEnable(char *out, VnVpeEnable val);
-
1884 
-
1890 void strFromHeadingMode(char *out, VnHeadingMode val);
-
1891 
-
1897 void strFromVpeMode(char *out, VnVpeMode val);
-
1898 
-
1904 void strFromScenario(char *out, VnScenario val);
-
1905 
-
1911 void strFromHsiMode(char *out, VnHsiMode val);
-
1912 
-
1918 void strFromHsiOutput(char *out, VnHsiOutput val);
-
1919 
-
1925 void strFromVelocityCompensationMode(char *out, VnVelocityCompensationMode val);
-
1926 
-
1932 void strFromMagneticMode(char *out, VnMagneticMode val);
-
1933 
-
1939 void strFromExternalSensorMode(char *out, VnExternalSensorMode val);
-
1940 
-
1946 void strFromFoamInit(char *out, VnFoamInit val);
-
1947 
-
1948 #ifdef __cplusplus
-
1949 }
-
1950 #endif
-
1951 
-
1952 #ifdef _WIN32
-
1953 #pragma warning(pop)
-
1954 #endif
-
1955 
-
1956 #endif
-
VnError VnSensor_writeReferenceFrameRotation(VnSensor *sensor, mat3f c, bool waitForReply)
Writes to the Reference Frame Rotation register.
-
Structure representing the GPS Configuration register.
Definition: sensors.h:455
-
uint8_t integrationFrame
The IntegrationFrame field.
Definition: sensors.h:740
-
VnError VnSensor_readInsSolutionLla(VnSensor *sensor, InsSolutionLlaRegister *fields)
Reads the INS Solution - LLA register.
-
vec3f velocity
The Velocity field.
Definition: sensors.h:698
-
vec3f velocity
The Velocity field.
Definition: sensors.h:516
-
float accelerationDisturbanceMemory
The Acceleration Disturbance Memory field.
Definition: sensors.h:161
-
float filterTargetRate
The filterTargetRate field.
Definition: sensors.h:854
-
Structure representing the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register...
Definition: sensors.h:862
-
uint8_t accelFilterMode
The AccelFilterMode field.
Definition: sensors.h:803
-
vec3f magRef
The MagRef field.
Definition: sensors.h:113
-
Structure representing the INS Solution - LLA register.
Definition: sensors.h:530
-
float accelerationDisturbanceGain
The Acceleration Disturbance Gain field.
Definition: sensors.h:155
-
Structure representing the Filter Basic Control register.
Definition: sensors.h:260
-
VnError VnSensor_writeDeltaThetaAndDeltaVelocityConfiguration(VnSensor *sensor, DeltaThetaAndDeltaVelocityConfigurationRegister fields, bool waitForReply)
Writes to the Delta Theta and Delta Velocity Configuration register.
-
float attUncertainty
The AttUncertainty field.
Definition: sensors.h:551
-
VnError VnSensor_writeAsyncDataOutputType(VnSensor *sensor, VnAsciiAsync ador, bool waitForReply)
Writes to the Async Data Output Type register.
-
Structure representing the IMU Rate Configuration register.
Definition: sensors.h:845
-
Data structure holding current parsing status of data received from a VectorNav sensor.
Definition: upackf.h:38
-
mat3f c
The C field.
Definition: sensors.h:169
-
vec3f b
The B field.
Definition: sensors.h:777
-
Structure representing the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register...
Definition: sensors.h:876
-
VnError VnSensor_readReferenceVectorConfiguration(VnSensor *sensor, ReferenceVectorConfigurationRegister *fields)
Reads the Reference Vector Configuration register.
-
vec3f angularRate
The AngularRate field.
Definition: sensors.h:684
-
uint8_t spiStatus
The SPIStatus field.
Definition: sensors.h:206
-
uint8_t syncOutMode
The SyncOutMode field.
Definition: sensors.h:232
-
VnError VnSensor_readMagneticMeasurements(VnSensor *sensor, vec3f *mag)
Reads the Magnetic Measurements register.
-
uint8_t serialCount
The SerialCount field.
Definition: sensors.h:197
-
Structure representing the INS Solution - ECEF register.
Definition: sensors.h:562
-
vec3d position
The Position field.
Definition: sensors.h:695
-
VnError VnSensor_registerErrorPacketReceivedHandler(VnSensor *sensor, VnSensor_PacketFoundHandler handler, void *userData)
Allows registering a callback for notification of when a sensor error message is received.
-
VnError VnSensor_readSerialBaudRate(VnSensor *sensor, uint32_t *baudrate)
Reads the Serial Baud Rate register.
-
float velUncertainty
The VelUncertainty field.
Definition: sensors.h:589
-
void strFromPpsSource(char *out, VnPpsSource val)
Converts a PpsSource into a string.
-
Structure representing the Filter Active Tuning Parameters register.
Definition: sensors.h:149
-
uint8_t gpsFix
The GpsFix field.
Definition: sensors.h:507
-
VnError VnSensor_writeMagnetometerCompensation(VnSensor *sensor, MagnetometerCompensationRegister fields, bool waitForReply)
Writes to the Magnetometer Compensation register.
-
VnError VnSensor_setResponseTimeoutMs(VnSensor *sensor, uint16_t reponseTimeoutMs)
Sets the current response timeout value in milliseconds used for communication with a sensor...
-
VnError VnSensor_writeBinaryOutput1(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply)
Writes to the Binary Output 1 register.
-
VnError VnSensor_readMagneticAndGravityReferenceVectors(VnSensor *sensor, MagneticAndGravityReferenceVectorsRegister *fields)
Reads the Magnetic and Gravity Reference Vectors register.
-
float rateTuning
The RateTuning field.
Definition: sensors.h:413
-
VnError VnSensor_writeVpeMagnetometerBasicTuning(VnSensor *sensor, VpeMagnetometerBasicTuningRegister fields, bool waitForReply)
Writes to the VPE Magnetometer Basic Tuning register.
-
vec3f gyro
The Gyro field.
Definition: sensors.h:885
-
uint8_t mode
The Mode field.
Definition: sensors.h:458
-
float angularWalkVariance
The Angular Walk Variance field.
Definition: sensors.h:124
-
Structure representing the VPE Basic Control register.
Definition: sensors.h:280
-
VnError VnSensor_writeVpeBasicControl(VnSensor *sensor, VpeBasicControlRegister fields, bool waitForReply)
Writes to the VPE Basic Control register.
-
void strFromVpeMode(char *out, VnVpeMode val)
Converts a VpeMode into a string.
-
void strFromCountMode(char *out, VnCountMode val)
Converts a CountMode into a string.
-
VnError VnSensor_readAccelerationCompensation(VnSensor *sensor, AccelerationCompensationRegister *fields)
Reads the Acceleration Compensation register.
-
VnError VnSensor_writeReferenceVectorConfiguration(VnSensor *sensor, ReferenceVectorConfigurationRegister fields, bool waitForReply)
Writes to the Reference Vector Configuration register.
-
AttitudeGroup attitudeField
Definition: sensors.h:51
-
vec3f uncertainty
The Uncertainty field.
Definition: sensors.h:840
-
vec3f adaptiveTuning
The AdaptiveTuning field.
Definition: sensors.h:374
-
Structure representing a UART packet received from a VectorNav sensor.
Definition: upack.h:34
-
float minVelUncertainty
The MinVelUncertainty field.
Definition: sensors.h:664
-
void strFromVpeEnable(char *out, VnVpeEnable val)
Converts a VpeEnable into a string.
-
vec3f omega
The omega field.
Definition: sensors.h:430
-
void strFromScenario(char *out, VnScenario val)
Converts a Scenario into a string.
-
uint16_t week
The Week field.
Definition: sensors.h:504
-
GpsGroup gpsField
Definition: sensors.h:50
-
VnError VnSensor_readGpsAntennaOffset(VnSensor *sensor, vec3f *position)
Reads the GPS Antenna Offset register.
-
float moveOrigin
The MoveOrigin field.
Definition: sensors.h:649
-
vec3f adaptiveFiltering
The AdaptiveFiltering field.
Definition: sensors.h:340
-
VnError VnSensor_readBinaryOutput3(VnSensor *sensor, BinaryOutputRegister *fields)
Reads the Binary Output 3 register.
-
VnError VnSensor_readVelocityCompensationMeasurement(VnSensor *sensor, vec3f *velocity)
Reads the Velocity Compensation Measurement register.
-
void strFromHeadingMode(char *out, VnHeadingMode val)
Converts a HeadingMode into a string.
-
bool VnSensor_isConnected(VnSensor *sensor)
Indicates if the VnSensor is connected.
-
float timeAcc
The TimeAcc field.
Definition: sensors.h:525
-
Structure representing the Startup Filter Bias Estimate register.
Definition: sensors.h:709
-
CommonGroup commonField
Definition: sensors.h:47
-
VnError VnSensor_readInsStateEcef(VnSensor *sensor, InsStateEcefRegister *fields)
Reads the INS State - ECEF register.
-
vec3f accRef
The AccRef field.
Definition: sensors.h:116
-
uint8_t gpsFix
The GpsFix field.
Definition: sensors.h:475
-
float attUncertainty
The AttUncertainty field.
Definition: sensors.h:583
-
uint8_t ahrsAiding
The AhrsAiding field.
Definition: sensors.h:600
-
VnError VnSensor_reset(VnSensor *sensor, bool waitForReply)
Issues a Reset command to the VectorNav sensor.
-
uint8_t estBaselineUsed
The EstBaselineUsed field.
Definition: sensors.h:831
-
vec3f gyro
The Gyro field.
Definition: sensors.h:871
-
VnError VnSensor_restoreFactorySettings(VnSensor *sensor, bool waitForReply)
Issues a Restore Factory Settings command to the VectorNav sensor.
-
uint8_t hsiOutput
The HSIOutput field.
Definition: sensors.h:385
-
Structure representing the VPE Gyro Basic Tuning register.
Definition: sensors.h:365
-
vec3f angularRate
The AngularRate field.
Definition: sensors.h:704
-
uint8_t tuningMode
The TuningMode field.
Definition: sensors.h:292
-
void strFromFoamInit(char *out, VnFoamInit val)
Converts a FoamInit into a string.
-
float timeAcc
The TimeAcc field.
Definition: sensors.h:493
-
void strFromGpsMode(char *out, VnGpsMode val)
Converts a GpsMode into a string.
-
VnError VnSensor_writeVelocityCompensationControl(VnSensor *sensor, VelocityCompensationControlRegister fields, bool waitForReply)
Writes to the Velocity Compensation Control register.
-
uint16_t gyroWindowSize
The GyroWindowSize field.
Definition: sensors.h:791
-
VnError VnSensor_readVpeMagnetometerBasicTuning(VnSensor *sensor, VpeMagnetometerBasicTuningRegister *fields)
Reads the VPE Magnetometer Basic Tuning register.
-
vec3f b
The B field.
Definition: sensors.h:144
-
vec3f adaptiveTuning
The AdaptiveTuning field.
Definition: sensors.h:303
-
Helpful structure for working with VectorNav sensors.
Definition: sensors.h:894
-
void BinaryOutputRegister_initialize(BinaryOutputRegister *reg, AsyncMode asyncMode, uint32_t rateDivisor, CommonGroup commonField, TimeGroup timeField, ImuGroup imuField, GpsGroup gpsField, AttitudeGroup attitudeField, InsGroup insField)
Initializes a BinaryOutputRegister structure.
-
uint32_t syncInCount
The SyncInCount field.
Definition: sensors.h:249
-
Structure representing the INS Basic Configuration register for a VN-200 sensor.
Definition: sensors.h:594
-
Structure representing the INS Basic Configuration register for a VN-300 sensor.
Definition: sensors.h:605
-
uint16_t presWindowSize
The PresWindowSize field.
Definition: sensors.h:797
-
vec3f accel
The Accel field.
Definition: sensors.h:102
-
float maxTuning
The MaxTuning field.
Definition: sensors.h:326
-
VnError VnSensor_readMagneticAccelerationAndAngularRates(VnSensor *sensor, MagneticAccelerationAndAngularRatesRegister *fields)
Reads the Magnetic, Acceleration and Angular Rates register.
-
float posUncertainty
The PosUncertainty field.
Definition: sensors.h:586
-
VnError VnSensor_readInsBasicConfigurationVn200(VnSensor *sensor, InsBasicConfigurationRegisterVn200 *fields)
Reads the INS Basic Configuration register for a VN-200 sensor.
-
uint8_t headingMode
The HeadingMode field.
Definition: sensors.h:286
-
vec3f angularRateVariance
The Angular Rate Variance field.
Definition: sensors.h:127
-
vec3f posAcc
The PosAcc field.
Definition: sensors.h:519
-
uint16_t tempWindowSize
The TempWindowSize field.
Definition: sensors.h:794
-
VnError VnSensor_writeVelocityCompensationMeasurement(VnSensor *sensor, vec3f velocity, bool waitForReply)
Writes to the Velocity Compensation Measurement register.
-
double time
The Time field.
Definition: sensors.h:565
-
VnError VnSensor_setGyroBias(VnSensor *sensor, bool waitForReply)
Issues a command to the VectorNav Sensor to set the Gyro's bias.
-
uint8_t estBaseline
The EstBaseline field.
Definition: sensors.h:614
-
VnError VnSensor_readAsyncDataOutputType(VnSensor *sensor, VnAsciiAsync *ador)
Reads the Async Data Output Type register.
-
uint8_t useMag
The UseMag field.
Definition: sensors.h:622
-
vec3f angularWalkVariance
The AngularWalkVariance field.
Definition: sensors.h:368
-
VnError VnSensor_readGpsConfiguration(VnSensor *sensor, GpsConfigurationRegister *fields)
Reads the GPS Configuration register.
-
VnError VnSensor_readYawPitchRollMagneticAccelerationAndAngularRates(VnSensor *sensor, YawPitchRollMagneticAccelerationAndAngularRatesRegister *fields)
Reads the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register.
-
VnError VnSensor_readCalculatedMagnetometerCalibration(VnSensor *sensor, CalculatedMagnetometerCalibrationRegister *fields)
Reads the Calculated Magnetometer Calibration register.
-
vec3f adaptiveFiltering
The AdaptiveFiltering field.
Definition: sensors.h:306
-
VnError VnSensor_writeGpsCompassBaseline(VnSensor *sensor, GpsCompassBaselineRegister fields, bool waitForReply)
Writes to the GPS Compass Baseline register.
-
float gpsTimeout
The GPSTimeout field.
Definition: sensors.h:652
-
void strFromVelocityCompensationMode(char *out, VnVelocityCompensationMode val)
Converts a VelocityCompensationMode into a string.
-
vec3d lla
The Lla field.
Definition: sensors.h:481
-
uint8_t velBias
The VelBias field.
Definition: sensors.h:634
-
vec3f gyro
The Gyro field.
Definition: sensors.h:91
-
void strFromSyncInMode(char *out, VnSyncInMode val)
Converts a SyncInMode into a string.
-
void strFromSyncInEdge(char *out, VnSyncInEdge val)
Converts a SyncInEdge into a string.
-
VnError VnSensor_writeMagnetometerCalibrationControl(VnSensor *sensor, MagnetometerCalibrationControlRegister fields, bool waitForReply)
Writes to the Magnetometer Calibration Control register.
-
Structure representing the GPS Compass Baseline register.
Definition: sensors.h:817
-
void strFromErrorMode(char *out, VnErrorMode val)
Converts a ErrorMode into a string.
-
VnError VnSensor_readAccelerationMeasurements(VnSensor *sensor, vec3f *accel)
Reads the Acceleration Measurements register.
-
uint8_t gyroCompensation
The GyroCompensation field.
Definition: sensors.h:743
-
VnError VnSensor_readGpsCompassEstimatedBaseline(VnSensor *sensor, GpsCompassEstimatedBaselineRegister *fields)
Reads the GPS Compass Estimated Baseline register.
-
vec3f b
The B field.
Definition: sensors.h:399
-
Structure representing the Magnetometer Compensation register.
Definition: sensors.h:138
-
uint16_t syncOutSkipFactor
The SyncOutSkipFactor field.
Definition: sensors.h:238
-
VnError VnSensor_connect(VnSensor *sensor, const char *portName, uint32_t baudrate)
Connects to a VectorNav sensor.
-
vec3f yawPitchRoll
The YawPitchRoll field.
Definition: sensors.h:865
-
VnError VnSensor_writeMagneticAndGravityReferenceVectors(VnSensor *sensor, MagneticAndGravityReferenceVectorsRegister fields, bool waitForReply)
Writes to the Magnetic and Gravity Reference Vectors register.
-
VnError VnSensor_writeInsBasicConfigurationVn200(VnSensor *sensor, InsBasicConfigurationRegisterVn200 fields, bool waitForReply)
Writes to the INS Basic Configuration register for a VN-200 sensor.
-
uint16_t week
The Week field.
Definition: sensors.h:472
-
VnError VnSensor_writeSynchronizationControl(VnSensor *sensor, SynchronizationControlRegister fields, bool waitForReply)
Writes to the Synchronization Control register.
-
void strFromHsiMode(char *out, VnHsiMode val)
Converts a HsiMode into a string.
-
vec3f mag
The Mag field.
Definition: sensors.h:85
-
uint8_t accelCompensation
The AccelCompensation field.
Definition: sensors.h:746
-
vec3f yawPitchRoll
The YawPitchRoll field.
Definition: sensors.h:879
-
Structure representing the INS State - ECEF register.
Definition: sensors.h:689
-
void strFromGpsFix(char *out, VnGpsFix val)
Converts a GpsFix into a string.
-
uint8_t gyroFilterMode
The GyroFilterMode field.
Definition: sensors.h:806
-
uint8_t ahrsAiding
The AhrsAiding field.
Definition: sensors.h:611
-
Provides access to a serial port.
Definition: serialport.h:48
-
vec3f position
The Position field.
Definition: sensors.h:837
-
vec4f quat
The Quat field.
Definition: sensors.h:82
-
Structure representing the IMU Filtering Configuration register.
Definition: sensors.h:782
-
uint16_t numMeas
The NumMeas field.
Definition: sensors.h:834
-
VnError VnSensor_initialize(VnSensor *sensor)
Initializes a VnSensor structure.
-
uint16_t week
The Week field.
Definition: sensors.h:536
-
VnError VnSensor_readAngularRateMeasurements(VnSensor *sensor, vec3f *gyro)
Reads the Angular Rate Measurements register.
-
VnError VnSensor_readStartupFilterBiasEstimate(VnSensor *sensor, StartupFilterBiasEstimateRegister *fields)
Reads the Startup Filter Bias Estimate register.
-
uint32_t recalcThreshold
The RecalcThreshold field.
Definition: sensors.h:760
-
VnError VnSensor_readDeltaThetaAndDeltaVelocity(VnSensor *sensor, DeltaThetaAndDeltaVelocityRegister *fields)
Reads the Delta Theta and Delta Velocity register.
-
uint8_t usePres
The UsePres field.
Definition: sensors.h:625
-
VnError VnSensor_readVelocityCompensationControl(VnSensor *sensor, VelocityCompensationControlRegister *fields)
Reads the Velocity Compensation Control register.
-
VnError VnSensor_readReferenceFrameRotation(VnSensor *sensor, mat3f *c)
Reads the Reference Frame Rotation register.
-
Structure representing the Gyro Compensation register.
Definition: sensors.h:771
-
vec3f gyroBias
The GyroBias field.
Definition: sensors.h:712
-
VnError VnSensor_readBinaryOutput2(VnSensor *sensor, BinaryOutputRegister *fields)
Reads the Binary Output 2 register.
-
double tow
The Tow field.
Definition: sensors.h:501
-
vec3f accel
The Accel field.
Definition: sensors.h:441
-
VnError VnSensor_readImuMeasurements(VnSensor *sensor, ImuMeasurementsRegister *fields)
Reads the IMU Measurements register.
-
vec3f deltaTheta
The DeltaTheta field.
Definition: sensors.h:729
-
vec3f yawPitchRoll
The YawPitchRoll field.
Definition: sensors.h:672
-
vec3f mag
The Mag field.
Definition: sensors.h:183
-
VnError VnSensor_readInsBasicConfigurationVn300(VnSensor *sensor, InsBasicConfigurationRegisterVn300 *fields)
Reads the INS Basic Configuration register for a VN-300 sensor.
-
uint16_t VnSensor_getResponseTimeoutMs(VnSensor *sensor)
Returns the current response timeout value in milliseconds used for communication with a sensor...
-
vec3f uncertainty
The Uncertainty field.
Definition: sensors.h:823
-
VnError VnSensor_readGpsCompassBaseline(VnSensor *sensor, GpsCompassBaselineRegister *fields)
Reads the GPS Compass Baseline register.
-
uint32_t syncOutCount
The SyncOutCount field.
Definition: sensors.h:255
-
Represents a 4 component vector with an underlying data type of float.
Definition: vector.h:68
-
VnError VnSensor_writeSerialBaudRate(VnSensor *sensor, uint32_t baudrate, bool waitForReply)
Writes to the Serial Baud Rate register.
-
Structure representing the Quaternion, Magnetic, Acceleration and Angular Rates register.
Definition: sensors.h:79
-
vec3f yawPitchRoll
The YawPitchRoll field.
Definition: sensors.h:542
-
float posUncertainty
The PosUncertainty field.
Definition: sensors.h:554
-
float minPosUncertainty
The MinPosUncertainty field.
Definition: sensors.h:661
-
uint8_t magMode
The MagMode field.
Definition: sensors.h:263
-
VnError VnSensor_readMagnetometerCompensation(VnSensor *sensor, MagnetometerCompensationRegister *fields)
Reads the Magnetometer Compensation register.
-
VnError VnSensor_writeAsyncDataOutputFrequency(VnSensor *sensor, uint32_t adof, bool waitForReply)
Writes to the Async Data Output Frequency register.
-
vec3f adaptiveTuning
The AdaptiveTuning field.
Definition: sensors.h:337
-
void strFromFilterMode(char *out, VnFilterMode val)
Converts a FilterMode into a string.
-
Structure representing an event.
Definition: event.h:41
-
Represents a 3 component vector with an underlying data type of double.
Definition: vector.h:41
-
float velInit
The VelInit field.
Definition: sensors.h:646
-
VnError VnSensor_writeGyroCompensation(VnSensor *sensor, GyroCompensationRegister fields, bool waitForReply)
Writes to the Gyro Compensation register.
-
float deltaTime
The DeltaTime field.
Definition: sensors.h:726
-
bool VnSensor_verifySensorConnectivity(VnSensor *sensor)
Checks if we are able to send and receive communication with a sensor.
-
uint16_t imuRate
The imuRate field.
Definition: sensors.h:848
-
InsGroup insField
Definition: sensors.h:52
-
Structure representing the GPS Solution - ECEF register.
Definition: sensors.h:498
-
uint16_t navDivisor
The NavDivisor field.
Definition: sensors.h:851
-
uint8_t gpsCovType
The GPSCovType field.
Definition: sensors.h:640
-
VnError VnSensor_accelerationDisturbancePresent(VnSensor *sensor, bool disturbancePresent, bool waitForReply)
Command to inform the VectorNav Sensor if there is an acceleration disturbance present.
-
VnError VnSensor_registerAsyncPacketReceivedHandler(VnSensor *sensor, VnSensor_PacketFoundHandler handler, void *userData)
Allows registering a callback for notification of when an asynchronous data packet is received...
-
uint8_t numSats
The NumSats field.
Definition: sensors.h:510
-
VnError VnSensor_writeBinaryOutput3(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply)
Writes to the Binary Output 3 register.
-
void strFromChecksumMode(char *out, VnChecksumMode val)
Converts a ChecksumMode into a string.
-
Structure representing the Synchronization Status register.
Definition: sensors.h:246
-
vec3d position
The Position field.
Definition: sensors.h:577
-
vec3f accelBias
The AccelBias field.
Definition: sensors.h:715
-
vec3f velocity
The Velocity field.
Definition: sensors.h:678
-
VnError VnSensor_unregisterErrorPacketReceivedHandler(VnSensor *sensor)
Allows unregistering callbacks for notifications of when a sensor error message is recieved...
-
vec3f b
The B field.
Definition: sensors.h:172
-
Structure representing the Delta Theta and Delta Velocity register.
Definition: sensors.h:723
-
Structure representing the VPE Magnetometer Basic Tuning register.
Definition: sensors.h:297
-
vec3f gyroLimit
The GyroLimit field.
Definition: sensors.h:275
-
uint8_t useMagModel
The UseMagModel field.
Definition: sensors.h:754
-
VnError VnSensor_readFirmwareVersion(VnSensor *sensor, char *firmwareVersionBuffer, size_t firmwareVersionBufferLength)
Reads the Firmware Version register.
-
void strFromCompensationMode(char *out, VnCompensationMode val)
Converts a CompensationMode into a string.
-
VnError VnSensor_unregisterAsyncPacketReceivedHandler(VnSensor *sensor)
Allows unregistering from callback notifications when asynchronous data packets are received...
-
vec3f deltaVelocity
The DeltaVelocity field.
Definition: sensors.h:732
-
VnError VnSensor_readVpeAccelerometerBasicTuning(VnSensor *sensor, VpeAccelerometerBasicTuningRegister *fields)
Reads the VPE Accelerometer Basic Tuning register.
-
Structure representing the Delta Theta and Delta Velocity Configuration register. ...
Definition: sensors.h:737
-
float speedAcc
The SpeedAcc field.
Definition: sensors.h:490
-
Structure representing the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register...
Definition: sensors.h:177
-
uint8_t posAtt
The PosAtt field.
Definition: sensors.h:628
-
vec3f nedVel
The NedVel field.
Definition: sensors.h:484
-
VnError VnSensor_magneticDisturbancePresent(VnSensor *sensor, bool disturbancePresent, bool waitForReply)
Command to inform the VectorNav Sensor if there is a magnetic disturbance present.
-
vec3f bodyAccel
The BodyAccel field.
Definition: sensors.h:868
-
uint8_t velCount
The VelCount field.
Definition: sensors.h:643
-
vec3d position
The Position field.
Definition: sensors.h:545
-
vec3f inertialAccel
The InertialAccel field.
Definition: sensors.h:882
-
vec3f baseTuning
The BaseTuning field.
Definition: sensors.h:371
-
uint8_t spiCount
The SPICount field.
Definition: sensors.h:203
-
void strFromSyncOutMode(char *out, VnSyncOutMode val)
Converts a SyncOutMode into a string.
-
AsyncMode asyncMode
Definition: sensors.h:45
-
uint8_t velAtt
The VelAtt field.
Definition: sensors.h:631
-
uint8_t hsiMode
The HSIMode field.
Definition: sensors.h:382
-
VnError VnSensor_readCommunicationProtocolControl(VnSensor *sensor, CommunicationProtocolControlRegister *fields)
Reads the Communication Protocol Control register.
-
VnError VnSensor_readMagnetometerCalibrationControl(VnSensor *sensor, MagnetometerCalibrationControlRegister *fields)
Reads the Magnetometer Calibration Control register.
-
Structure representing the Velocity Compensation Control register.
Definition: sensors.h:404
-
vec3f mag
The Mag field.
Definition: sensors.h:99
-
Structure representing the IMU Measurements register.
Definition: sensors.h:435
-
VnError VnSensor_writeCommunicationProtocolControl(VnSensor *sensor, CommunicationProtocolControlRegister fields, bool waitForReply)
Writes to the Communication Protocol Control register.
-
VnError VnSensor_readBinaryOutput1(VnSensor *sensor, BinaryOutputRegister *fields)
Reads the Binary Output 1 register.
-
uint16_t magWindowSize
The MagWindowSize field.
Definition: sensors.h:785
-
uint16_t week
The Week field.
Definition: sensors.h:568
-
uint16_t status
The Status field.
Definition: sensors.h:571
-
float disturbanceWindow
The DisturbanceWindow field.
Definition: sensors.h:323
-
Structure representing the GPS Compass Estimated Baseline register.
Definition: sensors.h:828
-
uint16_t VnSensor_getRetransmitDelayMs(VnSensor *sensor)
Gets the current retransmit delay used for communication with a sensor.
-
void strFromSyncOutPolarity(char *out, VnSyncOutPolarity val)
Converts a SyncOutPolarity into a string.
-
double time
The Time field.
Definition: sensors.h:533
-
VnError VnSensor_disconnect(VnSensor *sensor)
Disconnects from a VectorNav sensor.
-
float x
The x field.
Definition: sensors.h:421
-
Definition: criticalsection.h:38
-
uint32_t syncOutPulseWidth
The SyncOutPulseWidth field.
Definition: sensors.h:241
-
VnError VnSensor_readGyroCompensation(VnSensor *sensor, GyroCompensationRegister *fields)
Reads the Gyro Compensation register.
-
uint16_t status
The Status field.
Definition: sensors.h:539
-
vec3f minFiltering
The MinFiltering field.
Definition: sensors.h:314
-
vec3f accel
The Accel field.
Definition: sensors.h:186
-
vec3f nedVel
The NedVel field.
Definition: sensors.h:548
-
vec3f magneticVariance
The Magnetic Variance field.
Definition: sensors.h:130
-
VnError VnSensor_writeVpeAccelerometerBasicTuning(VnSensor *sensor, VpeAccelerometerBasicTuningRegister fields, bool waitForReply)
Writes to the VPE Accelerometer Basic Tuning register.
-
uint8_t errorMode
The ErrorMode field.
Definition: sensors.h:215
-
void strFromHsiOutput(char *out, VnHsiOutput val)
Converts a HsiOutput into a string.
-
uint8_t enable
The Enable field.
Definition: sensors.h:283
-
VnError VnSensor_readQuaternionMagneticAccelerationAndAngularRates(VnSensor *sensor, QuaternionMagneticAccelerationAndAngularRatesRegister *fields)
Reads the Quaternion, Magnetic, Acceleration and Angular Rates register.
-
VnError VnSensor_readYawPitchRoll(VnSensor *sensor, vec3f *yawPitchRoll)
Reads the Yaw Pitch Roll register.
-
vec3f position
The Position field.
Definition: sensors.h:820
-
uint8_t scenario
The Scenario field.
Definition: sensors.h:597
-
double time
The Time field.
Definition: sensors.h:469
-
Structure representing the Calculated Magnetometer Calibration register.
Definition: sensors.h:393
-
vec3f accel
The Accel field.
Definition: sensors.h:88
-
float pressureBias
The PressureBias field.
Definition: sensors.h:718
-
float maxTuning
The MaxTuning field.
Definition: sensors.h:360
-
vec3f baseTuning
The BaseTuning field.
Definition: sensors.h:334
-
vec3f gyro
The Gyro field.
Definition: sensors.h:105
-
uint8_t useGravityModel
The UseGravityModel field.
Definition: sensors.h:757
-
VnError VnSensor_readSerialNumber(VnSensor *sensor, uint32_t *serialNum)
Reads the Serial Number register.
-
VnError VnSensor_readHardwareRevision(VnSensor *sensor, uint32_t *revision)
Reads the Hardware Revision register.
-
uint8_t filteringMode
The FilteringMode field.
Definition: sensors.h:289
-
uint8_t convergeRate
The ConvergeRate field.
Definition: sensors.h:388
-
uint8_t syncInEdge
The SyncInEdge field.
Definition: sensors.h:226
-
Structure representing the Reference Vector Configuration register.
Definition: sensors.h:751
-
vec3f accel
The Accel field.
Definition: sensors.h:701
-
vec3f maxFiltering
The MaxFiltering field.
Definition: sensors.h:317
-
VnError VnSensor_writeGpsAntennaOffset(VnSensor *sensor, vec3f position, bool waitForReply)
Writes to the GPS Antenna Offset register.
-
VnError VnSensor_writeStartupFilterBiasEstimate(VnSensor *sensor, StartupFilterBiasEstimateRegister fields, bool waitForReply)
Writes to the Startup Filter Bias Estimate register.
-
vec3f nedAcc
The NedAcc field.
Definition: sensors.h:487
-
vec3f maxFiltering
The MaxFiltering field.
Definition: sensors.h:351
-
VnError VnSensor_readModelNumber(VnSensor *sensor, char *productNameBuffer, size_t productNameBufferLength)
Reads the Model Number register.
-
Structure representing the Magnetometer Calibration Control register.
Definition: sensors.h:379
-
vec3f accelerationVariance
The Acceleration Variance field.
Definition: sensors.h:133
-
VnError VnSensor_writeGpsConfiguration(VnSensor *sensor, GpsConfigurationRegister fields, bool waitForReply)
Writes to the GPS Configuration register.
-
float magneticDisturbanceMemory
The Magnetic Disturbance Memory field.
Definition: sensors.h:158
-
uint32_t syncInTime
The SyncInTime field.
Definition: sensors.h:252
-
uint16_t rateDivisor
Definition: sensors.h:46
- -
vec3f minFiltering
The MinFiltering field.
Definition: sensors.h:348
-
uint8_t serialStatus
The SerialStatus field.
Definition: sensors.h:200
-
vec3f velocity
The Velocity field.
Definition: sensors.h:580
-
void strFromExternalSensorMode(char *out, VnExternalSensorMode val)
Converts a ExternalSensorMode into a string.
-
vec3f accel
The Accel field.
Definition: sensors.h:681
-
uint8_t useFoam
The UseFoam field.
Definition: sensors.h:637
-
uint8_t magFilterMode
The MagFilterMode field.
Definition: sensors.h:800
-
vec3f mag
The Mag field.
Definition: sensors.h:438
-
uint8_t tempFilterMode
The TempFilterMode field.
Definition: sensors.h:809
-
VnError VnSensor_writeSynchronizationStatus(VnSensor *sensor, SynchronizationStatusRegister fields, bool waitForReply)
Writes to the Synchronization Status register.
-
mat3f c
The C field.
Definition: sensors.h:774
-
vec3f accelOffset
The accelOffset field.
Definition: sensors.h:427
-
uint16_t accelWindowSize
The AccelWindowSize field.
Definition: sensors.h:788
-
float deltaLimitPos
The DeltaLimitPos field.
Definition: sensors.h:655
-
VnError VnSensor_readSynchronizationControl(VnSensor *sensor, SynchronizationControlRegister *fields)
Reads the Synchronization Control register.
-
VnError VnSensor_readUserTag(VnSensor *sensor, char *tagBuffer, size_t tagBufferLength)
Reads the User Tag register.
-
Structure representing a Binary Output register.
Definition: sensors.h:43
-
vec3d position
The Position field.
Definition: sensors.h:513
-
void strFromStatusMode(char *out, VnStatusMode val)
Converts a StatusMode into a string.
-
Structure representing the INS State - LLA register.
Definition: sensors.h:669
-
VnError VnSensor_transaction(VnSensor *sensor, char *toSend, size_t toSendLength, char *response, size_t *responseLength)
Sends the provided command and returns the response from the sensor.
-
float maxAdaptRate
The MaxAdaptRate field.
Definition: sensors.h:320
-
VnError VnSensor_writeSettings(VnSensor *sensor, bool waitForReply)
Issues a Write Settings command to the VectorNav Sensor.
-
Represents a 3x3 matrix with an underlying data type of float.
Definition: matrix.h:11
-
float pressure
The Pressure field.
Definition: sensors.h:450
-
Structure representing the Synchronization Control register.
Definition: sensors.h:220
-
uint8_t serialChecksum
The SerialChecksum field.
Definition: sensors.h:209
-
Structure representing the Magnetic and Gravity Reference Vectors register.
Definition: sensors.h:110
-
VnError VnSensor_readImuFilteringConfiguration(VnSensor *sensor, ImuFilteringConfigurationRegister *fields)
Reads the IMU Filtering Configuration register.
-
VnError VnSensor_readInsStateLla(VnSensor *sensor, InsStateLlaRegister *fields)
Reads the INS State - LLA register.
-
VnError VnSensor_writeInsBasicConfigurationVn300(VnSensor *sensor, InsBasicConfigurationRegisterVn300 fields, bool waitForReply)
Writes to the INS Basic Configuration register for a VN-300 sensor.
-
float xDot
The xDot field.
Definition: sensors.h:424
-
void strFromIntegrationFrame(char *out, VnIntegrationFrame val)
Converts a IntegrationFrame into a string.
-
vec3f yawPitchRoll
The YawPitchRoll field.
Definition: sensors.h:692
-
vec3f yawPitchRoll
The YawPitchRoll field.
Definition: sensors.h:574
-
uint8_t extAccMode
The ExtAccMode field.
Definition: sensors.h:269
-
mat3f c
The C field.
Definition: sensors.h:141
-
void strFromMagneticMode(char *out, VnMagneticMode val)
Converts a MagneticMode into a string.
-
float disturbanceWindow
The DisturbanceWindow field.
Definition: sensors.h:357
-
VnError VnSensor_readAttitudeQuaternion(VnSensor *sensor, vec4f *quat)
Reads the Attitude Quaternion register.
-
VnError VnSensor_writeBinaryOutput2(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply)
Writes to the Binary Output 2 register.
-
vec3d position
The Position field.
Definition: sensors.h:675
-
vec3f yawPitchRoll
The YawPitchRoll field.
Definition: sensors.h:180
-
Structure representing the VPE Accelerometer Basic Tuning register.
Definition: sensors.h:331
-
float year
The Year field.
Definition: sensors.h:763
-
VnError VnSensor_writeAccelerationCompensation(VnSensor *sensor, AccelerationCompensationRegister fields, bool waitForReply)
Writes to the Acceleration Compensation register.
-
vec3d position
The Position field.
Definition: sensors.h:766
-
float magneticDisturbanceGain
The Magnetic Disturbance Gain field.
Definition: sensors.h:152
-
uint16_t syncInSkipFactor
The SyncInSkipFactor field.
Definition: sensors.h:229
-
float filterMinRate
The filterMinRate field.
Definition: sensors.h:857
-
vec3f gyro
The Gyro field.
Definition: sensors.h:444
-
VnError VnSensor_readGpsSolutionEcef(VnSensor *sensor, GpsSolutionEcefRegister *fields)
Reads the GPS Solution - ECEF register.
-
uint8_t extMagMode
The ExtMagMode field.
Definition: sensors.h:266
-
uint8_t syncInMode
The SyncInMode field.
Definition: sensors.h:223
-
vec3f baseTuning
The BaseTuning field.
Definition: sensors.h:300
-
uint8_t scenario
The Scenario field.
Definition: sensors.h:608
-
VnError VnSensor_writeUserTag(VnSensor *sensor, char *tag, bool waitForReply)
Writes to the User Tag register.
-
float maxAdaptRate
The MaxAdaptRate field.
Definition: sensors.h:354
-
VnError VnSensor_readDeltaThetaAndDeltaVelocityConfiguration(VnSensor *sensor, DeltaThetaAndDeltaVelocityConfigurationRegister *fields)
Reads the Delta Theta and Delta Velocity Configuration register.
-
uint8_t presFilterMode
The PresFilterMode field.
Definition: sensors.h:812
-
uint8_t extGyroMode
The ExtGyroMode field.
Definition: sensors.h:272
-
ImuGroup imuField
Definition: sensors.h:49
-
Structure representing the VPE Accelerometer Advanced Tuning register.
Definition: sensors.h:345
-
uint8_t ppsSource
The PpsSource field.
Definition: sensors.h:461
-
uint8_t syncOutPolarity
The SyncOutPolarity field.
Definition: sensors.h:235
-
vec3f gyro
The Gyro field.
Definition: sensors.h:189
-
Various vector types and operations.
Definition: vector.h:14
-
float velUncertainty
The VelUncertainty field.
Definition: sensors.h:557
-
Structure representing the Magnetic, Acceleration and Angular Rates register.
Definition: sensors.h:96
-
VnError VnSensor_writeImuFilteringConfiguration(VnSensor *sensor, ImuFilteringConfigurationRegister fields, bool waitForReply)
Writes to the IMU Filtering Configuration register.
-
Structure representing the Acceleration Compensation register.
Definition: sensors.h:166
-
float velocityTuning
The VelocityTuning field.
Definition: sensors.h:410
-
Structure representing the GPS Solution - LLA register.
Definition: sensors.h:466
-
float deltaLimitVel
The DeltaLimitVel field.
Definition: sensors.h:658
-
uint8_t numSats
The NumSats field.
Definition: sensors.h:478
-
VnError VnSensor_readInsSolutionEcef(VnSensor *sensor, InsSolutionEcefRegister *fields)
Reads the INS Solution - ECEF register.
-
Structure representing the VPE Magnetometer Advanced Tuning register.
Definition: sensors.h:311
-
VnError VnSensor_changeBaudrate(VnSensor *sensor, uint32_t baudrate)
Issues a change baudrate to the VectorNav sensor and then reconnectes the attached serial port at the...
-
Structure representing the INS Advanced Configuration register.
Definition: sensors.h:619
-
VnError VnSensor_tare(VnSensor *sensor, bool waitForReply)
Issues a tare command to the VectorNav Sensor.
-
void strFromSensorError(char *out, SensorError val)
Converts a sensor error into a string.
-
uint8_t mode
The Mode field.
Definition: sensors.h:407
-
Structure representing the Communication Protocol Control register.
Definition: sensors.h:194
-
TimeGroup timeField
Definition: sensors.h:48
-
VnError VnSensor_readAsyncDataOutputFrequency(VnSensor *sensor, uint32_t *adof)
Reads the Async Data Output Frequency register.
-
VnError VnSensor_readVpeBasicControl(VnSensor *sensor, VpeBasicControlRegister *fields)
Reads the VPE Basic Control register.
-
VnError VnSensor_readYawPitchRollTrueBodyAccelerationAndAngularRates(VnSensor *sensor, YawPitchRollTrueBodyAccelerationAndAngularRatesRegister *fields)
Reads the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register.
-
Structure representing the Velocity Compensation Status register.
Definition: sensors.h:418
-
mat3f c
The C field.
Definition: sensors.h:396
-
uint8_t spiChecksum
The SPIChecksum field.
Definition: sensors.h:212
-
VnError VnSensor_setRetransmitDelayMs(VnSensor *sensor, uint16_t retransmitDelayMs)
Sets the current retransmit delay used for communication with a sensor.
-
VnError VnSensor_readYawPitchRollTrueInertialAccelerationAndAngularRates(VnSensor *sensor, YawPitchRollTrueInertialAccelerationAndAngularRatesRegister *fields)
Reads the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register.
-
float speedAcc
The SpeedAcc field.
Definition: sensors.h:522
-
float temp
The Temp field.
Definition: sensors.h:447
-
Structure representing the Filter Measurements Variance Parameters register.
Definition: sensors.h:121
-
VnError VnSensor_readGpsSolutionLla(VnSensor *sensor, GpsSolutionLlaRegister *fields)
Reads the GPS Solution - LLA register.
-
VnError VnSensor_readSynchronizationStatus(VnSensor *sensor, SynchronizationStatusRegister *fields)
Reads the Synchronization Status register.
-
- - - - diff --git a/vnproglib/c/help/serialport_8h_source.html b/vnproglib/c/help/serialport_8h_source.html deleted file mode 100644 index ae965a9..0000000 --- a/vnproglib/c/help/serialport_8h_source.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - -VectorNav C Library: serialport.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
serialport.h
-
-
-
1 #ifndef VN_SERIALPORT_H
-
2 #define VN_SERIALPORT_H
-
3 
-
6 #include "vn/int.h"
-
7 #include "vn/error.h"
-
8 #include "vn/bool.h"
-
9 #include "vn/xplat/thread.h"
- -
11 
-
12 #if defined(_WIN32)
-
13 
-
14  /* Disable some warnings for Visual Studio with -Wall. */
-
15  #if defined(_MSC_VER)
-
16  #pragma warning(push)
-
17  #pragma warning(disable:4668)
-
18  #pragma warning(disable:4820)
-
19  #pragma warning(disable:4255)
-
20  #endif
-
21 
-
22  #include <Windows.h>
-
23 
-
24  #if defined(_MSC_VER)
-
25  #pragma warning(pop)
-
26  #endif
-
27 #endif
-
28 
-
29 #ifdef __linux__
-
30  #include <linux/serial.h>
-
31 #elif defined __APPLE__
-
32  #include <dirent.h>
-
33 #endif
-
34 
-
35 #ifdef __cplusplus
-
36 extern "C" {
-
37 #endif
-
38 
-
40 typedef void (*VnSerialPort_DataReceivedHandler)(void *userData);
-
41 
-
42 #ifdef _WIN32
-
43 #pragma warning(push)
-
44 #pragma warning(disable : 4820)
-
45 #endif
-
46 
-
48 typedef struct
-
49 {
-
50  #ifdef _WIN32
-
51  HANDLE handle;
-
52  /* Windows appears to need single-thread access to read/write API functions. */
-
53  VnCriticalSection readWriteCS;
-
54  #elif (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__)
-
55  int handle;
-
56  #else
-
57  #error "Unknown System"
-
58  #endif
-
59 
-
60  bool purgeFirstDataBytesWhenSerialPortIsFirstOpened;
-
61 
-
62  VnSerialPort_DataReceivedHandler dataReceivedHandler;
-
63 
-
64  void *dataReceivedHandlerUserData;
-
65 
-
66  VnThread serialPortNotificationsThread;
-
67 
-
68  bool continueHandlingSerialPortEvents;
-
69 
-
70  size_t numberOfReceiveDataDroppedSections;
-
71 
-
72  VnCriticalSection dataReceivedHandlerCriticalSection;
-
73 
-
74  char portName[50];
-
75 
-
76 } VnSerialPort;
-
77 
-
78 #ifdef _WIN32
-
79 #pragma warning(pop)
-
80 #endif
-
81 
-
86 VnError VnSerialPort_initialize(VnSerialPort *serialport);
-
87 
-
94 VnError VnSerialPort_open(VnSerialPort *serialport, char const *portName, uint32_t baudrate);
-
95 
-
100 VnError VnSerialPort_close(VnSerialPort *serialport);
-
101 
-
106 bool VnSerialPort_isOpen(VnSerialPort *serialport);
-
107 
-
115 VnError VnSerialPort_read(VnSerialPort *serialport, char *buffer, size_t numOfBytesToRead, size_t *numOfBytesActuallyRead);
-
116 
-
123 VnError VnSerialPort_write(VnSerialPort *serialport, char const *data, size_t numOfBytesToWrite);
-
124 
-
130 VnError VnSerialPort_changeBaudrate(VnSerialPort *serialport, uint32_t baudrate);
-
131 
-
138 VnError VnSerialPort_registerDataReceivedHandler(VnSerialPort *serialPort, VnSerialPort_DataReceivedHandler handler, void *userData);
-
139 
-
143 VnError VnSerialPort_unregisterDataReceivedHandler(VnSerialPort *serialPort);
-
144 
-
145 #ifdef __cplusplus
-
146 }
-
147 #endif
-
148 
-
149 #endif
- -
Provides access to a serial port.
Definition: serialport.h:48
- -
Definition: criticalsection.h:38
-
Structure for working with threads.
Definition: thread.h:40
-
- - - - diff --git a/vnproglib/c/help/spi_2main_8c-example.html b/vnproglib/c/help/spi_2main_8c-example.html deleted file mode 100644 index 04eca72..0000000 --- a/vnproglib/c/help/spi_2main_8c-example.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - - -VectorNav C Library: spi/main.c - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - -
- -
-
- - -
- -
- -
-
-
spi/main.c
-
-
-

This example illustrates communicating with a VectorNav sensor using the SPI protocol. Since access to the low-level SPI communication interface is specific to each platform, this example "mocks" the SPI module and serve as a starting point for replacing with the SPI access code specific to your platforms.

-

-Visual Studio (Windows)

-
    -
  1. Open the solution file for your specific Visual Studio version located at <root>/c/examples/spi/projects/vs20XX/spi.sln.
    -
    -
  2. -
  3. Build the entire solution by going to the menu BUILD -> Build Solution.
    -
    -
  4. -
  5. Right-click the project spi and select Debug -> Start new instance.
  6. -
-

-Make (Linux/Mac OS X)

-
    -
  1. Open a terminal and change to the directory <root>/c/examples/spi .
    -
    -
  2. -
  3. To build the example, run the command make .
    -
    -
  4. -
  5. Run the example by executing the command ./spi .
  6. -
-

-CLion (Windows/Linux/Mac OS X)

-
    -
  1. Open the project file located at <root>/c/examples/spi in CLion.
    -
    -
  2. -
  3. Make sure the spi configuration is active. You can set this by clicking the small drop-down list in the upper-right corner and selecting the option spi.
    -
    -
  4. -
  5. Build the solution by going to the menu Run -> Build.
    -
    -
  6. -
  7. Run the example by going to the menu Run -> Run 'spi'.
  8. -
-

-Other

-

To compile and run for an environment not listed here, you will need to add all of the *.c files in the directory <root>/c/src along with the file located at <root>/c/examples/spi/main.c to your project for compilation. You will also need to add <root>/c/include to your include directories.

-

-Source

-
#include <stdio.h>
-
#include <string.h>
-
-
/* Include to get access to the VectorNav SPI functions. */
-
#include "vn/protocol/spi.h"
-
#include "vn/protocol/common.h"
- -
-
int display_error(const char* msg);
-
void mockspi_initialize(void);
-
void mockspi_writeread(const char* dataOut, size_t dataOutSize, char* dataIn);
-
-
int main(void)
-
{
-
/* This example walks through using the VectorNav C Library to connect to
-
* and interact with a mock VectorNav sensor through the Serial Peripheral
-
* Interaface (SPI). Once you work through and understand the example, you
-
* may want to try replacing the mock functions with ones that interface
-
* with your SPI subsystem. */
-
-
char txbuf[0x100];
-
char rxbuf[0x100];
-
size_t bufcmdsize;
-
size_t responseSize;
-
vec3f ypr;
-
char strConversions[50];
-
size_t i;
-
-
mockspi_initialize();
-
-
/* With SPI 'initialize', let's work through reading the current yaw, pitch,
-
* roll values from the sensor. */
-
-
/* First we must generate the command to query the sensor. */
-
bufcmdsize = sizeof(txbuf); /* First set this variable to the size of the buffer. */
- -
txbuf,
-
&bufcmdsize, /* Pass in the pointer since the function will set this with the length of the command generate. */
-
0,
-
&responseSize) != E_NONE)
-
return display_error("Error generating read yaw, pitch, roll command.\n");
-
-
/* Send out the command over SPI. */
-
mockspi_writeread(
-
txbuf,
-
responseSize,
-
rxbuf);
-
-
/* Now the sensor will have responded with data on this transaction but
-
* since the sensor only responds on following transaction, we will
-
* disregard this data. These double transactions can be mitigated by only
-
* requesting the same data each time or by staggering the the requested
-
* data in an appropriate order. */
-
-
/* Make sure enough time has passed for the sensor to format the previous response. */
-
VnThread_sleepMs(1); /* Actual sensor requirement is only 50 us. */
-
-
/* Retransmit so the sensor responds with the previous request. */
-
mockspi_writeread(
-
txbuf,
-
responseSize,
-
rxbuf);
-
-
/* Now parse the received response. */
-
if (VnSpi_parseYawPitchRoll(
-
rxbuf,
-
&ypr) != E_NONE)
-
return display_error("Error parsing yaw, pitch, roll.\n");
-
-
str_vec3f(strConversions, ypr);
-
printf("Current YPR: %s\n", strConversions);
-
-
/* We have now shown how to process one full command transaction which
-
* requires two SPI transactions because the VectorNav sensor requires a
-
* short amount of time to ready the response. Now we can optimize this
-
* transaction squence to utilize this behavior when we are only requesting
-
* the same data each time. This is illustrated in the for loop below. */
-
-
for (i = 0; i < 25; i++)
-
{
-
/* For this loop, we want to display data at ~10 Hz. */
- -
-
/* Perform a transaction for the same sensor register. */
-
mockspi_writeread(
-
txbuf,
-
responseSize,
-
rxbuf);
-
-
/* Now since the previous command was for the same register, we will
-
* have valid data and can print/use the results. */
-
if (VnSpi_parseYawPitchRoll(
-
rxbuf,
-
&ypr) != E_NONE)
-
return display_error("Error parsing yaw, pitch, roll.\n");
-
-
str_vec3f(strConversions, ypr);
-
printf("Current YPR: %s\n", strConversions);
-
}
-
-
/* We illustrate how to write settings to the sensor by changing the
-
* asynchronous data output type. Note that this setting only affects the
-
* output on the UART ports and has no effect on the SPI ports. It is only
-
* used for illustration purposes. */
-
-
/* Remember to reset the bufcmdsize variable to let the function know how
-
* large the provided buffer is. */
-
bufcmdsize = sizeof(txbuf);
-
- -
txbuf,
-
&bufcmdsize,
-
0,
-
&responseSize,
-
VNYPR) != E_NONE)
-
return display_error("Error generating write async data output type command.\n");
-
-
mockspi_writeread(
-
txbuf,
-
responseSize,
-
rxbuf);
-
-
return 0;
-
}
-
-
int display_error(const char* msg)
-
{
-
printf("%s\n", msg);
-
return -1;
-
}
-
-
void mockspi_initialize(void)
-
{
-
/* Do nothing since we are faking the SPI interface. */
-
}
-
-
void mockspi_writeread(const char* dataOut, size_t dataOutSize, char* dataIn)
-
{
-
/* This function fakes a SPI subsystem for this example. */
-
-
char yprResponse[] = { 0x00, 0x01, 0x08, 0x00, 0xd8, 0x9c, 0xd4, 0x42, 0x44, 0xba, 0x9e, 0x40, 0x4e, 0xe4, 0x8b, 0x40 };
-
-
/* Silence 'unreferenced formal parameters' warning in Visual Studio. */
-
(dataOut);
-
(dataOutSize);
-
-
memcpy(dataIn, yprResponse, sizeof(yprResponse));
-
}
-
- - - - diff --git a/vnproglib/c/help/spi_8h_source.html b/vnproglib/c/help/spi_8h_source.html deleted file mode 100644 index 9151790..0000000 --- a/vnproglib/c/help/spi_8h_source.html +++ /dev/null @@ -1,1217 +0,0 @@ - - - - - - -VectorNav C Library: spi.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
spi.h
-
-
-
1 #ifndef _VNSPI_H_
-
2 #define _VNSPI_H_
-
3 
-
4 #include <stddef.h>
-
5 
-
6 #include "vn/int.h"
-
7 #include "vn/error.h"
-
8 #include "vn/math/vector.h"
-
9 #include "vn/math/matrix.h"
-
10 
-
11 #ifdef __cplusplus
-
12 extern "C" {
-
13 #endif
-
14 
-
25 VnError VnSpi_genWriteSettings(
-
26  char* buffer,
-
27  size_t* size,
-
28  size_t desiredLength,
-
29  size_t* responseSize);
-
30 
-
41 VnError VnSpi_genRestorFactorySettings(
-
42  char* buffer,
-
43  size_t* size,
-
44  size_t desiredLength,
-
45  size_t* responseSize);
-
46 
-
57 VnError VnSpi_genTare(
-
58  char* buffer,
-
59  size_t* size,
-
60  size_t desiredLength,
-
61  size_t* responseSize);
-
62 
-
73 VnError VnSpi_genReset(
-
74  char* buffer,
-
75  size_t* size,
-
76  size_t desiredLength,
-
77  size_t* responseSize);
-
78 
-
89 VnError VnSpi_genRead(
-
90  char* buffer,
-
91  size_t* size,
-
92  uint8_t regId,
-
93  size_t desiredLength);
-
94 
-
101 VnError VnSpi_parseUserTag(
-
102  const char* response,
-
103  char* tag,
-
104  size_t tagLength);
-
105 
-
112 VnError VnSpi_parseModelNumber(
-
113  const char* response,
-
114  char* productName,
-
115  size_t productNameLength);
-
116 
-
122 VnError VnSpi_parseHardwareRevision(
-
123  const char* response,
-
124  uint32_t* revision);
-
125 
-
131 VnError VnSpi_parseSerialNumber(
-
132  const char* response,
-
133  uint32_t* serialNum);
-
134 
-
141 VnError VnSpi_parseFirmwareVersion(
-
142  const char* response,
-
143  char* firmwareVersion,
-
144  size_t firmwareVersionLength);
-
145 
-
151 VnError VnSpi_parseSerialBaudRate(
-
152  const char* response,
-
153  uint32_t* baudrate);
-
154 
-
160 VnError VnSpi_parseAsyncDataOutputType(
-
161  const char* response,
-
162  uint32_t* ador);
-
163 
-
169 VnError VnSpi_parseAsyncDataOutputFrequency(
-
170  const char* response,
-
171  uint32_t* adof);
-
172 
-
178 VnError VnSpi_parseYawPitchRoll(
-
179  const char* response,
-
180  vec3f* yawPitchRoll);
-
181 
-
187 VnError VnSpi_parseAttitudeQuaternion(
-
188  const char* response,
-
189  vec4f* quat);
-
190 
-
199 VnError VnSpi_parseQuaternionMagneticAccelerationAndAngularRates(
-
200  const char* response,
-
201  vec4f* quat,
-
202  vec3f* mag,
-
203  vec3f* accel,
-
204  vec3f* gyro);
-
205 
-
211 VnError VnSpi_parseMagneticMeasurements(
-
212  const char* response,
-
213  vec3f* mag);
-
214 
-
220 VnError VnSpi_parseAccelerationMeasurements(
-
221  const char* response,
-
222  vec3f* accel);
-
223 
-
229 VnError VnSpi_parseAngularRateMeasurements(
-
230  const char* response,
-
231  vec3f* gyro);
-
232 
-
240 VnError VnSpi_parseMagneticAccelerationAndAngularRates(
-
241  const char* response,
-
242  vec3f* mag,
-
243  vec3f* accel,
-
244  vec3f* gyro);
-
245 
-
252 VnError VnSpi_parseMagneticAndGravityReferenceVectors(
-
253  const char* response,
-
254  vec3f* magRef,
-
255  vec3f* accRef);
-
256 
-
265 VnError VnSpi_parseFilterMeasurementsVarianceParameters(
-
266  const char* response,
-
267  float* angularWalkVariance,
-
268  vec3f* angularRateVariance,
-
269  vec3f* magneticVariance,
-
270  vec3f* accelerationVariance);
-
271 
-
278 VnError VnSpi_parseMagnetometerCompensation(
-
279  const char* response,
-
280  mat3f* c,
-
281  vec3f* b);
-
282 
-
291 VnError VnSpi_parseFilterActiveTuningParameters(
-
292  const char* response,
-
293  float* magneticDisturbanceGain,
-
294  float* accelerationDisturbanceGain,
-
295  float* magneticDisturbanceMemory,
-
296  float* accelerationDisturbanceMemory);
-
297 
-
304 VnError VnSpi_parseAccelerationCompensation(
-
305  const char* response,
-
306  mat3f* c,
-
307  vec3f* b);
-
308 
-
314 VnError VnSpi_parseReferenceFrameRotation(
-
315  const char* response,
-
316  mat3f* c);
-
317 
-
326 VnError VnSpi_parseYawPitchRollMagneticAccelerationAndAngularRates(
-
327  const char* response,
-
328  vec3f* yawPitchRoll,
-
329  vec3f* mag,
-
330  vec3f* accel,
-
331  vec3f* gyro);
-
332 
-
344 VnError VnSpi_parseCommunicationProtocolControl(
-
345  const char* response,
-
346  uint8_t* serialCount,
-
347  uint8_t* serialStatus,
-
348  uint8_t* spiCount,
-
349  uint8_t* spiStatus,
-
350  uint8_t* serialChecksum,
-
351  uint8_t* spiChecksum,
-
352  uint8_t* errorMode);
-
353 
-
367 VnError VnSpi_parseSynchronizationControl(
-
368  const char* response,
-
369  uint8_t* syncInMode,
-
370  uint8_t* syncInEdge,
-
371  uint16_t* syncInSkipFactor,
-
372  uint32_t* reserved1,
-
373  uint8_t* syncOutMode,
-
374  uint8_t* syncOutPolarity,
-
375  uint16_t* syncOutSkipFactor,
-
376  uint32_t* syncOutPulseWidth,
-
377  uint32_t* reserved2);
-
378 
-
386 VnError VnSpi_parseSynchronizationStatus(
-
387  const char* response,
-
388  uint32_t* syncInCount,
-
389  uint32_t* syncInTime,
-
390  uint32_t* syncOutCount);
-
391 
-
401 VnError VnSpi_parseFilterBasicControl(
-
402  const char* response,
-
403  uint8_t* magMode,
-
404  uint8_t* extMagMode,
-
405  uint8_t* extAccMode,
-
406  uint8_t* extGyroMode,
-
407  vec3f* gyroLimit);
-
408 
-
417 VnError VnSpi_parseVpeBasicControl(
-
418  const char* response,
-
419  uint8_t* enable,
-
420  uint8_t* headingMode,
-
421  uint8_t* filteringMode,
-
422  uint8_t* tuningMode);
-
423 
-
431 VnError VnSpi_parseVpeMagnetometerBasicTuning(
-
432  const char* response,
-
433  vec3f* baseTuning,
-
434  vec3f* adaptiveTuning,
-
435  vec3f* adaptiveFiltering);
-
436 
-
446 VnError VnSpi_parseVpeMagnetometerAdvancedTuning(
-
447  const char* response,
-
448  vec3f* minFiltering,
-
449  vec3f* maxFiltering,
-
450  float* maxAdaptRate,
-
451  float* disturbanceWindow,
-
452  float* maxTuning);
-
453 
-
461 VnError VnSpi_parseVpeAccelerometerBasicTuning(
-
462  const char* response,
-
463  vec3f* baseTuning,
-
464  vec3f* adaptiveTuning,
-
465  vec3f* adaptiveFiltering);
-
466 
-
476 VnError VnSpi_parseVpeAccelerometerAdvancedTuning(
-
477  const char* response,
-
478  vec3f* minFiltering,
-
479  vec3f* maxFiltering,
-
480  float* maxAdaptRate,
-
481  float* disturbanceWindow,
-
482  float* maxTuning);
-
483 
-
491 VnError VnSpi_parseVpeGyroBasicTuning(
-
492  const char* response,
-
493  vec3f* angularWalkVariance,
-
494  vec3f* baseTuning,
-
495  vec3f* adaptiveTuning);
-
496 
-
502 VnError VnSpi_parseFilterStartupGyroBias(
-
503  const char* response,
-
504  vec3f* bias);
-
505 
-
513 VnError VnSpi_parseMagnetometerCalibrationControl(
-
514  const char* response,
-
515  uint8_t* hsiMode,
-
516  uint8_t* hsiOutput,
-
517  uint8_t* convergeRate);
-
518 
-
525 VnError VnSpi_parseCalculatedMagnetometerCalibration(
-
526  const char* response,
-
527  mat3f* c,
-
528  vec3f* b);
-
529 
-
536 VnError VnSpi_parseIndoorHeadingModeControl(
-
537  const char* response,
-
538  float* maxRateError,
-
539  uint8_t* reserved1);
-
540 
-
546 VnError VnSpi_parseVelocityCompensationMeasurement(
-
547  const char* response,
-
548  vec3f* velocity);
-
549 
-
557 VnError VnSpi_parseVelocityCompensationControl(
-
558  const char* response,
-
559  uint8_t* mode,
-
560  float* velocityTuning,
-
561  float* rateTuning);
-
562 
-
571 VnError VnSpi_parseVelocityCompensationStatus(
-
572  const char* response,
-
573  float* x,
-
574  float* xDot,
-
575  vec3f* accelOffset,
-
576  vec3f* omega);
-
577 
-
587 VnError VnSpi_parseImuMeasurements(
-
588  const char* response,
-
589  vec3f* mag,
-
590  vec3f* accel,
-
591  vec3f* gyro,
-
592  float* temp,
-
593  float* pressure);
-
594 
-
604 VnError VnSpi_parseGpsConfiguration(
-
605  const char* response,
-
606  uint8_t* mode,
-
607  uint8_t* ppsSource,
-
608  uint8_t* reserved1,
-
609  uint8_t* reserved2,
-
610  uint8_t* reserved3);
-
611 
-
617 VnError VnSpi_parseGpsAntennaOffset(
-
618  const char* response,
-
619  vec3f* position);
-
620 
-
634 VnError VnSpi_parseGpsSolutionLla(
-
635  const char* response,
-
636  double* time,
-
637  uint16_t* week,
-
638  uint8_t* gpsFix,
-
639  uint8_t* numSats,
-
640  vec3d* lla,
-
641  vec3f* nedVel,
-
642  vec3f* nedAcc,
-
643  float* speedAcc,
-
644  float* timeAcc);
-
645 
-
659 VnError VnSpi_parseGpsSolutionEcef(
-
660  const char* response,
-
661  double* tow,
-
662  uint16_t* week,
-
663  uint8_t* gpsFix,
-
664  uint8_t* numSats,
-
665  vec3d* position,
-
666  vec3f* velocity,
-
667  vec3f* posAcc,
-
668  float* speedAcc,
-
669  float* timeAcc);
-
670 
-
684 VnError VnSpi_parseInsSolutionLla(
-
685  const char* response,
-
686  double* time,
-
687  uint16_t* week,
-
688  uint16_t* status,
-
689  vec3f* yawPitchRoll,
-
690  vec3d* position,
-
691  vec3f* nedVel,
-
692  float* attUncertainty,
-
693  float* posUncertainty,
-
694  float* velUncertainty);
-
695 
-
709 VnError VnSpi_parseInsSolutionEcef(
-
710  const char* response,
-
711  double* time,
-
712  uint16_t* week,
-
713  uint16_t* status,
-
714  vec3f* yawPitchRoll,
-
715  vec3d* position,
-
716  vec3f* velocity,
-
717  float* attUncertainty,
-
718  float* posUncertainty,
-
719  float* velUncertainty);
-
720 
-
729 VnError VnSpi_parseInsBasicConfiguration(
-
730  const char* response,
-
731  uint8_t* scenario,
-
732  uint8_t* ahrsAiding,
-
733  uint8_t* estBaseline,
-
734  uint8_t* resv2);
-
735 
-
755 VnError VnSpi_parseInsAdvancedConfiguration(
-
756  const char* response,
-
757  uint8_t* useMag,
-
758  uint8_t* usePres,
-
759  uint8_t* posAtt,
-
760  uint8_t* velAtt,
-
761  uint8_t* velBias,
-
762  uint8_t* useFoam,
-
763  uint8_t* gpsCovType,
-
764  uint8_t* velCount,
-
765  float* velInit,
-
766  float* moveOrigin,
-
767  float* gpsTimeout,
-
768  float* deltaLimitPos,
-
769  float* deltaLimitVel,
-
770  float* minPosUncertainty,
-
771  float* minVelUncertainty);
-
772 
-
782 VnError VnSpi_parseInsStateLla(
-
783  const char* response,
-
784  vec3f* yawPitchRoll,
-
785  vec3d* position,
-
786  vec3f* velocity,
-
787  vec3f* accel,
-
788  vec3f* angularRate);
-
789 
-
799 VnError VnSpi_parseInsStateEcef(
-
800  const char* response,
-
801  vec3f* yawPitchRoll,
-
802  vec3d* position,
-
803  vec3f* velocity,
-
804  vec3f* accel,
-
805  vec3f* angularRate);
-
806 
-
814 VnError VnSpi_parseStartupFilterBiasEstimate(
-
815  const char* response,
-
816  vec3f* gyroBias,
-
817  vec3f* accelBias,
-
818  float* pressureBias);
-
819 
-
827 VnError VnSpi_parseDeltaThetaAndDeltaVelocity(
-
828  const char* response,
-
829  float* deltaTime,
-
830  vec3f* deltaTheta,
-
831  vec3f* deltaVelocity);
-
832 
-
842 VnError VnSpi_parseDeltaThetaAndDeltaVelocityConfiguration(
-
843  const char* response,
-
844  uint8_t* integrationFrame,
-
845  uint8_t* gyroCompensation,
-
846  uint8_t* accelCompensation,
-
847  uint8_t* reserved1,
-
848  uint16_t* reserved2);
-
849 
-
861 VnError VnSpi_parseReferenceVectorConfiguration(
-
862  const char* response,
-
863  uint8_t* useMagModel,
-
864  uint8_t* useGravityModel,
-
865  uint8_t* resv1,
-
866  uint8_t* resv2,
-
867  uint32_t* recalcThreshold,
-
868  float* year,
-
869  vec3d* position);
-
870 
-
877 VnError VnSpi_parseGyroCompensation(
-
878  const char* response,
-
879  mat3f* c,
-
880  vec3f* b);
-
881 
-
896 VnError VnSpi_parseImuFilteringConfiguration(
-
897  const char* response,
-
898  uint16_t* magWindowSize,
-
899  uint16_t* accelWindowSize,
-
900  uint16_t* gyroWindowSize,
-
901  uint16_t* tempWindowSize,
-
902  uint16_t* presWindowSize,
-
903  uint8_t* magFilterMode,
-
904  uint8_t* accelFilterMode,
-
905  uint8_t* gyroFilterMode,
-
906  uint8_t* tempFilterMode,
-
907  uint8_t* presFilterMode);
-
908 
-
915 VnError VnSpi_parseGpsCompassBaseline(
-
916  const char* response,
-
917  vec3f* position,
-
918  vec3f* uncertainty);
-
919 
-
929 VnError VnSpi_parseGpsCompassEstimatedBaseline(
-
930  const char* response,
-
931  uint8_t* estBaselineUsed,
-
932  uint8_t* resv,
-
933  uint16_t* numMeas,
-
934  vec3f* position,
-
935  vec3f* uncertainty);
-
936 
-
945 VnError VnSpi_parseImuRateConfiguration(
-
946  const char* response,
-
947  uint16_t* imuRate,
-
948  uint16_t* navDivisor,
-
949  float* filterTargetRate,
-
950  float* filterMinRate);
-
951 
-
959 VnError VnSpi_parseYawPitchRollTrueBodyAccelerationAndAngularRates(
-
960  const char* response,
-
961  vec3f* yawPitchRoll,
-
962  vec3f* bodyAccel,
-
963  vec3f* gyro);
-
964 
-
972 VnError VnSpi_parseYawPitchRollTrueInertialAccelerationAndAngularRates(
-
973  const char* response,
-
974  vec3f* yawPitchRoll,
-
975  vec3f* inertialAccel,
-
976  vec3f* gyro);
-
977 
-
1004 VnError VnSpi_genReadUserTag(
-
1005  char* buffer,
-
1006  size_t* size,
-
1007  size_t desiredLength,
-
1008  size_t* responseSize);
-
1009 
-
1020 VnError VnSpi_genReadModelNumber(
-
1021  char* buffer,
-
1022  size_t* size,
-
1023  size_t desiredLength,
-
1024  size_t* responseSize);
-
1025 
- -
1037  char* buffer,
-
1038  size_t* size,
-
1039  size_t desiredLength,
-
1040  size_t* responseSize);
-
1041 
- -
1053  char* buffer,
-
1054  size_t* size,
-
1055  size_t desiredLength,
-
1056  size_t* responseSize);
-
1057 
- -
1069  char* buffer,
-
1070  size_t* size,
-
1071  size_t desiredLength,
-
1072  size_t* responseSize);
-
1073 
- -
1085  char* buffer,
-
1086  size_t* size,
-
1087  size_t desiredLength,
-
1088  size_t* responseSize);
-
1089 
- -
1101  char* buffer,
-
1102  size_t* size,
-
1103  size_t desiredLength,
-
1104  size_t* responseSize);
-
1105 
- -
1117  char* buffer,
-
1118  size_t* size,
-
1119  size_t desiredLength,
-
1120  size_t* responseSize);
-
1121 
- -
1133  char* buffer,
-
1134  size_t* size,
-
1135  size_t desiredLength,
-
1136  size_t* responseSize);
-
1137 
- -
1149  char* buffer,
-
1150  size_t* size,
-
1151  size_t desiredLength,
-
1152  size_t* responseSize);
-
1153 
- -
1165  char* buffer,
-
1166  size_t* size,
-
1167  size_t desiredLength,
-
1168  size_t* responseSize);
-
1169 
- -
1181  char* buffer,
-
1182  size_t* size,
-
1183  size_t desiredLength,
-
1184  size_t* responseSize);
-
1185 
- -
1197  char* buffer,
-
1198  size_t* size,
-
1199  size_t desiredLength,
-
1200  size_t* responseSize);
-
1201 
- -
1213  char* buffer,
-
1214  size_t* size,
-
1215  size_t desiredLength,
-
1216  size_t* responseSize);
-
1217 
- -
1229  char* buffer,
-
1230  size_t* size,
-
1231  size_t desiredLength,
-
1232  size_t* responseSize);
-
1233 
- -
1245  char* buffer,
-
1246  size_t* size,
-
1247  size_t desiredLength,
-
1248  size_t* responseSize);
-
1249 
- -
1261  char* buffer,
-
1262  size_t* size,
-
1263  size_t desiredLength,
-
1264  size_t* responseSize);
-
1265 
- -
1277  char* buffer,
-
1278  size_t* size,
-
1279  size_t desiredLength,
-
1280  size_t* responseSize);
-
1281 
- -
1293  char* buffer,
-
1294  size_t* size,
-
1295  size_t desiredLength,
-
1296  size_t* responseSize);
-
1297 
- -
1309  char* buffer,
-
1310  size_t* size,
-
1311  size_t desiredLength,
-
1312  size_t* responseSize);
-
1313 
- -
1325  char* buffer,
-
1326  size_t* size,
-
1327  size_t desiredLength,
-
1328  size_t* responseSize);
-
1329 
- -
1341  char* buffer,
-
1342  size_t* size,
-
1343  size_t desiredLength,
-
1344  size_t* responseSize);
-
1345 
- -
1357  char* buffer,
-
1358  size_t* size,
-
1359  size_t desiredLength,
-
1360  size_t* responseSize);
-
1361 
- -
1373  char* buffer,
-
1374  size_t* size,
-
1375  size_t desiredLength,
-
1376  size_t* responseSize);
-
1377 
- -
1389  char* buffer,
-
1390  size_t* size,
-
1391  size_t desiredLength,
-
1392  size_t* responseSize);
-
1393 
- -
1405  char* buffer,
-
1406  size_t* size,
-
1407  size_t desiredLength,
-
1408  size_t* responseSize);
-
1409 
- -
1421  char* buffer,
-
1422  size_t* size,
-
1423  size_t desiredLength,
-
1424  size_t* responseSize);
-
1425 
- -
1437  char* buffer,
-
1438  size_t* size,
-
1439  size_t desiredLength,
-
1440  size_t* responseSize);
-
1441 
- -
1453  char* buffer,
-
1454  size_t* size,
-
1455  size_t desiredLength,
-
1456  size_t* responseSize);
-
1457 
- -
1469  char* buffer,
-
1470  size_t* size,
-
1471  size_t desiredLength,
-
1472  size_t* responseSize);
-
1473 
- -
1485  char* buffer,
-
1486  size_t* size,
-
1487  size_t desiredLength,
-
1488  size_t* responseSize);
-
1489 
- -
1501  char* buffer,
-
1502  size_t* size,
-
1503  size_t desiredLength,
-
1504  size_t* responseSize);
-
1505 
- -
1517  char* buffer,
-
1518  size_t* size,
-
1519  size_t desiredLength,
-
1520  size_t* responseSize);
-
1521 
- -
1533  char* buffer,
-
1534  size_t* size,
-
1535  size_t desiredLength,
-
1536  size_t* responseSize);
-
1537 
- -
1549  char* buffer,
-
1550  size_t* size,
-
1551  size_t desiredLength,
-
1552  size_t* responseSize);
-
1553 
- -
1565  char* buffer,
-
1566  size_t* size,
-
1567  size_t desiredLength,
-
1568  size_t* responseSize);
-
1569 
- -
1581  char* buffer,
-
1582  size_t* size,
-
1583  size_t desiredLength,
-
1584  size_t* responseSize);
-
1585 
- -
1597  char* buffer,
-
1598  size_t* size,
-
1599  size_t desiredLength,
-
1600  size_t* responseSize);
-
1601 
- -
1613  char* buffer,
-
1614  size_t* size,
-
1615  size_t desiredLength,
-
1616  size_t* responseSize);
-
1617 
-
1628 VnError VnSpi_genReadInsStateLla(
-
1629  char* buffer,
-
1630  size_t* size,
-
1631  size_t desiredLength,
-
1632  size_t* responseSize);
-
1633 
- -
1645  char* buffer,
-
1646  size_t* size,
-
1647  size_t desiredLength,
-
1648  size_t* responseSize);
-
1649 
- -
1661  char* buffer,
-
1662  size_t* size,
-
1663  size_t desiredLength,
-
1664  size_t* responseSize);
-
1665 
- -
1677  char* buffer,
-
1678  size_t* size,
-
1679  size_t desiredLength,
-
1680  size_t* responseSize);
-
1681 
- -
1693  char* buffer,
-
1694  size_t* size,
-
1695  size_t desiredLength,
-
1696  size_t* responseSize);
-
1697 
- -
1709  char* buffer,
-
1710  size_t* size,
-
1711  size_t desiredLength,
-
1712  size_t* responseSize);
-
1713 
- -
1725  char* buffer,
-
1726  size_t* size,
-
1727  size_t desiredLength,
-
1728  size_t* responseSize);
-
1729 
- -
1741  char* buffer,
-
1742  size_t* size,
-
1743  size_t desiredLength,
-
1744  size_t* responseSize);
-
1745 
- -
1757  char* buffer,
-
1758  size_t* size,
-
1759  size_t desiredLength,
-
1760  size_t* responseSize);
-
1761 
- -
1773  char* buffer,
-
1774  size_t* size,
-
1775  size_t desiredLength,
-
1776  size_t* responseSize);
-
1777 
- -
1789  char* buffer,
-
1790  size_t* size,
-
1791  size_t desiredLength,
-
1792  size_t* responseSize);
-
1793 
- -
1805  char* buffer,
-
1806  size_t* size,
-
1807  size_t desiredLength,
-
1808  size_t* responseSize);
-
1809 
-
1810 /* \}*/
-
1811 
-
1846 VnError VnSpi_genWriteUserTag(
-
1847  char* buffer,
-
1848  size_t* size,
-
1849  size_t desiredLength,
-
1850  size_t* responseSize,
-
1851  char* tag);
-
1852 
- -
1865  char* buffer,
-
1866  size_t* size,
-
1867  size_t desiredLength,
-
1868  size_t* responseSize,
-
1869  uint32_t baudrate);
-
1870 
- -
1883  char* buffer,
-
1884  size_t* size,
-
1885  size_t desiredLength,
-
1886  size_t* responseSize,
-
1887  uint32_t baudrate);
-
1888 
- -
1901  char* buffer,
-
1902  size_t* size,
-
1903  size_t desiredLength,
-
1904  size_t* responseSize,
-
1905  uint32_t ador);
-
1906 
- -
1919  char* buffer,
-
1920  size_t* size,
-
1921  size_t desiredLength,
-
1922  size_t* responseSize,
-
1923  uint32_t ador);
-
1924 
- -
1937  char* buffer,
-
1938  size_t* size,
-
1939  size_t desiredLength,
-
1940  size_t* responseSize,
-
1941  uint32_t adof);
-
1942 
- -
1955  char* buffer,
-
1956  size_t* size,
-
1957  size_t desiredLength,
-
1958  size_t* responseSize,
-
1959  uint32_t adof);
-
1960 
- -
1974  char* buffer,
-
1975  size_t* size,
-
1976  size_t desiredLength,
-
1977  size_t* responseSize,
-
1978  vec3f magRef,
-
1979  vec3f accRef);
-
1980 
- -
1994  char* buffer,
-
1995  size_t* size,
-
1996  size_t desiredLength,
-
1997  size_t* responseSize,
-
1998  mat3f c,
-
1999  vec3f b);
-
2000 
- -
2014  char* buffer,
-
2015  size_t* size,
-
2016  size_t desiredLength,
-
2017  size_t* responseSize,
-
2018  mat3f c,
-
2019  vec3f b);
-
2020 
- -
2033  char* buffer,
-
2034  size_t* size,
-
2035  size_t desiredLength,
-
2036  size_t* responseSize,
-
2037  mat3f c);
-
2038 
- -
2057  char* buffer,
-
2058  size_t* size,
-
2059  size_t desiredLength,
-
2060  size_t* responseSize,
-
2061  uint8_t serialCount,
-
2062  uint8_t serialStatus,
-
2063  uint8_t spiCount,
-
2064  uint8_t spiStatus,
-
2065  uint8_t serialChecksum,
-
2066  uint8_t spiChecksum,
-
2067  uint8_t errorMode);
-
2068 
- -
2089  char* buffer,
-
2090  size_t* size,
-
2091  size_t desiredLength,
-
2092  size_t* responseSize,
-
2093  uint8_t syncInMode,
-
2094  uint8_t syncInEdge,
-
2095  uint16_t syncInSkipFactor,
-
2096  uint32_t reserved1,
-
2097  uint8_t syncOutMode,
-
2098  uint8_t syncOutPolarity,
-
2099  uint16_t syncOutSkipFactor,
-
2100  uint32_t syncOutPulseWidth,
-
2101  uint32_t reserved2);
-
2102 
- -
2117  char* buffer,
-
2118  size_t* size,
-
2119  size_t desiredLength,
-
2120  size_t* responseSize,
-
2121  uint32_t syncInCount,
-
2122  uint32_t syncInTime,
-
2123  uint32_t syncOutCount);
-
2124 
- -
2140  char* buffer,
-
2141  size_t* size,
-
2142  size_t desiredLength,
-
2143  size_t* responseSize,
-
2144  uint8_t enable,
-
2145  uint8_t headingMode,
-
2146  uint8_t filteringMode,
-
2147  uint8_t tuningMode);
-
2148 
- -
2163  char* buffer,
-
2164  size_t* size,
-
2165  size_t desiredLength,
-
2166  size_t* responseSize,
-
2167  vec3f baseTuning,
-
2168  vec3f adaptiveTuning,
-
2169  vec3f adaptiveFiltering);
-
2170 
- -
2185  char* buffer,
-
2186  size_t* size,
-
2187  size_t desiredLength,
-
2188  size_t* responseSize,
-
2189  vec3f baseTuning,
-
2190  vec3f adaptiveTuning,
-
2191  vec3f adaptiveFiltering);
-
2192 
- -
2207  char* buffer,
-
2208  size_t* size,
-
2209  size_t desiredLength,
-
2210  size_t* responseSize,
-
2211  uint8_t hsiMode,
-
2212  uint8_t hsiOutput,
-
2213  uint8_t convergeRate);
-
2214 
- -
2227  char* buffer,
-
2228  size_t* size,
-
2229  size_t desiredLength,
-
2230  size_t* responseSize,
-
2231  vec3f velocity);
-
2232 
- -
2247  char* buffer,
-
2248  size_t* size,
-
2249  size_t desiredLength,
-
2250  size_t* responseSize,
-
2251  uint8_t mode,
-
2252  float velocityTuning,
-
2253  float rateTuning);
-
2254 
- -
2271  char* buffer,
-
2272  size_t* size,
-
2273  size_t desiredLength,
-
2274  size_t* responseSize,
-
2275  uint8_t mode,
-
2276  uint8_t ppsSource,
-
2277  uint8_t reserved1,
-
2278  uint8_t reserved2,
-
2279  uint8_t reserved3);
-
2280 
- -
2293  char* buffer,
-
2294  size_t* size,
-
2295  size_t desiredLength,
-
2296  size_t* responseSize,
-
2297  vec3f position);
-
2298 
- -
2314  char* buffer,
-
2315  size_t* size,
-
2316  size_t desiredLength,
-
2317  size_t* responseSize,
-
2318  uint8_t scenario,
-
2319  uint8_t ahrsAiding,
-
2320  uint8_t estBaseline,
-
2321  uint8_t resv2);
-
2322 
- -
2337  char* buffer,
-
2338  size_t* size,
-
2339  size_t desiredLength,
-
2340  size_t* responseSize,
-
2341  vec3f gyroBias,
-
2342  vec3f accelBias,
-
2343  float pressureBias);
-
2344 
- -
2361  char* buffer,
-
2362  size_t* size,
-
2363  size_t desiredLength,
-
2364  size_t* responseSize,
-
2365  uint8_t integrationFrame,
-
2366  uint8_t gyroCompensation,
-
2367  uint8_t accelCompensation,
-
2368  uint8_t reserved1,
-
2369  uint16_t reserved2);
-
2370 
- -
2389  char* buffer,
-
2390  size_t* size,
-
2391  size_t desiredLength,
-
2392  size_t* responseSize,
-
2393  uint8_t useMagModel,
-
2394  uint8_t useGravityModel,
-
2395  uint8_t resv1,
-
2396  uint8_t resv2,
-
2397  uint32_t recalcThreshold,
-
2398  float year,
-
2399  vec3d position);
-
2400 
- -
2414  char* buffer,
-
2415  size_t* size,
-
2416  size_t desiredLength,
-
2417  size_t* responseSize,
-
2418  mat3f c,
-
2419  vec3f b);
-
2420 
- -
2442  char* buffer,
-
2443  size_t* size,
-
2444  size_t desiredLength,
-
2445  size_t* responseSize,
-
2446  uint16_t magWindowSize,
-
2447  uint16_t accelWindowSize,
-
2448  uint16_t gyroWindowSize,
-
2449  uint16_t tempWindowSize,
-
2450  uint16_t presWindowSize,
-
2451  uint8_t magFilterMode,
-
2452  uint8_t accelFilterMode,
-
2453  uint8_t gyroFilterMode,
-
2454  uint8_t tempFilterMode,
-
2455  uint8_t presFilterMode);
-
2456 
- -
2470  char* buffer,
-
2471  size_t* size,
-
2472  size_t desiredLength,
-
2473  size_t* responseSize,
-
2474  vec3f position,
-
2475  vec3f uncertainty);
-
2476 
-
2477 #ifdef __cplusplus
-
2478 }
-
2479 #endif
-
2480 
-
2481 #endif
-
VnError VnSpi_genReadAccelerationMeasurements(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Acceleration Measurements register on a VectorNav sensor...
-
VnError VnSpi_genReadReferenceFrameRotation(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Reference Frame Rotation register on a VectorNav sensor.
-
VnError VnSpi_genWriteAsyncDataOutputFrequency(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t adof)
Generates a command to write the Async Data Output Frequency register on a VectorNav sensor...
-
VnError VnSpi_genReadAngularRateMeasurements(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Angular Rate Measurements register on a VectorNav sensor...
-
VnError VnSpi_genReadDeltaThetaAndDeltaVelocityConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Delta Theta and Delta Velocity Configuration register on a VectorNav ...
-
VnError VnSpi_genReadGpsCompassBaseline(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the GPS Compass Baseline register on a VectorNav sensor.
-
VnError VnSpi_genReadInsStateLla(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the INS State - LLA register on a VectorNav sensor.
-
VnError VnSpi_genReadGpsConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the GPS Configuration register on a VectorNav sensor. ...
-
VnError VnSpi_genWriteMagnetometerCompensation(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, mat3f c, vec3f b)
Generates a command to write the Magnetometer Compensation register on a VectorNav sensor...
-
VnError VnSpi_genReadMagneticAndGravityReferenceVectors(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Magnetic and Gravity Reference Vectors register on a VectorNav sensor...
-
VnError VnSpi_genWriteDeltaThetaAndDeltaVelocityConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t integrationFrame, uint8_t gyroCompensation, uint8_t accelCompensation, uint8_t reserved1, uint16_t reserved2)
Generates a command to write the Delta Theta and Delta Velocity Configuration register on a VectorNav...
-
VnError VnSpi_genReadImuMeasurements(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the IMU Measurements register on a VectorNav sensor.
-
VnError VnSpi_genWriteVelocityCompensationMeasurement(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f velocity)
Generates a command to write the Velocity Compensation Measurement register on a VectorNav sensor...
-
VnError VnSpi_genReadSerialNumber(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Serial Number register on a VectorNav sensor.
-
VnError VnSpi_genWriteCommunicationProtocolControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t serialCount, uint8_t serialStatus, uint8_t spiCount, uint8_t spiStatus, uint8_t serialChecksum, uint8_t spiChecksum, uint8_t errorMode)
Generates a command to write the Communication Protocol Control register on a VectorNav sensor...
-
VnError VnSpi_genWriteVpeBasicControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t enable, uint8_t headingMode, uint8_t filteringMode, uint8_t tuningMode)
Generates a command to write the VPE Basic Control register on a VectorNav sensor.
-
VnError VnSpi_genReadYawPitchRollMagneticAccelerationAndAngularRates(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register o...
-
VnError VnSpi_genWriteGpsAntennaOffset(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f position)
Generates a command to write the GPS Antenna Offset register on a VectorNav sensor.
-
VnError VnSpi_genWriteUserTag(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, char *tag)
Generates a command to write the User Tag register on a VectorNav sensor.
-
VnError VnSpi_genReadGpsSolutionLla(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the GPS Solution - LLA register on a VectorNav sensor.
-
VnError VnSpi_genReadVpeAccelerometerBasicTuning(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the VPE Accelerometer Basic Tuning register on a VectorNav sensor...
-
VnError VnSpi_genReadGpsSolutionEcef(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the GPS Solution - ECEF register on a VectorNav sensor.
-
VnError VnSpi_genWriteMagnetometerCalibrationControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t hsiMode, uint8_t hsiOutput, uint8_t convergeRate)
Generates a command to write the Magnetometer Calibration Control register on a VectorNav sensor...
-
VnError VnSpi_genReadInsSolutionLla(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the INS Solution - LLA register on a VectorNav sensor.
-
VnError VnSpi_genReadImuFilteringConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the IMU Filtering Configuration register on a VectorNav sensor...
-
VnError VnSpi_genWriteReferenceFrameRotation(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, mat3f c)
Generates a command to write the Reference Frame Rotation register on a VectorNav sensor...
-
VnError VnSpi_genReadAsyncDataOutputType(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Async Data Output Type register on a VectorNav sensor.
-
VnError VnSpi_genReadInsStateEcef(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the INS State - ECEF register on a VectorNav sensor.
-
VnError VnSpi_genReadStartupFilterBiasEstimate(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Startup Filter Bias Estimate register on a VectorNav sensor...
-
VnError VnSpi_genWriteAccelerationCompensation(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, mat3f c, vec3f b)
Generates a command to write the Acceleration Compensation register on a VectorNav sensor...
-
Represents a 4 component vector with an underlying data type of float.
Definition: vector.h:68
-
VnError VnSpi_genReadUserTag(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the User Tag register on a VectorNav sensor.
-
VnError VnSpi_genWriteVpeAccelerometerBasicTuning(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f baseTuning, vec3f adaptiveTuning, vec3f adaptiveFiltering)
Generates a command to write the VPE Accelerometer Basic Tuning register on a VectorNav sensor...
-
Represents a 3 component vector with an underlying data type of double.
Definition: vector.h:41
-
VnError VnSpi_genReadInsBasicConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the INS Basic Configuration register on a VectorNav sensor.
-
VnError VnSpi_genReadAsyncDataOutputFrequency(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Async Data Output Frequency register on a VectorNav sensor...
-
VnError VnSpi_genReadVelocityCompensationControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Velocity Compensation Control register on a VectorNav sensor...
-
VnError VnSpi_genReadAccelerationCompensation(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Acceleration Compensation register on a VectorNav sensor...
-
VnError VnSpi_genWriteInsBasicConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t scenario, uint8_t ahrsAiding, uint8_t estBaseline, uint8_t resv2)
Generates a command to write the INS Basic Configuration register on a VectorNav sensor.
-
VnError VnSpi_genReadMagneticAccelerationAndAngularRates(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Magnetic, Acceleration and Angular Rates register on a VectorNav sens...
-
VnError VnSpi_genWriteGpsConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t mode, uint8_t ppsSource, uint8_t reserved1, uint8_t reserved2, uint8_t reserved3)
Generates a command to write the GPS Configuration register on a VectorNav sensor.
-
VnError VnSpi_genWriteAsyncDataOutputType(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t ador)
Generates a command to write the Async Data Output Type register on a VectorNav sensor.
-
VnError VnSpi_genReadSynchronizationControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Synchronization Control register on a VectorNav sensor.
-
VnError VnSpi_genReadYawPitchRollTrueInertialAccelerationAndAngularRates(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates regist...
-
VnError VnSpi_genWriteSerialBaudRateWithOptions(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t baudrate)
Generates a command to write the Serial Baud Rate register on a VectorNav sensor. ...
-
VnError VnSpi_genReadQuaternionMagneticAccelerationAndAngularRates(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Quaternion, Magnetic, Acceleration and Angular Rates register on a Ve...
-
VnError VnSpi_genReadSynchronizationStatus(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Synchronization Status register on a VectorNav sensor.
-
VnError VnSpi_genReadVpeMagnetometerBasicTuning(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the VPE Magnetometer Basic Tuning register on a VectorNav sensor...
-
VnError VnSpi_genReadYawPitchRollTrueBodyAccelerationAndAngularRates(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register o...
-
VnError VnSpi_genReadFirmwareVersion(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Firmware Version register on a VectorNav sensor.
-
VnError VnSpi_genReadSerialBaudRate(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Serial Baud Rate register on a VectorNav sensor.
-
VnError VnSpi_genWriteStartupFilterBiasEstimate(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f gyroBias, vec3f accelBias, float pressureBias)
Generates a command to write the Startup Filter Bias Estimate register on a VectorNav sensor...
-
VnError VnSpi_genWriteSerialBaudRate(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t baudrate)
Generates a command to write the Serial Baud Rate register on a VectorNav sensor. ...
-
VnError VnSpi_genReadYawPitchRoll(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Yaw Pitch Roll register on a VectorNav sensor.
-
VnError VnSpi_genWriteImuFilteringConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint16_t magWindowSize, uint16_t accelWindowSize, uint16_t gyroWindowSize, uint16_t tempWindowSize, uint16_t presWindowSize, uint8_t magFilterMode, uint8_t accelFilterMode, uint8_t gyroFilterMode, uint8_t tempFilterMode, uint8_t presFilterMode)
Generates a command to write the IMU Filtering Configuration register on a VectorNav sensor...
-
VnError VnSpi_genReadDeltaThetaAndDeltaVelocity(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Delta Theta and Delta Velocity register on a VectorNav sensor...
-
VnError VnSpi_genWriteSynchronizationControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t syncInMode, uint8_t syncInEdge, uint16_t syncInSkipFactor, uint32_t reserved1, uint8_t syncOutMode, uint8_t syncOutPolarity, uint16_t syncOutSkipFactor, uint32_t syncOutPulseWidth, uint32_t reserved2)
Generates a command to write the Synchronization Control register on a VectorNav sensor.
-
VnError VnSpi_genWriteSynchronizationStatus(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t syncInCount, uint32_t syncInTime, uint32_t syncOutCount)
Generates a command to write the Synchronization Status register on a VectorNav sensor.
-
VnError VnSpi_genWriteAsyncDataOutputFrequencyWithOptions(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t adof)
Generates a command to write the Async Data Output Frequency register on a VectorNav sensor...
-
VnError VnSpi_genReadGpsAntennaOffset(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the GPS Antenna Offset register on a VectorNav sensor.
-
VnError VnSpi_genReadCommunicationProtocolControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Communication Protocol Control register on a VectorNav sensor...
-
VnError VnSpi_genReadReferenceVectorConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Reference Vector Configuration register on a VectorNav sensor...
-
Represents a 3x3 matrix with an underlying data type of float.
Definition: matrix.h:11
-
VnError VnSpi_genReadVpeBasicControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the VPE Basic Control register on a VectorNav sensor. ...
-
VnError VnSpi_genWriteAsyncDataOutputTypeWithOptions(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint32_t ador)
Generates a command to write the Async Data Output Type register on a VectorNav sensor.
-
VnError VnSpi_genReadMagnetometerCalibrationControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Magnetometer Calibration Control register on a VectorNav sensor...
-
VnError VnSpi_genWriteReferenceVectorConfiguration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t useMagModel, uint8_t useGravityModel, uint8_t resv1, uint8_t resv2, uint32_t recalcThreshold, float year, vec3d position)
Generates a command to write the Reference Vector Configuration register on a VectorNav sensor...
-
VnError VnSpi_genReadGpsCompassEstimatedBaseline(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the GPS Compass Estimated Baseline register on a VectorNav sensor...
-
VnError VnSpi_genWriteGyroCompensation(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, mat3f c, vec3f b)
Generates a command to write the Gyro Compensation register on a VectorNav sensor.
-
VnError VnSpi_genReadCalculatedMagnetometerCalibration(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Calculated Magnetometer Calibration register on a VectorNav sensor...
-
VnError VnSpi_genReadHardwareRevision(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Hardware Revision register on a VectorNav sensor. ...
-
VnError VnSpi_genReadMagneticMeasurements(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Magnetic Measurements register on a VectorNav sensor.
-
VnError VnSpi_genReadGyroCompensation(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Gyro Compensation register on a VectorNav sensor. ...
-
Various vector types and operations.
Definition: vector.h:14
-
VnError VnSpi_genReadVelocityCompensationMeasurement(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Velocity Compensation Measurement register on a VectorNav sensor...
-
VnError VnSpi_genReadModelNumber(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Model Number register on a VectorNav sensor.
-
VnError VnSpi_genWriteVelocityCompensationControl(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, uint8_t mode, float velocityTuning, float rateTuning)
Generates a command to write the Velocity Compensation Control register on a VectorNav sensor...
-
VnError VnSpi_genReadInsSolutionEcef(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the INS Solution - ECEF register on a VectorNav sensor.
-
VnError VnSpi_genReadMagnetometerCompensation(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Magnetometer Compensation register on a VectorNav sensor...
-
VnError VnSpi_genWriteMagneticAndGravityReferenceVectors(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f magRef, vec3f accRef)
Generates a command to write the Magnetic and Gravity Reference Vectors register on a VectorNav senso...
-
VnError VnSpi_genReadAttitudeQuaternion(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize)
Generates a command to read the Attitude Quaternion register on a VectorNav sensor.
-
VnError VnSpi_genWriteVpeMagnetometerBasicTuning(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f baseTuning, vec3f adaptiveTuning, vec3f adaptiveFiltering)
Generates a command to write the VPE Magnetometer Basic Tuning register on a VectorNav sensor...
-
VnError VnSpi_genWriteGpsCompassBaseline(char *buffer, size_t *size, size_t desiredLength, size_t *responseSize, vec3f position, vec3f uncertainty)
Generates a command to write the GPS Compass Baseline register on a VectorNav sensor.
-
- - - - diff --git a/vnproglib/c/help/splitbar.png b/vnproglib/c/help/splitbar.png deleted file mode 100644 index fe895f2c58179b471a22d8320b39a4bd7312ec8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T diff --git a/vnproglib/c/help/struct_acceleration_compensation_register.html b/vnproglib/c/help/struct_acceleration_compensation_register.html deleted file mode 100644 index 5cf080c..0000000 --- a/vnproglib/c/help/struct_acceleration_compensation_register.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - -VectorNav C Library: AccelerationCompensationRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
AccelerationCompensationRegister Struct Reference
-
-
- -

Structure representing the Acceleration Compensation register. - More...

- -

#include <sensors.h>

- - - - - - - - -

-Data Fields

-mat3f c
 The C field.
 
-vec3f b
 The B field.
 
-

Detailed Description

-

Structure representing the Acceleration Compensation register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_binary_output_register.html b/vnproglib/c/help/struct_binary_output_register.html deleted file mode 100644 index cd1198e..0000000 --- a/vnproglib/c/help/struct_binary_output_register.html +++ /dev/null @@ -1,239 +0,0 @@ - - - - - - -VectorNav C Library: BinaryOutputRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
BinaryOutputRegister Struct Reference
-
-
- -

Structure representing a Binary Output register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - - - - - -

-Data Fields

AsyncMode asyncMode
 
uint16_t rateDivisor
 
CommonGroup commonField
 
TimeGroup timeField
 
ImuGroup imuField
 
GpsGroup gpsField
 
AttitudeGroup attitudeField
 
InsGroup insField
 
-

Detailed Description

-

Structure representing a Binary Output register.

-

The field outputGroup available on the sensor's register is not necessary in this structure since all read/writes operations will automatically determine this from the settings for the individual groups within this structure.

-
Examples:
sensor/main.c.
-

Field Documentation

- -
-
- - - - -
AsyncMode asyncMode
-
-

The asyncMode field.

- -
-
- -
-
- - - - -
AttitudeGroup attitudeField
-
-

Group 5 (Attitude)

- -
-
- -
-
- - - - -
CommonGroup commonField
-
-

Group 1 (Common)

- -
-
- -
-
- - - - -
GpsGroup gpsField
-
-

Group 4 (GPS)

- -
-
- -
-
- - - - -
ImuGroup imuField
-
-

Group 3 (IMU)

- -
-
- -
-
- - - - -
InsGroup insField
-
-

Group 6 (INS)

- -
-
- -
-
- - - - -
uint16_t rateDivisor
-
-

The rateDivisor field.

- -
-
- -
-
- - - - -
TimeGroup timeField
-
-

Group 2 (Time)

- -
-
-
The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_calculated_magnetometer_calibration_register.html b/vnproglib/c/help/struct_calculated_magnetometer_calibration_register.html deleted file mode 100644 index 2268fb3..0000000 --- a/vnproglib/c/help/struct_calculated_magnetometer_calibration_register.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - -VectorNav C Library: CalculatedMagnetometerCalibrationRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
CalculatedMagnetometerCalibrationRegister Struct Reference
-
-
- -

Structure representing the Calculated Magnetometer Calibration register. - More...

- -

#include <sensors.h>

- - - - - - - - -

-Data Fields

-mat3f c
 The C field.
 
-vec3f b
 The B field.
 
-

Detailed Description

-

Structure representing the Calculated Magnetometer Calibration register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_communication_protocol_control_register.html b/vnproglib/c/help/struct_communication_protocol_control_register.html deleted file mode 100644 index e99494b..0000000 --- a/vnproglib/c/help/struct_communication_protocol_control_register.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - -VectorNav C Library: CommunicationProtocolControlRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
CommunicationProtocolControlRegister Struct Reference
-
-
- -

Structure representing the Communication Protocol Control register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - - - - - - - - - - -

-Data Fields

-uint8_t serialCount
 The SerialCount field.
 
-uint8_t serialStatus
 The SerialStatus field.
 
-uint8_t spiCount
 The SPICount field.
 
-uint8_t spiStatus
 The SPIStatus field.
 
-uint8_t serialChecksum
 The SerialChecksum field.
 
-uint8_t spiChecksum
 The SPIChecksum field.
 
-uint8_t errorMode
 The ErrorMode field.
 
-

Detailed Description

-

Structure representing the Communication Protocol Control register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_delta_theta_and_delta_velocity_configuration_register.html b/vnproglib/c/help/struct_delta_theta_and_delta_velocity_configuration_register.html deleted file mode 100644 index 4910e3a..0000000 --- a/vnproglib/c/help/struct_delta_theta_and_delta_velocity_configuration_register.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - -VectorNav C Library: DeltaThetaAndDeltaVelocityConfigurationRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
DeltaThetaAndDeltaVelocityConfigurationRegister Struct Reference
-
-
- -

Structure representing the Delta Theta and Delta Velocity Configuration register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - -

-Data Fields

-uint8_t integrationFrame
 The IntegrationFrame field.
 
-uint8_t gyroCompensation
 The GyroCompensation field.
 
-uint8_t accelCompensation
 The AccelCompensation field.
 
-

Detailed Description

-

Structure representing the Delta Theta and Delta Velocity Configuration register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_delta_theta_and_delta_velocity_register.html b/vnproglib/c/help/struct_delta_theta_and_delta_velocity_register.html deleted file mode 100644 index dc873ab..0000000 --- a/vnproglib/c/help/struct_delta_theta_and_delta_velocity_register.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - -VectorNav C Library: DeltaThetaAndDeltaVelocityRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
DeltaThetaAndDeltaVelocityRegister Struct Reference
-
-
- -

Structure representing the Delta Theta and Delta Velocity register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - -

-Data Fields

-float deltaTime
 The DeltaTime field.
 
-vec3f deltaTheta
 The DeltaTheta field.
 
-vec3f deltaVelocity
 The DeltaVelocity field.
 
-

Detailed Description

-

Structure representing the Delta Theta and Delta Velocity register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_filter_active_tuning_parameters_register.html b/vnproglib/c/help/struct_filter_active_tuning_parameters_register.html deleted file mode 100644 index c2b6ffa..0000000 --- a/vnproglib/c/help/struct_filter_active_tuning_parameters_register.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -VectorNav C Library: FilterActiveTuningParametersRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
FilterActiveTuningParametersRegister Struct Reference
-
-
- -

Structure representing the Filter Active Tuning Parameters register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - -

-Data Fields

-float magneticDisturbanceGain
 The Magnetic Disturbance Gain field.
 
-float accelerationDisturbanceGain
 The Acceleration Disturbance Gain field.
 
-float magneticDisturbanceMemory
 The Magnetic Disturbance Memory field.
 
-float accelerationDisturbanceMemory
 The Acceleration Disturbance Memory field.
 
-

Detailed Description

-

Structure representing the Filter Active Tuning Parameters register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_filter_basic_control_register.html b/vnproglib/c/help/struct_filter_basic_control_register.html deleted file mode 100644 index 062193f..0000000 --- a/vnproglib/c/help/struct_filter_basic_control_register.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -VectorNav C Library: FilterBasicControlRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
FilterBasicControlRegister Struct Reference
-
-
- -

Structure representing the Filter Basic Control register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - - - - -

-Data Fields

-uint8_t magMode
 The MagMode field.
 
-uint8_t extMagMode
 The ExtMagMode field.
 
-uint8_t extAccMode
 The ExtAccMode field.
 
-uint8_t extGyroMode
 The ExtGyroMode field.
 
-vec3f gyroLimit
 The GyroLimit field.
 
-

Detailed Description

-

Structure representing the Filter Basic Control register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_filter_measurements_variance_parameters_register.html b/vnproglib/c/help/struct_filter_measurements_variance_parameters_register.html deleted file mode 100644 index f438fb9..0000000 --- a/vnproglib/c/help/struct_filter_measurements_variance_parameters_register.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -VectorNav C Library: FilterMeasurementsVarianceParametersRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
FilterMeasurementsVarianceParametersRegister Struct Reference
-
-
- -

Structure representing the Filter Measurements Variance Parameters register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - -

-Data Fields

-float angularWalkVariance
 The Angular Walk Variance field.
 
-vec3f angularRateVariance
 The Angular Rate Variance field.
 
-vec3f magneticVariance
 The Magnetic Variance field.
 
-vec3f accelerationVariance
 The Acceleration Variance field.
 
-

Detailed Description

-

Structure representing the Filter Measurements Variance Parameters register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_gps_compass_baseline_register.html b/vnproglib/c/help/struct_gps_compass_baseline_register.html deleted file mode 100644 index c5b8c90..0000000 --- a/vnproglib/c/help/struct_gps_compass_baseline_register.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - -VectorNav C Library: GpsCompassBaselineRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
GpsCompassBaselineRegister Struct Reference
-
-
- -

Structure representing the GPS Compass Baseline register. - More...

- -

#include <sensors.h>

- - - - - - - - -

-Data Fields

-vec3f position
 The Position field.
 
-vec3f uncertainty
 The Uncertainty field.
 
-

Detailed Description

-

Structure representing the GPS Compass Baseline register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_gps_compass_estimated_baseline_register.html b/vnproglib/c/help/struct_gps_compass_estimated_baseline_register.html deleted file mode 100644 index 35e4790..0000000 --- a/vnproglib/c/help/struct_gps_compass_estimated_baseline_register.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -VectorNav C Library: GpsCompassEstimatedBaselineRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
GpsCompassEstimatedBaselineRegister Struct Reference
-
-
- -

Structure representing the GPS Compass Estimated Baseline register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - -

-Data Fields

-uint8_t estBaselineUsed
 The EstBaselineUsed field.
 
-uint16_t numMeas
 The NumMeas field.
 
-vec3f position
 The Position field.
 
-vec3f uncertainty
 The Uncertainty field.
 
-

Detailed Description

-

Structure representing the GPS Compass Estimated Baseline register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_gps_configuration_register.html b/vnproglib/c/help/struct_gps_configuration_register.html deleted file mode 100644 index 91c6ab3..0000000 --- a/vnproglib/c/help/struct_gps_configuration_register.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - -VectorNav C Library: GpsConfigurationRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
GpsConfigurationRegister Struct Reference
-
-
- -

Structure representing the GPS Configuration register. - More...

- -

#include <sensors.h>

- - - - - - - - -

-Data Fields

-uint8_t mode
 The Mode field.
 
-uint8_t ppsSource
 The PpsSource field.
 
-

Detailed Description

-

Structure representing the GPS Configuration register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_gps_solution_ecef_register.html b/vnproglib/c/help/struct_gps_solution_ecef_register.html deleted file mode 100644 index cc56614..0000000 --- a/vnproglib/c/help/struct_gps_solution_ecef_register.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - -VectorNav C Library: GpsSolutionEcefRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
GpsSolutionEcefRegister Struct Reference
-
-
- -

Structure representing the GPS Solution - ECEF register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Data Fields

-double tow
 The Tow field.
 
-uint16_t week
 The Week field.
 
-uint8_t gpsFix
 The GpsFix field.
 
-uint8_t numSats
 The NumSats field.
 
-vec3d position
 The Position field.
 
-vec3f velocity
 The Velocity field.
 
-vec3f posAcc
 The PosAcc field.
 
-float speedAcc
 The SpeedAcc field.
 
-float timeAcc
 The TimeAcc field.
 
-

Detailed Description

-

Structure representing the GPS Solution - ECEF register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_gps_solution_lla_register.html b/vnproglib/c/help/struct_gps_solution_lla_register.html deleted file mode 100644 index 6ded69d..0000000 --- a/vnproglib/c/help/struct_gps_solution_lla_register.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - -VectorNav C Library: GpsSolutionLlaRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
GpsSolutionLlaRegister Struct Reference
-
-
- -

Structure representing the GPS Solution - LLA register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Data Fields

-double time
 The Time field.
 
-uint16_t week
 The Week field.
 
-uint8_t gpsFix
 The GpsFix field.
 
-uint8_t numSats
 The NumSats field.
 
-vec3d lla
 The Lla field.
 
-vec3f nedVel
 The NedVel field.
 
-vec3f nedAcc
 The NedAcc field.
 
-float speedAcc
 The SpeedAcc field.
 
-float timeAcc
 The TimeAcc field.
 
-

Detailed Description

-

Structure representing the GPS Solution - LLA register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_gyro_compensation_register.html b/vnproglib/c/help/struct_gyro_compensation_register.html deleted file mode 100644 index 95e70a9..0000000 --- a/vnproglib/c/help/struct_gyro_compensation_register.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - -VectorNav C Library: GyroCompensationRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
GyroCompensationRegister Struct Reference
-
-
- -

Structure representing the Gyro Compensation register. - More...

- -

#include <sensors.h>

- - - - - - - - -

-Data Fields

-mat3f c
 The C field.
 
-vec3f b
 The B field.
 
-

Detailed Description

-

Structure representing the Gyro Compensation register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_imu_filtering_configuration_register.html b/vnproglib/c/help/struct_imu_filtering_configuration_register.html deleted file mode 100644 index 53961c9..0000000 --- a/vnproglib/c/help/struct_imu_filtering_configuration_register.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - -VectorNav C Library: ImuFilteringConfigurationRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
ImuFilteringConfigurationRegister Struct Reference
-
-
- -

Structure representing the IMU Filtering Configuration register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Data Fields

-uint16_t magWindowSize
 The MagWindowSize field.
 
-uint16_t accelWindowSize
 The AccelWindowSize field.
 
-uint16_t gyroWindowSize
 The GyroWindowSize field.
 
-uint16_t tempWindowSize
 The TempWindowSize field.
 
-uint16_t presWindowSize
 The PresWindowSize field.
 
-uint8_t magFilterMode
 The MagFilterMode field.
 
-uint8_t accelFilterMode
 The AccelFilterMode field.
 
-uint8_t gyroFilterMode
 The GyroFilterMode field.
 
-uint8_t tempFilterMode
 The TempFilterMode field.
 
-uint8_t presFilterMode
 The PresFilterMode field.
 
-

Detailed Description

-

Structure representing the IMU Filtering Configuration register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_imu_measurements_register.html b/vnproglib/c/help/struct_imu_measurements_register.html deleted file mode 100644 index 21cc732..0000000 --- a/vnproglib/c/help/struct_imu_measurements_register.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -VectorNav C Library: ImuMeasurementsRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
ImuMeasurementsRegister Struct Reference
-
-
- -

Structure representing the IMU Measurements register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - - - - -

-Data Fields

-vec3f mag
 The Mag field.
 
-vec3f accel
 The Accel field.
 
-vec3f gyro
 The Gyro field.
 
-float temp
 The Temp field.
 
-float pressure
 The Pressure field.
 
-

Detailed Description

-

Structure representing the IMU Measurements register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_imu_rate_configuration_register.html b/vnproglib/c/help/struct_imu_rate_configuration_register.html deleted file mode 100644 index 0b637b0..0000000 --- a/vnproglib/c/help/struct_imu_rate_configuration_register.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -VectorNav C Library: ImuRateConfigurationRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
ImuRateConfigurationRegister Struct Reference
-
-
- -

Structure representing the IMU Rate Configuration register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - -

-Data Fields

-uint16_t imuRate
 The imuRate field.
 
-uint16_t navDivisor
 The NavDivisor field.
 
-float filterTargetRate
 The filterTargetRate field.
 
-float filterMinRate
 The filterMinRate field.
 
-

Detailed Description

-

Structure representing the IMU Rate Configuration register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_ins_advanced_configuration_register.html b/vnproglib/c/help/struct_ins_advanced_configuration_register.html deleted file mode 100644 index f64d302..0000000 --- a/vnproglib/c/help/struct_ins_advanced_configuration_register.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - -VectorNav C Library: InsAdvancedConfigurationRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
InsAdvancedConfigurationRegister Struct Reference
-
-
- -

Structure representing the INS Advanced Configuration register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Data Fields

-uint8_t useMag
 The UseMag field.
 
-uint8_t usePres
 The UsePres field.
 
-uint8_t posAtt
 The PosAtt field.
 
-uint8_t velAtt
 The VelAtt field.
 
-uint8_t velBias
 The VelBias field.
 
-uint8_t useFoam
 The UseFoam field.
 
-uint8_t gpsCovType
 The GPSCovType field.
 
-uint8_t velCount
 The VelCount field.
 
-float velInit
 The VelInit field.
 
-float moveOrigin
 The MoveOrigin field.
 
-float gpsTimeout
 The GPSTimeout field.
 
-float deltaLimitPos
 The DeltaLimitPos field.
 
-float deltaLimitVel
 The DeltaLimitVel field.
 
-float minPosUncertainty
 The MinPosUncertainty field.
 
-float minVelUncertainty
 The MinVelUncertainty field.
 
-

Detailed Description

-

Structure representing the INS Advanced Configuration register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_ins_basic_configuration_register_vn200.html b/vnproglib/c/help/struct_ins_basic_configuration_register_vn200.html deleted file mode 100644 index f36b86b..0000000 --- a/vnproglib/c/help/struct_ins_basic_configuration_register_vn200.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - -VectorNav C Library: InsBasicConfigurationRegisterVn200 Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
InsBasicConfigurationRegisterVn200 Struct Reference
-
-
- -

Structure representing the INS Basic Configuration register for a VN-200 sensor. - More...

- -

#include <sensors.h>

- - - - - - - - -

-Data Fields

-uint8_t scenario
 The Scenario field.
 
-uint8_t ahrsAiding
 The AhrsAiding field.
 
-

Detailed Description

-

Structure representing the INS Basic Configuration register for a VN-200 sensor.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_ins_basic_configuration_register_vn300.html b/vnproglib/c/help/struct_ins_basic_configuration_register_vn300.html deleted file mode 100644 index fa3db33..0000000 --- a/vnproglib/c/help/struct_ins_basic_configuration_register_vn300.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - -VectorNav C Library: InsBasicConfigurationRegisterVn300 Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
InsBasicConfigurationRegisterVn300 Struct Reference
-
-
- -

Structure representing the INS Basic Configuration register for a VN-300 sensor. - More...

- -

#include <sensors.h>

- - - - - - - - - - - -

-Data Fields

-uint8_t scenario
 The Scenario field.
 
-uint8_t ahrsAiding
 The AhrsAiding field.
 
-uint8_t estBaseline
 The EstBaseline field.
 
-

Detailed Description

-

Structure representing the INS Basic Configuration register for a VN-300 sensor.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_ins_solution_ecef_register.html b/vnproglib/c/help/struct_ins_solution_ecef_register.html deleted file mode 100644 index eb29302..0000000 --- a/vnproglib/c/help/struct_ins_solution_ecef_register.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - -VectorNav C Library: InsSolutionEcefRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
InsSolutionEcefRegister Struct Reference
-
-
- -

Structure representing the INS Solution - ECEF register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Data Fields

-double time
 The Time field.
 
-uint16_t week
 The Week field.
 
-uint16_t status
 The Status field.
 
-vec3f yawPitchRoll
 The YawPitchRoll field.
 
-vec3d position
 The Position field.
 
-vec3f velocity
 The Velocity field.
 
-float attUncertainty
 The AttUncertainty field.
 
-float posUncertainty
 The PosUncertainty field.
 
-float velUncertainty
 The VelUncertainty field.
 
-

Detailed Description

-

Structure representing the INS Solution - ECEF register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_ins_solution_lla_register.html b/vnproglib/c/help/struct_ins_solution_lla_register.html deleted file mode 100644 index bf2928e..0000000 --- a/vnproglib/c/help/struct_ins_solution_lla_register.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - -VectorNav C Library: InsSolutionLlaRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
InsSolutionLlaRegister Struct Reference
-
-
- -

Structure representing the INS Solution - LLA register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Data Fields

-double time
 The Time field.
 
-uint16_t week
 The Week field.
 
-uint16_t status
 The Status field.
 
-vec3f yawPitchRoll
 The YawPitchRoll field.
 
-vec3d position
 The Position field.
 
-vec3f nedVel
 The NedVel field.
 
-float attUncertainty
 The AttUncertainty field.
 
-float posUncertainty
 The PosUncertainty field.
 
-float velUncertainty
 The VelUncertainty field.
 
-

Detailed Description

-

Structure representing the INS Solution - LLA register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_ins_state_ecef_register.html b/vnproglib/c/help/struct_ins_state_ecef_register.html deleted file mode 100644 index 6350f77..0000000 --- a/vnproglib/c/help/struct_ins_state_ecef_register.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -VectorNav C Library: InsStateEcefRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
InsStateEcefRegister Struct Reference
-
-
- -

Structure representing the INS State - ECEF register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - - - - -

-Data Fields

-vec3f yawPitchRoll
 The YawPitchRoll field.
 
-vec3d position
 The Position field.
 
-vec3f velocity
 The Velocity field.
 
-vec3f accel
 The Accel field.
 
-vec3f angularRate
 The AngularRate field.
 
-

Detailed Description

-

Structure representing the INS State - ECEF register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_ins_state_lla_register.html b/vnproglib/c/help/struct_ins_state_lla_register.html deleted file mode 100644 index 73676e0..0000000 --- a/vnproglib/c/help/struct_ins_state_lla_register.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -VectorNav C Library: InsStateLlaRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
InsStateLlaRegister Struct Reference
-
-
- -

Structure representing the INS State - LLA register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - - - - -

-Data Fields

-vec3f yawPitchRoll
 The YawPitchRoll field.
 
-vec3d position
 The Position field.
 
-vec3f velocity
 The Velocity field.
 
-vec3f accel
 The Accel field.
 
-vec3f angularRate
 The AngularRate field.
 
-

Detailed Description

-

Structure representing the INS State - LLA register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_magnetic_acceleration_and_angular_rates_register.html b/vnproglib/c/help/struct_magnetic_acceleration_and_angular_rates_register.html deleted file mode 100644 index 9f93675..0000000 --- a/vnproglib/c/help/struct_magnetic_acceleration_and_angular_rates_register.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - -VectorNav C Library: MagneticAccelerationAndAngularRatesRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
MagneticAccelerationAndAngularRatesRegister Struct Reference
-
-
- -

Structure representing the Magnetic, Acceleration and Angular Rates register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - -

-Data Fields

-vec3f mag
 The Mag field.
 
-vec3f accel
 The Accel field.
 
-vec3f gyro
 The Gyro field.
 
-

Detailed Description

-

Structure representing the Magnetic, Acceleration and Angular Rates register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_magnetic_and_gravity_reference_vectors_register.html b/vnproglib/c/help/struct_magnetic_and_gravity_reference_vectors_register.html deleted file mode 100644 index 4037f3e..0000000 --- a/vnproglib/c/help/struct_magnetic_and_gravity_reference_vectors_register.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - -VectorNav C Library: MagneticAndGravityReferenceVectorsRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
MagneticAndGravityReferenceVectorsRegister Struct Reference
-
-
- -

Structure representing the Magnetic and Gravity Reference Vectors register. - More...

- -

#include <sensors.h>

- - - - - - - - -

-Data Fields

-vec3f magRef
 The MagRef field.
 
-vec3f accRef
 The AccRef field.
 
-

Detailed Description

-

Structure representing the Magnetic and Gravity Reference Vectors register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_magnetometer_calibration_control_register.html b/vnproglib/c/help/struct_magnetometer_calibration_control_register.html deleted file mode 100644 index 4bd136c..0000000 --- a/vnproglib/c/help/struct_magnetometer_calibration_control_register.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - -VectorNav C Library: MagnetometerCalibrationControlRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
MagnetometerCalibrationControlRegister Struct Reference
-
-
- -

Structure representing the Magnetometer Calibration Control register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - -

-Data Fields

-uint8_t hsiMode
 The HSIMode field.
 
-uint8_t hsiOutput
 The HSIOutput field.
 
-uint8_t convergeRate
 The ConvergeRate field.
 
-

Detailed Description

-

Structure representing the Magnetometer Calibration Control register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_magnetometer_compensation_register.html b/vnproglib/c/help/struct_magnetometer_compensation_register.html deleted file mode 100644 index 3e8056b..0000000 --- a/vnproglib/c/help/struct_magnetometer_compensation_register.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - -VectorNav C Library: MagnetometerCompensationRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
MagnetometerCompensationRegister Struct Reference
-
-
- -

Structure representing the Magnetometer Compensation register. - More...

- -

#include <sensors.h>

- - - - - - - - -

-Data Fields

-mat3f c
 The C field.
 
-vec3f b
 The B field.
 
-

Detailed Description

-

Structure representing the Magnetometer Compensation register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_quaternion_magnetic_acceleration_and_angular_rates_register.html b/vnproglib/c/help/struct_quaternion_magnetic_acceleration_and_angular_rates_register.html deleted file mode 100644 index c83232d..0000000 --- a/vnproglib/c/help/struct_quaternion_magnetic_acceleration_and_angular_rates_register.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -VectorNav C Library: QuaternionMagneticAccelerationAndAngularRatesRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
QuaternionMagneticAccelerationAndAngularRatesRegister Struct Reference
-
-
- -

Structure representing the Quaternion, Magnetic, Acceleration and Angular Rates register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - -

-Data Fields

-vec4f quat
 The Quat field.
 
-vec3f mag
 The Mag field.
 
-vec3f accel
 The Accel field.
 
-vec3f gyro
 The Gyro field.
 
-

Detailed Description

-

Structure representing the Quaternion, Magnetic, Acceleration and Angular Rates register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_reference_vector_configuration_register.html b/vnproglib/c/help/struct_reference_vector_configuration_register.html deleted file mode 100644 index d21bb22..0000000 --- a/vnproglib/c/help/struct_reference_vector_configuration_register.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -VectorNav C Library: ReferenceVectorConfigurationRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
ReferenceVectorConfigurationRegister Struct Reference
-
-
- -

Structure representing the Reference Vector Configuration register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - - - - -

-Data Fields

-uint8_t useMagModel
 The UseMagModel field.
 
-uint8_t useGravityModel
 The UseGravityModel field.
 
-uint32_t recalcThreshold
 The RecalcThreshold field.
 
-float year
 The Year field.
 
-vec3d position
 The Position field.
 
-

Detailed Description

-

Structure representing the Reference Vector Configuration register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_startup_filter_bias_estimate_register.html b/vnproglib/c/help/struct_startup_filter_bias_estimate_register.html deleted file mode 100644 index 48cabd9..0000000 --- a/vnproglib/c/help/struct_startup_filter_bias_estimate_register.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - -VectorNav C Library: StartupFilterBiasEstimateRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
StartupFilterBiasEstimateRegister Struct Reference
-
-
- -

Structure representing the Startup Filter Bias Estimate register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - -

-Data Fields

-vec3f gyroBias
 The GyroBias field.
 
-vec3f accelBias
 The AccelBias field.
 
-float pressureBias
 The PressureBias field.
 
-

Detailed Description

-

Structure representing the Startup Filter Bias Estimate register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_synchronization_control_register.html b/vnproglib/c/help/struct_synchronization_control_register.html deleted file mode 100644 index 56b9be0..0000000 --- a/vnproglib/c/help/struct_synchronization_control_register.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - -VectorNav C Library: SynchronizationControlRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
SynchronizationControlRegister Struct Reference
-
-
- -

Structure representing the Synchronization Control register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - - - - - - - - - - -

-Data Fields

-uint8_t syncInMode
 The SyncInMode field.
 
-uint8_t syncInEdge
 The SyncInEdge field.
 
-uint16_t syncInSkipFactor
 The SyncInSkipFactor field.
 
-uint8_t syncOutMode
 The SyncOutMode field.
 
-uint8_t syncOutPolarity
 The SyncOutPolarity field.
 
-uint16_t syncOutSkipFactor
 The SyncOutSkipFactor field.
 
-uint32_t syncOutPulseWidth
 The SyncOutPulseWidth field.
 
-

Detailed Description

-

Structure representing the Synchronization Control register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_synchronization_status_register.html b/vnproglib/c/help/struct_synchronization_status_register.html deleted file mode 100644 index 3c34062..0000000 --- a/vnproglib/c/help/struct_synchronization_status_register.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - -VectorNav C Library: SynchronizationStatusRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
SynchronizationStatusRegister Struct Reference
-
-
- -

Structure representing the Synchronization Status register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - -

-Data Fields

-uint32_t syncInCount
 The SyncInCount field.
 
-uint32_t syncInTime
 The SyncInTime field.
 
-uint32_t syncOutCount
 The SyncOutCount field.
 
-

Detailed Description

-

Structure representing the Synchronization Status register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_velocity_compensation_control_register.html b/vnproglib/c/help/struct_velocity_compensation_control_register.html deleted file mode 100644 index ac0f802..0000000 --- a/vnproglib/c/help/struct_velocity_compensation_control_register.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - -VectorNav C Library: VelocityCompensationControlRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
VelocityCompensationControlRegister Struct Reference
-
-
- -

Structure representing the Velocity Compensation Control register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - -

-Data Fields

-uint8_t mode
 The Mode field.
 
-float velocityTuning
 The VelocityTuning field.
 
-float rateTuning
 The RateTuning field.
 
-

Detailed Description

-

Structure representing the Velocity Compensation Control register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_velocity_compensation_status_register.html b/vnproglib/c/help/struct_velocity_compensation_status_register.html deleted file mode 100644 index a8d96c2..0000000 --- a/vnproglib/c/help/struct_velocity_compensation_status_register.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -VectorNav C Library: VelocityCompensationStatusRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
VelocityCompensationStatusRegister Struct Reference
-
-
- -

Structure representing the Velocity Compensation Status register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - -

-Data Fields

-float x
 The x field.
 
-float xDot
 The xDot field.
 
-vec3f accelOffset
 The accelOffset field.
 
-vec3f omega
 The omega field.
 
-

Detailed Description

-

Structure representing the Velocity Compensation Status register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_vn_composite_data.html b/vnproglib/c/help/struct_vn_composite_data.html deleted file mode 100644 index 9591467..0000000 --- a/vnproglib/c/help/struct_vn_composite_data.html +++ /dev/null @@ -1,884 +0,0 @@ - - - - - - -VectorNav C Library: VnCompositeData Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
VnCompositeData Struct Reference
-
-
- -

Composite structure of all available data types from VectorNav sensors. - More...

- -

#include <compositedata.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Data Fields

vec3f yawPitchRoll
 
vec4f quaternion
 
mat3f directionCosineMatrix
 
vec3d positionGpsLla
 
vec3d positionGpsEcef
 
vec3d positionEstimatedLla
 
vec3d positionEstimatedEcef
 
VelocityType velocityType
 
vec3f velocityGpsNed
 
vec3f velocityGpsEcef
 
vec3f velocityEstimatedBody
 
vec3f velocityEstimatedNed
 
vec3f velocityEstimatedEcef
 
vec3f magnetic
 
vec3f magneticUncompensated
 
vec3f magneticNed
 
vec3f magneticEcef
 
vec3f acceleration
 
vec3f accelerationUncompensated
 
vec3f accelerationNed
 
vec3f accelerationEcef
 
vec3f accelerationLinearBody
 
vec3f accelerationLinearNed
 
vec3f accelerationLinearEcef
 
vec3f angularRate
 
vec3f angularRateUncompensated
 
float temperature
 
float pressure
 
uint64_t timeStartup
 
float deltaTime
 
vec3f deltaTheta
 
vec3f deltaVelocity
 
double tow
 
uint16_t week
 
uint8_t gpsFix
 
uint8_t numSats
 
uint64_t timeGps
 
uint64_t timeGpsPps
 
uint64_t gpsTow
 
vec3f attitudeUncertainty
 
vec3f positionUncertaintyGpsNed
 
vec3f positionUncertaintyGpsEcef
 
float positionUncertaintyEstimated
 
float velocityUncertaintyGps
 
float velocityUncertaintyEstimated
 
uint32_t timeUncertainty
 
uint16_t vpeStatus
 
uint16_t insStatus
 
uint64_t timeSyncIn
 
uint32_t syncInCnt
 
uint16_t sensSat
 
-

Detailed Description

-

Composite structure of all available data types from VectorNav sensors.

-
Examples:
ez_async_data/main.c.
-

Field Documentation

- -
-
- - - - -
vec3f acceleration
-
-

Acceleration data.

- -
-
- -
-
- - - - -
vec3f accelerationEcef
-
-

Acceleration ECEF data.

- -
-
- -
-
- - - - -
vec3f accelerationLinearBody
-
-

Acceleration linear body data.

- -
-
- -
-
- - - - -
vec3f accelerationLinearEcef
-
-

Acceleration linear ECEF data.

- -
-
- -
-
- - - - -
vec3f accelerationLinearNed
-
-

Acceleration linear NED data.

- -
-
- -
-
- - - - -
vec3f accelerationNed
-
-

Acceleration NED data.

- -
-
- -
-
- - - - -
vec3f accelerationUncompensated
-
-

Acceleration uncompensated data.

- -
-
- -
-
- - - - -
vec3f angularRate
-
-

Angular rate data.

- -
-
- -
-
- - - - -
vec3f angularRateUncompensated
-
-

Angular rate uncompensated data.

- -
-
- -
-
- - - - -
vec3f attitudeUncertainty
-
-

Attitude uncertainty data.

- -
-
- -
-
- - - - -
vec3f deltaTheta
-
-

Delta theta data.

- -
-
- -
-
- - - - -
float deltaTime
-
-

Delta time data.

- -
-
- -
-
- - - - -
vec3f deltaVelocity
-
-

Delta velocity data.

- -
-
- -
-
- - - - -
mat3f directionCosineMatrix
-
-

Direction cosine matrix data.

- -
-
- -
-
- - - - -
uint8_t gpsFix
-
-

GPS fix data.

- -
-
- -
-
- - - - -
uint64_t gpsTow
-
-

GpsTow data.

- -
-
- -
-
- - - - -
uint16_t insStatus
-
-

InsStatus data.

- -
-
- -
-
- - - - -
vec3f magnetic
-
-

Magnetic data.

- -
-
- -
-
- - - - -
vec3f magneticEcef
-
-

Magnetic ECEF data.

- -
-
- -
-
- - - - -
vec3f magneticNed
-
-

Magnetic NED data.

- -
-
- -
-
- - - - -
vec3f magneticUncompensated
-
-

Magnetic uncompensated data.

- -
-
- -
-
- - - - -
uint8_t numSats
-
-

NumSats data.

- -
-
- -
-
- - - - -
vec3d positionEstimatedEcef
-
-

Estimated earth-centered, earth-fixed position data.

- -
-
- -
-
- - - - -
vec3d positionEstimatedLla
-
-

Estimated latitude, longitude, altitude data.

- -
-
- -
-
- - - - -
vec3d positionGpsEcef
-
-

GPS earth-centered, earth-fixed data.

- -
-
- -
-
- - - - -
vec3d positionGpsLla
-
-

GPS latitude, longitude, altitude data.

- -
-
- -
-
- - - - -
float positionUncertaintyEstimated
-
-

Estimated position uncertainty data.

- -
-
- -
-
- - - - -
vec3f positionUncertaintyGpsEcef
-
-

GPS position uncertainty ECEF data.

- -
-
- -
-
- - - - -
vec3f positionUncertaintyGpsNed
-
-

GPS position uncertainty NED data.

- -
-
- -
-
- - - - -
float pressure
-
-

Pressure data.

- -
-
- -
-
- - - - -
vec4f quaternion
-
-

Quaternion data.

- -
-
- -
-
- - - - -
uint16_t sensSat
-
-

SensSat data.

- -
-
- -
-
- - - - -
uint32_t syncInCnt
-
-

SyncInCnt data.

- -
-
- -
-
- - - - -
float temperature
-
-

Temperature data.

- -
-
- -
-
- - - - -
uint64_t timeGps
-
-

TimeGps data.

- -
-
- -
-
- - - - -
uint64_t timeGpsPps
-
-

TimeGpsPps data.

- -
-
- -
-
- - - - -
uint64_t timeStartup
-
-

Time startup data.

- -
-
- -
-
- - - - -
uint64_t timeSyncIn
-
-

TimeSyncIn data.

- -
-
- -
-
- - - - -
uint32_t timeUncertainty
-
-

Time uncertainty data.

- -
-
- -
-
- - - - -
double tow
-
-

GPS time of week data.

- -
-
- -
-
- - - - -
vec3f velocityEstimatedBody
-
-

Estimated velocity body data.

- -
-
- -
-
- - - - -
vec3f velocityEstimatedEcef
-
-

Estimated velocity ECEF data.

- -
-
- -
-
- - - - -
vec3f velocityEstimatedNed
-
-

Estimated velocity NED data.

- -
-
- -
-
- - - - -
vec3f velocityGpsEcef
-
-

GPS velocity ECEF data.

- -
-
- -
-
- - - - -
vec3f velocityGpsNed
-
-

GPS velocity NED data.

- -
-
- -
-
- - - - -
VelocityType velocityType
-
-

Type of velocity in the struct.

- -
-
- -
-
- - - - -
float velocityUncertaintyEstimated
-
-

Estimated velocity uncertainty data.

- -
-
- -
-
- - - - -
float velocityUncertaintyGps
-
-

GPS velocity uncertainty data.

- -
-
- -
-
- - - - -
uint16_t vpeStatus
-
-

VpeStatus data.

- -
-
- -
-
- - - - -
uint16_t week
-
-

Week data.

- -
-
- -
-
- - - - -
vec3f yawPitchRoll
-
-

Yaw, pitch, roll data.

-
Examples:
ez_async_data/main.c.
-
-
-
-
The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_vn_critical_section.html b/vnproglib/c/help/struct_vn_critical_section.html deleted file mode 100644 index c321990..0000000 --- a/vnproglib/c/help/struct_vn_critical_section.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - -VectorNav C Library: VnCriticalSection Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
-
-
VnCriticalSection Struct Reference
-
-
-
The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_vn_event.html b/vnproglib/c/help/struct_vn_event.html deleted file mode 100644 index 813c923..0000000 --- a/vnproglib/c/help/struct_vn_event.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - -VectorNav C Library: VnEvent Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
-
-
VnEvent Struct Reference
-
-
- -

Structure representing an event. - More...

- -

#include <event.h>

-

Detailed Description

-

Structure representing an event.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_vn_ez_async_data.html b/vnproglib/c/help/struct_vn_ez_async_data.html deleted file mode 100644 index 800630a..0000000 --- a/vnproglib/c/help/struct_vn_ez_async_data.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - -VectorNav C Library: VnEzAsyncData Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
VnEzAsyncData Struct Reference
-
-
- -

Structure supporting easy and reliable access to asynchronous data from a VectorNav sensor at the cost of a slight performance hit. - More...

- -

#include <ezasyncdata.h>

- - - - - - - - - - - -

-Data Fields

-VnSensorsensor
 The associated connected sensor.
 
-VnCriticalSectioncurDataCS
 Critical section for accessing the current data.
 
-VnCompositeDatacurData
 The current data received from asynchronous data packets.
 
-

Detailed Description

-

Structure supporting easy and reliable access to asynchronous data from a VectorNav sensor at the cost of a slight performance hit.

-
Examples:
ez_async_data/main.c.
-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_vn_port_info.html b/vnproglib/c/help/struct_vn_port_info.html deleted file mode 100644 index 8d7bf5a..0000000 --- a/vnproglib/c/help/struct_vn_port_info.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - -VectorNav C Library: VnPortInfo Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
VnPortInfo Struct Reference
-
-
- -

containing information about the port to be searched. - More...

- -

#include <searcher.h>

- - - - - - - - - - - - - - - - - - - - -

-Data Fields

-char * portName
 Contains the name of the port.
 
-VnThread thread
 VnThread object for callback purposes.
 
-int32_t baud
 Baud of the attached senosr, -1 for no sensor, -2 for error.
 
-size_t dataSize
 size of the data array
 
-VnSerialPortport
 VnSerialPort object to handle communication to the sensor.
 
-char data [255]
 Array to store partial/completed communication data from the sensor.
 
-

Detailed Description

-

containing information about the port to be searched.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_vn_sensor.html b/vnproglib/c/help/struct_vn_sensor.html deleted file mode 100644 index 200b804..0000000 --- a/vnproglib/c/help/struct_vn_sensor.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -VectorNav C Library: VnSensor Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
VnSensor Struct Reference
-
-
- -

Helpful structure for working with VectorNav sensors. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Data Fields

-VnSerialPort serialPort
 
-VnErrorDetectionMode sendErrorDetectionMode
 
-uint16_t responseTimeoutMs
 
-uint16_t retransmitDelayMs
 
-VnCriticalSection transactionCS
 
-VnEvent newResponsesEvent
 
-bool waitingForResponse
 
-bool responseWaitingForProcessing
 
-size_t runningDataIndex
 
-VnUartPacketFinder packetFinder
 
-VnSensor_PacketFoundHandler asyncPacketFoundHandler
 
-void * asyncPacketFoundHandlerUserData
 
-VnSensor_PacketFoundHandler errorMessageReceivedHandler
 
-void * errorMessageReceivedHandlerUserData
 
-size_t responseLength
 
-char response [0x100]
 
-

Detailed Description

-

Helpful structure for working with VectorNav sensors.

-
Examples:
sensor/main.c.
-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_vn_serial_port.html b/vnproglib/c/help/struct_vn_serial_port.html deleted file mode 100644 index 99c3caf..0000000 --- a/vnproglib/c/help/struct_vn_serial_port.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - -VectorNav C Library: VnSerialPort Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
VnSerialPort Struct Reference
-
-
- -

Provides access to a serial port. - More...

- -

#include <serialport.h>

- - - - - - - - - - - - - - - - - - -

-Data Fields

-bool purgeFirstDataBytesWhenSerialPortIsFirstOpened
 
-VnSerialPort_DataReceivedHandler dataReceivedHandler
 
-void * dataReceivedHandlerUserData
 
-VnThread serialPortNotificationsThread
 
-bool continueHandlingSerialPortEvents
 
-size_t numberOfReceiveDataDroppedSections
 
-VnCriticalSection dataReceivedHandlerCriticalSection
 
-char portName [50]
 
-

Detailed Description

-

Provides access to a serial port.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_vn_stopwatch.html b/vnproglib/c/help/struct_vn_stopwatch.html deleted file mode 100644 index 1db326c..0000000 --- a/vnproglib/c/help/struct_vn_stopwatch.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - -VectorNav C Library: VnStopwatch Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
-
-
VnStopwatch Struct Reference
-
-
- -

Provides simple timing capabilities. - More...

- -

#include <time.h>

-

Detailed Description

-

Provides simple timing capabilities.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_vn_thread.html b/vnproglib/c/help/struct_vn_thread.html deleted file mode 100644 index 8cb143d..0000000 --- a/vnproglib/c/help/struct_vn_thread.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - -VectorNav C Library: VnThread Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
-
-
VnThread Struct Reference
-
-
- -

Structure for working with threads. - More...

- -

#include <thread.h>

-

Detailed Description

-

Structure for working with threads.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_vn_uart_packet.html b/vnproglib/c/help/struct_vn_uart_packet.html deleted file mode 100644 index 17ca504..0000000 --- a/vnproglib/c/help/struct_vn_uart_packet.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - -VectorNav C Library: VnUartPacket Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
VnUartPacket Struct Reference
-
-
- -

Structure representing a UART packet received from a VectorNav sensor. - More...

- -

#include <upack.h>

- - - - - - - - -

-Data Fields

size_t curExtractLoc
 
size_t length
 
uint8_t * data
 
-

Detailed Description

-

Structure representing a UART packet received from a VectorNav sensor.

-
Examples:
getting_started/main.c, and sensor/main.c.
-

Field Documentation

- -
-
- - - - -
size_t curExtractLoc
-
-

Current location for extracting binary data.

- -
-
- -
-
- - - - -
uint8_t* data
-
-

The packet data.

- -
-
- -
-
- - - - -
size_t length
-
-

Number of bytes in the packet.

- -
-
-
The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_vn_uart_packet_finder.html b/vnproglib/c/help/struct_vn_uart_packet_finder.html deleted file mode 100644 index d6be691..0000000 --- a/vnproglib/c/help/struct_vn_uart_packet_finder.html +++ /dev/null @@ -1,186 +0,0 @@ - - - - - - -VectorNav C Library: VnUartPacketFinder Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
VnUartPacketFinder Struct Reference
-
-
- -

Data structure holding current parsing status of data received from a VectorNav sensor. - More...

- -

#include <upackf.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Data Fields

-VnUartPacketFinder_PacketFoundHandler packetFoundHandler
 Callback for when a packet has been found and validated.
 
-void * packetFoundHandlerUserData
 User data for callbacks on the packetFoundHandler.
 
-size_t runningDataIndex
 Used for correlating the position in the received raw data stream where packets are found.
 
-bool asciiCurrentlyBuildingPacket
 Indicates if an ASCII packet is currently being built.
 
-size_t asciiPossibleStartOfPacketIndex
 Indicates a suspected start of an ASCII packet.
 
-size_t asciiRunningDataIndexOfStart
 Index of start of ASCII packet in total running index.
 
-bool asciiEndChar1Found
 Indicates if the first ending character has been found.
 
-bool binaryCurrentlyBuildingBinaryPacket
 Indicates if we are currently building a binary packet.
 
-size_t binaryRunningDataIndexOfStart
 Index of start of binary packet in total running index.
 
-size_t bufferSize
 Holds the size of the receive buffer.
 
-size_t bufferAppendLocation
 The current location to append data into the buffer.
 
-bool binaryGroupsPresentFound
 Indicates if we have found the groups present data field for a binary packet we are building.
 
-uint8_t binaryGroupsPresent
 The groups present found from a binary packet.
 
-uint8_t binaryNumOfBytesRemainingToHaveAllGroupFields
 Indicates the number of bytes remaining to have all group fields for a binary data packet we are processing.
 
-size_t binaryPossibleStartIndex
 Start index of a possible binary packet.
 
-size_t binaryNumberOfBytesRemainingForCompletePacket
 Keeps track of the number of bytes remaining for a complete binary packet.
 
-uint8_t receiveBuffer [VNUART_PROTOCOL_BUFFER_SIZE]
 The receive buffer.
 
-

Detailed Description

-

Data structure holding current parsing status of data received from a VectorNav sensor.

-

This structure contains a buffer which will hold bytes that are currently being processed. The size of this buffer can be adjusted by defining the size using the preprocesser. For example, the size can be adjusted to use 1024 bytes by defining VNUART_PROTOCOL_BUFFER_SIZE=1024.

-
Examples:
getting_started/main.c.
-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_vpe_accelerometer_advanced_tuning_register.html b/vnproglib/c/help/struct_vpe_accelerometer_advanced_tuning_register.html deleted file mode 100644 index 98a62e6..0000000 --- a/vnproglib/c/help/struct_vpe_accelerometer_advanced_tuning_register.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -VectorNav C Library: VpeAccelerometerAdvancedTuningRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
VpeAccelerometerAdvancedTuningRegister Struct Reference
-
-
- -

Structure representing the VPE Accelerometer Advanced Tuning register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - - - - -

-Data Fields

-vec3f minFiltering
 The MinFiltering field.
 
-vec3f maxFiltering
 The MaxFiltering field.
 
-float maxAdaptRate
 The MaxAdaptRate field.
 
-float disturbanceWindow
 The DisturbanceWindow field.
 
-float maxTuning
 The MaxTuning field.
 
-

Detailed Description

-

Structure representing the VPE Accelerometer Advanced Tuning register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_vpe_accelerometer_basic_tuning_register.html b/vnproglib/c/help/struct_vpe_accelerometer_basic_tuning_register.html deleted file mode 100644 index bce95db..0000000 --- a/vnproglib/c/help/struct_vpe_accelerometer_basic_tuning_register.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - -VectorNav C Library: VpeAccelerometerBasicTuningRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
VpeAccelerometerBasicTuningRegister Struct Reference
-
-
- -

Structure representing the VPE Accelerometer Basic Tuning register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - -

-Data Fields

-vec3f baseTuning
 The BaseTuning field.
 
-vec3f adaptiveTuning
 The AdaptiveTuning field.
 
-vec3f adaptiveFiltering
 The AdaptiveFiltering field.
 
-

Detailed Description

-

Structure representing the VPE Accelerometer Basic Tuning register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_vpe_basic_control_register.html b/vnproglib/c/help/struct_vpe_basic_control_register.html deleted file mode 100644 index 087df46..0000000 --- a/vnproglib/c/help/struct_vpe_basic_control_register.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - -VectorNav C Library: VpeBasicControlRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
VpeBasicControlRegister Struct Reference
-
-
- -

Structure representing the VPE Basic Control register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - -

-Data Fields

-uint8_t enable
 The Enable field.
 
-uint8_t headingMode
 The HeadingMode field.
 
-uint8_t filteringMode
 The FilteringMode field.
 
-uint8_t tuningMode
 The TuningMode field.
 
-

Detailed Description

-

Structure representing the VPE Basic Control register.

-
Examples:
sensor/main.c.
-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_vpe_gyro_basic_tuning_register.html b/vnproglib/c/help/struct_vpe_gyro_basic_tuning_register.html deleted file mode 100644 index 43fe87f..0000000 --- a/vnproglib/c/help/struct_vpe_gyro_basic_tuning_register.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - -VectorNav C Library: VpeGyroBasicTuningRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
VpeGyroBasicTuningRegister Struct Reference
-
-
- -

Structure representing the VPE Gyro Basic Tuning register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - -

-Data Fields

-vec3f angularWalkVariance
 The AngularWalkVariance field.
 
-vec3f baseTuning
 The BaseTuning field.
 
-vec3f adaptiveTuning
 The AdaptiveTuning field.
 
-

Detailed Description

-

Structure representing the VPE Gyro Basic Tuning register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_vpe_magnetometer_advanced_tuning_register.html b/vnproglib/c/help/struct_vpe_magnetometer_advanced_tuning_register.html deleted file mode 100644 index 41d53b7..0000000 --- a/vnproglib/c/help/struct_vpe_magnetometer_advanced_tuning_register.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -VectorNav C Library: VpeMagnetometerAdvancedTuningRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
VpeMagnetometerAdvancedTuningRegister Struct Reference
-
-
- -

Structure representing the VPE Magnetometer Advanced Tuning register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - - - - -

-Data Fields

-vec3f minFiltering
 The MinFiltering field.
 
-vec3f maxFiltering
 The MaxFiltering field.
 
-float maxAdaptRate
 The MaxAdaptRate field.
 
-float disturbanceWindow
 The DisturbanceWindow field.
 
-float maxTuning
 The MaxTuning field.
 
-

Detailed Description

-

Structure representing the VPE Magnetometer Advanced Tuning register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_vpe_magnetometer_basic_tuning_register.html b/vnproglib/c/help/struct_vpe_magnetometer_basic_tuning_register.html deleted file mode 100644 index c43cf20..0000000 --- a/vnproglib/c/help/struct_vpe_magnetometer_basic_tuning_register.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - -VectorNav C Library: VpeMagnetometerBasicTuningRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
VpeMagnetometerBasicTuningRegister Struct Reference
-
-
- -

Structure representing the VPE Magnetometer Basic Tuning register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - -

-Data Fields

-vec3f baseTuning
 The BaseTuning field.
 
-vec3f adaptiveTuning
 The AdaptiveTuning field.
 
-vec3f adaptiveFiltering
 The AdaptiveFiltering field.
 
-

Detailed Description

-

Structure representing the VPE Magnetometer Basic Tuning register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_yaw_pitch_roll_magnetic_acceleration_and_angular_rates_register.html b/vnproglib/c/help/struct_yaw_pitch_roll_magnetic_acceleration_and_angular_rates_register.html deleted file mode 100644 index f665961..0000000 --- a/vnproglib/c/help/struct_yaw_pitch_roll_magnetic_acceleration_and_angular_rates_register.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - -VectorNav C Library: YawPitchRollMagneticAccelerationAndAngularRatesRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
YawPitchRollMagneticAccelerationAndAngularRatesRegister Struct Reference
-
-
- -

Structure representing the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - - - - -

-Data Fields

-vec3f yawPitchRoll
 The YawPitchRoll field.
 
-vec3f mag
 The Mag field.
 
-vec3f accel
 The Accel field.
 
-vec3f gyro
 The Gyro field.
 
-

Detailed Description

-

Structure representing the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register.

-
Examples:
sensor/main.c.
-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_yaw_pitch_roll_true_body_acceleration_and_angular_rates_register.html b/vnproglib/c/help/struct_yaw_pitch_roll_true_body_acceleration_and_angular_rates_register.html deleted file mode 100644 index 34a5ba5..0000000 --- a/vnproglib/c/help/struct_yaw_pitch_roll_true_body_acceleration_and_angular_rates_register.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - -VectorNav C Library: YawPitchRollTrueBodyAccelerationAndAngularRatesRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
YawPitchRollTrueBodyAccelerationAndAngularRatesRegister Struct Reference
-
-
- -

Structure representing the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - -

-Data Fields

-vec3f yawPitchRoll
 The YawPitchRoll field.
 
-vec3f bodyAccel
 The BodyAccel field.
 
-vec3f gyro
 The Gyro field.
 
-

Detailed Description

-

Structure representing the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/struct_yaw_pitch_roll_true_inertial_acceleration_and_angular_rates_register.html b/vnproglib/c/help/struct_yaw_pitch_roll_true_inertial_acceleration_and_angular_rates_register.html deleted file mode 100644 index 0f67cc3..0000000 --- a/vnproglib/c/help/struct_yaw_pitch_roll_true_inertial_acceleration_and_angular_rates_register.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - -VectorNav C Library: YawPitchRollTrueInertialAccelerationAndAngularRatesRegister Struct Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
YawPitchRollTrueInertialAccelerationAndAngularRatesRegister Struct Reference
-
-
- -

Structure representing the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register. - More...

- -

#include <sensors.h>

- - - - - - - - - - - -

-Data Fields

-vec3f yawPitchRoll
 The YawPitchRoll field.
 
-vec3f inertialAccel
 The InertialAccel field.
 
-vec3f gyro
 The Gyro field.
 
-

Detailed Description

-

Structure representing the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register.

-

The documentation for this struct was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/sync_off.png b/vnproglib/c/help/sync_off.png deleted file mode 100644 index 3b443fc62892114406e3d399421b2a881b897acc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 853 zcmV-b1FHOqP)oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sTxLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* diff --git a/vnproglib/c/help/sync_on.png b/vnproglib/c/help/sync_on.png deleted file mode 100644 index e08320fb64e6fa33b573005ed6d8fe294e19db76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 diff --git a/vnproglib/c/help/tab_a.png b/vnproglib/c/help/tab_a.png deleted file mode 100644 index 3b725c41c5a527a3a3e40097077d0e206a681247..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 diff --git a/vnproglib/c/help/tab_b.png b/vnproglib/c/help/tab_b.png deleted file mode 100644 index e2b4a8638cb3496a016eaed9e16ffc12846dea18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QU#tajv*C{Z}0l@H7kg?K0Lnr z!j&C6_(~HV9oQ0Pa6x{-v0AGV_E?vLn=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ diff --git a/vnproglib/c/help/tabs.css b/vnproglib/c/help/tabs.css deleted file mode 100644 index 25af414..0000000 --- a/vnproglib/c/help/tabs.css +++ /dev/null @@ -1,60 +0,0 @@ -.tabs, .tabs2, .tabs3 { - background-image: url('tab_b.png'); - width: 100%; - z-index: 101; - font-size: 13px; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; -} - -.tabs2 { - font-size: 10px; -} -.tabs3 { - font-size: 9px; -} - -.tablist { - margin: 0; - padding: 0; - display: table; -} - -.tablist li { - float: left; - display: table-cell; - background-image: url('tab_b.png'); - line-height: 36px; - list-style: none; -} - -.tablist a { - display: block; - padding: 0 20px; - font-weight: bold; - background-image:url('tab_s.png'); - background-repeat:no-repeat; - background-position:right; - color: #283A5D; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; - outline: none; -} - -.tabs3 .tablist a { - padding: 0 10px; -} - -.tablist a:hover { - background-image: url('tab_h.png'); - background-repeat:repeat-x; - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); - text-decoration: none; -} - -.tablist li.current a { - background-image: url('tab_a.png'); - background-repeat:repeat-x; - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); -} diff --git a/vnproglib/c/help/thread_8h.html b/vnproglib/c/help/thread_8h.html deleted file mode 100644 index 6c36a61..0000000 --- a/vnproglib/c/help/thread_8h.html +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - -VectorNav C Library: thread.h File Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
- -
-
thread.h File Reference
-
-
-
#include "vn/error.h"
-#include "vn/int.h"
-
-

Go to the source code of this file.

- - - - - -

-Data Structures

struct  VnThread
 Structure for working with threads. More...
 
- - - - -

-Typedefs

-typedef void(* VnThread_StartRoutine) (void *)
 Function signature for a start routine for a thread.
 
- - - - - - - - - - - - - - - - -

-Functions

VnError VnThread_startNew (VnThread *thread, VnThread_StartRoutine startRoutine, void *routineData)
 Starts a new thread immediately which calls the provided start routine. More...
 
VnError VnThread_join (VnThread *thread)
 Blocks the calling thread until the referenced thread finishes. More...
 
void VnThread_sleepSec (uint32_t numOfSecsToSleep)
 Causes the calling thread to sleep the specified number of seconds. More...
 
void VnThread_sleepMs (uint32_t numOfMsToSleep)
 Causes the calling thread to sleep the specified number of milliseconds. More...
 
void VnThread_sleepUs (uint32_t numOfUsToSleep)
 Causes the calling thread to sleep the specified number of microseconds. More...
 
-

Detailed Description

-

{COMMON_HEADER}

-

-DESCRIPTION

-

This header file contains structures and functions useful working with threads.

-

Function Documentation

- -
-
- - - - - - - - -
VnError VnThread_join (VnThreadthread)
-
- -

Blocks the calling thread until the referenced thread finishes.

-
Parameters
- - -
[in]threadThe associated VnThread.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - -
void VnThread_sleepMs (uint32_t numOfMsToSleep)
-
- -

Causes the calling thread to sleep the specified number of milliseconds.

-
Parameters
- - -
[in]numOfMsToSleepThe number of milliseconds to sleep.
-
-
-
Examples:
ez_async_data/main.c, and spi/main.c.
-
-
-
- -
-
- - - - - - - - -
void VnThread_sleepSec (uint32_t numOfSecsToSleep)
-
- -

Causes the calling thread to sleep the specified number of seconds.

-
Parameters
- - -
[in]numOfSecsToSleepThe number of seconds to sleep.
-
-
-
Examples:
sensor/main.c.
-
-
-
- -
-
- - - - - - - - -
void VnThread_sleepUs (uint32_t numOfUsToSleep)
-
- -

Causes the calling thread to sleep the specified number of microseconds.

-
Parameters
- - -
[in]numOfUsToSleepThe number of microseconds to sleep.
-
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
VnError VnThread_startNew (VnThreadthread,
VnThread_StartRoutine startRoutine,
void * routineData 
)
-
- -

Starts a new thread immediately which calls the provided start routine.

-
Parameters
- - - - -
[in]threadAssociated VnThread structure.
[in]startRoutineThe routine to be called when the new thread is started.
[in]routineDataPointer to data that will be passed to the routine on the new thread.
-
-
-
Returns
Any errors encountered.
- -
-
-
- - - - diff --git a/vnproglib/c/help/thread_8h_source.html b/vnproglib/c/help/thread_8h_source.html deleted file mode 100644 index 7b53664..0000000 --- a/vnproglib/c/help/thread_8h_source.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - -VectorNav C Library: thread.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
thread.h
-
-
-Go to the documentation of this file.
1 
-
7 #ifndef _VN_THREAD_H_
-
8 #define _VN_THREAD_H_
-
9 
-
10 #include "vn/error.h"
-
11 #include "vn/int.h"
-
12 
-
13 #ifdef _WIN32
-
14 
-
15  /* Disable some warnings for Visual Studio with -Wall. */
-
16  #if defined(_MSC_VER)
-
17  #pragma warning(push)
-
18  #pragma warning(disable:4668)
-
19  #pragma warning(disable:4820)
-
20  #pragma warning(disable:4255)
-
21  #endif
-
22 
-
23  #include <Windows.h>
-
24 
-
25  #if defined(_MSC_VER)
-
26  #pragma warning(pop)
-
27  #endif
-
28 
-
29 #endif
-
30 
-
31 #if defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__
-
32  #include <pthread.h>
-
33 #endif
-
34 
-
35 #ifdef __cplusplus
-
36 extern "C" {
-
37 #endif
-
38 
-
40 typedef struct
-
41 {
-
42  #ifdef _WIN32
-
43  HANDLE handle;
-
44  #elif defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__
-
45  pthread_t handle;
-
46  #else
-
47  #error "Unknown System"
-
48  #endif
-
49 } VnThread;
-
50 
-
52 typedef void (*VnThread_StartRoutine)(void*);
-
53 
-
60 VnError VnThread_startNew(VnThread *thread, VnThread_StartRoutine startRoutine, void* routineData);
-
61 
-
66 VnError VnThread_join(VnThread *thread);
-
67 
-
71 void VnThread_sleepSec(uint32_t numOfSecsToSleep);
-
72 
-
76 void VnThread_sleepMs(uint32_t numOfMsToSleep);
-
77 
-
81 void VnThread_sleepUs(uint32_t numOfUsToSleep);
-
82 
-
83 #ifdef __cplusplus
-
84 }
-
85 #endif
-
86 
-
87 #endif
-
VnError VnThread_join(VnThread *thread)
Blocks the calling thread until the referenced thread finishes.
-
VnError VnThread_startNew(VnThread *thread, VnThread_StartRoutine startRoutine, void *routineData)
Starts a new thread immediately which calls the provided start routine.
-
void VnThread_sleepMs(uint32_t numOfMsToSleep)
Causes the calling thread to sleep the specified number of milliseconds.
-
Structure for working with threads.
Definition: thread.h:40
-
void VnThread_sleepUs(uint32_t numOfUsToSleep)
Causes the calling thread to sleep the specified number of microseconds.
-
void VnThread_sleepSec(uint32_t numOfSecsToSleep)
Causes the calling thread to sleep the specified number of seconds.
-
void(* VnThread_StartRoutine)(void *)
Function signature for a start routine for a thread.
Definition: thread.h:52
-
- - - - diff --git a/vnproglib/c/help/time_8h.html b/vnproglib/c/help/time_8h.html deleted file mode 100644 index 19b0f21..0000000 --- a/vnproglib/c/help/time_8h.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - -VectorNav C Library: time.h File Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
- -
-
time.h File Reference
-
-
-
#include "vn/int.h"
-#include "vn/error.h"
-#include "vn/enum.h"
-
-

Go to the source code of this file.

- - - - - -

-Data Structures

struct  VnStopwatch
 Provides simple timing capabilities. More...
 
- - - - - - - - - - -

-Functions

VnError VnStopwatch_initializeAndStart (VnStopwatch *stopwatch)
 Initializes and starts a stopwatch. More...
 
VnError VnStopwatch_reset (VnStopwatch *stopwatch)
 Resets the stopwatch's timing. More...
 
VnError VnStopwatch_elapsedMs (VnStopwatch *stopwatch, float *elapsedMs)
 Determines the number of milliseconds elapsed since the last reset of the stopwatch. More...
 
-

Detailed Description

-

{COMMON_HEADER}

-

-DESCRIPTION

-

This header file contains structures and functions useful timing.

-

Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
VnError VnStopwatch_elapsedMs (VnStopwatchstopwatch,
float * elapsedMs 
)
-
- -

Determines the number of milliseconds elapsed since the last reset of the stopwatch.

-
Parameters
- - - -
[in]stopwatchThe associated VnStopwatch.
[out]elapsedMsThe elapsed time in milliseconds.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - -
VnError VnStopwatch_initializeAndStart (VnStopwatchstopwatch)
-
- -

Initializes and starts a stopwatch.

-
Parameters
- - -
[in]stopwatchThe VnStopwatch to initialize and start.
-
-
-
Returns
Any errors encountered.
- -
-
- -
-
- - - - - - - - -
VnError VnStopwatch_reset (VnStopwatchstopwatch)
-
- -

Resets the stopwatch's timing.

-
Parameters
- - -
[in]stopwatchThe associated VnStopwatch.
-
-
-
Returns
Any errors encountered.
- -
-
-
- - - - diff --git a/vnproglib/c/help/time_8h_source.html b/vnproglib/c/help/time_8h_source.html deleted file mode 100644 index 70378a0..0000000 --- a/vnproglib/c/help/time_8h_source.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - -VectorNav C Library: time.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
time.h
-
-
-Go to the documentation of this file.
1 
-
7 #ifndef _VNTIME_H_
-
8 #define _VNTIME_H_
-
9 
-
10 #include "vn/int.h"
-
11 #include "vn/error.h"
-
12 #include "vn/enum.h"
-
13 
-
14 #ifdef _WIN32
-
15 
-
16  /* Disable some warnings for Visual Studio with -Wall. */
-
17  #if defined(_MSC_VER)
-
18  #pragma warning(push)
-
19  #pragma warning(disable:4668)
-
20  #pragma warning(disable:4820)
-
21  #pragma warning(disable:4255)
-
22  #endif
-
23 
-
24  #include <Windows.h>
-
25 
-
26  #if defined(_MSC_VER)
-
27  #pragma warning(pop)
-
28  #endif
-
29 
-
30 #endif
-
31 
-
32 #ifdef __cplusplus
-
33 extern "C" {
-
34 #endif
-
35 
-
37 typedef struct
-
38 {
-
39  #if _WIN32
-
40  double pcFrequency;
-
41  __int64 counterStart;
-
42  #elif __linux__ || __APPLE__ ||__CYGWIN__ || __QNXNTO__
-
43  double clockStart;
-
44  #else
-
45  #error "Unknown System"
-
46  #endif
-
47 } VnStopwatch;
-
48 
- -
54 
-
59 VnError VnStopwatch_reset(VnStopwatch *stopwatch);
-
60 
-
67 VnError VnStopwatch_elapsedMs(VnStopwatch *stopwatch, float *elapsedMs);
-
68 
-
69 #ifdef __cplusplus
-
70 }
-
71 #endif
-
72 
-
73 #endif
-
Provides simple timing capabilities.
Definition: time.h:37
-
VnError VnStopwatch_reset(VnStopwatch *stopwatch)
Resets the stopwatch's timing.
-
VnError VnStopwatch_initializeAndStart(VnStopwatch *stopwatch)
Initializes and starts a stopwatch.
-
VnError VnStopwatch_elapsedMs(VnStopwatch *stopwatch, float *elapsedMs)
Determines the number of milliseconds elapsed since the last reset of the stopwatch.
-
- - - - diff --git a/vnproglib/c/help/types_8h_source.html b/vnproglib/c/help/types_8h_source.html deleted file mode 100644 index 8c8c7e2..0000000 --- a/vnproglib/c/help/types_8h_source.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - -VectorNav C Library: types.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
types.h
-
-
-
1 #ifndef VN_TYPES_H_INCLUDED
-
2 #define VN_TYPES_H_INCLUDED
-
3 
-
6 #if !defined(__cplusplus)
-
7 
-
8 #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__)
-
9 
-
10  #include <stddef.h>
-
11 
-
12 #else
-
13 
-
14  /* Must not have C99. */
-
15 
-
17  typedef unsigned int size_t;
-
18 
-
19 #endif
-
20 
-
21 #endif
-
22 
-
23 #endif
-
- - - - diff --git a/vnproglib/c/help/unionmat3f.html b/vnproglib/c/help/unionmat3f.html deleted file mode 100644 index 7317359..0000000 --- a/vnproglib/c/help/unionmat3f.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -VectorNav C Library: mat3f Union Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
mat3f Union Reference
-
-
- -

Represents a 3x3 matrix with an underlying data type of float. - More...

- -

#include <matrix.h>

- - - - -

-Data Fields

float e [3 *3]
 
-

Detailed Description

-

Represents a 3x3 matrix with an underlying data type of float.

-

Field Documentation

- -
-
- - - - -
float e[3 *3]
-
-

The matrix's elements in column-major ordering.

- -
-
-
The documentation for this union was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/unionquatf.html b/vnproglib/c/help/unionquatf.html deleted file mode 100644 index 019a450..0000000 --- a/vnproglib/c/help/unionquatf.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -VectorNav C Library: quatf Union Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
quatf Union Reference
-
-
- -

Represents a quaternion reading with underlying data type of float. - More...

- -

#include <matrix.h>

- - - - -

-Data Fields

float c [4]
 
-

Detailed Description

-

Represents a quaternion reading with underlying data type of float.

-

Field Documentation

- -
-
- - - - -
float c[4]
-
-

Indexable.

- -
-
-
The documentation for this union was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/unionvec3d.html b/vnproglib/c/help/unionvec3d.html deleted file mode 100644 index f11e6ab..0000000 --- a/vnproglib/c/help/unionvec3d.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -VectorNav C Library: vec3d Union Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
vec3d Union Reference
-
-
- -

Represents a 3 component vector with an underlying data type of double. - More...

- -

#include <vector.h>

- - - - -

-Data Fields

double c [3]
 
-

Detailed Description

-

Represents a 3 component vector with an underlying data type of double.

-

Field Documentation

- -
-
- - - - -
double c[3]
-
-

Indexable.

- -
-
-
The documentation for this union was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/unionvec3f.html b/vnproglib/c/help/unionvec3f.html deleted file mode 100644 index be9836b..0000000 --- a/vnproglib/c/help/unionvec3f.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - -VectorNav C Library: vec3f Union Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
vec3f Union Reference
-
-
- -

Various vector types and operations. - More...

- -

#include <vector.h>

- - - - -

-Data Fields

float c [3]
 
-

Detailed Description

-

Various vector types and operations.

-

Represents a 3 component vector with an underlying data type of float.

-
Examples:
getting_started/main.c, sensor/main.c, and spi/main.c.
-

Field Documentation

- -
-
- - - - -
float c[3]
-
-

Indexable.

- -
-
-
The documentation for this union was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/unionvec4f.html b/vnproglib/c/help/unionvec4f.html deleted file mode 100644 index 59065c1..0000000 --- a/vnproglib/c/help/unionvec4f.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - -VectorNav C Library: vec4f Union Reference - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- -
-
- -
-
vec4f Union Reference
-
-
- -

Represents a 4 component vector with an underlying data type of float. - More...

- -

#include <vector.h>

- - - - -

-Data Fields

float c [4]
 
-

Detailed Description

-

Represents a 4 component vector with an underlying data type of float.

-

Field Documentation

- -
-
- - - - -
float c[4]
-
-

Indexable.

- -
-
-
The documentation for this union was generated from the following file: -
- - - - diff --git a/vnproglib/c/help/upack_8h_source.html b/vnproglib/c/help/upack_8h_source.html deleted file mode 100644 index 1bf53e8..0000000 --- a/vnproglib/c/help/upack_8h_source.html +++ /dev/null @@ -1,1562 +0,0 @@ - - - - - - -VectorNav C Library: upack.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
upack.h
-
-
-
1 #ifndef VNUPACK_H_INCLUDED
-
2 #define VNUPACK_H_INCLUDED
-
3 
-
4 #include <stdarg.h>
-
5 
-
6 #include "vn/int.h"
-
7 #include "vn/bool.h"
-
8 #include "vn/enum.h"
-
9 #include "vn/error.h"
-
10 #include "vn/error_detection.h"
-
11 #include "vn/math/matrix.h"
-
12 #include "vn/math/vector.h"
-
13 #include "vn/protocol/common.h"
-
14 
-
15 #ifndef VNUART_PROTOCOL_BUFFER_SIZE
-
16 
-
17  #define VNUART_PROTOCOL_BUFFER_SIZE 256
-
18 #endif
-
19 
-
20 #define VN_BINARY_START_CHAR 0xFA
-
21 #define VN_ASCII_START_CHAR '$'
-
22 
-
23 #ifdef __cplusplus
-
24 extern "C" {
-
25 #endif
-
26 
-
30 typedef void(*vnuart_sensor_error_received)(VnError error);
-
31 
-
34 typedef struct
-
35 {
-
37  size_t curExtractLoc;
-
38 
-
40  size_t length;
-
41 
-
43  uint8_t* data;
-
44 
-
45 } VnUartPacket;
-
46 
-
52 void VnUartPacket_initialize(VnUartPacket* packet, uint8_t* data, size_t len);
-
53 
-
58 void VnUartPacket_initializeFromStr(VnUartPacket* packet, char* data);
-
59 
-
69 bool VnUartPacket_isValid(VnUartPacket *packet);
-
70 
-
77 bool VnUartPacket_isAsciiAsync(VnUartPacket *packet);
-
78 
-
86 bool VnUartPacket_isResponse(VnUartPacket *packet);
-
87 
-
93 bool VnUartPacket_isError(VnUartPacket *packet);
-
94 
-
100 bool VnUartPacket_isErrorRaw(uint8_t *packet);
-
101 
-
106 PacketType VnUartPacket_type(VnUartPacket *packet);
-
107 
-
115 VnError VnUartPacket_finalizeCommand(VnErrorDetectionMode errorDetectionMode, uint8_t *packet, size_t *length);
-
116 
-
121 uint8_t VnUartPacket_groups(VnUartPacket* packet);
-
122 
-
128 uint16_t VnUartPacket_groupField(VnUartPacket* packet, size_t groupIndex);
-
129 
-
141 size_t VnUartPacket_computeBinaryPacketLength(uint8_t const *startOfPossibleBinaryPacket);
-
142 
-
149 size_t VnUartPacket_computeNumOfBytesForBinaryGroupPayload(BinaryGroupType groupType, uint16_t groupField);
-
150 
-
164 bool VnUartPacket_isCompatible(
-
165  VnUartPacket *packet,
-
166  CommonGroup commonGroup,
-
167  TimeGroup timeGroup,
-
168  ImuGroup imuGroup,
-
169  GpsGroup gpsGroup,
-
170  AttitudeGroup attitudeGroup,
-
171  InsGroup insGroup);
-
172 
-
185 uint8_t VnUartPacket_extractUint8(VnUartPacket *packet);
-
186 
-
193 int8_t VnUartPacket_extractInt8(VnUartPacket *packet);
-
194 
-
201 uint16_t VnUartPacket_extractUint16(VnUartPacket *packet);
-
202 
-
209 uint32_t VnUartPacket_extractUint32(VnUartPacket *packet);
-
210 
-
217 uint64_t VnUartPacket_extractUint64(VnUartPacket *packet);
-
218 
- -
225 
- -
233 
- -
241 
- -
249 
- -
256 
-
264 VnAsciiAsync VnUartPacket_determineAsciiAsyncType(VnUartPacket* packet);
-
265 
-
283 void VnUartPacket_parseVNYPR(VnUartPacket* packet, vec3f *yawPitchRoll);
-
284 
-
290 void VnUartPacket_parseVNQTN(VnUartPacket* packet, vec4f *quaternion);
-
291 
-
292 #ifdef EXTRA
-
293 
-
300 void VnUartPacket_parseVNQTM(VnUartPacket* packet, vec4f *quaternion, vec3f *magnetic);
-
301 
-
308 void VnUartPacket_parseVNQTA(VnUartPacket* packet, vec4f *quaternion, vec3f *acceleration);
-
309 
-
316 void VnUartPacket_parseVNQTR(VnUartPacket* packet, vec4f *quaternion, vec3f *angularRate);
-
317 
-
325 void VnUartPacket_parseVNQMA(VnUartPacket* packet, vec4f *quaternion, vec3f *magnetic, vec3f *acceleration);
-
326 
-
334 void VnUartPacket_parseVNQAR(VnUartPacket* packet, vec4f *quaternion, vec3f *acceleration, vec3f *angularRate);
-
335 
-
336 #endif
-
337 
-
346 void VnUartPacket_parseVNQMR(VnUartPacket* packet, vec4f *quaternion, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate);
-
347 
-
348 #ifdef EXTRA
-
349 
-
355 void VnUartPacket_parseVNDCM(VnUartPacket* packet, mat3f *dcm);
-
356 
-
357 #endif
-
358 
-
364 void VnUartPacket_parseVNMAG(VnUartPacket* packet, vec3f *magnetic);
-
365 
-
371 void VnUartPacket_parseVNACC(VnUartPacket* packet, vec3f *acceleration);
-
372 
-
378 void VnUartPacket_parseVNGYR(VnUartPacket* packet, vec3f *angularRate);
-
379 
-
387 void VnUartPacket_parseVNMAR(VnUartPacket* packet, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate);
-
388 
- -
397  VnUartPacket* packet,
-
398  vec3f *yawPitchRoll,
-
399  vec3f *magnetic,
-
400  vec3f *acceleration,
-
401  vec3f *angularRate);
-
402 
-
411 /*VnError VnUartPacket_parseVNYMR(
-
412  uint8_t* packetBuf,
-
413  size_t packetLen,
-
414  vec3f *yawPitchRoll,
-
415  vec3f *magnetic,
-
416  vec3f *acceleration,
-
417  vec3f *angularRate);*/
-
418 
-
419 
-
420 #ifdef EXTRA
-
421 
-
431 void VnUartPacket_parseVNYCM(VnUartPacket* packet, vec3f *yawPitchRoll, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate, float *temperature);
-
432 
-
433 #endif
-
434 
-
442 void VnUartPacket_parseVNYBA(VnUartPacket* packet, vec3f *yawPitchRoll, vec3f *accelerationBody, vec3f *angularRate);
-
443 
-
451 void VnUartPacket_parseVNYIA(VnUartPacket* packet, vec3f *yawPitchRoll, vec3f *accelerationInertial, vec3f *angularRate);
-
452 
-
453 #ifdef EXTRA
-
454 
-
463 void VnUartPacket_parseVNICM(VnUartPacket* packet, vec3f *yawPitchRoll, vec3f *magnetic, vec3f *accelerationInertial, vec3f *angularRate);
-
464 
-
465 #endif
-
466 
-
476 void VnUartPacket_parseVNIMU(VnUartPacket* packet, vec3f *magneticUncompensated, vec3f *accelerationUncompensated, vec3f *angularRateUncompensated, float *temperature, float *pressure);
-
477 
-
491 void VnUartPacket_parseVNGPS(VnUartPacket* packet, double *time, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *lla, vec3f *nedVel, vec3f *nedAcc, float *speedAcc, float *timeAcc);
-
492 
-
506 void VnUartPacket_parseVNINS(VnUartPacket* packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *lla, vec3f *nedVel, float *attUncertainty, float *posUncertainty, float *velUncertainty);
-
507 
-
520 void VnUartPacket_parseVNINE(VnUartPacket* packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, float *attUncertainty, float *posUncertainty, float *velUncertainty);
-
521 
-
530 void VnUartPacket_parseVNISL(VnUartPacket* packet, vec3f* ypr, vec3d* lla, vec3f* velocity, vec3f* acceleration, vec3f* angularRate);
-
531 
-
540 void VnUartPacket_parseVNISE(VnUartPacket* packet, vec3f* ypr, vec3d* position, vec3f* velocity, vec3f* acceleration, vec3f* angularRate);
-
541 
-
542 #ifdef EXTRA
-
543 
-
552 void VnUartPacket_parseVNRAW(VnUartPacket* packet, vec3f *magneticVoltage, vec3f *accelerationVoltage, vec3f *angularRateVoltage, float *temperatureVoltage);
-
553 
-
562 void VnUartPacket_parseVNCMV(VnUartPacket* packet, vec3f *magneticUncompensated, vec3f *accelerationUncompensated, vec3f *angularRateUncompensated, float *temperature);
-
563 
-
570 void VnUartPacket_parseVNSTV(VnUartPacket* packet, vec4f *quaternion, vec3f *angularRateBias);
-
571 
-
578 void VnUartPacket_parseVNCOV(VnUartPacket* packet, vec3f *attitudeVariance, vec3f *angularRateBiasVariance);
-
579 
-
580 #endif
-
581 
-
595 void VnUartPacket_parseVNGPE(VnUartPacket* packet, double *tow, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *position, vec3f *velocity, vec3f *posAcc, float *speedAcc, float *timeAcc);
-
596 
-
604 void VnUartPacket_parseVNDTV(VnUartPacket* packet, float *deltaTime, vec3f *deltaTheta, vec3f *deltaVelocity);
-
605 
-
618 VnError vnuart_genread(
-
619  uint8_t *buffer,
-
620  size_t bufferSize,
-
621  VnErrorDetectionMode errorDetectionMode,
-
622  uint16_t registerId,
-
623  size_t *cmdSize);
-
624 
- -
650  uint8_t *buffer,
-
651  size_t bufferSize,
-
652  VnErrorDetectionMode errorDetectionMode,
-
653  size_t *cmdSize);
-
654 
- -
664  uint8_t *buffer,
-
665  size_t bufferSize,
-
666  VnErrorDetectionMode errorDetectionMode,
-
667  size_t *cmdSize);
-
668 
- -
678  uint8_t *buffer,
-
679  size_t bufferSize,
-
680  VnErrorDetectionMode errorDetectionMode,
-
681  size_t *cmdSize);
-
682 
-
683 #ifdef EXTRA
-
684 
-
693 VnError VnUartPacket_genReadBinaryOutput4(
-
694  uint8_t *buffer,
-
695  size_t bufferSize,
-
696  VnErrorDetectionMode errorDetectionMode,
-
697  size_t *cmdSize);
-
698 
-
707 VnError VnUartPacket_genReadBinaryOutput5(
-
708  uint8_t *buffer,
-
709  size_t bufferSize,
-
710  VnErrorDetectionMode errorDetectionMode,
-
711  size_t *cmdSize);
-
712 
-
713 #endif
-
714 
- -
724  uint8_t *buffer,
-
725  size_t bufferSize,
-
726  VnErrorDetectionMode errorDetectionMode,
-
727  size_t *cmdSize);
-
728 
- -
738  uint8_t *buffer,
-
739  size_t bufferSize,
-
740  VnErrorDetectionMode errorDetectionMode,
-
741  size_t *cmdSize);
-
742 
- -
752  uint8_t *buffer,
-
753  size_t bufferSize,
-
754  VnErrorDetectionMode errorDetectionMode,
-
755  size_t *cmdSize);
-
756 
- -
766  uint8_t *buffer,
-
767  size_t bufferSize,
-
768  VnErrorDetectionMode errorDetectionMode,
-
769  size_t *cmdSize);
-
770 
- -
780  uint8_t *buffer,
-
781  size_t bufferSize,
-
782  VnErrorDetectionMode errorDetectionMode,
-
783  size_t *cmdSize);
-
784 
- -
795  uint8_t *buffer,
-
796  size_t bufferSize,
-
797  VnErrorDetectionMode errorDetectionMode,
-
798  bool disturbancePresent,
-
799  size_t *cmdSize);
-
800 
- -
811  uint8_t *buffer,
-
812  size_t bufferSize,
-
813  VnErrorDetectionMode errorDetectionMode,
-
814  bool disturbancePresent,
-
815  size_t *cmdSize);
-
816 
- -
826  char *buffer,
-
827  size_t bufferSize,
-
828  VnErrorDetectionMode errorDetectionMode,
-
829  size_t *cmdSize);
-
830 
- -
840  char *buffer,
-
841  size_t bufferSize,
-
842  VnErrorDetectionMode errorDetectionMode,
-
843  size_t *cmdSize);
-
844 
- -
854  char *buffer,
-
855  size_t bufferSize,
-
856  VnErrorDetectionMode errorDetectionMode,
-
857  size_t *cmdSize);
-
858 
- -
868  char *buffer,
-
869  size_t bufferSize,
-
870  VnErrorDetectionMode errorDetectionMode,
-
871  size_t *cmdSize);
-
872 
- -
882  char *buffer,
-
883  size_t bufferSize,
-
884  VnErrorDetectionMode errorDetectionMode,
-
885  size_t *cmdSize);
-
886 
- -
896  char *buffer,
-
897  size_t bufferSize,
-
898  VnErrorDetectionMode errorDetectionMode,
-
899  size_t *cmdSize);
-
900 
- -
910  char *buffer,
-
911  size_t bufferSize,
-
912  VnErrorDetectionMode errorDetectionMode,
-
913  size_t *cmdSize);
-
914 
- -
924  char *buffer,
-
925  size_t bufferSize,
-
926  VnErrorDetectionMode errorDetectionMode,
-
927  size_t *cmdSize);
-
928 
- -
938  char *buffer,
-
939  size_t bufferSize,
-
940  VnErrorDetectionMode errorDetectionMode,
-
941  size_t *cmdSize);
-
942 
- -
952  char *buffer,
-
953  size_t bufferSize,
-
954  VnErrorDetectionMode errorDetectionMode,
-
955  size_t *cmdSize);
-
956 
- -
966  char *buffer,
-
967  size_t bufferSize,
-
968  VnErrorDetectionMode errorDetectionMode,
-
969  size_t *cmdSize);
-
970 
- -
980  char *buffer,
-
981  size_t bufferSize,
-
982  VnErrorDetectionMode errorDetectionMode,
-
983  size_t *cmdSize);
-
984 
- -
994  char *buffer,
-
995  size_t bufferSize,
-
996  VnErrorDetectionMode errorDetectionMode,
-
997  size_t *cmdSize);
-
998 
- -
1008  char *buffer,
-
1009  size_t bufferSize,
-
1010  VnErrorDetectionMode errorDetectionMode,
-
1011  size_t *cmdSize);
-
1012 
- -
1022  char *buffer,
-
1023  size_t bufferSize,
-
1024  VnErrorDetectionMode errorDetectionMode,
-
1025  size_t *cmdSize);
-
1026 
- -
1036  char *buffer,
-
1037  size_t bufferSize,
-
1038  VnErrorDetectionMode errorDetectionMode,
-
1039  size_t *cmdSize);
-
1040 
- -
1050  char *buffer,
-
1051  size_t bufferSize,
-
1052  VnErrorDetectionMode errorDetectionMode,
-
1053  size_t *cmdSize);
-
1054 
- -
1064  char *buffer,
-
1065  size_t bufferSize,
-
1066  VnErrorDetectionMode errorDetectionMode,
-
1067  size_t *cmdSize);
-
1068 
- -
1078  char *buffer,
-
1079  size_t bufferSize,
-
1080  VnErrorDetectionMode errorDetectionMode,
-
1081  size_t *cmdSize);
-
1082 
- -
1092  char *buffer,
-
1093  size_t bufferSize,
-
1094  VnErrorDetectionMode errorDetectionMode,
-
1095  size_t *cmdSize);
-
1096 
- -
1106  char *buffer,
-
1107  size_t bufferSize,
-
1108  VnErrorDetectionMode errorDetectionMode,
-
1109  size_t *cmdSize);
-
1110 
- -
1120  char *buffer,
-
1121  size_t bufferSize,
-
1122  VnErrorDetectionMode errorDetectionMode,
-
1123  size_t *cmdSize);
-
1124 
- -
1134  char *buffer,
-
1135  size_t bufferSize,
-
1136  VnErrorDetectionMode errorDetectionMode,
-
1137  size_t *cmdSize);
-
1138 
- -
1148  char *buffer,
-
1149  size_t bufferSize,
-
1150  VnErrorDetectionMode errorDetectionMode,
-
1151  size_t *cmdSize);
-
1152 
- -
1162  char *buffer,
-
1163  size_t bufferSize,
-
1164  VnErrorDetectionMode errorDetectionMode,
-
1165  size_t *cmdSize);
-
1166 
- -
1176  char *buffer,
-
1177  size_t bufferSize,
-
1178  VnErrorDetectionMode errorDetectionMode,
-
1179  size_t *cmdSize);
-
1180 
- -
1190  char *buffer,
-
1191  size_t bufferSize,
-
1192  VnErrorDetectionMode errorDetectionMode,
-
1193  size_t *cmdSize);
-
1194 
- -
1204  char *buffer,
-
1205  size_t bufferSize,
-
1206  VnErrorDetectionMode errorDetectionMode,
-
1207  size_t *cmdSize);
-
1208 
- -
1218  char *buffer,
-
1219  size_t bufferSize,
-
1220  VnErrorDetectionMode errorDetectionMode,
-
1221  size_t *cmdSize);
-
1222 
- -
1232  char *buffer,
-
1233  size_t bufferSize,
-
1234  VnErrorDetectionMode errorDetectionMode,
-
1235  size_t *cmdSize);
-
1236 
- -
1246  char *buffer,
-
1247  size_t bufferSize,
-
1248  VnErrorDetectionMode errorDetectionMode,
-
1249  size_t *cmdSize);
-
1250 
- -
1260  char *buffer,
-
1261  size_t bufferSize,
-
1262  VnErrorDetectionMode errorDetectionMode,
-
1263  size_t *cmdSize);
-
1264 
- -
1274  char *buffer,
-
1275  size_t bufferSize,
-
1276  VnErrorDetectionMode errorDetectionMode,
-
1277  size_t *cmdSize);
-
1278 
- -
1288  char *buffer,
-
1289  size_t bufferSize,
-
1290  VnErrorDetectionMode errorDetectionMode,
-
1291  size_t *cmdSize);
-
1292 
- -
1302  char *buffer,
-
1303  size_t bufferSize,
-
1304  VnErrorDetectionMode errorDetectionMode,
-
1305  size_t *cmdSize);
-
1306 
- -
1316  char *buffer,
-
1317  size_t bufferSize,
-
1318  VnErrorDetectionMode errorDetectionMode,
-
1319  size_t *cmdSize);
-
1320 
- -
1330  char *buffer,
-
1331  size_t bufferSize,
-
1332  VnErrorDetectionMode errorDetectionMode,
-
1333  size_t *cmdSize);
-
1334 
- -
1344  char *buffer,
-
1345  size_t bufferSize,
-
1346  VnErrorDetectionMode errorDetectionMode,
-
1347  size_t *cmdSize);
-
1348 
- -
1358  char *buffer,
-
1359  size_t bufferSize,
-
1360  VnErrorDetectionMode errorDetectionMode,
-
1361  size_t *cmdSize);
-
1362 
- -
1372  char *buffer,
-
1373  size_t bufferSize,
-
1374  VnErrorDetectionMode errorDetectionMode,
-
1375  size_t *cmdSize);
-
1376 
- -
1386  char *buffer,
-
1387  size_t bufferSize,
-
1388  VnErrorDetectionMode errorDetectionMode,
-
1389  size_t *cmdSize);
-
1390 
- -
1400  char *buffer,
-
1401  size_t bufferSize,
-
1402  VnErrorDetectionMode errorDetectionMode,
-
1403  size_t *cmdSize);
-
1404 
- -
1414  char *buffer,
-
1415  size_t bufferSize,
-
1416  VnErrorDetectionMode errorDetectionMode,
-
1417  size_t *cmdSize);
-
1418 
- -
1428  char *buffer,
-
1429  size_t bufferSize,
-
1430  VnErrorDetectionMode errorDetectionMode,
-
1431  size_t *cmdSize);
-
1432 
- -
1442  char *buffer,
-
1443  size_t bufferSize,
-
1444  VnErrorDetectionMode errorDetectionMode,
-
1445  size_t *cmdSize);
-
1446 
- -
1456  char *buffer,
-
1457  size_t bufferSize,
-
1458  VnErrorDetectionMode errorDetectionMode,
-
1459  size_t *cmdSize);
-
1460 
- -
1470  char *buffer,
-
1471  size_t bufferSize,
-
1472  VnErrorDetectionMode errorDetectionMode,
-
1473  size_t *cmdSize);
-
1474 
- -
1484  char *buffer,
-
1485  size_t bufferSize,
-
1486  VnErrorDetectionMode errorDetectionMode,
-
1487  size_t *cmdSize);
-
1488 
- -
1498  char *buffer,
-
1499  size_t bufferSize,
-
1500  VnErrorDetectionMode errorDetectionMode,
-
1501  size_t *cmdSize);
-
1502 
- -
1512  char *buffer,
-
1513  size_t bufferSize,
-
1514  VnErrorDetectionMode errorDetectionMode,
-
1515  size_t *cmdSize);
-
1516 
- -
1526  char *buffer,
-
1527  size_t bufferSize,
-
1528  VnErrorDetectionMode errorDetectionMode,
-
1529  size_t *cmdSize);
-
1530 
-
1578 VnError VnUartPacket_genWrite(
-
1579  uint8_t *buffer,
-
1580  size_t bufferSize,
-
1581  VnErrorDetectionMode errorDetectionMode,
-
1582  uint16_t registerId,
-
1583  size_t *cmdSize,
-
1584  char const *format,
-
1585  ...);
-
1586 
- -
1628  uint8_t *buffer,
-
1629  size_t bufferSize,
-
1630  VnErrorDetectionMode errorDetectionMode,
-
1631  size_t *cmdSize,
-
1632  uint16_t asyncMode,
-
1633  uint16_t rateDivisor,
-
1634  uint16_t commonField,
-
1635  uint16_t timeField,
-
1636  uint16_t imuField,
-
1637  uint16_t gpsField,
-
1638  uint16_t attitudeField,
-
1639  uint16_t insField);
-
1640 
- -
1658  uint8_t *buffer,
-
1659  size_t bufferSize,
-
1660  VnErrorDetectionMode errorDetectionMode,
-
1661  size_t *cmdSize,
-
1662  uint16_t asyncMode,
-
1663  uint16_t rateDivisor,
-
1664  uint16_t commonField,
-
1665  uint16_t timeField,
-
1666  uint16_t imuField,
-
1667  uint16_t gpsField,
-
1668  uint16_t attitudeField,
-
1669  uint16_t insField);
-
1670 
- -
1688  uint8_t *buffer,
-
1689  size_t bufferSize,
-
1690  VnErrorDetectionMode errorDetectionMode,
-
1691  size_t *cmdSize,
-
1692  uint16_t asyncMode,
-
1693  uint16_t rateDivisor,
-
1694  uint16_t commonField,
-
1695  uint16_t timeField,
-
1696  uint16_t imuField,
-
1697  uint16_t gpsField,
-
1698  uint16_t attitudeField,
-
1699  uint16_t insField);
-
1700 
-
1701 #ifdef EXTRA
-
1702 
-
1719 VnError VnUartPacket_genWriteBinaryOutput4(
-
1720  uint8_t *buffer,
-
1721  size_t bufferSize,
-
1722  VnErrorDetectionMode errorDetectionMode,
-
1723  size_t *cmdSize,
-
1724  uint16_t asyncMode,
-
1725  uint16_t rateDivisor,
-
1726  uint16_t commonField,
-
1727  uint16_t timeField,
-
1728  uint16_t imuField,
-
1729  uint16_t gpsField,
-
1730  uint16_t attitudeField,
-
1731  uint16_t insField);
-
1732 
-
1749 VnError VnUartPacket_genWriteBinaryOutput5(
-
1750  uint8_t *buffer,
-
1751  size_t bufferSize,
-
1752  VnErrorDetectionMode errorDetectionMode,
-
1753  size_t *cmdSize,
-
1754  uint16_t asyncMode,
-
1755  uint16_t rateDivisor,
-
1756  uint16_t commonField,
-
1757  uint16_t timeField,
-
1758  uint16_t imuField,
-
1759  uint16_t gpsField,
-
1760  uint16_t attitudeField,
-
1761  uint16_t insField);
-
1762 
-
1763 #endif
-
1764 
- -
1774  char *buffer,
-
1775  size_t bufferSize,
-
1776  VnErrorDetectionMode errorDetectionMode,
-
1777  size_t *cmdSize,
-
1778  char* tag);
-
1779 
- -
1789  char *buffer,
-
1790  size_t bufferSize,
-
1791  VnErrorDetectionMode errorDetectionMode,
-
1792  size_t *cmdSize,
-
1793  uint32_t baudrate);
-
1794 
- -
1804  char *buffer,
-
1805  size_t bufferSize,
-
1806  VnErrorDetectionMode errorDetectionMode,
-
1807  size_t *cmdSize,
-
1808  uint32_t baudrate);
-
1809 
- -
1819  char *buffer,
-
1820  size_t bufferSize,
-
1821  VnErrorDetectionMode errorDetectionMode,
-
1822  size_t *cmdSize,
-
1823  uint32_t ador);
-
1824 
- -
1834  char *buffer,
-
1835  size_t bufferSize,
-
1836  VnErrorDetectionMode errorDetectionMode,
-
1837  size_t *cmdSize,
-
1838  uint32_t ador);
-
1839 
- -
1849  char *buffer,
-
1850  size_t bufferSize,
-
1851  VnErrorDetectionMode errorDetectionMode,
-
1852  size_t *cmdSize,
-
1853  uint32_t adof);
-
1854 
- -
1864  char *buffer,
-
1865  size_t bufferSize,
-
1866  VnErrorDetectionMode errorDetectionMode,
-
1867  size_t *cmdSize,
-
1868  uint32_t adof);
-
1869 
- -
1880  char *buffer,
-
1881  size_t bufferSize,
-
1882  VnErrorDetectionMode errorDetectionMode,
-
1883  size_t *cmdSize,
-
1884  vec3f magRef,
-
1885  vec3f accRef);
-
1886 
- -
1897  char *buffer,
-
1898  size_t bufferSize,
-
1899  VnErrorDetectionMode errorDetectionMode,
-
1900  size_t *cmdSize,
-
1901  mat3f c,
-
1902  vec3f b);
-
1903 
- -
1914  char *buffer,
-
1915  size_t bufferSize,
-
1916  VnErrorDetectionMode errorDetectionMode,
-
1917  size_t *cmdSize,
-
1918  mat3f c,
-
1919  vec3f b);
-
1920 
- -
1930  char *buffer,
-
1931  size_t bufferSize,
-
1932  VnErrorDetectionMode errorDetectionMode,
-
1933  size_t *cmdSize,
-
1934  mat3f c);
-
1935 
- -
1951  char *buffer,
-
1952  size_t bufferSize,
-
1953  VnErrorDetectionMode errorDetectionMode,
-
1954  size_t *cmdSize,
-
1955  uint8_t serialCount,
-
1956  uint8_t serialStatus,
-
1957  uint8_t spiCount,
-
1958  uint8_t spiStatus,
-
1959  uint8_t serialChecksum,
-
1960  uint8_t spiChecksum,
-
1961  uint8_t errorMode);
-
1962 
- -
1980  char *buffer,
-
1981  size_t bufferSize,
-
1982  VnErrorDetectionMode errorDetectionMode,
-
1983  size_t *cmdSize,
-
1984  uint8_t syncInMode,
-
1985  uint8_t syncInEdge,
-
1986  uint16_t syncInSkipFactor,
-
1987  uint32_t reserved1,
-
1988  uint8_t syncOutMode,
-
1989  uint8_t syncOutPolarity,
-
1990  uint16_t syncOutSkipFactor,
-
1991  uint32_t syncOutPulseWidth,
-
1992  uint32_t reserved2);
-
1993 
- -
2005  char *buffer,
-
2006  size_t bufferSize,
-
2007  VnErrorDetectionMode errorDetectionMode,
-
2008  size_t *cmdSize,
-
2009  uint32_t syncInCount,
-
2010  uint32_t syncInTime,
-
2011  uint32_t syncOutCount);
-
2012 
- -
2025  char *buffer,
-
2026  size_t bufferSize,
-
2027  VnErrorDetectionMode errorDetectionMode,
-
2028  size_t *cmdSize,
-
2029  uint8_t enable,
-
2030  uint8_t headingMode,
-
2031  uint8_t filteringMode,
-
2032  uint8_t tuningMode);
-
2033 
- -
2045  char *buffer,
-
2046  size_t bufferSize,
-
2047  VnErrorDetectionMode errorDetectionMode,
-
2048  size_t *cmdSize,
-
2049  vec3f baseTuning,
-
2050  vec3f adaptiveTuning,
-
2051  vec3f adaptiveFiltering);
-
2052 
- -
2064  char *buffer,
-
2065  size_t bufferSize,
-
2066  VnErrorDetectionMode errorDetectionMode,
-
2067  size_t *cmdSize,
-
2068  vec3f baseTuning,
-
2069  vec3f adaptiveTuning,
-
2070  vec3f adaptiveFiltering);
-
2071 
- -
2083  char *buffer,
-
2084  size_t bufferSize,
-
2085  VnErrorDetectionMode errorDetectionMode,
-
2086  size_t *cmdSize,
-
2087  uint8_t hsiMode,
-
2088  uint8_t hsiOutput,
-
2089  uint8_t convergeRate);
-
2090 
- -
2100  char *buffer,
-
2101  size_t bufferSize,
-
2102  VnErrorDetectionMode errorDetectionMode,
-
2103  size_t *cmdSize,
-
2104  vec3f velocity);
-
2105 
- -
2117  char *buffer,
-
2118  size_t bufferSize,
-
2119  VnErrorDetectionMode errorDetectionMode,
-
2120  size_t *cmdSize,
-
2121  uint8_t mode,
-
2122  float velocityTuning,
-
2123  float rateTuning);
-
2124 
- -
2138  char *buffer,
-
2139  size_t bufferSize,
-
2140  VnErrorDetectionMode errorDetectionMode,
-
2141  size_t *cmdSize,
-
2142  uint8_t mode,
-
2143  uint8_t ppsSource,
-
2144  uint8_t reserved1,
-
2145  uint8_t reserved2,
-
2146  uint8_t reserved3);
-
2147 
- -
2157  char *buffer,
-
2158  size_t bufferSize,
-
2159  VnErrorDetectionMode errorDetectionMode,
-
2160  size_t *cmdSize,
-
2161  vec3f position);
-
2162 
- -
2175  char *buffer,
-
2176  size_t bufferSize,
-
2177  VnErrorDetectionMode errorDetectionMode,
-
2178  size_t *cmdSize,
-
2179  uint8_t scenario,
-
2180  uint8_t ahrsAiding,
-
2181  uint8_t estBaseline,
-
2182  uint8_t resv2);
-
2183 
- -
2195  char *buffer,
-
2196  size_t bufferSize,
-
2197  VnErrorDetectionMode errorDetectionMode,
-
2198  size_t *cmdSize,
-
2199  vec3f gyroBias,
-
2200  vec3f accelBias,
-
2201  float pressureBias);
-
2202 
- -
2216  char *buffer,
-
2217  size_t bufferSize,
-
2218  VnErrorDetectionMode errorDetectionMode,
-
2219  size_t *cmdSize,
-
2220  uint8_t integrationFrame,
-
2221  uint8_t gyroCompensation,
-
2222  uint8_t accelCompensation,
-
2223  uint8_t reserved1,
-
2224  uint16_t reserved2);
-
2225 
- -
2241  char *buffer,
-
2242  size_t bufferSize,
-
2243  VnErrorDetectionMode errorDetectionMode,
-
2244  size_t *cmdSize,
-
2245  uint8_t useMagModel,
-
2246  uint8_t useGravityModel,
-
2247  uint8_t resv1,
-
2248  uint8_t resv2,
-
2249  uint32_t recalcThreshold,
-
2250  float year,
-
2251  vec3d position);
-
2252 
- -
2263  char *buffer,
-
2264  size_t bufferSize,
-
2265  VnErrorDetectionMode errorDetectionMode,
-
2266  size_t *cmdSize,
-
2267  mat3f c,
-
2268  vec3f b);
-
2269 
- -
2288  char *buffer,
-
2289  size_t bufferSize,
-
2290  VnErrorDetectionMode errorDetectionMode,
-
2291  size_t *cmdSize,
-
2292  uint16_t magWindowSize,
-
2293  uint16_t accelWindowSize,
-
2294  uint16_t gyroWindowSize,
-
2295  uint16_t tempWindowSize,
-
2296  uint16_t presWindowSize,
-
2297  uint8_t magFilterMode,
-
2298  uint8_t accelFilterMode,
-
2299  uint8_t gyroFilterMode,
-
2300  uint8_t tempFilterMode,
-
2301  uint8_t presFilterMode);
-
2302 
- -
2313  char *buffer,
-
2314  size_t bufferSize,
-
2315  VnErrorDetectionMode errorDetectionMode,
-
2316  size_t *cmdSize,
-
2317  vec3f position,
-
2318  vec3f uncertainty);
-
2319 
-
2325 void VnUartPacket_parseError(VnUartPacket *packet, uint8_t *error);
-
2326 
-
2332 void VnUartPacket_parseErrorRaw(uint8_t *packet, uint8_t *error);
-
2333 
- -
2348  VnUartPacket *packet,
-
2349  uint16_t* asyncMode,
-
2350  uint16_t* rateDivisor,
-
2351  uint16_t* outputGroup,
-
2352  uint16_t* commonField,
-
2353  uint16_t* timeField,
-
2354  uint16_t* imuField,
-
2355  uint16_t* gpsField,
-
2356  uint16_t* attitudeField,
-
2357  uint16_t* insField);
-
2358 
- -
2373  uint8_t *packet,
-
2374  uint16_t* asyncMode,
-
2375  uint16_t* rateDivisor,
-
2376  uint16_t* outputGroup,
-
2377  uint16_t* commonField,
-
2378  uint16_t* timeField,
-
2379  uint16_t* imuField,
-
2380  uint16_t* gpsField,
-
2381  uint16_t* attitudeField,
-
2382  uint16_t* insField);
-
2383 
-
2389 void VnUartPacket_parseUserTag(VnUartPacket *packet, char* tag);
-
2390 
-
2396 void VnUartPacket_parseUserTagRaw(char *packet, char* tag);
-
2397 
-
2403 void VnUartPacket_parseModelNumber(VnUartPacket *packet, char* productName);
-
2404 
-
2410 void VnUartPacket_parseModelNumberRaw(char *packet, char* productName);
-
2411 
-
2417 void VnUartPacket_parseHardwareRevision(VnUartPacket *packet, uint32_t* revision);
-
2418 
-
2424 void VnUartPacket_parseHardwareRevisionRaw(char *packet, uint32_t* revision);
-
2425 
-
2431 void VnUartPacket_parseSerialNumber(VnUartPacket *packet, uint32_t* serialNum);
-
2432 
-
2438 void VnUartPacket_parseSerialNumberRaw(char *packet, uint32_t* serialNum);
-
2439 
-
2445 void VnUartPacket_parseFirmwareVersion(VnUartPacket *packet, char* firmwareVersion);
-
2446 
-
2452 void VnUartPacket_parseFirmwareVersionRaw(char *packet, char* firmwareVersion);
-
2453 
-
2459 void VnUartPacket_parseSerialBaudRate(VnUartPacket *packet, uint32_t* baudrate);
-
2460 
-
2466 void VnUartPacket_parseSerialBaudRateRaw(char *packet, uint32_t* baudrate);
-
2467 
-
2473 void VnUartPacket_parseAsyncDataOutputType(VnUartPacket *packet, uint32_t* ador);
-
2474 
-
2480 void VnUartPacket_parseAsyncDataOutputTypeRaw(char *packet, uint32_t* ador);
-
2481 
-
2487 void VnUartPacket_parseAsyncDataOutputFrequency(VnUartPacket *packet, uint32_t* adof);
-
2488 
-
2494 void VnUartPacket_parseAsyncDataOutputFrequencyRaw(char *packet, uint32_t* adof);
-
2495 
-
2501 void VnUartPacket_parseYawPitchRoll(VnUartPacket *packet, vec3f* yawPitchRoll);
-
2502 
-
2508 void VnUartPacket_parseYawPitchRollRaw(char *packet, vec3f* yawPitchRoll);
-
2509 
- -
2516 
-
2522 void VnUartPacket_parseAttitudeQuaternionRaw(char *packet, vec4f* quat);
-
2523 
- -
2533 
-
2542 void VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRatesRaw(char *packet, vec4f* quat, vec3f* mag, vec3f* accel, vec3f* gyro);
-
2543 
- -
2550 
-
2556 void VnUartPacket_parseMagneticMeasurementsRaw(char *packet, vec3f* mag);
-
2557 
- -
2564 
-
2570 void VnUartPacket_parseAccelerationMeasurementsRaw(char *packet, vec3f* accel);
-
2571 
- -
2578 
-
2584 void VnUartPacket_parseAngularRateMeasurementsRaw(char *packet, vec3f* gyro);
-
2585 
- -
2594 
-
2602 void VnUartPacket_parseMagneticAccelerationAndAngularRatesRaw(char *packet, vec3f* mag, vec3f* accel, vec3f* gyro);
-
2603 
- -
2611 
-
2618 void VnUartPacket_parseMagneticAndGravityReferenceVectorsRaw(char *packet, vec3f* magRef, vec3f* accRef);
-
2619 
-
2628 void VnUartPacket_parseFilterMeasurementsVarianceParameters(VnUartPacket *packet, float* angularWalkVariance, vec3f* angularRateVariance, vec3f* magneticVariance, vec3f* accelerationVariance);
-
2629 
-
2638 void VnUartPacket_parseFilterMeasurementsVarianceParametersRaw(char *packet, float* angularWalkVariance, vec3f* angularRateVariance, vec3f* magneticVariance, vec3f* accelerationVariance);
-
2639 
- -
2647 
-
2654 void VnUartPacket_parseMagnetometerCompensationRaw(char *packet, mat3f* c, vec3f* b);
-
2655 
-
2664 void VnUartPacket_parseFilterActiveTuningParameters(VnUartPacket *packet, float* magneticDisturbanceGain, float* accelerationDisturbanceGain, float* magneticDisturbanceMemory, float* accelerationDisturbanceMemory);
-
2665 
-
2674 void VnUartPacket_parseFilterActiveTuningParametersRaw(char *packet, float* magneticDisturbanceGain, float* accelerationDisturbanceGain, float* magneticDisturbanceMemory, float* accelerationDisturbanceMemory);
-
2675 
- -
2683 
-
2690 void VnUartPacket_parseAccelerationCompensationRaw(char *packet, mat3f* c, vec3f* b);
-
2691 
- -
2698 
-
2704 void VnUartPacket_parseReferenceFrameRotationRaw(char *packet, mat3f* c);
-
2705 
- -
2715 
-
2724 void VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRatesRaw(char *packet, vec3f* yawPitchRoll, vec3f* mag, vec3f* accel, vec3f* gyro);
-
2725 
-
2737 void VnUartPacket_parseCommunicationProtocolControl(VnUartPacket *packet, uint8_t* serialCount, uint8_t* serialStatus, uint8_t* spiCount, uint8_t* spiStatus, uint8_t* serialChecksum, uint8_t* spiChecksum, uint8_t* errorMode);
-
2738 
-
2750 void VnUartPacket_parseCommunicationProtocolControlRaw(char *packet, uint8_t* serialCount, uint8_t* serialStatus, uint8_t* spiCount, uint8_t* spiStatus, uint8_t* serialChecksum, uint8_t* spiChecksum, uint8_t* errorMode);
-
2751 
-
2765 void VnUartPacket_parseSynchronizationControl(VnUartPacket *packet, uint8_t* syncInMode, uint8_t* syncInEdge, uint16_t* syncInSkipFactor, uint32_t* reserved1, uint8_t* syncOutMode, uint8_t* syncOutPolarity, uint16_t* syncOutSkipFactor, uint32_t* syncOutPulseWidth, uint32_t* reserved2);
-
2766 
-
2780 void VnUartPacket_parseSynchronizationControlRaw(char *packet, uint8_t* syncInMode, uint8_t* syncInEdge, uint16_t* syncInSkipFactor, uint32_t* reserved1, uint8_t* syncOutMode, uint8_t* syncOutPolarity, uint16_t* syncOutSkipFactor, uint32_t* syncOutPulseWidth, uint32_t* reserved2);
-
2781 
-
2789 void VnUartPacket_parseSynchronizationStatus(VnUartPacket *packet, uint32_t* syncInCount, uint32_t* syncInTime, uint32_t* syncOutCount);
-
2790 
-
2798 void VnUartPacket_parseSynchronizationStatusRaw(char *packet, uint32_t* syncInCount, uint32_t* syncInTime, uint32_t* syncOutCount);
-
2799 
-
2809 void VnUartPacket_parseFilterBasicControl(VnUartPacket *packet, uint8_t* magMode, uint8_t* extMagMode, uint8_t* extAccMode, uint8_t* extGyroMode, vec3f* gyroLimit);
-
2810 
-
2820 void VnUartPacket_parseFilterBasicControlRaw(char *packet, uint8_t* magMode, uint8_t* extMagMode, uint8_t* extAccMode, uint8_t* extGyroMode, vec3f* gyroLimit);
-
2821 
-
2830 void VnUartPacket_parseVpeBasicControl(VnUartPacket *packet, uint8_t* enable, uint8_t* headingMode, uint8_t* filteringMode, uint8_t* tuningMode);
-
2831 
-
2840 void VnUartPacket_parseVpeBasicControlRaw(char *packet, uint8_t* enable, uint8_t* headingMode, uint8_t* filteringMode, uint8_t* tuningMode);
-
2841 
-
2849 void VnUartPacket_parseVpeMagnetometerBasicTuning(VnUartPacket *packet, vec3f* baseTuning, vec3f* adaptiveTuning, vec3f* adaptiveFiltering);
-
2850 
-
2858 void VnUartPacket_parseVpeMagnetometerBasicTuningRaw(char *packet, vec3f* baseTuning, vec3f* adaptiveTuning, vec3f* adaptiveFiltering);
-
2859 
-
2869 void VnUartPacket_parseVpeMagnetometerAdvancedTuning(VnUartPacket *packet, vec3f* minFiltering, vec3f* maxFiltering, float* maxAdaptRate, float* disturbanceWindow, float* maxTuning);
-
2870 
-
2880 void VnUartPacket_parseVpeMagnetometerAdvancedTuningRaw(char *packet, vec3f* minFiltering, vec3f* maxFiltering, float* maxAdaptRate, float* disturbanceWindow, float* maxTuning);
-
2881 
-
2889 void VnUartPacket_parseVpeAccelerometerBasicTuning(VnUartPacket *packet, vec3f* baseTuning, vec3f* adaptiveTuning, vec3f* adaptiveFiltering);
-
2890 
-
2898 void VnUartPacket_parseVpeAccelerometerBasicTuningRaw(char *packet, vec3f* baseTuning, vec3f* adaptiveTuning, vec3f* adaptiveFiltering);
-
2899 
-
2909 void VnUartPacket_parseVpeAccelerometerAdvancedTuning(VnUartPacket *packet, vec3f* minFiltering, vec3f* maxFiltering, float* maxAdaptRate, float* disturbanceWindow, float* maxTuning);
-
2910 
-
2920 void VnUartPacket_parseVpeAccelerometerAdvancedTuningRaw(char *packet, vec3f* minFiltering, vec3f* maxFiltering, float* maxAdaptRate, float* disturbanceWindow, float* maxTuning);
-
2921 
-
2929 void VnUartPacket_parseVpeGyroBasicTuning(VnUartPacket *packet, vec3f* angularWalkVariance, vec3f* baseTuning, vec3f* adaptiveTuning);
-
2930 
-
2938 void VnUartPacket_parseVpeGyroBasicTuningRaw(char *packet, vec3f* angularWalkVariance, vec3f* baseTuning, vec3f* adaptiveTuning);
-
2939 
- -
2946 
-
2952 void VnUartPacket_parseFilterStartupGyroBiasRaw(char *packet, vec3f* bias);
-
2953 
-
2961 void VnUartPacket_parseMagnetometerCalibrationControl(VnUartPacket *packet, uint8_t* hsiMode, uint8_t* hsiOutput, uint8_t* convergeRate);
-
2962 
-
2970 void VnUartPacket_parseMagnetometerCalibrationControlRaw(char *packet, uint8_t* hsiMode, uint8_t* hsiOutput, uint8_t* convergeRate);
-
2971 
- -
2979 
- -
2987 
-
2994 void VnUartPacket_parseIndoorHeadingModeControl(VnUartPacket *packet, float* maxRateError, uint8_t* reserved1);
-
2995 
-
3002 void VnUartPacket_parseIndoorHeadingModeControlRaw(char *packet, float* maxRateError, uint8_t* reserved1);
-
3003 
- -
3010 
-
3016 void VnUartPacket_parseVelocityCompensationMeasurementRaw(char *packet, vec3f* velocity);
-
3017 
-
3025 void VnUartPacket_parseVelocityCompensationControl(VnUartPacket *packet, uint8_t* mode, float* velocityTuning, float* rateTuning);
-
3026 
-
3034 void VnUartPacket_parseVelocityCompensationControlRaw(char *packet, uint8_t* mode, float* velocityTuning, float* rateTuning);
-
3035 
-
3044 void VnUartPacket_parseVelocityCompensationStatus(VnUartPacket *packet, float* x, float* xDot, vec3f* accelOffset, vec3f* omega);
-
3045 
-
3054 void VnUartPacket_parseVelocityCompensationStatusRaw(char *packet, float* x, float* xDot, vec3f* accelOffset, vec3f* omega);
-
3055 
-
3065 void VnUartPacket_parseImuMeasurements(VnUartPacket *packet, vec3f* mag, vec3f* accel, vec3f* gyro, float* temp, float* pressure);
-
3066 
-
3076 void VnUartPacket_parseImuMeasurementsRaw(char *packet, vec3f* mag, vec3f* accel, vec3f* gyro, float* temp, float* pressure);
-
3077 
-
3087 void VnUartPacket_parseGpsConfiguration(VnUartPacket *packet, uint8_t* mode, uint8_t* ppsSource, uint8_t* reserved1, uint8_t* reserved2, uint8_t* reserved3);
-
3088 
-
3098 void VnUartPacket_parseGpsConfigurationRaw(char *packet, uint8_t* mode, uint8_t* ppsSource, uint8_t* reserved1, uint8_t* reserved2, uint8_t* reserved3);
-
3099 
-
3105 void VnUartPacket_parseGpsAntennaOffset(VnUartPacket *packet, vec3f* position);
-
3106 
-
3112 void VnUartPacket_parseGpsAntennaOffsetRaw(char *packet, vec3f* position);
-
3113 
-
3127 void VnUartPacket_parseGpsSolutionLla(VnUartPacket *packet, double* time, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* lla, vec3f* nedVel, vec3f* nedAcc, float* speedAcc, float* timeAcc);
-
3128 
-
3142 void VnUartPacket_parseGpsSolutionLlaRaw(char *packet, double* time, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* lla, vec3f* nedVel, vec3f* nedAcc, float* speedAcc, float* timeAcc);
-
3143 
-
3157 void VnUartPacket_parseGpsSolutionEcef(VnUartPacket *packet, double* tow, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* position, vec3f* velocity, vec3f* posAcc, float* speedAcc, float* timeAcc);
-
3158 
-
3172 void VnUartPacket_parseGpsSolutionEcefRaw(char *packet, double* tow, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* position, vec3f* velocity, vec3f* posAcc, float* speedAcc, float* timeAcc);
-
3173 
-
3187 void VnUartPacket_parseInsSolutionLla(VnUartPacket *packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* position, vec3f* nedVel, float* attUncertainty, float* posUncertainty, float* velUncertainty);
-
3188 
-
3202 void VnUartPacket_parseInsSolutionLlaRaw(char *packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* position, vec3f* nedVel, float* attUncertainty, float* posUncertainty, float* velUncertainty);
-
3203 
-
3217 void VnUartPacket_parseInsSolutionEcef(VnUartPacket *packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, float* attUncertainty, float* posUncertainty, float* velUncertainty);
-
3218 
-
3232 void VnUartPacket_parseInsSolutionEcefRaw(char *packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, float* attUncertainty, float* posUncertainty, float* velUncertainty);
-
3233 
-
3242 void VnUartPacket_parseInsBasicConfiguration(VnUartPacket *packet, uint8_t* scenario, uint8_t* ahrsAiding, uint8_t* estBaseline, uint8_t* resv2);
-
3243 
-
3252 void VnUartPacket_parseInsBasicConfigurationRaw(char *packet, uint8_t* scenario, uint8_t* ahrsAiding, uint8_t* estBaseline, uint8_t* resv2);
-
3253 
-
3273 void VnUartPacket_parseInsAdvancedConfiguration(VnUartPacket *packet, uint8_t* useMag, uint8_t* usePres, uint8_t* posAtt, uint8_t* velAtt, uint8_t* velBias, uint8_t* useFoam, uint8_t* gpsCovType, uint8_t* velCount, float* velInit, float* moveOrigin, float* gpsTimeout, float* deltaLimitPos, float* deltaLimitVel, float* minPosUncertainty, float* minVelUncertainty);
-
3274 
-
3294 void VnUartPacket_parseInsAdvancedConfigurationRaw(char *packet, uint8_t* useMag, uint8_t* usePres, uint8_t* posAtt, uint8_t* velAtt, uint8_t* velBias, uint8_t* useFoam, uint8_t* gpsCovType, uint8_t* velCount, float* velInit, float* moveOrigin, float* gpsTimeout, float* deltaLimitPos, float* deltaLimitVel, float* minPosUncertainty, float* minVelUncertainty);
-
3295 
-
3305 void VnUartPacket_parseInsStateLla(VnUartPacket *packet, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, vec3f* accel, vec3f* angularRate);
-
3306 
-
3316 void VnUartPacket_parseInsStateLlaRaw(char *packet, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, vec3f* accel, vec3f* angularRate);
-
3317 
-
3327 void VnUartPacket_parseInsStateEcef(VnUartPacket *packet, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, vec3f* accel, vec3f* angularRate);
-
3328 
-
3338 void VnUartPacket_parseInsStateEcefRaw(char *packet, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, vec3f* accel, vec3f* angularRate);
-
3339 
-
3347 void VnUartPacket_parseStartupFilterBiasEstimate(VnUartPacket *packet, vec3f* gyroBias, vec3f* accelBias, float* pressureBias);
-
3348 
-
3356 void VnUartPacket_parseStartupFilterBiasEstimateRaw(char *packet, vec3f* gyroBias, vec3f* accelBias, float* pressureBias);
-
3357 
-
3365 void VnUartPacket_parseDeltaThetaAndDeltaVelocity(VnUartPacket *packet, float* deltaTime, vec3f* deltaTheta, vec3f* deltaVelocity);
-
3366 
-
3374 void VnUartPacket_parseDeltaThetaAndDeltaVelocityRaw(char *packet, float* deltaTime, vec3f* deltaTheta, vec3f* deltaVelocity);
-
3375 
-
3385 void VnUartPacket_parseDeltaThetaAndDeltaVelocityConfiguration(VnUartPacket *packet, uint8_t* integrationFrame, uint8_t* gyroCompensation, uint8_t* accelCompensation, uint8_t* reserved1, uint16_t* reserved2);
-
3386 
-
3396 void VnUartPacket_parseDeltaThetaAndDeltaVelocityConfigurationRaw(char *packet, uint8_t* integrationFrame, uint8_t* gyroCompensation, uint8_t* accelCompensation, uint8_t* reserved1, uint16_t* reserved2);
-
3397 
-
3409 void VnUartPacket_parseReferenceVectorConfiguration(VnUartPacket *packet, uint8_t* useMagModel, uint8_t* useGravityModel, uint8_t* resv1, uint8_t* resv2, uint32_t* recalcThreshold, float* year, vec3d* position);
-
3410 
-
3422 void VnUartPacket_parseReferenceVectorConfigurationRaw(char *packet, uint8_t* useMagModel, uint8_t* useGravityModel, uint8_t* resv1, uint8_t* resv2, uint32_t* recalcThreshold, float* year, vec3d* position);
-
3423 
- -
3431 
-
3438 void VnUartPacket_parseGyroCompensationRaw(char *packet, mat3f* c, vec3f* b);
-
3439 
-
3454 void VnUartPacket_parseImuFilteringConfiguration(VnUartPacket *packet, uint16_t* magWindowSize, uint16_t* accelWindowSize, uint16_t* gyroWindowSize, uint16_t* tempWindowSize, uint16_t* presWindowSize, uint8_t* magFilterMode, uint8_t* accelFilterMode, uint8_t* gyroFilterMode, uint8_t* tempFilterMode, uint8_t* presFilterMode);
-
3455 
-
3470 void VnUartPacket_parseImuFilteringConfigurationRaw(char *packet, uint16_t* magWindowSize, uint16_t* accelWindowSize, uint16_t* gyroWindowSize, uint16_t* tempWindowSize, uint16_t* presWindowSize, uint8_t* magFilterMode, uint8_t* accelFilterMode, uint8_t* gyroFilterMode, uint8_t* tempFilterMode, uint8_t* presFilterMode);
-
3471 
-
3478 void VnUartPacket_parseGpsCompassBaseline(VnUartPacket *packet, vec3f* position, vec3f* uncertainty);
-
3479 
-
3486 void VnUartPacket_parseGpsCompassBaselineRaw(char *packet, vec3f* position, vec3f* uncertainty);
-
3487 
-
3497 void VnUartPacket_parseGpsCompassEstimatedBaseline(VnUartPacket *packet, uint8_t* estBaselineUsed, uint8_t* resv, uint16_t* numMeas, vec3f* position, vec3f* uncertainty);
-
3498 
-
3508 void VnUartPacket_parseGpsCompassEstimatedBaselineRaw(char *packet, uint8_t* estBaselineUsed, uint8_t* resv, uint16_t* numMeas, vec3f* position, vec3f* uncertainty);
-
3509 
-
3518 void VnUartPacket_parseImuRateConfiguration(VnUartPacket *packet, uint16_t* imuRate, uint16_t* navDivisor, float* filterTargetRate, float* filterMinRate);
-
3519 
-
3528 void VnUartPacket_parseImuRateConfigurationRaw(char *packet, uint16_t* imuRate, uint16_t* navDivisor, float* filterTargetRate, float* filterMinRate);
-
3529 
- -
3538 
-
3546 void VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRatesRaw(char *packet, vec3f* yawPitchRoll, vec3f* bodyAccel, vec3f* gyro);
-
3547 
-
3555 void VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRates(VnUartPacket *packet, vec3f* yawPitchRoll, vec3f* inertialAccel, vec3f* gyro);
-
3556 
-
3564 void VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRatesRaw(char *packet, vec3f* yawPitchRoll, vec3f* inertialAccel, vec3f* gyro);
-
3565 
-
3573 void strFromVnAsciiAsync(char *out, VnAsciiAsync val);
-
3574 
-
3575 #ifdef __cplusplus
-
3576 }
-
3577 #endif
-
3578 
-
3579 #endif
-
VnError VnUartPacket_genReadMagneticAccelerationAndAngularRates(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Magnetic, Acceleration and Angular Rates register on a VectorNav sens...
-
void VnUartPacket_parseSynchronizationControlRaw(char *packet, uint8_t *syncInMode, uint8_t *syncInEdge, uint16_t *syncInSkipFactor, uint32_t *reserved1, uint8_t *syncOutMode, uint8_t *syncOutPolarity, uint16_t *syncOutSkipFactor, uint32_t *syncOutPulseWidth, uint32_t *reserved2)
Parses a response from reading the Synchronization Control register.
-
void VnUartPacket_parseAsyncDataOutputType(VnUartPacket *packet, uint32_t *ador)
Parses a response from reading the Async Data Output Type register.
-
VnError VnUartPacket_genWriteVpeAccelerometerBasicTuning(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f baseTuning, vec3f adaptiveTuning, vec3f adaptiveFiltering)
Generates a command to write to the VPE Accelerometer Basic Tuning register on a VectorNav sensor...
-
void VnUartPacket_parseGpsConfiguration(VnUartPacket *packet, uint8_t *mode, uint8_t *ppsSource, uint8_t *reserved1, uint8_t *reserved2, uint8_t *reserved3)
Parses a response from reading the GPS Configuration register.
-
void VnUartPacket_parseInsBasicConfigurationRaw(char *packet, uint8_t *scenario, uint8_t *ahrsAiding, uint8_t *estBaseline, uint8_t *resv2)
Parses a response from reading the INS Basic Configuration register.
-
void VnUartPacket_parseIndoorHeadingModeControl(VnUartPacket *packet, float *maxRateError, uint8_t *reserved1)
Parses a response from reading the Indoor Heading Mode Control register.
-
void VnUartPacket_parseVelocityCompensationStatus(VnUartPacket *packet, float *x, float *xDot, vec3f *accelOffset, vec3f *omega)
Parses a response from reading the Velocity Compensation Status register.
-
VnError VnUartPacket_genWriteDeltaThetaAndDeltaVelocityConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t integrationFrame, uint8_t gyroCompensation, uint8_t accelCompensation, uint8_t reserved1, uint16_t reserved2)
Generates a command to write to the Delta Theta and Delta Velocity Configuration register on a Vector...
-
VnError VnUartPacket_genReadAccelerationMeasurements(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Acceleration Measurements register on a VectorNav sensor...
-
VnError VnUartPacket_genCmdTare(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to tare the sensor.
-
void VnUartPacket_parseAccelerationCompensation(VnUartPacket *packet, mat3f *c, vec3f *b)
Parses a response from reading the Acceleration Compensation register.
-
void VnUartPacket_parseFilterBasicControlRaw(char *packet, uint8_t *magMode, uint8_t *extMagMode, uint8_t *extAccMode, uint8_t *extGyroMode, vec3f *gyroLimit)
Parses a response from reading the Filter Basic Control register.
-
VnError VnUartPacket_genWriteSerialBaudRate(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t baudrate)
Generates a command to write to the Serial Baud Rate register on a VectorNav sensor.
-
void VnUartPacket_parseReferenceVectorConfigurationRaw(char *packet, uint8_t *useMagModel, uint8_t *useGravityModel, uint8_t *resv1, uint8_t *resv2, uint32_t *recalcThreshold, float *year, vec3d *position)
Parses a response from reading the Reference Vector Configuration register.
-
VnError VnUartPacket_genWriteMagnetometerCalibrationControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t hsiMode, uint8_t hsiOutput, uint8_t convergeRate)
Generates a command to write to the Magnetometer Calibration Control register on a VectorNav sensor...
-
VnError VnUartPacket_parseVNYMR(VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate)
Parses a VNYMR asynchronous packet.
-
void VnUartPacket_parseCommunicationProtocolControlRaw(char *packet, uint8_t *serialCount, uint8_t *serialStatus, uint8_t *spiCount, uint8_t *spiStatus, uint8_t *serialChecksum, uint8_t *spiChecksum, uint8_t *errorMode)
Parses a response from reading the Communication Protocol Control register.
-
void VnUartPacket_parseVNGYR(VnUartPacket *packet, vec3f *angularRate)
Parses a VNGYR asynchronous packet.
-
void VnUartPacket_parseUserTagRaw(char *packet, char *tag)
Parses a response from reading the User Tag register.
-
VnError VnUartPacket_genReadInsSolutionLla(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the INS Solution - LLA register on a VectorNav sensor.
-
void VnUartPacket_parseGpsAntennaOffsetRaw(char *packet, vec3f *position)
Parses a response from reading the GPS Antenna Offset register.
-
VnError VnUartPacket_genWriteSerialBaudRateWithOptions(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t baudrate)
Generates a command to write to the Serial Baud Rate register on a VectorNav sensor.
-
VnError VnUartPacket_genReadBinaryOutput2(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Binary Output 2 register on a VectorNav sensor.
-
void VnUartPacket_parseErrorRaw(uint8_t *packet, uint8_t *error)
Parses an error packet to get the error type.
-
void VnUartPacket_parseInsStateLla(VnUartPacket *packet, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, vec3f *accel, vec3f *angularRate)
Parses a response from reading the INS State - LLA register.
-
VnError VnUartPacket_genWriteAsyncDataOutputType(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t ador)
Generates a command to write to the Async Data Output Type register on a VectorNav sensor...
-
void VnUartPacket_parseDeltaThetaAndDeltaVelocity(VnUartPacket *packet, float *deltaTime, vec3f *deltaTheta, vec3f *deltaVelocity)
Parses a response from reading the Delta Theta and Delta Velocity register.
-
VnError VnUartPacket_genWriteSynchronizationStatus(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t syncInCount, uint32_t syncInTime, uint32_t syncOutCount)
Generates a command to write to the Synchronization Status register on a VectorNav sensor...
-
void VnUartPacket_parseGpsConfigurationRaw(char *packet, uint8_t *mode, uint8_t *ppsSource, uint8_t *reserved1, uint8_t *reserved2, uint8_t *reserved3)
Parses a response from reading the GPS Configuration register.
-
void VnUartPacket_parseImuMeasurementsRaw(char *packet, vec3f *mag, vec3f *accel, vec3f *gyro, float *temp, float *pressure)
Parses a response from reading the IMU Measurements register.
-
mat3f VnUartPacket_extractMat3f(VnUartPacket *packet)
Extracts a mat3f data type from a binary packet and advances the next extraction point appropriately...
-
VnError VnUartPacket_genWriteSynchronizationControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t syncInMode, uint8_t syncInEdge, uint16_t syncInSkipFactor, uint32_t reserved1, uint8_t syncOutMode, uint8_t syncOutPolarity, uint16_t syncOutSkipFactor, uint32_t syncOutPulseWidth, uint32_t reserved2)
Generates a command to write to the Synchronization Control register on a VectorNav sensor...
-
Structure representing a UART packet received from a VectorNav sensor.
Definition: upack.h:34
-
VnError VnUartPacket_genReadImuFilteringConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the IMU Filtering Configuration register on a VectorNav sensor...
-
VnError VnUartPacket_genReadReferenceFrameRotation(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Reference Frame Rotation register on a VectorNav sensor.
-
VnError VnUartPacket_genWriteInsBasicConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t scenario, uint8_t ahrsAiding, uint8_t estBaseline, uint8_t resv2)
Generates a command to write to the INS Basic Configuration register on a VectorNav sensor...
-
void VnUartPacket_parseVpeGyroBasicTuning(VnUartPacket *packet, vec3f *angularWalkVariance, vec3f *baseTuning, vec3f *adaptiveTuning)
Parses a response from reading the VPE Gyro Basic Tuning register.
-
void VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRatesRaw(char *packet, vec4f *quat, vec3f *mag, vec3f *accel, vec3f *gyro)
Parses a response from reading the Quaternion, Magnetic, Acceleration and Angular Rates register...
-
VnError VnUartPacket_genReadAsyncDataOutputFrequency(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Async Data Output Frequency register on a VectorNav sensor...
-
void VnUartPacket_parseInsBasicConfiguration(VnUartPacket *packet, uint8_t *scenario, uint8_t *ahrsAiding, uint8_t *estBaseline, uint8_t *resv2)
Parses a response from reading the INS Basic Configuration register.
-
VnError VnUartPacket_genReadBinaryOutput3(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Binary Output 3 register on a VectorNav sensor.
-
void VnUartPacket_parseMagneticMeasurementsRaw(char *packet, vec3f *mag)
Parses a response from reading the Magnetic Measurements register.
-
VnError VnUartPacket_genReadDeltaThetaAndDeltaVelocityConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Delta Theta and Delta Velocity Configuration register on a VectorNav ...
-
void VnUartPacket_parseMagneticAccelerationAndAngularRates(VnUartPacket *packet, vec3f *mag, vec3f *accel, vec3f *gyro)
Parses a response from reading the Magnetic, Acceleration and Angular Rates register.
-
void VnUartPacket_parseMagnetometerCalibrationControl(VnUartPacket *packet, uint8_t *hsiMode, uint8_t *hsiOutput, uint8_t *convergeRate)
Parses a response from reading the Magnetometer Calibration Control register.
-
VnError VnUartPacket_genReadAsyncDataOutputType(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Async Data Output Type register on a VectorNav sensor.
-
void VnUartPacket_parseVpeMagnetometerAdvancedTuning(VnUartPacket *packet, vec3f *minFiltering, vec3f *maxFiltering, float *maxAdaptRate, float *disturbanceWindow, float *maxTuning)
Parses a response from reading the VPE Magnetometer Advanced Tuning register.
-
VnError VnUartPacket_genWriteAsyncDataOutputFrequency(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t adof)
Generates a command to write to the Async Data Output Frequency register on a VectorNav sensor...
-
VnError VnUartPacket_genReadGyroCompensation(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Gyro Compensation register on a VectorNav sensor. ...
-
void VnUartPacket_parseVpeBasicControlRaw(char *packet, uint8_t *enable, uint8_t *headingMode, uint8_t *filteringMode, uint8_t *tuningMode)
Parses a response from reading the VPE Basic Control register.
-
VnError VnUartPacket_genWriteGpsConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t mode, uint8_t ppsSource, uint8_t reserved1, uint8_t reserved2, uint8_t reserved3)
Generates a command to write to the GPS Configuration register on a VectorNav sensor.
-
VnError VnUartPacket_genReadInsSolutionEcef(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the INS Solution - ECEF register on a VectorNav sensor.
-
VnError VnUartPacket_genWriteVelocityCompensationMeasurement(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f velocity)
Generates a command to write to the Velocity Compensation Measurement register on a VectorNav sensor...
-
VnError VnUartPacket_genReadGpsCompassBaseline(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the GPS Compass Baseline register on a VectorNav sensor.
-
void VnUartPacket_parseAccelerationCompensationRaw(char *packet, mat3f *c, vec3f *b)
Parses a response from reading the Acceleration Compensation register.
-
void VnUartPacket_parseSerialBaudRateRaw(char *packet, uint32_t *baudrate)
Parses a response from reading the Serial Baud Rate register.
-
void VnUartPacket_parseCalculatedMagnetometerCalibration(VnUartPacket *packet, mat3f *c, vec3f *b)
Parses a response from reading the Calculated Magnetometer Calibration register.
-
void VnUartPacket_parseVelocityCompensationMeasurement(VnUartPacket *packet, vec3f *velocity)
Parses a response from reading the Velocity Compensation Measurement register.
-
void VnUartPacket_parseBinaryOutput(VnUartPacket *packet, uint16_t *asyncMode, uint16_t *rateDivisor, uint16_t *outputGroup, uint16_t *commonField, uint16_t *timeField, uint16_t *imuField, uint16_t *gpsField, uint16_t *attitudeField, uint16_t *insField)
Parses a response from reading any of the Binary Output registers.
-
void VnUartPacket_parseReferenceFrameRotation(VnUartPacket *packet, mat3f *c)
Parses a response from reading the Reference Frame Rotation register.
-
void VnUartPacket_parseFilterMeasurementsVarianceParametersRaw(char *packet, float *angularWalkVariance, vec3f *angularRateVariance, vec3f *magneticVariance, vec3f *accelerationVariance)
Parses a response from reading the Filter Measurements Variance Parameters register.
-
void VnUartPacket_parseVNMAR(VnUartPacket *packet, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate)
Parses a VNMAR asynchronous packet.
-
uint8_t * data
Definition: upack.h:43
-
void VnUartPacket_parseVNISE(VnUartPacket *packet, vec3f *ypr, vec3d *position, vec3f *velocity, vec3f *acceleration, vec3f *angularRate)
Parse a VNISE asynchronous packet.
-
void VnUartPacket_parseVNDTV(VnUartPacket *packet, float *deltaTime, vec3f *deltaTheta, vec3f *deltaVelocity)
Parses a VNDTV asynchronous packet.
-
VnError VnUartPacket_genReadAngularRateMeasurements(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Angular Rate Measurements register on a VectorNav sensor...
-
void VnUartPacket_parseAngularRateMeasurementsRaw(char *packet, vec3f *gyro)
Parses a response from reading the Angular Rate Measurements register.
-
void VnUartPacket_parseUserTag(VnUartPacket *packet, char *tag)
Parses a response from reading the User Tag register.
-
void VnUartPacket_parseGyroCompensation(VnUartPacket *packet, mat3f *c, vec3f *b)
Parses a response from reading the Gyro Compensation register.
-
VnError VnUartPacket_genReadStartupFilterBiasEstimate(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Startup Filter Bias Estimate register on a VectorNav sensor...
-
void VnUartPacket_parseImuFilteringConfigurationRaw(char *packet, uint16_t *magWindowSize, uint16_t *accelWindowSize, uint16_t *gyroWindowSize, uint16_t *tempWindowSize, uint16_t *presWindowSize, uint8_t *magFilterMode, uint8_t *accelFilterMode, uint8_t *gyroFilterMode, uint8_t *tempFilterMode, uint8_t *presFilterMode)
Parses a response from reading the IMU Filtering Configuration register.
-
void VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRates(VnUartPacket *packet, vec4f *quat, vec3f *mag, vec3f *accel, vec3f *gyro)
Parses a response from reading the Quaternion, Magnetic, Acceleration and Angular Rates register...
-
void VnUartPacket_parseSerialNumber(VnUartPacket *packet, uint32_t *serialNum)
Parses a response from reading the Serial Number register.
-
VnError VnUartPacket_genReadYawPitchRoll(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Yaw Pitch Roll register on a VectorNav sensor.
-
void VnUartPacket_parseHardwareRevisionRaw(char *packet, uint32_t *revision)
Parses a response from reading the Hardware Revision register.
-
VnError VnUartPacket_genWriteMagnetometerCompensation(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, mat3f c, vec3f b)
Generates a command to write to the Magnetometer Compensation register on a VectorNav sensor...
-
VnError VnUartPacket_genCmdWriteSettings(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to write sensor settings to non-volitile memory.
-
VnError VnUartPacket_genReadInsStateEcef(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the INS State - ECEF register on a VectorNav sensor.
-
VnError VnUartPacket_genReadMagneticMeasurements(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Magnetic Measurements register on a VectorNav sensor.
-
void VnUartPacket_parseVNGPS(VnUartPacket *packet, double *time, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *lla, vec3f *nedVel, vec3f *nedAcc, float *speedAcc, float *timeAcc)
Parses a VNGPS asynchronous packet.
-
void VnUartPacket_parseSynchronizationStatusRaw(char *packet, uint32_t *syncInCount, uint32_t *syncInTime, uint32_t *syncOutCount)
Parses a response from reading the Synchronization Status register.
-
VnError VnUartPacket_genReadVelocityCompensationControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Velocity Compensation Control register on a VectorNav sensor...
-
void VnUartPacket_parseVpeBasicControl(VnUartPacket *packet, uint8_t *enable, uint8_t *headingMode, uint8_t *filteringMode, uint8_t *tuningMode)
Parses a response from reading the VPE Basic Control register.
-
void VnUartPacket_parseSerialBaudRate(VnUartPacket *packet, uint32_t *baudrate)
Parses a response from reading the Serial Baud Rate register.
-
void VnUartPacket_parseAngularRateMeasurements(VnUartPacket *packet, vec3f *gyro)
Parses a response from reading the Angular Rate Measurements register.
-
void VnUartPacket_parseFilterActiveTuningParameters(VnUartPacket *packet, float *magneticDisturbanceGain, float *accelerationDisturbanceGain, float *magneticDisturbanceMemory, float *accelerationDisturbanceMemory)
Parses a response from reading the Filter Active Tuning Parameters register.
-
VnError VnUartPacket_genWriteVpeBasicControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t enable, uint8_t headingMode, uint8_t filteringMode, uint8_t tuningMode)
Generates a command to write to the VPE Basic Control register on a VectorNav sensor.
-
void VnUartPacket_parseAsyncDataOutputFrequencyRaw(char *packet, uint32_t *adof)
Parses a response from reading the Async Data Output Frequency register.
-
void VnUartPacket_parseFilterStartupGyroBiasRaw(char *packet, vec3f *bias)
Parses a response from reading the Filter Startup Gyro Bias register.
-
void VnUartPacket_parseVNGPE(VnUartPacket *packet, double *tow, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *position, vec3f *velocity, vec3f *posAcc, float *speedAcc, float *timeAcc)
Parses a VNGPE asynchronous packet.
-
VnError VnUartPacket_genReadGpsAntennaOffset(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the GPS Antenna Offset register on a VectorNav sensor.
-
void VnUartPacket_parseVpeAccelerometerBasicTuningRaw(char *packet, vec3f *baseTuning, vec3f *adaptiveTuning, vec3f *adaptiveFiltering)
Parses a response from reading the VPE Accelerometer Basic Tuning register.
-
VnError VnUartPacket_genWriteVelocityCompensationControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t mode, float velocityTuning, float rateTuning)
Generates a command to write to the Velocity Compensation Control register on a VectorNav sensor...
-
int8_t VnUartPacket_extractInt8(VnUartPacket *packet)
Extracts a int8_t data type from a binary packet and advances the next extraction point appropriately...
-
void VnUartPacket_parseVpeAccelerometerAdvancedTuning(VnUartPacket *packet, vec3f *minFiltering, vec3f *maxFiltering, float *maxAdaptRate, float *disturbanceWindow, float *maxTuning)
Parses a response from reading the VPE Accelerometer Advanced Tuning register.
-
void VnUartPacket_parseAttitudeQuaternion(VnUartPacket *packet, vec4f *quat)
Parses a response from reading the Attitude Quaternion register.
-
void VnUartPacket_parseVNINE(VnUartPacket *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, float *attUncertainty, float *posUncertainty, float *velUncertainty)
Parses a VNINE asynchronous packet.
-
void VnUartPacket_parseGpsCompassBaseline(VnUartPacket *packet, vec3f *position, vec3f *uncertainty)
Parses a response from reading the GPS Compass Baseline register.
-
void VnUartPacket_parseFilterStartupGyroBias(VnUartPacket *packet, vec3f *bias)
Parses a response from reading the Filter Startup Gyro Bias register.
-
VnError VnUartPacket_genWriteAsyncDataOutputTypeWithOptions(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t ador)
Generates a command to write to the Async Data Output Type register on a VectorNav sensor...
-
void VnUartPacket_parseFilterActiveTuningParametersRaw(char *packet, float *magneticDisturbanceGain, float *accelerationDisturbanceGain, float *magneticDisturbanceMemory, float *accelerationDisturbanceMemory)
Parses a response from reading the Filter Active Tuning Parameters register.
-
VnError VnUartPacket_genWriteReferenceVectorConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t useMagModel, uint8_t useGravityModel, uint8_t resv1, uint8_t resv2, uint32_t recalcThreshold, float year, vec3d position)
Generates a command to write to the Reference Vector Configuration register on a VectorNav sensor...
-
void VnUartPacket_parseMagneticAndGravityReferenceVectorsRaw(char *packet, vec3f *magRef, vec3f *accRef)
Parses a response from reading the Magnetic and Gravity Reference Vectors register.
-
void VnUartPacket_parseVelocityCompensationControl(VnUartPacket *packet, uint8_t *mode, float *velocityTuning, float *rateTuning)
Parses a response from reading the Velocity Compensation Control register.
-
void VnUartPacket_parseInsSolutionEcef(VnUartPacket *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, float *attUncertainty, float *posUncertainty, float *velUncertainty)
Parses a response from reading the INS Solution - ECEF register.
-
VnError VnUartPacket_genWriteUserTag(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, char *tag)
Generates a command to write to the User Tag register on a VectorNav sensor.
-
uint32_t VnUartPacket_extractUint32(VnUartPacket *packet)
Extracts a uint32_t data type from a binary packet and advances the next extraction point appropriate...
-
void VnUartPacket_parseGpsSolutionEcefRaw(char *packet, double *tow, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *position, vec3f *velocity, vec3f *posAcc, float *speedAcc, float *timeAcc)
Parses a response from reading the GPS Solution - ECEF register.
-
void VnUartPacket_parseSynchronizationStatus(VnUartPacket *packet, uint32_t *syncInCount, uint32_t *syncInTime, uint32_t *syncOutCount)
Parses a response from reading the Synchronization Status register.
-
VnError VnUartPacket_genWriteAsyncDataOutputFrequencyWithOptions(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint32_t adof)
Generates a command to write to the Async Data Output Frequency register on a VectorNav sensor...
-
void VnUartPacket_parseAsyncDataOutputTypeRaw(char *packet, uint32_t *ador)
Parses a response from reading the Async Data Output Type register.
-
Represents a 4 component vector with an underlying data type of float.
Definition: vector.h:68
-
Represents a 3 component vector with an underlying data type of double.
Definition: vector.h:41
-
void VnUartPacket_parseVNYIA(VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *accelerationInertial, vec3f *angularRate)
Parses a VNYIA asynchronous packet.
-
VnError VnUartPacket_genReadMagnetometerCalibrationControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Magnetometer Calibration Control register on a VectorNav sensor...
-
VnError VnUartPacket_genReadAccelerationCompensation(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Acceleration Compensation register on a VectorNav sensor...
-
VnError VnUartPacket_genReadYawPitchRollTrueBodyAccelerationAndAngularRates(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register o...
-
VnError VnUartPacket_genReadMagnetometerCompensation(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Magnetometer Compensation register on a VectorNav sensor...
-
void VnUartPacket_parseReferenceVectorConfiguration(VnUartPacket *packet, uint8_t *useMagModel, uint8_t *useGravityModel, uint8_t *resv1, uint8_t *resv2, uint32_t *recalcThreshold, float *year, vec3d *position)
Parses a response from reading the Reference Vector Configuration register.
-
VnError VnUartPacket_genReadQuaternionMagneticAccelerationAndAngularRates(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Quaternion, Magnetic, Acceleration and Angular Rates register on a Ve...
-
VnError VnUartPacket_genWriteGpsCompassBaseline(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f position, vec3f uncertainty)
Generates a command to write to the GPS Compass Baseline register on a VectorNav sensor.
-
void VnUartPacket_parseInsSolutionLla(VnUartPacket *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *nedVel, float *attUncertainty, float *posUncertainty, float *velUncertainty)
Parses a response from reading the INS Solution - LLA register.
-
VnError VnUartPacket_genWriteMagneticAndGravityReferenceVectors(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f magRef, vec3f accRef)
Generates a command to write to the Magnetic and Gravity Reference Vectors register on a VectorNav se...
-
void VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRates(VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *mag, vec3f *accel, vec3f *gyro)
Parses a response from reading the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates registe...
-
VnError VnUartPacket_genReadVpeBasicControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the VPE Basic Control register on a VectorNav sensor. ...
-
void VnUartPacket_parseInsStateLlaRaw(char *packet, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, vec3f *accel, vec3f *angularRate)
Parses a response from reading the INS State - LLA register.
-
void VnUartPacket_parseIndoorHeadingModeControlRaw(char *packet, float *maxRateError, uint8_t *reserved1)
Parses a response from reading the Indoor Heading Mode Control register.
-
void VnUartPacket_parseFilterBasicControl(VnUartPacket *packet, uint8_t *magMode, uint8_t *extMagMode, uint8_t *extAccMode, uint8_t *extGyroMode, vec3f *gyroLimit)
Parses a response from reading the Filter Basic Control register.
-
vec3f VnUartPacket_extractVec3f(VnUartPacket *packet)
Extracts a vec3f data type from a binary packet and advances the next extraction point appropriately...
-
VnError VnUartPacket_genReadYawPitchRollMagneticAccelerationAndAngularRates(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register o...
-
void VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRatesRaw(char *packet, vec3f *yawPitchRoll, vec3f *mag, vec3f *accel, vec3f *gyro)
Parses a response from reading the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates registe...
-
VnError VnUartPacket_genReadBinaryOutput1(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Binary Output 1 register on a VectorNav sensor.
-
void VnUartPacket_parseReferenceFrameRotationRaw(char *packet, mat3f *c)
Parses a response from reading the Reference Frame Rotation register.
-
VnError VnUartPacket_genReadImuMeasurements(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the IMU Measurements register on a VectorNav sensor.
-
void VnUartPacket_parseGpsCompassEstimatedBaselineRaw(char *packet, uint8_t *estBaselineUsed, uint8_t *resv, uint16_t *numMeas, vec3f *position, vec3f *uncertainty)
Parses a response from reading the GPS Compass Estimated Baseline register.
-
void VnUartPacket_parseVelocityCompensationControlRaw(char *packet, uint8_t *mode, float *velocityTuning, float *rateTuning)
Parses a response from reading the Velocity Compensation Control register.
-
void VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRates(VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *bodyAccel, vec3f *gyro)
Parses a response from reading the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates registe...
-
VnError VnUartPacket_genReadVpeAccelerometerBasicTuning(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the VPE Accelerometer Basic Tuning register on a VectorNav sensor...
-
VnError VnUartPacket_genReadSynchronizationStatus(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Synchronization Status register on a VectorNav sensor.
-
VnError VnUartPacket_genReadGpsConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the GPS Configuration register on a VectorNav sensor. ...
-
void VnUartPacket_parseVNACC(VnUartPacket *packet, vec3f *acceleration)
Parses a VNACC asynchronous packet.
-
void VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRatesRaw(char *packet, vec3f *yawPitchRoll, vec3f *bodyAccel, vec3f *gyro)
Parses a response from reading the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates registe...
-
void VnUartPacket_parseGpsAntennaOffset(VnUartPacket *packet, vec3f *position)
Parses a response from reading the GPS Antenna Offset register.
-
void VnUartPacket_parseGpsSolutionLla(VnUartPacket *packet, double *time, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *lla, vec3f *nedVel, vec3f *nedAcc, float *speedAcc, float *timeAcc)
Parses a response from reading the GPS Solution - LLA register.
-
VnError VnUartPacket_genCmdKnownAccelerationDisturbance(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, bool disturbancePresent, size_t *cmdSize)
Generates a command to alert the sensor of a known acceleration disturbance.
-
VnError VnUartPacket_genCmdReset(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to reset the sensor.
-
void VnUartPacket_parseBinaryOutputRaw(uint8_t *packet, uint16_t *asyncMode, uint16_t *rateDivisor, uint16_t *outputGroup, uint16_t *commonField, uint16_t *timeField, uint16_t *imuField, uint16_t *gpsField, uint16_t *attitudeField, uint16_t *insField)
Parses a response from reading any of the Binary Output registers.
-
void VnUartPacket_parseAsyncDataOutputFrequency(VnUartPacket *packet, uint32_t *adof)
Parses a response from reading the Async Data Output Frequency register.
-
void VnUartPacket_parseMagneticAccelerationAndAngularRatesRaw(char *packet, vec3f *mag, vec3f *accel, vec3f *gyro)
Parses a response from reading the Magnetic, Acceleration and Angular Rates register.
-
void VnUartPacket_parseMagnetometerCalibrationControlRaw(char *packet, uint8_t *hsiMode, uint8_t *hsiOutput, uint8_t *convergeRate)
Parses a response from reading the Magnetometer Calibration Control register.
-
void VnUartPacket_parseSynchronizationControl(VnUartPacket *packet, uint8_t *syncInMode, uint8_t *syncInEdge, uint16_t *syncInSkipFactor, uint32_t *reserved1, uint8_t *syncOutMode, uint8_t *syncOutPolarity, uint16_t *syncOutSkipFactor, uint32_t *syncOutPulseWidth, uint32_t *reserved2)
Parses a response from reading the Synchronization Control register.
-
VnError VnUartPacket_genWriteBinaryOutput3(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint16_t asyncMode, uint16_t rateDivisor, uint16_t commonField, uint16_t timeField, uint16_t imuField, uint16_t gpsField, uint16_t attitudeField, uint16_t insField)
Generates a command to write to the Binary Output 3 register.
-
vec3d VnUartPacket_extractVec3d(VnUartPacket *packet)
Extracts a vec3d data type from a binary packet and advances the next extraction point appropriately...
-
VnError VnUartPacket_genWriteVpeMagnetometerBasicTuning(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f baseTuning, vec3f adaptiveTuning, vec3f adaptiveFiltering)
Generates a command to write to the VPE Magnetometer Basic Tuning register on a VectorNav sensor...
-
VnError VnUartPacket_genReadSynchronizationControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Synchronization Control register on a VectorNav sensor.
-
void VnUartPacket_parseYawPitchRoll(VnUartPacket *packet, vec3f *yawPitchRoll)
Parses a response from reading the Yaw Pitch Roll register.
-
VnError VnUartPacket_genReadInsStateLla(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the INS State - LLA register on a VectorNav sensor.
-
void VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRates(VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *inertialAccel, vec3f *gyro)
Parses a response from reading the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates reg...
-
void VnUartPacket_parseFirmwareVersionRaw(char *packet, char *firmwareVersion)
Parses a response from reading the Firmware Version register.
-
VnError VnUartPacket_genWriteBinaryOutput2(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint16_t asyncMode, uint16_t rateDivisor, uint16_t commonField, uint16_t timeField, uint16_t imuField, uint16_t gpsField, uint16_t attitudeField, uint16_t insField)
Generates a command to write to the Binary Output 2 register.
-
void VnUartPacket_parseVpeAccelerometerBasicTuning(VnUartPacket *packet, vec3f *baseTuning, vec3f *adaptiveTuning, vec3f *adaptiveFiltering)
Parses a response from reading the VPE Accelerometer Basic Tuning register.
-
void VnUartPacket_parseInsSolutionEcefRaw(char *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, float *attUncertainty, float *posUncertainty, float *velUncertainty)
Parses a response from reading the INS Solution - ECEF register.
-
VnError VnUartPacket_genReadHardwareRevision(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Hardware Revision register on a VectorNav sensor. ...
-
void VnUartPacket_parseCalculatedMagnetometerCalibrationRaw(char *packet, mat3f *c, vec3f *b)
Parses a response from reading the Calculated Magnetometer Calibration register.
-
void VnUartPacket_parseInsSolutionLlaRaw(char *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *nedVel, float *attUncertainty, float *posUncertainty, float *velUncertainty)
Parses a response from reading the INS Solution - LLA register.
-
void VnUartPacket_parseInsAdvancedConfiguration(VnUartPacket *packet, uint8_t *useMag, uint8_t *usePres, uint8_t *posAtt, uint8_t *velAtt, uint8_t *velBias, uint8_t *useFoam, uint8_t *gpsCovType, uint8_t *velCount, float *velInit, float *moveOrigin, float *gpsTimeout, float *deltaLimitPos, float *deltaLimitVel, float *minPosUncertainty, float *minVelUncertainty)
Parses a response from reading the INS Advanced Configuration register.
-
uint8_t VnUartPacket_extractUint8(VnUartPacket *packet)
Extracts a uint8_t data type from a binary packet and advances the next extraction point appropriatel...
-
VnError VnUartPacket_genReadYawPitchRollTrueInertialAccelerationAndAngularRates(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates regist...
-
void VnUartPacket_parseVpeMagnetometerBasicTuningRaw(char *packet, vec3f *baseTuning, vec3f *adaptiveTuning, vec3f *adaptiveFiltering)
Parses a response from reading the VPE Magnetometer Basic Tuning register.
-
VnError VnUartPacket_genReadCommunicationProtocolControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Communication Protocol Control register on a VectorNav sensor...
-
void VnUartPacket_parseImuRateConfiguration(VnUartPacket *packet, uint16_t *imuRate, uint16_t *navDivisor, float *filterTargetRate, float *filterMinRate)
Parses a response from reading the IMU Rate Configuration register.
-
VnError VnUartPacket_genReadGpsSolutionLla(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the GPS Solution - LLA register on a VectorNav sensor.
-
void VnUartPacket_parseVNQTN(VnUartPacket *packet, vec4f *quaternion)
Parses a VNQTN asynchronous packet.
-
void VnUartPacket_parseVelocityCompensationStatusRaw(char *packet, float *x, float *xDot, vec3f *accelOffset, vec3f *omega)
Parses a response from reading the Velocity Compensation Status register.
-
void VnUartPacket_parseDeltaThetaAndDeltaVelocityConfiguration(VnUartPacket *packet, uint8_t *integrationFrame, uint8_t *gyroCompensation, uint8_t *accelCompensation, uint8_t *reserved1, uint16_t *reserved2)
Parses a response from reading the Delta Theta and Delta Velocity Configuration register.
-
VnError VnUartPacket_genReadAttitudeQuaternion(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Attitude Quaternion register on a VectorNav sensor.
-
void VnUartPacket_parseGpsCompassBaselineRaw(char *packet, vec3f *position, vec3f *uncertainty)
Parses a response from reading the GPS Compass Baseline register.
-
void VnUartPacket_parseInsAdvancedConfigurationRaw(char *packet, uint8_t *useMag, uint8_t *usePres, uint8_t *posAtt, uint8_t *velAtt, uint8_t *velBias, uint8_t *useFoam, uint8_t *gpsCovType, uint8_t *velCount, float *velInit, float *moveOrigin, float *gpsTimeout, float *deltaLimitPos, float *deltaLimitVel, float *minPosUncertainty, float *minVelUncertainty)
Parses a response from reading the INS Advanced Configuration register.
-
void VnUartPacket_parseImuRateConfigurationRaw(char *packet, uint16_t *imuRate, uint16_t *navDivisor, float *filterTargetRate, float *filterMinRate)
Parses a response from reading the IMU Rate Configuration register.
-
VnError VnUartPacket_genReadVelocityCompensationMeasurement(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Velocity Compensation Measurement register on a VectorNav sensor...
-
void VnUartPacket_parseGpsCompassEstimatedBaseline(VnUartPacket *packet, uint8_t *estBaselineUsed, uint8_t *resv, uint16_t *numMeas, vec3f *position, vec3f *uncertainty)
Parses a response from reading the GPS Compass Estimated Baseline register.
-
VnError VnUartPacket_genWriteGyroCompensation(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, mat3f c, vec3f b)
Generates a command to write to the Gyro Compensation register on a VectorNav sensor.
-
void VnUartPacket_parseMagneticAndGravityReferenceVectors(VnUartPacket *packet, vec3f *magRef, vec3f *accRef)
Parses a response from reading the Magnetic and Gravity Reference Vectors register.
-
void VnUartPacket_parseVNQMR(VnUartPacket *packet, vec4f *quaternion, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate)
Parses a VNQMR asynchronous packet.
-
VnError VnUartPacket_genCmdRestoreFactorySettings(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to restore the sensor to factory settings.
-
void VnUartPacket_parseVNYPR(VnUartPacket *packet, vec3f *yawPitchRoll)
Parses a VNYPR asynchronous packet.
-
void VnUartPacket_parseImuFilteringConfiguration(VnUartPacket *packet, uint16_t *magWindowSize, uint16_t *accelWindowSize, uint16_t *gyroWindowSize, uint16_t *tempWindowSize, uint16_t *presWindowSize, uint8_t *magFilterMode, uint8_t *accelFilterMode, uint8_t *gyroFilterMode, uint8_t *tempFilterMode, uint8_t *presFilterMode)
Parses a response from reading the IMU Filtering Configuration register.
-
void VnUartPacket_parseVNISL(VnUartPacket *packet, vec3f *ypr, vec3d *lla, vec3f *velocity, vec3f *acceleration, vec3f *angularRate)
Parse a VNISL asynchronous packet.
-
VnError VnUartPacket_genCmdSetGyroBias(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to set the gyro bias.
-
VnError VnUartPacket_genReadSerialBaudRate(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Serial Baud Rate register on a VectorNav sensor.
-
VnError VnUartPacket_genWriteImuFilteringConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint16_t magWindowSize, uint16_t accelWindowSize, uint16_t gyroWindowSize, uint16_t tempWindowSize, uint16_t presWindowSize, uint8_t magFilterMode, uint8_t accelFilterMode, uint8_t gyroFilterMode, uint8_t tempFilterMode, uint8_t presFilterMode)
Generates a command to write to the IMU Filtering Configuration register on a VectorNav sensor...
-
VnError VnUartPacket_genWriteReferenceFrameRotation(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, mat3f c)
Generates a command to write to the Reference Frame Rotation register on a VectorNav sensor...
-
VnError VnUartPacket_genCmdKnownMagneticDisturbance(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, bool disturbancePresent, size_t *cmdSize)
Generates a command to alert the sensor of a known magnetic disturbance.
-
void VnUartPacket_parseVNMAG(VnUartPacket *packet, vec3f *magnetic)
Parses a VNMAG asynchronous packet.
-
VnError VnUartPacket_genReadFirmwareVersion(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Firmware Version register on a VectorNav sensor.
-
void VnUartPacket_parseVNIMU(VnUartPacket *packet, vec3f *magneticUncompensated, vec3f *accelerationUncompensated, vec3f *angularRateUncompensated, float *temperature, float *pressure)
Parses a VNIMU asynchronous packet.
-
float VnUartPacket_extractFloat(VnUartPacket *packet)
Extracts a float data type from a binary packet and advances the next extraction point appropriately...
-
VnError VnUartPacket_genReadDeltaThetaAndDeltaVelocity(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Delta Theta and Delta Velocity register on a VectorNav sensor...
-
void VnUartPacket_parseStartupFilterBiasEstimateRaw(char *packet, vec3f *gyroBias, vec3f *accelBias, float *pressureBias)
Parses a response from reading the Startup Filter Bias Estimate register.
-
VnError VnUartPacket_genReadUserTag(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the User Tag register on a VectorNav sensor.
-
void VnUartPacket_parseVpeAccelerometerAdvancedTuningRaw(char *packet, vec3f *minFiltering, vec3f *maxFiltering, float *maxAdaptRate, float *disturbanceWindow, float *maxTuning)
Parses a response from reading the VPE Accelerometer Advanced Tuning register.
-
void VnUartPacket_parseImuMeasurements(VnUartPacket *packet, vec3f *mag, vec3f *accel, vec3f *gyro, float *temp, float *pressure)
Parses a response from reading the IMU Measurements register.
-
Represents a 3x3 matrix with an underlying data type of float.
Definition: matrix.h:11
-
void VnUartPacket_parseAccelerationMeasurementsRaw(char *packet, vec3f *accel)
Parses a response from reading the Acceleration Measurements register.
-
void VnUartPacket_parseAccelerationMeasurements(VnUartPacket *packet, vec3f *accel)
Parses a response from reading the Acceleration Measurements register.
-
VnError VnUartPacket_genWriteCommunicationProtocolControl(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint8_t serialCount, uint8_t serialStatus, uint8_t spiCount, uint8_t spiStatus, uint8_t serialChecksum, uint8_t spiChecksum, uint8_t errorMode)
Generates a command to write to the Communication Protocol Control register on a VectorNav sensor...
-
void VnUartPacket_parseFirmwareVersion(VnUartPacket *packet, char *firmwareVersion)
Parses a response from reading the Firmware Version register.
-
void VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRatesRaw(char *packet, vec3f *yawPitchRoll, vec3f *inertialAccel, vec3f *gyro)
Parses a response from reading the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates reg...
-
VnError VnUartPacket_genReadGpsCompassEstimatedBaseline(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the GPS Compass Estimated Baseline register on a VectorNav sensor...
-
VnError VnUartPacket_genReadInsBasicConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the INS Basic Configuration register on a VectorNav sensor.
-
VnError VnUartPacket_genReadReferenceVectorConfiguration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Reference Vector Configuration register on a VectorNav sensor...
-
void VnUartPacket_parseMagnetometerCompensationRaw(char *packet, mat3f *c, vec3f *b)
Parses a response from reading the Magnetometer Compensation register.
-
void VnUartPacket_parseGpsSolutionEcef(VnUartPacket *packet, double *tow, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *position, vec3f *velocity, vec3f *posAcc, float *speedAcc, float *timeAcc)
Parses a response from reading the GPS Solution - ECEF register.
-
VnError VnUartPacket_genWriteStartupFilterBiasEstimate(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f gyroBias, vec3f accelBias, float pressureBias)
Generates a command to write to the Startup Filter Bias Estimate register on a VectorNav sensor...
-
VnError VnUartPacket_genWriteAccelerationCompensation(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, mat3f c, vec3f b)
Generates a command to write to the Acceleration Compensation register on a VectorNav sensor...
-
void VnUartPacket_parseMagneticMeasurements(VnUartPacket *packet, vec3f *mag)
Parses a response from reading the Magnetic Measurements register.
-
uint64_t VnUartPacket_extractUint64(VnUartPacket *packet)
Extracts a uint64_t data type from a binary packet and advances the next extraction point appropriate...
-
VnError VnUartPacket_genReadVpeMagnetometerBasicTuning(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the VPE Magnetometer Basic Tuning register on a VectorNav sensor...
-
void VnUartPacket_parseYawPitchRollRaw(char *packet, vec3f *yawPitchRoll)
Parses a response from reading the Yaw Pitch Roll register.
-
void VnUartPacket_parseGpsSolutionLlaRaw(char *packet, double *time, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *lla, vec3f *nedVel, vec3f *nedAcc, float *speedAcc, float *timeAcc)
Parses a response from reading the GPS Solution - LLA register.
-
VnError VnUartPacket_genReadSerialNumber(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Serial Number register on a VectorNav sensor.
-
void VnUartPacket_parseVNYBA(VnUartPacket *packet, vec3f *yawPitchRoll, vec3f *accelerationBody, vec3f *angularRate)
Parses a VNYMR asynchronous packet.
-
VnError VnUartPacket_genReadCalculatedMagnetometerCalibration(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Calculated Magnetometer Calibration register on a VectorNav sensor...
-
void VnUartPacket_parseModelNumberRaw(char *packet, char *productName)
Parses a response from reading the Model Number register.
-
void VnUartPacket_parseFilterMeasurementsVarianceParameters(VnUartPacket *packet, float *angularWalkVariance, vec3f *angularRateVariance, vec3f *magneticVariance, vec3f *accelerationVariance)
Parses a response from reading the Filter Measurements Variance Parameters register.
-
void VnUartPacket_parseGyroCompensationRaw(char *packet, mat3f *c, vec3f *b)
Parses a response from reading the Gyro Compensation register.
-
vec4f VnUartPacket_extractVec4f(VnUartPacket *packet)
Extracts a vec4f data type from a binary packet and advances the next extraction point appropriately...
-
void VnUartPacket_parseVelocityCompensationMeasurementRaw(char *packet, vec3f *velocity)
Parses a response from reading the Velocity Compensation Measurement register.
-
void VnUartPacket_parseAttitudeQuaternionRaw(char *packet, vec4f *quat)
Parses a response from reading the Attitude Quaternion register.
-
void VnUartPacket_parseStartupFilterBiasEstimate(VnUartPacket *packet, vec3f *gyroBias, vec3f *accelBias, float *pressureBias)
Parses a response from reading the Startup Filter Bias Estimate register.
-
uint16_t VnUartPacket_extractUint16(VnUartPacket *packet)
Extracts a uint16_t data type from a binary packet and advances the next extraction point appropriate...
-
VnError VnUartPacket_genReadMagneticAndGravityReferenceVectors(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Magnetic and Gravity Reference Vectors register on a VectorNav sensor...
-
void VnUartPacket_parseInsStateEcefRaw(char *packet, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, vec3f *accel, vec3f *angularRate)
Parses a response from reading the INS State - ECEF register.
-
Various vector types and operations.
Definition: vector.h:14
-
void VnUartPacket_parseError(VnUartPacket *packet, uint8_t *error)
Parses an error packet to get the error type.
-
void VnUartPacket_parseDeltaThetaAndDeltaVelocityRaw(char *packet, float *deltaTime, vec3f *deltaTheta, vec3f *deltaVelocity)
Parses a response from reading the Delta Theta and Delta Velocity register.
-
void VnUartPacket_parseVpeGyroBasicTuningRaw(char *packet, vec3f *angularWalkVariance, vec3f *baseTuning, vec3f *adaptiveTuning)
Parses a response from reading the VPE Gyro Basic Tuning register.
-
void VnUartPacket_parseVpeMagnetometerAdvancedTuningRaw(char *packet, vec3f *minFiltering, vec3f *maxFiltering, float *maxAdaptRate, float *disturbanceWindow, float *maxTuning)
Parses a response from reading the VPE Magnetometer Advanced Tuning register.
-
void VnUartPacket_parseInsStateEcef(VnUartPacket *packet, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, vec3f *accel, vec3f *angularRate)
Parses a response from reading the INS State - ECEF register.
-
size_t curExtractLoc
Definition: upack.h:37
-
VnError VnUartPacket_genReadGpsSolutionEcef(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the GPS Solution - ECEF register on a VectorNav sensor.
-
void VnUartPacket_parseCommunicationProtocolControl(VnUartPacket *packet, uint8_t *serialCount, uint8_t *serialStatus, uint8_t *spiCount, uint8_t *spiStatus, uint8_t *serialChecksum, uint8_t *spiChecksum, uint8_t *errorMode)
Parses a response from reading the Communication Protocol Control register.
-
void VnUartPacket_parseHardwareRevision(VnUartPacket *packet, uint32_t *revision)
Parses a response from reading the Hardware Revision register.
-
void VnUartPacket_parseDeltaThetaAndDeltaVelocityConfigurationRaw(char *packet, uint8_t *integrationFrame, uint8_t *gyroCompensation, uint8_t *accelCompensation, uint8_t *reserved1, uint16_t *reserved2)
Parses a response from reading the Delta Theta and Delta Velocity Configuration register.
-
void VnUartPacket_parseSerialNumberRaw(char *packet, uint32_t *serialNum)
Parses a response from reading the Serial Number register.
-
void VnUartPacket_parseMagnetometerCompensation(VnUartPacket *packet, mat3f *c, vec3f *b)
Parses a response from reading the Magnetometer Compensation register.
-
void VnUartPacket_parseVNINS(VnUartPacket *packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *lla, vec3f *nedVel, float *attUncertainty, float *posUncertainty, float *velUncertainty)
Parses a VNINS asynchronous packet.
-
VnError VnUartPacket_genWriteBinaryOutput1(uint8_t *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, uint16_t asyncMode, uint16_t rateDivisor, uint16_t commonField, uint16_t timeField, uint16_t imuField, uint16_t gpsField, uint16_t attitudeField, uint16_t insField)
Generates a command to write to the Binary Output 1 register.
-
VnError VnUartPacket_genReadModelNumber(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize)
Generates a command to read the Model Number register on a VectorNav sensor.
-
VnError VnUartPacket_genWriteGpsAntennaOffset(char *buffer, size_t bufferSize, VnErrorDetectionMode errorDetectionMode, size_t *cmdSize, vec3f position)
Generates a command to write to the GPS Antenna Offset register on a VectorNav sensor.
-
size_t length
Definition: upack.h:40
-
void VnUartPacket_parseVpeMagnetometerBasicTuning(VnUartPacket *packet, vec3f *baseTuning, vec3f *adaptiveTuning, vec3f *adaptiveFiltering)
Parses a response from reading the VPE Magnetometer Basic Tuning register.
-
void VnUartPacket_parseModelNumber(VnUartPacket *packet, char *productName)
Parses a response from reading the Model Number register.
-
- - - - diff --git a/vnproglib/c/help/upackf_8h_source.html b/vnproglib/c/help/upackf_8h_source.html deleted file mode 100644 index 663aa38..0000000 --- a/vnproglib/c/help/upackf_8h_source.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - -VectorNav C Library: upackf.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
upackf.h
-
-
-
1 #ifndef VNUPACKF_H_INCLUDED
-
2 #define VNUPACKF_H_INCLUDED
-
3 
-
4 #include "vn/protocol/upack.h"
-
5 
-
6 /*#include "vnint.h"*/
-
7 /*#include "vnbool.h"*/
-
8 /*#include "vntypes.h"
-
9 #include "vnerror.h"*/
-
10 
-
11 
-
12 #ifndef VNUART_PROTOCOL_BUFFER_SIZE
-
13 
-
14  #define VNUART_PROTOCOL_BUFFER_SIZE 256
-
15 #endif
-
16 
-
17 #ifdef __cplusplus
-
18 extern "C" {
-
19 #endif
-
20 
-
24 typedef void(*VnUartPacketFinder_PacketFoundHandler)(void *userData, VnUartPacket* packet, size_t runningIndexOfPacketStart);
-
25 
-
26 #ifdef _WIN32
-
27 #pragma warning(push)
-
28 #pragma warning(disable : 4820)
-
29 #endif
-
30 
-
38 typedef struct
-
39 {
-
41  VnUartPacketFinder_PacketFoundHandler packetFoundHandler;
-
42 
- -
45 
- -
49 
- -
52 
- -
55 
- -
58 
- -
61 
- -
64 
- -
67 
-
69  size_t bufferSize;
-
70 
- -
73 
- -
77 
- -
80 
- -
84 
- -
87 
- -
91 
-
93  uint8_t receiveBuffer[VNUART_PROTOCOL_BUFFER_SIZE];
-
94 
- -
96 
-
97 #ifdef _WIN32
-
98 #pragma warning(pop)
-
99 #endif
-
100 
-
104 void VnUartPacketFinder_initialize(VnUartPacketFinder* pf);
-
105 
-
112 VnError VnUartPacketFinder_processData(VnUartPacketFinder* finder, uint8_t* data, size_t len);
-
113 
-
119 VnError VnUartPacketFinder_registerPacketFoundHandler(VnUartPacketFinder* finder, VnUartPacketFinder_PacketFoundHandler handler, void *userData);
-
120 
-
121 
-
122 #ifdef __cplusplus
-
123 }
-
124 #endif
-
125 
-
126 #endif
-
size_t binaryPossibleStartIndex
Start index of a possible binary packet.
Definition: upackf.h:86
-
Data structure holding current parsing status of data received from a VectorNav sensor.
Definition: upackf.h:38
-
bool asciiEndChar1Found
Indicates if the first ending character has been found.
Definition: upackf.h:60
-
bool binaryGroupsPresentFound
Indicates if we have found the groups present data field for a binary packet we are building...
Definition: upackf.h:76
-
Structure representing a UART packet received from a VectorNav sensor.
Definition: upack.h:34
-
size_t runningDataIndex
Used for correlating the position in the received raw data stream where packets are found...
Definition: upackf.h:48
-
VnUartPacketFinder_PacketFoundHandler packetFoundHandler
Callback for when a packet has been found and validated.
Definition: upackf.h:41
-
size_t asciiRunningDataIndexOfStart
Index of start of ASCII packet in total running index.
Definition: upackf.h:57
-
size_t bufferSize
Holds the size of the receive buffer.
Definition: upackf.h:69
-
bool asciiCurrentlyBuildingPacket
Indicates if an ASCII packet is currently being built.
Definition: upackf.h:51
-
size_t binaryNumberOfBytesRemainingForCompletePacket
Keeps track of the number of bytes remaining for a complete binary packet.
Definition: upackf.h:90
-
size_t binaryRunningDataIndexOfStart
Index of start of binary packet in total running index.
Definition: upackf.h:66
-
size_t bufferAppendLocation
The current location to append data into the buffer.
Definition: upackf.h:72
-
void * packetFoundHandlerUserData
User data for callbacks on the packetFoundHandler.
Definition: upackf.h:44
-
bool binaryCurrentlyBuildingBinaryPacket
Indicates if we are currently building a binary packet.
Definition: upackf.h:63
-
size_t asciiPossibleStartOfPacketIndex
Indicates a suspected start of an ASCII packet.
Definition: upackf.h:54
-
uint8_t binaryNumOfBytesRemainingToHaveAllGroupFields
Indicates the number of bytes remaining to have all group fields for a binary data packet we are proc...
Definition: upackf.h:83
-
uint8_t binaryGroupsPresent
The groups present found from a binary packet.
Definition: upackf.h:79
-
- - - - diff --git a/vnproglib/c/help/util_8h_source.html b/vnproglib/c/help/util_8h_source.html deleted file mode 100644 index 568ec86..0000000 --- a/vnproglib/c/help/util_8h_source.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - -VectorNav C Library: util.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
util.h
-
-
-
1 #ifndef VNUTIL_H_INCLUDED
-
2 #define VNUTIL_H_INCLUDED
-
3 
-
4 #include <stddef.h>
-
5 
-
6 #include "vn/int.h"
-
7 #include "vn/bool.h"
-
8 #include "vn/error.h"
-
9 #include "vn/math/matrix.h"
-
10 #include "vn/math/vector.h"
-
11 #include "vn/util/export.h"
-
12 
-
13 #ifdef __cplusplus
-
14 extern "C" {
-
15 #endif
-
16 
-
18 #define VNAPI_MAJOR 1
-
19 #define VNAPI_MINOR 1
-
20 #define VNAPI_PATCH 0
-
21 #define VNAPI_REVISION 126
-
22 
-
26 int VnApi_major(void);
-
27 
-
31 int VnApi_minor(void);
-
32 
-
36 int VnApi_patch(void);
-
37 
-
41 int VnApi_revision(void);
-
42 
-
48 VnError VnApi_getVersion(char *out, size_t outLength);
-
49 
-
55 uint8_t VnUtil_toUint8FromHexChar(char c);
-
56 
-
63 uint8_t VnUtil_toUint8FromHexStr(char const *str);
-
64 
-
71 uint16_t VnUtil_toUint16FromHexStr(char const *str);
-
72 
-
79 void VnUtil_toHexStrFromUint8(uint8_t toConvert, char *output);
-
80 
-
87 void VnUtil_toHexStrFromUint16(uint16_t toConvert, char *output);
-
88 
-
95 size_t VnUtil_toStrFromUint16(uint16_t toConvert, char *output);
-
96 
-
102 uint8_t DllExport VnUtil_countSetBitsUint8(uint8_t data);
-
103 
-
109 void strFromBool(char *out, bool val);
-
110 
-
121 uint16_t stoh16(uint16_t sensorOrdered);
-
122 
-
127 uint32_t stoh32(uint32_t sensorOrdered);
-
128 
-
133 uint64_t stoh64(uint64_t sensorOrdered);
-
134 
-
139 uint16_t htos16(uint16_t hostOrdered);
-
140 
-
145 uint32_t htos32(uint32_t hostOrdered);
-
146 
-
151 uint64_t htos64(uint64_t hostOrdered);
-
152 
-
157 float htosf4(float hostOrdered);
-
158 
-
163 double htosf8(double hostOrdered);
-
164 
-
180 uint16_t VnUtil_extractUint16(const char* pos);
-
181 
-
188 uint32_t VnUtil_extractUint32(const char* pos);
-
189 
-
196 float VnUtil_extractFloat(const char* pos);
-
197 
-
204 double VnUtil_extractDouble(const char* pos);
-
205 
-
206 /*#if THIS_SHOULD_BE_MOVED_TO_MATH_C_PACK*/
-
207 
-
214 vec3f VnUtil_extractVec3f(const char* pos);
-
215 
-
222 vec4f VnUtil_extractVec4f(const char* pos);
-
223 
-
230 vec3d VnUtil_extractVec3d(const char* pos);
-
231 
-
238 mat3f VnUtil_extractMat3f(const char* pos);
-
239 
-
240 /*#endif*/
-
241 
-
242 /* \} */
-
243 
-
244 #ifdef __cplusplus
-
245 }
-
246 #endif
-
247 
-
248 #endif
-
uint16_t htos16(uint16_t hostOrdered)
Converts a 16-bit integer in host order to sensor order.
-
uint32_t htos32(uint32_t hostOrdered)
Converts a 32-bit integer in host order to sensor order.
-
double htosf8(double hostOrdered)
Converts an 8-byte float in host order to sensor order.
-
uint16_t stoh16(uint16_t sensorOrdered)
Converts a 16-bit integer in sensor order to host order.
-
uint16_t VnUtil_extractUint16(const char *pos)
Extracts a uint16_t with appropriate byte reordering from the binary array received from a VectorNav ...
-
vec3d VnUtil_extractVec3d(const char *pos)
Extracts a vec3d with appropriate byte reordering from the binary array received from a VectorNav sen...
-
vec4f VnUtil_extractVec4f(const char *pos)
Extracts a vec4f with appropriate byte reordering from the binary array received from a VectorNav sen...
-
uint32_t stoh32(uint32_t sensorOrdered)
Converts a 32-bit integer in sensor order to host order.
-
double VnUtil_extractDouble(const char *pos)
Extracts a double with appropriate byte reordering from the binary array received from a VectorNav se...
-
uint64_t stoh64(uint64_t sensorOrdered)
Converts a 64-bit integer in sensor order to host order.
-
Represents a 4 component vector with an underlying data type of float.
Definition: vector.h:68
-
Represents a 3 component vector with an underlying data type of double.
Definition: vector.h:41
-
float VnUtil_extractFloat(const char *pos)
Extracts a float with appropriate byte reordering from the binary array received from a VectorNav sen...
-
float htosf4(float hostOrdered)
Converts a 4-byte float in host order to sensor order.
-
uint32_t VnUtil_extractUint32(const char *pos)
Extracts a uint32_t with appropriate byte reordering from the binary array received from a VectorNav ...
-
Represents a 3x3 matrix with an underlying data type of float.
Definition: matrix.h:11
-
vec3f VnUtil_extractVec3f(const char *pos)
Extracts a vec3f with appropriate byte reordering from the binary array received from a VectorNav sen...
-
mat3f VnUtil_extractMat3f(const char *pos)
Extracts a mat3f with appropriate byte reordering from the binary array received from a VectorNav sen...
-
uint64_t htos64(uint64_t hostOrdered)
Converts a 64-bit integer in host order to sensor order.
-
Various vector types and operations.
Definition: vector.h:14
-
- - - - diff --git a/vnproglib/c/help/vector_8h_source.html b/vnproglib/c/help/vector_8h_source.html deleted file mode 100644 index 44969ca..0000000 --- a/vnproglib/c/help/vector_8h_source.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - -VectorNav C Library: vector.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
vector.h
-
-
-
1 #ifndef VN_VECTOR_H_INCLUDED
-
2 #define VN_VECTOR_H_INCLUDED
-
3 
-
4 #include "vn/util/compiler.h"
-
5 
-
8 #ifdef __cplusplus
-
9 extern "C" {
-
10 #endif
-
11 
-
14 typedef union
-
15 {
-
16  float c[3];
-
18  /* Check if the compiler supports anonymous unions. */
-
19  #if defined(__STDC_VERSION___) && (__STDC_VERSION__ >= 201112L) && defined(__GNUC__)
-
20 
-
21  struct
-
22  {
-
23  float x;
-
24  float y;
-
25  float z;
-
26  };
-
27 
-
28  struct
-
29  {
-
30  float c0;
-
31  float c1;
-
32  float c2;
-
33  };
-
34 
-
35  #endif
-
36 
-
37 } vec3f;
-
38 
-
41 typedef union
-
42 {
-
43  double c[3];
-
45  /* Check if the compiler supports anonymous unions. */
-
46  #if defined(__STDC_VERSION___) && (__STDC_VERSION__ >= 201112L) && defined(__GNUC__)
-
47 
-
48  struct
-
49  {
-
50  double x;
-
51  double y;
-
52  double z;
-
53  };
-
54 
-
55  struct
-
56  {
-
57  double c0;
-
58  double c1;
-
59  double c2;
-
60  };
-
61 
-
62  #endif
-
63 
-
64 } vec3d;
-
65 
-
68 typedef union
-
69 {
-
70  float c[4];
-
72  /* Check if the compiler supports anonymous unions. */
-
73  #if (defined(__STDC_VERSION___) && (__STDC_VERSION__ >= 201112L)) && defined(__GNUC__)
-
74 
-
75  struct
-
76  {
-
77  float x;
-
78  float y;
-
79  float z;
-
80  float w;
-
81  };
-
82 
-
83  struct
-
84  {
-
85  float c0;
-
86  float c1;
-
87  float c2;
-
88  float c3;
-
89  };
-
90 
-
91  #endif
-
92 
-
93 } vec4f;
-
94 
-
99 void vn_v3_init_fa(vec3f* v, const float* fa);
-
100 
-
106 vec3d create_v3d(double x, double y, double z);
-
107 
-
113 vec3f add_v3f_v3f(vec3f lhs, vec3f rhs);
-
114 
-
120 vec3d add_v3d_v3d(vec3d lhs, vec3d rhs);
-
121 
-
127 vec4f add_v4f_v4f(vec4f lhs, vec4f rhs);
-
128 
-
134 vec3f sub_v3f_v3f(vec3f lhs, vec3f rhs);
-
135 
-
141 vec3d sub_v3d_v3d(vec3d lhs, vec3d rhs);
-
142 
-
148 vec4f sub_v4f_v4f(vec4f lhs, vec4f rhs);
-
149 
-
154 void str_vec3f(char* out, vec3f v);
-
155 
-
160 void str_vec3d(char* out, vec3d v);
-
161 
-
166 void str_vec4f(char* out, vec4f v);
-
167 
-
168 #ifdef __cplusplus
-
169 }
-
170 #endif
-
171 
-
172 #endif
-
Represents a 4 component vector with an underlying data type of float.
Definition: vector.h:68
-
Represents a 3 component vector with an underlying data type of double.
Definition: vector.h:41
-
Various vector types and operations.
Definition: vector.h:14
-
- - - - diff --git a/vnproglib/c/help/vectornav_8h_source.html b/vnproglib/c/help/vectornav_8h_source.html deleted file mode 100644 index 44b4922..0000000 --- a/vnproglib/c/help/vectornav_8h_source.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - -VectorNav C Library: vectornav.h Source File - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - - -
-
- - -
- -
- - -
-
-
-
vectornav.h
-
-
-
1 #ifndef VECTORNAV_H
-
2 #define VECTORNAV_H
-
3 
-
4 #include "vnbool.h"
-
5 #include "vnenum.h"
-
6 #include "vnutil.h"
-
7 #include "vnupackf.h"
-
8 
-
9 #endif
-
- - - - diff --git a/vnproglib/c/help/version_history.html b/vnproglib/c/help/version_history.html deleted file mode 100644 index caf2f1d..0000000 --- a/vnproglib/c/help/version_history.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - -VectorNav C Library: Version History - - - - - - - - - - -
-
- - - - - - - -
-
VectorNav C Library -
-
-
- - - - - -
-
- - -
- -
- -
-
-
-
Version History
-
-
-

The version history for the VectorNav C Library is listed here.

-

-1.1

-
    -
  • SPI support added
  • -
  • VnEzAsyncData structure added for easy communication with sensors.
  • -
-

-1.0

-
    -
  • First iteration of the library
  • -
  • UART protocol utilities for working with VectorNav sensors
      -
    • ASCII and binary protocols
    • -
    • VN-100, VN-200 and VN-300 sensors
    • -
    -
  • -
  • High-level VnSensor structure for communication with VectorNav sensors over serial ports
  • -
-
- - - - diff --git a/vnproglib/c/include/vn/bool.h b/vnproglib/c/include/vn/bool.h deleted file mode 100644 index faf5a5e..0000000 --- a/vnproglib/c/include/vn/bool.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef VNBOOL_H_INCLUDED -#define VNBOOL_H_INCLUDED - -/** \brief Boolean definition. */ - -#include "vn/util/compiler.h" -#include "vn/int.h" - -#if !defined(__cplusplus) - - #if VN_HAVE_STDBOOL_H - #include - #else - #if !defined(__GNUC__) - /* _Bool builtin type is included in GCC. */ - /* ISO C Standard: 5.2.5 An object declared as type _Bool is large - * enough to store the values 0 and 1. */ - typedef int8_t _Bool; - #endif - - /* ISO C Standard: 7.16 Boolean type */ - - #if defined(__STDC__) && defined(__GNUC__) - /* Avoid warning "ISO C90/89 does not support boolean types" */ - #define bool int8_t - #else - #define bool _Bool - #endif - - #define true 1 - #define false 0 - #define __bool_true_false_are_defined 1 - #endif - -#endif - -#endif diff --git a/vnproglib/c/include/vn/const.h b/vnproglib/c/include/vn/const.h deleted file mode 100644 index e130831..0000000 --- a/vnproglib/c/include/vn/const.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef __VNCONTS_H__ -#define __VNCONTS_H__ - -/** Pi in double format. */ -#define VNC_PI_D (3.141592653589793238) - -#endif diff --git a/vnproglib/c/include/vn/conv.h b/vnproglib/c/include/vn/conv.h deleted file mode 100644 index 21a5a76..0000000 --- a/vnproglib/c/include/vn/conv.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef __VNCONV_H__ -#define __VNCONV_H__ - -#include "vn/math/vector.h" - -/** Converts ECEF coordinate to LLA frame. - * \param[in] ecef Coordinate in ECEF frame. - * \return Coordinate converted to LLA frame. */ -vec3d ecef_to_lla_v3d(vec3d ecef); - -/** Converts LLA coordinate to ECEF frame. - * \param[in] lla Coordinate in LLA frame in (deg, deg, meter) units. - * \return Coordinate converted to ECEF frame in (km, km, km) units. */ -vec3d lla_to_ecef_v3d(vec3d lla); - -#endif diff --git a/vnproglib/c/include/vn/enum.h b/vnproglib/c/include/vn/enum.h deleted file mode 100644 index 617d88c..0000000 --- a/vnproglib/c/include/vn/enum.h +++ /dev/null @@ -1,670 +0,0 @@ -#ifndef VNENUM_H_INCLUDED -#define VNENUM_H_INCLUDED - -/** \brief The different types of UART packets. */ -typedef enum -{ - PACKETTYPE_BINARY, /**< Binary packet. */ - PACKETTYPE_ASCII, /**< ASCII packet. */ - PACKETTYPE_UNKNOWN /**< Unknown packet type. */ -} PacketType; - -/** \brief The available binary output groups. */ -typedef enum -{ - BINARYGROUPTYPE_COMMON = 0x01, /**< Common group. */ - BINARYGROUPTYPE_TIME = 0x02, /**< Time group. */ - BINARYGROUPTYPE_IMU = 0x04, /**< IMU group. */ - BINARYGROUPTYPE_GPS = 0x08, /**< GPS group. */ - BINARYGROUPTYPE_ATTITUDE = 0x10, /**< Attitude group. */ - BINARYGROUPTYPE_INS = 0x20, /**< INS group. */ - BINARYGROUPTYPE_GPS2 = 0x40 /**< GPS2 group. */ -} BinaryGroupType; - -/** \brief Async modes for the Binary Output registers. */ -typedef enum -{ - ASYNCMODE_NONE = 0, /**< None. */ - ASYNCMODE_PORT1 = 1, /**< Serial port 1. */ - ASYNCMODE_PORT2 = 2, /**< Serial port 2. */ - ASYNCMODE_BOTH = 3 /**< Both serial ports. */ -} AsyncMode; - -/** \brief Flags for the binary group 1 'Common' in the binary output registers. */ -typedef enum -{ - COMMONGROUP_NONE = 0x0000, /**< None. */ - COMMONGROUP_TIMESTARTUP = 0x0001, /**< TimeStartup. */ - COMMONGROUP_TIMEGPS = 0x0002, /**< TimeGps. */ - COMMONGROUP_TIMESYNCIN = 0x0004, /**< TimeSyncIn. */ - COMMONGROUP_YAWPITCHROLL = 0x0008, /**< YawPitchRoll. */ - COMMONGROUP_QUATERNION = 0x0010, /**< Quaternion. */ - COMMONGROUP_ANGULARRATE = 0x0020, /**< AngularRate. */ - COMMONGROUP_POSITION = 0x0040, /**< Position. */ - COMMONGROUP_VELOCITY = 0x0080, /**< Velocity. */ - COMMONGROUP_ACCEL = 0x0100, /**< Accel. */ - COMMONGROUP_IMU = 0x0200, /**< Imu. */ - COMMONGROUP_MAGPRES = 0x0400, /**< MagPres. */ - COMMONGROUP_DELTATHETA = 0x0800, /**< DeltaTheta. */ - COMMONGROUP_INSSTATUS = 0x1000, /**< InsStatus. */ - COMMONGROUP_SYNCINCNT = 0x2000, /**< SyncInCnt. */ - COMMONGROUP_TIMEGPSPPS = 0x4000 /**< TimeGpsPps. */ -} CommonGroup; - -/** \brief Flags for the binary group 2 'Time' in the binary output registers. */ -typedef enum -{ - TIMEGROUP_NONE = 0x0000, /**< None. */ - TIMEGROUP_TIMESTARTUP = 0x0001, /**< TimeStartup. */ - TIMEGROUP_TIMEGPS = 0x0002, /**< TimeGps. */ - TIMEGROUP_GPSTOW = 0x0004, /**< GpsTow. */ - TIMEGROUP_GPSWEEK = 0x0008, /**< GpsWeek. */ - TIMEGROUP_TIMESYNCIN = 0x0010, /**< TimeSyncIn. */ - TIMEGROUP_TIMEGPSPPS = 0x0020, /**< TimeGpsPps. */ - TIMEGROUP_TIMEUTC = 0x0040, /**< TimeUTC. */ - TIMEGROUP_SYNCINCNT = 0x0080, /**< SyncInCnt. */ - TIMEGROUP_SYNCOUTCNT = 0x0100, /**< SyncOutCnt. */ - TIMEGROUP_TIMESTATUS = 0x0200 /**< TimeStatus. */ -} TimeGroup; - -/** \brief Flags for the binary group 3 'IMU' in the binary output registers. */ -typedef enum -{ - IMUGROUP_NONE = 0x0000, /**< None. */ - IMUGROUP_IMUSTATUS = 0x0001, /**< ImuStatus. */ - IMUGROUP_UNCOMPMAG = 0x0002, /**< UncompMag. */ - IMUGROUP_UNCOMPACCEL = 0x0004, /**< UncompAccel. */ - IMUGROUP_UNCOMPGYRO = 0x0008, /**< UncompGyro. */ - IMUGROUP_TEMP = 0x0010, /**< Temp. */ - IMUGROUP_PRES = 0x0020, /**< Pres. */ - IMUGROUP_DELTATHETA = 0x0040, /**< DeltaTheta. */ - IMUGROUP_DELTAVEL = 0x0080, /**< DeltaVel. */ - IMUGROUP_MAG = 0x0100, /**< Mag. */ - IMUGROUP_ACCEL = 0x0200, /**< Accel. */ - IMUGROUP_ANGULARRATE = 0x0400, /**< AngularRate. */ - IMUGROUP_SENSSAT = 0x0800 /**< SensSat. */ - #ifdef EXTRA - , - IMUGROUP_RAW = 0x1000 /**< Raw. */ - #endif -} ImuGroup; - -/** \brief Flags for the binary group 4 'GPS' in the binary output registers. */ -typedef enum -{ - GPSGROUP_NONE = 0x0000, /**< None. */ - GPSGROUP_UTC = 0x0001, /**< UTC. */ - GPSGROUP_TOW = 0x0002, /**< Tow. */ - GPSGROUP_WEEK = 0x0004, /**< Week. */ - GPSGROUP_NUMSATS = 0x0008, /**< NumSats. */ - GPSGROUP_FIX = 0x0010, /**< Fix. */ - GPSGROUP_POSLLA = 0x0020, /**< PosLla. */ - GPSGROUP_POSECEF = 0x0040, /**< PosEcef. */ - GPSGROUP_VELNED = 0x0080, /**< VelNed. */ - GPSGROUP_VELECEF = 0x0100, /**< VelEcef. */ - GPSGROUP_POSU = 0x0200, /**< PosU. */ - GPSGROUP_VELU = 0x0400, /**< VelU. */ - GPSGROUP_TIMEU = 0x0800, /**< TimeU. */ - GPSGROUP_TIMEINFO = 0x1000, /**< TimeInfo. */ - GPSGROUP_DOP = 0x2000 /**< DOP. */ - - #ifdef EXTRA - , - GPSGROUP_SVSTAT = 0x1000 /**< SvStat. */ - #endif -} GpsGroup; - -/** \brief Flags for the binary group 5 'Attitude' in the binary output registers. */ -typedef enum -{ - ATTITUDEGROUP_NONE = 0x0000, /**< None. */ - ATTITUDEGROUP_VPESTATUS = 0x0001, /**< VpeStatus. */ - ATTITUDEGROUP_YAWPITCHROLL = 0x0002, /**< YawPitchRoll. */ - ATTITUDEGROUP_QUATERNION = 0x0004, /**< Quaternion. */ - ATTITUDEGROUP_DCM = 0x0008, /**< DCM. */ - ATTITUDEGROUP_MAGNED = 0x0010, /**< MagNed. */ - ATTITUDEGROUP_ACCELNED = 0x0020, /**< AccelNed. */ - ATTITUDEGROUP_LINEARACCELBODY = 0x0040, /**< LinearAccelBody. */ - ATTITUDEGROUP_LINEARACCELNED = 0x0080, /**< LinearAccelNed. */ - ATTITUDEGROUP_YPRU = 0x0100 /**< YprU. */ - #ifdef EXTRA - , - ATTITUDEGROUP_YPRRATE = 0x0200, /**< YprRate. */ - ATTITUDEGROUP_STATEAHRS = 0x0400, /**< StateAhrs. */ - ATTITUDEGROUP_COVAHRS = 0x0800 /**< CovAhrs. */ - #endif -} AttitudeGroup; - -/** \brief Flags for the binary group 6 'INS' in the binary output registers. */ -typedef enum -{ - INSGROUP_NONE = 0x0000, /**< None. */ - INSGROUP_INSSTATUS = 0x0001, /**< InsStatus. */ - INSGROUP_POSLLA = 0x0002, /**< PosLla. */ - INSGROUP_POSECEF = 0x0004, /**< PosEcef. */ - INSGROUP_VELBODY = 0x0008, /**< VelBody. */ - INSGROUP_VELNED = 0x0010, /**< VelNed. */ - INSGROUP_VELECEF = 0x0020, /**< VelEcef. */ - INSGROUP_MAGECEF = 0x0040, /**< MagEcef. */ - INSGROUP_ACCELECEF = 0x0080, /**< AccelEcef. */ - INSGROUP_LINEARACCELECEF = 0x0100, /**< LinearAccelEcef. */ - INSGROUP_POSU = 0x0200, /**< PosU. */ - INSGROUP_VELU = 0x0400 /**< VelU. */ - #ifdef EXTRA - , - INSGROUP_STATEINS = 0x0800, /**< StateIns. */ - INSGROUP_COVINS = 0x1000 /**< CovIns. */ - #endif -} InsGroup; - -/** \brief Enumeration of the velocity types */ -typedef enum -{ - CDVEL_None, - CDVEL_GpsNed, - CDVEL_GpsEcef, - CDVEL_EstimatedNed, - CDVEL_EstimatedEcef, - CDVEL_EstimatedBody -} VelocityType; - -/** \brief Errors that the VectorNav sensor can report. */ -typedef enum -{ - ERR_HARD_FAULT = 1, /**< Hard fault. */ - ERR_SERIAL_BUFFER_OVERFLOW = 2, /**< Serial buffer overflow. */ - ERR_INVALID_CHECKSUM = 3, /**< Invalid checksum. */ - ERR_INVALID_COMMAND = 4, /**< Invalid command. */ - ERR_NOT_ENOUGH_PARAMETERS = 5, /**< Not enough parameters. */ - ERR_TOO_MANY_PARAMETERS = 6, /**< Too many parameters. */ - ERR_INVALID_PARAMETER = 7, /**< Invalid parameter. */ - ERR_INVALID_REGISTER = 8, /**< Invalid register. */ - ERR_UNAUTHORIZED_ACCESS = 9, /**< Unauthorized access. */ - ERR_WATCHDOG_RESET = 10, /**< Watchdog reset. */ - ERR_OUTPUT_BUFFER_OVERFLOW = 11, /**< Output buffer overflow. */ - ERR_INSUFFICIENT_BAUD_RATE = 12, /**< Insufficient baud rate. */ - ERR_ERROR_BUFFER_OVERFLOW = 255 /**< Error buffer overflow. */ -} SensorError; - -/** \brief Enumeration of the various error messages used by the library. */ -typedef enum -{ - /** Indicates there were no errors encountered. */ - E_NONE, - - /** Indicates an unknown error occurred. */ - E_UNKNOWN, - - /** Indicates a provided buffer was too small to complete the action. */ - E_BUFFER_TOO_SMALL, - - /** Indicates a provided value is not valid. */ - E_INVALID_VALUE, - - /** Indicates the requested functionality is currently not implemented. */ - E_NOT_IMPLEMENTED, - - /** Indicates the requested functionality is not supported. */ - E_NOT_SUPPORTED, - - /** Indicates the requested item was not found. */ - E_NOT_FOUND, - - /** Indicates the operation timed out. */ - E_TIMEOUT, - - /** Indicates insufficient permission to perform the operation. */ - E_PERMISSION_DENIED, - - /** Indicates an invalid operation was attempted. */ - E_INVALID_OPERATION, - - /** Indicates an event was signaled. */ - E_SIGNALED, - - /** Indicates either not enough memory is available or no memory was allocated */ - E_MEMORY_NOT_ALLOCATED, - - /** VectorNav sensor hard fault (Code 1). */ - E_SENSOR_HARD_FAULT = 1001, - - /** VectorNav sensor serial buffer overflow (Code 2). */ - E_SENSOR_SERIAL_BUFFER_OVERFLOW = 1002, - - /** VectorNav sensor invalid checksum (Code 3). */ - E_SENSOR_INVALID_CHECKSUM = 1003, - - /** VectorNav sensor invalid command (Code 4). */ - E_SENSOR_INVALID_COMMAND = 1004, - - /** VectorNav sensor not enough parameters (Code 5). */ - E_SENSOR_NOT_ENOUGH_PARAMETERS = 1005, - - /** VectorNav sensor too many parameters (Code 6). */ - E_SENSOR_TOO_MANY_PARAMETERS = 1006, - - /** VectorNav sensor invalid parameter (Code 7). */ - E_SENSOR_INVALID_PARAMETER = 1007, - - /** VectorNav sensor invalid register (Code 8). */ - E_SENSOR_INVALID_REGISTER = 1008, - - /** VectorNav sensor unauthorized access (Code 9). */ - E_SENSOR_UNAUTHORIZED_ACCESS = 1009, - - /** VectorNav sensor watchdog reset (Code 10). */ - E_SENSOR_WATCHDOG_RESET = 1010, - - /** VectorNav sensor output buffer overflow (Code 11). */ - E_SENSOR_OUTPUT_BUFFER_OVERFLOW = 1011, - - /** VectorNav sensor insufficient baud rate (Code 12). */ - E_SENSOR_INSUFFICIENT_BAUD_RATE = 1012, - - /** VectorNav sensor error buffer overflow (Code 13). */ - E_SENSOR_ERROR_BUFFER_OVERFLOW = 1013, - - E_DATA_NOT_ELLIPTICAL = 2001, /**< \brief Data set not elliptical. */ - E_ILL_CONDITIONED = 2002, /**< \brief Algorithm had a bad condition. */ - E_EXCEEDED_MAX_ITERATIONS = 2003, /**< \brief Algorithm exceeded the number of interations it is allowed. */ - E_BAD_FINAL_INTERATION = 2004, /**< \brief Algorithm's last interation changed exceeded threshold. */ - E_INSUFFICIENT_DATA = 2005, /**< \brief Not enough data points were provided. */ - - /** \brief Errors that the VectorNav bootload can report. */ - E_BOOTLOADER_NONE = 3000, /**< No Error, send next record*/ - E_BOOTLOADER_INVALID_COMMAND = 3001, /**< Problem with VNX record, abort */ - E_BOOTLOADER_INVALID_RECORD_TYPE = 3002, /**< Problem with VNX record, abort */ - E_BOOTLOADER_INVALID_BYTE_COUNT = 3003, /**< Problem with VNX record, abort */ - E_BOOTLOADER_INVALID_MEMORY_ADDRESS = 3004, /**< Problem with VNX record, abort */ - E_BOOTLOADER_COMM_ERROR = 3005, /**< Checksum error, resend record */ - E_BOOTLOADER_INVALID_HEX_FILE = 3006, /**< Problem with VNX record, abort */ - E_BOOTLOADER_DECRYPTION_ERROR = 3007, /**< Invalid VNX file or record sent out of order, abort */ - E_BOOTLOADER_INVALID_BLOCK_CRC = 3008, /**< Data verification failed, abort */ - E_BOOTLOADER_INVALID_PROGRAM_CRC = 3009, /**< Problemw ith firmware on device */ - E_BOOTLOADER_INVALID_PROGRAM_SIZE = 3010, /**< Problemw ith firmware on device */ - E_BOOTLOADER_MAX_RETRY_COUNT = 3011, /**< Too many errors, abort */ - E_BOOTLOADER_TIMEOUT = 3012, /**< Timeout expired, reset */ - E_BOOTLOADER_RESERVED = 3013 /**< Contact VectorNav, abort */ - -} VnError; - -/** \brief Enumeration of the various error-detection algorithms used by the - * library. */ -typedef enum -{ - /** Signifies no error-detection should be performed. */ - VNERRORDETECTIONMODE_NONE, - - /** Signifies to use 8-bit XOR checksum. */ - VNERRORDETECTIONMODE_CHECKSUM, - - /** Signifies to use CRC16-CCITT algorithm. */ - VNERRORDETECTIONMODE_CRC - -} VnErrorDetectionMode; - -/** \brief Different modes for the SyncInMode field of the Synchronization Control register. */ -typedef enum -{ - #ifdef EXTRA - /** \brief Count the number of trigger events on SYNC_IN_2 pin. - / * \deprecated This option is obsolete for VN-100 firmware version 2.0 and greater and VN-200 firmware version 1.0 and greater. - */ - VNSYNCINMODE_COUNT2 = 0, - /** \brief Start ADC sampling on trigger of SYNC_IN_2 pin. - / * \deprecated This option is obsolete for VN-100 firmware version 2.0 and greater and VN-200 firmware version 1.0 and greater. - */ - VNSYNCINMODE_ADC2 = 1, - /** \brief Output asynchronous message on trigger of SYNC_IN_2 pin. - / * \deprecated This option is obsolete for VN-100 firmware version 2.0 and greater and VN-200 firmware version 1.0 and greater. - */ - VNSYNCINMODE_ASYNC2 = 2, - #endif - /** \brief Count number of trigger events on SYNC_IN pin. - */ - VNSYNCINMODE_COUNT = 3, - /** \brief Start IMU sampling on trigger of SYNC_IN pin. - */ - VNSYNCINMODE_IMU = 4, - /** \brief Output asynchronous message on trigger of SYNC_IN pin. - */ - VNSYNCINMODE_ASYNC = 5 -} VnSyncInMode; - -/** \brief Different modes for the SyncInEdge field of the Synchronization Control register. */ -typedef enum -{ - /** \brief Trigger on the rising edge on the SYNC_IN pin. - */ - VNSYNCINEDGE_RISING = 0, - /** \brief Trigger on the falling edge on the SYNC_IN pin. - */ - VNSYNCINEDGE_FALLING = 1 -} VnSyncInEdge; - -/** \brief Different modes for the SyncOutMode field of the Synchronization Control register. */ -typedef enum -{ - /** \brief None. - */ - VNSYNCOUTMODE_NONE = 0, - /** \brief Trigger at start of IMU sampling. - */ - VNSYNCOUTMODE_ITEMSTART = 1, - /** \brief Trigger when IMU measurements are available. - */ - VNSYNCOUTMODE_IMUREADY = 2, - /** \brief Trigger when attitude measurements are available. - */ - VNSYNCOUTMODE_INS = 3, - /** \brief Trigger on GPS PPS event when a 3D fix is valid. - */ - VNSYNCOUTMODE_GPSPPS = 6 -} VnSyncOutMode; - -/** \brief Different modes for the SyncOutPolarity field of the Synchronization Control register. */ -typedef enum -{ - /** \brief Negative pulse. - */ - VNSYNCOUTPOLARITY_NEGATIVE = 0, - /** \brief Positive pulse. - */ - VNSYNCOUTPOLARITY_POSITIVE = 1 -} VnSyncOutPolarity; - -/** \brief Counting modes for the Communication Protocol Control register. */ -typedef enum -{ - /** \brief Off. - */ - VNCOUNTMODE_NONE = 0, - /** \brief SyncIn counter. - */ - VNCOUNTMODE_SYNCINCOUNT = 1, - /** \brief SyncIn time. - */ - VNCOUNTMODE_SYNCINTIME = 2, - /** \brief SyncOut counter. - */ - VNCOUNTMODE_SYNCOUTCOUNTER = 3, - /** \brief GPS PPS time. - */ - VNCOUNTMODE_GPSPPS = 4 -} VnCountMode; - -/** \brief Status modes for the Communication Protocol Control register. */ -typedef enum -{ - /** \brief Off. - */ - VNSTATUSMODE_OFF = 0, - /** \brief VPE status. - */ - VNSTATUSMODE_VPESTATUS = 1, - /** \brief INS status. - */ - VNSTATUSMODE_INSSTATUS = 2 -} VnStatusMode; - -/** \brief Checksum modes for the Communication Protocol Control register. */ -typedef enum -{ - /** \brief Off. - */ - VNCHECKSUMMODE_OFF = 0, - /** \brief 8-bit checksum. - */ - VNCHECKSUMMODE_CHECKSUM = 1, - /** \brief 16-bit CRC. - */ - VNCHECKSUMMODE_CRC = 2 -} VnChecksumMode; - -/** \brief Error modes for the Communication Protocol Control register. */ -typedef enum -{ - /** \brief Ignore error. - */ - VNERRORMODE_IGNORE = 0, - /** \brief Send error. - */ - VNERRORMODE_SEND = 1, - /** \brief Send error and set ADOR register to off. - */ - VNERRORMODE_SENDANDOFF = 2 -} VnErrorMode; - -/** \brief Filter modes for the IMU Filtering Configuration register. */ -typedef enum -{ - /** \brief No filtering. - */ - VNFILTERMODE_NOFILTERING = 0, - /** \brief Filtering performed only on raw uncompensated IMU measurements. - */ - VNFILTERMODE_ONLYRAW = 1, - /** \brief Filtering performed only on compensated IMU measurements. - */ - VNFILTERMODE_ONLYCOMPENSATED = 2, - /** \brief Filtering performed on both uncompensated and compensated IMU measurements. - */ - VNFILTERMODE_BOTH = 3 -} VnFilterMode; - -/** \brief Integration frames for the Delta Theta and Delta Velocity Configuration register. */ -typedef enum -{ - /** \brief Body frame. - */ - VNINTEGRATIONFRAME_BODY = 0, - /** \brief NED frame. - */ - VNINTEGRATIONFRAME_NED = 1 -} VnIntegrationFrame; - -/** \brief Compensation modes for the Delta Theta and Delta Velocity configuration register. */ -typedef enum -{ - /** \brief None. - */ - VNCOMPENSATIONMODE_NONE = 0, - /** \brief Bias. - */ - VNCOMPENSATIONMODE_BIAS = 1 -} VnCompensationMode; - -/** \brief GPS fix modes for the GPS Solution - LLA register. */ -typedef enum -{ - /** \brief No fix. - */ - VNGPSFIX_NOFIX = 0, - /** \brief Time only. - */ - VNGPSFIX_TIMEONLY = 1, - /** \brief 2D. - */ - VNGPSFIX_2D = 2, - /** \brief 3D. - */ - VNGPSFIX_3D = 3 -} VnGpsFix; - -/** \brief GPS modes for the GPS Configuration register. */ -typedef enum -{ - /** \brief Use onboard GPS. - */ - VNGPSMODE_ONBOARDGPS = 0, - /** \brief Use external GPS. - */ - VNGPSMODE_EXTERNALGPS = 1, - /** \brief Use external VN-200 as GPS. - */ - VNGPSMODE_EXTERNALVN200GPS = 2 -} VnGpsMode; - -/** \brief GPS PPS mode for the GPS Configuration register. */ -typedef enum -{ - /** \brief GPS PPS signal on GPS_PPS pin and triggered on rising edge. - */ - VNPPSSOURCE_GPSPPSRISING = 0, - /** \brief GPS PPS signal on GPS_PPS pin and triggered on falling edge. - */ - VNPPSSOURCE_GPSPPSFALLING = 1, - /** \brief GPS PPS signal on SyncIn pin and triggered on rising edge. - */ - VNPPSSOURCE_SYNCINRISING = 2, - /** \brief GPS PPS signal on SyncIn pin and triggered on falling edge. - */ - VNPPSSOURCE_SYNCINFALLING = 3 -} VnPpsSource; - -/** \brief VPE Enable mode for the VPE Basic Control register. */ -typedef enum -{ - /** \brief Disable - */ - VNVPEENABLE_DISABLE = 0, - /** \brief Enable - */ - VNVPEENABLE_ENABLE = 1 -} VnVpeEnable; - -/** \brief VPE Heading modes used by the VPE Basic Control register. */ -typedef enum -{ - /** \brief Absolute heading. - */ - VNHEADINGMODE_ABSOLUTE = 0, - /** \brief Relative heading. - */ - VNHEADINGMODE_RELATIVE = 1, - /** \brief Indoor heading. - */ - VNHEADINGMODE_INDOOR = 2 -} VnHeadingMode; - -/** \brief VPE modes for the VPE Basic Control register. */ -typedef enum -{ - /** \brief Off. - */ - VNVPEMODE_OFF = 0, - /** \brief Mode 1. - */ - VNVPEMODE_MODE1 = 1 -} VnVpeMode; - -/** \brief Different scenario modes for the INS Basic Configuration register. */ -typedef enum -{ - /** \brief AHRS. - */ - VNSCENARIO_AHRS = 0, - /** \brief General purpose INS with barometric pressure sensor. - */ - VNSCENARIO_INSWITHPRESSURE = 1, - /** \brief General purpose INS without barometric pressure sensor. - */ - VNSCENARIO_INSWITHOUTPRESSURE = 2, - /** \brief GPS moving baseline for dynamic applications. - */ - VNSCENARIO_GPSMOVINGBASELINEDYNAMIC = 3, - /** \brief GPS moving baseline for static applications. - */ - VNSCENARIO_GPSMOVINGBASELINESTATIC = 4 -} VnScenario; - -/** \brief HSI modes used for the Magnetometer Calibration Control register. */ -typedef enum -{ - /** \brief Real-time hard/soft iron calibration algorithm is turned off. - */ - VNHSIMODE_OFF = 0, - /** \brief Runs the real-time hard/soft iron calibration algorithm. - */ - VNHSIMODE_RUN = 1, - /** \brief Resets the real-time hard/soft iron solution. - */ - VNHSIMODE_RESET = 2 -} VnHsiMode; - -/** \brief HSI output types for the Magnetometer Calibration Control register. */ -typedef enum -{ - /** \brief Onboard HSI is not applied to the magnetic measurements. - */ - VNHSIOUTPUT_NOONBOARD = 1, - /** \brief Onboard HSI is applied to the magnetic measurements. - */ - VNHSIOUTPUT_USEONBOARD = 3 -} VnHsiOutput; - -/** \brief Type of velocity compensation performed by the VPE. */ -typedef enum -{ - /** \brief Disabled - */ - VNVELOCITYCOMPENSATIONMODE_DISABLED = 0, - /** \brief Body Measurement - */ - VNVELOCITYCOMPENSATIONMODE_BODYMEASUREMENT = 1 -} VnVelocityCompensationMode; - -/** \brief How the magnetometer is used by the filter. */ -typedef enum -{ - /** \brief Magnetometer will only affect heading. - */ - VNMAGNETICMODE_2D = 0, - /** \brief Magnetometer will affect heading, pitch, and roll. - */ - VNMAGNETICMODE_3D = 1 -} VnMagneticMode; - -/** \brief Source for magnetometer used by the filter. */ -typedef enum -{ - /** \brief Use internal magnetometer. - */ - VNEXTERNALSENSORMODE_INTERNAL = 0, - /** \brief Use external magnetometer. Will use measurement at every new time step. - */ - VNEXTERNALSENSORMODE_EXTERNAL200HZ = 1, - /** \brief Use external magnetometer. Will only use when the measurement is updated. - */ - VNEXTERNALSENSORMODE_EXTERNALONUPDATE = 2 -} VnExternalSensorMode; - -/** \brief Options for the use of FOAM. */ -typedef enum -{ - /** \brief FOAM is not used. - */ - VNFOAMINIT_NOFOAMINIT = 0, - /** \brief FOAM is used to initialize only pitch and roll. - */ - VNFOAMINIT_FOAMINITPITCHROLL = 1, - /** \brief FOAM is used to initialize heading, pitch and roll. - */ - VNFOAMINIT_FOAMINITHEADINGPITCHROLL = 2, - /** \brief FOAM is used to initialize pitch, roll and covariance. - */ - VNFOAMINIT_FOAMINITPITCHROLLCOVARIANCE = 3, - /** \brief FOAM is used to initialize heading, pitch, roll and covariance - */ - VNFOAMINIT_FOAMINITHEADINGPITCHROLLCOVARIANCE = 4 -} VnFoamInit; - -/** \brief The different types of processors. */ -typedef enum -{ - VNPROCESSOR_NAV, /**< Navigation Processor. */ - VNPROCESSOR_GPS, /**< GPS Processor. */ - VNPROCESSOR_IMU /**< IMU Processor. */ -} VnProcessorType; - -#endif \ No newline at end of file diff --git a/vnproglib/c/include/vn/error.h b/vnproglib/c/include/vn/error.h deleted file mode 100644 index de0da32..0000000 --- a/vnproglib/c/include/vn/error.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef VN_ERROR_H_INCLUDED -#define VN_ERROR_H_INCLUDED - -#include "vn/enum.h" - -/** \brief Unified error code system. */ - -/** \brief Converts a VnError enum into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The VnError value to convert to string. */ -void strFromVnError(char* out, VnError val); - -#endif diff --git a/vnproglib/c/include/vn/error_detection.h b/vnproglib/c/include/vn/error_detection.h deleted file mode 100644 index db2a9f6..0000000 --- a/vnproglib/c/include/vn/error_detection.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef VNERRDET_H_INCLUDED -#define VNERRDET_H_INCLUDED - -/** \brief Error-detection capabilities. */ - -#include "vn/enum.h" -#include "vn/int.h" -#include "vn/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** \brief Computes the 8-bit XOR checksum of the provided data. - * - * \param[in] data Pointer to the start of data to perform the checksum of. - * \param[in] length The number of bytes to include in the checksum. - * \return The computed checksum. - */ -uint8_t VnChecksum8_compute(char const *data, size_t length); - -/** \brief Computes the 16-bit CRC16-CCITT of the provided data. - * - * \param[in] data Pointer to the start of data to perform the CRC of. - * \param[in] length The number of bytes to include in the CRC. - * \return The computed CRC. - */ -uint16_t VnCrc16_compute(char const *data, size_t length); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vnproglib/c/include/vn/int.h b/vnproglib/c/include/vn/int.h deleted file mode 100644 index c58b350..0000000 --- a/vnproglib/c/include/vn/int.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef VNINT_H_INCLUDED -#define VNINT_H_INCLUDED - -#ifdef _WIN32 -#pragma warning(push) -#pragma warning(disable : 4820) -#pragma warning(disable : 4255) -#endif - -/* Visual Studio 2008 and earlier do not include the stdint.h header file. */ -#if defined(_MSC_VER) && _MSC_VER <= 1500 - typedef signed __int8 int8_t; - typedef signed __int16 int16_t; - typedef signed __int32 int32_t; - typedef signed __int64 int64_t; - typedef unsigned __int8 uint8_t; - typedef unsigned __int16 uint16_t; - typedef unsigned __int32 uint32_t; - typedef unsigned __int64 uint64_t; -#else - /* Just include the standard header file for integer types. */ - #include -#endif - -#ifdef _WIN32 -#pragma warning(pop) -#endif - -#endif diff --git a/vnproglib/c/include/vn/math/matrix.h b/vnproglib/c/include/vn/math/matrix.h deleted file mode 100644 index eccdd10..0000000 --- a/vnproglib/c/include/vn/math/matrix.h +++ /dev/null @@ -1,87 +0,0 @@ -#ifndef VN_MATRIX_H_INCLUDED -#define VN_MATRIX_H_INCLUDED - -#include "vn/util/compiler.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** \brief Represents a 3x3 matrix with an underlying data type of float. */ -typedef union -{ - float e[3*3]; /**< The matrix's elements in column-major ordering. */ - - /* Check if the compiler supports anonymous unions. */ - #if defined(__STDC_VERSION___) && (__STDC_VERSION__ >= 201112L) && defined(__GNUC__) - - struct - { - float e00; /**< Element [0,0]. */ - float e10; /**< Element [1,0]. */ - float e20; /**< Element [2,0]. */ - float e01; /**< Element [0,1]. */ - float e11; /**< Element [1,1]. */ - float e21; /**< Element [2,1]. */ - float e02; /**< Element [0,2]. */ - float e12; /**< Element [1,2]. */ - float e22; /**< Element [2,2]. */ - }; - - #endif - -} mat3f; - -/** \brief Represents a quaternion reading with underlying data type of float. */ -typedef union -{ - float c[4]; /**< Indexable. */ - - /* Check if the compiler supports anonymous unions. */ - #if defined(__STDC_VERSION___) && (__STDC_VERSION__ >= 201112L) && defined(__GNUC__) - - struct - { - float x; /**< The x component. */ - float y; /**< The y component. */ - float z; /**< The z component. */ - float w; /**< The w component. */ - }; - - struct - { - float c0; /**< Component 0. */ - float c1; /**< Component 1. */ - float c2; /**< Component 2. */ - float c3; /**< Component 2. */ - }; - - #endif - -} quatf; - -/** \brief Initializes a 3x3 float matrix from an float array with matrix - * elements in column-major ordering. - * - * \param[out] m 3x3 float matrix to initialize - * \param[in] fa float array containing a 3x3 matrix in column-major order */ -void vn_m3_init_fa(mat3f* m, const float* fa); - -/** \brief Converts a mat3f to a string. -* -* \param[out] out The char buffer to output the result to. -* \param[in] m The mat3f to convert. -*/ -void strFromMat3f(char* out, mat3f m); - -/** \brief Negates a mat3f. -* \param[in] m Matrix to negate. -* \return Negated matrix. */ -mat3f vnm_negative_mat3f(mat3f m); - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/vnproglib/c/include/vn/math/vector.h b/vnproglib/c/include/vn/math/vector.h deleted file mode 100644 index f04d811..0000000 --- a/vnproglib/c/include/vn/math/vector.h +++ /dev/null @@ -1,172 +0,0 @@ -#ifndef VN_VECTOR_H_INCLUDED -#define VN_VECTOR_H_INCLUDED - -#include "vn/util/compiler.h" - -/** \brief Various vector types and operations. */ - -#ifdef __cplusplus -extern "C" { -#endif - -/** \brief Represents a 3 component vector with an underlying data type of -* float. */ -typedef union -{ - float c[3]; /**< Indexable. */ - - /* Check if the compiler supports anonymous unions. */ - #if defined(__STDC_VERSION___) && (__STDC_VERSION__ >= 201112L) && defined(__GNUC__) - - struct - { - float x; /**< X component. */ - float y; /**< Y component. */ - float z; /**< Z component. */ - }; - - struct - { - float c0; /**< Component 0. */ - float c1; /**< Component 1. */ - float c2; /**< Component 2. */ - }; - - #endif - -} vec3f; - -/** \brief Represents a 3 component vector with an underlying data type of -* double. */ -typedef union -{ - double c[3]; /**< Indexable. */ - - /* Check if the compiler supports anonymous unions. */ - #if defined(__STDC_VERSION___) && (__STDC_VERSION__ >= 201112L) && defined(__GNUC__) - - struct - { - double x; /**< The x component. */ - double y; /**< The y component. */ - double z; /**< The z component. */ - }; - - struct - { - double c0; /**< Component 0. */ - double c1; /**< Component 1. */ - double c2; /**< Component 2. */ - }; - - #endif - -} vec3d; - -/** \brief Represents a 4 component vector with an underlying data type of -* float. */ -typedef union -{ - float c[4]; /**< Indexable. */ - - /* Check if the compiler supports anonymous unions. */ - #if (defined(__STDC_VERSION___) && (__STDC_VERSION__ >= 201112L)) && defined(__GNUC__) - - struct - { - float x; /**< The x component. */ - float y; /**< The y component. */ - float z; /**< The z component. */ - float w; /**< The w component. */ - }; - - struct - { - float c0; /**< Component 0. */ - float c1; /**< Component 1. */ - float c2; /**< Component 2. */ - float c3; /**< Component 2. */ - }; - - #endif - -} vec4f; - -/** \brief Initializes a 3-dimensional float vector from an float array. - * - * \param[out] v 3-dimensional float vector to initialize - * \param[in] fa float array a 3-componet vector */ -void vn_v3_init_fa(vec3f* v, const float* fa); - -/** Creates a vec3d initialized with provided values. - * \param[in] x x-component. - * \param[in] y y-component. - * \param[in] z z-component. - * \return The initialized vec3d. */ -vec3d create_v3d(double x, double y, double z); - -/** \brief Adds two vec3f together. -* -* \param[in] lhs The lhs vec3f. -* \param[in] rhs The rhs vec3f. -* \return The resulting vec3f from adding lhs and rhs together. */ -vec3f add_v3f_v3f(vec3f lhs, vec3f rhs); - -/** \brief Adds two vec3d together. -* -* \param[in] lhs The lhs vec3d. -* \param[in] rhs The rhs vec3d. -* \return The resulting vec3d from adding lhs and rhs together. */ -vec3d add_v3d_v3d(vec3d lhs, vec3d rhs); - -/** \brief Adds two vec4f together. -* -* \param[in] lhs The lhs vec4f. -* \param[in] rhs The rhs vec4f. -* \return The resulting vec4f from adding lhs and rhs together. */ -vec4f add_v4f_v4f(vec4f lhs, vec4f rhs); - -/** \brief Subtracts a vec3f from another vec3f. -* -* \param[in] lhs The lhs vec3f. -* \param[in] rhs The rhs vec3f. -* \return The resulting vec3f from subtracting rhs from lhs. */ -vec3f sub_v3f_v3f(vec3f lhs, vec3f rhs); - -/** \brief Subtracts a vec3d from another vec3d. -* -* \param[in] lhs The lhs vec3d. -* \param[in] rhs The rhs vec3d. -* \return The resulting vec3d from subtracting rhs from lhs. */ -vec3d sub_v3d_v3d(vec3d lhs, vec3d rhs); - -/** \brief Subtracts a vec4f from another vec4f. -* -* \param[in] lhs The lhs vec4f. -* \param[in] rhs The rhs vec4f. -* \return The resulting vec4f from subtracting rhs from lhs. */ -vec4f sub_v4f_v4f(vec4f lhs, vec4f rhs); - -/** \brief Converts a vec3f to a string. - * - * \param[out] out The char buffer to output the result to. - * \param[in] v The vec3f to convert. */ -void str_vec3f(char* out, vec3f v); - -/** \brief Converts a vec3d to a string. -* -* \param[out] out The char buffer to output the result to. -* \param[in] v The vec3d to convert. */ -void str_vec3d(char* out, vec3d v); - -/** \brief Converts a vec4f to a string. -* -* \param[out] out The char buffer to output the result to. -* \param[in] v The vec4f to convert. */ -void str_vec4f(char* out, vec4f v); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vnproglib/c/include/vn/protocol/common.h b/vnproglib/c/include/vn/protocol/common.h deleted file mode 100644 index 5a3026c..0000000 --- a/vnproglib/c/include/vn/protocol/common.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef _VNCOMMON_H_ -#define _VNCOMMON_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -/** \brief Enumeration of the available asynchronous ASCII message types. */ -typedef enum -{ - VNOFF = 0, /**< Asynchronous output is turned off. */ - VNYPR = 1, /**< Asynchronous output type is Yaw, Pitch, Roll. */ - VNQTN = 2, /**< Asynchronous output type is Quaternion. */ - #ifdef EXTRA - VNQTM = 3, /**< Asynchronous output type is Quaternion and Magnetic. */ - VNQTA = 4, /**< Asynchronous output type is Quaternion and Acceleration. */ - VNQTR = 5, /**< Asynchronous output type is Quaternion and Angular Rates. */ - VNQMA = 6, /**< Asynchronous output type is Quaternion, Magnetic and Acceleration. */ - VNQAR = 7, /**< Asynchronous output type is Quaternion, Acceleration and Angular Rates. */ - #endif - VNQMR = 8, /**< Asynchronous output type is Quaternion, Magnetic, Acceleration and Angular Rates. */ - #ifdef EXTRA - VNDCM = 9, /**< Asynchronous output type is Directional Cosine Orientation Matrix. */ - #endif - VNMAG = 10, /**< Asynchronous output type is Magnetic Measurements. */ - VNACC = 11, /**< Asynchronous output type is Acceleration Measurements. */ - VNGYR = 12, /**< Asynchronous output type is Angular Rate Measurements. */ - VNMAR = 13, /**< Asynchronous output type is Magnetic, Acceleration, and Angular Rate Measurements. */ - VNYMR = 14, /**< Asynchronous output type is Yaw, Pitch, Roll, Magnetic, Acceleration, and Angular Rate Measurements. */ - #ifdef EXTRA - VNYCM = 15, /**< Asynchronous output type is Yaw, Pitch, Roll, and Calibrated Measurements. */ - #endif - VNYBA = 16, /**< Asynchronous output type is Yaw, Pitch, Roll, Body True Acceleration. */ - VNYIA = 17, /**< Asynchronous output type is Yaw, Pitch, Roll, Inertial True Acceleration. */ - #ifdef EXTRA - VNICM = 18, /**< Asynchronous output type is Yaw, Pitch, Roll, Inertial Magnetic/Acceleration, and Angular Rate Measurements. */ - #endif - VNIMU = 19, /**< Asynchronous output type is Calibrated Inertial Measurements. */ - VNGPS = 20, /**< Asynchronous output type is GPS LLA. */ - VNGPE = 21, /**< Asynchronous output type is GPS ECEF. */ - VNINS = 22, /**< Asynchronous output type is INS LLA solution. */ - VNINE = 23, /**< Asynchronous output type is INS ECEF solution. */ - VNISL = 28, /**< Asynchronous output type is INS LLA 2 solution. */ - VNISE = 29, /**< Asynchronous output type is INS ECEF 2 solution. */ - VNDTV = 30, /**< Asynchronous output type is Delta Theta and Delta Velocity. */ - VNRTK = 31 /**< Asynchronous output type is RTK, from the GPS processor. */ - #ifdef EXTRA - , - VNRAW = 252, /**< Asynchronous output type is Raw Voltage Measurements. */ - VNCMV = 253, /**< Asynchronous output type is Calibrated Measurements. */ - VNSTV = 254, /**< Asynchronous output type is Kalman Filter State Vector. */ - VNCOV = 255 /**< Asynchronous output type is Kalman Filter Covariance Matrix Diagonal. */ - #endif -} VnAsciiAsync; - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vnproglib/c/include/vn/protocol/spi.h b/vnproglib/c/include/vn/protocol/spi.h deleted file mode 100644 index 91f333b..0000000 --- a/vnproglib/c/include/vn/protocol/spi.h +++ /dev/null @@ -1,2481 +0,0 @@ -#ifndef _VNSPI_H_ -#define _VNSPI_H_ - -#include - -#include "vn/int.h" -#include "vn/error.h" -#include "vn/math/vector.h" -#include "vn/math/matrix.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** \brief Generates a command to write settings. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in/out] size Number of bytes available in the buffer.Will contain on output the number of bytes in the command to send. -* \param[in] desiredLength The total number of bytes to pad with 0x00 should -* the total constructed length of the command be less than the -* desiredLength.This is useful back - to - back command where the -* desiredLength will be the responseSize of the previous command sent. -* \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. -* \return Indicates any errors encountered. */ -VnError VnSpi_genWriteSettings( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to restore factory settings. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in/out] size Number of bytes available in the buffer.Will contain on output the number of bytes in the command to send. -* \param[in] desiredLength The total number of bytes to pad with 0x00 should -* the total constructed length of the command be less than the -* desiredLength.This is useful back - to - back command where the -* desiredLength will be the responseSize of the previous command sent. -* \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. -* \return Indicates any errors encountered. */ -VnError VnSpi_genRestorFactorySettings( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to tare the sensor. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in/out] size Number of bytes available in the buffer.Will contain on output the number of bytes in the command to send. -* \param[in] desiredLength The total number of bytes to pad with 0x00 should -* the total constructed length of the command be less than the -* desiredLength.This is useful back - to - back command where the -* desiredLength will be the responseSize of the previous command sent. -* \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. -* \return Indicates any errors encountered. */ -VnError VnSpi_genTare( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to reset the sensor. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in/out] size Number of bytes available in the buffer.Will contain on output the number of bytes in the command to send. -* \param[in] desiredLength The total number of bytes to pad with 0x00 should -* the total constructed length of the command be less than the -* desiredLength.This is useful back - to - back command where the -* desiredLength will be the responseSize of the previous command sent. -* \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. -* \return Indicates any errors encountered. */ -VnError VnSpi_genReset( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generic function for making register read commands. -* -* \param[out] buffer Caller provided buffer to place the generated command. -* \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. -* \param[in] regId The register ID to generate the read command for. -* \param[in] desiredLength The total number of bytes to pad with 0x00 should -* the total constructed length of the command be less than the -* desiredLength. This is useful back-to-back command where the -* desiredLength will be the responseSize of the previous command sent. -* \return Indicates any error encountered. */ -VnError VnSpi_genRead( - char* buffer, - size_t* size, - uint8_t regId, - size_t desiredLength); - -/** \brief Parses a response from reading the User Tag register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] tag The register's Tag field. -* \param[in] tagLength The number of bytes available in the buffer tag. -* \return Indicates any error encountered. */ -VnError VnSpi_parseUserTag( - const char* response, - char* tag, - size_t tagLength); - -/** \brief Parses a response from reading the Model Number register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] productName The register's Product Name field. -* \param[in] productNameLength The number of bytes available in the buffer productName. -* \return Indicates any error encountered. */ -VnError VnSpi_parseModelNumber( - const char* response, - char* productName, - size_t productNameLength); - -/** \brief Parses a response from reading the Hardware Revision register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] revision The register's Revision field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseHardwareRevision( - const char* response, - uint32_t* revision); - -/** \brief Parses a response from reading the Serial Number register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] serialNum The register's SerialNum field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseSerialNumber( - const char* response, - uint32_t* serialNum); - -/** \brief Parses a response from reading the Firmware Version register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] firmwareVersion The register's Firmware Version field. -* \param[in] firmwareVersionLength The number of bytes available in the buffer firmwareVersion. -* \return Indicates any error encountered. */ -VnError VnSpi_parseFirmwareVersion( - const char* response, - char* firmwareVersion, - size_t firmwareVersionLength); - -/** \brief Parses a response from reading the Serial Baud Rate register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] baudrate The register's Baud Rate field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseSerialBaudRate( - const char* response, - uint32_t* baudrate); - -/** \brief Parses a response from reading the Async Data Output Type register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] ador The register's ADOR field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseAsyncDataOutputType( - const char* response, - uint32_t* ador); - -/** \brief Parses a response from reading the Async Data Output Frequency register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] adof The register's ADOF field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseAsyncDataOutputFrequency( - const char* response, - uint32_t* adof); - -/** \brief Parses a response from reading the Yaw Pitch Roll register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] yawPitchRoll The register's YawPitchRoll field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseYawPitchRoll( - const char* response, - vec3f* yawPitchRoll); - -/** \brief Parses a response from reading the Attitude Quaternion register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] quat The register's Quat field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseAttitudeQuaternion( - const char* response, - vec4f* quat); - -/** \brief Parses a response from reading the Quaternion, Magnetic, Acceleration and Angular Rates register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] quat The register's Quat field. -* \param[out] mag The register's Mag field. -* \param[out] accel The register's Accel field. -* \param[out] gyro The register's Gyro field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseQuaternionMagneticAccelerationAndAngularRates( - const char* response, - vec4f* quat, - vec3f* mag, - vec3f* accel, - vec3f* gyro); - -/** \brief Parses a response from reading the Magnetic Measurements register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] mag The register's Mag field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseMagneticMeasurements( - const char* response, - vec3f* mag); - -/** \brief Parses a response from reading the Acceleration Measurements register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] accel The register's Accel field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseAccelerationMeasurements( - const char* response, - vec3f* accel); - -/** \brief Parses a response from reading the Angular Rate Measurements register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] gyro The register's Gyro field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseAngularRateMeasurements( - const char* response, - vec3f* gyro); - -/** \brief Parses a response from reading the Magnetic, Acceleration and Angular Rates register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] mag The register's Mag field. -* \param[out] accel The register's Accel field. -* \param[out] gyro The register's Gyro field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseMagneticAccelerationAndAngularRates( - const char* response, - vec3f* mag, - vec3f* accel, - vec3f* gyro); - -/** \brief Parses a response from reading the Magnetic and Gravity Reference Vectors register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] magRef The register's MagRef field. -* \param[out] accRef The register's AccRef field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseMagneticAndGravityReferenceVectors( - const char* response, - vec3f* magRef, - vec3f* accRef); - -/** \brief Parses a response from reading the Filter Measurements Variance Parameters register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] angularWalkVariance The register's Angular Walk Variance field. -* \param[out] angularRateVariance The register's Angular Rate Variance field. -* \param[out] magneticVariance The register's Magnetic Variance field. -* \param[out] accelerationVariance The register's Acceleration Variance field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseFilterMeasurementsVarianceParameters( - const char* response, - float* angularWalkVariance, - vec3f* angularRateVariance, - vec3f* magneticVariance, - vec3f* accelerationVariance); - -/** \brief Parses a response from reading the Magnetometer Compensation register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] c The register's C field. -* \param[out] b The register's B field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseMagnetometerCompensation( - const char* response, - mat3f* c, - vec3f* b); - -/** \brief Parses a response from reading the Filter Active Tuning Parameters register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] magneticDisturbanceGain The register's Magnetic Disturbance Gain field. -* \param[out] accelerationDisturbanceGain The register's Acceleration Disturbance Gain field. -* \param[out] magneticDisturbanceMemory The register's Magnetic Disturbance Memory field. -* \param[out] accelerationDisturbanceMemory The register's Acceleration Disturbance Memory field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseFilterActiveTuningParameters( - const char* response, - float* magneticDisturbanceGain, - float* accelerationDisturbanceGain, - float* magneticDisturbanceMemory, - float* accelerationDisturbanceMemory); - -/** \brief Parses a response from reading the Acceleration Compensation register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] c The register's C field. -* \param[out] b The register's B field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseAccelerationCompensation( - const char* response, - mat3f* c, - vec3f* b); - -/** \brief Parses a response from reading the Reference Frame Rotation register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] c The register's C field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseReferenceFrameRotation( - const char* response, - mat3f* c); - -/** \brief Parses a response from reading the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] yawPitchRoll The register's YawPitchRoll field. -* \param[out] mag The register's Mag field. -* \param[out] accel The register's Accel field. -* \param[out] gyro The register's Gyro field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseYawPitchRollMagneticAccelerationAndAngularRates( - const char* response, - vec3f* yawPitchRoll, - vec3f* mag, - vec3f* accel, - vec3f* gyro); - -/** \brief Parses a response from reading the Communication Protocol Control register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] serialCount The register's SerialCount field. -* \param[out] serialStatus The register's SerialStatus field. -* \param[out] spiCount The register's SPICount field. -* \param[out] spiStatus The register's SPIStatus field. -* \param[out] serialChecksum The register's SerialChecksum field. -* \param[out] spiChecksum The register's SPIChecksum field. -* \param[out] errorMode The register's ErrorMode field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseCommunicationProtocolControl( - const char* response, - uint8_t* serialCount, - uint8_t* serialStatus, - uint8_t* spiCount, - uint8_t* spiStatus, - uint8_t* serialChecksum, - uint8_t* spiChecksum, - uint8_t* errorMode); - -/** \brief Parses a response from reading the Synchronization Control register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] syncInMode The register's SyncInMode field. -* \param[out] syncInEdge The register's SyncInEdge field. -* \param[out] syncInSkipFactor The register's SyncInSkipFactor field. -* \param[out] reserved1 The register's RESERVED1 field. -* \param[out] syncOutMode The register's SyncOutMode field. -* \param[out] syncOutPolarity The register's SyncOutPolarity field. -* \param[out] syncOutSkipFactor The register's SyncOutSkipFactor field. -* \param[out] syncOutPulseWidth The register's SyncOutPulseWidth field. -* \param[out] reserved2 The register's RESERVED2 field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseSynchronizationControl( - const char* response, - uint8_t* syncInMode, - uint8_t* syncInEdge, - uint16_t* syncInSkipFactor, - uint32_t* reserved1, - uint8_t* syncOutMode, - uint8_t* syncOutPolarity, - uint16_t* syncOutSkipFactor, - uint32_t* syncOutPulseWidth, - uint32_t* reserved2); - -/** \brief Parses a response from reading the Synchronization Status register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] syncInCount The register's SyncInCount field. -* \param[out] syncInTime The register's SyncInTime field. -* \param[out] syncOutCount The register's SyncOutCount field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseSynchronizationStatus( - const char* response, - uint32_t* syncInCount, - uint32_t* syncInTime, - uint32_t* syncOutCount); - -/** \brief Parses a response from reading the Filter Basic Control register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] magMode The register's MagMode field. -* \param[out] extMagMode The register's ExtMagMode field. -* \param[out] extAccMode The register's ExtAccMode field. -* \param[out] extGyroMode The register's ExtGyroMode field. -* \param[out] gyroLimit The register's GyroLimit field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseFilterBasicControl( - const char* response, - uint8_t* magMode, - uint8_t* extMagMode, - uint8_t* extAccMode, - uint8_t* extGyroMode, - vec3f* gyroLimit); - -/** \brief Parses a response from reading the VPE Basic Control register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] enable The register's Enable field. -* \param[out] headingMode The register's HeadingMode field. -* \param[out] filteringMode The register's FilteringMode field. -* \param[out] tuningMode The register's TuningMode field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseVpeBasicControl( - const char* response, - uint8_t* enable, - uint8_t* headingMode, - uint8_t* filteringMode, - uint8_t* tuningMode); - -/** \brief Parses a response from reading the VPE Magnetometer Basic Tuning register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] baseTuning The register's BaseTuning field. -* \param[out] adaptiveTuning The register's AdaptiveTuning field. -* \param[out] adaptiveFiltering The register's AdaptiveFiltering field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseVpeMagnetometerBasicTuning( - const char* response, - vec3f* baseTuning, - vec3f* adaptiveTuning, - vec3f* adaptiveFiltering); - -/** \brief Parses a response from reading the VPE Magnetometer Advanced Tuning register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] minFiltering The register's MinFiltering field. -* \param[out] maxFiltering The register's MaxFiltering field. -* \param[out] maxAdaptRate The register's MaxAdaptRate field. -* \param[out] disturbanceWindow The register's DisturbanceWindow field. -* \param[out] maxTuning The register's MaxTuning field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseVpeMagnetometerAdvancedTuning( - const char* response, - vec3f* minFiltering, - vec3f* maxFiltering, - float* maxAdaptRate, - float* disturbanceWindow, - float* maxTuning); - -/** \brief Parses a response from reading the VPE Accelerometer Basic Tuning register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] baseTuning The register's BaseTuning field. -* \param[out] adaptiveTuning The register's AdaptiveTuning field. -* \param[out] adaptiveFiltering The register's AdaptiveFiltering field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseVpeAccelerometerBasicTuning( - const char* response, - vec3f* baseTuning, - vec3f* adaptiveTuning, - vec3f* adaptiveFiltering); - -/** \brief Parses a response from reading the VPE Accelerometer Advanced Tuning register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] minFiltering The register's MinFiltering field. -* \param[out] maxFiltering The register's MaxFiltering field. -* \param[out] maxAdaptRate The register's MaxAdaptRate field. -* \param[out] disturbanceWindow The register's DisturbanceWindow field. -* \param[out] maxTuning The register's MaxTuning field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseVpeAccelerometerAdvancedTuning( - const char* response, - vec3f* minFiltering, - vec3f* maxFiltering, - float* maxAdaptRate, - float* disturbanceWindow, - float* maxTuning); - -/** \brief Parses a response from reading the VPE Gyro Basic Tuning register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] angularWalkVariance The register's AngularWalkVariance field. -* \param[out] baseTuning The register's BaseTuning field. -* \param[out] adaptiveTuning The register's AdaptiveTuning field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseVpeGyroBasicTuning( - const char* response, - vec3f* angularWalkVariance, - vec3f* baseTuning, - vec3f* adaptiveTuning); - -/** \brief Parses a response from reading the Filter Startup Gyro Bias register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] bias The register's Bias field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseFilterStartupGyroBias( - const char* response, - vec3f* bias); - -/** \brief Parses a response from reading the Magnetometer Calibration Control register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] hsiMode The register's HSIMode field. -* \param[out] hsiOutput The register's HSIOutput field. -* \param[out] convergeRate The register's ConvergeRate field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseMagnetometerCalibrationControl( - const char* response, - uint8_t* hsiMode, - uint8_t* hsiOutput, - uint8_t* convergeRate); - -/** \brief Parses a response from reading the Calculated Magnetometer Calibration register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] c The register's C field. -* \param[out] b The register's B field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseCalculatedMagnetometerCalibration( - const char* response, - mat3f* c, - vec3f* b); - -/** \brief Parses a response from reading the Indoor Heading Mode Control register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] maxRateError The register's Max Rate Error field. -* \param[out] reserved1 The register's Reserved1 field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseIndoorHeadingModeControl( - const char* response, - float* maxRateError, - uint8_t* reserved1); - -/** \brief Parses a response from reading the Velocity Compensation Measurement register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] velocity The register's Velocity field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseVelocityCompensationMeasurement( - const char* response, - vec3f* velocity); - -/** \brief Parses a response from reading the Velocity Compensation Control register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] mode The register's Mode field. -* \param[out] velocityTuning The register's VelocityTuning field. -* \param[out] rateTuning The register's RateTuning field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseVelocityCompensationControl( - const char* response, - uint8_t* mode, - float* velocityTuning, - float* rateTuning); - -/** \brief Parses a response from reading the Velocity Compensation Status register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] x The register's x field. -* \param[out] xDot The register's xDot field. -* \param[out] accelOffset The register's accelOffset field. -* \param[out] omega The register's omega field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseVelocityCompensationStatus( - const char* response, - float* x, - float* xDot, - vec3f* accelOffset, - vec3f* omega); - -/** \brief Parses a response from reading the IMU Measurements register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] mag The register's Mag field. -* \param[out] accel The register's Accel field. -* \param[out] gyro The register's Gyro field. -* \param[out] temp The register's Temp field. -* \param[out] pressure The register's Pressure field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseImuMeasurements( - const char* response, - vec3f* mag, - vec3f* accel, - vec3f* gyro, - float* temp, - float* pressure); - -/** \brief Parses a response from reading the GPS Configuration register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] mode The register's Mode field. -* \param[out] ppsSource The register's PpsSource field. -* \param[out] reserved1 The register's Reserved1 field. -* \param[out] reserved2 The register's Reserved2 field. -* \param[out] reserved3 The register's Reserved3 field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseGpsConfiguration( - const char* response, - uint8_t* mode, - uint8_t* ppsSource, - uint8_t* reserved1, - uint8_t* reserved2, - uint8_t* reserved3); - -/** \brief Parses a response from reading the GPS Antenna Offset register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] position The register's Position field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseGpsAntennaOffset( - const char* response, - vec3f* position); - -/** \brief Parses a response from reading the GPS Solution - LLA register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] time The register's Time field. -* \param[out] week The register's Week field. -* \param[out] gpsFix The register's GpsFix field. -* \param[out] numSats The register's NumSats field. -* \param[out] lla The register's Lla field. -* \param[out] nedVel The register's NedVel field. -* \param[out] nedAcc The register's NedAcc field. -* \param[out] speedAcc The register's SpeedAcc field. -* \param[out] timeAcc The register's TimeAcc field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseGpsSolutionLla( - const char* response, - double* time, - uint16_t* week, - uint8_t* gpsFix, - uint8_t* numSats, - vec3d* lla, - vec3f* nedVel, - vec3f* nedAcc, - float* speedAcc, - float* timeAcc); - -/** \brief Parses a response from reading the GPS Solution - ECEF register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] tow The register's Tow field. -* \param[out] week The register's Week field. -* \param[out] gpsFix The register's GpsFix field. -* \param[out] numSats The register's NumSats field. -* \param[out] position The register's Position field. -* \param[out] velocity The register's Velocity field. -* \param[out] posAcc The register's PosAcc field. -* \param[out] speedAcc The register's SpeedAcc field. -* \param[out] timeAcc The register's TimeAcc field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseGpsSolutionEcef( - const char* response, - double* tow, - uint16_t* week, - uint8_t* gpsFix, - uint8_t* numSats, - vec3d* position, - vec3f* velocity, - vec3f* posAcc, - float* speedAcc, - float* timeAcc); - -/** \brief Parses a response from reading the INS Solution - LLA register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] time The register's Time field. -* \param[out] week The register's Week field. -* \param[out] status The register's Status field. -* \param[out] yawPitchRoll The register's YawPitchRoll field. -* \param[out] position The register's Position field. -* \param[out] nedVel The register's NedVel field. -* \param[out] attUncertainty The register's AttUncertainty field. -* \param[out] posUncertainty The register's PosUncertainty field. -* \param[out] velUncertainty The register's VelUncertainty field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseInsSolutionLla( - const char* response, - double* time, - uint16_t* week, - uint16_t* status, - vec3f* yawPitchRoll, - vec3d* position, - vec3f* nedVel, - float* attUncertainty, - float* posUncertainty, - float* velUncertainty); - -/** \brief Parses a response from reading the INS Solution - ECEF register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] time The register's Time field. -* \param[out] week The register's Week field. -* \param[out] status The register's Status field. -* \param[out] yawPitchRoll The register's YawPitchRoll field. -* \param[out] position The register's Position field. -* \param[out] velocity The register's Velocity field. -* \param[out] attUncertainty The register's AttUncertainty field. -* \param[out] posUncertainty The register's PosUncertainty field. -* \param[out] velUncertainty The register's VelUncertainty field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseInsSolutionEcef( - const char* response, - double* time, - uint16_t* week, - uint16_t* status, - vec3f* yawPitchRoll, - vec3d* position, - vec3f* velocity, - float* attUncertainty, - float* posUncertainty, - float* velUncertainty); - -/** \brief Parses a response from reading the INS Basic Configuration register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] scenario The register's Scenario field. -* \param[out] ahrsAiding The register's AhrsAiding field. -* \param[out] estBaseline The register's EstBaseline field. -* \param[out] resv2 The register's Resv2 field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseInsBasicConfiguration( - const char* response, - uint8_t* scenario, - uint8_t* ahrsAiding, - uint8_t* estBaseline, - uint8_t* resv2); - -/** \brief Parses a response from reading the INS Advanced Configuration register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] useMag The register's UseMag field. -* \param[out] usePres The register's UsePres field. -* \param[out] posAtt The register's PosAtt field. -* \param[out] velAtt The register's VelAtt field. -* \param[out] velBias The register's VelBias field. -* \param[out] useFoam The register's UseFoam field. -* \param[out] gpsCovType The register's GPSCovType field. -* \param[out] velCount The register's VelCount field. -* \param[out] velInit The register's VelInit field. -* \param[out] moveOrigin The register's MoveOrigin field. -* \param[out] gpsTimeout The register's GPSTimeout field. -* \param[out] deltaLimitPos The register's DeltaLimitPos field. -* \param[out] deltaLimitVel The register's DeltaLimitVel field. -* \param[out] minPosUncertainty The register's MinPosUncertainty field. -* \param[out] minVelUncertainty The register's MinVelUncertainty field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseInsAdvancedConfiguration( - const char* response, - uint8_t* useMag, - uint8_t* usePres, - uint8_t* posAtt, - uint8_t* velAtt, - uint8_t* velBias, - uint8_t* useFoam, - uint8_t* gpsCovType, - uint8_t* velCount, - float* velInit, - float* moveOrigin, - float* gpsTimeout, - float* deltaLimitPos, - float* deltaLimitVel, - float* minPosUncertainty, - float* minVelUncertainty); - -/** \brief Parses a response from reading the INS State - LLA register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] yawPitchRoll The register's YawPitchRoll field. -* \param[out] position The register's Position field. -* \param[out] velocity The register's Velocity field. -* \param[out] accel The register's Accel field. -* \param[out] angularRate The register's AngularRate field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseInsStateLla( - const char* response, - vec3f* yawPitchRoll, - vec3d* position, - vec3f* velocity, - vec3f* accel, - vec3f* angularRate); - -/** \brief Parses a response from reading the INS State - ECEF register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] yawPitchRoll The register's YawPitchRoll field. -* \param[out] position The register's Position field. -* \param[out] velocity The register's Velocity field. -* \param[out] accel The register's Accel field. -* \param[out] angularRate The register's AngularRate field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseInsStateEcef( - const char* response, - vec3f* yawPitchRoll, - vec3d* position, - vec3f* velocity, - vec3f* accel, - vec3f* angularRate); - -/** \brief Parses a response from reading the Startup Filter Bias Estimate register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] gyroBias The register's GyroBias field. -* \param[out] accelBias The register's AccelBias field. -* \param[out] pressureBias The register's PressureBias field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseStartupFilterBiasEstimate( - const char* response, - vec3f* gyroBias, - vec3f* accelBias, - float* pressureBias); - -/** \brief Parses a response from reading the Delta Theta and Delta Velocity register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] deltaTime The register's DeltaTime field. -* \param[out] deltaTheta The register's DeltaTheta field. -* \param[out] deltaVelocity The register's DeltaVelocity field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseDeltaThetaAndDeltaVelocity( - const char* response, - float* deltaTime, - vec3f* deltaTheta, - vec3f* deltaVelocity); - -/** \brief Parses a response from reading the Delta Theta and Delta Velocity Configuration register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] integrationFrame The register's IntegrationFrame field. -* \param[out] gyroCompensation The register's GyroCompensation field. -* \param[out] accelCompensation The register's AccelCompensation field. -* \param[out] reserved1 The register's Reserved1 field. -* \param[out] reserved2 The register's Reserved2 field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseDeltaThetaAndDeltaVelocityConfiguration( - const char* response, - uint8_t* integrationFrame, - uint8_t* gyroCompensation, - uint8_t* accelCompensation, - uint8_t* reserved1, - uint16_t* reserved2); - -/** \brief Parses a response from reading the Reference Vector Configuration register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] useMagModel The register's UseMagModel field. -* \param[out] useGravityModel The register's UseGravityModel field. -* \param[out] resv1 The register's Resv1 field. -* \param[out] resv2 The register's Resv2 field. -* \param[out] recalcThreshold The register's RecalcThreshold field. -* \param[out] year The register's Year field. -* \param[out] position The register's Position field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseReferenceVectorConfiguration( - const char* response, - uint8_t* useMagModel, - uint8_t* useGravityModel, - uint8_t* resv1, - uint8_t* resv2, - uint32_t* recalcThreshold, - float* year, - vec3d* position); - -/** \brief Parses a response from reading the Gyro Compensation register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] c The register's C field. -* \param[out] b The register's B field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseGyroCompensation( - const char* response, - mat3f* c, - vec3f* b); - -/** \brief Parses a response from reading the IMU Filtering Configuration register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] magWindowSize The register's MagWindowSize field. -* \param[out] accelWindowSize The register's AccelWindowSize field. -* \param[out] gyroWindowSize The register's GyroWindowSize field. -* \param[out] tempWindowSize The register's TempWindowSize field. -* \param[out] presWindowSize The register's PresWindowSize field. -* \param[out] magFilterMode The register's MagFilterMode field. -* \param[out] accelFilterMode The register's AccelFilterMode field. -* \param[out] gyroFilterMode The register's GyroFilterMode field. -* \param[out] tempFilterMode The register's TempFilterMode field. -* \param[out] presFilterMode The register's PresFilterMode field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseImuFilteringConfiguration( - const char* response, - uint16_t* magWindowSize, - uint16_t* accelWindowSize, - uint16_t* gyroWindowSize, - uint16_t* tempWindowSize, - uint16_t* presWindowSize, - uint8_t* magFilterMode, - uint8_t* accelFilterMode, - uint8_t* gyroFilterMode, - uint8_t* tempFilterMode, - uint8_t* presFilterMode); - -/** \brief Parses a response from reading the GPS Compass Baseline register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] position The register's Position field. -* \param[out] uncertainty The register's Uncertainty field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseGpsCompassBaseline( - const char* response, - vec3f* position, - vec3f* uncertainty); - -/** \brief Parses a response from reading the GPS Compass Estimated Baseline register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] estBaselineUsed The register's EstBaselineUsed field. -* \param[out] resv The register's Resv field. -* \param[out] numMeas The register's NumMeas field. -* \param[out] position The register's Position field. -* \param[out] uncertainty The register's Uncertainty field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseGpsCompassEstimatedBaseline( - const char* response, - uint8_t* estBaselineUsed, - uint8_t* resv, - uint16_t* numMeas, - vec3f* position, - vec3f* uncertainty); - -/** \brief Parses a response from reading the IMU Rate Configuration register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] imuRate The register's imuRate field. -* \param[out] navDivisor The register's NavDivisor field. -* \param[out] filterTargetRate The register's filterTargetRate field. -* \param[out] filterMinRate The register's filterMinRate field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseImuRateConfiguration( - const char* response, - uint16_t* imuRate, - uint16_t* navDivisor, - float* filterTargetRate, - float* filterMinRate); - -/** \brief Parses a response from reading the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] yawPitchRoll The register's YawPitchRoll field. -* \param[out] bodyAccel The register's BodyAccel field. -* \param[out] gyro The register's Gyro field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseYawPitchRollTrueBodyAccelerationAndAngularRates( - const char* response, - vec3f* yawPitchRoll, - vec3f* bodyAccel, - vec3f* gyro); - -/** \brief Parses a response from reading the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register using the SPI protocol. -* -* \param[in] response Pointer to the buffer containing the response from the VectorNav sensor, including the leading 0x00 byte. -* \param[out] yawPitchRoll The register's YawPitchRoll field. -* \param[out] inertialAccel The register's InertialAccel field. -* \param[out] gyro The register's Gyro field. -* \return Indicates any error encountered. */ -VnError VnSpi_parseYawPitchRollTrueInertialAccelerationAndAngularRates( - const char* response, - vec3f* yawPitchRoll, - vec3f* inertialAccel, - vec3f* gyro); - -/** \defgroup spi_genread_functions SPI Generate Read Functions -* \brief This set of functions will generate command strings for reading -* registers on VectorNav sensors using the SPI protocol. -* -* These functions take the form of -* VnError VnSpi_genReadXXX(char *buffer, size_t* size, size_t desiredLength, size_t* responseSize) -* where XXX is replaced with the name of the register, buffer is provided by -* the user to be filled with the generated command, size is the number of -* bytes available in the provided buffer and will contain the number of bytes of the command -* to send, desiredLength is the total number of bytes to pad with 0x00 should -* the total constructed length of the command be less than the desiredLength, -* responseSize is the number of bytes to read during the SPI transaction to get this -* command's response. -* -* \{ */ - -/** \brief Generates a command to read the User Tag register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadUserTag( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Model Number register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadModelNumber( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Hardware Revision register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadHardwareRevision( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Serial Number register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadSerialNumber( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Firmware Version register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadFirmwareVersion( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Serial Baud Rate register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadSerialBaudRate( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Async Data Output Type register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadAsyncDataOutputType( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Async Data Output Frequency register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadAsyncDataOutputFrequency( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Yaw Pitch Roll register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadYawPitchRoll( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Attitude Quaternion register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadAttitudeQuaternion( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Quaternion, Magnetic, Acceleration and Angular Rates register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadQuaternionMagneticAccelerationAndAngularRates( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Magnetic Measurements register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadMagneticMeasurements( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Acceleration Measurements register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadAccelerationMeasurements( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Angular Rate Measurements register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadAngularRateMeasurements( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Magnetic, Acceleration and Angular Rates register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadMagneticAccelerationAndAngularRates( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Magnetic and Gravity Reference Vectors register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadMagneticAndGravityReferenceVectors( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Magnetometer Compensation register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadMagnetometerCompensation( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Acceleration Compensation register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadAccelerationCompensation( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Reference Frame Rotation register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadReferenceFrameRotation( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadYawPitchRollMagneticAccelerationAndAngularRates( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Communication Protocol Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadCommunicationProtocolControl( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Synchronization Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadSynchronizationControl( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Synchronization Status register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadSynchronizationStatus( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the VPE Basic Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadVpeBasicControl( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the VPE Magnetometer Basic Tuning register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadVpeMagnetometerBasicTuning( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the VPE Accelerometer Basic Tuning register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadVpeAccelerometerBasicTuning( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Magnetometer Calibration Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadMagnetometerCalibrationControl( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Calculated Magnetometer Calibration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadCalculatedMagnetometerCalibration( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Velocity Compensation Measurement register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadVelocityCompensationMeasurement( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Velocity Compensation Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadVelocityCompensationControl( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the IMU Measurements register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadImuMeasurements( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the GPS Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadGpsConfiguration( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the GPS Antenna Offset register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadGpsAntennaOffset( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the GPS Solution - LLA register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadGpsSolutionLla( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the GPS Solution - ECEF register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadGpsSolutionEcef( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the INS Solution - LLA register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadInsSolutionLla( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the INS Solution - ECEF register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadInsSolutionEcef( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the INS Basic Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadInsBasicConfiguration( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the INS Basic Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadInsBasicConfiguration( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the INS State - LLA register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadInsStateLla( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the INS State - ECEF register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadInsStateEcef( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Startup Filter Bias Estimate register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadStartupFilterBiasEstimate( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Delta Theta and Delta Velocity register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadDeltaThetaAndDeltaVelocity( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Delta Theta and Delta Velocity Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadDeltaThetaAndDeltaVelocityConfiguration( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Reference Vector Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadReferenceVectorConfiguration( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Gyro Compensation register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadGyroCompensation( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the IMU Filtering Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadImuFilteringConfiguration( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the GPS Compass Baseline register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadGpsCompassBaseline( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the GPS Compass Estimated Baseline register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadGpsCompassEstimatedBaseline( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadYawPitchRollTrueBodyAccelerationAndAngularRates( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/** \brief Generates a command to read the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \return Indicates any errors encountered. */ -VnError VnSpi_genReadYawPitchRollTrueInertialAccelerationAndAngularRates( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize); - -/* \}*/ - -/** \defgroup spi_genwrite_functions SPI Generate Write Functions -* \brief This set of functions will generate command strings for writing to -* registers on VectorNav sensors using the SPI protocol. -* -* These functions take the form shown below. XXX is replaced by the name -* of the register, buffer is provided by the user to be filled with the -* generated command, size is the number of bytes available in the provided -* buffer and will contain the number of bytes of the command to send, desiredLength -* is the total number of bytes to pad with 0x00 should the total constructed length -* of the command be less than the desired length, and [Variable argument list] -* varies with the specified register being written to. -* -* \code - * VnError VnSpi_genWriteXXX( - * char *buffer, - * size_t* size, - * size_t desiredLength, - * size_t* responseSize, - * [Variable argument list]); - * \endcode - * - * \{ */ - -/** \brief Generates a command to write the User Tag register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] tag The register's Tag field. This should be a null-terminated string. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteUserTag( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - char* tag); - -/** \brief Generates a command to write the Serial Baud Rate register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] baudrate The register's Baud Rate field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteSerialBaudRate( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint32_t baudrate); - -/** \brief Generates a command to write the Serial Baud Rate register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] baudrate The register's Baud Rate field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteSerialBaudRateWithOptions( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint32_t baudrate); - -/** \brief Generates a command to write the Async Data Output Type register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] ador The register's ADOR field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteAsyncDataOutputType( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint32_t ador); - -/** \brief Generates a command to write the Async Data Output Type register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] ador The register's ADOR field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteAsyncDataOutputTypeWithOptions( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint32_t ador); - -/** \brief Generates a command to write the Async Data Output Frequency register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] adof The register's ADOF field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteAsyncDataOutputFrequency( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint32_t adof); - -/** \brief Generates a command to write the Async Data Output Frequency register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] adof The register's ADOF field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteAsyncDataOutputFrequencyWithOptions( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint32_t adof); - -/** \brief Generates a command to write the Magnetic and Gravity Reference Vectors register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] magRef The register's MagRef field. - * \param[in] accRef The register's AccRef field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteMagneticAndGravityReferenceVectors( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - vec3f magRef, - vec3f accRef); - -/** \brief Generates a command to write the Magnetometer Compensation register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] c The register's C field. - * \param[in] b The register's B field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteMagnetometerCompensation( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - mat3f c, - vec3f b); - -/** \brief Generates a command to write the Acceleration Compensation register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] c The register's C field. - * \param[in] b The register's B field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteAccelerationCompensation( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - mat3f c, - vec3f b); - -/** \brief Generates a command to write the Reference Frame Rotation register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] c The register's C field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteReferenceFrameRotation( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - mat3f c); - -/** \brief Generates a command to write the Communication Protocol Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] serialCount The register's SerialCount field. - * \param[in] serialStatus The register's SerialStatus field. - * \param[in] spiCount The register's SPICount field. - * \param[in] spiStatus The register's SPIStatus field. - * \param[in] serialChecksum The register's SerialChecksum field. - * \param[in] spiChecksum The register's SPIChecksum field. - * \param[in] errorMode The register's ErrorMode field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteCommunicationProtocolControl( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t serialCount, - uint8_t serialStatus, - uint8_t spiCount, - uint8_t spiStatus, - uint8_t serialChecksum, - uint8_t spiChecksum, - uint8_t errorMode); - -/** \brief Generates a command to write the Synchronization Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] syncInMode The register's SyncInMode field. - * \param[in] syncInEdge The register's SyncInEdge field. - * \param[in] syncInSkipFactor The register's SyncInSkipFactor field. - * \param[in] reserved1 The register's RESERVED1 field. - * \param[in] syncOutMode The register's SyncOutMode field. - * \param[in] syncOutPolarity The register's SyncOutPolarity field. - * \param[in] syncOutSkipFactor The register's SyncOutSkipFactor field. - * \param[in] syncOutPulseWidth The register's SyncOutPulseWidth field. - * \param[in] reserved2 The register's RESERVED2 field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteSynchronizationControl( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t syncInMode, - uint8_t syncInEdge, - uint16_t syncInSkipFactor, - uint32_t reserved1, - uint8_t syncOutMode, - uint8_t syncOutPolarity, - uint16_t syncOutSkipFactor, - uint32_t syncOutPulseWidth, - uint32_t reserved2); - -/** \brief Generates a command to write the Synchronization Status register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] syncInCount The register's SyncInCount field. - * \param[in] syncInTime The register's SyncInTime field. - * \param[in] syncOutCount The register's SyncOutCount field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteSynchronizationStatus( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint32_t syncInCount, - uint32_t syncInTime, - uint32_t syncOutCount); - -/** \brief Generates a command to write the VPE Basic Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] enable The register's Enable field. - * \param[in] headingMode The register's HeadingMode field. - * \param[in] filteringMode The register's FilteringMode field. - * \param[in] tuningMode The register's TuningMode field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteVpeBasicControl( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t enable, - uint8_t headingMode, - uint8_t filteringMode, - uint8_t tuningMode); - -/** \brief Generates a command to write the VPE Magnetometer Basic Tuning register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] baseTuning The register's BaseTuning field. - * \param[in] adaptiveTuning The register's AdaptiveTuning field. - * \param[in] adaptiveFiltering The register's AdaptiveFiltering field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteVpeMagnetometerBasicTuning( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - vec3f baseTuning, - vec3f adaptiveTuning, - vec3f adaptiveFiltering); - -/** \brief Generates a command to write the VPE Accelerometer Basic Tuning register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] baseTuning The register's BaseTuning field. - * \param[in] adaptiveTuning The register's AdaptiveTuning field. - * \param[in] adaptiveFiltering The register's AdaptiveFiltering field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteVpeAccelerometerBasicTuning( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - vec3f baseTuning, - vec3f adaptiveTuning, - vec3f adaptiveFiltering); - -/** \brief Generates a command to write the Magnetometer Calibration Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] hsiMode The register's HSIMode field. - * \param[in] hsiOutput The register's HSIOutput field. - * \param[in] convergeRate The register's ConvergeRate field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteMagnetometerCalibrationControl( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t hsiMode, - uint8_t hsiOutput, - uint8_t convergeRate); - -/** \brief Generates a command to write the Velocity Compensation Measurement register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] velocity The register's Velocity field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteVelocityCompensationMeasurement( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - vec3f velocity); - -/** \brief Generates a command to write the Velocity Compensation Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] mode The register's Mode field. - * \param[in] velocityTuning The register's VelocityTuning field. - * \param[in] rateTuning The register's RateTuning field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteVelocityCompensationControl( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t mode, - float velocityTuning, - float rateTuning); - -/** \brief Generates a command to write the GPS Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] mode The register's Mode field. - * \param[in] ppsSource The register's PpsSource field. - * \param[in] reserved1 The register's Reserved1 field. - * \param[in] reserved2 The register's Reserved2 field. - * \param[in] reserved3 The register's Reserved3 field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteGpsConfiguration( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t mode, - uint8_t ppsSource, - uint8_t reserved1, - uint8_t reserved2, - uint8_t reserved3); - -/** \brief Generates a command to write the GPS Antenna Offset register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] position The register's Position field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteGpsAntennaOffset( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - vec3f position); - -/** \brief Generates a command to write the INS Basic Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] scenario The register's Scenario field. - * \param[in] ahrsAiding The register's AhrsAiding field. - * \param[in] estBaseline The register's EstBaseline field. - * \param[in] resv2 The register's Resv2 field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteInsBasicConfiguration( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t scenario, - uint8_t ahrsAiding, - uint8_t estBaseline, - uint8_t resv2); - -/** \brief Generates a command to write the Startup Filter Bias Estimate register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] gyroBias The register's GyroBias field. - * \param[in] accelBias The register's AccelBias field. - * \param[in] pressureBias The register's PressureBias field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteStartupFilterBiasEstimate( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - vec3f gyroBias, - vec3f accelBias, - float pressureBias); - -/** \brief Generates a command to write the Delta Theta and Delta Velocity Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] integrationFrame The register's IntegrationFrame field. - * \param[in] gyroCompensation The register's GyroCompensation field. - * \param[in] accelCompensation The register's AccelCompensation field. - * \param[in] reserved1 The register's Reserved1 field. - * \param[in] reserved2 The register's Reserved2 field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteDeltaThetaAndDeltaVelocityConfiguration( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t integrationFrame, - uint8_t gyroCompensation, - uint8_t accelCompensation, - uint8_t reserved1, - uint16_t reserved2); - -/** \brief Generates a command to write the Reference Vector Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] useMagModel The register's UseMagModel field. - * \param[in] useGravityModel The register's UseGravityModel field. - * \param[in] resv1 The register's Resv1 field. - * \param[in] resv2 The register's Resv2 field. - * \param[in] recalcThreshold The register's RecalcThreshold field. - * \param[in] year The register's Year field. - * \param[in] position The register's Position field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteReferenceVectorConfiguration( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t useMagModel, - uint8_t useGravityModel, - uint8_t resv1, - uint8_t resv2, - uint32_t recalcThreshold, - float year, - vec3d position); - -/** \brief Generates a command to write the Gyro Compensation register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] c The register's C field. - * \param[in] b The register's B field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteGyroCompensation( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - mat3f c, - vec3f b); - -/** \brief Generates a command to write the IMU Filtering Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] magWindowSize The register's MagWindowSize field. - * \param[in] accelWindowSize The register's AccelWindowSize field. - * \param[in] gyroWindowSize The register's GyroWindowSize field. - * \param[in] tempWindowSize The register's TempWindowSize field. - * \param[in] presWindowSize The register's PresWindowSize field. - * \param[in] magFilterMode The register's MagFilterMode field. - * \param[in] accelFilterMode The register's AccelFilterMode field. - * \param[in] gyroFilterMode The register's GyroFilterMode field. - * \param[in] tempFilterMode The register's TempFilterMode field. - * \param[in] presFilterMode The register's PresFilterMode field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteImuFilteringConfiguration( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint16_t magWindowSize, - uint16_t accelWindowSize, - uint16_t gyroWindowSize, - uint16_t tempWindowSize, - uint16_t presWindowSize, - uint8_t magFilterMode, - uint8_t accelFilterMode, - uint8_t gyroFilterMode, - uint8_t tempFilterMode, - uint8_t presFilterMode); - -/** \brief Generates a command to write the GPS Compass Baseline register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in/out] size Number of bytes available in the buffer. Will contain on output the number of bytes in the command to send. - * \param[in] desiredLength The total number of bytes to pad with 0x00 should - * the total constructed length of the command be less than the - * desiredLength. This is useful back-to-back command where the - * desiredLength will be the responseSize of the previous command sent. - * \param[out] responseSize The number of bytes to read during the SPI transaction to get this commands response. - * \param[in] position The register's Position field. - * \param[in] uncertainty The register's Uncertainty field. - * \return Indicates any errors encountered. */ -VnError VnSpi_genWriteGpsCompassBaseline( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - vec3f position, - vec3f uncertainty); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vnproglib/c/include/vn/protocol/upack.h b/vnproglib/c/include/vn/protocol/upack.h deleted file mode 100644 index cf0d660..0000000 --- a/vnproglib/c/include/vn/protocol/upack.h +++ /dev/null @@ -1,3650 +0,0 @@ -#ifndef VNUPACK_H_INCLUDED -#define VNUPACK_H_INCLUDED - -#include - -#include "vn/int.h" -#include "vn/bool.h" -#include "vn/enum.h" -#include "vn/error.h" -#include "vn/error_detection.h" -#include "vn/math/matrix.h" -#include "vn/math/vector.h" -#include "vn/protocol/common.h" - -#ifndef VNUART_PROTOCOL_BUFFER_SIZE - /** Default internal buffers size for handling received UART data. */ - #define VNUART_PROTOCOL_BUFFER_SIZE 256 -#endif - -#define VN_BINARY_START_CHAR 0xFA -#define VN_ASCII_START_CHAR '$' -#define VN_BOOTLOAD_START_CHAR 'V' - -#ifdef __cplusplus -extern "C" { -#endif - -/** \brief Defines signature of functions that can handle notification of error - * messages received from a VectorNav sensor. - */ -typedef void(*vnuart_sensor_error_received)(VnError error); - -/** \brief Structure representing a UART packet received from a VectorNav -* sensor. */ -typedef struct -{ - /** Current location for extracting binary data. */ - size_t curExtractLoc; - - /** Number of bytes in the packet. */ - size_t length; - - /** The packet data. */ - uint8_t* data; - -} VnUartPacket; - -/** \brief Initializes a VnUartPacket structure. -* -* \param[out] packet Pointer to VnUartPacket structure to initialize. -* \param[in] data Pointer to the packet data. -* \param[in] len The number of bytes in the data packet. */ -void VnUartPacket_initialize(VnUartPacket* packet, uint8_t* data, size_t len); - -/** \brief Initializes a VnUartPacket structure from a null terminated string. -* -* \param[out] packet Pointer to VnUartPacket structure to initialize. -* \param[in] data Pointer to the packet data. */ -void VnUartPacket_initializeFromStr(VnUartPacket* packet, char* data); - -/** \brief Performs data integrity check on the data packet. -* -* This will perform an 8-bit XOR checksum, a CRC16-CCITT CRC, or no checking -* depending on the provided data integrity in the packet. -* -* \param[in] packet The data packet to perform the check on. -* \return true if the packet passed the data integrity checks; otherwise -* false. -*/ -bool VnUartPacket_isValid(VnUartPacket *packet); - -/** \brief Indicates if the packet is an ASCII asynchronous message. - * - * \param[in] packet The data packet to check. - * \return true if the packet is an ASCII asynchronous message; - * otherwise false. - */ -bool VnUartPacket_isAsciiAsync(VnUartPacket *packet); - -/** \brief Indicates if the packet is a bootloader message. - * - * \param[in] packet The data packet to check. - * \return true if the packet is a bootloader message; - * otherwise false. - */ -bool VnUartPacket_isBootloader(VnUartPacket* packet); - - -/** \brief Indicates if the packet is a response to a message sent to the - * sensor. - * - * \param[in] packet The data packet to check. - * \return true if the packet is a response message; otherwise - * false. - */ -bool VnUartPacket_isResponse(VnUartPacket *packet); - -/** \brief Indicates if the packet is an ASCII error message. - * - * \return true if the packet is an error message; otherwise - * false. - */ -bool VnUartPacket_isError(VnUartPacket *packet); - -/** \brief Indicates if the packet is an ASCII error message. -* -* \return true if the packet is an error message; otherwise -* false. -*/ -bool VnUartPacket_isErrorRaw(uint8_t *packet); - -/** \brief Returns the type of packet. - * - * \param[in] packet The associated VnUartPacket. - * \return The packet type. */ -PacketType VnUartPacket_type(VnUartPacket *packet); - -/** \brief Computes and appends a checksum plus line termination characters to a command. -* -* \param[in] errorDetectionMode The error detection mode to use to compute and append the checksum. -* \param[in] packet The current packet without any checksum information. -* \param[in,out] length The current length of the provided packet. Will be updated with the -* final packet length. -* \return Any errors encountered. */ -VnError VnUartPacket_finalizeCommand(VnErrorDetectionMode errorDetectionMode, uint8_t *packet, size_t *length); - -/** \brief Returns the groups field of a binary packet. -* -* \param[in] packet The associated VnUartPacket. -* \return The groups present in the binary packet. */ -uint8_t VnUartPacket_groups(VnUartPacket* packet); - -/** \brief Returns the request group field of a binary packet at the specified index. -* -* \param[in] packet The associated VnUartPacket. -* \param[in] groupIndex The 0-based index of the requested group field. -* \return The group field. */ -uint16_t VnUartPacket_groupField(VnUartPacket* packet, size_t groupIndex); - -/** \brief Computes the expected number of bytes for a possible binary - * packet. - * - * This method requires that the group fields present and the complete - * collection of individual group description fields are present. - * - * \param[in] startOfPossibleBinaryPacket The start of the possible binary - * packet (i.e. the 0xFA character). - * - * \return The number of bytes expected for this binary packet. - */ -size_t VnUartPacket_computeBinaryPacketLength(uint8_t const *startOfPossibleBinaryPacket); - -/** \brief Computes the number of bytes expected for a binary group field. - * - * \param[in] groupType The group to calculate the total for. - * \param[in] groupField The flags for data types present. - * \return The number of bytes for this group. - */ -size_t VnUartPacket_computeNumOfBytesForBinaryGroupPayload(BinaryGroupType groupType, uint16_t groupField); - -/** \brief Determines if the packet is a compatible match for an expected - * binary output message type. - * - * \param[in] packet The packet to compare. - * \param[in] commonGroup The Common Group configuration. - * \param[in] timeGroup The Time Group configuration. - * \param[in] imuGroup The IMU Group configuration. - * \param[in] gpsGroup The GPS Group configuration. - * \param[in] attitudeGroup The Attitude Group configuration. - * \param[in] insGroup The INS Group configuration. - * \param[in] gps2Group The GPS2 Group configuration. - * \return true if the packet matches the expected group - * configuration; otherwise false. - */ -bool VnUartPacket_isCompatible( - VnUartPacket *packet, - CommonGroup commonGroup, - TimeGroup timeGroup, - ImuGroup imuGroup, - GpsGroup gpsGroup, - AttitudeGroup attitudeGroup, - InsGroup insGroup, - GpsGroup gps2Group); - -/** \defgroup uartPacketBinaryExtractors UART Binary Data Extractors - * \brief This group of methods are useful for extracting data from binary - * data packets. - * - * \{ */ - -/** \brief Extracts a uint8_t data type from a binary packet and advances - * the next extraction point appropriately. - * - * \param[in] packet The packet to extract the value from. - * \return The extracted value. - */ -uint8_t VnUartPacket_extractUint8(VnUartPacket *packet); - -/** \brief Extracts a int8_t data type from a binary packet and advances - * the next extraction point appropriately. - * - * \param[in] packet The packet to extract the value from. - * \return The extracted value. - */ -int8_t VnUartPacket_extractInt8(VnUartPacket *packet); - -/** \brief Extracts a uint16_t data type from a binary packet and advances - * the next extraction point appropriately. - * - * \param[in] packet The packet to extract the value from. - * \return The extracted value. - */ -uint16_t VnUartPacket_extractUint16(VnUartPacket *packet); - -/** \brief Extracts a uint32_t data type from a binary packet and advances - * the next extraction point appropriately. - * - * \param[in] packet The packet to extract the value from. - * \return The extracted value. - */ -uint32_t VnUartPacket_extractUint32(VnUartPacket *packet); - -/** \brief Extracts a uint64_t data type from a binary packet and advances - * the next extraction point appropriately. - * - * \param[in] packet The packet to extract the value from. - * \return The extracted value. - */ -uint64_t VnUartPacket_extractUint64(VnUartPacket *packet); - -/** \brief Extracts a float data type from a binary packet and advances the -* next extraction point appropriately. -* -* \param[in] packet The packet to extract the value from. -* \return The extracted value. */ -float VnUartPacket_extractFloat(VnUartPacket* packet); - -/** \brief Extracts a vec3f data type from a binary packet and advances - * the next extraction point appropriately. - * - * \param[in] packet The packet to extract the value from. - * \return The extracted value. - */ -vec3f VnUartPacket_extractVec3f(VnUartPacket *packet); - -/** \brief Extracts a vec3d data type from a binary packet and advances - * the next extraction point appropriately. - * - * \param[in] packet The packet to extract the value from. - * \return The extracted value. - */ -vec3d VnUartPacket_extractVec3d(VnUartPacket *packet); - -/** \brief Extracts a vec4f data type from a binary packet and advances - * the next extraction point appropriately. - * - * \param[in] packet The packet to extract the value from. - * \return The extracted value. - */ -vec4f VnUartPacket_extractVec4f(VnUartPacket *packet); - -/** \brief Extracts a mat3f data type from a binary packet and advances -* the next extraction point appropriately. -* -* \param[in] packet The packet to extract the value from. -* \return The extracted value. */ -mat3f VnUartPacket_extractMat3f(VnUartPacket *packet); - -/** \brief Extracts a GpsDop data type from a binary packet and advances -* the next extraction point appropriately. -* -* \param[in] packet The packet to extract the value from. -* \return The extracted value. */ -GpsDop VnUartPacket_extractGpsDop(VnUartPacket *packet); - - -/** \brief Extracts a TimeUtc data type from a binary packet and advances -* the next extraction point appropriately. -* -* \param[in] packet The packet to extract the value from. -* \return The extracted value. */ -TimeUtc VnUartPacket_extractTimeUtc(VnUartPacket *packet); - -/** \brief Extracts a TimeInfo data type from a binary packet and advances -* the next extraction point appropriately. -* -* \param[in] packet The packet to extract the value from. -* \return The extracted value. */ -TimeInfo VnUartPacket_extractTimeInfo(VnUartPacket *packet); -/** \} */ - -/** \brief Determines the type of ASCII asynchronous message this packet is. -* -* \param[in] packet The data packet to check. -* \return The asynchronous data type of the packet. -*/ -VnAsciiAsync VnUartPacket_determineAsciiAsyncType(VnUartPacket* packet); - -/** \defgroup uartPacketAsciiAsyncParsers UART ASCII Asynchronous Packet Parsers - * \brief This group of functions allow parsing of ASCII asynchronous data - * packets from VectorNav sensors. - * - * The units are not specified for the out parameters since these functions do - * a simple conversion operation from the received packet string. Please - * consult the appropriate sensor user manual for details about the units - * returned by the sensor. - * - * \{ - */ - -/** \brief Parses a VNYPR asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] yawPitchRoll The yaw, pitch, roll values in the packet. - */ -void VnUartPacket_parseVNYPR(VnUartPacket* packet, vec3f *yawPitchRoll); - -/** \brief Parses a VNQTN asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] quaternion The quaternion values in the packet. - */ -void VnUartPacket_parseVNQTN(VnUartPacket* packet, vec4f *quaternion); - -#ifdef EXTRA - -/** \brief Parses a VNQTM asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] quaternion The quaternion values in the packet. - * \param[out] magnetic The magnetic values in the packet. - */ -void VnUartPacket_parseVNQTM(VnUartPacket* packet, vec4f *quaternion, vec3f *magnetic); - -/** \brief Parses a VNQTA asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] quaternion The quaternion values in the packet. - * \param[out] acceleration The acceleration values in the packet. - */ -void VnUartPacket_parseVNQTA(VnUartPacket* packet, vec4f *quaternion, vec3f *acceleration); - -/** \brief Parses a VNQTR asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] quaternion The quaternion values in the packet. - * \param[out] angularRate The angular rate values in the packet. - */ -void VnUartPacket_parseVNQTR(VnUartPacket* packet, vec4f *quaternion, vec3f *angularRate); - -/** \brief Parses a VNQMA asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] quaternion The quaternion values in the packet. - * \param[out] magnetic The magnetic values in the packet. - * \param[out] acceleration The acceleration values in the packet. - */ -void VnUartPacket_parseVNQMA(VnUartPacket* packet, vec4f *quaternion, vec3f *magnetic, vec3f *acceleration); - -/** \brief Parses a VNQAR asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] quaternion The quaternion values in the packet. - * \param[out] acceleration The acceleration values in the packet. - * \param[out] angularRate The angular rate values in the packet. - */ -void VnUartPacket_parseVNQAR(VnUartPacket* packet, vec4f *quaternion, vec3f *acceleration, vec3f *angularRate); - -#endif - -/** \brief Parses a VNQMR asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] quaternion The quaternion values in the packet. - * \param[out] magnetic The magnetic values in the packet. - * \param[out] acceleration The acceleration values in the packet. - * \param[out] angularRate The angular rate values in the packet. - */ -void VnUartPacket_parseVNQMR(VnUartPacket* packet, vec4f *quaternion, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate); - -#ifdef EXTRA - -/** \brief Parses a VNDCM asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] dcm The directional cosine matrix values in the packet. - */ -void VnUartPacket_parseVNDCM(VnUartPacket* packet, mat3f *dcm); - -#endif - -/** \brief Parses a VNMAG asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] magnetic The magnetic values in the packet. - */ -void VnUartPacket_parseVNMAG(VnUartPacket* packet, vec3f *magnetic); - -/** \brief Parses a VNACC asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] acceleration The acceleration values in the packet. - */ -void VnUartPacket_parseVNACC(VnUartPacket* packet, vec3f *acceleration); - -/** \brief Parses a VNGYR asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] angularRate The angular rate values in the packet. - */ -void VnUartPacket_parseVNGYR(VnUartPacket* packet, vec3f *angularRate); - -/** \brief Parses a VNMAR asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] magnetic The magnetic values in the packet. - * \param[out] acceleration The acceleration values in the packet. - * \param[out] angularRate The angular rate values in the packet. - */ -void VnUartPacket_parseVNMAR(VnUartPacket* packet, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate); - -/** \brief Parses a VNYMR asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] yawPitchRoll The yaw, pitch, roll values in the packet. - * \param[out] magnetic The magnetic values in the packet. - * \param[out] acceleration The acceleration values in the packet. - * \param[out] angularRate The angular rate values in the packet. */ -VnError VnUartPacket_parseVNYMR( - VnUartPacket* packet, - vec3f *yawPitchRoll, - vec3f *magnetic, - vec3f *acceleration, - vec3f *angularRate); - -/** \brief Parses a VNYMR asynchronous packet. -* -* \param[in] packet The packet to extract the values from. -* \param[in] packetLength The number of bytes in the packet buffer. -* \param[out] yawPitchRoll The yaw, pitch, roll values in the packet. -* \param[out] magnetic The magnetic values in the packet. -* \param[out] acceleration The acceleration values in the packet. -* \param[out] angularRate The angular rate values in the packet. */ -/*VnError VnUartPacket_parseVNYMR( - uint8_t* packetBuf, - size_t packetLen, - vec3f *yawPitchRoll, - vec3f *magnetic, - vec3f *acceleration, - vec3f *angularRate);*/ - - -#ifdef EXTRA - -/** \brief Parses a VNYCM asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] yawPitchRoll The yaw, pitch, roll values in the packet. - * \param[out] magnetic The magnetic values in the packet. - * \param[out] acceleration The acceleration values in the packet. - * \param[out] angularRate The angular rate values in the packet. - * \param[out] temperature The temperature value in the packet. - */ -void VnUartPacket_parseVNYCM(VnUartPacket* packet, vec3f *yawPitchRoll, vec3f *magnetic, vec3f *acceleration, vec3f *angularRate, float *temperature); - -#endif - -/** \brief Parses a VNYBA asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] yawPitchRoll The yaw, pitch, roll values in the packet. - * \param[out] accelerationBody The acceleration body values in the packet. - * \param[out] angularRate The angular rate values in the packet. - */ -void VnUartPacket_parseVNYBA(VnUartPacket* packet, vec3f *yawPitchRoll, vec3f *accelerationBody, vec3f *angularRate); - -/** \brief Parses a VNYIA asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] yawPitchRoll The yaw, pitch, roll values in the packet. - * \param[out] accelerationInertial The acceleration inertial values in the packet. - * \param[out] angularRate The angular rate values in the packet. - */ -void VnUartPacket_parseVNYIA(VnUartPacket* packet, vec3f *yawPitchRoll, vec3f *accelerationInertial, vec3f *angularRate); - -#ifdef EXTRA - -/** \brief Parses a VNICM asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] yawPitchRoll The yaw, pitch, roll values in the packet. - * \param[out] magnetic The magnetic values in the packet. - * \param[out] accelerationInertial The acceleration inertial values in the packet. - * \param[out] angularRate The angular rate values in the packet. - */ -void VnUartPacket_parseVNICM(VnUartPacket* packet, vec3f *yawPitchRoll, vec3f *magnetic, vec3f *accelerationInertial, vec3f *angularRate); - -#endif - -/** \brief Parses a VNIMU asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] magneticUncompensated The uncompensated magnetic values in the packet. - * \param[out] accelerationUncompensated The uncompensated acceleration values in the packet. - * \param[out] angularRateUncompensated The uncompensated angular rate values in the packet. - * \param[out] temperature The temperature value in the packet. - * \param[out] pressure The pressure value in the packet. - */ -void VnUartPacket_parseVNIMU(VnUartPacket* packet, vec3f *magneticUncompensated, vec3f *accelerationUncompensated, vec3f *angularRateUncompensated, float *temperature, float *pressure); - -/** \brief Parses a VNGPS asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] time The time value in the packet. - * \param[out] week The week value in the packet. - * \param[out] gpsFix The GPS fix value in the packet. - * \param[out] numSats The NumSats value in the packet. - * \param[out] lla The latitude, longitude and altitude values in the packet. - * \param[out] nedVel The NED velocity values in the packet. - * \param[out] nedAcc The NED position accuracy values in the packet. - * \param[out] speedAcc The SpeedAcc value in the packet. - * \param[out] timeAcc The TimeAcc value in the packet. - */ -void VnUartPacket_parseVNGPS(VnUartPacket* packet, double *time, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *lla, vec3f *nedVel, vec3f *nedAcc, float *speedAcc, float *timeAcc); - -/** \brief Parses a VNINS asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] time The time value in the packet. - * \param[out] week The week value in the packet. - * \param[out] status The status value in the packet. - * \param[out] yawPitchRoll The yaw, pitch, roll values in the packet. - * \param[out] lla The latitude, longitude, altitude values in the packet. - * \param[out] nedVel The NED velocity values in the packet. - * \param[out] attUncertainty The attitude uncertainty value in the packet. - * \param[out] posUncertainty The position uncertainty value in the packet. - * \param[out] velUncertainty The velocity uncertainty value in the packet. - */ -void VnUartPacket_parseVNINS(VnUartPacket* packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *lla, vec3f *nedVel, float *attUncertainty, float *posUncertainty, float *velUncertainty); - -/** \brief Parses a VNINE asynchronous packet. -* -* \param[in] packet The packet to extract the values from. -* \param[out] time The time value in the packet. -* \param[out] week The week value in the packet. -* \param[out] status The status value in the packet. -* \param[out] yawPitchRoll The yaw, pitch, roll values in the packet. -* \param[out] position The latitude, longitude, altitude values in the packet. -* \param[out] velocity The NED velocity values in the packet. -* \param[out] attUncertainty The attitude uncertainty value in the packet. -* \param[out] posUncertainty The position uncertainty value in the packet. -* \param[out] velUncertainty The velocity uncertainty value in the packet. */ -void VnUartPacket_parseVNINE(VnUartPacket* packet, double *time, uint16_t *week, uint16_t *status, vec3f *yawPitchRoll, vec3d *position, vec3f *velocity, float *attUncertainty, float *posUncertainty, float *velUncertainty); - -/** \brief Parse a VNISL asynchronous packet. -* -* \param[in] packet The packet to extract the values from. -* \param[out] ypr The yaw, pitch, roll values in the packet. -* \param[out] lla The latitude, longitude, altitude values in the packet. -* \param[out] velocity The velocity values in the packet. -* \param[out] acceleration The acceleration values in the packet. -* \param[out] angularRate The angular rate values in the packet. */ -void VnUartPacket_parseVNISL(VnUartPacket* packet, vec3f* ypr, vec3d* lla, vec3f* velocity, vec3f* acceleration, vec3f* angularRate); - -/** \brief Parse a VNISE asynchronous packet. -* -* \param[in] packet The packet to extract the values from. -* \param[out] ypr The yaw, pitch, roll values in the packet. -* \param[out] position The ECEF position values in the packet. -* \param[out] velocity The ECEF velocity values in the packet. -* \param[out] acceleration The acceleration values in the packet. -* \param[out] angularRate The angular rate values in the packet. */ -void VnUartPacket_parseVNISE(VnUartPacket* packet, vec3f* ypr, vec3d* position, vec3f* velocity, vec3f* acceleration, vec3f* angularRate); - -#ifdef EXTRA - -/** \brief Parses a VNRAW asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] magneticVoltage The magnetic voltage values in the packet. - * \param[out] accelerationVoltage The acceleration voltage values in the packet. - * \param[out] angularRateVoltage The angular rate voltage values in the packet. - * \param[out] temperatureVoltage The temperature voltage value in the packet. - */ -void VnUartPacket_parseVNRAW(VnUartPacket* packet, vec3f *magneticVoltage, vec3f *accelerationVoltage, vec3f *angularRateVoltage, float *temperatureVoltage); - -/** \brief Parses a VNCMV asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] magneticUncompensated The uncompensated magnetic values in the packet. - * \param[out] accelerationUncompensated The uncompensated acceleration values in the packet. - * \param[out] angularRateUncompensated The uncompensated angular rate values in the packet. - * \param[out] temperature The temperature value in the packet. - */ -void VnUartPacket_parseVNCMV(VnUartPacket* packet, vec3f *magneticUncompensated, vec3f *accelerationUncompensated, vec3f *angularRateUncompensated, float *temperature); - -/** \brief Parses a VNSTV asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] quaternion The quaternion values in the packet. - * \param[out] angularRateBias The angular rate bias values in the packet. - */ -void VnUartPacket_parseVNSTV(VnUartPacket* packet, vec4f *quaternion, vec3f *angularRateBias); - -/** \brief Parses a VNCOV asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] attitudeVariance The attitude variance values in the packet. - * \param[out] angularRateBiasVariance The angular rate bias variance values in the packet. - */ -void VnUartPacket_parseVNCOV(VnUartPacket* packet, vec3f *attitudeVariance, vec3f *angularRateBiasVariance); - -#endif - -/** \brief Parses a VNGPE asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] tow The tow value in the packet. - * \param[out] week The week value in the packet. - * \param[out] gpsFix The GPS fix value in the packet. - * \param[out] numSats The numSats value in the packet. - * \param[out] position The ECEF position values in the packet. - * \param[out] velocity The ECEF velocity values in the packet. - * \param[out] posAcc The PosAcc values in the packet. - * \param[out] speedAcc The SpeedAcc value in the packet. - * \param[out] timeAcc The TimeAcc value in the packet. - */ -void VnUartPacket_parseVNGPE(VnUartPacket* packet, double *tow, uint16_t *week, uint8_t *gpsFix, uint8_t *numSats, vec3d *position, vec3f *velocity, vec3f *posAcc, float *speedAcc, float *timeAcc); - -/** \brief Parses a VNDTV asynchronous packet. - * - * \param[in] packet The packet to extract the values from. - * \param[out] deltaTime The DeltaTime value in the packet. - * \param[out] deltaTheta The DeltaTheta values in the packet. - * \param[out] deltaVelocity The DeltaVelocity values in the packet. - */ -void VnUartPacket_parseVNDTV(VnUartPacket* packet, float *deltaTime, vec3f *deltaTheta, vec3f *deltaVelocity); - -/** \} */ - -/** \brief Generic function for making register read commands. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating - * the command. - * \param[in] registerId The VectorNav sensor's register ID to read. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. - */ -VnError vnuart_genread( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - uint16_t registerId, - size_t *cmdSize); - -/** \defgroup uart_genread_functions UART Generate Read Functions - * \brief This set of functions will generate command strings for reading - * registers on VectorNav sensors. - * - * These functions take the form of - * VnError VnUartPacket_genReadXXX(char *buffer, size_t bufferSize, VnErrorDetection errorDetection, size_t *cmdSize) - * where XXX is replaced with the name of the register, buffer is provided by - * the user to fill with the generated command, bufferSize is the number of - * bytes in the provided buffer, errorDetection indicates the type of - * error-detection to generate the command with, and cmdSize is returned back - * to the caller to indicate the total size of the generated command placed in - * buffer. - * - * \{ -*/ - -/** \brief Generates a command to read the Binary Output 1 register on a VectorNav sensor. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in] bufferSize Number of bytes available in the provided buffer. -* \param[in] errorDetection The type of error-detection to use in generating the command. -* \param[out] cmdSize The total number bytes in the generated command. -* \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadBinaryOutput1( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Binary Output 2 register on a VectorNav sensor. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in] bufferSize Number of bytes available in the provided buffer. -* \param[in] errorDetection The type of error-detection to use in generating the command. -* \param[out] cmdSize The total number bytes in the generated command. -* \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadBinaryOutput2( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Binary Output 3 register on a VectorNav sensor. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in] bufferSize Number of bytes available in the provided buffer. -* \param[in] errorDetection The type of error-detection to use in generating the command. -* \param[out] cmdSize The total number bytes in the generated command. -* \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadBinaryOutput3( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -#ifdef EXTRA - -/** \brief Generates a command to read the Binary Output 4 register on a VectorNav sensor. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in] bufferSize Number of bytes available in the provided buffer. -* \param[in] errorDetection The type of error-detection to use in generating the command. -* \param[out] cmdSize The total number bytes in the generated command. -* \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadBinaryOutput4( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Binary Output 5 register on a VectorNav sensor. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in] bufferSize Number of bytes available in the provided buffer. -* \param[in] errorDetection The type of error-detection to use in generating the command. -* \param[out] cmdSize The total number bytes in the generated command. -* \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadBinaryOutput5( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -#endif - -/** \brief Generates a command to write sensor settings to non-volitile memory. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genCmdWriteSettings( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to restore the sensor to factory settings. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in] bufferSize Number of bytes available in the provided buffer. -* \param[in] errorDetection The type of error-detection to use in generating the command. -* \param[out] cmdSize The total number bytes in the generated command. -* \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genCmdRestoreFactorySettings( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to reset the sensor. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in] bufferSize Number of bytes available in the provided buffer. -* \param[in] errorDetection The type of error-detection to use in generating the command. -* \param[out] cmdSize The total number bytes in the generated command. -* \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genCmdReset( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to put the sensor in Firmware Update mode. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in] bufferSize Number of bytes available in the provided buffer. -* \param[in] errorDetection The type of error-detection to use in generating the command. -* \param[out] cmdSize The total number bytes in the generated command. -* \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genCmdFirmwareUpdate( - uint8_t* buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t* cmdSize); - -/** \brief Generates a command to tare the sensor. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in] bufferSize Number of bytes available in the provided buffer. -* \param[in] errorDetection The type of error-detection to use in generating the command. -* \param[out] cmdSize The total number bytes in the generated command. -* \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genCmdTare( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to set the gyro bias. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in] bufferSize Number of bytes available in the provided buffer. -* \param[in] errorDetection The type of error-detection to use in generating the command. -* \param[out] cmdSize The total number bytes in the generated command. -* \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genCmdSetGyroBias( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to alert the sensor of a known magnetic disturbance. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in] bufferSize Number of bytes available in the provided buffer. -* \param[in] errorDetection The type of error-detection to use in generating the command. -* \param[in] disturbancePresent Indicate the presence of a magnetic disturbance. -* \param[out] cmdSize The total number bytes in the generated command. -* \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genCmdKnownMagneticDisturbance( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - bool disturbancePresent, - size_t *cmdSize); - -/** \brief Generates a command to alert the sensor of a known acceleration disturbance. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in] bufferSize Number of bytes available in the provided buffer. -* \param[in] errorDetection The type of error-detection to use in generating the command. -* \param[in] disturbancePresent Indicate the presence of an acceleration disturbance. -* \param[out] cmdSize The total number bytes in the generated command. -* \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genCmdKnownAccelerationDisturbance( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - bool disturbancePresent, - size_t *cmdSize); - -/** \brief Generates a command to read the User Tag register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadUserTag( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Model Number register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadModelNumber( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Hardware Revision register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadHardwareRevision( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Serial Number register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadSerialNumber( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Firmware Version register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadFirmwareVersion( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Serial Baud Rate register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadSerialBaudRate( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Async Data Output Type register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadAsyncDataOutputType( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Async Data Output Frequency register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadAsyncDataOutputFrequency( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Yaw Pitch Roll register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadYawPitchRoll( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Attitude Quaternion register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadAttitudeQuaternion( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Quaternion, Magnetic, Acceleration and Angular Rates register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadQuaternionMagneticAccelerationAndAngularRates( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Magnetic Measurements register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadMagneticMeasurements( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Acceleration Measurements register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadAccelerationMeasurements( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Angular Rate Measurements register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadAngularRateMeasurements( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Magnetic, Acceleration and Angular Rates register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadMagneticAccelerationAndAngularRates( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Magnetic and Gravity Reference Vectors register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadMagneticAndGravityReferenceVectors( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Magnetometer Compensation register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadMagnetometerCompensation( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Acceleration Compensation register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadAccelerationCompensation( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Reference Frame Rotation register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadReferenceFrameRotation( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadYawPitchRollMagneticAccelerationAndAngularRates( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Communication Protocol Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadCommunicationProtocolControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Synchronization Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadSynchronizationControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Synchronization Status register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadSynchronizationStatus( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the VPE Basic Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadVpeBasicControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the VPE Magnetometer Basic Tuning register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadVpeMagnetometerBasicTuning( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the VPE Accelerometer Basic Tuning register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadVpeAccelerometerBasicTuning( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Magnetometer Calibration Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadMagnetometerCalibrationControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Calculated Magnetometer Calibration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadCalculatedMagnetometerCalibration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Velocity Compensation Measurement register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadVelocityCompensationMeasurement( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Velocity Compensation Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadVelocityCompensationControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the IMU Measurements register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadImuMeasurements( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the GPS Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadGpsConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the GPS Antenna Offset register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadGpsAntennaOffset( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the GPS Solution - LLA register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadGpsSolutionLla( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the GPS Solution - ECEF register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadGpsSolutionEcef( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the INS Solution - LLA register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadInsSolutionLla( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the INS Solution - ECEF register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadInsSolutionEcef( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the INS Basic Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadInsBasicConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the INS Basic Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadInsBasicConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the INS State - LLA register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadInsStateLla( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the INS State - ECEF register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadInsStateEcef( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Startup Filter Bias Estimate register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadStartupFilterBiasEstimate( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Delta Theta and Delta Velocity register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadDeltaThetaAndDeltaVelocity( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Delta Theta and Delta Velocity Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadDeltaThetaAndDeltaVelocityConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Reference Vector Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadReferenceVectorConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Gyro Compensation register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadGyroCompensation( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the IMU Filtering Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadImuFilteringConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the GPS Compass Baseline register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadGpsCompassBaseline( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the GPS Compass Estimated Baseline register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadGpsCompassEstimatedBaseline( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadYawPitchRollTrueBodyAccelerationAndAngularRates( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \brief Generates a command to read the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genReadYawPitchRollTrueInertialAccelerationAndAngularRates( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize); - -/** \} */ - -/** \brief Generic function for making write register commands. - * - * The format parameters uses formats that look like "U4F4F8X1" which - * represents an unsigned 32-bit integer, followed by a 4-byte float - * (single-precision), an 8-byte float (double-precision, and finally a 1-byte - * flag field. The table below shows the possible combinations of formats. - * - * - * - * - * - * - * - * - *
FormatDescription
U11-byte unsigned integer (uint8_t)
U22-byte unsigned integer (uint16_t)
U44-byte unsigned integer (uint32_t)
F44-byte floating-point (single-precision)
F88-byte floating-point (double-precision)
- * - * An example of using the function for setting the VectorNav sensor's baudrate - * to 9600 is shown below. - * - * \code - * char buffer[256]; - * size_t cmdSize; - * - * VnUartPacket_genWrite( - * buffer, - * 256, - * VNERR_DETECTION_CHECKSUM_8BIT_XOR, - * 5, - * &cmdSize, - * "U4", - * 9600); - * - * buffer should contain "$VNWRG,5,9600*60\r\n" now. - * \endcode - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetection The type of error-detection to use in generating - * the command. - * \param[in] registerId The VectorNav sensor's register ID to read. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] format Format specifier for the variable arguments. - * \param[in] ... Variable argument list for generating the command. - * \return Indicates any errors encountered. - */ -VnError VnUartPacket_genWrite( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - uint16_t registerId, - size_t *cmdSize, - char const *format, - ...); - -/** \defgroup uart_genwrite_functions UART Generate Write Functions - * \brief This set of functions will generate command strings for writing to - * VectorNav sensor registers. - * - * These functions take the form shown below. XXX is replaced by the name - * of the register, buffer is provided by the user to be filled with the - * generated command, bufferSize is the number of bytes in the provided - * buffer, errorDetection indicates the type of error-detection to - * generate the command with, cmdSize is returned to the user to indicate - * the number of bytes of the generated command, and [Variable argument list] - * varies with the specified register being written to. - * - * \code - * VnError VnUartPacket_genWriteXXX( - * char *buffer, - * size_t bufferSize, - * VnErrorDetection errorDetection, - * size_t *cmdSize, - * [Variable argument list]); - * \endcode - * - * \{ - */ - -/** \brief Generates a command to write to the Binary Output 1 register. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] asyncMode The register's async mode. - * \param[in] rateDivisor The register's rate divisor field. - * \param[in] commonField The flags for Group 1 (Common) field. - * \param[in] timeField The flags for Group 2 (Time) field. - * \param[in] imuField The flags for Group 3 (IMU) field. - * \param[in] gpsField The flags for Group 4 (GPS) field. - * \param[in] attitudeField The flags for Group 5 (Attitude) field. - * \param[in] insField The flags for Group 6 (INS) field. - * \return Indicates any errors encountered. - */ -VnError VnUartPacket_genWriteBinaryOutput1( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint16_t asyncMode, - uint16_t rateDivisor, - uint16_t commonField, - uint16_t timeField, - uint16_t imuField, - uint16_t gpsField, - uint16_t attitudeField, - uint16_t insField, - uint16_t gps2Field); - -/** \brief Generates a command to write to the Binary Output 2 register. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in] bufferSize Number of bytes available in the provided buffer. -* \param[in] errorDetectionMode The type of error-detection to use in generating the command. -* \param[out] cmdSize The total number bytes in the generated command. -* \param[in] asyncMode The register's async mode. -* \param[in] rateDivisor The register's rate divisor field. -* \param[in] commonField The flags for Group 1 (Common) field. -* \param[in] timeField The flags for Group 2 (Time) field. -* \param[in] imuField The flags for Group 3 (IMU) field. -* \param[in] gpsField The flags for Group 4 (GPS) field. -* \param[in] attitudeField The flags for Group 5 (Attitude) field. -* \param[in] insField The flags for Group 6 (INS) field. -* \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genWriteBinaryOutput2( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint16_t asyncMode, - uint16_t rateDivisor, - uint16_t commonField, - uint16_t timeField, - uint16_t imuField, - uint16_t gpsField, - uint16_t attitudeField, - uint16_t insField, - uint16_t gps2Field); - -/** \brief Generates a command to write to the Binary Output 3 register. -* -* \param[in] buffer Caller provided buffer to place the generated command. -* \param[in] bufferSize Number of bytes available in the provided buffer. -* \param[in] errorDetectionMode The type of error-detection to use in generating the command. -* \param[out] cmdSize The total number bytes in the generated command. -* \param[in] asyncMode The register's async mode. -* \param[in] rateDivisor The register's rate divisor field. -* \param[in] commonField The flags for Group 1 (Common) field. -* \param[in] timeField The flags for Group 2 (Time) field. -* \param[in] imuField The flags for Group 3 (IMU) field. -* \param[in] gpsField The flags for Group 4 (GPS) field. -* \param[in] attitudeField The flags for Group 5 (Attitude) field. -* \param[in] insField The flags for Group 6 (INS) field. -* \return Indicates any errors encountered. -*/ -VnError VnUartPacket_genWriteBinaryOutput3( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint16_t asyncMode, - uint16_t rateDivisor, - uint16_t commonField, - uint16_t timeField, - uint16_t imuField, - uint16_t gpsField, - uint16_t attitudeField, - uint16_t insField, - uint16_t gps2Field); - -#ifdef EXTRA - -/** \brief Generates a command to write to the Binary Output 4 register. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] asyncMode The register's async mode. - * \param[in] rateDivisor The register's rate divisor field. - * \param[in] commonField The flags for Group 1 (Common) field. - * \param[in] timeField The flags for Group 2 (Time) field. - * \param[in] imuField The flags for Group 3 (IMU) field. - * \param[in] gpsField The flags for Group 4 (GPS) field. - * \param[in] attitudeField The flags for Group 5 (Attitude) field. - * \param[in] insField The flags for Group 6 (INS) field. - * \return Indicates any errors encountered. - */ -VnError VnUartPacket_genWriteBinaryOutput4( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint16_t asyncMode, - uint16_t rateDivisor, - uint16_t commonField, - uint16_t timeField, - uint16_t imuField, - uint16_t gpsField, - uint16_t attitudeField, - uint16_t insField, - uint16_t gps2Field); - -/** \brief Generates a command to write to the Binary Output 5 register. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] asyncMode The register's async mode. - * \param[in] rateDivisor The register's rate divisor field. - * \param[in] commonField The flags for Group 1 (Common) field. - * \param[in] timeField The flags for Group 2 (Time) field. - * \param[in] imuField The flags for Group 3 (IMU) field. - * \param[in] gpsField The flags for Group 4 (GPS) field. - * \param[in] attitudeField The flags for Group 5 (Attitude) field. - * \param[in] insField The flags for Group 6 (INS) field. - * \return Indicates any errors encountered. - */ -VnError VnUartPacket_genWriteBinaryOutput5( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint16_t asyncMode, - uint16_t rateDivisor, - uint16_t commonField, - uint16_t timeField, - uint16_t imuField, - uint16_t gpsField, - uint16_t attitudeField, - uint16_t insField, - uint16_t gps2Field); - -#endif - -/** \brief Generates a command to write to firmware update record to the VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] record Firmware Update Record to write to the sensor. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteFirmwareUpdate( - char* buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t* cmdSize, - char* record); - -/** \brief Generates a command to write to the User Tag register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] tag The register's Tag field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteUserTag( - char* buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t* cmdSize, - char* tag); - -/** \brief Generates a command to write to the Serial Baud Rate register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] baudrate The register's Baud Rate field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteSerialBaudRate( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint32_t baudrate); - -/** \brief Generates a command to write to the Serial Baud Rate register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] baudrate The register's Baud Rate field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteSerialBaudRateWithOptions( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint32_t baudrate); - -/** \brief Generates a command to write to the Async Data Output Type register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] ador The register's ADOR field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteAsyncDataOutputType( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint32_t ador); - -/** \brief Generates a command to write to the Async Data Output Type register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] ador The register's ADOR field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteAsyncDataOutputTypeWithOptions( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint32_t ador); - -/** \brief Generates a command to write to the Async Data Output Frequency register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] adof The register's ADOF field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteAsyncDataOutputFrequency( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint32_t adof); - -/** \brief Generates a command to write to the Async Data Output Frequency register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] adof The register's ADOF field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteAsyncDataOutputFrequencyWithOptions( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint32_t adof); - -/** \brief Generates a command to write to the Magnetic and Gravity Reference Vectors register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] magRef The register's MagRef field. - * \param[in] accRef The register's AccRef field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteMagneticAndGravityReferenceVectors( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - vec3f magRef, - vec3f accRef); - -/** \brief Generates a command to write to the Magnetometer Compensation register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] c The register's C field. - * \param[in] b The register's B field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteMagnetometerCompensation( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - mat3f c, - vec3f b); - -/** \brief Generates a command to write to the Acceleration Compensation register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] c The register's C field. - * \param[in] b The register's B field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteAccelerationCompensation( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - mat3f c, - vec3f b); - -/** \brief Generates a command to write to the Reference Frame Rotation register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] c The register's C field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteReferenceFrameRotation( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - mat3f c); - -/** \brief Generates a command to write to the Communication Protocol Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] serialCount The register's SerialCount field. - * \param[in] serialStatus The register's SerialStatus field. - * \param[in] spiCount The register's SPICount field. - * \param[in] spiStatus The register's SPIStatus field. - * \param[in] serialChecksum The register's SerialChecksum field. - * \param[in] spiChecksum The register's SPIChecksum field. - * \param[in] errorMode The register's ErrorMode field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteCommunicationProtocolControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t serialCount, - uint8_t serialStatus, - uint8_t spiCount, - uint8_t spiStatus, - uint8_t serialChecksum, - uint8_t spiChecksum, - uint8_t errorMode); - -/** \brief Generates a command to write to the Synchronization Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] syncInMode The register's SyncInMode field. - * \param[in] syncInEdge The register's SyncInEdge field. - * \param[in] syncInSkipFactor The register's SyncInSkipFactor field. - * \param[in] reserved1 The register's RESERVED1 field. - * \param[in] syncOutMode The register's SyncOutMode field. - * \param[in] syncOutPolarity The register's SyncOutPolarity field. - * \param[in] syncOutSkipFactor The register's SyncOutSkipFactor field. - * \param[in] syncOutPulseWidth The register's SyncOutPulseWidth field. - * \param[in] reserved2 The register's RESERVED2 field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteSynchronizationControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t syncInMode, - uint8_t syncInEdge, - uint16_t syncInSkipFactor, - uint32_t reserved1, - uint8_t syncOutMode, - uint8_t syncOutPolarity, - uint16_t syncOutSkipFactor, - uint32_t syncOutPulseWidth, - uint32_t reserved2); - -/** \brief Generates a command to write to the Synchronization Status register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] syncInCount The register's SyncInCount field. - * \param[in] syncInTime The register's SyncInTime field. - * \param[in] syncOutCount The register's SyncOutCount field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteSynchronizationStatus( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint32_t syncInCount, - uint32_t syncInTime, - uint32_t syncOutCount); - -/** \brief Generates a command to write to the VPE Basic Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] enable The register's Enable field. - * \param[in] headingMode The register's HeadingMode field. - * \param[in] filteringMode The register's FilteringMode field. - * \param[in] tuningMode The register's TuningMode field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteVpeBasicControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t enable, - uint8_t headingMode, - uint8_t filteringMode, - uint8_t tuningMode); - -/** \brief Generates a command to write to the VPE Magnetometer Basic Tuning register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] baseTuning The register's BaseTuning field. - * \param[in] adaptiveTuning The register's AdaptiveTuning field. - * \param[in] adaptiveFiltering The register's AdaptiveFiltering field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteVpeMagnetometerBasicTuning( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - vec3f baseTuning, - vec3f adaptiveTuning, - vec3f adaptiveFiltering); - -/** \brief Generates a command to write to the VPE Accelerometer Basic Tuning register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] baseTuning The register's BaseTuning field. - * \param[in] adaptiveTuning The register's AdaptiveTuning field. - * \param[in] adaptiveFiltering The register's AdaptiveFiltering field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteVpeAccelerometerBasicTuning( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - vec3f baseTuning, - vec3f adaptiveTuning, - vec3f adaptiveFiltering); - -/** \brief Generates a command to write to the Magnetometer Calibration Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] hsiMode The register's HSIMode field. - * \param[in] hsiOutput The register's HSIOutput field. - * \param[in] convergeRate The register's ConvergeRate field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteMagnetometerCalibrationControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t hsiMode, - uint8_t hsiOutput, - uint8_t convergeRate); - -/** \brief Generates a command to write to the Velocity Compensation Measurement register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] velocity The register's Velocity field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteVelocityCompensationMeasurement( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - vec3f velocity); - -/** \brief Generates a command to write to the Velocity Compensation Control register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] mode The register's Mode field. - * \param[in] velocityTuning The register's VelocityTuning field. - * \param[in] rateTuning The register's RateTuning field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteVelocityCompensationControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t mode, - float velocityTuning, - float rateTuning); - -/** \brief Generates a command to write to the GPS Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] mode The register's Mode field. - * \param[in] ppsSource The register's PpsSource field. - * \param[in] reserved1 The register's Reserved1 field. - * \param[in] reserved2 The register's Reserved2 field. - * \param[in] reserved3 The register's Reserved3 field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteGpsConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t mode, - uint8_t ppsSource, - uint8_t reserved1, - uint8_t reserved2, - uint8_t reserved3); - -/** \brief Generates a command to write to the GPS Antenna Offset register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] position The register's Position field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteGpsAntennaOffset( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - vec3f position); - -/** \brief Generates a command to write to the INS Basic Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] scenario The register's Scenario field. - * \param[in] ahrsAiding The register's AhrsAiding field. - * \param[in] estBaseline The register's EstBaseline field. - * \param[in] resv2 The register's Resv2 field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteInsBasicConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t scenario, - uint8_t ahrsAiding, - uint8_t estBaseline, - uint8_t resv2); - -/** \brief Generates a command to write to the Startup Filter Bias Estimate register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] gyroBias The register's GyroBias field. - * \param[in] accelBias The register's AccelBias field. - * \param[in] pressureBias The register's PressureBias field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteStartupFilterBiasEstimate( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - vec3f gyroBias, - vec3f accelBias, - float pressureBias); - -/** \brief Generates a command to write to the Delta Theta and Delta Velocity Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] integrationFrame The register's IntegrationFrame field. - * \param[in] gyroCompensation The register's GyroCompensation field. - * \param[in] accelCompensation The register's AccelCompensation field. - * \param[in] reserved1 The register's Reserved1 field. - * \param[in] reserved2 The register's Reserved2 field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteDeltaThetaAndDeltaVelocityConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t integrationFrame, - uint8_t gyroCompensation, - uint8_t accelCompensation, - uint8_t reserved1, - uint16_t reserved2); - -/** \brief Generates a command to write to the Reference Vector Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] useMagModel The register's UseMagModel field. - * \param[in] useGravityModel The register's UseGravityModel field. - * \param[in] resv1 The register's Resv1 field. - * \param[in] resv2 The register's Resv2 field. - * \param[in] recalcThreshold The register's RecalcThreshold field. - * \param[in] year The register's Year field. - * \param[in] position The register's Position field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteReferenceVectorConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t useMagModel, - uint8_t useGravityModel, - uint8_t resv1, - uint8_t resv2, - uint32_t recalcThreshold, - float year, - vec3d position); - -/** \brief Generates a command to write to the Gyro Compensation register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] c The register's C field. - * \param[in] b The register's B field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteGyroCompensation( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - mat3f c, - vec3f b); - -/** \brief Generates a command to write to the IMU Filtering Configuration register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] magWindowSize The register's MagWindowSize field. - * \param[in] accelWindowSize The register's AccelWindowSize field. - * \param[in] gyroWindowSize The register's GyroWindowSize field. - * \param[in] tempWindowSize The register's TempWindowSize field. - * \param[in] presWindowSize The register's PresWindowSize field. - * \param[in] magFilterMode The register's MagFilterMode field. - * \param[in] accelFilterMode The register's AccelFilterMode field. - * \param[in] gyroFilterMode The register's GyroFilterMode field. - * \param[in] tempFilterMode The register's TempFilterMode field. - * \param[in] presFilterMode The register's PresFilterMode field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteImuFilteringConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint16_t magWindowSize, - uint16_t accelWindowSize, - uint16_t gyroWindowSize, - uint16_t tempWindowSize, - uint16_t presWindowSize, - uint8_t magFilterMode, - uint8_t accelFilterMode, - uint8_t gyroFilterMode, - uint8_t tempFilterMode, - uint8_t presFilterMode); - -/** \brief Generates a command to write to the GPS Compass Baseline register on a VectorNav sensor. - * - * \param[in] buffer Caller provided buffer to place the generated command. - * \param[in] bufferSize Number of bytes available in the provided buffer. - * \param[in] errorDetectionMode The type of error-detection to use in generating the command. - * \param[out] cmdSize The total number bytes in the generated command. - * \param[in] position The register's Position field. - * \param[in] uncertainty The register's Uncertainty field. - * \return Indicates any errors encountered. */ -VnError VnUartPacket_genWriteGpsCompassBaseline( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - vec3f position, - vec3f uncertainty); - -/** \brief Parses an error packet to get the error type. - * - * \param[in] packet The associated packet. - * \param[out] error The reported error. - */ -void VnUartPacket_parseError(VnUartPacket *packet, uint8_t *error); - -/** \brief Parses an error packet to get the error type. -* -* \param[in] packet The associated packet. -* \param[out] error The reported error. -*/ -void VnUartPacket_parseErrorRaw(uint8_t *packet, uint8_t *error); - -/** \brief Parses a response from reading any of the Binary Output registers. - * - * \param[in] packet The associated packet. - * \param[out] asyncMode The register's AsyncMode field. - * \param[out] rateDivisor The register's RateDivisor field. - * \param[out] outputGroup The register's OutputGroup field. - * \param[out] commonField The set fields of Output Group 1 (Common) if present. - * \param[out] timeField The set fields of Output Group 2 (Time) if present. - * \param[out] imuField The set fields of Output Group 3 (IMU) if present. - * \param[out] gpsField The set fields of Output Group 4 (GPS) if present. - * \param[out] attitudeField The set fields of Output Group 5 (Attitude) if present. - * \param[out] insField The set fields of Output Group 6 (INS) if present. - * \param[out] gps2Field The set fields of Output Group 7 (GPS2) if present. - */ -void VnUartPacket_parseBinaryOutput( - VnUartPacket *packet, - uint16_t* asyncMode, - uint16_t* rateDivisor, - uint16_t* outputGroup, - uint16_t* commonField, - uint16_t* timeField, - uint16_t* imuField, - uint16_t* gpsField, - uint16_t* attitudeField, - uint16_t* insField, - uint16_t* gps2Field); - -/** \brief Parses a response from reading any of the Binary Output registers. -* -* \param[in] packet The associated packet. -* \param[out] asyncMode The register's AsyncMode field. -* \param[out] rateDivisor The register's RateDivisor field. -* \param[out] outputGroup The register's OutputGroup field. -* \param[out] commonField The set fields of Output Group 1 (Common) if present. -* \param[out] timeField The set fields of Output Group 2 (Time) if present. -* \param[out] imuField The set fields of Output Group 3 (IMU) if present. -* \param[out] gpsField The set fields of Output Group 4 (GPS) if present. -* \param[out] attitudeField The set fields of Output Group 5 (Attitude) if present. -* \param[out] insField The set fields of Output Group 6 (INS) if present. -* \param[out] gps2Field The set fields of Output Group 7 (GPS2) if present. -*/ -void VnUartPacket_parseBinaryOutputRaw( - uint8_t *packet, - uint16_t* asyncMode, - uint16_t* rateDivisor, - uint16_t* outputGroup, - uint16_t* commonField, - uint16_t* timeField, - uint16_t* imuField, - uint16_t* gpsField, - uint16_t* attitudeField, - uint16_t* insField, - uint16_t* gps2Field); - -/** \brief Parses a response from reading the User Tag register. - * - * \param[in] packet The associated packet. - * \param[out] tag The register's Tag field. - */ -void VnUartPacket_parseUserTag(VnUartPacket *packet, char* tag); - -/** \brief Parses a response from reading the User Tag register. - * - * \param[in] packet The associated packet. - * \param[out] tag The register's Tag field. - */ -void VnUartPacket_parseUserTagRaw(char *packet, char* tag); - -/** \brief Parses a response from reading the Model Number register. - * - * \param[in] packet The associated packet. - * \param[out] productName The register's Product Name field. - */ -void VnUartPacket_parseModelNumber(VnUartPacket *packet, char* productName); - -/** \brief Parses a response from reading the Model Number register. - * - * \param[in] packet The associated packet. - * \param[out] productName The register's Product Name field. - */ -void VnUartPacket_parseModelNumberRaw(char *packet, char* productName); - -/** \brief Parses a response from reading the Hardware Revision register. - * - * \param[in] packet The associated packet. - * \param[out] revision The register's Revision field. - */ -void VnUartPacket_parseHardwareRevision(VnUartPacket *packet, uint32_t* revision); - -/** \brief Parses a response from reading the Hardware Revision register. - * - * \param[in] packet The associated packet. - * \param[out] revision The register's Revision field. - */ -void VnUartPacket_parseHardwareRevisionRaw(char *packet, uint32_t* revision); - -/** \brief Parses a response from reading the Serial Number register. - * - * \param[in] packet The associated packet. - * \param[out] serialNum The register's SerialNum field. - */ -void VnUartPacket_parseSerialNumber(VnUartPacket *packet, uint32_t* serialNum); - -/** \brief Parses a response from reading the Serial Number register. - * - * \param[in] packet The associated packet. - * \param[out] serialNum The register's SerialNum field. - */ -void VnUartPacket_parseSerialNumberRaw(char *packet, uint32_t* serialNum); - -/** \brief Parses a response from reading the Firmware Version register. - * - * \param[in] packet The associated packet. - * \param[out] firmwareVersion The register's Firmware Version field. - */ -void VnUartPacket_parseFirmwareVersion(VnUartPacket *packet, char* firmwareVersion); - -/** \brief Parses a response from reading the Firmware Version register. - * - * \param[in] packet The associated packet. - * \param[out] firmwareVersion The register's Firmware Version field. - */ -void VnUartPacket_parseFirmwareVersionRaw(char *packet, char* firmwareVersion); - -/** \brief Parses a response from reading the Serial Baud Rate register. - * - * \param[in] packet The associated packet. - * \param[out] baudrate The register's Baud Rate field. - */ -void VnUartPacket_parseSerialBaudRate(VnUartPacket *packet, uint32_t* baudrate); - -/** \brief Parses a response from reading the Serial Baud Rate register. - * - * \param[in] packet The associated packet. - * \param[out] baudrate The register's Baud Rate field. - */ -void VnUartPacket_parseSerialBaudRateRaw(char *packet, uint32_t* baudrate); - -/** \brief Parses a response from reading the Async Data Output Type register. - * - * \param[in] packet The associated packet. - * \param[out] ador The register's ADOR field. - */ -void VnUartPacket_parseAsyncDataOutputType(VnUartPacket *packet, uint32_t* ador); - -/** \brief Parses a response from reading the Async Data Output Type register. - * - * \param[in] packet The associated packet. - * \param[out] ador The register's ADOR field. - */ -void VnUartPacket_parseAsyncDataOutputTypeRaw(char *packet, uint32_t* ador); - -/** \brief Parses a response from reading the Async Data Output Frequency register. - * - * \param[in] packet The associated packet. - * \param[out] adof The register's ADOF field. - */ -void VnUartPacket_parseAsyncDataOutputFrequency(VnUartPacket *packet, uint32_t* adof); - -/** \brief Parses a response from reading the Async Data Output Frequency register. - * - * \param[in] packet The associated packet. - * \param[out] adof The register's ADOF field. - */ -void VnUartPacket_parseAsyncDataOutputFrequencyRaw(char *packet, uint32_t* adof); - -/** \brief Parses a response from reading the Yaw Pitch Roll register. - * - * \param[in] packet The associated packet. - * \param[out] yawPitchRoll The register's YawPitchRoll field. - */ -void VnUartPacket_parseYawPitchRoll(VnUartPacket *packet, vec3f* yawPitchRoll); - -/** \brief Parses a response from reading the Yaw Pitch Roll register. - * - * \param[in] packet The associated packet. - * \param[out] yawPitchRoll The register's YawPitchRoll field. - */ -void VnUartPacket_parseYawPitchRollRaw(char *packet, vec3f* yawPitchRoll); - -/** \brief Parses a response from reading the Attitude Quaternion register. - * - * \param[in] packet The associated packet. - * \param[out] quat The register's Quat field. - */ -void VnUartPacket_parseAttitudeQuaternion(VnUartPacket *packet, vec4f* quat); - -/** \brief Parses a response from reading the Attitude Quaternion register. - * - * \param[in] packet The associated packet. - * \param[out] quat The register's Quat field. - */ -void VnUartPacket_parseAttitudeQuaternionRaw(char *packet, vec4f* quat); - -/** \brief Parses a response from reading the Quaternion, Magnetic, Acceleration and Angular Rates register. - * - * \param[in] packet The associated packet. - * \param[out] quat The register's Quat field. - * \param[out] mag The register's Mag field. - * \param[out] accel The register's Accel field. - * \param[out] gyro The register's Gyro field. - */ -void VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRates(VnUartPacket *packet, vec4f* quat, vec3f* mag, vec3f* accel, vec3f* gyro); - -/** \brief Parses a response from reading the Quaternion, Magnetic, Acceleration and Angular Rates register. - * - * \param[in] packet The associated packet. - * \param[out] quat The register's Quat field. - * \param[out] mag The register's Mag field. - * \param[out] accel The register's Accel field. - * \param[out] gyro The register's Gyro field. - */ -void VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRatesRaw(char *packet, vec4f* quat, vec3f* mag, vec3f* accel, vec3f* gyro); - -/** \brief Parses a response from reading the Magnetic Measurements register. - * - * \param[in] packet The associated packet. - * \param[out] mag The register's Mag field. - */ -void VnUartPacket_parseMagneticMeasurements(VnUartPacket *packet, vec3f* mag); - -/** \brief Parses a response from reading the Magnetic Measurements register. - * - * \param[in] packet The associated packet. - * \param[out] mag The register's Mag field. - */ -void VnUartPacket_parseMagneticMeasurementsRaw(char *packet, vec3f* mag); - -/** \brief Parses a response from reading the Acceleration Measurements register. - * - * \param[in] packet The associated packet. - * \param[out] accel The register's Accel field. - */ -void VnUartPacket_parseAccelerationMeasurements(VnUartPacket *packet, vec3f* accel); - -/** \brief Parses a response from reading the Acceleration Measurements register. - * - * \param[in] packet The associated packet. - * \param[out] accel The register's Accel field. - */ -void VnUartPacket_parseAccelerationMeasurementsRaw(char *packet, vec3f* accel); - -/** \brief Parses a response from reading the Angular Rate Measurements register. - * - * \param[in] packet The associated packet. - * \param[out] gyro The register's Gyro field. - */ -void VnUartPacket_parseAngularRateMeasurements(VnUartPacket *packet, vec3f* gyro); - -/** \brief Parses a response from reading the Angular Rate Measurements register. - * - * \param[in] packet The associated packet. - * \param[out] gyro The register's Gyro field. - */ -void VnUartPacket_parseAngularRateMeasurementsRaw(char *packet, vec3f* gyro); - -/** \brief Parses a response from reading the Magnetic, Acceleration and Angular Rates register. - * - * \param[in] packet The associated packet. - * \param[out] mag The register's Mag field. - * \param[out] accel The register's Accel field. - * \param[out] gyro The register's Gyro field. - */ -void VnUartPacket_parseMagneticAccelerationAndAngularRates(VnUartPacket *packet, vec3f* mag, vec3f* accel, vec3f* gyro); - -/** \brief Parses a response from reading the Magnetic, Acceleration and Angular Rates register. - * - * \param[in] packet The associated packet. - * \param[out] mag The register's Mag field. - * \param[out] accel The register's Accel field. - * \param[out] gyro The register's Gyro field. - */ -void VnUartPacket_parseMagneticAccelerationAndAngularRatesRaw(char *packet, vec3f* mag, vec3f* accel, vec3f* gyro); - -/** \brief Parses a response from reading the Magnetic and Gravity Reference Vectors register. - * - * \param[in] packet The associated packet. - * \param[out] magRef The register's MagRef field. - * \param[out] accRef The register's AccRef field. - */ -void VnUartPacket_parseMagneticAndGravityReferenceVectors(VnUartPacket *packet, vec3f* magRef, vec3f* accRef); - -/** \brief Parses a response from reading the Magnetic and Gravity Reference Vectors register. - * - * \param[in] packet The associated packet. - * \param[out] magRef The register's MagRef field. - * \param[out] accRef The register's AccRef field. - */ -void VnUartPacket_parseMagneticAndGravityReferenceVectorsRaw(char *packet, vec3f* magRef, vec3f* accRef); - -/** \brief Parses a response from reading the Filter Measurements Variance Parameters register. - * - * \param[in] packet The associated packet. - * \param[out] angularWalkVariance The register's Angular Walk Variance field. - * \param[out] angularRateVariance The register's Angular Rate Variance field. - * \param[out] magneticVariance The register's Magnetic Variance field. - * \param[out] accelerationVariance The register's Acceleration Variance field. - */ -void VnUartPacket_parseFilterMeasurementsVarianceParameters(VnUartPacket *packet, float* angularWalkVariance, vec3f* angularRateVariance, vec3f* magneticVariance, vec3f* accelerationVariance); - -/** \brief Parses a response from reading the Filter Measurements Variance Parameters register. - * - * \param[in] packet The associated packet. - * \param[out] angularWalkVariance The register's Angular Walk Variance field. - * \param[out] angularRateVariance The register's Angular Rate Variance field. - * \param[out] magneticVariance The register's Magnetic Variance field. - * \param[out] accelerationVariance The register's Acceleration Variance field. - */ -void VnUartPacket_parseFilterMeasurementsVarianceParametersRaw(char *packet, float* angularWalkVariance, vec3f* angularRateVariance, vec3f* magneticVariance, vec3f* accelerationVariance); - -/** \brief Parses a response from reading the Magnetometer Compensation register. - * - * \param[in] packet The associated packet. - * \param[out] c The register's C field. - * \param[out] b The register's B field. - */ -void VnUartPacket_parseMagnetometerCompensation(VnUartPacket *packet, mat3f* c, vec3f* b); - -/** \brief Parses a response from reading the Magnetometer Compensation register. - * - * \param[in] packet The associated packet. - * \param[out] c The register's C field. - * \param[out] b The register's B field. - */ -void VnUartPacket_parseMagnetometerCompensationRaw(char *packet, mat3f* c, vec3f* b); - -/** \brief Parses a response from reading the Filter Active Tuning Parameters register. - * - * \param[in] packet The associated packet. - * \param[out] magneticDisturbanceGain The register's Magnetic Disturbance Gain field. - * \param[out] accelerationDisturbanceGain The register's Acceleration Disturbance Gain field. - * \param[out] magneticDisturbanceMemory The register's Magnetic Disturbance Memory field. - * \param[out] accelerationDisturbanceMemory The register's Acceleration Disturbance Memory field. - */ -void VnUartPacket_parseFilterActiveTuningParameters(VnUartPacket *packet, float* magneticDisturbanceGain, float* accelerationDisturbanceGain, float* magneticDisturbanceMemory, float* accelerationDisturbanceMemory); - -/** \brief Parses a response from reading the Filter Active Tuning Parameters register. - * - * \param[in] packet The associated packet. - * \param[out] magneticDisturbanceGain The register's Magnetic Disturbance Gain field. - * \param[out] accelerationDisturbanceGain The register's Acceleration Disturbance Gain field. - * \param[out] magneticDisturbanceMemory The register's Magnetic Disturbance Memory field. - * \param[out] accelerationDisturbanceMemory The register's Acceleration Disturbance Memory field. - */ -void VnUartPacket_parseFilterActiveTuningParametersRaw(char *packet, float* magneticDisturbanceGain, float* accelerationDisturbanceGain, float* magneticDisturbanceMemory, float* accelerationDisturbanceMemory); - -/** \brief Parses a response from reading the Acceleration Compensation register. - * - * \param[in] packet The associated packet. - * \param[out] c The register's C field. - * \param[out] b The register's B field. - */ -void VnUartPacket_parseAccelerationCompensation(VnUartPacket *packet, mat3f* c, vec3f* b); - -/** \brief Parses a response from reading the Acceleration Compensation register. - * - * \param[in] packet The associated packet. - * \param[out] c The register's C field. - * \param[out] b The register's B field. - */ -void VnUartPacket_parseAccelerationCompensationRaw(char *packet, mat3f* c, vec3f* b); - -/** \brief Parses a response from reading the Reference Frame Rotation register. - * - * \param[in] packet The associated packet. - * \param[out] c The register's C field. - */ -void VnUartPacket_parseReferenceFrameRotation(VnUartPacket *packet, mat3f* c); - -/** \brief Parses a response from reading the Reference Frame Rotation register. - * - * \param[in] packet The associated packet. - * \param[out] c The register's C field. - */ -void VnUartPacket_parseReferenceFrameRotationRaw(char *packet, mat3f* c); - -/** \brief Parses a response from reading the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register. - * - * \param[in] packet The associated packet. - * \param[out] yawPitchRoll The register's YawPitchRoll field. - * \param[out] mag The register's Mag field. - * \param[out] accel The register's Accel field. - * \param[out] gyro The register's Gyro field. - */ -void VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRates(VnUartPacket *packet, vec3f* yawPitchRoll, vec3f* mag, vec3f* accel, vec3f* gyro); - -/** \brief Parses a response from reading the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register. - * - * \param[in] packet The associated packet. - * \param[out] yawPitchRoll The register's YawPitchRoll field. - * \param[out] mag The register's Mag field. - * \param[out] accel The register's Accel field. - * \param[out] gyro The register's Gyro field. - */ -void VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRatesRaw(char *packet, vec3f* yawPitchRoll, vec3f* mag, vec3f* accel, vec3f* gyro); - -/** \brief Parses a response from reading the Communication Protocol Control register. - * - * \param[in] packet The associated packet. - * \param[out] serialCount The register's SerialCount field. - * \param[out] serialStatus The register's SerialStatus field. - * \param[out] spiCount The register's SPICount field. - * \param[out] spiStatus The register's SPIStatus field. - * \param[out] serialChecksum The register's SerialChecksum field. - * \param[out] spiChecksum The register's SPIChecksum field. - * \param[out] errorMode The register's ErrorMode field. - */ -void VnUartPacket_parseCommunicationProtocolControl(VnUartPacket *packet, uint8_t* serialCount, uint8_t* serialStatus, uint8_t* spiCount, uint8_t* spiStatus, uint8_t* serialChecksum, uint8_t* spiChecksum, uint8_t* errorMode); - -/** \brief Parses a response from reading the Communication Protocol Control register. - * - * \param[in] packet The associated packet. - * \param[out] serialCount The register's SerialCount field. - * \param[out] serialStatus The register's SerialStatus field. - * \param[out] spiCount The register's SPICount field. - * \param[out] spiStatus The register's SPIStatus field. - * \param[out] serialChecksum The register's SerialChecksum field. - * \param[out] spiChecksum The register's SPIChecksum field. - * \param[out] errorMode The register's ErrorMode field. - */ -void VnUartPacket_parseCommunicationProtocolControlRaw(char *packet, uint8_t* serialCount, uint8_t* serialStatus, uint8_t* spiCount, uint8_t* spiStatus, uint8_t* serialChecksum, uint8_t* spiChecksum, uint8_t* errorMode); - -/** \brief Parses a response from reading the Synchronization Control register. - * - * \param[in] packet The associated packet. - * \param[out] syncInMode The register's SyncInMode field. - * \param[out] syncInEdge The register's SyncInEdge field. - * \param[out] syncInSkipFactor The register's SyncInSkipFactor field. - * \param[out] reserved1 The register's RESERVED1 field. - * \param[out] syncOutMode The register's SyncOutMode field. - * \param[out] syncOutPolarity The register's SyncOutPolarity field. - * \param[out] syncOutSkipFactor The register's SyncOutSkipFactor field. - * \param[out] syncOutPulseWidth The register's SyncOutPulseWidth field. - * \param[out] reserved2 The register's RESERVED2 field. - */ -void VnUartPacket_parseSynchronizationControl(VnUartPacket *packet, uint8_t* syncInMode, uint8_t* syncInEdge, uint16_t* syncInSkipFactor, uint32_t* reserved1, uint8_t* syncOutMode, uint8_t* syncOutPolarity, uint16_t* syncOutSkipFactor, uint32_t* syncOutPulseWidth, uint32_t* reserved2); - -/** \brief Parses a response from reading the Synchronization Control register. - * - * \param[in] packet The associated packet. - * \param[out] syncInMode The register's SyncInMode field. - * \param[out] syncInEdge The register's SyncInEdge field. - * \param[out] syncInSkipFactor The register's SyncInSkipFactor field. - * \param[out] reserved1 The register's RESERVED1 field. - * \param[out] syncOutMode The register's SyncOutMode field. - * \param[out] syncOutPolarity The register's SyncOutPolarity field. - * \param[out] syncOutSkipFactor The register's SyncOutSkipFactor field. - * \param[out] syncOutPulseWidth The register's SyncOutPulseWidth field. - * \param[out] reserved2 The register's RESERVED2 field. - */ -void VnUartPacket_parseSynchronizationControlRaw(char *packet, uint8_t* syncInMode, uint8_t* syncInEdge, uint16_t* syncInSkipFactor, uint32_t* reserved1, uint8_t* syncOutMode, uint8_t* syncOutPolarity, uint16_t* syncOutSkipFactor, uint32_t* syncOutPulseWidth, uint32_t* reserved2); - -/** \brief Parses a response from reading the Synchronization Status register. - * - * \param[in] packet The associated packet. - * \param[out] syncInCount The register's SyncInCount field. - * \param[out] syncInTime The register's SyncInTime field. - * \param[out] syncOutCount The register's SyncOutCount field. - */ -void VnUartPacket_parseSynchronizationStatus(VnUartPacket *packet, uint32_t* syncInCount, uint32_t* syncInTime, uint32_t* syncOutCount); - -/** \brief Parses a response from reading the Synchronization Status register. - * - * \param[in] packet The associated packet. - * \param[out] syncInCount The register's SyncInCount field. - * \param[out] syncInTime The register's SyncInTime field. - * \param[out] syncOutCount The register's SyncOutCount field. - */ -void VnUartPacket_parseSynchronizationStatusRaw(char *packet, uint32_t* syncInCount, uint32_t* syncInTime, uint32_t* syncOutCount); - -/** \brief Parses a response from reading the Filter Basic Control register. - * - * \param[in] packet The associated packet. - * \param[out] magMode The register's MagMode field. - * \param[out] extMagMode The register's ExtMagMode field. - * \param[out] extAccMode The register's ExtAccMode field. - * \param[out] extGyroMode The register's ExtGyroMode field. - * \param[out] gyroLimit The register's GyroLimit field. - */ -void VnUartPacket_parseFilterBasicControl(VnUartPacket *packet, uint8_t* magMode, uint8_t* extMagMode, uint8_t* extAccMode, uint8_t* extGyroMode, vec3f* gyroLimit); - -/** \brief Parses a response from reading the Filter Basic Control register. - * - * \param[in] packet The associated packet. - * \param[out] magMode The register's MagMode field. - * \param[out] extMagMode The register's ExtMagMode field. - * \param[out] extAccMode The register's ExtAccMode field. - * \param[out] extGyroMode The register's ExtGyroMode field. - * \param[out] gyroLimit The register's GyroLimit field. - */ -void VnUartPacket_parseFilterBasicControlRaw(char *packet, uint8_t* magMode, uint8_t* extMagMode, uint8_t* extAccMode, uint8_t* extGyroMode, vec3f* gyroLimit); - -/** \brief Parses a response from reading the VPE Basic Control register. - * - * \param[in] packet The associated packet. - * \param[out] enable The register's Enable field. - * \param[out] headingMode The register's HeadingMode field. - * \param[out] filteringMode The register's FilteringMode field. - * \param[out] tuningMode The register's TuningMode field. - */ -void VnUartPacket_parseVpeBasicControl(VnUartPacket *packet, uint8_t* enable, uint8_t* headingMode, uint8_t* filteringMode, uint8_t* tuningMode); - -/** \brief Parses a response from reading the VPE Basic Control register. - * - * \param[in] packet The associated packet. - * \param[out] enable The register's Enable field. - * \param[out] headingMode The register's HeadingMode field. - * \param[out] filteringMode The register's FilteringMode field. - * \param[out] tuningMode The register's TuningMode field. - */ -void VnUartPacket_parseVpeBasicControlRaw(char *packet, uint8_t* enable, uint8_t* headingMode, uint8_t* filteringMode, uint8_t* tuningMode); - -/** \brief Parses a response from reading the VPE Magnetometer Basic Tuning register. - * - * \param[in] packet The associated packet. - * \param[out] baseTuning The register's BaseTuning field. - * \param[out] adaptiveTuning The register's AdaptiveTuning field. - * \param[out] adaptiveFiltering The register's AdaptiveFiltering field. - */ -void VnUartPacket_parseVpeMagnetometerBasicTuning(VnUartPacket *packet, vec3f* baseTuning, vec3f* adaptiveTuning, vec3f* adaptiveFiltering); - -/** \brief Parses a response from reading the VPE Magnetometer Basic Tuning register. - * - * \param[in] packet The associated packet. - * \param[out] baseTuning The register's BaseTuning field. - * \param[out] adaptiveTuning The register's AdaptiveTuning field. - * \param[out] adaptiveFiltering The register's AdaptiveFiltering field. - */ -void VnUartPacket_parseVpeMagnetometerBasicTuningRaw(char *packet, vec3f* baseTuning, vec3f* adaptiveTuning, vec3f* adaptiveFiltering); - -/** \brief Parses a response from reading the VPE Magnetometer Advanced Tuning register. - * - * \param[in] packet The associated packet. - * \param[out] minFiltering The register's MinFiltering field. - * \param[out] maxFiltering The register's MaxFiltering field. - * \param[out] maxAdaptRate The register's MaxAdaptRate field. - * \param[out] disturbanceWindow The register's DisturbanceWindow field. - * \param[out] maxTuning The register's MaxTuning field. - */ -void VnUartPacket_parseVpeMagnetometerAdvancedTuning(VnUartPacket *packet, vec3f* minFiltering, vec3f* maxFiltering, float* maxAdaptRate, float* disturbanceWindow, float* maxTuning); - -/** \brief Parses a response from reading the VPE Magnetometer Advanced Tuning register. - * - * \param[in] packet The associated packet. - * \param[out] minFiltering The register's MinFiltering field. - * \param[out] maxFiltering The register's MaxFiltering field. - * \param[out] maxAdaptRate The register's MaxAdaptRate field. - * \param[out] disturbanceWindow The register's DisturbanceWindow field. - * \param[out] maxTuning The register's MaxTuning field. - */ -void VnUartPacket_parseVpeMagnetometerAdvancedTuningRaw(char *packet, vec3f* minFiltering, vec3f* maxFiltering, float* maxAdaptRate, float* disturbanceWindow, float* maxTuning); - -/** \brief Parses a response from reading the VPE Accelerometer Basic Tuning register. - * - * \param[in] packet The associated packet. - * \param[out] baseTuning The register's BaseTuning field. - * \param[out] adaptiveTuning The register's AdaptiveTuning field. - * \param[out] adaptiveFiltering The register's AdaptiveFiltering field. - */ -void VnUartPacket_parseVpeAccelerometerBasicTuning(VnUartPacket *packet, vec3f* baseTuning, vec3f* adaptiveTuning, vec3f* adaptiveFiltering); - -/** \brief Parses a response from reading the VPE Accelerometer Basic Tuning register. - * - * \param[in] packet The associated packet. - * \param[out] baseTuning The register's BaseTuning field. - * \param[out] adaptiveTuning The register's AdaptiveTuning field. - * \param[out] adaptiveFiltering The register's AdaptiveFiltering field. - */ -void VnUartPacket_parseVpeAccelerometerBasicTuningRaw(char *packet, vec3f* baseTuning, vec3f* adaptiveTuning, vec3f* adaptiveFiltering); - -/** \brief Parses a response from reading the VPE Accelerometer Advanced Tuning register. - * - * \param[in] packet The associated packet. - * \param[out] minFiltering The register's MinFiltering field. - * \param[out] maxFiltering The register's MaxFiltering field. - * \param[out] maxAdaptRate The register's MaxAdaptRate field. - * \param[out] disturbanceWindow The register's DisturbanceWindow field. - * \param[out] maxTuning The register's MaxTuning field. - */ -void VnUartPacket_parseVpeAccelerometerAdvancedTuning(VnUartPacket *packet, vec3f* minFiltering, vec3f* maxFiltering, float* maxAdaptRate, float* disturbanceWindow, float* maxTuning); - -/** \brief Parses a response from reading the VPE Accelerometer Advanced Tuning register. - * - * \param[in] packet The associated packet. - * \param[out] minFiltering The register's MinFiltering field. - * \param[out] maxFiltering The register's MaxFiltering field. - * \param[out] maxAdaptRate The register's MaxAdaptRate field. - * \param[out] disturbanceWindow The register's DisturbanceWindow field. - * \param[out] maxTuning The register's MaxTuning field. - */ -void VnUartPacket_parseVpeAccelerometerAdvancedTuningRaw(char *packet, vec3f* minFiltering, vec3f* maxFiltering, float* maxAdaptRate, float* disturbanceWindow, float* maxTuning); - -/** \brief Parses a response from reading the VPE Gyro Basic Tuning register. - * - * \param[in] packet The associated packet. - * \param[out] angularWalkVariance The register's AngularWalkVariance field. - * \param[out] baseTuning The register's BaseTuning field. - * \param[out] adaptiveTuning The register's AdaptiveTuning field. - */ -void VnUartPacket_parseVpeGyroBasicTuning(VnUartPacket *packet, vec3f* angularWalkVariance, vec3f* baseTuning, vec3f* adaptiveTuning); - -/** \brief Parses a response from reading the VPE Gyro Basic Tuning register. - * - * \param[in] packet The associated packet. - * \param[out] angularWalkVariance The register's AngularWalkVariance field. - * \param[out] baseTuning The register's BaseTuning field. - * \param[out] adaptiveTuning The register's AdaptiveTuning field. - */ -void VnUartPacket_parseVpeGyroBasicTuningRaw(char *packet, vec3f* angularWalkVariance, vec3f* baseTuning, vec3f* adaptiveTuning); - -/** \brief Parses a response from reading the Filter Startup Gyro Bias register. - * - * \param[in] packet The associated packet. - * \param[out] bias The register's Bias field. - */ -void VnUartPacket_parseFilterStartupGyroBias(VnUartPacket *packet, vec3f* bias); - -/** \brief Parses a response from reading the Filter Startup Gyro Bias register. - * - * \param[in] packet The associated packet. - * \param[out] bias The register's Bias field. - */ -void VnUartPacket_parseFilterStartupGyroBiasRaw(char *packet, vec3f* bias); - -/** \brief Parses a response from reading the Magnetometer Calibration Control register. - * - * \param[in] packet The associated packet. - * \param[out] hsiMode The register's HSIMode field. - * \param[out] hsiOutput The register's HSIOutput field. - * \param[out] convergeRate The register's ConvergeRate field. - */ -void VnUartPacket_parseMagnetometerCalibrationControl(VnUartPacket *packet, uint8_t* hsiMode, uint8_t* hsiOutput, uint8_t* convergeRate); - -/** \brief Parses a response from reading the Magnetometer Calibration Control register. - * - * \param[in] packet The associated packet. - * \param[out] hsiMode The register's HSIMode field. - * \param[out] hsiOutput The register's HSIOutput field. - * \param[out] convergeRate The register's ConvergeRate field. - */ -void VnUartPacket_parseMagnetometerCalibrationControlRaw(char *packet, uint8_t* hsiMode, uint8_t* hsiOutput, uint8_t* convergeRate); - -/** \brief Parses a response from reading the Calculated Magnetometer Calibration register. - * - * \param[in] packet The associated packet. - * \param[out] c The register's C field. - * \param[out] b The register's B field. - */ -void VnUartPacket_parseCalculatedMagnetometerCalibration(VnUartPacket *packet, mat3f* c, vec3f* b); - -/** \brief Parses a response from reading the Calculated Magnetometer Calibration register. - * - * \param[in] packet The associated packet. - * \param[out] c The register's C field. - * \param[out] b The register's B field. - */ -void VnUartPacket_parseCalculatedMagnetometerCalibrationRaw(char *packet, mat3f* c, vec3f* b); - -/** \brief Parses a response from reading the Indoor Heading Mode Control register. - * - * \param[in] packet The associated packet. - * \param[out] maxRateError The register's Max Rate Error field. - * \param[out] reserved1 The register's Reserved1 field. - */ -void VnUartPacket_parseIndoorHeadingModeControl(VnUartPacket *packet, float* maxRateError, uint8_t* reserved1); - -/** \brief Parses a response from reading the Indoor Heading Mode Control register. - * - * \param[in] packet The associated packet. - * \param[out] maxRateError The register's Max Rate Error field. - * \param[out] reserved1 The register's Reserved1 field. - */ -void VnUartPacket_parseIndoorHeadingModeControlRaw(char *packet, float* maxRateError, uint8_t* reserved1); - -/** \brief Parses a response from reading the Velocity Compensation Measurement register. - * - * \param[in] packet The associated packet. - * \param[out] velocity The register's Velocity field. - */ -void VnUartPacket_parseVelocityCompensationMeasurement(VnUartPacket *packet, vec3f* velocity); - -/** \brief Parses a response from reading the Velocity Compensation Measurement register. - * - * \param[in] packet The associated packet. - * \param[out] velocity The register's Velocity field. - */ -void VnUartPacket_parseVelocityCompensationMeasurementRaw(char *packet, vec3f* velocity); - -/** \brief Parses a response from reading the Velocity Compensation Control register. - * - * \param[in] packet The associated packet. - * \param[out] mode The register's Mode field. - * \param[out] velocityTuning The register's VelocityTuning field. - * \param[out] rateTuning The register's RateTuning field. - */ -void VnUartPacket_parseVelocityCompensationControl(VnUartPacket *packet, uint8_t* mode, float* velocityTuning, float* rateTuning); - -/** \brief Parses a response from reading the Velocity Compensation Control register. - * - * \param[in] packet The associated packet. - * \param[out] mode The register's Mode field. - * \param[out] velocityTuning The register's VelocityTuning field. - * \param[out] rateTuning The register's RateTuning field. - */ -void VnUartPacket_parseVelocityCompensationControlRaw(char *packet, uint8_t* mode, float* velocityTuning, float* rateTuning); - -/** \brief Parses a response from reading the Velocity Compensation Status register. - * - * \param[in] packet The associated packet. - * \param[out] x The register's x field. - * \param[out] xDot The register's xDot field. - * \param[out] accelOffset The register's accelOffset field. - * \param[out] omega The register's omega field. - */ -void VnUartPacket_parseVelocityCompensationStatus(VnUartPacket *packet, float* x, float* xDot, vec3f* accelOffset, vec3f* omega); - -/** \brief Parses a response from reading the Velocity Compensation Status register. - * - * \param[in] packet The associated packet. - * \param[out] x The register's x field. - * \param[out] xDot The register's xDot field. - * \param[out] accelOffset The register's accelOffset field. - * \param[out] omega The register's omega field. - */ -void VnUartPacket_parseVelocityCompensationStatusRaw(char *packet, float* x, float* xDot, vec3f* accelOffset, vec3f* omega); - -/** \brief Parses a response from reading the IMU Measurements register. - * - * \param[in] packet The associated packet. - * \param[out] mag The register's Mag field. - * \param[out] accel The register's Accel field. - * \param[out] gyro The register's Gyro field. - * \param[out] temp The register's Temp field. - * \param[out] pressure The register's Pressure field. - */ -void VnUartPacket_parseImuMeasurements(VnUartPacket *packet, vec3f* mag, vec3f* accel, vec3f* gyro, float* temp, float* pressure); - -/** \brief Parses a response from reading the IMU Measurements register. - * - * \param[in] packet The associated packet. - * \param[out] mag The register's Mag field. - * \param[out] accel The register's Accel field. - * \param[out] gyro The register's Gyro field. - * \param[out] temp The register's Temp field. - * \param[out] pressure The register's Pressure field. - */ -void VnUartPacket_parseImuMeasurementsRaw(char *packet, vec3f* mag, vec3f* accel, vec3f* gyro, float* temp, float* pressure); - -/** \brief Parses a response from reading the GPS Configuration register. - * - * \param[in] packet The associated packet. - * \param[out] mode The register's Mode field. - * \param[out] ppsSource The register's PpsSource field. - * \param[out] reserved1 The register's Reserved1 field. - * \param[out] reserved2 The register's Reserved2 field. - * \param[out] reserved3 The register's Reserved3 field. - */ -void VnUartPacket_parseGpsConfiguration(VnUartPacket *packet, uint8_t* mode, uint8_t* ppsSource, uint8_t* reserved1, uint8_t* reserved2, uint8_t* reserved3); - -/** \brief Parses a response from reading the GPS Configuration register. - * - * \param[in] packet The associated packet. - * \param[out] mode The register's Mode field. - * \param[out] ppsSource The register's PpsSource field. - * \param[out] reserved1 The register's Reserved1 field. - * \param[out] reserved2 The register's Reserved2 field. - * \param[out] reserved3 The register's Reserved3 field. - */ -void VnUartPacket_parseGpsConfigurationRaw(char *packet, uint8_t* mode, uint8_t* ppsSource, uint8_t* reserved1, uint8_t* reserved2, uint8_t* reserved3); - -/** \brief Parses a response from reading the GPS Antenna Offset register. - * - * \param[in] packet The associated packet. - * \param[out] position The register's Position field. - */ -void VnUartPacket_parseGpsAntennaOffset(VnUartPacket *packet, vec3f* position); - -/** \brief Parses a response from reading the GPS Antenna Offset register. - * - * \param[in] packet The associated packet. - * \param[out] position The register's Position field. - */ -void VnUartPacket_parseGpsAntennaOffsetRaw(char *packet, vec3f* position); - -/** \brief Parses a response from reading the GPS Solution - LLA register. - * - * \param[in] packet The associated packet. - * \param[out] time The register's Time field. - * \param[out] week The register's Week field. - * \param[out] gpsFix The register's GpsFix field. - * \param[out] numSats The register's NumSats field. - * \param[out] lla The register's Lla field. - * \param[out] nedVel The register's NedVel field. - * \param[out] nedAcc The register's NedAcc field. - * \param[out] speedAcc The register's SpeedAcc field. - * \param[out] timeAcc The register's TimeAcc field. - */ -void VnUartPacket_parseGpsSolutionLla(VnUartPacket *packet, double* time, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* lla, vec3f* nedVel, vec3f* nedAcc, float* speedAcc, float* timeAcc); - -/** \brief Parses a response from reading the GPS Solution - LLA register. - * - * \param[in] packet The associated packet. - * \param[out] time The register's Time field. - * \param[out] week The register's Week field. - * \param[out] gpsFix The register's GpsFix field. - * \param[out] numSats The register's NumSats field. - * \param[out] lla The register's Lla field. - * \param[out] nedVel The register's NedVel field. - * \param[out] nedAcc The register's NedAcc field. - * \param[out] speedAcc The register's SpeedAcc field. - * \param[out] timeAcc The register's TimeAcc field. - */ -void VnUartPacket_parseGpsSolutionLlaRaw(char *packet, double* time, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* lla, vec3f* nedVel, vec3f* nedAcc, float* speedAcc, float* timeAcc); - -/** \brief Parses a response from reading the GPS Solution - ECEF register. - * - * \param[in] packet The associated packet. - * \param[out] tow The register's Tow field. - * \param[out] week The register's Week field. - * \param[out] gpsFix The register's GpsFix field. - * \param[out] numSats The register's NumSats field. - * \param[out] position The register's Position field. - * \param[out] velocity The register's Velocity field. - * \param[out] posAcc The register's PosAcc field. - * \param[out] speedAcc The register's SpeedAcc field. - * \param[out] timeAcc The register's TimeAcc field. - */ -void VnUartPacket_parseGpsSolutionEcef(VnUartPacket *packet, double* tow, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* position, vec3f* velocity, vec3f* posAcc, float* speedAcc, float* timeAcc); - -/** \brief Parses a response from reading the GPS Solution - ECEF register. - * - * \param[in] packet The associated packet. - * \param[out] tow The register's Tow field. - * \param[out] week The register's Week field. - * \param[out] gpsFix The register's GpsFix field. - * \param[out] numSats The register's NumSats field. - * \param[out] position The register's Position field. - * \param[out] velocity The register's Velocity field. - * \param[out] posAcc The register's PosAcc field. - * \param[out] speedAcc The register's SpeedAcc field. - * \param[out] timeAcc The register's TimeAcc field. - */ -void VnUartPacket_parseGpsSolutionEcefRaw(char *packet, double* tow, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* position, vec3f* velocity, vec3f* posAcc, float* speedAcc, float* timeAcc); - -/** \brief Parses a response from reading the INS Solution - LLA register. - * - * \param[in] packet The associated packet. - * \param[out] time The register's Time field. - * \param[out] week The register's Week field. - * \param[out] status The register's Status field. - * \param[out] yawPitchRoll The register's YawPitchRoll field. - * \param[out] position The register's Position field. - * \param[out] nedVel The register's NedVel field. - * \param[out] attUncertainty The register's AttUncertainty field. - * \param[out] posUncertainty The register's PosUncertainty field. - * \param[out] velUncertainty The register's VelUncertainty field. - */ -void VnUartPacket_parseInsSolutionLla(VnUartPacket *packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* position, vec3f* nedVel, float* attUncertainty, float* posUncertainty, float* velUncertainty); - -/** \brief Parses a response from reading the INS Solution - LLA register. - * - * \param[in] packet The associated packet. - * \param[out] time The register's Time field. - * \param[out] week The register's Week field. - * \param[out] status The register's Status field. - * \param[out] yawPitchRoll The register's YawPitchRoll field. - * \param[out] position The register's Position field. - * \param[out] nedVel The register's NedVel field. - * \param[out] attUncertainty The register's AttUncertainty field. - * \param[out] posUncertainty The register's PosUncertainty field. - * \param[out] velUncertainty The register's VelUncertainty field. - */ -void VnUartPacket_parseInsSolutionLlaRaw(char *packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* position, vec3f* nedVel, float* attUncertainty, float* posUncertainty, float* velUncertainty); - -/** \brief Parses a response from reading the INS Solution - ECEF register. - * - * \param[in] packet The associated packet. - * \param[out] time The register's Time field. - * \param[out] week The register's Week field. - * \param[out] status The register's Status field. - * \param[out] yawPitchRoll The register's YawPitchRoll field. - * \param[out] position The register's Position field. - * \param[out] velocity The register's Velocity field. - * \param[out] attUncertainty The register's AttUncertainty field. - * \param[out] posUncertainty The register's PosUncertainty field. - * \param[out] velUncertainty The register's VelUncertainty field. - */ -void VnUartPacket_parseInsSolutionEcef(VnUartPacket *packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, float* attUncertainty, float* posUncertainty, float* velUncertainty); - -/** \brief Parses a response from reading the INS Solution - ECEF register. - * - * \param[in] packet The associated packet. - * \param[out] time The register's Time field. - * \param[out] week The register's Week field. - * \param[out] status The register's Status field. - * \param[out] yawPitchRoll The register's YawPitchRoll field. - * \param[out] position The register's Position field. - * \param[out] velocity The register's Velocity field. - * \param[out] attUncertainty The register's AttUncertainty field. - * \param[out] posUncertainty The register's PosUncertainty field. - * \param[out] velUncertainty The register's VelUncertainty field. - */ -void VnUartPacket_parseInsSolutionEcefRaw(char *packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, float* attUncertainty, float* posUncertainty, float* velUncertainty); - -/** \brief Parses a response from reading the INS Basic Configuration register. - * - * \param[in] packet The associated packet. - * \param[out] scenario The register's Scenario field. - * \param[out] ahrsAiding The register's AhrsAiding field. - * \param[out] estBaseline The register's EstBaseline field. - * \param[out] resv2 The register's Resv2 field. - */ -void VnUartPacket_parseInsBasicConfiguration(VnUartPacket *packet, uint8_t* scenario, uint8_t* ahrsAiding, uint8_t* estBaseline, uint8_t* resv2); - -/** \brief Parses a response from reading the INS Basic Configuration register. - * - * \param[in] packet The associated packet. - * \param[out] scenario The register's Scenario field. - * \param[out] ahrsAiding The register's AhrsAiding field. - * \param[out] estBaseline The register's EstBaseline field. - * \param[out] resv2 The register's Resv2 field. - */ -void VnUartPacket_parseInsBasicConfigurationRaw(char *packet, uint8_t* scenario, uint8_t* ahrsAiding, uint8_t* estBaseline, uint8_t* resv2); - -/** \brief Parses a response from reading the INS Advanced Configuration register. - * - * \param[in] packet The associated packet. - * \param[out] useMag The register's UseMag field. - * \param[out] usePres The register's UsePres field. - * \param[out] posAtt The register's PosAtt field. - * \param[out] velAtt The register's VelAtt field. - * \param[out] velBias The register's VelBias field. - * \param[out] useFoam The register's UseFoam field. - * \param[out] gpsCovType The register's GPSCovType field. - * \param[out] velCount The register's VelCount field. - * \param[out] velInit The register's VelInit field. - * \param[out] moveOrigin The register's MoveOrigin field. - * \param[out] gpsTimeout The register's GPSTimeout field. - * \param[out] deltaLimitPos The register's DeltaLimitPos field. - * \param[out] deltaLimitVel The register's DeltaLimitVel field. - * \param[out] minPosUncertainty The register's MinPosUncertainty field. - * \param[out] minVelUncertainty The register's MinVelUncertainty field. - */ -void VnUartPacket_parseInsAdvancedConfiguration(VnUartPacket *packet, uint8_t* useMag, uint8_t* usePres, uint8_t* posAtt, uint8_t* velAtt, uint8_t* velBias, uint8_t* useFoam, uint8_t* gpsCovType, uint8_t* velCount, float* velInit, float* moveOrigin, float* gpsTimeout, float* deltaLimitPos, float* deltaLimitVel, float* minPosUncertainty, float* minVelUncertainty); - -/** \brief Parses a response from reading the INS Advanced Configuration register. - * - * \param[in] packet The associated packet. - * \param[out] useMag The register's UseMag field. - * \param[out] usePres The register's UsePres field. - * \param[out] posAtt The register's PosAtt field. - * \param[out] velAtt The register's VelAtt field. - * \param[out] velBias The register's VelBias field. - * \param[out] useFoam The register's UseFoam field. - * \param[out] gpsCovType The register's GPSCovType field. - * \param[out] velCount The register's VelCount field. - * \param[out] velInit The register's VelInit field. - * \param[out] moveOrigin The register's MoveOrigin field. - * \param[out] gpsTimeout The register's GPSTimeout field. - * \param[out] deltaLimitPos The register's DeltaLimitPos field. - * \param[out] deltaLimitVel The register's DeltaLimitVel field. - * \param[out] minPosUncertainty The register's MinPosUncertainty field. - * \param[out] minVelUncertainty The register's MinVelUncertainty field. - */ -void VnUartPacket_parseInsAdvancedConfigurationRaw(char *packet, uint8_t* useMag, uint8_t* usePres, uint8_t* posAtt, uint8_t* velAtt, uint8_t* velBias, uint8_t* useFoam, uint8_t* gpsCovType, uint8_t* velCount, float* velInit, float* moveOrigin, float* gpsTimeout, float* deltaLimitPos, float* deltaLimitVel, float* minPosUncertainty, float* minVelUncertainty); - -/** \brief Parses a response from reading the INS State - LLA register. - * - * \param[in] packet The associated packet. - * \param[out] yawPitchRoll The register's YawPitchRoll field. - * \param[out] position The register's Position field. - * \param[out] velocity The register's Velocity field. - * \param[out] accel The register's Accel field. - * \param[out] angularRate The register's AngularRate field. - */ -void VnUartPacket_parseInsStateLla(VnUartPacket *packet, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, vec3f* accel, vec3f* angularRate); - -/** \brief Parses a response from reading the INS State - LLA register. - * - * \param[in] packet The associated packet. - * \param[out] yawPitchRoll The register's YawPitchRoll field. - * \param[out] position The register's Position field. - * \param[out] velocity The register's Velocity field. - * \param[out] accel The register's Accel field. - * \param[out] angularRate The register's AngularRate field. - */ -void VnUartPacket_parseInsStateLlaRaw(char *packet, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, vec3f* accel, vec3f* angularRate); - -/** \brief Parses a response from reading the INS State - ECEF register. - * - * \param[in] packet The associated packet. - * \param[out] yawPitchRoll The register's YawPitchRoll field. - * \param[out] position The register's Position field. - * \param[out] velocity The register's Velocity field. - * \param[out] accel The register's Accel field. - * \param[out] angularRate The register's AngularRate field. - */ -void VnUartPacket_parseInsStateEcef(VnUartPacket *packet, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, vec3f* accel, vec3f* angularRate); - -/** \brief Parses a response from reading the INS State - ECEF register. - * - * \param[in] packet The associated packet. - * \param[out] yawPitchRoll The register's YawPitchRoll field. - * \param[out] position The register's Position field. - * \param[out] velocity The register's Velocity field. - * \param[out] accel The register's Accel field. - * \param[out] angularRate The register's AngularRate field. - */ -void VnUartPacket_parseInsStateEcefRaw(char *packet, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, vec3f* accel, vec3f* angularRate); - -/** \brief Parses a response from reading the Startup Filter Bias Estimate register. - * - * \param[in] packet The associated packet. - * \param[out] gyroBias The register's GyroBias field. - * \param[out] accelBias The register's AccelBias field. - * \param[out] pressureBias The register's PressureBias field. - */ -void VnUartPacket_parseStartupFilterBiasEstimate(VnUartPacket *packet, vec3f* gyroBias, vec3f* accelBias, float* pressureBias); - -/** \brief Parses a response from reading the Startup Filter Bias Estimate register. - * - * \param[in] packet The associated packet. - * \param[out] gyroBias The register's GyroBias field. - * \param[out] accelBias The register's AccelBias field. - * \param[out] pressureBias The register's PressureBias field. - */ -void VnUartPacket_parseStartupFilterBiasEstimateRaw(char *packet, vec3f* gyroBias, vec3f* accelBias, float* pressureBias); - -/** \brief Parses a response from reading the Delta Theta and Delta Velocity register. - * - * \param[in] packet The associated packet. - * \param[out] deltaTime The register's DeltaTime field. - * \param[out] deltaTheta The register's DeltaTheta field. - * \param[out] deltaVelocity The register's DeltaVelocity field. - */ -void VnUartPacket_parseDeltaThetaAndDeltaVelocity(VnUartPacket *packet, float* deltaTime, vec3f* deltaTheta, vec3f* deltaVelocity); - -/** \brief Parses a response from reading the Delta Theta and Delta Velocity register. - * - * \param[in] packet The associated packet. - * \param[out] deltaTime The register's DeltaTime field. - * \param[out] deltaTheta The register's DeltaTheta field. - * \param[out] deltaVelocity The register's DeltaVelocity field. - */ -void VnUartPacket_parseDeltaThetaAndDeltaVelocityRaw(char *packet, float* deltaTime, vec3f* deltaTheta, vec3f* deltaVelocity); - -/** \brief Parses a response from reading the Delta Theta and Delta Velocity Configuration register. - * - * \param[in] packet The associated packet. - * \param[out] integrationFrame The register's IntegrationFrame field. - * \param[out] gyroCompensation The register's GyroCompensation field. - * \param[out] accelCompensation The register's AccelCompensation field. - * \param[out] reserved1 The register's Reserved1 field. - * \param[out] reserved2 The register's Reserved2 field. - */ -void VnUartPacket_parseDeltaThetaAndDeltaVelocityConfiguration(VnUartPacket *packet, uint8_t* integrationFrame, uint8_t* gyroCompensation, uint8_t* accelCompensation, uint8_t* reserved1, uint16_t* reserved2); - -/** \brief Parses a response from reading the Delta Theta and Delta Velocity Configuration register. - * - * \param[in] packet The associated packet. - * \param[out] integrationFrame The register's IntegrationFrame field. - * \param[out] gyroCompensation The register's GyroCompensation field. - * \param[out] accelCompensation The register's AccelCompensation field. - * \param[out] reserved1 The register's Reserved1 field. - * \param[out] reserved2 The register's Reserved2 field. - */ -void VnUartPacket_parseDeltaThetaAndDeltaVelocityConfigurationRaw(char *packet, uint8_t* integrationFrame, uint8_t* gyroCompensation, uint8_t* accelCompensation, uint8_t* reserved1, uint16_t* reserved2); - -/** \brief Parses a response from reading the Reference Vector Configuration register. - * - * \param[in] packet The associated packet. - * \param[out] useMagModel The register's UseMagModel field. - * \param[out] useGravityModel The register's UseGravityModel field. - * \param[out] resv1 The register's Resv1 field. - * \param[out] resv2 The register's Resv2 field. - * \param[out] recalcThreshold The register's RecalcThreshold field. - * \param[out] year The register's Year field. - * \param[out] position The register's Position field. - */ -void VnUartPacket_parseReferenceVectorConfiguration(VnUartPacket *packet, uint8_t* useMagModel, uint8_t* useGravityModel, uint8_t* resv1, uint8_t* resv2, uint32_t* recalcThreshold, float* year, vec3d* position); - -/** \brief Parses a response from reading the Reference Vector Configuration register. - * - * \param[in] packet The associated packet. - * \param[out] useMagModel The register's UseMagModel field. - * \param[out] useGravityModel The register's UseGravityModel field. - * \param[out] resv1 The register's Resv1 field. - * \param[out] resv2 The register's Resv2 field. - * \param[out] recalcThreshold The register's RecalcThreshold field. - * \param[out] year The register's Year field. - * \param[out] position The register's Position field. - */ -void VnUartPacket_parseReferenceVectorConfigurationRaw(char *packet, uint8_t* useMagModel, uint8_t* useGravityModel, uint8_t* resv1, uint8_t* resv2, uint32_t* recalcThreshold, float* year, vec3d* position); - -/** \brief Parses a response from reading the Gyro Compensation register. - * - * \param[in] packet The associated packet. - * \param[out] c The register's C field. - * \param[out] b The register's B field. - */ -void VnUartPacket_parseGyroCompensation(VnUartPacket *packet, mat3f* c, vec3f* b); - -/** \brief Parses a response from reading the Gyro Compensation register. - * - * \param[in] packet The associated packet. - * \param[out] c The register's C field. - * \param[out] b The register's B field. - */ -void VnUartPacket_parseGyroCompensationRaw(char *packet, mat3f* c, vec3f* b); - -/** \brief Parses a response from reading the IMU Filtering Configuration register. - * - * \param[in] packet The associated packet. - * \param[out] magWindowSize The register's MagWindowSize field. - * \param[out] accelWindowSize The register's AccelWindowSize field. - * \param[out] gyroWindowSize The register's GyroWindowSize field. - * \param[out] tempWindowSize The register's TempWindowSize field. - * \param[out] presWindowSize The register's PresWindowSize field. - * \param[out] magFilterMode The register's MagFilterMode field. - * \param[out] accelFilterMode The register's AccelFilterMode field. - * \param[out] gyroFilterMode The register's GyroFilterMode field. - * \param[out] tempFilterMode The register's TempFilterMode field. - * \param[out] presFilterMode The register's PresFilterMode field. - */ -void VnUartPacket_parseImuFilteringConfiguration(VnUartPacket *packet, uint16_t* magWindowSize, uint16_t* accelWindowSize, uint16_t* gyroWindowSize, uint16_t* tempWindowSize, uint16_t* presWindowSize, uint8_t* magFilterMode, uint8_t* accelFilterMode, uint8_t* gyroFilterMode, uint8_t* tempFilterMode, uint8_t* presFilterMode); - -/** \brief Parses a response from reading the IMU Filtering Configuration register. - * - * \param[in] packet The associated packet. - * \param[out] magWindowSize The register's MagWindowSize field. - * \param[out] accelWindowSize The register's AccelWindowSize field. - * \param[out] gyroWindowSize The register's GyroWindowSize field. - * \param[out] tempWindowSize The register's TempWindowSize field. - * \param[out] presWindowSize The register's PresWindowSize field. - * \param[out] magFilterMode The register's MagFilterMode field. - * \param[out] accelFilterMode The register's AccelFilterMode field. - * \param[out] gyroFilterMode The register's GyroFilterMode field. - * \param[out] tempFilterMode The register's TempFilterMode field. - * \param[out] presFilterMode The register's PresFilterMode field. - */ -void VnUartPacket_parseImuFilteringConfigurationRaw(char *packet, uint16_t* magWindowSize, uint16_t* accelWindowSize, uint16_t* gyroWindowSize, uint16_t* tempWindowSize, uint16_t* presWindowSize, uint8_t* magFilterMode, uint8_t* accelFilterMode, uint8_t* gyroFilterMode, uint8_t* tempFilterMode, uint8_t* presFilterMode); - -/** \brief Parses a response from reading the GPS Compass Baseline register. - * - * \param[in] packet The associated packet. - * \param[out] position The register's Position field. - * \param[out] uncertainty The register's Uncertainty field. - */ -void VnUartPacket_parseGpsCompassBaseline(VnUartPacket *packet, vec3f* position, vec3f* uncertainty); - -/** \brief Parses a response from reading the GPS Compass Baseline register. - * - * \param[in] packet The associated packet. - * \param[out] position The register's Position field. - * \param[out] uncertainty The register's Uncertainty field. - */ -void VnUartPacket_parseGpsCompassBaselineRaw(char *packet, vec3f* position, vec3f* uncertainty); - -/** \brief Parses a response from reading the GPS Compass Estimated Baseline register. - * - * \param[in] packet The associated packet. - * \param[out] estBaselineUsed The register's EstBaselineUsed field. - * \param[out] resv The register's Resv field. - * \param[out] numMeas The register's NumMeas field. - * \param[out] position The register's Position field. - * \param[out] uncertainty The register's Uncertainty field. - */ -void VnUartPacket_parseGpsCompassEstimatedBaseline(VnUartPacket *packet, uint8_t* estBaselineUsed, uint8_t* resv, uint16_t* numMeas, vec3f* position, vec3f* uncertainty); - -/** \brief Parses a response from reading the GPS Compass Estimated Baseline register. - * - * \param[in] packet The associated packet. - * \param[out] estBaselineUsed The register's EstBaselineUsed field. - * \param[out] resv The register's Resv field. - * \param[out] numMeas The register's NumMeas field. - * \param[out] position The register's Position field. - * \param[out] uncertainty The register's Uncertainty field. - */ -void VnUartPacket_parseGpsCompassEstimatedBaselineRaw(char *packet, uint8_t* estBaselineUsed, uint8_t* resv, uint16_t* numMeas, vec3f* position, vec3f* uncertainty); - -/** \brief Parses a response from reading the IMU Rate Configuration register. - * - * \param[in] packet The associated packet. - * \param[out] imuRate The register's imuRate field. - * \param[out] navDivisor The register's NavDivisor field. - * \param[out] filterTargetRate The register's filterTargetRate field. - * \param[out] filterMinRate The register's filterMinRate field. - */ -void VnUartPacket_parseImuRateConfiguration(VnUartPacket *packet, uint16_t* imuRate, uint16_t* navDivisor, float* filterTargetRate, float* filterMinRate); - -/** \brief Parses a response from reading the IMU Rate Configuration register. - * - * \param[in] packet The associated packet. - * \param[out] imuRate The register's imuRate field. - * \param[out] navDivisor The register's NavDivisor field. - * \param[out] filterTargetRate The register's filterTargetRate field. - * \param[out] filterMinRate The register's filterMinRate field. - */ -void VnUartPacket_parseImuRateConfigurationRaw(char *packet, uint16_t* imuRate, uint16_t* navDivisor, float* filterTargetRate, float* filterMinRate); - -/** \brief Parses a response from reading the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register. - * - * \param[in] packet The associated packet. - * \param[out] yawPitchRoll The register's YawPitchRoll field. - * \param[out] bodyAccel The register's BodyAccel field. - * \param[out] gyro The register's Gyro field. - */ -void VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRates(VnUartPacket *packet, vec3f* yawPitchRoll, vec3f* bodyAccel, vec3f* gyro); - -/** \brief Parses a response from reading the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register. - * - * \param[in] packet The associated packet. - * \param[out] yawPitchRoll The register's YawPitchRoll field. - * \param[out] bodyAccel The register's BodyAccel field. - * \param[out] gyro The register's Gyro field. - */ -void VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRatesRaw(char *packet, vec3f* yawPitchRoll, vec3f* bodyAccel, vec3f* gyro); - -/** \brief Parses a response from reading the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register. - * - * \param[in] packet The associated packet. - * \param[out] yawPitchRoll The register's YawPitchRoll field. - * \param[out] inertialAccel The register's InertialAccel field. - * \param[out] gyro The register's Gyro field. - */ -void VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRates(VnUartPacket *packet, vec3f* yawPitchRoll, vec3f* inertialAccel, vec3f* gyro); - -/** \brief Parses a response from reading the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register. - * - * \param[in] packet The associated packet. - * \param[out] yawPitchRoll The register's YawPitchRoll field. - * \param[out] inertialAccel The register's InertialAccel field. - * \param[out] gyro The register's Gyro field. - */ -void VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRatesRaw(char *packet, vec3f* yawPitchRoll, vec3f* inertialAccel, vec3f* gyro); - -/** \} */ - -/** \brief Converts a VnAsciiAsync into a string. -* -* \param[out] out The buffer to place the string in. -* \param[in] val The VnAsciiAsync value to convert to string. -* \return The converted value. */ -void strFromVnAsciiAsync(char *out, VnAsciiAsync val); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vnproglib/c/include/vn/protocol/upackf.h b/vnproglib/c/include/vn/protocol/upackf.h deleted file mode 100644 index d963d48..0000000 --- a/vnproglib/c/include/vn/protocol/upackf.h +++ /dev/null @@ -1,129 +0,0 @@ -#ifndef VNUPACKF_H_INCLUDED -#define VNUPACKF_H_INCLUDED - -#include "vn/protocol/upack.h" - -/*#include "vnint.h"*/ -/*#include "vnbool.h"*/ -/*#include "vntypes.h" -#include "vnerror.h"*/ - - -#ifndef VNUART_PROTOCOL_BUFFER_SIZE - /** Default internal buffers size for handling received UART data. */ - #define VNUART_PROTOCOL_BUFFER_SIZE 256 -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** \brief Defines signature of functions that can handle callback -* notifications of packets successfully received and validated from a -* VectorNav sensor. */ -typedef void(*VnUartPacketFinder_PacketFoundHandler)(void *userData, VnUartPacket* packet, size_t runningIndexOfPacketStart); - -#ifdef _WIN32 -#pragma warning(push) -#pragma warning(disable : 4820) -#endif - -/** \brief Data structure holding current parsing status of data received from - * a VectorNav sensor. - * - * This structure contains a buffer which will hold bytes that are currently - * being processed. The size of this buffer can be adjusted by defining the - * size using the preprocesser. For example, the size can be adjusted to use - * 1024 bytes by defining VNUART_PROTOCOL_BUFFER_SIZE=1024. */ -typedef struct -{ - /** \brief Callback for when a packet has been found and validated. */ - VnUartPacketFinder_PacketFoundHandler packetFoundHandler; - - /** \brief User data for callbacks on the packetFoundHandler. */ - void *packetFoundHandlerUserData; - - /** \brief Used for correlating the position in the received raw data - * stream where packets are found. */ - size_t runningDataIndex; - - /** \brief Indicates if an ASCII packet is currently being built. */ - bool asciiCurrentlyBuildingPacket; - - /** \brief Indicates a suspected start of an ASCII packet. */ - size_t asciiPossibleStartOfPacketIndex; - - /** \brief Index of start of ASCII packet in total running index. */ - size_t asciiRunningDataIndexOfStart; - - /** \brief Indicates if the first ending character has been found. */ - bool asciiEndChar1Found; - - /** \brief Indicates if we are currently building a binary packet. */ - bool binaryCurrentlyBuildingBinaryPacket; - - /** \brief Index of start of binary packet in total running index. */ - size_t binaryRunningDataIndexOfStart; - - /** \brief Holds the size of the receive buffer. */ - size_t bufferSize; - - /** \brief The current location to append data into the buffer. */ - size_t bufferAppendLocation; - - /** \brief Indicates if we have found the groups present data field for a - * binary packet we are building. */ - bool binaryGroupsPresentFound; - - /** \brief The groups present found from a binary packet. */ - uint8_t binaryGroupsPresent; - - /** \brief Indicates the number of bytes remaining to have all group fields - * for a binary data packet we are processing. */ - uint8_t binaryNumOfBytesRemainingToHaveAllGroupFields; - - /** \brief Start index of a possible binary packet. */ - size_t binaryPossibleStartIndex; - - /** \brief Keeps track of the number of bytes remaining for a complete - * binary packet. */ - size_t binaryNumberOfBytesRemainingForCompletePacket; - - /** \brief The receive buffer. */ - uint8_t receiveBuffer[VNUART_PROTOCOL_BUFFER_SIZE]; - -} VnUartPacketFinder; - -#ifdef _WIN32 -#pragma warning(pop) -#endif - -/** \brief Initializes the VnUartPacketFinder data structure. -* -* \param[in] pf VnUartPacketFinder to init. */ -void VnUartPacketFinder_initialize(VnUartPacketFinder* pf); - -/** \brief Processes received data from the UART. -* -* \param[in] finder The associated VnUartPacketFinder containing the data -* processing state. -* \param[in] data The received data. -* \param[in] len The number of bytes to process. -* \param[in] bootloaderFilter Enable filtering for bootloader messages. */ -VnError VnUartPacketFinder_processData_ex(VnUartPacketFinder* finder, uint8_t* data, size_t len, bool bootloaderFilter); -VnError VnUartPacketFinder_processData(VnUartPacketFinder* finder, uint8_t* data, size_t len); - - -/** \brief Allows registering for notification of when valid packets are found. - * - * \param[in] handler The callback function for receiving notifications. - * \param[in] userData Pointer to user supplied data which will be sent on all callback notifications. - * \return Any errors encountered. */ -VnError VnUartPacketFinder_registerPacketFoundHandler(VnUartPacketFinder* finder, VnUartPacketFinder_PacketFoundHandler handler, void *userData); - - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vnproglib/c/include/vn/sensors.h b/vnproglib/c/include/vn/sensors.h deleted file mode 100644 index 6e74a21..0000000 --- a/vnproglib/c/include/vn/sensors.h +++ /dev/null @@ -1,2020 +0,0 @@ -/** \file -* {COMMON_HEADER} -* -* \section Description -* This header file contains declarations for using VectorNav sensors. -*/ -#ifndef _VNSENSORS_H_ -#define _VNSENSORS_H_ - -#include -#include - -#include "vn/int.h" -#include "vn/error.h" -#include "vn/enum.h" -#include "vn/bool.h" -#include "vn/protocol/upack.h" -#include "vn/protocol/upackf.h" -#include "vn/xplat/serialport.h" -#include "vn/xplat/event.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef _WIN32 -#pragma warning(push) -#pragma warning(disable : 4820) -#endif - -// Define the max record size of a firmware update file -#define MAXFIRMWAREUPDATERECORDSIZE 300 - -/** \defgroup registerStructures Register Structures - * \brief These structures represent the various registers on a VecotorNav - * sensor. - * - * \{ */ - - -/** \brief Structure representing a Binary Output register. - * - * The field outputGroup available on the sensor's register is not necessary - * in this structure since all read/writes operations will automatically - * determine this from the settings for the individual groups within this - * structure. */ -typedef struct -{ - AsyncMode asyncMode; /**< The asyncMode field. */ - uint16_t rateDivisor; /**< The rateDivisor field. */ - CommonGroup commonField; /**< Group 1 (Common) */ - TimeGroup timeField; /**< Group 2 (Time) */ - ImuGroup imuField; /**< Group 3 (IMU) */ - GpsGroup gpsField; /**< Group 4 (GPS) */ - AttitudeGroup attitudeField; /**< Group 5 (Attitude) */ - InsGroup insField; /**< Group 6 (INS) */ - GpsGroup gps2Field; /**< Group 7 (GPS2) */ -} BinaryOutputRegister; - -/** \brief Initializes a BinaryOutputRegister structure. - * - * \param[in] reg The BinaryOutputRegister structure to initialize. - * \param[in] asyncMode Value to initialize the asyncMode field with. - * \param[in] rateDivisor Value to initialize the rateDivisor field with. - * \param[in] commonField Value to initialize the commonField with. - * \param[in] timeField Value to initialize the timeField with. - * \param[in] imuField Value to initialize the imuField with. - * \param[in] gpsField Value to initialize the gpsField with. - * \param[in] attitudeField Value to initialize the attitudeField with. - * \param[in] insField Value to initialize the insField with. */ -void BinaryOutputRegister_initialize( - BinaryOutputRegister *reg, - AsyncMode asyncMode, - uint32_t rateDivisor, - CommonGroup commonField, - TimeGroup timeField, - ImuGroup imuField, - GpsGroup gpsField, - AttitudeGroup attitudeField, - InsGroup insField, - GpsGroup gps2Field); - -/** \brief Structure representing the Quaternion, Magnetic, Acceleration and Angular Rates register. */ -typedef struct -{ - /** \brief The Quat field. */ - vec4f quat; - - /** \brief The Mag field. */ - vec3f mag; - - /** \brief The Accel field. */ - vec3f accel; - - /** \brief The Gyro field. */ - vec3f gyro; - -} QuaternionMagneticAccelerationAndAngularRatesRegister; - -/** \brief Structure representing the Magnetic, Acceleration and Angular Rates register. */ -typedef struct -{ - /** \brief The Mag field. */ - vec3f mag; - - /** \brief The Accel field. */ - vec3f accel; - - /** \brief The Gyro field. */ - vec3f gyro; - -} MagneticAccelerationAndAngularRatesRegister; - -/** \brief Structure representing the Magnetic and Gravity Reference Vectors register. */ -typedef struct -{ - /** \brief The MagRef field. */ - vec3f magRef; - - /** \brief The AccRef field. */ - vec3f accRef; - -} MagneticAndGravityReferenceVectorsRegister; - -/** \brief Structure representing the Filter Measurements Variance Parameters register. */ -typedef struct -{ - /** \brief The Angular Walk Variance field. */ - float angularWalkVariance; - - /** \brief The Angular Rate Variance field. */ - vec3f angularRateVariance; - - /** \brief The Magnetic Variance field. */ - vec3f magneticVariance; - - /** \brief The Acceleration Variance field. */ - vec3f accelerationVariance; - -} FilterMeasurementsVarianceParametersRegister; - -/** \brief Structure representing the Magnetometer Compensation register. */ -typedef struct -{ - /** \brief The C field. */ - mat3f c; - - /** \brief The B field. */ - vec3f b; - -} MagnetometerCompensationRegister; - -/** \brief Structure representing the Filter Active Tuning Parameters register. */ -typedef struct -{ - /** \brief The Magnetic Disturbance Gain field. */ - float magneticDisturbanceGain; - - /** \brief The Acceleration Disturbance Gain field. */ - float accelerationDisturbanceGain; - - /** \brief The Magnetic Disturbance Memory field. */ - float magneticDisturbanceMemory; - - /** \brief The Acceleration Disturbance Memory field. */ - float accelerationDisturbanceMemory; - -} FilterActiveTuningParametersRegister; - -/** \brief Structure representing the Acceleration Compensation register. */ -typedef struct -{ - /** \brief The C field. */ - mat3f c; - - /** \brief The B field. */ - vec3f b; - -} AccelerationCompensationRegister; - -/** \brief Structure representing the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register. */ -typedef struct -{ - /** \brief The YawPitchRoll field. */ - vec3f yawPitchRoll; - - /** \brief The Mag field. */ - vec3f mag; - - /** \brief The Accel field. */ - vec3f accel; - - /** \brief The Gyro field. */ - vec3f gyro; - -} YawPitchRollMagneticAccelerationAndAngularRatesRegister; - -/** \brief Structure representing the Communication Protocol Control register. */ -typedef struct -{ - /** \brief The SerialCount field. */ - uint8_t serialCount; - - /** \brief The SerialStatus field. */ - uint8_t serialStatus; - - /** \brief The SPICount field. */ - uint8_t spiCount; - - /** \brief The SPIStatus field. */ - uint8_t spiStatus; - - /** \brief The SerialChecksum field. */ - uint8_t serialChecksum; - - /** \brief The SPIChecksum field. */ - uint8_t spiChecksum; - - /** \brief The ErrorMode field. */ - uint8_t errorMode; - -} CommunicationProtocolControlRegister; - -/** \brief Structure representing the Synchronization Control register. */ -typedef struct -{ - /** \brief The SyncInMode field. */ - uint8_t syncInMode; - - /** \brief The SyncInEdge field. */ - uint8_t syncInEdge; - - /** \brief The SyncInSkipFactor field. */ - uint16_t syncInSkipFactor; - - /** \brief The SyncOutMode field. */ - uint8_t syncOutMode; - - /** \brief The SyncOutPolarity field. */ - uint8_t syncOutPolarity; - - /** \brief The SyncOutSkipFactor field. */ - uint16_t syncOutSkipFactor; - - /** \brief The SyncOutPulseWidth field. */ - uint32_t syncOutPulseWidth; - -} SynchronizationControlRegister; - -/** \brief Structure representing the Synchronization Status register. */ -typedef struct -{ - /** \brief The SyncInCount field. */ - uint32_t syncInCount; - - /** \brief The SyncInTime field. */ - uint32_t syncInTime; - - /** \brief The SyncOutCount field. */ - uint32_t syncOutCount; - -} SynchronizationStatusRegister; - -/** \brief Structure representing the Filter Basic Control register. */ -typedef struct -{ - /** \brief The MagMode field. */ - uint8_t magMode; - - /** \brief The ExtMagMode field. */ - uint8_t extMagMode; - - /** \brief The ExtAccMode field. */ - uint8_t extAccMode; - - /** \brief The ExtGyroMode field. */ - uint8_t extGyroMode; - - /** \brief The GyroLimit field. */ - vec3f gyroLimit; - -} FilterBasicControlRegister; - -/** \brief Structure representing the VPE Basic Control register. */ -typedef struct -{ - /** \brief The Enable field. */ - uint8_t enable; - - /** \brief The HeadingMode field. */ - uint8_t headingMode; - - /** \brief The FilteringMode field. */ - uint8_t filteringMode; - - /** \brief The TuningMode field. */ - uint8_t tuningMode; - -} VpeBasicControlRegister; - -/** \brief Structure representing the VPE Magnetometer Basic Tuning register. */ -typedef struct -{ - /** \brief The BaseTuning field. */ - vec3f baseTuning; - - /** \brief The AdaptiveTuning field. */ - vec3f adaptiveTuning; - - /** \brief The AdaptiveFiltering field. */ - vec3f adaptiveFiltering; - -} VpeMagnetometerBasicTuningRegister; - -/** \brief Structure representing the VPE Magnetometer Advanced Tuning register. */ -typedef struct -{ - /** \brief The MinFiltering field. */ - vec3f minFiltering; - - /** \brief The MaxFiltering field. */ - vec3f maxFiltering; - - /** \brief The MaxAdaptRate field. */ - float maxAdaptRate; - - /** \brief The DisturbanceWindow field. */ - float disturbanceWindow; - - /** \brief The MaxTuning field. */ - float maxTuning; - -} VpeMagnetometerAdvancedTuningRegister; - -/** \brief Structure representing the VPE Accelerometer Basic Tuning register. */ -typedef struct -{ - /** \brief The BaseTuning field. */ - vec3f baseTuning; - - /** \brief The AdaptiveTuning field. */ - vec3f adaptiveTuning; - - /** \brief The AdaptiveFiltering field. */ - vec3f adaptiveFiltering; - -} VpeAccelerometerBasicTuningRegister; - -/** \brief Structure representing the VPE Accelerometer Advanced Tuning register. */ -typedef struct -{ - /** \brief The MinFiltering field. */ - vec3f minFiltering; - - /** \brief The MaxFiltering field. */ - vec3f maxFiltering; - - /** \brief The MaxAdaptRate field. */ - float maxAdaptRate; - - /** \brief The DisturbanceWindow field. */ - float disturbanceWindow; - - /** \brief The MaxTuning field. */ - float maxTuning; - -} VpeAccelerometerAdvancedTuningRegister; - -/** \brief Structure representing the VPE Gyro Basic Tuning register. */ -typedef struct -{ - /** \brief The AngularWalkVariance field. */ - vec3f angularWalkVariance; - - /** \brief The BaseTuning field. */ - vec3f baseTuning; - - /** \brief The AdaptiveTuning field. */ - vec3f adaptiveTuning; - -} VpeGyroBasicTuningRegister; - -/** \brief Structure representing the Magnetometer Calibration Control register. */ -typedef struct -{ - /** \brief The HSIMode field. */ - uint8_t hsiMode; - - /** \brief The HSIOutput field. */ - uint8_t hsiOutput; - - /** \brief The ConvergeRate field. */ - uint8_t convergeRate; - -} MagnetometerCalibrationControlRegister; - -/** \brief Structure representing the Calculated Magnetometer Calibration register. */ -typedef struct -{ - /** \brief The C field. */ - mat3f c; - - /** \brief The B field. */ - vec3f b; - -} CalculatedMagnetometerCalibrationRegister; - -/** \brief Structure representing the Velocity Compensation Control register. */ -typedef struct -{ - /** \brief The Mode field. */ - uint8_t mode; - - /** \brief The VelocityTuning field. */ - float velocityTuning; - - /** \brief The RateTuning field. */ - float rateTuning; - -} VelocityCompensationControlRegister; - -/** \brief Structure representing the Velocity Compensation Status register. */ -typedef struct -{ - /** \brief The x field. */ - float x; - - /** \brief The xDot field. */ - float xDot; - - /** \brief The accelOffset field. */ - vec3f accelOffset; - - /** \brief The omega field. */ - vec3f omega; - -} VelocityCompensationStatusRegister; - -/** \brief Structure representing the IMU Measurements register. */ -typedef struct -{ - /** \brief The Mag field. */ - vec3f mag; - - /** \brief The Accel field. */ - vec3f accel; - - /** \brief The Gyro field. */ - vec3f gyro; - - /** \brief The Temp field. */ - float temp; - - /** \brief The Pressure field. */ - float pressure; - -} ImuMeasurementsRegister; - -/** \brief Structure representing the GPS Configuration register. */ -typedef struct -{ - /** \brief The Mode field. */ - uint8_t mode; - - /** \brief The PpsSource field. */ - uint8_t ppsSource; - -} GpsConfigurationRegister; - -/** \brief Structure representing the GPS Solution - LLA register. */ -typedef struct -{ - /** \brief The Time field. */ - double time; - - /** \brief The Week field. */ - uint16_t week; - - /** \brief The GpsFix field. */ - uint8_t gpsFix; - - /** \brief The NumSats field. */ - uint8_t numSats; - - /** \brief The Lla field. */ - vec3d lla; - - /** \brief The NedVel field. */ - vec3f nedVel; - - /** \brief The NedAcc field. */ - vec3f nedAcc; - - /** \brief The SpeedAcc field. */ - float speedAcc; - - /** \brief The TimeAcc field. */ - float timeAcc; - -} GpsSolutionLlaRegister; - -/** \brief Structure representing the GPS Solution - ECEF register. */ -typedef struct -{ - /** \brief The Tow field. */ - double tow; - - /** \brief The Week field. */ - uint16_t week; - - /** \brief The GpsFix field. */ - uint8_t gpsFix; - - /** \brief The NumSats field. */ - uint8_t numSats; - - /** \brief The Position field. */ - vec3d position; - - /** \brief The Velocity field. */ - vec3f velocity; - - /** \brief The PosAcc field. */ - vec3f posAcc; - - /** \brief The SpeedAcc field. */ - float speedAcc; - - /** \brief The TimeAcc field. */ - float timeAcc; - -} GpsSolutionEcefRegister; - -/** \brief Structure representing the INS Solution - LLA register. */ -typedef struct -{ - /** \brief The Time field. */ - double time; - - /** \brief The Week field. */ - uint16_t week; - - /** \brief The Status field. */ - uint16_t status; - - /** \brief The YawPitchRoll field. */ - vec3f yawPitchRoll; - - /** \brief The Position field. */ - vec3d position; - - /** \brief The NedVel field. */ - vec3f nedVel; - - /** \brief The AttUncertainty field. */ - float attUncertainty; - - /** \brief The PosUncertainty field. */ - float posUncertainty; - - /** \brief The VelUncertainty field. */ - float velUncertainty; - -} InsSolutionLlaRegister; - -/** \brief Structure representing the INS Solution - ECEF register. */ -typedef struct -{ - /** \brief The Time field. */ - double time; - - /** \brief The Week field. */ - uint16_t week; - - /** \brief The Status field. */ - uint16_t status; - - /** \brief The YawPitchRoll field. */ - vec3f yawPitchRoll; - - /** \brief The Position field. */ - vec3d position; - - /** \brief The Velocity field. */ - vec3f velocity; - - /** \brief The AttUncertainty field. */ - float attUncertainty; - - /** \brief The PosUncertainty field. */ - float posUncertainty; - - /** \brief The VelUncertainty field. */ - float velUncertainty; - -} InsSolutionEcefRegister; - -/** \brief Structure representing the INS Basic Configuration register for a VN-200 sensor. */ -typedef struct -{ - /** \brief The Scenario field. */ - uint8_t scenario; - - /** \brief The AhrsAiding field. */ - uint8_t ahrsAiding; - -} InsBasicConfigurationRegisterVn200; - -/** \brief Structure representing the INS Basic Configuration register for a VN-300 sensor. */ -typedef struct -{ - /** \brief The Scenario field. */ - uint8_t scenario; - - /** \brief The AhrsAiding field. */ - uint8_t ahrsAiding; - - /** \brief The EstBaseline field. */ - uint8_t estBaseline; - -} InsBasicConfigurationRegisterVn300; - -/** \brief Structure representing the INS Advanced Configuration register. */ -typedef struct -{ - /** \brief The UseMag field. */ - uint8_t useMag; - - /** \brief The UsePres field. */ - uint8_t usePres; - - /** \brief The PosAtt field. */ - uint8_t posAtt; - - /** \brief The VelAtt field. */ - uint8_t velAtt; - - /** \brief The VelBias field. */ - uint8_t velBias; - - /** \brief The UseFoam field. */ - uint8_t useFoam; - - /** \brief The GPSCovType field. */ - uint8_t gpsCovType; - - /** \brief The VelCount field. */ - uint8_t velCount; - - /** \brief The VelInit field. */ - float velInit; - - /** \brief The MoveOrigin field. */ - float moveOrigin; - - /** \brief The GPSTimeout field. */ - float gpsTimeout; - - /** \brief The DeltaLimitPos field. */ - float deltaLimitPos; - - /** \brief The DeltaLimitVel field. */ - float deltaLimitVel; - - /** \brief The MinPosUncertainty field. */ - float minPosUncertainty; - - /** \brief The MinVelUncertainty field. */ - float minVelUncertainty; - -} InsAdvancedConfigurationRegister; - -/** \brief Structure representing the INS State - LLA register. */ -typedef struct -{ - /** \brief The YawPitchRoll field. */ - vec3f yawPitchRoll; - - /** \brief The Position field. */ - vec3d position; - - /** \brief The Velocity field. */ - vec3f velocity; - - /** \brief The Accel field. */ - vec3f accel; - - /** \brief The AngularRate field. */ - vec3f angularRate; - -} InsStateLlaRegister; - -/** \brief Structure representing the INS State - ECEF register. */ -typedef struct -{ - /** \brief The YawPitchRoll field. */ - vec3f yawPitchRoll; - - /** \brief The Position field. */ - vec3d position; - - /** \brief The Velocity field. */ - vec3f velocity; - - /** \brief The Accel field. */ - vec3f accel; - - /** \brief The AngularRate field. */ - vec3f angularRate; - -} InsStateEcefRegister; - -/** \brief Structure representing the Startup Filter Bias Estimate register. */ -typedef struct -{ - /** \brief The GyroBias field. */ - vec3f gyroBias; - - /** \brief The AccelBias field. */ - vec3f accelBias; - - /** \brief The PressureBias field. */ - float pressureBias; - -} StartupFilterBiasEstimateRegister; - -/** \brief Structure representing the Delta Theta and Delta Velocity register. */ -typedef struct -{ - /** \brief The DeltaTime field. */ - float deltaTime; - - /** \brief The DeltaTheta field. */ - vec3f deltaTheta; - - /** \brief The DeltaVelocity field. */ - vec3f deltaVelocity; - -} DeltaThetaAndDeltaVelocityRegister; - -/** \brief Structure representing the Delta Theta and Delta Velocity Configuration register. */ -typedef struct -{ - /** \brief The IntegrationFrame field. */ - uint8_t integrationFrame; - - /** \brief The GyroCompensation field. */ - uint8_t gyroCompensation; - - /** \brief The AccelCompensation field. */ - uint8_t accelCompensation; - -} DeltaThetaAndDeltaVelocityConfigurationRegister; - -/** \brief Structure representing the Reference Vector Configuration register. */ -typedef struct -{ - /** \brief The UseMagModel field. */ - uint8_t useMagModel; - - /** \brief The UseGravityModel field. */ - uint8_t useGravityModel; - - /** \brief The RecalcThreshold field. */ - uint32_t recalcThreshold; - - /** \brief The Year field. */ - float year; - - /** \brief The Position field. */ - vec3d position; - -} ReferenceVectorConfigurationRegister; - -/** \brief Structure representing the Gyro Compensation register. */ -typedef struct -{ - /** \brief The C field. */ - mat3f c; - - /** \brief The B field. */ - vec3f b; - -} GyroCompensationRegister; - -/** \brief Structure representing the IMU Filtering Configuration register. */ -typedef struct -{ - /** \brief The MagWindowSize field. */ - uint16_t magWindowSize; - - /** \brief The AccelWindowSize field. */ - uint16_t accelWindowSize; - - /** \brief The GyroWindowSize field. */ - uint16_t gyroWindowSize; - - /** \brief The TempWindowSize field. */ - uint16_t tempWindowSize; - - /** \brief The PresWindowSize field. */ - uint16_t presWindowSize; - - /** \brief The MagFilterMode field. */ - uint8_t magFilterMode; - - /** \brief The AccelFilterMode field. */ - uint8_t accelFilterMode; - - /** \brief The GyroFilterMode field. */ - uint8_t gyroFilterMode; - - /** \brief The TempFilterMode field. */ - uint8_t tempFilterMode; - - /** \brief The PresFilterMode field. */ - uint8_t presFilterMode; - -} ImuFilteringConfigurationRegister; - -/** \brief Structure representing the GPS Compass Baseline register. */ -typedef struct -{ - /** \brief The Position field. */ - vec3f position; - - /** \brief The Uncertainty field. */ - vec3f uncertainty; - -} GpsCompassBaselineRegister; - -/** \brief Structure representing the GPS Compass Estimated Baseline register. */ -typedef struct -{ - /** \brief The EstBaselineUsed field. */ - uint8_t estBaselineUsed; - - /** \brief The NumMeas field. */ - uint16_t numMeas; - - /** \brief The Position field. */ - vec3f position; - - /** \brief The Uncertainty field. */ - vec3f uncertainty; - -} GpsCompassEstimatedBaselineRegister; - -/** \brief Structure representing the IMU Rate Configuration register. */ -typedef struct -{ - /** \brief The imuRate field. */ - uint16_t imuRate; - - /** \brief The NavDivisor field. */ - uint16_t navDivisor; - - /** \brief The filterTargetRate field. */ - float filterTargetRate; - - /** \brief The filterMinRate field. */ - float filterMinRate; - -} ImuRateConfigurationRegister; - -/** \brief Structure representing the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register. */ -typedef struct -{ - /** \brief The YawPitchRoll field. */ - vec3f yawPitchRoll; - - /** \brief The BodyAccel field. */ - vec3f bodyAccel; - - /** \brief The Gyro field. */ - vec3f gyro; - -} YawPitchRollTrueBodyAccelerationAndAngularRatesRegister; - -/** \brief Structure representing the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register. */ -typedef struct -{ - /** \brief The YawPitchRoll field. */ - vec3f yawPitchRoll; - - /** \brief The InertialAccel field. */ - vec3f inertialAccel; - - /** \brief The Gyro field. */ - vec3f gyro; - -} YawPitchRollTrueInertialAccelerationAndAngularRatesRegister; - -/* \} */ - -typedef void (*VnSensor_PacketFoundHandler)(void *userData, VnUartPacket *packet, size_t runningIndex); - -/** \brief Helpful structure for working with VectorNav sensors. */ -typedef struct -{ - VnSerialPort serialPort; - - /* Error detection mode to use for outgoing packets. */ - VnErrorDetectionMode sendErrorDetectionMode; - - /* Timeout duration for waiting for a response from the sensor. */ - uint16_t responseTimeoutMs; - - /* Delay between retransmitting commands. */ - uint16_t retransmitDelayMs; - - VnCriticalSection transactionCS; - - VnEvent newResponsesEvent; - - /* Indicates if the transaction function is waiting for a response. */ - bool waitingForResponse; - - /* Indicates if bootloader responses are expected */ - bool bootloaderFilter; - - /* Indicates if a response is waiting for processing by the transaction functions. */ - bool responseWaitingForProcessing; - - size_t runningDataIndex; - - VnUartPacketFinder packetFinder; - - VnSensor_PacketFoundHandler asyncPacketFoundHandler; - void *asyncPacketFoundHandlerUserData; - - VnSensor_PacketFoundHandler errorMessageReceivedHandler; - void *errorMessageReceivedHandlerUserData; - - size_t responseLength; - - /* Holds any received response from the sensor for processing in our transaction functions. */ - char response[0x100]; - -} VnSensor; - -/** \brief Initializes a VnSensor structure. -* -* \param[in] sensor The structure to initialize. -* \return Any errors encountered. */ -VnError VnSensor_initialize(VnSensor* sensor); - -/** \brief Connects to a VectorNav sensor. - * - * \param[in] sensor The VnSensor structure. - * \param[in] portName The name of the serial port to connect to. - * \param[in] baudrate The baudrate to connect at. - * \return Any errors encountered. */ -VnError VnSensor_connect(VnSensor* sensor, const char* portName, uint32_t baudrate); - -/** \brief Disconnects from a VectorNav sensor. -* -* \param[in] sensor The associated sensor. -* \return Any errors encountered. */ -VnError VnSensor_disconnect(VnSensor* sensor); - -/** \brief Issues a change baudrate to the VectorNav sensor and then reconnectes -* the attached serial port at the new baudrate. -* -* \param[in] sensor The VnSensor structure. -* \param[in] baudrate The new sensor baudrate. -* \return Any errors encountered. */ -VnError VnSensor_changeBaudrate(VnSensor* sensor, uint32_t baudrate); - -/** \brief Sends the provided command and returns the response from the sensor. -* -* If the command does not have an asterisk '*', the a checksum will be performed -* and appended based on the current error detection mode. Also, if the line-ending -* \\r\\n is not present, these will be added also. -* -* \param[in] sensor The associated VnSensor. -* \param[in] toSend The command to send to the sensor. -* \param[in] toSendLength The number of bytes provided in the toSend buffer. -* \param[out] response The response received from the sensor. -* \param[in,out] responseLength The size of the provided response buffer and will be -* set with the returned response length. -* \return Any errors encountered. */ -VnError VnSensor_transaction(VnSensor* sensor, char* toSend, size_t toSendLength, char* response, size_t* responseLength); - -/** \brief Indicates if the VnSensor is connected. -* -* \param[in] sensor The associated VnSensor. -* \return true if the VnSensor is connected; otherwise false. */ -bool VnSensor_isConnected(VnSensor* sensor); - -/** \brief Issues a Write Settings command to the VectorNav Sensor. -* -* \param[in] sensor The associated VnSensor. -* \param[in] waitForReply Indicates if the method should wait for a response -* from the sensor. -* \return Any errors encountered*/ -VnError VnSensor_writeSettings(VnSensor* sensor, bool waitForReply); - -/** \brief Issues a Restore Factory Settings command to the VectorNav sensor. -* -* \param[in] sensor The associated VnSensor. -* \param[in] waitForReply Indicates if the method should wait for a response -* from the sensor. -* \return Any errors encountered*/ -VnError VnSensor_restoreFactorySettings(VnSensor* sensor, bool waitForReply); - -/** \brief Issues a Reset command to the VectorNav sensor. -* -* \param[in] sensor The associated VnSensor. -* \param[in] waitForReply Indicates if the method should wait for a response -* from the sensor. -* \return Any errors encountered*/ -VnError VnSensor_reset(VnSensor* sensor, bool waitForReply); - -/** \brief Issues a firmware update command to the VectorNav sensor. -* -* \param[in] sensor The associated VnSensor. -* \param[in] waitForReply Indicates if the method should wait for a response -* from the sensor. -* \return Any errors encountered*/ -VnError VnSensor_firmwareUpdateMode(VnSensor* sensor, bool waitForReply); - -/** \brief Issues a tare command to the VectorNav Sensor. -* -* \param[in] sensor The associated VnSensor. -* \param[in] waitForReply Indicates if the method should wait for a response -* from the sensor. -* \return Any errors encountered*/ -VnError VnSensor_tare(VnSensor* sensor, bool waitForReply); - -/** \brief Issues a command to the VectorNav Sensor to set the Gyro's bias. -* -* \param[in] sensor The associated VnSensor. -* \param[in] waitForReply Indicates if the method should wait for a response -* from the sensor. -* \return Any errors encountered*/ -VnError VnSensor_setGyroBias(VnSensor* sensor, bool waitForReply); - -/** \brief Command to inform the VectorNav Sensor if there is a magnetic disturbance present. -* -* \param[in] sensor The associated VnSensor. -* \param[in] disturbancePresent Indicates the presense of a disturbance. -* \param[in] waitForReply Indicates if the method should wait for a response -* from the sensor. -* \return Any errors encountered*/ -VnError VnSensor_magneticDisturbancePresent(VnSensor* sensor, bool disturbancePresent, bool waitForReply); - -/** \brief Command to inform the VectorNav Sensor if there is an acceleration disturbance present. -* -* \param[in] sensor The associated VnSensor. -* \param[in] disturbancePresent Indicates the presense of a disturbance. -* \param[in] waitForReply Indicates if the method should wait for a response -* from the sensor. -* \return Any errors encountered*/ -VnError VnSensor_accelerationDisturbancePresent(VnSensor* sensor, bool disturbancePresent, bool waitForReply); - -/** \brief Checks if we are able to send and receive communication with a sensor. - * - * \param[in] sensor The associated sensor. - * \return true if we can communicate with a sensor; otherwise false. */ -bool VnSensor_verifySensorConnectivity(VnSensor* sensor); - -/** \brief Returns the current response timeout value in milliseconds used for - * communication with a sensor. - * - * The response timeout is used on commands that require a response to be - * received from the sensor. If a response has not been received from the sensor - * in the amount of time specified by this value, the called function will - * return an E_TIMEOUT error. - * - * \param[in] sensor The associated VnSensor. - * \return The current response timeout value in milliseconds. */ -uint16_t VnSensor_getResponseTimeoutMs(VnSensor* sensor); - -/** \brief Sets the current response timeout value in milliseconds used for - * communication with a sensor. - * - * The response timeout is used on commands that require a response to be - * received from the sensor. If a response has not been received from the sensor - * in the amount of time specified by this value, the called function will - * return an E_TIMEOUT error. - * - * \param[in] sensor The associated VnSensor. - * \param[in] responseTimeoutMs The new value for the response timeout in milliseconds. - * \return Any errors encountered. */ -VnError VnSensor_setResponseTimeoutMs(VnSensor* sensor, uint16_t reponseTimeoutMs); - -/** \brief Gets the current retransmit delay used for communication with a - * sensor. - * - * During the time that the VnSensor is awaiting a response from a sensor, the - * command will be retransmitted to the sensor at the interval specified by this - * value. - * - * \param[in] sensor The associated VnSensor. - * \return The current retransmit delay value in milliseconds. */ -uint16_t VnSensor_getRetransmitDelayMs(VnSensor* sensor); - -/** \brief Sets the current retransmit delay used for communication with a - * sensor. - * - * During the time that the VnSensor is awaiting a response from a sensor, the - * command will be retransmitted to the sensor at the interval specified by this - * value. - * - * \param[in] sensor The associated VnSensor. - * \param[in] retransmitDelayMs The new value for the retransmit delay in milliseconds. - * \return Any errors encountered. */ -VnError VnSensor_setRetransmitDelayMs(VnSensor* sensor, uint16_t retransmitDelayMs); - -/** \brief Allows registering a callback for notification of when an asynchronous data packet is received. - * - * \param[in] sensor The associated VnSensor. - * \param[in] handler The callback handler. - * \param[in] userData Data which will be provided with all callbacks. - * \return Any errors encountered. */ -VnError VnSensor_registerAsyncPacketReceivedHandler(VnSensor *sensor, VnSensor_PacketFoundHandler handler, void *userData); - -/** \brief Allows unregistering from callback notifications when asynchronous data packets are received. - * - * \param[in] sensor The associated sensor. */ -VnError VnSensor_unregisterAsyncPacketReceivedHandler(VnSensor *sensor); - -/** \brief Allows registering a callback for notification of when a sensor error message is received. - * - * \param[in] sensor The associated VnSensor. - * \param[in] handler The callback handler. - * \param[in] userData Data which will be provided with all callbacks. - * \return Any errors encountered. */ -VnError VnSensor_registerErrorPacketReceivedHandler(VnSensor *sensor, VnSensor_PacketFoundHandler handler, void *userData); - -/** \brief Allows unregistering callbacks for notifications of when a sensor error message is recieved. - * - * \param[in] sensor The associated VnSensor. - * \return Any errors encountered. */ -VnError VnSensor_unregisterErrorPacketReceivedHandler(VnSensor *sensor); - -/** \defgroup registerAccessMethods Register Access Methods - * \brief This group of methods provide access to read and write to the - * sensor's registers. - * - * \{ */ - -/** \brief Reads the Binary Output 1 register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readBinaryOutput1(VnSensor *sensor, BinaryOutputRegister *fields); - -/** \brief Writes to the Binary Output 1 register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The register's fields. - * \param[in] waitForReply Indicates if the method should wait for a response from the sensor. - * \return Any errors encountered. */ -VnError VnSensor_writeBinaryOutput1(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply); - -/** \brief Reads the Binary Output 2 register. -* -* \param[in] sensor The associated VnSensor. -* \param[in] fields The register's values. -* \return Any errors encountered. */ -VnError VnSensor_readBinaryOutput2(VnSensor *sensor, BinaryOutputRegister *fields); - -/** \brief Writes to the Binary Output 2 register. -* -* \param[in] sensor The associated VnSensor. -* \param[in] fields The register's fields. -* \param[in] waitForReply Indicates if the method should wait for a response from the sensor. -* \return Any errors encountered. */ -VnError VnSensor_writeBinaryOutput2(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply); - -/** \brief Reads the Binary Output 3 register. -* -* \param[in] sensor The associated VnSensor. -* \param[in] fields The register's values. -* \return Any errors encountered. */ -VnError VnSensor_readBinaryOutput3(VnSensor *sensor, BinaryOutputRegister *fields); - -/** \brief Writes to the Binary Output 3 register. -* -* \param[in] sensor The associated VnSensor. -* \param[in] fields The register's fields. -* \param[in] waitForReply Indicates if the method should wait for a response from the sensor. -* \return Any errors encountered. */ -VnError VnSensor_writeBinaryOutput3(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply); - -#ifdef EXTRA - -/** \brief Reads the Binary Output 4 register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readBinaryOutput4(VnSensor *sensor, BinaryOutputRegister *fields); - -/** \brief Writes to the Binary Output 4 register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The register's fields. - * \param[in] waitForReply Indicates if the method should wait for a response from the sensor. - * \return Any errors encountered. */ -VnError VnSensor_writeBinaryOutput4(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply); - -/** \brief Reads the Binary Output 5 register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readBinaryOutput5(VnSensor *sensor, BinaryOutputRegister *fields); - -/** \brief Writes to the Binary Output 5 register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The register's fields. - * \param[in] waitForReply Indicates if the method should wait for a response from the sensor. - * \return Any errors encountered. */ -VnError VnSensor_writeBinaryOutput5(VnSensor *sensor, BinaryOutputRegister *fields, bool waitForReply); - -#endif - -/** \brief Reads the User Tag register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] tagBuffer Buffer to place the read register value. - * \param[in] tagBufferLength Length of the provided buffer. - * \return Any errors encountered. */ -VnError VnSensor_readUserTag(VnSensor *sensor, char *tagBuffer, size_t tagBufferLength); - -/** \brief Writes to the User Tag register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] tag The value to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeUserTag(VnSensor *sensor, char* tag, bool waitForReply); - -/** \brief Reads the Model Number register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] productNameBuffer Buffer to place the read register value. - * \param[in] productNameBufferLength Length of the provided buffer. - * \return Any errors encountered. */ -VnError VnSensor_readModelNumber(VnSensor *sensor, char *productNameBuffer, size_t productNameBufferLength); - -/** \brief Reads the Hardware Revision register. - * - * \param[in] sensor The associated VnSensor. - * \return Any errors encountered. */ -VnError VnSensor_readHardwareRevision(VnSensor *sensor, uint32_t *revision); - -/** \brief Reads the Serial Number register. - * - * \param[in] sensor The associated VnSensor. - * \return Any errors encountered. */ -VnError VnSensor_readSerialNumber(VnSensor *sensor, uint32_t *serialNum); - -/** \brief Reads the Firmware Version register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] firmwareVersionBuffer Buffer to place the read register value. - * \param[in] firmwareVersionBufferLength Length of the provided buffer. - * \return Any errors encountered. */ -VnError VnSensor_readFirmwareVersion(VnSensor *sensor, char *firmwareVersionBuffer, size_t firmwareVersionBufferLength); - -/** \brief Reads the Serial Baud Rate register. - * - * \param[in] sensor The associated VnSensor. - * \return Any errors encountered. */ -VnError VnSensor_readSerialBaudRate(VnSensor *sensor, uint32_t *baudrate); - -/** \brief Writes to the Serial Baud Rate register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] baudrate The value to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeSerialBaudRate(VnSensor *sensor, uint32_t baudrate, bool waitForReply); - -/** \brief Reads the Async Data Output Type register. - * - * \param[in] sensor The associated VnSensor. - * \return Any errors encountered. */ -VnError VnSensor_readAsyncDataOutputType(VnSensor *sensor, VnAsciiAsync *ador); - -/** \brief Writes to the Async Data Output Type register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] ador The value to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeAsyncDataOutputType(VnSensor *sensor, VnAsciiAsync ador, bool waitForReply); - -/** \brief Reads the Async Data Output Frequency register. - * - * \param[in] sensor The associated VnSensor. - * \return Any errors encountered. */ -VnError VnSensor_readAsyncDataOutputFrequency(VnSensor *sensor, uint32_t *adof); - -/** \brief Writes to the Async Data Output Frequency register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] adof The value to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeAsyncDataOutputFrequency(VnSensor *sensor, uint32_t adof, bool waitForReply); - -/** \brief Reads the Yaw Pitch Roll register. - * - * \param[in] sensor The associated VnSensor. - * \return Any errors encountered. */ -VnError VnSensor_readYawPitchRoll(VnSensor *sensor, vec3f *yawPitchRoll); - -/** \brief Reads the Attitude Quaternion register. - * - * \param[in] sensor The associated VnSensor. - * \return Any errors encountered. */ -VnError VnSensor_readAttitudeQuaternion(VnSensor *sensor, vec4f *quat); - -/** \brief Reads the Quaternion, Magnetic, Acceleration and Angular Rates register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readQuaternionMagneticAccelerationAndAngularRates(VnSensor *sensor, QuaternionMagneticAccelerationAndAngularRatesRegister *fields); - -/** \brief Reads the Magnetic Measurements register. - * - * \param[in] sensor The associated VnSensor. - * \return Any errors encountered. */ -VnError VnSensor_readMagneticMeasurements(VnSensor *sensor, vec3f *mag); - -/** \brief Reads the Acceleration Measurements register. - * - * \param[in] sensor The associated VnSensor. - * \return Any errors encountered. */ -VnError VnSensor_readAccelerationMeasurements(VnSensor *sensor, vec3f *accel); - -/** \brief Reads the Angular Rate Measurements register. - * - * \param[in] sensor The associated VnSensor. - * \return Any errors encountered. */ -VnError VnSensor_readAngularRateMeasurements(VnSensor *sensor, vec3f *gyro); - -/** \brief Reads the Magnetic, Acceleration and Angular Rates register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readMagneticAccelerationAndAngularRates(VnSensor *sensor, MagneticAccelerationAndAngularRatesRegister *fields); - -/** \brief Reads the Magnetic and Gravity Reference Vectors register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readMagneticAndGravityReferenceVectors(VnSensor *sensor, MagneticAndGravityReferenceVectorsRegister *fields); - -/** \brief Writes to the Magnetic and Gravity Reference Vectors register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeMagneticAndGravityReferenceVectors(VnSensor *sensor, MagneticAndGravityReferenceVectorsRegister fields, bool waitForReply); - -/** \brief Reads the Magnetometer Compensation register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readMagnetometerCompensation(VnSensor *sensor, MagnetometerCompensationRegister *fields); - -/** \brief Writes to the Magnetometer Compensation register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeMagnetometerCompensation(VnSensor *sensor, MagnetometerCompensationRegister fields, bool waitForReply); - -/** \brief Reads the Acceleration Compensation register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readAccelerationCompensation(VnSensor *sensor, AccelerationCompensationRegister *fields); - -/** \brief Writes to the Acceleration Compensation register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeAccelerationCompensation(VnSensor *sensor, AccelerationCompensationRegister fields, bool waitForReply); - -/** \brief Reads the Reference Frame Rotation register. - * - * \param[in] sensor The associated VnSensor. - * \return Any errors encountered. */ -VnError VnSensor_readReferenceFrameRotation(VnSensor *sensor, mat3f *c); - -/** \brief Writes to the Reference Frame Rotation register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] c The value to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeReferenceFrameRotation(VnSensor *sensor, mat3f c, bool waitForReply); - -/** \brief Reads the Yaw, Pitch, Roll, Magnetic, Acceleration and Angular Rates register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readYawPitchRollMagneticAccelerationAndAngularRates(VnSensor *sensor, YawPitchRollMagneticAccelerationAndAngularRatesRegister *fields); - -/** \brief Reads the Communication Protocol Control register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readCommunicationProtocolControl(VnSensor *sensor, CommunicationProtocolControlRegister *fields); - -/** \brief Writes to the Communication Protocol Control register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeCommunicationProtocolControl(VnSensor *sensor, CommunicationProtocolControlRegister fields, bool waitForReply); - -/** \brief Reads the Synchronization Control register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readSynchronizationControl(VnSensor *sensor, SynchronizationControlRegister *fields); - -/** \brief Writes to the Synchronization Control register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeSynchronizationControl(VnSensor *sensor, SynchronizationControlRegister fields, bool waitForReply); - -/** \brief Reads the Synchronization Status register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readSynchronizationStatus(VnSensor *sensor, SynchronizationStatusRegister *fields); - -/** \brief Writes to the Synchronization Status register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeSynchronizationStatus(VnSensor *sensor, SynchronizationStatusRegister fields, bool waitForReply); - -/** \brief Reads the VPE Basic Control register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readVpeBasicControl(VnSensor *sensor, VpeBasicControlRegister *fields); - -/** \brief Writes to the VPE Basic Control register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeVpeBasicControl(VnSensor *sensor, VpeBasicControlRegister fields, bool waitForReply); - -/** \brief Reads the VPE Magnetometer Basic Tuning register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readVpeMagnetometerBasicTuning(VnSensor *sensor, VpeMagnetometerBasicTuningRegister *fields); - -/** \brief Writes to the VPE Magnetometer Basic Tuning register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeVpeMagnetometerBasicTuning(VnSensor *sensor, VpeMagnetometerBasicTuningRegister fields, bool waitForReply); - -/** \brief Reads the VPE Accelerometer Basic Tuning register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readVpeAccelerometerBasicTuning(VnSensor *sensor, VpeAccelerometerBasicTuningRegister *fields); - -/** \brief Writes to the VPE Accelerometer Basic Tuning register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeVpeAccelerometerBasicTuning(VnSensor *sensor, VpeAccelerometerBasicTuningRegister fields, bool waitForReply); - -/** \brief Reads the Magnetometer Calibration Control register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readMagnetometerCalibrationControl(VnSensor *sensor, MagnetometerCalibrationControlRegister *fields); - -/** \brief Writes to the Magnetometer Calibration Control register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeMagnetometerCalibrationControl(VnSensor *sensor, MagnetometerCalibrationControlRegister fields, bool waitForReply); - -/** \brief Reads the Calculated Magnetometer Calibration register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readCalculatedMagnetometerCalibration(VnSensor *sensor, CalculatedMagnetometerCalibrationRegister *fields); - -/** \brief Reads the Velocity Compensation Measurement register. - * - * \param[in] sensor The associated VnSensor. - * \return Any errors encountered. */ -VnError VnSensor_readVelocityCompensationMeasurement(VnSensor *sensor, vec3f *velocity); - -/** \brief Writes to the Velocity Compensation Measurement register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] velocity The value to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeVelocityCompensationMeasurement(VnSensor *sensor, vec3f velocity, bool waitForReply); - -/** \brief Reads the Velocity Compensation Control register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readVelocityCompensationControl(VnSensor *sensor, VelocityCompensationControlRegister *fields); - -/** \brief Writes to the Velocity Compensation Control register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeVelocityCompensationControl(VnSensor *sensor, VelocityCompensationControlRegister fields, bool waitForReply); - -/** \brief Reads the IMU Measurements register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readImuMeasurements(VnSensor *sensor, ImuMeasurementsRegister *fields); - -/** \brief Reads the GPS Configuration register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readGpsConfiguration(VnSensor *sensor, GpsConfigurationRegister *fields); - -/** \brief Writes to the GPS Configuration register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeGpsConfiguration(VnSensor *sensor, GpsConfigurationRegister fields, bool waitForReply); - -/** \brief Reads the GPS Antenna Offset register. - * - * \param[in] sensor The associated VnSensor. - * \return Any errors encountered. */ -VnError VnSensor_readGpsAntennaOffset(VnSensor *sensor, vec3f *position); - -/** \brief Writes to the GPS Antenna Offset register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] position The value to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeGpsAntennaOffset(VnSensor *sensor, vec3f position, bool waitForReply); - -/** \brief Reads the GPS Solution - LLA register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readGpsSolutionLla(VnSensor *sensor, GpsSolutionLlaRegister *fields); - -/** \brief Reads the GPS Solution - ECEF register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readGpsSolutionEcef(VnSensor *sensor, GpsSolutionEcefRegister *fields); - -/** \brief Reads the INS Solution - LLA register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readInsSolutionLla(VnSensor *sensor, InsSolutionLlaRegister *fields); - -/** \brief Reads the INS Solution - ECEF register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readInsSolutionEcef(VnSensor *sensor, InsSolutionEcefRegister *fields); - -/** \brief Reads the INS Basic Configuration register for a VN-200 sensor. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readInsBasicConfigurationVn200(VnSensor *sensor, InsBasicConfigurationRegisterVn200 *fields); - -/** \brief Writes to the INS Basic Configuration register for a VN-200 sensor. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeInsBasicConfigurationVn200(VnSensor *sensor, InsBasicConfigurationRegisterVn200 fields, bool waitForReply); - -/** \brief Reads the INS Basic Configuration register for a VN-300 sensor. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readInsBasicConfigurationVn300(VnSensor *sensor, InsBasicConfigurationRegisterVn300 *fields); - -/** \brief Writes to the INS Basic Configuration register for a VN-300 sensor. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeInsBasicConfigurationVn300(VnSensor *sensor, InsBasicConfigurationRegisterVn300 fields, bool waitForReply); - -/** \brief Reads the INS State - LLA register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readInsStateLla(VnSensor *sensor, InsStateLlaRegister *fields); - -/** \brief Reads the INS State - ECEF register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readInsStateEcef(VnSensor *sensor, InsStateEcefRegister *fields); - -/** \brief Reads the Startup Filter Bias Estimate register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readStartupFilterBiasEstimate(VnSensor *sensor, StartupFilterBiasEstimateRegister *fields); - -/** \brief Writes to the Startup Filter Bias Estimate register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeStartupFilterBiasEstimate(VnSensor *sensor, StartupFilterBiasEstimateRegister fields, bool waitForReply); - -/** \brief Reads the Delta Theta and Delta Velocity register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readDeltaThetaAndDeltaVelocity(VnSensor *sensor, DeltaThetaAndDeltaVelocityRegister *fields); - -/** \brief Reads the Delta Theta and Delta Velocity Configuration register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readDeltaThetaAndDeltaVelocityConfiguration(VnSensor *sensor, DeltaThetaAndDeltaVelocityConfigurationRegister *fields); - -/** \brief Writes to the Delta Theta and Delta Velocity Configuration register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeDeltaThetaAndDeltaVelocityConfiguration(VnSensor *sensor, DeltaThetaAndDeltaVelocityConfigurationRegister fields, bool waitForReply); - -/** \brief Reads the Reference Vector Configuration register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readReferenceVectorConfiguration(VnSensor *sensor, ReferenceVectorConfigurationRegister *fields); - -/** \brief Writes to the Reference Vector Configuration register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeReferenceVectorConfiguration(VnSensor *sensor, ReferenceVectorConfigurationRegister fields, bool waitForReply); - -/** \brief Reads the Gyro Compensation register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readGyroCompensation(VnSensor *sensor, GyroCompensationRegister *fields); - -/** \brief Writes to the Gyro Compensation register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeGyroCompensation(VnSensor *sensor, GyroCompensationRegister fields, bool waitForReply); - -/** \brief Reads the IMU Filtering Configuration register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readImuFilteringConfiguration(VnSensor *sensor, ImuFilteringConfigurationRegister *fields); - -/** \brief Writes to the IMU Filtering Configuration register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeImuFilteringConfiguration(VnSensor *sensor, ImuFilteringConfigurationRegister fields, bool waitForReply); - -/** \brief Reads the GPS Compass Baseline register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readGpsCompassBaseline(VnSensor *sensor, GpsCompassBaselineRegister *fields); - -/** \brief Writes to the GPS Compass Baseline register. - * - * \param[in] sensor The associated VnSensor. - * \param[in] fields The values to write to the register. - * \param[in] waitForReply Set to true to wait for a response from the sensor; otherwise set to false to just immediately send the command and return. - * \return Any errors encountered. */ -VnError VnSensor_writeGpsCompassBaseline(VnSensor *sensor, GpsCompassBaselineRegister fields, bool waitForReply); - -/** \brief Reads the GPS Compass Estimated Baseline register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readGpsCompassEstimatedBaseline(VnSensor *sensor, GpsCompassEstimatedBaselineRegister *fields); - -/** \brief Reads the Yaw, Pitch, Roll, True Body Acceleration and Angular Rates register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readYawPitchRollTrueBodyAccelerationAndAngularRates(VnSensor *sensor, YawPitchRollTrueBodyAccelerationAndAngularRatesRegister *fields); - -/** \brief Reads the Yaw, Pitch, Roll, True Inertial Acceleration and Angular Rates register. - * - * \param[in] sensor The associated VnSensor. - * \param[out] fields The register's values. - * \return Any errors encountered. */ -VnError VnSensor_readYawPitchRollTrueInertialAccelerationAndAngularRates(VnSensor *sensor, YawPitchRollTrueInertialAccelerationAndAngularRatesRegister *fields); - -/** \brief Upgrade the connected sensor with the supplied firmware file - * - * \param[in] sensor The associated VnSensor. - * \param[in] processor The target processor to switch to. - * \param[in] model The model of sensor. - * \param[in] firmware The current firmware version of sensor. - * \return Any errors encountered. */ -VnError VnSensor_switchProcessors(VnSensor* s, VnProcessorType processor, char* model, char* firmware); - -/** \brief Update the connected sensor with the supplied firmware file - * - * \param[in] sensor The associated VnSensor. - * \param]in] portName The baud rate used to update the firmware. (Can be different than the current baud rate) - * \param[in] filename The path to the VNX firmware file for the sensor. - * \return Any errors encountered. */ -VnError VnSensor_firmwareUpdate(VnSensor* s, int baudRate, char* fileName); - -/** \brief Open a firmware update file to parse. - * - * \param[in] filename The path to the VNX firmware file for the sensor. - * \return A file handle. */ -FILE* VnSensor_openFirmwareUpdateFile(char* filename); - -/** \brief Parse out and copy the next record in the firmware update file. - * - * \param[in] file The file handle returned by VnSensor_openFirmwareUpdateFile. - * \param]in] record A buffer to hold the next record from the firmware update file. - * \param[in] MaxRecordSize Pass in the current size of the record buffer. - * \return True if another record was found, otherwise false. */ -bool VnSensor_getNextFirmwareUpdateRecord(FILE* file, char* record, int MaxRecordSize); - -/** \brief Close the firmware update file - * - * \param[in] file The file handle returned by VnSensor_openFirmwareUpdateFile.*/ -void VnSensor_closeFirmwareUpdateFile(FILE* file); - -/** \brief Calibrate the bootloader baudrate once in bootloader mode - * - * \param[in] sensor The associated VnSensor.*/ -void VnSensor_calibrateBootloader(VnSensor* s); - -/** \brief Write the firmware update record to the bootloader - * - * \param[in] sensor The associated VnSensor. - * \param]in] record A line from the firmware update file. - * \return Any errors encountered. */ -VnError VnSensor_writeFirmwareUpdateRecord(VnSensor* s, char* record); - -/** \} */ - -/** \brief Converts a sensor error into a string. -* -* \param[out] out The buffer to place the string in. -* \param[in] val The SensorError value to convert to string. -* \return The converted value. -*/ -void strFromSensorError(char *out, SensorError val); - -/** \brief Converts a SyncInMode into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The SyncInMode value to convert to string. - */ -void strFromSyncInMode(char *out, VnSyncInMode val); - -/** \brief Converts a SyncInEdge into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The SyncInEdge value to convert to string. - */ -void strFromSyncInEdge(char *out, VnSyncInEdge val); - -/** \brief Converts a SyncOutMode into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The SyncOutMode value to convert to string. - */ -void strFromSyncOutMode(char *out, VnSyncOutMode val); - -/** \brief Converts a SyncOutPolarity into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The SyncOutPolarity value to convert to string. - */ -void strFromSyncOutPolarity(char *out, VnSyncOutPolarity val); - -/** \brief Converts a CountMode into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The CountMode value to convert to string. - */ -void strFromCountMode(char *out, VnCountMode val); - -/** \brief Converts a StatusMode into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The StatusMode value to convert to string. - */ -void strFromStatusMode(char *out, VnStatusMode val); - -/** \brief Converts a ChecksumMode into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The ChecksumMode value to convert to string. - */ -void strFromChecksumMode(char *out, VnChecksumMode val); - -/** \brief Converts a ErrorMode into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The ErrorMode value to convert to string. - */ -void strFromErrorMode(char *out, VnErrorMode val); - -/** \brief Converts a FilterMode into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The FilterMode value to convert to string. - */ -void strFromFilterMode(char *out, VnFilterMode val); - -/** \brief Converts a IntegrationFrame into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The IntegrationFrame value to convert to string. - */ -void strFromIntegrationFrame(char *out, VnIntegrationFrame val); - -/** \brief Converts a CompensationMode into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The CompensationMode value to convert to string. - */ -void strFromCompensationMode(char *out, VnCompensationMode val); - -/** \brief Converts a GpsFix into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The GpsFix value to convert to string. - */ -void strFromGpsFix(char *out, VnGpsFix val); - -/** \brief Converts a GpsMode into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The GpsMode value to convert to string. - */ -void strFromGpsMode(char *out, VnGpsMode val); - -/** \brief Converts a PpsSource into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The PpsSource value to convert to string. - */ -void strFromPpsSource(char *out, VnPpsSource val); - -/** \brief Converts a VpeEnable into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The VpeEnable value to convert to string. - */ -void strFromVpeEnable(char *out, VnVpeEnable val); - -/** \brief Converts a HeadingMode into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The HeadingMode value to convert to string. - */ -void strFromHeadingMode(char *out, VnHeadingMode val); - -/** \brief Converts a VpeMode into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The VpeMode value to convert to string. - */ -void strFromVpeMode(char *out, VnVpeMode val); - -/** \brief Converts a Scenario into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The Scenario value to convert to string. - */ -void strFromScenario(char *out, VnScenario val); - -/** \brief Converts a HsiMode into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The HsiMode value to convert to string. - */ -void strFromHsiMode(char *out, VnHsiMode val); - -/** \brief Converts a HsiOutput into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The HsiOutput value to convert to string. - */ -void strFromHsiOutput(char *out, VnHsiOutput val); - -/** \brief Converts a VelocityCompensationMode into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The VelocityCompensationMode value to convert to string. - */ -void strFromVelocityCompensationMode(char *out, VnVelocityCompensationMode val); - -/** \brief Converts a MagneticMode into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The MagneticMode value to convert to string. - */ -void strFromMagneticMode(char *out, VnMagneticMode val); - -/** \brief Converts a ExternalSensorMode into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The ExternalSensorMode value to convert to string. - */ -void strFromExternalSensorMode(char *out, VnExternalSensorMode val); - -/** \brief Converts a FoamInit into a string. - * - * \param[out] out The buffer to place the string in. - * \param[in] val The FoamInit value to convert to string. - */ -void strFromFoamInit(char *out, VnFoamInit val); - -#ifdef __cplusplus -} -#endif - -#ifdef _WIN32 -#pragma warning(pop) -#endif - -#endif diff --git a/vnproglib/c/include/vn/sensors/compositedata.h b/vnproglib/c/include/vn/sensors/compositedata.h deleted file mode 100644 index 955fce6..0000000 --- a/vnproglib/c/include/vn/sensors/compositedata.h +++ /dev/null @@ -1,245 +0,0 @@ -#ifndef _VNCOMPOSITEDATA_H_ -#define _VNCOMPOSITEDATA_H_ - -#include "vn/bool.h" -#include "vn/xplat/criticalsection.h" -#include "vn/enum.h" -#include "vn/int.h" -#include "vn/math/vector.h" -#include "vn/math/matrix.h" -#include "vn/protocol/upack.h" -#include "vn/math/vector.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef _WIN32 -#pragma warning(push) -#pragma warning(disable : 4820) -#endif - -/** \brief Composite structure of all available data types from VectorNav sensors. */ -typedef struct -{ - vec3f yawPitchRoll; /**< Yaw, pitch, roll data. */ - vec4f quaternion; /**< Quaternion data. */ - mat3f directionCosineMatrix; /**< Direction cosine matrix data. */ - vec3d positionGpsLla; /**< GPS latitude, longitude, altitude data. */ - vec3d positionGpsEcef; /**< GPS earth-centered, earth-fixed data. */ - vec3d positionEstimatedLla; /**< Estimated latitude, longitude, altitude data. */ - vec3d positionEstimatedEcef; /**< Estimated earth-centered, earth-fixed position data. */ - VelocityType velocityType; /**< Type of velocity in the struct. */ - vec3f velocityGpsNed; /**< GPS velocity NED data. */ - vec3f velocityGpsEcef; /**< GPS velocity ECEF data. */ - vec3f velocityEstimatedBody; /**< Estimated velocity body data. */ - vec3f velocityEstimatedNed; /**< Estimated velocity NED data. */ - vec3f velocityEstimatedEcef; /**< Estimated velocity ECEF data. */ - vec3f magnetic; /**< Magnetic data. */ - vec3f magneticUncompensated; /**< Magnetic uncompensated data. */ - vec3f magneticNed; /**< Magnetic NED data. */ - vec3f magneticEcef; /**< Magnetic ECEF data. */ - #ifdef EXTRA - vec3f magneticRaw; /**< Magnetic raw data. */ - #endif - vec3f acceleration; /**< Acceleration data. */ - vec3f accelerationUncompensated; /**< Acceleration uncompensated data. */ - vec3f accelerationNed; /**< Acceleration NED data. */ - vec3f accelerationEcef; /**< Acceleration ECEF data. */ - vec3f accelerationLinearBody; /**< Acceleration linear body data. */ - vec3f accelerationLinearNed; /**< Acceleration linear NED data. */ - vec3f accelerationLinearEcef; /**< Acceleration linear ECEF data. */ - #ifdef EXTRA - vec3f accelerationRaw; /**< Acceleration raw data. */ - #endif - vec3f angularRate; /**< Angular rate data. */ - vec3f angularRateUncompensated; /**< Angular rate uncompensated data. */ - #ifdef EXTRA - vec3f angularRateRaw; /**< Angular rate raw data. */ - #endif - float temperature; /**< Temperature data. */ - #ifdef EXTRA - float temperatureRaw; /**< Temperature raw data. */ - #endif - float pressure; /**< Pressure data. */ - uint64_t timeStartup; /**< Time startup data. */ - float deltaTime; /**< Delta time data. */ - vec3f deltaTheta; /**< Delta theta data. */ - vec3f deltaVelocity; /**< Delta velocity data. */ - double tow; /**< GPS time of week data. */ - uint16_t week; /**< Week data. */ - uint8_t gpsFix; /**< GPS fix data. */ - uint8_t numSats; /**< NumSats data. */ - uint64_t timeGps; /**< TimeGps data. */ - uint64_t timeGpsPps; /**< TimeGpsPps data. */ - TimeUtc timeUtc; /**< TimeUtc data. */ - uint64_t gpsTow; /**< GpsTow data. */ - vec3f attitudeUncertainty; /**< Attitude uncertainty data. */ - vec3f positionUncertaintyGpsNed; /**< GPS position uncertainty NED data. */ - vec3f positionUncertaintyGpsEcef; /**< GPS position uncertainty ECEF data. */ - float positionUncertaintyEstimated; /**< Estimated position uncertainty data. */ - float velocityUncertaintyGps; /**< GPS velocity uncertainty data. */ - float velocityUncertaintyEstimated; /**< Estimated velocity uncertainty data. */ - uint32_t timeUncertainty; /**< Time uncertainty data. */ - uint16_t vpeStatus; /**< VpeStatus data. */ - uint16_t insStatus; /**< InsStatus data. */ - uint64_t timeSyncIn; /**< TimeSyncIn data. */ - uint32_t syncInCnt; /**< SyncInCnt data. */ - uint32_t syncOutCnt; /**< SyncInCnt data. */ - uint16_t sensSat; /**< SensSat data. */ - #ifdef EXTRA - vec3f yprRates; /**< YprRates data. */ - #endif - vec3d positionGps2Lla; /**< GPS2 latitude, longitude, altitude data. */ - vec3d positionGps2Ecef; /**< GPS2 earth-centered, earth-fixed data. */ - vec3f velocityGps2Ned; /**< GPS2 velocity NED data. */ - vec3f velocityGps2Ecef; /**< GPS2 velocity ECEF data. */ - uint16_t weekGps2; /**< GPS2 Week data. */ - uint8_t fixGps2; /**< GPS2 fix data. */ - uint8_t numSatsGps2; /**< GPS2 NumSats data. */ - uint64_t timeGps2; /**< GPS2 TimeGps data. */ - uint64_t timeGps2Pps; /**< GPS2 TimeGpsPps data. */ - uint64_t gps2Tow; /**< GPS2 GpsTow data. */ - float velocityUncertaintyGps2; /**< GPS2velocity uncertainty data. */ - vec3f positionUncertaintyGps2Ned; /**< GPS2 position uncertainty NED data. */ - vec3f positionUncertaintyGps2Ecef; /**< GPS2 position uncertainty ECEF data. */ - uint32_t timeUncertaintyGps2; /**< GPS2 Time uncertainty data. */ - TimeInfo timeInfo; - GpsDop dop; -} VnCompositeData; -#ifdef _WIN32 -#pragma warning(pop) -#endif - -/** \brief Indicates if course over ground has valid data -* -* \param[in] compositeData The associated VnCompositeData structure. -* \return Flag indicating if the course over ground data is available. */ -bool VnCompositeData_hasCourseOverGround(VnCompositeData* compositeData); - -/** \brief Computers the course over ground from any velocity data available -* -* \param[in] compositeData The associated VnCompositeData structure. -* \param[out] courseOverGroundOut The computered course over ground. -* \return Flag indicating if the calculation was successful. */ -bool VnCompositeData_courseOverGround(VnCompositeData* compositeData, float* courseOverGroundOut); - -/** \brief Indicates if speed over ground has valid data.. -* -* \param[in] compositeData The associated VnCompositeData structure. -* \return Flag indicating if the speed over ground data is available. */ -bool VnCompositeData_hasSpeedOverGround(VnCompositeData* compositeData); - -/** \brief Computers the speed over ground from any velocity data available -* -* \param[in] compositeData The associated VnCompositeData structure. -* \param[out] speedOverGroundOut The computered course over ground. -* \return Flag indicating if the calculation was successful. */ -bool VnCompositeData_speedOverGround(VnCompositeData* compositeData, float* speedOverGroundOut); - -/** \brief -* -* \param[in] -* \param[out] -* \return -*/ -void VnCompositeData_initialize(VnCompositeData* compositeData); - -/** \brief -* -* \param[in] -* \param[out] -* \return -*/ -void VnCompositeData_processBinaryPacket(VnCompositeData* compositeData, VnUartPacket* packet, VnCriticalSection* criticalSection); - -/** \brief -* -* \param[in] -* \param[out] -* \return -*/ -void VnCompositeData_processAsciiAsyncPacket(VnCompositeData* compositeData, VnUartPacket* packet, VnCriticalSection* criticalSection); - -/** \brief -* -* \param[in] -* \param[out] -* \return -*/ -void VnCompositeData_processBinaryPacketCommonGroup( - VnCompositeData* compositeData, - VnUartPacket* packet, - CommonGroup groupFlags); - -/** \brief -* -* \param[in] -* \param[out] -* \return -*/ -void VnCompositeData_processBinaryPacketTimeGroup( - VnCompositeData* compositeData, - VnUartPacket* packet, - TimeGroup groupFlags); - -/** \brief -* -* \param[in] -* \param[out] -* \return -*/ -void VnCompositeData_processBinaryPacketImuGroup( - VnCompositeData* compositeData, - VnUartPacket* packet, - ImuGroup groupFlags); - -/** \brief -* -* \param[in] -* \param[out] -* \return -*/ -void VnCompositeData_processBinaryPacketGpsGroup( - VnCompositeData* compositeData, - VnUartPacket* packet, - GpsGroup groupFlags); - -/** \brief -* -* \param[in] -* \param[out] -* \return -*/ -void VnCompositeData_processBinaryPacketAttitudeGroup( - VnCompositeData* compositeData, - VnUartPacket* packet, - AttitudeGroup groupFlags); - -/** \brief -* -* \param[in] -* \param[out] -* \return -*/ -void VnCompositeData_processBinaryPacketInsGroup( - VnCompositeData* compositeData, - VnUartPacket* packet, - InsGroup groupFlags); - -/** \brief -* -* \param[in] -* \param[out] -* \return -*/ -void VnCompositeData_processBinaryPacketGps2Group( - VnCompositeData* compositeData, - VnUartPacket* packet, - GpsGroup groupFlags); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vnproglib/c/include/vn/sensors/ezasyncdata.h b/vnproglib/c/include/vn/sensors/ezasyncdata.h deleted file mode 100644 index 8cf908d..0000000 --- a/vnproglib/c/include/vn/sensors/ezasyncdata.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef _VNEZASYNCDATA_H_ -#define _VNEZASYNCDATA_H_ - -#include "vn/int.h" -#include "vn/error.h" -#include "vn/sensors/compositedata.h" -#include "vn/sensors.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** \brief Structure supporting easy and reliable access to asynchronous data -* from a VectorNav sensor at the cost of a slight performance hit. */ -typedef struct -{ - /** \brief The associated connected sensor. */ - VnSensor* sensor; - - /** \brief Critical section for accessing the current data. */ - VnCriticalSection* curDataCS; - - /** \brief The current data received from asynchronous data packets. */ - VnCompositeData* curData; - -} VnEzAsyncData; - -/** \brief Initializes and connects to a VectorNav sensor with the specified -* connection parameters. -* -* \param[in] ezAsyncData The associated VnEzAsyncData structure. -* \param]in] portName The name of the serial port to connect to. -* \param[in] baudrate The baudrate to connect at. -* \return Any errors encountered. */ -VnError VnEzAsyncData_initializeAndConnect(VnEzAsyncData* ezAsyncData, const char* portName, uint32_t baudrate); - -/** \brief Disconnects from a VectorNav sensor. -* -* \param[in] ezAsyncData The associated VnEzAsyncData structure. -* \return Any errors encountered. */ -VnError VnEzAsyncData_disconnectAndUninitialize(VnEzAsyncData* ezAsyncData); - -/** \brief Returns the most recent asynchronous data the VnEzAsyncData structure -* has processed. -* -* \param[in] ezAsyncData The associated VnEzAsyncData structure. -* \return The latest data processed. */ -VnCompositeData VnEzAsyncData_currentData(VnEzAsyncData* ezAsyncData); - -/** \brief Returns the underlying VnSensor referenced. -* -* \param[in] ezAsyncData The associated VnEzAsyncData structure. -* \return The underlying VnSensor reference. */ -VnSensor* VnEzAsyncData_sensor(VnEzAsyncData* ezAsyncData); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vnproglib/c/include/vn/sensors/searcher.h b/vnproglib/c/include/vn/sensors/searcher.h deleted file mode 100644 index 09dd5d2..0000000 --- a/vnproglib/c/include/vn/sensors/searcher.h +++ /dev/null @@ -1,94 +0,0 @@ -#ifndef _SEARCHER_H_ -#define _SEARCHER_H_ - -#include "vn/bool.h" -#include "vn/int.h" -#include "vn/xplat/serialport.h" -#include "vn/xplat/thread.h" - -/* These defines are used to enable a single function name while implementing */ -/* different solutions given the OS. */ -#if defined __linux__ || defined __CYGWIN__ - #define VnSearcher_findPorts VnSearcher_findPorts_LINUX -#elif defined _WIN32 - #define VnSearcher_findPorts VnSearcher_findPorts_WIN32 -#else - #error ERROR: System not yet supported in VnSearcher -#endif - -#ifdef _WIN32 -#pragma warning(push) -#pragma warning(disable : 4820) -#endif - -/** \brief containing information about the port to be searched. */ -typedef struct -{ - /** \brief Contains the name of the port. */ - char* portName; - - /** \brief VnThread object for callback purposes. */ - VnThread thread; - - /** \brief Baud of the attached senosr, -1 for no sensor, -2 for error. */ - int32_t baud; - - /** \brief size of the data array */ - size_t dataSize; - - /** \brief VnSerialPort object to handle communication to the sensor. */ - VnSerialPort* port; - - /** \brief Array to store partial/completed communication data from the sensor. */ - char data[255]; -} VnPortInfo; - -#ifdef _WIN32 -#pragma warning(pop) -#endif - -/** \brief Takes a VnPortInfo and returns the name of the port. - * \parm[in] portInfo Pointer to a VnPortInfo struct - * \return The name of the port - */ -char* VnSearcher_getPortName(VnPortInfo* portInfo); - -/** \brief Takes a VnPortInfo and returns the baud rate or error code. - * \parm[in] portInfo Pointer to a VnPortInfo struct - * \return The baud rate of the port or an error code. - * -1 indicates no sensor on the port. - * -2 indicates an error trying to find a sensor. - */ -int32_t VnSearcher_getPortBaud(VnPortInfo* portInfo); - -/** \brief Function to find the names of all of the system's serial ports. - * \parm[out] portNames Array containing the names of all of the serial ports. - * \parm[out] numPortsFound Number of serial ports found. - */ -void VnSearcher_findPorts(char*** portNames, int32_t* numPortsFound); - -/** \brief Function to search an input port and return either the baud rate of the connected - * sensor or an error code. - * \parm[in] portName The system name of the port to be searched. - * \parm[out] foundBaudrate Baud rate of the attacked sensor, -1 for no sensor, -2 for error - */ -void VnSearcher_findPortBaud(char* portName, int32_t* foundBaudrate); - -/** \brief Convenience function to find all available sensors currently attached - * to the system. - * \parm[out] sensorsFound Pointer to an array of sensors attached to the system. - * \parm[out] numSensors The number of sensors found. - */ -void VnSearcher_findAllSensors(VnPortInfo*** sensorsFound, int32_t* numSensors); - -/** \brief Function that will search all of the input ports to see if an available sensor is attached to it. - * NOTE: The OS will not allow the detection of sensor that is in use. - * \parm[in] portsToCheck Array containing the names of all the ports to check. - * \parm[in] Number of ports to check. - * \parm[out] An array of VnPortInfo structs the same size as numPortsToCheck. The baud rate will indicate - * if a sensor is attached. baud > 0 is the sensor baudrate, baud = -1 no sensor attached, and baud = -2 - * an error occured while detecting the sensor. - */ -void VnSearcher_searchInputPorts(char*** portsToCheck, int32_t numPortsToCheck, VnPortInfo*** sensorsFound); - -#endif diff --git a/vnproglib/c/include/vn/types.h b/vnproglib/c/include/vn/types.h deleted file mode 100644 index 6eade8d..0000000 --- a/vnproglib/c/include/vn/types.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef VN_TYPES_H_INCLUDED -#define VN_TYPES_H_INCLUDED - -/** \brief Standard types used through out the library. */ -#include "vn/int.h" - -#if !defined(__cplusplus) - -#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) - - #include - -#else - - /* Must not have C99. */ - - /** Backup definition of size_t. */ - typedef unsigned int size_t; - -#endif - -#else -extern "C" { -#endif - - -/* Adding VectorNav data types */ -typedef struct -{ - int8_t year; /** \brief Year field. */ - uint8_t month; /** \brief Month field. */ - uint8_t day; /** \brief Day field. */ - uint8_t hour; /** \brief Hour field. */ - uint8_t min; /** \brief Min field. */ - uint8_t sec; /** \brief Sec field. */ - uint16_t ms; /** \brief Ms field. */ -} TimeUtc; - -typedef struct -{ - float gDOP; /** \brief Gdop field. */ - float pDOP; /** \brief Pdop field. */ - float tDOP; /** \brief Tdop field. */ - float vDOP; /** \brief Vdop field. */ - float hDOP; /** \brief Hdop field. */ - float nDOP; /** \brief Ndop field. */ - float eDOP; /** \brief Edop field. */ -} GpsDop; - -typedef struct -{ - uint8_t timeStatus; /** \brief timeStatus field. */ - int8_t leapSeconds; /** \brief leapSeconds field. */ -} TimeInfo; - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vnproglib/c/include/vn/util.h b/vnproglib/c/include/vn/util.h deleted file mode 100644 index 1642e74..0000000 --- a/vnproglib/c/include/vn/util.h +++ /dev/null @@ -1,273 +0,0 @@ -#ifndef VNUTIL_H_INCLUDED -#define VNUTIL_H_INCLUDED - -#include - -#include "vn/int.h" -#include "vn/bool.h" -#include "vn/error.h" -#include "vn/math/matrix.h" -#include "vn/math/vector.h" -#include "vn/util/export.h" -#include "vn/types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** \brief Defines for the specific version of the VectorNav library. */ -#define VNAPI_MAJOR 1 -#define VNAPI_MINOR 2 -#define VNAPI_PATCH 0 -#define VNAPI_REVISION 126 - -/** \brief Returns the major version of the VectorNav library. - * - * \return The major version. */ -int VnApi_major(void); - -/** \brief Returns the minor version of the VectorNav library. -* -* \return The minor version. */ -int VnApi_minor(void); - -/** \brief Returns the patch version of the VectorNav library. -* -* \return The patch version. */ -int VnApi_patch(void); - -/** \brief Returns the revision version of the VectorNav library. -* -* \return The revision version. */ -int VnApi_revision(void); - -/** \brief Returns the full version of the VectorNav library as a string. - * - * \param[out] out The buffer to place the string. - * \param[in] outLength The number of characters available in the out buffer. - * \return Any errors encountered. */ -VnError VnApi_getVersion(char *out, size_t outLength); - -/** \brief Converts the single hexadecimal character to a uint8_t. -* -* \param[in] c The hexadecimal character to convert. -* \return The converted value. -*/ -uint8_t VnUtil_toUint8FromHexChar(char c); - -/** \brief Converts a 2 character hexadecimal string to a uint8_t. -* -* \param[in] str Pointer to 2 characters representing a hexadecimal -* number. -* \return The converted value. -*/ -uint8_t VnUtil_toUint8FromHexStr(char const *str); - -/** \brief Converts a 4 character hexadecimal string to a uint16_t. -* -* \param[in] str Pointer to 4 characters representing a hexadecimal -* number. -* \return The converted value. -*/ -uint16_t VnUtil_toUint16FromHexStr(char const *str); - -/** \brief Converts a uint8_t to a hexadecimal string. -* -* \param[in] toConvert The uint8_t to convert. -* \param[in] output Pointer to the char array to write the converted value. -* This will take 2 bytes for the output. -*/ -void VnUtil_toHexStrFromUint8(uint8_t toConvert, char *output); - -/** \brief Converts a uint16_t to a hexadecimal string. -* -* \param[in] toConvert The uint16_t to convert. -* \param[in] output Pointer to the char array to write the converted value. -* This will take 4 bytes for the output. -*/ -void VnUtil_toHexStrFromUint16(uint16_t toConvert, char *output); - -/** \brief Converts a uint16_t to a string. -* -* \param[in] toConvert The uint16_t to convert. -* \param[in] output Pointer to the char array to write the converted value. -* \return The number of characters that were written. -*/ -size_t VnUtil_toStrFromUint16(uint16_t toConvert, char *output); - -/** \brief Returns the number of bits set. - * - * \param[in] data The data value to count the number of bits set. - * \return The number of bits set. - */ -uint8_t DllExport VnUtil_countSetBitsUint8(uint8_t data); - -/** \brief Converts a boolean value into a string. - * - * \param[out] out The value converted to a string. - * \param[in] val The value to convert. - */ -void strFromBool(char *out, bool val); - -/** \defgroup byteOrderers Byte Ordering Functions -* \brief This group of functions are useful for ordering of bytes -* sent/received from VectorNav sensors. -* -* \{ */ - -/** \brief Converts a 16-bit integer in sensor order to host order. -* -* \param[in] sensorOrdered The 16-bit integer in sensor order. -* \return The value converted to host ordered. */ -uint16_t stoh16(uint16_t sensorOrdered); - -/** \brief Converts a 32-bit integer in sensor order to host order. -* -* \param[in] sensorOrdered The 32-bit integer in sensor order. -* \return The value converted to host ordered. */ -uint32_t stoh32(uint32_t sensorOrdered); - -/** \brief Converts a 64-bit integer in sensor order to host order. -* -* \param[in] sensorOrdered The 64-bit integer in sensor order. -* \return The value converted to host ordered. */ -uint64_t stoh64(uint64_t sensorOrdered); - -/** \brief Converts a 16-bit integer in host order to sensor order. -* -* \param[in] hostOrdered The 16-bit integer in host order. -* \return The value converted to sensor ordered. */ -uint16_t htos16(uint16_t hostOrdered); - -/** \brief Converts a 32-bit integer in host order to sensor order. -* -* \param[in] hostOrdered The 32-bit integer in host order. -* \return The value converted to sensor ordered. */ -uint32_t htos32(uint32_t hostOrdered); - -/** \brief Converts a 64-bit integer in host order to sensor order. -* -* \param[in] hostOrdered The 64-bit integer in host order. -* \return The value converted to sensor ordered. */ -uint64_t htos64(uint64_t hostOrdered); - -/** \brief Converts a 4-byte float in host order to sensor order. -* -* \param[in] hostOrdered The 4-byte float in host order. -* \return The value converted to sensor ordered. */ -float htosf4(float hostOrdered); - -/** \brief Converts an 8-byte float in host order to sensor order. -* -* \param[in] hostOrdered The 8-byte float in host order. -* \return The value converted to sensor ordered. */ -double htosf8(double hostOrdered); - -/** \} */ - -/** \defgroup sensorValueExtractors Sensor Value Extractors -* \brief This group of methods is useful for extracting data from binary -* data received from a VectorNav sensor either from a UART binary or a -* SPI packet. Any necessary byte ordering will be performed. -* -* \{ */ - -/** \brief Extracts a uint16_t with appropriate byte reordering from the binary -* array received from a VectorNav sensor either from the UART binary or -* SPI packet. -* -* \param[in] pos The current position to extract the value from. -* \return The extracted value. */ -uint16_t VnUtil_extractUint16(const char* pos); - -/** \brief Extracts a uint32_t with appropriate byte reordering from the binary - * array received from a VectorNav sensor either from the UART binary or - * SPI packet. - * - * \param[in] pos The current position to extract the value from. - * \return The extracted value. */ -uint32_t VnUtil_extractUint32(const char* pos); - -/** \brief Extracts a float with appropriate byte reordering from the binary -* array received from a VectorNav sensor either from the UART binary or -* SPI packet. -* -* \param[in] pos The current position to extract the value from. -* \return The extracted value. */ -float VnUtil_extractFloat(const char* pos); - -/** \brief Extracts a double with appropriate byte reordering from the binary -* array received from a VectorNav sensor either from the UART binary or -* SPI packet. -* -* \param[in] pos The current position to extract the value from. -* \return The extracted value. */ -double VnUtil_extractDouble(const char* pos); - -/*#if THIS_SHOULD_BE_MOVED_TO_MATH_C_PACK*/ - -/** \brief Extracts a vec3f with appropriate byte reordering from the binary -* array received from a VectorNav sensor either from the UART binary or -* SPI packet. -* -* \param[in] pos The current position to extract the value from. -* \return The extracted value. */ -vec3f VnUtil_extractVec3f(const char* pos); - -/** \brief Extracts a vec4f with appropriate byte reordering from the binary -* array received from a VectorNav sensor either from the UART binary or -* SPI packet. -* -* \param[in] pos The current position to extract the value from. -* \return The extracted value. */ -vec4f VnUtil_extractVec4f(const char* pos); - -/** \brief Extracts a vec3d with appropriate byte reordering from the binary -* array received from a VectorNav sensor either from the UART binary or -* SPI packet. -* -* \param[in] pos The current position to extract the value from. -* \return The extracted value. */ -vec3d VnUtil_extractVec3d(const char* pos); - -/** \brief Extracts a mat3f with appropriate byte reordering from the binary -* array received from a VectorNav sensor either from the UART binary or -* SPI packet. -* -* \param[in] pos The current position to extract the value from. -* \return The extracted value. */ -mat3f VnUtil_extractMat3f(const char* pos); - -/** \brief Extracts a GpsDop with appropriate byte reordering from the binary -* array received from a VectorNav sensor either from the UART binary or -* SPI packet. -* -* \param[in] pos The current position to extract the value from. -* \return The extracted value. */ -GpsDop VnUtil_extractGpsDop(const char* pos); - -/** \brief Extracts a TimeUtc with appropriate byte reordering from the binary -* array received from a VectorNav sensor either from the UART binary or -* SPI packet. -* -* \param[in] pos The current position to extract the value from. -* \return The extracted value. */ -TimeUtc VnUtil_extractTimeUtc(const char* pos); - -/** \brief Extracts a TimeInfo with appropriate byte reordering from the binary -* array received from a VectorNav sensor either from the UART binary or -* SPI packet. -* -* \param[in] pos The current position to extract the value from. -* \return The extracted value. */ -TimeInfo VnUtil_extractTimeInfo(const char* pos); - -/*#endif*/ - -/* \} */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vnproglib/c/include/vn/util/compiler.h b/vnproglib/c/include/vn/util/compiler.h deleted file mode 100644 index c00a059..0000000 --- a/vnproglib/c/include/vn/util/compiler.h +++ /dev/null @@ -1,37 +0,0 @@ -#ifndef _VN_UTIL_COMPILER_H -#define _VN_UTIL_COMPILER_H - -/* This header provides some simple checks for various features supported by the -* current compiler. */ - -/* Determine the level of standard C support. */ -#if __STDC__ - #if defined (__STDC_VERSION__) - #if (__STDC_VERSION__ >= 199901L) - #define C99 - #endif - #endif -#endif - -/* Determine if the compiler has stdbool.h. */ -#if defined(C99) || _MSC_VER >= 1800 - #define VN_HAVE_STDBOOL_H 1 -#else - #define VN_HAVE_STDBOOL_H 0 -#endif - -/* Determine if the secure CRT is available. */ -#if defined(_MSC_VER) - #define VN_HAVE_SECURE_CRT 1 -#else - #define VN_HAVE_SECURE_CRT 0 -#endif - -#endif - -/* Determine if the generic type math library (tgmath.h) is available. */ -#if defined(C99) - #define VN_HAVE_GENERIC_TYPE_MATH 1 -#else - #define VN_HAVE_GENERIC_TYPE_MATH 0 -#endif diff --git a/vnproglib/c/include/vn/util/export.h b/vnproglib/c/include/vn/util/export.h deleted file mode 100644 index ad143e1..0000000 --- a/vnproglib/c/include/vn/util/export.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef VNEXPORT_H_INCLUDED -#define VNEXPORT_H_INCLUDED - -/* Not only does this have to be windows to use __declspec */ -/* it also needs to actually be outputting a DLL */ -#if defined _WINDOWS && defined _WINDLL - #if proglib_c_EXPORTS - #define DllExport __declspec(dllexport) - #else - #define DllExport __declspec(dllimport) - #endif -#else - #define DllExport -#endif - -#endif diff --git a/vnproglib/c/include/vn/util/port.h b/vnproglib/c/include/vn/util/port.h deleted file mode 100644 index 2c329ec..0000000 --- a/vnproglib/c/include/vn/util/port.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef VNPORT_H_INCLUDED -#define VNPORT_H_INCLUDED - -/** Basic portability measures. */ - -/** VNAPI - DLL linkage specifier. */ -#ifdef _MSC_VER - #if VN_LINKED_AS_SHARED_LIBRARY - #define VNAPI __declspec(dllimport) - #elif VN_CREATE_SHARED_LIBRARY - #define VNAPI __declspec(dllexport) - #endif -#endif - -#ifndef VNAPI - #define VNAPI -#endif - -#endif diff --git a/vnproglib/c/include/vn/vectornav.h b/vnproglib/c/include/vn/vectornav.h deleted file mode 100644 index e7572f8..0000000 --- a/vnproglib/c/include/vn/vectornav.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef VECTORNAV_H -#define VECTORNAV_H - -#include "vnbool.h" -#include "vnenum.h" -#include "vnutil.h" -#include "vnupackf.h" - -#endif diff --git a/vnproglib/c/include/vn/xplat/criticalsection.h b/vnproglib/c/include/vn/xplat/criticalsection.h deleted file mode 100644 index 2058c98..0000000 --- a/vnproglib/c/include/vn/xplat/criticalsection.h +++ /dev/null @@ -1,77 +0,0 @@ -/** \file -* {COMMON_HEADER} -* -* \section DESCRIPTION -* This header file contains structures and functions useful for critical sections. -*/ -#ifndef _VN_CRITICALSECTION_H_ -#define _VN_CRITICALSECTION_H_ - -#include "vn/error.h" - -#ifdef _WIN32 - - /* Disable some warnings for Visual Studio with -Wall. */ - #if defined(_MSC_VER) - #pragma warning(push) - #pragma warning(disable:4668) - #pragma warning(disable:4820) - #pragma warning(disable:4255) - #endif - - #include - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif - -#endif - -#if (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__) - #include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct -{ - #if _WIN32 - CRITICAL_SECTION handle; - #elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - pthread_mutex_t handle; - #else - #error "Unknown System" - #endif -} VnCriticalSection; - -/** \breif Initializes a VnCriticalSection structure. - * - * \param[in] criticalSection The VnCriticalSection structure to initialize. - * \return Any errors encountered. */ -VnError VnCriticalSection_initialize(VnCriticalSection *criticalSection); - -/** \brief Disposes of a VnCriticalSection structure and associated resources. - * - * \param[in] criticalSection The associated VnCriticalSection structure. - * \return Any errors encountered. */ -VnError VnCriticalSection_deinitialize(VnCriticalSection *criticalSection); - -/** \brief Attempt to enter a critical section. - * - * \param[in] criticalSection The associated VnCriticalSection structure. - * \return Any errors encountered. */ -VnError VnCriticalSection_enter(VnCriticalSection *criticalSection); - -/** \brief Leave a critical section. -* -* \param[in] criticalSection The associated VnCriticalSection structure. -* \return Any errors encountered. */ -VnError VnCriticalSection_leave(VnCriticalSection *criticalSection); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vnproglib/c/include/vn/xplat/event.h b/vnproglib/c/include/vn/xplat/event.h deleted file mode 100644 index 9edca96..0000000 --- a/vnproglib/c/include/vn/xplat/event.h +++ /dev/null @@ -1,98 +0,0 @@ -/** \file - * {COMMON_HEADER} - * - * \section DESCRIPTION - * This header file contains structures and functions useful events and signals. - */ -#ifndef _VNEVENT_H_ -#define _VNEVENT_H_ - -#include "vn/int.h" -#include "vn/error.h" -#include "vn/bool.h" - -#ifdef _WIN32 - - /* Disable some warnings for Visual Studio with -Wall. */ - #if defined(_MSC_VER) - #pragma warning(push) - #pragma warning(disable:4668) - #pragma warning(disable:4820) - #pragma warning(disable:4255) - #endif - - #include - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif - -#endif - -#if (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__) - #include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** \brief Structure representing an event. */ -typedef struct -{ - #ifdef _WIN32 - HANDLE handle; - #elif (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__) - pthread_mutex_t mutex; - pthread_cond_t condition; - bool isTriggered; - #else - #error "Unknown System" - #endif -} VnEvent; - -/** \brief Initializes a VnEvent structure. - * - * \param[in] event The VnEvent structure to initialize. - * \return Any errors encountered. */ -VnError VnEvent_initialize(VnEvent *event); - -/** \brief Causes the calling thread to wait on an event until the event is signalled. - * - * If the event is signalled, the value E_SIGNALED will be returned. - * - * \param[in] event The associated VnEvent. - * \return Any errors encountered. */ -VnError VnEvent_wait(VnEvent *event); - -/** \brief Causes the calling thread to wait on an event until the event is signalled. - * - * If the event is signalled, the value E_SIGNALED will be returned. - * - * \param[in] event The associated VnEvent. - * \param[in] timeoutUs The number of microseconds to wait before the thread stops waiting on the event. If a timeout - * does occur, the value E_TIMEOUT will be returned. - * \return Any errors encountered. */ -VnError VnEvent_waitUs(VnEvent *event, uint32_t timeoutUs); - -/** \brief Causes the calling thread to wait on an event until the event is signalled. - * - * If the event is signalled, the value E_SIGNALED will be returned. - * - * \param[in] event The associated VnEvent. - * \param[in] timeoutMs The number of milliseconds to wait before the thread stops waiting on the event. If a timeout - * does occur, the value E_TIMEOUT will be returned. - * \return Any errors encountered. */ -VnError VnEvent_waitMs(VnEvent *event, uint32_t timeoutMs); - -/** \brief Signals an event. - * - * \param[in] event The associated event. - * \return Any errors encountered. */ -VnError VnEvent_signal(VnEvent *event); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vnproglib/c/include/vn/xplat/serialport.h b/vnproglib/c/include/vn/xplat/serialport.h deleted file mode 100644 index 272c30b..0000000 --- a/vnproglib/c/include/vn/xplat/serialport.h +++ /dev/null @@ -1,149 +0,0 @@ -#ifndef VN_SERIALPORT_H -#define VN_SERIALPORT_H - -/** Cross-platform access to serial ports. */ - -#include "vn/int.h" -#include "vn/error.h" -#include "vn/bool.h" -#include "vn/xplat/thread.h" -#include "vn/xplat/criticalsection.h" - -#if defined(_WIN32) - - /* Disable some warnings for Visual Studio with -Wall. */ - #if defined(_MSC_VER) - #pragma warning(push) - #pragma warning(disable:4668) - #pragma warning(disable:4820) - #pragma warning(disable:4255) - #endif - - #include - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -#endif - -#ifdef __linux__ - #include -#elif defined __APPLE__ - #include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** \brief Type for listening to data received events from the VnSerialPort. */ -typedef void (*VnSerialPort_DataReceivedHandler)(void *userData); - -#ifdef _WIN32 -#pragma warning(push) -#pragma warning(disable : 4820) -#endif - -/** \brief Provides access to a serial port. */ -typedef struct -{ - #ifdef _WIN32 - HANDLE handle; - /* Windows appears to need single-thread access to read/write API functions. */ - VnCriticalSection readWriteCS; - #elif (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__) - int handle; - #else - #error "Unknown System" - #endif - - bool purgeFirstDataBytesWhenSerialPortIsFirstOpened; - - VnSerialPort_DataReceivedHandler dataReceivedHandler; - - void *dataReceivedHandlerUserData; - - VnThread serialPortNotificationsThread; - - bool continueHandlingSerialPortEvents; - - size_t numberOfReceiveDataDroppedSections; - - VnCriticalSection dataReceivedHandlerCriticalSection; - - char portName[50]; - -} VnSerialPort; - -#ifdef _WIN32 -#pragma warning(pop) -#endif - -/** \brief Initializes a VnSerialPort structure. - * - * \param[in] serialport The VnSerialPort structure to initialize. - * \return Any errors encountered. */ -VnError VnSerialPort_initialize(VnSerialPort *serialport); - -/** \brief Opens a serial port. - * - * \param[in] serialport The associated VnSerialPort structure. - * \param[in] portName The name of the serial port to open. - * \param[in] baudrate The baudrate to open the serial port at. - * \return Any errors encountered. */ -VnError VnSerialPort_open(VnSerialPort *serialport, char const *portName, uint32_t baudrate); - -/** \brief Closes the serial port. - * - * \param[in] serialport The associated VnSerialPort structure. - * \return Any errors encountered. */ -VnError VnSerialPort_close(VnSerialPort *serialport); - -/** \brief Indicates if the serial port is open or not. - * - * \param[in] serialport The associated VnSerialPort structure. - * \return true if the serial port is open; otherwise false. */ -bool VnSerialPort_isOpen(VnSerialPort *serialport); - -/** \brief Reads data from a serial port. - * - * \param[in] serialport The associated VnSerialPort structure. - * \param[in] buffer Buffer to place the read bytes. - * \param[in] numOfBytesToRead The number of bytes to read from the serial port. - * \param[out] numOfBytesActuallyRead The number of bytes actually read from the serial port. - * \return Any errors encountered. */ -VnError VnSerialPort_read(VnSerialPort *serialport, char *buffer, size_t numOfBytesToRead, size_t *numOfBytesActuallyRead); - -/** \brief Writes data out of a serial port. - * - * \param[in] serialport The associated VnSerialPort. - * \param[in] data The data to write out. - * \param[in] numOfBytesToWrite The number of bytes to write out of the serial port. - * \return Any errors encountered. */ -VnError VnSerialPort_write(VnSerialPort *serialport, char const *data, size_t numOfBytesToWrite); - -/** \brief Changes the baudrate the port is connected at. -* -* \param[in] serialport The associated VnSerialPort. -* \param[in] baudrate The new baudrate. -* \return Any errors encountered. */ -VnError VnSerialPort_changeBaudrate(VnSerialPort *serialport, uint32_t baudrate); - -/** \brief Allows registering for notification of data received events. - * - * \param[in] serialPort The associated VnSerialPort. - * \param[in] handler The callback method to receive notifications. - * \param[in] userData User supplied data that will be sent to the handler on callbacks. - * \return Any errors encountered. */ -VnError VnSerialPort_registerDataReceivedHandler(VnSerialPort *serialPort, VnSerialPort_DataReceivedHandler handler, void *userData); - -/** \brief Allows unregistering for notification of data received events. -* -* \param[in] serialPort The associated VnSerialPort. */ -VnError VnSerialPort_unregisterDataReceivedHandler(VnSerialPort *serialPort); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vnproglib/c/include/vn/xplat/thread.h b/vnproglib/c/include/vn/xplat/thread.h deleted file mode 100644 index 31a3ac4..0000000 --- a/vnproglib/c/include/vn/xplat/thread.h +++ /dev/null @@ -1,87 +0,0 @@ -/** \file -* {COMMON_HEADER} -* -* \section DESCRIPTION -* This header file contains structures and functions useful working with threads. -*/ -#ifndef _VN_THREAD_H_ -#define _VN_THREAD_H_ - -#include "vn/error.h" -#include "vn/int.h" - -#ifdef _WIN32 - - /* Disable some warnings for Visual Studio with -Wall. */ - #if defined(_MSC_VER) - #pragma warning(push) - #pragma warning(disable:4668) - #pragma warning(disable:4820) - #pragma warning(disable:4255) - #endif - - #include - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif - -#endif - -#if defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__ - #include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** \brief Structure for working with threads. */ -typedef struct -{ - #ifdef _WIN32 - HANDLE handle; - #elif defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__ - pthread_t handle; - #else - #error "Unknown System" - #endif -} VnThread; - -/** \brief Function signature for a start routine for a thread. */ -typedef void (*VnThread_StartRoutine)(void*); - -/** \brief Starts a new thread immediately which calls the provided start routine. - * - * \param[in] thread Associated VnThread structure. - * \param[in] startRoutine The routine to be called when the new thread is started. - * \param[in] routineData Pointer to data that will be passed to the routine on the new thread. - * \return Any errors encountered. */ -VnError VnThread_startNew(VnThread *thread, VnThread_StartRoutine startRoutine, void* routineData); - -/** \brief Blocks the calling thread until the referenced thread finishes. - * - * \param[in] thread The associated VnThread. - * \return Any errors encountered. */ -VnError VnThread_join(VnThread *thread); - -/** \brief Causes the calling thread to sleep the specified number of seconds. - * - * \param[in] numOfSecsToSleep The number of seconds to sleep. */ -void VnThread_sleepSec(uint32_t numOfSecsToSleep); - -/** \brief Causes the calling thread to sleep the specified number of milliseconds -* -* \param[in] numOfMsToSleep The number of milliseconds to sleep. */ -void VnThread_sleepMs(uint32_t numOfMsToSleep); - -/** \brief Causes the calling thread to sleep the specified number of microseconds -* -* \param[in] numOfUsToSleep The number of microseconds to sleep. */ -void VnThread_sleepUs(uint32_t numOfUsToSleep); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vnproglib/c/include/vn/xplat/time.h b/vnproglib/c/include/vn/xplat/time.h deleted file mode 100644 index 057b87e..0000000 --- a/vnproglib/c/include/vn/xplat/time.h +++ /dev/null @@ -1,73 +0,0 @@ -/** \file -* {COMMON_HEADER} -* -* \section DESCRIPTION -* This header file contains structures and functions useful timing. -*/ -#ifndef _VNTIME_H_ -#define _VNTIME_H_ - -#include "vn/int.h" -#include "vn/error.h" -#include "vn/enum.h" - -#ifdef _WIN32 - - /* Disable some warnings for Visual Studio with -Wall. */ - #if defined(_MSC_VER) - #pragma warning(push) - #pragma warning(disable:4668) - #pragma warning(disable:4820) - #pragma warning(disable:4255) - #endif - - #include - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif - -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** \brief Provides simple timing capabilities. */ -typedef struct -{ - #if _WIN32 - double pcFrequency; - __int64 counterStart; - #elif __linux__ || __APPLE__ ||__CYGWIN__ || __QNXNTO__ - double clockStart; - #else - #error "Unknown System" - #endif -} VnStopwatch; - -/** \brief Initializes and starts a stopwatch. - * - * \param[in] stopwatch The VnStopwatch to initialize and start. - * \return Any errors encountered. */ -VnError VnStopwatch_initializeAndStart(VnStopwatch *stopwatch); - -/** \brief Resets the stopwatch's timing. - * - * \param[in] stopwatch The associated VnStopwatch. - * \return Any errors encountered. */ -VnError VnStopwatch_reset(VnStopwatch *stopwatch); - -/** \brief Determines the number of milliseconds elapsed since the last reset - * of the stopwatch. - * - * \param[in] stopwatch The associated VnStopwatch. - * \param[out] elapsedMs The elapsed time in milliseconds. - * \return Any errors encountered. */ -VnError VnStopwatch_elapsedMs(VnStopwatch *stopwatch, float *elapsedMs); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vnproglib/c/index.html b/vnproglib/c/index.html deleted file mode 100644 index 290c27e..0000000 --- a/vnproglib/c/index.html +++ /dev/null @@ -1,8 +0,0 @@ - - - - - -

You will be redirected automatically, otherwise please - click here.

- \ No newline at end of file diff --git a/vnproglib/c/projects/vs2008/libvnc.sln b/vnproglib/c/projects/vs2008/libvnc.sln deleted file mode 100644 index 1231dd3..0000000 --- a/vnproglib/c/projects/vs2008/libvnc.sln +++ /dev/null @@ -1,32 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "libvnc.vcproj", "{70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {70F9886D-0971-3FED-9233-87043EEFA5D7}.Debug|Win32.ActiveCfg = Debug|Win32 - {70F9886D-0971-3FED-9233-87043EEFA5D7}.Release|Win32.ActiveCfg = Release|Win32 - {70F9886D-0971-3FED-9233-87043EEFA5D7}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {70F9886D-0971-3FED-9233-87043EEFA5D7}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Debug|Win32.ActiveCfg = Debug|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Debug|Win32.Build.0 = Debug|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Release|Win32.ActiveCfg = Release|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.Release|Win32.Build.0 = Release|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {70E66665-CE8F-31EF-ADCF-0D8B4D0A5C2E}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/projects/vs2008/libvnc.vcproj b/vnproglib/c/projects/vs2008/libvnc.vcproj deleted file mode 100644 index 1b05252..0000000 --- a/vnproglib/c/projects/vs2008/libvnc.vcproj +++ /dev/null @@ -1,375 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/vnproglib/c/projects/vs2010/libvnc.sln b/vnproglib/c/projects/vs2010/libvnc.sln deleted file mode 100644 index 0a5d2be..0000000 --- a/vnproglib/c/projects/vs2010/libvnc.sln +++ /dev/null @@ -1,32 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "libvnc.vcxproj", "{B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {5E48E405-5D13-3843-9F49-A8101755ACEA}.Debug|Win32.ActiveCfg = Debug|Win32 - {5E48E405-5D13-3843-9F49-A8101755ACEA}.Release|Win32.ActiveCfg = Release|Win32 - {5E48E405-5D13-3843-9F49-A8101755ACEA}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {5E48E405-5D13-3843-9F49-A8101755ACEA}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Debug|Win32.ActiveCfg = Debug|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Debug|Win32.Build.0 = Debug|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Release|Win32.ActiveCfg = Release|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.Release|Win32.Build.0 = Release|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/projects/vs2010/libvnc.vcxproj b/vnproglib/c/projects/vs2010/libvnc.vcxproj deleted file mode 100644 index 73d9951..0000000 --- a/vnproglib/c/projects/vs2010/libvnc.vcxproj +++ /dev/null @@ -1,256 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {B2219FEB-ABD0-3385-9B91-C25C64E3DCF9} - Win32Proj - Win32 - libvnc - - - - StaticLibrary - false - MultiByte - - - StaticLibrary - false - MultiByte - - - StaticLibrary - false - MultiByte - - - StaticLibrary - false - MultiByte - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2010\Debug\ - libvnc.dir\Debug\ - libvnc - .lib - ..\..\projects\vs2010\Release\ - libvnc.dir\Release\ - libvnc - .lib - ..\..\projects\vs2010\MinSizeRel\ - libvnc.dir\MinSizeRel\ - libvnc - .lib - ..\..\projects\vs2010\RelWithDebInfo\ - libvnc.dir\RelWithDebInfo\ - libvnc - .lib - - - - ..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - Level3 - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - - - - - ..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - Level3 - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - - - - - ..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - Level3 - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - - - - - ..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - Level3 - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/vnproglib/c/projects/vs2010/libvnc.vcxproj.filters b/vnproglib/c/projects/vs2010/libvnc.vcxproj.filters deleted file mode 100644 index 68109d1..0000000 --- a/vnproglib/c/projects/vs2010/libvnc.vcxproj.filters +++ /dev/null @@ -1,153 +0,0 @@ - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - {EFA8FC85-1CFE-3038-8FC4-8F4E099AFE99} - - - {D2A42587-73C6-38DC-BD61-7140FA17043B} - - - diff --git a/vnproglib/c/projects/vs2012/libvnc.sln b/vnproglib/c/projects/vs2012/libvnc.sln deleted file mode 100644 index db8a957..0000000 --- a/vnproglib/c/projects/vs2012/libvnc.sln +++ /dev/null @@ -1,32 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "libvnc.vcxproj", "{CF7C59BE-0DD8-3132-A4DE-B79B62914D69}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {63B6321C-2CCE-3E8A-9BBC-177172D0C6D0}.Debug|Win32.ActiveCfg = Debug|Win32 - {63B6321C-2CCE-3E8A-9BBC-177172D0C6D0}.Release|Win32.ActiveCfg = Release|Win32 - {63B6321C-2CCE-3E8A-9BBC-177172D0C6D0}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {63B6321C-2CCE-3E8A-9BBC-177172D0C6D0}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Debug|Win32.ActiveCfg = Debug|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Debug|Win32.Build.0 = Debug|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Release|Win32.ActiveCfg = Release|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.Release|Win32.Build.0 = Release|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/projects/vs2012/libvnc.vcxproj b/vnproglib/c/projects/vs2012/libvnc.vcxproj deleted file mode 100644 index c6132be..0000000 --- a/vnproglib/c/projects/vs2012/libvnc.vcxproj +++ /dev/null @@ -1,260 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {CF7C59BE-0DD8-3132-A4DE-B79B62914D69} - Win32Proj - Win32 - libvnc - - - - StaticLibrary - false - MultiByte - v110 - - - StaticLibrary - false - MultiByte - v110 - - - StaticLibrary - false - MultiByte - v110 - - - StaticLibrary - false - MultiByte - v110 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2012\Debug\ - libvnc.dir\Debug\ - libvnc - .lib - ..\..\projects\vs2012\Release\ - libvnc.dir\Release\ - libvnc - .lib - ..\..\projects\vs2012\MinSizeRel\ - libvnc.dir\MinSizeRel\ - libvnc - .lib - ..\..\projects\vs2012\RelWithDebInfo\ - libvnc.dir\RelWithDebInfo\ - libvnc - .lib - - - - ..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - Level3 - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - - - - - ..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - Level3 - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - - - - - ..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - Level3 - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - - - - - ..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - Level3 - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/vnproglib/c/projects/vs2012/libvnc.vcxproj.filters b/vnproglib/c/projects/vs2012/libvnc.vcxproj.filters deleted file mode 100644 index 4e1699a..0000000 --- a/vnproglib/c/projects/vs2012/libvnc.vcxproj.filters +++ /dev/null @@ -1,153 +0,0 @@ - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - {96CA3CB2-CD0F-3762-9982-5471C4C207E3} - - - {83818D2D-1538-3612-8A2A-90B90C3480E5} - - - diff --git a/vnproglib/c/projects/vs2013/libvnc.sln b/vnproglib/c/projects/vs2013/libvnc.sln deleted file mode 100644 index c1f587b..0000000 --- a/vnproglib/c/projects/vs2013/libvnc.sln +++ /dev/null @@ -1,32 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "libvnc.vcxproj", "{E237AE2C-CE1B-39F5-B931-3C0E53353E53}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1471D4CA-700B-3785-A98A-05B52DBD3EFA}.Debug|Win32.ActiveCfg = Debug|Win32 - {1471D4CA-700B-3785-A98A-05B52DBD3EFA}.Release|Win32.ActiveCfg = Release|Win32 - {1471D4CA-700B-3785-A98A-05B52DBD3EFA}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {1471D4CA-700B-3785-A98A-05B52DBD3EFA}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.ActiveCfg = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.Build.0 = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.ActiveCfg = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.Build.0 = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/projects/vs2013/libvnc.vcxproj b/vnproglib/c/projects/vs2013/libvnc.vcxproj deleted file mode 100644 index 4034d4b..0000000 --- a/vnproglib/c/projects/vs2013/libvnc.vcxproj +++ /dev/null @@ -1,260 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {E237AE2C-CE1B-39F5-B931-3C0E53353E53} - Win32Proj - Win32 - libvnc - - - - StaticLibrary - false - MultiByte - v120 - - - StaticLibrary - false - MultiByte - v120 - - - StaticLibrary - false - MultiByte - v120 - - - StaticLibrary - false - MultiByte - v120 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2013\Debug\ - libvnc.dir\Debug\ - libvnc - .lib - ..\..\projects\vs2013\Release\ - libvnc.dir\Release\ - libvnc - .lib - ..\..\projects\vs2013\MinSizeRel\ - libvnc.dir\MinSizeRel\ - libvnc - .lib - ..\..\projects\vs2013\RelWithDebInfo\ - libvnc.dir\RelWithDebInfo\ - libvnc - .lib - - - - ..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - Level3 - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - - - - - ..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - Level3 - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - - - - - ..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - Level3 - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - - - - - ..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - Level3 - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/vnproglib/c/projects/vs2013/libvnc.vcxproj.filters b/vnproglib/c/projects/vs2013/libvnc.vcxproj.filters deleted file mode 100644 index a9d76d6..0000000 --- a/vnproglib/c/projects/vs2013/libvnc.vcxproj.filters +++ /dev/null @@ -1,153 +0,0 @@ - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - {F10FB44F-B41A-3133-9866-50BB5C86C9A6} - - - {ECCF4070-B40C-3B80-B3D5-6B8E94E9D72D} - - - diff --git a/vnproglib/c/projects/vs2017/libvnc.sln b/vnproglib/c/projects/vs2017/libvnc.sln deleted file mode 100644 index c1f587b..0000000 --- a/vnproglib/c/projects/vs2017/libvnc.sln +++ /dev/null @@ -1,32 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvnc", "libvnc.vcxproj", "{E237AE2C-CE1B-39F5-B931-3C0E53353E53}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - MinSizeRel|Win32 = MinSizeRel|Win32 - RelWithDebInfo|Win32 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1471D4CA-700B-3785-A98A-05B52DBD3EFA}.Debug|Win32.ActiveCfg = Debug|Win32 - {1471D4CA-700B-3785-A98A-05B52DBD3EFA}.Release|Win32.ActiveCfg = Release|Win32 - {1471D4CA-700B-3785-A98A-05B52DBD3EFA}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {1471D4CA-700B-3785-A98A-05B52DBD3EFA}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.ActiveCfg = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Debug|Win32.Build.0 = Debug|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.ActiveCfg = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.Release|Win32.Build.0 = Release|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32 - {E237AE2C-CE1B-39F5-B931-3C0E53353E53}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/vnproglib/c/projects/vs2017/libvnc.vcxproj b/vnproglib/c/projects/vs2017/libvnc.vcxproj deleted file mode 100644 index 5a58d57..0000000 --- a/vnproglib/c/projects/vs2017/libvnc.vcxproj +++ /dev/null @@ -1,263 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - MinSizeRel - Win32 - - - RelWithDebInfo - Win32 - - - - {E237AE2C-CE1B-39F5-B931-3C0E53353E53} - Win32Proj - Win32 - libvnc - 10.0.18362.0 - - - - StaticLibrary - false - MultiByte - v141 - - - StaticLibrary - false - MultiByte - v141 - - - StaticLibrary - false - MultiByte - v141 - - - StaticLibrary - false - MultiByte - v141 - - - - - - - - - - <_ProjectFileVersion>10.0.20506.1 - ..\..\projects\vs2017\Debug\ - libvnc.dir\Debug\ - libvnc - .lib - ..\..\projects\vs2017\Release\ - libvnc.dir\Release\ - libvnc - .lib - ..\..\projects\vs2017\MinSizeRel\ - libvnc.dir\MinSizeRel\ - libvnc - .lib - ..\..\projects\vs2017\RelWithDebInfo\ - libvnc.dir\RelWithDebInfo\ - libvnc - .lib - - - - ..\..\include;%(AdditionalIncludeDirectories) - Debug/ - EnableFastChecks - CompileAsC - ProgramDatabase - - - Disabled - Disabled - NotUsing - MultiThreadedDebugDLL - Level3 - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR="Debug";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;_DEBUG;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions) - ..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - - - - - ..\..\include;%(AdditionalIncludeDirectories) - Release/ - CompileAsC - - - AnySuitable - MaxSpeed - NotUsing - MultiThreadedDLL - Level3 - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release";%(PreprocessorDefinitions) - $(IntDir) - - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions) - ..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - - - - - ..\..\include;%(AdditionalIncludeDirectories) - MinSizeRel/ - CompileAsC - - - OnlyExplicitInline - MinSpace - NotUsing - MultiThreadedDLL - Level3 - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel";%(PreprocessorDefinitions) - $(IntDir) - - - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\";%(PreprocessorDefinitions) - ..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - - - - - ..\..\include;%(AdditionalIncludeDirectories) - RelWithDebInfo/ - CompileAsC - ProgramDatabase - - - OnlyExplicitInline - MaxSpeed - NotUsing - MultiThreadedDLL - Level3 - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo";%(PreprocessorDefinitions) - $(IntDir) - - - WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\";%(PreprocessorDefinitions) - ..\..\include;%(AdditionalIncludeDirectories) - - - ..\..\include;%(AdditionalIncludeDirectories) - $(ProjectDir)/$(IntDir) - %(Filename).h - %(Filename).tlb - %(Filename)_i.c - %(Filename)_p.c - - - /machine:X86 %(AdditionalOptions) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/vnproglib/c/projects/vs2017/libvnc.vcxproj.filters b/vnproglib/c/projects/vs2017/libvnc.vcxproj.filters deleted file mode 100644 index e2398e5..0000000 --- a/vnproglib/c/projects/vs2017/libvnc.vcxproj.filters +++ /dev/null @@ -1,153 +0,0 @@ - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - {F10FB44F-B41A-3133-9866-50BB5C86C9A6} - - - {ECCF4070-B40C-3B80-B3D5-6B8E94E9D72D} - - - \ No newline at end of file diff --git a/vnproglib/c/projects/vs2017/libvnc.vcxproj.user b/vnproglib/c/projects/vs2017/libvnc.vcxproj.user deleted file mode 100644 index 0f14913..0000000 --- a/vnproglib/c/projects/vs2017/libvnc.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/vnproglib/c/src/vn/conv.c b/vnproglib/c/src/vn/conv.c deleted file mode 100644 index b1f206b..0000000 --- a/vnproglib/c/src/vn/conv.c +++ /dev/null @@ -1,81 +0,0 @@ -#include "vn/conv.h" -#include -#include "vn/const.h" - -#define C_E2 (0.006694379990141) -#define C_EPSILON (0.996647189335253) -#define C_ABAR (42.69767270717997) -#define C_BBAR (42.84131151331357) -#define C_A (6378.137) - -vec3d ecef_to_lla_v3d(vec3d ecef) -{ - double x, y, z, r, c_phi, c_phi0, s_phi, - s_phi0, tau, lat, lon, /*alt,*/ eta, h; - - const double Rthresh = 0.001; /* Limit on distance from pole in km to switch calculation. */ - - x = ecef.c[0]; - y = ecef.c[1]; - z = ecef.c[2]; - - r = sqrt(x*x + y*y); - - if (r < Rthresh) - { - c_phi0 = 0; - s_phi0 = (z > 0) - (z < 0); /* computes sign */ - } - else - { - double tau0 = z / (C_EPSILON * r); - c_phi0 = 1 / sqrt(1 + tau0 * tau0); - s_phi0 = tau0 * c_phi0; - } - - tau = (z + C_BBAR * s_phi0 * s_phi0 * s_phi0) / (r - C_ABAR * c_phi0 * c_phi0 * c_phi0); - lat = atan(tau); - - if (r < Rthresh) - { - c_phi = 0; - s_phi = (z > 0) - (z < 0); /* computes sign */ - } - else - { - c_phi = 1 / sqrt(1 + tau * tau); - s_phi = tau * c_phi; - } - - eta = sqrt(1 - C_E2 * s_phi * s_phi); - h = r * c_phi + z * s_phi - C_A * eta; - - lon = atan2(y, x); - - return create_v3d( - lat * 180 / VNC_PI_D, - lon * 180 / VNC_PI_D, - h * 1000 - ); -} - -vec3d lla_to_ecef_v3d(vec3d lla) -{ - double lat, lon, alt; - double n, x, y, z; - double t1; /* TEMPS */ - - lat = lla.c[0] * VNC_PI_D / 180; /* Geodetic latitude in radians. */ - lon = lla.c[1] * VNC_PI_D / 180; /* Longitude in radians. */ - alt = lla.c[2] / 1000; /* Altitude above WGS84 in km. */ - - t1 = sin(lat); - n = C_A / sqrt(1 - C_E2 * t1 * t1); - - t1 = alt + n; - x = t1 * cos(lat) * cos(lon); - y = t1 * cos(lat) * sin(lon); - z = (t1 - C_E2 * n) * sin(lat); - - return create_v3d(x, y, z); -} diff --git a/vnproglib/c/src/vn/error.c b/vnproglib/c/src/vn/error.c deleted file mode 100644 index 96b56f6..0000000 --- a/vnproglib/c/src/vn/error.c +++ /dev/null @@ -1,142 +0,0 @@ -#include "vn/error.h" - -#include - -void strFromVnError(char* out, VnError val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case E_NONE: - strcpy(out, "NONE"); - break; - case E_UNKNOWN: - strcpy(out, "UNKNOWN"); - break; - case E_BUFFER_TOO_SMALL: - strcpy(out, "BUFFER_TOO_SMALL"); - break; - case E_INVALID_VALUE: - strcpy(out, "INVALID_VALUE"); - break; - case E_NOT_IMPLEMENTED: - strcpy(out, "NOT_IMPLEMENTED"); - break; - case E_NOT_SUPPORTED: - strcpy(out, "NOT_SUPPORTED"); - break; - case E_NOT_FOUND: - strcpy(out, "NOT_FOUND"); - break; - case E_TIMEOUT: - strcpy(out, "TIMEOUT"); - break; - case E_PERMISSION_DENIED: - strcpy(out, "PERMISSION_DENIED"); - break; - case E_INVALID_OPERATION: - strcpy(out, "INVALID_OPERATION"); - break; - case E_SIGNALED: - strcpy(out, "SIGNALED"); - break; - case E_SENSOR_HARD_FAULT: - strcpy(out, "SENSOR_HARD_FAULT"); - break; - case E_SENSOR_SERIAL_BUFFER_OVERFLOW: - strcpy(out, "SENSOR_SERIAL_BUFFER_OVERFLOW"); - break; - case E_SENSOR_INVALID_CHECKSUM: - strcpy(out, "SENSOR_INVALID_CHECKSUM"); - break; - case E_SENSOR_INVALID_COMMAND: - strcpy(out, "SENSOR_INVALID_COMMAND"); - break; - case E_SENSOR_NOT_ENOUGH_PARAMETERS: - strcpy(out, "SENSOR_NOT_ENOUGH_PARAMETERS"); - break; - case E_SENSOR_TOO_MANY_PARAMETERS: - strcpy(out, "SENSOR_TOO_MANY_PARAMETERS"); - break; - case E_SENSOR_INVALID_PARAMETER: - strcpy(out, "SENSOR_INVALID_PARAMETER"); - break; - case E_SENSOR_INVALID_REGISTER: - strcpy(out, "SENSOR_INVALID_REGISTER"); - break; - case E_SENSOR_UNAUTHORIZED_ACCESS: - strcpy(out, "SENSOR_UNAUTHORIZED_ACCESS"); - break; - case E_SENSOR_WATCHDOG_RESET: - strcpy(out, "SENSOR_WATCHDOG_RESET"); - break; - case E_SENSOR_OUTPUT_BUFFER_OVERFLOW: - strcpy(out, "SENSOR_OUTPUT_BUFFER_OVERFLOW"); - break; - case E_SENSOR_INSUFFICIENT_BAUD_RATE: - strcpy(out, "SENSOR_INSUFFICIENT_BAUD_RATE"); - break; - case E_SENSOR_ERROR_BUFFER_OVERFLOW: - strcpy(out, "SENSOR_ERROR_BUFFER_OVERFLOW"); - break; - case E_DATA_NOT_ELLIPTICAL: - strcpy(out, "DATA_NOT_ELLIPTICAL"); - break; - case E_BOOTLOADER_NONE: - strcpy(out, "No Error: Success, send next record"); - break; - case E_BOOTLOADER_INVALID_COMMAND: - strcpy(out, "Invalid Command: Problem with VNX record, abort"); - break; - case E_BOOTLOADER_INVALID_RECORD_TYPE: - strcpy(out, "Invalid Record Type: Problem with VNX record, abort"); - break; - case E_BOOTLOADER_INVALID_BYTE_COUNT: - strcpy(out, "Invalide Byte Count: Problem with VNX record, abort"); - break; - case E_BOOTLOADER_INVALID_MEMORY_ADDRESS: - strcpy(out, "Invalide Memeory Address: Problem with VNX record, abort"); - break; - case E_BOOTLOADER_COMM_ERROR: - strcpy(out, "COMM Error: Checksum error, resend record"); - break; - case E_BOOTLOADER_INVALID_HEX_FILE: - strcpy(out, "Invalid Hex File: Problem with VNX record, abort"); - break; - case E_BOOTLOADER_DECRYPTION_ERROR: - strcpy(out, "Decryption Error: Invalid VNX file or record sent out of order, abort"); - break; - case E_BOOTLOADER_INVALID_BLOCK_CRC: - strcpy(out, "Invalide Block CRC: Data verification failed, abort"); - break; - case E_BOOTLOADER_INVALID_PROGRAM_CRC: - strcpy(out, "Invalide Program CRC: Problemw ith firmware on device"); - break; - case E_BOOTLOADER_INVALID_PROGRAM_SIZE: - strcpy(out, "Invalide Program Size: Problemw ith firmware on device"); - break; - case E_BOOTLOADER_MAX_RETRY_COUNT: - strcpy(out, "Max Retry Count: Too many errors, abort"); - break; - case E_BOOTLOADER_TIMEOUT: - strcpy(out, "Timeout: Timeout expired, reset"); - break; - case E_BOOTLOADER_RESERVED: - strcpy(out, "Reserved: Contact VectorNav, abort"); - break; - default: - strcpy(out, "UNKNOWN_VALUE"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} diff --git a/vnproglib/c/src/vn/error_detection.c b/vnproglib/c/src/vn/error_detection.c deleted file mode 100644 index a223826..0000000 --- a/vnproglib/c/src/vn/error_detection.c +++ /dev/null @@ -1,32 +0,0 @@ -#include "vn/error_detection.h" - -uint8_t VnChecksum8_compute(char const *data, size_t length) -{ - uint8_t xorVal = 0; - size_t i; - - for (i = 0; i < length; i++) - { - xorVal ^= data[i]; - } - - return xorVal; -} - -uint16_t VnCrc16_compute(char const *data, size_t length) -{ - size_t i; - uint16_t crc = 0; - - for (i = 0; i < length; i++) - { - crc = (uint16_t) (crc >> 8) | (crc << 8); - - crc ^= (uint8_t) data[i]; - crc ^= (uint16_t) (((uint8_t) (crc & 0xFF)) >> 4); - crc ^= (uint16_t) ((crc << 8) << 4); - crc ^= (uint16_t) (((crc & 0xFF) << 4) << 1); - } - - return crc; -} diff --git a/vnproglib/c/src/vn/math/matrix.c b/vnproglib/c/src/vn/math/matrix.c deleted file mode 100644 index 955849e..0000000 --- a/vnproglib/c/src/vn/math/matrix.c +++ /dev/null @@ -1,123 +0,0 @@ -#include "vn/math/matrix.h" - -#include "vn/types.h" - -void vn_m3_init_fa(mat3f* m, const float* fa) -{ - size_t i; - - for (i = 0; i < 9; i++) - m->e[i] = fa[i]; -} - -mat3f vnm_negative_mat3f(mat3f m) -{ - mat3f r; - size_t i; - - for (i = 0; i < 3 * 3; i++) - r.e[i] = -m.e[i]; - - return r; -} - -/*#include */ - -/*vec3f add_v3f_v3f(vec3f lhs, vec3f rhs) -{ - vec3f r; - - r.x = lhs.x + rhs.x; - r.y = lhs.y + rhs.y; - r.z = lhs.z + rhs.z; - - return r; -} - -vec3d add_v3d_v3d(vec3d lhs, vec3d rhs) -{ - vec3d r; - - r.x = lhs.x + rhs.x; - r.y = lhs.y + rhs.y; - r.z = lhs.z + rhs.z; - - return r; -} - -vec4f add_v4f_v4f(vec4f lhs, vec4f rhs) -{ - vec4f r; - - r.x = lhs.x + rhs.x; - r.y = lhs.y + rhs.y; - r.z = lhs.z + rhs.z; - r.w = lhs.w + rhs.w; - - return r; -} - -vec3f sub_v3f_v3f(vec3f lhs, vec3f rhs) -{ - vec3f r; - - r.x = lhs.x - rhs.x; - r.y = lhs.y - rhs.y; - r.z = lhs.z - rhs.z; - - return r; -} - -vec3d sub_v3d_v3d(vec3d lhs, vec3d rhs) -{ - vec3d r; - - r.x = lhs.x - rhs.x; - r.y = lhs.y - rhs.y; - r.z = lhs.z - rhs.z; - - return r; -} - -vec4f sub_v4f_v4f(vec4f lhs, vec4f rhs) -{ - vec4f r; - - r.x = lhs.x - rhs.x; - r.y = lhs.y - rhs.y; - r.z = lhs.z - rhs.z; - r.w = lhs.w - rhs.w; - - return r; -}*/ - -#if 0 - -#if defined(_MSC_VER) - /* Disable warnings regarding using sprintf_s since these - * function signatures do not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) -#endif - -void str_vec3f(char* out, vec3f v) -{ - sprintf(out, "(%f; %f; %f)", v.x, v.y, v.z); -} - -void str_vec3d(char* out, vec3d v) -{ - sprintf(out, "(%f; %f; %f)", v.x, v.y, v.z); -} - -void str_vec4f(char* out, vec4f v) -{ - sprintf(out, "(%f; %f; %f; %f)", v.x, v.y, v.z, v.w); -} - -#if defined(_MSC_VER) - #pragma warning(pop) -#endif - -#endif diff --git a/vnproglib/c/src/vn/math/vector.c b/vnproglib/c/src/vn/math/vector.c deleted file mode 100644 index c03bea8..0000000 --- a/vnproglib/c/src/vn/math/vector.c +++ /dev/null @@ -1,118 +0,0 @@ -#include "vn/math/vector.h" - -#include - -vec3d create_v3d(double x, double y, double z) -{ - vec3d v; - - v.c[0] = x; - v.c[1] = y; - v.c[2] = z; - - return v; -} - -void vn_v3_init_fa(vec3f* v, const float* fa) -{ - size_t i; - - for (i = 0; i < 3; i++) - v->c[i] = fa[i]; -} - -vec3f add_v3f_v3f(vec3f lhs, vec3f rhs) -{ - vec3f r; - - r.c[0] = lhs.c[0] + rhs.c[0]; - r.c[1] = lhs.c[1] + rhs.c[1]; - r.c[2] = lhs.c[2] + rhs.c[2]; - - return r; -} - -vec3d add_v3d_v3d(vec3d lhs, vec3d rhs) -{ - vec3d r; - - r.c[0] = lhs.c[0] + rhs.c[0]; - r.c[1] = lhs.c[1] + rhs.c[1]; - r.c[2] = lhs.c[2] + rhs.c[2]; - - return r; -} - -vec4f add_v4f_v4f(vec4f lhs, vec4f rhs) -{ - vec4f r; - - r.c[0] = lhs.c[0] + rhs.c[0]; - r.c[1] = lhs.c[1] + rhs.c[1]; - r.c[2] = lhs.c[2] + rhs.c[2]; - r.c[3] = lhs.c[3] + rhs.c[3]; - - return r; -} - -vec3f sub_v3f_v3f(vec3f lhs, vec3f rhs) -{ - vec3f r; - - r.c[0] = lhs.c[0] - rhs.c[0]; - r.c[1] = lhs.c[1] - rhs.c[1]; - r.c[2] = lhs.c[2] - rhs.c[2]; - - return r; -} - -vec3d sub_v3d_v3d(vec3d lhs, vec3d rhs) -{ - vec3d r; - - r.c[0] = lhs.c[0] - rhs.c[0]; - r.c[1] = lhs.c[1] - rhs.c[1]; - r.c[2] = lhs.c[2] - rhs.c[2]; - - return r; -} - -vec4f sub_v4f_v4f(vec4f lhs, vec4f rhs) -{ - vec4f r; - - r.c[0] = lhs.c[0] - rhs.c[0]; - r.c[1] = lhs.c[1] - rhs.c[1]; - r.c[2] = lhs.c[2] - rhs.c[2]; - r.c[3] = lhs.c[3] - rhs.c[3]; - - return r; -} - -#if defined(_MSC_VER) - /* Disable warnings regarding using sprintf_s since these - * function signatures do not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) -#endif - -void str_vec3f(char* out, vec3f v) -{ - sprintf(out, "(%f; %f; %f)", v.c[0], v.c[1], v.c[2]); -} - -void str_vec3d(char* out, vec3d v) -{ - sprintf(out, "(%f; %f; %f)", v.c[0], v.c[1], v.c[2]); -} - -void str_vec4f(char* out, vec4f v) -{ - sprintf(out, "(%f; %f; %f; %f)", v.c[0], v.c[1], v.c[2], v.c[3]); -} - - -#if defined(_MSC_VER) - #pragma warning(pop) -#endif diff --git a/vnproglib/c/src/vn/protocol/spi.c b/vnproglib/c/src/vn/protocol/spi.c deleted file mode 100644 index b5a714d..0000000 --- a/vnproglib/c/src/vn/protocol/spi.c +++ /dev/null @@ -1,2911 +0,0 @@ -#include "vn/protocol/spi.h" -#include -#include "vn/util.h" - -#define UNUSED(x) (void)(sizeof(x)) - -VnError VnSpi_genGenericCommand( - char cmdId, - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize) -{ - size_t i; - - if (*size < 1 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - buffer[0] = cmdId; - - for (i = 1; i < desiredLength; i++) - buffer[i] = 0x00; - - *responseSize = 2; - *size = desiredLength > 1 ? desiredLength : 1; - - return E_NONE; -} - -VnError VnSpi_genWriteSettings( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize) -{ - return VnSpi_genGenericCommand( - 3, - buffer, - size, - desiredLength, - responseSize); -} - -VnError VnSpi_genRestorFactorySettings( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize) -{ - return VnSpi_genGenericCommand( - 4, - buffer, - size, - desiredLength, - responseSize); -} - -VnError VnSpi_genTare( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize) -{ - return VnSpi_genGenericCommand( - 5, - buffer, - size, - desiredLength, - responseSize); -} - -VnError VnSpi_genReset( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize) -{ - return VnSpi_genGenericCommand( - 6, - buffer, - size, - desiredLength, - responseSize); -} - -VnError VnSpi_genRead( - char* buffer, - size_t* size, - uint8_t regId, - size_t desiredLength) -{ - size_t i; - - if (*size < 4 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - buffer[0] = 0x01; - buffer[1] = regId; - buffer[2] = 0x00; - buffer[3] = 0x00; - - for (i = 4; i < desiredLength; i++) - buffer[i] = 0x00; - - *size = desiredLength > 3 ? desiredLength : 3; - - return E_NONE; -} - -VnError VnSpi_parseUserTag( - const char* response, - char* tag, - size_t tagLength) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - if (tagLength < strlen(pos) + 1) - return E_BUFFER_TOO_SMALL; - - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - strcpy(tag, pos); - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif - - return E_NONE; -} - -VnError VnSpi_parseModelNumber( - const char* response, - char* productName, - size_t productNameLength) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - if (productNameLength < strlen(pos) + 1) - return E_BUFFER_TOO_SMALL; - - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - strcpy(productName, pos); - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif - - return E_NONE; -} - -VnError VnSpi_parseHardwareRevision( - const char* response, - uint32_t* revision) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *revision = VnUtil_extractUint32(pos); - pos += sizeof(uint32_t); - - return E_NONE; -} - -VnError VnSpi_parseSerialNumber( - const char* response, - uint32_t* serialNum) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *serialNum = VnUtil_extractUint32(pos); - pos += sizeof(uint32_t); - - return E_NONE; -} - -VnError VnSpi_parseFirmwareVersion( - const char* response, - char* firmwareVersion, - size_t firmwareVersionLength) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - if (firmwareVersionLength < strlen(pos) + 1) - return E_BUFFER_TOO_SMALL; - - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - strcpy(firmwareVersion, pos); - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif - - return E_NONE; -} - -VnError VnSpi_parseSerialBaudRate( - const char* response, - uint32_t* baudrate) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *baudrate = VnUtil_extractUint32(pos); - pos += sizeof(uint32_t); - - return E_NONE; -} - -VnError VnSpi_parseAsyncDataOutputType( - const char* response, - uint32_t* ador) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *ador = VnUtil_extractUint32(pos); - pos += sizeof(uint32_t); - - return E_NONE; -} - -VnError VnSpi_parseAsyncDataOutputFrequency( - const char* response, - uint32_t* adof) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *adof = VnUtil_extractUint32(pos); - pos += sizeof(uint32_t); - - return E_NONE; -} - -VnError VnSpi_parseYawPitchRoll( - const char* response, - vec3f* yawPitchRoll) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *yawPitchRoll = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseAttitudeQuaternion( - const char* response, - vec4f* quat) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *quat = VnUtil_extractVec4f(pos); - pos += 4 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseQuaternionMagneticAccelerationAndAngularRates( - const char* response, - vec4f* quat, - vec3f* mag, - vec3f* accel, - vec3f* gyro) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *quat = VnUtil_extractVec4f(pos); - pos += 4 * sizeof(float); - *mag = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *accel = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *gyro = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseMagneticMeasurements( - const char* response, - vec3f* mag) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *mag = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseAccelerationMeasurements( - const char* response, - vec3f* accel) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *accel = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseAngularRateMeasurements( - const char* response, - vec3f* gyro) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *gyro = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseMagneticAccelerationAndAngularRates( - const char* response, - vec3f* mag, - vec3f* accel, - vec3f* gyro) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *mag = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *accel = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *gyro = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseMagneticAndGravityReferenceVectors( - const char* response, - vec3f* magRef, - vec3f* accRef) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *magRef = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *accRef = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseFilterMeasurementsVarianceParameters( - const char* response, - float* angularWalkVariance, - vec3f* angularRateVariance, - vec3f* magneticVariance, - vec3f* accelerationVariance) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *angularWalkVariance = VnUtil_extractFloat(pos); - pos += sizeof(float); - *angularRateVariance = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *magneticVariance = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *accelerationVariance = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseMagnetometerCompensation( - const char* response, - mat3f* c, - vec3f* b) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *c = VnUtil_extractMat3f(pos); - pos += 9 * sizeof(float); - *b = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseFilterActiveTuningParameters( - const char* response, - float* magneticDisturbanceGain, - float* accelerationDisturbanceGain, - float* magneticDisturbanceMemory, - float* accelerationDisturbanceMemory) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *magneticDisturbanceGain = VnUtil_extractFloat(pos); - pos += sizeof(float); - *accelerationDisturbanceGain = VnUtil_extractFloat(pos); - pos += sizeof(float); - *magneticDisturbanceMemory = VnUtil_extractFloat(pos); - pos += sizeof(float); - *accelerationDisturbanceMemory = VnUtil_extractFloat(pos); - pos += sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseAccelerationCompensation( - const char* response, - mat3f* c, - vec3f* b) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *c = VnUtil_extractMat3f(pos); - pos += 9 * sizeof(float); - *b = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseReferenceFrameRotation( - const char* response, - mat3f* c) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *c = VnUtil_extractMat3f(pos); - pos += 9 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseYawPitchRollMagneticAccelerationAndAngularRates( - const char* response, - vec3f* yawPitchRoll, - vec3f* mag, - vec3f* accel, - vec3f* gyro) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *yawPitchRoll = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *mag = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *accel = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *gyro = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseCommunicationProtocolControl( - const char* response, - uint8_t* serialCount, - uint8_t* serialStatus, - uint8_t* spiCount, - uint8_t* spiStatus, - uint8_t* serialChecksum, - uint8_t* spiChecksum, - uint8_t* errorMode) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *serialCount = (uint8_t) *pos; - pos += sizeof(uint8_t); - *serialStatus = (uint8_t) *pos; - pos += sizeof(uint8_t); - *spiCount = (uint8_t) *pos; - pos += sizeof(uint8_t); - *spiStatus = (uint8_t) *pos; - pos += sizeof(uint8_t); - *serialChecksum = (uint8_t) *pos; - pos += sizeof(uint8_t); - *spiChecksum = (uint8_t) *pos; - pos += sizeof(uint8_t); - *errorMode = (uint8_t) *pos; - pos += sizeof(uint8_t); - - return E_NONE; -} - -VnError VnSpi_parseSynchronizationControl( - const char* response, - uint8_t* syncInMode, - uint8_t* syncInEdge, - uint16_t* syncInSkipFactor, - uint32_t* reserved1, - uint8_t* syncOutMode, - uint8_t* syncOutPolarity, - uint16_t* syncOutSkipFactor, - uint32_t* syncOutPulseWidth, - uint32_t* reserved2) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *syncInMode = (uint8_t) *pos; - pos += sizeof(uint8_t); - *syncInEdge = (uint8_t) *pos; - pos += sizeof(uint8_t); - *syncInSkipFactor = VnUtil_extractUint16(pos); - pos += sizeof(uint16_t); - *reserved1 = VnUtil_extractUint32(pos); - pos += sizeof(uint32_t); - *syncOutMode = (uint8_t) *pos; - pos += sizeof(uint8_t); - *syncOutPolarity = (uint8_t) *pos; - pos += sizeof(uint8_t); - *syncOutSkipFactor = VnUtil_extractUint16(pos); - pos += sizeof(uint16_t); - *syncOutPulseWidth = VnUtil_extractUint32(pos); - pos += sizeof(uint32_t); - *reserved2 = VnUtil_extractUint32(pos); - pos += sizeof(uint32_t); - - return E_NONE; -} - -VnError VnSpi_parseSynchronizationStatus( - const char* response, - uint32_t* syncInCount, - uint32_t* syncInTime, - uint32_t* syncOutCount) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *syncInCount = VnUtil_extractUint32(pos); - pos += sizeof(uint32_t); - *syncInTime = VnUtil_extractUint32(pos); - pos += sizeof(uint32_t); - *syncOutCount = VnUtil_extractUint32(pos); - pos += sizeof(uint32_t); - - return E_NONE; -} - -VnError VnSpi_parseFilterBasicControl( - const char* response, - uint8_t* magMode, - uint8_t* extMagMode, - uint8_t* extAccMode, - uint8_t* extGyroMode, - vec3f* gyroLimit) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *magMode = (uint8_t) *pos; - pos += sizeof(uint8_t); - *extMagMode = (uint8_t) *pos; - pos += sizeof(uint8_t); - *extAccMode = (uint8_t) *pos; - pos += sizeof(uint8_t); - *extGyroMode = (uint8_t) *pos; - pos += sizeof(uint8_t); - *gyroLimit = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseVpeBasicControl( - const char* response, - uint8_t* enable, - uint8_t* headingMode, - uint8_t* filteringMode, - uint8_t* tuningMode) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *enable = (uint8_t) *pos; - pos += sizeof(uint8_t); - *headingMode = (uint8_t) *pos; - pos += sizeof(uint8_t); - *filteringMode = (uint8_t) *pos; - pos += sizeof(uint8_t); - *tuningMode = (uint8_t) *pos; - pos += sizeof(uint8_t); - - return E_NONE; -} - -VnError VnSpi_parseVpeMagnetometerBasicTuning( - const char* response, - vec3f* baseTuning, - vec3f* adaptiveTuning, - vec3f* adaptiveFiltering) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *baseTuning = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *adaptiveTuning = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *adaptiveFiltering = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseVpeMagnetometerAdvancedTuning( - const char* response, - vec3f* minFiltering, - vec3f* maxFiltering, - float* maxAdaptRate, - float* disturbanceWindow, - float* maxTuning) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *minFiltering = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *maxFiltering = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *maxAdaptRate = VnUtil_extractFloat(pos); - pos += sizeof(float); - *disturbanceWindow = VnUtil_extractFloat(pos); - pos += sizeof(float); - *maxTuning = VnUtil_extractFloat(pos); - pos += sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseVpeAccelerometerBasicTuning( - const char* response, - vec3f* baseTuning, - vec3f* adaptiveTuning, - vec3f* adaptiveFiltering) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *baseTuning = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *adaptiveTuning = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *adaptiveFiltering = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseVpeAccelerometerAdvancedTuning( - const char* response, - vec3f* minFiltering, - vec3f* maxFiltering, - float* maxAdaptRate, - float* disturbanceWindow, - float* maxTuning) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *minFiltering = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *maxFiltering = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *maxAdaptRate = VnUtil_extractFloat(pos); - pos += sizeof(float); - *disturbanceWindow = VnUtil_extractFloat(pos); - pos += sizeof(float); - *maxTuning = VnUtil_extractFloat(pos); - pos += sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseVpeGyroBasicTuning( - const char* response, - vec3f* angularWalkVariance, - vec3f* baseTuning, - vec3f* adaptiveTuning) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *angularWalkVariance = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *baseTuning = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *adaptiveTuning = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseFilterStartupGyroBias( - const char* response, - vec3f* bias) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *bias = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseMagnetometerCalibrationControl( - const char* response, - uint8_t* hsiMode, - uint8_t* hsiOutput, - uint8_t* convergeRate) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *hsiMode = (uint8_t) *pos; - pos += sizeof(uint8_t); - *hsiOutput = (uint8_t) *pos; - pos += sizeof(uint8_t); - *convergeRate = (uint8_t) *pos; - pos += sizeof(uint8_t); - - return E_NONE; -} - -VnError VnSpi_parseCalculatedMagnetometerCalibration( - const char* response, - mat3f* c, - vec3f* b) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *c = VnUtil_extractMat3f(pos); - pos += 9 * sizeof(float); - *b = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseIndoorHeadingModeControl( - const char* response, - float* maxRateError, - uint8_t* reserved1) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *maxRateError = VnUtil_extractFloat(pos); - pos += sizeof(float); - *reserved1 = (uint8_t) *pos; - pos += sizeof(uint8_t); - - return E_NONE; -} - -VnError VnSpi_parseVelocityCompensationMeasurement( - const char* response, - vec3f* velocity) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *velocity = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseVelocityCompensationControl( - const char* response, - uint8_t* mode, - float* velocityTuning, - float* rateTuning) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *mode = (uint8_t) *pos; - pos += sizeof(uint8_t); - *velocityTuning = VnUtil_extractFloat(pos); - pos += sizeof(float); - *rateTuning = VnUtil_extractFloat(pos); - pos += sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseVelocityCompensationStatus( - const char* response, - float* x, - float* xDot, - vec3f* accelOffset, - vec3f* omega) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *x = VnUtil_extractFloat(pos); - pos += sizeof(float); - *xDot = VnUtil_extractFloat(pos); - pos += sizeof(float); - *accelOffset = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *omega = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseImuMeasurements( - const char* response, - vec3f* mag, - vec3f* accel, - vec3f* gyro, - float* temp, - float* pressure) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *mag = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *accel = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *gyro = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *temp = VnUtil_extractFloat(pos); - pos += sizeof(float); - *pressure = VnUtil_extractFloat(pos); - pos += sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseGpsConfiguration( - const char* response, - uint8_t* mode, - uint8_t* ppsSource, - uint8_t* reserved1, - uint8_t* reserved2, - uint8_t* reserved3) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *mode = (uint8_t) *pos; - pos += sizeof(uint8_t); - *ppsSource = (uint8_t) *pos; - pos += sizeof(uint8_t); - *reserved1 = (uint8_t) *pos; - pos += sizeof(uint8_t); - *reserved2 = (uint8_t) *pos; - pos += sizeof(uint8_t); - *reserved3 = (uint8_t) *pos; - pos += sizeof(uint8_t); - - return E_NONE; -} - -VnError VnSpi_parseGpsAntennaOffset( - const char* response, - vec3f* position) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *position = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseGpsSolutionLla( - const char* response, - double* time, - uint16_t* week, - uint8_t* gpsFix, - uint8_t* numSats, - vec3d* lla, - vec3f* nedVel, - vec3f* nedAcc, - float* speedAcc, - float* timeAcc) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *time = VnUtil_extractDouble(pos); - pos += sizeof(double); - *week = VnUtil_extractUint16(pos); - pos += sizeof(uint16_t); - *gpsFix = (uint8_t) *pos; - pos += sizeof(uint8_t); - *numSats = (uint8_t) *pos; - pos += sizeof(uint8_t); - pos += 4; - *lla = VnUtil_extractVec3d(pos); - pos += 3 * sizeof(double); - *nedVel = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *nedAcc = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *speedAcc = VnUtil_extractFloat(pos); - pos += sizeof(float); - *timeAcc = VnUtil_extractFloat(pos); - pos += sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseGpsSolutionEcef( - const char* response, - double* tow, - uint16_t* week, - uint8_t* gpsFix, - uint8_t* numSats, - vec3d* position, - vec3f* velocity, - vec3f* posAcc, - float* speedAcc, - float* timeAcc) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *tow = VnUtil_extractDouble(pos); - pos += sizeof(double); - *week = VnUtil_extractUint16(pos); - pos += sizeof(uint16_t); - *gpsFix = (uint8_t) *pos; - pos += sizeof(uint8_t); - *numSats = (uint8_t) *pos; - pos += sizeof(uint8_t); - pos += 4; - *position = VnUtil_extractVec3d(pos); - pos += 3 * sizeof(double); - *velocity = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *posAcc = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *speedAcc = VnUtil_extractFloat(pos); - pos += sizeof(float); - *timeAcc = VnUtil_extractFloat(pos); - pos += sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseInsSolutionLla( - const char* response, - double* time, - uint16_t* week, - uint16_t* status, - vec3f* yawPitchRoll, - vec3d* position, - vec3f* nedVel, - float* attUncertainty, - float* posUncertainty, - float* velUncertainty) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *time = VnUtil_extractDouble(pos); - pos += sizeof(double); - *week = VnUtil_extractUint16(pos); - pos += sizeof(uint16_t); - /* Use this cast to avoid a compile warning. */ - UNUSED(status); - *yawPitchRoll = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *position = VnUtil_extractVec3d(pos); - pos += 3 * sizeof(double); - *nedVel = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *attUncertainty = VnUtil_extractFloat(pos); - pos += sizeof(float); - *posUncertainty = VnUtil_extractFloat(pos); - pos += sizeof(float); - *velUncertainty = VnUtil_extractFloat(pos); - pos += sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseInsSolutionEcef( - const char* response, - double* time, - uint16_t* week, - uint16_t* status, - vec3f* yawPitchRoll, - vec3d* position, - vec3f* velocity, - float* attUncertainty, - float* posUncertainty, - float* velUncertainty) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *time = VnUtil_extractDouble(pos); - pos += sizeof(double); - *week = VnUtil_extractUint16(pos); - pos += sizeof(uint16_t); - /* Use this cast to avoid a compile warning. */ - UNUSED(status); - *yawPitchRoll = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *position = VnUtil_extractVec3d(pos); - pos += 3 * sizeof(double); - *velocity = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *attUncertainty = VnUtil_extractFloat(pos); - pos += sizeof(float); - *posUncertainty = VnUtil_extractFloat(pos); - pos += sizeof(float); - *velUncertainty = VnUtil_extractFloat(pos); - pos += sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseInsBasicConfiguration( - const char* response, - uint8_t* scenario, - uint8_t* ahrsAiding, - uint8_t* estBaseline, - uint8_t* resv2) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *scenario = (uint8_t) *pos; - pos += sizeof(uint8_t); - *ahrsAiding = (uint8_t) *pos; - pos += sizeof(uint8_t); - *estBaseline = (uint8_t) *pos; - pos += sizeof(uint8_t); - *resv2 = (uint8_t) *pos; - pos += sizeof(uint8_t); - - return E_NONE; -} - -VnError VnSpi_parseInsAdvancedConfiguration( - const char* response, - uint8_t* useMag, - uint8_t* usePres, - uint8_t* posAtt, - uint8_t* velAtt, - uint8_t* velBias, - uint8_t* useFoam, - uint8_t* gpsCovType, - uint8_t* velCount, - float* velInit, - float* moveOrigin, - float* gpsTimeout, - float* deltaLimitPos, - float* deltaLimitVel, - float* minPosUncertainty, - float* minVelUncertainty) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *useMag = (uint8_t) *pos; - pos += sizeof(uint8_t); - *usePres = (uint8_t) *pos; - pos += sizeof(uint8_t); - *posAtt = (uint8_t) *pos; - pos += sizeof(uint8_t); - *velAtt = (uint8_t) *pos; - pos += sizeof(uint8_t); - *velBias = (uint8_t) *pos; - pos += sizeof(uint8_t); - *useFoam = (uint8_t) *pos; - pos += sizeof(uint8_t); - *gpsCovType = (uint8_t) *pos; - pos += sizeof(uint8_t); - *velCount = (uint8_t) *pos; - pos += sizeof(uint8_t); - *velInit = VnUtil_extractFloat(pos); - pos += sizeof(float); - *moveOrigin = VnUtil_extractFloat(pos); - pos += sizeof(float); - *gpsTimeout = VnUtil_extractFloat(pos); - pos += sizeof(float); - *deltaLimitPos = VnUtil_extractFloat(pos); - pos += sizeof(float); - *deltaLimitVel = VnUtil_extractFloat(pos); - pos += sizeof(float); - *minPosUncertainty = VnUtil_extractFloat(pos); - pos += sizeof(float); - *minVelUncertainty = VnUtil_extractFloat(pos); - pos += sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseInsStateLla( - const char* response, - vec3f* yawPitchRoll, - vec3d* position, - vec3f* velocity, - vec3f* accel, - vec3f* angularRate) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *yawPitchRoll = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *position = VnUtil_extractVec3d(pos); - pos += 3 * sizeof(double); - *velocity = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *accel = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *angularRate = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseInsStateEcef( - const char* response, - vec3f* yawPitchRoll, - vec3d* position, - vec3f* velocity, - vec3f* accel, - vec3f* angularRate) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *yawPitchRoll = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *position = VnUtil_extractVec3d(pos); - pos += 3 * sizeof(double); - *velocity = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *accel = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *angularRate = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseStartupFilterBiasEstimate( - const char* response, - vec3f* gyroBias, - vec3f* accelBias, - float* pressureBias) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *gyroBias = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *accelBias = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *pressureBias = VnUtil_extractFloat(pos); - pos += sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseDeltaThetaAndDeltaVelocity( - const char* response, - float* deltaTime, - vec3f* deltaTheta, - vec3f* deltaVelocity) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *deltaTime = VnUtil_extractFloat(pos); - pos += sizeof(float); - *deltaTheta = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *deltaVelocity = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseDeltaThetaAndDeltaVelocityConfiguration( - const char* response, - uint8_t* integrationFrame, - uint8_t* gyroCompensation, - uint8_t* accelCompensation, - uint8_t* reserved1, - uint16_t* reserved2) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *integrationFrame = (uint8_t) *pos; - pos += sizeof(uint8_t); - *gyroCompensation = (uint8_t) *pos; - pos += sizeof(uint8_t); - *accelCompensation = (uint8_t) *pos; - pos += sizeof(uint8_t); - *reserved1 = (uint8_t) *pos; - pos += sizeof(uint8_t); - *reserved2 = VnUtil_extractUint16(pos); - pos += sizeof(uint16_t); - - return E_NONE; -} - -VnError VnSpi_parseReferenceVectorConfiguration( - const char* response, - uint8_t* useMagModel, - uint8_t* useGravityModel, - uint8_t* resv1, - uint8_t* resv2, - uint32_t* recalcThreshold, - float* year, - vec3d* position) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *useMagModel = (uint8_t) *pos; - pos += sizeof(uint8_t); - *useGravityModel = (uint8_t) *pos; - pos += sizeof(uint8_t); - *resv1 = (uint8_t) *pos; - pos += sizeof(uint8_t); - *resv2 = (uint8_t) *pos; - pos += sizeof(uint8_t); - *recalcThreshold = VnUtil_extractUint32(pos); - pos += sizeof(uint32_t); - *year = VnUtil_extractFloat(pos); - pos += sizeof(float); - pos += 4; - *position = VnUtil_extractVec3d(pos); - pos += 3 * sizeof(double); - - return E_NONE; -} - -VnError VnSpi_parseGyroCompensation( - const char* response, - mat3f* c, - vec3f* b) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *c = VnUtil_extractMat3f(pos); - pos += 9 * sizeof(float); - *b = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseImuFilteringConfiguration( - const char* response, - uint16_t* magWindowSize, - uint16_t* accelWindowSize, - uint16_t* gyroWindowSize, - uint16_t* tempWindowSize, - uint16_t* presWindowSize, - uint8_t* magFilterMode, - uint8_t* accelFilterMode, - uint8_t* gyroFilterMode, - uint8_t* tempFilterMode, - uint8_t* presFilterMode) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *magWindowSize = VnUtil_extractUint16(pos); - pos += sizeof(uint16_t); - *accelWindowSize = VnUtil_extractUint16(pos); - pos += sizeof(uint16_t); - *gyroWindowSize = VnUtil_extractUint16(pos); - pos += sizeof(uint16_t); - *tempWindowSize = VnUtil_extractUint16(pos); - pos += sizeof(uint16_t); - *presWindowSize = VnUtil_extractUint16(pos); - pos += sizeof(uint16_t); - *magFilterMode = (uint8_t) *pos; - pos += sizeof(uint8_t); - *accelFilterMode = (uint8_t) *pos; - pos += sizeof(uint8_t); - *gyroFilterMode = (uint8_t) *pos; - pos += sizeof(uint8_t); - *tempFilterMode = (uint8_t) *pos; - pos += sizeof(uint8_t); - *presFilterMode = (uint8_t) *pos; - pos += sizeof(uint8_t); - - return E_NONE; -} - -VnError VnSpi_parseGpsCompassBaseline( - const char* response, - vec3f* position, - vec3f* uncertainty) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *position = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *uncertainty = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseGpsCompassEstimatedBaseline( - const char* response, - uint8_t* estBaselineUsed, - uint8_t* resv, - uint16_t* numMeas, - vec3f* position, - vec3f* uncertainty) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *estBaselineUsed = (uint8_t) *pos; - pos += sizeof(uint8_t); - *resv = (uint8_t) *pos; - pos += sizeof(uint8_t); - *numMeas = VnUtil_extractUint16(pos); - pos += sizeof(uint16_t); - *position = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *uncertainty = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseImuRateConfiguration( - const char* response, - uint16_t* imuRate, - uint16_t* navDivisor, - float* filterTargetRate, - float* filterMinRate) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *imuRate = VnUtil_extractUint16(pos); - pos += sizeof(uint16_t); - *navDivisor = VnUtil_extractUint16(pos); - pos += sizeof(uint16_t); - *filterTargetRate = VnUtil_extractFloat(pos); - pos += sizeof(float); - *filterMinRate = VnUtil_extractFloat(pos); - pos += sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseYawPitchRollTrueBodyAccelerationAndAngularRates( - const char* response, - vec3f* yawPitchRoll, - vec3f* bodyAccel, - vec3f* gyro) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *yawPitchRoll = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *bodyAccel = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *gyro = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_parseYawPitchRollTrueInertialAccelerationAndAngularRates( - const char* response, - vec3f* yawPitchRoll, - vec3f* inertialAccel, - vec3f* gyro) -{ - const char* pos = response + 3; - - if (*pos != 0) - return (VnError)(*pos + E_SENSOR_HARD_FAULT - 1); - - pos++; - - *yawPitchRoll = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *inertialAccel = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - *gyro = VnUtil_extractVec3f(pos); - pos += 3 * sizeof(float); - - return E_NONE; -} - -VnError VnSpi_genReadUserTag(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 4; - - return VnSpi_genRead(buffer, size, 0, desiredLength); -} - -VnError VnSpi_genReadModelNumber(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 4; - - return VnSpi_genRead(buffer, size, 1, desiredLength); -} - -VnError VnSpi_genReadHardwareRevision(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 8; - - return VnSpi_genRead(buffer, size, 2, desiredLength); -} - -VnError VnSpi_genReadSerialNumber(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 8; - - return VnSpi_genRead(buffer, size, 3, desiredLength); -} - -VnError VnSpi_genReadFirmwareVersion(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 4; - - return VnSpi_genRead(buffer, size, 4, desiredLength); -} - -VnError VnSpi_genReadSerialBaudRate(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 9; - - return VnSpi_genRead(buffer, size, 5, desiredLength); -} - -VnError VnSpi_genReadAsyncDataOutputType(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 9; - - return VnSpi_genRead(buffer, size, 6, desiredLength); -} - -VnError VnSpi_genReadAsyncDataOutputFrequency(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 9; - - return VnSpi_genRead(buffer, size, 7, desiredLength); -} - -VnError VnSpi_genReadYawPitchRoll(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 16; - - return VnSpi_genRead(buffer, size, 8, desiredLength); -} - -VnError VnSpi_genReadAttitudeQuaternion(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 20; - - return VnSpi_genRead(buffer, size, 9, desiredLength); -} - -VnError VnSpi_genReadQuaternionMagneticAccelerationAndAngularRates(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 56; - - return VnSpi_genRead(buffer, size, 15, desiredLength); -} - -VnError VnSpi_genReadMagneticMeasurements(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 16; - - return VnSpi_genRead(buffer, size, 17, desiredLength); -} - -VnError VnSpi_genReadAccelerationMeasurements(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 16; - - return VnSpi_genRead(buffer, size, 18, desiredLength); -} - -VnError VnSpi_genReadAngularRateMeasurements(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 16; - - return VnSpi_genRead(buffer, size, 19, desiredLength); -} - -VnError VnSpi_genReadMagneticAccelerationAndAngularRates(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 40; - - return VnSpi_genRead(buffer, size, 20, desiredLength); -} - -VnError VnSpi_genReadMagneticAndGravityReferenceVectors(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 28; - - return VnSpi_genRead(buffer, size, 21, desiredLength); -} - -VnError VnSpi_genReadMagnetometerCompensation(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 52; - - return VnSpi_genRead(buffer, size, 23, desiredLength); -} - -VnError VnSpi_genReadAccelerationCompensation(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 52; - - return VnSpi_genRead(buffer, size, 25, desiredLength); -} - -VnError VnSpi_genReadReferenceFrameRotation(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 40; - - return VnSpi_genRead(buffer, size, 26, desiredLength); -} - -VnError VnSpi_genReadYawPitchRollMagneticAccelerationAndAngularRates(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 52; - - return VnSpi_genRead(buffer, size, 27, desiredLength); -} - -VnError VnSpi_genReadCommunicationProtocolControl(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 11; - - return VnSpi_genRead(buffer, size, 30, desiredLength); -} - -VnError VnSpi_genReadSynchronizationControl(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 24; - - return VnSpi_genRead(buffer, size, 32, desiredLength); -} - -VnError VnSpi_genReadSynchronizationStatus(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 16; - - return VnSpi_genRead(buffer, size, 33, desiredLength); -} - -VnError VnSpi_genReadVpeBasicControl(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 8; - - return VnSpi_genRead(buffer, size, 35, desiredLength); -} - -VnError VnSpi_genReadVpeMagnetometerBasicTuning(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 40; - - return VnSpi_genRead(buffer, size, 36, desiredLength); -} - -VnError VnSpi_genReadVpeAccelerometerBasicTuning(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 40; - - return VnSpi_genRead(buffer, size, 38, desiredLength); -} - -VnError VnSpi_genReadMagnetometerCalibrationControl(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 7; - - return VnSpi_genRead(buffer, size, 44, desiredLength); -} - -VnError VnSpi_genReadCalculatedMagnetometerCalibration(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 52; - - return VnSpi_genRead(buffer, size, 47, desiredLength); -} - -VnError VnSpi_genReadVelocityCompensationMeasurement(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 16; - - return VnSpi_genRead(buffer, size, 50, desiredLength); -} - -VnError VnSpi_genReadVelocityCompensationControl(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 13; - - return VnSpi_genRead(buffer, size, 51, desiredLength); -} - -VnError VnSpi_genReadImuMeasurements(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 48; - - return VnSpi_genRead(buffer, size, 54, desiredLength); -} - -VnError VnSpi_genReadGpsConfiguration(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 9; - - return VnSpi_genRead(buffer, size, 55, desiredLength); -} - -VnError VnSpi_genReadGpsAntennaOffset(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 16; - - return VnSpi_genRead(buffer, size, 57, desiredLength); -} - -VnError VnSpi_genReadGpsSolutionLla(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 76; - - return VnSpi_genRead(buffer, size, 58, desiredLength); -} - -VnError VnSpi_genReadGpsSolutionEcef(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 76; - - return VnSpi_genRead(buffer, size, 59, desiredLength); -} - -VnError VnSpi_genReadInsSolutionLla(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 76; - - return VnSpi_genRead(buffer, size, 63, desiredLength); -} - -VnError VnSpi_genReadInsSolutionEcef(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 76; - - return VnSpi_genRead(buffer, size, 64, desiredLength); -} - -VnError VnSpi_genReadInsBasicConfiguration(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 8; - - return VnSpi_genRead(buffer, size, 67, desiredLength); -} - -VnError VnSpi_genReadInsStateLla(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 76; - - return VnSpi_genRead(buffer, size, 72, desiredLength); -} - -VnError VnSpi_genReadInsStateEcef(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 76; - - return VnSpi_genRead(buffer, size, 73, desiredLength); -} - -VnError VnSpi_genReadStartupFilterBiasEstimate(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 32; - - return VnSpi_genRead(buffer, size, 74, desiredLength); -} - -VnError VnSpi_genReadDeltaThetaAndDeltaVelocity(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 32; - - return VnSpi_genRead(buffer, size, 80, desiredLength); -} - -VnError VnSpi_genReadDeltaThetaAndDeltaVelocityConfiguration(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 10; - - return VnSpi_genRead(buffer, size, 82, desiredLength); -} - -VnError VnSpi_genReadReferenceVectorConfiguration(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 44; - - return VnSpi_genRead(buffer, size, 83, desiredLength); -} - -VnError VnSpi_genReadGyroCompensation(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 52; - - return VnSpi_genRead(buffer, size, 84, desiredLength); -} - -VnError VnSpi_genReadImuFilteringConfiguration(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 19; - - return VnSpi_genRead(buffer, size, 85, desiredLength); -} - -VnError VnSpi_genReadGpsCompassBaseline(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 28; - - return VnSpi_genRead(buffer, size, 93, desiredLength); -} - -VnError VnSpi_genReadGpsCompassEstimatedBaseline(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 32; - - return VnSpi_genRead(buffer, size, 97, desiredLength); -} - -VnError VnSpi_genReadYawPitchRollTrueBodyAccelerationAndAngularRates(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 40; - - return VnSpi_genRead(buffer, size, 239, desiredLength); -} - -VnError VnSpi_genReadYawPitchRollTrueInertialAccelerationAndAngularRates(char* buffer, size_t* size, size_t desiredLength, size_t* responseSize) -{ - *responseSize = 40; - - return VnSpi_genRead(buffer, size, 240, desiredLength); -} - -VnError VnSpi_genWriteUserTag( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - char* tag) -{ - char* pos = buffer; - - if (*size < 4 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 4; - - *pos++ = 2; - *pos++ = 0; - *pos++ = 0; - *pos++ = 0; - memcpy(pos, &tag, strlen(tag)); - pos += strlen(tag); - - return E_NONE; -} - -VnError VnSpi_genWriteSerialBaudRate( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint32_t baudrate) -{ - char* pos = buffer; - - if (*size < 9 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 9; - - *pos++ = 2; - *pos++ = 5; - *pos++ = 0; - *pos++ = 0; - baudrate = htos32(baudrate); - memcpy(pos, &baudrate, sizeof(uint32_t)); - pos += sizeof(uint32_t); - - return E_NONE; -} - -VnError VnSpi_genWriteAsyncDataOutputType( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint32_t ador) -{ - char* pos = buffer; - - if (*size < 9 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 9; - - *pos++ = 2; - *pos++ = 6; - *pos++ = 0; - *pos++ = 0; - ador = htos32(ador); - memcpy(pos, &ador, sizeof(uint32_t)); - pos += sizeof(uint32_t); - - return E_NONE; -} - -VnError VnSpi_genWriteAsyncDataOutputFrequency( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint32_t adof) -{ - char* pos = buffer; - - if (*size < 9 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 9; - - *pos++ = 2; - *pos++ = 7; - *pos++ = 0; - *pos++ = 0; - adof = htos32(adof); - memcpy(pos, &adof, sizeof(uint32_t)); - pos += sizeof(uint32_t); - - return E_NONE; -} - -VnError VnSpi_genWriteMagneticAndGravityReferenceVectors( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - vec3f magRef, - vec3f accRef) -{ - char* pos = buffer; - - if (*size < 28 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 28; - - *pos++ = 2; - *pos++ = 21; - *pos++ = 0; - *pos++ = 0; - magRef.c[0] = htosf4(magRef.c[0]); - magRef.c[1] = htosf4(magRef.c[1]); - magRef.c[2] = htosf4(magRef.c[2]); - memcpy(pos, &magRef, sizeof(vec3f)); - pos += sizeof(vec3f); - accRef.c[0] = htosf4(accRef.c[0]); - accRef.c[1] = htosf4(accRef.c[1]); - accRef.c[2] = htosf4(accRef.c[2]); - memcpy(pos, &accRef, sizeof(vec3f)); - pos += sizeof(vec3f); - - return E_NONE; -} - -VnError VnSpi_genWriteMagnetometerCompensation( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - mat3f c, - vec3f b) -{ - char* pos = buffer; - - if (*size < 52 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 52; - - *pos++ = 2; - *pos++ = 23; - *pos++ = 0; - *pos++ = 0; - c.e[0] = htosf4(c.e[0]); - c.e[1] = htosf4(c.e[1]); - c.e[2] = htosf4(c.e[2]); - c.e[3] = htosf4(c.e[3]); - c.e[4] = htosf4(c.e[4]); - c.e[5] = htosf4(c.e[5]); - c.e[6] = htosf4(c.e[6]); - c.e[7] = htosf4(c.e[7]); - c.e[8] = htosf4(c.e[8]); - memcpy(pos, &c, sizeof(mat3f)); - pos += sizeof(mat3f); - b.c[0] = htosf4(b.c[0]); - b.c[1] = htosf4(b.c[1]); - b.c[2] = htosf4(b.c[2]); - memcpy(pos, &b, sizeof(vec3f)); - pos += sizeof(vec3f); - - return E_NONE; -} - -VnError VnSpi_genWriteAccelerationCompensation( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - mat3f c, - vec3f b) -{ - char* pos = buffer; - - if (*size < 52 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 52; - - *pos++ = 2; - *pos++ = 25; - *pos++ = 0; - *pos++ = 0; - c.e[0] = htosf4(c.e[0]); - c.e[1] = htosf4(c.e[1]); - c.e[2] = htosf4(c.e[2]); - c.e[3] = htosf4(c.e[3]); - c.e[4] = htosf4(c.e[4]); - c.e[5] = htosf4(c.e[5]); - c.e[6] = htosf4(c.e[6]); - c.e[7] = htosf4(c.e[7]); - c.e[8] = htosf4(c.e[8]); - memcpy(pos, &c, sizeof(mat3f)); - pos += sizeof(mat3f); - b.c[0] = htosf4(b.c[0]); - b.c[1] = htosf4(b.c[1]); - b.c[2] = htosf4(b.c[2]); - memcpy(pos, &b, sizeof(vec3f)); - pos += sizeof(vec3f); - - return E_NONE; -} - -VnError VnSpi_genWriteReferenceFrameRotation( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - mat3f c) -{ - char* pos = buffer; - - if (*size < 40 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 40; - - *pos++ = 2; - *pos++ = 26; - *pos++ = 0; - *pos++ = 0; - c.e[0] = htosf4(c.e[0]); - c.e[1] = htosf4(c.e[1]); - c.e[2] = htosf4(c.e[2]); - c.e[3] = htosf4(c.e[3]); - c.e[4] = htosf4(c.e[4]); - c.e[5] = htosf4(c.e[5]); - c.e[6] = htosf4(c.e[6]); - c.e[7] = htosf4(c.e[7]); - c.e[8] = htosf4(c.e[8]); - memcpy(pos, &c, sizeof(mat3f)); - pos += sizeof(mat3f); - - return E_NONE; -} - -VnError VnSpi_genWriteCommunicationProtocolControl( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t serialCount, - uint8_t serialStatus, - uint8_t spiCount, - uint8_t spiStatus, - uint8_t serialChecksum, - uint8_t spiChecksum, - uint8_t errorMode) -{ - char* pos = buffer; - - if (*size < 11 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 11; - - *pos++ = 2; - *pos++ = 30; - *pos++ = 0; - *pos++ = 0; - *pos++ = serialCount; - *pos++ = serialStatus; - *pos++ = spiCount; - *pos++ = spiStatus; - *pos++ = serialChecksum; - *pos++ = spiChecksum; - *pos++ = errorMode; - - return E_NONE; -} - -VnError VnSpi_genWriteSynchronizationControl( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t syncInMode, - uint8_t syncInEdge, - uint16_t syncInSkipFactor, - uint32_t reserved1, - uint8_t syncOutMode, - uint8_t syncOutPolarity, - uint16_t syncOutSkipFactor, - uint32_t syncOutPulseWidth, - uint32_t reserved2) -{ - char* pos = buffer; - - if (*size < 24 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 24; - - *pos++ = 2; - *pos++ = 32; - *pos++ = 0; - *pos++ = 0; - *pos++ = syncInMode; - *pos++ = syncInEdge; - syncInSkipFactor = htos16(syncInSkipFactor); - memcpy(pos, &syncInSkipFactor, sizeof(uint16_t)); - pos += sizeof(uint16_t); - reserved1 = htos32(reserved1); - memcpy(pos, &reserved1, sizeof(uint32_t)); - pos += sizeof(uint32_t); - *pos++ = syncOutMode; - *pos++ = syncOutPolarity; - syncOutSkipFactor = htos16(syncOutSkipFactor); - memcpy(pos, &syncOutSkipFactor, sizeof(uint16_t)); - pos += sizeof(uint16_t); - syncOutPulseWidth = htos32(syncOutPulseWidth); - memcpy(pos, &syncOutPulseWidth, sizeof(uint32_t)); - pos += sizeof(uint32_t); - reserved2 = htos32(reserved2); - memcpy(pos, &reserved2, sizeof(uint32_t)); - pos += sizeof(uint32_t); - - return E_NONE; -} - -VnError VnSpi_genWriteSynchronizationStatus( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint32_t syncInCount, - uint32_t syncInTime, - uint32_t syncOutCount) -{ - char* pos = buffer; - - if (*size < 16 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 16; - - *pos++ = 2; - *pos++ = 33; - *pos++ = 0; - *pos++ = 0; - syncInCount = htos32(syncInCount); - memcpy(pos, &syncInCount, sizeof(uint32_t)); - pos += sizeof(uint32_t); - syncInTime = htos32(syncInTime); - memcpy(pos, &syncInTime, sizeof(uint32_t)); - pos += sizeof(uint32_t); - syncOutCount = htos32(syncOutCount); - memcpy(pos, &syncOutCount, sizeof(uint32_t)); - pos += sizeof(uint32_t); - - return E_NONE; -} - -VnError VnSpi_genWriteVpeBasicControl( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t enable, - uint8_t headingMode, - uint8_t filteringMode, - uint8_t tuningMode) -{ - char* pos = buffer; - - if (*size < 8 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 8; - - *pos++ = 2; - *pos++ = 35; - *pos++ = 0; - *pos++ = 0; - *pos++ = enable; - *pos++ = headingMode; - *pos++ = filteringMode; - *pos++ = tuningMode; - - return E_NONE; -} - -VnError VnSpi_genWriteVpeMagnetometerBasicTuning( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - vec3f baseTuning, - vec3f adaptiveTuning, - vec3f adaptiveFiltering) -{ - char* pos = buffer; - - if (*size < 40 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 40; - - *pos++ = 2; - *pos++ = 36; - *pos++ = 0; - *pos++ = 0; - baseTuning.c[0] = htosf4(baseTuning.c[0]); - baseTuning.c[1] = htosf4(baseTuning.c[1]); - baseTuning.c[2] = htosf4(baseTuning.c[2]); - memcpy(pos, &baseTuning, sizeof(vec3f)); - pos += sizeof(vec3f); - adaptiveTuning.c[0] = htosf4(adaptiveTuning.c[0]); - adaptiveTuning.c[1] = htosf4(adaptiveTuning.c[1]); - adaptiveTuning.c[2] = htosf4(adaptiveTuning.c[2]); - memcpy(pos, &adaptiveTuning, sizeof(vec3f)); - pos += sizeof(vec3f); - adaptiveFiltering.c[0] = htosf4(adaptiveFiltering.c[0]); - adaptiveFiltering.c[1] = htosf4(adaptiveFiltering.c[1]); - adaptiveFiltering.c[2] = htosf4(adaptiveFiltering.c[2]); - memcpy(pos, &adaptiveFiltering, sizeof(vec3f)); - pos += sizeof(vec3f); - - return E_NONE; -} - -VnError VnSpi_genWriteVpeAccelerometerBasicTuning( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - vec3f baseTuning, - vec3f adaptiveTuning, - vec3f adaptiveFiltering) -{ - char* pos = buffer; - - if (*size < 40 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 40; - - *pos++ = 2; - *pos++ = 38; - *pos++ = 0; - *pos++ = 0; - baseTuning.c[0] = htosf4(baseTuning.c[0]); - baseTuning.c[1] = htosf4(baseTuning.c[1]); - baseTuning.c[2] = htosf4(baseTuning.c[2]); - memcpy(pos, &baseTuning, sizeof(vec3f)); - pos += sizeof(vec3f); - adaptiveTuning.c[0] = htosf4(adaptiveTuning.c[0]); - adaptiveTuning.c[1] = htosf4(adaptiveTuning.c[1]); - adaptiveTuning.c[2] = htosf4(adaptiveTuning.c[2]); - memcpy(pos, &adaptiveTuning, sizeof(vec3f)); - pos += sizeof(vec3f); - adaptiveFiltering.c[0] = htosf4(adaptiveFiltering.c[0]); - adaptiveFiltering.c[1] = htosf4(adaptiveFiltering.c[1]); - adaptiveFiltering.c[2] = htosf4(adaptiveFiltering.c[2]); - memcpy(pos, &adaptiveFiltering, sizeof(vec3f)); - pos += sizeof(vec3f); - - return E_NONE; -} - -VnError VnSpi_genWriteMagnetometerCalibrationControl( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t hsiMode, - uint8_t hsiOutput, - uint8_t convergeRate) -{ - char* pos = buffer; - - if (*size < 7 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 7; - - *pos++ = 2; - *pos++ = 44; - *pos++ = 0; - *pos++ = 0; - *pos++ = hsiMode; - *pos++ = hsiOutput; - *pos++ = convergeRate; - - return E_NONE; -} - -VnError VnSpi_genWriteVelocityCompensationMeasurement( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - vec3f velocity) -{ - char* pos = buffer; - - if (*size < 16 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 16; - - *pos++ = 2; - *pos++ = 50; - *pos++ = 0; - *pos++ = 0; - velocity.c[0] = htosf4(velocity.c[0]); - velocity.c[1] = htosf4(velocity.c[1]); - velocity.c[2] = htosf4(velocity.c[2]); - memcpy(pos, &velocity, sizeof(vec3f)); - pos += sizeof(vec3f); - - return E_NONE; -} - -VnError VnSpi_genWriteVelocityCompensationControl( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t mode, - float velocityTuning, - float rateTuning) -{ - char* pos = buffer; - - if (*size < 13 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 13; - - *pos++ = 2; - *pos++ = 51; - *pos++ = 0; - *pos++ = 0; - *pos++ = mode; - velocityTuning = htosf4(velocityTuning); - memcpy(pos, &velocityTuning, sizeof(float)); - pos += sizeof(float); - rateTuning = htosf4(rateTuning); - memcpy(pos, &rateTuning, sizeof(float)); - pos += sizeof(float); - - return E_NONE; -} - -VnError VnSpi_genWriteGpsConfiguration( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t mode, - uint8_t ppsSource, - uint8_t reserved1, - uint8_t reserved2, - uint8_t reserved3) -{ - char* pos = buffer; - - if (*size < 9 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 9; - - *pos++ = 2; - *pos++ = 55; - *pos++ = 0; - *pos++ = 0; - *pos++ = mode; - *pos++ = ppsSource; - *pos++ = reserved1; - *pos++ = reserved2; - *pos++ = reserved3; - - return E_NONE; -} - -VnError VnSpi_genWriteGpsAntennaOffset( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - vec3f position) -{ - char* pos = buffer; - - if (*size < 16 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 16; - - *pos++ = 2; - *pos++ = 57; - *pos++ = 0; - *pos++ = 0; - position.c[0] = htosf4(position.c[0]); - position.c[1] = htosf4(position.c[1]); - position.c[2] = htosf4(position.c[2]); - memcpy(pos, &position, sizeof(vec3f)); - pos += sizeof(vec3f); - - return E_NONE; -} - -VnError VnSpi_genWriteInsBasicConfiguration( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t scenario, - uint8_t ahrsAiding, - uint8_t estBaseline, - uint8_t resv2) -{ - char* pos = buffer; - - if (*size < 8 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 8; - - *pos++ = 2; - *pos++ = 67; - *pos++ = 0; - *pos++ = 0; - *pos++ = scenario; - *pos++ = ahrsAiding; - *pos++ = estBaseline; - *pos++ = resv2; - - return E_NONE; -} - -VnError VnSpi_genWriteStartupFilterBiasEstimate( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - vec3f gyroBias, - vec3f accelBias, - float pressureBias) -{ - char* pos = buffer; - - if (*size < 32 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 32; - - *pos++ = 2; - *pos++ = 74; - *pos++ = 0; - *pos++ = 0; - gyroBias.c[0] = htosf4(gyroBias.c[0]); - gyroBias.c[1] = htosf4(gyroBias.c[1]); - gyroBias.c[2] = htosf4(gyroBias.c[2]); - memcpy(pos, &gyroBias, sizeof(vec3f)); - pos += sizeof(vec3f); - accelBias.c[0] = htosf4(accelBias.c[0]); - accelBias.c[1] = htosf4(accelBias.c[1]); - accelBias.c[2] = htosf4(accelBias.c[2]); - memcpy(pos, &accelBias, sizeof(vec3f)); - pos += sizeof(vec3f); - pressureBias = htosf4(pressureBias); - memcpy(pos, &pressureBias, sizeof(float)); - pos += sizeof(float); - - return E_NONE; -} - -VnError VnSpi_genWriteDeltaThetaAndDeltaVelocityConfiguration( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t integrationFrame, - uint8_t gyroCompensation, - uint8_t accelCompensation, - uint8_t reserved1, - uint16_t reserved2) -{ - char* pos = buffer; - - if (*size < 10 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 10; - - *pos++ = 2; - *pos++ = 82; - *pos++ = 0; - *pos++ = 0; - *pos++ = integrationFrame; - *pos++ = gyroCompensation; - *pos++ = accelCompensation; - *pos++ = reserved1; - reserved2 = htos16(reserved2); - memcpy(pos, &reserved2, sizeof(uint16_t)); - pos += sizeof(uint16_t); - - return E_NONE; -} - -VnError VnSpi_genWriteReferenceVectorConfiguration( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint8_t useMagModel, - uint8_t useGravityModel, - uint8_t resv1, - uint8_t resv2, - uint32_t recalcThreshold, - float year, - vec3d position) -{ - char* pos = buffer; - - if (*size < 44 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 44; - - *pos++ = 2; - *pos++ = 83; - *pos++ = 0; - *pos++ = 0; - *pos++ = useMagModel; - *pos++ = useGravityModel; - *pos++ = resv1; - *pos++ = resv2; - recalcThreshold = htos32(recalcThreshold); - memcpy(pos, &recalcThreshold, sizeof(uint32_t)); - pos += sizeof(uint32_t); - year = htosf4(year); - memcpy(pos, &year, sizeof(float)); - pos += sizeof(float); - pos += 4; - position.c[0] = htosf8(position.c[0]); - position.c[1] = htosf8(position.c[1]); - position.c[2] = htosf8(position.c[2]); - memcpy(pos, &position, sizeof(vec3d)); - pos += sizeof(vec3d); - - return E_NONE; -} - -VnError VnSpi_genWriteGyroCompensation( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - mat3f c, - vec3f b) -{ - char* pos = buffer; - - if (*size < 52 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 52; - - *pos++ = 2; - *pos++ = 84; - *pos++ = 0; - *pos++ = 0; - c.e[0] = htosf4(c.e[0]); - c.e[1] = htosf4(c.e[1]); - c.e[2] = htosf4(c.e[2]); - c.e[3] = htosf4(c.e[3]); - c.e[4] = htosf4(c.e[4]); - c.e[5] = htosf4(c.e[5]); - c.e[6] = htosf4(c.e[6]); - c.e[7] = htosf4(c.e[7]); - c.e[8] = htosf4(c.e[8]); - memcpy(pos, &c, sizeof(mat3f)); - pos += sizeof(mat3f); - b.c[0] = htosf4(b.c[0]); - b.c[1] = htosf4(b.c[1]); - b.c[2] = htosf4(b.c[2]); - memcpy(pos, &b, sizeof(vec3f)); - pos += sizeof(vec3f); - - return E_NONE; -} - -VnError VnSpi_genWriteImuFilteringConfiguration( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - uint16_t magWindowSize, - uint16_t accelWindowSize, - uint16_t gyroWindowSize, - uint16_t tempWindowSize, - uint16_t presWindowSize, - uint8_t magFilterMode, - uint8_t accelFilterMode, - uint8_t gyroFilterMode, - uint8_t tempFilterMode, - uint8_t presFilterMode) -{ - char* pos = buffer; - - if (*size < 19 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 19; - - *pos++ = 2; - *pos++ = 85; - *pos++ = 0; - *pos++ = 0; - magWindowSize = htos16(magWindowSize); - memcpy(pos, &magWindowSize, sizeof(uint16_t)); - pos += sizeof(uint16_t); - accelWindowSize = htos16(accelWindowSize); - memcpy(pos, &accelWindowSize, sizeof(uint16_t)); - pos += sizeof(uint16_t); - gyroWindowSize = htos16(gyroWindowSize); - memcpy(pos, &gyroWindowSize, sizeof(uint16_t)); - pos += sizeof(uint16_t); - tempWindowSize = htos16(tempWindowSize); - memcpy(pos, &tempWindowSize, sizeof(uint16_t)); - pos += sizeof(uint16_t); - presWindowSize = htos16(presWindowSize); - memcpy(pos, &presWindowSize, sizeof(uint16_t)); - pos += sizeof(uint16_t); - *pos++ = magFilterMode; - *pos++ = accelFilterMode; - *pos++ = gyroFilterMode; - *pos++ = tempFilterMode; - *pos++ = presFilterMode; - - return E_NONE; -} - -VnError VnSpi_genWriteGpsCompassBaseline( - char* buffer, - size_t* size, - size_t desiredLength, - size_t* responseSize, - vec3f position, - vec3f uncertainty) -{ - char* pos = buffer; - - if (*size < 28 || *size < desiredLength) - return E_BUFFER_TOO_SMALL; - - *responseSize = 28; - - *pos++ = 2; - *pos++ = 93; - *pos++ = 0; - *pos++ = 0; - position.c[0] = htosf4(position.c[0]); - position.c[1] = htosf4(position.c[1]); - position.c[2] = htosf4(position.c[2]); - memcpy(pos, &position, sizeof(vec3f)); - pos += sizeof(vec3f); - uncertainty.c[0] = htosf4(uncertainty.c[0]); - uncertainty.c[1] = htosf4(uncertainty.c[1]); - uncertainty.c[2] = htosf4(uncertainty.c[2]); - memcpy(pos, &uncertainty, sizeof(vec3f)); - pos += sizeof(vec3f); - - return E_NONE; -} diff --git a/vnproglib/c/src/vn/protocol/upack.c b/vnproglib/c/src/vn/protocol/upack.c deleted file mode 100644 index 4ec7d66..0000000 --- a/vnproglib/c/src/vn/protocol/upack.c +++ /dev/null @@ -1,4860 +0,0 @@ -#include "vn/protocol/upack.h" - -#include -#include -#include - -#include "vn/util.h" - -/*#define MAXIMUM_REGISTER_ID 255 -#define ASCII_START_CHAR '$' -#define ASCII_END_CHAR1 '\r' -#define ASCII_END_CHAR2 '\n' -#define BINARY_START_CHAR 0xFA -#define MAX_BINARY_PACKET_SIZE 256*/ - -const uint8_t BinaryPacketGroupLengths[7][15] = { - { 8, 8, 8, 12, 16, 12, 24, 12, 12, 24, 20, 28, 2, 4, 8}, - { 8, 8, 8, 2, 8, 8, 8, 4, 4, 1, 0, 0, 0, 0, 0}, - { 2, 12, 12, 12, 4, 4, 16, 12, 12, 12, 12, 2, 40, 0, 0 }, - { 8, 8, 2, 1, 1, 24, 24, 12, 12, 12, 4, 4, 2, 28, 0 }, - { 2, 12, 16, 36, 12, 12, 12, 12, 12, 12, 28, 24, 0, 0, 0 }, - { 2, 24, 24, 12, 12, 12, 12, 12, 12, 4, 4, 68, 64, 0, 0 }, - { 8, 8, 2, 1, 1, 24, 24, 12, 12, 12, 4, 4, 2, 28, 0 }, -}; - -#define NEXT result = VnUartPacket_getNextData((uint8_t*)packet->data, &packetIndex); if (result == NULL) return; - -#define NEXTR result = VnUartPacket_getNextData((uint8_t*)packet->data, &packetIndex); if (result == NULL) return E_UNKNOWN; - -#define NEXTRAW result = (char*)VnUartPacket_getNextData((uint8_t*)packet, &packetIndex); if (result == NULL) return; - -#define ATOFF ((float)atof((char*) result)) -#define ATOFD atof((char*) result) -#define ATOU32 ((uint32_t) atoi((char*) result)) -#define ATOU16X ((uint16_t) strtol((char*) result, NULL, 16)) -#define ATOU16 ((uint16_t) atoi((char*) result)) -#define ATOU8 ((uint8_t) atoi((char*) result)) - -/* Function declarations */ -uint8_t* VnUartPacket_startAsciiPacketParse(uint8_t* packetStart, size_t* index); -uint8_t* VnUartPacket_startAsciiResponsePacketParse(uint8_t* packetStart, size_t* index); -uint8_t* VnUartPacket_getNextData(uint8_t* str, size_t* startIndex); -uint8_t* vnstrtok(uint8_t* str, size_t* startIndex); -VnError VnUartPacket_genWriteBinaryOutput( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t binaryOutputNumber, - uint16_t asyncMode, - uint16_t rateDivisor, - uint16_t commonField, - uint16_t timeField, - uint16_t imuField, - uint16_t gpsField, - uint16_t attitudeField, - uint16_t insField, - uint16_t gps2Field); -void VnUartPacket_startExtractionIfNeeded(VnUartPacket *packet); - -void VnUartPacket_initialize(VnUartPacket *packet, uint8_t *data, size_t length) -{ - packet->curExtractLoc = 0; - packet->length = length; - packet->data = data; -} - -void VnUartPacket_initializeFromStr(VnUartPacket* packet, char* data) -{ - VnUartPacket_initialize(packet, (uint8_t*) data, strlen(data)); -} - -bool VnUartPacket_isValid(VnUartPacket *packet) -{ - PacketType t; - - if (packet->length < 7) /* minumum binary packet is 7 bytes, minimum ASCII is 8 bytes */ - return false; - - t = VnUartPacket_type(packet); - - if (t == PACKETTYPE_ASCII) - { - /* First determine if this packet does not have a checksum or CRC. */ - if (packet->data[packet->length - 3] == 'X' && packet->data[packet->length - 4] == 'X') - return true; - - /* First determine if this packet has an 8-bit checksum or a 16-bit CRC. */ - if (packet->data[packet->length - 5] == '*') - { - /* Appears we have an 8-bit checksum packet. */ - uint8_t expectedChecksum = VnUtil_toUint8FromHexStr((char*) packet->data + packet->length - 4); - - uint8_t computedChecksum = VnChecksum8_compute((char*) packet->data + 1, packet->length - 6); - - return (bool) (expectedChecksum == computedChecksum); - } - else if (packet->data[packet->length - 7] == '*') - { - /* Appears we have a 16-bit CRC packet. */ - uint16_t packetCrc = VnUtil_toUint16FromHexStr((char*) packet->data + packet->length - 6); - - uint16_t computedCrc = VnCrc16_compute((char*) packet->data + 1, packet->length - 8); - - return (bool) (packetCrc == computedCrc); - } - else if (packet->data[packet->length - 6] == '*') /* Special Bootloader Update Response */ - { - /* Appears we have a 16-bit CRC packet. */ - uint16_t packetCrc = VnUtil_toUint16FromHexStr((char*)packet->data + packet->length - 5); - - uint16_t computedCrc = VnCrc16_compute((char*)packet->data + 1, packet->length - 7); - - return (bool)(packetCrc == computedCrc); - } - else - { - /* Don't know what we have. */ - return false; - } - } - else if (t == PACKETTYPE_BINARY) - { - uint16_t computedCrc = VnCrc16_compute((char*) packet->data + 1, packet->length - 1); - - return computedCrc == 0; - } - else - { - char bootloadSignature[] = "VectorNav Bootloader"; - if (strncmp(packet->data, bootloadSignature, sizeof(bootloadSignature) - 1) == 0) - { - return true; - } - else - { - /* Unknown packet type. */ - return false; - } - } -} - -bool VnUartPacket_isAsciiAsync(VnUartPacket *packet) -{ - /* Pointer to the unique asynchronous data type identifier. */ - char* pAT = (char*) packet->data + 3; - - if (strncmp(pAT, "YPR", 3) == 0) - return true; - if (strncmp(pAT, "QTN", 3) == 0) - return true; - #ifdef EXTRA - if (strncmp(pAT, "QTM", 3) == 0) - return true; - if (strncmp(pAT, "QTA", 3) == 0) - return true; - if (strncmp(pAT, "QTR", 3) == 0) - return true; - if (strncmp(pAT, "QMA", 3) == 0) - return true; - if (strncmp(pAT, "QAR", 3) == 0) - return true; - #endif - if (strncmp(pAT, "QMR", 3) == 0) - return true; - #ifdef EXTRA - if (strncmp(pAT, "DCM", 3) == 0) - return true; - #endif - if (strncmp(pAT, "MAG", 3) == 0) - return true; - if (strncmp(pAT, "ACC", 3) == 0) - return true; - if (strncmp(pAT, "GYR", 3) == 0) - return true; - if (strncmp(pAT, "MAR", 3) == 0) - return true; - if (strncmp(pAT, "YMR", 3) == 0) - return true; - #ifdef EXTRA - if (strncmp(pAT, "YCM", 3) == 0) - return true; - #endif - if (strncmp(pAT, "YBA", 3) == 0) - return true; - if (strncmp(pAT, "YIA", 3) == 0) - return true; - #ifdef EXTRA - if (strncmp(pAT, "ICM", 3) == 0) - return true; - #endif - if (strncmp(pAT, "IMU", 3) == 0) - return true; - if (strncmp(pAT, "GPS", 3) == 0) - return true; - if (strncmp(pAT, "GPE", 3) == 0) - return true; - if (strncmp(pAT, "INS", 3) == 0) - return true; - if (strncmp(pAT, "INE", 3) == 0) - return true; - if (strncmp(pAT, "ISL", 3) == 0) - return true; - if (strncmp(pAT, "ISE", 3) == 0) - return true; - if (strncmp(pAT, "DTV", 3) == 0) - return true; - #ifdef EXTRA - if (strncmp(pAT, "RAW", 3) == 0) - return true; - if (strncmp(pAT, "CMV", 3) == 0) - return true; - if (strncmp(pAT, "STV", 3) == 0) - return true; - if (strncmp(pAT, "COV", 3) == 0) - return true; - #endif - else - return false; -} - -bool VnUartPacket_isResponse(VnUartPacket *packet) -{ - char* p = (char*) packet->data + 3; - if (strncmp(p, "WRG", 3) == 0) - return true; - if (strncmp(p, "RRG", 3) == 0) - return true; - if (strncmp(p, "WNV", 3) == 0) - return true; - if (strncmp(p, "RFS", 3) == 0) - return true; - if (strncmp(p, "RST", 3) == 0) - return true; - if (strncmp(p, "FWU", 3) == 0) - return true; - if (strncmp(p, "CMD", 3) == 0) - return true; - if (strncmp(p, "ASY", 3) == 0) - return true; - if (strncmp(p, "TAR", 3) == 0) - return true; - if (strncmp(p, "KMD", 3) == 0) - return true; - if (strncmp(p, "KAD", 3) == 0) - return true; - if (strncmp(p, "SGB", 3) == 0) - return true; - if (strncmp(p, "DBS", 3) == 0) - return true; - if (strncmp(p, "MCU", 3) == 0) - return true; - if (strncmp(p, "SBL", 3) == 0) - return true; - if (strncmp(p, "SPS", 3) == 0) - return true; - if (strncmp(p, "BLD", 3) == 0) - return true; - if (strncmp(packet->data, "VectorNav Bootloader", 20) == 0) - return true; - - return false; -} - -bool VnUartPacket_isBootloader(VnUartPacket* packet) -{ - char* p = (char*)packet->data + 3; - if (strncmp(p, "BLD", 3) == 0) - return true; - if (strncmp(packet->data, "VectorNav Bootloader", 20) == 0) - return true; - - return false; -} - - -bool VnUartPacket_isError(VnUartPacket *packet) -{ - return VnUartPacket_isErrorRaw(packet->data); -} - -bool VnUartPacket_isErrorRaw(uint8_t *packet) -{ - return strncmp((char*) (packet + 3), "ERR", 3) == 0; -} - -PacketType VnUartPacket_type(VnUartPacket *packet) -{ - if (packet->length < 1) - /* Is really an invalid packet. */ - return PACKETTYPE_UNKNOWN; - - if (packet->data[0] == VN_ASCII_START_CHAR) - return PACKETTYPE_ASCII; - if ((uint8_t) packet->data[0] == VN_BINARY_START_CHAR) - return PACKETTYPE_BINARY; - - return PACKETTYPE_UNKNOWN; -} - -uint8_t VnUartPacket_groups(VnUartPacket* packet) -{ - return packet->data[1]; -} - -uint16_t VnUartPacket_groupField(VnUartPacket* packet, size_t groupIndex) -{ - return stoh16(*((uint16_t*) (packet->data + groupIndex * sizeof(uint16_t) + 2))); -} - -VnAsciiAsync VnUartPacket_determineAsciiAsyncType(VnUartPacket *packet) -{ - /* Pointer to the unique asynchronous data type identifier. */ - char* pAT = (char*) (packet->data + 3); - - if (strncmp(pAT, "YPR", 3) == 0) - return VNYPR; - if (strncmp(pAT, "QTN", 3) == 0) - return VNQTN; - #ifdef EXTRA - if (strncmp(pAT, "QTM", 3) == 0) - return VNQTM; - if (strncmp(pAT, "QTA", 3) == 0) - return VNQTA; - if (strncmp(pAT, "QTR", 3) == 0) - return VNQTR; - if (strncmp(pAT, "QMA", 3) == 0) - return VNQMA; - if (strncmp(pAT, "QAR", 3) == 0) - return VNQAR; - #endif - if (strncmp(pAT, "QMR", 3) == 0) - return VNQMR; - #ifdef EXTRA - if (strncmp(pAT, "DCM", 3) == 0) - return VNDCM; - #endif - if (strncmp(pAT, "MAG", 3) == 0) - return VNMAG; - if (strncmp(pAT, "ACC", 3) == 0) - return VNACC; - if (strncmp(pAT, "GYR", 3) == 0) - return VNGYR; - if (strncmp(pAT, "MAR", 3) == 0) - return VNMAR; - if (strncmp(pAT, "YMR", 3) == 0) - return VNYMR; - #ifdef EXTRA - if (strncmp(pAT, "YCM", 3) == 0) - return VNYCM; - #endif - if (strncmp(pAT, "YBA", 3) == 0) - return VNYBA; - if (strncmp(pAT, "YIA", 3) == 0) - return VNYIA; - #ifdef EXTRA - if (strncmp(pAT, "ICM", 3) == 0) - return VNICM; - #endif - if (strncmp(pAT, "IMU", 3) == 0) - return VNIMU; - if (strncmp(pAT, "GPS", 3) == 0) - return VNGPS; - if (strncmp(pAT, "GPE", 3) == 0) - return VNGPE; - if (strncmp(pAT, "INS", 3) == 0) - return VNINS; - if (strncmp(pAT, "INE", 3) == 0) - return VNINE; - if (strncmp(pAT, "ISL", 3) == 0) - return VNISL; - if (strncmp(pAT, "ISE", 3) == 0) - return VNISE; - if (strncmp(pAT, "DTV", 3) == 0) - return VNDTV; - if (strncmp(pAT, "RTK", 3) == 0) - return VNRTK; - #ifdef EXTRA - if (strncmp(pAT, "RAW", 3) == 0) - return VNRAW; - if (strncmp(pAT, "CMV", 3) == 0) - return VNCMV; - if (strncmp(pAT, "STV", 3) == 0) - return VNSTV; - if (strncmp(pAT, "COV", 3) == 0) - return VNCOV; - #endif - else - /* Can't determine the packet type. */ - return VNOFF; -} - -size_t VnUartPacket_computeNumOfBytesForBinaryGroupPayload(BinaryGroupType groupType, uint16_t groupField) -{ - size_t runningLength = 0; - size_t i; - - /* Determine which group is present. */ - size_t groupIndex = 0; - for (i = 0; i < 7; i++, groupIndex++) - { - if (((size_t) groupType >> i) & 0x01) - break; - } - - for (i = 0; i < sizeof(uint16_t) * 8; i++) - { - if ((groupField >> i) & 1) - { - runningLength += BinaryPacketGroupLengths[groupIndex][i]; - } - } - - return runningLength; -} - -bool VnUartPacket_isCompatible( - VnUartPacket *packet, - CommonGroup commonGroup, - TimeGroup timeGroup, - ImuGroup imuGroup, - GpsGroup gpsGroup, - AttitudeGroup attitudeGroup, - InsGroup insGroup, - GpsGroup gps2Group) -{ - /* First make sure the appropriate groups are specified. */ - uint8_t groups = packet->data[1]; - uint8_t *curField = packet->data + 2; - - if (commonGroup) - { - if (stoh16(*(uint16_t*) curField) != commonGroup) - /* Not the expected collection of field data types. */ - return false; - - curField += 2; - } - else if (groups & 0x01) - { - /* There is unexpected Common Group data. */ - return false; - } - - if (timeGroup) - { - if (stoh16(*(uint16_t*) curField) != timeGroup) - /* Not the expected collection of field data types. */ - return false; - - curField += 2; - } - else if (groups & 0x02) - { - /* There is unexpected Time Group data. */ - return false; - } - - if (imuGroup) - { - if (stoh16(*(uint16_t*) curField) != imuGroup) - /* Not the expected collection of field data types. */ - return false; - - curField += 2; - } - else if (groups & 0x04) - { - /* There is unexpected IMU Group data. */ - return false; - } - - if (gpsGroup) - { - if (stoh16(*(uint16_t*) curField) != gpsGroup) - /* Not the expected collection of field data types. */ - return false; - - curField += 2; - } - else if (groups & 0x08) - { - /* There is unexpected GPS Group data. */ - return false; - } - - if (attitudeGroup) - { - if (stoh16(*(uint16_t*) curField) != attitudeGroup) - /* Not the expected collection of field data types. */ - return false; - - curField += 2; - } - else if (groups & 0x10) - { - /* There is unexpected Attitude Group data. */ - return false; - } - - if (insGroup) - { - if (stoh16(*(uint16_t*) curField) != insGroup) - /* Not the expected collection of field data types. */ - return false; - - curField += 2; - } - else if (groups & 0x20) - { - /* There is unexpected INS Group data. */ - return false; - } - - if (gps2Group) - { - if (stoh16(*(uint16_t*)curField) != gps2Group) - /* Not the expected collection of field data types. */ - return false; - - curField += 2; - } - else if (groups & 0x40) - { - /* There is unexpected GPS2 Group data. */ - return false; - } - - /* Everything checks out. */ - return true; -} - -void VnUartPacket_startExtractionIfNeeded(VnUartPacket *packet) -{ - if (packet->curExtractLoc == 0) - /* Determine the location to start extracting. */ - packet->curExtractLoc = VnUtil_countSetBitsUint8(packet->data[1]) * 2 + 2; -} - -uint8_t VnUartPacket_extractUint8(VnUartPacket *packet) -{ - uint8_t d; - - VnUartPacket_startExtractionIfNeeded(packet); - - d = *(uint8_t*) (packet->data + packet->curExtractLoc); - - packet->curExtractLoc += sizeof(uint8_t); - - return d; -} - -int8_t VnUartPacket_extractInt8(VnUartPacket *packet) -{ - int8_t d; - - VnUartPacket_startExtractionIfNeeded(packet); - - d = *(int8_t*) (packet->data + packet->curExtractLoc); - - packet->curExtractLoc += sizeof(int8_t); - - return d; -} - -uint16_t VnUartPacket_extractUint16(VnUartPacket *packet) -{ - uint8_t* extractLocation; - - VnUartPacket_startExtractionIfNeeded(packet); - - extractLocation = packet->data + packet->curExtractLoc; - - packet->curExtractLoc += sizeof(uint16_t); - - return VnUtil_extractUint16((char*) extractLocation); -} - -uint32_t VnUartPacket_extractUint32(VnUartPacket *packet) -{ - uint8_t* extractLocation; - - VnUartPacket_startExtractionIfNeeded(packet); - - extractLocation = packet->data + packet->curExtractLoc; - - packet->curExtractLoc += sizeof(uint32_t); - - return VnUtil_extractUint32((char*) extractLocation); -} - -uint64_t VnUartPacket_extractUint64(VnUartPacket *packet) -{ - uint64_t d; - - VnUartPacket_startExtractionIfNeeded(packet); - - memcpy(&d, packet->data + packet->curExtractLoc, sizeof(uint64_t)); - - packet->curExtractLoc += sizeof(uint64_t); - - return stoh64(d); -} - -float VnUartPacket_extractFloat(VnUartPacket* packet) -{ - uint8_t* extractLocation; - - VnUartPacket_startExtractionIfNeeded(packet); - - extractLocation = packet->data + packet->curExtractLoc; - - packet->curExtractLoc += sizeof(float); - - return VnUtil_extractFloat((char*) extractLocation); -} - -vec3f VnUartPacket_extractVec3f(VnUartPacket *packet) -{ - uint8_t* extractLocation; - - VnUartPacket_startExtractionIfNeeded(packet); - - extractLocation = packet->data + packet->curExtractLoc; - - packet->curExtractLoc += 3 * sizeof(float); - - return VnUtil_extractVec3f((char*) extractLocation); -} - -vec3d VnUartPacket_extractVec3d(VnUartPacket *packet) -{ - uint8_t* extractLocation; - - VnUartPacket_startExtractionIfNeeded(packet); - - extractLocation = packet->data + packet->curExtractLoc; - - packet->curExtractLoc += 3 * sizeof(double); - - return VnUtil_extractVec3d((char*) extractLocation); -} - -vec4f VnUartPacket_extractVec4f(VnUartPacket *packet) -{ - uint8_t* extractLocation; - - VnUartPacket_startExtractionIfNeeded(packet); - - extractLocation = packet->data + packet->curExtractLoc; - - packet->curExtractLoc += 4 * sizeof(float); - - return VnUtil_extractVec4f((char*) extractLocation); -} - -mat3f VnUartPacket_extractMat3f(VnUartPacket *packet) -{ - uint8_t* extractLocation; - - VnUartPacket_startExtractionIfNeeded(packet); - - extractLocation = packet->data + packet->curExtractLoc; - - packet->curExtractLoc += 9 * sizeof(float); - - return VnUtil_extractMat3f((char*) extractLocation); -} - -GpsDop VnUartPacket_extractGpsDop(VnUartPacket *packet) -{ - uint8_t* extractLocation; - - VnUartPacket_startExtractionIfNeeded(packet); - - extractLocation = packet->data + packet->curExtractLoc; - - packet->curExtractLoc += sizeof(GpsDop); - - return VnUtil_extractGpsDop((char*)extractLocation); -} - -TimeUtc VnUartPacket_extractTimeUtc(VnUartPacket *packet) -{ - uint8_t* extractLocation; - - VnUartPacket_startExtractionIfNeeded(packet); - - extractLocation = packet->data + packet->curExtractLoc; - - packet->curExtractLoc += sizeof(TimeUtc); - - return VnUtil_extractTimeUtc((char*)extractLocation); -} - -TimeInfo VnUartPacket_extractTimeInfo(VnUartPacket *packet) -{ - uint8_t* extractLocation; - - VnUartPacket_startExtractionIfNeeded(packet); - - extractLocation = packet->data + packet->curExtractLoc; - - packet->curExtractLoc += sizeof(TimeInfo); - - return VnUtil_extractTimeInfo((char*)extractLocation); -} - -size_t VnUartPacket_computeBinaryPacketLength(uint8_t const* startOfPossibleBinaryPacket) -{ - uint8_t groupsPresent = startOfPossibleBinaryPacket[1]; - size_t runningPayloadLength = 2; /* Start of packet character plus groups present field. */ - uint8_t const* pCurrentGroupField = startOfPossibleBinaryPacket + 2; - - if (groupsPresent & 0x01) - { - runningPayloadLength += 2 + VnUartPacket_computeNumOfBytesForBinaryGroupPayload(BINARYGROUPTYPE_COMMON, stoh16(*(uint16_t*)pCurrentGroupField)); - pCurrentGroupField += 2; - } - - if (groupsPresent & 0x02) - { - runningPayloadLength += 2 + VnUartPacket_computeNumOfBytesForBinaryGroupPayload(BINARYGROUPTYPE_TIME, stoh16(*(uint16_t*)pCurrentGroupField)); - pCurrentGroupField += 2; - } - - if (groupsPresent & 0x04) - { - runningPayloadLength += 2 + VnUartPacket_computeNumOfBytesForBinaryGroupPayload(BINARYGROUPTYPE_IMU, stoh16(*(uint16_t*)pCurrentGroupField)); - pCurrentGroupField += 2; - } - - if (groupsPresent & 0x08) - { - runningPayloadLength += 2 + VnUartPacket_computeNumOfBytesForBinaryGroupPayload(BINARYGROUPTYPE_GPS, stoh16(*(uint16_t*)pCurrentGroupField)); - pCurrentGroupField += 2; - } - - if (groupsPresent & 0x10) - { - runningPayloadLength += 2 + VnUartPacket_computeNumOfBytesForBinaryGroupPayload(BINARYGROUPTYPE_ATTITUDE, stoh16(*(uint16_t*)pCurrentGroupField)); - pCurrentGroupField += 2; - } - - if (groupsPresent & 0x20) - { - runningPayloadLength += 2 + VnUartPacket_computeNumOfBytesForBinaryGroupPayload(BINARYGROUPTYPE_INS, stoh16(*(uint16_t*)pCurrentGroupField)); - pCurrentGroupField += 2; - } - - if (groupsPresent & 0x40) - { - runningPayloadLength += 2 + VnUartPacket_computeNumOfBytesForBinaryGroupPayload(BINARYGROUPTYPE_GPS2, stoh16(*(uint16_t*)pCurrentGroupField)); - pCurrentGroupField += 2; - } - - return runningPayloadLength + 2; /* Add 2 bytes for CRC. */ -} - -uint8_t* VnUartPacket_startAsciiPacketParse(uint8_t* packetStart, size_t* index) -{ - *index = 7; - - return vnstrtok(packetStart, index); -} - -uint8_t* VnUartPacket_startAsciiResponsePacketParse(uint8_t* packetStart, size_t* index) -{ - VnUartPacket_startAsciiPacketParse(packetStart, index); - - return vnstrtok(packetStart, index); -} - -uint8_t* VnUartPacket_getNextData(uint8_t* str, size_t* startIndex) -{ - return vnstrtok(str, startIndex); -} - -uint8_t* vnstrtok(uint8_t* str, size_t* startIndex) -{ - size_t origIndex = *startIndex; - - while (str[*startIndex] != ',' && str[*startIndex] != '*') - (*startIndex)++; - - str[(*startIndex)++] = '\0'; - - return str + origIndex; -} - -void VnUartPacket_parseVNYPR(VnUartPacket* packet, vec3f* yawPitchRoll) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - yawPitchRoll->c[0] = ATOFF; NEXT - yawPitchRoll->c[1] = ATOFF; NEXT - yawPitchRoll->c[2] = ATOFF; -} - -void VnUartPacket_parseVNQTN(VnUartPacket* packet, vec4f* quaternion) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - quaternion->c[0] = ATOFF; NEXT - quaternion->c[1] = ATOFF; NEXT - quaternion->c[2] = ATOFF; NEXT - quaternion->c[3] = ATOFF; -} - -#ifdef EXTRA - -void VnUartPacket_parseVNQTM(VnUartPacket* packet, vec4f *quaternion, vec3f *magnetic) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - quaternion->c[0] = ATOFF; NEXT - quaternion->c[1] = ATOFF; NEXT - quaternion->c[2] = ATOFF; NEXT - quaternion->c[3] = ATOFF; NEXT - magnetic->c[0] = ATOFF; NEXT - magnetic->c[1] = ATOFF; NEXT - magnetic->c[2] = ATOFF; -} - -void VnUartPacket_parseVNQTA(VnUartPacket* packet, vec4f* quaternion, vec3f* acceleration) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - quaternion->c[0] = ATOFF; NEXT - quaternion->c[1] = ATOFF; NEXT - quaternion->c[2] = ATOFF; NEXT - quaternion->c[3] = ATOFF; NEXT - acceleration->c[0] = ATOFF; NEXT - acceleration->c[1] = ATOFF; NEXT - acceleration->c[2] = ATOFF; -} - -void VnUartPacket_parseVNQTR(VnUartPacket* packet, vec4f* quaternion, vec3f* angularRate) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - quaternion->c[0] = ATOFF; NEXT - quaternion->c[1] = ATOFF; NEXT - quaternion->c[2] = ATOFF; NEXT - quaternion->c[3] = ATOFF; NEXT - angularRate->c[0] = ATOFF; NEXT - angularRate->c[1] = ATOFF; NEXT - angularRate->c[2] = ATOFF; -} - -void VnUartPacket_parseVNQMA(VnUartPacket* packet, vec4f* quaternion, vec3f* magnetic, vec3f* acceleration) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - quaternion->c[0] = ATOFF; NEXT - quaternion->c[1] = ATOFF; NEXT - quaternion->c[2] = ATOFF; NEXT - quaternion->c[3] = ATOFF; NEXT - magnetic->c[0] = ATOFF; NEXT - magnetic->c[1] = ATOFF; NEXT - magnetic->c[2] = ATOFF; NEXT - acceleration->c[0] = ATOFF; NEXT - acceleration->c[1] = ATOFF; NEXT - acceleration->c[2] = ATOFF; -} - -void VnUartPacket_parseVNQAR(VnUartPacket* packet, vec4f* quaternion, vec3f* acceleration, vec3f* angularRate) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - quaternion->c[0] = ATOFF; NEXT - quaternion->c[1] = ATOFF; NEXT - quaternion->c[2] = ATOFF; NEXT - quaternion->c[3] = ATOFF; NEXT - acceleration->c[0] = ATOFF; NEXT - acceleration->c[1] = ATOFF; NEXT - acceleration->c[2] = ATOFF; NEXT - angularRate->c[0] = ATOFF; NEXT - angularRate->c[1] = ATOFF; NEXT - angularRate->c[2] = ATOFF; -} - -#endif - -void VnUartPacket_parseVNQMR(VnUartPacket* packet, vec4f* quaternion, vec3f* magnetic, vec3f* acceleration, vec3f* angularRate) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - quaternion->c[0] = ATOFF; NEXT - quaternion->c[1] = ATOFF; NEXT - quaternion->c[2] = ATOFF; NEXT - quaternion->c[3] = ATOFF; NEXT - magnetic->c[0] = ATOFF; NEXT - magnetic->c[1] = ATOFF; NEXT - magnetic->c[2] = ATOFF; NEXT - acceleration->c[0] = ATOFF; NEXT - acceleration->c[1] = ATOFF; NEXT - acceleration->c[2] = ATOFF; NEXT - angularRate->c[0] = ATOFF; NEXT - angularRate->c[1] = ATOFF; NEXT - angularRate->c[2] = ATOFF; -} - -#ifdef EXTRA - -void VnUartPacket_parseVNDCM(VnUartPacket* packet, mat3f* dcm) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - dcm->c[0] = ATOFF; NEXT - dcm->c[3] = ATOFF; NEXT - dcm->c[6] = ATOFF; NEXT - dcm->c[1] = ATOFF; NEXT - dcm->c[4] = ATOFF; NEXT - dcm->c[7] = ATOFF; NEXT - dcm->c[2] = ATOFF; NEXT - dcm->c[5] = ATOFF; NEXT - dcm->c[8] = ATOFF; -} - -#endif - -void VnUartPacket_parseVNMAG(VnUartPacket* packet, vec3f* magnetic) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - magnetic->c[0] = ATOFF; NEXT - magnetic->c[1] = ATOFF; NEXT - magnetic->c[2] = ATOFF; -} - -void VnUartPacket_parseVNACC(VnUartPacket* packet, vec3f* acceleration) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - acceleration->c[0] = ATOFF; NEXT - acceleration->c[1] = ATOFF; NEXT - acceleration->c[2] = ATOFF; -} - -void VnUartPacket_parseVNGYR(VnUartPacket* packet, vec3f* angularRate) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - angularRate->c[0] = ATOFF; NEXT - angularRate->c[1] = ATOFF; NEXT - angularRate->c[2] = ATOFF; -} - -void VnUartPacket_parseVNMAR(VnUartPacket* packet, vec3f* magnetic, vec3f* acceleration, vec3f* angularRate) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - magnetic->c[0] = ATOFF; NEXT - magnetic->c[1] = ATOFF; NEXT - magnetic->c[2] = ATOFF; NEXT - acceleration->c[0] = ATOFF; NEXT - acceleration->c[1] = ATOFF; NEXT - acceleration->c[2] = ATOFF; NEXT - angularRate->c[0] = ATOFF; NEXT - angularRate->c[1] = ATOFF; NEXT - angularRate->c[2] = ATOFF; -} - -VnError VnUartPacket_parseVNYMR(VnUartPacket* packet, vec3f* yawPitchRoll, vec3f* magnetic, vec3f* acceleration, vec3f* angularRate) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - yawPitchRoll->c[0] = ATOFF; NEXTR - yawPitchRoll->c[1] = ATOFF; NEXTR - yawPitchRoll->c[2] = ATOFF; NEXTR - magnetic->c[0] = ATOFF; NEXTR - magnetic->c[1] = ATOFF; NEXTR - magnetic->c[2] = ATOFF; NEXTR - acceleration->c[0] = ATOFF; NEXTR - acceleration->c[1] = ATOFF; NEXTR - acceleration->c[2] = ATOFF; NEXTR - angularRate->c[0] = ATOFF; NEXTR - angularRate->c[1] = ATOFF; NEXTR - angularRate->c[2] = ATOFF; - - return E_NONE; -} - -/*VnError vn_uart_packet_parse_vnymr_buffer( - uint8_t* packetBuf, - size_t packetLen, - vec3f *yawPitchRoll, - vec3f *magnetic, - vec3f *acceleration, - vec3f *angularRate) -{ - VnUartPacket p; - - vn_uart_packet_init(&p, packetBuf, packetLen); - - return vn_uart_packet_parse_vnymr(&p, yawPitchRoll, magnetic, acceleration, angularRate); -}*/ - -#ifdef EXTRA - -void VnUartPacket_parseVNYCM(VnUartPacket* packet, vec3f* yawPitchRoll, vec3f* magnetic, vec3f* acceleration, vec3f* angularRate, float* temperature) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - yawPitchRoll->c[0] = ATOFF; NEXT - yawPitchRoll->c[1] = ATOFF; NEXT - yawPitchRoll->c[2] = ATOFF; NEXT - magnetic->c[0] = ATOFF; NEXT - magnetic->c[1] = ATOFF; NEXT - magnetic->c[2] = ATOFF; NEXT - acceleration->c[0] = ATOFF; NEXT - acceleration->c[1] = ATOFF; NEXT - acceleration->c[2] = ATOFF; NEXT - angularRate->c[0] = ATOFF; NEXT - angularRate->c[1] = ATOFF; NEXT - angularRate->c[2] = ATOFF; NEXT - *temperature = ATOFF; -} - -#endif - -void VnUartPacket_parseVNYBA(VnUartPacket* packet, vec3f* yawPitchRoll, vec3f* accelerationBody, vec3f* angularRate) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - yawPitchRoll->c[0] = ATOFF; NEXT - yawPitchRoll->c[1] = ATOFF; NEXT - yawPitchRoll->c[2] = ATOFF; NEXT - accelerationBody->c[0] = ATOFF; NEXT - accelerationBody->c[1] = ATOFF; NEXT - accelerationBody->c[2] = ATOFF; NEXT - angularRate->c[0] = ATOFF; NEXT - angularRate->c[1] = ATOFF; NEXT - angularRate->c[2] = ATOFF; -} - -void VnUartPacket_parseVNYIA(VnUartPacket* packet, vec3f* yawPitchRoll, vec3f* accelerationInertial, vec3f* angularRate) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - yawPitchRoll->c[0] = ATOFF; NEXT - yawPitchRoll->c[1] = ATOFF; NEXT - yawPitchRoll->c[2] = ATOFF; NEXT - accelerationInertial->c[0] = ATOFF; NEXT - accelerationInertial->c[1] = ATOFF; NEXT - accelerationInertial->c[2] = ATOFF; NEXT - angularRate->c[0] = ATOFF; NEXT - angularRate->c[1] = ATOFF; NEXT - angularRate->c[2] = ATOFF; -} - -#ifdef EXTRA - -void VnUartPacket_parseVNICM(VnUartPacket* packet, vec3f* yawPitchRoll, vec3f* magnetic, vec3f* accelerationInertial, vec3f* angularRate) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - yawPitchRoll->c[0] = ATOFF; NEXT - yawPitchRoll->c[1] = ATOFF; NEXT - yawPitchRoll->c[2] = ATOFF; NEXT - magnetic->c[0] = ATOFF; NEXT - magnetic->c[1] = ATOFF; NEXT - magnetic->c[2] = ATOFF; NEXT - accelerationInertial->c[0] = ATOFF; NEXT - accelerationInertial->c[1] = ATOFF; NEXT - accelerationInertial->c[2] = ATOFF; NEXT - angularRate->c[0] = ATOFF; NEXT - angularRate->c[1] = ATOFF; NEXT - angularRate->c[2] = ATOFF; -} - -#endif - -void VnUartPacket_parseVNIMU(VnUartPacket* packet, vec3f* magneticUncompensated, vec3f* accelerationUncompensated, vec3f* angularRateUncompensated, float* temperature, float* pressure) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - magneticUncompensated->c[0] = ATOFF; NEXT - magneticUncompensated->c[1] = ATOFF; NEXT - magneticUncompensated->c[2] = ATOFF; NEXT - accelerationUncompensated->c[0] = ATOFF; NEXT - accelerationUncompensated->c[1] = ATOFF; NEXT - accelerationUncompensated->c[2] = ATOFF; NEXT - angularRateUncompensated->c[0] = ATOFF; NEXT - angularRateUncompensated->c[1] = ATOFF; NEXT - angularRateUncompensated->c[2] = ATOFF; NEXT - *temperature = ATOFF; NEXT - *pressure = ATOFF; -} - -void VnUartPacket_parseVNGPS(VnUartPacket* packet, double* time, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* lla, vec3f* nedVel, vec3f* nedAcc, float* speedAcc, float* timeAcc) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - *time = ATOFD; NEXT - *week = ATOU16; NEXT - *gpsFix = ATOU8; NEXT - *numSats = ATOU8; NEXT - lla->c[0] = ATOFD; NEXT - lla->c[1] = ATOFD; NEXT - lla->c[2] = ATOFD; NEXT - nedVel->c[0] = ATOFF; NEXT - nedVel->c[1] = ATOFF; NEXT - nedVel->c[2] = ATOFF; NEXT - nedAcc->c[0] = ATOFF; NEXT - nedAcc->c[1] = ATOFF; NEXT - nedAcc->c[2] = ATOFF; NEXT - *speedAcc = ATOFF; NEXT - *timeAcc = ATOFF; -} - -void VnUartPacket_parseVNINS(VnUartPacket* packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* lla, vec3f* nedVel, float* attUncertainty, float* posUncertainty, float* velUncertainty) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - *time = ATOFD; NEXT - *week = ATOU16; NEXT - *status = ATOU16X; NEXT - yawPitchRoll->c[0] = ATOFF; NEXT - yawPitchRoll->c[1] = ATOFF; NEXT - yawPitchRoll->c[2] = ATOFF; NEXT - lla->c[0] = ATOFD; NEXT - lla->c[1] = ATOFD; NEXT - lla->c[2] = ATOFD; NEXT - nedVel->c[0] = ATOFF; NEXT - nedVel->c[1] = ATOFF; NEXT - nedVel->c[2] = ATOFF; NEXT - *attUncertainty = ATOFF; NEXT - *posUncertainty = ATOFF; NEXT - *velUncertainty = ATOFF; -} - -void VnUartPacket_parseVNINE(VnUartPacket* packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, float* attUncertainty, float* posUncertainty, float* velUncertainty) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - *time = ATOFD; NEXT - *week = ATOU16; NEXT - *status = ATOU16X; NEXT - yawPitchRoll->c[0] = ATOFF; NEXT - yawPitchRoll->c[1] = ATOFF; NEXT - yawPitchRoll->c[2] = ATOFF; NEXT - position->c[0] = ATOFD; NEXT - position->c[1] = ATOFD; NEXT - position->c[2] = ATOFD; NEXT - velocity->c[0] = ATOFF; NEXT - velocity->c[1] = ATOFF; NEXT - velocity->c[2] = ATOFF; NEXT - *attUncertainty = ATOFF; NEXT - *posUncertainty = ATOFF; NEXT - *velUncertainty = ATOFF; -} - -void VnUartPacket_parseVNISL(VnUartPacket* packet, vec3f* ypr, vec3d* lla, vec3f* velocity, vec3f* acceleration, vec3f* angularRate) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - ypr->c[0] = ATOFF; NEXT - ypr->c[1] = ATOFF; NEXT - ypr->c[2] = ATOFF; NEXT - lla->c[0] = ATOFD; NEXT - lla->c[1] = ATOFD; NEXT - lla->c[2] = ATOFD; NEXT - velocity->c[0] = ATOFF; NEXT - velocity->c[1] = ATOFF; NEXT - velocity->c[2] = ATOFF; NEXT - acceleration->c[0] = ATOFF; NEXT - acceleration->c[1] = ATOFF; NEXT - acceleration->c[2] = ATOFF; NEXT - angularRate->c[0] = ATOFF; NEXT - angularRate->c[1] = ATOFF; NEXT - angularRate->c[2] = ATOFF; -} - -void VnUartPacket_parseVNISE(VnUartPacket* packet, vec3f* ypr, vec3d* position, vec3f* velocity, vec3f* acceleration, vec3f* angularRate) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - ypr->c[0] = ATOFF; NEXT - ypr->c[1] = ATOFF; NEXT - ypr->c[2] = ATOFF; NEXT - position->c[0] = ATOFD; NEXT - position->c[1] = ATOFD; NEXT - position->c[2] = ATOFD; NEXT - velocity->c[0] = ATOFF; NEXT - velocity->c[1] = ATOFF; NEXT - velocity->c[2] = ATOFF; NEXT - acceleration->c[0] = ATOFF; NEXT - acceleration->c[1] = ATOFF; NEXT - acceleration->c[2] = ATOFF; NEXT - angularRate->c[0] = ATOFF; NEXT - angularRate->c[1] = ATOFF; NEXT - angularRate->c[2] = ATOFF; -} - -#ifdef EXTRA - -void VnUartPacket_parseVNRAW(VnUartPacket* packet, vec3f *magneticVoltage, vec3f *accelerationVoltage, vec3f *angularRateVoltage, float* temperatureVoltage) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - magneticVoltage->c[0] = ATOFF; NEXT - magneticVoltage->c[1] = ATOFF; NEXT - magneticVoltage->c[2] = ATOFF; NEXT - accelerationVoltage->c[0] = ATOFF; NEXT - accelerationVoltage->c[1] = ATOFF; NEXT - accelerationVoltage->c[2] = ATOFF; NEXT - angularRateVoltage->c[0] = ATOFF; NEXT - angularRateVoltage->c[1] = ATOFF; NEXT - angularRateVoltage->c[2] = ATOFF; NEXT - *temperatureVoltage = ATOFF; -} - -void VnUartPacket_parseVNCMV(VnUartPacket* packet, vec3f* magneticUncompensated, vec3f* accelerationUncompensated, vec3f* angularRateUncompensated, float* temperature) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - magneticUncompensated->c[0] = ATOFF; NEXT - magneticUncompensated->c[1] = ATOFF; NEXT - magneticUncompensated->c[2] = ATOFF; NEXT - accelerationUncompensated->c[0] = ATOFF; NEXT - accelerationUncompensated->c[1] = ATOFF; NEXT - accelerationUncompensated->c[2] = ATOFF; NEXT - angularRateUncompensated->c[0] = ATOFF; NEXT - angularRateUncompensated->c[1] = ATOFF; NEXT - angularRateUncompensated->c[2] = ATOFF; NEXT - *temperature = ATOFF; -} - -void VnUartPacket_parseVNSTV(VnUartPacket* packet, vec4f* quaternion, vec3f* angularRateBias) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - quaternion->c[0] = ATOFF; NEXT - quaternion->c[1] = ATOFF; NEXT - quaternion->c[2] = ATOFF; NEXT - quaternion->c[3] = ATOFF; NEXT - angularRateBias->c[0] = ATOFF; NEXT - angularRateBias->c[1] = ATOFF; NEXT - angularRateBias->c[2] = ATOFF; -} - -void VnUartPacket_parseVNCOV(VnUartPacket* packet, vec3f* attitudeVariance, vec3f* angularRateBiasVariance) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - attitudeVariance->c[0] = ATOFF; NEXT - attitudeVariance->c[1] = ATOFF; NEXT - attitudeVariance->c[2] = ATOFF; NEXT - angularRateBiasVariance->c[0] = ATOFF; NEXT - angularRateBiasVariance->c[1] = ATOFF; NEXT - angularRateBiasVariance->c[2] = ATOFF; -} - -#endif - -void VnUartPacket_parseVNGPE(VnUartPacket* packet, double* tow, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* position, vec3f* velocity, vec3f* posAcc, float* speedAcc, float* timeAcc) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - *tow = ATOFD; NEXT - *week = ATOU16; NEXT - *gpsFix = ATOU8; NEXT - *numSats = ATOU8; NEXT - position->c[0] = ATOFD; NEXT - position->c[1] = ATOFD; NEXT - position->c[2] = ATOFD; NEXT - velocity->c[0] = ATOFF; NEXT - velocity->c[1] = ATOFF; NEXT - velocity->c[2] = ATOFF; NEXT - posAcc->c[0] = ATOFF; NEXT - posAcc->c[1] = ATOFF; NEXT - posAcc->c[2] = ATOFF; NEXT - *speedAcc = ATOFF; NEXT - *timeAcc = ATOFF; -} - -void VnUartPacket_parseVNDTV(VnUartPacket* packet, float* deltaTime, vec3f* deltaTheta, vec3f* deltaVelocity) -{ - size_t packetIndex; - - uint8_t* result = VnUartPacket_startAsciiPacketParse(packet->data, &packetIndex); - - *deltaTime = ATOFF; NEXT - deltaTheta->c[0] = ATOFF; NEXT - deltaTheta->c[1] = ATOFF; NEXT - deltaTheta->c[2] = ATOFF; NEXT - deltaVelocity->c[0] = ATOFF; NEXT - deltaVelocity->c[1] = ATOFF; NEXT - deltaVelocity->c[2] = ATOFF; -} - -VnError VnUartPacket_genWrite( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - uint16_t registerId, - size_t *cmdSize, - char const *format, - ...) -{ - va_list ap; - uint8_t *curOutputLoc = buffer; - char const *curFormatPos = format; - - /* Avoid a compiler warning by doing this */ - (void)bufferSize; - - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - /* Add the message header and register number. */ - curOutputLoc += sprintf((char*) curOutputLoc, "$VNWRG,%d", registerId); - - va_start(ap, format); - - /* Now cycle through the provided format specifier. */ - while (*curFormatPos != '\0') - { - switch (*curFormatPos++) - { - case 'U': - - switch (*curFormatPos++) - { - case '1': - /* 'uint8_t' is promoted to 'int' when passed through '...'. */ - curOutputLoc += sprintf((char*) curOutputLoc, ",%d", va_arg(ap, int)); - break; - - case '2': - /* 'uint16_t' is promoted to 'int' when passed through '...'. */ - curOutputLoc += sprintf((char*) curOutputLoc, ",%d", va_arg(ap, int)); - break; - - case '4': - curOutputLoc += sprintf((char*) curOutputLoc, ",%d", va_arg(ap, uint32_t)); - break; - } - - break; - - case 'F': - - switch (*curFormatPos++) - { - case '4': - /* 'float' is promoted to 'double' when passed through '...'. */ - curOutputLoc += sprintf((char*) curOutputLoc, ",%f", va_arg(ap, double)); - break; - - case '8': - curOutputLoc += sprintf((char*) curOutputLoc, ",%f", va_arg(ap, double)); - break; - } - - break; - - case 'S': - curOutputLoc += sprintf((char*) curOutputLoc,",%s",va_arg(ap,char *)); - break; - } - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif - - va_end(ap); - - /* Compute and append the checksum. */ - *curOutputLoc++ = '*'; - - if (errorDetectionMode == VNERRORDETECTIONMODE_NONE) - { - *curOutputLoc++ = 'X'; - *curOutputLoc++ = 'X'; - } - else if (errorDetectionMode == VNERRORDETECTIONMODE_CHECKSUM) - { - uint8_t checksum = VnChecksum8_compute((char*) (buffer + 1), curOutputLoc - buffer - 2); - VnUtil_toHexStrFromUint8(checksum, (char*) curOutputLoc); - - curOutputLoc += 2; - } - else if (errorDetectionMode == VNERRORDETECTIONMODE_CRC) - { - uint16_t crc = VnCrc16_compute((char*) (buffer + 1), curOutputLoc - buffer - 2); - VnUtil_toHexStrFromUint16(crc, (char*) curOutputLoc); - - curOutputLoc += 4; - } - else - { - return E_NOT_SUPPORTED; - } - - *curOutputLoc++ = '\r'; - *curOutputLoc++ = '\n'; - - *cmdSize = curOutputLoc - buffer; - - return E_NONE; -} - -VnError VnUartPacket_genReadBinaryOutput1( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s((char*)buffer, bufferSize, "$VNRRG,75"); - #else - *cmdSize = sprintf((char*) buffer, "$VNRRG,75"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, buffer, cmdSize); -} - -VnError VnUartPacket_genReadBinaryOutput2( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s((char*)buffer, bufferSize, "$VNRRG,76"); - #else - *cmdSize = sprintf((char*) buffer, "$VNRRG,76"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, buffer, cmdSize); -} - -VnError VnUartPacket_genReadBinaryOutput3( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s((char*)buffer, bufferSize, "$VNRRG,77"); - #else - *cmdSize = sprintf((char*) buffer, "$VNRRG,77"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, buffer, cmdSize); -} - -#ifdef EXTRA - -VnError VnUartPacket_genReadBinaryOutput4( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,78"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,78"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, buffer, cmdSize); -} - -VnError VnUartPacket_genReadBinaryOutput5( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,79"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,79"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, buffer, cmdSize); -} - -#endif - -VnError VnUartPacket_finalizeCommand(VnErrorDetectionMode errorDetectionMode, uint8_t *packet, size_t *length) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using sprintf_s. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - if (errorDetectionMode == VNERRORDETECTIONMODE_CHECKSUM) - { - *length += sprintf((char*) (packet + *length), "*%02X\r\n", VnChecksum8_compute((char*) packet + 1, *length - 1)); - } - else if (errorDetectionMode == VNERRORDETECTIONMODE_CRC) - { - *length += sprintf((char*) (packet + *length), "*%04X\r\n", VnCrc16_compute((char*) packet + 1, *length - 1)); - } - else - { - *length += sprintf((char*) (packet + *length), "*XX\r\n"); - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif - - return E_NONE; -} - -VnError VnUartPacket_genCmdWriteSettings( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s((char*)buffer, bufferSize, "$VNWNV"); - #else - *cmdSize = sprintf((char*) buffer, "$VNWNV"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, buffer, cmdSize); -} - -VnError VnUartPacket_genCmdRestoreFactorySettings( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s((char*)buffer, bufferSize, "$VNRFS"); - #else - *cmdSize = sprintf((char*) buffer, "$VNRFS"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, buffer, cmdSize); -} - -VnError VnUartPacket_genCmdReset( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s((char*)buffer, bufferSize, "$VNRST"); - #else - *cmdSize = sprintf((char*) buffer, "$VNRST"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, buffer, cmdSize); -} - -VnError VnUartPacket_genCmdFirmwareUpdate( - uint8_t* buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t* cmdSize) -{ -#if VN_HAVE_SECURE_CRT - * cmdSize = sprintf_s((char*)buffer, bufferSize, "$VNFWU"); -#else - * cmdSize = sprintf((char*)buffer, "$VNFWU"); -#endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, buffer, cmdSize); -} - - -VnError VnUartPacket_genCmdTare( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s((char*)buffer, bufferSize, "$VNTAR"); - #else - *cmdSize = sprintf((char*) buffer, "$VNTAR"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, buffer, cmdSize); -} - -VnError VnUartPacket_genCmdSetGyroBias( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s((char*)buffer, bufferSize, "$VNSGB"); - #else - *cmdSize = sprintf((char*) buffer, "$VNSGB"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, buffer, cmdSize); -} - -VnError VnUartPacket_genCmdKnownMagneticDisturbance( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - bool disturbancePresent, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s((char*)buffer, bufferSize, "$VNKMD,%d", disturbancePresent ? 1 : 0); - #else - *cmdSize = sprintf((char*) buffer, "$VNKMD,%d", disturbancePresent ? 1 : 0); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, buffer, cmdSize); -} - -VnError VnUartPacket_genCmdKnownAccelerationDisturbance( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - bool disturbancePresent, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s((char*)buffer, bufferSize, "$VNKAD,%d", disturbancePresent ? 1 : 0); - #else - *cmdSize = sprintf((char*) buffer, "$VNKAD,%d", disturbancePresent ? 1 : 0); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, buffer, cmdSize); -} - -VnError VnUartPacket_genReadUserTag( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,00"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,00"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadModelNumber( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,01"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,01"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadHardwareRevision( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,02"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,02"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadSerialNumber( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,03"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,03"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadFirmwareVersion( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,04"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,04"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadSerialBaudRate( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,05"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,05"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadAsyncDataOutputType( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,06"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,06"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadAsyncDataOutputFrequency( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,07"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,07"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadYawPitchRoll( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,08"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,08"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadAttitudeQuaternion( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,09"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,09"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadQuaternionMagneticAccelerationAndAngularRates( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,15"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,15"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadMagneticMeasurements( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,17"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,17"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadAccelerationMeasurements( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,18"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,18"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadAngularRateMeasurements( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,19"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,19"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadMagneticAccelerationAndAngularRates( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,20"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,20"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadMagneticAndGravityReferenceVectors( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,21"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,21"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadMagnetometerCompensation( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,23"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,23"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadAccelerationCompensation( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,25"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,25"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadReferenceFrameRotation( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,26"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,26"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadYawPitchRollMagneticAccelerationAndAngularRates( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,27"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,27"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadCommunicationProtocolControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,30"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,30"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadSynchronizationControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,32"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,32"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadSynchronizationStatus( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,33"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,33"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadVpeBasicControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,35"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,35"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadVpeMagnetometerBasicTuning( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,36"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,36"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadVpeAccelerometerBasicTuning( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,38"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,38"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadMagnetometerCalibrationControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,44"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,44"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadCalculatedMagnetometerCalibration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,47"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,47"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadVelocityCompensationMeasurement( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,50"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,50"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadVelocityCompensationControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,51"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,51"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadImuMeasurements( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,54"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,54"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadGpsConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,55"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,55"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadGpsAntennaOffset( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,57"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,57"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadGpsSolutionLla( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,58"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,58"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadGpsSolutionEcef( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,59"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,59"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadInsSolutionLla( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,63"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,63"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadInsSolutionEcef( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,64"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,64"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadInsBasicConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,67"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,67"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadInsStateLla( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,72"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,72"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadInsStateEcef( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,73"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,73"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadStartupFilterBiasEstimate( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,74"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,74"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadDeltaThetaAndDeltaVelocity( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,80"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,80"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadDeltaThetaAndDeltaVelocityConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,82"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,82"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadReferenceVectorConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,83"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,83"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadGyroCompensation( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,84"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,84"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadImuFilteringConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,85"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,85"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadGpsCompassBaseline( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,93"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,93"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadGpsCompassEstimatedBaseline( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,97"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,97"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadYawPitchRollTrueBodyAccelerationAndAngularRates( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,239"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,239"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genReadYawPitchRollTrueInertialAccelerationAndAngularRates( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize) -{ - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s(buffer, bufferSize, "$VNRRG,240"); - #else - *cmdSize = sprintf(buffer, "$VNRRG,240"); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, (uint8_t*)buffer, cmdSize); -} - -VnError VnUartPacket_genWriteBinaryOutput( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t binaryOutputNumber, - uint16_t asyncMode, - uint16_t rateDivisor, - uint16_t commonField, - uint16_t timeField, - uint16_t imuField, - uint16_t gpsField, - uint16_t attitudeField, - uint16_t insField, - uint16_t gps2Field) -{ - uint16_t groups = 0; - #if !VN_HAVE_SECURE_CRT - char* cbp = (char*)buffer; - #endif - - /* First determine which groups are present. */ - if (commonField) - groups |= 0x0001; - if (timeField) - groups |= 0x0002; - if (imuField) - groups |= 0x0004; - if (gpsField) - groups |= 0x0008; - if (attitudeField) - groups |= 0x0010; - if (insField) - groups |= 0x0020; - if (gps2Field) - groups |= 0x0040; - - #if VN_HAVE_SECURE_CRT - *cmdSize = sprintf_s((char*)buffer, bufferSize, "$VNWRG,%u,%u,%u,%X", 74 + binaryOutputNumber, asyncMode, rateDivisor, groups); - #else - *cmdSize = sprintf(cbp, "$VNWRG,%u,%u,%u,%X", 74 + binaryOutputNumber, asyncMode, rateDivisor, groups); - #endif - - if (commonField) - #if VN_HAVE_SECURE_CRT - *cmdSize += sprintf_s((char*)(buffer + *cmdSize), bufferSize - *cmdSize, ",%X", commonField); - #else - *cmdSize += sprintf(cbp + *cmdSize, ",%X", commonField); - #endif - if (timeField) - #if VN_HAVE_SECURE_CRT - *cmdSize += sprintf_s((char*)(buffer + *cmdSize), bufferSize - *cmdSize, ",%X", timeField); - #else - *cmdSize += sprintf(cbp + *cmdSize, ",%X", timeField); - #endif - if (imuField) - #if VN_HAVE_SECURE_CRT - *cmdSize += sprintf_s((char*)(buffer + *cmdSize), bufferSize - *cmdSize, ",%X", imuField); - #else - *cmdSize += sprintf(cbp + *cmdSize, ",%X", imuField); - #endif - if (gpsField) - #if VN_HAVE_SECURE_CRT - *cmdSize += sprintf_s((char*)(buffer + *cmdSize), bufferSize - *cmdSize, ",%X", gpsField); - #else - *cmdSize += sprintf(cbp + *cmdSize, ",%X", gpsField); - #endif - if (attitudeField) - #if VN_HAVE_SECURE_CRT - *cmdSize += sprintf_s((char*)(buffer + *cmdSize), bufferSize - *cmdSize, ",%X", attitudeField); - #else - *cmdSize += sprintf(cbp + *cmdSize, ",%X", attitudeField); - #endif - if (insField) - #if VN_HAVE_SECURE_CRT - *cmdSize += sprintf_s((char*)(buffer + *cmdSize), bufferSize - *cmdSize, ",%X", insField); - #else - *cmdSize += sprintf(cbp + *cmdSize, ",%X", insField); - #endif - if (gps2Field) - #if VN_HAVE_SECURE_CRT - *cmdSize += sprintf_s((char*)(buffer + *cmdSize), bufferSize - *cmdSize, ",%X", gps2Field); - #else - *cmdSize += sprintf(cbp + *cmdSize, ",%X", gps2Field); - #endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, buffer, cmdSize); -} - -VnError VnUartPacket_genWriteBinaryOutput1( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint16_t asyncMode, - uint16_t rateDivisor, - uint16_t commonField, - uint16_t timeField, - uint16_t imuField, - uint16_t gpsField, - uint16_t attitudeField, - uint16_t insField, - uint16_t gps2Field) -{ - return VnUartPacket_genWriteBinaryOutput( - buffer, - bufferSize, - errorDetectionMode, - cmdSize, - 1, - asyncMode, - rateDivisor, - commonField, - timeField, - imuField, - gpsField, - attitudeField, - insField, - gps2Field); -} - -VnError VnUartPacket_genWriteBinaryOutput2( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint16_t asyncMode, - uint16_t rateDivisor, - uint16_t commonField, - uint16_t timeField, - uint16_t imuField, - uint16_t gpsField, - uint16_t attitudeField, - uint16_t insField, - uint16_t gps2Field) -{ - return VnUartPacket_genWriteBinaryOutput( - buffer, - bufferSize, - errorDetectionMode, - cmdSize, - 2, - asyncMode, - rateDivisor, - commonField, - timeField, - imuField, - gpsField, - attitudeField, - insField, - gps2Field); -} - -VnError VnUartPacket_genWriteBinaryOutput3( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint16_t asyncMode, - uint16_t rateDivisor, - uint16_t commonField, - uint16_t timeField, - uint16_t imuField, - uint16_t gpsField, - uint16_t attitudeField, - uint16_t insField, - uint16_t gps2Field) -{ - return VnUartPacket_genWriteBinaryOutput( - buffer, - bufferSize, - errorDetectionMode, - cmdSize, - 3, - asyncMode, - rateDivisor, - commonField, - timeField, - imuField, - gpsField, - attitudeField, - insField, - gps2Field); -} - -#ifdef EXTRA - -VnError VnUartPacket_genWriteBinaryOutput4( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint16_t asyncMode, - uint16_t rateDivisor, - uint16_t commonField, - uint16_t timeField, - uint16_t imuField, - uint16_t gpsField, - uint16_t attitudeField, - uint16_t insField, - uint16_t gps2Field) -{ - return VnUartPacket_genWriteBinaryOutput( - buffer, - bufferSize, - errorDetectionMode, - cmdSize, - 4, - asyncMode, - rateDivisor, - commonField, - timeField, - imuField, - gpsField, - attitudeField, - insField, - gps2Field); -} - -VnError VnUartPacket_genWriteBinaryOutput5( - uint8_t *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint16_t asyncMode, - uint16_t rateDivisor, - uint16_t commonField, - uint16_t timeField, - uint16_t imuField, - uint16_t gpsField, - uint16_t attitudeField, - uint16_t insField, - uint16_t gps2Field) -{ - return VnUartPacket_genWriteBinaryOutput( - buffer, - bufferSize, - errorDetectionMode, - cmdSize, - 5, - asyncMode, - rateDivisor, - commonField, - timeField, - imuField, - gpsField, - attitudeField, - insField, - gps2Field); -} - -#endif - -VnError VnUartPacket_genWriteFirmwareUpdate( - char* buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t* cmdSize, - char* record) -{ -#if VN_HAVE_SECURE_CRT - * cmdSize = sprintf_s((char*)buffer, bufferSize, "$VNBLD,%s",record); -#else - * cmdSize = sprintf((char*)buffer, "$VNBLD,%s", record); -#endif - - return VnUartPacket_finalizeCommand(errorDetectionMode, buffer, cmdSize); -} - -VnError VnUartPacket_genWriteUserTag( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - char* tag) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 0, - cmdSize, - "S", - tag); -} - -VnError VnUartPacket_genWriteSerialBaudRate( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint32_t baudrate) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 5, - cmdSize, - "U4", - baudrate); -} - -VnError VnUartPacket_genWriteSerialBaudRate_with_options( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint32_t baudrate) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 5, - cmdSize, - "U4", - baudrate); -} - -VnError VnUartPacket_genWriteAsyncDataOutputType( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint32_t ador) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 6, - cmdSize, - "U4", - ador); -} - -VnError VnUartPacket_genWriteAsyncDataOutputType_with_options( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint32_t ador) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 6, - cmdSize, - "U4", - ador); -} - -VnError VnUartPacket_genWriteAsyncDataOutputFrequency( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint32_t adof) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 7, - cmdSize, - "U4", - adof); -} - -VnError VnUartPacket_genWriteAsyncDataOutputFrequency_with_options( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint32_t adof) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 7, - cmdSize, - "U4", - adof); -} - -VnError VnUartPacket_genWriteMagneticAndGravityReferenceVectors( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - vec3f magRef, - vec3f accRef) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 21, - cmdSize, - "F4F4F4F4F4F4", - magRef.c[0], - magRef.c[1], - magRef.c[2], - accRef.c[0], - accRef.c[1], - accRef.c[2]); -} - -VnError VnUartPacket_genWriteMagnetometerCompensation( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - mat3f c, - vec3f b) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 23, - cmdSize, - "F4F4F4F4F4F4F4F4F4F4F4F4", - c.e[0], - c.e[3], - c.e[6], - c.e[1], - c.e[4], - c.e[7], - c.e[2], - c.e[5], - c.e[8], - b.c[0], - b.c[1], - b.c[2]); -} - -VnError VnUartPacket_genWriteAccelerationCompensation( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - mat3f c, - vec3f b) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 25, - cmdSize, - "F4F4F4F4F4F4F4F4F4F4F4F4", - c.e[0], - c.e[3], - c.e[6], - c.e[1], - c.e[4], - c.e[7], - c.e[2], - c.e[5], - c.e[8], - b.c[0], - b.c[1], - b.c[2]); -} - -VnError VnUartPacket_genWriteReferenceFrameRotation( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - mat3f c) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 26, - cmdSize, - "F4F4F4F4F4F4F4F4F4", - c.e[0], - c.e[3], - c.e[6], - c.e[1], - c.e[4], - c.e[7], - c.e[2], - c.e[5], - c.e[8]); -} - -VnError VnUartPacket_genWriteCommunicationProtocolControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t serialCount, - uint8_t serialStatus, - uint8_t spiCount, - uint8_t spiStatus, - uint8_t serialChecksum, - uint8_t spiChecksum, - uint8_t errorMode) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 30, - cmdSize, - "U1U1U1U1U1U1U1", - serialCount, - serialStatus, - spiCount, - spiStatus, - serialChecksum, - spiChecksum, - errorMode); -} - -VnError VnUartPacket_genWriteSynchronizationControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t syncInMode, - uint8_t syncInEdge, - uint16_t syncInSkipFactor, - uint32_t reserved1, - uint8_t syncOutMode, - uint8_t syncOutPolarity, - uint16_t syncOutSkipFactor, - uint32_t syncOutPulseWidth, - uint32_t reserved2) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 32, - cmdSize, - "U1U1U2U4U1U1U2U4U4", - syncInMode, - syncInEdge, - syncInSkipFactor, - reserved1, - syncOutMode, - syncOutPolarity, - syncOutSkipFactor, - syncOutPulseWidth, - reserved2); -} - -VnError VnUartPacket_genWriteSynchronizationStatus( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint32_t syncInCount, - uint32_t syncInTime, - uint32_t syncOutCount) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 33, - cmdSize, - "U4U4U4", - syncInCount, - syncInTime, - syncOutCount); -} - -VnError VnUartPacket_genWriteVpeBasicControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t enable, - uint8_t headingMode, - uint8_t filteringMode, - uint8_t tuningMode) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 35, - cmdSize, - "U1U1U1U1", - enable, - headingMode, - filteringMode, - tuningMode); -} - -VnError VnUartPacket_genWriteVpeMagnetometerBasicTuning( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - vec3f baseTuning, - vec3f adaptiveTuning, - vec3f adaptiveFiltering) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 36, - cmdSize, - "F4F4F4F4F4F4F4F4F4", - baseTuning.c[0], - baseTuning.c[1], - baseTuning.c[2], - adaptiveTuning.c[0], - adaptiveTuning.c[1], - adaptiveTuning.c[2], - adaptiveFiltering.c[0], - adaptiveFiltering.c[1], - adaptiveFiltering.c[2]); -} - -VnError VnUartPacket_genWriteVpeAccelerometerBasicTuning( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - vec3f baseTuning, - vec3f adaptiveTuning, - vec3f adaptiveFiltering) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 38, - cmdSize, - "F4F4F4F4F4F4F4F4F4", - baseTuning.c[0], - baseTuning.c[1], - baseTuning.c[2], - adaptiveTuning.c[0], - adaptiveTuning.c[1], - adaptiveTuning.c[2], - adaptiveFiltering.c[0], - adaptiveFiltering.c[1], - adaptiveFiltering.c[2]); -} - -VnError VnUartPacket_genWriteMagnetometerCalibrationControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t hsiMode, - uint8_t hsiOutput, - uint8_t convergeRate) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 44, - cmdSize, - "U1U1U1", - hsiMode, - hsiOutput, - convergeRate); -} - -VnError VnUartPacket_genWriteVelocityCompensationMeasurement( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - vec3f velocity) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 50, - cmdSize, - "F4F4F4", - velocity.c[0], - velocity.c[1], - velocity.c[2]); -} - -VnError VnUartPacket_genWriteVelocityCompensationControl( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t mode, - float velocityTuning, - float rateTuning) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 51, - cmdSize, - "U1F4F4", - mode, - velocityTuning, - rateTuning); -} - -VnError VnUartPacket_genWriteGpsConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t mode, - uint8_t ppsSource, - uint8_t reserved1, - uint8_t reserved2, - uint8_t reserved3) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 55, - cmdSize, - "U1U1U1U1U1", - mode, - ppsSource, - reserved1, - reserved2, - reserved3); -} - -VnError VnUartPacket_genWriteGpsAntennaOffset( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - vec3f position) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 57, - cmdSize, - "F4F4F4", - position.c[0], - position.c[1], - position.c[2]); -} - -VnError VnUartPacket_genWriteInsBasicConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t scenario, - uint8_t ahrsAiding, - uint8_t estBaseline, - uint8_t resv2) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 67, - cmdSize, - "U1U1U1U1", - scenario, - ahrsAiding, - estBaseline, - resv2); -} - -VnError VnUartPacket_genWriteStartupFilterBiasEstimate( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - vec3f gyroBias, - vec3f accelBias, - float pressureBias) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 74, - cmdSize, - "F4F4F4F4F4F4F4", - gyroBias.c[0], - gyroBias.c[1], - gyroBias.c[2], - accelBias.c[0], - accelBias.c[1], - accelBias.c[2], - pressureBias); -} - -VnError VnUartPacket_genWriteDeltaThetaAndDeltaVelocityConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t integrationFrame, - uint8_t gyroCompensation, - uint8_t accelCompensation, - uint8_t reserved1, - uint16_t reserved2) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 82, - cmdSize, - "U1U1U1U1U2", - integrationFrame, - gyroCompensation, - accelCompensation, - reserved1, - reserved2); -} - -VnError VnUartPacket_genWriteReferenceVectorConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint8_t useMagModel, - uint8_t useGravityModel, - uint8_t resv1, - uint8_t resv2, - uint32_t recalcThreshold, - float year, - vec3d position) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 83, - cmdSize, - "U1U1U1U1U4F4F8F8F8", - useMagModel, - useGravityModel, - resv1, - resv2, - recalcThreshold, - year, - position.c[0], - position.c[1], - position.c[2]); -} - -VnError VnUartPacket_genWriteGyroCompensation( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - mat3f c, - vec3f b) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 84, - cmdSize, - "F4F4F4F4F4F4F4F4F4F4F4F4", - c.e[0], - c.e[3], - c.e[6], - c.e[1], - c.e[4], - c.e[7], - c.e[2], - c.e[5], - c.e[8], - b.c[0], - b.c[1], - b.c[2]); -} - -VnError VnUartPacket_genWriteImuFilteringConfiguration( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - uint16_t magWindowSize, - uint16_t accelWindowSize, - uint16_t gyroWindowSize, - uint16_t tempWindowSize, - uint16_t presWindowSize, - uint8_t magFilterMode, - uint8_t accelFilterMode, - uint8_t gyroFilterMode, - uint8_t tempFilterMode, - uint8_t presFilterMode) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 85, - cmdSize, - "U2U2U2U2U2U1U1U1U1U1", - magWindowSize, - accelWindowSize, - gyroWindowSize, - tempWindowSize, - presWindowSize, - magFilterMode, - accelFilterMode, - gyroFilterMode, - tempFilterMode, - presFilterMode); -} - -VnError VnUartPacket_genWriteGpsCompassBaseline( - char *buffer, - size_t bufferSize, - VnErrorDetectionMode errorDetectionMode, - size_t *cmdSize, - vec3f position, - vec3f uncertainty) -{ - return VnUartPacket_genWrite( - (uint8_t*)buffer, - bufferSize, - errorDetectionMode, - 93, - cmdSize, - "F4F4F4F4F4F4", - position.c[0], - position.c[1], - position.c[2], - uncertainty.c[0], - uncertainty.c[1], - uncertainty.c[2]); -} - -void VnUartPacket_parseError(VnUartPacket *packet, uint8_t *error) -{ - VnUartPacket_parseErrorRaw(packet->data, error); -} - -void VnUartPacket_parseErrorRaw(uint8_t *packet, uint8_t *error) -{ - *error = (uint8_t) strtol((char*)(packet + 7),NULL,16); -} - -void VnUartPacket_parseBinaryOutput( - VnUartPacket *packet, - uint16_t* asyncMode, - uint16_t* rateDivisor, - uint16_t* outputGroup, - uint16_t* commonField, - uint16_t* timeField, - uint16_t* imuField, - uint16_t* gpsField, - uint16_t* attitudeField, - uint16_t* insField, - uint16_t* gps2Field) -{ - VnUartPacket_parseBinaryOutputRaw( - packet->data, - asyncMode, - rateDivisor, - outputGroup, - commonField, - timeField, - imuField, - gpsField, - attitudeField, - insField, - gps2Field); -} - -void VnUartPacket_parseBinaryOutputRaw( - uint8_t *packet, - uint16_t* asyncMode, - uint16_t* rateDivisor, - uint16_t* outputGroup, - uint16_t* commonField, - uint16_t* timeField, - uint16_t* imuField, - uint16_t* gpsField, - uint16_t* attitudeField, - uint16_t* insField, - uint16_t* gps2Field) -{ - size_t packetIndex; - - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse(packet, &packetIndex); - - *commonField = 0; - *timeField = 0; - *imuField = 0; - *gpsField = 0; - *attitudeField = 0; - *insField = 0; - *gps2Field = 0; - - *asyncMode = ATOU16; - NEXTRAW - *rateDivisor = ATOU16; - NEXTRAW - *outputGroup = ATOU16X; - if (*outputGroup & 0x0001) - { - NEXTRAW - *commonField = ATOU16X; - } - if (*outputGroup & 0x0002) - { - NEXTRAW - *timeField = ATOU16X; - } - if (*outputGroup & 0x0004) - { - NEXTRAW - *imuField = ATOU16X; - } - if (*outputGroup & 0x0008) - { - NEXTRAW - *gpsField = ATOU16X; - } - if (*outputGroup & 0x0010) - { - NEXTRAW - *attitudeField = ATOU16X; - } - if (*outputGroup & 0x0020) - { - NEXTRAW - *insField = ATOU16X; - } - if (*outputGroup & 0x0040) - { - NEXTRAW - *gps2Field = ATOU16X; - } -} - -void VnUartPacket_parseUserTag(VnUartPacket *packet, char *tag) -{ - VnUartPacket_parseUserTagRaw((char*)packet->data, tag); -} - -void VnUartPacket_parseUserTagRaw(char *packet, char* tag) -{ - size_t packetIndex; - char* next; - - next = (char*)VnUartPacket_startAsciiPacketParse((uint8_t*)packet, &packetIndex); - - if (*(next + strlen(next) + 1) == '*') - { - tag[0] = '\0'; - return; - } - - next = (char*)VnUartPacket_getNextData((uint8_t*)packet, &packetIndex); - - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - strcpy(tag, next); - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void VnUartPacket_parseModelNumber(VnUartPacket *packet, char *productName) -{ - VnUartPacket_parseModelNumberRaw((char*)packet->data, productName); -} - -void VnUartPacket_parseModelNumberRaw(char *packet, char* productName) -{ - size_t packetIndex; - char* next; - - next = (char*)VnUartPacket_startAsciiPacketParse((uint8_t*)packet, &packetIndex); - - if (*(next + strlen(next) + 1) == '*') - { - productName[0] = '\0'; - return; - } - - next = (char*)VnUartPacket_getNextData((uint8_t*)packet, &packetIndex); - - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - strcpy(productName, next); - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void VnUartPacket_parseHardwareRevision(VnUartPacket *packet, uint32_t* revision) -{ - VnUartPacket_parseHardwareRevisionRaw((char*)packet->data, revision); -} - -void VnUartPacket_parseHardwareRevisionRaw(char *packet, uint32_t* revision) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *revision = ATOU32; -} - -void VnUartPacket_parseSerialNumber(VnUartPacket *packet, uint32_t* serialNum) -{ - VnUartPacket_parseSerialNumberRaw((char*)packet->data, serialNum); -} - -void VnUartPacket_parseSerialNumberRaw(char *packet, uint32_t* serialNum) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *serialNum = ATOU32; -} - -void VnUartPacket_parseFirmwareVersion(VnUartPacket *packet, char *firmwareVersion) -{ - VnUartPacket_parseFirmwareVersionRaw((char*)packet->data, firmwareVersion); -} - -void VnUartPacket_parseFirmwareVersionRaw(char *packet, char* firmwareVersion) -{ - size_t packetIndex; - char* next; - - next = (char*)VnUartPacket_startAsciiPacketParse((uint8_t*)packet, &packetIndex); - - if (*(next + strlen(next) + 1) == '*') - { - firmwareVersion[0] = '\0'; - return; - } - - next = (char*)VnUartPacket_getNextData((uint8_t*)packet, &packetIndex); - - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - strcpy(firmwareVersion, next); - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void VnUartPacket_parseSerialBaudRate(VnUartPacket *packet, uint32_t* baudrate) -{ - VnUartPacket_parseSerialBaudRateRaw((char*)packet->data, baudrate); -} - -void VnUartPacket_parseSerialBaudRateRaw(char *packet, uint32_t* baudrate) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *baudrate = ATOU32; -} - -void VnUartPacket_parseAsyncDataOutputType(VnUartPacket *packet, uint32_t* ador) -{ - VnUartPacket_parseAsyncDataOutputTypeRaw((char*)packet->data, ador); -} - -void VnUartPacket_parseAsyncDataOutputTypeRaw(char *packet, uint32_t* ador) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *ador = ATOU32; -} - -void VnUartPacket_parseAsyncDataOutputFrequency(VnUartPacket *packet, uint32_t* adof) -{ - VnUartPacket_parseAsyncDataOutputFrequencyRaw((char*)packet->data, adof); -} - -void VnUartPacket_parseAsyncDataOutputFrequencyRaw(char *packet, uint32_t* adof) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *adof = ATOU32; -} - -void VnUartPacket_parseYawPitchRoll(VnUartPacket *packet, vec3f* yawPitchRoll) -{ - VnUartPacket_parseYawPitchRollRaw((char*)packet->data, yawPitchRoll); -} - -void VnUartPacket_parseYawPitchRollRaw(char *packet, vec3f* yawPitchRoll) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - yawPitchRoll->c[0] = ATOFF; NEXTRAW - yawPitchRoll->c[1] = ATOFF; NEXTRAW - yawPitchRoll->c[2] = ATOFF; -} - -void VnUartPacket_parseAttitudeQuaternion(VnUartPacket *packet, vec4f* quat) -{ - VnUartPacket_parseAttitudeQuaternionRaw((char*)packet->data, quat); -} - -void VnUartPacket_parseAttitudeQuaternionRaw(char *packet, vec4f* quat) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - quat->c[0] = ATOFF; NEXTRAW - quat->c[1] = ATOFF; NEXTRAW - quat->c[2] = ATOFF; NEXTRAW - quat->c[3] = ATOFF; -} - -void VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRates(VnUartPacket *packet, vec4f* quat, vec3f* mag, vec3f* accel, vec3f* gyro) -{ - VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRatesRaw((char*)packet->data, quat, mag, accel, gyro); -} - -void VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRatesRaw(char *packet, vec4f* quat, vec3f* mag, vec3f* accel, vec3f* gyro) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - quat->c[0] = ATOFF; NEXTRAW - quat->c[1] = ATOFF; NEXTRAW - quat->c[2] = ATOFF; NEXTRAW - quat->c[3] = ATOFF; NEXTRAW - mag->c[0] = ATOFF; NEXTRAW - mag->c[1] = ATOFF; NEXTRAW - mag->c[2] = ATOFF; NEXTRAW - accel->c[0] = ATOFF; NEXTRAW - accel->c[1] = ATOFF; NEXTRAW - accel->c[2] = ATOFF; NEXTRAW - gyro->c[0] = ATOFF; NEXTRAW - gyro->c[1] = ATOFF; NEXTRAW - gyro->c[2] = ATOFF; -} - -void VnUartPacket_parseMagneticMeasurements(VnUartPacket *packet, vec3f* mag) -{ - VnUartPacket_parseMagneticMeasurementsRaw((char*)packet->data, mag); -} - -void VnUartPacket_parseMagneticMeasurementsRaw(char *packet, vec3f* mag) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - mag->c[0] = ATOFF; NEXTRAW - mag->c[1] = ATOFF; NEXTRAW - mag->c[2] = ATOFF; -} - -void VnUartPacket_parseAccelerationMeasurements(VnUartPacket *packet, vec3f* accel) -{ - VnUartPacket_parseAccelerationMeasurementsRaw((char*)packet->data, accel); -} - -void VnUartPacket_parseAccelerationMeasurementsRaw(char *packet, vec3f* accel) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - accel->c[0] = ATOFF; NEXTRAW - accel->c[1] = ATOFF; NEXTRAW - accel->c[2] = ATOFF; -} - -void VnUartPacket_parseAngularRateMeasurements(VnUartPacket *packet, vec3f* gyro) -{ - VnUartPacket_parseAngularRateMeasurementsRaw((char*)packet->data, gyro); -} - -void VnUartPacket_parseAngularRateMeasurementsRaw(char *packet, vec3f* gyro) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - gyro->c[0] = ATOFF; NEXTRAW - gyro->c[1] = ATOFF; NEXTRAW - gyro->c[2] = ATOFF; -} - -void VnUartPacket_parseMagneticAccelerationAndAngularRates(VnUartPacket *packet, vec3f* mag, vec3f* accel, vec3f* gyro) -{ - VnUartPacket_parseMagneticAccelerationAndAngularRatesRaw((char*)packet->data, mag, accel, gyro); -} - -void VnUartPacket_parseMagneticAccelerationAndAngularRatesRaw(char *packet, vec3f* mag, vec3f* accel, vec3f* gyro) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - mag->c[0] = ATOFF; NEXTRAW - mag->c[1] = ATOFF; NEXTRAW - mag->c[2] = ATOFF; NEXTRAW - accel->c[0] = ATOFF; NEXTRAW - accel->c[1] = ATOFF; NEXTRAW - accel->c[2] = ATOFF; NEXTRAW - gyro->c[0] = ATOFF; NEXTRAW - gyro->c[1] = ATOFF; NEXTRAW - gyro->c[2] = ATOFF; -} - -void VnUartPacket_parseMagneticAndGravityReferenceVectors(VnUartPacket *packet, vec3f* magRef, vec3f* accRef) -{ - VnUartPacket_parseMagneticAndGravityReferenceVectorsRaw((char*)packet->data, magRef, accRef); -} - -void VnUartPacket_parseMagneticAndGravityReferenceVectorsRaw(char *packet, vec3f* magRef, vec3f* accRef) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - magRef->c[0] = ATOFF; NEXTRAW - magRef->c[1] = ATOFF; NEXTRAW - magRef->c[2] = ATOFF; NEXTRAW - accRef->c[0] = ATOFF; NEXTRAW - accRef->c[1] = ATOFF; NEXTRAW - accRef->c[2] = ATOFF; -} - -void VnUartPacket_parseFilterMeasurementsVarianceParameters(VnUartPacket *packet, float* angularWalkVariance, vec3f* angularRateVariance, vec3f* magneticVariance, vec3f* accelerationVariance) -{ - VnUartPacket_parseFilterMeasurementsVarianceParametersRaw((char*)packet->data, angularWalkVariance, angularRateVariance, magneticVariance, accelerationVariance); -} - -void VnUartPacket_parseFilterMeasurementsVarianceParametersRaw(char *packet, float* angularWalkVariance, vec3f* angularRateVariance, vec3f* magneticVariance, vec3f* accelerationVariance) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *angularWalkVariance = ATOFF; NEXTRAW - angularRateVariance->c[0] = ATOFF; NEXTRAW - angularRateVariance->c[1] = ATOFF; NEXTRAW - angularRateVariance->c[2] = ATOFF; NEXTRAW - magneticVariance->c[0] = ATOFF; NEXTRAW - magneticVariance->c[1] = ATOFF; NEXTRAW - magneticVariance->c[2] = ATOFF; NEXTRAW - accelerationVariance->c[0] = ATOFF; NEXTRAW - accelerationVariance->c[1] = ATOFF; NEXTRAW - accelerationVariance->c[2] = ATOFF; -} - -void VnUartPacket_parseMagnetometerCompensation(VnUartPacket *packet, mat3f* c, vec3f* b) -{ - VnUartPacket_parseMagnetometerCompensationRaw((char*)packet->data, c, b); -} - -void VnUartPacket_parseMagnetometerCompensationRaw(char *packet, mat3f* c, vec3f* b) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - c->e[0] = ATOFF; NEXTRAW - c->e[3] = ATOFF; NEXTRAW - c->e[6] = ATOFF; NEXTRAW - c->e[1] = ATOFF; NEXTRAW - c->e[4] = ATOFF; NEXTRAW - c->e[7] = ATOFF; NEXTRAW - c->e[2] = ATOFF; NEXTRAW - c->e[5] = ATOFF; NEXTRAW - c->e[8] = ATOFF; NEXTRAW - b->c[0] = ATOFF; NEXTRAW - b->c[1] = ATOFF; NEXTRAW - b->c[2] = ATOFF; -} - -void VnUartPacket_parseFilterActiveTuningParameters(VnUartPacket *packet, float* magneticDisturbanceGain, float* accelerationDisturbanceGain, float* magneticDisturbanceMemory, float* accelerationDisturbanceMemory) -{ - VnUartPacket_parseFilterActiveTuningParametersRaw((char*)packet->data, magneticDisturbanceGain, accelerationDisturbanceGain, magneticDisturbanceMemory, accelerationDisturbanceMemory); -} - -void VnUartPacket_parseFilterActiveTuningParametersRaw(char *packet, float* magneticDisturbanceGain, float* accelerationDisturbanceGain, float* magneticDisturbanceMemory, float* accelerationDisturbanceMemory) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *magneticDisturbanceGain = ATOFF; NEXTRAW - *accelerationDisturbanceGain = ATOFF; NEXTRAW - *magneticDisturbanceMemory = ATOFF; NEXTRAW - *accelerationDisturbanceMemory = ATOFF; -} - -void VnUartPacket_parseAccelerationCompensation(VnUartPacket *packet, mat3f* c, vec3f* b) -{ - VnUartPacket_parseAccelerationCompensationRaw((char*)packet->data, c, b); -} - -void VnUartPacket_parseAccelerationCompensationRaw(char *packet, mat3f* c, vec3f* b) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - c->e[0] = ATOFF; NEXTRAW - c->e[3] = ATOFF; NEXTRAW - c->e[6] = ATOFF; NEXTRAW - c->e[1] = ATOFF; NEXTRAW - c->e[4] = ATOFF; NEXTRAW - c->e[7] = ATOFF; NEXTRAW - c->e[2] = ATOFF; NEXTRAW - c->e[5] = ATOFF; NEXTRAW - c->e[8] = ATOFF; NEXTRAW - b->c[0] = ATOFF; NEXTRAW - b->c[1] = ATOFF; NEXTRAW - b->c[2] = ATOFF; -} - -void VnUartPacket_parseReferenceFrameRotation(VnUartPacket *packet, mat3f* c) -{ - VnUartPacket_parseReferenceFrameRotationRaw((char*)packet->data, c); -} - -void VnUartPacket_parseReferenceFrameRotationRaw(char *packet, mat3f* c) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - c->e[0] = ATOFF; NEXTRAW - c->e[3] = ATOFF; NEXTRAW - c->e[6] = ATOFF; NEXTRAW - c->e[1] = ATOFF; NEXTRAW - c->e[4] = ATOFF; NEXTRAW - c->e[7] = ATOFF; NEXTRAW - c->e[2] = ATOFF; NEXTRAW - c->e[5] = ATOFF; NEXTRAW - c->e[8] = ATOFF; -} - -void VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRates(VnUartPacket *packet, vec3f* yawPitchRoll, vec3f* mag, vec3f* accel, vec3f* gyro) -{ - VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRatesRaw((char*)packet->data, yawPitchRoll, mag, accel, gyro); -} - -void VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRatesRaw(char *packet, vec3f* yawPitchRoll, vec3f* mag, vec3f* accel, vec3f* gyro) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - yawPitchRoll->c[0] = ATOFF; NEXTRAW - yawPitchRoll->c[1] = ATOFF; NEXTRAW - yawPitchRoll->c[2] = ATOFF; NEXTRAW - mag->c[0] = ATOFF; NEXTRAW - mag->c[1] = ATOFF; NEXTRAW - mag->c[2] = ATOFF; NEXTRAW - accel->c[0] = ATOFF; NEXTRAW - accel->c[1] = ATOFF; NEXTRAW - accel->c[2] = ATOFF; NEXTRAW - gyro->c[0] = ATOFF; NEXTRAW - gyro->c[1] = ATOFF; NEXTRAW - gyro->c[2] = ATOFF; -} - -void VnUartPacket_parseCommunicationProtocolControl(VnUartPacket *packet, uint8_t* serialCount, uint8_t* serialStatus, uint8_t* spiCount, uint8_t* spiStatus, uint8_t* serialChecksum, uint8_t* spiChecksum, uint8_t* errorMode) -{ - VnUartPacket_parseCommunicationProtocolControlRaw((char*)packet->data, serialCount, serialStatus, spiCount, spiStatus, serialChecksum, spiChecksum, errorMode); -} - -void VnUartPacket_parseCommunicationProtocolControlRaw(char *packet, uint8_t* serialCount, uint8_t* serialStatus, uint8_t* spiCount, uint8_t* spiStatus, uint8_t* serialChecksum, uint8_t* spiChecksum, uint8_t* errorMode) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *serialCount = ATOU8; NEXTRAW - *serialStatus = ATOU8; NEXTRAW - *spiCount = ATOU8; NEXTRAW - *spiStatus = ATOU8; NEXTRAW - *serialChecksum = ATOU8; NEXTRAW - *spiChecksum = ATOU8; NEXTRAW - *errorMode = ATOU8; -} - -void VnUartPacket_parseSynchronizationControl(VnUartPacket *packet, uint8_t* syncInMode, uint8_t* syncInEdge, uint16_t* syncInSkipFactor, uint32_t* reserved1, uint8_t* syncOutMode, uint8_t* syncOutPolarity, uint16_t* syncOutSkipFactor, uint32_t* syncOutPulseWidth, uint32_t* reserved2) -{ - VnUartPacket_parseSynchronizationControlRaw((char*)packet->data, syncInMode, syncInEdge, syncInSkipFactor, reserved1, syncOutMode, syncOutPolarity, syncOutSkipFactor, syncOutPulseWidth, reserved2); -} - -void VnUartPacket_parseSynchronizationControlRaw(char *packet, uint8_t* syncInMode, uint8_t* syncInEdge, uint16_t* syncInSkipFactor, uint32_t* reserved1, uint8_t* syncOutMode, uint8_t* syncOutPolarity, uint16_t* syncOutSkipFactor, uint32_t* syncOutPulseWidth, uint32_t* reserved2) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *syncInMode = ATOU8; NEXTRAW - *syncInEdge = ATOU8; NEXTRAW - *syncInSkipFactor = ATOU16; NEXTRAW - *reserved1 = ATOU32; NEXTRAW - *syncOutMode = ATOU8; NEXTRAW - *syncOutPolarity = ATOU8; NEXTRAW - *syncOutSkipFactor = ATOU16; NEXTRAW - *syncOutPulseWidth = ATOU32; NEXTRAW - *reserved2 = ATOU32; -} - -void VnUartPacket_parseSynchronizationStatus(VnUartPacket *packet, uint32_t* syncInCount, uint32_t* syncInTime, uint32_t* syncOutCount) -{ - VnUartPacket_parseSynchronizationStatusRaw((char*)packet->data, syncInCount, syncInTime, syncOutCount); -} - -void VnUartPacket_parseSynchronizationStatusRaw(char *packet, uint32_t* syncInCount, uint32_t* syncInTime, uint32_t* syncOutCount) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *syncInCount = ATOU32; NEXTRAW - *syncInTime = ATOU32; NEXTRAW - *syncOutCount = ATOU32; -} - -void VnUartPacket_parseFilterBasicControl(VnUartPacket *packet, uint8_t* magMode, uint8_t* extMagMode, uint8_t* extAccMode, uint8_t* extGyroMode, vec3f* gyroLimit) -{ - VnUartPacket_parseFilterBasicControlRaw((char*)packet->data, magMode, extMagMode, extAccMode, extGyroMode, gyroLimit); -} - -void VnUartPacket_parseFilterBasicControlRaw(char *packet, uint8_t* magMode, uint8_t* extMagMode, uint8_t* extAccMode, uint8_t* extGyroMode, vec3f* gyroLimit) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *magMode = ATOU8; NEXTRAW - *extMagMode = ATOU8; NEXTRAW - *extAccMode = ATOU8; NEXTRAW - *extGyroMode = ATOU8; NEXTRAW - gyroLimit->c[0] = ATOFF; NEXTRAW - gyroLimit->c[1] = ATOFF; NEXTRAW - gyroLimit->c[2] = ATOFF; -} - -void VnUartPacket_parseVpeBasicControl(VnUartPacket *packet, uint8_t* enable, uint8_t* headingMode, uint8_t* filteringMode, uint8_t* tuningMode) -{ - VnUartPacket_parseVpeBasicControlRaw((char*)packet->data, enable, headingMode, filteringMode, tuningMode); -} - -void VnUartPacket_parseVpeBasicControlRaw(char *packet, uint8_t* enable, uint8_t* headingMode, uint8_t* filteringMode, uint8_t* tuningMode) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *enable = ATOU8; NEXTRAW - *headingMode = ATOU8; NEXTRAW - *filteringMode = ATOU8; NEXTRAW - *tuningMode = ATOU8; -} - -void VnUartPacket_parseVpeMagnetometerBasicTuning(VnUartPacket *packet, vec3f* baseTuning, vec3f* adaptiveTuning, vec3f* adaptiveFiltering) -{ - VnUartPacket_parseVpeMagnetometerBasicTuningRaw((char*)packet->data, baseTuning, adaptiveTuning, adaptiveFiltering); -} - -void VnUartPacket_parseVpeMagnetometerBasicTuningRaw(char *packet, vec3f* baseTuning, vec3f* adaptiveTuning, vec3f* adaptiveFiltering) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - baseTuning->c[0] = ATOFF; NEXTRAW - baseTuning->c[1] = ATOFF; NEXTRAW - baseTuning->c[2] = ATOFF; NEXTRAW - adaptiveTuning->c[0] = ATOFF; NEXTRAW - adaptiveTuning->c[1] = ATOFF; NEXTRAW - adaptiveTuning->c[2] = ATOFF; NEXTRAW - adaptiveFiltering->c[0] = ATOFF; NEXTRAW - adaptiveFiltering->c[1] = ATOFF; NEXTRAW - adaptiveFiltering->c[2] = ATOFF; -} - -void VnUartPacket_parseVpeMagnetometerAdvancedTuning(VnUartPacket *packet, vec3f* minFiltering, vec3f* maxFiltering, float* maxAdaptRate, float* disturbanceWindow, float* maxTuning) -{ - VnUartPacket_parseVpeMagnetometerAdvancedTuningRaw((char*)packet->data, minFiltering, maxFiltering, maxAdaptRate, disturbanceWindow, maxTuning); -} - -void VnUartPacket_parseVpeMagnetometerAdvancedTuningRaw(char *packet, vec3f* minFiltering, vec3f* maxFiltering, float* maxAdaptRate, float* disturbanceWindow, float* maxTuning) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - minFiltering->c[0] = ATOFF; NEXTRAW - minFiltering->c[1] = ATOFF; NEXTRAW - minFiltering->c[2] = ATOFF; NEXTRAW - maxFiltering->c[0] = ATOFF; NEXTRAW - maxFiltering->c[1] = ATOFF; NEXTRAW - maxFiltering->c[2] = ATOFF; NEXTRAW - *maxAdaptRate = ATOFF; NEXTRAW - *disturbanceWindow = ATOFF; NEXTRAW - *maxTuning = ATOFF; -} - -void VnUartPacket_parseVpeAccelerometerBasicTuning(VnUartPacket *packet, vec3f* baseTuning, vec3f* adaptiveTuning, vec3f* adaptiveFiltering) -{ - VnUartPacket_parseVpeAccelerometerBasicTuningRaw((char*)packet->data, baseTuning, adaptiveTuning, adaptiveFiltering); -} - -void VnUartPacket_parseVpeAccelerometerBasicTuningRaw(char *packet, vec3f* baseTuning, vec3f* adaptiveTuning, vec3f* adaptiveFiltering) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - baseTuning->c[0] = ATOFF; NEXTRAW - baseTuning->c[1] = ATOFF; NEXTRAW - baseTuning->c[2] = ATOFF; NEXTRAW - adaptiveTuning->c[0] = ATOFF; NEXTRAW - adaptiveTuning->c[1] = ATOFF; NEXTRAW - adaptiveTuning->c[2] = ATOFF; NEXTRAW - adaptiveFiltering->c[0] = ATOFF; NEXTRAW - adaptiveFiltering->c[1] = ATOFF; NEXTRAW - adaptiveFiltering->c[2] = ATOFF; -} - -void VnUartPacket_parseVpeAccelerometerAdvancedTuning(VnUartPacket *packet, vec3f* minFiltering, vec3f* maxFiltering, float* maxAdaptRate, float* disturbanceWindow, float* maxTuning) -{ - VnUartPacket_parseVpeAccelerometerAdvancedTuningRaw((char*)packet->data, minFiltering, maxFiltering, maxAdaptRate, disturbanceWindow, maxTuning); -} - -void VnUartPacket_parseVpeAccelerometerAdvancedTuningRaw(char *packet, vec3f* minFiltering, vec3f* maxFiltering, float* maxAdaptRate, float* disturbanceWindow, float* maxTuning) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - minFiltering->c[0] = ATOFF; NEXTRAW - minFiltering->c[1] = ATOFF; NEXTRAW - minFiltering->c[2] = ATOFF; NEXTRAW - maxFiltering->c[0] = ATOFF; NEXTRAW - maxFiltering->c[1] = ATOFF; NEXTRAW - maxFiltering->c[2] = ATOFF; NEXTRAW - *maxAdaptRate = ATOFF; NEXTRAW - *disturbanceWindow = ATOFF; NEXTRAW - *maxTuning = ATOFF; -} - -void VnUartPacket_parseVpeGyroBasicTuning(VnUartPacket *packet, vec3f* angularWalkVariance, vec3f* baseTuning, vec3f* adaptiveTuning) -{ - VnUartPacket_parseVpeGyroBasicTuningRaw((char*)packet->data, angularWalkVariance, baseTuning, adaptiveTuning); -} - -void VnUartPacket_parseVpeGyroBasicTuningRaw(char *packet, vec3f* angularWalkVariance, vec3f* baseTuning, vec3f* adaptiveTuning) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - angularWalkVariance->c[0] = ATOFF; NEXTRAW - angularWalkVariance->c[1] = ATOFF; NEXTRAW - angularWalkVariance->c[2] = ATOFF; NEXTRAW - baseTuning->c[0] = ATOFF; NEXTRAW - baseTuning->c[1] = ATOFF; NEXTRAW - baseTuning->c[2] = ATOFF; NEXTRAW - adaptiveTuning->c[0] = ATOFF; NEXTRAW - adaptiveTuning->c[1] = ATOFF; NEXTRAW - adaptiveTuning->c[2] = ATOFF; -} - -void VnUartPacket_parseFilterStartupGyroBias(VnUartPacket *packet, vec3f* bias) -{ - VnUartPacket_parseFilterStartupGyroBiasRaw((char*)packet->data, bias); -} - -void VnUartPacket_parseFilterStartupGyroBiasRaw(char *packet, vec3f* bias) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - bias->c[0] = ATOFF; NEXTRAW - bias->c[1] = ATOFF; NEXTRAW - bias->c[2] = ATOFF; -} - -void VnUartPacket_parseMagnetometerCalibrationControl(VnUartPacket *packet, uint8_t* hsiMode, uint8_t* hsiOutput, uint8_t* convergeRate) -{ - VnUartPacket_parseMagnetometerCalibrationControlRaw((char*)packet->data, hsiMode, hsiOutput, convergeRate); -} - -void VnUartPacket_parseMagnetometerCalibrationControlRaw(char *packet, uint8_t* hsiMode, uint8_t* hsiOutput, uint8_t* convergeRate) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *hsiMode = ATOU8; NEXTRAW - *hsiOutput = ATOU8; NEXTRAW - *convergeRate = ATOU8; -} - -void VnUartPacket_parseCalculatedMagnetometerCalibration(VnUartPacket *packet, mat3f* c, vec3f* b) -{ - VnUartPacket_parseCalculatedMagnetometerCalibrationRaw((char*)packet->data, c, b); -} - -void VnUartPacket_parseCalculatedMagnetometerCalibrationRaw(char *packet, mat3f* c, vec3f* b) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - c->e[0] = ATOFF; NEXTRAW - c->e[3] = ATOFF; NEXTRAW - c->e[6] = ATOFF; NEXTRAW - c->e[1] = ATOFF; NEXTRAW - c->e[4] = ATOFF; NEXTRAW - c->e[7] = ATOFF; NEXTRAW - c->e[2] = ATOFF; NEXTRAW - c->e[5] = ATOFF; NEXTRAW - c->e[8] = ATOFF; NEXTRAW - b->c[0] = ATOFF; NEXTRAW - b->c[1] = ATOFF; NEXTRAW - b->c[2] = ATOFF; -} - -void VnUartPacket_parseIndoorHeadingModeControl(VnUartPacket *packet, float* maxRateError, uint8_t* reserved1) -{ - VnUartPacket_parseIndoorHeadingModeControlRaw((char*)packet->data, maxRateError, reserved1); -} - -void VnUartPacket_parseIndoorHeadingModeControlRaw(char *packet, float* maxRateError, uint8_t* reserved1) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *maxRateError = ATOFF; NEXTRAW - *reserved1 = ATOU8; -} - -void VnUartPacket_parseVelocityCompensationMeasurement(VnUartPacket *packet, vec3f* velocity) -{ - VnUartPacket_parseVelocityCompensationMeasurementRaw((char*)packet->data, velocity); -} - -void VnUartPacket_parseVelocityCompensationMeasurementRaw(char *packet, vec3f* velocity) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - velocity->c[0] = ATOFF; NEXTRAW - velocity->c[1] = ATOFF; NEXTRAW - velocity->c[2] = ATOFF; -} - -void VnUartPacket_parseVelocityCompensationControl(VnUartPacket *packet, uint8_t* mode, float* velocityTuning, float* rateTuning) -{ - VnUartPacket_parseVelocityCompensationControlRaw((char*)packet->data, mode, velocityTuning, rateTuning); -} - -void VnUartPacket_parseVelocityCompensationControlRaw(char *packet, uint8_t* mode, float* velocityTuning, float* rateTuning) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *mode = ATOU8; NEXTRAW - *velocityTuning = ATOFF; NEXTRAW - *rateTuning = ATOFF; -} - -void VnUartPacket_parseVelocityCompensationStatus(VnUartPacket *packet, float* x, float* xDot, vec3f* accelOffset, vec3f* omega) -{ - VnUartPacket_parseVelocityCompensationStatusRaw((char*)packet->data, x, xDot, accelOffset, omega); -} - -void VnUartPacket_parseVelocityCompensationStatusRaw(char *packet, float* x, float* xDot, vec3f* accelOffset, vec3f* omega) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *x = ATOFF; NEXTRAW - *xDot = ATOFF; NEXTRAW - accelOffset->c[0] = ATOFF; NEXTRAW - accelOffset->c[1] = ATOFF; NEXTRAW - accelOffset->c[2] = ATOFF; NEXTRAW - omega->c[0] = ATOFF; NEXTRAW - omega->c[1] = ATOFF; NEXTRAW - omega->c[2] = ATOFF; -} - -void VnUartPacket_parseImuMeasurements(VnUartPacket *packet, vec3f* mag, vec3f* accel, vec3f* gyro, float* temp, float* pressure) -{ - VnUartPacket_parseImuMeasurementsRaw((char*)packet->data, mag, accel, gyro, temp, pressure); -} - -void VnUartPacket_parseImuMeasurementsRaw(char *packet, vec3f* mag, vec3f* accel, vec3f* gyro, float* temp, float* pressure) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - mag->c[0] = ATOFF; NEXTRAW - mag->c[1] = ATOFF; NEXTRAW - mag->c[2] = ATOFF; NEXTRAW - accel->c[0] = ATOFF; NEXTRAW - accel->c[1] = ATOFF; NEXTRAW - accel->c[2] = ATOFF; NEXTRAW - gyro->c[0] = ATOFF; NEXTRAW - gyro->c[1] = ATOFF; NEXTRAW - gyro->c[2] = ATOFF; NEXTRAW - *temp = ATOFF; NEXTRAW - *pressure = ATOFF; -} - -void VnUartPacket_parseGpsConfiguration(VnUartPacket *packet, uint8_t* mode, uint8_t* ppsSource, uint8_t* reserved1, uint8_t* reserved2, uint8_t* reserved3) -{ - VnUartPacket_parseGpsConfigurationRaw((char*)packet->data, mode, ppsSource, reserved1, reserved2, reserved3); -} - -void VnUartPacket_parseGpsConfigurationRaw(char *packet, uint8_t* mode, uint8_t* ppsSource, uint8_t* reserved1, uint8_t* reserved2, uint8_t* reserved3) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *mode = ATOU8; NEXTRAW - *ppsSource = ATOU8; NEXTRAW - *reserved1 = ATOU8; NEXTRAW - *reserved2 = ATOU8; NEXTRAW - *reserved3 = ATOU8; -} - -void VnUartPacket_parseGpsAntennaOffset(VnUartPacket *packet, vec3f* position) -{ - VnUartPacket_parseGpsAntennaOffsetRaw((char*)packet->data, position); -} - -void VnUartPacket_parseGpsAntennaOffsetRaw(char *packet, vec3f* position) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - position->c[0] = ATOFF; NEXTRAW - position->c[1] = ATOFF; NEXTRAW - position->c[2] = ATOFF; -} - -void VnUartPacket_parseGpsSolutionLla(VnUartPacket *packet, double* time, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* lla, vec3f* nedVel, vec3f* nedAcc, float* speedAcc, float* timeAcc) -{ - VnUartPacket_parseGpsSolutionLlaRaw((char*)packet->data, time, week, gpsFix, numSats, lla, nedVel, nedAcc, speedAcc, timeAcc); -} - -void VnUartPacket_parseGpsSolutionLlaRaw(char *packet, double* time, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* lla, vec3f* nedVel, vec3f* nedAcc, float* speedAcc, float* timeAcc) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *time = ATOFD; NEXTRAW - *week = ATOU16; NEXTRAW - *gpsFix = ATOU8; NEXTRAW - *numSats = ATOU8; NEXTRAW - lla->c[0] = ATOFD; NEXTRAW - lla->c[1] = ATOFD; NEXTRAW - lla->c[2] = ATOFD; NEXTRAW - nedVel->c[0] = ATOFF; NEXTRAW - nedVel->c[1] = ATOFF; NEXTRAW - nedVel->c[2] = ATOFF; NEXTRAW - nedAcc->c[0] = ATOFF; NEXTRAW - nedAcc->c[1] = ATOFF; NEXTRAW - nedAcc->c[2] = ATOFF; NEXTRAW - *speedAcc = ATOFF; NEXTRAW - *timeAcc = ATOFF; -} - -void VnUartPacket_parseGpsSolutionEcef(VnUartPacket *packet, double* tow, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* position, vec3f* velocity, vec3f* posAcc, float* speedAcc, float* timeAcc) -{ - VnUartPacket_parseGpsSolutionEcefRaw((char*)packet->data, tow, week, gpsFix, numSats, position, velocity, posAcc, speedAcc, timeAcc); -} - -void VnUartPacket_parseGpsSolutionEcefRaw(char *packet, double* tow, uint16_t* week, uint8_t* gpsFix, uint8_t* numSats, vec3d* position, vec3f* velocity, vec3f* posAcc, float* speedAcc, float* timeAcc) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *tow = ATOFD; NEXTRAW - *week = ATOU16; NEXTRAW - *gpsFix = ATOU8; NEXTRAW - *numSats = ATOU8; NEXTRAW - position->c[0] = ATOFD; NEXTRAW - position->c[1] = ATOFD; NEXTRAW - position->c[2] = ATOFD; NEXTRAW - velocity->c[0] = ATOFF; NEXTRAW - velocity->c[1] = ATOFF; NEXTRAW - velocity->c[2] = ATOFF; NEXTRAW - posAcc->c[0] = ATOFF; NEXTRAW - posAcc->c[1] = ATOFF; NEXTRAW - posAcc->c[2] = ATOFF; NEXTRAW - *speedAcc = ATOFF; NEXTRAW - *timeAcc = ATOFF; -} - -void VnUartPacket_parseInsSolutionLla(VnUartPacket *packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* position, vec3f* nedVel, float* attUncertainty, float* posUncertainty, float* velUncertainty) -{ - VnUartPacket_parseInsSolutionLlaRaw((char*)packet->data, time, week, status, yawPitchRoll, position, nedVel, attUncertainty, posUncertainty, velUncertainty); -} - -void VnUartPacket_parseInsSolutionLlaRaw(char *packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* position, vec3f* nedVel, float* attUncertainty, float* posUncertainty, float* velUncertainty) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *time = ATOFD; NEXTRAW - *week = ATOU16; NEXTRAW - *status = ATOU16X; NEXTRAW - yawPitchRoll->c[0] = ATOFF; NEXTRAW - yawPitchRoll->c[1] = ATOFF; NEXTRAW - yawPitchRoll->c[2] = ATOFF; NEXTRAW - position->c[0] = ATOFD; NEXTRAW - position->c[1] = ATOFD; NEXTRAW - position->c[2] = ATOFD; NEXTRAW - nedVel->c[0] = ATOFF; NEXTRAW - nedVel->c[1] = ATOFF; NEXTRAW - nedVel->c[2] = ATOFF; NEXTRAW - *attUncertainty = ATOFF; NEXTRAW - *posUncertainty = ATOFF; NEXTRAW - *velUncertainty = ATOFF; -} - -void VnUartPacket_parseInsSolutionEcef(VnUartPacket *packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, float* attUncertainty, float* posUncertainty, float* velUncertainty) -{ - VnUartPacket_parseInsSolutionEcefRaw((char*)packet->data, time, week, status, yawPitchRoll, position, velocity, attUncertainty, posUncertainty, velUncertainty); -} - -void VnUartPacket_parseInsSolutionEcefRaw(char *packet, double* time, uint16_t* week, uint16_t* status, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, float* attUncertainty, float* posUncertainty, float* velUncertainty) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *time = ATOFD; NEXTRAW - *week = ATOU16; NEXTRAW - *status = ATOU16X; NEXTRAW - yawPitchRoll->c[0] = ATOFF; NEXTRAW - yawPitchRoll->c[1] = ATOFF; NEXTRAW - yawPitchRoll->c[2] = ATOFF; NEXTRAW - position->c[0] = ATOFD; NEXTRAW - position->c[1] = ATOFD; NEXTRAW - position->c[2] = ATOFD; NEXTRAW - velocity->c[0] = ATOFF; NEXTRAW - velocity->c[1] = ATOFF; NEXTRAW - velocity->c[2] = ATOFF; NEXTRAW - *attUncertainty = ATOFF; NEXTRAW - *posUncertainty = ATOFF; NEXTRAW - *velUncertainty = ATOFF; -} - -void VnUartPacket_parseInsBasicConfiguration(VnUartPacket *packet, uint8_t* scenario, uint8_t* ahrsAiding, uint8_t* estBaseline, uint8_t* resv2) -{ - VnUartPacket_parseInsBasicConfigurationRaw((char*)packet->data, scenario, ahrsAiding, estBaseline, resv2); -} - -void VnUartPacket_parseInsBasicConfigurationRaw(char *packet, uint8_t* scenario, uint8_t* ahrsAiding, uint8_t* estBaseline, uint8_t* resv2) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *scenario = ATOU8; NEXTRAW - *ahrsAiding = ATOU8; NEXTRAW - *estBaseline = ATOU8; NEXTRAW - *resv2 = ATOU8; -} - -void VnUartPacket_parseInsAdvancedConfiguration(VnUartPacket *packet, uint8_t* useMag, uint8_t* usePres, uint8_t* posAtt, uint8_t* velAtt, uint8_t* velBias, uint8_t* useFoam, uint8_t* gpsCovType, uint8_t* velCount, float* velInit, float* moveOrigin, float* gpsTimeout, float* deltaLimitPos, float* deltaLimitVel, float* minPosUncertainty, float* minVelUncertainty) -{ - VnUartPacket_parseInsAdvancedConfigurationRaw((char*)packet->data, useMag, usePres, posAtt, velAtt, velBias, useFoam, gpsCovType, velCount, velInit, moveOrigin, gpsTimeout, deltaLimitPos, deltaLimitVel, minPosUncertainty, minVelUncertainty); -} - -void VnUartPacket_parseInsAdvancedConfigurationRaw(char *packet, uint8_t* useMag, uint8_t* usePres, uint8_t* posAtt, uint8_t* velAtt, uint8_t* velBias, uint8_t* useFoam, uint8_t* gpsCovType, uint8_t* velCount, float* velInit, float* moveOrigin, float* gpsTimeout, float* deltaLimitPos, float* deltaLimitVel, float* minPosUncertainty, float* minVelUncertainty) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *useMag = ATOU8; NEXTRAW - *usePres = ATOU8; NEXTRAW - *posAtt = ATOU8; NEXTRAW - *velAtt = ATOU8; NEXTRAW - *velBias = ATOU8; NEXTRAW - *useFoam = ATOU8; NEXTRAW - *gpsCovType = ATOU8; NEXTRAW - *velCount = ATOU8; NEXTRAW - *velInit = ATOFF; NEXTRAW - *moveOrigin = ATOFF; NEXTRAW - *gpsTimeout = ATOFF; NEXTRAW - *deltaLimitPos = ATOFF; NEXTRAW - *deltaLimitVel = ATOFF; NEXTRAW - *minPosUncertainty = ATOFF; NEXTRAW - *minVelUncertainty = ATOFF; -} - -void VnUartPacket_parseInsStateLla(VnUartPacket *packet, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, vec3f* accel, vec3f* angularRate) -{ - VnUartPacket_parseInsStateLlaRaw((char*)packet->data, yawPitchRoll, position, velocity, accel, angularRate); -} - -void VnUartPacket_parseInsStateLlaRaw(char *packet, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, vec3f* accel, vec3f* angularRate) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - yawPitchRoll->c[0] = ATOFF; NEXTRAW - yawPitchRoll->c[1] = ATOFF; NEXTRAW - yawPitchRoll->c[2] = ATOFF; NEXTRAW - position->c[0] = ATOFD; NEXTRAW - position->c[1] = ATOFD; NEXTRAW - position->c[2] = ATOFD; NEXTRAW - velocity->c[0] = ATOFF; NEXTRAW - velocity->c[1] = ATOFF; NEXTRAW - velocity->c[2] = ATOFF; NEXTRAW - accel->c[0] = ATOFF; NEXTRAW - accel->c[1] = ATOFF; NEXTRAW - accel->c[2] = ATOFF; NEXTRAW - angularRate->c[0] = ATOFF; NEXTRAW - angularRate->c[1] = ATOFF; NEXTRAW - angularRate->c[2] = ATOFF; -} - -void VnUartPacket_parseInsStateEcef(VnUartPacket *packet, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, vec3f* accel, vec3f* angularRate) -{ - VnUartPacket_parseInsStateEcefRaw((char*)packet->data, yawPitchRoll, position, velocity, accel, angularRate); -} - -void VnUartPacket_parseInsStateEcefRaw(char *packet, vec3f* yawPitchRoll, vec3d* position, vec3f* velocity, vec3f* accel, vec3f* angularRate) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - yawPitchRoll->c[0] = ATOFF; NEXTRAW - yawPitchRoll->c[1] = ATOFF; NEXTRAW - yawPitchRoll->c[2] = ATOFF; NEXTRAW - position->c[0] = ATOFD; NEXTRAW - position->c[1] = ATOFD; NEXTRAW - position->c[2] = ATOFD; NEXTRAW - velocity->c[0] = ATOFF; NEXTRAW - velocity->c[1] = ATOFF; NEXTRAW - velocity->c[2] = ATOFF; NEXTRAW - accel->c[0] = ATOFF; NEXTRAW - accel->c[1] = ATOFF; NEXTRAW - accel->c[2] = ATOFF; NEXTRAW - angularRate->c[0] = ATOFF; NEXTRAW - angularRate->c[1] = ATOFF; NEXTRAW - angularRate->c[2] = ATOFF; -} - -void VnUartPacket_parseStartupFilterBiasEstimate(VnUartPacket *packet, vec3f* gyroBias, vec3f* accelBias, float* pressureBias) -{ - VnUartPacket_parseStartupFilterBiasEstimateRaw((char*)packet->data, gyroBias, accelBias, pressureBias); -} - -void VnUartPacket_parseStartupFilterBiasEstimateRaw(char *packet, vec3f* gyroBias, vec3f* accelBias, float* pressureBias) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - gyroBias->c[0] = ATOFF; NEXTRAW - gyroBias->c[1] = ATOFF; NEXTRAW - gyroBias->c[2] = ATOFF; NEXTRAW - accelBias->c[0] = ATOFF; NEXTRAW - accelBias->c[1] = ATOFF; NEXTRAW - accelBias->c[2] = ATOFF; NEXTRAW - *pressureBias = ATOFF; -} - -void VnUartPacket_parseDeltaThetaAndDeltaVelocity(VnUartPacket *packet, float* deltaTime, vec3f* deltaTheta, vec3f* deltaVelocity) -{ - VnUartPacket_parseDeltaThetaAndDeltaVelocityRaw((char*)packet->data, deltaTime, deltaTheta, deltaVelocity); -} - -void VnUartPacket_parseDeltaThetaAndDeltaVelocityRaw(char *packet, float* deltaTime, vec3f* deltaTheta, vec3f* deltaVelocity) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *deltaTime = ATOFF; NEXTRAW - deltaTheta->c[0] = ATOFF; NEXTRAW - deltaTheta->c[1] = ATOFF; NEXTRAW - deltaTheta->c[2] = ATOFF; NEXTRAW - deltaVelocity->c[0] = ATOFF; NEXTRAW - deltaVelocity->c[1] = ATOFF; NEXTRAW - deltaVelocity->c[2] = ATOFF; -} - -void VnUartPacket_parseDeltaThetaAndDeltaVelocityConfiguration(VnUartPacket *packet, uint8_t* integrationFrame, uint8_t* gyroCompensation, uint8_t* accelCompensation, uint8_t* reserved1, uint16_t* reserved2) -{ - VnUartPacket_parseDeltaThetaAndDeltaVelocityConfigurationRaw((char*)packet->data, integrationFrame, gyroCompensation, accelCompensation, reserved1, reserved2); -} - -void VnUartPacket_parseDeltaThetaAndDeltaVelocityConfigurationRaw(char *packet, uint8_t* integrationFrame, uint8_t* gyroCompensation, uint8_t* accelCompensation, uint8_t* reserved1, uint16_t* reserved2) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *integrationFrame = ATOU8; NEXTRAW - *gyroCompensation = ATOU8; NEXTRAW - *accelCompensation = ATOU8; NEXTRAW - *reserved1 = ATOU8; NEXTRAW - *reserved2 = ATOU16; -} - -void VnUartPacket_parseReferenceVectorConfiguration(VnUartPacket *packet, uint8_t* useMagModel, uint8_t* useGravityModel, uint8_t* resv1, uint8_t* resv2, uint32_t* recalcThreshold, float* year, vec3d* position) -{ - VnUartPacket_parseReferenceVectorConfigurationRaw((char*)packet->data, useMagModel, useGravityModel, resv1, resv2, recalcThreshold, year, position); -} - -void VnUartPacket_parseReferenceVectorConfigurationRaw(char *packet, uint8_t* useMagModel, uint8_t* useGravityModel, uint8_t* resv1, uint8_t* resv2, uint32_t* recalcThreshold, float* year, vec3d* position) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *useMagModel = ATOU8; NEXTRAW - *useGravityModel = ATOU8; NEXTRAW - *resv1 = ATOU8; NEXTRAW - *resv2 = ATOU8; NEXTRAW - *recalcThreshold = ATOU32; NEXTRAW - *year = ATOFF; NEXTRAW - position->c[0] = ATOFD; NEXTRAW - position->c[1] = ATOFD; NEXTRAW - position->c[2] = ATOFD; -} - -void VnUartPacket_parseGyroCompensation(VnUartPacket *packet, mat3f* c, vec3f* b) -{ - VnUartPacket_parseGyroCompensationRaw((char*)packet->data, c, b); -} - -void VnUartPacket_parseGyroCompensationRaw(char *packet, mat3f* c, vec3f* b) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - c->e[0] = ATOFF; NEXTRAW - c->e[3] = ATOFF; NEXTRAW - c->e[6] = ATOFF; NEXTRAW - c->e[1] = ATOFF; NEXTRAW - c->e[4] = ATOFF; NEXTRAW - c->e[7] = ATOFF; NEXTRAW - c->e[2] = ATOFF; NEXTRAW - c->e[5] = ATOFF; NEXTRAW - c->e[8] = ATOFF; NEXTRAW - b->c[0] = ATOFF; NEXTRAW - b->c[1] = ATOFF; NEXTRAW - b->c[2] = ATOFF; -} - -void VnUartPacket_parseImuFilteringConfiguration(VnUartPacket *packet, uint16_t* magWindowSize, uint16_t* accelWindowSize, uint16_t* gyroWindowSize, uint16_t* tempWindowSize, uint16_t* presWindowSize, uint8_t* magFilterMode, uint8_t* accelFilterMode, uint8_t* gyroFilterMode, uint8_t* tempFilterMode, uint8_t* presFilterMode) -{ - VnUartPacket_parseImuFilteringConfigurationRaw((char*)packet->data, magWindowSize, accelWindowSize, gyroWindowSize, tempWindowSize, presWindowSize, magFilterMode, accelFilterMode, gyroFilterMode, tempFilterMode, presFilterMode); -} - -void VnUartPacket_parseImuFilteringConfigurationRaw(char *packet, uint16_t* magWindowSize, uint16_t* accelWindowSize, uint16_t* gyroWindowSize, uint16_t* tempWindowSize, uint16_t* presWindowSize, uint8_t* magFilterMode, uint8_t* accelFilterMode, uint8_t* gyroFilterMode, uint8_t* tempFilterMode, uint8_t* presFilterMode) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *magWindowSize = ATOU16; NEXTRAW - *accelWindowSize = ATOU16; NEXTRAW - *gyroWindowSize = ATOU16; NEXTRAW - *tempWindowSize = ATOU16; NEXTRAW - *presWindowSize = ATOU16; NEXTRAW - *magFilterMode = ATOU8; NEXTRAW - *accelFilterMode = ATOU8; NEXTRAW - *gyroFilterMode = ATOU8; NEXTRAW - *tempFilterMode = ATOU8; NEXTRAW - *presFilterMode = ATOU8; -} - -void VnUartPacket_parseGpsCompassBaseline(VnUartPacket *packet, vec3f* position, vec3f* uncertainty) -{ - VnUartPacket_parseGpsCompassBaselineRaw((char*)packet->data, position, uncertainty); -} - -void VnUartPacket_parseGpsCompassBaselineRaw(char *packet, vec3f* position, vec3f* uncertainty) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - position->c[0] = ATOFF; NEXTRAW - position->c[1] = ATOFF; NEXTRAW - position->c[2] = ATOFF; NEXTRAW - uncertainty->c[0] = ATOFF; NEXTRAW - uncertainty->c[1] = ATOFF; NEXTRAW - uncertainty->c[2] = ATOFF; -} - -void VnUartPacket_parseGpsCompassEstimatedBaseline(VnUartPacket *packet, uint8_t* estBaselineUsed, uint8_t* resv, uint16_t* numMeas, vec3f* position, vec3f* uncertainty) -{ - VnUartPacket_parseGpsCompassEstimatedBaselineRaw((char*)packet->data, estBaselineUsed, resv, numMeas, position, uncertainty); -} - -void VnUartPacket_parseGpsCompassEstimatedBaselineRaw(char *packet, uint8_t* estBaselineUsed, uint8_t* resv, uint16_t* numMeas, vec3f* position, vec3f* uncertainty) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *estBaselineUsed = ATOU8; NEXTRAW - *resv = ATOU8; NEXTRAW - *numMeas = ATOU16; NEXTRAW - position->c[0] = ATOFF; NEXTRAW - position->c[1] = ATOFF; NEXTRAW - position->c[2] = ATOFF; NEXTRAW - uncertainty->c[0] = ATOFF; NEXTRAW - uncertainty->c[1] = ATOFF; NEXTRAW - uncertainty->c[2] = ATOFF; -} - -void VnUartPacket_parseImuRateConfiguration(VnUartPacket *packet, uint16_t* imuRate, uint16_t* navDivisor, float* filterTargetRate, float* filterMinRate) -{ - VnUartPacket_parseImuRateConfigurationRaw((char*)packet->data, imuRate, navDivisor, filterTargetRate, filterMinRate); -} - -void VnUartPacket_parseImuRateConfigurationRaw(char *packet, uint16_t* imuRate, uint16_t* navDivisor, float* filterTargetRate, float* filterMinRate) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - *imuRate = ATOU16; NEXTRAW - *navDivisor = ATOU16; NEXTRAW - *filterTargetRate = ATOFF; NEXTRAW - *filterMinRate = ATOFF; -} - -void VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRates(VnUartPacket *packet, vec3f* yawPitchRoll, vec3f* bodyAccel, vec3f* gyro) -{ - VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRatesRaw((char*)packet->data, yawPitchRoll, bodyAccel, gyro); -} - -void VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRatesRaw(char *packet, vec3f* yawPitchRoll, vec3f* bodyAccel, vec3f* gyro) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - yawPitchRoll->c[0] = ATOFF; NEXTRAW - yawPitchRoll->c[1] = ATOFF; NEXTRAW - yawPitchRoll->c[2] = ATOFF; NEXTRAW - bodyAccel->c[0] = ATOFF; NEXTRAW - bodyAccel->c[1] = ATOFF; NEXTRAW - bodyAccel->c[2] = ATOFF; NEXTRAW - gyro->c[0] = ATOFF; NEXTRAW - gyro->c[1] = ATOFF; NEXTRAW - gyro->c[2] = ATOFF; -} - -void VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRates(VnUartPacket *packet, vec3f* yawPitchRoll, vec3f* inertialAccel, vec3f* gyro) -{ - VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRatesRaw((char*)packet->data, yawPitchRoll, inertialAccel, gyro); -} - -void VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRatesRaw(char *packet, vec3f* yawPitchRoll, vec3f* inertialAccel, vec3f* gyro) -{ - size_t packetIndex; - char *result = (char*)VnUartPacket_startAsciiResponsePacketParse((uint8_t*)packet, &packetIndex); - - yawPitchRoll->c[0] = ATOFF; NEXTRAW - yawPitchRoll->c[1] = ATOFF; NEXTRAW - yawPitchRoll->c[2] = ATOFF; NEXTRAW - inertialAccel->c[0] = ATOFF; NEXTRAW - inertialAccel->c[1] = ATOFF; NEXTRAW - inertialAccel->c[2] = ATOFF; NEXTRAW - gyro->c[0] = ATOFF; NEXTRAW - gyro->c[1] = ATOFF; NEXTRAW - gyro->c[2] = ATOFF; -} - -void strFromVnAsciiAsync(char *out, VnAsciiAsync val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNOFF: - strcpy(out, "Off"); - break; - case VNYPR: - strcpy(out, "Yaw, Pitch, Roll"); - break; - case VNQTN: - strcpy(out, "Quaterion"); - break; - #ifdef EXTRA - case VNQTM: - strcpy(out, "Quaternion and Magnetic"); - break; - case VNQTA: - strcpy(out, "Quaternion and Acceleration"); - break; - case VNQTR: - strcpy(out, "Quaternion and Angular Rates"); - break; - case VNQMA: - strcpy(out, "Quaternion, Magnetic and Acceleration"); - break; - case VNQAR: - strcpy(out, "Quaternion, Acceleration and Angular Rates"); - break; - #endif - case VNQMR: - strcpy(out, "Quaternion, Magnetic, Acceleration and Angular Rates"); - break; - #ifdef EXTRA - case VNDCM: - strcpy(out, "Directional Cosine Orientation Matrix"); - break; - #endif - case VNMAG: - strcpy(out, "Magnetic Measurements"); - break; - case VNACC: - strcpy(out, "Acceleration Measurements"); - break; - case VNGYR: - strcpy(out, "Angular Rate Measurements"); - break; - case VNMAR: - strcpy(out, "Magnetic, Acceleration, and Angular Rate Measurements"); - break; - case VNYMR: - strcpy(out, "Yaw, Pitch, Roll, Magnetic, Acceleration, and Angular Rate Measurements"); - break; - #ifdef EXTRA - case VNYCM: - strcpy(out, "Yaw, Pitch, Roll, and Calibrated Measurements"); - break; - #endif - case VNYBA: - strcpy(out, "Yaw, Pitch, Roll, Body True Acceleration"); - break; - case VNYIA: - strcpy(out, "Yaw, Pitch, Roll, Inertial True Acceleration"); - break; - #ifdef EXTRA - case VNICM: - strcpy(out, "Yaw, Pitch, Roll, Inertial Magnetic/Acceleration, and Angular Rate Measurements"); - break; - #endif - case VNIMU: - strcpy(out, "Calibrated Inertial Measurements"); - break; - case VNGPS: - strcpy(out, "GPS LLA"); - break; - case VNGPE: - strcpy(out, "GPS ECEF"); - break; - case VNINS: - strcpy(out, "INS LLA solution"); - break; - case VNINE: - strcpy(out, "INS ECEF solution"); - break; - case VNISL: - strcpy(out, "INS LLA 2 solution"); - break; - case VNISE: - strcpy(out, "INS ECEF 2 solution"); - break; - case VNDTV: - strcpy(out, "Delta Theta and Delta Velocity"); - break; - case VNRTK: - strcpy(out, "RTK"); - break; -#ifdef EXTRA - case VNRAW: - strcpy(out, "Raw Voltage Measurements"); - break; - case VNCMV: - strcpy(out, "Calibrated Measurements"); - break; - case VNSTV: - strcpy(out, "Kalman Filter State Vector"); - break; - case VNCOV: - strcpy(out, "Kalman Filter Covariance Matrix Diagonal"); - break; - #endif - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} diff --git a/vnproglib/c/src/vn/protocol/upackf.c b/vnproglib/c/src/vn/protocol/upackf.c deleted file mode 100644 index 195d814..0000000 --- a/vnproglib/c/src/vn/protocol/upackf.c +++ /dev/null @@ -1,438 +0,0 @@ -#include "vn/protocol/upackf.h" - -#include -/*#include -#include */ - -#include "vn/util.h" - -/*#define MAXIMUM_REGISTER_ID 255 -#define ASCII_START_CHAR '$' - -#define BINARY_START_CHAR 0xFA*/ -#define ASCII_END_CHAR1 '\r' -#define ASCII_END_CHAR2 '\n' -#define MAX_BINARY_PACKET_SIZE 600 - -/* Function declarations */ -void VnUartPacketFinder_dispatchPacket(VnUartPacketFinder* finder, VnUartPacket* packet, size_t running); -void VnUartPacketFinder_processPacket(VnUartPacketFinder* finder, uint8_t* start, size_t len, size_t running); -void VnUartPacketFinder_resetAllTrackingStatus(VnUartPacketFinder* finder); -void VnUartPacketFinder_resetAsciiStatus(VnUartPacketFinder* finder); -void VnUartPacketFinder_resetBinaryStatus(VnUartPacketFinder* finder); - - -/** \brief Dispatch packet. -* \param[in] running Running Index. */ -void vn_uart_packet_finder_packet_found(VnUartPacketFinder* finder, uint8_t* start, size_t len, size_t running); - -char* vnstrtok(char* str, size_t* startIndex); - -void VnUartPacketFinder_initialize(VnUartPacketFinder* toInitialize) -{ - toInitialize->packetFoundHandler = NULL; - toInitialize->packetFoundHandlerUserData = NULL; - toInitialize->runningDataIndex = 0; - toInitialize->asciiCurrentlyBuildingPacket = false; - toInitialize->asciiPossibleStartOfPacketIndex = 0; - toInitialize->asciiRunningDataIndexOfStart = 0; - toInitialize->asciiEndChar1Found = false; - toInitialize->binaryCurrentlyBuildingBinaryPacket = false; - toInitialize->binaryRunningDataIndexOfStart = 0; - toInitialize->bufferSize = VNUART_PROTOCOL_BUFFER_SIZE; - toInitialize->binaryGroupsPresentFound = false; - toInitialize->binaryGroupsPresent = 0; - toInitialize->binaryNumOfBytesRemainingToHaveAllGroupFields = 0; - toInitialize->binaryPossibleStartIndex = 0; - toInitialize->binaryNumberOfBytesRemainingForCompletePacket = 0; - toInitialize->bufferAppendLocation = 0; -} - -VnError VnUartPacketFinder_processData(VnUartPacketFinder* finder, uint8_t* data, size_t len) -{ - return VnUartPacketFinder_processData_ex(finder, data, len, false); -} - - -VnError VnUartPacketFinder_processData_ex(VnUartPacketFinder* finder, uint8_t* data, size_t len, bool bootloaderFilter) -{ - bool asciiStartFoundInProvidedBuffer = false; - bool binaryStartFoundInProvidedDataBuffer = false; - size_t i, dataIndexToStartCopyingFrom, binaryDataMoveOverIndexAdjustment; - bool binaryDataToCopyOver; - - /* Assume that since the _runningDataIndex is unsigned, any overflows - * will naturally go to zero, which is the behavior that we want. */ - for (i = 0; i < len; i++, finder->runningDataIndex++) - { - bool justFinishedBinaryPacket = false; - - if ((data[i] == VN_ASCII_START_CHAR) || (bootloaderFilter && (!finder->asciiCurrentlyBuildingPacket && data[i] == VN_BOOTLOAD_START_CHAR))) - { - VnUartPacketFinder_resetAsciiStatus(finder); - finder->asciiCurrentlyBuildingPacket = true; - finder->asciiPossibleStartOfPacketIndex = i; - finder->asciiRunningDataIndexOfStart = finder->runningDataIndex; - - asciiStartFoundInProvidedBuffer = true; - } - else if (finder->asciiCurrentlyBuildingPacket && data[i] == ASCII_END_CHAR1) - { - finder->asciiEndChar1Found = true; - } - else if ((bootloaderFilter || (!bootloaderFilter && finder->asciiEndChar1Found)) && (finder->asciiCurrentlyBuildingPacket && data[i] == ASCII_END_CHAR2)) - { - if (asciiStartFoundInProvidedBuffer) - { - uint8_t* startOfAsciiPacket; - size_t packetLength; - - /* All the packet was in this data buffer so we don't - * need to do any copying. */ - - startOfAsciiPacket = data + finder->asciiPossibleStartOfPacketIndex; - packetLength = i - finder->asciiPossibleStartOfPacketIndex + 1; - - VnUartPacketFinder_processPacket(finder, startOfAsciiPacket, packetLength, finder->asciiRunningDataIndexOfStart); - - asciiStartFoundInProvidedBuffer = false; - VnUartPacketFinder_resetAsciiStatus(finder); - } - else - { - /* The packet was split between the running data buffer - * the current data buffer. We need to copy the data - * over before further processing. */ - - if (finder->bufferAppendLocation + i < finder->bufferSize) - { - uint8_t* startOfAsciiPacket; - size_t packetLength; - - memcpy(finder->receiveBuffer + finder->bufferAppendLocation, data, i + 1); - - startOfAsciiPacket = finder->receiveBuffer + finder->asciiPossibleStartOfPacketIndex; - packetLength = finder->bufferAppendLocation + i + 1 - finder->asciiPossibleStartOfPacketIndex; - - VnUartPacketFinder_processPacket(finder, startOfAsciiPacket, packetLength, finder->asciiRunningDataIndexOfStart); - - asciiStartFoundInProvidedBuffer = false; - VnUartPacketFinder_resetAsciiStatus(finder); - } - else - { - /* We are about to overflow our buffer. */ - VnUartPacketFinder_resetAllTrackingStatus(finder); - asciiStartFoundInProvidedBuffer = false; - binaryStartFoundInProvidedDataBuffer = false; - } - } - } - else if (finder->asciiEndChar1Found) - { - /* Must not be a valid ASCII packet. */ - VnUartPacketFinder_resetAsciiStatus(finder); - asciiStartFoundInProvidedBuffer = false; - if (!finder->binaryCurrentlyBuildingBinaryPacket) - finder->bufferAppendLocation = 0; - } - - /* Update our binary packet in processing. */ - if (finder->binaryCurrentlyBuildingBinaryPacket) - { - if (!finder->binaryGroupsPresentFound) - { - /* This byte must be the groups present. */ - finder->binaryGroupsPresentFound = true; - finder->binaryGroupsPresent = (uint8_t) data[i]; - finder->binaryNumOfBytesRemainingToHaveAllGroupFields = (uint8_t) (2 * VnUtil_countSetBitsUint8((uint8_t) data[i])); - } - else if (finder->binaryNumOfBytesRemainingToHaveAllGroupFields != 0) - { - /* We found another byte belonging to this possible binary packet. */ - finder->binaryNumOfBytesRemainingToHaveAllGroupFields--; - - if (finder->binaryNumOfBytesRemainingToHaveAllGroupFields == 0) - { - /* We have all of the group fields now. */ - - size_t remainingBytesForCompletePacket = 0; - if (binaryStartFoundInProvidedDataBuffer) - { - size_t headerLength = i - finder->binaryPossibleStartIndex + 1; - remainingBytesForCompletePacket = VnUartPacket_computeBinaryPacketLength(data + finder->binaryPossibleStartIndex) - headerLength; - } - else - { - /* Not all of the packet's group is inside the caller's provided buffer. */ - - /* Temporarily copy the rest of the packet to the receive buffer - * for computing the size of the packet. - */ - - size_t numOfBytesToCopyIntoReceiveBuffer = i + 1; - size_t headerLength = finder->bufferAppendLocation - finder->binaryPossibleStartIndex + numOfBytesToCopyIntoReceiveBuffer; - - if (finder->bufferAppendLocation + numOfBytesToCopyIntoReceiveBuffer < finder->bufferSize) - { - memcpy( - finder->receiveBuffer + finder->bufferAppendLocation, - data, - numOfBytesToCopyIntoReceiveBuffer); - - remainingBytesForCompletePacket = VnUartPacket_computeBinaryPacketLength(finder->receiveBuffer + finder->binaryPossibleStartIndex) - headerLength; - } - else - { - /* About to overrun our receive buffer! */ - VnUartPacketFinder_resetAllTrackingStatus(finder); - binaryStartFoundInProvidedDataBuffer = false; - asciiStartFoundInProvidedBuffer = false; - } - } - - if (finder->binaryCurrentlyBuildingBinaryPacket) - { - if (remainingBytesForCompletePacket > MAX_BINARY_PACKET_SIZE) - { - /* Must be a bad possible binary packet. */ - VnUartPacketFinder_resetBinaryStatus(finder); - binaryStartFoundInProvidedDataBuffer = false; - - if (!finder->asciiCurrentlyBuildingPacket) - finder->bufferAppendLocation = 0; - } - else - { - finder->binaryNumberOfBytesRemainingForCompletePacket = remainingBytesForCompletePacket; - } - } - } - } - else - { - /* We are currently collecting data for our packet. */ - - finder->binaryNumberOfBytesRemainingForCompletePacket--; - - if (finder->binaryNumberOfBytesRemainingForCompletePacket == 0) - { - /* We have a possible binary packet! */ - - if (binaryStartFoundInProvidedDataBuffer) - { - uint8_t* packetStart; - size_t packetLength; - - /* The binary packet exists completely in the user's provided buffer. */ - packetStart = data + finder->binaryPossibleStartIndex; - packetLength = i - finder->binaryPossibleStartIndex + 1; - - VnUartPacketFinder_processPacket(finder, packetStart, packetLength, finder->binaryRunningDataIndexOfStart); - - justFinishedBinaryPacket = true; - } - else - { - /* The packet is split between our receive buffer and the user's buffer. */ - size_t numOfBytesToCopyIntoReceiveBuffer = i + 1; - - if (finder->bufferAppendLocation + numOfBytesToCopyIntoReceiveBuffer < finder->bufferSize) - { - uint8_t* packetStart; - size_t packetLength; - - memcpy( - finder->receiveBuffer + finder->bufferAppendLocation, - data, - numOfBytesToCopyIntoReceiveBuffer); - - packetStart = finder->receiveBuffer + finder->binaryPossibleStartIndex; - packetLength = finder->bufferAppendLocation - finder->binaryPossibleStartIndex + i + 1; - - VnUartPacketFinder_processPacket(finder, packetStart, packetLength, finder->binaryRunningDataIndexOfStart); - - justFinishedBinaryPacket = true; - } - else - { - /* About to overrun our receive buffer! */ - VnUartPacketFinder_resetAllTrackingStatus(finder); - binaryStartFoundInProvidedDataBuffer = false; - asciiStartFoundInProvidedBuffer = false; - } - } - } - } - } - - if (data[i] == VN_BINARY_START_CHAR && !justFinishedBinaryPacket) - { - if (!finder->binaryCurrentlyBuildingBinaryPacket) - { - /* Possible start of a binary packet. */ - binaryStartFoundInProvidedDataBuffer = true; - finder->binaryCurrentlyBuildingBinaryPacket = true; - finder->binaryPossibleStartIndex = i; - finder->binaryGroupsPresentFound = false; - finder->binaryNumOfBytesRemainingToHaveAllGroupFields = 0; - finder->binaryNumberOfBytesRemainingForCompletePacket = 0; - finder->binaryRunningDataIndexOfStart = finder->runningDataIndex; - } - } - } - - /* Perform any data copying to our receive buffer. */ - - dataIndexToStartCopyingFrom = 0; - binaryDataToCopyOver = false; - binaryDataMoveOverIndexAdjustment = 0; - - if (finder->binaryCurrentlyBuildingBinaryPacket) - { - binaryDataToCopyOver = true; - - if (binaryStartFoundInProvidedDataBuffer) - { - dataIndexToStartCopyingFrom = finder->binaryPossibleStartIndex; - binaryDataMoveOverIndexAdjustment = dataIndexToStartCopyingFrom; - } - } - - if (finder->asciiCurrentlyBuildingPacket && asciiStartFoundInProvidedBuffer) - { - if (finder->asciiPossibleStartOfPacketIndex < dataIndexToStartCopyingFrom) - { - binaryDataMoveOverIndexAdjustment -= binaryDataMoveOverIndexAdjustment - finder->asciiPossibleStartOfPacketIndex; - dataIndexToStartCopyingFrom = finder->asciiPossibleStartOfPacketIndex; - } - else if (!binaryDataToCopyOver) - { - dataIndexToStartCopyingFrom = finder->asciiPossibleStartOfPacketIndex; - } - - /* Adjust our ASCII index to be based on the receive buffer. */ - finder->asciiPossibleStartOfPacketIndex = finder->bufferAppendLocation + finder->asciiPossibleStartOfPacketIndex - dataIndexToStartCopyingFrom; - } - - /* Adjust any binary packet indexes we are currently building. */ - if (finder->binaryCurrentlyBuildingBinaryPacket) - { - if (binaryStartFoundInProvidedDataBuffer) - { - finder->binaryPossibleStartIndex = finder->binaryPossibleStartIndex - binaryDataMoveOverIndexAdjustment + finder->bufferAppendLocation; - } - } - - if (finder->bufferAppendLocation + len - dataIndexToStartCopyingFrom < finder->bufferSize) - { - /* Safe to copy over the data. */ - size_t numOfBytesToCopyOver = len - dataIndexToStartCopyingFrom; - uint8_t *copyFromStart = data + dataIndexToStartCopyingFrom; - - memcpy( - finder->receiveBuffer + finder->bufferAppendLocation, - copyFromStart, - numOfBytesToCopyOver); - - finder->bufferAppendLocation += numOfBytesToCopyOver; - } - else - { - /* We are about to overflow our buffer. */ - VnUartPacketFinder_resetAsciiStatus(finder); - VnUartPacketFinder_resetBinaryStatus(finder); - finder->bufferAppendLocation = 0; - } - - return E_NONE; -} - -void VnUartPacketFinder_processPacket(VnUartPacketFinder* finder, uint8_t* start, size_t len, size_t running) -{ - VnUartPacket p; - PacketType t; - - VnUartPacket_initialize(&p, start, len); - - t = VnUartPacket_type(&p); - - if (VnUartPacket_isValid(&p)) - { - VnUartPacketFinder_dispatchPacket(finder, &p, running); - - /* Reset tracking for both packet types since this packet was valid. */ - VnUartPacketFinder_resetAsciiStatus(finder); - VnUartPacketFinder_resetBinaryStatus(finder); - - finder->bufferAppendLocation = 0; - } - else - { - /* Invalid packet! Reset tracking. */ - - if (t == PACKETTYPE_ASCII) - { - VnUartPacketFinder_resetAsciiStatus(finder); - - if (!finder->binaryCurrentlyBuildingBinaryPacket) - finder->bufferAppendLocation = 0; - } - else - { - VnUartPacketFinder_resetBinaryStatus(finder); - - if (!finder->asciiCurrentlyBuildingPacket) - finder->bufferAppendLocation = 0; - } - } -} - -void VnUartPacketFinder_resetAsciiStatus(VnUartPacketFinder* finder) -{ - finder->asciiCurrentlyBuildingPacket = false; - finder->asciiPossibleStartOfPacketIndex = 0; - finder->asciiEndChar1Found = false; - finder->asciiRunningDataIndexOfStart = 0; -} - -void VnUartPacketFinder_resetBinaryStatus(VnUartPacketFinder* finder) -{ - finder->binaryCurrentlyBuildingBinaryPacket = false; - finder->binaryGroupsPresentFound = false; - finder->binaryGroupsPresent = 0; - finder->binaryNumOfBytesRemainingToHaveAllGroupFields = 0; - finder->binaryPossibleStartIndex = 0; - finder->binaryNumberOfBytesRemainingForCompletePacket = 0; - finder->binaryRunningDataIndexOfStart = 0; -} - -void VnUartPacketFinder_resetAllTrackingStatus(VnUartPacketFinder *finder) -{ - if (finder->asciiCurrentlyBuildingPacket) - VnUartPacketFinder_resetAsciiStatus(finder); - - if (finder->binaryCurrentlyBuildingBinaryPacket) - VnUartPacketFinder_resetBinaryStatus(finder); - - finder->bufferAppendLocation = 0; -} - -void VnUartPacketFinder_dispatchPacket(VnUartPacketFinder* finder, VnUartPacket* packet, size_t running) -{ - if (finder->packetFoundHandler == NULL) - return; - - finder->packetFoundHandler(finder->packetFoundHandlerUserData, packet, running); -} - -VnError VnUartPacketFinder_registerPacketFoundHandler(VnUartPacketFinder* finder, VnUartPacketFinder_PacketFoundHandler handler, void *userData) -{ - if (finder->packetFoundHandler != NULL) - return E_INVALID_OPERATION; - - finder->packetFoundHandler = handler; - finder->packetFoundHandlerUserData = userData; - - return E_NONE; -} diff --git a/vnproglib/c/src/vn/sensors.c b/vnproglib/c/src/vn/sensors.c deleted file mode 100644 index 051291e..0000000 --- a/vnproglib/c/src/vn/sensors.c +++ /dev/null @@ -1,3526 +0,0 @@ -#include "vn/sensors.h" -#include "vn/error.h" -#include "vn/util.h" - -#include -#include -#include -#include - -#include "vn/xplat/time.h" - -#define UNUSED(x) (void)(sizeof(x)) - -#define DEFAULT_RESPONSE_TIMEOUT_MS 500 -#define DEFAULT_RETRANSMIT_DELAY_MS 200 -#define DEFAULT_READ_BUFFER_SIZE 256 -#define COMMAND_MAX_LENGTH 0x100 - -void VnSensor_dataReceivedHandler(void *userData); -void VnSensor_packetFoundHandler(void *userData, VnUartPacket *packet, size_t runningIndex); - -VnError VnSensor_transactionNoFinalize( - VnSensor *s, - char *toSend, - size_t toSendLength, - bool waitForReply, - char *responseBuffer, - size_t *responseSize); - -VnError VnSensor_transactionNoFinalizeWithTiming( - VnSensor *s, - char *toSend, - size_t toSendLength, - bool waitForReply, - char *responseBuffer, - size_t* responseBufferSize, - uint16_t responseTimeoutMs, - uint16_t retransmitDelayMs); - - - -void strFromSensorError(char *out, SensorError val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case ERR_HARD_FAULT: - strcpy(out, "HardFault"); - break; - case ERR_SERIAL_BUFFER_OVERFLOW: - strcpy(out, "SerialBufferOverflow"); - break; - case ERR_INVALID_CHECKSUM: - strcpy(out, "InvalidChecksum"); - break; - case ERR_INVALID_COMMAND: - strcpy(out, "InvalidCommand"); - break; - case ERR_NOT_ENOUGH_PARAMETERS: - strcpy(out, "NotEnoughParameters"); - break; - case ERR_TOO_MANY_PARAMETERS: - strcpy(out, "TooManyParameters"); - break; - case ERR_INVALID_PARAMETER: - strcpy(out, "InvalidParameter"); - break; - case ERR_INVALID_REGISTER: - strcpy(out, "InvalidRegister"); - break; - case ERR_UNAUTHORIZED_ACCESS: - strcpy(out, "UnauthorizedAccess"); - break; - case ERR_WATCHDOG_RESET: - strcpy(out, "WatchdogReset"); - break; - case ERR_OUTPUT_BUFFER_OVERFLOW: - strcpy(out, "OutputBufferOverflow"); - break; - case ERR_INSUFFICIENT_BAUD_RATE: - strcpy(out, "InsufficientBaudRate"); - break; - case ERR_ERROR_BUFFER_OVERFLOW: - strcpy(out, "ErrorBufferOverflow"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void BinaryOutputRegister_initialize( - BinaryOutputRegister *reg, - AsyncMode asyncMode, - uint32_t rateDivisor, - CommonGroup commonField, - TimeGroup timeField, - ImuGroup imuField, - GpsGroup gpsField, - AttitudeGroup attitudeField, - InsGroup insField, - GpsGroup gps2Field) -{ - reg->asyncMode = asyncMode; - reg->rateDivisor = (uint16_t)rateDivisor; - reg->commonField = commonField; - reg->timeField = timeField; - reg->imuField = imuField; - reg->gpsField = gpsField; - reg->attitudeField = attitudeField; - reg->insField = insField; - reg->gps2Field = gps2Field; -} - -VnError VnSensor_initialize(VnSensor* s) -{ - VnSerialPort_initialize(&s->serialPort); - s->sendErrorDetectionMode = VNERRORDETECTIONMODE_CHECKSUM; - s->responseTimeoutMs = DEFAULT_RESPONSE_TIMEOUT_MS; - s->retransmitDelayMs = DEFAULT_RETRANSMIT_DELAY_MS; - VnCriticalSection_initialize(&s->transactionCS); - s->responseWaitingForProcessing = false; - s->waitingForResponse = false; - s->bootloaderFilter = false; - VnEvent_initialize(&s->newResponsesEvent); - s->responseLength = 0; - s->runningDataIndex = 0; - VnUartPacketFinder_initialize(&s->packetFinder); - s->asyncPacketFoundHandler = NULL; - s->asyncPacketFoundHandlerUserData = NULL; - s->errorMessageReceivedHandler = NULL; - s->errorMessageReceivedHandlerUserData = NULL; - - VnUartPacketFinder_registerPacketFoundHandler(&s->packetFinder, VnSensor_packetFoundHandler, s); - - return E_NONE; -} - -VnError VnSensor_connect(VnSensor *s, const char *portName, uint32_t baudrate) -{ - VnError error; - - if (VnSensor_isConnected(s)) - return E_INVALID_OPERATION; - - if ((error = VnSerialPort_open(&s->serialPort, portName, baudrate)) != E_NONE) - return error; - - VnSerialPort_registerDataReceivedHandler(&s->serialPort, VnSensor_dataReceivedHandler, s); - - return E_NONE; -} - -VnError VnSensor_disconnect(VnSensor* s) -{ - VnError error; - - if (!VnSensor_isConnected(s)) - return E_INVALID_OPERATION; - - VnSerialPort_unregisterDataReceivedHandler(&s->serialPort); - - if ((error = VnSerialPort_close(&s->serialPort)) != E_NONE) - return error; - - return E_NONE; -} - -VnError VnSensor_changeBaudrate(VnSensor* s, uint32_t baudrate) -{ - VnError error; - - if ((error = VnSensor_writeSerialBaudRate(s, baudrate, true)) != E_NONE) - return error; - - return VnSerialPort_changeBaudrate(&s->serialPort, baudrate); -} - -VnError VnSensor_transaction(VnSensor* s, char* toSend, size_t toSendLength, char* response, size_t* responseLength) -{ - char buffer[COMMAND_MAX_LENGTH]; - size_t finalLength = toSendLength; - - /* Copy over what was provided. */ - memcpy(buffer, toSend, toSendLength); - - /* Add null termination for string operations below. */ - buffer[toSendLength] = '\0'; - - /* First see if an '*' is present. */ - if (strchr(buffer, '*') == NULL) - { - VnUartPacket_finalizeCommand(s->sendErrorDetectionMode, (uint8_t*)buffer, &finalLength); - } - else if (buffer[finalLength - 2] != '\r' && buffer[finalLength - 1] != '\n') - { - buffer[finalLength++] = '\r'; - buffer[finalLength++] = '\n'; - } - - return VnSensor_transactionNoFinalize(s, buffer, finalLength, true, response, responseLength); -} - -bool VnSensor_isConnected(VnSensor* s) -{ - return VnSerialPort_isOpen(&s->serialPort); -} - -VnError VnSensor_writeSettings(VnSensor *s, bool waitForReply) -{ - VnError error; - char toSend[37]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genCmdWriteSettings( - (uint8_t*)toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength)) != E_NONE) - { - return error; - } - - return VnSensor_transactionNoFinalizeWithTiming(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength, 2500, 1000); -} - -VnError VnSensor_restoreFactorySettings(VnSensor *s, bool waitForReply) -{ - VnError error; - char toSend[37]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genCmdRestoreFactorySettings( - (uint8_t*)toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength)) != E_NONE) - { - return error; - } - - return VnSensor_transactionNoFinalizeWithTiming(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength, 2500, 1000); -} - -VnError VnSensor_reset(VnSensor *s, bool waitForReply) -{ - VnError error; - char toSend[37]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genCmdReset( - (uint8_t*)toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength)) != E_NONE) - { - return error; - } - - return VnSensor_transactionNoFinalizeWithTiming(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength, 2500, 1000); - -} - -VnError VnSensor_firmwareUpdateMode(VnSensor* s, bool waitForReply) -{ - VnError error = E_NONE; - char toSend[37]; - size_t toSendLength = sizeof(toSend); - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - memset(toSend, 0, toSendLength); - memset(responseBuffer, 0, responseLength); - - if ((error = VnUartPacket_genCmdFirmwareUpdate((uint8_t*)toSend, sizeof(toSend), s->sendErrorDetectionMode, &toSendLength)) != E_NONE) return error; - - if ((error = VnSensor_transactionNoFinalizeWithTiming(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength, 2500, 1000)) != E_NONE) return error; - - return error; - -} - -VnError VnSensor_tare(VnSensor *s, bool waitForReply) -{ - VnError error; - char toSend[14]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genCmdTare( - (uint8_t*)toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength)) != E_NONE) - { - return error; - } - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_setGyroBias(VnSensor *s, bool waitForReply) -{ - VnError error; - char toSend[14]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genCmdSetGyroBias( - (uint8_t*)toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength)) != E_NONE) - { - return error; - } - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_magneticDisturbancePresent(VnSensor *s, bool disturbancePresent, bool waitForReply) -{ - VnError error; - char toSend[14]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genCmdKnownMagneticDisturbance( - (uint8_t*)toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - disturbancePresent, - &toSendLength)) != E_NONE) - { - return error; - } - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_accelerationDisturbancePresent(VnSensor *s, bool disturbancePresent, bool waitForReply) -{ - VnError error; - char toSend[14]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genCmdKnownAccelerationDisturbance( - (uint8_t*)toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - disturbancePresent, - &toSendLength)) != E_NONE) - { - return error; - } - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -bool VnSensor_verifySensorConnectivity(VnSensor* sensor) -{ - char temp[50]; - - return VnSensor_readModelNumber(sensor, temp, sizeof(temp)) == E_NONE; -} - -uint16_t VnSensor_getResponseTimeoutMs(VnSensor* sensor) -{ - return sensor->responseTimeoutMs; -} - -VnError VnSensor_setResponseTimeoutMs(VnSensor* sensor, uint16_t reponseTimeoutMs) -{ - sensor->responseTimeoutMs = reponseTimeoutMs; - - return E_NONE; -} - -uint16_t VnSensor_getRetransmitDelayMs(VnSensor* sensor) -{ - return sensor->retransmitDelayMs; -} - -VnError VnSensor_setRetransmitDelayMs(VnSensor* sensor, uint16_t retransmitDelayMs) -{ - sensor->retransmitDelayMs = retransmitDelayMs; - - return E_NONE; -} - -VnError VnSensor_registerAsyncPacketReceivedHandler(VnSensor *s, VnSensor_PacketFoundHandler handler, void *userData) -{ - if (s->asyncPacketFoundHandler != NULL) - return E_INVALID_OPERATION; - - s->asyncPacketFoundHandler = handler; - s->asyncPacketFoundHandlerUserData = userData; - - return E_NONE; -} - -VnError VnSensor_unregisterAsyncPacketReceivedHandler(VnSensor *s) -{ - if (s->asyncPacketFoundHandler == NULL) - return E_INVALID_OPERATION; - - s->asyncPacketFoundHandler = NULL; - s->asyncPacketFoundHandlerUserData = NULL; - - return E_NONE; -} - -VnError VnSensor_registerErrorPacketReceivedHandler(VnSensor *s, VnSensor_PacketFoundHandler handler, void *userData) -{ - if (s->errorMessageReceivedHandler != NULL) - return E_INVALID_OPERATION; - - s->errorMessageReceivedHandler = handler; - s->errorMessageReceivedHandlerUserData = userData; - - return E_NONE; -} - -VnError VnSensor_unregisterErrorPacketReceivedHandler(VnSensor *s) -{ - if (s->errorMessageReceivedHandler == NULL) - return E_INVALID_OPERATION; - - s->errorMessageReceivedHandler = NULL; - s->errorMessageReceivedHandlerUserData = NULL; - - return E_NONE; -} - -void VnSensor_dataReceivedHandler(void *userData) -{ - char readBuffer[DEFAULT_READ_BUFFER_SIZE]; - size_t numOfBytesRead = 0; - memset(readBuffer, 0, sizeof(readBuffer)); - - VnSensor *s = (VnSensor*) userData; - - VnSerialPort_read(&s->serialPort, readBuffer, sizeof(readBuffer), &numOfBytesRead); - - if (numOfBytesRead == 0) return; - - VnUartPacketFinder_processData_ex(&s->packetFinder, (uint8_t*)readBuffer, numOfBytesRead, s->bootloaderFilter ); - - s->runningDataIndex += numOfBytesRead; -} - -void VnSensor_onErrorPacketReceived(VnSensor *s, VnUartPacket *packet, size_t runningIndex) -{ - if (s->errorMessageReceivedHandler != NULL) - s->errorMessageReceivedHandler(s->errorMessageReceivedHandlerUserData, packet, runningIndex); -} - -void VnSensor_onAsyncPacketReceived(VnSensor *s, VnUartPacket *packet, size_t runningIndex) -{ - if (s->asyncPacketFoundHandler != NULL) - s->asyncPacketFoundHandler(s->asyncPacketFoundHandlerUserData, packet, runningIndex); -} - -void VnSensor_packetFoundHandler(void *userData, VnUartPacket *packet, size_t runningIndex) -{ - VnSensor *s = (VnSensor*) userData; - - /* Packet should be valid at this point so no need to check its validity. */ - - if (!VnUartPacket_isBootloader(packet)) - { - s->bootloaderFilter = false; - } - - if (VnUartPacket_isError(packet)) - { - if (s->waitingForResponse) - { - VnCriticalSection_enter(&s->transactionCS); - memcpy(s->response, packet->data, packet->length); - s->responseLength = packet->length; - VnEvent_signal(&s->newResponsesEvent); - VnCriticalSection_leave(&s->transactionCS); - } - - VnSensor_onErrorPacketReceived(s, packet, runningIndex); - - return; - } - - if (VnUartPacket_isResponse(packet)) - { - if (s->waitingForResponse) - { - VnCriticalSection_enter(&s->transactionCS); - memcpy(s->response, packet->data, packet->length); - s->responseLength = packet->length; - VnEvent_signal(&s->newResponsesEvent); - VnCriticalSection_leave(&s->transactionCS); - } - - return; - } - - /* This wasn't anything else. We assume it is an async packet. */ - VnSensor_onAsyncPacketReceived(s, packet, runningIndex); -} - -VnError transactionWithWait(VnSensor *s, char* toSend, size_t length, uint16_t responseTimeoutMs, uint16_t retransmitDelayMs, char *responseBuffer, size_t *responseLength) -{ - VnStopwatch timeoutSw; - float curElapsedTime; - VnError waitResult; - bool loopVariable = true; - - /* Make sure we don't have any existing responses. */ - VnCriticalSection_enter(&s->transactionCS); - s->responseWaitingForProcessing = false; - s->waitingForResponse = true; - VnCriticalSection_leave(&s->transactionCS); - - /* Send the command and continue sending if retransmits are enabled until - * we receive the response or timeout. */ - VnStopwatch_initializeAndStart(&timeoutSw); - - VnSerialPort_write(&s->serialPort, toSend, length); - VnStopwatch_elapsedMs(&timeoutSw, &curElapsedTime); - - /* loopVariable is used to avoid a compile variable */ - while (loopVariable) - { - bool shouldRetransmit = false; - - /* Compute how long we should wait for a response before taking more - * action. */ - float responseWaitTime = responseTimeoutMs - curElapsedTime; - if (responseWaitTime > retransmitDelayMs) - { - responseWaitTime = retransmitDelayMs; - shouldRetransmit = true; - } - - /* See if we have time left. */ - if (responseWaitTime < 0) - { - s->waitingForResponse = false; - return E_TIMEOUT; - } - - /* Wait for any new responses that come in or until it is time to send - * a new retransmit. */ - waitResult = VnEvent_waitMs(&s->newResponsesEvent, (uint32_t) responseWaitTime); - - if (waitResult == E_TIMEOUT) - { - if (!shouldRetransmit) - { - s->waitingForResponse = false; - return E_TIMEOUT; - } - } - - if (waitResult == E_SIGNALED) - { - /* Get the current collection of responses. */ - VnCriticalSection_enter(&s->transactionCS); - memcpy(responseBuffer, s->response, s->responseLength); - *responseLength = s->responseLength; - VnCriticalSection_leave(&s->transactionCS); - - /* Process the collection of responses we have. */ - if (VnUartPacket_isErrorRaw((uint8_t*)responseBuffer)) - { - uint8_t sensorError; - - s->waitingForResponse = false; - VnUartPacket_parseErrorRaw((uint8_t*)responseBuffer, &sensorError); - - return (VnError) (sensorError + E_SENSOR_HARD_FAULT - 1); - } - - /* We must have a response packet. */ - s->waitingForResponse = false; - - return E_NONE; - } - - /* Retransmit. */ - VnSerialPort_write(&s->serialPort, toSend, length); - VnStopwatch_elapsedMs(&timeoutSw, &curElapsedTime); - } - - return E_UNKNOWN; -} - -VnError VnSensor_transactionNoFinalizeWithTiming(VnSensor *s, char *toSend, size_t toSendLength, bool waitForReply, char *responseBuffer, size_t* responseBufferSize, uint16_t responseTimeoutMs, uint16_t retransmitDelayMs) -{ - /* This line is used to avoid a compiler warning */ - UNUSED(responseBufferSize); - - if (!VnSensor_isConnected(s)) - return E_INVALID_OPERATION; - - if (waitForReply) - { - size_t responseLength; - - return transactionWithWait(s, toSend, toSendLength, responseTimeoutMs, retransmitDelayMs, responseBuffer, &responseLength); - } - else - { - VnSerialPort_write(&s->serialPort, toSend, toSendLength); - } - - return E_NONE; -} - -VnError VnSensor_transactionNoFinalize(VnSensor *s, char *toSend, size_t toSendLength, bool waitForReply, char *responseBuffer, size_t *responseSize) -{ - return VnSensor_transactionNoFinalizeWithTiming(s, toSend, toSendLength, waitForReply, responseBuffer, responseSize, s->responseTimeoutMs, s->retransmitDelayMs); -} - -VnError VnSensor_readBinaryOutput1(VnSensor *s, BinaryOutputRegister *fields) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint16_t asyncMode, outputGroup, commonField, timeField, imuField, gpsField, attitudeField, insField, gps2Field; - - if ((error = VnUartPacket_genReadBinaryOutput1((uint8_t*)toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseBinaryOutputRaw((uint8_t*)responseBuffer, &asyncMode, &fields->rateDivisor, &outputGroup, &commonField, &timeField, &imuField, &gpsField, &attitudeField, &insField, &gps2Field); - - fields->asyncMode = (AsyncMode) asyncMode; - fields->commonField = (CommonGroup) commonField; - fields->timeField = (TimeGroup) timeField; - fields->imuField = (ImuGroup) imuField; - fields->gpsField = (GpsGroup) gpsField; - fields->attitudeField = (AttitudeGroup) attitudeField; - fields->insField = (InsGroup) insField; - fields->gps2Field = (GpsGroup)gps2Field; - - return E_NONE; -} - -VnError VnSensor_writeBinaryOutput1(VnSensor *s, BinaryOutputRegister *fields, bool waitForReply) -{ - char toSend[256]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteBinaryOutput1((uint8_t*)toSend, sizeof(toSend), s->sendErrorDetectionMode, &length, fields->asyncMode, fields->rateDivisor, fields->commonField, fields->timeField, fields->imuField, fields->gpsField, fields->attitudeField, fields->insField, fields->gps2Field)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, length, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readBinaryOutput2(VnSensor *s, BinaryOutputRegister *fields) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint16_t asyncMode, outputGroup, commonField, timeField, imuField, gpsField, attitudeField, insField, gps2Field; - - if ((error = VnUartPacket_genReadBinaryOutput2((uint8_t*)toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseBinaryOutputRaw((uint8_t*)responseBuffer, &asyncMode, &fields->rateDivisor, &outputGroup, &commonField, &timeField, &imuField, &gpsField, &attitudeField, &insField, &gps2Field); - - fields->asyncMode = (AsyncMode) asyncMode; - fields->commonField = (CommonGroup) commonField; - fields->timeField = (TimeGroup) timeField; - fields->imuField = (ImuGroup) imuField; - fields->gpsField = (GpsGroup) gpsField; - fields->attitudeField = (AttitudeGroup) attitudeField; - fields->insField = (InsGroup) insField; - fields->gps2Field = (GpsGroup)gps2Field; - - return E_NONE; -} - -VnError VnSensor_writeBinaryOutput2(VnSensor *s, BinaryOutputRegister *fields, bool waitForReply) -{ - char toSend[256]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteBinaryOutput2((uint8_t*)toSend, sizeof(toSend), s->sendErrorDetectionMode, &length, fields->asyncMode, fields->rateDivisor, fields->commonField, fields->timeField, fields->imuField, fields->gpsField, fields->attitudeField, fields->insField, fields->gps2Field)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, length, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readBinaryOutput3(VnSensor *s, BinaryOutputRegister *fields) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint16_t asyncMode, outputGroup, commonField, timeField, imuField, gpsField, attitudeField, insField, gps2Field; - - if ((error = VnUartPacket_genReadBinaryOutput3((uint8_t*)toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseBinaryOutputRaw((uint8_t*)responseBuffer, &asyncMode, &fields->rateDivisor, &outputGroup, &commonField, &timeField, &imuField, &gpsField, &attitudeField, &insField, &gps2Field); - - fields->asyncMode = (AsyncMode) asyncMode; - fields->commonField = (CommonGroup) commonField; - fields->timeField = (TimeGroup) timeField; - fields->imuField = (ImuGroup) imuField; - fields->gpsField = (GpsGroup) gpsField; - fields->attitudeField = (AttitudeGroup) attitudeField; - fields->insField = (InsGroup) insField; - fields->gps2Field = (GpsGroup)gps2Field; - - return E_NONE; -} - -VnError VnSensor_writeBinaryOutput3(VnSensor *s, BinaryOutputRegister *fields, bool waitForReply) -{ - char toSend[256]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteBinaryOutput3((uint8_t*)toSend, sizeof(toSend), s->sendErrorDetectionMode, &length, fields->asyncMode, fields->rateDivisor, fields->commonField, fields->timeField, fields->imuField, fields->gpsField, fields->attitudeField, fields->insField, fields->gps2Field)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, length, waitForReply, responseBuffer, &responseLength); -} - -#ifdef EXTRA - -VnError VnSensor_readBinaryOutput4(VnSensor *s, BinaryOutputRegister *fields) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint16_t asyncMode, outputGroup, commonField, timeField, imuField, gpsField, attitudeField, insField, gps2Field; - - if ((error = VnUartPacket_genReadBinaryOutput4(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseBinaryOutputRaw((uint8_t*)responseBuffer, &asyncMode, &fields->rateDivisor, &outputGroup, &commonField, &timeField, &imuField, &gpsField, &attitudeField, &insField, &gps2Field); - - fields->asyncMode = (AsyncMode) asyncMode; - fields->commonField = (CommonGroup) commonField; - fields->timeField = (TimeGroup) timeField; - fields->imuField = (ImuGroup) imuField; - fields->gpsField = (GpsGroup) gpsField; - fields->attitudeField = (AttitudeGroup) attitudeField; - fields->insField = (InsGroup) insField; - fields->gps2Field = (GpsGroup)gps2Field; - - return E_NONE; -} - -VnError VnSensor_writeBinaryOutput4(VnSensor *s, BinaryOutputRegister *fields, bool waitForReply) -{ - char toSend[256]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteBinaryOutput4(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length, fields->asyncMode, fields->rateDivisor, fields->commonField, fields->timeField, fields->imuField, fields->gpsField, fields->attitudeField, fields->insField, fields->gps2Field)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, length, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readBinaryOutput5(VnSensor *s, BinaryOutputRegister *fields) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint16_t asyncMode, outputGroup, commonField, timeField, imuField, gpsField, attitudeField, insField, gps2Field; - - if ((error = VnUartPacket_genReadBinaryOutput5(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseBinaryOutputRaw((uint8_t*)responseBuffer, &asyncMode, &fields->rateDivisor, &outputGroup, &commonField, &timeField, &imuField, &gpsField, &attitudeField, &insField, &gps2Field); - - fields->asyncMode = (AsyncMode) asyncMode; - fields->commonField = (CommonGroup) commonField; - fields->timeField = (TimeGroup) timeField; - fields->imuField = (ImuGroup) imuField; - fields->gpsField = (GpsGroup) gpsField; - fields->attitudeField = (AttitudeGroup) attitudeField; - fields->insField = (InsGroup) insField; - fields->gps2Field = (GpsGroup)gps2Field; - - return E_NONE; -} - -VnError VnSensor_writeBinaryOutput5(VnSensor *s, BinaryOutputRegister *fields, bool waitForReply) -{ - char toSend[256]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteBinaryOutput5(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length, fields->asyncMode, fields->rateDivisor, fields->commonField, fields->timeField, fields->imuField, fields->gpsField, fields->attitudeField, fields->insField, fields->gps2Field)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, length, waitForReply, responseBuffer, &responseLength); -} - -#endif - -VnError VnSensor_readUserTag(VnSensor *s, char *tagBuffer, size_t tagBufferLength) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - /*Put this here to avoid compiler warnings.*/ - UNUSED(tagBufferLength); - - if ((error = VnUartPacket_genReadUserTag(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseUserTagRaw(responseBuffer, tagBuffer); - - return E_NONE; -} - -VnError VnSensor_writeUserTag(VnSensor *s, char* tag, bool waitForReply) -{ - VnError error; - char toSend[37]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteUserTag( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - tag)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readModelNumber(VnSensor *s, char *productNameBuffer, size_t productNameBufferLength) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - /*Put this here to avoid compiler warnings.*/ - UNUSED(productNameBufferLength); - - if ((error = VnUartPacket_genReadModelNumber(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseModelNumberRaw(responseBuffer, productNameBuffer); - - return E_NONE; -} - -VnError VnSensor_readHardwareRevision(VnSensor *s, uint32_t *revision) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadHardwareRevision(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseHardwareRevisionRaw(responseBuffer, revision); - - return E_NONE; -} - -VnError VnSensor_readSerialNumber(VnSensor *s, uint32_t *serialNum) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadSerialNumber(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseSerialNumberRaw(responseBuffer, serialNum); - - return E_NONE; -} - -VnError VnSensor_readFirmwareVersion(VnSensor *s, char *firmwareVersionBuffer, size_t firmwareVersionBufferLength) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - /*Put this here to avoid compiler warnings.*/ - UNUSED(firmwareVersionBufferLength); - - if ((error = VnUartPacket_genReadFirmwareVersion(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseFirmwareVersionRaw(responseBuffer, firmwareVersionBuffer); - - return E_NONE; -} - -VnError VnSensor_readSerialBaudRate(VnSensor *s, uint32_t *baudrate) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadSerialBaudRate(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseSerialBaudRateRaw(responseBuffer, baudrate); - - return E_NONE; -} - -VnError VnSensor_writeSerialBaudRate(VnSensor *s, uint32_t baudrate, bool waitForReply) -{ - VnError error; - char toSend[25]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteSerialBaudRate( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - baudrate)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readAsyncDataOutputType(VnSensor *s, VnAsciiAsync *ador) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint32_t adorPlaceholder; - - if ((error = VnUartPacket_genReadAsyncDataOutputType(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseAsyncDataOutputTypeRaw(responseBuffer, &adorPlaceholder); - - *ador = (VnAsciiAsync) adorPlaceholder; - - return E_NONE; -} - -VnError VnSensor_writeAsyncDataOutputType(VnSensor *s, VnAsciiAsync ador, bool waitForReply) -{ - VnError error; - char toSend[19]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteAsyncDataOutputType( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - ador)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readAsyncDataOutputFrequency(VnSensor *s, uint32_t *adof) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadAsyncDataOutputFrequency(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseAsyncDataOutputFrequencyRaw(responseBuffer, adof); - - return E_NONE; -} - -VnError VnSensor_writeAsyncDataOutputFrequency(VnSensor *s, uint32_t adof, bool waitForReply) -{ - VnError error; - char toSend[26]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteAsyncDataOutputFrequency( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - adof)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readYawPitchRoll(VnSensor *s, vec3f *yawPitchRoll) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadYawPitchRoll(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseYawPitchRollRaw(responseBuffer, yawPitchRoll); - - return E_NONE; -} - -VnError VnSensor_readAttitudeQuaternion(VnSensor *s, vec4f *quat) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadAttitudeQuaternion(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseAttitudeQuaternionRaw(responseBuffer, quat); - - return E_NONE; -} - -VnError VnSensor_readQuaternionMagneticAccelerationAndAngularRates(VnSensor *s, QuaternionMagneticAccelerationAndAngularRatesRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadQuaternionMagneticAccelerationAndAngularRates(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseQuaternionMagneticAccelerationAndAngularRatesRaw(responseBuffer, ®->quat, ®->mag, ®->accel, ®->gyro); - - - return E_NONE; -} - -VnError VnSensor_readMagneticMeasurements(VnSensor *s, vec3f *mag) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadMagneticMeasurements(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseMagneticMeasurementsRaw(responseBuffer, mag); - - return E_NONE; -} - -VnError VnSensor_readAccelerationMeasurements(VnSensor *s, vec3f *accel) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadAccelerationMeasurements(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseAccelerationMeasurementsRaw(responseBuffer, accel); - - return E_NONE; -} - -VnError VnSensor_readAngularRateMeasurements(VnSensor *s, vec3f *gyro) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadAngularRateMeasurements(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseAngularRateMeasurementsRaw(responseBuffer, gyro); - - return E_NONE; -} - -VnError VnSensor_readMagneticAccelerationAndAngularRates(VnSensor *s, MagneticAccelerationAndAngularRatesRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadMagneticAccelerationAndAngularRates(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseMagneticAccelerationAndAngularRatesRaw(responseBuffer, ®->mag, ®->accel, ®->gyro); - - - return E_NONE; -} - -VnError VnSensor_readMagneticAndGravityReferenceVectors(VnSensor *s, MagneticAndGravityReferenceVectorsRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadMagneticAndGravityReferenceVectors(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseMagneticAndGravityReferenceVectorsRaw(responseBuffer, ®->magRef, ®->accRef); - - - return E_NONE; -} - -VnError VnSensor_writeMagneticAndGravityReferenceVectors(VnSensor *s, MagneticAndGravityReferenceVectorsRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteMagneticAndGravityReferenceVectors( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.magRef, - fields.accRef)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readMagnetometerCompensation(VnSensor *s, MagnetometerCompensationRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadMagnetometerCompensation(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseMagnetometerCompensationRaw(responseBuffer, ®->c, ®->b); - - - return E_NONE; -} - -VnError VnSensor_writeMagnetometerCompensation(VnSensor *s, MagnetometerCompensationRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteMagnetometerCompensation( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.c, - fields.b)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readAccelerationCompensation(VnSensor *s, AccelerationCompensationRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadAccelerationCompensation(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseAccelerationCompensationRaw(responseBuffer, ®->c, ®->b); - - - return E_NONE; -} - -VnError VnSensor_writeAccelerationCompensation(VnSensor *s, AccelerationCompensationRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteAccelerationCompensation( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.c, - fields.b)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readReferenceFrameRotation(VnSensor *s, mat3f *c) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadReferenceFrameRotation(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseReferenceFrameRotationRaw(responseBuffer, c); - - return E_NONE; -} - -VnError VnSensor_writeReferenceFrameRotation(VnSensor *s, mat3f c, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteReferenceFrameRotation( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - c)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readYawPitchRollMagneticAccelerationAndAngularRates(VnSensor *s, YawPitchRollMagneticAccelerationAndAngularRatesRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadYawPitchRollMagneticAccelerationAndAngularRates(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseYawPitchRollMagneticAccelerationAndAngularRatesRaw(responseBuffer, ®->yawPitchRoll, ®->mag, ®->accel, ®->gyro); - - - return E_NONE; -} - -VnError VnSensor_readCommunicationProtocolControl(VnSensor *s, CommunicationProtocolControlRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint8_t serialCountPlaceholder; - uint8_t serialStatusPlaceholder; - uint8_t spiCountPlaceholder; - uint8_t spiStatusPlaceholder; - uint8_t serialChecksumPlaceholder; - uint8_t spiChecksumPlaceholder; - uint8_t errorModePlaceholder; - - if ((error = VnUartPacket_genReadCommunicationProtocolControl(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseCommunicationProtocolControlRaw(responseBuffer, &serialCountPlaceholder, &serialStatusPlaceholder, &spiCountPlaceholder, &spiStatusPlaceholder, &serialChecksumPlaceholder, &spiChecksumPlaceholder, &errorModePlaceholder); - - reg->serialCount = (VnCountMode) serialCountPlaceholder; - reg->serialStatus = (VnStatusMode) serialStatusPlaceholder; - reg->spiCount = (VnCountMode) spiCountPlaceholder; - reg->spiStatus = (VnStatusMode) spiStatusPlaceholder; - reg->serialChecksum = (VnChecksumMode) serialChecksumPlaceholder; - reg->spiChecksum = (VnChecksumMode) spiChecksumPlaceholder; - reg->errorMode = (VnErrorMode) errorModePlaceholder; - - return E_NONE; -} - -VnError VnSensor_writeCommunicationProtocolControl(VnSensor *s, CommunicationProtocolControlRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteCommunicationProtocolControl( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.serialCount, - fields.serialStatus, - fields.spiCount, - fields.spiStatus, - fields.serialChecksum, - fields.spiChecksum, - fields.errorMode)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readSynchronizationControl(VnSensor *s, SynchronizationControlRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint8_t syncInModePlaceholder; - uint8_t syncInEdgePlaceholder; - uint32_t reserved1Placeholder; - uint8_t syncOutModePlaceholder; - uint8_t syncOutPolarityPlaceholder; - uint32_t reserved2Placeholder; - - if ((error = VnUartPacket_genReadSynchronizationControl(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseSynchronizationControlRaw(responseBuffer, &syncInModePlaceholder, &syncInEdgePlaceholder, ®->syncInSkipFactor, &reserved1Placeholder, &syncOutModePlaceholder, &syncOutPolarityPlaceholder, ®->syncOutSkipFactor, ®->syncOutPulseWidth, &reserved2Placeholder); - - reg->syncInMode = (VnSyncInMode) syncInModePlaceholder; - reg->syncInEdge = (VnSyncInEdge) syncInEdgePlaceholder; - reg->syncOutMode = (VnSyncOutMode) syncOutModePlaceholder; - reg->syncOutPolarity = (VnSyncOutPolarity) syncOutPolarityPlaceholder; - - return E_NONE; -} - -VnError VnSensor_writeSynchronizationControl(VnSensor *s, SynchronizationControlRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteSynchronizationControl( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.syncInMode, - fields.syncInEdge, - fields.syncInSkipFactor, - 0, - fields.syncOutMode, - fields.syncOutPolarity, - fields.syncOutSkipFactor, - fields.syncOutPulseWidth, - 0)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readSynchronizationStatus(VnSensor *s, SynchronizationStatusRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadSynchronizationStatus(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseSynchronizationStatusRaw(responseBuffer, ®->syncInCount, ®->syncInTime, ®->syncOutCount); - - - return E_NONE; -} - -VnError VnSensor_writeSynchronizationStatus(VnSensor *s, SynchronizationStatusRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteSynchronizationStatus( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.syncInCount, - fields.syncInTime, - fields.syncOutCount)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readVpeBasicControl(VnSensor *s, VpeBasicControlRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint8_t enablePlaceholder; - uint8_t headingModePlaceholder; - uint8_t filteringModePlaceholder; - uint8_t tuningModePlaceholder; - - if ((error = VnUartPacket_genReadVpeBasicControl(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseVpeBasicControlRaw(responseBuffer, &enablePlaceholder, &headingModePlaceholder, &filteringModePlaceholder, &tuningModePlaceholder); - - reg->enable = (VnVpeEnable) enablePlaceholder; - reg->headingMode = (VnHeadingMode) headingModePlaceholder; - reg->filteringMode = (VnVpeMode) filteringModePlaceholder; - reg->tuningMode = (VnVpeMode) tuningModePlaceholder; - - return E_NONE; -} - -VnError VnSensor_writeVpeBasicControl(VnSensor *s, VpeBasicControlRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteVpeBasicControl( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.enable, - fields.headingMode, - fields.filteringMode, - fields.tuningMode)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readVpeMagnetometerBasicTuning(VnSensor *s, VpeMagnetometerBasicTuningRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadVpeMagnetometerBasicTuning(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseVpeMagnetometerBasicTuningRaw(responseBuffer, ®->baseTuning, ®->adaptiveTuning, ®->adaptiveFiltering); - - - return E_NONE; -} - -VnError VnSensor_writeVpeMagnetometerBasicTuning(VnSensor *s, VpeMagnetometerBasicTuningRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteVpeMagnetometerBasicTuning( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.baseTuning, - fields.adaptiveTuning, - fields.adaptiveFiltering)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readVpeAccelerometerBasicTuning(VnSensor *s, VpeAccelerometerBasicTuningRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadVpeAccelerometerBasicTuning(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseVpeAccelerometerBasicTuningRaw(responseBuffer, ®->baseTuning, ®->adaptiveTuning, ®->adaptiveFiltering); - - - return E_NONE; -} - -VnError VnSensor_writeVpeAccelerometerBasicTuning(VnSensor *s, VpeAccelerometerBasicTuningRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteVpeAccelerometerBasicTuning( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.baseTuning, - fields.adaptiveTuning, - fields.adaptiveFiltering)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readMagnetometerCalibrationControl(VnSensor *s, MagnetometerCalibrationControlRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint8_t hsiModePlaceholder; - uint8_t hsiOutputPlaceholder; - - if ((error = VnUartPacket_genReadMagnetometerCalibrationControl(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseMagnetometerCalibrationControlRaw(responseBuffer, &hsiModePlaceholder, &hsiOutputPlaceholder, ®->convergeRate); - - reg->hsiMode = (VnHsiMode) hsiModePlaceholder; - reg->hsiOutput = (VnHsiOutput) hsiOutputPlaceholder; - - return E_NONE; -} - -VnError VnSensor_writeMagnetometerCalibrationControl(VnSensor *s, MagnetometerCalibrationControlRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteMagnetometerCalibrationControl( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.hsiMode, - fields.hsiOutput, - fields.convergeRate)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readCalculatedMagnetometerCalibration(VnSensor *s, CalculatedMagnetometerCalibrationRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadCalculatedMagnetometerCalibration(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseCalculatedMagnetometerCalibrationRaw(responseBuffer, ®->c, ®->b); - - - return E_NONE; -} - -VnError VnSensor_readVelocityCompensationMeasurement(VnSensor *s, vec3f *velocity) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadVelocityCompensationMeasurement(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseVelocityCompensationMeasurementRaw(responseBuffer, velocity); - - return E_NONE; -} - -VnError VnSensor_writeVelocityCompensationMeasurement(VnSensor *s, vec3f velocity, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteVelocityCompensationMeasurement( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - velocity)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readVelocityCompensationControl(VnSensor *s, VelocityCompensationControlRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint8_t modePlaceholder; - - if ((error = VnUartPacket_genReadVelocityCompensationControl(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseVelocityCompensationControlRaw(responseBuffer, &modePlaceholder, ®->velocityTuning, ®->rateTuning); - - reg->mode = (VnVelocityCompensationMode) modePlaceholder; - - return E_NONE; -} - -VnError VnSensor_writeVelocityCompensationControl(VnSensor *s, VelocityCompensationControlRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteVelocityCompensationControl( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.mode, - fields.velocityTuning, - fields.rateTuning)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readImuMeasurements(VnSensor *s, ImuMeasurementsRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadImuMeasurements(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseImuMeasurementsRaw(responseBuffer, ®->mag, ®->accel, ®->gyro, ®->temp, ®->pressure); - - - return E_NONE; -} - -VnError VnSensor_readGpsConfiguration(VnSensor *s, GpsConfigurationRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint8_t modePlaceholder; - uint8_t ppsSourcePlaceholder; - uint8_t reserved1Placeholder; - uint8_t reserved2Placeholder; - uint8_t reserved3Placeholder; - - if ((error = VnUartPacket_genReadGpsConfiguration(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseGpsConfigurationRaw(responseBuffer, &modePlaceholder, &ppsSourcePlaceholder, &reserved1Placeholder, &reserved2Placeholder, &reserved3Placeholder); - - reg->mode = (VnGpsMode) modePlaceholder; - reg->ppsSource = (VnPpsSource) ppsSourcePlaceholder; - - return E_NONE; -} - -VnError VnSensor_writeGpsConfiguration(VnSensor *s, GpsConfigurationRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteGpsConfiguration( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.mode, - fields.ppsSource, - 5, - 0, - 0)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readGpsAntennaOffset(VnSensor *s, vec3f *position) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadGpsAntennaOffset(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseGpsAntennaOffsetRaw(responseBuffer, position); - - return E_NONE; -} - -VnError VnSensor_writeGpsAntennaOffset(VnSensor *s, vec3f position, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteGpsAntennaOffset( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - position)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readGpsSolutionLla(VnSensor *s, GpsSolutionLlaRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint8_t gpsFixPlaceholder; - - if ((error = VnUartPacket_genReadGpsSolutionLla(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseGpsSolutionLlaRaw(responseBuffer, ®->time, ®->week, &gpsFixPlaceholder, ®->numSats, ®->lla, ®->nedVel, ®->nedAcc, ®->speedAcc, ®->timeAcc); - - reg->gpsFix = (VnGpsFix) gpsFixPlaceholder; - - return E_NONE; -} - -VnError VnSensor_readGpsSolutionEcef(VnSensor *s, GpsSolutionEcefRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint8_t gpsFixPlaceholder; - - if ((error = VnUartPacket_genReadGpsSolutionEcef(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseGpsSolutionEcefRaw(responseBuffer, ®->tow, ®->week, &gpsFixPlaceholder, ®->numSats, ®->position, ®->velocity, ®->posAcc, ®->speedAcc, ®->timeAcc); - - reg->gpsFix = (VnGpsFix) gpsFixPlaceholder; - - return E_NONE; -} - -VnError VnSensor_readInsSolutionLla(VnSensor *s, InsSolutionLlaRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadInsSolutionLla(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseInsSolutionLlaRaw(responseBuffer, ®->time, ®->week, ®->status, ®->yawPitchRoll, ®->position, ®->nedVel, ®->attUncertainty, ®->posUncertainty, ®->velUncertainty); - - - return E_NONE; -} - -VnError VnSensor_readInsSolutionEcef(VnSensor *s, InsSolutionEcefRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadInsSolutionEcef(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseInsSolutionEcefRaw(responseBuffer, ®->time, ®->week, ®->status, ®->yawPitchRoll, ®->position, ®->velocity, ®->attUncertainty, ®->posUncertainty, ®->velUncertainty); - - - return E_NONE; -} - -VnError VnSensor_readInsBasicConfigurationVn200(VnSensor *s, InsBasicConfigurationRegisterVn200 *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint8_t scenarioPlaceholder; - uint8_t resv1Placeholder; - uint8_t resv2Placeholder; - - if ((error = VnUartPacket_genReadInsBasicConfiguration(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseInsBasicConfigurationRaw(responseBuffer, &scenarioPlaceholder, ®->ahrsAiding, &resv1Placeholder, &resv2Placeholder); - - reg->scenario = (VnScenario) scenarioPlaceholder; - - return E_NONE; -} - -VnError VnSensor_writeInsBasicConfigurationVn200(VnSensor *s, InsBasicConfigurationRegisterVn200 fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteInsBasicConfiguration( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.scenario, - fields.ahrsAiding, - 0, - 0)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readInsBasicConfigurationVn300(VnSensor *s, InsBasicConfigurationRegisterVn300 *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint8_t scenarioPlaceholder; - uint8_t resv2Placeholder; - - if ((error = VnUartPacket_genReadInsBasicConfiguration(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseInsBasicConfigurationRaw(responseBuffer, &scenarioPlaceholder, ®->ahrsAiding, ®->estBaseline, &resv2Placeholder); - - reg->scenario = (VnScenario) scenarioPlaceholder; - - return E_NONE; -} - -VnError VnSensor_writeInsBasicConfigurationVn300(VnSensor *s, InsBasicConfigurationRegisterVn300 fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteInsBasicConfiguration( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.scenario, - fields.ahrsAiding, - fields.estBaseline, - 0)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readInsStateLla(VnSensor *s, InsStateLlaRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadInsStateLla(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseInsStateLlaRaw(responseBuffer, ®->yawPitchRoll, ®->position, ®->velocity, ®->accel, ®->angularRate); - - - return E_NONE; -} - -VnError VnSensor_readInsStateEcef(VnSensor *s, InsStateEcefRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadInsStateEcef(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseInsStateEcefRaw(responseBuffer, ®->yawPitchRoll, ®->position, ®->velocity, ®->accel, ®->angularRate); - - - return E_NONE; -} - -VnError VnSensor_readStartupFilterBiasEstimate(VnSensor *s, StartupFilterBiasEstimateRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadStartupFilterBiasEstimate(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseStartupFilterBiasEstimateRaw(responseBuffer, ®->gyroBias, ®->accelBias, ®->pressureBias); - - - return E_NONE; -} - -VnError VnSensor_writeStartupFilterBiasEstimate(VnSensor *s, StartupFilterBiasEstimateRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteStartupFilterBiasEstimate( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.gyroBias, - fields.accelBias, - fields.pressureBias)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readDeltaThetaAndDeltaVelocity(VnSensor *s, DeltaThetaAndDeltaVelocityRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadDeltaThetaAndDeltaVelocity(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseDeltaThetaAndDeltaVelocityRaw(responseBuffer, ®->deltaTime, ®->deltaTheta, ®->deltaVelocity); - - - return E_NONE; -} - -VnError VnSensor_readDeltaThetaAndDeltaVelocityConfiguration(VnSensor *s, DeltaThetaAndDeltaVelocityConfigurationRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint8_t integrationFramePlaceholder; - uint8_t gyroCompensationPlaceholder; - uint8_t accelCompensationPlaceholder; - uint8_t reserved1Placeholder; - uint16_t reserved2Placeholder; - - if ((error = VnUartPacket_genReadDeltaThetaAndDeltaVelocityConfiguration(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseDeltaThetaAndDeltaVelocityConfigurationRaw(responseBuffer, &integrationFramePlaceholder, &gyroCompensationPlaceholder, &accelCompensationPlaceholder, &reserved1Placeholder, &reserved2Placeholder); - - reg->integrationFrame = (VnIntegrationFrame) integrationFramePlaceholder; - reg->gyroCompensation = (VnCompensationMode) gyroCompensationPlaceholder; - reg->accelCompensation = (VnCompensationMode) accelCompensationPlaceholder; - - return E_NONE; -} - -VnError VnSensor_writeDeltaThetaAndDeltaVelocityConfiguration(VnSensor *s, DeltaThetaAndDeltaVelocityConfigurationRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteDeltaThetaAndDeltaVelocityConfiguration( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.integrationFrame, - fields.gyroCompensation, - fields.accelCompensation, - 0, - 0)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readReferenceVectorConfiguration(VnSensor *s, ReferenceVectorConfigurationRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint8_t resv1Placeholder; - uint8_t resv2Placeholder; - - if ((error = VnUartPacket_genReadReferenceVectorConfiguration(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseReferenceVectorConfigurationRaw(responseBuffer, ®->useMagModel, ®->useGravityModel, &resv1Placeholder, &resv2Placeholder, ®->recalcThreshold, ®->year, ®->position); - - - return E_NONE; -} - -VnError VnSensor_writeReferenceVectorConfiguration(VnSensor *s, ReferenceVectorConfigurationRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteReferenceVectorConfiguration( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.useMagModel, - fields.useGravityModel, - 0, - 0, - fields.recalcThreshold, - fields.year, - fields.position)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readGyroCompensation(VnSensor *s, GyroCompensationRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadGyroCompensation(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseGyroCompensationRaw(responseBuffer, ®->c, ®->b); - - - return E_NONE; -} - -VnError VnSensor_writeGyroCompensation(VnSensor *s, GyroCompensationRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteGyroCompensation( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.c, - fields.b)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readImuFilteringConfiguration(VnSensor *s, ImuFilteringConfigurationRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint8_t magFilterModePlaceholder; - uint8_t accelFilterModePlaceholder; - uint8_t gyroFilterModePlaceholder; - uint8_t tempFilterModePlaceholder; - uint8_t presFilterModePlaceholder; - - if ((error = VnUartPacket_genReadImuFilteringConfiguration(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseImuFilteringConfigurationRaw(responseBuffer, ®->magWindowSize, ®->accelWindowSize, ®->gyroWindowSize, ®->tempWindowSize, ®->presWindowSize, &magFilterModePlaceholder, &accelFilterModePlaceholder, &gyroFilterModePlaceholder, &tempFilterModePlaceholder, &presFilterModePlaceholder); - - reg->magFilterMode = (VnFilterMode) magFilterModePlaceholder; - reg->accelFilterMode = (VnFilterMode) accelFilterModePlaceholder; - reg->gyroFilterMode = (VnFilterMode) gyroFilterModePlaceholder; - reg->tempFilterMode = (VnFilterMode) tempFilterModePlaceholder; - reg->presFilterMode = (VnFilterMode) presFilterModePlaceholder; - - return E_NONE; -} - -VnError VnSensor_writeImuFilteringConfiguration(VnSensor *s, ImuFilteringConfigurationRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteImuFilteringConfiguration( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.magWindowSize, - fields.accelWindowSize, - fields.gyroWindowSize, - fields.tempWindowSize, - fields.presWindowSize, - fields.magFilterMode, - fields.accelFilterMode, - fields.gyroFilterMode, - fields.tempFilterMode, - fields.presFilterMode)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readGpsCompassBaseline(VnSensor *s, GpsCompassBaselineRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadGpsCompassBaseline(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseGpsCompassBaselineRaw(responseBuffer, ®->position, ®->uncertainty); - - - return E_NONE; -} - -VnError VnSensor_writeGpsCompassBaseline(VnSensor *s, GpsCompassBaselineRegister fields, bool waitForReply) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genWriteGpsCompassBaseline( - toSend, - sizeof(toSend), - s->sendErrorDetectionMode, - &toSendLength, - fields.position, - fields.uncertainty)) != E_NONE) - return error; - - return VnSensor_transactionNoFinalize(s, toSend, toSendLength, waitForReply, responseBuffer, &responseLength); -} - -VnError VnSensor_readGpsCompassEstimatedBaseline(VnSensor *s, GpsCompassEstimatedBaselineRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - uint8_t resvPlaceholder; - - if ((error = VnUartPacket_genReadGpsCompassEstimatedBaseline(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseGpsCompassEstimatedBaselineRaw(responseBuffer, ®->estBaselineUsed, &resvPlaceholder, ®->numMeas, ®->position, ®->uncertainty); - - - return E_NONE; -} - -VnError VnSensor_readYawPitchRollTrueBodyAccelerationAndAngularRates(VnSensor *s, YawPitchRollTrueBodyAccelerationAndAngularRatesRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadYawPitchRollTrueBodyAccelerationAndAngularRates(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseYawPitchRollTrueBodyAccelerationAndAngularRatesRaw(responseBuffer, ®->yawPitchRoll, ®->bodyAccel, ®->gyro); - - - return E_NONE; -} - -VnError VnSensor_readYawPitchRollTrueInertialAccelerationAndAngularRates(VnSensor *s, YawPitchRollTrueInertialAccelerationAndAngularRatesRegister *reg) -{ - char toSend[17]; - size_t length; - VnError error; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if ((error = VnUartPacket_genReadYawPitchRollTrueInertialAccelerationAndAngularRates(toSend, sizeof(toSend), s->sendErrorDetectionMode, &length)) != E_NONE) - return error; - - if ((error = VnSensor_transactionNoFinalize(s, toSend, length, true, responseBuffer, &responseLength)) != E_NONE) - return error; - - VnUartPacket_parseYawPitchRollTrueInertialAccelerationAndAngularRatesRaw(responseBuffer, ®->yawPitchRoll, ®->inertialAccel, ®->gyro); - - - return E_NONE; -} - -VnError VnSensor_switchProcessors(VnSensor* s, VnProcessorType processor, char *model, char *firmware) -{ - VnError error; - char toSend[256]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - if (strncmp("VN-300", model, 6) == 0) - { - switch (processor) - { - case VNPROCESSOR_GPS: - if ((strstr(model, "SMD") != NULL) || (strstr(model, "DEV") != NULL)) - { - #if VN_HAVE_SECURE_CRT - toSendLength = sprintf_s(toSend, sizeof(toSend), "$VNSPS,1,1,115200"); - #else - toSendLength = sprintf(toSend, "$VNSPS,1,1,115200"); - #endif - } - else if (strstr(model, "CR") != NULL) - { - #if VN_HAVE_SECURE_CRT - toSendLength = sprintf_s(toSend, sizeof(toSend), "$VNDBS,3,1"); - #else - toSendLength = sprintf(toSend, "$VNDBS,3,1"); - #endif - } - break; - } - } - else if ((strncmp("VN-110", model, 6) == 0) || (strncmp("VN-210", model, 6) == 0) || (strncmp("VN-310", model, 6) == 0)) - { - switch (processor) - { - case VNPROCESSOR_NAV: - #if VN_HAVE_SECURE_CRT - toSendLength = sprintf_s(toSend, sizeof(toSend), "$VNSBL,0"); - #else - toSendLength = sprintf(toSend, "$VNSBL,0"); - #endif - break; - case VNPROCESSOR_GPS: - if ((strncmp("VN-310", model, 6) == 0) || (strncmp("VN-210E", model, 7) == 0)) - { - #if VN_HAVE_SECURE_CRT - toSendLength = sprintf_s(toSend, sizeof(toSend), "$VNSBL,1"); - #else - toSendLength = sprintf(toSend, "$VNSBL,1"); - #endif - } - break; - case VNPROCESSOR_IMU: - #if VN_HAVE_SECURE_CRT - toSendLength = sprintf_s(toSend, sizeof(toSend), "$VNSBL,2"); - #else - toSendLength = sprintf(toSend, "$VNSBL,2"); - #endif - break; - } - } - - if (strlen(toSend) > 0) - { - VnUartPacket_finalizeCommand(s->sendErrorDetectionMode, (uint8_t*)toSend, &toSendLength); - error = VnSensor_transactionNoFinalizeWithTiming(s, toSend, toSendLength, true, responseBuffer, &responseLength, 6000, 6000); - - if (error == E_NONE) - { - /* Check the response buffer for errors */ - - /* Wait 2 seconds to allow the processor to switch */ - VnThread_sleepMs(2000); - - } - - return error; - } - else - { - return E_NOT_SUPPORTED; - } -} - -FILE *VnSensor_openFirmwareUpdateFile(char* filename) -{ -#if VN_HAVE_SECURE_CRT - FILE *file; - errno_t error = fopen_s(&file, filename, "r"); - return file; -#else - return fopen(filename, "r"); -#endif - -} - -bool VnSensor_getNextFirmwareUpdateRecord(FILE* file, char* record, int MaxRecordSize) -{ - bool result = false; - - -#if VN_HAVE_SECURE_CRT - int retval = fscanf_s(file, "%s\n", record, MaxRecordSize); -#else - int retval = fscanf(file, "%s\n", record); -#endif - - if (retval != EOF) - { - result = true; - } - - return result; -} - -void VnSensor_closeFirmwareUpdateFile(FILE* file) -{ - if (file != NULL) - { - errno_t error = fclose(file); - file = NULL; - } -} - -void VnSensor_calibrateBootloader(VnSensor *s) -{ - char calibration[] = " "; - char bootloaderVersion[64]; - size_t bootloaderVersionSize = sizeof(bootloaderVersion); - memset(bootloaderVersion, 0, 64); - uint16_t responseTimeoutMs = 500; - uint16_t retransmitDelayMs = responseTimeoutMs; - - s->bootloaderFilter = true; - if (E_NONE == VnSensor_transactionNoFinalizeWithTiming(s, calibration, sizeof(calibration) - 2, true, bootloaderVersion, &bootloaderVersionSize, responseTimeoutMs, retransmitDelayMs)) - { - /* printf("Bootloader: %s\n", bootloaderVersion); */ - } -} - -VnError VnSensor_writeFirmwareUpdateRecord(VnSensor* s, char* record) -{ - VnError error = E_NONE; - char toSend[MAXFIRMWAREUPDATERECORDSIZE +12]; - size_t toSendLength; - char responseBuffer[0x100]; - size_t responseLength = sizeof(responseBuffer); - - memset(responseBuffer, 0, 0x100); - - /* VNERRORDETECTIONMODE_CRC - Must be 16-bit CRC for Firmware Updates, also, strip off the leading ':' from the record */ - if ((error = VnUartPacket_genWriteFirmwareUpdate(toSend, sizeof(toSend), VNERRORDETECTIONMODE_CRC, &toSendLength, &record[1])) != E_NONE) - return error; - -RESEND: - s->bootloaderFilter = true; - error = VnSensor_transactionNoFinalizeWithTiming(s, toSend, toSendLength, true, responseBuffer, &responseLength, 7000, 7000); - if (error != E_NONE) - { - char buffer[128]; - memset(buffer, 0, sizeof(buffer)); - strFromSensorError(buffer, error); - /* printf("VnSensor_writeFirmwareUpdate: Error %d - %s", error, buffer); */ - } - else - { - /* Check Firmware Update Response Code */ - int response = VnUtil_toUint8FromHexStr(&(responseBuffer[7])) + E_BOOTLOADER_NONE; - error = (VnError)response; - - if (response == E_BOOTLOADER_COMM_ERROR) goto RESEND; - else if (response != E_BOOTLOADER_NONE) - { - char buffer[128]; - memset(buffer, 0, sizeof(buffer)); - strFromVnError(buffer, response); - /* printf("Error: %s\n", buffer); */ - } - } - return error; -} - -VnError VnSensor_firmwareUpdate(VnSensor* s, int baudRate, char* filename) -{ - VnError error = E_NONE; - int RecordSize = MAXFIRMWAREUPDATERECORDSIZE; - char record[MAXFIRMWAREUPDATERECORDSIZE]; - bool stillGoing = true; - - /* Open Firmware Update File*/ - FILE* firmwareUpdateFile = VnSensor_openFirmwareUpdateFile(filename); - - /* Enter the bootloader */ - error = VnSensor_firmwareUpdateMode(s, true); - - /* Change the baud rate for updating the firmware */ - error = VnSerialPort_changeBaudrate(&(s->serialPort), baudRate); - - /* Give the processor some time to reboot */ - VnThread_sleepMs(1000); - - /* Calibrate the Bootloader before sending records */ - VnSensor_calibrateBootloader(s); - - /* Write the firmware update file to the sensor, one record at a time */ - while (stillGoing) - { - stillGoing = VnSensor_getNextFirmwareUpdateRecord(firmwareUpdateFile, record, RecordSize); - if (stillGoing) - { - error = VnSensor_writeFirmwareUpdateRecord(s, record); - if (error != E_BOOTLOADER_NONE) - { - stillGoing = false; - } - } - } - - /* Switch the baud rate back to the original setting */ - error = VnSerialPort_changeBaudrate(&(s->serialPort), baudRate); - - /* Close the firmware update file */ - VnSensor_closeFirmwareUpdateFile(firmwareUpdateFile); - - /* Exit Bootloader mode. Just sleep for 10 seconds */ - VnThread_sleepMs(10000); - - /* Do a reset */ - VnSensor_reset(s, true); - - /* Wait 2 seconds for the reset to finish */ - VnThread_sleepMs(2000); - - return error; -} - -void strFromSyncInMode(char *out, VnSyncInMode val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - #ifdef EXTRA - case VNSYNCINMODE_COUNT2: - strcpy(out, "Count2"); - break; - case VNSYNCINMODE_ADC2: - strcpy(out, "Adc2"); - break; - case VNSYNCINMODE_ASYNC2: - strcpy(out, "Async2"); - break; - #endif - case VNSYNCINMODE_COUNT: - strcpy(out, "Count"); - break; - case VNSYNCINMODE_IMU: - strcpy(out, "Imu"); - break; - case VNSYNCINMODE_ASYNC: - strcpy(out, "Async"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromSyncInEdge(char *out, VnSyncInEdge val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNSYNCINEDGE_RISING: - strcpy(out, "Rising"); - break; - case VNSYNCINEDGE_FALLING: - strcpy(out, "Falling"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromSyncOutMode(char *out, VnSyncOutMode val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNSYNCOUTMODE_NONE: - strcpy(out, "None"); - break; - case VNSYNCOUTMODE_ITEMSTART: - strcpy(out, "ItemStart"); - break; - case VNSYNCOUTMODE_IMUREADY: - strcpy(out, "ImuReady"); - break; - case VNSYNCOUTMODE_INS: - strcpy(out, "Ins"); - break; - case VNSYNCOUTMODE_GPSPPS: - strcpy(out, "GpsPps"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromSyncOutPolarity(char *out, VnSyncOutPolarity val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNSYNCOUTPOLARITY_NEGATIVE: - strcpy(out, "Negative"); - break; - case VNSYNCOUTPOLARITY_POSITIVE: - strcpy(out, "Positive"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromCountMode(char *out, VnCountMode val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNCOUNTMODE_NONE: - strcpy(out, "None"); - break; - case VNCOUNTMODE_SYNCINCOUNT: - strcpy(out, "SyncInCount"); - break; - case VNCOUNTMODE_SYNCINTIME: - strcpy(out, "SyncInTime"); - break; - case VNCOUNTMODE_SYNCOUTCOUNTER: - strcpy(out, "SyncOutCounter"); - break; - case VNCOUNTMODE_GPSPPS: - strcpy(out, "GpsPps"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromStatusMode(char *out, VnStatusMode val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNSTATUSMODE_OFF: - strcpy(out, "Off"); - break; - case VNSTATUSMODE_VPESTATUS: - strcpy(out, "VpeStatus"); - break; - case VNSTATUSMODE_INSSTATUS: - strcpy(out, "InsStatus"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromChecksumMode(char *out, VnChecksumMode val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNCHECKSUMMODE_OFF: - strcpy(out, "Off"); - break; - case VNCHECKSUMMODE_CHECKSUM: - strcpy(out, "Checksum"); - break; - case VNCHECKSUMMODE_CRC: - strcpy(out, "Crc"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromErrorMode(char *out, VnErrorMode val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNERRORMODE_IGNORE: - strcpy(out, "Ignore"); - break; - case VNERRORMODE_SEND: - strcpy(out, "Send"); - break; - case VNERRORMODE_SENDANDOFF: - strcpy(out, "SendAndOff"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromFilterMode(char *out, VnFilterMode val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNFILTERMODE_NOFILTERING: - strcpy(out, "NoFiltering"); - break; - case VNFILTERMODE_ONLYRAW: - strcpy(out, "OnlyRaw"); - break; - case VNFILTERMODE_ONLYCOMPENSATED: - strcpy(out, "OnlyCompensated"); - break; - case VNFILTERMODE_BOTH: - strcpy(out, "Both"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromIntegrationFrame(char *out, VnIntegrationFrame val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNINTEGRATIONFRAME_BODY: - strcpy(out, "Body"); - break; - case VNINTEGRATIONFRAME_NED: - strcpy(out, "Ned"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromCompensationMode(char *out, VnCompensationMode val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNCOMPENSATIONMODE_NONE: - strcpy(out, "None"); - break; - case VNCOMPENSATIONMODE_BIAS: - strcpy(out, "Bias"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromGpsFix(char *out, VnGpsFix val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNGPSFIX_NOFIX: - strcpy(out, "NoFix"); - break; - case VNGPSFIX_TIMEONLY: - strcpy(out, "TimeOnly"); - break; - case VNGPSFIX_2D: - strcpy(out, "2D"); - break; - case VNGPSFIX_3D: - strcpy(out, "3D"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromGpsMode(char *out, VnGpsMode val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNGPSMODE_ONBOARDGPS: - strcpy(out, "OnBoardGps"); - break; - case VNGPSMODE_EXTERNALGPS: - strcpy(out, "ExternalGps"); - break; - case VNGPSMODE_EXTERNALVN200GPS: - strcpy(out, "ExternalVn200Gps"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromPpsSource(char *out, VnPpsSource val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNPPSSOURCE_GPSPPSRISING: - strcpy(out, "GpsPpsRising"); - break; - case VNPPSSOURCE_GPSPPSFALLING: - strcpy(out, "GpsPpsFalling"); - break; - case VNPPSSOURCE_SYNCINRISING: - strcpy(out, "SyncInRising"); - break; - case VNPPSSOURCE_SYNCINFALLING: - strcpy(out, "SyncInFalling"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromVpeEnable(char *out, VnVpeEnable val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNVPEENABLE_DISABLE: - strcpy(out, "Disable"); - break; - case VNVPEENABLE_ENABLE: - strcpy(out, "Enable"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromHeadingMode(char *out, VnHeadingMode val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNHEADINGMODE_ABSOLUTE: - strcpy(out, "Absolute"); - break; - case VNHEADINGMODE_RELATIVE: - strcpy(out, "Relative"); - break; - case VNHEADINGMODE_INDOOR: - strcpy(out, "Indoor"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromVpeMode(char *out, VnVpeMode val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNVPEMODE_OFF: - strcpy(out, "Off"); - break; - case VNVPEMODE_MODE1: - strcpy(out, "Mode1"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromScenario(char *out, VnScenario val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNSCENARIO_AHRS: - strcpy(out, "Ahrs"); - break; - case VNSCENARIO_INSWITHPRESSURE: - strcpy(out, "InsWithPressure"); - break; - case VNSCENARIO_INSWITHOUTPRESSURE: - strcpy(out, "InsWithoutPressure"); - break; - case VNSCENARIO_GPSMOVINGBASELINEDYNAMIC: - strcpy(out, "GpsMovingBaselineDynamic"); - break; - case VNSCENARIO_GPSMOVINGBASELINESTATIC: - strcpy(out, "GpsMovingBaselineStatic"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromHsiMode(char *out, VnHsiMode val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNHSIMODE_OFF: - strcpy(out, "Off"); - break; - case VNHSIMODE_RUN: - strcpy(out, "Run"); - break; - case VNHSIMODE_RESET: - strcpy(out, "Reset"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromHsiOutput(char *out, VnHsiOutput val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNHSIOUTPUT_NOONBOARD: - strcpy(out, "NoOnboard"); - break; - case VNHSIOUTPUT_USEONBOARD: - strcpy(out, "UseOnboard"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromVelocityCompensationMode(char *out, VnVelocityCompensationMode val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNVELOCITYCOMPENSATIONMODE_DISABLED: - strcpy(out, "Disabled"); - break; - case VNVELOCITYCOMPENSATIONMODE_BODYMEASUREMENT: - strcpy(out, "BodyMeasurement"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromMagneticMode(char *out, VnMagneticMode val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNMAGNETICMODE_2D: - strcpy(out, "2D"); - break; - case VNMAGNETICMODE_3D: - strcpy(out, "3D"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromExternalSensorMode(char *out, VnExternalSensorMode val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNEXTERNALSENSORMODE_INTERNAL: - strcpy(out, "Internal"); - break; - case VNEXTERNALSENSORMODE_EXTERNAL200HZ: - strcpy(out, "External200Hz"); - break; - case VNEXTERNALSENSORMODE_EXTERNALONUPDATE: - strcpy(out, "ExternalOnUpdate"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -void strFromFoamInit(char *out, VnFoamInit val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - switch (val) - { - case VNFOAMINIT_NOFOAMINIT: - strcpy(out, "NoFoamInit"); - break; - case VNFOAMINIT_FOAMINITPITCHROLL: - strcpy(out, "FoamInitPitchRoll"); - break; - case VNFOAMINIT_FOAMINITHEADINGPITCHROLL: - strcpy(out, "FoamInitHeadingPitchRoll"); - break; - case VNFOAMINIT_FOAMINITPITCHROLLCOVARIANCE: - strcpy(out, "FoamInitPitchRollCovariance"); - break; - case VNFOAMINIT_FOAMINITHEADINGPITCHROLLCOVARIANCE: - strcpy(out, "FoamInitHeadingPitchRollCovariance"); - break; - default: - strcpy(out, "Unknown"); - break; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} diff --git a/vnproglib/c/src/vn/sensors/compositedata.c b/vnproglib/c/src/vn/sensors/compositedata.c deleted file mode 100644 index 063a927..0000000 --- a/vnproglib/c/src/vn/sensors/compositedata.c +++ /dev/null @@ -1,763 +0,0 @@ -#include -#include - -#include "vn/sensors/compositedata.h" -#include "vn/xplat/criticalsection.h" -#include "vn/protocol/upack.h" -#include "vn/math/vector.h" -#include "vn/math/matrix.h" - -float VnCompositeData_calculateCourseOverGround(float velNedX, float velNedY); -float VnCompositeData_calculateSpeedOverGround(float velNedX, float velNedY); - -void VnCompositeData_initialize(VnCompositeData* compositeData) -{ - memset(compositeData, 0, sizeof(VnCompositeData)); -} - -bool VnCompositeData_hasCourseOverGround(VnCompositeData* compositeData) -{ - return (CDVEL_None != compositeData->velocityType && - CDVEL_EstimatedBody != compositeData->velocityType && - CDVEL_EstimatedEcef != compositeData->velocityType && - CDVEL_GpsEcef != compositeData->velocityType); -} - -bool VnCompositeData_courseOverGround(VnCompositeData* compositeData, float* courseOverGroundOut) -{ - bool success = false; - - if (VnCompositeData_hasCourseOverGround(compositeData)) - { - switch (compositeData->velocityType) - { - case CDVEL_GpsNed: - *courseOverGroundOut = VnCompositeData_calculateCourseOverGround(compositeData->velocityGpsNed.c[0], - compositeData->velocityGpsNed.c[1]); - success = true; - break; - case CDVEL_EstimatedNed: - *courseOverGroundOut = VnCompositeData_calculateCourseOverGround(compositeData->velocityGpsNed.c[0], - compositeData->velocityGpsNed.c[1]); - success = true; - break; - default: - break; - } - } - - return success; -} - -float VnCompositeData_calculateCourseOverGround(float velNedX, float velNedY) -{ - /* This is handled by calculating the atan2 of the input. */ - /* Since the input for this is a velocity then we only need */ - /* XY coordinates to calculate. */ - return (float)atan2(velNedY, velNedX); -} - -bool VnCompositeData_hasSpeedOverGround(VnCompositeData* compositeData) -{ - return (CDVEL_None != compositeData->velocityType && - CDVEL_EstimatedBody != compositeData->velocityType && - CDVEL_EstimatedEcef != compositeData->velocityType && - CDVEL_GpsEcef != compositeData->velocityType); -} - -bool VnCompositeData_speedOverGround(VnCompositeData* compositeData, float* speedOverGroundOut) -{ - bool success = false; - - if (VnCompositeData_hasSpeedOverGround(compositeData)) - { - switch (compositeData->velocityType) - { - case CDVEL_GpsNed: - *speedOverGroundOut = VnCompositeData_calculateSpeedOverGround(compositeData->velocityGpsNed.c[0], - compositeData->velocityGpsNed.c[1]); - success = true; - break; - case CDVEL_EstimatedNed: - *speedOverGroundOut = VnCompositeData_calculateSpeedOverGround(compositeData->velocityGpsNed.c[0], - compositeData->velocityGpsNed.c[1]); - success = true; - break; - default: - break; - } - } - - return success; -} - -float VnCompositeData_calculateSpeedOverGround(float velNedX, float velNedY) -{ - /* This is handled by calculating the magnitude of the input. */ - /* Since the input for this is a velocity then we only need */ - /* XY coordinates to calculate. */ - return (float)sqrt((velNedX * velNedX) + (velNedY * velNedY)); -} - -void VnCompositeData_processBinaryPacket(VnCompositeData* compositeData, VnUartPacket* packet, VnCriticalSection* criticalSection) -{ - BinaryGroupType groups = (BinaryGroupType)VnUartPacket_groups(packet); - size_t curGroupFieldIndex = 0; - - VnCriticalSection_enter(criticalSection); - - if ((groups & BINARYGROUPTYPE_COMMON) != 0) - VnCompositeData_processBinaryPacketCommonGroup(compositeData, packet, (CommonGroup) VnUartPacket_groupField(packet, curGroupFieldIndex++)); - if ((groups & BINARYGROUPTYPE_TIME) != 0) - VnCompositeData_processBinaryPacketTimeGroup(compositeData, packet, (TimeGroup) VnUartPacket_groupField(packet, curGroupFieldIndex++)); - if ((groups & BINARYGROUPTYPE_IMU) != 0) - VnCompositeData_processBinaryPacketImuGroup(compositeData, packet, (ImuGroup)VnUartPacket_groupField(packet, curGroupFieldIndex++)); - if ((groups & BINARYGROUPTYPE_GPS) != 0) - VnCompositeData_processBinaryPacketGpsGroup(compositeData, packet, (GpsGroup)VnUartPacket_groupField(packet, curGroupFieldIndex++)); - if ((groups & BINARYGROUPTYPE_ATTITUDE) != 0) - VnCompositeData_processBinaryPacketAttitudeGroup(compositeData, packet, (AttitudeGroup)VnUartPacket_groupField(packet, curGroupFieldIndex++)); - if ((groups & BINARYGROUPTYPE_INS) != 0) - VnCompositeData_processBinaryPacketInsGroup(compositeData, packet, (InsGroup)VnUartPacket_groupField(packet, curGroupFieldIndex++)); - if ((groups & BINARYGROUPTYPE_GPS2) != 0) - VnCompositeData_processBinaryPacketGps2Group(compositeData, packet, (GpsGroup)VnUartPacket_groupField(packet, curGroupFieldIndex)); - - VnCriticalSection_leave(criticalSection); -} - -void VnCompositeData_processBinaryPacketCommonGroup(VnCompositeData* compositeData, VnUartPacket* packet, CommonGroup commonGroup) -{ - if (commonGroup & COMMONGROUP_TIMESTARTUP) - compositeData->timeStartup = VnUartPacket_extractUint64(packet); - - if (commonGroup & COMMONGROUP_TIMEGPS) - compositeData->timeGps = VnUartPacket_extractUint64(packet); - - if (commonGroup & COMMONGROUP_TIMESYNCIN) - compositeData->timeSyncIn = VnUartPacket_extractUint64(packet); - - if (commonGroup & COMMONGROUP_YAWPITCHROLL) - compositeData->yawPitchRoll = VnUartPacket_extractVec3f(packet); - - if (commonGroup & COMMONGROUP_QUATERNION) - compositeData->quaternion = VnUartPacket_extractVec4f(packet); - - if (commonGroup & COMMONGROUP_ANGULARRATE) - compositeData->angularRate = VnUartPacket_extractVec3f(packet); - - if (commonGroup & COMMONGROUP_POSITION) - compositeData->positionEstimatedLla = VnUartPacket_extractVec3d(packet); - - if (commonGroup & COMMONGROUP_VELOCITY) - compositeData->velocityEstimatedNed = VnUartPacket_extractVec3f(packet); - - if (commonGroup & COMMONGROUP_ACCEL) - compositeData->acceleration = VnUartPacket_extractVec3f(packet); - - if (commonGroup & COMMONGROUP_IMU) - { - compositeData->accelerationUncompensated = VnUartPacket_extractVec3f(packet); - compositeData->angularRateUncompensated = VnUartPacket_extractVec3f(packet); - } - - if (commonGroup & COMMONGROUP_MAGPRES) - { - compositeData->magnetic = VnUartPacket_extractVec3f(packet); - compositeData->temperature = VnUartPacket_extractFloat(packet); - compositeData->pressure = VnUartPacket_extractFloat(packet); - } - - if (commonGroup & COMMONGROUP_DELTATHETA) - { - compositeData->deltaTime = VnUartPacket_extractFloat(packet); - compositeData->deltaTheta = VnUartPacket_extractVec3f(packet); - compositeData->deltaVelocity = VnUartPacket_extractVec3f(packet); - } - - if (commonGroup & COMMONGROUP_INSSTATUS) - { - /* Don't know if this is a VN-100, VN-200 or VN-300 so we can't know for sure if - this is VpeStatus or InsStatus. */ - compositeData->vpeStatus = compositeData->insStatus = VnUartPacket_extractUint16(packet); - } - - if (commonGroup & COMMONGROUP_SYNCINCNT) - compositeData->syncInCnt = VnUartPacket_extractUint32(packet); - - if (commonGroup & COMMONGROUP_TIMEGPSPPS) - compositeData->timeGpsPps = VnUartPacket_extractUint64(packet); -} - -void VnCompositeData_processBinaryPacketTimeGroup(VnCompositeData* compositeData, VnUartPacket* packet, TimeGroup timeGroup) -{ - if (timeGroup & TIMEGROUP_TIMESTARTUP) - compositeData->timeStartup = VnUartPacket_extractUint64(packet); - - if (timeGroup & TIMEGROUP_TIMEGPS) - compositeData->timeGps = VnUartPacket_extractUint64(packet); - - if (timeGroup & TIMEGROUP_GPSTOW) - compositeData->gpsTow = VnUartPacket_extractUint64(packet); - - if (timeGroup & TIMEGROUP_GPSWEEK) - compositeData->week = VnUartPacket_extractUint16(packet); - - if (timeGroup & TIMEGROUP_TIMESYNCIN) - compositeData->timeSyncIn = VnUartPacket_extractUint64(packet); - - if (timeGroup & TIMEGROUP_TIMEGPSPPS) - compositeData->timeGpsPps = VnUartPacket_extractUint64(packet); - - if (timeGroup & TIMEGROUP_TIMEUTC) - { - compositeData->timeUtc.year = VnUartPacket_extractInt8(packet); - compositeData->timeUtc.month = VnUartPacket_extractUint8(packet); - compositeData->timeUtc.day = VnUartPacket_extractUint8(packet); - compositeData->timeUtc.hour = VnUartPacket_extractUint8(packet); - compositeData->timeUtc.min = VnUartPacket_extractUint8(packet); - compositeData->timeUtc.sec = VnUartPacket_extractUint8(packet); - compositeData->timeUtc.ms = VnUartPacket_extractUint16(packet); - } - - if (timeGroup & TIMEGROUP_SYNCINCNT) - compositeData->syncInCnt = VnUartPacket_extractUint32(packet); - - if (timeGroup & TIMEGROUP_SYNCOUTCNT) - compositeData->syncOutCnt = VnUartPacket_extractUint32(packet); -} - -void VnCompositeData_processBinaryPacketImuGroup(VnCompositeData* compositeData, VnUartPacket* packet, ImuGroup imuGroup) -{ - if (imuGroup & IMUGROUP_IMUSTATUS) - /* This field is currently reserved. */ - VnUartPacket_extractUint16(packet); - - if (imuGroup & IMUGROUP_UNCOMPMAG) - compositeData->magneticUncompensated = VnUartPacket_extractVec3f(packet); - - if (imuGroup & IMUGROUP_UNCOMPACCEL) - compositeData->accelerationUncompensated = VnUartPacket_extractVec3f(packet); - - if (imuGroup & IMUGROUP_UNCOMPGYRO) - compositeData->angularRateUncompensated = VnUartPacket_extractVec3f(packet); - - if (imuGroup & IMUGROUP_TEMP) - compositeData->temperature = VnUartPacket_extractFloat(packet); - - if (imuGroup & IMUGROUP_PRES) - compositeData->pressure = VnUartPacket_extractFloat(packet); - - if (imuGroup & IMUGROUP_DELTATHETA) - { - compositeData->deltaTime = VnUartPacket_extractFloat(packet); - compositeData->deltaTheta = VnUartPacket_extractVec3f(packet); - } - - if (imuGroup & IMUGROUP_DELTAVEL) - compositeData->deltaVelocity = VnUartPacket_extractVec3f(packet); - - if (imuGroup & IMUGROUP_MAG) - compositeData->magnetic = VnUartPacket_extractVec3f(packet); - - if (imuGroup & IMUGROUP_ACCEL) - compositeData->acceleration = VnUartPacket_extractVec3f(packet); - - if (imuGroup & IMUGROUP_ANGULARRATE) - compositeData->angularRate = VnUartPacket_extractVec3f(packet); - - if (imuGroup & IMUGROUP_SENSSAT) - compositeData->sensSat = VnUartPacket_extractUint16(packet); - -#ifdef EXTRA - - if (imuGroup & IMUGROUP_RAW) - { - compositeData->magneticRaw = VnUartPacket_extractVec3f(packet); - compositeData->accelerationRaw = VnUartPacket_extractVec3f(packet); - compositeData->angularRateRaw = VnUartPacket_extractVec3f(packet); - compositeData->temperatureRaw = VnUartPacket_extractFloat(packet); - } - -#endif -} - -void VnCompositeData_processBinaryPacketGpsGroup(VnCompositeData* compositeData, VnUartPacket* packet, GpsGroup gpsGroup) -{ - if (gpsGroup & GPSGROUP_UTC) - { - compositeData->timeUtc.year = VnUartPacket_extractInt8(packet); - compositeData->timeUtc.month = VnUartPacket_extractUint8(packet); - compositeData->timeUtc.day = VnUartPacket_extractUint8(packet); - compositeData->timeUtc.hour = VnUartPacket_extractUint8(packet); - compositeData->timeUtc.min = VnUartPacket_extractUint8(packet); - compositeData->timeUtc.sec = VnUartPacket_extractUint8(packet); - compositeData->timeUtc.ms = VnUartPacket_extractUint16(packet); - } - - if (gpsGroup & GPSGROUP_TOW) - compositeData->gpsTow = VnUartPacket_extractUint64(packet); - - if (gpsGroup & GPSGROUP_WEEK) - compositeData->week = VnUartPacket_extractUint16(packet); - - if (gpsGroup & GPSGROUP_NUMSATS) - compositeData->numSats = VnUartPacket_extractUint8(packet); - - if (gpsGroup & GPSGROUP_FIX) - compositeData->gpsFix = VnUartPacket_extractUint8(packet); - - if (gpsGroup & GPSGROUP_POSLLA) - compositeData->positionGpsLla = VnUartPacket_extractVec3d(packet); - - if (gpsGroup & GPSGROUP_POSECEF) - compositeData->positionGpsEcef = VnUartPacket_extractVec3d(packet); - - if (gpsGroup & GPSGROUP_VELNED) - compositeData->velocityGpsNed = VnUartPacket_extractVec3f(packet); - - if (gpsGroup & GPSGROUP_VELECEF) - compositeData->velocityGpsEcef = VnUartPacket_extractVec3f(packet); - - if (gpsGroup & GPSGROUP_POSU) - compositeData->positionUncertaintyGpsNed = VnUartPacket_extractVec3f(packet); - - if (gpsGroup & GPSGROUP_VELU) - compositeData->velocityUncertaintyGps = VnUartPacket_extractFloat(packet); - - if (gpsGroup & GPSGROUP_TIMEU) - compositeData->timeUncertainty = VnUartPacket_extractUint32(packet); - - if (gpsGroup & GPSGROUP_TIMEINFO) - compositeData->timeInfo = VnUartPacket_extractTimeInfo(packet); - - if (gpsGroup & GPSGROUP_DOP) - compositeData->dop = VnUartPacket_extractGpsDop(packet); -} - -void VnCompositeData_processBinaryPacketAttitudeGroup(VnCompositeData* compositeData, VnUartPacket* packet, AttitudeGroup attitudeGroup) -{ - if (attitudeGroup & ATTITUDEGROUP_VPESTATUS) - compositeData->vpeStatus = VnUartPacket_extractUint16(packet); - - if (attitudeGroup & ATTITUDEGROUP_YAWPITCHROLL) - compositeData->yawPitchRoll = VnUartPacket_extractVec3f(packet); - - if (attitudeGroup & ATTITUDEGROUP_QUATERNION) - compositeData->quaternion = VnUartPacket_extractVec4f(packet); - - if (attitudeGroup & ATTITUDEGROUP_DCM) - compositeData->directionCosineMatrix = VnUartPacket_extractMat3f(packet); - - if (attitudeGroup & ATTITUDEGROUP_MAGNED) - compositeData->magneticNed = VnUartPacket_extractVec3f(packet); - - if (attitudeGroup & ATTITUDEGROUP_ACCELNED) - compositeData->accelerationNed = VnUartPacket_extractVec3f(packet); - - if (attitudeGroup & ATTITUDEGROUP_LINEARACCELBODY) - { - compositeData->accelerationLinearBody = VnUartPacket_extractVec3f(packet); - compositeData->velocityType = CDVEL_EstimatedBody; - } - - if (attitudeGroup & ATTITUDEGROUP_LINEARACCELNED) - compositeData->accelerationLinearNed = VnUartPacket_extractVec3f(packet); - - if (attitudeGroup & ATTITUDEGROUP_YPRU) - compositeData->attitudeUncertainty = VnUartPacket_extractVec3f(packet); - -#ifdef EXTRA - - if (attitudeGroup & ATTITUDEGROUP_YPRRATE) - compositeData->yprRates = VnUartPacket_extractVec3f(packet); - - if (attitudeGroup & ATTITUDEGROUP_STATEAHRS) - { - /* Currently not doing anything with these values. */ - size_t i; - for (i = 0; i < 7; i++) - VnUartPacket_extractFloat(packet); - } - - if (attitudeGroup & ATTITUDEGROUP_COVAHRS) - { - /* Currently not doing anything with these values. */ - size_t i; - for (i = 0; i < 6; i++) - VnUartPacket_extractFloat(packet); - } - -#endif -} - -void VnCompositeData_processBinaryPacketInsGroup(VnCompositeData* compositeData, VnUartPacket* packet, InsGroup insGroup) -{ - if (insGroup & INSGROUP_INSSTATUS) - compositeData->insStatus = VnUartPacket_extractUint16(packet); - - if (insGroup & INSGROUP_POSLLA) - compositeData->positionEstimatedLla = VnUartPacket_extractVec3d(packet); - - if (insGroup & INSGROUP_POSECEF) - compositeData->positionEstimatedEcef = VnUartPacket_extractVec3d(packet); - - if (insGroup & INSGROUP_VELBODY) - { - compositeData->velocityEstimatedBody = VnUartPacket_extractVec3f(packet); - compositeData->velocityType = CDVEL_EstimatedNed; - } - - if (insGroup & INSGROUP_VELNED) - compositeData->velocityEstimatedNed = VnUartPacket_extractVec3f(packet); - - if (insGroup & INSGROUP_VELECEF) - compositeData->velocityEstimatedEcef = VnUartPacket_extractVec3f(packet); - - if (insGroup & INSGROUP_MAGECEF) - compositeData->magneticEcef = VnUartPacket_extractVec3f(packet); - - if (insGroup & INSGROUP_ACCELECEF) - compositeData->accelerationEcef = VnUartPacket_extractVec3f(packet); - - if (insGroup & INSGROUP_LINEARACCELECEF) - compositeData->accelerationLinearEcef = VnUartPacket_extractVec3f(packet); - - if (insGroup & INSGROUP_POSU) - compositeData->positionUncertaintyEstimated = VnUartPacket_extractFloat(packet); - - if (insGroup & INSGROUP_VELU) - compositeData->velocityUncertaintyEstimated = VnUartPacket_extractFloat(packet); - -#ifdef EXTRA - - if (insGroup & INSGROUP_STATEINS) - { - /* Currently not doing anything with these values. */ - size_t i; - for (i = 0; i < 17; i++) - VnUartPacket_extractFloat(packet); - } - - if (insGroup & INSGROUP_COVINS) - { - /* Currently not doing anything with these values. */ - size_t i; - for (i = 0; i < 16; i++) - VnUartPacket_extractFloat(packet); - } - -#endif -} - -void VnCompositeData_processBinaryPacketGps2Group(VnCompositeData* compositeData, VnUartPacket* packet, GpsGroup gps2Group) -{ - if (gps2Group & GPSGROUP_UTC) - { - /* TODO: Need to store this in the current data. */ - VnUartPacket_extractInt8(packet); - VnUartPacket_extractUint8(packet); - VnUartPacket_extractUint8(packet); - VnUartPacket_extractUint8(packet); - VnUartPacket_extractUint8(packet); - VnUartPacket_extractUint8(packet); - VnUartPacket_extractUint16(packet); - } - - if (gps2Group & GPSGROUP_TOW) - compositeData->gps2Tow = VnUartPacket_extractUint64(packet); - - if (gps2Group & GPSGROUP_WEEK) - compositeData->weekGps2 = VnUartPacket_extractUint16(packet); - - if (gps2Group & GPSGROUP_NUMSATS) - compositeData->numSatsGps2 = VnUartPacket_extractUint8(packet); - - if (gps2Group & GPSGROUP_FIX) - compositeData->fixGps2 = VnUartPacket_extractUint8(packet); - - if (gps2Group & GPSGROUP_POSLLA) - compositeData->positionGps2Lla = VnUartPacket_extractVec3d(packet); - - if (gps2Group & GPSGROUP_POSECEF) - compositeData->positionGps2Ecef = VnUartPacket_extractVec3d(packet); - - if (gps2Group & GPSGROUP_VELNED) - compositeData->velocityGps2Ned = VnUartPacket_extractVec3f(packet); - - if (gps2Group & GPSGROUP_VELECEF) - compositeData->velocityGps2Ecef = VnUartPacket_extractVec3f(packet); - - if (gps2Group & GPSGROUP_POSU) - compositeData->positionUncertaintyGps2Ned = VnUartPacket_extractVec3f(packet); - - if (gps2Group & GPSGROUP_VELU) - compositeData->velocityUncertaintyGps2 = VnUartPacket_extractFloat(packet); - - if (gps2Group & GPSGROUP_TIMEU) - compositeData->timeUncertaintyGps2 = VnUartPacket_extractUint32(packet); - -#ifdef EXTRA - - if (gps2Group & GPSGROUP_SVSTAT) - { - /* Current not doing anything with these values. */ - size_t i; - for (i = 0; i < 8; i++) - VnUartPacket_extractFloat(packet); - } - -#endif -} - -void VnCompositeData_processAsciiAsyncPacket(VnCompositeData* compositeData, VnUartPacket* packet, VnCriticalSection* criticalSection) -{ - VnCriticalSection_enter(criticalSection); - - switch (VnUartPacket_determineAsciiAsyncType(packet)) - { - case VNYPR: - VnUartPacket_parseVNYPR(packet, &compositeData->yawPitchRoll); - break; - - case VNQTN: - VnUartPacket_parseVNQTN(packet, &compositeData->quaternion); - break; - -#ifdef EXTRA - - case VNQTM: - VnUartPacket_parseVNQTM(packet, &compositeData->quaternion, &compositeData->magnetic); - break; - - case VNQTA: - VnUartPacket_parseVNQTA(packet, &compositeData->quaternion, &compositeData->acceleration); - break; - - case VNQTR: - VnUartPacket_parseVNQTR(packet, &compositeData->quaternion, &compositeData->angularRate); - break; - - case VNQMA: - VnUartPacket_parseVNQMA(packet, &compositeData->quaternion, &compositeData->magnetic, &compositeData->acceleration); - break; - - case VNQAR: - VnUartPacket_parseVNQAR(packet, &compositeData->quaternion, &compositeData->acceleration, &compositeData->angularRate); - break; - -#endif - - case VNQMR: - VnUartPacket_parseVNQMR(packet, &compositeData->quaternion, &compositeData->magnetic, &compositeData->acceleration, &compositeData->angularRate); - break; - -#ifdef EXTRA - - case VNDCM: - VnUartPacket_parseVNDCM(packet, &compositeData->directionCosineMatrix); - break; - -#endif - - case VNMAG: - VnUartPacket_parseVNMAG(packet, &compositeData->magnetic); - break; - - case VNACC: - VnUartPacket_parseVNACC(packet, &compositeData->acceleration); - break; - - case VNGYR: - VnUartPacket_parseVNGYR(packet, &compositeData->angularRate); - break; - - case VNMAR: - VnUartPacket_parseVNMAR(packet, &compositeData->magnetic, &compositeData->acceleration, &compositeData->angularRate); - break; - - case VNYMR: - VnUartPacket_parseVNYMR(packet, &compositeData->yawPitchRoll, &compositeData->magnetic, &compositeData->acceleration, &compositeData->angularRate); - break; - -#ifdef EXTRA - - case VNYCM: - VnUartPacket_parseVNYCM( - packet, - &compositeData->yawPitchRoll, - &compositeData->magnetic, - &compositeData->acceleration, - &compositeData->angularRateUncompensated, - &compositeData->temperature); - break; - -#endif - - case VNYBA: - VnUartPacket_parseVNYBA(packet, &compositeData->yawPitchRoll, &compositeData->accelerationLinearBody, &compositeData->angularRate); - compositeData->velocityType = CDVEL_EstimatedBody; - break; - - case VNYIA: - VnUartPacket_parseVNYIA(packet, &compositeData->yawPitchRoll, &compositeData->accelerationLinearNed, &compositeData->angularRate); - break; - -#ifdef EXTRA - - case VNICM: - // TODO: Implement once figure out how to store/process the inertial mag/accel. - break; - -#endif - - case VNIMU: - VnUartPacket_parseVNIMU( - packet, - &compositeData->magneticUncompensated, - &compositeData->accelerationUncompensated, - &compositeData->angularRateUncompensated, - &compositeData->temperature, - &compositeData->pressure); - break; - - case VNGPS: - { - float timeUncertainty; - VnUartPacket_parseVNGPS( - packet, - &compositeData->tow, - &compositeData->week, - &compositeData->gpsFix, - &compositeData->numSats, - &compositeData->positionGpsLla, - &compositeData->velocityGpsNed, - &compositeData->positionUncertaintyGpsNed, - &compositeData->velocityUncertaintyGps, - &timeUncertainty); - /* Convert to UInt32 since this is the binary representation in nanoseconds. */ - compositeData->timeUncertainty = (uint32_t)(timeUncertainty * 1e9); - compositeData->velocityType = CDVEL_GpsNed; - break; - } - - case VNGPE: - { - float timeUncertainty; - VnUartPacket_parseVNGPE( - packet, - &compositeData->tow, - &compositeData->week, - &compositeData->gpsFix, - &compositeData->numSats, - &compositeData->positionGpsEcef, - &compositeData->velocityGpsEcef, - &compositeData->positionUncertaintyGpsEcef, - &compositeData->velocityUncertaintyGps, - &timeUncertainty); - /* Convert to UInt32 since this is the binary representation in nanoseconds. */ - compositeData->timeUncertainty = (uint32_t)(timeUncertainty * 1e9); - compositeData->velocityType = CDVEL_GpsEcef; - break; - } - - case VNINS: - { - float attUncertainty; - VnUartPacket_parseVNINS( - packet, - &compositeData->tow, - &compositeData->week, - &compositeData->insStatus, - &compositeData->yawPitchRoll, - &compositeData->positionEstimatedLla, - &compositeData->velocityEstimatedNed, - &attUncertainty, - &compositeData->positionUncertaintyEstimated, - &compositeData->velocityUncertaintyEstimated); - /* Binary data provides 3 components to yaw, pitch, roll uncertainty. */ - compositeData->attitudeUncertainty.c[0] = compositeData->attitudeUncertainty.c[1] = compositeData->attitudeUncertainty.c[2] = attUncertainty; - compositeData->velocityType = CDVEL_EstimatedNed; - break; - } - - case VNINE: - { - float attUncertainty; - VnUartPacket_parseVNINE( - packet, - &compositeData->tow, - &compositeData->week, - &compositeData->insStatus, - &compositeData->yawPitchRoll, - &compositeData->positionEstimatedEcef, - &compositeData->velocityEstimatedEcef, - &attUncertainty, - &compositeData->positionUncertaintyEstimated, - &compositeData->velocityUncertaintyEstimated); - /* Binary data provides 3 components to yaw, pitch, roll uncertainty. */ - compositeData->attitudeUncertainty.c[0] = compositeData->attitudeUncertainty.c[1] = compositeData->attitudeUncertainty.c[2] = attUncertainty; - compositeData->velocityType = CDVEL_EstimatedEcef; - break; - } - - case VNISL: - VnUartPacket_parseVNISL( - packet, - &compositeData->yawPitchRoll, - &compositeData->positionEstimatedLla, - &compositeData->velocityEstimatedNed, - &compositeData->acceleration, - &compositeData->angularRate); - compositeData->velocityType = CDVEL_EstimatedNed; - break; - - case VNISE: - VnUartPacket_parseVNISE( - packet, - &compositeData->yawPitchRoll, - &compositeData->positionEstimatedEcef, - &compositeData->velocityEstimatedEcef, - &compositeData->acceleration, - &compositeData->angularRate); - compositeData->velocityType = CDVEL_EstimatedEcef; - break; - - case VNDTV: - VnUartPacket_parseVNDTV( - packet, - &compositeData->deltaTime, - &compositeData->deltaTheta, - &compositeData->deltaVelocity); - break; - -#ifdef EXTRA - - case VNRAW: - VnUartPacket_parseVNRAW( - packet, - &compositeData->magneticRaw, - &compositeData->accelerationRaw, - &compositeData->angularRateRaw, - &compositeData->temperatureRaw); - break; - - case VNCMV: - /* TODO: Need to implement. */ - break; - - case VNSTV: - /* TODO: Need to implement. */ - break; - - case VNCOV: - /* TODO: Need to implement. */ - break; - -#endif - - default: - /* Not doing anything for unknown ASCII asynchronous packets. */ - ; - } - - VnCriticalSection_leave(criticalSection); -} diff --git a/vnproglib/c/src/vn/sensors/ezasyncdata.c b/vnproglib/c/src/vn/sensors/ezasyncdata.c deleted file mode 100644 index d51303c..0000000 --- a/vnproglib/c/src/vn/sensors/ezasyncdata.c +++ /dev/null @@ -1,94 +0,0 @@ -#include "vn/sensors.h" -#include "vn/sensors/compositedata.h" -#include "vn/sensors/ezasyncdata.h" -#include "vn/xplat/criticalsection.h" - -#include -#include -#include -#include - -void VnEzAsyncData_processReceivedAsyncPacket(void *userData, VnUartPacket *packet, size_t runningIndex); - -VnError VnEzAsyncData_initializeAndConnect(VnEzAsyncData* ezAsyncData, const char* portName, uint32_t baudrate) -{ - VnError error; - - /** \brief The associated connected sensor. */ - ezAsyncData->sensor = (VnSensor*) malloc(sizeof(VnSensor)); - ezAsyncData->curData = (VnCompositeData*) malloc(sizeof(VnCompositeData)); - ezAsyncData->curDataCS = (VnCriticalSection*) malloc(sizeof(VnCompositeData)); - - if((ezAsyncData->sensor == NULL) || - (ezAsyncData->curData == NULL) || - (ezAsyncData->curDataCS == NULL)) - { - error = E_MEMORY_NOT_ALLOCATED; - return error; - } - - memset(ezAsyncData->curData, 0, sizeof(VnCompositeData)); - - if ((error = VnCriticalSection_initialize(ezAsyncData->curDataCS)) != E_NONE) - return error; - - if ((error = VnSensor_initialize(ezAsyncData->sensor)) != E_NONE) - return error; - - if ((error = VnSensor_connect(ezAsyncData->sensor, portName, baudrate)) != E_NONE) - return error; - - ezAsyncData->curData->velocityType = CDVEL_None; - - return VnSensor_registerAsyncPacketReceivedHandler(ezAsyncData->sensor, VnEzAsyncData_processReceivedAsyncPacket, ezAsyncData); -} - -VnError VnEzAsyncData_disconnectAndUninitialize(VnEzAsyncData* ez) -{ - VnError error; - - if ((error = VnSensor_unregisterAsyncPacketReceivedHandler(ez->sensor)) != E_NONE) - return error; - - if ((error = VnCriticalSection_deinitialize(ez->curDataCS)) != E_NONE) - return error; - - if ((error = VnSensor_disconnect(ez->sensor)) != E_NONE) - return error; - - free(ez->curDataCS); - free(ez->curData); - free(ez->sensor); - - return E_NONE; -} - -VnCompositeData VnEzAsyncData_currentData(VnEzAsyncData* ez) -{ - VnCompositeData cd; - - VnCriticalSection_enter(ez->curDataCS); - - cd = *(ez->curData); - - VnCriticalSection_leave(ez->curDataCS); - - return cd; -} - -VnSensor* VnEzAsyncData_sensor(VnEzAsyncData* ez) -{ - return ez->sensor; -} - -void VnEzAsyncData_processReceivedAsyncPacket(void *userData, VnUartPacket *packet, size_t runningIndex) -{ - VnEzAsyncData* ez = (VnEzAsyncData*) userData; - - (void)runningIndex; - - if (VnUartPacket_isAsciiAsync(packet)) - VnCompositeData_processAsciiAsyncPacket(ez->curData, packet, ez->curDataCS); - else - VnCompositeData_processBinaryPacket(ez->curData, packet, ez->curDataCS); -} diff --git a/vnproglib/c/src/vn/sensors/searcher.c b/vnproglib/c/src/vn/sensors/searcher.c deleted file mode 100644 index f6f0c8a..0000000 --- a/vnproglib/c/src/vn/sensors/searcher.c +++ /dev/null @@ -1,564 +0,0 @@ -#include "vn/bool.h" -#include "vn/sensors/searcher.h" -#include "vn/xplat/serialport.h" -#include "vn/xplat/thread.h" - -#include -#include -#include -#include - - -#ifdef __linux__ -#include -#include -#include - -#elif defined _WIN32 -#include -#endif - -uint32_t SubBD[9] = {9600, 19200, 38400, 57600, 115200, 128000, 230400, 460800, 921600}; - -uint32_t VnSearcher_matchBaud(char inputData[]) -{ - - uint32_t inputBaud = 0; - char* start = strrchr(inputData, ',') + 1; - char* end = strrchr(start, '*'); - size_t index = 0; - bool integerDigit = true; - - /* Isolate the baud in the message. */ - - /* Ensure the entire baud string was recieved. */ - /* If end is null then this is an incomplete packet. */ - if (NULL != end) - { - /* Ensure this is an integer digit. */ - while ((start + index) < end) - { - char character = start[index]; - if (0 == isdigit((int)character)) - { - integerDigit = false; - break; - } - ++index; - } - - /* Convert the string to an integer for comparing. */ - if (integerDigit) - { - char stringBaud[20] = { 0 }; - uint32_t length = end - start; - - memcpy(stringBaud, start, length); - inputBaud = atoi(stringBaud); - } - } - - /* Return the found baud */ - return inputBaud; -} - -void VnSearcher_discardData(char inputData[], size_t dataLength, size_t discardLength) -{ - /* This function will move the pertinent data to be begining of the array. */ - /* If discard length is the full size of the array then all data is discarded. */ - if (dataLength <= discardLength) - { - /* Just zero out everything */ - memset(inputData, 0, dataLength); - } - else - { - /* Move the data to the front of the array and zero out everything else */ - /* Size of the data to move */ - size_t tmpSize = dataLength - discardLength; - /* Temporary swap buffer */ - char* tmp = (char*)malloc(sizeof(char) * tmpSize); - /* And the swap operations */ - /*memcpy_s(tmp, tmpSize, inputData + discardLength, tmpSize);*/ - memcpy(tmp, inputData + discardLength, tmpSize); - memset(inputData, 0, dataLength); - /*memcpy_s(inputData, tmpSize, tmp, tmpSize);*/ - memcpy(inputData, tmp, tmpSize); - } -} - -bool VnSearcher_findString(char* inputData, size_t* inputSize, char* toFind, size_t findSize) -{ - /* Assume failure */ - bool success = false; - char* end = inputData + *inputSize; - char* start = inputData; - size_t size = *inputSize; - - /* Loop through the data until we run out */ - while ((NULL != start) && (!success) && (findSize <= size) && (NULL != end)) - { - /* find the first instance of the toFind array */ - start = (char*)memchr(start, '$', size); - - /* It doesn't exist so just zero out everything; the data is useless */ - if (NULL == start) - { - VnSearcher_discardData(inputData, *inputSize, *inputSize); - *inputSize = 0; - } - /* We found it, now to see if this is the beginning of the input array */ - else - { - end = (char*)memchr(start, '*', size); - - /* We found an end sentinal */ - if (NULL != end) - { - /* We have both a start and end sentinal. Let's see if */ - /* we have a proper packet. */ - - if(((end - start) >= (int)findSize) && - (strncmp(start, toFind, findSize) == 0)) - { - /* This is what we're looking for */ - success = true; - - /* Readjust the size of the data. */ - VnSearcher_discardData(inputData, *inputSize, start - inputData); - *inputSize = end - start + 1; - } - else - { - /* Wrong type of packet or no packet. Remove the sentinal character */ - /* and continue the search. */ - start[0] = '\0'; - } - } - - } - } - - return success; -} - -bool VnSearcher_validateData(char inputData[], size_t* dataLength) -{ - /* Assume failure */ - bool validated = false; - bool result1 = false; - bool result2 = false; - - char search1[256] = { 0 }; - char search2[256] = { 0 }; - - size_t size1 = *dataLength; - size_t size2 = *dataLength; - - memcpy(search1, inputData, *dataLength); - memcpy(search2, inputData, *dataLength); - - /* search for a $VNRRG,5 or %VNRRG,05 */ - - result1 = VnSearcher_findString(search1, &size1, "$VNRRG,5", 8); - result2 = VnSearcher_findString(search2, &size2, "$VNRRG,05", 9); - - /*printf("validateData::search1-1 %s\n", search1);*/ - if (result1) - { - validated = true; - VnSearcher_discardData(inputData, *dataLength, *dataLength); - memcpy(inputData, search1, size1); - *dataLength = size1; - } - else if (result2) - { - validated = true; - VnSearcher_discardData(inputData, *dataLength, *dataLength); - memcpy(inputData, search2, size2); - *dataLength = size2; - } - else if (size1 > size2) - { - *dataLength = size1; - } - else - { - *dataLength = size2; - } - - /* Return the result. */ - return validated; -} - -void VnSearcher_dataReceivedHandler(void* portInfo) -{ - /* Cast the input void pointer */ - VnPortInfo* port = (VnPortInfo*)portInfo; - - /* Prepare for handling incoming data */ - char readBuffer[255] = {0}; - - /* Data validation flag. Assume failure. */ - bool validated = false; - - size_t bytesToRead = sizeof(port->data) - port->dataSize; - size_t bytesRead = 0; - - /* Keep looping until a valid packet is found or the thread shuts down. */ - /* Read the data from the port. */ - VnError error = VnSerialPort_read(port->port, readBuffer, bytesToRead, &bytesRead); - - /*printf("read %d %s\n", bytesRead, readBuffer);*/ - - memcpy(port->data + port->dataSize, readBuffer, bytesRead); - port->dataSize += bytesRead; - port->data[254] = '\n'; - - - /* Check if this is valid data from the sensor. */ - /*validated = VnSearcher_validateData(readBuffer);*/ - validated = VnSearcher_validateData(port->data, &(port->dataSize)); - - /* If an error occurs place a value of -2 into the baud variable to - * indicate this and end the thread. - */ - if (E_NONE != error) - { - port->baud = -2; - /*break;*/ - } - - /* If this is valid data then extract the baud rate and put the value into - * the port object. - */ - if(validated) - { - uint32_t bufferBaud = VnSearcher_matchBaud(port->data); - port->baud = bufferBaud; - validated = false; - } -} - -void VnSearcher_testPort(void* portInfo) -{ - VnError error = E_NONE; - /* Cast the input void pointer */ - VnPortInfo* port = (VnPortInfo*)portInfo; - - size_t index = 0; - size_t numBaudrates = sizeof(SubBD) / sizeof(SubBD[0]); - - /* Loop through all of the possible baud rates. */ - while(index < numBaudrates) - { - /* Set up a serial port object to communicate with. */ - VnSerialPort serialPort; - port->port = &serialPort; - VnSerialPort_initialize(&serialPort); - VnSerialPort_registerDataReceivedHandler(&serialPort, VnSearcher_dataReceivedHandler, port); - - /* Open the port for communications. */ - error = VnSerialPort_open(&serialPort, port->portName, SubBD[index]); - - /* ensure the port opened. */ - if(VnSerialPort_isOpen(&serialPort) && (E_NONE == error)) - { - /* Request the baud rate from the sensor. */ - VnSerialPort_write(&serialPort, "$VNRRG,05*XX\r\n", 14); - - /* Now wait 50 miliseconds to see if the sensor answers. */ - VnThread_sleepMs(50); - - /* Close the port to tell the data handling thread to terminate. */ - VnSerialPort_close(&serialPort); - - /* Check if we have a baud. - * -2 - Unknown error occured. - * -1 - No baud rate was found. - * 0 - Initial state. - * >0 - A valid baud rate was found. */ - if(port->baud != 0) - { - /* Either a sensor was found or an error occurred. - * End the while loop. */ - break; - } - } - - /* We don't want an infinite loop. */ - index++; - } - - /* If there was no change in the baud variable indicate no sensor found - * using a value of -1. */ - if(port->baud == 0) - { - port->baud = -1; - } -} - -/* Public Functions */ - -char* VnSearcher_getPortName(VnPortInfo* portInfo) -{ - return portInfo->portName; -} - -int32_t VnSearcher_getPortBaud(VnPortInfo* portInfo) -{ - return portInfo->baud; -} - -#ifdef __linux__ -void VnSearcher_findPorts_LINUX(char*** portNamesOut, int32_t* numPortsFound) -{ - char portName[15] = {0}; - char portNames[16 * 255] = {0}; - char* portNamePtr = portNames; - const size_t MAX_PORTS = 255; - int portFd = -1; - size_t index = 0; - size_t nameLen = 0; - - *numPortsFound = 0; - - while(index < MAX_PORTS) - { - /* Create the port name for reading. */ - sprintf(portName, "/dev/ttyUSB%u", (unsigned int) index); - - /* Attempt to open the serial port */ - portFd = open(portName, - #if __linux__ || __CYGWIN__ || __QNXNTO__ - O_RDWR | O_NOCTTY ); - #elif __APPLE__ - O_RDWR | O_NOCTTY | O_NONBLOCK); - #else - #error "Unknown System" - #endif - - /* Check to see if the port opened */ - if(portFd != -1) - { - /* We have a usable port */ - /* Record the port name */ - nameLen = strlen(portName); - sprintf(portNamePtr, "%s,", portName); - portNamePtr += nameLen + 1; - ++(*numPortsFound); - - /* Close the port */ - close(portFd); - } - /* If not we ignore it */ - ++index; - } - - if (*numPortsFound > 0) - { - char* start = NULL; - char* end = NULL; - - uint32_t length = 0; - - *portNamesOut = (char**)malloc(index * sizeof(char*)); - index = 0; - - start = portNames; - end = portNames; - - while (index < *numPortsFound) - { - start = strstr(end, "/dev"); - - end = strchr(start, ','); - length = end - start; - (*portNamesOut)[index] = (char*)malloc(length + 1); - memcpy((*portNamesOut)[index], start, length); - (*portNamesOut)[index][length] = '\0'; - end += 1; - - ++index; - } - }} -#elif defined _WIN32 -void VnSearcher_findPorts_WIN32(char*** portNamesOut, int32_t* numPortsFound) -{ - uint32_t MAX_PORTS = 255; - - char portName[12] = {0}; - char portNames[13 * 255] = {0}; - char* portNamePtr = portNames; - - HANDLE portHandle; - - uint32_t index = 0; - uint32_t portNameLength = 0; - - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - while (index < MAX_PORTS) - { - /* Create the port name for reading. */ - sprintf(portName, "\\\\.\\COM%u", index); - - /* Create the port file. */ - portHandle = CreateFile(portName, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0); - - /* Check if this is a valid handle. */ - if (INVALID_HANDLE_VALUE != portHandle) - { - /* We have a valid handle. */ - /* Record the port name and increment the number of ports counter. */ - portNameLength = strlen(portName); - sprintf(portNamePtr, "%s,", portName); - portNamePtr += portNameLength + 1; - ++(*numPortsFound); - - /* Clean up. Close the handle. */ - if(!CloseHandle(portHandle)) - { - printf("ERROR\n"); - } - - - } - - index++; - } - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif - - if (*numPortsFound > 0) - { - char* start = portNames; - char* end = portNames; - - *portNamesOut = (char**) malloc(index * sizeof(char*)); - index = 0; - - while ((int32_t)index < *numPortsFound) - { - uint32_t length; - - start = strstr(end, "COM"); - - end = strchr(start, ','); - length = end - start; - (*portNamesOut)[index] = (char*)malloc(length + 1); - memcpy((*portNamesOut)[index], start, length); - (*portNamesOut)[index][length] = '\0'; - end += 1; - - index++; - } - } -} -#endif - -void VnSearcher_findPortBaud(char* portName, int32_t* foundBaudrate) -{ - /* These will handle the return data. */ - VnPortInfo** portInfo; - - /* These will handle the input data. */ - char** portNames = &portName; - int32_t numPorts = 1; - - /* This function will search the port and, if found, return a VnPortInfo */ - /* containing the baud rate. */ - VnSearcher_searchInputPorts(&portNames, numPorts, &portInfo); - - /* The number in baud will indicate whether the function succeeded - * -2 - error - * -1 - no sensor found - * >0 - sensor's baud rate - */ - *foundBaudrate = portInfo[0]->baud; -} - -void VnSearcher_findAllSensors(VnPortInfo*** returnSensors, int32_t* numSensors) -{ - int32_t numSystemPorts = 0; - char** systemPorts = NULL; - - /* First, find all of the ports on the system */ - VnSearcher_findPorts(&systemPorts, &numSystemPorts); - - /* Check if a sensor is accessible on the port */ - /* Only do this if the port search succeeded and found available system ports */ - if(numSystemPorts > 0) - { - VnSearcher_searchInputPorts(&systemPorts, numSystemPorts, returnSensors); - *numSensors = numSystemPorts; - } -} - -void VnSearcher_searchInputPorts(char*** portsToCheck, int32_t numPortsToCheck, VnPortInfo*** sensorsFound) -{ - int32_t linkCount = 0; - - /* Initialize the sensorsFound array with space for any future pointers. */ - *sensorsFound = (VnPortInfo**) malloc(sizeof(VnPortInfo*) * numPortsToCheck); - - while(linkCount < numPortsToCheck) - { - /*VnPortInfo* newPort = NULL;*/ - size_t nameSize = 0; - - /*newPort = (*sensorsFound)[linkCount];*/ - nameSize = strlen((*portsToCheck)[linkCount]); - - /* Create the port info */ - (*sensorsFound)[linkCount] = (VnPortInfo*)malloc(sizeof(VnPortInfo)); - (*sensorsFound)[linkCount]->dataSize = 0; - - /* Give it the port name */ - (*sensorsFound)[linkCount]->portName = (char*)malloc(sizeof(char) * nameSize + 1); - memcpy((*sensorsFound)[linkCount]->portName, (*portsToCheck)[linkCount], nameSize + 1); - - /* Make sure the data field is zeroed out. */ - memset(&(*sensorsFound)[linkCount]->data, 0, sizeof((*sensorsFound)[linkCount]->data)); - - /* Set baud to 0. A baud of 0 will indicate that the test is not finished - * running just yet. A baud of -1 will indicate that no sensor has been - * found. A baud of -2 will indicate an error. Any baud over 0 will be - * the actual baud rate. */ - (*sensorsFound)[linkCount]->baud = 0; - - /* Set up the thread */ - - /* Now, start the thread to check the port.*/ - VnThread_startNew(&((*sensorsFound)[linkCount]->thread), VnSearcher_testPort, (*sensorsFound)[linkCount]); - - /* And increment the link counter */ - ++linkCount; - } - - /* Reset the link counter. */ - linkCount = 0; - - /* Loop until all of the threads have completed. */ - while(linkCount < numPortsToCheck) - { - /* Sleep until the baud rate changes */ - while((*sensorsFound)[linkCount]->baud == 0) - { - VnThread_sleepMs(1); - } - - /* The thread has finished. The thread handles setting any pertinent - * data. Simply increment the linkCount variable - */ - ++linkCount; - } -} diff --git a/vnproglib/c/src/vn/util.c b/vnproglib/c/src/vn/util.c deleted file mode 100644 index 70099b9..0000000 --- a/vnproglib/c/src/vn/util.c +++ /dev/null @@ -1,391 +0,0 @@ -#include "vn/util.h" - -#include -#include - -#if (defined _M_IX86 || defined __i386__ || defined __x86_64) - /* Compiling for x86 processor. */ - #define VN_LITTLE_ENDIAN 1 -#elif defined __linux__ - /* Don't know what processor we are compiling for but we have endian.h. */ - #define VN_HAVE_ENDIAN_H 1 - #include -#elif defined __ORDER_LITTLE_ENDIAN__ - #define VN_LITTLE_ENDIAN 1 -#elif defined __ORDER_BIG_ENDIAN__ - #define VN_BIG_ENDIAN 1 -#else - #error "Unknown System" -#endif - -int VnApi_major(void) -{ - return VNAPI_MAJOR; -} - -int VnApi_minor(void) -{ - return VNAPI_MINOR; -} - -int VnApi_patch(void) -{ - return VNAPI_PATCH; -} - -int VnApi_revision(void) -{ - return VNAPI_REVISION; -} - -VnError VnApi_getVersion(char *out, size_t outLength) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - outLength = sprintf(out, "%d.%d.%d.%d", VNAPI_MAJOR, VNAPI_MINOR, VNAPI_PATCH, VNAPI_REVISION); - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif - - return E_NONE; -} - -uint8_t VnUtil_toUint8FromHexChar(char c) -{ - if (c < ':') - return c - '0'; - - if (c < 'G') - return c - '7'; - - return c - 'W'; -} - -uint8_t VnUtil_toUint8FromHexStr(char const *str) -{ - uint8_t result; - - result = VnUtil_toUint8FromHexChar(str[0]) << 4; - result += VnUtil_toUint8FromHexChar(str[1]); - - return result; -} - -uint16_t VnUtil_toUint16FromHexStr(char const *str) -{ - uint16_t result; - - result = VnUtil_toUint8FromHexChar(str[0]) << 12; - result += VnUtil_toUint8FromHexChar(str[1]) << 8; - result += VnUtil_toUint8FromHexChar(str[2]) << 4; - result += VnUtil_toUint8FromHexChar(str[3]); - - return result; -} - -void VnUtil_toHexStrFromUint8(uint8_t toConvert, char* output) -{ - char const digits[] = "0123456789ABCDEF"; - - *output++ = digits[(toConvert / 16) % 16]; - *output = digits[toConvert % 16]; -} - -void VnUtil_toHexStrFromUint16(uint16_t toConvert, char* output) -{ - char const digits[] = "0123456789ABCDEF"; - - *output++ = digits[(toConvert / (16*16*16)) % 16]; - *output++ = digits[(toConvert / (16 * 16)) % 16]; - *output++ = digits[(toConvert / 16) % 16]; - *output = digits[toConvert % 16]; -} - -size_t VnUtil_toStrFromUint16(uint16_t toConvert, char *output) -{ - char const digits[] = "0123456789"; - - uint16_t shifter = toConvert; - size_t numOfChars = 0; - char* p = output; - - /* Move to the representation end. */ - do - { - ++p; - shifter /= 10; - numOfChars++; - } while (shifter); - - /* Move back to the beginning inserting our converted digits as we go. */ - do - { - *--p = digits[toConvert % 10]; - toConvert /= 10; - } while (toConvert); - - return numOfChars; -} - -uint8_t VnUtil_countSetBitsUint8(uint8_t data) -{ - uint8_t count = 0; - - while (data) - { - data &= (data - 1); - - count++; - } - - return count; -} - -void strFromBool(char *out, bool val) -{ - #if defined(_MSC_VER) - /* Disable warnings regarding using strcpy_s since this - * function's signature does not provide us with information - * about the length of 'out'. */ - #pragma warning(push) - #pragma warning(disable:4996) - #endif - - if (val == 0) - strcpy(out, "false"); - else - strcpy(out, "true"); - - #if defined(_MSC_VER) - #pragma warning(pop) - #endif -} - -uint16_t stoh16(uint16_t sensorOrdered) -{ - #if VN_LITTLE_ENDIAN - return sensorOrdered; - #elif VN_BIG_ENDIAN - uint16_t host; - host = ((sensorOrdered >> 0) & 0xFF) * 0x0100; - host += ((sensorOrdered >> 8) & 0xFF) * 0x0001; - return host; - #elif VN_HAVE_ENDIAN_H - return le16toh(sensorOrdered); - #else - #error("Unknown system") - #endif -} - -uint32_t stoh32(uint32_t sensorOrdered) -{ - #if VN_LITTLE_ENDIAN - return sensorOrdered; - #elif VN_BIG_ENDIAN - uint32_t host; - host = ((sensorOrdered >> 0) & 0xFF) * 0x01000000; - host += ((sensorOrdered >> 8) & 0xFF) * 0x00010000; - host += ((sensorOrdered >> 16) & 0xFF) * 0x00000100; - host += ((sensorOrdered >> 24) & 0xFF) * 0x00000001; - return host; - #elif VN_HAVE_ENDIAN_H - return le32toh(sensorOrdered); - #else - #error("Unknown system") - #endif -} - -uint64_t stoh64(uint64_t sensorOrdered) -{ - #if VN_LITTLE_ENDIAN - return sensorOrdered; - #elif VN_BIG_ENDIAN - uint64_t host; - host = ((sensorOrdered >> 0) & 0xFF) * 0x0100000000000000; - host += ((sensorOrdered >> 8) & 0xFF) * 0x0001000000000000; - host += ((sensorOrdered >> 16) & 0xFF) * 0x0000010000000000; - host += ((sensorOrdered >> 24) & 0xFF) * 0x0000000100000000; - host += ((sensorOrdered >> 32) & 0xFF) * 0x0000000001000000; - host += ((sensorOrdered >> 40) & 0xFF) * 0x0000000000010000; - host += ((sensorOrdered >> 48) & 0xFF) * 0x0000000000000100; - host += ((sensorOrdered >> 56) & 0xFF) * 0x0000000000000001; - return host; - #elif VN_HAVE_ENDIAN_H - return le64toh(sensorOrdered); - #else - #error("Unknown system") - #endif -} - -uint16_t htos16(uint16_t hostOrdered) -{ - return stoh16(hostOrdered); -} - -uint32_t htos32(uint32_t hostOrdered) -{ - return stoh32(hostOrdered); -} - -uint64_t htos64(uint64_t hostOrdered) -{ - return stoh64(hostOrdered); -} - -float htosf4(float hostOrdered) -{ - uint32_t* v = (uint32_t*) &hostOrdered; - - *v = stoh32(*v); - - return hostOrdered; -} - -double htosf8(double hostOrdered) -{ - uint64_t* v = (uint64_t*) &hostOrdered; - - *v = stoh64(*v); - - return hostOrdered; -} - -uint16_t VnUtil_extractUint16(const char* pos) -{ - uint16_t d; - - memcpy(&d, pos, sizeof(uint16_t)); - - return stoh16(d); -} - -uint32_t VnUtil_extractUint32(const char* pos) -{ - uint32_t d; - - memcpy(&d, pos, sizeof(uint32_t)); - - return stoh32(d); -} - -float VnUtil_extractFloat(const char* pos) -{ - float f; - uint32_t tmp; - - memcpy(&tmp, pos, sizeof(float)); - tmp = stoh32(tmp); - memcpy(&f, &tmp, sizeof(float)); - - return f; -} - -double VnUtil_extractDouble(const char* pos) -{ - double f; - uint64_t tmp; - - memcpy(&tmp, pos, sizeof(double)); - tmp = stoh64(tmp); - memcpy(&f, &tmp, sizeof(double)); - - return f; -} - -vec3f VnUtil_extractVec3f(const char* pos) -{ - vec3f r; - - r.c[0] = VnUtil_extractFloat(pos); - r.c[1] = VnUtil_extractFloat(pos + sizeof(float)); - r.c[2] = VnUtil_extractFloat(pos + 2 * sizeof(float)); - - return r; -} - -vec4f VnUtil_extractVec4f(const char* pos) -{ - vec4f r; - - r.c[0] = VnUtil_extractFloat(pos); - r.c[1] = VnUtil_extractFloat(pos + sizeof(float)); - r.c[2] = VnUtil_extractFloat(pos + 2 * sizeof(float)); - r.c[3] = VnUtil_extractFloat(pos + 3 * sizeof(float)); - - return r; -} - -vec3d VnUtil_extractVec3d(const char* pos) -{ - vec3d r; - - r.c[0] = VnUtil_extractDouble(pos); - r.c[1] = VnUtil_extractDouble(pos + sizeof(double)); - r.c[2] = VnUtil_extractDouble(pos + 2 * sizeof(double)); - - return r; -} - -mat3f VnUtil_extractMat3f(const char* pos) -{ - mat3f r; - - r.e[0] = VnUtil_extractFloat(pos); - r.e[1] = VnUtil_extractFloat(pos + sizeof(float)); - r.e[2] = VnUtil_extractFloat(pos + 2 * sizeof(float)); - r.e[3] = VnUtil_extractFloat(pos + 3 * sizeof(float)); - r.e[4] = VnUtil_extractFloat(pos + 4 * sizeof(float)); - r.e[5] = VnUtil_extractFloat(pos + 5 * sizeof(float)); - r.e[6] = VnUtil_extractFloat(pos + 6 * sizeof(float)); - r.e[7] = VnUtil_extractFloat(pos + 7 * sizeof(float)); - r.e[8] = VnUtil_extractFloat(pos + 8 * sizeof(float)); - - return r; -} - -GpsDop VnUtil_extractGpsDop(const char* pos) -{ - GpsDop dop; - - dop.gDOP = VnUtil_extractFloat(pos); - dop.pDOP = VnUtil_extractFloat(pos + sizeof(float)); - dop.tDOP = VnUtil_extractFloat(pos + 2 * sizeof(float)); - dop.vDOP = VnUtil_extractFloat(pos + 3 * sizeof(float)); - dop.hDOP = VnUtil_extractFloat(pos + 4 * sizeof(float)); - dop.nDOP = VnUtil_extractFloat(pos + 5 * sizeof(float)); - dop.eDOP = VnUtil_extractFloat(pos + 6 * sizeof(float)); - - return dop; -} - -TimeUtc VnUtil_extractTimeUtc(const char* pos) -{ - TimeUtc timeUtc; - - timeUtc.year = (int8_t)pos[0]; - timeUtc.month = (uint8_t)pos[1]; - timeUtc.day = (uint8_t)pos[2]; - timeUtc.hour = (uint8_t)pos[3]; - timeUtc.min = (uint8_t)pos[4]; - timeUtc.sec = (uint8_t)pos[5]; - timeUtc.ms = VnUtil_extractUint16(pos + 6); - - return timeUtc; -} - -TimeInfo VnUtil_extractTimeInfo(const char* pos) -{ - TimeInfo timeInfo; - - timeInfo.timeStatus = (uint8_t)pos[0]; - timeInfo.leapSeconds = (int8_t)pos[1]; - - return timeInfo; -} diff --git a/vnproglib/c/src/vn/xplat/criticalsection.c b/vnproglib/c/src/vn/xplat/criticalsection.c deleted file mode 100644 index d5ee72c..0000000 --- a/vnproglib/c/src/vn/xplat/criticalsection.c +++ /dev/null @@ -1,73 +0,0 @@ -#include "vn/xplat/criticalsection.h" - -VnError VnCriticalSection_initialize(VnCriticalSection *cs) -{ - #if _WIN32 - - InitializeCriticalSection(&cs->handle); - - #elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - - if (pthread_mutex_init(&cs->handle, NULL)) - return E_UNKNOWN; - - #else - #error "Unknown System" - #endif - - return E_NONE; -} - -VnError VnCriticalSection_deinitialize(VnCriticalSection *cs) -{ - #if _WIN32 - - DeleteCriticalSection(&cs->handle); - - #elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - - if (pthread_mutex_destroy(&cs->handle)) - return E_UNKNOWN; - - #else - #error "Unknown System" - #endif - - return E_NONE; -} - -VnError VnCriticalSection_enter(VnCriticalSection *cs) -{ - #if _WIN32 - - EnterCriticalSection(&cs->handle); - - #elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - - if (pthread_mutex_lock(&cs->handle)) - return E_UNKNOWN; - - #else - #error "Unknown System" - #endif - - return E_NONE; -} - -VnError VnCriticalSection_leave(VnCriticalSection *cs) -{ - #if _WIN32 - - LeaveCriticalSection(&cs->handle); - - #elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - - if (pthread_mutex_unlock(&cs->handle)) - return E_UNKNOWN; - - #else - #error "Unknown System" - #endif - - return E_NONE; -} diff --git a/vnproglib/c/src/vn/xplat/event.c b/vnproglib/c/src/vn/xplat/event.c deleted file mode 100644 index d536a45..0000000 --- a/vnproglib/c/src/vn/xplat/event.c +++ /dev/null @@ -1,239 +0,0 @@ -/* Enable IEEE Std 1003.1b-1993 functionality required for clock_gettime. */ -#ifdef __linux__ - /* Works for Ubuntu 15.10 */ - #define _POSIX_C_SOURCE 199309L -#elif defined __CYGWIN__ - /* Works for Cygwin 2.4.0 64-bit */ - #define _POSIX_TIMERS 1 -#endif - -#include "vn/xplat/event.h" - -#if defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__ - #include - #include -#endif - -#ifdef __APPLE__ - #include - #include - #include - #include -#endif - -VnError VnEvent_initialize(VnEvent *e) -{ - #ifdef _WIN32 - - e->handle = CreateEvent( - NULL, - FALSE, - FALSE, - NULL); - - if (e->handle == NULL) - return E_UNKNOWN; - - #elif defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__ - - if (pthread_mutex_init(&e->mutex, NULL)) - return E_UNKNOWN; - - if (pthread_cond_init(&e->condition, NULL)) - return E_UNKNOWN; - - e->isTriggered = false; - - #else - #error "Unknown System" - #endif - - return E_NONE; -} - -VnError VnEvent_wait(VnEvent *e) -{ - #ifdef _WIN32 - - DWORD result; - - result = WaitForSingleObject(e->handle, 0xffffffff); - - if (result == WAIT_OBJECT_0) - return E_NONE; - - return E_UNKNOWN; - - #elif defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__ - - if (pthread_mutex_lock(&e->mutex)) - return E_UNKNOWN; - - if (pthread_cond_wait( - &e->condition, - &e->mutex)) - return E_UNKNOWN; - - if (pthread_mutex_unlock(&e->mutex)) - return E_UNKNOWN; - - return E_NONE; - - #else - #error "Unknown System" - #endif -} - -VnError VnEvent_waitMs(VnEvent *e, uint32_t timeoutMs) -{ - #ifdef _WIN32 - - DWORD result; - - result = WaitForSingleObject(e->handle, timeoutMs); - - if (result == WAIT_OBJECT_0) - return E_SIGNALED; - - if (result == WAIT_TIMEOUT) - return E_TIMEOUT; - - return E_UNKNOWN; - - #elif defined __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - - return VnEvent_waitUs(e, timeoutMs * 1000); - - #else - #error "Unknown System" - #endif -} - -VnError VnEvent_waitUs(VnEvent *e, uint32_t timeoutUs) -{ - #ifdef _WIN32 - - DWORD result; - - result = WaitForSingleObject( - e->handle, - timeoutUs / 1000); - - if (result == WAIT_OBJECT_0) - return E_SIGNALED; - - if (result == WAIT_TIMEOUT) - return E_TIMEOUT; - -#elif (defined __linux__ || defined __CYGWIN__ || defined __QNXNTO__) - - struct timespec now; - int errorCode; - uint32_t numOfSecs, numOfNanoseconds; - - if (pthread_mutex_lock(&e->mutex)) - return E_UNKNOWN; - - if (clock_gettime(CLOCK_REALTIME, &now)) - return E_UNKNOWN; - - numOfSecs = timeoutUs / 1000000; - numOfNanoseconds = (timeoutUs % 1000000) * 1000; - - now.tv_sec += numOfSecs; - now.tv_nsec += numOfNanoseconds; - - if (now.tv_nsec > 1000000000) - { - now.tv_nsec %= 1000000000; - now.tv_sec++; - } - - errorCode = pthread_cond_timedwait( - &e->condition, - &e->mutex, - &now); - - if (pthread_mutex_unlock(&e->mutex)) - return E_UNKNOWN; - - if (!errorCode) - return E_SIGNALED; - - if (errorCode == ETIMEDOUT) - return E_TIMEOUT; - - #elif defined __APPLE__ - - pthread_mutex_lock(&e->mutex); - - clock_serv_t cclock; - mach_struct timespec_t mts; - host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock); - clock_get_time(cclock, &mts); - mach_port_deallocate(mach_task_self(), cclock); - - struct timespec now; - now.tv_sec = mts.tv_sec; - now.tv_nsec = mts.tv_nsec; - - uint32_t numOfSecs = timeoutUs / 1000000; - uint32_t numOfNanoseconds = (timeoutUs % 1000000) * 1000; - - now.tv_sec += numOfSecs; - now.tv_nsec += numOfNanoseconds; - - if (now.tv_nsec > 1000000000) - { - now.tv_nsec %= 1000000000; - now.tv_sec++; - } - - int errorCode = pthread_cond_timedwait( - &e->condition, - &e->mutex, - &now); - - pthread_mutex_unlock(&e->mutex); - - if (errorCode == 0) - return E_SIGNALED; - - if (errorCode == ETIMEDOUT) - return E_TIMEOUT; - - #else - - #error "Unknown System" - - #endif - - return E_UNKNOWN; -} - -VnError VnEvent_signal(VnEvent *e) -{ - #ifdef _WIN32 - - if (!SetEvent(e->handle)) - return E_UNKNOWN; - - #elif defined __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - - if (pthread_mutex_lock(&e->mutex)) - return E_UNKNOWN; - - e->isTriggered = true; - - if (pthread_cond_signal(&e->condition)) - return E_UNKNOWN; - - if (pthread_mutex_unlock(&e->mutex)) - return E_UNKNOWN; - - #else - #error "Unknown System" - #endif - - return E_NONE; -} diff --git a/vnproglib/c/src/vn/xplat/serialport.c b/vnproglib/c/src/vn/xplat/serialport.c deleted file mode 100644 index 7bda002..0000000 --- a/vnproglib/c/src/vn/xplat/serialport.c +++ /dev/null @@ -1,762 +0,0 @@ -#include "vn/xplat/serialport.h" - -#if _WIN32 - /* Nothing to do. */ -#elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - #include - #include - #include - #include - #include - #include - #include -#else - #error "Unknown System" -#endif - -#define NUMBER_OF_BYTES_TO_PURGE_ON_OPENING_SERIAL_PORT 100 -#define WAIT_TIME_FOR_SERIAL_PORT_READS_MS 100 - -/* Private declarations. */ -void VnSerialPort_purgeFirstDataBytesFromSerialPort(VnSerialPort *serialport); -void VnSerialPort_startSerialPortNotificationsThread(VnSerialPort *serialport); -void VnSerialPort_stopSerialPortNotificationsThread(VnSerialPort *serialport); -void VnSerialPort_handleSerialPortNotifications(void* data); -void VnSerialPort_onDataReceived(VnSerialPort *serialport); -VnError VnSerialPort_open_internal(VnSerialPort *serialport, char const *portName, uint32_t baudrate, bool checkAndToggleIsOpenFlag); -VnError VnSerialPort_close_internal(VnSerialPort *serialport, bool checkAndToggleIsOpenFlag); - -VnError VnSerialPort_initialize(VnSerialPort *sp) -{ - #if _WIN32 - sp->handle = NULL; - VnCriticalSection_initialize(&sp->readWriteCS); - #elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - sp->handle = -1; - #else - #error "Unknown System" - #endif - - sp->purgeFirstDataBytesWhenSerialPortIsFirstOpened = true; - sp->dataReceivedHandler = NULL; - sp->dataReceivedHandlerUserData = NULL; - sp->continueHandlingSerialPortEvents = false; - sp->numberOfReceiveDataDroppedSections = 0; - - VnCriticalSection_initialize(&sp->dataReceivedHandlerCriticalSection); - - return E_NONE; -} - -VnError VnSerialPort_open_internal(VnSerialPort *serialport, char const *portName, uint32_t baudrate, bool checkAndToggleIsOpenFlag) -{ - #if _WIN32 - DCB config; - const char *preName = "\\\\.\\"; - char *fullName; - size_t fullNameLen; - COMMTIMEOUTS comTimeOut; - #ifdef UNICODE - WCHAR wFullName[0x100]; - #endif - - #elif (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__) - - struct termios portSettings; - int portFd = -1; - tcflag_t baudrateFlag; - - #endif - - #if VN_HAVE_SECURE_CRT - strcpy_s(serialport->portName, sizeof(serialport->portName), portName); - #else - strcpy(serialport->portName, portName); - #endif - - if (checkAndToggleIsOpenFlag && VnSerialPort_isOpen(serialport)) - return E_INVALID_OPERATION; - - #if _WIN32 - - fullNameLen = strlen(preName) + strlen(portName) + 1; - fullName = (char*) malloc(fullNameLen); - #if VN_HAVE_SECURE_CRT - strcpy_s(fullName, fullNameLen, preName); - strcat_s(fullName, fullNameLen, portName); - #else - strcpy(fullName, preName); - strcat(fullName, portName); - #endif - - #ifdef UNICODE - mbstowcs(wFullName, fullName, strlen(fullName) + 1); - #endif - - serialport->handle = CreateFile( - #ifdef UNICODE - wFullName, - #else - fullName, - #endif - GENERIC_READ | GENERIC_WRITE, - 0, - NULL, - OPEN_EXISTING, - FILE_FLAG_OVERLAPPED, - NULL); - - free(fullName); - - if (serialport->handle == INVALID_HANDLE_VALUE) - { - DWORD error = GetLastError(); - - if (error == ERROR_ACCESS_DENIED) - /* Port is probably already open. */ - return E_INVALID_OPERATION; - - if (error == ERROR_FILE_NOT_FOUND) - /* Port probably does not exist. */ - return E_NOT_FOUND; - - return E_UNKNOWN; - } - - /* Set the state of the COM port. */ - if (!GetCommState(serialport->handle, &config)) - { - DWORD error = GetLastError(); - - if (error != ERROR_OPERATION_ABORTED) - return E_UNKNOWN; - - /* Try clearing this error. */ - if (!ClearCommError(serialport->handle, &error, NULL)) - return E_UNKNOWN; - - /* Retry the operation. */ - if (!GetCommState(serialport->handle, &config)) - return E_UNKNOWN; - } - - config.BaudRate = baudrate; - config.StopBits = ONESTOPBIT; - config.Parity = NOPARITY; - config.ByteSize = 8; - config.fAbortOnError = 0; - - if (!SetCommState(serialport->handle, &config)) - { - DWORD error = GetLastError(); - - if (error == ERROR_INVALID_PARAMETER) - { - if (!CloseHandle(serialport->handle)) - return E_UNKNOWN; - - return E_INVALID_VALUE; - } - - if (error != ERROR_OPERATION_ABORTED) - return E_UNKNOWN; - - /* Try clearing this error. */ - if (!ClearCommError(serialport->handle, &error, NULL)) - return E_UNKNOWN; - - /* Retry this operation. */ - if (!SetCommState(serialport->handle, &config)) - return E_UNKNOWN; - } - - comTimeOut.ReadIntervalTimeout = 0; - comTimeOut.ReadTotalTimeoutMultiplier = 0; - comTimeOut.ReadTotalTimeoutConstant = 1; - comTimeOut.WriteTotalTimeoutMultiplier = 3; - comTimeOut.WriteTotalTimeoutConstant = 2; - - if (!SetCommTimeouts(serialport->handle, &comTimeOut)) - { - DWORD error = GetLastError(); - - if (error != ERROR_OPERATION_ABORTED) - return E_UNKNOWN; - - /* Try clearing this error. */ - if (!ClearCommError(serialport->handle, &error, NULL)) - return E_UNKNOWN; - - /* Retry the operation. */ - if (!SetCommTimeouts(serialport->handle, &comTimeOut)) - return E_UNKNOWN; - } - - #elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - - portFd = open( - portName, - #if __linux__ || __CYGWIN__ || __QNXNTO__ - O_RDWR | O_NOCTTY); - #elif __APPLE__ - O_RDWR | O_NOCTTY | O_NONBLOCK); - #else - #error "Unknown System" - #endif - - if (portFd == -1) - { - switch (errno) - { - case EACCES: - return E_PERMISSION_DENIED; - case ENXIO: - case ENOTDIR: - case ENOENT: - return E_NOT_FOUND; - default: - return E_UNKNOWN; - } - } - - memset( - &portSettings, - 0, - sizeof(portSettings)); - - switch (baudrate) - { - case 9600: - baudrateFlag = B9600; - break; - case 19200: - baudrateFlag = B19200; - break; - case 38400: - baudrateFlag = B38400; - break; - case 57600: - baudrateFlag = B57600; - break; - case 115200: - baudrateFlag = B115200; - break; - - /* QNX does not have higher baudrates defined. */ - #if !defined(__QNXNTO__) - - case 230400: - baudrateFlag = B230400; - break; - - /* Not available on Mac OS X??? */ - #if !defined(__APPLE__) - - case 460800: - baudrateFlag = B460800; - break; - case 921600: - baudrateFlag = B921600; - break; - - #endif - - #endif - - default: - return E_INVALID_VALUE; - } - - /* Set baudrate, 8n1, no modem control, enable receiving characters. */ - #if __linux__ || __QNXNTO__ || __CYGWIN__ - portSettings.c_cflag = baudrateFlag; - #elif defined(__APPLE__) - cfsetspeed(&portSettings, baudrateFlag); - #endif - portSettings.c_cflag |= CS8 | CLOCAL | CREAD; - - portSettings.c_iflag = IGNPAR; /* Ignore bytes with parity errors. */ - portSettings.c_oflag = 0; /* Enable raw data output. */ - portSettings.c_cc[VTIME] = 0; /* Do not use inter-character timer. */ - portSettings.c_cc[VMIN] = 0; /* Block on reads until 0 character is received. */ - - /* Clear the COM port buffers. */ - if (tcflush(portFd, TCIFLUSH) != 0) - return E_UNKNOWN; - - if (tcsetattr(portFd, TCSANOW, &portSettings) != 0) - return E_UNKNOWN; - - serialport->handle = portFd; - - #else - #error "Unknown System" - #endif - - if (serialport->purgeFirstDataBytesWhenSerialPortIsFirstOpened) - VnSerialPort_purgeFirstDataBytesFromSerialPort(serialport); - - VnSerialPort_startSerialPortNotificationsThread(serialport); - - return E_NONE; -} - -VnError VnSerialPort_close_internal(VnSerialPort *serialport, bool checkAndToggleIsOpenFlag) -{ - if (checkAndToggleIsOpenFlag && !VnSerialPort_isOpen(serialport)) - return E_INVALID_OPERATION; - - VnSerialPort_stopSerialPortNotificationsThread(serialport); - - #if _WIN32 - - if (!CloseHandle(serialport->handle)) - return E_UNKNOWN; - - serialport->handle = NULL; - - #elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - - if (close(serialport->handle) == -1) - return E_UNKNOWN; - - serialport->handle = -1; - - #else - #error "Unknown System" - #endif - - return E_NONE; -} - -VnError VnSerialPort_closeAfterUserUnpluggedSerialPort(VnSerialPort *serialport) -{ - #if _WIN32 - - if (!CloseHandle(serialport->handle)) - return E_UNKNOWN; - - serialport->handle = NULL; - - #elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - - if (close(serialport->handle) == -1) - return E_UNKNOWN; - - serialport->handle = -1; - - #else - #error "Unknown System" - #endif - - return E_NONE; -} - -VnError VnSerialPort_open(VnSerialPort *serialport, char const *portName, uint32_t baudrate) -{ - return VnSerialPort_open_internal(serialport, portName, baudrate, true); -} - -bool VnSerialPort_isOpen(VnSerialPort *serialport) -{ - #if defined(_WIN32) - return serialport->handle != NULL; - #elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - return serialport->handle != -1; - #else - #error "Unknown System" - #endif -} - -VnError VnSerialPort_changeBaudrate(VnSerialPort *serialport, uint32_t baudrate) -{ - VnError error; - - if (!VnSerialPort_isOpen(serialport)) - return E_INVALID_OPERATION; - - if ((error = VnSerialPort_close_internal(serialport, false)) != E_NONE) - return error; - - return VnSerialPort_open_internal(serialport, serialport->portName, baudrate, false); -} - -void VnSerialPort_purgeFirstDataBytesFromSerialPort(VnSerialPort *serialport) -{ - char buffer[NUMBER_OF_BYTES_TO_PURGE_ON_OPENING_SERIAL_PORT]; - size_t numOfBytesRead; - - VnSerialPort_read(serialport, buffer, NUMBER_OF_BYTES_TO_PURGE_ON_OPENING_SERIAL_PORT, &numOfBytesRead); -} - -VnError VnSerialPort_read(VnSerialPort *serialport, char *buffer, size_t numOfBytesToRead, size_t *numOfBytesActuallyRead) -{ - #if defined(_WIN32) - OVERLAPPED overlapped; - BOOL result; - DWORD numOfBytesTransferred; - #elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - int result; - #else - #error "Unknown System" - #endif - - if (!VnSerialPort_isOpen(serialport)) - return E_INVALID_OPERATION; - - #if _WIN32 - - memset(&overlapped, 0, sizeof(OVERLAPPED)); - - VnCriticalSection_enter(&serialport->readWriteCS); - - result = ReadFile( - serialport->handle, - buffer, - numOfBytesToRead, - NULL, - &overlapped); - - if (!result && GetLastError() != ERROR_IO_PENDING) - { - VnCriticalSection_leave(&serialport->readWriteCS); - return E_UNKNOWN; - } - - result = GetOverlappedResult( - serialport->handle, - &overlapped, - &numOfBytesTransferred, - TRUE); - - VnCriticalSection_leave(&serialport->readWriteCS); - - *numOfBytesActuallyRead = numOfBytesTransferred; - - if (!result) - return E_UNKNOWN; - - #elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - - result = read( - serialport->handle, - buffer, - numOfBytesToRead); - - if (result == -1) - return E_UNKNOWN; - - *numOfBytesActuallyRead = result; - - #else - #error "Unknown System" - #endif - - return E_NONE; -} - -VnError VnSerialPort_write(VnSerialPort *sp, char const *data, size_t length) -{ - #if defined(_WIN32) - DWORD numOfBytesWritten; - BOOL result; - OVERLAPPED overlapped; - #elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - size_t numOfBytesWritten; - #else - #error "Unknown System" - #endif - - if (!VnSerialPort_isOpen(sp)) - return E_INVALID_OPERATION; - - #if defined(_WIN32) - - memset(&overlapped, 0, sizeof(OVERLAPPED)); - - VnCriticalSection_enter(&sp->readWriteCS); - - result = WriteFile( - sp->handle, - data, - length, - NULL, - &overlapped); - - if (!result && GetLastError() != ERROR_IO_PENDING) - { - VnCriticalSection_leave(&sp->readWriteCS); - return E_UNKNOWN; - } - - result = GetOverlappedResult( - sp->handle, - &overlapped, - &numOfBytesWritten, - TRUE); - - if (!result) - { - VnCriticalSection_leave(&sp->readWriteCS); - return E_UNKNOWN; - } - - result = FlushFileBuffers(sp->handle); - - VnCriticalSection_leave(&sp->readWriteCS); - - if (!result) - return E_UNKNOWN; - - #elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - - numOfBytesWritten = write( - sp->handle, - data, - length); - - if (numOfBytesWritten == -1) - return E_UNKNOWN; - - #else - #error "Unknown System" - #endif - - return E_NONE; -} - -VnError VnSerialPort_close(VnSerialPort *serialport) -{ - return VnSerialPort_close_internal(serialport, true); -} - -void VnSerialPort_startSerialPortNotificationsThread(VnSerialPort *serialport) -{ - serialport->continueHandlingSerialPortEvents = true; - - VnThread_startNew(&serialport->serialPortNotificationsThread, VnSerialPort_handleSerialPortNotifications, serialport); -} - -void VnSerialPort_stopSerialPortNotificationsThread(VnSerialPort *serialport) -{ - serialport->continueHandlingSerialPortEvents = false; - - VnThread_join(&serialport->serialPortNotificationsThread); -} - -void VnSerialPort_handleSerialPortNotifications(void* routineData) -{ - bool userUnpluggedUsbCable = false; - VnSerialPort *sp = (VnSerialPort*) routineData; - - #if _WIN32 - - OVERLAPPED overlapped; - - memset(&overlapped, 0, sizeof(OVERLAPPED)); - - overlapped.hEvent = CreateEvent( - NULL, - false, - false, - NULL); - - SetCommMask( - sp->handle, - EV_RXCHAR | EV_ERR | EV_RX80FULL); - - #elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - - fd_set readfs; - int error; - struct timeval readWaitTime; - - #else - #error "Unknown System" - #endif - - while (sp->continueHandlingSerialPortEvents) - { - #if _WIN32 - - DWORD mask = 0; - DWORD temp = 0; - DWORD waitResult; - BOOL result; - - result = WaitCommEvent( - sp->handle, - &mask, - &overlapped); - - if (result) - { - VnSerialPort_onDataReceived(sp); - - continue; - } - - if (GetLastError() != ERROR_IO_PENDING) - /* Something unexpected happened. */ - break; - - KeepWaiting: - - /* We need to wait for the event to occur. */ - waitResult = WaitForSingleObject( - overlapped.hEvent, - WAIT_TIME_FOR_SERIAL_PORT_READS_MS); - - if (!sp->continueHandlingSerialPortEvents) - break; - - if (waitResult == WAIT_TIMEOUT) - goto KeepWaiting; - - if (waitResult != WAIT_OBJECT_0) - /* Something unexpected happened. */ - break; - - if (!GetOverlappedResult( - sp->handle, - &overlapped, - &temp, - TRUE)) - { - if (GetLastError() == ERROR_OPERATION_ABORTED) - { - /* User probably uplugged UART-to-USB cable. */ - sp->continueHandlingSerialPortEvents = false; - userUnpluggedUsbCable = true; - } - - /* Something unexpected happened. */ - break; - } - - if (mask & EV_RXCHAR) - { - VnSerialPort_onDataReceived(sp); - - continue; - } - - if (mask & EV_RX80FULL) - { - /* We assume the RX buffer was overrun. */ - sp->numberOfReceiveDataDroppedSections++; - - continue; - } - - if (mask & EV_ERR) - { - DWORD spErrors; - COMSTAT comStat; - - if (!ClearCommError( - sp->handle, - &spErrors, - &comStat)) - { - /* Something unexpected happened. */ - break; - } - - if ((spErrors & CE_OVERRUN) || (spErrors & CE_RXOVER)) - { - /* The serial buffer RX buffer was overrun. */ - sp->numberOfReceiveDataDroppedSections++; - } - - continue; - } - - #elif __linux__ || __APPLE__ || __CYGWIN__ || __QNXNTO__ - - FD_ZERO(&readfs); - FD_SET(sp->handle, &readfs); - - /* Select sets the values in readWaitTime. */ - readWaitTime.tv_sec = 0; - readWaitTime.tv_usec = WAIT_TIME_FOR_SERIAL_PORT_READS_MS * 1000; - - error = select( - sp->handle + 1, - &readfs, - NULL, - NULL, - &readWaitTime); - - if (error == -1) - /* Something unexpected happened. */ - break; - - if (!FD_ISSET(sp->handle, &readfs)) - continue; - - VnSerialPort_onDataReceived(sp); - - #else - #error "Unknown System" - #endif - - } - - if (sp->continueHandlingSerialPortEvents) - ; /* An error must have occurred. Do nothing for now. */ - - #if _WIN32 - - if (!userUnpluggedUsbCable) - { - SetCommMask( - sp->handle, - 0); - } - - #endif - - if (userUnpluggedUsbCable) - VnSerialPort_closeAfterUserUnpluggedSerialPort(sp); -} - -void VnSerialPort_onDataReceived(VnSerialPort *sp) -{ - VnCriticalSection_enter(&sp->dataReceivedHandlerCriticalSection); - - if (sp->dataReceivedHandler != NULL) - sp->dataReceivedHandler(sp->dataReceivedHandlerUserData); - - VnCriticalSection_leave(&sp->dataReceivedHandlerCriticalSection); -} - -VnError VnSerialPort_registerDataReceivedHandler(VnSerialPort *sp, VnSerialPort_DataReceivedHandler handler, void *userData) -{ - if (sp->dataReceivedHandler != NULL) - return E_INVALID_OPERATION; - - VnCriticalSection_enter(&sp->dataReceivedHandlerCriticalSection); - - sp->dataReceivedHandler = handler; - sp->dataReceivedHandlerUserData = userData; - - VnCriticalSection_leave(&sp->dataReceivedHandlerCriticalSection); - - return E_NONE; -} - -VnError VnSerialPort_unregisterDataReceivedHandler(VnSerialPort *sp) -{ - if (sp->dataReceivedHandler == NULL) - return E_INVALID_OPERATION; - - VnCriticalSection_enter(&sp->dataReceivedHandlerCriticalSection); - - sp->dataReceivedHandler = NULL; - sp->dataReceivedHandlerUserData = NULL; - - VnCriticalSection_leave(&sp->dataReceivedHandlerCriticalSection); - - return E_NONE; -} diff --git a/vnproglib/c/src/vn/xplat/thread.c b/vnproglib/c/src/vn/xplat/thread.c deleted file mode 100644 index 5ae07e5..0000000 --- a/vnproglib/c/src/vn/xplat/thread.c +++ /dev/null @@ -1,157 +0,0 @@ -#define _BSD_SOURCE - -#include "vn/xplat/thread.h" - -#if (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__) - #include - #include - #include - #include -#endif - -#undef __cplusplus - -typedef struct -{ - VnThread_StartRoutine startRoutine; - void *routineData; -} VnThreadStarter; - -#if _WIN32 - -DWORD WINAPI VnThread_intermediateStartRoutine(LPVOID userData) -{ - VnThreadStarter *starter = (VnThreadStarter*) userData; - - VnThread_StartRoutine routine = starter->startRoutine; - void *routineData = starter->routineData; - - free(starter); - - routine(routineData); - - return 0; -} - -#elif (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__) - -void* VnThread_intermediateStartRoutine(void* data) -{ - VnThreadStarter *starter = (VnThreadStarter*) data; - - VnThread_StartRoutine routine = starter->startRoutine; - void *routineData = starter->routineData; - - free(starter); - - routine(routineData); - - return NULL; -} - -#endif - -VnError VnThread_startNew(VnThread *thread, VnThread_StartRoutine startRoutine, void* routineData) -{ - #if (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__) - int errorCode; - #endif - - VnThreadStarter *starter = (VnThreadStarter*) malloc(sizeof(VnThreadStarter)); - - starter->startRoutine = startRoutine; - starter->routineData = routineData; - - #if _WIN32 - - thread->handle = CreateThread( - NULL, - 0, - VnThread_intermediateStartRoutine, - starter, - 0, - NULL); - - if (thread->handle == NULL) - return E_UNKNOWN; - - #elif (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__) - - - errorCode = pthread_create( - &(thread->handle), - NULL, - VnThread_intermediateStartRoutine, - starter); - - if (errorCode != 0) - return E_UNKNOWN; - - #else - #error "Unknown System" - #endif - - return E_NONE; -} - -VnError VnThread_join(VnThread *thread) -{ - #if _WIN32 - - WaitForSingleObject( - thread->handle, - INFINITE); - - #elif (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__) - - int error = pthread_join( - thread->handle, - NULL); - - if (error != 0) - return E_UNKNOWN; - - #else - #error "Unknown System" - #endif - - return E_NONE; -} - -void VnThread_sleepSec(uint32_t numOfSecsToSleep) -{ - #if _WIN32 - Sleep(numOfSecsToSleep * 1000); - #elif (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__) - sleep(numOfSecsToSleep); - #else - #error "Unknown System" - #endif -} - -void VnThread_sleepMs(uint32_t numOfMsToSleep) -{ - #if _WIN32 - Sleep(numOfMsToSleep); - #elif (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__) - VnThread_sleepUs(numOfMsToSleep * 1000); - #else - #error "Unknown System" - #endif -} - -void VnThread_sleepUs(uint32_t numOfUsToSleep) -{ - #if _WIN32 - /* Not implemented. */ - int exitValue = numOfUsToSleep; - exitValue = -1; - exit(exitValue); - - #elif (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__) - usleep(numOfUsToSleep); - - #else - #error "Unknown System" - #endif -} diff --git a/vnproglib/c/src/vn/xplat/time.c b/vnproglib/c/src/vn/xplat/time.c deleted file mode 100644 index 6c2356e..0000000 --- a/vnproglib/c/src/vn/xplat/time.c +++ /dev/null @@ -1,129 +0,0 @@ -/* Enable IEEE Std 1003.1b-1993 functionality required for clock_gettime. */ -#ifdef __linux__ - /* Works for Ubuntu 15.10 */ - #define _POSIX_C_SOURCE 199309L -#elif defined __CYGWIN__ - /* Works for Cygwin 2.4.0 64-bit */ - #define _POSIX_TIMERS 1 - #define _POSIX_MONOTONIC_CLOCK 200112L -#endif - -#include "vn/xplat/time.h" - -#if (defined __linux__ || defined __CYGWIN__ || defined __QNXNTO__) - #include -#elif defined __APPLE__ - #include - #include -#endif - -VnError VnStopwatch_initializeAndStart(VnStopwatch *sw) -{ - #if _WIN32 - - sw->pcFrequency = 0; - sw->counterStart = -1; - - #elif (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__) - - sw->clockStart = -1; - - #else - #error "Unknown System" - #endif - - /* Start the stopwatch. */ - return VnStopwatch_reset(sw); -} - -VnError VnStopwatch_reset(VnStopwatch *sw) -{ - #if _WIN32 - - LARGE_INTEGER li; - if(!QueryPerformanceFrequency(&li)) - /* The hardware must not support a high-resolution performance counter. */ - return E_NOT_SUPPORTED; - - sw->pcFrequency = li.QuadPart / 1000.0; - - QueryPerformanceCounter(&li); - - sw->counterStart = li.QuadPart; - - #elif (defined __linux__ || defined __CYGWIN__ || defined __QNXNTO__) - - struct timespec time; - int error; - - error = clock_gettime(CLOCK_MONOTONIC, &time); - - if (error) - return E_UNKNOWN; - - sw->clockStart = (time.tv_sec * 1000.0) + (time.tv_nsec / 1000000.0); - - #elif defined __APPLE__ - - clock_serv_t cclock; - mach_struct timespec_t mts; - - host_get_clock_service(mach_host_self(), SYSTEM_CLOCK, &cclock); - clock_get_time(cclock, &mts); - mach_port_deallocate(mach_task_self(), cclock); - - sw->clockStart = (mts.tv_sec * 1000.0) + (mts.tv_nsec / 1000000.0); - - #else - #error "Unknown System" - #endif - - return E_NONE; -} - -VnError VnStopwatch_elapsedMs(VnStopwatch *sw, float *elapsedMs) -{ - #if _WIN32 - - LARGE_INTEGER li; - - if (sw->counterStart == -1) - return E_UNKNOWN; - - QueryPerformanceCounter(&li); - - *elapsedMs = (float) ((li.QuadPart - sw->counterStart) / sw->pcFrequency); - - #elif (defined __linux__ || defined __CYGWIN__ || defined __QNXNTO__) - - struct timespec time; - int error; - - if (sw->clockStart < 0) - /* Clock not started. */ - return E_INVALID_OPERATION; - - error = clock_gettime(CLOCK_MONOTONIC, &time); - - if (error) - return E_UNKNOWN; - - *elapsedMs = (time.tv_sec * 1000.0) + (time.tv_nsec / 1000000.0) - sw->clockStart; - - #elif defined __APPLE__ - - clock_serv_t cclock; - mach_struct timespec_t mts; - - host_get_clock_service(mach_host_self(), SYSTEM_CLOCK, &cclock); - clock_get_time(cclock, &mts); - mach_port_deallocate(mach_task_self(), cclock); - - return (mts.tv_sec * 1000.0) + (mts.tv_nsec / 1000000.0) - sw->clockStart; - - #else - #error "Unknown System" - #endif - - return E_NONE; -}