10 #include "sensor_common.h" 16 const uint8_t MBL_MW_SENSOR_FUSION_CALIBRATION_ACCURACY_UNRELIABLE = 0,
17 MBL_MW_SENSOR_FUSION_CALIBRATION_ACCURACY_LOW = 1,
18 MBL_MW_SENSOR_FUSION_CALIBRATION_ACCURACY_MEDIUM = 2,
19 MBL_MW_SENSOR_FUSION_CALIBRATION_ACCURACY_HIGH = 3;
25 MBL_MW_SENSOR_FUSION_MODE_SLEEP = 0,
26 MBL_MW_SENSOR_FUSION_MODE_NDOF,
27 MBL_MW_SENSOR_FUSION_MODE_IMU_PLUS,
28 MBL_MW_SENSOR_FUSION_MODE_COMPASS,
29 MBL_MW_SENSOR_FUSION_MODE_M4G
36 MBL_MW_SENSOR_FUSION_ACC_RANGE_2G = 0,
37 MBL_MW_SENSOR_FUSION_ACC_RANGE_4G,
38 MBL_MW_SENSOR_FUSION_ACC_RANGE_8G,
39 MBL_MW_SENSOR_FUSION_ACC_RANGE_16G
46 MBL_MW_SENSOR_FUSION_GYRO_RANGE_2000DPS = 0,
47 MBL_MW_SENSOR_FUSION_GYRO_RANGE_1000DPS,
48 MBL_MW_SENSOR_FUSION_GYRO_RANGE_500DPS,
49 MBL_MW_SENSOR_FUSION_GYRO_RANGE_250DPS
56 MBL_MW_SENSOR_FUSION_DATA_CORRECTED_ACC = 0,
57 MBL_MW_SENSOR_FUSION_DATA_CORRECTED_GYRO,
58 MBL_MW_SENSOR_FUSION_DATA_CORRECTED_MAG,
59 MBL_MW_SENSOR_FUSION_DATA_QUATERNION,
60 MBL_MW_SENSOR_FUSION_DATA_EULER_ANGLE,
61 MBL_MW_SENSOR_FUSION_DATA_GRAVITY_VECTOR,
62 MBL_MW_SENSOR_FUSION_DATA_LINEAR_ACC
METAWEAR_API void mbl_mw_sensor_fusion_start(const MblMwMetaWearBoard *board)
Start sensor fusion.
MblMwSensorFusionData
Data computed by the algorithm.
Definition: sensor_fusion.h:55
METAWEAR_API void mbl_mw_sensor_fusion_write_config(MblMwMetaWearBoard *board)
Write the module configuration to the board.
METAWEAR_API void mbl_mw_sensor_fusion_set_gyro_range(MblMwMetaWearBoard *board, MblMwSensorFusionGyroRange range)
Set the gyroscope data range.
void(* MblMwFnBoardPtrCalibDataPtr)(void *context, MblMwMetaWearBoard *board, const MblMwCalibrationData *data)
Definition for callback functions that accept an MblMwMetaWearBoard and MblMwCalibrationData pointer...
Definition: sensor_fusion.h:79
METAWEAR_API void mbl_mw_sensor_fusion_read_config(const MblMwMetaWearBoard *board, void *context, MblMwFnBoardPtrInt completed)
Pulls the current sensor fusion configuration from the board.
Container class holding the IMU calibration data.
Definition: sensor_fusion.h:68
METAWEAR_API void mbl_mw_sensor_fusion_set_acc_range(MblMwMetaWearBoard *board, MblMwSensorFusionAccRange range)
Set the accelerometer data range.
MblMwSensorFusionGyroRange
Supported rotation ranges.
Definition: sensor_fusion.h:45
MblMwSensorFusionAccRange
Supported acceleration ranges.
Definition: sensor_fusion.h:35
METAWEAR_API MblMwDataSignal * mbl_mw_sensor_fusion_get_data_signal(const MblMwMetaWearBoard *board, MblMwSensorFusionData data)
Get the data signal object representing data from the sensor fusion algorithm.
METAWEAR_API void mbl_mw_sensor_fusion_write_calibration_data(const MblMwMetaWearBoard *board, const MblMwCalibrationData *data)
Write IMU calibration data.
METAWEAR_API MblMwDataSignal * mbl_mw_sensor_fusion_calibration_state_data_signal(const MblMwMetaWearBoard *board)
Get the data signal object representing thecalibration state.
METAWEAR_API void mbl_mw_sensor_fusion_read_calibration_data(MblMwMetaWearBoard *board, void *context, MblMwFnBoardPtrCalibDataPtr completed)
Retrieve IMU calibration data; free the memory allocated for the MblMwCalibrationData pointer with mb...
METAWEAR_API void mbl_mw_sensor_fusion_enable_data(MblMwMetaWearBoard *board, MblMwSensorFusionData data)
Set a data enable bit.
METAWEAR_API void mbl_mw_sensor_fusion_stop(const MblMwMetaWearBoard *board)
Stop sensor fusion.
METAWEAR_API void mbl_mw_sensor_fusion_clear_enabled_mask(MblMwMetaWearBoard *board)
Clear all data enable bits.
#define METAWEAR_API
Indicates the function should be exported to the symbol table.
Definition: dllmarker.h:27
METAWEAR_API void mbl_mw_sensor_fusion_set_mode(MblMwMetaWearBoard *board, MblMwSensorFusionMode mode)
Set the operation mode.
MblMwSensorFusionMode
Fusion modes supported by the algorithm.
Definition: sensor_fusion.h:24
struct MblMwDataSignal MblMwDataSignal
A event fired from the MetaWear board that also contains data.
Definition: datasignal_fwd.h:15