NAMote72 Utility Application – Serial Terminal Monitor control for NAMote72 (note: this application replaces the previous na_mote1 test code application)

Dependencies:   SX127x lib_gps lib_mma8451q lib_mpl3115a2 lib_sx9500 mbed

Fork of na_mote1 by wayne roberts

See wiki Page for a detailed

This is a link to the wiki page

Revision:
9:dc02ef560bd1
Parent:
8:e3da1dc7b628
Child:
10:a3e2c558c003
diff -r e3da1dc7b628 -r dc02ef560bd1 main.cpp
--- a/main.cpp	Thu May 21 23:23:58 2015 +0000
+++ b/main.cpp	Thu May 28 01:21:03 2015 +0000
@@ -501,14 +501,17 @@
     lora.RegTest31.octet = radio.read_reg(REG_LR_TEST31);
     printf("detect_trig_same_peaks_nb:%d\r\n", lora.RegTest31.bits.detect_trig_same_peaks_nb);
 
+    printf("LowDataRateOptimize:");
     if (radio.type == SX1272) {
         lora.RegModemConfig.octet = radio.read_reg(REG_LR_MODEMCONFIG);
-        printf("LowDataRateOptimize:%d\r\n", lora.RegModemConfig.sx1272bits.LowDataRateOptimize);
+        printf("%d ", lora.RegModemConfig.sx1272bits.LowDataRateOptimize);
     } else if (radio.type == SX1276) {
         lora.RegModemConfig3.octet = radio.read_reg(REG_LR_MODEMCONFIG3);
-        printf("LowDataRateOptimize:%d\r\n", lora.RegModemConfig3.sx1276bits.LowDataRateOptimize);        
+        printf("%d ", lora.RegModemConfig3.sx1276bits.LowDataRateOptimize);        
     }
     
+    printf(" invert: rx=%d tx=%d\r\n", lora.RegTest33.bits.invert_i_q, !lora.RegTest33.bits.chirp_invert_tx);
+    
     switch (hop_type) {
         case HOP_TYPE_NONE:
             break;
@@ -1533,7 +1536,8 @@
                     printf("T           LORA toggle TxContinuousMode\r\n");
                     printf("hp[%%d]     LORA get/set hop period\r\n");
                     printf("hm          LORA toggle explicit/explicit header mode\r\n");
-                    printf("in          LORA toggle invert_i_q\r\n");
+                    printf("rin          LORA toggle RX invert_i_q\r\n");
+                    printf("tin          LORA toggle chirp_invert_tx\r\n");
                     printf("ld          LORA toggle LowDataRateOptimize\r\n");
                 } else {
                     printf("bw[a][%%d] FSK get-set rxbw (bwa=afcbw)\r\n");
@@ -2122,13 +2126,13 @@
                 lora.RegModemConfig3.sx1276bits.LowDataRateOptimize ^= 1;
                 printf("LowDataRateOptimize:%d\r\n", lora.RegModemConfig3.sx1276bits.LowDataRateOptimize); 
                 radio.write_reg(REG_LR_MODEMCONFIG3, lora.RegModemConfig3.octet);
-            }            
-        } else if (pcbuf[0] == 'i' && pcbuf[1] == 'n' && radio.RegOpMode.bits.LongRangeMode) {
-            RegTest33_t test33;
-            test33.octet = radio.read_reg(REG_LR_TEST33);
-            test33.bits.invert_i_q ^= 1;
-            radio.write_reg(REG_LR_TEST33, test33.octet);
-            printf("invert_i_q:%d\r\n", test33.bits.invert_i_q);            
+            }   
+        } else if (pcbuf[0] == 't' && pcbuf[1] == 'i' && pcbuf[2] == 'n' && radio.RegOpMode.bits.LongRangeMode) {                     
+            lora.invert_tx(lora.RegTest33.bits.chirp_invert_tx);
+            printf("chirp_invert_tx :%d\r\n", lora.RegTest33.bits.chirp_invert_tx);          
+        } else if (pcbuf[0] == 'r' && pcbuf[1] == 'i' && pcbuf[2] == 'n' && radio.RegOpMode.bits.LongRangeMode) {
+            lora.invert_rx(!lora.RegTest33.bits.invert_i_q);
+            printf("rx invert_i_q:%d\r\n", lora.RegTest33.bits.invert_i_q);      
         } else if (pcbuf[0] == 'd' && pcbuf[1] >= '0' && pcbuf[1] <= '5') {
             switch (pcbuf[1]) {
                 case '0':