pixelmatix / SmartMatrix

SmartMatrix Library for Teensy 3, Teensy 4, and ESP32
http://docs.pixelmatix.com/SmartMatrix
632 stars 162 forks source link

Can't compile to ESP32 #171

Open Fourtyy opened 1 year ago

Fourtyy commented 1 year ago

In file included from C:\Users\WINDOWS 10\AppData\Local\Temp.arduinoIDE-unsaved2023314-1692-ei49w1.wx7l9\FeatureDemo\FeatureDemo.ino:20: c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src/MatrixHardware_ESP32_V0.h:208:21: note: #pragma message: MatrixHardware: ESP32 forum wiring

pragma message "MatrixHardware: ESP32 forum wiring"

                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from C:\Users\WINDOWS 10\AppData\Local\Temp.arduinoIDE-unsaved2023314-1692-ei49w1.wx7l9\FeatureDemo\FeatureDemo.ino:22: c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src/SmartMatrix.h:40:21: note: #pragma message: SmartMatrix Library version 4.000.003

pragma message "SmartMatrix Library version 4.000.003"

                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In file included from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:19, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/include/soc/soc_memory_types.h:20, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_hw_support/include/soc/compare_set.h:12, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_hw_support/include/soc/spinlock.h:13, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/freertos/port/xtensa/include/freertos/portmacro.h:42, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/freertos/include/freertos/portable.h:51, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/freertos/include/freertos/FreeRTOS.h:63, from c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:22: c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c: In function 'gpio_setup_out': c:\Users\WINDOWS 10\OneDrive\Documents\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); ^~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:74: note: in definition of macro 'TRY_STATIC_ASSERT' ESP_STATIC_ASSERT(builtin_choose_expr(builtin_constant_p(CONDITION), (CONDITION), 1), #MSG); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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));

                                                     ^~~~~~~~~~~~

C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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); \ ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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)

                                          ^~~~~~~~~~~~~

c:\Users\WINDOWS 10\OneDrive\Documents\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); ^~~~~~~ c:\Users\WINDOWS 10\OneDrive\Documents\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); ^~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:74: note: in definition of macro 'TRY_STATIC_ASSERT' ESP_STATIC_ASSERT(builtin_choose_expr(builtin_constant_p(CONDITION), (CONDITION), 1), #MSG); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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));

                                                     ^~~~~~~~~~~~

C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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); \ ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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)

                                          ^~~~~~~~~~~~~

c:\Users\WINDOWS 10\OneDrive\Documents\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); ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:31: error: first argument to 'builtin_choose_expr' not a constant ESP_STATIC_ASSERT(builtin_choose_expr(__builtin_constant_p(CONDITION), (CONDITION), 1), #MSG); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:96:38: note: in expansion of macro 'TRY_STATIC_ASSERT'

define ASSERT_IF_DPORT_REG(_r, OP) TRY_STATIC_ASSERT(!IS_DPORT_REG(r), (Cannot use OP for DPORT registers use DPORT##OP));

                                  ^~~~~~~~~~~~~~~~~

C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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); \ ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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)

                                          ^~~~~~~~~~~~~

c:\Users\WINDOWS 10\OneDrive\Documents\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); ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:31: error: expression in static assertion is not an integer ESP_STATIC_ASSERT(builtin_choose_expr(builtin_constant_p(CONDITION), (CONDITION), 1), #MSG); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:96:38: note: in expansion of macro 'TRY_STATIC_ASSERT'

define ASSERT_IF_DPORT_REG(_r, OP) TRY_STATIC_ASSERT(!IS_DPORT_REG(r), (Cannot use OP for DPORT registers use DPORT##OP));

                                  ^~~~~~~~~~~~~~~~~

C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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); \ ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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)

                                          ^~~~~~~~~~~~~

c:\Users\WINDOWS 10\OneDrive\Documents\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); ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:31: error: first argument to 'builtin_choose_expr' not a constant ESP_STATIC_ASSERT(builtin_choose_expr(__builtin_constant_p(CONDITION), (CONDITION), 1), #MSG); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:96:38: note: in expansion of macro 'TRY_STATIC_ASSERT'

define ASSERT_IF_DPORT_REG(_r, OP) TRY_STATIC_ASSERT(!IS_DPORT_REG(r), (Cannot use OP for DPORT registers use DPORT##OP));

                                  ^~~~~~~~~~~~~~~~~

C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:103:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG' ASSERT_IF_DPORT_REG((_r), REG_WRITE); \ ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:146:14: note: in expansion of macro 'REG_WRITE' (REG_WRITE((_r),((REG_READ(_r) & ~((_f##_V) << (_f##_S)))|(((_v) & (_f##_V))<<(_f##_S))))); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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)

                                          ^~~~~~~~~~~~~

c:\Users\WINDOWS 10\OneDrive\Documents\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); ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:31: error: expression in static assertion is not an integer ESP_STATIC_ASSERT(builtin_choose_expr(builtin_constant_p(CONDITION), (CONDITION), 1), #MSG); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:96:38: note: in expansion of macro 'TRY_STATIC_ASSERT'

define ASSERT_IF_DPORT_REG(_r, OP) TRY_STATIC_ASSERT(!IS_DPORT_REG(r), (Cannot use OP for DPORT registers use DPORT##OP));

                                  ^~~~~~~~~~~~~~~~~

C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:103:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG' ASSERT_IF_DPORT_REG((_r), REG_WRITE); \ ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:146:14: note: in expansion of macro 'REG_WRITE' (REG_WRITE((_r),((REG_READ(_r) & ~((_f##_V) << (_f##_S)))|(((_v) & (_f##_V))<<(_f##_S))))); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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)

                                          ^~~~~~~~~~~~~

c:\Users\WINDOWS 10\OneDrive\Documents\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); ^~~~~~~ In file included from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/include/soc/soc_memory_types.h:20, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_hw_support/include/soc/compare_set.h:12, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_hw_support/include/soc/spinlock.h:13, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/freertos/port/xtensa/include/freertos/portmacro.h:42, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/freertos/include/freertos/portable.h:51, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/freertos/include/freertos/FreeRTOS.h:63, from c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:22: C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:31: error: first argument to 'builtin_choose_expr' not a constant ESP_STATIC_ASSERT(builtin_choose_expr(__builtin_constant_p(CONDITION), (CONDITION), 1), #MSG); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:104:45: note: in definition of macro 'REG_WRITE' ((volatile uint32_t )(_r)) = (_v); \ ^~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:96:38: note: in expansion of macro 'TRY_STATIC_ASSERT'

define ASSERT_IF_DPORT_REG(_r, OP) TRY_STATIC_ASSERT(!IS_DPORT_REG(r), (Cannot use OP for DPORT registers use DPORT##OP));

                                  ^~~~~~~~~~~~~~~~~

C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:109:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG' ASSERT_IF_DPORT_REG((_r), REG_READ); \ ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:146:31: note: in expansion of macro 'REG_READ' (REG_WRITE((_r),((REG_READ(_r) & ~((_f##_V) << (_f##_S)))|(((_v) & (_f##_V))<<(_f##_S))))); \ ^~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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)

                                          ^~~~~~~~~~~~~

c:\Users\WINDOWS 10\OneDrive\Documents\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); ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:31: error: expression in static assertion is not an integer ESP_STATIC_ASSERT(builtin_choose_expr(builtin_constant_p(CONDITION), (CONDITION), 1), #MSG); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:104:45: note: in definition of macro 'REG_WRITE' ((volatile uint32_t )(_r)) = (_v); \ ^~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:96:38: note: in expansion of macro 'TRY_STATIC_ASSERT'

define ASSERT_IF_DPORT_REG(_r, OP) TRY_STATIC_ASSERT(!IS_DPORT_REG(r), (Cannot use OP for DPORT registers use DPORT##OP));

                                  ^~~~~~~~~~~~~~~~~

C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:109:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG' ASSERT_IF_DPORT_REG((_r), REG_READ); \ ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:146:31: note: in expansion of macro 'REG_READ' (REG_WRITE((_r),((REG_READ(_r) & ~((_f##_V) << (_f##_S)))|(((_v) & (_f##_V))<<(_f##_S))))); \ ^~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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)

                                          ^~~~~~~~~~~~~

c:\Users\WINDOWS 10\OneDrive\Documents\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); ^~~~~~~ c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:130:30: error: 'GPIO_MODE_DEF_OUTPUT' undeclared (first use in this function) gpio_set_direction(gpio, GPIO_MODE_DEF_OUTPUT); ^~~~~~~~ In file included from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:19, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/include/soc/soc_memory_types.h:20, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_hw_support/include/soc/compare_set.h:12, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_hw_support/include/soc/spinlock.h:13, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/freertos/port/xtensa/include/freertos/portmacro.h:42, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/freertos/include/freertos/portable.h:51, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/freertos/include/freertos/FreeRTOS.h:63, from c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:22: c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c: In function 'gpio_setup_out_invert': c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:136:22: error: 'GPIO_PIN_MUX_REG' undeclared (first use in this function) PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[gpio], PIN_FUNC_GPIO); ^~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:74: note: in definition of macro 'TRY_STATIC_ASSERT' ESP_STATIC_ASSERT(builtin_choose_expr(builtin_constant_p(CONDITION), (CONDITION), 1), #MSG); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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));

                                                     ^~~~~~~~~~~~

C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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); \ ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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)

                                          ^~~~~~~~~~~~~

c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:136:6: note: in expansion of macro 'PIN_FUNC_SELECT' PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[gpio], PIN_FUNC_GPIO); ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:31: error: first argument to 'builtin_choose_expr' not a constant ESP_STATIC_ASSERT(builtin_choose_expr(__builtin_constant_p(CONDITION), (CONDITION), 1), #MSG); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:96:38: note: in expansion of macro 'TRY_STATIC_ASSERT'

define ASSERT_IF_DPORT_REG(_r, OP) TRY_STATIC_ASSERT(!IS_DPORT_REG(r), (Cannot use OP for DPORT registers use DPORT##OP));

                                  ^~~~~~~~~~~~~~~~~

C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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); \ ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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)

                                          ^~~~~~~~~~~~~

c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:136:6: note: in expansion of macro 'PIN_FUNC_SELECT' PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[gpio], PIN_FUNC_GPIO); ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:31: error: expression in static assertion is not an integer ESP_STATIC_ASSERT(builtin_choose_expr(builtin_constant_p(CONDITION), (CONDITION), 1), #MSG); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:96:38: note: in expansion of macro 'TRY_STATIC_ASSERT'

define ASSERT_IF_DPORT_REG(_r, OP) TRY_STATIC_ASSERT(!IS_DPORT_REG(r), (Cannot use OP for DPORT registers use DPORT##OP));

                                  ^~~~~~~~~~~~~~~~~

C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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); \ ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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)

                                          ^~~~~~~~~~~~~

c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:136:6: note: in expansion of macro 'PIN_FUNC_SELECT' PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[gpio], PIN_FUNC_GPIO); ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:31: error: first argument to 'builtin_choose_expr' not a constant ESP_STATIC_ASSERT(builtin_choose_expr(__builtin_constant_p(CONDITION), (CONDITION), 1), #MSG); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:96:38: note: in expansion of macro 'TRY_STATIC_ASSERT'

define ASSERT_IF_DPORT_REG(_r, OP) TRY_STATIC_ASSERT(!IS_DPORT_REG(r), (Cannot use OP for DPORT registers use DPORT##OP));

                                  ^~~~~~~~~~~~~~~~~

C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:103:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG' ASSERT_IF_DPORT_REG((_r), REG_WRITE); \ ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:146:14: note: in expansion of macro 'REG_WRITE' (REG_WRITE((_r),((REG_READ(_r) & ~((_f##_V) << (_f##_S)))|(((_v) & (_f##_V))<<(_f##_S))))); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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)

                                          ^~~~~~~~~~~~~

c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:136:6: note: in expansion of macro 'PIN_FUNC_SELECT' PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[gpio], PIN_FUNC_GPIO); ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:31: error: expression in static assertion is not an integer ESP_STATIC_ASSERT(builtin_choose_expr(builtin_constant_p(CONDITION), (CONDITION), 1), #MSG); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:96:38: note: in expansion of macro 'TRY_STATIC_ASSERT'

define ASSERT_IF_DPORT_REG(_r, OP) TRY_STATIC_ASSERT(!IS_DPORT_REG(r), (Cannot use OP for DPORT registers use DPORT##OP));

                                  ^~~~~~~~~~~~~~~~~

C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:103:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG' ASSERT_IF_DPORT_REG((_r), REG_WRITE); \ ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:146:14: note: in expansion of macro 'REG_WRITE' (REG_WRITE((_r),((REG_READ(_r) & ~((_f##_V) << (_f##_S)))|(((_v) & (_f##_V))<<(_f##_S))))); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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)

                                          ^~~~~~~~~~~~~

c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:136:6: note: in expansion of macro 'PIN_FUNC_SELECT' PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[gpio], PIN_FUNC_GPIO); ^~~~~~~ In file included from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/include/soc/soc_memory_types.h:20, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_hw_support/include/soc/compare_set.h:12, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_hw_support/include/soc/spinlock.h:13, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/freertos/port/xtensa/include/freertos/portmacro.h:42, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/freertos/include/freertos/portable.h:51, from C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/freertos/include/freertos/FreeRTOS.h:63, from c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:22: C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:31: error: first argument to 'builtin_choose_expr' not a constant ESP_STATIC_ASSERT(builtin_choose_expr(__builtin_constant_p(CONDITION), (CONDITION), 1), #MSG); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:104:45: note: in definition of macro 'REG_WRITE' ((volatile uint32_t )(_r)) = (_v); \ ^~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:96:38: note: in expansion of macro 'TRY_STATIC_ASSERT'

define ASSERT_IF_DPORT_REG(_r, OP) TRY_STATIC_ASSERT(!IS_DPORT_REG(r), (Cannot use OP for DPORT registers use DPORT##OP));

                                  ^~~~~~~~~~~~~~~~~

C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:109:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG' ASSERT_IF_DPORT_REG((_r), REG_READ); \ ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:146:31: note: in expansion of macro 'REG_READ' (REG_WRITE((_r),((REG_READ(_r) & ~((_f##_V) << (_f##_S)))|(((_v) & (_f##_V))<<(_f##_S))))); \ ^~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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)

                                          ^~~~~~~~~~~~~

c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:136:6: note: in expansion of macro 'PIN_FUNC_SELECT' PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[gpio], PIN_FUNC_GPIO); ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:31: error: expression in static assertion is not an integer ESP_STATIC_ASSERT(builtin_choose_expr(builtin_constant_p(CONDITION), (CONDITION), 1), #MSG); \ ^~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:104:45: note: in definition of macro 'REG_WRITE' ((volatile uint32_t )(_r)) = (_v); \ ^~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:96:38: note: in expansion of macro 'TRY_STATIC_ASSERT'

define ASSERT_IF_DPORT_REG(_r, OP) TRY_STATIC_ASSERT(!IS_DPORT_REG(r), (Cannot use OP for DPORT registers use DPORT##OP));

                                  ^~~~~~~~~~~~~~~~~

C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:109:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG' ASSERT_IF_DPORT_REG((_r), REG_READ); \ ^~~~~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:146:31: note: in expansion of macro 'REG_READ' (REG_WRITE((_r),((REG_READ(_r) & ~((_f##_V) << (_f##_S)))|(((_v) & (_f##_V))<<(_f##_S))))); \ ^~~~ C:\Users\WINDOWS 10\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7/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)

                                          ^~~~~~~~~~~~~

c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:136:6: note: in expansion of macro 'PIN_FUNC_SELECT' PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[gpio], PIN_FUNC_GPIO); ^~~~~~~ c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:137:31: error: 'GPIO_MODE_DEF_OUTPUT' undeclared (first use in this function) gpio_set_direction(gpio, GPIO_MODE_DEF_OUTPUT); ^~~~~~~~ c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c: In function 'i2s_parallel_setup_without_malloc': c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:278:23: error: 'I2S0O_DATA_OUT0_IDX' undeclared (first use in this function); did you mean 'I2S_TX_DATA_NUM_S'? sig_data_base=I2S0O_DATA_OUT0_IDX; ^~~~~~~ I2S_TX_DATA_NUM_S c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:279:17: error: 'I2S0O_WS_OUT_IDX' undeclared (first use in this function); did you mean 'I2S_OUT_RST'? sig_clk=I2S0O_WS_OUT_IDX; ^~~~ I2S_OUT_RST c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:282:27: error: 'I2S1O_DATA_OUT0_IDX' undeclared (first use in this function); did you mean 'I2S_TX_DATA_NUM_S'? sig_data_base=I2S1O_DATA_OUT0_IDX; ^~~~~~~ I2S_TX_DATA_NUM_S c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:285:27: error: 'I2S1O_DATA_OUT8_IDX' undeclared (first use in this function); did you mean 'I2S_TX_DATA_NUM_S'? sig_data_base=I2S1O_DATA_OUT8_IDX; ^~~~~~~ I2S_TX_DATA_NUM_S c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:289:17: error: 'I2S1O_WS_OUT_IDX' undeclared (first use in this function); did you mean 'I2S_OUT_RST'? sig_clk=I2S1O_WS_OUT_IDX; ^~~~ I2S_OUT_RST c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:384:48: error: 'ESP_INTR_FLAG_IRAM' undeclared (first use in this function); did you mean 'ESP_ERR_FLASH_BASE'? esp_intr_alloc(ETS_I2S1_INTR_SOURCE, (int)(ESP_INTR_FLAG_IRAM | ESP_INTR_FLAG_LEVEL1), i2s_isr, NULL, NULL); ^~~~~~ ESP_ERR_FLASH_BASE c:\Users\WINDOWS 10\OneDrive\Documents\Arduino\libraries\SmartMatrix\src\esp32_i2s_parallel.c:384:69: error: 'ESP_INTR_FLAG_LEVEL1' undeclared (first use in this function); did you mean 'ESP_ERR_FLASH_BASE'? esp_intr_alloc(ETS_I2S1_INTR_SOURCE, (int)(ESP_INTR_FLAG_IRAM | ESP_INTR_FLAG_LEVEL1), i2s_isr, NULL, NULL); ^~~~~~~~ ESP_ERR_FLASH_BASE

exit status 1

Compilation error: exit status 1

Karpov03 commented 1 year ago

Include the below lines in SmartMatrix/src/esp32_i2s_parallel.c

include "soc/gpio_periph.h"

include "esp32-hal.h"

include "hal/gpio_types.h"

netmindz commented 1 year ago

PR created https://github.com/pixelmatix/SmartMatrix/pull/175

davemaster commented 4 months ago

Include the below lines in SmartMatrix/src/esp32_i2s_parallel.c

include "soc/gpio_periph.h"

include "esp32-hal.h"

include "hal/gpio_types.h"

that fix, works

this:

#ifndef GPIO_PIN_MUX_REG
#include "soc/gpio_periph.h"
#include "esp32-hal.h"
#include "hal/gpio_types.h"
#endif

imagen