参数读写
读写服务端配置参数,通过 Key 命名约定区分全局参数与驱动板参数。
tijet_client_set_parameter
设置参数。
通过 Key 命名约定区分全局参数与驱动板参数:
"key"→ 全局参数"board.N.key"→ 驱动板编号 N 的参数(N 为板号)client: 客户端句柄。
key: 参数名(区分大小写,UTF-8 编码),支持层级命名。
value: 参数值(JSON 字符串格式,参见 param_type_convention 节)。
返回:
TIJET_OK— 设置成功返回:
TIJET_ERR_NOT_CONNECTED— 未连接返回:
TIJET_ERR_INVALID_ARG— client / key / value 为 NULL返回:
TIJET_ERR_SERVER— 服务端拒绝该参数
使用示例:
// 全局参数
tijet_client_set_parameter(cli, "print_speed", "100");
// 驱动板 #0 的参数
tijet_client_set_parameter(cli, "board.0.print_speed", "80");
参见: tijet_client_get_parameter()
tijet_client_get_parameter
获取参数(单次调用)。
不再需要"两次调用"模式——调用方预分配至少 TIJET_MAX_PARAM_VALUE 字节的缓冲区,
传入 buf_size 告知容量,一次调用即可获取参数值。
通过 Key 命名约定区分全局参数与驱动板参数(同 set)。
client (输入): 客户端句柄。
key (输入): 参数名(UTF-8 编码),支持层级命名。
value_buf (输出): 输出缓冲区(调用方预分配)。
buf_size (输入): value_buf 的容量(字节)。建议 ≥
TIJET_MAX_PARAM_VALUE。返回:
TIJET_OK— 获取成功返回:
TIJET_ERR_NOT_CONNECTED— 未连接返回:
TIJET_ERR_INVALID_ARG— client / key / value_buf 为 NULL返回:
TIJET_ERR_BUFFER_TOO_SMALL— buf_size 不足,参数值被截断返回:
TIJET_ERR_SERVER— 服务端无此参数
使用示例:
char buf[TIJET_MAX_PARAM_VALUE];
int rc = tijet_client_get_parameter(cli, "print_speed", buf, sizeof(buf));
if (rc == TIJET_OK) printf("print_speed = %s\n", buf);
参见: tijet_client_set_parameter()
参见: `TIJET_MAX_PARAM_VALUE`