1

Revision:
5:ab124d3842a8
Parent:
0:9c052ff8dd6a
Child:
6:b7bbf31e06e4
--- a/radio_ff_arduino_sx127x.cpp	Mon Aug 20 14:07:47 2018 -0700
+++ b/radio_ff_arduino_sx127x.cpp	Sun Nov 25 17:12:03 2018 -0800
@@ -43,11 +43,25 @@
     RegPdsTrim1_t pds_trim;
     uint8_t adr;
 
-    if (radio.type == SX1276)
+    if (radio.type == SX1276) {
         adr = REG_PDSTRIM1_SX1276;
-    else
+        pa_test_adr = REG_PATEST_SX1276;
+    } else {
         adr = REG_PDSTRIM1_SX1272;
+        pa_test_adr = REG_PATEST_SX1272;
+    }
        
+    v = radio.read_reg(pa_test_adr);
+    if (dbm == PA_OFF_DBM) {
+        /* for bench testing: prevent overloading receiving station (very low TX power) */
+        v &= ~0x20; // turn off pu_regpa_n: disable PA
+        radio.write_reg(pa_test_adr, v);
+        return;
+    } else if ((v & 0x20) == 0) {
+        v |= 0x20; // turn on pu_regpa_n: enable PA
+        radio.write_reg(pa_test_adr, v);
+    }
+
     pds_trim.octet = radio.read_reg(adr);   
 
     if (shield_type == SHIELD_TYPE_LAS)