|
T-Box Basic dev
|
ICC 协议栈配置定义 More...
Go to the source code of this file.
Macros | |
帧格式常量 | |
由协议定义,通常不需要修改。 | |
| #define | ICC_SOF0 0xA5 |
| 帧同步头第 1 字节 | |
| #define | ICC_SOF1 0x5A |
| 帧同步头第 2 字节 | |
| #define | ICC_DATA_FRAME_HEAD_SIZE 10 |
| 数据帧头长度,不含 DATA | |
| #define | ICC_ACK_FRAME_SIZE 6 |
| ACK 帧总长度,固定 6 字节 | |
| #define | ICC_RX_FRAME_DATA_MAX (1024) |
| 接收单帧 DATA 段最大长度 | |
| #define | ICC_TX_FRAME_DATA_MAX (1024 * 5) |
| 发送单帧 DATA 段最大长度 | |
| #define | ICC_RX_FRAME_MAX (ICC_DATA_FRAME_HEAD_SIZE + ICC_RX_FRAME_DATA_MAX) |
| 接收数据帧最大总长 | |
| #define | ICC_TX_FRAME_MAX (ICC_DATA_FRAME_HEAD_SIZE + ICC_TX_FRAME_DATA_MAX) |
| 发送数据帧最大总长 | |
校验配置 | |
DATA 长度小于等于 256 字节时使用 CRC-8,否则使用 CRC-16。 | |
| #define | ICC_CRC8_DATA_THRESHOLD 256 |
| CRC-8 与 CRC-16 分界值 | |
ACK 等待与重传配置 | |
ACK 等待表深度决定同时允许的未确认请求数。 流控策略:待确认数达到 ICC_ACK_TABLE_DEPTH 时,新 need_ack 帧返回 ICC_PROTO_FULL。 超时时间和重试次数共同决定一次请求从发送到放弃的时间上限。 | |
| #define | ICC_ACK_TABLE_DEPTH 5 |
| ACK 等待表深度,同时等待 ACK 的最大帧数 | |
| #define | ICC_ACK_TIMEOUT_MS 1000 |
| ACK 超时时间,单位 ms. | |
| #define | ICC_RETRY_MAX 3 |
| 单帧最大重传次数 | |
| #define | ICC_ACK_DATA_MAX 512 |
| 需要重传的帧 DATA 最大长度,超过则无法重传 | |
心跳 | |
引擎内部自动发送,任何成功的数据接收自动顺延心跳计时器。 未握手(HANDSHAKE)时按快发周期发送以加速建链,握手成功(RUNNING)后按正常周期发送。 连续 ICC_HEARTBEAT_TIMEOUT_CNT 次心跳无响应时触发 EVENT 并自动回退到 HANDSHAKE 状态重新建立连接。 | |
| #define | ICC_HEARTBEAT_INTERVAL_MS 3000 |
| 心跳间隔(ms,RUNNING 状态) | |
| #define | ICC_HEARTBEAT_INTERVAL_FAST_MS 500 |
| 心跳快发间隔(ms,HANDSHAKE 状态) | |
| #define | ICC_HEARTBEAT_TIMEOUT_MS 60000 |
| 心跳超时(ms),超过触发 EVENT | |
| #define | ICC_HANDSHAKE_TIMEOUT_MS 600000 |
| 握手超时(ms),超时触发 HANDSHAKE_FAIL 事件 | |
Tick 获取宏 | |
默认使用 CLOCK_MONOTONIC 获取毫秒级系统时间。 移植到其他 RTOS 或裸机环境时,可在包含本文件前定义 ICC_GET_TICK 覆盖默认实现。 | |
| #define | ICC_GET_TICK() |
锁宏映射 | |
默认使用 pthread_mutex_t。 移植到其他 RTOS 或裸机环境时,可在包含本文件前定义这些宏覆盖默认实现。 | |
| #define | ICC_PROTO_LOCK_T pthread_mutex_t |
| #define | ICC_PROTO_LOCK_INIT(mutex) |
| #define | ICC_PROTO_LOCK_DESTROY(mutex) |
| #define | ICC_PROTO_LOCK_ENTER(mutex) |
| #define | ICC_PROTO_LOCK_EXIT(mutex) |
ICC 协议栈配置定义
| #define ICC_GET_TICK | ( | ) |
| #define ICC_PROTO_LOCK_DESTROY | ( | mutex | ) |
| #define ICC_PROTO_LOCK_ENTER | ( | mutex | ) |
| #define ICC_PROTO_LOCK_EXIT | ( | mutex | ) |
| #define ICC_PROTO_LOCK_INIT | ( | mutex | ) |