mirror of
https://github.com/usatiuk/cardboy.git
synced 2025-10-28 15:17:48 +01:00
some power savings
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
#include "esp_log.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "host/ble_gap.h"
|
||||
#include "host/ble_gatt.h"
|
||||
#include "host/ble_hs.h"
|
||||
#include "host/util/util.h"
|
||||
@@ -152,8 +153,6 @@ void startAdvertising() {
|
||||
|
||||
ble_hs_adv_fields rspFields{};
|
||||
std::memset(&rspFields, 0, sizeof(rspFields));
|
||||
rspFields.tx_pwr_lvl_is_present = 1;
|
||||
rspFields.tx_pwr_lvl = BLE_HS_ADV_TX_PWR_LVL_AUTO;
|
||||
rc = ble_gap_adv_rsp_set_fields(&rspFields);
|
||||
if (rc != 0) {
|
||||
ESP_LOGE(kLogTag, "ble_gap_adv_rsp_set_fields failed: %d", rc);
|
||||
@@ -164,6 +163,9 @@ void startAdvertising() {
|
||||
std::memset(&advParams, 0, sizeof(advParams));
|
||||
advParams.conn_mode = BLE_GAP_CONN_MODE_UND;
|
||||
advParams.disc_mode = BLE_GAP_DISC_MODE_GEN;
|
||||
const uint16_t advIntervalMin = BLE_GAP_ADV_ITVL_MS(3000);
|
||||
advParams.itvl_min = advIntervalMin;
|
||||
advParams.itvl_max = BLE_GAP_ADV_ITVL_MS(4200);
|
||||
|
||||
rc = ble_gap_adv_start(g_ownAddrType, nullptr, BLE_HS_FOREVER, &advParams, gapEventHandler, nullptr);
|
||||
if (rc != 0) {
|
||||
@@ -189,6 +191,21 @@ void onSync() {
|
||||
addrVal[2], addrVal[1], addrVal[0]);
|
||||
}
|
||||
|
||||
rc = ble_gap_set_prefered_default_le_phy(BLE_HCI_LE_PHY_1M_PREF_MASK, BLE_HCI_LE_PHY_1M_PREF_MASK);
|
||||
if (rc != 0) {
|
||||
ESP_LOGW(kLogTag, "Failed to set preferred PHY (rc=%d)", rc);
|
||||
}
|
||||
|
||||
if (esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_DEFAULT, ESP_PWR_LVL_N24) != ESP_OK) {
|
||||
ESP_LOGW(kLogTag, "Failed to set default TX power level");
|
||||
}
|
||||
if (esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_ADV, ESP_PWR_LVL_N24) != ESP_OK) {
|
||||
ESP_LOGW(kLogTag, "Failed to set advertising TX power level");
|
||||
}
|
||||
if (esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_SCAN, ESP_PWR_LVL_N24) != ESP_OK) {
|
||||
ESP_LOGW(kLogTag, "Failed to set scan TX power level");
|
||||
}
|
||||
|
||||
startAdvertising();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user