37#define CAN_ISOTP_BS        (10) 
   40#ifndef CAN_ISOTP_STMIN 
   44#define CAN_ISOTP_STMIN     (5) 
   47#ifndef CAN_ISOTP_WFTMAX 
   51#define CAN_ISOTP_WFTMAX    (1) 
  124#define CAN_ISOTP_RX_FLAGS_MASK 0x0000FFFF  
  125#define CAN_ISOTP_LISTEN_MODE   0x0001      
  126#define CAN_ISOTP_EXTEND_ADDR   0x0002      
  127#define CAN_ISOTP_TX_PADDING    0x0004      
  128#define CAN_ISOTP_HALF_DUPLEX   0x0040      
  129#define CAN_ISOTP_RX_EXT_ADDR   0x0200      
  131#define CAN_ISOTP_TX_FLAGS_MASK 0xFFFF0000  
  132#define CAN_ISOTP_TX_DONT_WAIT  0x00010000  
  139#define CAN_ISOTP_DEFAULT_FLAGS         0 
  140#define CAN_ISOTP_DEFAULT_EXT_ADDRESS   0x00 
  141#define CAN_ISOTP_DEFAULT_PAD_CONTENT   0xCC  
  142#define CAN_ISOTP_DEFAULT_FRAME_TXTIME  0 
  143#define CAN_ISOTP_DEFAULT_RECV_BS       0 
  144#define CAN_ISOTP_DEFAULT_RECV_STMIN    0x00 
  145#define CAN_ISOTP_DEFAULT_RECV_WFTMAX   0 
int16_t kernel_pid_t
Unique process identifier.
 
struct gnrc_pktsnip gnrc_pktsnip_t
Type to represent parts (either headers or payload) of a packet, called snips.
 
struct can_rx_data can_rx_data_t
Received data structure.
 
struct can_reg_entry can_reg_entry_t
registry entry
 
uint32_t canid_t
Controller Area Network Identifier structure.
 
int isotp_release(struct isotp *isotp)
Release a bound isotp channel.
 
int isotp_send(struct isotp *isotp, const void *buf, int len, int flags)
Send data through an isotp channel.
 
kernel_pid_t isotp_init(char *stack, int stacksize, char priority, const char *name)
Initialize the isotp layer.
 
void isotp_free_rx(can_rx_data_t *rx)
Free a received buffer.
 
int isotp_bind(struct isotp *isotp, can_reg_entry_t *entry, void *arg, struct isotp_fc_options *fc_options)
Bind an isotp channel.
 
Interface definition for the global network buffer.
 
The isotp_fc_options struct.
 
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 : 10...
 
The isotp_options struct.
 
uint8_t txpad_content
set content of padding byte (tx)
 
uint8_t rx_ext_address
set address for extended addressing
 
canid_t rx_id
Receive CAN ID.
 
uint8_t ext_address
set address for extended addressing
 
uint16_t flags
set flags for isotp behaviour.
 
canid_t tx_id
transmit CAN ID
 
struct isotp_options opt
channel options
 
uint8_t tx_wft
transmit wait counter
 
void * arg
upper layer private arg
 
struct isotp_fc_options rxfc
rx flow control options (defined locally)
 
struct isotp * next
next bound channel
 
ztimer_t rx_timer
timer for rx operations
 
struct isotp_fc_options txfc
tx flow control options (defined remotely)
 
ztimer_t tx_timer
timer for tx operations
 
struct tpcon rx
receive state
 
uint32_t tx_gap
transmit gap from fc (in us)
 
struct tpcon tx
transmit state
 
can_reg_entry_t entry
entry containing ifnum and upper layer msg system
 
unsigned idx
current index in buf
 
gnrc_pktsnip_t * snip
allocated snip containing data buffer
 
uint8_t sn
current sequence number
 
uint8_t state
the protocol state
 
int tx_handle
handle of the last sent frame
 
Definitions high-level CAN interface.
 
Definitions of high-level CAN interface.