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
17extern "C" {
18#endif
19
20/* calibrated data */
21void inv_get_sensor_type_temperature_float(float *value,
22        inv_time_t *timestamp);
23void inv_get_sensor_type_gyro_float(float *values, int8_t *accuracy,
24        inv_time_t *timestamp);
25void inv_get_sensor_type_accel_float(float *values, int8_t *accuracy,
26        inv_time_t *timestamp);
27void inv_get_sensor_type_compass_float(float *mag_north, float *true_north,
28        float *values, int8_t *accuracy, inv_time_t *timestamp);
29void inv_get_sensor_type_quat_float(float *values, int *accuracy,
30        inv_time_t *timestamp);
31void inv_get_sensor_type_gravity_float(float *values, int *accuracy,
32        inv_time_t * timestamp);
33void inv_get_sensor_type_rotation_vector_float(float *values, int *accuracy,
34        inv_time_t * timestamp);
35
36/* uncalibrated data */
37void inv_get_sensor_type_gyro_raw_short(short *values,
38        inv_time_t *timestamp);
39void inv_get_sensor_type_gyro_raw_body_float(float *values,
40        inv_time_t *timestamp);
41void inv_get_sensor_type_accel_raw_short(short *values,
42        inv_time_t *timestamp);
43void inv_get_sensor_type_compass_raw_short(short *values,
44        inv_time_t *timestamp);
45
46/* enabler/disabler APIs */
47inv_error_t inv_enable_datalogger_outputs(void);
48inv_error_t inv_disable_datalogger_outputs(void);
49inv_error_t inv_init_datalogger_outputs(void);
50inv_error_t inv_start_datalogger_outputs(void);
51inv_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