NMRADCC Library on R4 Wifi

I have recently purchased R4 Uno Wifi and trying to reapply a sketch which is running on an R3 Uno using the NMRADCC library.

The #include <NmraDcc.h> command generates the below error, even if that is the only command in an otherwise completely new sketch.

Is this library incompatible with R4 Uno Wifi?

/Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp: In function 'void ExternalInterruptHandler()':
/Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:520:95: error: no matching function for call to 'attachInterrupt(uint8_t&, void (&)(), byte&)'
attachInterrupt (DccProcState.ExtIntNum, ExternalInterruptHandler, ISREdge);
^
In file included from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Interrupts.h:8:0,
from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/ArduinoAPI.h:29,
from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/Arduino.h:4,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.h:52,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:49:
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Common.h:113:6: note: candidate: void attachInterrupt(pin_size_t, voidFuncPtr, PinStatus)
void attachInterrupt(pin_size_t interruptNumber, voidFuncPtr callback, PinStatus mode);
^~~~~~~~~~~~~~~
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Common.h:113:6: note: conversion of argument 3 would be ill-formed:
/Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:520:95: error: invalid conversion from 'byte {aka unsigned char}' to 'PinStatus' [-fpermissive]
attachInterrupt (DccProcState.ExtIntNum, ExternalInterruptHandler, ISREdge);
^
In file included from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/ArduinoAPI.h:29:0,
from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/Arduino.h:4,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.h:52,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:49:
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Interrupts.h:38:27: note: candidate: template void arduino::attachInterrupt(pin_size_t, arduino::voidTemplateFuncPtrParam<T*>, PinStatus, T*)
template void attachInterrupt(pin_size_t interruptNum, voidTemplateFuncPtrParam<T*> userFunc, PinStatus mode, T* param) {
^~~~~~~~~~~~~~~
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Interrupts.h:38:27: note: template argument deduction/substitution failed:
/Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:520:95: note: candidate expects 1 argument, 0 provided
attachInterrupt (DccProcState.ExtIntNum, ExternalInterruptHandler, ISREdge);
^
In file included from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/ArduinoAPI.h:29:0,
from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/Arduino.h:4,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.h:52,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:49:
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Interrupts.h:21:27: note: candidate: template void arduino::attachInterrupt(pin_size_t, arduino::voidTemplateFuncPtrParam, PinStatus, T&)
template void attachInterrupt(pin_size_t interruptNum, voidTemplateFuncPtrParam userFunc, PinStatus mode, T& param) {
^~~~~~~~~~~~~~~
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Interrupts.h:21:27: note: template argument deduction/substitution failed:
/Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:520:95: note: candidate expects 1 argument, 0 provided
attachInterrupt (DccProcState.ExtIntNum, ExternalInterruptHandler, ISREdge);
^
/Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:577:87: error: no matching function for call to 'attachInterrupt(uint8_t&, void (&)(), byte&)'
attachInterrupt (DccProcState.ExtIntNum, ExternalInterruptHandler, ISREdge);
^
In file included from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Interrupts.h:8:0,
from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/ArduinoAPI.h:29,
from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/Arduino.h:4,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.h:52,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:49:
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Common.h:113:6: note: candidate: void attachInterrupt(pin_size_t, voidFuncPtr, PinStatus)
void attachInterrupt(pin_size_t interruptNumber, voidFuncPtr callback, PinStatus mode);
^~~~~~~~~~~~~~~
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Common.h:113:6: note: conversion of argument 3 would be ill-formed:
/Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:577:87: error: invalid conversion from 'byte {aka unsigned char}' to 'PinStatus' [-fpermissive]
attachInterrupt (DccProcState.ExtIntNum, ExternalInterruptHandler, ISREdge);
^
In file included from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/ArduinoAPI.h:29:0,
from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/Arduino.h:4,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.h:52,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:49:
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Interrupts.h:38:27: note: candidate: template void arduino::attachInterrupt(pin_size_t, arduino::voidTemplateFuncPtrParam<T*>, PinStatus, T*)
template void attachInterrupt(pin_size_t interruptNum, voidTemplateFuncPtrParam<T*> userFunc, PinStatus mode, T* param) {
^~~~~~~~~~~~~~~
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Interrupts.h:38:27: note: template argument deduction/substitution failed:
/Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:577:87: note: candidate expects 1 argument, 0 provided
attachInterrupt (DccProcState.ExtIntNum, ExternalInterruptHandler, ISREdge);
^
In file included from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/ArduinoAPI.h:29:0,
from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/Arduino.h:4,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.h:52,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:49:
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Interrupts.h:21:27: note: candidate: template void arduino::attachInterrupt(pin_size_t, arduino::voidTemplateFuncPtrParam, PinStatus, T&)
template void attachInterrupt(pin_size_t interruptNum, voidTemplateFuncPtrParam userFunc, PinStatus mode, T& param) {
^~~~~~~~~~~~~~~
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Interrupts.h:21:27: note: template argument deduction/substitution failed:
/Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:577:87: note: candidate expects 1 argument, 0 provided
attachInterrupt (DccProcState.ExtIntNum, ExternalInterruptHandler, ISREdge);
^
/Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:626:87: error: no matching function for call to 'attachInterrupt(uint8_t&, void (&)(), byte&)'
attachInterrupt (DccProcState.ExtIntNum, ExternalInterruptHandler, ISREdge);
^
In file included from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Interrupts.h:8:0,
from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/ArduinoAPI.h:29,
from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/Arduino.h:4,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.h:52,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:49:
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Common.h:113:6: note: candidate: void attachInterrupt(pin_size_t, voidFuncPtr, PinStatus)
void attachInterrupt(pin_size_t interruptNumber, voidFuncPtr callback, PinStatus mode);
^~~~~~~~~~~~~~~
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Common.h:113:6: note: conversion of argument 3 would be ill-formed:
/Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:626:87: error: invalid conversion from 'byte {aka unsigned char}' to 'PinStatus' [-fpermissive]
attachInterrupt (DccProcState.ExtIntNum, ExternalInterruptHandler, ISREdge);
^
In file included from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/ArduinoAPI.h:29:0,
from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/Arduino.h:4,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.h:52,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:49:
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Interrupts.h:38:27: note: candidate: template void arduino::attachInterrupt(pin_size_t, arduino::voidTemplateFuncPtrParam<T*>, PinStatus, T*)
template void attachInterrupt(pin_size_t interruptNum, voidTemplateFuncPtrParam<T*> userFunc, PinStatus mode, T* param) {
^~~~~~~~~~~~~~~
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Interrupts.h:38:27: note: template argument deduction/substitution failed:
/Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:626:87: note: candidate expects 1 argument, 0 provided
attachInterrupt (DccProcState.ExtIntNum, ExternalInterruptHandler, ISREdge);
^
In file included from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/ArduinoAPI.h:29:0,
from /Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/Arduino.h:4,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.h:52,
from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:49:
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Interrupts.h:21:27: note: candidate: template void arduino::attachInterrupt(pin_size_t, arduino::voidTemplateFuncPtrParam, PinStatus, T&)
template void attachInterrupt(pin_size_t interruptNum, voidTemplateFuncPtrParam userFunc, PinStatus mode, T& param) {
^~~~~~~~~~~~~~~
/Users/davidcooksey/Library/Arduino15/packages/arduino/hardware/renesas_uno/1.2.0/cores/arduino/api/Interrupts.h:21:27: note: template argument deduction/substitution failed:
/Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:626:87: note: candidate expects 1 argument, 0 provided
attachInterrupt (DccProcState.ExtIntNum, ExternalInterruptHandler, ISREdge);
^
In file included from /Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:49:0:
/Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp: In function 'uint8_t validCV(uint16_t, uint8_t)':
/Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.h:134:22: error: 'E2END' was not declared in this scope
#define MAXCV E2END // the upper limit of the CV value currently defined to max memory.
^
/Users/davidcooksey/Documents/Arduino/libraries/NmraDcc/NmraDcc.cpp:846:14: note: in expansion of macro 'MAXCV'
if (CV > MAXCV)
^~~~~

exit status 1

Compilation error: exit status 1

Developer of the NMRADCC library has now updated it and it works all good on the Arduino R4 Wifi.

Today I ran into exactly the same issue with an Uno R4 Minima. Although the library should be updated (and I am using the latest version), I am getting these errors. Anybody any thoughts on how to make this work?

Thanks, Huib