X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Farducontrol.h;h=8d27a2f572d74e561acdbc0266dc20561a777f8c;hb=fe8b45dc60ed7828f0b4af9daa9b4cd0649415ca;hp=8560a13b969d21257c7e8dfab3aa611113d16682;hpb=57628dfb3e1874ab73c0c3df02043a4f57feb4b1;p=r2c2.git diff --git a/source/libr2c2/arducontrol.h b/source/libr2c2/arducontrol.h index 8560a13..8d27a2f 100644 --- a/source/libr2c2/arducontrol.h +++ b/source/libr2c2/arducontrol.h @@ -219,6 +219,7 @@ private: public: void push(const T &); bool pop(T &); + bool empty() const; }; class Task @@ -356,8 +357,9 @@ 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); + void set_power(bool); }; typedef std::map LocomotiveMap; @@ -383,7 +385,7 @@ private: SensorMap sensors; - Msp::Mutex mutex; + Msp::Time::TimeDelta command_timeout; Queue command_queue; Queue completed_commands; RefreshTask refresh;