Version to make it easier to reuse without source modifications

Committer:
JMF
Date:
Tue Mar 27 17:26:35 2018 +0000
Revision:
0:5cd4781e0c88
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JMF 0:5cd4781e0c88 1 #if !defined(MQTT_MBED_H)
JMF 0:5cd4781e0c88 2 #define MQTT_MBED_H
JMF 0:5cd4781e0c88 3
JMF 0:5cd4781e0c88 4 #include "mbed.h"
JMF 0:5cd4781e0c88 5
JMF 0:5cd4781e0c88 6 class Countdown
JMF 0:5cd4781e0c88 7 {
JMF 0:5cd4781e0c88 8 public:
JMF 0:5cd4781e0c88 9 Countdown() : t()
JMF 0:5cd4781e0c88 10 {
JMF 0:5cd4781e0c88 11
JMF 0:5cd4781e0c88 12 }
JMF 0:5cd4781e0c88 13
JMF 0:5cd4781e0c88 14 Countdown(int ms) : t()
JMF 0:5cd4781e0c88 15 {
JMF 0:5cd4781e0c88 16 countdown_ms(ms);
JMF 0:5cd4781e0c88 17 }
JMF 0:5cd4781e0c88 18
JMF 0:5cd4781e0c88 19
JMF 0:5cd4781e0c88 20 bool expired()
JMF 0:5cd4781e0c88 21 {
JMF 0:5cd4781e0c88 22 return t.read_ms() >= interval_end_ms;
JMF 0:5cd4781e0c88 23 }
JMF 0:5cd4781e0c88 24
JMF 0:5cd4781e0c88 25 void countdown_ms(unsigned long ms)
JMF 0:5cd4781e0c88 26 {
JMF 0:5cd4781e0c88 27 t.stop();
JMF 0:5cd4781e0c88 28 interval_end_ms = ms;
JMF 0:5cd4781e0c88 29 t.reset();
JMF 0:5cd4781e0c88 30 t.start();
JMF 0:5cd4781e0c88 31 }
JMF 0:5cd4781e0c88 32
JMF 0:5cd4781e0c88 33 void countdown(int seconds)
JMF 0:5cd4781e0c88 34 {
JMF 0:5cd4781e0c88 35 countdown_ms((unsigned long)seconds * 1000L);
JMF 0:5cd4781e0c88 36 }
JMF 0:5cd4781e0c88 37
JMF 0:5cd4781e0c88 38 int left_ms()
JMF 0:5cd4781e0c88 39 {
JMF 0:5cd4781e0c88 40 return interval_end_ms - t.read_ms();
JMF 0:5cd4781e0c88 41 }
JMF 0:5cd4781e0c88 42
JMF 0:5cd4781e0c88 43 private:
JMF 0:5cd4781e0c88 44 Timer t;
JMF 0:5cd4781e0c88 45 long interval_end_ms;
JMF 0:5cd4781e0c88 46 };
JMF 0:5cd4781e0c88 47
JMF 0:5cd4781e0c88 48 #endif