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

Files at this revision

API Documentation at this revision

Comitter:
RobMeades
Date:
Thu Aug 10 14:09:33 2017 +0000
Parent:
46:e335fcc1a663
Child:
48:187c6d4d7812
Commit message:
Add u-blox cellular targets C030 (currently the non-N2xx flavour) and C027.

Changed in this revision

MQTTmbed.h Show annotated file Show diff for this revision Revisions of this file
--- 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; 
 };