Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
sl::internal::AsyncTransceiver Class Reference

#include <sl_async_transceiver.h>

Classes

struct  Buffer
 

Public Types

enum  working_flag_t { WORKING_FLAG_RX_DISABLED = 0x1L << 0, WORKING_FLAG_TX_DISABLED = 0x1L << 1, WORKING_FLAG_ERROR = 0x1L << 31 }
 

Public Member Functions

 AsyncTransceiver (IAsyncProtocolCodec &codec)
 
IChannelgetBindedChannel () const
 
u_result openChannelAndBind (IChannel *channel)
 
u_result sendMessage (message_autoptr_t &msg)
 
void unbindAndClose ()
 
 ~AsyncTransceiver ()
 

Protected Member Functions

sl_result _proc_decoderThread ()
 
sl_result _proc_rxThread ()
 

Protected Attributes

IChannel_bindedChannel
 
IAsyncProtocolCodec_codec
 
rp::hal::Event _dataEvt
 
rp::hal::Thread _decoderThread
 
bool _isWorking
 
rp::hal::Locker _opLocker
 
rp::hal::Locker _rxLocker
 
std::list< Buffer * > _rxQueue
 
rp::hal::Thread _rxThread
 
_u32 _workingFlag
 

Detailed Description

Definition at line 101 of file sl_async_transceiver.h.

Member Enumeration Documentation

◆ working_flag_t

Enumerator
WORKING_FLAG_RX_DISABLED 
WORKING_FLAG_TX_DISABLED 
WORKING_FLAG_ERROR 

Definition at line 104 of file sl_async_transceiver.h.

Constructor & Destructor Documentation

◆ AsyncTransceiver()

sl::internal::AsyncTransceiver::AsyncTransceiver ( IAsyncProtocolCodec codec)

Definition at line 179 of file sl_async_transceiver.cpp.

◆ ~AsyncTransceiver()

sl::internal::AsyncTransceiver::~AsyncTransceiver ( )

Definition at line 188 of file sl_async_transceiver.cpp.

Member Function Documentation

◆ _proc_decoderThread()

sl_result sl::internal::AsyncTransceiver::_proc_decoderThread ( )
protected

Definition at line 372 of file sl_async_transceiver.cpp.

◆ _proc_rxThread()

sl_result sl::internal::AsyncTransceiver::_proc_rxThread ( )
protected

Definition at line 299 of file sl_async_transceiver.cpp.

◆ getBindedChannel()

IChannel* sl::internal::AsyncTransceiver::getBindedChannel ( ) const
inline

Definition at line 121 of file sl_async_transceiver.h.

◆ openChannelAndBind()

u_result sl::internal::AsyncTransceiver::openChannelAndBind ( IChannel channel)

Definition at line 193 of file sl_async_transceiver.cpp.

◆ sendMessage()

u_result sl::internal::AsyncTransceiver::sendMessage ( message_autoptr_t msg)

Definition at line 261 of file sl_async_transceiver.cpp.

◆ unbindAndClose()

void sl::internal::AsyncTransceiver::unbindAndClose ( )

Definition at line 233 of file sl_async_transceiver.cpp.

Member Data Documentation

◆ _bindedChannel

IChannel* sl::internal::AsyncTransceiver::_bindedChannel
protected

Definition at line 139 of file sl_async_transceiver.h.

◆ _codec

IAsyncProtocolCodec& sl::internal::AsyncTransceiver::_codec
protected

Definition at line 140 of file sl_async_transceiver.h.

◆ _dataEvt

rp::hal::Event sl::internal::AsyncTransceiver::_dataEvt
protected

Definition at line 137 of file sl_async_transceiver.h.

◆ _decoderThread

rp::hal::Thread sl::internal::AsyncTransceiver::_decoderThread
protected

Definition at line 147 of file sl_async_transceiver.h.

◆ _isWorking

bool sl::internal::AsyncTransceiver::_isWorking
protected

Definition at line 143 of file sl_async_transceiver.h.

◆ _opLocker

rp::hal::Locker sl::internal::AsyncTransceiver::_opLocker
protected

Definition at line 135 of file sl_async_transceiver.h.

◆ _rxLocker

rp::hal::Locker sl::internal::AsyncTransceiver::_rxLocker
protected

Definition at line 136 of file sl_async_transceiver.h.

◆ _rxQueue

std::list< Buffer * > sl::internal::AsyncTransceiver::_rxQueue
protected

Definition at line 163 of file sl_async_transceiver.h.

◆ _rxThread

rp::hal::Thread sl::internal::AsyncTransceiver::_rxThread
protected

Definition at line 146 of file sl_async_transceiver.h.

◆ _workingFlag

_u32 sl::internal::AsyncTransceiver::_workingFlag
protected

Definition at line 144 of file sl_async_transceiver.h.


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


rplidar_ros
Author(s):
autogenerated on Fri Aug 2 2024 08:42:14