Hi abba,
I tested your library with my ESP8266 but when I'm compiling the program I get some fails.
Arduino:1.6.5 (Windows 8.1), Placa:"Generic ESP8266 Module, Serial, 80 MHz, 40MHz, DIO, 115200, 4M (3M SPIFFS)"
In file included from C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:29:0:
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.h:25:0: warning: "UDP_TX_PACKET_MAX_SIZE" redefined [enabled by default]
#define UDP_TX_PACKET_MAX_SIZE 24
^
In file included from C:\Program Files (x86)\Arduino\libraries\WiFi\src\utility/wifi_drv.h:26:0,
from C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:26:
C:\Users\SMART-PC\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\ESP8266WiFi\src/WiFiUdp.h:28:0: note: this is the location of the previous definition
#define UDP_TX_PACKET_MAX_SIZE 8192
^
In file included from C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:29:0:
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.h:27:7: error: redefinition of 'class WiFiUDP'
class WiFiUDP : public UDP {
^
In file included from C:\Program Files (x86)\Arduino\libraries\WiFi\src\utility/wifi_drv.h:26:0,
from C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:26:
C:\Users\SMART-PC\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\ESP8266WiFi\src/WiFiUdp.h:32:7: error: previous definition of 'class WiFiUDP'
class WiFiUDP : public UDP, public SList<WiFiUDP> {
^
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp: In constructor 'WiFiUDP::WiFiUDP()':
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:35:22: error: class 'WiFiUDP' does not have any field named '_sock'
WiFiUDP::WiFiUDP() : _sock(NO_SOCKET_AVAIL) {}
^
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual uint8_t WiFiUDP::begin(uint16_t)':
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:45:9: error: '_sock' was not declared in this scope
_sock = sock;
^
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:46:9: error: '_port' was not declared in this scope
_port = port;
^
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual int WiFiUDP::available()':
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:56:7: error: '_sock' was not declared in this scope
if (_sock != NO_SOCKET_AVAIL)
^
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual void WiFiUDP::stop()':
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:66:8: error: '_sock' was not declared in this scope
if (_sock == NO_SOCKET_AVAIL)
^
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:69:26: error: '_sock' was not declared in this scope
ServerDrv::stopClient(_sock);
^
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual int WiFiUDP::beginPacket(IPAddress, uint16_t)':
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:88:7: error: '_sock' was not declared in this scope
if (_sock == NO_SOCKET_AVAIL)
^
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:90:7: error: '_sock' was not declared in this scope
if (_sock != NO_SOCKET_AVAIL)
^
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual int WiFiUDP::endPacket()':
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:101:32: error: '_sock' was not declared in this scope
return ServerDrv::sendUdpData(_sock);
^
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual size_t WiFiUDP::write(const uint8_t*, size_t)':
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:111:27: error: '_sock' was not declared in this scope
ServerDrv::insertDataBuf(_sock, buffer, size);
^
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual int WiFiUDP::read()':
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:125:23: error: '_sock' was not declared in this scope
ServerDrv::getData(_sock, &b);
^
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual int WiFiUDP::read(unsigned char*, size_t)':
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:137:31: error: '_sock' was not declared in this scope
if (!ServerDrv::getDataBuf(_sock, buffer, &size))
^
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual int WiFiUDP::peek()':
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:152:22: error: '_sock' was not declared in this scope
ServerDrv::getData(_sock, &b, 1);
^
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual IPAddress WiFiUDP::remoteIP()':
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:167:25: error: '_sock' was not declared in this scope
WiFiDrv::getRemoteData(_sock, _remoteIp, _remotePort);
^
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp: In member function 'virtual uint16_t WiFiUDP::remotePort()':
C:\Program Files (x86)\Arduino\libraries\WiFi\src\WiFiUdp.cpp:177:25: error: '_sock' was not declared in this scope
WiFiDrv::getRemoteData(_sock, _remoteIp, _remotePort);
^
Error de compilación
This report would have more information with
"Show verbose output during compilation"
activala desde Archivo > Preferencias
MODBUS TCP via WiFi Shield
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- frank_dunn1
- Posts: 7
- Joined: Fri Apr 24, 2015 4:26 pm
Re: MODBUS TCP via WiFi Shield
hi rody2571
i use windows 7 and installed the library from library manager > add zip library . In File > Preferences : Additional Board Manager URLs: http://arduino.esp8266.com/stable/packa ... index.json ,do you have the same ? I have no compile errors and it works ,
i use windows 7 and installed the library from library manager > add zip library . In File > Preferences : Additional Board Manager URLs: http://arduino.esp8266.com/stable/packa ... index.json ,do you have the same ? I have no compile errors and it works ,
- ibbba
- Posts: 4
- Joined: Tue Aug 25, 2015 5:31 pm
Re: MODBUS TCP via WiFi Shield
Maybe because the Ticker library use the Watchdog timer to tick the calls,so it generates an interrupt that "exits" from the main loop temporally ....good to knowfrank_dunn1 wrote:hi ibbba
I tested the code using the Ticker library to call functions in the main loop and this works fine while the client stays connected .
- Jinn
- Posts: 1
- Joined: Sun Sep 27, 2015 12:05 pm
Re: MODBUS TCP via WiFi Shield
Hi,
I tried to compile the ModbusESP8266Slave.ino and i get this error messages:
Arduino: 1.6.5 (Windows 8.1), Board: "Arduino/Genuino Uno"
Using library ESP8266WiFi in folder: C:\Users\joach_000\Documents\Arduino\libraries\ESP8266WiFi
Using library ModbusTCPSlave in folder: C:\Users\joach_000\Documents\Arduino\libraries\ModbusTCPSlave (legacy)
WARNING: library ESP8266WiFi claims to run on [esp8266] architecture(s) and may be incompatible with your current board which runs on [avr] architecture(s).
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10605 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard -IC:\Users\joach_000\Documents\Arduino\libraries\ESP8266WiFi\src -IC:\Users\joach_000\Documents\Arduino\libraries\ModbusTCPSlave C:\Users\JOACH_~1\AppData\Local\Temp\build2601187019232498030.tmp\ModbusESP8266Slave.cpp -o C:\Users\JOACH_~1\AppData\Local\Temp\build2601187019232498030.tmp\ModbusESP8266Slave.cpp.o
In file included from C:\Users\joach_000\Documents\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:32:0,
from ModbusESP8266Slave.ino:1:
C:\Users\joach_000\Documents\Arduino\libraries\ESP8266WiFi\src/WiFiClient.h:28:18: fatal error: memory: No such file or directory
#include <memory>
^
compilation terminated.
Error compiling.
Can somebody help me please?
Jinn
I tried to compile the ModbusESP8266Slave.ino and i get this error messages:
Arduino: 1.6.5 (Windows 8.1), Board: "Arduino/Genuino Uno"
Using library ESP8266WiFi in folder: C:\Users\joach_000\Documents\Arduino\libraries\ESP8266WiFi
Using library ModbusTCPSlave in folder: C:\Users\joach_000\Documents\Arduino\libraries\ModbusTCPSlave (legacy)
WARNING: library ESP8266WiFi claims to run on [esp8266] architecture(s) and may be incompatible with your current board which runs on [avr] architecture(s).
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10605 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard -IC:\Users\joach_000\Documents\Arduino\libraries\ESP8266WiFi\src -IC:\Users\joach_000\Documents\Arduino\libraries\ModbusTCPSlave C:\Users\JOACH_~1\AppData\Local\Temp\build2601187019232498030.tmp\ModbusESP8266Slave.cpp -o C:\Users\JOACH_~1\AppData\Local\Temp\build2601187019232498030.tmp\ModbusESP8266Slave.cpp.o
In file included from C:\Users\joach_000\Documents\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:32:0,
from ModbusESP8266Slave.ino:1:
C:\Users\joach_000\Documents\Arduino\libraries\ESP8266WiFi\src/WiFiClient.h:28:18: fatal error: memory: No such file or directory
#include <memory>
^
compilation terminated.
Error compiling.
Can somebody help me please?
Jinn
- adafruit_support_mike
- Posts: 68231
- Joined: Thu Feb 11, 2010 2:51 pm
Re: MODBUS TCP via WiFi Shield
Where did you get the ESP8266WiFi library?
- blue_lightning
- Posts: 1
- Joined: Fri Oct 16, 2015 2:36 am
Re: MODBUS TCP via WiFi Shield
Hi frank_dunn1!
I have got the ESP8266 up and running with the “ModbusTCPSlave.zip” library. But I also need to reconnect the TCP Modbus master simulator (http://en.radzio.dxp.pl/modbus-master-simulator/) to get an updated value.
You used the Ticker library to call functions in the main loop, could you provide me with an example sketch with the ModbusTCPSlave and the Ticker library??
By The Way, the TCP-modbus standard port is 502 but the ModbusTCPSlave library is set to 1502!
I have got the ESP8266 up and running with the “ModbusTCPSlave.zip” library. But I also need to reconnect the TCP Modbus master simulator (http://en.radzio.dxp.pl/modbus-master-simulator/) to get an updated value.
You used the Ticker library to call functions in the main loop, could you provide me with an example sketch with the ModbusTCPSlave and the Ticker library??
By The Way, the TCP-modbus standard port is 502 but the ModbusTCPSlave library is set to 1502!
Please be positive and constructive with your questions and comments.