Skip to content

What is "proper operation" with CAN RTR frames? #164

@bobjacobsen

Description

@bobjacobsen

The CAN Frame Transfer Standard says in Section 4 third paragraph:

OpenLCB-CAN nodes shall not transmit extended-format remote frames (frames with RTR set). Nodes shall operate properly when the CAN segment carries extended-format remote frames.

The question is what "operate properly" actually means.

In normal CAN operation, RTR set makes the frame a "Remote Request" frame. Node A sends it, without data, when it wants to get the data corresponding to that header from some other Node B. It provides a way to inquire for the contents of some specific frame that comes (or might come) from some other node.

OpenLCB hasn't defined that behavior, and AFAIK no node implements it as such. (And there are problems at both the hardware and software level with implementing that)

So what does "operate properly" mean?

I think we should define that more explicitly as "shall ignore frames with the RTR bit set". That's consistent with the general understanding now. It also has the advantage that it can be checked.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions