Error in Arduino Cloud Web Editor

Hi Experts, I am facing a problem in Arduino Cloud Sketch Web editor. The code is ending up with an error " 'SWSERIAL_8N1' was not declared in this scope". I am using the program for communicating to MODBUS meter. The library which I am using is ModbusRTU.h for modbus traffic. The same code is working properly in Arduino IDE, but when I configured the code in Arduino Cloud with the necessary changes, it is giving the error. I uploaded the same MODBUS library to Arduino Cloud Library Manager but still the same problem exists. What would have been the reason and what is wrong in my code? As far as I understand, no need to declare 'SWSERIAL_8N1 as it is taking from the library, am I right? kindly help me to resolve the problem.

#include "thingProperties.h"
#include "ModbusRTU.h"
#include "SoftwareSerial.h"

float InttoFloat(uint16_t Data0,uint16_t Data1) {
float x;
unsigned long p;
p = (unsigned long
)&x;
*p = (unsigned long)Data0 << 16 | Data1; //Big-endian
return(x);
}
SoftwareSerial S(D6, D7);

ModbusRTU mb;

bool cb(Modbus::ResultCode event, uint16_t transactionId, void* data) { // Callback to monitor errors
if (event != Modbus::EX_SUCCESS) {
Serial.print("Request result: 0x");
Serial.print(event, HEX);
}
return true;
}

uint16_t val[2];
uint16_t val1[2];
uint16_t val2[2];
uint16_t val3[2];
uint16_t val4[2];

void setup() {
// Initialize serial and wait for port to open:
Serial.begin(9600);
S.begin(9600, SWSERIAL_8N1);
mb.begin(&S,D5); // RE/DE connected to D5 of ESP8266
mb.master();

// This delay gives the chance to wait for a Serial Monitor without blocking if none is found
delay(1500);

// Defined in thingProperties.h
initProperties();

// Connect to Arduino IoT Cloud
ArduinoCloud.begin(ArduinoIoTPreferredConnection);

/*
The following function allows you to obtain more information
related to the state of network and IoT Cloud connection and errors
the higher number the more granular information you’ll get.
The default is 0 (only errors).
Maximum is 4
*/
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
}

void handleVoltage() {

if (!mb.slave()) {
mb.readIreg(1, 21, val, 2, cb);
while(mb.slave()) { // Check if transaction is active
mb.task();
delay(10);
}
Serial.println("Voltage: ");
//Serial.println(InttoFloat(val[0],val[1]));
voltage = (InttoFloat(val[0],val[1]));
Serial.println (voltage);
}
delay(1000);
}

void handleCurrent() {

if (!mb.slave()) {
mb.readIreg(1, 23, val1, 2, cb);
while(mb.slave()) { // Check if transaction is active
mb.task();
delay(10);
}
Serial.println("Current: ");
//Serial.println(InttoFloat(val1[0],val1[1]));
current = (InttoFloat(val1[0],val1[1]));
Serial.println(current);

  }

delay(1000);
}

void handleWattage() {

if (!mb.slave()) {
mb.readIreg(1, 15, val3, 2, cb);
while(mb.slave()) { // Check if transaction is active
mb.task();
delay(10);
}
Serial.println("Kilo Watt: ");
//Serial.println(InttoFloat(val3[0],val3[1]));
power = (InttoFloat(val3[0],val3[1]));
Serial.println(power);

  }

delay(1000);
}

void handlekWH() {

if (!mb.slave()) {
mb.readIreg(1, 01, val4, 2, cb);
while(mb.slave()) { // Check if transaction is active
mb.task();
delay(10);
}
Serial.println("Kilo Watt Hour: ");
//Serial.println(InttoFloat(val4[0],val4[1]));
energy = (InttoFloat(val4[0],val4[1]));
Serial.println(energy);

  }

delay(1000);
}

void loop() {
ArduinoCloud.update();
// Your code here
handleVoltage();
handleCurrent();
handleWattage();
handlekWH();
delay(1000);

}

The SWSERIAL_8N1 parameters and presumably others like it are used by the EspSoftwareSerial library but you are using the normal SoftwareSerial library

Which board are you using ?

Hi, I am using NODEMCU 1.

Have you tried the EspSoftwareSerial library ?

yes, I tried now, still the same issue

I have done some digging and experimentation

  • when you #include the espSoftwareSerial library it is referred to in the sketch as SoftWareSerial, which is confusing
  • using the SWSERIAL_8N1 parameter does not compile when you use an ESP8266 board
  • using the SWSERIAL_8N1 parameter does compile when you use an ESP32 board

This raises the question as to why you want to use SWSERIAL_8N1 in the first place

I am using the RS485 interface for communicating to the MODBUS devices. I am using the same code with the NODEMCU for reading the data from MODBUS Meters and MODBUS thermostats with the same code compiled through Arduino IDE. It is working perfectly. I really don't understand why the code is ending with the error. You can refer the library documentation from the below link.

The default is 8 bits, no parity, 1 stop bit so why do you need to specify it using SWSERIAL_8N1 ?

Please post the full error message that you get when you use SWSERIAL_8N1 so that we can see exactly where the error is occurring

What happens if you don't use the parameter ?

When I am using 'SoftwareSerial.h' library, I am getting only the error " 'SWSERIAL_8N1' was not declared in this scope" but when 'EspSoftwareSerial.h is using, I am getting the below errors:

/usr/local/bin/arduino-cli compile --fqbn esp8266:esp8266:nodemcuv2:baud=115200,dbg=Disabled,eesz=4M,exception=disabled,ip=lm2f,lvl=None____,vt=flash,wipe=none,xtal=80 --build-cache-path /tmp --output-dir /tmp/293049219/build --build-path /tmp/arduino-build-066A1CF1313387E15C0E432B0DD28B09 --library /mnt/create-efs/webide/00/60/00600645187e4d429dda9531df88ce7f:sunilpallikkara/libraries_v2/modbus-esp8266 --library /home/builder/opt/libraries/modbusrtu_1_0_1 --library /home/builder/opt/libraries/modbus_esp8266_4_1_0 --library /home/builder/opt/libraries/espsoftwareserial_8_1_0 /tmp/293049219/Electrical_Meter_mar08a

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:48:43: error: expected initializer before 'vPtrToFunPtrExec'

ALWAYS_INLINE_ATTR inline R IRAM_ATTR vPtrToFunPtrExec(void* fn, P... args)

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:248:28: error: expected ';' at end of member declaration

DelegatePImpl& IRAM_ATTR operator=(std::nullptr_t)

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:248:62: error: ISO C++ forbids declaration of 'operator=' with no type [-fpermissive]

DelegatePImpl& IRAM_ATTR operator=(std::nullptr_t)

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:263:13: error: 'IRAM_ATTR' does not name a type

IRAM_ATTR operator bool() const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:279:29: error: 'IRAM_ATTR' declared as an 'inline' field

static inline R IRAM_ATTR vPtrToFunAPtrExec(void* self, P... args) ALWAYS_INLINE_ATTR

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:279:29: error: expected ';' at end of member declaration

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:279:29: error: 'R delegate::detail::DelegatePImpl<A, R, P>::IRAM_ATTR' conflicts with a previous declaration

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:248:28: note: previous declaration 'delegate::detail::DelegatePImpl<A, R, P>& delegate::detail::DelegatePImpl<A, R, P>::IRAM_ATTR'

DelegatePImpl& IRAM_ATTR operator=(std::nullptr_t)

^

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:33:57: error: ISO C++ forbids declaration of 'vPtrToFunAPtrExec' with no type [-fpermissive]

#define ALWAYS_INLINE_ATTR __attribute__((always_inline))

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:279:80: note: in expansion of macro 'ALWAYS_INLINE_ATTR'

static inline R IRAM_ATTR vPtrToFunAPtrExec(void* self, P... args) ALWAYS_INLINE_ATTR

^

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:341:15: error: expected ';' at end of member declaration

R IRAM_ATTR operator()(P... args) const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:341:15: error: redeclaration of 'R delegate::detail::DelegatePImpl<A, R, P>::IRAM_ATTR'

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:248:28: note: previous declaration 'delegate::detail::DelegatePImpl<A, R, P>& delegate::detail::DelegatePImpl<A, R, P>::IRAM_ATTR'

DelegatePImpl& IRAM_ATTR operator=(std::nullptr_t)

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:341:47: error: ISO C++ forbids declaration of 'operator()' with no type [-fpermissive]

R IRAM_ATTR operator()(P... args) const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h: In member function 'delegate::detail::DelegatePImpl<A, R, P>::operator delegate::detail::DelegatePImpl<A, R, P>::FunVPPtr() const':

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:290:28: error: 'vPtrToFunPtrExec' was not declared in this scope

return vPtrToFunPtrExec<R, P...>;

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:290:46: error: expected primary-expression before ',' token

return vPtrToFunPtrExec<R, P...>;

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:290:49: error: expected primary-expression before '...' token

return vPtrToFunPtrExec<R, P...>;

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:290:49: error: expected ';' before '...' token

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:290:49: error: expected primary-expression before '...' token

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:290:49: error: expected ';' before '...' token

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h: At global scope:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:710:28: error: expected ';' at end of member declaration

DelegatePImpl& IRAM_ATTR operator=(std::nullptr_t)

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:710:62: error: ISO C++ forbids declaration of 'operator=' with no type [-fpermissive]

DelegatePImpl& IRAM_ATTR operator=(std::nullptr_t)

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:721:13: error: 'IRAM_ATTR' does not name a type

IRAM_ATTR operator bool() const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:780:15: error: expected ';' at end of member declaration

R IRAM_ATTR operator()(P... args) const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:780:15: error: redeclaration of 'R delegate::detail::DelegatePImpl<void, R, P ...>::IRAM_ATTR'

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:710:28: note: previous declaration 'delegate::detail::DelegatePImpl<void, R, P ...>& delegate::detail::DelegatePImpl<void, R, P ...>::IRAM_ATTR'

DelegatePImpl& IRAM_ATTR operator=(std::nullptr_t)

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:780:47: error: ISO C++ forbids declaration of 'operator()' with no type [-fpermissive]

R IRAM_ATTR operator()(P... args) const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h: In member function 'delegate::detail::DelegatePImpl<void, R, P ...>::operator delegate::detail::DelegatePImpl<void, R, P ...>::FunVPPtr() const':

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:737:28: error: 'vPtrToFunPtrExec' was not declared in this scope

return vPtrToFunPtrExec<R, P...>;

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:737:46: error: expected primary-expression before ',' token

return vPtrToFunPtrExec<R, P...>;

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:737:49: error: expected primary-expression before '...' token

return vPtrToFunPtrExec<R, P...>;

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:737:49: error: expected ';' before '...' token

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:737:49: error: expected primary-expression before '...' token

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:737:49: error: expected ';' before '...' token

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h: At global scope:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1085:27: error: expected ';' at end of member declaration

DelegateImpl& IRAM_ATTR operator=(std::nullptr_t)

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1085:61: error: ISO C++ forbids declaration of 'operator=' with no type [-fpermissive]

DelegateImpl& IRAM_ATTR operator=(std::nullptr_t)

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1100:13: error: 'IRAM_ATTR' does not name a type

IRAM_ATTR operator bool() const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1116:29: error: 'IRAM_ATTR' declared as an 'inline' field

static inline R IRAM_ATTR vPtrToFunAPtrExec(void* self) ALWAYS_INLINE_ATTR

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1116:29: error: expected ';' at end of member declaration

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1116:29: error: 'R delegate::detail::DelegateImpl<A, R>::IRAM_ATTR' conflicts with a previous declaration

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1085:27: note: previous declaration 'delegate::detail::DelegateImpl<A, R>& delegate::detail::DelegateImpl<A, R>::IRAM_ATTR'

DelegateImpl& IRAM_ATTR operator=(std::nullptr_t)

^

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:33:57: error: ISO C++ forbids declaration of 'vPtrToFunAPtrExec' with no type [-fpermissive]

#define ALWAYS_INLINE_ATTR __attribute__((always_inline))

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1116:69: note: in expansion of macro 'ALWAYS_INLINE_ATTR'

static inline R IRAM_ATTR vPtrToFunAPtrExec(void* self) ALWAYS_INLINE_ATTR

^

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1177:15: error: expected ';' at end of member declaration

R IRAM_ATTR operator()() const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1177:15: error: redeclaration of 'R delegate::detail::DelegateImpl<A, R>::IRAM_ATTR'

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1085:27: note: previous declaration 'delegate::detail::DelegateImpl<A, R>& delegate::detail::DelegateImpl<A, R>::IRAM_ATTR'

DelegateImpl& IRAM_ATTR operator=(std::nullptr_t)

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1177:38: error: ISO C++ forbids declaration of 'operator()' with no type [-fpermissive]

R IRAM_ATTR operator()() const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1545:27: error: expected ';' at end of member declaration

DelegateImpl& IRAM_ATTR operator=(std::nullptr_t)

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1545:61: error: ISO C++ forbids declaration of 'operator=' with no type [-fpermissive]

DelegateImpl& IRAM_ATTR operator=(std::nullptr_t)

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1556:13: error: 'IRAM_ATTR' does not name a type

IRAM_ATTR operator bool() const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1615:15: error: expected ';' at end of member declaration

R IRAM_ATTR operator()() const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1615:15: error: redeclaration of 'R delegate::detail::DelegateImpl<void, R>::IRAM_ATTR'

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1545:27: note: previous declaration 'delegate::detail::DelegateImpl<void, R>& delegate::detail::DelegateImpl<void, R>::IRAM_ATTR'

DelegateImpl& IRAM_ATTR operator=(std::nullptr_t)

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1615:38: error: ISO C++ forbids declaration of 'operator()' with no type [-fpermissive]

R IRAM_ATTR operator()() const

^

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1789:30: error: 'IRAM_ATTR' declared as an 'inline' field

inline Delegate& IRAM_ATTR operator=(std::nullptr_t) ALWAYS_INLINE_ATTR {

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1789:30: error: expected ';' at end of member declaration

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:33:57: error: ISO C++ forbids declaration of 'operator=' with no type [-fpermissive]

#define ALWAYS_INLINE_ATTR __attribute__((always_inline))

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1789:66: note: in expansion of macro 'ALWAYS_INLINE_ATTR'

inline Delegate& IRAM_ATTR operator=(std::nullptr_t) ALWAYS_INLINE_ATTR {

^

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1868:30: error: 'IRAM_ATTR' declared as an 'inline' field

inline Delegate& IRAM_ATTR operator=(std::nullptr_t) ALWAYS_INLINE_ATTR {

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1868:30: error: expected ';' at end of member declaration

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:33:57: error: ISO C++ forbids declaration of 'operator=' with no type [-fpermissive]

#define ALWAYS_INLINE_ATTR __attribute__((always_inline))

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1868:66: note: in expansion of macro 'ALWAYS_INLINE_ATTR'

inline Delegate& IRAM_ATTR operator=(std::nullptr_t) ALWAYS_INLINE_ATTR {

^

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1924:30: error: 'IRAM_ATTR' declared as an 'inline' field

inline Delegate& IRAM_ATTR operator=(std::nullptr_t) ALWAYS_INLINE_ATTR {

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1924:30: error: expected ';' at end of member declaration

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:33:57: error: ISO C++ forbids declaration of 'operator=' with no type [-fpermissive]

#define ALWAYS_INLINE_ATTR __attribute__((always_inline))

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1924:66: note: in expansion of macro 'ALWAYS_INLINE_ATTR'

inline Delegate& IRAM_ATTR operator=(std::nullptr_t) ALWAYS_INLINE_ATTR {

^

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1985:30: error: 'IRAM_ATTR' declared as an 'inline' field

inline Delegate& IRAM_ATTR operator=(std::nullptr_t) ALWAYS_INLINE_ATTR {

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1985:30: error: expected ';' at end of member declaration

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:33:57: error: ISO C++ forbids declaration of 'operator=' with no type [-fpermissive]

#define ALWAYS_INLINE_ATTR __attribute__((always_inline))

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1985:66: note: in expansion of macro 'ALWAYS_INLINE_ATTR'

inline Delegate& IRAM_ATTR operator=(std::nullptr_t) ALWAYS_INLINE_ATTR {

^

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2064:30: error: 'IRAM_ATTR' declared as an 'inline' field

inline Delegate& IRAM_ATTR operator=(std::nullptr_t) ALWAYS_INLINE_ATTR {

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2064:30: error: expected ';' at end of member declaration

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:33:57: error: ISO C++ forbids declaration of 'operator=' with no type [-fpermissive]

#define ALWAYS_INLINE_ATTR __attribute__((always_inline))

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2064:66: note: in expansion of macro 'ALWAYS_INLINE_ATTR'

inline Delegate& IRAM_ATTR operator=(std::nullptr_t) ALWAYS_INLINE_ATTR {

^

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2120:30: error: 'IRAM_ATTR' declared as an 'inline' field

inline Delegate& IRAM_ATTR operator=(std::nullptr_t) ALWAYS_INLINE_ATTR {

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2120:30: error: expected ';' at end of member declaration

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:33:57: error: ISO C++ forbids declaration of 'operator=' with no type [-fpermissive]

#define ALWAYS_INLINE_ATTR __attribute__((always_inline))

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2120:66: note: in expansion of macro 'ALWAYS_INLINE_ATTR'

inline Delegate& IRAM_ATTR operator=(std::nullptr_t) ALWAYS_INLINE_ATTR {

^

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2165:22: error: 'IRAM_ATTR' declared as an 'inline' field

inline Delegate& IRAM_ATTR operator=(std::nullptr_t) ALWAYS_INLINE_ATTR {

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2165:22: error: expected ';' at end of member declaration

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:33:57: error: ISO C++ forbids declaration of 'operator=' with no type [-fpermissive]

#define ALWAYS_INLINE_ATTR __attribute__((always_inline))

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2165:58: note: in expansion of macro 'ALWAYS_INLINE_ATTR'

inline Delegate& IRAM_ATTR operator=(std::nullptr_t) ALWAYS_INLINE_ATTR {

^

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2203:22: error: 'IRAM_ATTR' declared as an 'inline' field

inline Delegate& IRAM_ATTR operator=(std::nullptr_t) ALWAYS_INLINE_ATTR {

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2203:22: error: expected ';' at end of member declaration

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:33:57: error: ISO C++ forbids declaration of 'operator=' with no type [-fpermissive]

#define ALWAYS_INLINE_ATTR __attribute__((always_inline))

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2203:58: note: in expansion of macro 'ALWAYS_INLINE_ATTR'

inline Delegate& IRAM_ATTR operator=(std::nullptr_t) ALWAYS_INLINE_ATTR {

^

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25:0,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:118:12: error: expected ';' at end of member declaration

size_t IRAM_ATTR available() const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:118:34: error: ISO C++ forbids declaration of 'available' with no type [-fpermissive]

size_t IRAM_ATTR available() const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:128:12: error: expected ';' at end of member declaration

size_t IRAM_ATTR available_for_push() const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:128:12: error: redeclaration of 'size_t circular_queue<T, ForEachArg>::IRAM_ATTR'

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:118:12: note: previous declaration 'size_t circular_queue<T, ForEachArg>::IRAM_ATTR'

size_t IRAM_ATTR available() const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:128:43: error: ISO C++ forbids declaration of 'available_for_push' with no type [-fpermissive]

size_t IRAM_ATTR available_for_push() const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:151:8: error: expected ';' at end of member declaration

T& IRAM_ATTR pushpeek()

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:151:8: error: redeclaration of 'T& circular_queue<T, ForEachArg>::IRAM_ATTR'

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:118:12: note: previous declaration 'size_t circular_queue<T, ForEachArg>::IRAM_ATTR'

size_t IRAM_ATTR available() const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:151:27: error: ISO C++ forbids declaration of 'pushpeek' with no type [-fpermissive]

T& IRAM_ATTR pushpeek()

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:163:10: error: expected ';' at end of member declaration

bool IRAM_ATTR push()

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:163:10: error: redeclaration of 'bool circular_queue<T, ForEachArg>::IRAM_ATTR'

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:118:12: note: previous declaration 'size_t circular_queue<T, ForEachArg>::IRAM_ATTR'

size_t IRAM_ATTR available() const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:163:25: error: ISO C++ forbids declaration of 'push' with no type [-fpermissive]

bool IRAM_ATTR push()

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:180:10: error: expected ';' at end of member declaration

bool IRAM_ATTR push(T&& val)

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:180:10: error: redeclaration of 'bool circular_queue<T, ForEachArg>::IRAM_ATTR'

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:118:12: note: previous declaration 'size_t circular_queue<T, ForEachArg>::IRAM_ATTR'

size_t IRAM_ATTR available() const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:180:32: error: ISO C++ forbids declaration of 'push' with no type [-fpermissive]

bool IRAM_ATTR push(T&& val)

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:198:17: error: 'IRAM_ATTR' declared as an 'inline' field

inline bool IRAM_ATTR push(const T& val) ALWAYS_INLINE_ATTR

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:198:17: error: expected ';' at end of member declaration

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:198:17: error: redeclaration of 'bool circular_queue<T, ForEachArg>::IRAM_ATTR'

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:118:12: note: previous declaration 'size_t circular_queue<T, ForEachArg>::IRAM_ATTR'

size_t IRAM_ATTR available() const

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:43:57: error: ISO C++ forbids declaration of 'push' with no type [-fpermissive]

#define ALWAYS_INLINE_ATTR __attribute__((always_inline))

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:198:46: note: in expansion of macro 'ALWAYS_INLINE_ATTR'

inline bool IRAM_ATTR push(const T& val) ALWAYS_INLINE_ATTR

^

In file included from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:0:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h: In static member function 'static constexpr bool EspSoftwareSerial::GpioCapabilities::hasPullUp(int8_t)':

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:102:5: error: body of constexpr function 'static constexpr bool EspSoftwareSerial::GpioCapabilities::hasPullUp(int8_t)' not a return-statement

}

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h: At global scope:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:321:28: error: 'IRAM_ATTR' declared as an 'inline' field

static inline uint32_t IRAM_ATTR microsToTicks(uint32_t micros) ALWAYS_INLINE_ATTR {

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:321:28: error: expected ';' at end of member declaration

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25:0,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:43:57: error: ISO C++ forbids declaration of 'microsToTicks' with no type [-fpermissive]

#define ALWAYS_INLINE_ATTR __attribute__((always_inline))

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:321:69: note: in expansion of macro 'ALWAYS_INLINE_ATTR'

static inline uint32_t IRAM_ATTR microsToTicks(uint32_t micros) ALWAYS_INLINE_ATTR {

^

In file included from /home/builder/.arduino15/packages/esp8266/hardware/esp8266/2.5.0/cores/esp8266/Arduino.h:29:0,

from /tmp/arduino-build-066A1CF1313387E15C0E432B0DD28B09/sketch/Electrical_Meter_mar08a.ino.cpp:1:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h: In instantiation of 'class delegate::detail::Delegate<EspSoftwareSerial::UARTBase*, void, unsigned int&&>':

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2129:55: required from 'class Delegate<void(unsigned int&&), EspSoftwareSerial::UARTBase*>'

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:369:145: required from here

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1808:64: error: no members matching 'delegate::detail::DelegatePImpl<EspSoftwareSerial::UARTBase*, void, unsigned int&&>::operator bool' in 'class delegate::detail::DelegatePImpl<EspSoftwareSerial::UARTBase*, void, unsigned int&&>'

using detail::DelegatePImpl<A*, R, P...>::operator bool;

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h: In instantiation of 'class delegate::detail::Delegate<void*, void>':

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2129:55: required from 'class Delegate<void(), void*>'

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:373:29: required from here

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2004:57: error: no members matching 'delegate::detail::DelegateImpl<void*, void>::operator bool' in 'class delegate::detail::DelegateImpl<void*, void>'

using detail::DelegateImpl<A*, R>::operator bool;

^

In file included from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:0:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:199:9: error: 'int EspSoftwareSerial::UARTBase::availableForWrite()' marked override, but does not override

int availableForWrite() override {

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:226:9: error: 'int EspSoftwareSerial::UARTBase::read(uint8_t*, size_t)' marked override, but does not override

int read(uint8_t* buffer, size_t size)

^

In file included from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:0:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:442:22: error: template-id 'operator()<>' for 'void delegate::detail::DelegateImpl<void*, void>::operator()() const' does not match any template declaration

extern template void delegate::detail::DelegateImpl<void*, void>::operator()() const;

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:443:24: error: template-id 'available<>' for 'size_t circular_queue<unsigned int, EspSoftwareSerial::UARTBase*>::available() const' does not match any template declaration

extern template size_t circular_queue<uint32_t, EspSoftwareSerial::UARTBase*>::available() const;

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:444:22: error: template-id 'push<>' for 'bool circular_queue<unsigned int, EspSoftwareSerial::UARTBase*>::push(uint32_t&&)' does not match any template declaration

extern template bool circular_queue<uint32_t, EspSoftwareSerial::UARTBase*>::push(uint32_t&&);

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:445:22: error: template-id 'push<>' for 'bool circular_queue<unsigned int, EspSoftwareSerial::UARTBase*>::push(const uint32_t&)' does not match any template declaration

extern template bool circular_queue<uint32_t, EspSoftwareSerial::UARTBase*>::push(const uint32_t&);

^

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h: In instantiation of 'Delegate<R(P ...), A>::Delegate(typename delegate::detail::Delegate<A, R, P ...>::FunAPtr, const A&) [with A = EspSoftwareSerial::UARTBase*; R = void; P = {unsigned int&&}; typename delegate::detail::Delegate<A, R, P ...>::FunAPtr = void (*)(EspSoftwareSerial::UARTBase*, unsigned int&&)]':

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:369:145: required from here

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2142:5: error: uninitialized reference member 'Delegate<void(unsigned int&&), EspSoftwareSerial::UARTBase*>::IRAM_ATTR' [-fpermissive]

Delegate(typename delegate::detail::Delegate<A, R, P...>::FunAPtr fnA, const A& obj) : delegate::detail::Delegate<A, R, P...>::Delegate(fnA, obj) {}

^

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h: In instantiation of 'delegate::detail::Delegate<A*, R, P ...>::Delegate(delegate::detail::Delegate<A*, R, P ...>::FunAPtr, A*) [with A = EspSoftwareSerial::UARTBase; R = void; P = {unsigned int&&}; delegate::detail::Delegate<A*, R, P ...>::FunAPtr = void (*)(EspSoftwareSerial::UARTBase*, unsigned int&&)]':

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2142:149: required from 'Delegate<R(P ...), A>::Delegate(typename delegate::detail::Delegate<A, R, P ...>::FunAPtr, const A&) [with A = EspSoftwareSerial::UARTBase*; R = void; P = {unsigned int&&}; typename delegate::detail::Delegate<A, R, P ...>::FunAPtr = void (*)(EspSoftwareSerial::UARTBase*, unsigned int&&)]'

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:369:145: required from here

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1847:13: error: uninitialized reference member 'delegate::detail::Delegate<EspSoftwareSerial::UARTBase*, void, unsigned int&&>::IRAM_ATTR' [-fpermissive]

Delegate(FunAPtr fnA, A* obj) : detail::DelegatePImpl<A*, R, P...>::DelegatePImpl(fnA, obj) {}

^

In file included from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/circular_queue.h:31:0,

from /home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:25,

from /tmp/293049219/Electrical_Meter_mar08a/Electrical_Meter_mar08a.ino:26:

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h: In instantiation of 'delegate::detail::DelegatePImpl<A, R, P>::DelegatePImpl(delegate::detail::DelegatePImpl<A, R, P>::FunAPtr, const A&) [with A = EspSoftwareSerial::UARTBase*; R = void; P = {unsigned int&&}; delegate::detail::DelegatePImpl<A, R, P>::FunAPtr = void (*)(EspSoftwareSerial::UARTBase*, unsigned int&&)]':

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:1847:103: required from 'delegate::detail::Delegate<A*, R, P ...>::Delegate(delegate::detail::Delegate<A*, R, P ...>::FunAPtr, A*) [with A = EspSoftwareSerial::UARTBase; R = void; P = {unsigned int&&}; delegate::detail::Delegate<A*, R, P ...>::FunAPtr = void (*)(EspSoftwareSerial::UARTBase*, unsigned int&&)]'

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:2142:149: required from 'Delegate<R(P ...), A>::Delegate(typename delegate::detail::Delegate<A, R, P ...>::FunAPtr, const A&) [with A = EspSoftwareSerial::UARTBase*; R = void; P = {unsigned int&&}; typename delegate::detail::Delegate<A, R, P ...>::FunAPtr = void (*)(EspSoftwareSerial::UARTBase*, unsigned int&&)]'

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/SoftwareSerial.h:369:145: required from here

/home/builder/opt/libraries/espsoftwareserial_8_1_0/src/circular_queue/Delegate.h:129:13: error: uninitialized reference member 'delegate::detail::DelegatePImpl<EspSoftwareSerial::UARTBase*, void, unsigned int&&>::IRAM_ATTR' [-fpermissive]

DelegatePImpl(FunAPtr fnA, const A& obj)

^

Multiple libraries were found for "ModbusRTU.h"

Used: /mnt/create-efs/webide/00/60/00600645187e4d429dda9531df88ce7f:sunilpallikkara/libraries_v2/modbus-esp8266

Not used: /home/builder/opt/libraries/modbus_esp8266_4_1_0

Not used: /home/builder/opt/libraries/modbus_esp8266_4_1_0

Multiple libraries were found for "SoftwareSerial.h"

Used: /home/builder/opt/libraries/espsoftwareserial_8_1_0

Not used: /home/builder/opt/libraries/printoo_library_1_0_2

Not used: /home/builder/opt/libraries/espsoftwareserial_8_1_0

Not used: /home/builder/opt/libraries/mcci_sofwareserial_3_0_0

Not used: /home/builder/opt/libraries/dabble_1_5_2

Not used: /home/builder/opt/libraries/vega_softwareserial_1_0_0

Not used: /home/builder/.arduino15/packages/esp8266/hardware/esp8266/2.5.0/libraries/SoftwareSerial

Error during build: exit status 1

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.