Add compatibility with CAN FD protocol

Description

CAN FD is now well defined and used. Automotive industry already uses it or will use it soon, so there is a need for the low-can binding to be able to handle it well.

About now, not every ECUs in a vehicle would use CAN FD to communicate, so there will be a cohabitation between non FD and FD ECU capable devices. The "low-can" binding uses signals JSON definition to describe CAN buses communication, so a new key is introduced on a CAN message to set it as an FD CAN message or not. By default, a message would use the classic format.

As socketcan already implement compatibility with CAN FD, the binding continues to use it through BCM socket, and open FD BCM Socket capable when a message is defined as CAN FD and a classic BCM Socket if not. Also, communication relies on CAN struct which differs according to the protocol used.

Environment

None

Activity

Walt Miner 
January 23, 2019 at 3:17 AM

Closed for GG RC4 

Romain Forlot 
December 21, 2018 at 2:04 PM

Erratum: BCM socket CAN maximum CAN frames, for a multiplexed mesage is 257 not 1024. This is not fully implemented right now and is planned for the next improvement.

Romain Forlot 
November 28, 2018 at 9:33 AM

To begin with, a maximum number of CAN frames to handle in a row is currently implemented to 1024. This means that you could configure a BCM socket to receive or send 1024 CAN frames. This limits should be enough as a BCM socket configuration represents a consistent multiplexed CAN message. Signals are shorts then it is not meaningful to have an as BIG message as a message with 1024 CAN frames.

Fixed

Details

Assignee

Reporter

Fix versions

Labels

Contract ID

Components

Priority

Created November 28, 2018 at 9:27 AM
Updated January 23, 2019 at 3:17 AM
Resolved December 21, 2018 at 2:04 PM