feat: added get/set battery mode

This commit is contained in:
2025-05-06 11:12:29 +03:00
parent 3d789205d1
commit 1391c9b3c1
3 changed files with 42 additions and 2 deletions

View File

@ -570,4 +570,26 @@ esp_err_t zh_espnow_set_channel(uint8_t channel)
_init_config.wifi_channel = channel;
ZH_ESPNOW_LOGI("ESP-NOW channel set successfully.");
return err;
}
bool zh_espnow_get_battery_mode(void)
{
return _init_config.battery_mode;
}
esp_err_t zh_espnow_set_battery_mode(bool battery_mode)
{
ZH_ESPNOW_CHECK(_is_initialized == true, ESP_ERR_INVALID_STATE, "Battery mode set failed. ESP-NOW is not initialized.");
esp_err_t err = esp_now_unregister_send_cb();
ZH_ESPNOW_CHECK(err == ESP_OK, err, "Battery mode set failed. Failed to unregister send callback.");
if (_init_config.battery_mode == false)
{
err = esp_now_unregister_recv_cb();
ZH_ESPNOW_CHECK(err == ESP_OK, err, "Battery mode set failed. Failed to unregister receive callback.");
}
err = _zh_espnow_register_callbacks(battery_mode);
ZH_ESPNOW_CHECK(err == ESP_OK, err, "Battery mode set failed. Failed to register callbacks.");
_init_config.battery_mode = battery_mode;
ZH_ESPNOW_LOGI("Battery mode set successfully.");
return ESP_OK;
}