Implemented first Hangar-Service

Dependencies:   CalibrateMagneto QuaternionMath

Fork of SML2 by TobyRich GmbH

Committer:
pvaibhav
Date:
Mon May 04 15:16:57 2015 +0000
Revision:
32:d37447aec6b4
Child:
33:bd56fc8aeb0a
Interrupt lines added to all sensors and motor driver, power aware I2C subclass added (currently doesn't do anything)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pvaibhav 32:d37447aec6b4 1 #ifndef _H_POWERAWAREI2C_H
pvaibhav 32:d37447aec6b4 2 #define _H_POWERAWAREI2C_H
pvaibhav 32:d37447aec6b4 3
pvaibhav 32:d37447aec6b4 4 #include "mbed.h"
pvaibhav 32:d37447aec6b4 5 #include "i2c_api.h"
pvaibhav 32:d37447aec6b4 6
pvaibhav 32:d37447aec6b4 7 /// This is a variation of I2C class from mbed, which adds power on and off functions to the I2C peripheral. This should save about 1 mA.
pvaibhav 32:d37447aec6b4 8 class PowerAwareI2C : public I2C
pvaibhav 32:d37447aec6b4 9 {
pvaibhav 32:d37447aec6b4 10 public:
pvaibhav 32:d37447aec6b4 11 PowerAwareI2C(PinName sda, PinName scl) : I2C(sda, scl) {}
pvaibhav 32:d37447aec6b4 12
pvaibhav 32:d37447aec6b4 13 /// Power on the I2C peripheral
pvaibhav 32:d37447aec6b4 14 void powerOn()
pvaibhav 32:d37447aec6b4 15 {
pvaibhav 32:d37447aec6b4 16 //_i2c.i2c->ENABLE = (TWI_ENABLE_ENABLE_Enabled << TWI_ENABLE_ENABLE_Pos);
pvaibhav 32:d37447aec6b4 17 }
pvaibhav 32:d37447aec6b4 18
pvaibhav 32:d37447aec6b4 19 /// Power off the I2C peripheral
pvaibhav 32:d37447aec6b4 20 void powerOff()
pvaibhav 32:d37447aec6b4 21 {
pvaibhav 32:d37447aec6b4 22 //_i2c.i2c->ENABLE = TWI_ENABLE_ENABLE_Disabled << TWI_ENABLE_ENABLE_Pos;
pvaibhav 32:d37447aec6b4 23 //_i2c.i2c->POWER = 0;
pvaibhav 32:d37447aec6b4 24 }
pvaibhav 32:d37447aec6b4 25 };
pvaibhav 32:d37447aec6b4 26
pvaibhav 32:d37447aec6b4 27 #endif//_H_POWERAWAREI2C_H