no this is the transmitter who is connect to xiao, is connect to D3, is it bad ?
In any case, Iâve tried nearly all the wire combinations, whether itâs on the XIAO or the Arduino
/// Constructor.
/// At present only one instance of RH_ASK per sketch is supported.
/// \param[in] speed The desired bit rate in bits per second
/// \param[in] rxPin The pin that is used to get data from the receiver
/// \param[in] txPin The pin that is used to send data to the transmitter
/// \param[in] pttPin The pin that is connected to the transmitter controller. It will be set HIGH to enable the transmitter (unless pttInverted is true).
/// \param[in] pttInverted true if you desire the pttin to be inverted so that LOW wil enable the transmitter.
RH_ASK(uint16_t speed = 2000, uint8_t rxPin = 11, uint8_t txPin = 12, uint8_t pttPin = 10, bool pttInverted = false);
It appears that RH_ASK requires 5 arguments.
static const uint8_t D0 = 2;
static const uint8_t D1 = 3;
static const uint8_t D2 = 4;
static const uint8_t D3 = 5;
static const uint8_t D4 = 6;
static const uint8_t D5 = 7;
static const uint8_t D6 = 21;
static const uint8_t D7 = 20;
static const uint8_t D8 = 8;
static const uint8_t D9 = 9;
static const uint8_t D10 = 10;
When connecting to XIAO, âthe pin numberâ and âpin nameâ must be carefully checked.
ho, what is the utility of pttPin, I really need to put it?
/// \param[in] pttPin The pin that is connected to the transmitter controller. It will be set HIGH to enable the transmitter
Do you need to set the pin mode? For example.
pinMode(D3, OUTPUT);
Since I donât have the hardware, I canât check your connection and sketch.
Well, I donât know by what miracle, but I changed the pin numbers in the code, I relocated the transmitter, and MIRACLE it works! So, a big thank you because youâve helped me so much. Without you, it would have taken 20 times longer. As we say where Iâm from, tu gère.
Glad I could be of help.
Adding on to this as I am running into the same issue.
I am using the XIAO ESP32C3 with
RadioHead v1.122.1
esp32 v2.0.14
In the Arduino IDE v2.3.2
I have the following test code, just trying to get the RFM95 transceiver setup to compile.
#include <RH_RF95.h>
#include <RHReliableDatagram.h>
//RH_RF95 rf95(1, 2);
//RHReliableDatagram manager(rf95, 1);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
delay(1000);
}
void loop() {
// put your main code here, to run repeatedly:
delay(1000);
}
In file included from c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RHGenericDriver.h:9,
from c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RHNRFSPIDriver.h:9,
from c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RH_CC110.h:17,
from c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_CC110.cpp:8:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_CC110.cpp: In member function âvoid RH_CC110::clearRxBuf()â:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: error: âXTOS_DISABLE_ALL_INTERRUPTSâ was not declared in this scope
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_CC110.cpp:293:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: note: suggested alternative: âtaskDISABLE_INTERRUPTSâ
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_CC110.cpp:293:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: error: âXTOS_RESTORE_INTLEVELâ was not declared in this scope
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_CC110.cpp:296:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: note: suggested alternative: âSOC_SYSTIMER_INT_LEVELâ
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_CC110.cpp:296:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_CC110.cpp: In member function âvirtual bool RH_CC110::recv(uint8_t*, uint8_t*)â:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: error: âXTOS_DISABLE_ALL_INTERRUPTSâ was not declared in this scope
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_CC110.cpp:306:2: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: note: suggested alternative: âtaskDISABLE_INTERRUPTSâ
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_CC110.cpp:306:2: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: error: âXTOS_RESTORE_INTLEVELâ was not declared in this scope
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_CC110.cpp:311:2: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: note: suggested alternative: âSOC_SYSTIMER_INT_LEVELâ
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_CC110.cpp:311:2: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
In file included from c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RHGenericDriver.h:9,
from c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RHNRFSPIDriver.h:9,
from c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:6:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp: In member function âuint8_t RHNRFSPIDriver::spiCommand(uint8_t)â:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: error: âXTOS_DISABLE_ALL_INTERRUPTSâ was not declared in this scope
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:34:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: note: suggested alternative: âtaskDISABLE_INTERRUPTSâ
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:34:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: error: âXTOS_RESTORE_INTLEVELâ was not declared in this scope
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:44:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: note: suggested alternative: âSOC_SYSTIMER_INT_LEVELâ
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:44:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp: In member function âuint8_t RHNRFSPIDriver::spiRead(uint8_t)â:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: error: âXTOS_DISABLE_ALL_INTERRUPTSâ was not declared in this scope
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:51:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: note: suggested alternative: âtaskDISABLE_INTERRUPTSâ
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:51:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: error: âXTOS_RESTORE_INTLEVELâ was not declared in this scope
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:62:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: note: suggested alternative: âSOC_SYSTIMER_INT_LEVELâ
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:62:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp: In member function âuint8_t RHNRFSPIDriver::spiWrite(uint8_t, uint8_t)â:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: error: âXTOS_DISABLE_ALL_INTERRUPTSâ was not declared in this scope
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:69:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: note: suggested alternative: âtaskDISABLE_INTERRUPTSâ
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:69:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: error: âXTOS_RESTORE_INTLEVELâ was not declared in this scope
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:86:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: note: suggested alternative: âSOC_SYSTIMER_INT_LEVELâ
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:86:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp: In member function âuint8_t RHNRFSPIDriver::spiBurstRead(uint8_t, uint8_t*, uint8_t)â:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: error: âXTOS_DISABLE_ALL_INTERRUPTSâ was not declared in this scope
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:93:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: note: suggested alternative: âtaskDISABLE_INTERRUPTSâ
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:93:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: error: âXTOS_RESTORE_INTLEVELâ was not declared in this scope
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:105:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: note: suggested alternative: âSOC_SYSTIMER_INT_LEVELâ
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:105:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp: In member function âuint8_t RHNRFSPIDriver::spiBurstWrite(uint8_t, const uint8_t*, uint8_t)â:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: error: âXTOS_DISABLE_ALL_INTERRUPTSâ was not declared in this scope
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:112:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: note: suggested alternative: âtaskDISABLE_INTERRUPTSâ
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:112:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: error: âXTOS_RESTORE_INTLEVELâ was not declared in this scope
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:124:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: note: suggested alternative: âSOC_SYSTIMER_INT_LEVELâ
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHNRFSPIDriver.cpp:124:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
In file included from c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RHGenericDriver.h:9,
from c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RHNRFSPIDriver.h:9,
from c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RH_MRF89.h:15,
from c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_MRF89.cpp:6:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_MRF89.cpp: In member function âuint8_t RH_MRF89::spiWriteData(const uint8_t*, uint8_t)â:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: error: âXTOS_DISABLE_ALL_INTERRUPTSâ was not declared in this scope
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_MRF89.cpp:293:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: note: suggested alternative: âtaskDISABLE_INTERRUPTSâ
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_MRF89.cpp:293:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: error: âXTOS_RESTORE_INTLEVELâ was not declared in this scope
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_MRF89.cpp:300:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: note: suggested alternative: âSOC_SYSTIMER_INT_LEVELâ
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_MRF89.cpp:300:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_MRF89.cpp: In member function âvirtual bool RH_MRF89::recv(uint8_t*, uint8_t*)â:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: error: âXTOS_DISABLE_ALL_INTERRUPTSâ was not declared in this scope
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_MRF89.cpp:381:2: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: note: suggested alternative: âtaskDISABLE_INTERRUPTSâ
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_MRF89.cpp:381:2: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: error: âXTOS_RESTORE_INTLEVELâ was not declared in this scope
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_MRF89.cpp:386:2: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: note: suggested alternative: âSOC_SYSTIMER_INT_LEVELâ
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_MRF89.cpp:386:2: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_MRF89.cpp: In member function âvoid RH_MRF89::clearRxBuf()â:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: error: âXTOS_DISABLE_ALL_INTERRUPTSâ was not declared in this scope
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_MRF89.cpp:443:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: note: suggested alternative: âtaskDISABLE_INTERRUPTSâ
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_MRF89.cpp:443:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: error: âXTOS_RESTORE_INTLEVELâ was not declared in this scope
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_MRF89.cpp:446:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: note: suggested alternative: âSOC_SYSTIMER_INT_LEVELâ
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RH_MRF89.cpp:446:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
In file included from c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RHGenericDriver.h:9,
from c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RHSPIDriver.h:9,
from c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp:6:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp: In member function âuint8_t RHSPIDriver::spiRead(uint8_t)â:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: error: âXTOS_DISABLE_ALL_INTERRUPTSâ was not declared in this scope
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp:47:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: note: suggested alternative: âtaskDISABLE_INTERRUPTSâ
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp:47:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: error: âXTOS_RESTORE_INTLEVELâ was not declared in this scope
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp:54:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: note: suggested alternative: âSOC_SYSTIMER_INT_LEVELâ
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp:54:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp: In member function âuint8_t RHSPIDriver::spiWrite(uint8_t, uint8_t)â:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: error: âXTOS_DISABLE_ALL_INTERRUPTSâ was not declared in this scope
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp:61:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: note: suggested alternative: âtaskDISABLE_INTERRUPTSâ
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp:61:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: error: âXTOS_RESTORE_INTLEVELâ was not declared in this scope
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp:71:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: note: suggested alternative: âSOC_SYSTIMER_INT_LEVELâ
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp:71:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp: In member function âuint8_t RHSPIDriver::spiBurstRead(uint8_t, uint8_t*, uint8_t)â:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: error: âXTOS_DISABLE_ALL_INTERRUPTSâ was not declared in this scope
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp:78:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: note: suggested alternative: âtaskDISABLE_INTERRUPTSâ
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp:78:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: error: âXTOS_RESTORE_INTLEVELâ was not declared in this scope
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp:86:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: note: suggested alternative: âSOC_SYSTIMER_INT_LEVELâ
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp:86:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp: In member function âuint8_t RHSPIDriver::spiBurstWrite(uint8_t, const uint8_t*, uint8_t)â:
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: error: âXTOS_DISABLE_ALL_INTERRUPTSâ was not declared in this scope
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp:93:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1753:65: note: suggested alternative: âtaskDISABLE_INTERRUPTSâ
#define ATOMIC_BLOCK_START uint32_t volatile register ilevel = XTOS_DISABLE_ALL_INTERRUPTS;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp:93:5: note: in expansion of macro âATOMIC_BLOCK_STARTâ
ATOMIC_BLOCK_START;
^~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: error: âXTOS_RESTORE_INTLEVELâ was not declared in this scope
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp:101:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead/RadioHead.h:1754:27: note: suggested alternative: âSOC_SYSTIMER_INT_LEVELâ
#define ATOMIC_BLOCK_END XTOS_RESTORE_INTLEVEL(ilevel);
^~~~~~~~~~~~~~~~~~~~~
c:\Users\Joseph\Documents\Arduino\libraries\RadioHead\RHSPIDriver.cpp:101:5: note: in expansion of macro âATOMIC_BLOCK_ENDâ
ATOMIC_BLOCK_END;
^~~~~~~~~~~~~~~~
exit status 1
Compilation error: exit status 1
Any help is appreciated, I saw a related post here but not sure if the issue has been fixed
Edit) Apparently I had to switch back RadioHead from 1.122.1 back to 1.112
Hi Joseph_Petersen,
I can compile it in my environment.
RadioHead : 1.118.0
BoardServicePackage : esp32 by Espressif Systems 2.0.14
Board Select : XIAO_ESP32C3