Accel
Dependencies: mbed PowerControl SDFileSystem
Fork of HeptaAccel by
Diff: hepta_sat/I2cBusDevice.h
- Revision:
- 0:d721efd58e4e
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hepta_sat/I2cBusDevice.h Fri Dec 09 03:40:15 2016 +0000 @@ -0,0 +1,44 @@ +#ifndef MBED_I2cBusDevice +#define MBED_I2cBusDevice + +#include "mbed.h" + +class I2cBusDevice { +public: + + I2cBusDevice( I2C *i2c, char dev_address ) { + bus = i2c; + device = dev_address; + } + + ~I2cBusDevice() { + } + + int write( char *data, int length ) { + return ( bus->write( device, data, length) ); + } + + int read( char *data, int length ) { + return ( bus->read( device, data, length) ); + } + + int read( char reg_ptr, char *data, int length ) { + if ( bus->write( device, ®_ptr, 1 ) ) + return ( 1 ); + + if ( bus->read( device, data, length ) ) + return ( 1 ); + + return ( 0 ); + } + +protected: + I2C *bus; + char device; + +private: + static char i2c_error; +} +; + +#endif