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

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers appCommands.cpp Source File

appCommands.cpp

00001 #include "appCommands.h"
00002 
00003 void enviaRespostaGGS(char * dados, int tamanho){
00004     for(int i=0; i < tamanho; i++){
00005         ggsStream.putc(dados[i]);
00006     }
00007 }
00008 
00009 void executaComando(bool broadcast, unsigned char tamanho, unsigned char sequencia, unsigned char tipo, char * dados){
00010     ledNetwork = LED_ON;
00011     switch(tipo){
00012         case CMD_LER_VERSAO:
00013             cmdLerVersao();
00014             break;
00015         case CMD_LER_NUM_SERIE:
00016             cmdLerNumeroSerie();
00017             break;
00018         case CMD_GRAVAR_NUM_SERIE:
00019             cmdGravarNumeroSerie(dados, tamanho - TAMANHO_MINIMO_PACOTE);
00020             exec.carregaEndereco(sn.get());
00021             break;
00022         case CMD_RESET:
00023             cmdReset();
00024             break;
00025         case CMD_CORTAR:
00026             cmdCortar();
00027             break;
00028         case CMD_RELIGAR:
00029             cmdReligar();
00030             break;
00031         case CMD_ESTADO_FORNECIMENTO:
00032             cmdEstadoFornecimento();
00033             break;
00034 #ifndef RAMAL       // só ativa comandos de medidor se o equipamento é um smart breaker
00035         case CMD_LER_ENERGIA_ATIVA:
00036             cmdLerEnergiaAtiva();
00037             break;
00038         case CMD_LER_ENERGIA_REATIVA_INDUTIVA:
00039             cmdLerEnergiaReativaIndutiva();
00040             break;
00041         case CMD_LER_ENERGIA_REATIVA_CAPACITIVA:
00042             cmdLerEnergiaReativaCapacitiva();
00043             break;
00044         case CMD_BUSCAR_MEDIDOR:
00045             cmdBuscarMedidor(dados, tamanho - TAMANHO_MINIMO_PACOTE);
00046             break;
00047 #endif            
00048         case CMD_BUSCAR_DENDRION:
00049             cmdBuscarDendrion(broadcast);
00050             break;
00051         case RESP_BUSCAR_CONCENTRADOR:
00052             respBuscarConcentrador(broadcast, dados, tamanho - TAMANHO_MINIMO_PACOTE);
00053             break;
00054         case CMD_LER_PARAMETROS:
00055             cmdLerParametros();
00056             break;
00057         case CMD_CONFIGURAR_PARAMETROS:
00058             cmdConfigurarParametros(dados, tamanho - TAMANHO_MINIMO_PACOTE);
00059             break;
00060         case CMD_LER_RELOGIO:
00061             cmdLerRelogio();
00062             break;
00063         case CMD_GRANDEZA_INSTANTANEA:
00064             cmdGrandezaInstantanea(dados[0]);
00065             break;
00066         case CMD_MEMORIA_MASSA:
00067             cmdMemoriaMassa(dados[0], dados[1]);
00068             break;
00069 //        case CMD_DETECTA_CARGA:
00070 //            cmdDetectaCarga();
00071 //            break;
00072         case CMD_LER_CICLOS_CORTE:
00073             cmdLerCiclosCorte();
00074             break;
00075 //      case CMD_LER_PARAM_BLUETOOTH:
00076 //            cmdLerParamBluetooth();
00077 //            break;
00078 //      case CMD_GRAVAR_PARAM_BLUETOOTH:
00079 //            cmdGravarParamBluetooth(dados, tamanho - TAMANHO_MINIMO_PACOTE);
00080 //            break;
00081 //      case CMD_EXEC_CMD_BTM:
00082 //            cmdExecCmdBtm(dados, tamanho - TAMANHO_MINIMO_PACOTE);
00083 //            break;
00084         case CMD_LER_ALARMES:
00085             cmdLerAlarmes(dados[0]);
00086             break;
00087         case CMD_GRAVAR_RELOGIO:
00088             cmdGravarRelogio(dados, tamanho - TAMANHO_MINIMO_PACOTE);
00089             break;
00090         case CMD_TEMPERATURA:
00091             cmdLerTemperatura();
00092             break;
00093     }
00094 }
00095 
00096 void atualizaEstadoRele(unsigned char estado){
00097     APP_PARAMETERS.estadoRele = estado;
00098     APP_PARAMETERS.contadorCiclos++;
00099     if(!param.saveParameters()){
00100         DEBUG(printf("[GGS] Error writing relay state\r\n"));
00101     }
00102 }
00103 
00104 unsigned char lerEstadoRele(){
00105     return APP_PARAMETERS.estadoRele;
00106 }