Skip to content

Commit

Permalink
ESP32: Use regular IRRemote lib. IR working again with core 3.0.5
Browse files Browse the repository at this point in the history
  • Loading branch information
vickash committed Sep 21, 2024
1 parent c0a3097 commit ea1ae38
Show file tree
Hide file tree
Showing 16 changed files with 39 additions and 38 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build_atmega_avr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
libraries: |
- name: Servo
- name: IRremote
version: 4.1.2
version: 4.4.1
- name: Ethernet
- name: WiFi
- name: Adafruit NeoPixel
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_atmega_megaavr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
libraries: |
- name: Servo
- name: IRremote
version: 4.1.2
version: 4.4.1
- name: Ethernet
- name: WiFiNINA
- name: Adafruit NeoPixel
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_atsamd21.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
libraries: |
- name: Servo
- name: IRremote
version: 4.1.2
version: 4.4.1
- name: Ethernet
- name: WiFi
- name: Adafruit NeoPixel
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build_esp32.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ jobs:
- name: esp32:esp32
source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
libraries: |
- name: IRremoteESP8266
version: 2.8.5
- name: IRremote
version: 4.4.1
- name: ESP32Servo
- name: Adafruit NeoPixel
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build_esp32c3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ jobs:
- name: esp32:esp32
source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
libraries: |
- name: IRremoteESP8266
version: 2.8.5
- name: IRremote
version: 4.4.1
- name: ESP32Servo
- name: Adafruit NeoPixel
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build_esp32c6.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ jobs:
- name: esp32:esp32
source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
libraries: |
- name: IRremoteESP8266
version: 2.8.5
- name: IRremote
version: 4.4.1
- name: ESP32Servo
- name: Adafruit NeoPixel
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build_esp32h2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ jobs:
- name: esp32:esp32
source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
libraries: |
- name: IRremoteESP8266
version: 2.8.5
- name: IRremote
version: 4.4.1
- name: ESP32Servo
- name: Adafruit NeoPixel
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build_esp32s2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ jobs:
- name: esp32:esp32
source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
libraries: |
- name: IRremoteESP8266
version: 2.8.5
- name: IRremote
version: 4.4.1
- name: ESP32Servo
- name: Adafruit NeoPixel
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build_esp32s3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ jobs:
- name: esp32:esp32
source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
libraries: |
- name: IRremoteESP8266
version: 2.8.5
- name: IRremote
version: 4.4.1
- name: ESP32Servo
- name: Adafruit NeoPixel
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_esp8266.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
source-url: https://arduino.esp8266.com/stable/package_esp8266com_index.json
libraries: |
- name: IRremoteESP8266
version: 2.8.5
version: 2.8.6
- name: Adafruit NeoPixel
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_rp2040.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
libraries: |
- name: Servo
- name: IRremote
version: 4.1.2
version: 4.4.1
- name: Ethernet
- name: WiFi
Expand Down
18 changes: 9 additions & 9 deletions DEPS_CLI.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ arduino-cli core install arduino:sam
arduino-cli core install arduino:samd
arduino-cli core install arduino:renesas_uno
arduino-cli core install esp8266:esp8266
arduino-cli core install esp32:[email protected].3
arduino-cli core install esp32:[email protected].5
arduino-cli core install rp2040:rp2040
arduino-cli lib install Servo
arduino-cli lib install Ethernet
arduino-cli lib install WiFi
arduino-cli lib install WiFi101
arduino-cli lib install WiFiNINA
arduino-cli lib install IRremote@4.1.2
arduino-cli lib install [email protected].4
arduino-cli lib install IRremote@4.4.1
arduino-cli lib install [email protected].6
arduino-cli lib install ESP32Servo
arduino-cli lib install "Adafruit NeoPixel"
````
Expand All @@ -37,7 +37,7 @@ arduino-cli lib install Servo
arduino-cli lib install Ethernet
arduino-cli lib install WiFi
arduino-cli lib install WiFiNINA
arduino-cli lib install IRremote@4.1.2
arduino-cli lib install IRremote@4.4.1
arduino-cli lib install "Adafruit NeoPixel"
````

Expand All @@ -52,7 +52,7 @@ arduino-cli lib install Ethernet
arduino-cli lib install WiFi
arduino-cli lib install WiFi101
arduino-cli lib install WiFiNINA
arduino-cli lib install IRremote@4.1.2
arduino-cli lib install IRremote@4.4.1
arduino-cli lib install "Adafruit NeoPixel"
````

Expand All @@ -62,7 +62,7 @@ arduino-cli config init
arduino-cli config add board_manager.additional_urls https://arduino.esp8266.com/stable/package_esp8266com_index.json
arduino-cli core update-index
arduino-cli core install esp8266:esp8266
arduino-cli lib install [email protected].5
arduino-cli lib install [email protected].6
arduino-cli lib install "Adafruit NeoPixel"
````

Expand All @@ -71,9 +71,9 @@ arduino-cli lib install "Adafruit NeoPixel"
arduino-cli config init
arduino-cli config add board_manager.additional_urls https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
arduino-cli core update-index
arduino-cli core install esp32:[email protected].3
arduino-cli core install esp32:[email protected].5
arduino-cli lib install ESP32Servo
arduino-cli lib install [email protected]
arduino-cli lib install [email protected]
arduino-cli lib install "Adafruit NeoPixel"
````

Expand All @@ -83,5 +83,5 @@ arduino-cli config init
arduino-cli config add board_manager.additional_urls https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
arduino-cli core update-index
arduino-cli core install rp2040:rp2040
arduino-cli lib install IRremote@4.1.2
arduino-cli lib install IRremote@4.4.1
````
14 changes: 8 additions & 6 deletions HARDWARE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,15 @@
| ESP8266 | :green_heart: | NodeMCU |
| ESP8285 | :question: | DOIT ESP-Mx DevKit | Should be identical to 8266. Not tested in hardware.
| ESP32 | :green_heart: | DOIT ESP32 DevKit V1 |
| ESP32-S2 | :green_heart: | LOLIN S2 Pico | Native USB
| ESP32-S3 | :green_heart: | LOLIN S3 V1.0.0 | Native USB
| ESP32-C3 | :green_heart: | LOLIN C3 Mini V2.1.0 | Native USB
| ESP32-H2 | :yellow_heart: | ESP32-H2-MINI-1 | Has no Wi-Fi. Native USB unreliable. Use UART bridge instead.
| ESP32-C6 | :yellow_heart: | ESP32-C6-WROOM-1 | Native USB unreliable. Use UART bridge instead.
| ESP32-S2 | :green_heart: | LOLIN S2 Pico | Native USB-CDC (broken in core 3.0+)
| ESP32-S3 | :green_heart: | LOLIN S3 V1.0.0 | Native USB-CDC (broken in core 3.0+)
| ESP32-C3 | :green_heart: | LOLIN C3 Mini V2.1.0 | Native USB-CDC (broken in core 3.0+)
| ESP32-H2 | :yellow_heart: | ESP32-H2-MINI-1 | No Wi-Fi. Native USB-CDC (broken in core 3.0+)
| ESP32-C6 | :yellow_heart: | ESP32-C6-WROOM-1 | Native USB-CDC (broken in core 3.0+)

**Note:** For ESP32 chips using native USB, make sure `USB CDC On Boot` is `Enabled` in the IDE's `Tools` menu. Flashing from the CLI doesn't automatically enable this, so the IDE is recommended for now.
**Note:** For ESP32 chips using native USB-CDC, make sure `USB CDC On Boot` is `Enabled` in the IDE's `Tools` menu. Flashing from the CLI doesn't automatically enable this, so the IDE is recommended for now.

**Note:** Since Arduino ESP32 Core version 3.0+, USB-CDC is very unreliable when sending lots of data both directions (something denko can do). It's a known issue in the core. Use a regular UART until it's fixed.

### AVR/MegaAVR Based Arduino Products (and Clones)
[![AVR Build Status](https://github.com/denko-rb/denko/actions/workflows/build_atmega_avr.yml/badge.svg)](https://github.com/denko-rb/denko/actions/workflows/build_atmega_avr.yml)
Expand Down
4 changes: 2 additions & 2 deletions lib/denko_cli/packages.rb
Original file line number Diff line number Diff line change
Expand Up @@ -90,15 +90,15 @@ class DenkoCLI::Generator
ir_out: {
description: "Transmit infrared signals",
directive: "DENKO_IR_OUT",
exclude: [:esp8266, :esp32],
exclude: [:esp8266],
files: [
"DenkoIROut.cpp",
]
},
ir_out_esp: {
description: "Transmit infrared signals with the ESP8266 and ESP32",
directive: "DENKO_IR_OUT",
only: [:esp8266, :esp32],
only: [:esp8266],
files: [
"DenkoIROutESP.cpp",
]
Expand Down
5 changes: 2 additions & 3 deletions lib/denko_cli/targets.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,9 @@ class DenkoCLI::Generator
# No IR out and WS2812 on the UNO R4. WS2812 compiles but doesn't work.
ra4m1: STANDARD_PACKAGES - [:ir_out, :led_array],

# ESP8266 + ESP32 use a different IR library.
# Temporarily disabled on ESP32 until library catches up with 3.0+ ESP32 Arduino core.
# ESP8266 uses an IR library specific to it.
esp8266: STANDARD_PACKAGES - [:ir_out] + [:ir_out_esp],
esp32: STANDARD_PACKAGES - [:ir_out],
esp32: STANDARD_PACKAGES,

# RP2040 can't use WS2812 yet.
rp2040: STANDARD_PACKAGES - [:led_array],
Expand Down
2 changes: 1 addition & 1 deletion src/lib/DenkoIROut.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// This file adds to the Denko class only if DENKO_IR_OUT is defined in Denko.h.
//
#include "Denko.h"
#if defined(DENKO_IR_OUT) && !defined(ESP8266) && !defined(ESP32)
#if defined(DENKO_IR_OUT) && !defined(ESP8266)

// Save memory by disabling receiver.
#undef RAW_BUFFER_LENGTH
Expand Down

0 comments on commit ea1ae38

Please sign in to comment.