Live CAN health

Đang mở
#22 1 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ệ
python

Hướng nghiên cứu

Start with the proposed live-can-health change in openspec/changes/live-can-health and read its proposal, spec, design, and tasks. The scope spans a robot-side NetworkTables contract, a live service in flashpoint serve, a CAN health view, and a Python fake robot, and depends on two private issues plus a separate Robot-2026 publisher PR. Check the OpenSpec validation command; done means the contract, guide page, suggested Java sample, and specified tests are complete.

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

Mô tả

roadmap

Size: M · Depends on: IgniteRobotics/flashpoint-private#71, IgniteRobotics/flashpoint-private#74 · OpenSpec: live-can-health (archived 2026-11-01)

Status

Update 2026-11-01: merged (PR #35) and archived (PR #41), 22/23 tasks. Spec synced to openspec/specs/live-can-health. Only 7.3 [HUMAN] (pit check with the Robot-2026 publisher deployed) is open, tracked in #13. Close this once it passes.

Status: proposed 2026-10-19. Proposal, spec, design and tasks are written and validate (openspec validate live-can-health --strict).

  • Needs a Robot-2026 PR for the publisher (to be filed separately). This repo carries only the contract, a guide page and a suggested Java sample.
  • Split out of IgniteRobotics/flashpoint#18 (Live & Pit views). The Pit board can consume it later.

Scope

  • Change: live-can-health.
  • What it adds:
    • a robot-side contract: robot code publishes running totals per CTRE device over NetworkTables under /Flashpoint/Live/CANHealth/ (dropouts = loops where the watched status signal is older than 2.5× its update period, worst signal age, resets, fault bits, lowest supply voltage), plus bus status, Enabled and a contract version. Totals, so a 40 ms dropout still counts over a ~100 ms NT link;
    • a live service in flashpoint serve: one NT connection (opened only while a view is open), compares each update with the last to make events (dropout, reboot, fault, bus errors, restart), maps devices to slots through the robot config, and applies the can-health sibling rule (isolated vs bus-wide);
    • a Live CAN view: device grid by bus and slot (ok / dropped / rebooted / faulted / disconnected / missing / unmapped), event log, and in-browser marks ("now wiggling: FL module");
    • a Python fake robot that publishes the contract, for tests and for working without a robot.
  • Both test styles, no mode switch: every event is tagged enabled (drive test) or disabled (shake test).
  • Non-goals: nothing written to the lake (marks and events live in the browser only); the Pit board and its verdict (#18); reading the bus when robot code isn't running (Phoenix diagnostics server dropped); non-CTRE devices; chain-order localisation.
  • New dependency: robotpy-ntcore (2026 line). ADR-0016 will amend ADR-0013 for the outbound robot connection.
Ngôn ngữ chính
Python
Star
0
Fork
1
Merge trung bình
18 giờ 37 phút
Pull request đã merge (30 ngày)
15

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

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

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 IgniteRobotics/flashpoint

Tất cả issue của IgniteRobotics/flashpoint

Issue tương tự

Thêm issue về Python

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.