]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/arducontrol.h
Add a timeout to ArduControl commands
[r2c2.git] / source / libr2c2 / arducontrol.h
index 8560a13b969d21257c7e8dfab3aa611113d16682..40c7b3c6912d47247024c5ab28461bb497a6a7f1 100644 (file)
@@ -219,6 +219,7 @@ private:
        public:
                void push(const T &);
                bool pop(T &);
+               bool empty() const;
        };
 
        class Task
@@ -356,7 +357,7 @@ private:
                virtual void main();
                void init_baud_rate();
                bool get_work(PendingCommand &);
-               unsigned do_command(const PendingCommand &);
+               unsigned do_command(const PendingCommand &, const Msp::Time::TimeDelta &);
                unsigned process_reply(const char *, unsigned);
        };
 
@@ -383,7 +384,7 @@ private:
 
        SensorMap sensors;
 
-       Msp::Mutex mutex;
+       Msp::Time::TimeDelta command_timeout;
        Queue<PendingCommand> command_queue;
        Queue<Tag> completed_commands;
        RefreshTask refresh;