Allow BLE transmit power up to 20 on newer ESP32 models

This commit is contained in:
iranl
2025-01-28 15:36:37 +01:00
parent c436757c23
commit 0b96ec6b2c
4 changed files with 55 additions and 1 deletions

View File

@@ -76,7 +76,30 @@ void NukiOpenerWrapper::readSettings()
if(pwrLvl >= 9)
{
#if defined(CONFIG_IDF_TARGET_ESP32)
powerLevel = ESP_PWR_LVL_P9;
#else
if(pwrLvl >= 20)
{
powerLevel = ESP_PWR_LVL_P20;
}
else if(pwrLvl >= 18)
{
powerLevel = ESP_PWR_LVL_P18;
}
else if(pwrLvl >= 15)
{
powerLevel = ESP_PWR_LVL_P15;
}
else if(pwrLvl >= 12)
{
powerLevel = ESP_PWR_LVL_P12;
}
else
{
powerLevel = ESP_PWR_LVL_P9;
}
#endif
}
else if(pwrLvl >= 6)
{

View File

@@ -82,7 +82,30 @@ void NukiWrapper::readSettings()
if(pwrLvl >= 9)
{
#if defined(CONFIG_IDF_TARGET_ESP32)
powerLevel = ESP_PWR_LVL_P9;
#else
if(pwrLvl >= 20)
{
powerLevel = ESP_PWR_LVL_P20;
}
else if(pwrLvl >= 18)
{
powerLevel = ESP_PWR_LVL_P18;
}
else if(pwrLvl >= 15)
{
powerLevel = ESP_PWR_LVL_P15;
}
else if(pwrLvl >= 12)
{
powerLevel = ESP_PWR_LVL_P12;
}
else
{
powerLevel = ESP_PWR_LVL_P9;
}
#endif
}
else if(pwrLvl >= 6)
{

View File

@@ -3363,7 +3363,11 @@ bool WebCfgServer::processArgs(PsychicRequest *request, PsychicResponse* resp, S
}
else if(key == "TXPWR")
{
#if defined(CONFIG_IDF_TARGET_ESP32)
if(value.toInt() >= -12 && value.toInt() <= 9)
#else
if(value.toInt() >= -12 && value.toInt() <= 20)
#endif
{
if(_preferences->getInt(preference_ble_tx_power, 9) != value.toInt())
{
@@ -5848,7 +5852,11 @@ esp_err_t WebCfgServer::buildNukiConfigHtml(PsychicRequest *request, PsychicResp
printCheckBox(&response, "REGAPPOPN", "Opener: Nuki Bridge is running alongside Nuki Hub (needs re-pairing if changed)", _preferences->getBool(preference_register_opener_as_app), "");
}
printInputField(&response, "RSBC", "Restart if bluetooth beacons not received (seconds; -1 to disable)", _preferences->getInt(preference_restart_ble_beacon_lost), 10, "");
#if defined(CONFIG_IDF_TARGET_ESP32)
printInputField(&response, "TXPWR", "BLE transmit power in dB (minimum -12, maximum 9)", _preferences->getInt(preference_ble_tx_power, 9), 10, "");
#else
printInputField(&response, "TXPWR", "BLE transmit power in dB (minimum -12, maximum 20)", _preferences->getInt(preference_ble_tx_power, 9), 10, "");
#endif
printCheckBox(&response, "UPTIME", "Update Nuki Hub and Lock/Opener time using NTP", _preferences->getBool(preference_update_time, false), "");
printInputField(&response, "TIMESRV", "NTP server", _preferences->getString(preference_time_server, "pool.ntp.org").c_str(), 255, "");