isotp.h¶
ISO TP high level interface.
-
CAN_ISOTP_RX_FLAGS_MASK¶ rx flags mask
1
0x0000FFFF
-
CAN_ISOTP_LISTEN_MODE¶ listen only flag (do not send FC)
1
0x0001
-
CAN_ISOTP_EXTEND_ADDR¶ enable extended addressing
1
0x0002
-
CAN_ISOTP_TX_PADDING¶ enable CAN frame padding tx path
1
0x0004
-
CAN_ISOTP_HALF_DUPLEX¶ half duplex error state handling
1
0x0040
-
CAN_ISOTP_RX_EXT_ADDR¶ different rx extended addressing
1
0x0200
-
CAN_ISOTP_TX_FLAGS_MASK¶ tx flags mask
1
0xFFFF0000
-
CAN_ISOTP_TX_DONT_WAIT¶ do not send a tx confirmation msg
1
0x00010000
-
CAN_ISOTP_DEFAULT_FLAGS¶ 1
0
-
CAN_ISOTP_DEFAULT_EXT_ADDRESS¶ 1
0x00
-
CAN_ISOTP_DEFAULT_PAD_CONTENT¶ 1
0xCC /* prevent bit-stuffing */
-
CAN_ISOTP_DEFAULT_FRAME_TXTIME¶ 1
0
-
CAN_ISOTP_DEFAULT_RECV_BS¶ 1
0
-
CAN_ISOTP_DEFAULT_RECV_STMIN¶ 1
0x00
-
CAN_ISOTP_DEFAULT_RECV_WFTMAX¶ 1
0
-
kernel_types.h::kernel_pid_tisotp_init(char * stack, int stacksize, char priority, const char * name)¶ Initialize the isotp layer.
Parameters
stack: stack for the isotp thread stacksize: size of stackpriority: priority of the isotp thread name: name of the isotp thread Return values
- the pid of the isotp thread
-
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 Return values
- the number of bytes sent
- < 0 if an error occured (-EBUSY, -ENOMEM)
-
int
isotp_bind(struct isotp * isotp,sys/include/can/common.h::can_reg_entry_t* entry, void * arg)¶ 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 arg: upper layer private parameter Return values
- 0 on success, < 0 on error
-
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 relase Return values
- 0 on success, < 0 on error
-
void
isotp_free_rx(sys/include/can/common.h::can_rx_data_t* rx)¶ Free a received buffer.
This MUST be called by the upper layer when the received data are read
Parameters
rx: the received data
-
struct
isotp_fc_options¶ The isotp_fc_options struct.
It describes the flow control options
-
uint8_t
bs¶ blocksize provided in FC frame, 0 = off
-
uint8_t
stmin¶ separation time provided in FC frame 0x00 - 0x7F : 0 - 127 ms 0x80 - 0xF0 : reserved 0xF1 - 0xF9 : 100 us - 900 us 0xFA - 0xFF : reserved
-
uint8_t
wftmax¶ max.
number of wait frame transmiss., 0 = ignored
-
uint8_t
-
struct
isotp_options¶ The isotp_options struct.
It describes the ISO-TP options
-
can.h::canid_ttx_id¶ transmit CAN ID
-
can.h::canid_trx_id¶ Receive CAN ID.
-
uint16_t
flags¶ set flags for isotp behaviour.
-
uint8_t
ext_address¶ set address for extended addressing
-
uint8_t
txpad_content¶ set content of padding byte (tx)
-
uint8_t
rx_ext_address¶ set address for extended addressing
-
-
struct
tpcon¶ The tpcon struct.
It describes the current connection status
-
unsigned
idx¶ current index in
buf
-
uint8_t
state¶ the protocol state
-
uint8_t
bs¶ block size
-
uint8_t
sn¶ current sequence number
-
int
tx_handle¶ handle of the last sent frame
-
include/net/gnrc/pkt.h::gnrc_pktsnip_t*snip¶ allocated snip containing data buffer
-
unsigned
-
struct
isotp¶ The isotp struct.
This is the main struct used by an ISO-TP channel
-
struct isotp_options
opt¶ channel options
-
struct isotp_fc_options
rxfc¶ rx flow control options (defined locally)
-
struct isotp_fc_options
txfc¶ tx flow control options (defined remotely)
-
xtimer.h::xtimer_ttx_timer¶ timer for tx operations
-
xtimer.h::xtimer_trx_timer¶ timer for rx operations
-
sys/include/can/common.h::can_reg_entry_tentry¶ entry containing ifnum and upper layer msg system
-
uint32_t
tx_gap¶ transmit gap from fc (in us)
-
uint8_t
tx_wft¶ transmit wait counter
-
void *
arg¶ upper layer private arg
-
struct isotp_options