Skip to content

Add CAN Protocol Guide to Interfacing Wiki#254

Open
farnazalamahmed99-cmu wants to merge 7 commits into
RoboticsKnowledgebase:masterfrom
farnazalamahmed99-cmu:can-article
Open

Add CAN Protocol Guide to Interfacing Wiki#254
farnazalamahmed99-cmu wants to merge 7 commits into
RoboticsKnowledgebase:masterfrom
farnazalamahmed99-cmu:can-article

Conversation

@farnazalamahmed99-cmu
Copy link
Copy Markdown

Added a new wiki article on Controller Area Network (CAN) covering:

  • Overview and key concepts
  • Hardware and software setup (SocketCAN)
  • Usage in robotics systems
  • Common issues and debugging

This article is intended to provide a practical introduction to CAN communication in robotics.

Added comprehensive documentation on Controller Area Network (CAN) protocol, including setup, usage, and debugging in robotics systems.
Controller Area Network (CAN)
@nevalsar nevalsar force-pushed the master branch 2 times, most recently from 4f6c490 to ca3abce Compare May 9, 2026 17:16
@nevalsar nevalsar changed the title Document Controller Area Network (CAN) protocol Add CAN Protocol Guide to Interfacing Wiki May 9, 2026
Copy link
Copy Markdown
Collaborator

@nevalsar nevalsar left a comment

Choose a reason for hiding this comment

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

Thanks for the contribution. Before this can be merged, please rebase this branch onto the latest master so the new PR validation workflow (recently added on master) runs on this PR.

I also found two required fixes:

  1. Fix page filename/format

    • The new file is currently wiki/interfacing/CAN (no .md extension, non-kebab-case).
    • Please rename it to a markdown page in repo style, for example wiki/interfacing/controller-area-network-can.md, then update any internal references accordingly.
  2. Discoverability integration

    • Add the new page to _data/navigation.yml under the Interfacing section.
    • Add the new page to wiki/interfacing/index.md with a short summary.

Optional but recommended:

  • Add a short “when to use this guide” paragraph near the top and trim/condense the references section to keep long-term maintenance manageable.

After rebasing and the above fixes, I can re-review quickly.

@p-amyjiang
Copy link
Copy Markdown
Collaborator

In addition to the above requested fixes,

  • Merge CAN Physical Layer and Hardware Requirements, and Example Use in a Robotics System and Usage in Robotics Systems - the content in these pairs of sections is somewhat redundant and repetitive.

Added guidance on when to use the CAN protocol for robotic systems, emphasizing its reliability and real-time performance. Removed an example use case to streamline the document.
@farnazalamahmed99-cmu
Copy link
Copy Markdown
Author

I have renamed the file, updated the navigation, and merged the redundant sections as requested. Ready for a re-review

@farnazalamahmed99-cmu
Copy link
Copy Markdown
Author

farnazalamahmed99-cmu commented May 12, 2026 via email

Copy link
Copy Markdown
Collaborator

@nevalsar nevalsar left a comment

Choose a reason for hiding this comment

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

I found three blocker issues still that need attention:

  • Missing section-index discoverability entry: wiki/interfacing/index.md (section list around lines 10-31) does not include this new CAN page. Please add it with a short summary.

Other issues - see below code suggestions.

@p-amyjiang for another pass on content review.

Copy link
Copy Markdown
Collaborator

@nevalsar nevalsar left a comment

Choose a reason for hiding this comment

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

See inline suggestions:

Comment thread _data/navigation.yml
- title: micro-ROS for ROS2 on Microcontrollers
url: /wiki/interfacing/microros-for-ros2-on-microcontrollers/
- title: ROS 1 - ROS 2 Bridge
url: /wiki/interfacing/ros1_ros2_bridge/
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This path should stay kebab-case and match the existing page slug.

Suggested change
url: /wiki/interfacing/ros1_ros2_bridge/
url: /wiki/interfacing/ros1-ros2-bridge/

Comment thread _data/navigation.yml
url: /wiki/interfacing/buffer-issues/
- title: "CAN Protocol"
url: /wiki/interfacing/controller-area-network-can/
url: /wiki/interfacing/ros1-ros2-bridge/
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This extra url line is currently nested under the CAN Protocol item and breaks the one-title/one-url structure. Please remove it.

Suggested change
url: /wiki/interfacing/ros1-ros2-bridge/


## See Also

- [ROS2 QoS](/wiki/networking/ros2-qos/)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This link target is broken in current validation output. Please point to an existing page.

Suggested change
- [ROS2 QoS](/wiki/networking/ros2-qos/)
- [ROS2 QoS](/wiki/interfacing/ros1-ros2-bridge/)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants