An API for using MQTT over multiple transports

Dependencies:   FP MQTTPacket

Dependents:   Cellular_HelloMQTT IoTStarterKit GSwifiInterface_HelloMQTT IBMIoTClientEthernetExample ... more

This library is part of the EclipseTM Paho project; specifically the embedded client.

The goals of this API are:

  1. to be independent of any system library: hence templates parameters for networking, timer and threading classes
  2. not to rely on heap storage, only automatic (I think this is a good thing)
  3. to limit memory use, for instance by defining the size of the buffers and arrays used at object creation time
Revision:
47:f313853d22a6
Parent:
43:21da1f744243
Child:
48:187c6d4d7812
--- a/MQTTmbed.h	Tue Aug 18 09:57:19 2015 +0000
+++ b/MQTTmbed.h	Thu Aug 10 14:09:33 2017 +0000
@@ -8,27 +8,27 @@
 public:
     Countdown()
     {
-        t = Timer();   
+        t = new Timer();   
     }
     
     Countdown(int ms)
     {
-        t = Timer();
+        t = new Timer();
         countdown_ms(ms);   
     }
     
     
     bool expired()
     {
-        return t.read_ms() >= interval_end_ms;
+        return t->read_ms() >= interval_end_ms;
     }
     
     void countdown_ms(unsigned long ms)  
     {
-        t.stop();
+        t->stop();
         interval_end_ms = ms;
-        t.reset();
-        t.start();
+        t->reset();
+        t->start();
     }
     
     void countdown(int seconds)
@@ -38,11 +38,11 @@
     
     int left_ms()
     {
-        return interval_end_ms - t.read_ms();
+        return interval_end_ms - t->read_ms();
     }
     
 private:
-    Timer t;
+    Timer *t;
     unsigned long interval_end_ms; 
 };