My older esp32 hardware tree has been working fine with SmartMatrix 4.
when I upgrade to latest head for GitHub - espressif/arduino-esp32: Arduino core for the ESP32, I get:
/home/merlin/Arduino/libraries/SmartMatrix/src/esp32_i2s_parallel.c: In function 'gpio_setup_out':
/home/merlin/Arduino/libraries/SmartMatrix/src/esp32_i2s_parallel.c:129:21: error: 'GPIO_PIN_MUX_REG' undeclared (first use in this function)
PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[gpio], PIN_FUNC_GPIO);
^~~~~~~~~~~~~~~~
/home/merlin/Arduino/hardware/espressif/esp32/tools/sdk/esp32/include/esp_common/include/esp_assert.h:23:71: note: in definition of macro 'TRY_STATIC_ASSERT'
_Static_assert(__builtin_choose_expr(__builtin_constant_p(CONDITION), (CONDITION), 1), #MSG); \
^~~~~~~~~
/home/merlin/Arduino/hardware/espressif/esp32/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:96:57: note: in expansion of macro 'IS_DPORT_REG'
#define ASSERT_IF_DPORT_REG(_r, OP) TRY_STATIC_ASSERT(!IS_DPORT_REG(_r), (Cannot use OP for DPORT registers use DPORT_##OP));
^~~~~~~~~~~~
/home/merlin/Arduino/hardware/espressif/esp32/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:145:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG'
ASSERT_IF_DPORT_REG((_r), REG_SET_FIELD); \
^~~~~~~~~~~~~~~~~~~
/home/merlin/Arduino/hardware/espressif/esp32/tools/sdk/esp32/include/soc/esp32/include/soc/io_mux_reg.h:91:46: note: in expansion of macro 'REG_SET_FIELD'
#define PIN_FUNC_SELECT(PIN_NAME, FUNC) REG_SET_FIELD(PIN_NAME, MCU_SEL, FUNC)
^~~~~~~~~~~~~
/home/merlin/Arduino/libraries/SmartMatrix/src/esp32_i2s_parallel.c:129:5: note: in expansion of macro 'PIN_FUNC_SELECT'
PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[gpio], PIN_FUNC_GPIO);
^~~~~~~~~~~~~~~
/home/merlin/Arduino/libraries/SmartMatrix/src/esp32_i2s_parallel.c:129:21: note: each undeclared identifier is reported only once for each function it appears in
PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[gpio], PIN_FUNC_GPIO);
^~~~~~~~~~~~~~~~
/home/merlin/Arduino/hardware/espressif/esp32/tools/sdk/esp32/include/esp_common/include/esp_assert.h:23:71: note: in definition of macro 'TRY_STATIC_ASSERT'
_Static_assert(__builtin_choose_expr(__builtin_constant_p(CONDITION), (CONDITION), 1), #MSG); \
^~~~~~~~~
/home/merlin/Arduino/hardware/espressif/esp32/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:96:57: note: in expansion of macro 'IS_DPORT_REG'
#define ASSERT_IF_DPORT_REG(_r, OP) TRY_STATIC_ASSERT(!IS_DPORT_REG(_r), (Cannot use OP for DPORT registers use DPORT_##OP));
^~~~~~~~~~~~
/home/merlin/Arduino/hardware/espressif/esp32/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:145:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG'
ASSERT_IF_DPORT_REG((_r), REG_SET_FIELD); \
^~~~~~~~~~~~~~~~~~~
/home/merlin/Arduino/hardware/espressif/esp32/tools/sdk/esp32/include/soc/esp32/include/soc/io_mux_reg.h:91:46: note: in expansion of macro 'REG_SET_FIELD'
#define PIN_FUNC_SELECT(PIN_NAME, FUNC) REG_SET_FIELD(PIN_NAME, MCU_SEL, FUNC)
^~~~~~~~~~~~~
(...)
Is anyone using a recent ESP32 head?