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

Dependencies:   MPU6050 Grove_temperature

Dependents:   sgam_mdw_test

Committer:
AndersonIctus
Date:
Sat Jul 20 14:02:50 2019 -0300
Revision:
17:8789ab4067a6
Parent:
15:11e13881c385
- Inclusao do GPS FAKE

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