teste de publish

Dependencies:   DS1820 HighSpeedAnalogIn devices mbed

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