Implemented first Hangar-Service

Dependencies:   CalibrateMagneto QuaternionMath

Fork of SML2 by TobyRich GmbH

Committer:
pvaibhav
Date:
Wed May 27 13:01:43 2015 +0000
Revision:
46:fd5a62296b12
Parent:
40:8e852115fe55
Code reformatted

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pvaibhav 40:8e852115fe55 1 #include "GyroscopeMPU.h"
pvaibhav 40:8e852115fe55 2 #define DEBUG "MPU-Gyr"
pvaibhav 40:8e852115fe55 3 #include "Logger.h"
pvaibhav 40:8e852115fe55 4
pvaibhav 40:8e852115fe55 5 #include "Vector3.h"
pvaibhav 40:8e852115fe55 6
pvaibhav 40:8e852115fe55 7 GyroscopeMPU::GyroscopeMPU(I2C &i2c) : I2CPeripheral(i2c, 0x68 << 1 /* address */), int1(p26)
pvaibhav 40:8e852115fe55 8 {
pvaibhav 40:8e852115fe55 9 if (powerOn()) {
pvaibhav 40:8e852115fe55 10 INFO("Invensense MPU9250-Gyro found");
pvaibhav 40:8e852115fe55 11 int1.rise(this, &GyroscopeMPU::handleInterrupt);
pvaibhav 40:8e852115fe55 12 powerOff();
pvaibhav 40:8e852115fe55 13 } else {
pvaibhav 40:8e852115fe55 14 WARN("Invensense MPU9250-Gyro not found");
pvaibhav 40:8e852115fe55 15 }
pvaibhav 40:8e852115fe55 16 }
pvaibhav 40:8e852115fe55 17
pvaibhav 40:8e852115fe55 18 void GyroscopeMPU::powerOff()
pvaibhav 40:8e852115fe55 19 {
pvaibhav 40:8e852115fe55 20 LOG("deep sleep");
pvaibhav 40:8e852115fe55 21 }
pvaibhav 40:8e852115fe55 22
pvaibhav 40:8e852115fe55 23 void GyroscopeMPU::handleInterrupt(void)
pvaibhav 40:8e852115fe55 24 {
pvaibhav 40:8e852115fe55 25 delegate->sensorUpdate(read());
pvaibhav 40:8e852115fe55 26 }
pvaibhav 40:8e852115fe55 27
pvaibhav 40:8e852115fe55 28 bool GyroscopeMPU::powerOn()
pvaibhav 40:8e852115fe55 29 {
pvaibhav 40:8e852115fe55 30 LOG("powered on");
pvaibhav 40:8e852115fe55 31 return read_reg(117) == 0x68; // verify Chip ID
pvaibhav 40:8e852115fe55 32 }
pvaibhav 40:8e852115fe55 33
pvaibhav 40:8e852115fe55 34 void GyroscopeMPU::start()
pvaibhav 40:8e852115fe55 35 {
pvaibhav 40:8e852115fe55 36 }
pvaibhav 40:8e852115fe55 37
pvaibhav 40:8e852115fe55 38 void GyroscopeMPU::stop()
pvaibhav 40:8e852115fe55 39 {
pvaibhav 40:8e852115fe55 40 }
pvaibhav 40:8e852115fe55 41
pvaibhav 40:8e852115fe55 42 Vector3 GyroscopeMPU::read()
pvaibhav 40:8e852115fe55 43 {
pvaibhav 40:8e852115fe55 44 return Vector3(0, 0, 0);
pvaibhav 40:8e852115fe55 45 }