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 22:58:21 2020 +0000
Revision:
11:de7c9ae7ef65
Parent:
9:87a7169b4d5c
Changed to use threads

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 9:87a7169b4d5c 8
skyscraper 8:c5dc1ce10722 9 constexpr I2CBusDevice(I2C& i2cIn,uint8_t addressIn)
skyscraper 8:c5dc1ce10722 10 : m_i2c{i2cIn},m_address{addressIn}{}
skyscraper 11:de7c9ae7ef65 11
skyscraper 8:c5dc1ce10722 12 int i2c_write(const char *data, int length,bool repeated = false)const
skyscraper 8:c5dc1ce10722 13 {
skyscraper 8:c5dc1ce10722 14 return m_i2c.write(m_address,data,length, repeated);
skyscraper 8:c5dc1ce10722 15 }
skyscraper 8:c5dc1ce10722 16
skyscraper 8:c5dc1ce10722 17 int i2c_read(char *data, int length, bool repeated=false)const
skyscraper 8:c5dc1ce10722 18 {
skyscraper 8:c5dc1ce10722 19 return m_i2c.read(m_address,data,length,repeated);
skyscraper 8:c5dc1ce10722 20 }
skyscraper 8:c5dc1ce10722 21
skyscraper 8:c5dc1ce10722 22 private:
skyscraper 8:c5dc1ce10722 23 I2C & m_i2c;
skyscraper 8:c5dc1ce10722 24 int const m_address;
skyscraper 8:c5dc1ce10722 25 };
skyscraper 8:c5dc1ce10722 26
skyscraper 8:c5dc1ce10722 27 #endif