Skip to content

Switch to CAN_FD on the Teensy's and Pi #6

Description

@Levi-Lesches

A CAN frame can only fit 8 bytes of data, which is extremely limiting. Using a complex function we were able to carefully bring down some floats to 2 bytes. But a much simpler implementation would need 4 bytes for an accuracy of <0.01. With this implementation, we can only fit 2 floats per frame, resulting in many more frames needing to be sent.

A CAN_FD frame can contain 64 bytes of data, raising our data cap from 2 floats to 16, which should solve our issues. We've had compatibility issues getting CAN_FD to work on the Teensy boards and the Pi, so let's take this slow and work on a separate branch:

  1. Convert the CAN library to CAN_FD and test on a Teensy (this issue)
  2. Convert the Pi code to CAN_FD and test Switch to CAN_FD Subsystems-Computer#7

When both work, we can switch.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions