WIZnet Developer Forum

W5500 and MBED official library - compilation issues

Hello,
We are usig the W5500 in a board, it is driven by an STM32F303. This MCU and the W5500 are used with MBED, we selected the W5500 also for this reason. However, i face a strange issue with the library, when i import it to the MBED project (locally, compiled with the MBED CLI) i get a bunch of recursion errors, all i do is to drop the library folders : W5500Interface and WebSocketClient into the project folder, for main.cpp i used directly the websocket example found here:https://os.mbed.com/components/W5500/
Here is the ouput when i try to compile :

iMac-de-Hoel-2:mbed-os-example-blinky hoel$ mbed compile -m LORAM3_F303CC -t GCC_ARM
Building project mbed-os-example-blinky (LORAM3_F303CC, GCC_ARM)
Scan: .
Scan: env
Scan: mbed
Compile [ 31.1%]: DHCPClient.cpp
[Error] DHCPClient.h@45,5: ‘Endpoint’ does not name a type
[Error] DHCPClient.cpp@113,5: ‘Endpoint’ was not declared in this scope
[Error] DHCPClient.cpp@113,14: expected ‘;’ before ‘host’
[Error] DHCPClient.cpp@114,27: ‘class UDPSocket’ has no member named ‘receiveFrom’
[Error] DHCPClient.cpp@114,39: ‘host’ was not declared in this scope
[Error] DHCPClient.cpp@124,16: ‘class UDPSocket’ has no member named ‘sendTo’
[Error] DHCPClient.cpp@124,23: ‘m_server’ was not declared in this scope
[Error] DHCPClient.cpp@170,12: ‘class UDPSocket’ has no member named ‘init’
[Error] DHCPClient.cpp@174,5: ‘m_server’ was not declared in this scope
[Error] DHCPClient.cpp@187,24: ‘class UDPSocket’ has no member named ‘sendTo’
[Warning] W5500.h@327,36: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
[Warning] W5500.h@350,41: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
[Warning] W5500.h@327,36: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
[ERROR] In file included from ./W5500Interface/DHCPClient/DHCPClient.cpp:5:0:
./W5500Interface/DHCPClient/DHCPClient.h:45:5: error: ‘Endpoint’ does not name a type
Endpoint m_server;
^
./W5500Interface/DHCPClient/DHCPClient.cpp: In member function ‘void DHCPClient::callback()’:
./W5500Interface/DHCPClient/DHCPClient.cpp:113:5: error: ‘Endpoint’ was not declared in this scope
Endpoint host;
^
./W5500Interface/DHCPClient/DHCPClient.cpp:113:14: error: expected ‘;’ before ‘host’
Endpoint host;
^
./W5500Interface/DHCPClient/DHCPClient.cpp:114:27: error: ‘class UDPSocket’ has no member named ‘receiveFrom’
int recv_len = m_udp->receiveFrom(host, (char*)m_buf, sizeof(m_buf));
^
./W5500Interface/DHCPClient/DHCPClient.cpp:114:39: error: ‘host’ was not declared in this scope
int recv_len = m_udp->receiveFrom(host, (char*)m_buf, sizeof(m_buf));
^
./W5500Interface/DHCPClient/DHCPClient.cpp:124:16: error: ‘class UDPSocket’ has no member named ‘sendTo’
m_udp->sendTo(m_server, (char*)m_buf, send_size);
^
./W5500Interface/DHCPClient/DHCPClient.cpp:124:23: error: ‘m_server’ was not declared in this scope
m_udp->sendTo(m_server, (char*)m_buf, send_size);
^
./W5500Interface/DHCPClient/DHCPClient.cpp: In member function ‘int DHCPClient::setup(int)’:
./W5500Interface/DHCPClient/DHCPClient.cpp:170:12: error: ‘class UDPSocket’ has no member named ‘init’
m_udp->init();
^
./W5500Interface/DHCPClient/DHCPClient.cpp:174:5: error: ‘m_server’ was not declared in this scope
m_server.set_address(“255.255.255.255”, 67); // DHCP broadcast
^
./W5500Interface/DHCPClient/DHCPClient.cpp:187:24: error: ‘class UDPSocket’ has no member named ‘sendTo’
m_udp->sendTo(m_server, (char*)m_buf, send_size);
^
In file included from ./W5500Interface/WIZnet/wiznet.h:12:0,
from ./W5500Interface/DHCPClient/DHCPClient.h:4,
from ./W5500Interface/DHCPClient/DHCPClient.cpp:5:
./W5500Interface/WIZnet/W5500.h: In instantiation of ‘void WIZnet_Chip::reg_wr(uint16_t, uint8_t, T) [with T = short unsigned int; uint16_t = short unsigned int; uint8_t = unsigned char]’:
./W5500Interface/WIZnet/W5500.h:321:39: required from ‘void WIZnet_Chip::reg_wr(uint16_t, T) [with T = short unsigned int; uint16_t = short unsigned int]’
./W5500Interface/WIZnet/W5500.h:495:44: required from here
./W5500Interface/WIZnet/W5500.h:327:36: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
reinterpret_cast<T>(buf) = data;
^
./W5500Interface/WIZnet/W5500.h: In instantiation of ‘T WIZnet_Chip::reg_rd(uint16_t, uint8_t) [with T = short unsigned int; uint16_t = short unsigned int; uint8_t = unsigned char]’:
./W5500Interface/WIZnet/W5500.h:338:36: required from ‘T WIZnet_Chip::reg_rd(uint16_t) [with T = short unsigned int; uint16_t = short unsigned int]’
./W5500Interface/WIZnet/W5500.h:506:41: required from here
./W5500Interface/WIZnet/W5500.h:350:41: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
return reinterpret_cast<T>(buf);
^
./W5500Interface/WIZnet/W5500.h: In instantiation of ‘void WIZnet_Chip::reg_wr(uint16_t, uint8_t, T) [with T = long unsigned int; uint16_t = short unsigned int; uint8_t = unsigned char]’:
./W5500Interface/WIZnet/W5500.h:321:39: required from ‘void WIZnet_Chip::reg_wr(uint16_t, T) [with T = long unsigned int; uint16_t = short unsigned int]’
./W5500Interface/DHCPClient/DHCPClient.cpp:172:43: required from here
./W5500Interface/WIZnet/W5500.h:327:36: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
reinterpret_cast<T>(buf) = data;
^

[mbed] ERROR: “/usr/bin/python” returned error code 1.
[mbed] ERROR: Command “/usr/bin/python -u /Volumes/HD/BS_GW80AB/FIRMWARE/F303/mbed-os-example-blinky/mbed-os/tools/make.py -t GCC_ARM -m LORAM3_F303CC --source . --build ./BUILD/LORAM3_F303CC/GCC_ARM” in “/Volumes/HD/BS_GW80AB/FIRMWARE/F303/mbed-os-example-blinky”

The blinky project compiles fine when the library is removed.
If some user or support can point to the issue that would be much appreciated, deadline is close and i ddint expected this kind of compilation problems with the example.
Thank you.

As this code is part of the embed.com site, it would be best to contact the updaters/makers -> https://os.mbed.com/teams/EthernetInterfaceW5500-makers/

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.