feat(printer): add direct thermal backend and debug controls
This commit is contained in:
@@ -37,6 +37,41 @@ bool ble_printer_client_is_connected(void);
|
||||
void ble_printer_client_get_link_state(ble_link_state_t *out_state);
|
||||
esp_err_t ble_printer_client_write(const uint8_t *data, size_t len);
|
||||
|
||||
// ---------- direct_thermal_printer ----------
|
||||
typedef struct {
|
||||
bool has_paper;
|
||||
int8_t paper_gpio_level;
|
||||
uint8_t paper_present_level;
|
||||
uint8_t battery_percent;
|
||||
float temperature_c;
|
||||
int64_t updated_ms;
|
||||
} platform_printer_sensors_t;
|
||||
|
||||
typedef struct {
|
||||
uint16_t width;
|
||||
uint16_t height;
|
||||
const uint8_t *raster;
|
||||
size_t raster_len;
|
||||
uint16_t strobe_on_time_us;
|
||||
uint16_t strobe_interval_us;
|
||||
uint16_t motor_step_delay_us;
|
||||
uint8_t motor_steps_per_line;
|
||||
uint32_t timeout_ms;
|
||||
bool ignore_precheck;
|
||||
const volatile bool *cancel_flag;
|
||||
} platform_direct_print_request_t;
|
||||
|
||||
esp_err_t platform_direct_printer_init(void);
|
||||
void platform_direct_printer_deinit(void);
|
||||
esp_err_t platform_direct_printer_connect(uint32_t timeout_ms);
|
||||
void platform_direct_printer_disconnect(void);
|
||||
bool platform_direct_printer_is_connected(void);
|
||||
esp_err_t platform_direct_printer_get_sensors(platform_printer_sensors_t *out_sensors);
|
||||
esp_err_t platform_direct_printer_print(const platform_direct_print_request_t *request,
|
||||
char *err,
|
||||
size_t err_len);
|
||||
esp_err_t platform_direct_printer_gap_move(uint32_t timeout_ms, char *err, size_t err_len);
|
||||
|
||||
// ---------- display_st7789 ----------
|
||||
esp_err_t platform_display_init(void);
|
||||
esp_err_t platform_display_show_test_pattern(void);
|
||||
@@ -79,6 +114,26 @@ uint32_t runtime_policy_printer_worker_queue_wait_ms(void);
|
||||
uint32_t runtime_policy_printer_queue_retry_delay_ms(void);
|
||||
uint32_t runtime_policy_printer_status_poll_interval_ms(void);
|
||||
uint32_t runtime_policy_printer_stop_timeout_ms(void);
|
||||
uint8_t runtime_policy_printer_default_backend(void);
|
||||
|
||||
bool runtime_policy_direct_printer_enabled(void);
|
||||
uint32_t runtime_policy_direct_printer_operation_timeout_ms(void);
|
||||
uint16_t runtime_policy_direct_printer_strobe_on_us(void);
|
||||
uint16_t runtime_policy_direct_printer_strobe_interval_us(void);
|
||||
uint16_t runtime_policy_direct_printer_motor_step_us(void);
|
||||
bool runtime_policy_direct_printer_motor_reverse(void);
|
||||
uint8_t runtime_policy_direct_printer_steps_per_line(void);
|
||||
uint16_t runtime_policy_direct_printer_gap_steps(void);
|
||||
float runtime_policy_direct_printer_temp_min_c(void);
|
||||
float runtime_policy_direct_printer_temp_max_c(void);
|
||||
uint8_t runtime_policy_direct_printer_battery_min_percent(void);
|
||||
uint8_t runtime_policy_direct_printer_paper_present_level(void);
|
||||
uint16_t runtime_policy_direct_printer_battery_empty_mv(void);
|
||||
uint16_t runtime_policy_direct_printer_battery_full_mv(void);
|
||||
uint16_t runtime_policy_direct_printer_battery_divider_ratio_x1000(void);
|
||||
uint32_t runtime_policy_direct_printer_ntc_pullup_ohms(void);
|
||||
uint32_t runtime_policy_direct_printer_ntc_r25_ohms(void);
|
||||
uint32_t runtime_policy_direct_printer_ntc_beta(void);
|
||||
|
||||
uint32_t runtime_policy_rest_printer_connect_timeout_ms(void);
|
||||
uint32_t runtime_policy_rest_label_timeout_ms(void);
|
||||
|
||||
Reference in New Issue
Block a user