| 423 | } |
| 424 | |
| 425 | bool WBLink::request_set_tx_power_mw(int tx_power_mw, bool armed) { |
| 426 | m_console->debug("request_set_tx_power_mw {}mW", tx_power_mw); |
| 427 | if (!(openhd::is_valid_tx_power_milli_watt(tx_power_mw) || |
| 428 | (armed && tx_power_mw == 0))) { |
| 429 | m_console->warn("Invalid tx power:{}mW", tx_power_mw); |
| 430 | return false; |
| 431 | } |
| 432 | auto tag = fmt::format("SET_TX_POWER_MW_{}:{}", armed ? "ARMED" : "DISARMED", |
| 433 | tx_power_mw); |
| 434 | auto work_item = std::make_shared<WorkItem>( |
| 435 | tag, |
| 436 | [this, tx_power_mw, armed]() { |
| 437 | if (armed) { |
| 438 | m_settings->unsafe_get_settings().wb_tx_power_milli_watt_armed = |
| 439 | tx_power_mw; |
| 440 | } else { |
| 441 | m_settings->unsafe_get_settings().wb_tx_power_milli_watt = |
| 442 | tx_power_mw; |
| 443 | } |
| 444 | m_settings->persist(); |
| 445 | m_request_apply_tx_power = true; |
| 446 | }, |
| 447 | std::chrono::steady_clock::now()); |
| 448 | return try_schedule_work_item(work_item); |
| 449 | } |
| 450 | |
| 451 | bool WBLink::request_set_tx_power_rtl8812au(int tx_power_index_override, |
| 452 | bool armed) { |
nothing calls this directly
no test coverage detected