conn/isotp.h¶
Definitions of generic CAN interface.
-
CONN_CAN_ISOTP_MBOX_SIZE¶ Mailbox size of a conn_can_isotp_t.
1
(16)
-
struct conn_can_isotp_master
conn_can_isotp_t¶ ISO-TP connection.
When conn_can_isotp_multi module is used, this is a ‘master’ connection which can be used to send and receive with multiple connections within a single thread.
If conn_can_isotp_multi is not used, this is a simple ISO-TP connection
-
struct conn_can_isotp_slave
conn_can_isotp_slave_t¶ ISO-TP salve connection.
This is a slave connection which exists only when conn_can_isotp_multi module is used.
-
void
conn_can_isotp_init_slave(conn/isotp.h::conn_can_isotp_t* master,conn/isotp.h::conn_can_isotp_slave_t* slave)¶ Initialize a slave connection.
This initializes a slave connection.
This must be called on slave connections when conn_can_isotp_multi is used. Does not exist otherwise.
Parameters
master: the master connection slave: the slave connection to initialize
-
int
conn_can_isotp_create(conn/isotp.h::conn_can_isotp_t* conn, struct isotp_options * options, int ifnum)¶ Create can isotp connection socket.
Parameters
conn: ISO-TP connection options: ISO-TP options ifnum: can device Interface Return values
- 0 if socket was successfully connected
- any other negative number in case of an error
-
int
conn_can_isotp_bind(conn/isotp.h::conn_can_isotp_t* conn)¶ Bind a can isotp connection.
Parameters
conn: ISO-TP connection Return values
- 0 on success
- any other negative number in case of an error
-
int
conn_can_isotp_close(conn/isotp.h::conn_can_isotp_t* conn)¶ Close can isotp connection socket.
Parameters
conn: ISO-TP connection Return values
- 0 if conn is closed correctly
- any other negative number in case of an error
-
int
conn_can_isotp_recv(conn/isotp.h::conn_can_isotp_t* conn, void * buf,msp430_types.h::size_tsize, uint32_t timeout)¶ Receive isotp data.
Parameters
conn: ISO-TP connection buf: buf to fill in with received data size: size of the buffer in bytes timeout: timeout in us, 0 for infinite Return values
- the number of bytes received
- any other negative number in case of an error
-
int
conn_can_isotp_send(conn/isotp.h::conn_can_isotp_t* conn, const void * buf,msp430_types.h::size_tsize, int flags)¶ Generic can send.
Parameters
conn: ISO-TP connection buf: data to send size: size of the buffer in bytes flags: make function blocked or not (CAN_ISOTP_TX_DONT_WAIT to ignore tx confirmation) Return values
- the number of bytes sent
- any other negative number in case of an error
-
int
conn_can_isotp_select(conn/isotp.h::conn_can_isotp_slave_t** conn,conn/isotp.h::conn_can_isotp_t* master, uint32_t timeout)¶ Wait for reception from multiple connections.
Parameters
conn: ISO-TP connection which received data master: the master connection timeout: timeout in us, 0 for infinite wait Return values
- 0 if OK, < 0 if error
-
struct
conn_can_isotp_slave¶ ISO-TP salve connection.
This is a slave connection which exists only when conn_can_isotp_multi module is used.
-
struct conn_can_isotp_slave *
next¶ Next slave in the list.
-
struct conn_can_isotp_master *
master¶ Master connection holding the mailbox.
-
int
ifnum¶ interface number
-
int
bound¶ 1 if connection is bound
-
sys/include/can/common.h::can_rx_data_t*rx¶ Buffered rx data.
-
struct conn_can_isotp_slave *
-
struct
conn_can_isotp_master¶ ISO-TP master connection.
-
struct conn_can_isotp_slave *
next¶ First slave in the list.
-
struct conn_can_isotp_master *
master¶ Master connection.
-
int
ifnum¶ interface number
-
int
bound¶ 1 if connection is bound
-
sys/include/can/common.h::can_rx_data_t*rx¶ Buffered rx data.
-
struct conn_can_isotp_slave *