sensecap_watcher: format code

This commit is contained in:
Terrence
2025-03-04 23:35:03 +08:00
parent ed46a94d27
commit b18784bd8e

View File

@@ -48,8 +48,8 @@ private:
}; };
ESP_ERROR_CHECK(i2c_new_master_bus(&i2c_bus_cfg, &i2c_bus_)); ESP_ERROR_CHECK(i2c_new_master_bus(&i2c_bus_cfg, &i2c_bus_));
} }
esp_err_t IoExpanderSetLevel(uint16_t pin_mask, uint8_t level)
{ esp_err_t IoExpanderSetLevel(uint16_t pin_mask, uint8_t level) {
return esp_io_expander_set_level(io_exp_handle, pin_mask, level); return esp_io_expander_set_level(io_exp_handle, pin_mask, level);
} }
@@ -59,44 +59,6 @@ private:
pin_mask &= DRV_IO_EXP_INPUT_MASK; pin_mask &= DRV_IO_EXP_INPUT_MASK;
return (uint8_t)((pin_val & pin_mask) ? 1 : 0); return (uint8_t)((pin_val & pin_mask) ? 1 : 0);
} }
static uint8_t KnobBtnGetValue(void *param)
{
SensecapWatcher* obj = static_cast<SensecapWatcher*>(param);
return obj->IoExpanderGetLevel(BSP_KNOB_BTN);
}
static void KnobBtnClickHandler(void* button_handle, void* usr_data)
{
ESP_LOGI(TAG, "Button clicked");
SensecapWatcher* obj = static_cast<SensecapWatcher*>(usr_data);
auto& app = Application::GetInstance();
if (app.GetDeviceState() == kDeviceStateStarting && !WifiStation::GetInstance().IsConnected()) {
obj->ResetWifiConfiguration();
}
app.ToggleChatState();
}
static void KnobBtnDownHandler(void* button_handle, void* usr_data)
{
ESP_LOGI(TAG, "Button down");
Application::GetInstance().StartListening();
}
static void KnobBtnUpHandler(void* button_handle, void* usr_data)
{
ESP_LOGI(TAG, "Button up");
Application::GetInstance().StopListening();
}
static void KnobBtnLongPressHandler(void* button_handle, void* usr_data) {
ESP_LOGI(TAG, "Button long pressed");
SensecapWatcher* obj = static_cast<SensecapWatcher*>(usr_data);
bool is_charging = (obj->IoExpanderGetLevel(BSP_PWR_VBUS_IN_DET) == 0);
if (is_charging) {
ESP_LOGI(TAG, "charging");
} else {
obj->IoExpanderSetLevel(BSP_PWR_SYSTEM, 0);
obj->IoExpanderSetLevel(BSP_PWR_LCD, 0);
}
}
void InitializeExpander() { void InitializeExpander() {
esp_err_t ret = ESP_OK; esp_err_t ret = ESP_OK;
@@ -118,32 +80,46 @@ private:
} }
void InitializeButton() { void InitializeButton() {
button_config_t btn_config = { button_config_t btn_config = {
.type = BUTTON_TYPE_CUSTOM, .type = BUTTON_TYPE_CUSTOM,
.long_press_time = 1000, .long_press_time = 2000,
.short_press_time = 200, .short_press_time = 50,
.custom_button_config = { .custom_button_config = {
.active_level = 0, .active_level = 0,
.button_custom_init =nullptr, .button_custom_init =nullptr,
.button_custom_get_key_value = KnobBtnGetValue, .button_custom_get_key_value = [](void *param) -> uint8_t {
auto self = static_cast<SensecapWatcher*>(param);
return self->IoExpanderGetLevel(BSP_KNOB_BTN);
},
.button_custom_deinit = nullptr, .button_custom_deinit = nullptr,
.priv = this, .priv = this,
}, },
}; };
btns = iot_button_create(&btn_config); btns = iot_button_create(&btn_config);
iot_button_register_cb(btns, BUTTON_SINGLE_CLICK, KnobBtnClickHandler, (void *)this); iot_button_register_cb(btns, BUTTON_SINGLE_CLICK, [](void* button_handle, void* usr_data) {
iot_button_register_cb(btns, BUTTON_LONG_PRESS_START, KnobBtnLongPressHandler, (void *)this); auto self = static_cast<SensecapWatcher*>(usr_data);
// iot_button_register_cb(btns, BUTTON_PRESS_DOWN, KnobBtnDownHandler, (void *)this); auto& app = Application::GetInstance();
// iot_button_register_cb(btns, BUTTON_PRESS_UP, KnobBtnUpHandler, (void *)this); if (app.GetDeviceState() == kDeviceStateStarting && !WifiStation::GetInstance().IsConnected()) {
self->ResetWifiConfiguration();
}
app.ToggleChatState();
}, this);
iot_button_register_cb(btns, BUTTON_LONG_PRESS_START, [](void* button_handle, void* usr_data) {
auto self = static_cast<SensecapWatcher*>(usr_data);
bool is_charging = (self->IoExpanderGetLevel(BSP_PWR_VBUS_IN_DET) == 0);
if (is_charging) {
ESP_LOGI(TAG, "charging");
} else {
self->IoExpanderSetLevel(BSP_PWR_SYSTEM, 0);
self->IoExpanderSetLevel(BSP_PWR_LCD, 0);
}
}, this);
} }
void InitializeSpi() { void InitializeSpi() {
ESP_LOGI(TAG, "Initialize QSPI bus"); ESP_LOGI(TAG, "Initialize QSPI bus");
spi_bus_config_t qspi_cfg = {0}; spi_bus_config_t qspi_cfg = {0};
qspi_cfg.sclk_io_num = BSP_SPI3_HOST_PCLK; qspi_cfg.sclk_io_num = BSP_SPI3_HOST_PCLK;
qspi_cfg.data0_io_num = BSP_SPI3_HOST_DATA0; qspi_cfg.data0_io_num = BSP_SPI3_HOST_DATA0;
qspi_cfg.data1_io_num = BSP_SPI3_HOST_DATA1; qspi_cfg.data1_io_num = BSP_SPI3_HOST_DATA1;
@@ -155,7 +131,6 @@ private:
} }
void Initializespd2010Display() { void Initializespd2010Display() {
esp_err_t ret = ESP_OK;
esp_lcd_panel_io_handle_t ret_io; esp_lcd_panel_io_handle_t ret_io;
esp_lcd_panel_handle_t ret_panel; esp_lcd_panel_handle_t ret_panel;