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

Dependencies:   MPU6050 Grove_temperature

Dependents:   sgam_mdw_test

Committer:
AndersonIctus
Date:
Sun Jun 23 13:21:49 2019 -0300
Revision:
6:806043bf1a2c
Parent:
5:fa36c3288be8
Child:
7:8db3e62ac4e2
- Inclusao da casca para a comunicacao
- mudancas no giroscopio e tmeperatura

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 3:f67352c85fd7 5 #include "Temperature.h"
AndersonIctus 5:fa36c3288be8 6 #include "Gyroscope.h"
AndersonIctus 6:806043bf1a2c 7 #include "LoRAWanComm.h"
AndersonIctus 3:f67352c85fd7 8
AndersonIctus 3:f67352c85fd7 9 I2C i2c(I2C_SDA, I2C_SCL);
AndersonIctus 3:f67352c85fd7 10
AndersonIctus 6:806043bf1a2c 11 ControlImpl::ControlImpl() {
AndersonIctus 6:806043bf1a2c 12 }
AndersonIctus 3:f67352c85fd7 13
AndersonIctus 6:806043bf1a2c 14 ControlImpl::~ControlImpl() {
AndersonIctus 3:f67352c85fd7 15 }
AndersonIctus 3:f67352c85fd7 16
AndersonIctus 1:f21c2f775f15 17 void ControlImpl::initialize() {
AndersonIctus 3:f67352c85fd7 18 // possiveis inicializacoes no sistema !
AndersonIctus 6:806043bf1a2c 19 D_LOG("Inicializando o Controler !\r\n");
AndersonIctus 6:806043bf1a2c 20
AndersonIctus 6:806043bf1a2c 21 // Incluindo os Protocolos
AndersonIctus 6:806043bf1a2c 22 // includeSensor( new Protocol() )
AndersonIctus 5:fa36c3288be8 23
AndersonIctus 5:fa36c3288be8 24 // Incluindo os Sensores
AndersonIctus 5:fa36c3288be8 25 includeSensor( (Sensor<void*>*) new Temperature(A1) );
AndersonIctus 5:fa36c3288be8 26 includeSensor( (Sensor<void*>*) new Gyroscope(i2c) );
AndersonIctus 6:806043bf1a2c 27
AndersonIctus 6:806043bf1a2c 28 // Incluindo Comunicacoes
AndersonIctus 6:806043bf1a2c 29 includeCommunication( new LoRAWanComm("") );
AndersonIctus 6:806043bf1a2c 30
AndersonIctus 6:806043bf1a2c 31 // INICIALIZANDO ...
AndersonIctus 6:806043bf1a2c 32 // protocolos ...
AndersonIctus 6:806043bf1a2c 33 for (std::map<std::string, Protocol*>::iterator it=mp_protocols.begin(); it!=mp_protocols.end(); ++it)
AndersonIctus 6:806043bf1a2c 34 it->second->initialize();
AndersonIctus 6:806043bf1a2c 35
AndersonIctus 6:806043bf1a2c 36 // sensores ...
AndersonIctus 6:806043bf1a2c 37 for (std::map<std::string, Sensor<void*>*>::iterator it=mp_sensors.begin(); it!=mp_sensors.end(); ++it)
AndersonIctus 6:806043bf1a2c 38 it->second->initialize();
AndersonIctus 6:806043bf1a2c 39
AndersonIctus 6:806043bf1a2c 40 // comunicacoes ...
AndersonIctus 6:806043bf1a2c 41 for (std::map<std::string, Communication*>::iterator it=mp_communications.begin(); it!=mp_communications.end(); ++it)
AndersonIctus 6:806043bf1a2c 42 it->second->initialize();
AndersonIctus 3:f67352c85fd7 43 }
AndersonIctus 1:f21c2f775f15 44
AndersonIctus 3:f67352c85fd7 45 void ControlImpl::finalize() {
AndersonIctus 5:fa36c3288be8 46 // Finalizando os Sensores
AndersonIctus 3:f67352c85fd7 47 }
AndersonIctus 1:f21c2f775f15 48
AndersonIctus 1:f21c2f775f15 49 Control* ControlImpl::getControler() {
AndersonIctus 3:f67352c85fd7 50 // metodo de instancia unica
AndersonIctus 1:f21c2f775f15 51 return this;
AndersonIctus 1:f21c2f775f15 52 }