Skip to content

E-Comms: Post track week updates (async CAN rx, dataclass>tuple, update states)#38

Merged
LelsersLasers merged 11 commits intomainfrom
millan/ecomms/post-track-week-updates
Apr 27, 2026
Merged

E-Comms: Post track week updates (async CAN rx, dataclass>tuple, update states)#38
LelsersLasers merged 11 commits intomainfrom
millan/ecomms/post-track-week-updates

Conversation

@LelsersLasers
Copy link
Copy Markdown
Member

  • Main improvement: non-polling CAN rx (can.Notifier background thread + callback + executor.create_task)
  • Dataclass for unpacked CAN message
  • New recovering state
  • ADB -> ADCB
  • Publisher name changes

@LelsersLasers LelsersLasers requested a review from Copilot April 15, 2026 23:49
@LelsersLasers LelsersLasers changed the title ECOMMS: Post track week updates (async CAN rx, dataclass>tuple, update states) E-Comms: Post track week updates (async CAN rx, dataclass>tuple, update states) Apr 15, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the ECOMMS ROS2 integration to use asynchronous CAN reception and a structured status object, while aligning published/subscribed topic names with updated electrical stack naming.

Changes:

  • Replace polling CAN RX with can.Notifier callback-driven RX and main-thread handling.
  • Change status unpacking from a tuple to an AdcbStatus dataclass and add the new RECOVERING logic mode mapping.
  • Rename/status topics (ADB → ADCB) and update metrics collection subscriptions accordingly.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
src/autonomous_kart/autonomous_kart/nodes/metrics/metrics_node.py Updates subscribed ECOMMS topics/types to match the renamed ADCB/status publishers.
src/autonomous_kart/autonomous_kart/nodes/e_comms/e_comms_node.py Switches CAN RX to can.Notifier, publishes renamed topics, and refactors status handling.
src/autonomous_kart/autonomous_kart/nodes/e_comms/e_comms.py Introduces AdcbStatus dataclass, adds RECOVERING state mapping, and updates unpack API.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/autonomous_kart/autonomous_kart/nodes/e_comms/e_comms_node.py
Comment thread src/autonomous_kart/autonomous_kart/nodes/e_comms/e_comms_node.py
Comment thread src/autonomous_kart/autonomous_kart/nodes/e_comms/e_comms.py
@LelsersLasers LelsersLasers requested a review from ShayManor April 16, 2026 00:57
@LelsersLasers LelsersLasers marked this pull request as ready for review April 27, 2026 15:55
Copy link
Copy Markdown
Contributor

@ShayManor ShayManor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@LelsersLasers LelsersLasers merged commit f7f504d into main Apr 27, 2026
5 checks passed
@LelsersLasers LelsersLasers deleted the millan/ecomms/post-track-week-updates branch April 27, 2026 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants