Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Decide when CAN read-only is turned off, and who can do it

Đang mở
#72 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
rust
Lĩnh vực
embedded-iot

Hướng nghiên cứu

Start with docs/can.md and the existing set_can_read_only(false) behavior; the issue also points to identity check #49, logger #44, and debug toggle #12. Compare the listed unlock and relock policies, including the constraint that MQTT cannot unlock the bus, and check the TWAI mode-switching cost. Done means the policy is documented, implemented with tests for relock conditions and MQTT, and defines the debug toggle.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement

Part of the prerequisites for real commands (tracking issue to follow). Related: #12.

Problem

Every command issue says "only send while read-only is off and the car identity check passes". The identity gate exists (#49) and the SavvyCAN logger forces read-only (#44), but nothing calls set_can_read_only(false) and no document says when that should happen, who may trigger it, or when the bus locks again. Each command would otherwise invent its own answer.

Options

  • Automatic. The bus unlocks once the identity is confirmed (and, say, a bonded phone is connected). Simple, but the car is controllable with no deliberate action from the owner.
  • Explicit. A system command from a bonded phone (BLE only, never MQTT) turns control on. Off at every boot, and it locks again after a timeout, on disconnect or on a bus fault. Needs a contracts message and app UI.
  • Per command. The bus leaves listen-only only while a command is being sent. The ESP driver rebuilds the TWAI controller when the mode changes (see docs/can.md), so check what that costs and what it does to the bus before considering this.
  • Development only. A BLE toggle in debug builds (the item in #12 and contracts#21), regardless of the choice above.

Questions

  • What locks the bus again: phone disconnect, car asleep, bus-off, a logger session, a timeout?
  • What does the app show (read-only or control enabled), and which contracts field carries it?
  • Is switching between listen-only and normal mode repeatedly safe on a real car?
  • MQTT must never unlock the bus, whatever is chosen.

Done when

The policy is written in docs/can.md, implemented with tests (including the relock conditions and that MQTT can't unlock), and the debug toggle from #12 is defined within it.

Ngôn ngữ chính
Rust
Star
1
Fork
0
Merge trung bình
14 giờ 32 phút
Pull request đã merge (30 ngày)
21

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

  • Không có Dockerfile hay tệp Docker Compose
  • Không có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của OpenCarControls/firmware

Tất cả issue của OpenCarControls/firmware

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.