Xtronical DAC Audio Library and Arduino esp32 Board Manager 2.0.2

Stig42
Posts: 1
Joined: Thu Apr 07, 2022 10:40 pm

Xtronical DAC Audio Library and Arduino esp32 Board Manager 2.0.2

Postby Stig42 » Thu Apr 07, 2022 11:04 pm

Hello,

I'm working on a project that heavily makes use of the Xtronical DAC audio library located here:
https://www.xtronical.com/the-dacaudio- ... allation/
(can't find a way to contact author)

All is well in board manager version 1.0.5. However, trying to verify my sketch (any example code too) in 2.0.2 provides a couple pages of warnings and other unpleasantness. I've pasted below an example of a portion.

You may say, "just use 1.0.5". While of course not ideal, I certainly would but you see my CAN Bus/TWAI portion of the project (also critical) behaves and works in board manager 2.0.2 ...

If I could get the Xtronical DAC audio library above to work in 2.0.2 I'd be very (very) happy.

This would be a fairly distant second as I'd essentially almost need to start over, but alternatively if you know of any fairly easy to use and straight forward way/library to allow at minimum the:
- repeated playback of a small WAV (loaded in via header file containing relevant Hex)
- real-time (close to) playback speed control
- real-time (close to) volume control

FYI- I'm eager to learn, but I'm very/moderately green when it comes to this stuff and would very much appreciate your patience.

Thanks in advance!

Code: Select all

Arduino: 1.8.16 (Windows 10), Board: "Node32s, Default, 80MHz, 921600, None"

In file included from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:19,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/hal/include/hal/touch_sensor_types.h:11,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/esp_hw_support/include/esp_sleep.h:12,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal.h:33,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal-timer.h:23,
                 from C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:23:
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp: In function 'void onTimer()':
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:31: error: 'RTC_IO_PAD_DAC1_REG' was not declared in this scope
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC, LastDacValue, RTC_IO_PDAC1_DAC_S);
                               ^~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:38: note: in definition of macro 'TRY_STATIC_ASSERT'
             if (__builtin_constant_p(CONDITION) && !(CONDITION)) {          \
                                      ^~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/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\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:205:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG'
             ASSERT_IF_DPORT_REG((reg), SET_PERI_REG_BITS);                                                             \
             ^~~~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:13: note: in expansion of macro 'SET_PERI_REG_BITS'
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC, LastDacValue, RTC_IO_PDAC1_DAC_S);
             ^~~~~~~~~~~~~~~~~
In file included from c:\users\jim_\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2\xtensa-esp32-elf\sys-include\sys\reent.h:503,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/newlib/platform_include/sys/reent.h:17,
                 from c:\users\jim_\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2\xtensa-esp32-elf\sys-include\stdio.h:60,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal.h:25,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal-timer.h:23,
                 from C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:23:
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:31: error: 'RTC_IO_PAD_DAC1_REG' was not declared in this scope
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC, LastDacValue, RTC_IO_PDAC1_DAC_S);
                               ^~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/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\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/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\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:205:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG'
             ASSERT_IF_DPORT_REG((reg), SET_PERI_REG_BITS);                                                             \
             ^~~~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:13: note: in expansion of macro 'SET_PERI_REG_BITS'
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC, LastDacValue, RTC_IO_PDAC1_DAC_S);
             ^~~~~~~~~~~~~~~~~
In file included from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:19,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/hal/include/hal/touch_sensor_types.h:11,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/esp_hw_support/include/esp_sleep.h:12,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal.h:33,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal-timer.h:23,
                 from C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:23:
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:31: error: 'RTC_IO_PAD_DAC1_REG' was not declared in this scope
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC, LastDacValue, RTC_IO_PDAC1_DAC_S);
                               ^~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:38: note: in definition of macro 'TRY_STATIC_ASSERT'
             if (__builtin_constant_p(CONDITION) && !(CONDITION)) {          \
                                      ^~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/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\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:175:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG'
             ASSERT_IF_DPORT_REG((addr), WRITE_PERI_REG);                                                               \
             ^~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:206:14: note: in expansion of macro 'WRITE_PERI_REG'
             (WRITE_PERI_REG((reg),(READ_PERI_REG(reg)&(~((bit_map)<<(shift))))|(((value) & bit_map)<<(shift)) ));      \
              ^~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:13: note: in expansion of macro 'SET_PERI_REG_BITS'
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC, LastDacValue, RTC_IO_PDAC1_DAC_S);
             ^~~~~~~~~~~~~~~~~
In file included from c:\users\jim_\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2\xtensa-esp32-elf\sys-include\sys\reent.h:503,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/newlib/platform_include/sys/reent.h:17,
                 from c:\users\jim_\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2\xtensa-esp32-elf\sys-include\stdio.h:60,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal.h:25,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal-timer.h:23,
                 from C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:23:
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:31: error: 'RTC_IO_PAD_DAC1_REG' was not declared in this scope
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC, LastDacValue, RTC_IO_PDAC1_DAC_S);
                               ^~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/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\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/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\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:175:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG'
             ASSERT_IF_DPORT_REG((addr), WRITE_PERI_REG);                                                               \
             ^~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:206:14: note: in expansion of macro 'WRITE_PERI_REG'
             (WRITE_PERI_REG((reg),(READ_PERI_REG(reg)&(~((bit_map)<<(shift))))|(((value) & bit_map)<<(shift)) ));      \
              ^~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:13: note: in expansion of macro 'SET_PERI_REG_BITS'
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC, LastDacValue, RTC_IO_PDAC1_DAC_S);
             ^~~~~~~~~~~~~~~~~
In file included from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/hal/include/hal/touch_sensor_types.h:11,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/esp_hw_support/include/esp_sleep.h:12,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal.h:33,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal-timer.h:23,
                 from C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:23:
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:31: error: 'RTC_IO_PAD_DAC1_REG' was not declared in this scope
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC, LastDacValue, RTC_IO_PDAC1_DAC_S);
                               ^~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:87:34: note: in definition of macro 'ETS_UNCACHED_ADDR'
 #define ETS_UNCACHED_ADDR(addr) (addr)
                                  ^~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:206:14: note: in expansion of macro 'WRITE_PERI_REG'
             (WRITE_PERI_REG((reg),(READ_PERI_REG(reg)&(~((bit_map)<<(shift))))|(((value) & bit_map)<<(shift)) ));      \
              ^~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:13: note: in expansion of macro 'SET_PERI_REG_BITS'
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC, LastDacValue, RTC_IO_PDAC1_DAC_S);
             ^~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:52: error: 'RTC_IO_PDAC1_DAC' was not declared in this scope
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC, LastDacValue, RTC_IO_PDAC1_DAC_S);
                                                    ^~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:176:76: note: in definition of macro 'WRITE_PERI_REG'
             (*((volatile uint32_t *)ETS_UNCACHED_ADDR(addr))) = (uint32_t)(val);                                       \
                                                                            ^~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:13: note: in expansion of macro 'SET_PERI_REG_BITS'
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC, LastDacValue, RTC_IO_PDAC1_DAC_S);
             ^~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:84: error: 'RTC_IO_PDAC1_DAC_S' was not declared in this scope
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC, LastDacValue, RTC_IO_PDAC1_DAC_S);
                                                                                    ^~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:176:76: note: in definition of macro 'WRITE_PERI_REG'
             (*((volatile uint32_t *)ETS_UNCACHED_ADDR(addr))) = (uint32_t)(val);                                       \
                                                                            ^~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:13: note: in expansion of macro 'SET_PERI_REG_BITS'
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC, LastDacValue, RTC_IO_PDAC1_DAC_S);
             ^~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:84: note: suggested alternative: 'RTC_RODATA_ATTR'
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC, LastDacValue, RTC_IO_PDAC1_DAC_S);
                                                                                    ^~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:176:76: note: in definition of macro 'WRITE_PERI_REG'
             (*((volatile uint32_t *)ETS_UNCACHED_ADDR(addr))) = (uint32_t)(val);                                       \
                                                                            ^~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:13: note: in expansion of macro 'SET_PERI_REG_BITS'
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC, LastDacValue, RTC_IO_PDAC1_DAC_S);
             ^~~~~~~~~~~~~~~~~
In file included from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:19,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/hal/include/hal/touch_sensor_types.h:11,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/esp_hw_support/include/esp_sleep.h:12,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal.h:33,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal-timer.h:23,
                 from C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:23:
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:156:31: error: 'RTC_IO_PAD_DAC1_REG' was not declared in this scope
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);
                               ^~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:38: note: in definition of macro 'TRY_STATIC_ASSERT'
             if (__builtin_constant_p(CONDITION) && !(CONDITION)) {          \
                                      ^~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/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\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:187:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG'
             ASSERT_IF_DPORT_REG((reg), SET_PERI_REG_MASK);                                                             \
             ^~~~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:156:13: note: in expansion of macro 'SET_PERI_REG_MASK'
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);
             ^~~~~~~~~~~~~~~~~
In file included from c:\users\jim_\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2\xtensa-esp32-elf\sys-include\sys\reent.h:503,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/newlib/platform_include/sys/reent.h:17,
                 from c:\users\jim_\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2\xtensa-esp32-elf\sys-include\stdio.h:60,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal.h:25,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal-timer.h:23,
                 from C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:23:
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:156:31: error: 'RTC_IO_PAD_DAC1_REG' was not declared in this scope
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);
                               ^~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/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\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/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\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:187:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG'
             ASSERT_IF_DPORT_REG((reg), SET_PERI_REG_MASK);                                                             \
             ^~~~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:156:13: note: in expansion of macro 'SET_PERI_REG_MASK'
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);
             ^~~~~~~~~~~~~~~~~
In file included from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:19,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/hal/include/hal/touch_sensor_types.h:11,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/esp_hw_support/include/esp_sleep.h:12,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal.h:33,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal-timer.h:23,
                 from C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:23:
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:156:31: error: 'RTC_IO_PAD_DAC1_REG' was not declared in this scope
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);
                               ^~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:38: note: in definition of macro 'TRY_STATIC_ASSERT'
             if (__builtin_constant_p(CONDITION) && !(CONDITION)) {          \
                                      ^~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/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\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:175:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG'
             ASSERT_IF_DPORT_REG((addr), WRITE_PERI_REG);                                                               \
             ^~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:188:13: note: in expansion of macro 'WRITE_PERI_REG'
             WRITE_PERI_REG((reg), (READ_PERI_REG(reg)|(mask)));                                                        \
             ^~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:156:13: note: in expansion of macro 'SET_PERI_REG_MASK'
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);
             ^~~~~~~~~~~~~~~~~
In file included from c:\users\jim_\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2\xtensa-esp32-elf\sys-include\sys\reent.h:503,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/newlib/platform_include/sys/reent.h:17,
                 from c:\users\jim_\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2\xtensa-esp32-elf\sys-include\stdio.h:60,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal.h:25,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal-timer.h:23,
                 from C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:23:
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:156:31: error: 'RTC_IO_PAD_DAC1_REG' was not declared in this scope
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);
                               ^~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/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\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/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\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:175:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG'
             ASSERT_IF_DPORT_REG((addr), WRITE_PERI_REG);                                                               \
             ^~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:188:13: note: in expansion of macro 'WRITE_PERI_REG'
             WRITE_PERI_REG((reg), (READ_PERI_REG(reg)|(mask)));                                                        \
             ^~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:156:13: note: in expansion of macro 'SET_PERI_REG_MASK'
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);
             ^~~~~~~~~~~~~~~~~
In file included from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/hal/include/hal/touch_sensor_types.h:11,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/esp_hw_support/include/esp_sleep.h:12,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal.h:33,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal-timer.h:23,
                 from C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:23:
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:156:31: error: 'RTC_IO_PAD_DAC1_REG' was not declared in this scope
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);
                               ^~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:87:34: note: in definition of macro 'ETS_UNCACHED_ADDR'
 #define ETS_UNCACHED_ADDR(addr) (addr)
                                  ^~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:188:13: note: in expansion of macro 'WRITE_PERI_REG'
             WRITE_PERI_REG((reg), (READ_PERI_REG(reg)|(mask)));                                                        \
             ^~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:156:13: note: in expansion of macro 'SET_PERI_REG_MASK'
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);
             ^~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:156:52: error: 'RTC_IO_PDAC1_XPD_DAC' was not declared in this scope
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);
                                                    ^~~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:176:76: note: in definition of macro 'WRITE_PERI_REG'
             (*((volatile uint32_t *)ETS_UNCACHED_ADDR(addr))) = (uint32_t)(val);                                       \
                                                                            ^~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:156:13: note: in expansion of macro 'SET_PERI_REG_MASK'
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);
             ^~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:156:75: error: 'RTC_IO_PDAC1_DAC_XPD_FORCE' was not declared in this scope
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);
                                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:176:76: note: in definition of macro 'WRITE_PERI_REG'
             (*((volatile uint32_t *)ETS_UNCACHED_ADDR(addr))) = (uint32_t)(val);                                       \
                                                                            ^~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:156:13: note: in expansion of macro 'SET_PERI_REG_MASK'
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);
             ^~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:156:75: note: suggested alternative: 'SENS_SAR1_DAC_XPD_FSM_S'
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);
                                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:176:76: note: in definition of macro 'WRITE_PERI_REG'
             (*((volatile uint32_t *)ETS_UNCACHED_ADDR(addr))) = (uint32_t)(val);                                       \
                                                                            ^~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:156:13: note: in expansion of macro 'SET_PERI_REG_MASK'
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);
             ^~~~~~~~~~~~~~~~~
In file included from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:19,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/hal/include/hal/touch_sensor_types.h:11,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/esp_hw_support/include/esp_sleep.h:12,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal.h:33,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal-timer.h:23,
                 from C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:23:
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:161:31: error: 'RTC_IO_PAD_DAC2_REG' was not declared in this scope
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC2_REG, RTC_IO_PDAC2_DAC, LastDacValue, RTC_IO_PDAC2_DAC_S);
                               ^~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:38: note: in definition of macro 'TRY_STATIC_ASSERT'
             if (__builtin_constant_p(CONDITION) && !(CONDITION)) {          \
                                      ^~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/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\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:205:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG'
             ASSERT_IF_DPORT_REG((reg), SET_PERI_REG_BITS);                                                             \
             ^~~~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:161:13: note: in expansion of macro 'SET_PERI_REG_BITS'
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC2_REG, RTC_IO_PDAC2_DAC, LastDacValue, RTC_IO_PDAC2_DAC_S);
             ^~~~~~~~~~~~~~~~~
In file included from c:\users\jim_\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2\xtensa-esp32-elf\sys-include\sys\reent.h:503,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/newlib/platform_include/sys/reent.h:17,
                 from c:\users\jim_\appdata\local\arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\gcc8_4_0-esp-2021r2\xtensa-esp32-elf\sys-include\stdio.h:60,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal.h:25,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal-timer.h:23,
                 from C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:23:
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:161:31: error: 'RTC_IO_PAD_DAC2_REG' was not declared in this scope
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC2_REG, RTC_IO_PDAC2_DAC, LastDacValue, RTC_IO_PDAC2_DAC_S);
                               ^~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/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\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/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\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:205:13: note: in expansion of macro 'ASSERT_IF_DPORT_REG'
             ASSERT_IF_DPORT_REG((reg), SET_PERI_REG_BITS);                                                             \
             ^~~~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:161:13: note: in expansion of macro 'SET_PERI_REG_BITS'
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC2_REG, RTC_IO_PDAC2_DAC, LastDacValue, RTC_IO_PDAC2_DAC_S);
             ^~~~~~~~~~~~~~~~~
In file included from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:19,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/hal/include/hal/touch_sensor_types.h:11,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/esp_hw_support/include/esp_sleep.h:12,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal.h:33,
                 from C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2\cores\esp32/esp32-hal-timer.h:23,
                 from C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:23:
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:161:31: error: 'RTC_IO_PAD_DAC2_REG' was not declared in this scope
             SET_PERI_REG_BITS(RTC_IO_PAD_DAC2_REG, RTC_IO_PDAC2_DAC, LastDacValue, RTC_IO_PDAC2_DAC_S);
                               ^~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/esp_common/include/esp_assert.h:29:38: note: in definition of macro 'TRY_STATIC_ASSERT'
             if (__builtin_constant_p(CONDITION) && !(CONDITION)) {          \
                                      ^~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:162:13: note: in expansion of macro 'SET_PERI_REG_MASK'
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC2_REG, RTC_IO_PDAC2_XPD_DAC | RTC_IO_PDAC2_DAC_XPD_FORCE);
             ^~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:162:75: error: 'RTC_IO_PDAC2_DAC_XPD_FORCE' was not declared in this scope
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC2_REG, RTC_IO_PDAC2_XPD_DAC | RTC_IO_PDAC2_DAC_XPD_FORCE);
                                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\jim_\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.2/tools/sdk/esp32/include/soc/esp32/include/soc/soc.h:176:76: note: in definition of macro 'WRITE_PERI_REG'
             (*((volatile uint32_t *)ETS_UNCACHED_ADDR(addr))) = (uint32_t)(val);                                       \
                                                                            ^~~
C:\Program Files (x86)\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:162:13: note: in expansion of macro 'SET_PERI_REG_MASK'
             SET_PERI_REG_MASK(RTC_IO_PAD_DAC2_REG, RTC_IO_PDAC2_XPD_DAC | RTC_IO_PDAC2_DAC_XPD_FORCE);
             ^~~~~~~~~~~~~~~~~
exit status 1
Error compiling for board Node32s.


This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

vinilush
Posts: 1
Joined: Tue Jun 21, 2022 1:13 pm

Re: Xtronical DAC Audio Library and Arduino esp32 Board Manager 2.0.2

Postby vinilush » Tue Jun 21, 2022 1:15 pm

Hi. Did you figure it out in the end? I am having a similar issue :)

randynwalsh
Posts: 1
Joined: Tue Dec 01, 2020 10:42 pm

Re: Xtronical DAC Audio Library and Arduino esp32 Board Manager 2.0.2

Postby randynwalsh » Mon Jun 27, 2022 10:06 pm

The code file XT_DAC_Audio.cpp needs to have the include:

#include "soc/rtc_io_reg.h"

added. This is where the definitions for RTC_IO_PAD_DAC1_REG are located.

almostdust
Posts: 3
Joined: Thu Jan 18, 2024 2:58 pm

Re: Xtronical DAC Audio Library and Arduino esp32 Board Manager 2.0.2

Postby almostdust » Thu Feb 29, 2024 4:47 pm

This fix doesn't seem to work for S3 Mini.
Anybody with a solution for this?

top of XT_DAC_Audio.cpp:

Code: Select all

#include "soc/rtc_io_reg.h"
#include "esp32-hal-timer.h"
#include "XT_DAC_Audio.h"
#include "HardwareSerial.h"
#include "soc/sens_reg.h"  // For dacWrite() patch, TEB Sep-16-2019
errors:

Code: Select all

In file included from C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/rtc_io_reg.h:18,
                 from C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:23:
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp: In function 'void onTimer()':
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:152:29: error: 'SENS_SAR_DAC_CTRL1_REG' was not declared in this scope
         CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL1_REG, SENS_SW_TONE_EN);  //Disable Tone
                             ^~~~~~~~~~~~~~~~~~~~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:129:34: note: in definition of macro 'ETS_UNCACHED_ADDR'
 #define ETS_UNCACHED_ADDR(addr) (addr)
                                  ^~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:204:13: note: in expansion of macro 'WRITE_PERI_REG'
             WRITE_PERI_REG((reg), (READ_PERI_REG(reg)&(~(mask))));                                                     \
             ^~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:152:9: note: in expansion of macro 'CLEAR_PERI_REG_MASK'
         CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL1_REG, SENS_SW_TONE_EN);  //Disable Tone
         ^~~~~~~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:152:29: note: suggested alternative: 'SENS_SAR_AMP_CTRL1_REG'
         CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL1_REG, SENS_SW_TONE_EN);  //Disable Tone
                             ^~~~~~~~~~~~~~~~~~~~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:129:34: note: in definition of macro 'ETS_UNCACHED_ADDR'
 #define ETS_UNCACHED_ADDR(addr) (addr)
                                  ^~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:204:13: note: in expansion of macro 'WRITE_PERI_REG'
             WRITE_PERI_REG((reg), (READ_PERI_REG(reg)&(~(mask))));                                                     \
             ^~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:152:9: note: in expansion of macro 'CLEAR_PERI_REG_MASK'
         CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL1_REG, SENS_SW_TONE_EN);  //Disable Tone
         ^~~~~~~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:152:53: error: 'SENS_SW_TONE_EN' was not declared in this scope
         CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL1_REG, SENS_SW_TONE_EN);  //Disable Tone
                                                     ^~~~~~~~~~~~~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:199:76: note: in definition of macro 'WRITE_PERI_REG'
             (*((volatile uint32_t *)ETS_UNCACHED_ADDR(addr))) = (uint32_t)(val);                                       \
                                                                            ^~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:152:9: note: in expansion of macro 'CLEAR_PERI_REG_MASK'
         CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL1_REG, SENS_SW_TONE_EN);  //Disable Tone
         ^~~~~~~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:152:53: note: suggested alternative: 'SENS_SARCLK_EN'
         CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL1_REG, SENS_SW_TONE_EN);  //Disable Tone
                                                     ^~~~~~~~~~~~~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:199:76: note: in definition of macro 'WRITE_PERI_REG'
             (*((volatile uint32_t *)ETS_UNCACHED_ADDR(addr))) = (uint32_t)(val);                                       \
                                                                            ^~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:152:9: note: in expansion of macro 'CLEAR_PERI_REG_MASK'
         CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL1_REG, SENS_SW_TONE_EN);  //Disable Tone
         ^~~~~~~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:33: error: 'SENS_SAR_DAC_CTRL2_REG' was not declared in this scope
             CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN1_M);
                                 ^~~~~~~~~~~~~~~~~~~~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:129:34: note: in definition of macro 'ETS_UNCACHED_ADDR'
 #define ETS_UNCACHED_ADDR(addr) (addr)
                                  ^~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:204:13: note: in expansion of macro 'WRITE_PERI_REG'
             WRITE_PERI_REG((reg), (READ_PERI_REG(reg)&(~(mask))));                                                     \
             ^~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:13: note: in expansion of macro 'CLEAR_PERI_REG_MASK'
             CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN1_M);
             ^~~~~~~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:33: note: suggested alternative: 'SENS_SAR_AMP_CTRL2_REG'
             CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN1_M);
                                 ^~~~~~~~~~~~~~~~~~~~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:129:34: note: in definition of macro 'ETS_UNCACHED_ADDR'
 #define ETS_UNCACHED_ADDR(addr) (addr)
                                  ^~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:204:13: note: in expansion of macro 'WRITE_PERI_REG'
             WRITE_PERI_REG((reg), (READ_PERI_REG(reg)&(~(mask))));                                                     \
             ^~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:13: note: in expansion of macro 'CLEAR_PERI_REG_MASK'
             CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN1_M);
             ^~~~~~~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:57: error: 'SENS_DAC_CW_EN1_M' was not declared in this scope
             CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN1_M);
                                                         ^~~~~~~~~~~~~~~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:199:76: note: in definition of macro 'WRITE_PERI_REG'
             (*((volatile uint32_t *)ETS_UNCACHED_ADDR(addr))) = (uint32_t)(val);                                       \
                                                                            ^~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:13: note: in expansion of macro 'CLEAR_PERI_REG_MASK'
             CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN1_M);
             ^~~~~~~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:57: note: suggested alternative: 'SENS_SARCLK_EN_M'
             CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN1_M);
                                                         ^~~~~~~~~~~~~~~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:199:76: note: in definition of macro 'WRITE_PERI_REG'
             (*((volatile uint32_t *)ETS_UNCACHED_ADDR(addr))) = (uint32_t)(val);                                       \
                                                                            ^~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:155:13: note: in expansion of macro 'CLEAR_PERI_REG_MASK'
             CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN1_M);
             ^~~~~~~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:161:33: error: 'SENS_SAR_DAC_CTRL2_REG' was not declared in this scope
             CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN2_M);
                                 ^~~~~~~~~~~~~~~~~~~~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:129:34: note: in definition of macro 'ETS_UNCACHED_ADDR'
 #define ETS_UNCACHED_ADDR(addr) (addr)
                                  ^~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:204:13: note: in expansion of macro 'WRITE_PERI_REG'
             WRITE_PERI_REG((reg), (READ_PERI_REG(reg)&(~(mask))));                                                     \
             ^~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:161:13: note: in expansion of macro 'CLEAR_PERI_REG_MASK'
             CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN2_M);
             ^~~~~~~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:161:33: note: suggested alternative: 'SENS_SAR_AMP_CTRL2_REG'
             CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN2_M);
                                 ^~~~~~~~~~~~~~~~~~~~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:129:34: note: in definition of macro 'ETS_UNCACHED_ADDR'
 #define ETS_UNCACHED_ADDR(addr) (addr)
                                  ^~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:204:13: note: in expansion of macro 'WRITE_PERI_REG'
             WRITE_PERI_REG((reg), (READ_PERI_REG(reg)&(~(mask))));                                                     \
             ^~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:161:13: note: in expansion of macro 'CLEAR_PERI_REG_MASK'
             CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN2_M);
             ^~~~~~~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:161:57: error: 'SENS_DAC_CW_EN2_M' was not declared in this scope
             CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN2_M);
                                                         ^~~~~~~~~~~~~~~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:199:76: note: in definition of macro 'WRITE_PERI_REG'
             (*((volatile uint32_t *)ETS_UNCACHED_ADDR(addr))) = (uint32_t)(val);                                       \
                                                                            ^~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:161:13: note: in expansion of macro 'CLEAR_PERI_REG_MASK'
             CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN2_M);
             ^~~~~~~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:161:57: note: suggested alternative: 'SENS_SARCLK_EN_M'
             CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN2_M);
                                                         ^~~~~~~~~~~~~~~~~
C:\Users\123\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.14/tools/sdk/esp32s3/include/soc/esp32s3/include/soc/soc.h:199:76: note: in definition of macro 'WRITE_PERI_REG'
             (*((volatile uint32_t *)ETS_UNCACHED_ADDR(addr))) = (uint32_t)(val);                                       \
                                                                            ^~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:161:13: note: in expansion of macro 'CLEAR_PERI_REG_MASK'
             CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN2_M);
             ^~~~~~~~~~~~~~~~~~~
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp: In member function 'void XT_Instrument_Class::SetWaveForm(uint8_t)':
C:\Users\123\OneDrive\Dokumente\Arduino\libraries\XT_DAC_Audio\XT_DAC_Audio.cpp:668:18: error: deleting object of polymorphic class type 'XT_Wave_Class' which has non-virtual destructor might cause undefined behavior [-Werror=delete-non-virtual-dtor]
  delete (WaveForm);          // free any previous memory for a previous waveform
                  ^
cc1plus.exe: some warnings being treated as errors

lbernstone
Posts: 829
Joined: Mon Jul 22, 2019 3:20 pm

Re: Xtronical DAC Audio Library and Arduino esp32 Board Manager 2.0.2

Postby lbernstone » Thu Feb 29, 2024 9:47 pm

The S3 doesn't have a hardware DAC, and if it did, it would not be located at the same register addresses as the ESP32.

almostdust
Posts: 3
Joined: Thu Jan 18, 2024 2:58 pm

Re: Xtronical DAC Audio Library and Arduino esp32 Board Manager 2.0.2

Postby almostdust » Fri Mar 01, 2024 6:04 am

That is sad, so the specs from Wemos Lolin S3 Mini are wrong then?

Wemos had a good idea to make the boards swappable with the pins at the same position but it is sort of useless if isn't supported or they don't provide own code. :(

Theraptus
Posts: 2
Joined: Sat Jul 17, 2021 2:56 pm

Re: Xtronical DAC Audio Library and Arduino esp32 Board Manager 2.0.2

Postby Theraptus » Wed Jul 10, 2024 8:41 am

Someone found a solution?
I added "#include soc/rtc_io_reg.h" but got other issues, can't underst how to correct:
  1.  
  2. XT_DAC_Audio.cpp:323:27: error: too many arguments to function 'hw_timer_t* timerBegin(uint32_t)'
  3.   323 |         timer = timerBegin(TimerNo, 80, true);
  4. [...] \Arduino15\packages\esp32\hardware\esp32\3.0.2\cores\esp32/esp32-hal-timer.h:35:13: note: declared here
  5.    35 | hw_timer_t *timerBegin(uint32_t frequency);
Then:
  1. XT_DAC_Audio.cpp:324:29: error: too many arguments to function 'void timerAttachInterrupt(hw_timer_t*, void (*)())'
  2.   324 |         timerAttachInterrupt(timer, &onTimer, true);    // P3= edge triggered
  3.       |         ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
  4. [...]AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.2\cores\esp32/esp32-hal-timer.h:50:6: note: declared here
  5.    50 | void timerAttachInterrupt(hw_timer_t *timer, void (*userFunc)(void));
Then, other two functions "timerAlarmWrite" and "timerAlarmEnable" raise errors because they're not declared.
It seems the ESP32 libs are new, and the XT_DAC aren't updated, but donnow how to correct.
Note: [...] means path that I remove because not interestion.

Any suggestions?

Who is online

Users browsing this forum: Baidu [Spider] and 41 guests