M5Unified
BMM150_Class.hpp
Go to the documentation of this file.
1 // Copyright (c) M5Stack. All rights reserved.
2 // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3 
4 #ifndef __M5_BMM150_CLASS_H__
5 #define __M5_BMM150_CLASS_H__
6 
7 #include "IMU_Base.hpp"
8 
9 namespace m5
10 {
11  class BMM150_Class : public IMU_Base
12  {
13  public:
14  static constexpr const std::uint8_t CHIP_ID_ADDR = 0x40;
15 
16  static constexpr std::uint8_t DEFAULT_ADDRESS = 0x10;
17 
18  virtual ~BMM150_Class();
19  BMM150_Class(std::uint8_t i2c_addr = DEFAULT_ADDRESS, std::uint32_t freq = 400000, I2C_Class* i2c = &In_I2C);
20 
21  imu_spec_t begin(I2C_Class* i2c = nullptr) override;
22  imu_spec_t getImuRawData(imu_raw_data_t* data) const override;
23  void getConvertParam(imu_convert_param_t* param) const override;
24 
25  std::uint8_t WhoAmI(void);
26  };
27 }
28 
29 #endif
std::uint8_t WhoAmI(void)
static constexpr std::uint8_t DEFAULT_ADDRESS
static constexpr const std::uint8_t CHIP_ID_ADDR
BMM150_Class(std::uint8_t i2c_addr=DEFAULT_ADDRESS, std::uint32_t freq=400000, I2C_Class *i2c=&In_I2C)
imu_spec_t begin(I2C_Class *i2c=nullptr) override
void getConvertParam(imu_convert_param_t *param) const override
imu_spec_t getImuRawData(imu_raw_data_t *data) const override
virtual ~BMM150_Class()
Definition: M5Unified.cpp:48
I2C_Class In_I2C
for internal I2C device
Definition: I2C_Class.cpp:10