lib para o framework sgam

Dependencies:   MPU6050 Grove_temperature

Dependents:   example_smart-grid

Committer:
AndersonIctus
Date:
Mon Jun 03 23:33:00 2019 -0300
Revision:
4:f21aab30658a
Parent:
3:f998244e9f80
Child:
5:caecc2426bbb
- inclusao das logicas para observar uma mudan?a de valor

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AndersonIctus 3:f998244e9f80 1 #include "mbed.h"
AndersonIctus 3:f998244e9f80 2 #include "MPU6050.h"
AndersonIctus 3:f998244e9f80 3
AndersonIctus 3:f998244e9f80 4 #include "Gyroscope.h"
AndersonIctus 3:f998244e9f80 5
AndersonIctus 3:f998244e9f80 6 #define LOG(args...) // printf(args)
AndersonIctus 3:f998244e9f80 7
AndersonIctus 3:f998244e9f80 8 Gyroscope::Gyroscope(I2C i2c): mpu(i2c, MPU6050_ADDRESS_AD0_LOW) {
AndersonIctus 3:f998244e9f80 9 mpu.initialize();
AndersonIctus 3:f998244e9f80 10
AndersonIctus 3:f998244e9f80 11 if(mpu.testConnection()) {
AndersonIctus 3:f998244e9f80 12 LOG("MPU6050 test passed !!\r\n");
AndersonIctus 3:f998244e9f80 13 } else {
AndersonIctus 3:f998244e9f80 14 LOG("MPU6050 test failed !!\r\n");
AndersonIctus 3:f998244e9f80 15 }
AndersonIctus 3:f998244e9f80 16 }
AndersonIctus 3:f998244e9f80 17
AndersonIctus 3:f998244e9f80 18 Gyroscope::~Gyroscope() {
AndersonIctus 3:f998244e9f80 19 // mpu.
AndersonIctus 3:f998244e9f80 20 }
AndersonIctus 3:f998244e9f80 21
AndersonIctus 3:f998244e9f80 22 void Gyroscope::getMotion(GyroscopeData* data) {
AndersonIctus 3:f998244e9f80 23 mpu.getMotion6(
AndersonIctus 3:f998244e9f80 24 &data->ax, &data->ay, &data->az,
AndersonIctus 3:f998244e9f80 25 &data->gx, &data->gy, &data->gz
AndersonIctus 3:f998244e9f80 26 );
AndersonIctus 3:f998244e9f80 27 }
AndersonIctus 3:f998244e9f80 28
AndersonIctus 4:f21aab30658a 29 GyroscopeData Gyroscope::getValue() {
AndersonIctus 4:f21aab30658a 30 getMotion(Gyroscope::value);
AndersonIctus 4:f21aab30658a 31 return *(Gyroscope::value);
AndersonIctus 4:f21aab30658a 32 }
AndersonIctus 4:f21aab30658a 33
AndersonIctus 4:f21aab30658a 34 void Gyroscope::setCallbackReadOcurred( void* (*callback)(GyroscopeData* value) ) {
AndersonIctus 4:f21aab30658a 35 Gyroscope::callback = callback;
AndersonIctus 3:f998244e9f80 36 }
AndersonIctus 3:f998244e9f80 37
AndersonIctus 4:f21aab30658a 38 void Gyroscope::run(float timeout) {
AndersonIctus 4:f21aab30658a 39 // TODO: every timeout, calls acceptData !!
AndersonIctus 3:f998244e9f80 40 }
AndersonIctus 4:f21aab30658a 41
AndersonIctus 4:f21aab30658a 42 void Gyroscope::acceptDataEvent(GyroscopeData* data) {
AndersonIctus 4:f21aab30658a 43 if(Gyroscope::callback != NULL)
AndersonIctus 4:f21aab30658a 44 Gyroscope::callback(data);
AndersonIctus 4:f21aab30658a 45 }