52 lines
1.0 KiB
C
52 lines
1.0 KiB
C
#ifndef IMS_BMM150_H
|
|
#define IMS_BMM150_H
|
|
|
|
#include "imsensors/common/sensors_common.h"
|
|
|
|
typedef enum {
|
|
IMS_BMM150_ODR_10HZ = 0U,
|
|
IMS_BMM150_ODR_2HZ = 1U,
|
|
IMS_BMM150_ODR_6HZ = 2U,
|
|
IMS_BMM150_ODR_8HZ = 3U,
|
|
IMS_BMM150_ODR_15HZ = 4U,
|
|
IMS_BMM150_ODR_20HZ = 5U,
|
|
IMS_BMM150_ODR_25HZ = 6U,
|
|
IMS_BMM150_ODR_30HZ = 7U,
|
|
} ims_bmm150_odr_t;
|
|
|
|
typedef enum {
|
|
IMS_BMM150_PRESET_LOWPOWER,
|
|
IMS_BMM150_PRESET_REGULAR,
|
|
IMS_BMM150_PRESET_ENHANCED_REGULAR,
|
|
IMS_BMM150_PRESET_HIGH_ACCURACY,
|
|
} ims_bmm150_preset_t;
|
|
|
|
typedef enum {
|
|
IMS_BMM150_MODE_SLEEP,
|
|
IMS_BMM150_MODE_FORCED,
|
|
IMS_BMM150_MODE_NORMAL,
|
|
} ims_bmm150_mode_t;
|
|
|
|
typedef struct {
|
|
|
|
} ims_bmm150_result_t;
|
|
|
|
typedef struct {
|
|
ims_i2c_xfer_t i2c_xfer;
|
|
ims_delay_t delay;
|
|
} ims_bmm150_cb_t;
|
|
|
|
typedef struct {
|
|
uint8_t rep_xy;
|
|
uint8_t rep_z;
|
|
ims_bmm150_odr_t odr;
|
|
} ims_bmm150_config_t;
|
|
|
|
typedef struct {
|
|
ims_bmm150_cb_t cb;
|
|
void *pdev;
|
|
uint8_t i2c_addr;
|
|
|
|
} ims_bmm150_t;
|
|
|
|
#endif |