iot_water_monitor_v2

Dependencies:   easy-connect-v16 Watchdog FP MQTTPacket RecordType-v-16 watersenor_and_temp_code

Committer:
DuyLionTran
Date:
Tue Apr 03 17:03:01 2018 +0000
Revision:
57:898fcb6692cd
Parent:
11:3802c82a5ae9
;   * version 2.9.8  	03-04-2018  Minor changes. Time frame updated to IBM Watson every 60s

Who changed what in which revision?

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