Skip to content
This repository was archived by the owner on May 7, 2021. It is now read-only.
This repository was archived by the owner on May 7, 2021. It is now read-only.

implement-uds - CAN11 CAN29 #21

@GuillaumeFegeFullElec

Description

@GuillaumeFegeFullElec

In order to be compatible with 11bits CAN ids and 29bits CAN ids, UDS an ISOTP Network do not use CAN ids (0x7E0, 0x7DF , ..). for address field.
ISOTP Network and UDS use SA (source address) and TA (target adress) as follow :

  • 0x00 : ECU#0
  • ...
  • 0x07 : ECU#7
  • 0x33 : Functional (only for target address)
  • 0xF7 : Test equipement

And isotp make the correspondance with CAN id as follow,
For CAN11 :

  • 0x7E0 : SA=0xF7 - TA=0x00
  • ...
  • 0x7E7 : SA = 0xF7 - TA = 0x07
  • 0x7E8 : SA = 0x00 - TA = 0x7F
  • ...
  • 0x7EF : SA = 0x07 - TA = 0x7F
  • 0x7DF : SA = 0x7F - TA = 0x33

For CAN29 :

  • 0x18DA00F1 : SA=0xF7 - TA=0x00
  • ...
  • 0x18DA07F1 : SA=0xF7 - TA=0x07
  • 0x18DAF100 : SA = 0x00 - TA = 0x7F
  • ...
  • 0x18DAF107 : SA = 0x07 - TA = 0x7F
  • 0x18DB33F1 : SA = 0x7F - TA = 0x33

Is it possible to add this address abstraction into this API ? Then the user could use TA and SA regardless the CAN 11 / CAN 29 implementation ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    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