SAIT ARIS / LRAT-example-lorawan-REFACTOR-and-CLEAN-Branch

Dependencies:   Custom_LSM303 Custom_UBloxGPS LRAT-mbed-os USBDevice mbed-lora-radio-drv stm32EEPROM

Fork of LRAT-example-lorawan by SAIT ARIS

Revision:
43:c900cd8ea072
Parent:
42:d59e50622292
Child:
44:cf1070af05db
--- a/main.cpp	Thu Sep 06 14:53:02 2018 +0000
+++ b/main.cpp	Thu Sep 06 17:42:09 2018 +0000
@@ -605,6 +605,18 @@
 //        printf("=== New loop incoming === \r\n");
 //    }
     
+    // TEST SEND -- SPECTRUM ANALYZER
+    printf("Will send packet in 10 seconds... \r\n");
+        
+    for (int i = 9; i > 0; i--)
+    {
+        wait(1);
+        printf("%d ... \r\n", i);
+    }
+    
+    wait(1);
+    myLedG = 1;
+    
     
     // Initialize LoRaWAN stack
     if (lorawan.initialize(&ev_queue) != LORAWAN_STATUS_OK) {
@@ -612,6 +624,8 @@
         return -1;
     }
 
+    myLedG = 0;
+
     printf("\r\n Mbed LoRaWANStack initialized \r\n");
     printf("MBED_CONF_LORA_APP_PORT: %d\r\n", MBED_CONF_LORA_APP_PORT);
     printf("MBED_CONF_LORA_DUTY_CYCLE_ON: %d\r\n", MBED_CONF_LORA_DUTY_CYCLE_ON);
@@ -741,18 +755,20 @@
     }
     printf("\r\n %d bytes scheduled for transmission \r\n", retcode);
     //memset(tx_buffer, 0, sizeof(tx_buffer));
+    
+    
     //LED Confirmation Output - MESSAGE SENT
-    for (int i = 0; i < 10; i++) {
-            myLedG = 1;
-            wait(0.1);
-            myLedG = 0;
-            myLedR = 1;
-            wait(0.1);
-            myLedR = 0;
-            //myLedB = 1;
-            //wait(0.1);
-            //myLedB = 0;
-    }
+//    for (int i = 0; i < 10; i++) {
+//            myLedG = 1;
+//            wait(0.1);
+//            myLedG = 0;
+//            myLedR = 1;
+//            wait(0.1);
+//            myLedR = 0;
+//            //myLedB = 1;
+//            //wait(0.1);
+//            //myLedB = 0;
+//    }
 }
 
 /**
@@ -793,7 +809,8 @@
         printf("Waking up GPS... Good luck, Huot \r\n");
         gpsExecuteCommand(secondTimeAwake, sizeof(secondTimeAwake));
         
-        while (gpsRead() == 1);
+        //while (gpsRead() == 1);
+        gpsRead();
         
         printf("GPS Fix is good! Going to sleep... \r\n");
         gpsExecuteCommand(secondTimeSleep, sizeof(secondTimeSleep));
@@ -817,6 +834,18 @@
         printf("\r\nBUF: |");
         for (int i = 0; i < PACKET_LEN; i++) { printf("%02X", tx_buffer[i]); }
         printf("|\r\n");
+        
+        // TEST SEND -- SPECTRUM ANALYZER
+        printf("Will send packet in 10 seconds... \r\n");
+        
+        for (int i = 9; i > 0; i--)
+        {
+            wait(1);
+            printf("%d ... \r\n", i);
+        }
+        wait(1);
+        myLedG = 1; 
+    
         retcode = lorawan.send(MBED_CONF_LORA_APP_PORT, tx_buffer, PACKET_LEN,
                                MSG_CONFIRMED_FLAG);
     
@@ -837,18 +866,18 @@
         printf("\r\n %d bytes scheduled for transmission \r\n", retcode);
         //memset(tx_buffer, 0, sizeof(tx_buffer));
         
-        //LED Confirmation Output - MESSAGE SENT
-        for (int i = 0; i < 10; i++) {
-                myLedG = 1;
-                wait(0.1);
-                myLedG = 0;
-                myLedR = 1;
-                wait(0.1);
-                myLedR = 0;
-                myLedB = 1;
-                wait(0.1);
-                myLedB = 0;
-        }
+//        //LED Confirmation Output - MESSAGE SENT
+//        for (int i = 0; i < 10; i++) {
+//                myLedG = 1;
+//                wait(0.1);
+//                myLedG = 0;
+//                myLedR = 1;
+//                wait(0.1);
+//                myLedR = 0;
+//                myLedB = 1;
+//                wait(0.1);
+//                myLedB = 0;
+//        }
 }
 
 /**
@@ -937,11 +966,17 @@
                 send_message();
             }
             */
+            
+            myLedG = 0;
+            
             break;
         case TX_TIMEOUT:
         case TX_ERROR:
         case TX_CRYPTO_ERROR:
         case TX_SCHEDULING_ERROR:
+            myLedR = 1;
+            wait(1);
+            
             printf("\r\n Transmission Error - EventCode = %d \r\n", event);
             
             // try again
@@ -956,6 +991,9 @@
             if (wasEEPROM)
                 continueSending = false;
             
+            myLedG = 0;
+            myLedR = 0;
+            
             break;
         case RX_DONE:
             printf("\r\n Received message from Network Server \r\n");
@@ -1643,18 +1681,20 @@
     //printf("T: %d\t%s", t, ctime(&t));
     printf("GPS: %08X\t%s", t, ctime(&t));
     mytime = t;
-    
-    if (fixGood)
-        myLedG = 1;
-    else
-        myLedR = 1;
 
-    for (int i = 0; i < 10; i++) {
-        myLedB = 1;
-        wait(0.1);
-        myLedB = 0;
-        wait(0.1);
-    }
+    
+//    if (fixGood)
+//        myLedG = 1;
+//    else
+//        myLedR = 1;
+//
+//    for (int i = 0; i < 10; i++) {
+//        myLedB = 1;
+//        wait(0.1);
+//        myLedB = 0;
+//        wait(0.1);
+//    }
+
     
     if (fixGood)
         return 0;