9 Commits

Author SHA1 Message Date
c22b81dfba feat(can): update CAN 0x75 control frame layout for 16-bit speed and led_r/led_l
- can_ctrl_cmd_t.speed: uint8_t -> uint16_t (bytes 0-1, little-endian)
- Remove led_gpio field; add led_r (byte7 bit0) and led_l (byte7 bit7)
- byte6 now carries only led_enable (bit0), not the old gpio/enable packed format
- Update keepalive thread and can_bus_send_control_cmd() frame assembly accordingly
- Update all 6 can_ctrl_cmd_t call sites in event_recorder.c and app_header_init.c
- test_can_event() parameter type: uint8_t speed -> uint16_t speed
2026-06-17 11:42:01 +08:00
953b7a348a feat(test): BLE test mode for validating alerts, CAN speed, and buzzer
Add TEST_ENTER/TEST_EXIT commands via BLE to enter/exit test mode.
In test mode, inference results are suppressed; testers can directly
trigger BLE JSON (TEST_BLE *), CAN+Buzzer actions (TEST_CAN *),
or run sequenced full-coverage tests (TEST_BLE_ALL, TEST_CAN_ALL,
TEST_ALL). Auto-exits after 60s idle. Routes unrecognised BLE
commands through new bt_uart_set_extra_cmd_cb() hook.
2026-06-13 18:12:05 +08:00
e108bfe13a feat(can): add LED control fields to can_ctrl_cmd_t, CAN speed in fire_* callbacks
- can_bus.h: add can_ctrl_cmd_t struct (speed/led_gpio/led_enable/keepalive_interval_ms)
- can_bus.c: rename s_keepalive_cmd->s_keepalive_speed; add s_keepalive_led_gpio/
  led_enable/interval_ms; keepalive thread supports LED blink (toggle when
  led_enable=1) and dynamic interval; remove #define CAN_KEEPALIVE_INTERVAL_MS
- event_recorder: fire_collision_warning sends SPEED_LIMIT_STOP/NORMAL via CAN
- event_recorder: fire_alert sends SPEED_LIMIT_ALERT/NORMAL via CAN
- event_recorder/app_header_init: update callers to use can_ctrl_cmd_t struct

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 15:14:17 +08:00
118d0f4d93 feat(can/ble): vehicle-triggered CAN speed control + BLE can_status notify
- app_header_init: detect vehicle(class=2) in print_yolo_result(),
  send CAN speed=10 on detection, speed=240 on clear;
  only triggers on state change, keepalive maintains cmd
- app_header_init: on speed state change, send BLE JSON
  {response_type:can_status, content:{vehicle_detected, speed_cmd}}
- app_header_init: add #include can_bus.h / bt_uart.h
- event_recorder: wrap legacy MsgBroker IPC path in #if 0;
  setSpeed now goes directly through can_bus_send_control_cmd()
2026-06-10 17:25:52 +08:00
f5ce719ea1 chore: fix CRLF line endings in shell scripts and source files
- Convert CRLF to LF in all .sh files (compile.sh, tools/device/*.sh, include/**/*.sh)
- Renormalize app_header_init.c to LF via .gitattributes eol=lf rule
- .gitattributes (*.sh, *.c, *.h, *.py, *.ini, Dockerfile eol=lf) already committed in 7fb534d

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 16:22:23 +08:00
a600f38767 Fix error sync from v4 2026-06-08 16:11:49 +08:00
b9b298e466 feat: sync from v4 - bbox colour by class, collision warning debounce, clean build option 2026-06-08 15:34:47 +08:00
839100c0e1 BT handshake function complete 2026-06-08 14:49:20 +08:00
9d7d9073a5 add source codes 2026-04-12 17:47:54 +08:00