Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: FP MQTTPacket
Dependents: IDW01M1_Cloud_IBM IDW01M1-MQTT IDW01M1-MQTT-1 IDW01M1-MQTT3 ... more
Fork of MQTT by
Diff: IPStack/EthernetInterfaceIPStack.h
- Revision:
- 25:d13a6c558164
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/IPStack/EthernetInterfaceIPStack.h Fri May 09 23:01:35 2014 +0000
@@ -0,0 +1,90 @@
+
+#ifndef ETHERNETINTERFACEIPSTACK_H
+#define ETHERNETINTERFACEIPSTACK_H
+
+#include "EthernetInterface.h"
+
+class IPStack
+{
+public:
+ IPStack()
+ {
+ eth.init(); // Use DHCP
+ eth.connect();
+ mysock.set_blocking(false, 1000); // 1 second Timeout
+ }
+
+ int connect(char* hostname, int port)
+ {
+ return mysock.connect(hostname, port);
+ }
+
+ int read(char* buffer, int len, int timeout)
+ {
+ mysock.set_blocking(false, timeout);
+ return mysock.receive(buffer, len);
+ }
+
+ int write(char* buffer, int len, int timeout)
+ {
+ mysock.set_blocking(false, timeout);
+ return mysock.send(buffer, len);
+ }
+
+ int disconnect()
+ {
+ return mysock.close();
+ }
+
+private:
+
+ EthernetInterface eth;
+ TCPSocketConnection mysock;
+
+};
+
+
+class Countdown
+{
+public:
+ Countdown()
+ {
+ t = Timer();
+ }
+
+ Countdown(int ms)
+ {
+ t = Timer();
+ countdown_ms(ms);
+ }
+
+
+ bool expired()
+ {
+ return t.read_ms() >= interval_end_ms;
+ }
+
+ void countdown_ms(int ms)
+ {
+ t.stop();
+ interval_end_ms = ms;
+ t.reset();
+ t.start();
+ }
+
+ void countdown(int seconds)
+ {
+ countdown_ms(seconds * 1000);
+ }
+
+ int left_ms()
+ {
+ return interval_end_ms - t.read_ms();
+ }
+
+private:
+ Timer t;
+ int interval_end_ms;
+};
+
+#endif
