#pragma once #include #include #include #include "esp_err.h" typedef void (*ble_frame_rx_cb_t)(const uint8_t *data, size_t len); typedef struct { bool connected; bool notify_ready; uint16_t mtu; } ble_link_state_t; esp_err_t ble_printer_client_init(ble_frame_rx_cb_t rx_cb); esp_err_t ble_printer_client_connect(const char *target_name, uint32_t timeout_ms); void ble_printer_client_disconnect(void); 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);