平台应答文案全部中文化(UTF-8转义):开关/投喂参数无效,重量未就绪,无秤,扩展板离线/忙/无应答等

This commit is contained in:
helei 2026-09-13 21:35:11 +08:00
parent 1cc146dd0e
commit ed955fca03
2 changed files with 13 additions and 13 deletions

View File

@ -185,7 +185,7 @@ void ext_relay_cmd(uint8_t ch, uint8_t on, const char *id)
/* 不在线也照常受理: 命令链路第一步就是 FC03 探测, 不通才应答离线(平时无轮询) */
if (cmd_pending || cmd_stage != ST_IDLE) {
log_warn("> EXT: 上一命令未完成, 拒绝 SW%d 命令", ch + 4);
if (id) NET_publish_response(id, 0, "ext relay busy");
if (id) NET_publish_response(id, 0, "\xE6\x89\xA9\xE5\xB1\x95\xE6\x9D\xBF\xE5\xBF\x99\xE8\xAF\xB7\xE9\x87\x8D\xE8\xAF\x95");
return;
}
cmd_ch = ch;
@ -318,7 +318,7 @@ void ext_relay_process(void)
} else if (rx_exc || (now - cmd_tick) > EXT_RESP_TIMEOUT_MS) {
rx_exc = 0;
if (cmd_txn == TXN_CMD) {
ext_txn_retry_or_fail(0, "ext relay board offline");
ext_txn_retry_or_fail(0, "\xE6\x89\xA9\xE5\xB1\x95\xE6\x9D\xBF\xE4\xB8\x8D\xE5\x9C\xA8\xE7\xBA\xBF");
} else {
ext_txn_retry_or_fail(0, "");
}
@ -334,7 +334,7 @@ void ext_relay_process(void)
cmd_tick = now;
} else if (rx_exc || (now - cmd_tick) > EXT_RESP_TIMEOUT_MS) {
rx_exc = 0;
ext_txn_retry_or_fail(1, "ext relay no response");
ext_txn_retry_or_fail(1, "\xE6\x89\xA9\xE5\xB1\x95\xE6\x9D\xBF\xE6\x97\xA0\xE5\xBA\x94\xE7\xAD\x94");
}
return;
}
@ -387,7 +387,7 @@ void ext_relay_process(void)
cmd_stage = ST_IDLE;
} else if (rx_exc || (now - cmd_tick) > EXT_RESP_TIMEOUT_MS) {
rx_exc = 0;
ext_txn_retry_or_fail(0, "ext relay no response");
ext_txn_retry_or_fail(0, "\xE6\x89\xA9\xE5\xB1\x95\xE6\x9D\xBF\xE6\x97\xA0\xE5\xBA\x94\xE7\xAD\x94");
}
return;
}

View File

@ -198,7 +198,7 @@ void relayAction(uint8_t *data)
swkey[0] = 's'; swkey[1] = 'w'; swkey[2] = (char)('0' + ch); swkey[3] = '\0';
if (!proto_get_bool((char *)data, swkey, &on)) {
log_warn("> 继电器: sw%d 值无效", ch);
NET_publish_response(CmdId, 0, "bad sw value");
NET_publish_response(CmdId, 0, "\xE5\xBC\x80\xE5\x85\xB3\xE5\x8F\x82\xE6\x95\xB0\xE6\x97\xA0\xE6\x95\x88");
return;
}
@ -215,7 +215,7 @@ if (g_feed_scale_on) {
/* 称重自动投喂模式下继电器 1 仅由 feeding 指令控制, sw1 直接忽略 */
if (ch == 1) {
log_warn("> 继电器: 称重投喂模式下忽略 sw1请用 feeding 指令");
NET_publish_response(CmdId, 0, "sw1 disabled, use feeding");
NET_publish_response(CmdId, 0, "\xE5\xB8\xA6\xE7\xA7\xA4\xE6\xA8\xA1\xE5\xBC\x8F\x73\x77\x31\xE6\x97\xA0\xE6\x95\x88\xE8\xAF\xB7\xE7\x94\xA8\x66\x65\x65\x64\x69\x6E\x67\xE6\x8C\x87\xE4\xBB\xA4");
return;
}
}
@ -226,7 +226,7 @@ if (g_feed_scale_on) {
int value_true = 0;
if (!proto_get_bool((char *)data, "feeding", &value_true)) {
log_warn("> 继电器: feeding 值无效");
NET_publish_response(CmdId, 0, "bad feeding value");
NET_publish_response(CmdId, 0, "\xE6\x8A\x95\xE5\x96\x82\xE5\x8F\x82\xE6\x95\xB0\xE6\x97\xA0\xE6\x95\x88");
return;
}
@ -246,7 +246,7 @@ if (!g_feed_scale_on) {
/* 首次上电查询到有效重量前不允许启动投喂 */
if (feedScaleGetWeight() == 0) {
log_warn("> 继电器: 拒绝启动投喂,重量未就绪");
NET_publish_response(CmdId, 0, "weight not ready");
NET_publish_response(CmdId, 0, "\xE9\x87\x8D\xE9\x87\x8F\xE6\x9C\xAA\xE5\xB0\xB1\xE7\xBB\xAA\xE6\x9A\x82\xE4\xB8\x8D\xE8\x83\xBD\xE6\x8A\x95\xE5\x96\x82");
return;
}
/* 优先使用本次指令中携带的 onceWt, 否则使用 EEPROM 保存的值 */
@ -259,7 +259,7 @@ if (!g_feed_scale_on) {
}
if (once_wt_100g == 0) {
log_warn("> 继电器: 无 onceWt 单次投喂量,已忽略");
NET_publish_response(CmdId, 0, "no onceWt");
NET_publish_response(CmdId, 0, "\xE7\xBC\xBA\xE5\xB0\x91\xE5\x8D\x95\xE6\xAC\xA1\xE6\x8A\x95\xE5\x96\x82\xE9\x87\x8F\xE5\x8F\x82\xE6\x95\xB0");
return;
}
log_info("> 继电器: 开始投喂onceWt=%.1fKG", (float)once_wt_100g / 10.0f);
@ -273,7 +273,7 @@ if (!g_feed_scale_on) {
if (!g_feed_scale_on) {
/* 无秤模式:无单次投喂量概念,拒绝设置 */
log_warn("> 继电器: 拒绝设置 onceWt无秤");
NET_publish_response(CmdId, 0, "no scale on this device");
NET_publish_response(CmdId, 0, "\xE6\x9C\xAC\xE8\xAE\xBE\xE5\xA4\x87\xE6\x97\xA0\xE7\xA7\xB0\xE9\x87\x8D\xE7\xA7\xA4");
return;
} else {
/* 单独设置单次投喂量, 持久化到 EEPROM */
@ -281,7 +281,7 @@ if (!g_feed_scale_on) {
proto_get_kg100((char *)data, "onceWt", &once_wt_100g);
if (once_wt_100g == 0 || once_wt_100g > 5000) {
log_warn("> 继电器: onceWt 无效");
NET_publish_response(CmdId, 0, "invalid onceWt");
NET_publish_response(CmdId, 0, "\xE5\x8D\x95\xE6\xAC\xA1\xE6\x8A\x95\xE5\x96\x82\xE9\x87\x8F\xE6\x97\xA0\xE6\x95\x88");
return;
}
feedScaleSetOnceWeight(once_wt_100g);
@ -293,7 +293,7 @@ if (!g_feed_scale_on) {
if (!g_feed_scale_on) {
/* 无秤模式:无去皮/空载重量概念,拒绝设置 */
log_warn("> 继电器: 拒绝设置 zero无秤");
NET_publish_response(CmdId, 0, "no scale on this device");
NET_publish_response(CmdId, 0, "\xE6\x9C\xAC\xE8\xAE\xBE\xE5\xA4\x87\xE6\x97\xA0\xE7\xA7\xB0\xE9\x87\x8D\xE7\xA7\xA4");
return;
} else {
/* 平台下发空载重量/去皮值,直接解析 value 并保存 */
@ -301,7 +301,7 @@ if (!g_feed_scale_on) {
proto_get_kg100((char *)data, "zero", &zero_100g);
if (zero_100g == 0 || zero_100g > 5000) {
log_warn("> 继电器: zero 无效");
NET_publish_response(CmdId, 0, "invalid zero");
NET_publish_response(CmdId, 0, "\xE5\x8E\xBB\xE7\x9A\xAE\xE5\x80\xBC\xE6\x97\xA0\xE6\x95\x88");
return;
}
feedScaleSetZero(zero_100g);