MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/driver/SerialPacketReader.hh

45 lines
1.2 KiB
C++
Raw Normal View History

/*
* SerialPacketReader.hh
*
* Created on: 17 <EFBFBD><EFBFBD><EFBFBD>. 2021 <EFBFBD>.
* Author: titov
*/
#ifndef UMLIBRARY_DRIVER_SERIALPACKETREADER_HH_
#define UMLIBRARY_DRIVER_SERIALPACKETREADER_HH_
#include "../systemic/IProcess.hh"
#include "../peripheral/ISerialPort.hh"
#include "../communication/format/BinaryDataPublisher.hh"
namespace driver {
class SerialPacketReader : public systemic::IProcess {
public:
SerialPacketReader( peripheral::ISerialPort & serial_port, communication::IBinaryDataSubscriber & binary_data,
std::pmr::memory_resource * memory_resource, std::size_t bitsize, bool data_invers = false );
//!<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
void process();
private:
std::vector< char, std::pmr::polymorphic_allocator<char> > data_frame;
peripheral::ISerialPort & serial_port; //!<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
communication::IBinaryDataSubscriber & binary_data; //!<
const std::size_t bitsize; //!<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
enum Phase {
request,
response
} phase = request;
bool data_invers;
};
}
#endif /* UMLIBRARY_DRIVER_SERIALPACKETREADER_HH_ */