1ad7a9d4ad
BLE 广播/连接管理、NUS 上下行通信、下行参数解析 (Resistance/Spotter/Heartbeat),3 次重试发送机制。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
35 lines
954 B
C
35 lines
954 B
C
#pragma once
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
|
|
/**
|
|
* @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);
|