Replies: 2 comments
-
When posting code, use code blocks to make it readable. |
Beta Was this translation helpful? Give feedback.
0 replies
-
You're reporting an issue with & for a different library. IRremoteESP8266 v2.8.6 != IRremote 3.6.1 . We forked many years ago now. Completely different. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi:
I need to modify ISR() content when interrupting inhibit another conflict problem.
I download IRremote ver:3.6.1 of lib.
Below content I clips form IRTimer.hpp
/*********************************************
*********************************************/
#elif defined(ESP32)
#2058 if !defined(SEND_AND_RECEIVE_TIMER_LEDC_CHANNEL)
#define SEND_AND_RECEIVE_TIMER_LEDC_CHANNEL 0 // The channel used for PWM 0 to 7 are high speed PWM channels
#2058 endif
#define TIMER_RESET_INTR_PENDING
#define TIMER_ENABLE_RECEIVE_INTR timerAlarmEnable(s50usTimer)
#define TIMER_DISABLE_RECEIVE_INTR if (s50usTimer != NULL) {timerEnd(s50usTimer); timerDetachInterrupt(s50usTimer);}
// Redefinition of ISR macro which creates a plain function now
#2058 ifdef ISR
#undef ISR
#2058 endif
#define ISR() IRAM_ATTR void IRTimerInterruptHandler()
IRAM_ATTR void IRTimerInterruptHandler(); <==== Where can find this function content
// Variables specific to the ESP32.
// the ledc functions behave like hardware timers for us :-), so we do not require our own soft PWM generation code.
hw_timer_t *s50usTimer;
/*
*/
void timerConfigForReceive() {
// ESP32 has a proper API to setup timers, no weird chip macros needed
// simply call the readable API versions :)
// 3 timers, choose 1, 80 divider for microsecond precision @80MHz clock, count_up = true
s50usTimer = timerBegin(1, 80, true);
timerAttachInterrupt(s50usTimer, &IRTimerInterruptHandler, 1);
// every 50 us, autoreload = true
timerAlarmWrite(s50usTimer, MICROS_PER_TICK, true);
}
Beta Was this translation helpful? Give feedback.
All reactions