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:
- to be independent of any system library: hence templates parameters for networking, timer and threading classes
- not to rely on heap storage, only automatic (I think this is a good thing)
- to limit memory use, for instance by defining the size of the buffers and arrays used at object creation time
Diff: MQTTmbed.h
- Revision:
- 50:c37c8236e84a
- Parent:
- 48:187c6d4d7812
- Child:
- 52:3f9919941b86
--- a/MQTTmbed.h Thu Sep 07 09:55:54 2017 +0100 +++ b/MQTTmbed.h Mon Sep 11 16:43:10 2017 +0200 @@ -8,46 +8,42 @@ public: Countdown() { - t = new Timer(); + t = Timer(); } - + Countdown(int ms) { - t = new Timer(); - countdown_ms(ms); + t = Timer(); + countdown_ms(ms); } - - ~Countdown() - { - delete t; - } - + + bool expired() { - return t->read_ms() >= interval_end_ms; + return t.read_ms() >= interval_end_ms; } - - void countdown_ms(unsigned long 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) { countdown_ms((unsigned long)seconds * 1000L); } - + int left_ms() { - return interval_end_ms - t->read_ms(); + return interval_end_ms - t.read_ms(); } - + private: - Timer *t; - unsigned long interval_end_ms; + Timer t; + unsigned long interval_end_ms; }; #endif \ No newline at end of file