On 14.07.22 21:37, Marc Kleine-Budde wrote:
On 14.07.2022 18:05:37, Oliver Hartkopp wrote:
This patch adds defines for data structures and length information for
CAN XL (CAN with eXtended data Length) which can transfer up to 2048
byte insinde a single frame.
Notable changes from CAN FD:
- the 11 bit arbitration field is now named 'priority' instead of 'can_id'
(there are no 29 bit identifiers nor RTR frames anymore)
- the data length needs a uint16 value to cover up to 2048 byte
(the length element position is different to struct can[fd]_frame)
- new fields (SDT, AF) and a SEC bit have been introduced
- the virtual CAN interface identifier is not part if the CAN XL frame
struct as this VCID value is stored in struct skbuff (analog to vlan id)
Where do we put the ADS bit (Arbitration Data Sequence Bit Rate
Switching from Arbitration to Data Phase)?
ADS (arbitration to data sequence)
DAS (data to arbitration sequence)
These sections inside the CAN XL frame bitstream are used to switch the
bitrate and the transceiver mode (when a switchable CAN XL transceiver
is attached).
AFAICS there is no 'per frame' switching of the data bitrate as we know
it from CAN FD.
The bitrate and transceiver settings are done once in the CAN controller
setup.
Best,
Oliver