1 /**
2  *   @defgroup  HAL_Outputs
3  *   @brief     Motion Library - HAL Outputs
4  *              Sets up common outputs for HAL
5  *
6  *   @{
7  *       @file  datalogger_outputs.h
8  *       @brief Windows 8 HAL outputs.
9  */
10 
11 #ifndef _DATALOGGER_OUTPUTS_H_
12 #define _DATALOGGER_OUTPUTS_H_
13 
14 #include "mltypes.h"
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 /* calibrated data */
21 void inv_get_sensor_type_temperature_float(float *value,
22         inv_time_t *timestamp);
23 void inv_get_sensor_type_gyro_float(float *values, int8_t *accuracy,
24         inv_time_t *timestamp);
25 void inv_get_sensor_type_accel_float(float *values, int8_t *accuracy,
26         inv_time_t *timestamp);
27 void inv_get_sensor_type_compass_float(float *mag_north, float *true_north,
28         float *values, int8_t *accuracy, inv_time_t *timestamp);
29 void inv_get_sensor_type_quat_float(float *values, int *accuracy,
30         inv_time_t *timestamp);
31 void inv_get_sensor_type_gravity_float(float *values, int *accuracy,
32         inv_time_t * timestamp);
33 void inv_get_sensor_type_rotation_vector_float(float *values, int *accuracy,
34         inv_time_t * timestamp);
35 
36 /* uncalibrated data */
37 void inv_get_sensor_type_gyro_raw_short(short *values,
38         inv_time_t *timestamp);
39 void inv_get_sensor_type_gyro_raw_body_float(float *values,
40         inv_time_t *timestamp);
41 void inv_get_sensor_type_accel_raw_short(short *values,
42         inv_time_t *timestamp);
43 void inv_get_sensor_type_compass_raw_short(short *values,
44         inv_time_t *timestamp);
45 
46 /* enabler/disabler APIs */
47 inv_error_t inv_enable_datalogger_outputs(void);
48 inv_error_t inv_disable_datalogger_outputs(void);
49 inv_error_t inv_init_datalogger_outputs(void);
50 inv_error_t inv_start_datalogger_outputs(void);
51 inv_error_t inv_stop_datalogger_outputs(void);
52 
53 #ifdef __cplusplus
54 }
55 #endif
56 
57 #endif  /* #ifndef _DATALOGGER_OUTPUTS_H_ */
58 
59 /**
60  *  @}
61  */
62