Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ESP32 SDK 2.0.2. #420

Closed
dukess opened this issue Nov 13, 2021 · 103 comments
Closed

ESP32 SDK 2.0.2. #420

dukess opened this issue Nov 13, 2021 · 103 comments

Comments

@dukess
Copy link
Contributor

dukess commented Nov 13, 2021

I'm starting software adaptations for using with new ESP32 SDK.
At the moment, the program is being built without errors.
To do this, i had to use a new version of the OneWire library.
Now i'm not assured in possibility of working with Dallas sensors, it should be tested.
Probably we should to update DHT library with this (https://github.com/beegee-tokyo/DHTesp ) fork because it works with multicore ESP32. (Already in master branch)

Current progress: https://github.com/dukess/BSB-LAN/tree/ESP32-SDK-2.0.2

@dukess
Copy link
Contributor Author

dukess commented Nov 14, 2021

@fredlcore Hi, can you remember for me why you used
EEPROMClass EEPROM_ESP("nvs", EEPROM_SIZE);
(EEPROM name definition)
instead
EEPROMClass EEPROM_ESP(EEPROM_SIZE);

Here was glitches?

I got error with name definition when i run test on PlatformIO but haven't problems with Arduino Studio:

LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 29 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <FS> 1.0
|-- <SD_MMC> 1.0
|   |-- <FS> 1.0
|-- <EEPROM> 1.0.3
|-- <ESPmDNS> 1.0
|   |-- <WiFi> 1.0
|-- <WiFi> 1.0
|-- <Ethernet> 2.0.0
|   |-- <SPI> 1.0
|-- <SPI> 1.0
|-- <SPIFFS> 1.0
|   |-- <FS> 1.0
|-- <Update> 1.0
|-- <WebServer> 1.0
|   |-- <WiFi> 1.0
|   |-- <FS> 1.0
|-- <Wire> 1.0.1
Building in release mode
Compiling .pio/build/esp32-evb/src/BSB_LAN.ino.cpp.o
Compiling .pio/build/esp32-evb/src/src/ArduinoMDNS/MDNS.cpp.o
/tmp/tmpw9cod4iu/src/BSB_LAN.ino:510:49: error: invalid conversion from 'const char*' to 'uint32_t {aka unsigned int}' [-fpermissive]
 EEPROMClass EEPROM_ESP((const char *)PSTR("nvs"));
                                                 ^
In file included from /tmp/tmpw9cod4iu/src/BSB_LAN.ino:502:0:
/home/runner/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src/EEPROM.h:37:5: note:   initializing argument 1 of 'EEPROMClass::EEPROMClass(uint32_t)'
     EEPROMClass(uint32_t sector);
     ^
*** [.pio/build/esp32-evb/src/BSB_LAN.ino.cpp.o] Error 1
========================== [FAILED] Took 2.04 seconds ==========================
Error: Process completed with exit code 1.

@fredlcore
Copy link
Owner

Yes, we had a discussion earlier this year about it:
#329 (comment)
By default the IDEs come with different partition layouts for the ESP32, and nvs was the one that seemed to work on all of them. Maybe you could check and see if/why the command no longer lets you select a partition but only accept the size?

@fredlcore
Copy link
Owner

I just figured out that the size parameter is no longer supported/used. So

EEPROMClass EEPROM_ESP("nvs");

should be sufficient. The problem will be that older IDEs may still not support the new library (which is just 3 weeks old), so changing the code may produce problems there. Since we officially recommend the Arduino IDE, I would only make the change once the newest Arduino IDE also supports this new library version. When that will be, God nows...

@dukess
Copy link
Contributor Author

dukess commented Nov 15, 2021

#329 (comment)

Thank you!

By default the IDEs come with different partition layouts for the ESP32, and nvs was the one that seemed to work on all of them. Maybe you could check and see if/why the command no longer lets you select a partition but only accept the size?

Compiler for some reason mix unsigned int (32 bit length) and address pointer (32 bit length) I guess.

The problem will be that older IDEs may still not support the new library

Arduino IDE has no problem with ESP32 SDK 2.0.1.
Got it! I was sure that v 2.0.0 was released by platformio but that not so. And I don't know platformio well enough to manually change frameworks via the command line.

By the way current DHT library can work unstable/incorrect for same reason as old OneWire library (multicore MCU + interrupts). So we should to change it to https://github.com/beegee-tokyo/DHTesp

@Ludn
Copy link

Ludn commented Dec 23, 2021

Sorry for posting this here, but related issues seems to be closed:
Thanks for help and hint on this: i spent the night on getting BSB-LAN v2.0 compiled with Arduino 1.8.15 for Wi-Fi ESP32.
I tried mods noted in #issue 322, this mod on EEPROMClass here, different ESP32 SDK versions 1.0.6 to 2.0.1 and several mods of-manual like:

  • adding #define ESP32
  • deactivating compiler problematic #defines on ONE_WIRE_BUS, DHT_BUS, BME280
    ..but it's still not compiler-accepted.

My basic mods (followed by manual) are

  • removing both directories "ArduinoMDNS" und "WiFiSpi"
  • in BSB_LAN_config.h: #define WIFI, with settings

Compiler results somehow close to #issue 322 are:

D:\Haus\Heizgsplanung, Speicher, Gastherme\BSB-LAN-ESP32\BSB-LAN-master\BSB_LAN\src\OneWire\OneWire.cpp:599:22: warning: extra tokens at end of #undef directive
 #  undef noInterrupts() {portMUX_TYPE mux = portMUX_INITIALIZER_UNLOCKED;portENTER_CRITICAL(&mux)
                      ^
D:\Haus\Heizgsplanung, Speicher, Gastherme\BSB-LAN-ESP32\BSB-LAN-master\BSB_LAN\src\OneWire\OneWire.cpp:600:20: warning: extra tokens at end of #undef directive
 #  undef interrupts() portEXIT_CRITICAL(&mux);}
                    ^
D:\Haus\Heizgsplanung, Speicher, Gastherme\BSB-LAN-ESP32\BSB-LAN-master\BSB_LAN\src\BSB\bsb.cpp: In member function 'void BSB::enableInterface()':
D:\Haus\Heizgsplanung, Speicher, Gastherme\BSB-LAN-ESP32\BSB-LAN-master\BSB_LAN\src\BSB\bsb.cpp:52:34: error: 'UART_RXFIFO_FULL_INT_ENA_M' was not declared in this scope
     uart_intr.intr_enable_mask = UART_RXFIFO_FULL_INT_ENA_M
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
D:\Haus\Heizgsplanung, Speicher, Gastherme\BSB-LAN-ESP32\BSB-LAN-master\BSB_LAN\src\BSB\bsb.cpp:52:34: note: suggested alternative: 'GPIO_PIN4_INT_ENA_M'
     uart_intr.intr_enable_mask = UART_RXFIFO_FULL_INT_ENA_M
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
                                  GPIO_PIN4_INT_ENA_M
D:\Haus\Heizgsplanung, Speicher, Gastherme\BSB-LAN-ESP32\BSB-LAN-master\BSB_LAN\src\BSB\bsb.cpp:53:31: error: 'UART_RXFIFO_TOUT_INT_ENA_M' was not declared in this scope
                             | UART_RXFIFO_TOUT_INT_ENA_M
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
D:\Haus\Heizgsplanung, Speicher, Gastherme\BSB-LAN-ESP32\BSB-LAN-master\BSB_LAN\src\BSB\bsb.cpp:53:31: note: suggested alternative: 'GPIO_PIN4_INT_ENA_M'
                             | UART_RXFIFO_TOUT_INT_ENA_M
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
                               GPIO_PIN4_INT_ENA_M
D:\Haus\Heizgsplanung, Speicher, Gastherme\BSB-LAN-ESP32\BSB-LAN-master\BSB_LAN\src\BSB\bsb.cpp:54:31: error: 'UART_FRM_ERR_INT_ENA_M' was not declared in this scope
                             | UART_FRM_ERR_INT_ENA_M;
                               ^~~~~~~~~~~~~~~~~~~~~~
In file included from D:\Haus\Heizgsplanung, Speicher, Gastherme\BSB-LAN-ESP32\BSB-LAN-master\BSB_LAN\src\OneWire\OneWire.cpp:149:
D:\Haus\Heizgsplanung, Speicher, Gastherme\BSB-LAN-ESP32\BSB-LAN-master\BSB_LAN\src\OneWire\util\OneWire_direct_gpio.h: In function 'void directModeInput(uint32_t)':
D:\Haus\Heizgsplanung, Speicher, Gastherme\BSB-LAN-ESP32\BSB-LAN-master\BSB_LAN\src\OneWire\util\OneWire_direct_gpio.h:161:26: error: 'rtc_gpio_desc' was not declared in this scope
         uint32_t rtc_reg(rtc_gpio_desc[pin].reg);
                          ^~~~~~~~~~~~~
D:\Haus\Heizgsplanung, Speicher, Gastherme\BSB-LAN-ESP32\BSB-LAN-master\BSB_LAN\src\OneWire\util\OneWire_direct_gpio.h:161:26: note: suggested alternative: 'rtc_io_desc'
         uint32_t rtc_reg(rtc_gpio_desc[pin].reg);
                          ^~~~~~~~~~~~~
                          rtc_io_desc
D:\Haus\Heizgsplanung, Speicher, Gastherme\BSB-LAN-ESP32\BSB-LAN-master\BSB_LAN\src\OneWire\util\OneWire_direct_gpio.h: In function 'void directModeOutput(uint32_t)':
D:\Haus\Heizgsplanung, Speicher, Gastherme\BSB-LAN-ESP32\BSB-LAN-master\BSB_LAN\src\OneWire\util\OneWire_direct_gpio.h:189:26: error: 'rtc_gpio_desc' was not declared in this scope
         uint32_t rtc_reg(rtc_gpio_desc[pin].reg);
                          ^~~~~~~~~~~~~
D:\Haus\Heizgsplanung, Speicher, Gastherme\BSB-LAN-ESP32\BSB-LAN-master\BSB_LAN\src\BSB\bsb.cpp:54:31: note: suggested alternative: 'GPIO_PIN26_INT_ENA_M'
                             | UART_FRM_ERR_INT_ENA_M;
                               ^~~~~~~~~~~~~~~~~~~~~~
                               GPIO_PIN26_INT_ENA_M
D:\Haus\Heizgsplanung, Speicher, Gastherme\BSB-LAN-ESP32\BSB-LAN-master\BSB_LAN\src\OneWire\util\OneWire_direct_gpio.h:189:26: note: suggested alternative: 'rtc_io_desc'
         uint32_t rtc_reg(rtc_gpio_desc[pin].reg);
                          ^~~~~~~~~~~~~
                          rtc_io_desc
Mehrere Bibliotheken wurden für "WiFi.h" gefunden
 Benutzt: C:\Users\AG-Ry\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.1\libraries\WiFi
 Nicht benutzt: C:\Program Files (x86)\Arduino\libraries\WiFi
exit status 1
Fehler beim Kompilieren für das Board OLIMEX ESP32-EVB.

Has anyone v2 with Wifi for ESP32 running and could give me a hint?

@dukess
Copy link
Contributor Author

dukess commented Dec 24, 2021

In SDK 2.0.x some definitions, functions and header files was changed. I added one more header file in bsb.cpp:
#include "soc/uart_reg.h"

About OneWire: you can take library from my branch https://github.com/dukess/BSB-LAN/tree/ESP32-SDK-2.0.1 because official library not contatin yet needed changes OR just delete OneWire directory.

@fredlcore
Copy link
Owner

Is it confirmed that the official Arduino IDE now uses SDK 2.0? I'm just wondering because otherwise many more users should be complaining about that problem. Or maybe they are all using older versions still? In any case, if Arduino IDE is using SDK 2.0, we'll have to make these adjustments so that it compiles without errors.

@dukess
Copy link
Contributor Author

dukess commented Dec 24, 2021

Yep. Arduino Studio for Windows can use ESP 2.0.1. But Platformio support 1.0.6 only. For this reason i can't propose do PR with my changes.

@Ludn
Copy link

Ludn commented Dec 24, 2021

Sorry for misunderstanding, i meant ESP32 esspressif version in board administrator. Just can't get it compiled but errors are related to this. Also don't need one wire, DHT or BME support for now.

@fredlcore
Copy link
Owner

I just installed the Arduino IDE from scratch on my Mac, version 1.8.19. The board manager for ESP32 only offers me SDK version 1.0.6 as the newest version. I used ESP32 Dev Module as target board.
First thing I did was rename BSB-LAN_config.h.default to BSB-LAN_config.h, remove ArduinoDNS and WiFiSpi folders, then activate #define WIFI in config.
Result: Compiler runs through without any errors.
@Ludn: Can you please update your Arduino IDE to 1.8.19 and do exactly as I did? If it doesn't compile properly, you may have to uninstall and reinstall the Arduino IDE and/or the ESP32 board from the board manager.

@Ludn
Copy link

Ludn commented Dec 24, 2021

Big thx, let me check on latest Ardu. Interesting, i get newer versions offered here with windows setup, but can choose older version if needed.

@fredlcore
Copy link
Owner

I'm using this URL for the ESP32 board manager:
https://dl.espressif.com/dl/package_esp32_index.json
Which one do you use that you are being offered the 2.0.2 version?

@Ludn
Copy link

Ludn commented Dec 24, 2021

yeah, this URL, i choosed 2.0.1

@fredlcore
Copy link
Owner

It shouldn't be OS related, I guess, because the JSON file that I'm referring to only lists version up to 1.0.6. Which URL are you using?

@Ludn
Copy link

Ludn commented Dec 24, 2021

@dukess
Copy link
Contributor Author

dukess commented Dec 24, 2021

изображение

@Ludn you can choose version 1.0.6 in board manager

@fredlcore
Copy link
Owner

Ok, that's different from what I know, but I see that it's listed in the official docs. Strange that there is a difference between the two, as both seem to be from Espressif...
For now, we should add that BSB-LAN runs on 1.0.6. I would start requiring 2.x once it is supported also on PlatformIO because that's the platform I use to code and it seems that currently I can't simply switch to 2.x there...

@Ludn
Copy link

Ludn commented Dec 24, 2021

just checked 1.0.6. (with Ardu 1.8.15) and 1st error occurs:

BSB_LAN:511:23: error: redefinition of 'EEPROMClass EEPROM_ESP'
 EEPROMClass EEPROM_ESP((const char *)PSTR("nvs"));

@fredlcore
Copy link
Owner

@dukess: I installed 2.0.2 now, but adding #include "soc/uart_reg.h" does not stop the above errors...

@Ludn
Copy link

Ludn commented Dec 24, 2021

double-checked and compiled fine with 1.0.6.: i had quoted 2nd line not deactivated, i am happy for now^^ thx so much

@dukess
Copy link
Contributor Author

dukess commented Dec 24, 2021

just checked 1.0.6. (with Ardu 1.8.15) and 1st error occurs:

BSB_LAN:511:23: error: redefinition of 'EEPROMClass EEPROM_ESP'
 EEPROMClass EEPROM_ESP((const char *)PSTR("nvs"));

look like you use my branch with 1.0.6

I installed 2.0.2 now, but adding #include "soc/uart_reg.h" does not stop the above errors...

@fredlcore can you show me log?

@fredlcore
Copy link
Owner

Sure:

/Users/frederik/Downloads/BSB-LAN/BSB_LAN/src/OneWire/OneWire.cpp:599:22: warning: extra tokens at end of #undef directive
 #  undef noInterrupts() {portMUX_TYPE mux = portMUX_INITIALIZER_UNLOCKED;portENTER_CRITICAL(&mux)
                      ^
/Users/frederik/Downloads/BSB-LAN/BSB_LAN/src/OneWire/OneWire.cpp:600:20: warning: extra tokens at end of #undef directive
 #  undef interrupts() portEXIT_CRITICAL(&mux);}
                    ^
/Users/frederik/Downloads/BSB-LAN/BSB_LAN/src/BSB/bsb.cpp: In member function 'void BSB::enableInterface()':
/Users/frederik/Downloads/BSB-LAN/BSB_LAN/src/BSB/bsb.cpp:52:34: error: 'UART_RXFIFO_FULL_INT_ENA_M' was not declared in this scope
     uart_intr.intr_enable_mask = UART_RXFIFO_FULL_INT_ENA_M
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /Users/frederik/Downloads/BSB-LAN/BSB_LAN/src/OneWire/OneWire.cpp:149:
/Users/frederik/Downloads/BSB-LAN/BSB_LAN/src/OneWire/util/OneWire_direct_gpio.h: In function 'void directModeInput(uint32_t)':
/Users/frederik/Downloads/BSB-LAN/BSB_LAN/src/OneWire/util/OneWire_direct_gpio.h:161:26: error: 'rtc_gpio_desc' was not declared in this scope
         uint32_t rtc_reg(rtc_gpio_desc[pin].reg);
                          ^~~~~~~~~~~~~
/Users/frederik/Downloads/BSB-LAN/BSB_LAN/src/OneWire/util/OneWire_direct_gpio.h:161:26: note: suggested alternative: 'rtc_io_desc'
         uint32_t rtc_reg(rtc_gpio_desc[pin].reg);
                          ^~~~~~~~~~~~~
                          rtc_io_desc
/Users/frederik/Downloads/BSB-LAN/BSB_LAN/src/OneWire/util/OneWire_direct_gpio.h: In function 'void directModeOutput(uint32_t)':
/Users/frederik/Downloads/BSB-LAN/BSB_LAN/src/OneWire/util/OneWire_direct_gpio.h:189:26: error: 'rtc_gpio_desc' was not declared in this scope
         uint32_t rtc_reg(rtc_gpio_desc[pin].reg);
                          ^~~~~~~~~~~~~
/Users/frederik/Downloads/BSB-LAN/BSB_LAN/src/OneWire/util/OneWire_direct_gpio.h:189:26: note: suggested alternative: 'rtc_io_desc'
         uint32_t rtc_reg(rtc_gpio_desc[pin].reg);
                          ^~~~~~~~~~~~~
                          rtc_io_desc
/Users/frederik/Downloads/BSB-LAN/BSB_LAN/src/BSB/bsb.cpp:52:34: note: suggested alternative: 'GPIO_PIN4_INT_ENA_M'
     uart_intr.intr_enable_mask = UART_RXFIFO_FULL_INT_ENA_M
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
                                  GPIO_PIN4_INT_ENA_M
/Users/frederik/Downloads/BSB-LAN/BSB_LAN/src/BSB/bsb.cpp:53:31: error: 'UART_RXFIFO_TOUT_INT_ENA_M' was not declared in this scope
                             | UART_RXFIFO_TOUT_INT_ENA_M
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/frederik/Library/Arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/gcc8_4_0-esp-2021r2/bin/xtensa-esp32-elf-g++ -DHAVE_CONFIG_H "-DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"" -DUNITY_INCLUDE_CONFIG_H -DWITH_POSIX -D_GNU_SOURCE "-DIDF_VER=\"v4.4-beta1-189-ga79dc75f0a\"" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/config -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/newlib/platform_include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/freertos/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/freertos/include/esp_additions/freertos -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/freertos/port/xtensa/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/freertos/include/esp_additions -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_hw_support/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_hw_support/include/soc -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32 -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_hw_support/port/esp32 -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/heap/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/log/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/lwip/include/apps -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/lwip/include/apps/sntp -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/lwip/lwip/src/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/lwip/port/esp32/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/lwip/port/esp32/include/arch -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/soc/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/soc/esp32 -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/soc/esp32/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/hal/esp32/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/hal/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/hal/platform_port/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_rom/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_rom/include/esp32 -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_rom/esp32 -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_common/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_system/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_system/port/soc -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_system/port/public_compat -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp32/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/xtensa/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/xtensa/esp32/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/driver/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/driver/esp32/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_pm/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_ringbuf/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/efuse/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/efuse/esp32/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/vfs/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_wifi/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_event/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_netif/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_eth/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/tcpip_adapter/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_phy/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_phy/esp32/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_ipc/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/app_trace/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_timer/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/mbedtls/port/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/mbedtls/mbedtls/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/app_update/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/spi_flash/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/bootloader_support/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/nvs_flash/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/pthread/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_gdbstub/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_gdbstub/xtensa -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_gdbstub/esp32 -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/espcoredump/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/espcoredump/include/port/xtensa -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/wpa_supplicant/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/wpa_supplicant/port/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/ieee802154/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/console -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/asio/asio/asio/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/asio/port/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/bt/common/osi/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/bt/include/esp32/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/bt/common/api/include/api -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/bt/common/btc/profile/esp/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/cbor/port/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/unity/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/unity/unity/src -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/cmock/CMock/src -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/coap/port/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/coap/libcoap/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/nghttp/port/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-tls -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-tls/esp-tls-crypto -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_adc_cal/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_hid/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/tcp_transport/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_http_client/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_http_server/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_https_ota/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_lcd/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_lcd/interface -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/protobuf-c/protobuf-c -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/protocomm/include/common -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/protocomm/include/security -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/protocomm/include/transports -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/mdns/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_local_ctrl/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/sdmmc/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_serial_slave_link/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_websocket_client/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/expat/expat/expat/lib -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/expat/port/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/wear_levelling/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/fatfs/diskio -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/fatfs/vfs -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/fatfs/src -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/freemodbus/common/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/idf_test/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/idf_test/include/esp32 -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/jsmn/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/json/cJSON -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/libsodium/port_include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/mqtt/esp-mqtt/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/openssl/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/perfmon/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/spiffs/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/ulp/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/wifi_provisioning/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/button/button/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/json_parser -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/json_parser/jsmn/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/json_generator -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_schedule/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_rainmaker/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/qrcode/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/ws2812_led -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_littlefs/src -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp_littlefs/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/dotprod/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/support/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/windows/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/windows/hann/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/windows/blackman/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/windows/blackman_harris/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/windows/blackman_nuttall/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/windows/nuttall/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/windows/flat_top/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/iir/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/fir/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/math/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/math/add/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/math/sub/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/math/mul/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/math/addc/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/math/mulc/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/math/sqrt/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/matrix/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/fft/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/dct/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/conv/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/common/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/kalman/ekf/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-dsp/modules/kalman/ekf_imu13states/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-face/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-face/include/tool -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-face/include/typedef -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-face/include/image -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-face/include/math -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-face/include/nn -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-face/include/layer -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-face/include/detect -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp-face/include/model_zoo -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp32-camera/driver/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/esp32-camera/conversions/include -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/tools/sdk/esp32/include/fb_gfx/include -mlongcalls -Wno-frame-address -ffunction-sections -fdata-sections -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -ggdb -Os -freorder-blocks -Wwrite-strings -fstack-protector -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -std=gnu++11 -fexceptions -fno-rtti -MMD -c -DF_CPU=240000000L -DARDUINO=10819 -DARDUINO_ESP32_DEV -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"ESP32_DEV\"" "-DARDUINO_VARIANT=\"esp32\"" -DARDUINO_PARTITION_min_spiffs -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @/var/folders/jf/x456vzg54wx05y247tqvmln00000gn/T/arduino_build_549393/build_opt.h -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/cores/esp32 -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/variants/esp32 -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/libraries/EEPROM/src -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/libraries/ESPmDNS/src -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/libraries/WebServer/src -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/libraries/WiFi/src -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/libraries/Update/src -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/libraries/Wire/src -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/libraries/SPI/src -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/libraries/SPIFFS/src -I/Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/libraries/FS/src /var/folders/jf/x456vzg54wx05y247tqvmln00000gn/T/arduino_build_549393/sketch/src/SdFat/FatLib/FmtNumber.cpp -o /var/folders/jf/x456vzg54wx05y247tqvmln00000gn/T/arduino_build_549393/sketch/src/SdFat/FatLib/FmtNumber.cpp.o
/Users/frederik/Downloads/BSB-LAN/BSB_LAN/src/BSB/bsb.cpp:53:31: note: suggested alternative: 'GPIO_PIN4_INT_ENA_M'
                             | UART_RXFIFO_TOUT_INT_ENA_M
                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
                               GPIO_PIN4_INT_ENA_M
/Users/frederik/Downloads/BSB-LAN/BSB_LAN/src/BSB/bsb.cpp:54:31: error: 'UART_FRM_ERR_INT_ENA_M' was not declared in this scope
                             | UART_FRM_ERR_INT_ENA_M;
                               ^~~~~~~~~~~~~~~~~~~~~~
/Users/frederik/Downloads/BSB-LAN/BSB_LAN/src/BSB/bsb.cpp:54:31: note: suggested alternative: 'GPIO_PIN26_INT_ENA_M'
                             | UART_FRM_ERR_INT_ENA_M;
                               ^~~~~~~~~~~~~~~~~~~~~~
                               GPIO_PIN26_INT_ENA_M
Mehrere Bibliotheken wurden für "WiFi.h" gefunden
 Benutzt: /Users/frederik/Library/Arduino15/packages/esp32/hardware/esp32/2.0.2/libraries/WiFi
 Nicht benutzt: /Applications/Arduino.app/Contents/Java/libraries/WiFi

@fredlcore
Copy link
Owner

Include is added in line 501:

#if defined(ESP32)
#include "soc/uart_reg.h"

@dukess dukess changed the title ESP32 SDK 2.0.1. Just FYI. ESP32 SDK 2.0.2. Just FYI. Dec 24, 2021
@dukess
Copy link
Contributor Author

dukess commented Dec 24, 2021

@fredlcore These changes allow to compile project with SDK 2.0.2: dukess@0941e33

@Ludn
Copy link

Ludn commented Dec 24, 2021

That's good news. Can't actually find where in project (ESP32) is defined. And is there any other advantage of SDK 2.0.2. appart from being updated to latest?

@dukess
Copy link
Contributor Author

dukess commented Dec 24, 2021

ESP32 will be defined automatically. And no, this SDK has no advantages excepting more stable work with SD card and Ethernet adapter on OLIMEX ESP32 EVB board.

@dukess
Copy link
Contributor Author

dukess commented Dec 24, 2021

So if you use WiFi you have no reason for instant moving to SDK 2.0.x.

@fredlcore
Copy link
Owner

@dukess: Cool, thanks! Will try it out and if it works, we could make a note in the manual that we've moved to 2.0 for ESP32 and refer to the official board manager URL and make 2.0.x a requirement. That will prevent us from adding new functions that may only run on 1.0.6 which we would then have to adjust again later.

@1coderookie
Copy link
Contributor

we could make a note in the manual that we've moved to 2.0 for ESP32 and refer to the official board manager URL and make 2.0.x a requirement.

Yes, please let me know when and what to add ;)

Merry Xmas btw!

@MrAntonka
Copy link

MrAntonka commented Dec 28, 2021

well, there are two places where we can disable PSRAM ... checking which is a better place where to disable it.

image

but it looks like BOARD_HAS_PSRAM will do what we need.

@MrAntonka
Copy link

MrAntonka commented Dec 28, 2021

ha :) wrover ( any other board with PSRAM ) and it is booting correctly :) we really need to disable support for PSRAM and the code runs well :) or somehow fix the code. but quick win is to disable it.
now we are 100% sure what is the root cause.

image

@1coderookie
Copy link
Contributor

(...) it could have to do with PS-RAM because it seems to work fine on WROOM boards, but not on WROVER boards.

I think it is not HW issue. because when I use the wrover and disable PSRAM then it works on wrover as well.

@MrAntonka: So the WROVER works if you disable the usage of SPI PSRAM? Then it might be the case that you accidentally used a pin which the WROVER uses internally to control the PSRAM => these pins aren't available/useable at the WROVER as they are at the WROOM (means in other words that the WROOM has two more 'useable' pins than the WROVER).
These two pins are 16&17 (but I might be wrong and it may differ between the different WROVER modules, not sure about that).

Bildschirmfoto von 2021-12-28 17-04-11

Screenshot taken from page 10 in here: https://www.espressif.com/sites/default/files/documentation/esp32-wrover-e_esp32-wrover-ie_datasheet_en.pdf

Isn't the exact type of printed onto the module, so that we/you know, which type of WROVER exactly you are using? Maybe then we can find something more specific/definitive about the mentioned pins within the belonging datasheet..

@fredlcore
Copy link
Owner

Wow, @1coderookie, great find! That could be a good explanation!
@MrAntonka: Where did you disable PSRAM? Is it possible to do it in the main BSB code or did you have to do it down in the library code?

@MrAntonka
Copy link

@1coderookie you are right. pin 16 (default value in bsblan) is used for BUS and PSRAM at once

@fredlcore
Copy link
Owner

Pin 16 and 17 are default RX/TX pins for those ESP32 NodeMCU boards that we recommend using. You can of course use any other pin as well.
So bottom line: We can forget about disabling PRAM or adding warnings about chip revisions, correct?
In that case: Thanks again, @1coderookie for this find :)!

@MrAntonka
Copy link

MrAntonka commented Dec 28, 2021

@fredlcore well most boards that have PSRAM will use this pins(16/17) for PSRAM and if the user remaps pins for BSB then the adapter will not work. I think there is no way how to solve this issue ..maybe in manual few words about the issue with boards with PSRAM and shared pin 16/17.

@fredlcore
Copy link
Owner

You mean if the user remaps pins for BSB then the adapter will work, isn't it?
But you are right that maybe a note would be good that users should stick to our hardware recommendations and if not, they should make sure that they use WROOM boards and not WROVER or PSRAM-based boards?

But why is disabling PSRAM support as you mentioned above is not an option? Because it would have to be done directly in the library? Or what is the reason that ther is no solution?

@MrAntonka
Copy link

@fredlcore well you are right ,, there is no official BSB adapter for ESP so there is no issue :)

@MrAntonka
Copy link

MrAntonka commented Dec 28, 2021

I deactivated the PSRAM support in the SDK.
image
maybe it is possible to disable this support from the code,, I have not checked that.

@fredlcore
Copy link
Owner

Ok, so adding the above lines and/or un-/redefining them in the BSB-LAN code won't work?

@fredlcore
Copy link
Owner

Ok, thanks, could you check that? Because if it doesn't hurt non-PSRAM boards, we could still add this to make it easier for PSRAM-based board users. Or does this affect other functions of these boards? (I assume the extra memory won't be available then, so it would eventually be better just to use different RX/TX pins)

@MrAntonka
Copy link

MrAntonka commented Dec 28, 2021

I will check that how to do it from the code. well from the code it is easy but arduinoIDE/platformIO based on selected board add some arguments/flags into build command like "-D BOARD_HAS_PSRAM" so .. :/ but I will try.

@fredlcore
Copy link
Owner

Thanks!

@dukess
Copy link
Contributor Author

dukess commented Dec 28, 2021

What you think about this?

  #if defined(BOARD_HAS_PSRAM)
    temp_bus_pins[0] = 18;          // Just for example
    temp_bus_pins[1] = 19;
  #else
    temp_bus_pins[0] = 16;          // NodeMCU ESP32
    temp_bus_pins[1] = 17;
  #endif

or

  #if defined(BOARD_HAS_PSRAM)
    #warning "Default pin will cause program crash"
  #endif
    temp_bus_pins[0] = 16;          // NodeMCU ESP32
    temp_bus_pins[1] = 17;

@1coderookie
Copy link
Contributor

I already mentioned the WROOM32-type board within the chapter of the recommended NodeMCU and the Olimex also is a WROOM, too. But I just added an explicit note about WROOM/WROVER at the chapter about ESP32 (https://1coderookie.github.io/BSB-LPB-LAN_EN/chap01.html#13-esp32):
Bildschirmfoto von 2021-12-28 18-14-41

@MrAntonka : Could you please check though, if the WROVER with PSRAM would work if you'd use other pins for TX/RX instead of 16/17 how I wrote it there? Thanks

@1coderookie
Copy link
Contributor

@dukess: pin 17 is also used at the WROVER, so that one must also been changed in your example about #if defined(BOARD_HAS_PSRAM)

@dukess
Copy link
Contributor Author

dukess commented Dec 28, 2021

@1coderookie sure, you right!

@MrAntonka
Copy link

MrAntonka commented Dec 28, 2021

@1coderookie yep, for example, this works on board with PSRAM

image

@fredlcore
Copy link
Owner

I would not add additional pin configurations based on "unsupported" boards - also because it wouldn't fit with our "official" boards. In the end, users who prepare their own boards will also be aware (now) that they have to choose the BSB bus pins according to their setup. Maybe a note that pin autodetection only works with Arduino Due, ESP32 NodeMCU and Olimex ESP32 EVB in conjunction with our "official" (better term needed here) boards would clear up any misunderstandings.

But as I said above, if we can add some defines that will disable PSRAM, I'd be happy to do so. But if that's not easily doable, I'd just leave things as they are.

@1coderookie
Copy link
Contributor

1coderookie commented Dec 29, 2021

I'd also suggest to not include additional support for 'unsupported/not recommended' boards - just because there are too many different types of ESP32 and we probably would've check all the data sheets if there are any additional differences. If someone really wants to use WROVER type, then he'll probably wants to do that especially because the additional PSRAM. Even if not: in that case one should be capable of reading data sheets and manuals to look for differences, if the note within our manual isn't enough yet.
But of course it's up to you programmers - if there is a smart and easy solution for this (like @dukess example or so), then it's of course also fine with me. ;)

@fredlcore: Good point, I added this additional note now, I think that should be (clear) enough:
Bildschirmfoto von 2021-12-29 10-51-25

@fredlcore
Copy link
Owner

Thanks for the note, @1coderookie, but I would phrase it differently, because pins 16 and 17 are only used for the NodeMCU-type ESP32. The Olimex uses other pins (from the back of my head 4 and 17), so I wouldn't mention the pin numbers there. I would phrase it more generally that when using non-recommended boards (such as WROVER types) one needs to make sure that the BSB bus pins do not interfere with other connected devices (including PSRAM) - or something like that.

@1coderookie
Copy link
Contributor

Aight, I'll change it (probably not before tomorrow though) to the suggested phrase.

@fredlcore
Copy link
Owner

Thanks - and no hurry!

@1coderookie
Copy link
Contributor

No, I just realized that I need to think about it again anyway. Because: yes, sure, one should always look which pins are useable if he uses a non-recommended board anyway - but what we talked about above was the specific thing with the PSRAM and the WROVER module, which might be worth to be mentioned that clearly how I already wrote it. But I'll think about it again and let you know then..

@fredlcore
Copy link
Owner

Yes, I agree - it's just the specific pin numbers which could be misleading because we're not just using 16 and 17 on the ESP32. In fact, my auto-detection relies on the test whether the board configuration used defines RX1 and TX1. In that case, BSB-LAN assumes an Olimex and uses pins 4 and 17. If pin 4 is high, it assumes a board revision of 4.1 or lower without the suggested modifications and uses pins 4 and 36. But pin 4 could be high in a different setup for many other reasons as well. And if neither is the case, it assumes a NodeMCU board and uses pins 16 and 17.
So that's why I thought of maybe a general reminder that features from non-recommended boards (including PSRAM etc.) have to be thoroughly checked and then available pins should be manually set instead of relying on the auto-detection mechanism.
In the end, this will affect very few users only: Those who build the board from scratch on a breadboard for example, and want to use whatever ESP32 they have laying around. And that's fine and should be doable, but it needs to be done with great care...

@leodrom
Copy link

leodrom commented Jan 26, 2022

more precise: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

Successfully compiled on version 2.0.2 that I got by that URL: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json .

Had a problem with compilation with the version 1.0.6.

@dukess
Copy link
Contributor Author

dukess commented Jan 27, 2022

BSB-LAN not work with SDK 1.0.6 since 25.12.2021.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants