Open
Description
Error compiling code: Adruino IDE 2.3.4. library version: ArduinoModbus 1.0.9. Run on NodeMCU. Relevant libraries in the project:
#include <stdio.h>
#include <string>
#ifdef DEBUG_Unit_Main
#include <iostream>
#include <cstdint>
#include <iomanip> // For std::setw and std::setfill
#endif
#include <Arduino.h>
#include <ModbusIP_ESP8266.h>
#include <LittleFS.h>
#include <ESP8266WiFi.h>
#include <ArduinoJson.h>
#include <ArduinoOTA.h>
I handle the administration via wifi myself, I only use the services of the basic library: #include <ESP8266WiFi.h> the first error is directly in the library code: #include <ModbusIP_ESP8266.h> specifically in the file: ModbusTCP.h where it is necessary to update the method on line 17, otherwise the compiler reports an obsolete method
class WiFiServerESPWrapper : public WiFiServer {
public:
WiFiServerESPWrapper(uint16_t port) : WiFiServer(port) {}
inline WiFiClient accept() {
return WiFiServer::accept();
}
};
the second code compilation error reports:
c:\data\modbus-esp8266\src\ModbusRTU.cpp: In member function 'uint16_t ModbusRTUTemplate::send(uint8_t, TAddress, cbTransaction, uint8_t, uint8_t*, bool)':
c:\data\modbus-esp8266\src\ModbusRTU.cpp:183:96: warning: unused parameter 'unit' [-Wunused-parameter]
183 | uint16_t ModbusRTUTemplate::send(uint8_t slaveId, TAddress startreg, cbTransaction cb, uint8_t unit, uint8_t* data, bool waitResponse) {
| ~~~~~~~~^~~~
c:\data\modbus-esp8266\src\Modbus.cpp: In member function 'void Modbus::slavePDU(uint8_t*)':
c:\data\modbus-esp8266\src\Modbus.cpp:318:25: warning: comparison is always false due to limited range of data type [-Wtype-limits]
318 | if (bufSize > MODBUS_MAX_FRAME) { // Frame to return too large
c:\data\modbus-esp8266\src\Modbus.cpp: In static member function 'static Modbus::ResultCode Modbus::_onRequestDefault(Modbus::FunctionCode, Modbus::RequestData)':
c:\data\modbus-esp8266\src\Modbus.cpp:905:67: warning: unused parameter 'fc' [-Wunused-parameter]
905 | Modbus::ResultCode Modbus::_onRequestDefault(Modbus::FunctionCode fc, const RequestData data) {
| ~~~~~~~~~~~~~~~~~~~~~~~^~
c:\data\modbus-esp8266\src\Modbus.cpp:905:89: warning: unused parameter 'data' [-Wunused-parameter]
905 | Modbus::ResultCode Modbus::_onRequestDefault(Modbus::FunctionCode fc, const RequestData data) {
| ~~~~^~~~
there, in the appropriate functions, it would be enough to add something like this under the function: (void)_params; // Suppress the warning about an unused parameter.
Metadata
Metadata
Assignees
Labels
No labels