Home | History | Annotate | Download | only in mllite
      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