#pragma once #include #include #include #include #include #include #include // Manage UGear Command Channel class UGCommand { private: int cmd_send_index; int cmd_recv_index; bool prime_state; std::queue cmd_queue; public: UGCommand(); ~UGCommand(); // send current command until acknowledged int update( SGSerialPort *serial ); void add( const std::string command ); inline int cmd_queue_size() { return cmd_queue.size(); } inline void update_cmd_sequence( int sequence ) { cmd_recv_index = sequence; } }; extern UGCommand command_mgr;