imu_lsm6dso.h 586 B

123456789101112131415161718192021222324
  1. #ifndef LSM6DSO_H_ /* Include guard */
  2. #define LSM6DSO_H_
  3. #include "../../lib/lsm6dso-api/lsm6dso_reg.h"
  4. #include <furi_hal.h>
  5. #include "imu.h"
  6. #define LSM6DSO_TAG "LSM6DO-C"
  7. #define LSM6DSO_ADDRESS UINT8_C(0xD6)
  8. static const double LSM6DSO_DEG_TO_RAD = 0.017453292519943295769236907684886;
  9. int32_t lsm6dso_write_i2c(void* handle, uint8_t reg_addr, uint8_t* data, uint16_t len);
  10. int32_t lsm6dso_read_i2c(void* handle, uint8_t reg_addr, uint8_t* read_data, uint16_t len);
  11. bool lsm6dso_begin();
  12. void lsm6dso_scan_i2c();
  13. void lsm6dso_end();
  14. int lsm6dso_read(double* vec);
  15. #endif