参数读写

读写服务端配置参数,通过 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`