+ class MonitorTask: public Task
+ {
+ private:
+ float voltage;
+ float current;
+ float base_level;
+ float peak_level;
+ Msp::Time::TimeStamp next_poll;
+ unsigned next_type;
+
+ public:
+ MonitorTask();
+
+ virtual bool get_work(PendingCommand &);
+ virtual void process_reply(const char *, unsigned);
+
+ float get_voltage() const { return voltage; }
+ float get_current() const { return current; }
+ void reset_peak();
+ float get_peak() const { return peak_level-base_level; }
+ };
+