sl-firmware
a8816d4226
feat: CAN bus driver for BLDC motor controllers (Issue #597)
- Add can_driver.h / can_driver.c: CAN2 on PB12/PB13 (AF9) at 500 kbps
APB1=54 MHz, PSC=6, BS1=13tq, BS2=4tq, SJW=1tq → 18tq/bit, SP 77.8%
Filter bank 14 (SlaveStartFilterBank=14); 32-bit mask; FIFO0
Accept std IDs 0x200–0x21F (left/right feedback frames)
TX: velocity+torque cmd (0x100+nid, DLC=4) at 100 Hz via main loop
RX: velocity/current/position/temp/fault feedback (0x200+nid, DLC=8)
AutoBusOff=ENABLE for HW recovery; can_driver_process() drains FIFO0
- Add JLINK_TLM_CAN_STATS (0x89, 16 bytes) + JLINK_CMD_CAN_STATS_GET (0x10)
Also add JLINK_TLM_SLOPE (0x88) + jlink_tlm_slope_t missing from Issue #600
- Wire into main.c: init after jlink_init; 100Hz TX loop (differential drive
speed_rpm ± steer_rpm/2); CAN enable follows arm state; 1Hz stats telemetry
- Add CAN_RPM_SCALE=10 and CAN_TLM_HZ=1 to config.h
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 15:15:41 -04:00
..
2026-03-02 10:34:35 -05:00
2026-02-28 13:09:18 -05:00
2026-03-07 10:01:02 -05:00
2026-03-03 17:35:34 -05:00
2026-02-28 19:43:48 -05:00
2026-03-02 09:40:18 -05:00
2026-03-02 12:51:42 -05:00
2026-03-14 15:15:41 -04:00
2026-03-14 15:15:41 -04:00
2026-03-03 17:35:34 -05:00
2026-03-03 17:35:34 -05:00
2026-03-04 10:36:35 -05:00
2026-03-06 10:27:36 -05:00
2026-03-06 10:27:36 -05:00
2026-03-06 10:27:36 -05:00
2026-03-02 13:29:18 -05:00
2026-03-14 13:37:14 -04:00
2026-03-14 10:38:06 -04:00
2026-03-06 22:35:24 -05:00
2026-02-28 17:48:53 -05:00
2026-02-28 11:58:23 -05:00
2026-03-02 11:51:26 -05:00
2026-02-28 21:07:15 -05:00
2026-03-06 22:35:24 -05:00
2026-03-14 15:15:41 -04:00
2026-03-02 11:06:13 -05:00
2026-02-28 17:48:53 -05:00
2026-02-28 21:06:26 -05:00
2026-03-14 12:25:29 -04:00
2026-02-28 17:15:40 -05:00
2026-02-28 17:42:24 -05:00
2026-03-02 09:56:18 -05:00
2026-03-14 12:25:29 -04:00
2026-03-14 11:51:11 -04:00
2026-03-07 10:01:02 -05:00
2026-03-02 20:49:26 -05:00
2026-03-01 04:55:54 -05:00
2026-03-14 10:38:06 -04:00
2026-03-03 19:00:12 -05:00
2026-03-01 04:55:54 -05:00
2026-03-02 12:22:09 -05:00
2026-03-02 21:09:17 -05:00