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

Allow negative tx
This commit is contained in:
Liam Cottle 2026-02-08 12:43:10 +13:00 committed by GitHub
commit 10eacc4e95
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
141 changed files with 147 additions and 146 deletions

View file

@ -838,7 +838,7 @@ void MyMesh::begin(bool has_display) {
_prefs.bw = constrain(_prefs.bw, 7.8f, 500.0f); _prefs.bw = constrain(_prefs.bw, 7.8f, 500.0f);
_prefs.sf = constrain(_prefs.sf, 5, 12); _prefs.sf = constrain(_prefs.sf, 5, 12);
_prefs.cr = constrain(_prefs.cr, 5, 8); _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_enabled = constrain(_prefs.gps_enabled, 0, 1); // Ensure boolean 0 or 1
_prefs.gps_interval = constrain(_prefs.gps_interval, 0, 86400); // Max 24 hours _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); writeErrFrame(ERR_CODE_ILLEGAL_ARG);
} }
} else if (cmd_frame[0] == CMD_SET_RADIO_TX_POWER) { } 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); writeErrFrame(ERR_CODE_ILLEGAL_ARG);
} else { } else {
_prefs.tx_power_dbm = cmd_frame[1]; _prefs.tx_power_dbm = power;
savePrefs(); savePrefs();
radio_set_tx_power(_prefs.tx_power_dbm); radio_set_tx_power(_prefs.tx_power_dbm);
writeOKFrame(); writeOKFrame();

View file

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

View file

@ -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); radio_set_tx_power(power_dbm);
} }

View file

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

View file

@ -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); radio_set_tx_power(power_dbm);
} }

View file

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

View file

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

View file

@ -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); radio_set_tx_power(power_dbm);
} }

View file

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

View file

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

View file

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

View file

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

View file

@ -25,5 +25,5 @@ extern SensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -17,5 +17,5 @@ extern SensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -12,5 +12,5 @@ extern SensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -16,5 +16,5 @@ extern SensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -25,5 +25,5 @@ extern MomentaryButton user_btn;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -25,5 +25,5 @@ extern MomentaryButton user_btn;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -42,5 +42,5 @@ extern SolarSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -31,5 +31,5 @@ extern MomentaryButton user_btn;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -25,5 +25,5 @@ extern MomentaryButton user_btn;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -43,5 +43,5 @@ extern HWTSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -26,5 +26,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -25,5 +25,5 @@ extern SensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -26,5 +26,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -30,5 +30,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -25,5 +25,5 @@ extern MomentaryButton user_btn;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -25,5 +25,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -24,5 +24,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -24,5 +24,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -26,5 +26,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -25,5 +25,5 @@ extern SensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -25,5 +25,5 @@ extern SensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -23,5 +23,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -25,5 +25,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -25,5 +25,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -23,5 +23,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -27,5 +27,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -27,5 +27,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -27,5 +27,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -16,5 +16,5 @@ extern SensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -25,5 +25,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -26,7 +26,7 @@ extern AutoDiscoverRTCClock rtc_clock;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();
extern SensorManager sensors; extern SensorManager sensors;

View file

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

View file

@ -45,5 +45,5 @@ extern MASensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -29,5 +29,5 @@ extern MomentaryButton back_btn;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -25,5 +25,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -45,5 +45,5 @@ extern MomentaryButton user_btn;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -25,6 +25,6 @@ extern SensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -26,5 +26,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -16,5 +16,5 @@ extern SensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -26,5 +26,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -26,5 +26,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -52,5 +52,5 @@ extern SensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -26,5 +26,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -23,5 +23,5 @@ extern EnvironmentSensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

View file

@ -16,5 +16,5 @@ extern SensorManager sensors;
bool radio_init(); bool radio_init();
uint32_t radio_get_rng_seed(); uint32_t radio_get_rng_seed();
void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); 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(); mesh::LocalIdentity radio_new_identity();

View file

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

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