Skip to content

Error compiling code: Adruino IDE 2.3.4. #377

Open
@hacesoft

Description

@hacesoft

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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions