参数读写

读写服务端配置参数(全局 / 设备作用域)。

ti_set_parameter

设置参数。

参数 Key 为注册表中的完整参数名(区分大小写,UTF-8 编码);全局 / 设备作用域由参数注册表定义。

  • client: 客户端句柄。
  • key: 参数名(区分大小写,UTF-8 编码),支持层级命名。
  • value: 参数值(字符串格式,服务端负责类型解析)。
  • 返回: TI_OK — 设置成功
  • 返回: TI_ERR_NOT_CONNECTED — 未连接
  • 返回: TI_ERR_INVALID_ARG — client / key / value 为 NULL
  • 返回: TI_ERR_SERVER — 服务端拒绝该参数

使用示例:

// 全局参数
ti_set_parameter(cli, "PRINT_SPEED_TIMER", "100");
// 设备参数
ti_set_parameter(cli, "SYSTEM_DATETIME", "2026-08-18 10:00:00");

参见: ti_get_parameter()

ti_get_parameter

获取参数(单次调用)。

不再需要"两次调用"模式——调用方预分配至少 TI_MAX_PARAM_VALUE 字节的缓冲区, 传入 buf_size 告知容量,一次调用即可获取参数值。

全局 / 设备作用域由参数注册表定义(同 set)。

  • client (输入): 客户端句柄。

  • key (输入): 参数名(UTF-8 编码),支持层级命名。

  • value_buf (输出): 输出缓冲区(调用方预分配)。

  • buf_size (输入): value_buf 的容量(字节)。建议 ≥ TI_MAX_PARAM_VALUE 。

  • 返回: TI_OK — 获取成功

  • 返回: TI_ERR_NOT_CONNECTED — 未连接

  • 返回: TI_ERR_INVALID_ARG — client / key / value_buf 为 NULL

  • 返回: TI_ERR_BUFFER_TOO_SMALL — buf_size 不足,参数值被截断

  • 返回: TI_ERR_SERVER — 服务端无此参数

使用示例:

char buf[TI_MAX_PARAM_VALUE];
int rc = ti_get_parameter(cli, "PRINT_SPEED_TIMER", buf, sizeof(buf));
if (rc == TI_OK) printf("PRINT_SPEED_TIMER = %s\n", buf);

参见: ti_set_parameter() 参见: `TI_MAX_PARAM_VALUE`