M2X Ethernet demo using Seeed Ethernet W5200 Shield

Dependencies:   LM75B M2XStreamClient jsonlite mbed-rtos mbed Nucleo_Sensor_Shield

Fork of m2x-seeed_ethernet_demo by Sean Newton

Committer:
SeanNewton
Date:
Thu Sep 25 16:36:51 2014 +0000
Revision:
7:a94ba2e0cd04
CHange WIZnet_Library to folder to keep configuration changes

Who changed what in which revision?

UserRevisionLine numberNew contents of line
SeanNewton 7:a94ba2e0cd04 1 /* Copyright (C) 2012 mbed.org, MIT License
SeanNewton 7:a94ba2e0cd04 2 *
SeanNewton 7:a94ba2e0cd04 3 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
SeanNewton 7:a94ba2e0cd04 4 * and associated documentation files (the "Software"), to deal in the Software without restriction,
SeanNewton 7:a94ba2e0cd04 5 * including without limitation the rights to use, copy, modify, merge, publish, distribute,
SeanNewton 7:a94ba2e0cd04 6 * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
SeanNewton 7:a94ba2e0cd04 7 * furnished to do so, subject to the following conditions:
SeanNewton 7:a94ba2e0cd04 8 *
SeanNewton 7:a94ba2e0cd04 9 * The above copyright notice and this permission notice shall be included in all copies or
SeanNewton 7:a94ba2e0cd04 10 * substantial portions of the Software.
SeanNewton 7:a94ba2e0cd04 11 *
SeanNewton 7:a94ba2e0cd04 12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
SeanNewton 7:a94ba2e0cd04 13 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
SeanNewton 7:a94ba2e0cd04 14 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
SeanNewton 7:a94ba2e0cd04 15 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
SeanNewton 7:a94ba2e0cd04 16 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
SeanNewton 7:a94ba2e0cd04 17 */
SeanNewton 7:a94ba2e0cd04 18 #ifndef SOCKET_H_
SeanNewton 7:a94ba2e0cd04 19 #define SOCKET_H_
SeanNewton 7:a94ba2e0cd04 20
SeanNewton 7:a94ba2e0cd04 21 #include "wiznet.h"
SeanNewton 7:a94ba2e0cd04 22
SeanNewton 7:a94ba2e0cd04 23 #define htons(x) __REV16(x)
SeanNewton 7:a94ba2e0cd04 24 #define ntohs(x) __REV16(x)
SeanNewton 7:a94ba2e0cd04 25 #define htonl(x) __REV(x)
SeanNewton 7:a94ba2e0cd04 26 #define ntohl(x) __REV(x)
SeanNewton 7:a94ba2e0cd04 27
SeanNewton 7:a94ba2e0cd04 28 /** Socket file descriptor and select wrapper
SeanNewton 7:a94ba2e0cd04 29 */
SeanNewton 7:a94ba2e0cd04 30 class Socket {
SeanNewton 7:a94ba2e0cd04 31 public:
SeanNewton 7:a94ba2e0cd04 32 /** Socket
SeanNewton 7:a94ba2e0cd04 33 */
SeanNewton 7:a94ba2e0cd04 34 Socket();
SeanNewton 7:a94ba2e0cd04 35
SeanNewton 7:a94ba2e0cd04 36 /** Set blocking or non-blocking mode of the socket and a timeout on
SeanNewton 7:a94ba2e0cd04 37 blocking socket operations
SeanNewton 7:a94ba2e0cd04 38 \param blocking true for blocking mode, false for non-blocking mode.
SeanNewton 7:a94ba2e0cd04 39 \param timeout timeout in ms [Default: (1500)ms].
SeanNewton 7:a94ba2e0cd04 40 */
SeanNewton 7:a94ba2e0cd04 41 void set_blocking(bool blocking, unsigned int timeout=1500);
SeanNewton 7:a94ba2e0cd04 42
SeanNewton 7:a94ba2e0cd04 43 /** Close the socket file descriptor
SeanNewton 7:a94ba2e0cd04 44 */
SeanNewton 7:a94ba2e0cd04 45 int close();
SeanNewton 7:a94ba2e0cd04 46
SeanNewton 7:a94ba2e0cd04 47 ~Socket();
SeanNewton 7:a94ba2e0cd04 48
SeanNewton 7:a94ba2e0cd04 49 protected:
SeanNewton 7:a94ba2e0cd04 50 int _sock_fd;
SeanNewton 7:a94ba2e0cd04 51 bool _blocking;
SeanNewton 7:a94ba2e0cd04 52 int _timeout;
SeanNewton 7:a94ba2e0cd04 53
SeanNewton 7:a94ba2e0cd04 54 WIZnet_Chip* eth;
SeanNewton 7:a94ba2e0cd04 55 };
SeanNewton 7:a94ba2e0cd04 56
SeanNewton 7:a94ba2e0cd04 57
SeanNewton 7:a94ba2e0cd04 58 #endif /* SOCKET_H_ */
SeanNewton 7:a94ba2e0cd04 59