vesc_driver_node.py: - Add VescState dataclass with to_dict() serialization - Add CAN_PACKET_STATUS/STATUS_4/STATUS_5 (9/16/27) RX constants - Add FAULT_NAMES lookup (11 VESC FW 6.6 fault codes) - Add background CAN RX thread (_rx_loop / _dispatch_frame) that parses STATUS broadcast frames using struct.unpack - Add publishers for /saltybot/vesc/left and /saltybot/vesc/right (std_msgs/String JSON) at configurable telemetry_rate_hz (default 10 Hz) - Combine watchdog + publish into single timer callback - Proper thread cleanup in destroy_node() Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
SaltyLab self-balancing bot firmware (STM32F722)
Languages
Python
67.1%
C
11.4%
JavaScript
9.2%
OpenSCAD
7.8%
HTML
1.5%
Other
2.9%