Thread for receiving messages from the serial device. More...
#include <SVHReceiveThread.h>

Public Member Functions | |
| unsigned int | receivedPacketCount () | 
| return the count of received packets  More... | |
| void | resetReceivedPackageCount () | 
| resetReceivedPackageCount Resets the received package count to zero. This can be usefull to set all communication variables to the initial state  More... | |
| virtual void | run () | 
| run method of the thread, executes the main program  More... | |
| SVHReceiveThread (const TimeSpan &period, boost::shared_ptr< Serial > device, ReceivedPacketCallback const &received_callback) | |
| SVHReceiveThread Constructs a new Receivethread.  More... | |
| virtual | ~SVHReceiveThread () | 
| Default DTOR.  More... | |
  Public Member Functions inherited from icl_core::thread::PeriodicThread | |
| icl_core::TimeSpan | period () const | 
| PeriodicThread (const icl_core::String &description, const icl_core::TimeSpan &period, ThreadPriority priority=0) | |
| bool | setPeriod (const icl_core::TimeSpan &period) | 
| virtual | ~PeriodicThread () | 
  Public Member Functions inherited from icl_core::thread::Thread | |
| void | cancel () | 
| bool | checkHardRealtime () | 
| bool | execute () const | 
| bool | executesHardRealtime () const | 
| icl_core::String | getDescription () const | 
| bool | isHardRealtime () const | 
| void | join () | 
| virtual void | onStop () | 
| icl_core::ThreadPriority | priority () const | 
| bool | running () const | 
| void | setDescription (const icl_core::String &description) | 
| bool | setHardRealtime (bool hard_realtime=true) | 
| bool | setPriority (icl_core::ThreadPriority priority) | 
| bool | start () | 
| void | stop () | 
| Thread (const icl_core::String &description, icl_core::ThreadPriority priority=0) | |
| icl_core::ThreadId | threadId () const | 
| const char * | threadInfo () const | 
| bool | threadSelf () const | 
| bool | wait (const icl_core::TimeSpan &timeout) | 
| bool | wait () | 
| bool | wait (const icl_core::TimeStamp &timeout) | 
| virtual | ~Thread () | 
Private Types | |
| enum | tState {  eRS_HEADER1, eRS_HEADER2, eRS_INDEX, eRS_ADDRESS, eRS_LENGTH1, eRS_LENGTH2, eRS_DATA, eRS_CHECKSUM1, eRS_CHECKSUM2 }  | 
| enum for receive packet state machine states  More... | |
Private Member Functions | |
| bool | receiveData () | 
| state machine processing received data  More... | |
Private Attributes | |
| icl_comm::ArrayBuilder | m_ab | 
| pointer to array builder object for packet receive  More... | |
| uint8_t | m_checksum1 | 
| Checksum of packet.  More... | |
| uint8_t | m_checksum2 | 
| std::vector< uint8_t > | m_data | 
| length of received serial data  More... | |
| uint16_t | m_length | 
| length of received serial data  More... | |
| unsigned int | m_packets_received | 
| packets counter  More... | |
| ReceivedPacketCallback | m_received_callback | 
| function callback for received packages  More... | |
| tState | m_received_state | 
| current state of the state machine  More... | |
| boost::shared_ptr< Serial > | m_serial_device | 
| pointer to serial device object  More... | |
| unsigned int | m_skipped_bytes | 
| counter for skipped bytes in case no packet is detected  More... | |
Additional Inherited Members | |
  Static Public Member Functions inherited from icl_core::thread::Thread | |
| static icl_core::ThreadId | selfId () | 
  Protected Member Functions inherited from icl_core::thread::PeriodicThread | |
| void | waitPeriod () | 
  Protected Member Functions inherited from icl_core::Noncopyable | |
| Noncopyable () | |
| virtual | ~Noncopyable () | 
Thread for receiving messages from the serial device.
Definition at line 56 of file SVHReceiveThread.h.
      
  | 
  private | 
enum for receive packet state machine states
| Enumerator | |
|---|---|
| eRS_HEADER1 | |
| eRS_HEADER2 | |
| eRS_INDEX | |
| eRS_ADDRESS | |
| eRS_LENGTH1 | |
| eRS_LENGTH2 | |
| eRS_DATA | |
| eRS_CHECKSUM1 | |
| eRS_CHECKSUM2 | |
Definition at line 89 of file SVHReceiveThread.h.
| driver_svh::SVHReceiveThread::SVHReceiveThread | ( | const TimeSpan & | period, | 
| boost::shared_ptr< Serial > | device, | ||
| ReceivedPacketCallback const & | received_callback | ||
| ) | 
SVHReceiveThread Constructs a new Receivethread.
| period | The relative period after which the thread is cyclically woken up. | 
| device | handle of the serial device | 
| received_callback | function to call uppon finished packet | 
Definition at line 38 of file SVHReceiveThread.cpp.
      
  | 
  inlinevirtual | 
Default DTOR.
Definition at line 70 of file SVHReceiveThread.h.
      
  | 
  private | 
state machine processing received data
Definition at line 80 of file SVHReceiveThread.cpp.
      
  | 
  inline | 
return the count of received packets
Definition at line 76 of file SVHReceiveThread.h.
      
  | 
  inline | 
resetReceivedPackageCount Resets the received package count to zero. This can be usefull to set all communication variables to the initial state
Definition at line 81 of file SVHReceiveThread.h.
      
  | 
  virtual | 
run method of the thread, executes the main program
Implements icl_core::thread::Thread.
Definition at line 51 of file SVHReceiveThread.cpp.
      
  | 
  private | 
pointer to array builder object for packet receive
Definition at line 115 of file SVHReceiveThread.h.
      
  | 
  private | 
Checksum of packet.
Definition at line 108 of file SVHReceiveThread.h.
      
  | 
  private | 
Definition at line 109 of file SVHReceiveThread.h.
      
  | 
  private | 
length of received serial data
Definition at line 112 of file SVHReceiveThread.h.
      
  | 
  private | 
length of received serial data
Definition at line 106 of file SVHReceiveThread.h.
      
  | 
  private | 
packets counter
Definition at line 118 of file SVHReceiveThread.h.
      
  | 
  private | 
function callback for received packages
Definition at line 126 of file SVHReceiveThread.h.
      
  | 
  private | 
current state of the state machine
Definition at line 103 of file SVHReceiveThread.h.
      
  | 
  private | 
pointer to serial device object
Definition at line 86 of file SVHReceiveThread.h.
      
  | 
  private | 
counter for skipped bytes in case no packet is detected
Definition at line 120 of file SVHReceiveThread.h.