refactor(protocol): CoP 帧字段从 float 改为整型,单位 mm→cm / kg
cop_x/cop_y 改为 int16_t (cm),force 改为 uint16_t (kg), 帧长 17→11 字节,降低带宽占用;1 cm 精度满足平衡板场景需求。
This commit is contained in:
+6
-6
@@ -201,9 +201,9 @@ static void sensor_thread_fn(void *p1, void *p2, void *p3) {
|
||||
pkt.frame.sync1 = PROTO_SYNC1;
|
||||
pkt.frame.type = PROTO_TYPE_COP;
|
||||
pkt.frame.flags = valid ? COP_FLAG_FORCE_VALID : 0;
|
||||
pkt.frame.cop_x = cop_x;
|
||||
pkt.frame.cop_y = cop_y;
|
||||
pkt.frame.force = force;
|
||||
pkt.frame.cop_x = (int16_t)(cop_x * 0.1f);
|
||||
pkt.frame.cop_y = (int16_t)(cop_y * 0.1f);
|
||||
pkt.frame.force = (uint16_t)force;
|
||||
pkt.frame.crc = crc8(pkt.bytes + 2, sizeof(pkt.bytes) - 3, 0x31, 0x00, true);
|
||||
|
||||
/* 发送 */
|
||||
@@ -213,9 +213,9 @@ static void sensor_thread_fn(void *p1, void *p2, void *p3) {
|
||||
if (++debug_log_divider >= 10) {
|
||||
debug_log_divider = 0;
|
||||
LOG_INF(
|
||||
"FR=%.2f BR=%.2f BL=%.2f FL=%.2f | total=%.2f kg | cop=(%.1f,%.1f) mm | %s", (double)filtered[0],
|
||||
(double)filtered[1], (double)filtered[2], (double)filtered[3], (double)force, (double)cop_x,
|
||||
(double)cop_y, valid ? "VALID" : "low");
|
||||
"FR=%.2f BR=%.2f BL=%.2f FL=%.2f | total=%.2f kg | cop=(%.1f,%.1f) cm | %s", (double)filtered[0],
|
||||
(double)filtered[1], (double)filtered[2], (double)filtered[3], (double)force,
|
||||
(double)(cop_x * 0.1f), (double)(cop_y * 0.1f), valid ? "VALID" : "low");
|
||||
LOG_INF("timing: acq=%lld total=%lld ms/frame", (long long)(t1 - t0), (long long)frame_ms);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user