跳到主要内容

配置宏

所有宏均位于 ostx_config.h(或通过 CMake/Arduino IDE 设置)。须在包含任何 <OSynaptic-TX.h> 头文件之前设置。

缓冲区大小

默认值单位描述
OSTX_PACKET_MAX96字节最大输出数据包大小。须足够容纳头部 + 最长可能的 body
OSTX_ID_MAX9字节传感器 ID 最大长度(含 NUL);默认最多 8 字符
OSTX_UNIT_MAX9字节单位字符串最大长度(含 NUL)

值缩放

默认值描述
OSTX_VALUE_SCALE10000定点缩放因子。scaled = real_value × OSTX_VALUE_SCALE

可设置为任意 10 的幂次。例:100 表示 2 位小数精度,每个数据包约节省 1–2 个 Base62 字符。

时间戳

默认值描述
OSTX_NO_TIMESTAMP0设为 1 从结构体和数据包中省略时间戳字段。节省 ~20 B Flash + 4 B 栈

OSTX_NO_TIMESTAMP=1 时,ts_sec 参数传 0;库忽略该值,数据包中 TS_SEC 字段清零。

功能开关

默认值描述
OSTX_NO_STATIC0设为 1 排除等级 B(静态描述符 API)
OSTX_NO_STREAM0设为 1 排除等级 C(流式回调 API)
OSTX_DISABLE_B62_TABLE0不适用——TX 使用查找表编码器以提高速度

内存配置(AVR,avr-gcc -Os,ATmega328P)

配置定义Flash静态 RAM
完整(所有等级)默认值~760 B~137 B(等级 A)96 B
仅等级 BOSTX_NO_STREAM=1~430 B~51 B96 B
仅等级 COSTX_NO_STATIC=1~600 B~21 B0 B
无时间戳OSTX_NO_TIMESTAMP=1~740 B~117 B96 B
最小配置OSTX_NO_STATIC=1 OSTX_NO_STREAM=1~600 B~137 B96 B(仅等级 A)

CMake 用法

target_compile_definitions(my_sensor PRIVATE
OSTX_NO_TIMESTAMP=1
OSTX_NO_STATIC=1
)

Arduino IDE 用法

项目 > 项目属性(Arduino 3.x)中添加,或在 include 之前定义:

#define OSTX_NO_TIMESTAMP 1
#define OSTX_NO_STATIC 1
#include <OSynaptic-TX.h>