Bladeren bron

Parse as signed int

Wessel Nieboer 6 maanden geleden
bovenliggende
commit
e8646f5ede
1 gewijzigde bestanden met toevoegingen van 3 en 2 verwijderingen
  1. 3 2
      examples/companion_radio/MyMesh.cpp

+ 3 - 2
examples/companion_radio/MyMesh.cpp

@@ -1228,10 +1228,11 @@ void MyMesh::handleCmdFrame(size_t len) {
       writeErrFrame(ERR_CODE_ILLEGAL_ARG);
     }
   } else if (cmd_frame[0] == CMD_SET_RADIO_TX_POWER) {
-    if (cmd_frame[1] > MAX_LORA_TX_POWER) {
+    int8_t power = (int8_t)cmd_frame[1];
+    if (power < -9 || power > MAX_LORA_TX_POWER) {
       writeErrFrame(ERR_CODE_ILLEGAL_ARG);
     } else {
-      _prefs.tx_power_dbm = cmd_frame[1];
+      _prefs.tx_power_dbm = power;
       savePrefs();
       radio_set_tx_power(_prefs.tx_power_dbm);
       writeOKFrame();