34 using icl_comm::ArrayBuilder;
    41     m_serial_device(device),
    42     m_received_state(eRS_HEADER1),
    46     m_packets_received(0),
    48     m_received_callback(received_callback)
   149       m_ab.appendWithoutConversion(data_byte);
   156       m_ab.appendWithoutConversion(data_byte);
   163       m_ab.appendWithoutConversion(data_byte);
   170       m_ab.appendWithoutConversion(data_byte);
   181       m_data.push_back(data_byte);
   182       m_ab.appendWithoutConversion(data_byte);
   202         for (
size_t i = 0; i < 
m_data.size(); ++i)
   208         if ((checksum1 == 0) && (checksum2 == 0))
   213       m_ab >> received_packet;
   218         LOGGING_TRACE_C(DriverSVH, 
SVHReceiveThread, 
"Received packet index:" << received_packet.index <<
", address:"<<received_packet.address<<
", size:"<<received_packet.data.size() << 
endl);
   233         m_ab >> received_packet;
   236         LOGGING_TRACE_C(DriverSVH, 
SVHReceiveThread, 
"Checksum error: "<< (
int)checksum1<<
","<<(
int)checksum2<<
"!=0, skipping "<<
m_length+8<<
"bytes, packet index:" << received_packet.index <<
", address:"<<received_packet.address<<
", size:"<<received_packet.data.size() << 
endl);
 std::vector< uint8_t > m_data
length of received serial data 
 
const uint8_t PACKET_HEADER1
Header sync byte 1. 
 
tState m_received_state
current state of the state machine 
 
boost::function< void(const SVHSerialPacket &packet, unsigned int packet_count)> ReceivedPacketCallback
definition of boost function callback for received packages 
 
unsigned int m_skipped_bytes
counter for skipped bytes in case no packet is detected 
 
const uint8_t PACKET_HEADER2
Header sync byte 2. 
 
ReceivedPacketCallback m_received_callback
function callback for received packages 
 
bool receiveData()
state machine processing received data 
 
virtual void run()
run method of the thread, executes the main program 
 
#define LOGGING_WARNING_C(streamname, classname, arg)
 
uint16_t m_length
length of received serial data 
 
Thread for receiving messages from the serial device. 
 
ThreadStream & endl(ThreadStream &stream)
 
unsigned int m_packets_received
packets counter 
 
SVHReceiveThread(const TimeSpan &period, boost::shared_ptr< Serial > device, ReceivedPacketCallback const &received_callback)
SVHReceiveThread Constructs a new Receivethread. 
 
boost::shared_ptr< Serial > m_serial_device
pointer to serial device object 
 
uint8_t m_checksum1
Checksum of packet. 
 
#define LOGGING_TRACE_C(streamname, classname, arg)
 
icl_comm::ArrayBuilder m_ab
pointer to array builder object for packet receive 
 
The SerialPacket holds the (non generated) header and data of one message to the SVH-Hardware.