1
0
Fork 0
flightgear/utils/GPSsmooth/UGear_command.hxx
curt 78e6655002 Several updates to implement a sequenced/verified/check summed serial
command uplink on the same port we are receiving the telemetry data.
2008-03-30 05:34:40 +00:00

53 lines
932 B
C++

#ifndef _FG_UGEAR_COMMAND_HXX
#define _FG_UGEAR_COMMAND_HXX
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <simgear/compiler.h>
#include <iostream>
#include <string>
#include <queue>
#include <simgear/misc/stdint.hxx>
#include <simgear/io/iochannel.hxx>
#include <simgear/serial/serial.hxx>
SG_USING_STD(cout);
SG_USING_STD(endl);
SG_USING_STD(string);
SG_USING_STD(queue);
// Manage UGear Command Channel
class UGCommand {
private:
int cmd_send_index;
int cmd_recv_index;
bool prime_state;
queue <string> cmd_queue;
public:
UGCommand();
~UGCommand();
// send current command until acknowledged
int update( SGSerialPort *serial );
void add( const string command );
inline int cmd_queue_size() {
return cmd_queue.size();
}
inline void update_cmd_sequence( int sequence ) {
cmd_recv_index = sequence;
}
};
#endif // _FG_UGEAR_COMMAND_HXX