Ultra-compact high-performance eCompass module: ultra-low power 3D accelerometer and 3D magnetometer.
Dependencies: X_NUCLEO_COMMON ST_INTERFACES
Dependents: HelloWorld_ST_Sensors MOTENV_Mbed mbed-os-mqtt-client LSM303AGR_JS ... more
Diff: LSM303AGRMagSensor.h
- Revision:
- 1:86d530a7f949
- Parent:
- 0:ec6e59cc6f40
- Child:
- 2:e37be5550633
diff -r ec6e59cc6f40 -r 86d530a7f949 LSM303AGRMagSensor.h --- a/LSM303AGRMagSensor.h Mon Sep 04 16:08:24 2017 +0000 +++ b/LSM303AGRMagSensor.h Wed Sep 27 16:49:51 2017 +0200 @@ -47,7 +47,7 @@ #include "DevI2C.h" #include "LSM303AGR_mag_driver.h" #include "MagneticSensor.h" - +#include <assert.h> /* Class Declaration ---------------------------------------------------------*/ @@ -58,8 +58,7 @@ class LSM303AGRMagSensor : public MagneticSensor { public: - LSM303AGRMagSensor(DevI2C &i2c); - LSM303AGRMagSensor(DevI2C &i2c, uint8_t address); + LSM303AGRMagSensor(DevI2C *i2c, uint8_t address=LSM303AGR_MAG_I2C_ADDRESS, PinName intmag_pin=NC); virtual int init(void *init); virtual int read_id(uint8_t *id); virtual int get_m_axes(int32_t *pData); @@ -83,7 +82,7 @@ */ uint8_t io_read(uint8_t* pBuffer, uint8_t RegisterAddr, uint16_t NumByteToRead) { - return (uint8_t) _dev_i2c.i2c_read(pBuffer, _address, RegisterAddr, NumByteToRead); + return (uint8_t) _dev_i2c->i2c_read(pBuffer, _address, RegisterAddr, NumByteToRead); } /** @@ -95,16 +94,18 @@ */ uint8_t io_write(uint8_t* pBuffer, uint8_t RegisterAddr, uint16_t NumByteToWrite) { - return (uint8_t) _dev_i2c.i2c_write(pBuffer, _address, RegisterAddr, NumByteToWrite); + return (uint8_t) _dev_i2c->i2c_write(pBuffer, _address, RegisterAddr, NumByteToWrite); } private: /* Helper classes. */ - DevI2C &_dev_i2c; + DevI2C *_dev_i2c; /* Configuration */ uint8_t _address; + DigitalOut _cs_pin; + InterruptIn _intmag_pin; }; #ifdef __cplusplus