CAN Signaling Low Level binding development
Description
Environment
Attachments
- 26 Jan 2017, 11:19 AM
- 26 Jan 2017, 11:19 AM
relates to
Activity
Romain Forlot June 8, 2017 at 1:52 PM
Frequency thinning, minimum and maximum filtering capabilities is now implemented on master branch
You can subscribe now specifying a maximum frequency from which CAN messages will be received and pushed as well as minimum and maximum limits from beyond event can be pushed.
Simply subscribe using a classic JSON object like:
{"event": "engine.speed", "filter": { "frequency": 2, "min": 1000, "max": 2500} }
Either you can specify frequency or min or max, all of them or just one or two. It doesn't matter.
Romain Forlot May 24, 2017 at 9:40 AM
Git repository has been migrate into gerrit repository : low-level-can-service.
Romain Forlot May 17, 2017 at 1:43 PM
Updated CAN-signaling to use BCM sockets.
Now there are as many socket as described signals and no more RAW sockets. Separate reading threads have been removed in favor of systemd io event job.
CAN-config-generator is updated to the new objects organization the follow the JSON structure.
There aren't new fancy features but now everything is ready to do frequency filtering, timeout monitoring.
Feedback welcomed.
Stephane Desneux April 12, 2017 at 12:09 PM
Adding references to documents pushed by @Toni Hoang in the mailing list:
Romain Forlot March 28, 2017 at 1:03 PM(edited)
I updated the guide, you can find it here. It is more convenient to have a single access point to that point to it.
This is the most updated doc with more accurate instructions to use CAN devices, from a Porter board or a virtual CAN device by example.
The role of the low level CAN binding is to read the CAN bus(es), decode CAN frames and generate signals with "high-level" names that can be consumed by applications.
Signals decoding/encoding will leverage openXC signals specification format (signals expressed in JSON).
Architecture drawings attached.