refactor(protocol): 板面几何与 CoP 计算统一为 cm 单位,force 改 int16

compute_cop 直接输出 int16_t (cm/kg),消除打包时的浮点转换;
BOARD_HALF_WIDTH/LENGTH 从 mm 改 cm,传感器坐标表同步更新。
This commit is contained in:
2026-05-12 16:20:47 +08:00
parent f0072c3bd0
commit ffafbc4c6a
3 changed files with 36 additions and 36 deletions
+4 -4
View File
@@ -17,9 +17,9 @@
#define COP_FLAG_FORCE_VALID 0x01U /* 总力 > 阈值,CoP 坐标有意义 */
/* ─── 板面几何 & 传感器标定 ─── */
/* 传感器到板面中心的半宽、半长 (mm)。 */
#define BOARD_HALF_WIDTH_MM 100.0f
#define BOARD_HALF_LENGTH_MM 100.0f
/* 传感器到板面中心的半宽、半长 (cm)。 */
#define BOARD_HALF_WIDTH_CM 10.0f
#define BOARD_HALF_LENGTH_CM 10.0f
/*
* ADC → kg 换算推导:
@@ -53,7 +53,7 @@ struct cop_frame_t {
uint8_t flags; /* bit0: force_valid */
int16_t cop_x; /* 压力中心 X (cm),板面坐标系 */
int16_t cop_y; /* 压力中心 Y (cm),板面坐标系 */
uint16_t force; /* 总重量 (kg) */
int16_t force; /* 总重量 (kg) */
uint8_t crc; /* CRC-8/MAXIM, 校验 type~force */
} __attribute__((packed));