implementação do sgam_mdw baseado na placa NUCLEO FZ429ZI para ser testada
Dependencies: MPU6050 Grove_temperature
sensor/gyroscope/Gyroscope.cpp@6:806043bf1a2c, 2019-06-23 (annotated)
- Committer:
- AndersonIctus
- Date:
- Sun Jun 23 13:21:49 2019 -0300
- Revision:
- 6:806043bf1a2c
- Parent:
- 5:fa36c3288be8
- Inclusao da casca para a comunicacao
- mudancas no giroscopio e tmeperatura
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
AndersonIctus | 3:f67352c85fd7 | 1 | #include "sgam_mdw.h" |
AndersonIctus | 3:f67352c85fd7 | 2 | #include "mbed.h" |
AndersonIctus | 5:fa36c3288be8 | 3 | |
AndersonIctus | 3:f67352c85fd7 | 4 | #include "MPU6050.h" |
AndersonIctus | 3:f67352c85fd7 | 5 | #include "Gyroscope.h" |
AndersonIctus | 3:f67352c85fd7 | 6 | |
AndersonIctus | 3:f67352c85fd7 | 7 | Gyroscope::Gyroscope(I2C &i2c): mpu(i2c, MPU6050_ADDRESS_AD0_LOW) { |
AndersonIctus | 3:f67352c85fd7 | 8 | mpu.initialize(); |
AndersonIctus | 3:f67352c85fd7 | 9 | |
AndersonIctus | 3:f67352c85fd7 | 10 | if( mpu.testConnection() ) { |
AndersonIctus | 6:806043bf1a2c | 11 | D_LOG("Giroscope Initialized !!\r\n"); |
AndersonIctus | 3:f67352c85fd7 | 12 | } else { |
AndersonIctus | 6:806043bf1a2c | 13 | D_LOG("There's an error trying initialize the Gyroscope !!\r\n"); |
AndersonIctus | 3:f67352c85fd7 | 14 | } |
AndersonIctus | 3:f67352c85fd7 | 15 | |
AndersonIctus | 3:f67352c85fd7 | 16 | value = new GyroscopeData(); |
AndersonIctus | 3:f67352c85fd7 | 17 | } |
AndersonIctus | 3:f67352c85fd7 | 18 | |
AndersonIctus | 3:f67352c85fd7 | 19 | Gyroscope::~Gyroscope() { |
AndersonIctus | 3:f67352c85fd7 | 20 | value->~GyroscopeData(); |
AndersonIctus | 3:f67352c85fd7 | 21 | } |
AndersonIctus | 3:f67352c85fd7 | 22 | |
AndersonIctus | 6:806043bf1a2c | 23 | int Gyroscope::initialize() { D_LOG("INITIALIZE %s! \r\n", this->getName() ); return 1; } |
AndersonIctus | 6:806043bf1a2c | 24 | int Gyroscope::finalize() { D_LOG("FINALIZE %s! \r\n", this->getName() ); return 1; } |
AndersonIctus | 5:fa36c3288be8 | 25 | |
AndersonIctus | 3:f67352c85fd7 | 26 | void Gyroscope::getMotion(GyroscopeData* data) { |
AndersonIctus | 3:f67352c85fd7 | 27 | mpu.getMotion6( |
AndersonIctus | 3:f67352c85fd7 | 28 | &data->ax, &data->ay, &data->az, |
AndersonIctus | 3:f67352c85fd7 | 29 | &data->gx, &data->gy, &data->gz |
AndersonIctus | 3:f67352c85fd7 | 30 | ); |
AndersonIctus | 3:f67352c85fd7 | 31 | } |
AndersonIctus | 3:f67352c85fd7 | 32 | |
AndersonIctus | 3:f67352c85fd7 | 33 | GyroscopeData* Gyroscope::getValue() { |
AndersonIctus | 3:f67352c85fd7 | 34 | getMotion(value); |
AndersonIctus | 3:f67352c85fd7 | 35 | return value; |
AndersonIctus | 3:f67352c85fd7 | 36 | } |
AndersonIctus | 3:f67352c85fd7 | 37 | |
AndersonIctus | 5:fa36c3288be8 | 38 | const char* Gyroscope::getName() { |
AndersonIctus | 5:fa36c3288be8 | 39 | return "Gyroscope"; |
AndersonIctus | 3:f67352c85fd7 | 40 | } |