ISO transport protocol over CAN (ISO15765)
More...
ISO transport protocol over CAN (ISO15765)
|
| file | isotp.h |
| | ISO TP high level interface.
|
| |
|
|
#define | CAN_ISOTP_DEFAULT_FLAGS 0 |
| |
|
#define | CAN_ISOTP_DEFAULT_EXT_ADDRESS 0x00 |
| |
|
#define | CAN_ISOTP_DEFAULT_PAD_CONTENT 0xCC /* prevent bit-stuffing */ |
| |
|
#define | CAN_ISOTP_DEFAULT_FRAME_TXTIME 0 |
| |
|
#define | CAN_ISOTP_DEFAULT_RECV_BS 0 |
| |
|
#define | CAN_ISOTP_DEFAULT_RECV_STMIN 0x00 |
| |
|
#define | CAN_ISOTP_DEFAULT_RECV_WFTMAX 0 |
| |
◆ isotp_bind()
Bind an isotp channel.
Initialize the channel, set the filter on the DLL and add the channel to the list of bound channels
- Parameters
-
| isotp | the channel to bind |
| entry | entry identifying the CAN ifnum and the upper layer either by its pid or its mailbox |
| fc_options | flow control parameters, bs and stmin for rx, wftmax for tx, if NULL, default values will be used |
| arg | upper layer private parameter |
- Returns
- 0 on success, < 0 on error
◆ isotp_free_rx()
Free a received buffer.
This MUST be called by the upper layer when the received data are read
- Parameters
-
◆ isotp_init()
| kernel_pid_t isotp_init |
( |
char * |
stack, |
|
|
int |
stacksize, |
|
|
char |
priority, |
|
|
const char * |
name |
|
) |
| |
Initialize the isotp layer.
- Parameters
-
| stack | stack for the isotp thread |
| stacksize | size of stack |
| priority | priority of the isotp thread |
| name | name of the isotp thread |
- Returns
- the pid of the isotp thread
◆ isotp_release()
| int isotp_release |
( |
struct isotp * |
isotp | ) |
|
Release a bound isotp channel.
Unset the filter on the DLL and remove the channel from the list of bound channels
- Parameters
-
| isotp | the channel to release |
- Returns
- 0 on success, < 0 on error
◆ isotp_send()
| int isotp_send |
( |
struct isotp * |
isotp, |
|
|
const void * |
buf, |
|
|
int |
len, |
|
|
int |
flags |
|
) |
| |
Send data through an isotp channel.
- Parameters
-
| isotp | the channel to use |
| buf | the data to send |
| len | length of the data to send |
| flags | flags for sending |
- Returns
- the number of bytes sent
-
< 0 if an error occurred (-EBUSY, -ENOMEM)