瀏覽代碼

Merge pull request #1316 from weebl2000/allow-negative-tx

Allow negative tx
Liam Cottle 6 月之前
父節點
當前提交
10eacc4e95
共有 100 個文件被更改,包括 106 次插入105 次删除
  1. 4 3
      examples/companion_radio/MyMesh.cpp
  2. 1 1
      examples/companion_radio/NodePrefs.h
  3. 1 1
      examples/simple_repeater/MyMesh.cpp
  4. 1 1
      examples/simple_repeater/MyMesh.h
  5. 1 1
      examples/simple_room_server/MyMesh.cpp
  6. 1 1
      examples/simple_room_server/MyMesh.h
  7. 2 2
      examples/simple_secure_chat/main.cpp
  8. 1 1
      examples/simple_sensor/SensorMesh.cpp
  9. 1 1
      examples/simple_sensor/SensorMesh.h
  10. 2 2
      src/helpers/CommonCLI.cpp
  11. 2 2
      src/helpers/CommonCLI.h
  12. 1 1
      variants/ebyte_eora_s3/target.cpp
  13. 1 1
      variants/ebyte_eora_s3/target.h
  14. 1 1
      variants/generic-e22/target.cpp
  15. 1 1
      variants/generic-e22/target.h
  16. 1 1
      variants/generic_espnow/target.cpp
  17. 1 1
      variants/generic_espnow/target.h
  18. 1 1
      variants/heltec_ct62/target.cpp
  19. 1 1
      variants/heltec_ct62/target.h
  20. 1 1
      variants/heltec_e213/target.cpp
  21. 1 1
      variants/heltec_e213/target.h
  22. 1 1
      variants/heltec_e290/target.cpp
  23. 1 1
      variants/heltec_e290/target.h
  24. 1 1
      variants/heltec_mesh_solar/target.cpp
  25. 1 1
      variants/heltec_mesh_solar/target.h
  26. 1 1
      variants/heltec_t114/target.cpp
  27. 1 1
      variants/heltec_t114/target.h
  28. 1 1
      variants/heltec_t190/target.cpp
  29. 1 1
      variants/heltec_t190/target.h
  30. 1 1
      variants/heltec_tracker/target.cpp
  31. 1 1
      variants/heltec_tracker/target.h
  32. 1 1
      variants/heltec_tracker_v2/target.cpp
  33. 1 1
      variants/heltec_tracker_v2/target.h
  34. 1 1
      variants/heltec_v2/target.cpp
  35. 1 1
      variants/heltec_v2/target.h
  36. 1 1
      variants/heltec_v3/target.cpp
  37. 1 1
      variants/heltec_v3/target.h
  38. 1 1
      variants/heltec_v4/target.cpp
  39. 1 1
      variants/heltec_v4/target.h
  40. 1 1
      variants/heltec_wireless_paper/target.cpp
  41. 1 1
      variants/heltec_wireless_paper/target.h
  42. 1 1
      variants/ikoka_handheld_nrf/target.cpp
  43. 1 1
      variants/ikoka_handheld_nrf/target.h
  44. 1 1
      variants/ikoka_nano_nrf/target.cpp
  45. 1 1
      variants/ikoka_nano_nrf/target.h
  46. 1 1
      variants/ikoka_stick_nrf/target.cpp
  47. 1 1
      variants/ikoka_stick_nrf/target.h
  48. 1 1
      variants/keepteen_lt1/target.cpp
  49. 1 1
      variants/keepteen_lt1/target.h
  50. 1 1
      variants/lilygo_t3s3/target.cpp
  51. 1 1
      variants/lilygo_t3s3/target.h
  52. 1 1
      variants/lilygo_t3s3_sx1276/target.cpp
  53. 1 1
      variants/lilygo_t3s3_sx1276/target.h
  54. 1 1
      variants/lilygo_tbeam_1w/target.cpp
  55. 1 1
      variants/lilygo_tbeam_1w/target.h
  56. 1 1
      variants/lilygo_tbeam_SX1262/target.cpp
  57. 1 1
      variants/lilygo_tbeam_SX1262/target.h
  58. 1 1
      variants/lilygo_tbeam_SX1276/target.cpp
  59. 1 1
      variants/lilygo_tbeam_SX1276/target.h
  60. 1 1
      variants/lilygo_tbeam_supreme_SX1262/target.cpp
  61. 1 1
      variants/lilygo_tbeam_supreme_SX1262/target.h
  62. 1 1
      variants/lilygo_tdeck/target.cpp
  63. 1 1
      variants/lilygo_tdeck/target.h
  64. 1 1
      variants/lilygo_techo/target.cpp
  65. 1 1
      variants/lilygo_techo/target.h
  66. 1 1
      variants/lilygo_techo_lite/target.cpp
  67. 1 1
      variants/lilygo_techo_lite/target.h
  68. 1 1
      variants/lilygo_tlora_c6/target.cpp
  69. 1 1
      variants/lilygo_tlora_c6/target.h
  70. 1 1
      variants/lilygo_tlora_v2_1/target.cpp
  71. 1 1
      variants/lilygo_tlora_v2_1/target.h
  72. 1 1
      variants/mesh_pocket/target.cpp
  73. 1 1
      variants/mesh_pocket/target.h
  74. 1 1
      variants/meshadventurer/target.cpp
  75. 1 1
      variants/meshadventurer/target.h
  76. 1 1
      variants/meshtiny/target.cpp
  77. 1 1
      variants/meshtiny/target.h
  78. 1 1
      variants/minewsemi_me25ls01/target.cpp
  79. 1 1
      variants/minewsemi_me25ls01/target.h
  80. 1 1
      variants/nano_g2_ultra/target.cpp
  81. 1 1
      variants/nano_g2_ultra/target.h
  82. 1 1
      variants/nibble_screen_connect/target.cpp
  83. 1 1
      variants/nibble_screen_connect/target.h
  84. 1 1
      variants/promicro/target.cpp
  85. 1 1
      variants/promicro/target.h
  86. 1 1
      variants/rak11310/target.cpp
  87. 1 1
      variants/rak11310/target.h
  88. 1 1
      variants/rak3112/target.cpp
  89. 1 1
      variants/rak3112/target.h
  90. 1 1
      variants/rak3401/target.cpp
  91. 1 1
      variants/rak3401/target.h
  92. 1 1
      variants/rak3x72/target.cpp
  93. 1 1
      variants/rak3x72/target.h
  94. 1 1
      variants/rak4631/target.cpp
  95. 1 1
      variants/rak4631/target.h
  96. 1 1
      variants/rak_wismesh_tag/target.cpp
  97. 1 1
      variants/rak_wismesh_tag/target.h
  98. 1 1
      variants/rpi_picow/target.cpp
  99. 1 1
      variants/rpi_picow/target.h
  100. 1 1
      variants/sensecap_indicator-espnow/target.cpp

+ 4 - 3
examples/companion_radio/MyMesh.cpp

@@ -838,7 +838,7 @@ void MyMesh::begin(bool has_display) {
   _prefs.bw = constrain(_prefs.bw, 7.8f, 500.0f);
   _prefs.sf = constrain(_prefs.sf, 5, 12);
   _prefs.cr = constrain(_prefs.cr, 5, 8);
-  _prefs.tx_power_dbm = constrain(_prefs.tx_power_dbm, 1, MAX_LORA_TX_POWER);
+  _prefs.tx_power_dbm = constrain(_prefs.tx_power_dbm, -9, MAX_LORA_TX_POWER);
   _prefs.gps_enabled = constrain(_prefs.gps_enabled, 0, 1);  // Ensure boolean 0 or 1
   _prefs.gps_interval = constrain(_prefs.gps_interval, 0, 86400);  // Max 24 hours
 
@@ -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();

+ 1 - 1
examples/companion_radio/NodePrefs.h

@@ -17,7 +17,7 @@ struct NodePrefs {  // persisted to file
   uint8_t multi_acks;
   uint8_t manual_add_contacts;
   float bw;
-  uint8_t tx_power_dbm;
+  int8_t tx_power_dbm;
   uint8_t telemetry_mode_base;
   uint8_t telemetry_mode_loc;
   uint8_t telemetry_mode_env;

+ 1 - 1
examples/simple_repeater/MyMesh.cpp

@@ -899,7 +899,7 @@ void MyMesh::dumpLogFile() {
   }
 }
 
-void MyMesh::setTxPower(uint8_t power_dbm) {
+void MyMesh::setTxPower(int8_t power_dbm) {
   radio_set_tx_power(power_dbm);
 }
 

+ 1 - 1
examples/simple_repeater/MyMesh.h

@@ -198,7 +198,7 @@ public:
   }
 
   void dumpLogFile() override;
-  void setTxPower(uint8_t power_dbm) override;
+  void setTxPower(int8_t power_dbm) override;
   void formatNeighborsReply(char *reply) override;
   void removeNeighbor(const uint8_t* pubkey, int key_len) override;
   void formatStatsReply(char *reply) override;

+ 1 - 1
examples/simple_room_server/MyMesh.cpp

@@ -719,7 +719,7 @@ void MyMesh::dumpLogFile() {
   }
 }
 
-void MyMesh::setTxPower(uint8_t power_dbm) {
+void MyMesh::setTxPower(int8_t power_dbm) {
   radio_set_tx_power(power_dbm);
 }
 

+ 1 - 1
examples/simple_room_server/MyMesh.h

@@ -188,7 +188,7 @@ public:
   }
 
   void dumpLogFile() override;
-  void setTxPower(uint8_t power_dbm) override;
+  void setTxPower(int8_t power_dbm) override;
 
   void formatNeighborsReply(char *reply) override {
     strcpy(reply, "not supported");

+ 2 - 2
examples/simple_secure_chat/main.cpp

@@ -66,7 +66,7 @@ struct NodePrefs {  // persisted to file
   char node_name[32];
   double node_lat, node_lon;
   float freq;
-  uint8_t tx_power_dbm;
+  int8_t tx_power_dbm;
   uint8_t unused[3];
 };
 
@@ -290,7 +290,7 @@ public:
   }
 
   float getFreqPref() const { return _prefs.freq; }
-  uint8_t getTxPowerPref() const { return _prefs.tx_power_dbm; }
+  int8_t getTxPowerPref() const { return _prefs.tx_power_dbm; }
 
   void begin(FILESYSTEM& fs) {
     _fs = &fs;

+ 1 - 1
examples/simple_sensor/SensorMesh.cpp

@@ -815,7 +815,7 @@ void SensorMesh::updateFloodAdvertTimer() {
   }
 }
 
-void SensorMesh::setTxPower(uint8_t power_dbm) {
+void SensorMesh::setTxPower(int8_t power_dbm) {
   radio_set_tx_power(power_dbm);
 }
 

+ 1 - 1
examples/simple_sensor/SensorMesh.h

@@ -66,7 +66,7 @@ public:
   void setLoggingOn(bool enable) override {  }
   void eraseLogFile() override { }
   void dumpLogFile() override { }
-  void setTxPower(uint8_t power_dbm) override;
+  void setTxPower(int8_t power_dbm) override;
   void formatNeighborsReply(char *reply) override {
     strcpy(reply, "not supported");
   }

+ 2 - 2
src/helpers/CommonCLI.cpp

@@ -92,7 +92,7 @@ void CommonCLI::loadPrefsInt(FILESYSTEM* fs, const char* filename) {
     _prefs->bw = constrain(_prefs->bw, 7.8f, 500.0f);
     _prefs->sf = constrain(_prefs->sf, 5, 12);
     _prefs->cr = constrain(_prefs->cr, 5, 8);
-    _prefs->tx_power_dbm = constrain(_prefs->tx_power_dbm, 1, 30);
+    _prefs->tx_power_dbm = constrain(_prefs->tx_power_dbm, -9, 30);
     _prefs->multi_acks = constrain(_prefs->multi_acks, 0, 1);
     _prefs->adc_multiplier = constrain(_prefs->adc_multiplier, 0.0f, 10.0f);
 
@@ -326,7 +326,7 @@ void CommonCLI::handleCommand(uint32_t sender_timestamp, const char* command, ch
         }
         *reply = 0;  // set null terminator
       } else if (memcmp(config, "tx", 2) == 0 && (config[2] == 0 || config[2] == ' ')) {
-        sprintf(reply, "> %d", (uint32_t) _prefs->tx_power_dbm);
+        sprintf(reply, "> %d", (int32_t) _prefs->tx_power_dbm);
       } else if (memcmp(config, "freq", 4) == 0) {
         sprintf(reply, "> %s", StrHelper::ftoa(_prefs->freq));
       } else if (memcmp(config, "public.key", 10) == 0) {

+ 2 - 2
src/helpers/CommonCLI.h

@@ -19,7 +19,7 @@ struct NodePrefs { // persisted to file
   double node_lat, node_lon;
   char password[16];
   float freq;
-  uint8_t tx_power_dbm;
+  int8_t tx_power_dbm;
   uint8_t disable_fwd;
   uint8_t advert_interval;       // minutes / 2
   uint8_t flood_advert_interval; // hours
@@ -67,7 +67,7 @@ public:
   virtual void setLoggingOn(bool enable) = 0;
   virtual void eraseLogFile() = 0;
   virtual void dumpLogFile() = 0;
-  virtual void setTxPower(uint8_t power_dbm) = 0;
+  virtual void setTxPower(int8_t power_dbm) = 0;
   virtual void formatNeighborsReply(char *reply) = 0;
   virtual void removeNeighbor(const uint8_t* pubkey, int key_len) {
     // no op by default

+ 1 - 1
variants/ebyte_eora_s3/target.cpp

@@ -75,7 +75,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/ebyte_eora_s3/target.h

@@ -25,5 +25,5 @@ extern SensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/generic-e22/target.cpp

@@ -38,7 +38,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/generic-e22/target.h

@@ -17,5 +17,5 @@ extern SensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/generic_espnow/target.cpp

@@ -25,7 +25,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   // no-op
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio_driver.setTxPower(dbm);
 }
 

+ 1 - 1
variants/generic_espnow/target.h

@@ -12,5 +12,5 @@ extern SensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/heltec_ct62/target.cpp

@@ -27,7 +27,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/heltec_ct62/target.h

@@ -16,5 +16,5 @@ extern SensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/heltec_e213/target.cpp

@@ -44,7 +44,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/heltec_e213/target.h

@@ -25,5 +25,5 @@ extern MomentaryButton user_btn;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/heltec_e290/target.cpp

@@ -44,7 +44,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/heltec_e290/target.h

@@ -25,5 +25,5 @@ extern MomentaryButton user_btn;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/heltec_mesh_solar/target.cpp

@@ -34,7 +34,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/heltec_mesh_solar/target.h

@@ -42,5 +42,5 @@ extern SolarSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/heltec_t114/target.cpp

@@ -54,7 +54,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/heltec_t114/target.h

@@ -31,5 +31,5 @@ extern MomentaryButton user_btn;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/heltec_t190/target.cpp

@@ -44,7 +44,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/heltec_t190/target.h

@@ -25,5 +25,5 @@ extern MomentaryButton user_btn;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/heltec_tracker/target.cpp

@@ -47,7 +47,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/heltec_tracker/target.h

@@ -43,5 +43,5 @@ extern HWTSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/heltec_tracker_v2/target.cpp

@@ -50,7 +50,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/heltec_tracker_v2/target.h

@@ -26,5 +26,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/heltec_v2/target.cpp

@@ -43,7 +43,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/heltec_v2/target.h

@@ -25,5 +25,5 @@ extern SensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/heltec_v3/target.cpp

@@ -50,7 +50,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/heltec_v3/target.h

@@ -26,5 +26,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/heltec_v4/target.cpp

@@ -50,7 +50,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/heltec_v4/target.h

@@ -30,5 +30,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/heltec_wireless_paper/target.cpp

@@ -43,7 +43,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/heltec_wireless_paper/target.h

@@ -25,5 +25,5 @@ extern MomentaryButton user_btn;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/ikoka_handheld_nrf/target.cpp

@@ -36,7 +36,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/ikoka_handheld_nrf/target.h

@@ -25,5 +25,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/ikoka_nano_nrf/target.cpp

@@ -34,7 +34,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/ikoka_nano_nrf/target.h

@@ -24,5 +24,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/ikoka_stick_nrf/target.cpp

@@ -34,7 +34,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/ikoka_stick_nrf/target.h

@@ -24,5 +24,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/keepteen_lt1/target.cpp

@@ -40,7 +40,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/keepteen_lt1/target.h

@@ -26,5 +26,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/lilygo_t3s3/target.cpp

@@ -38,7 +38,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/lilygo_t3s3/target.h

@@ -25,5 +25,5 @@ extern SensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/lilygo_t3s3_sx1276/target.cpp

@@ -44,7 +44,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/lilygo_t3s3_sx1276/target.h

@@ -25,5 +25,5 @@ extern SensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/lilygo_tbeam_1w/target.cpp

@@ -54,7 +54,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/lilygo_tbeam_1w/target.h

@@ -23,5 +23,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/lilygo_tbeam_SX1262/target.cpp

@@ -45,7 +45,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/lilygo_tbeam_SX1262/target.h

@@ -25,5 +25,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/lilygo_tbeam_SX1276/target.cpp

@@ -50,7 +50,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/lilygo_tbeam_SX1276/target.h

@@ -25,5 +25,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/lilygo_tbeam_supreme_SX1262/target.cpp

@@ -42,7 +42,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/lilygo_tbeam_supreme_SX1262/target.h

@@ -23,5 +23,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/lilygo_tdeck/target.cpp

@@ -45,7 +45,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/lilygo_tdeck/target.h

@@ -27,5 +27,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/lilygo_techo/target.cpp

@@ -42,7 +42,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/lilygo_techo/target.h

@@ -27,5 +27,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/lilygo_techo_lite/target.cpp

@@ -41,7 +41,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/lilygo_techo_lite/target.h

@@ -27,5 +27,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/lilygo_tlora_c6/target.cpp

@@ -38,7 +38,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/lilygo_tlora_c6/target.h

@@ -16,5 +16,5 @@ extern SensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/lilygo_tlora_v2_1/target.cpp

@@ -39,7 +39,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/lilygo_tlora_v2_1/target.h

@@ -25,5 +25,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/mesh_pocket/target.cpp

@@ -34,7 +34,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/mesh_pocket/target.h

@@ -26,7 +26,7 @@ extern AutoDiscoverRTCClock rtc_clock;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();
 
 extern SensorManager sensors;

+ 1 - 1
variants/meshadventurer/target.cpp

@@ -41,7 +41,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/meshadventurer/target.h

@@ -45,5 +45,5 @@ extern MASensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/meshtiny/target.cpp

@@ -37,7 +37,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/meshtiny/target.h

@@ -29,5 +29,5 @@ extern MomentaryButton back_btn;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/minewsemi_me25ls01/target.cpp

@@ -88,7 +88,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/minewsemi_me25ls01/target.h

@@ -25,5 +25,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/nano_g2_ultra/target.cpp

@@ -36,7 +36,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/nano_g2_ultra/target.h

@@ -45,5 +45,5 @@ extern MomentaryButton user_btn;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/nibble_screen_connect/target.cpp

@@ -38,7 +38,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/nibble_screen_connect/target.h

@@ -25,6 +25,6 @@ extern SensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();
 

+ 1 - 1
variants/promicro/target.cpp

@@ -40,7 +40,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/promicro/target.h

@@ -26,5 +26,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/rak11310/target.cpp

@@ -29,7 +29,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/rak11310/target.h

@@ -16,5 +16,5 @@ extern SensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/rak3112/target.cpp

@@ -50,7 +50,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/rak3112/target.h

@@ -26,5 +26,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/rak3401/target.cpp

@@ -48,7 +48,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/rak3401/target.h

@@ -26,5 +26,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/rak3x72/target.cpp

@@ -66,7 +66,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/rak3x72/target.h

@@ -52,5 +52,5 @@ extern SensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/rak4631/target.cpp

@@ -48,7 +48,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/rak4631/target.h

@@ -26,5 +26,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/rak_wismesh_tag/target.cpp

@@ -44,7 +44,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/rak_wismesh_tag/target.h

@@ -23,5 +23,5 @@ extern EnvironmentSensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/rpi_picow/target.cpp

@@ -29,7 +29,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   radio.setCodingRate(cr);
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio.setOutputPower(dbm);
 }
 

+ 1 - 1
variants/rpi_picow/target.h

@@ -16,5 +16,5 @@ extern SensorManager sensors;
 bool radio_init();
 uint32_t radio_get_rng_seed();
 void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr);
-void radio_set_tx_power(uint8_t dbm);
+void radio_set_tx_power(int8_t dbm);
 mesh::LocalIdentity radio_new_identity();

+ 1 - 1
variants/sensecap_indicator-espnow/target.cpp

@@ -37,7 +37,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) {
   // no-op
 }
 
-void radio_set_tx_power(uint8_t dbm) {
+void radio_set_tx_power(int8_t dbm) {
   radio_driver.setTxPower(dbm);
 }
 

Some files were not shown because too many files changed in this diff