Skip to content

Commit 8ecdb4c

Browse files
committed
Set MATRIX_DETACH_* values based on TRM
The MATRIX_DETACH_* values vary by platform, which is not documented in the gpio_matrix_out or gpio_matrix_in functions (espressif/esp-idf#11737). Use the correct values out of each TRM.
1 parent 72c41d0 commit 8ecdb4c

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

Diff for: cores/esp32/esp32-hal-matrix.c

+13-2
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,33 @@
1919
#ifdef ESP_IDF_VERSION_MAJOR // IDF 4+
2020
#if CONFIG_IDF_TARGET_ESP32 // ESP32/PICO-D4
2121
#include "esp32/rom/gpio.h"
22+
#define MATRIX_DETACH_OUT_SIG 0x100
23+
#define MATRIX_DETACH_IN_LOW_PIN 0x30
24+
#define MATRIX_DETACH_IN_LOW_HIGH 0x38
2225
#elif CONFIG_IDF_TARGET_ESP32S2
2326
#include "esp32s2/rom/gpio.h"
27+
#define MATRIX_DETACH_OUT_SIG 0x100
28+
#define MATRIX_DETACH_IN_LOW_PIN 0x3c
29+
#define MATRIX_DETACH_IN_LOW_HIGH 0x38
2430
#elif CONFIG_IDF_TARGET_ESP32S3
2531
#include "esp32s3/rom/gpio.h"
32+
#define MATRIX_DETACH_OUT_SIG 0x100
33+
#define MATRIX_DETACH_IN_LOW_PIN 0x3c
34+
#define MATRIX_DETACH_IN_LOW_HIGH 0x38
2635
#elif CONFIG_IDF_TARGET_ESP32C3
2736
#include "esp32c3/rom/gpio.h"
37+
#define MATRIX_DETACH_OUT_SIG 0x80
38+
#define MATRIX_DETACH_IN_LOW_PIN 0x1f
39+
#define MATRIX_DETACH_IN_LOW_HIGH 0x1e
2840
#else
2941
#error Target CONFIG_IDF_TARGET is not supported
3042
#endif
3143
#else // ESP32 Before IDF 4.0
3244
#include "rom/gpio.h"
33-
#endif
34-
3545
#define MATRIX_DETACH_OUT_SIG 0x100
3646
#define MATRIX_DETACH_IN_LOW_PIN 0x30
3747
#define MATRIX_DETACH_IN_LOW_HIGH 0x38
48+
#endif
3849

3950
void ARDUINO_ISR_ATTR pinMatrixOutAttach(uint8_t pin, uint8_t function, bool invertOut, bool invertEnable)
4051
{

0 commit comments

Comments
 (0)