-
Notifications
You must be signed in to change notification settings - Fork 878
Closed as not planned
Closed as not planned
Copy link
Description
Version/revision of the library used
2.8.6
Describe the bug
When running the verify command on Arduino IDE, it refuses to compile. It seems to be related to recent modifications in the arduino framework as mentioned here: #2053
EDIT: The most promising solution seems to be in the PR: #2039
To Reproduce
- Open Arduino IDE
- Pick
XIAO_ESP32C6
as the target board - Click on Verify
Example code used
#include <IRremoteESP8266.h>
#include <IRrecv.h>
#include <IRutils.h>
// Define the IR receiver pin
const uint16_t kRecvPin = 10;
// IR Receiver setup
IRrecv irrecv(kRecvPin);
decode_results results;
void setup() {
Serial.begin(115200);
Serial.print("Starting IR receiver... ");
// Initialize IR Receiver
irrecv.enableIRIn();
Serial.print("OK");
}
void loop() {
// Check if an IR signal is received
if (irrecv.decode(&results)) {
Serial.println(resultToHumanReadableBasic(&results));
irrecv.resume(); // Receive the next value
}
}
Expected behaviour
I would expect the verify step to successfully compile.
Output of raw data from IRrecvDumpV2.ino or V3 (if applicable)
/Users/my_user/Documents/Arduino/libraries/IRremoteESP8266/src/IRrecv.cpp: In function 'void gpio_intr()':
/Users/my_user/Documents/Arduino/libraries/IRremoteESP8266/src/IRrecv.cpp:246:3: error: 'timerAlarmEnable' was not declared in this scope; did you mean 'timerAlarm'?
246 | timerAlarmEnable(timer);
| ^~~~~~~~~~~~~~~~
| timerAlarm
/Users/my_user/Documents/Arduino/libraries/IRremoteESP8266/src/IRrecv.cpp: In member function 'void IRrecv::enableIRIn(bool)':
/Users/my_user/Documents/Arduino/libraries/IRremoteESP8266/src/IRrecv.cpp:362:21: error: too many arguments to function 'hw_timer_t* timerBegin(uint32_t)'
362 | timer = timerBegin(_timer_num, 80, true);
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/my_user/Library/Arduino15/packages/esp32/hardware/esp32/3.0.2/cores/esp32/esp32-hal.h:84,
from /Users/my_user/Library/Arduino15/packages/esp32/hardware/esp32/3.0.2/cores/esp32/Arduino.h:36,
from /Users/my_user/Documents/Arduino/libraries/IRremoteESP8266/src/IRrecv.h:10,
from /Users/my_user/Documents/Arduino/libraries/IRremoteESP8266/src/IRrecv.cpp:6:
/Users/my_user/Library/Arduino15/packages/esp32/hardware/esp32/3.0.2/cores/esp32/esp32-hal-timer.h:35:13: note: declared here
35 | hw_timer_t *timerBegin(uint32_t frequency);
| ^~~~~~~~~~
/Users/my_user/Documents/Arduino/libraries/IRremoteESP8266/src/IRrecv.cpp:371:3: error: 'timerAlarmWrite' was not declared in this scope; did you mean 'timerWrite'?
371 | timerAlarmWrite(timer, MS_TO_USEC(params.timeout), ONCE);
| ^~~~~~~~~~~~~~~
| timerWrite
/Users/my_user/Documents/Arduino/libraries/IRremoteESP8266/src/IRrecv.cpp:375:23: error: too many arguments to function 'void timerAttachInterrupt(hw_timer_t*, void (*)())'
375 | timerAttachInterrupt(timer, &read_timeout, false);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/my_user/Library/Arduino15/packages/esp32/hardware/esp32/3.0.2/cores/esp32/esp32-hal-timer.h:50:6: note: declared here
50 | void timerAttachInterrupt(hw_timer_t *timer, void (*userFunc)(void));
| ^~~~~~~~~~~~~~~~~~~~
/Users/my_user/Documents/Arduino/libraries/IRremoteESP8266/src/IRrecv.cpp: In member function 'void IRrecv::disableIRIn()':
/Users/my_user/Documents/Arduino/libraries/IRremoteESP8266/src/IRrecv.cpp:401:3: error: 'timerAlarmDisable' was not declared in this scope
401 | timerAlarmDisable(timer);
| ^~~~~~~~~~~~~~~~~
/Users/my_user/Documents/Arduino/libraries/IRremoteESP8266/src/IRrecv.cpp: In member function 'void IRrecv::pause()':
/Users/my_user/Documents/Arduino/libraries/IRremoteESP8266/src/IRrecv.cpp:416:3: error: 'gpio_intr_disable' was not declared in this scope; did you mean 'esp_intr_disable'?
416 | gpio_intr_disable((gpio_num_t)params.recvpin);
| ^~~~~~~~~~~~~~~~~
| esp_intr_disable
/Users/my_user/Documents/Arduino/libraries/IRremoteESP8266/src/IRrecv.cpp: In member function 'void IRrecv::resume()':
/Users/my_user/Documents/Arduino/libraries/IRremoteESP8266/src/IRrecv.cpp:429:3: error: 'timerAlarmDisable' was not declared in this scope
429 | timerAlarmDisable(timer);
| ^~~~~~~~~~~~~~~~~
/Users/my_user/Documents/Arduino/libraries/IRremoteESP8266/src/IRrecv.cpp:430:3: error: 'gpio_intr_enable' was not declared in this scope; did you mean 'esp_intr_enable'?
430 | gpio_intr_enable((gpio_num_t)params.recvpin);
| ^~~~~~~~~~~~~~~~
| esp_intr_enable
exit status 1
Compilation error: exit status 1
Circuit diagram and hardware used (if applicable)
XIAO_ESP32C6
I have followed the steps in the Troubleshooting Guide & read the FAQ
Yes
Has this library/code previously worked as expected for you?
No
Other useful information
I am a bit rusty in C, it dates back to my Electrical Engineering Classes in 2015.
I am trying to build a volume controller for my Devialet speaker to control it with an AppleTV remote, copying the behaviour of a working PoC in NodeJS.
Metadata
Metadata
Assignees
Labels
No labels