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