sl-webui
308be74330
feat(arch): implement SAUL-TEE ESP32 protocol specs from hal reference doc
Spec source: docs/SAUL-TEE-SYSTEM-REFERENCE.md (hal, 2026-04-04)
stm32_protocol.py — rewritten for inter-board UART protocol (ESP32 BALANCE ↔ IO):
- Frame: [0xAA][LEN][TYPE][PAYLOAD][CRC8] @ 460800 baud (was STX/ETX/CRC16)
- CRC-8 poly 0x07 over LEN+TYPE+PAYLOAD
- New message types: RC_CHANNELS(0x01), SENSORS(0x02), LED_CMD(0x10),
OUTPUT_CMD(0x11), MOTOR_CMD(0x12), HEARTBEAT(0x20)
mamba_protocol.py — updated CAN IDs and frame formats:
- Orin→BALANCE: DRIVE(0x300) f32×2 LE, MODE(0x301), ESTOP(0x302), LED(0x303)
- BALANCE→Orin: FC_STATUS(0x400) pitch/vbat/state, FC_VESC(0x401) rpm/current
- VESC node IDs: Left=56, Right=68 (authoritative per §8)
- VESC extended frames: STATUS1(cmd=9), STATUS4(cmd=16), STATUS5(cmd=27)
- Replaced old MAMBA_CMD_*/MAMBA_TELEM_* constants
can_bridge_node.py — updated to use new IDs:
- ORIN_CMD_DRIVE/MODE/ESTOP replace MAMBA_CMD_VELOCITY/MODE/ESTOP
- FC_STATUS handler: publishes pitch→/can/imu, vbat_mv→/can/battery
- FC_VESC handler: publishes rpm/cur→/can/vesc/left|right/state
- VESC STATUS1 extended frames decoded per node ID (56/68)
- Removed PID CAN command (not in new spec)
CLAUDE.md — updated with ESP32-S3 BALANCE/IO hardware summary + key protocols
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 08:59:28 -04:00
..
2026-03-02 12:22:58 -05:00
2026-03-03 18:17:41 -05:00
2026-03-02 09:38:46 -05:00
2026-03-02 11:07:35 -05:00
2026-03-02 11:07:35 -05:00
2026-03-15 14:37:22 -04:00
2026-03-05 08:53:43 -05:00
2026-03-07 10:03:31 -05:00
2026-03-15 10:12:40 -04:00
2026-03-04 22:40:40 -05:00
2026-03-03 00:46:12 -05:00
2026-03-02 12:48:16 -05:00
2026-04-04 08:59:28 -04:00
2026-03-03 00:41:39 -05:00
2026-04-04 08:25:24 -04:00
2026-03-02 08:38:24 -05:00
2026-02-28 22:59:13 -05:00
2026-04-04 08:59:28 -04:00
2026-04-04 08:25:24 -04:00
2026-03-06 10:25:04 -05:00
2026-03-02 20:45:21 -05:00
2026-03-02 12:01:00 -05:00
2026-03-02 12:11:37 -05:00
2026-03-05 12:09:07 -05:00
2026-03-05 14:48:46 -05:00
2026-03-07 09:52:18 -05:00
2026-04-04 08:25:24 -04:00
2026-04-04 08:25:24 -04:00
2026-03-18 07:56:16 -04:00
2026-03-05 17:08:48 -05:00
2026-03-02 10:19:22 -05:00
2026-03-02 10:44:32 -05:00
2026-03-02 10:44:32 -05:00
2026-03-02 10:39:37 -05:00
2026-03-02 10:39:37 -05:00
2026-03-05 09:19:31 -05:00
2026-03-05 08:53:56 -05:00
2026-03-05 12:09:07 -05:00
2026-03-04 12:44:33 -05:00
2026-03-04 13:12:47 -05:00
2026-03-02 09:36:17 -05:00
2026-03-02 09:36:17 -05:00
2026-04-04 08:25:24 -04:00
2026-03-05 08:53:56 -05:00
2026-03-05 09:05:55 -05:00
2026-03-05 09:19:43 -05:00
2026-04-04 08:25:24 -04:00
2026-03-03 12:47:22 -05:00
2026-03-03 12:47:22 -05:00
2026-03-14 10:28:17 -04:00
2026-03-14 11:47:01 -04:00
2026-03-02 17:35:30 -05:00
2026-03-05 08:55:41 -05:00
2026-03-03 17:29:14 -05:00
2026-03-05 14:46:33 -05:00
2026-04-04 08:25:24 -04:00
2026-03-06 23:02:57 -05:00
2026-03-02 11:57:17 -05:00
2026-03-04 23:33:18 -05:00
2026-04-04 08:25:24 -04:00
2026-03-14 15:02:26 -04:00
2026-03-05 09:05:16 -05:00
2026-03-02 10:36:21 -05:00
2026-03-02 11:17:19 -05:00
2026-03-05 12:14:50 -05:00
2026-03-05 12:14:50 -05:00
2026-03-15 10:09:23 -04:00
2026-03-05 09:21:30 -05:00
2026-03-02 11:50:13 -05:00
2026-03-05 17:04:27 -05:00
2026-04-04 08:25:24 -04:00
2026-03-04 08:44:51 -05:00
2026-03-02 08:41:40 -05:00
2026-04-04 08:25:24 -04:00
2026-03-05 09:04:10 -05:00
2026-03-02 12:12:57 -05:00
2026-03-02 11:39:21 -05:00
2026-03-02 11:39:21 -05:00
2026-03-18 07:56:02 -04:00
2026-03-05 11:09:41 -05:00
2026-04-04 08:25:24 -04:00
2026-03-02 21:37:08 -05:00
2026-03-17 09:54:19 -04:00
2026-03-05 14:34:37 -05:00
2026-03-03 06:47:45 -05:00
2026-03-04 23:33:55 -05:00
2026-04-04 08:25:24 -04:00
2026-04-04 08:25:24 -04:00
2026-04-04 08:25:24 -04:00
2026-03-02 09:59:53 -05:00
2026-03-03 16:48:17 -05:00
2026-03-01 01:15:13 -05:00
2026-03-01 01:15:13 -05:00
2026-03-05 19:25:23 -05:00
2026-03-05 11:09:32 -05:00
2026-03-04 13:14:44 -05:00
2026-03-04 13:32:20 -05:00
2026-03-02 12:05:24 -05:00
2026-03-05 09:04:49 -05:00
2026-03-05 09:04:49 -05:00
2026-03-05 14:34:37 -05:00
2026-03-01 23:15:00 -05:00
2026-03-01 23:56:05 -05:00
2026-03-02 08:50:22 -05:00
2026-03-01 23:59:10 -05:00
2026-03-05 09:19:21 -05:00
2026-04-04 08:25:24 -04:00
2026-03-02 11:14:10 -05:00
2026-02-28 23:19:23 -05:00
2026-03-15 16:36:04 -04:00
2026-04-04 08:25:24 -04:00
2026-03-02 10:04:36 -05:00
2026-03-06 16:43:21 -05:00
2026-03-02 10:04:36 -05:00
2026-04-04 08:25:24 -04:00
2026-03-02 11:21:18 -05:00
2026-03-05 08:53:55 -05:00
2026-03-05 19:25:23 -05:00
2026-03-04 23:32:21 -05:00
2026-03-01 23:25:08 -05:00
2026-03-14 15:03:53 -04:00
2026-03-14 15:03:53 -04:00
2026-03-15 10:08:19 -04:00
2026-03-17 11:36:37 -04:00
2026-03-14 11:55:43 -04:00
2026-03-15 14:44:21 -04:00
2026-03-15 14:44:21 -04:00
2026-03-15 10:08:19 -04:00
2026-03-14 12:15:12 -04:00
2026-03-03 00:23:53 -05:00
2026-03-18 07:56:16 -04:00
2026-03-17 11:36:37 -04:00
2026-04-04 08:25:24 -04:00
2026-03-14 12:21:58 -04:00
2026-03-04 22:40:40 -05:00
2026-03-05 17:05:02 -05:00
2026-03-02 17:29:03 -05:00
2026-03-05 09:20:42 -05:00
2026-03-05 09:20:42 -05:00