feat(ux): improve wifi, voice, and print feedback flows

This commit is contained in:
admin
2026-03-10 13:05:10 +08:00
parent b59c69fb3f
commit 559df3b570
15 changed files with 508 additions and 33 deletions

View File

@@ -153,6 +153,20 @@ typedef struct {
int64_t finished_ms;
} print_job_info_t;
typedef enum {
PRINTER_JOB_EVENT_QUEUED = 0,
PRINTER_JOB_EVENT_RUNNING,
PRINTER_JOB_EVENT_PROGRESS,
PRINTER_JOB_EVENT_FINISHED,
} printer_job_event_type_t;
typedef struct {
printer_job_event_type_t type;
print_job_info_t job;
} printer_job_event_t;
typedef void (*printer_job_event_cb_t)(const printer_job_event_t *event, void *user_data);
typedef struct {
// Printer-only option: bypass paper/temp/battery precheck for this print job.
bool ignore_precheck;
@@ -200,6 +214,7 @@ bool printer_protocol_get_job(uint32_t job_id, print_job_info_t *out_info);
esp_err_t printer_protocol_list_jobs(print_job_info_t *out_jobs, size_t max_jobs, size_t *out_count);
esp_err_t printer_protocol_cancel_job(uint32_t job_id, char *err, size_t err_len);
size_t printer_protocol_cleanup_jobs(bool include_success, bool include_failed, bool include_canceled);
esp_err_t printer_protocol_set_event_callback(printer_job_event_cb_t cb, void *user_data);
esp_err_t printer_protocol_gap_move(uint32_t timeout_ms, char *err, size_t err_len);
@@ -237,6 +252,7 @@ esp_err_t voice_interaction_stop(char *err, size_t err_len);
esp_err_t voice_interaction_tap_start(char *err, size_t err_len);
esp_err_t voice_interaction_tap_cancel(char *err, size_t err_len);
esp_err_t voice_interaction_schedule_session_prewarm(void);
void voice_interaction_get_status(voice_interaction_status_t *out_status);
const char *voice_interaction_dialog_state_str(voice_dialog_state_t state);