feat(control-plane): trigger cloud draw from SW2 button

This commit is contained in:
chenjintao
2026-08-10 13:53:34 +08:00
parent 07219e6aad
commit 42187ba21d
3 changed files with 60 additions and 7 deletions
@@ -129,13 +129,13 @@ static void control_plane_dispatch_key_event(const control_plane_key_event_t *ev
if (event->key_id == CONTROL_PLANE_KEY_ID_SW2) {
if (event->type == CONTROL_PLANE_KEY_EVENT_SHORT_PRESS) {
const domain_expression_request_t request = {
.id = DOMAIN_EXPRESSION_CHOUQIAN,
.trigger = DOMAIN_EXPRESSION_TRIGGER_SW2_SINGLE_CLICK,
};
esp_err_t expr_err = domain_runtime_request_expression(&request);
if (expr_err != ESP_OK && expr_err != ESP_ERR_INVALID_STATE) {
ESP_LOGW(TAG, "SW2 single-click chouqian expression failed: %s", esp_err_to_name(expr_err));
esp_err_t request_err = control_plane_request_cloud_chouqian();
if (request_err == ESP_ERR_INVALID_STATE) {
ESP_LOGI(TAG, "Cloud chouqian request skipped: multimodal session unavailable or request pending");
} else if (request_err != ESP_OK) {
ESP_LOGW(TAG,
"Cloud chouqian request failed: %s",
esp_err_to_name(request_err));
}
}
if (event->type == CONTROL_PLANE_KEY_EVENT_DOUBLE_CLICK) {