Lely core libraries 2.3.4
lely::io::IxxatChannel Class Reference

An IXXAT CAN channel. More...

#include <ixxat.hpp>

Inheritance diagram for lely::io::IxxatChannel:
Collaboration diagram for lely::io::IxxatChannel:

Public Member Functions

 IxxatChannel (io_ctx_t *ctx, ev_exec_t *exec, int rxtimeo=0, int txtimeo=0)
 
 ~IxxatChannel ()
 
HANDLE get_handle () const noexcept
 
void open (const io_can_ctrl_t *ctrl, UINT16 wRxFifoSize, UINT16 wTxFifoSize, ::std::error_code &ec) noexcept
 
void open (const io_can_ctrl_t *ctrl, UINT16 wRxFifoSize=0, UINT16 wTxFifoSize=0)
 
void assign (HANDLE hCanChn, UINT32 dwTscClkFreq, UINT32 dwTscDivisor, ::std::error_code &ec) noexcept
 
void assign (HANDLE hCanChn, UINT32 dwTscClkFreq=0, UINT32 dwTscDivisor=0)
 
HANDLE release () noexcept
 
bool is_open () const noexcept
 
void close (::std::error_code &ec) noexcept
 
void close ()
 
- Public Member Functions inherited from lely::io::CanChannelBase
CanBusFlag get_flags () const
 
int read (can_msg *msg, can_err *err, ::std::chrono::nanoseconds *dp, int timeout, ::std::error_code &ec) noexcept
 
bool read (can_msg *msg, can_err *err=nullptr, ::std::chrono::nanoseconds *dp=nullptr, int timeout=-1)
 
void submit_read (struct io_can_chan_read &read) noexcept
 
template<class F >
void submit_read (can_msg *msg, can_err *err, ::std::chrono::nanoseconds *dp, ev_exec_t *exec, F &&f)
 
template<class F >
void submit_read (can_msg *msg, can_err *err, ::std::chrono::nanoseconds *dp, F &&f)
 
bool cancel_read (struct io_can_chan_read &read) noexcept
 
bool abort_read (struct io_can_chan_read &read) noexcept
 
ev::Future< int, intasync_read (ev_exec_t *exec, can_msg *msg, can_err *err=nullptr, timespec *tp=nullptr, struct io_can_chan_read **pread=nullptr)
 
ev::Future< int, intasync_read (can_msg *msg, can_err *err=nullptr, timespec *tp=nullptr, struct io_can_chan_read **pread=nullptr)
 
void write (const can_msg &msg, int timeout, ::std::error_code &ec) noexcept
 
void write (const can_msg &msg, int timeout=-1)
 
void submit_write (struct io_can_chan_write &write) noexcept
 
template<class F >
void submit_write (const can_msg &msg, ev_exec_t *exec, F &&f)
 
template<class F >
void submit_write (const can_msg &msg, F &&f)
 
bool cancel_write (struct io_can_chan_write &write) noexcept
 
bool abort_write (struct io_can_chan_write &write) noexcept
 
ev::Future< void, intasync_write (ev_exec_t *exec, const can_msg &msg, struct io_can_chan_write **pwrite=nullptr)
 
ev::Future< void, intasync_write (const can_msg &msg, struct io_can_chan_write **pwrite=nullptr)
 
- Public Member Functions inherited from lely::io::Device
ContextBase get_ctx () const noexcept
 
ev::Executor get_executor () const noexcept
 
bool cancel (ev_task &task) noexcept
 
::std::size_t cancel_all () noexcept
 
bool abort (ev_task &task) noexcept
 
::std::size_t abort_all () noexcept
 

Detailed Description

An IXXAT CAN channel.

Definition at line 94 of file ixxat.hpp.

Constructor & Destructor Documentation

◆ IxxatChannel()

lely::io::IxxatChannel::IxxatChannel ( io_ctx_t ctx,
ev_exec_t exec,
int  rxtimeo = 0,
int  txtimeo = 0 
)
inline
See also
io_ixxat_chan_create()

Definition at line 97 of file ixxat.hpp.

◆ ~IxxatChannel()

lely::io::IxxatChannel::~IxxatChannel ( )
inline
See also
io_ixxat_chan_destroy()

Definition at line 120 of file ixxat.hpp.

Member Function Documentation

◆ get_handle()

HANDLE lely::io::IxxatChannel::get_handle ( ) const
inlinenoexcept
See also
io_ixxat_chan_get_handle()

Definition at line 124 of file ixxat.hpp.

◆ open() [1/2]

void lely::io::IxxatChannel::open ( const io_can_ctrl_t ctrl,
UINT16  wRxFifoSize,
UINT16  wTxFifoSize,
::std::error_code &  ec 
)
inlinenoexcept
See also
io_ixxat_chan_open()

Definition at line 128 of file ixxat.hpp.

◆ open() [2/2]

void lely::io::IxxatChannel::open ( const io_can_ctrl_t ctrl,
UINT16  wRxFifoSize = 0,
UINT16  wTxFifoSize = 0 
)
inline
See also
io_ixxat_chan_open()

Definition at line 141 of file ixxat.hpp.

◆ assign() [1/2]

void lely::io::IxxatChannel::assign ( HANDLE  hCanChn,
UINT32  dwTscClkFreq,
UINT32  dwTscDivisor,
::std::error_code &  ec 
)
inlinenoexcept
See also
io_ixxat_chan_assign()

Definition at line 150 of file ixxat.hpp.

◆ assign() [2/2]

void lely::io::IxxatChannel::assign ( HANDLE  hCanChn,
UINT32  dwTscClkFreq = 0,
UINT32  dwTscDivisor = 0 
)
inline
See also
io_ixxat_chan_assign()

Definition at line 163 of file ixxat.hpp.

◆ release()

HANDLE lely::io::IxxatChannel::release ( )
inlinenoexcept
See also
io_ixxat_chan_release()

Definition at line 171 of file ixxat.hpp.

◆ is_open()

bool lely::io::IxxatChannel::is_open ( ) const
inlinenoexcept
See also
io_ixxat_chan_is_open()

Definition at line 175 of file ixxat.hpp.

◆ close() [1/2]

void lely::io::IxxatChannel::close ( ::std::error_code &  ec)
inlinenoexcept
See also
io_ixxat_chan_close()

Definition at line 181 of file ixxat.hpp.

◆ close() [2/2]

void lely::io::IxxatChannel::close ( )
inline
See also
io_ixxat_chan_close()

Definition at line 193 of file ixxat.hpp.


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