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 13extern "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