Anderson Cunha / sgam_mdw_NUCLEOF429ZI_impl

Dependencies:   MPU6050 Grove_temperature

Dependents:   sgam_mdw_test

ControlImpl.cpp

Committer:
AndersonIctus
Date:
2019-06-23
Revision:
6:806043bf1a2c
Parent:
5:fa36c3288be8
Child:
7:8db3e62ac4e2

File content as of revision 6:806043bf1a2c:

#include "sgam_mdw.h"
#include "mbed.h"

#include "ControlImpl.h"
#include "Temperature.h"
#include "Gyroscope.h"
#include "LoRAWanComm.h"

I2C    i2c(I2C_SDA, I2C_SCL);

ControlImpl::ControlImpl() { 
}

ControlImpl::~ControlImpl() { 
}

void ControlImpl::initialize() {
    // possiveis inicializacoes no sistema !
    D_LOG("Inicializando o Controler !\r\n");

    // Incluindo os Protocolos
    // includeSensor( new Protocol() )

    // Incluindo os Sensores 
    includeSensor( (Sensor<void*>*) new Temperature(A1) );
    includeSensor( (Sensor<void*>*) new Gyroscope(i2c) );

    // Incluindo Comunicacoes
    includeCommunication( new LoRAWanComm("") );

    // INICIALIZANDO ...
    // protocolos ...
    for (std::map<std::string, Protocol*>::iterator it=mp_protocols.begin(); it!=mp_protocols.end(); ++it)
        it->second->initialize();

    // sensores ...
    for (std::map<std::string, Sensor<void*>*>::iterator it=mp_sensors.begin(); it!=mp_sensors.end(); ++it)
        it->second->initialize();

    // comunicacoes ...
    for (std::map<std::string, Communication*>::iterator it=mp_communications.begin(); it!=mp_communications.end(); ++it)
        it->second->initialize();
}

void ControlImpl::finalize() {
    // Finalizando os Sensores 
}

Control* ControlImpl::getControler() {
    // metodo de instancia unica    
    return this;
}