EZR

Dependencies:   CRC16 FreescaleIAP FreescaleWatchdog GGSProtocol LM75B PIMA Parameters PersistentCircularQueue SerialNumberV2COM mbed-dev-watchdog_2016_03_04

Fork of smartRamalKW by Equipe Firmware V2COM

appCommands.cpp

Committer:
tpadovani
Date:
2015-07-28
Revision:
13:eed9484a89bc
Parent:
12:0f549dfba86c
Child:
14:4963dc299580

File content as of revision 13:eed9484a89bc:

#include "appCommands.h"

void enviaRespostaGGS(char * dados, int tamanho){
    for(int i=0; i < tamanho; i++){
        ggsStream.putc(dados[i]);
    }
}

void executaComando(unsigned char tamanho, unsigned char sequencia, unsigned char tipo, char * dados){
    switch(tipo){
        case CMD_LER_VERSAO:
            cmdLerVersao();
            break;
        case CMD_LER_NUM_SERIE:
            cmdLerNumeroSerie();
            break;
        case CMD_GRAVAR_NUM_SERIE:
            cmdGravarNumeroSerie(dados, tamanho - TAMANHO_MINIMO_PACOTE);
            exec.carregaEndereco(sn.get());
            break;
        case CMD_RESET:
            cmdReset();
            break;
        case CMD_CORTAR:
            cmdCortar();
            break;
        case CMD_RELIGAR:
            cmdReligar();
            break;
        case CMD_ESTADO_FORNECIMENTO:
            cmdEstadoFornecimento();
            break;
        case CMD_LER_PARAMETROS:
            cmdLerParametros();
            break;
        case CMD_CONFIGURAR_PARAMETROS:
            cmdConfigurarParametros(dados, tamanho - TAMANHO_MINIMO_PACOTE);
            break;
        case CMD_LER_RELOGIO:
            cmdLerRelogio();
            break;
        case CMD_TENSAO_INSTANTANEA:
            cmdTensaoInstantanea(dados[0]);
            break;
        case CMD_MM_TENSAO:
            cmdMMTensao(dados[0], dados[1]);
            break;
        case CMD_DETECTA_CARGA:
            cmdDetectaCarga();
            break;
        case CMD_LER_CICLOS_CORTE:
            cmdLerCiclosCorte();
            break;
        case CMD_LER_PARAM_BLUETOOTH:
            cmdLerParamBluetooth();
            break;
        case CMD_GRAVAR_PARAM_BLUETOOTH:
            cmdGravarParamBluetooth(dados, tamanho - TAMANHO_MINIMO_PACOTE);
            break;
        case CMD_EXEC_CMD_BTM:
            cmdExecCmdBtm(dados, tamanho - TAMANHO_MINIMO_PACOTE);
            break;
        case CMD_LER_ALARMES:
            cmdLerALarmes(dados[0]);
            break;
    }
}

void atualizaEstadoRele(unsigned char estado){
    APP_PARAMETERS.estadoRele = estado;
    APP_PARAMETERS.contadorCiclos++;
    if(!param.saveParameters()){
        printf("[GGS] Erro gravando estado do rele\r\n");
    }
}

unsigned char lerEstadoRele(){
    return APP_PARAMETERS.estadoRele;
}