implementação do sgam_mdw baseado na placa NUCLEO FZ429ZI para ser testada

Dependencies:   MPU6050 Grove_temperature

Dependents:   sgam_mdw_test

Committer:
AndersonIctus
Date:
Thu Jun 20 12:29:07 2019 -0300
Revision:
3:f67352c85fd7
Parent:
1:f21c2f775f15
Child:
5:fa36c3288be8
- Inclusao dos sensores de gyroscopio
- Atualizacao dos sensores de temperatura
- Inclusao dos sensores como teste de retorno no ControlImpl

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AndersonIctus 1:f21c2f775f15 1 #include "sgam_mdw.h"
AndersonIctus 3:f67352c85fd7 2 #include "mbed.h"
AndersonIctus 3:f67352c85fd7 3
AndersonIctus 0:681d98ff3681 4 #include "ControlImpl.h"
AndersonIctus 0:681d98ff3681 5
AndersonIctus 3:f67352c85fd7 6 #include "Temperature.h"
AndersonIctus 3:f67352c85fd7 7
AndersonIctus 3:f67352c85fd7 8 I2C i2c(I2C_SDA, I2C_SCL);
AndersonIctus 3:f67352c85fd7 9
AndersonIctus 3:f67352c85fd7 10 ControlImpl::ControlImpl(){ }
AndersonIctus 3:f67352c85fd7 11
AndersonIctus 3:f67352c85fd7 12 ControlImpl::~ControlImpl() {
AndersonIctus 3:f67352c85fd7 13 temp->~Temperature();
AndersonIctus 3:f67352c85fd7 14 }
AndersonIctus 3:f67352c85fd7 15
AndersonIctus 1:f21c2f775f15 16 void ControlImpl::initialize() {
AndersonIctus 3:f67352c85fd7 17 // possiveis inicializacoes no sistema !
AndersonIctus 3:f67352c85fd7 18 LOG("Inicializando o Controler !\r\n");
AndersonIctus 3:f67352c85fd7 19 temp = new Temperature(A1);
AndersonIctus 3:f67352c85fd7 20 gyro = new Gyroscope(i2c);
AndersonIctus 3:f67352c85fd7 21 }
AndersonIctus 1:f21c2f775f15 22
AndersonIctus 3:f67352c85fd7 23 void ControlImpl::finalize() {
AndersonIctus 3:f67352c85fd7 24 temp->~Temperature();
AndersonIctus 3:f67352c85fd7 25 gyro->~Gyroscope();
AndersonIctus 3:f67352c85fd7 26 }
AndersonIctus 1:f21c2f775f15 27
AndersonIctus 1:f21c2f775f15 28 Control* ControlImpl::getControler() {
AndersonIctus 3:f67352c85fd7 29 // metodo de instancia unica
AndersonIctus 1:f21c2f775f15 30 return this;
AndersonIctus 1:f21c2f775f15 31 }
AndersonIctus 1:f21c2f775f15 32
AndersonIctus 3:f67352c85fd7 33 Sensor<void*>* ControlImpl::getSensor(char* name) {
AndersonIctus 3:f67352c85fd7 34 // return (Sensor<void*>*)temp;
AndersonIctus 3:f67352c85fd7 35 return (Sensor<void*>*)gyro;
AndersonIctus 3:f67352c85fd7 36 }
AndersonIctus 3:f67352c85fd7 37
AndersonIctus 1:f21c2f775f15 38 Protocol* ControlImpl::getProtocol(char* name) { return NULL; }
AndersonIctus 1:f21c2f775f15 39 Communication* ControlImpl::getCommunication(char* name) { return NULL; }
AndersonIctus 1:f21c2f775f15 40
AndersonIctus 1:f21c2f775f15 41 char* ControlImpl::getAvailableSensors() { return NULL; }
AndersonIctus 1:f21c2f775f15 42 char* ControlImpl::getAvailableCommunications() { return NULL; }
AndersonIctus 1:f21c2f775f15 43 char* ControlImpl::getAvailableProtocols() { return NULL; }