First draft HMC5883 magnetometer sensor using physical quantities, outputting via serial port using std::cout on mbed os 5

Committer:
skyscraper
Date:
Thu Mar 26 21:13:44 2020 +0000
Revision:
8:c5dc1ce10722
Child:
9:87a7169b4d5c
Try to make magnetometer more generic. Next to do a mag service and put in own thread

Who changed what in which revision?

UserRevisionLine numberNew contents of line
skyscraper 8:c5dc1ce10722 1
skyscraper 8:c5dc1ce10722 2 #ifndef SKYSCRAPER_MBED_I2C_BUS_DEVICE_HPP_INCLUDED
skyscraper 8:c5dc1ce10722 3 #define SKYSCRAPER_MBED_I2C_BUS_DEVICE_HPP_INCLUDED
skyscraper 8:c5dc1ce10722 4
skyscraper 8:c5dc1ce10722 5 #include "mbed.h"
skyscraper 8:c5dc1ce10722 6
skyscraper 8:c5dc1ce10722 7 struct I2CBusDevice{
skyscraper 8:c5dc1ce10722 8 constexpr I2CBusDevice(I2C& i2cIn,uint8_t addressIn)
skyscraper 8:c5dc1ce10722 9 : m_i2c{i2cIn},m_address{addressIn}{}
skyscraper 8:c5dc1ce10722 10 int i2c_write(const char *data, int length,bool repeated = false)const
skyscraper 8:c5dc1ce10722 11 {
skyscraper 8:c5dc1ce10722 12 return m_i2c.write(m_address,data,length, repeated);
skyscraper 8:c5dc1ce10722 13 }
skyscraper 8:c5dc1ce10722 14
skyscraper 8:c5dc1ce10722 15 int i2c_read(char *data, int length, bool repeated=false)const
skyscraper 8:c5dc1ce10722 16 {
skyscraper 8:c5dc1ce10722 17 return m_i2c.read(m_address,data,length,repeated);
skyscraper 8:c5dc1ce10722 18 }
skyscraper 8:c5dc1ce10722 19
skyscraper 8:c5dc1ce10722 20 private:
skyscraper 8:c5dc1ce10722 21 I2C & m_i2c;
skyscraper 8:c5dc1ce10722 22 int const m_address;
skyscraper 8:c5dc1ce10722 23 };
skyscraper 8:c5dc1ce10722 24
skyscraper 8:c5dc1ce10722 25 #endif