teste de publish
Dependencies: DS1820 HighSpeedAnalogIn devices mbed
Diff: modem.cpp
- Revision:
- 1:0e0967c88590
- Parent:
- 0:1c0a769988ee
- Child:
- 2:55b7b466e742
--- a/modem.cpp Fri Mar 24 15:54:41 2017 +0000 +++ b/modem.cpp Thu Mar 30 19:54:09 2017 +0000 @@ -84,6 +84,24 @@ return retorno; } +bool modemCom::writeStatusToSD(void){ + char aux[30]; + int16_t RSSI; + RSSI = modemCom::getRSSI(); + sdCardBuf.del(); + sdCardBuf.fill("log{status:ip=255.255.255.255;csq=",34); + + sprintf(aux,"%d",RSSI); + sdCardBuf.fill(aux,strlen(aux)); + + sprintf(aux,";imsi=%s}log",modemCom::status.MAC); + sdCardBuf.fill(aux,strlen(aux)); + + if((!modemCom::status.emComunicacao)&&(!sdCard::arquivoAberto())){ + sdCard::insereDadosArquivo(&sdCard::armazenamento,sdCardBuf.get(),sdCardBuf.getLength()); + } +} + bool modemCom::montaStatus(void) { if(sdCard::abreArquivo(&sdCard::status,"w")) { @@ -557,6 +575,20 @@ } } } + +int16_t modemCom::getRSSI(void){ + char *ptr; + int16_t RSSI = 0; + if(modemCom::sendToModem("modem:AT+CWLAP\r\n",1,&modemCom::status.OK,1000,1)){ + ptr = strstr(modemCom::bufIn,(const char*)modemCom::status.ssid); + if(ptr){ + ptr = strtok(ptr,","); + ptr = strtok(NULL,","); + RSSI = atoi(ptr); + } + } + return RSSI; +} void modemCom::conectaWiFi(void){ //Função para mudança de rede @@ -726,10 +758,7 @@ //sdCard::insereDadosArquivo(&sdCard::devices,modemCom::bufIn,bufInLength); sdCard::insereDadosArquivo(&sdCard::tempFile,modemCom::bufIn,IPDNumBytes); osDelay(250); - //Euclerio Deletar - /*for(uint16_t cont = 0; cont<IPDNumBytes; cont++){ - pc.printf("%c",modemCom::bufIn[cont]); - }*/ + modemCom::status.timeOut=100; @@ -833,18 +862,6 @@ } - //+CSQ: 99,99 - - ptr=strstr(modemCom::bufIn,"+CSQ:"); - if(ptr) { - naoCompreendido=false; - scanPtr = strtok (ptr," "); - scanPtr = strtok (NULL,","); - if(scanPtr) { - modemCom::status.CSQ = atoi(scanPtr); - } - } - //SocketBufferPendent? //#SI: 1,123,400,10,50