123

Revision:
16:3de8e1c465eb
Parent:
15:3f3fc6792f97
Child:
17:59279bc8cdab
diff -r 3f3fc6792f97 -r 3de8e1c465eb sx127x_lora.cpp
--- a/sx127x_lora.cpp	Thu May 14 23:23:13 2015 +0000
+++ b/sx127x_lora.cpp	Thu May 21 18:24:04 2015 +0000
@@ -216,6 +216,30 @@
     return (1 << RegModemConfig2.sx1276bits.SpreadingFactor) / khz; 
 }
 
+void SX127x_lora::setBw_KHz(int khz)
+{
+    uint8_t bw = 0;
+    
+    if (m_xcvr.type == SX1276) {
+        if (khz <= 8) bw = 0;
+        else if (khz <= 11) bw = 1;
+        else if (khz <= 16) bw = 2;
+        else if (khz <= 21) bw = 3;
+        else if (khz <= 32) bw = 4;
+        else if (khz <= 42) bw = 5;
+        else if (khz <= 63) bw = 6;
+        else if (khz <= 125) bw = 7;
+        else if (khz <= 250) bw = 8;
+        else if (khz <= 500) bw = 9;
+    } else if (m_xcvr.type == SX1272) {
+        if (khz <= 125) bw = 0;
+        else if (khz <= 250) bw = 1;
+        else if (khz <= 500) bw = 2;
+    }
+    
+    setBw(bw);
+}
+
 void SX127x_lora::setBw(uint8_t bw)
 {
     if (!m_xcvr.RegOpMode.bits.LongRangeMode)