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.
Dependents: w7500-paho-mqtt openHAB_mqtt_W7500 kakaoIoTchatbot w7500-RFID-mqtt
Fork of WIZnetInterface by
Revision 3:f8c6efc8bf83, committed 2015-06-15
- Comitter:
- embeddist
- Date:
- Mon Jun 15 12:55:19 2015 +0000
- Parent:
- 2:26df0dc6e227
- Child:
- 4:4930f81bbe98
- Commit message:
- on debugging: fixed some bugs
Changed in this revision
--- a/EthernetInterface.cpp Mon Jun 15 13:33:39 2015 +0900
+++ b/EthernetInterface.cpp Mon Jun 15 12:55:19 2015 +0000
@@ -18,6 +18,18 @@
#include "EthernetInterface.h"
#include "DHCPClient.h"
+EthernetInterface::EthernetInterface(PinName mosi, PinName miso, PinName sclk, PinName cs, PinName reset) :
+ WIZnet_Chip(mosi, miso, sclk, cs, reset)
+{
+ ip_set = false;
+}
+
+EthernetInterface::EthernetInterface(SPI* spi, PinName cs, PinName reset) :
+ WIZnet_Chip(spi, cs, reset)
+{
+ ip_set = false;
+}
+
int EthernetInterface::init(uint8_t * mac)
{
@@ -42,6 +54,8 @@
this->netmask = str_to_ip(mask);
this->gateway = str_to_ip(gateway);
reset();
+
+ if (WIZnet_Chip::setip() == false) return -1;
return 0;
}
--- a/EthernetInterface.h Mon Jun 15 13:33:39 2015 +0900
+++ b/EthernetInterface.h Mon Jun 15 12:55:19 2015 +0000
@@ -24,6 +24,8 @@
class EthernetInterface: public WIZnet_Chip {
public:
+ EthernetInterface(PinName mosi, PinName miso, PinName sclk, PinName cs, PinName reset);
+ EthernetInterface(SPI* spi, PinName cs, PinName reset);
/** Initialize the interface with DHCP.
* Initialize the interface and configure it to use DHCP (no connection at this point).
--- a/arch/ext/W5500.cpp Mon Jun 15 13:33:39 2015 +0900
+++ b/arch/ext/W5500.cpp Mon Jun 15 12:55:19 2015 +0000
@@ -15,13 +15,14 @@
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
+#include "eth_arch.h"
+#ifdef USE_W5500
#include "mbed.h"
#include "mbed_debug.h"
-#include "eth_arch.h"
#include "DNSClient.h"
-#ifdef USE_W5500
+
//Debug is disabled by default
#if 0
#define DBG(...) do{debug("%p %d %s ", this,__LINE__,__PRETTY_FUNCTION__); debug(__VA_ARGS__); } while(0);
@@ -143,15 +144,19 @@
// Reset the chip & set the buffer
void WIZnet_Chip::reset()
{
- // sw reset
+#if defined(USE_WIZ550IO_MAC)
+ // hw reset
reset_pin = 1;
reset_pin = 0;
wait_us(500); // 500us (w5500)
reset_pin = 1;
wait_ms(400); // 400ms (w5500)
-#if defined(USE_WIZ550IO_MAC)
- reg_rd_mac(SHAR, mac); // read the MAC address inside the module
+ reg_rd_mac(SHAR, mac); // read the MAC address inside the modulea
+#else
+ // hw reset
+ reg_wr(MR, 0x80);
+ wait_us(500); // 500us (w5500)
#endif
// write MAC address inside the WZTOE MAC address register
@@ -423,3 +428,4 @@
}
#endif
+
--- a/arch/ext/W5500.h Mon Jun 15 13:33:39 2015 +0900
+++ b/arch/ext/W5500.h Mon Jun 15 12:55:19 2015 +0000
@@ -26,42 +26,8 @@
#define DEFAULT_WAIT_RESP_TIMEOUT 500
-enum Protocol {
- CLOSED = 0,
- TCP = 1,
- UDP = 2,
-};
-enum Command {
- OPEN = 0x01,
- LISTEN = 0x02,
- CONNECT = 0x04,
- DISCON = 0x08,
- CLOSE = 0x10,
- SEND = 0x20,
- SEND_MAC = 0x21,
- SEND_KEEP = 0x22,
- RECV = 0x40,
-
-};
-enum Interrupt {
- INT_CON = 0x01,
- INT_DISCON = 0x02,
- INT_RECV = 0x04,
- INT_TIMEOUT = 0x08,
- INT_SEND_OK = 0x10,
-};
-
-enum Status {
- SOCK_CLOSED = 0x00,
- SOCK_INIT = 0x13,
- SOCK_LISTEN = 0x14,
- SOCK_SYNSENT = 0x15,
- SOCK_ESTABLISHED = 0x17,
- SOCK_CLOSE_WAIT = 0x1c,
- SOCK_UDP = 0x22,
-};
#define MAX_SOCK_NUM 8
@@ -89,6 +55,42 @@
class WIZnet_Chip {
public:
+enum Protocol {
+ CLOSED = 0,
+ TCP = 1,
+ UDP = 2,
+};
+
+enum Command {
+ OPEN = 0x01,
+ LISTEN = 0x02,
+ CONNECT = 0x04,
+ DISCON = 0x08,
+ CLOSE = 0x10,
+ SEND = 0x20,
+ SEND_MAC = 0x21,
+ SEND_KEEP = 0x22,
+ RECV = 0x40,
+
+};
+
+enum Interrupt {
+ INT_CON = 0x01,
+ INT_DISCON = 0x02,
+ INT_RECV = 0x04,
+ INT_TIMEOUT = 0x08,
+ INT_SEND_OK = 0x10,
+};
+
+enum Status {
+ SOCK_CLOSED = 0x00,
+ SOCK_INIT = 0x13,
+ SOCK_LISTEN = 0x14,
+ SOCK_SYNSENT = 0x15,
+ SOCK_ESTABLISHED = 0x17,
+ SOCK_CLOSE_WAIT = 0x1c,
+ SOCK_UDP = 0x22,
+};
/*
* Constructor
*
--- a/arch/int/W7500x_toe.cpp Mon Jun 15 13:33:39 2015 +0900 +++ b/arch/int/W7500x_toe.cpp Mon Jun 15 12:55:19 2015 +0000 @@ -14,13 +14,13 @@ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +#include "eth_arch.h" +#ifdef USE_W7500 #include "mbed.h" #include "mbed_debug.h" -#include "W7500x_toe.h" #include "DNSClient.h" -#ifdef USE_W7500 /* * MDIO via GPIO @@ -488,3 +488,4 @@ } #endif +
--- a/eth_arch.h Mon Jun 15 13:33:39 2015 +0900 +++ b/eth_arch.h Mon Jun 15 12:55:19 2015 +0000 @@ -16,24 +16,22 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * */ -#ifndef _ETH_ARCH_H_ -#define _ETH_ARCH_H_ + #pragma once -#include "mbed.h" -#include "mbed_debug.h" +//#define USE_W7500 // used WIZwiki_W7500 +#define USE_W5500 // used W5500 Ethernet Shield & WIZ550io + -#define USE_W7500 // used WIZwiki_W7500 -//#define USE_W5500 // used W5500 Ethernet Shield & WIZ550io +#if defined(USE_W5500) +#include "W5500.h" +//#define USE_WIZ550IO_MAC // using the MAC address stored in the WIZ550io +#endif #if defined(USE_W7500) #include "W7500x_toe.h" #define __DEF_USED_IC101AG__ //For using IC+101AG@WIZwiki-W7500 #endif -#if defined(USE_W5500) -#include "W5500.h" -//#define USE_WIZ550IO_MAC // using the MAC address stored in the WIZ550io -#endif -#endif //#ifdef _ETH_ARCH_H_ +
