.. _program_listing_file__tmp_ws_src_libcreate_include_create_serial_query.h: Program Listing for File serial_query.h ======================================= |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/libcreate/include/create/serial_query.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp // Based on example from: // https://github.com/labust/labust-ros-pkg/wiki/Create-a-Serial-Port-application #ifndef CREATE_SERIAL_QUERY_H #define CREATE_SERIAL_QUERY_H #include #include #include "create/data.h" #include "create/types.h" #include "create/util.h" #include "create/serial.h" namespace create { class SerialQuery : public Serial { private: boost::asio::deadline_timer streamRecoveryTimer; uint8_t packetID; int8_t packetByte; uint16_t packetData; const uint8_t maxPacketID; bool started; void requestSensorData(); void restartSensorStream(const boost::system::error_code& err); void flushInput(); protected: bool startSensorStream(); void processByte(uint8_t byteRead); public: SerialQuery(std::shared_ptr data, bool install_signal_handler = true); virtual ~SerialQuery() = default; }; } // namespace create #endif // CREATE_SERIAL_H