Lely core libraries 2.3.4
io_can_net Struct Reference

The implementation of a CAN network interface. More...

Collaboration diagram for io_can_net:

Data Fields

struct io_svc svc
 The I/O service representing the channel.
 
io_ctx_tctx
 A pointer to the I/O context with which the channel is registered.
 
ev_exec_texec
 A pointer to the executor ...
 
io_timer_ttimer
 A pointer to the timer used for CAN network events.
 
io_tqueue_ttq
 A pointer to the timer queue used to schedule wait operations.
 
struct io_tqueue_wait wait_next
 The operation used to wait for the next CANopen event.
 
struct io_tqueue_wait wait_confirm
 The operation used to wait for a CAN frame write confirmation.
 
int txtimeo
 The timeout (in milliseconds) when waiting for a CAN frame write confirmation.
 
io_can_chan_tchan
 A pointer to a CAN channel.
 
struct can_msg read_msg
 The CAN frame being read.
 
struct can_err read_err
 The CAN error frame being read.
 
struct io_can_chan_read read
 The operation used to read CAN frames.
 
int read_errc
 The error code of the last read operation.
 
size_t read_errcnt
 The number of errors since the last successful read operation.
 
int state
 The current state of the CAN bus.
 
struct can_msg write_msg
 The CAN frame being written.
 
struct io_can_chan_write write
 The operation used to write CAN frames.
 
int write_errc
 The error code of the last write operation.
 
size_t write_errcnt
 The number of errors since the last successful write operation.
 
struct spscring tx_ring
 The ring buffer used to control the transmit queue.
 
struct can_msgtx_buf
 The transmit queue.
 
size_t tx_errcnt
 The number of frames dropped due to the transmit queue being full.
 
mtx_t mtx
 The mutex protecting the callbacks, flags and internal CAN network interface.
 
io_can_net_on_error_func_ton_read_error_func
 A pointer to the function invoked when a new CAN frame read error occurs, or when a read operation completes successfully after one or more errors.
 
void * on_read_error_arg
 The user-specified argument for on_read_error_func.
 
io_can_net_on_error_func_ton_queue_error_func
 A pointer to the function invoked when a CAN frame is dropped because the transmit queue is full, or when a frame is successfully queued after one or more errors.
 
void * on_queue_error_arg
 The user-specified argument for on_queue_error_func.
 
io_can_net_on_error_func_ton_write_error_func
 A pointer to the function invoked when a new CAN frame write error occurs, or when a write operation completes successfully after one or more errors.
 
void * on_write_error_arg
 The user-specified argument for on_write_error_func.
 
io_can_net_on_can_state_func_ton_can_state_func
 A pointer to the function to be invoked when a CAN bus state change is detected.
 
void * on_can_state_arg
 The user-specified argument for #on_state_func.
 
io_can_net_on_can_error_func_ton_can_error_func
 A pointer to the function to be invoked when an error is detected on the CAN bus.
 
void * on_can_error_arg
 The user-specified argument for #on_error_func.
 
unsigned started: 1
 A flag indicating wheter the CAN network interface has been started.
 
unsigned shutdown: 1
 A flag indicating whether the I/O service has been shut down.
 
unsigned wait_next_submitted: 1
 A flag indicating whether wait_next has been submitted to tq.
 
unsigned wait_confirm_submitted: 1
 A flag indicating whether wait_confirm has been submitted to tq.
 
unsigned read_submitted: 1
 A flag indicating whether read has been submitted to chan.
 
unsigned write_submitted: 1
 A flag indicating whether write has been submitted to chan.
 
can_net_tnet
 A pointer to the internal CAN network interface.
 
struct timespec next
 The time at which the next CAN timer will trigger.
 

Detailed Description

The implementation of a CAN network interface.

Definition at line 68 of file can_net.c.


The documentation for this struct was generated from the following file: