MQTT client to test the ENC28J60-EMAC on NUCLEO-F446RE.

Dependencies:   ENC28J60-EMAC

Committer:
hudakz
Date:
Mon Mar 29 09:32:44 2021 +0000
Revision:
5:d9570dbf2f82
Parent:
0:238f0d0c0ba3
MQTT client to test the ENC28J60-EMAC on NUCLEO-F446RE.

Who changed what in which revision?

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