Example project to publish messages to a MQTT-SN broker using the u-blox SARA-N200 NB-IoT modem

Dependencies:   MQTTSNPacket X-NUCLEO-SARA-N200

Revision:
1:70b751b7a189
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MQTTmbed.h	Mon Aug 20 16:42:45 2018 +0200
@@ -0,0 +1,54 @@
+#if !defined(MQTT_MBED_H)
+#define MQTT_MBED_H
+
+#include "mbed.h"
+
+class Countdown
+{
+public:
+    Countdown()
+    {
+    	t = new Timer();
+    	interval_end_ms = 0;
+    }
+    
+    Countdown(int ms)
+    {
+    	t = new Timer();
+        countdown_ms(ms);   
+    }
+
+    ~Countdown()
+    {
+    	delete t;
+    }
+    
+    bool expired()
+    {
+        return t->read_ms() >= interval_end_ms;
+    }
+    
+    void countdown_ms(unsigned long ms)  
+    {
+        t->stop();
+        interval_end_ms = ms;
+        t->reset();
+        t->start();
+    }
+    
+    void countdown(int seconds)
+    {
+        countdown_ms((unsigned long)seconds * 1000L);
+    }
+    
+    int left_ms()
+    {
+        return interval_end_ms - t->read_ms();
+    }
+    
+private:
+    Timer *t;
+    int interval_end_ms;
+};
+
+#endif