- 
                Notifications
    
You must be signed in to change notification settings  - Fork 886
 
Esp32 Core version 3 #2144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Esp32 Core version 3 #2144
Conversation
| 
           Feature: Make IRremoteESP8266 compatible with IDF 5.x ESP32 Version 3  | 
    
| 
           @NiKiZe code is running on ESP32 S3 With ESP32 Version 3.0.4 without any errors I will try to test with ESP32-DEV & ESP32-C6 this weak  | 
    
| 
           As I understand it, so is #2040, we are grateful for your PR. Just want to limit duplication if there already is a fully working implementation.  | 
    
| 
           #2040 is working perfectly fine.  | 
    
| 
           @Jason2866 - #2040 isn't working on the M5Stack NanoC6 under Arduino IDE. Have commented on the relevant PR I'm able to decode my remote using this pull request  | 
    
| 
           @Jason2866 Tested with ESP32-C6 WROOM1, ESP32 WROVER and the code is working on Esp32 Core version 3.  | 
    
| 
           @NiKiZe @Jason2866 Thank you for feedback did the required changes  | 
    
| 
           This works for me on wemos d1 mini32.  | 
    
| 
           Are there any news about the merge of this PR?  | 
    
          
 Those of us needing current support (including a compiler from the last 7 years and any of the newer Espressif parts) may need to start looking at libraries like https://github.com/Arduino-IRremote/Arduino-IRremote which added this support many months ago. This (and the similarly needed #2040) have been in the review queue with no visible motion forward for a long time.  | 
    
Include open upstream PR crankyoldgit#2144 to make IR learning compatible with IDF 5.x. Enhance with: * update esp32-hal* to IDF v5.4 * C++20 compatibility A small fix to remove "volatile ++" build warning. Source: crankyoldgit#2040 --------- Co-authored-by: BorisKofman <Borisk@salt.security> Co-authored-by: Christian I. Nilsson <nikize@gmail.com>
      
        
              This comment was marked as off-topic.
        
        
      
    
  This comment was marked as off-topic.
          
 Fix the name, essentially replace the last commit here, and ensure there is no limit issues.  | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other than a swapped comment pair, this looks pretty minimal to me. The only things that aren't strictly minimal were requested and implemented in earlier rounds of review.
If there's something specific that remains, please highlight it. I don't want to scoop the author, but if there's something more to do here, I'll help if needed.
Seems it's been pretty widely tested by many of us already.
Thank you for the quick pickup.
        
          
                src/IRrecv.cpp
              
                Outdated
          
        
      | timer = timerBegin(_timer_num, 80, true); | ||
| // Check for ESP32 core version and handle timerBegin differently for each version | ||
| #if defined(ESP_ARDUINO_VERSION) && (ESP_ARDUINO_VERSION >= ESP_ARDUINO_VERSION_VAL(3, 0, 0)) | ||
| // For ESP32 core version 3.x (three arguments) | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think last half of this comment and the one on 377 are swapped.
| 
           Is this ever going to get merged? If not I will have to create a PR in heatpumpir to remove IRremoteESP8266 from being automatically installed / included. This is preventing heatpumpir from being used with 3x.  | 
    
| 
           Which branch should I download to use this pull request?  | 
    
| 
           oh wow, approved.  | 
    
compat with the recent Arduino framework crankyoldgit#2144 Signed-off-by: hldh214 <hldh214@gmail.com>
| 
           Big thanks to @BorisKofman who did this PR. It works!  | 
    
          
 We should have sent this PR a birthday cake two days ago.  | 
    
      
        
              This comment was marked as off-topic.
        
        
      
    
  This comment was marked as off-topic.
| 
           I last used the one that was in this PR:
https://github.com/BorisKofman/IRremoteESP8266/tree/Espressif-version-3
I'll admit that in my Arduino3 branch, had simply disabled IR support for
now. I really don't cae about anything beyond reading NEC and I'm pretty
sure I can find a solution hat does a lot less that better fits.
I'd looked at
https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/peripherals/rmt.html
and when I looked at
https://github.com/espressif/esp-idf/blob/fcae32885b0296b32044cb99ecbdc50d98dddb83/examples/peripherals/rmt/ir_nec_transceiver/main/ir_nec_transceiver_main.c#L154
with the thought that I recall only care about IR and receive, making most
of this library just overhead to me, I figured I could probably just snip
out the few dozen lines of that path and get a big part of the way there.
But I've had other blocking issues and just haven't gotten back to it. And
that doesn't help the people that DO need all that goes into this library.
The https://github.com/Arduino-IRremote/Arduino-IRremote project does seem
to be alive, so if you send them a PR or a help request, it might actually
go somewhere. 
…On Tue, Sep 30, 2025 at 4:14 PM Jan-Petter Gundersen < ***@***.***> wrote:
 *JanPetterMG* left a comment (crankyoldgit/IRremoteESP8266#2144)
 <#2144 (comment)>
 *While waiting for this PR to get merged*, I was wondering if there are
 any good alternatives worth trying.
 I’ve looked through the network graph of forks, but none seem to clearly
 stand out as both up-to-date and maintained. If there is one I’ve
 overlooked, I’d really appreciate a pointer. 👍
 In the meantime, I’ve tested a couple of different libraries:
    - Arduino-IRremote/Arduino-IRremote: Probably the closest match
    overall, but Arduino v3 support seems broken in the latest release. The
    last version that works does so with a alarming performance cost.
    - Another option I tried, a much smaller library, handled some
    protocols flawlessly, but failed to detect others even though they’re
    listed as supported.
 My main interest is in reliable support for the common protocols (Philips,
 Samsung, Sony, etc.).
 —
 Reply to this email directly, view it on GitHub
 <#2144 (comment)>,
 or unsubscribe
 <https://github.com/notifications/unsubscribe-auth/ACCSD366TUUCJUMBMK2ZUED3VLXE7AVCNFSM6AAAAABNYYEXR6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTGNJTHAZDSMRZG4>
 .
 You are receiving this because you commented.Message ID:
 ***@***.***>
 
 | 
    
Fixes #2039