1c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro/* 2c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro $License: 3c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro Copyright (C) 2011-2012 InvenSense Corporation, All Rights Reserved. 4c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro See included License.txt for License information. 5c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro $ 6c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro */ 7c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro#include "mltypes.h" 8c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 9c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro#ifndef INV_HAL_OUTPUTS_H__ 10c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro#define INV_HAL_OUTPUTS_H__ 11c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 12c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro#ifdef __cplusplus 13c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaroextern "C" { 14c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro#endif 15c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 16c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro int inv_get_sensor_type_orientation(float *values, int8_t *accuracy, 17c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_time_t * timestamp); 18c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro int inv_get_sensor_type_accelerometer(float *values, int8_t *accuracy, 19c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_time_t * timestamp); 20c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro int inv_get_sensor_type_gyroscope(float *values, int8_t *accuracy, 21c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_time_t * timestamp); 22c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro int inv_get_sensor_type_gyroscope_raw(float *values, int8_t *accuracy, 23c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_time_t * timestamp); 24c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro int inv_get_sensor_type_magnetic_field(float *values, int8_t *accuracy, 25c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_time_t * timestamp); 26c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro int inv_get_sensor_type_magnetic_field_raw(float *values, int8_t *accuracy, 27c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_time_t * timestamp); 28c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro int inv_get_sensor_type_rotation_vector(float *values, int8_t *accuracy, 29c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_time_t * timestamp); 30c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 31c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro int inv_get_sensor_type_linear_acceleration(float *values, 32c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro int8_t *accuracy, 33c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_time_t * timestamp); 34c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro int inv_get_sensor_type_gravity(float *values, int8_t *accuracy, 35c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_time_t * timestamp); 36c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 37c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro int inv_get_sensor_type_orientation_6_axis(float *values, int8_t *accuracy, 38c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_time_t * timestamp); 39c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro int inv_get_sensor_type_orientation_geomagnetic(float *values, int8_t *accuracy, 40c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_time_t * timestamp); 41c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro int inv_get_sensor_type_rotation_vector_6_axis(float *values, int8_t *accuracy, 42c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_time_t * timestamp); 43c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro int inv_get_sensor_type_geomagnetic_rotation_vector(float *values, int8_t *accuracy, 44c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_time_t * timestamp); 45c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 46c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_error_t inv_enable_hal_outputs(void); 47c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_error_t inv_disable_hal_outputs(void); 48c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_error_t inv_init_hal_outputs(void); 49c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_error_t inv_start_hal_outputs(void); 50c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro inv_error_t inv_stop_hal_outputs(void); 51c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 52c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro // Set data rates for virtual sensors 53c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro void inv_set_linear_acceleration_sample_rate(long sample_rate_us); 54c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro void inv_set_orientation_sample_rate(long sample_rate_us); 55c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro void inv_set_rotation_vector_sample_rate(long sample_rate_us); 56c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro void inv_set_gravity_sample_rate(long sample_rate_us); 57c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro void inv_set_orientation_6_axis_sample_rate(long sample_rate_us); 58c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro void inv_set_orientation_geomagnetic_sample_rate(long sample_rate_us); 59c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro void inv_set_rotation_vector_6_axis_sample_rate(long sample_rate_us); 60c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro void inv_set_geomagnetic_rotation_vector_sample_rate(long sample_rate_us); 61c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 62c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro#ifdef __cplusplus 63c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro} 64c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro#endif 65c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro 66c3d4ca9f2df5ddf9894b36d1554fdfc95d625d3fNick Vaccaro#endif // INV_HAL_OUTPUTS_H__ 67