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: C12832 EthernetInterface LM75B mbed-rtos mbed
Fork of app-board-LM75B by
Diff: Communication.h
- Revision:
- 6:77a4c45f6416
diff -r 608f2bf4d3f7 -r 77a4c45f6416 Communication.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Communication.h Thu Mar 23 12:51:27 2017 +0000
@@ -0,0 +1,99 @@
+#ifndef Communication_H
+#define Communication_H
+#include <mbed.h>
+#include <string>
+#include "Packet.h"
+
+#include "EthernetInterface.h"
+
+#define FRAME_BYTE_1 0xAA
+#define FRAME_BYTE_2 0x55
+#define SERVER_PORT 4000
+
+//const char * address = "192.168.0.114";
+//const char * mask = "255.255.255.0";
+//const char * gateway = "192.168.0.1";
+
+/** Communication class.
+ * Utilised to make use of the EthernetInterface to receive packets
+ * with the help of a TCPSocketServer, but also to send packets to other clients
+ * with a TCPSocketConnection
+ * @ref TCPSocketConnection
+ * @ref TCPSocketServer
+ * @ref EthernetInterface
+ */
+class Communication{
+ public:
+
+ /** Default Constructor
+ * Creates an object of the Communication class, which
+ * will automaticly connect to the EthernetInterface.
+ *
+ * @ref EthernetInterface
+ */
+ Communication();
+
+ /** Destructor
+ * Destroys all the objects using memory with this class
+ * and disconnects the connections made by the class.
+ */
+ ~Communication();
+
+ /** Connects to internet with the help of the EthernetInterface
+ * and manualy sets the ip address, it also generates a TCPSocketServer
+ * to be able to receive data.
+ *
+ * @ref EthernetInterface
+ * @ref TCPSocketServer
+ */
+ void connect();
+
+ /** Creates a TCPSocketConnection "client" to receive a Packet from a client
+ * by accepting it with the TCPSocketServer "server"
+ * @param buffer The reference to a std::string buffer that has to be
+ * filled with the received data Packet.
+ *
+ * @ref Packet
+ * @ref TCPSocketServer
+ * @ref TCPSocketConnection
+ */
+ std::string getData();
+
+ /** Uses the TCPSocketServer "server" to receive a Packet from a client
+ *
+ * @param data the string from a packet that contains the data that has to be sent to
+ * a client.
+ *
+ * @ref Packet
+ * @ref TCPSocketServer
+ */
+ void sendDataPacket(std::string data);
+
+ /**
+ * Sets the ID where the MBED has to connect to
+ *
+ */
+ void setOwnID(int i);
+
+ int getOwnID();
+
+ private:
+
+ /**
+ * An instance of the TCPSocketServer to be able to receive data.
+ *
+ * @ref TCPSocketServer
+ */
+ TCPSocketServer * server;
+
+ /**
+ * An instance of the EthernetInterface class that will make it possible
+ * to connect to the internet.
+ *
+ * @ref EthernetInterface
+ */
+ EthernetInterface * eth;
+ int ownID;
+};
+
+#endif
\ No newline at end of file
