Frederico Prado / smartRamalEZR

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

Fork of smartRamalKW by Equipe Firmware V2COM

cmd/configurarParametros.cpp

Committer:
tpadovani
Date:
2015-10-13
Revision:
20:da03c9e94ad3
Parent:
11:8c93e0de58cd
Child:
22:b66e36356dd4

File content as of revision 20:da03c9e94ad3:

#include "appCommands.h"

#define SUCESSO             0
#define TAMANHO_INVALIDO    0xff
#define ERRO_GRAVACAO       0xfe

void cmdConfigurarParametros(char * dados, unsigned char tamanhoDados){
    
    if(tamanhoDados != sizeof(APP_PARAMETERS)){
        exec.enviaResposta(RESP_CONFIGURAR_PARAMETROS, (char)TAMANHO_INVALIDO);
        return;
    }
    
    // Totalizador de ciclos de corte/religa nao deve ser alterado
    unsigned int totalizador = APP_PARAMETERS.contadorCiclos;
    memcpy((char *)&APP_PARAMETERS, dados, sizeof(APP_PARAMETERS));
    APP_PARAMETERS.contadorCiclos = totalizador;
    
    if(!param.saveParameters()){
        printf("[GGS] Error writing parameters\r\n");
        exec.enviaResposta(RESP_CONFIGURAR_PARAMETROS, (char)ERRO_GRAVACAO);
        return;
    }
    exec.enviaResposta(RESP_CONFIGURAR_PARAMETROS, SUCESSO);
    softReset();
}