#pragma once #include #include /** * @brief 初始化 BLE 协议栈、NUS 服务和内部状态。 * @return 0 成功,负 errno 失败。 */ int ble_transport_init(void); /** * @brief 启动 BLE 广播。 */ void ble_transport_adv_start(void); /** * @brief 通过 NUS 发送二进制帧,自动重试最多 3 次。未连接或通知未开启时静默丢弃。 * @param data 待发送字节缓冲区。 * @param len 字节数。 */ void ble_transport_send(const uint8_t *data, uint16_t len); /** * @brief 检查是否已连接且通知已使能。 */ bool ble_transport_is_ready(void); /* --- 下行参数 getter --- */ float ble_transport_get_resistance_K(void); float ble_transport_get_resistance_B(void); float ble_transport_get_resistance_Tau(void); float ble_transport_get_spotter_threshold(void); bool ble_transport_get_spotter_enabled(void); int64_t ble_transport_get_last_heartbeat_ms(void);