-
Notifications
You must be signed in to change notification settings - Fork 7.6k
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
Added support for 2 new Olimex boards and updated 3 existing ones #9264
Conversation
Added variants for ESP32-H2-DevKit-LiPo and ESP32-SBC-FabGL boards
Added menu for selection of the: 1) PSRAM enabled/disabled 2) Flash size 4/16 MB 3) Flash mode QIO/DIO 4) Partition Scheme additional options
Due to the latest changes in the ethernet library/examples (#9242) full package of definitions of the ethernet macros is for each board that has non-default values. For POE and POE-ISO is added a preprocessor condition #if defined BOARD_HAS_PSRAM due to our specific hardware because GPIO 16 and 17 are in use when PSRAM is enabled.
👋 Hello Stanimir-Petev, we appreciate your contribution to this project! Click to see more instructions ...
Review and merge process you can expect ...
|
@Stanimir-Petev Everything looks fine :) |
@Stanimir-Petev The psram fixes are only needed when you use the very old esp32 revision 0 and 1. Since the OLIMEX ESP32-SBC-FABGL is a new design the can be removed. |
esp32-sbc-fabgl.menu.PSRAM.disabled.build.defines= | ||
esp32-sbc-fabgl.menu.PSRAM.disabled.build.extra_libs= | ||
esp32-sbc-fabgl.menu.PSRAM.enabled=Enabled | ||
esp32-sbc-fabgl.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-strategy=memw |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Psram fix not needed. Can be removed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello @Jason2866 and thanks for the suggestion.
When I created the board entry in the board.txt I just copied that part from the generic ESP32 board (lines 1131-1318) because I have tested that it worked with it being selected. And after that I just changed the name name, build.variant and build.board.
I wasn't aware of what these mfix options does so I thought they are there for a reason and I just let them stay there.
If you are suggesting that they are unnecessary and can be safely removed that's all good.
The question I have is should I remove them from my forked repository and make a new pull request or you can do it directly on your repository?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dont have the needed rights to change. Not a member -> Collaborator
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Stanimir-Petev just remove -mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-strategy=memw
from all non-ESP32 boards. Those flags are valid only on the original ESP32
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have done it. I hope I did it correctly since I have never made a commit after a pull request was created and I am not sure if it breaks something.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, since the esp32-sbc-fabgl uses ESP32-WROVER-E modules. And all this have eco3 esp32. https://www.olimex.com/Products/Retro-Computers/ESP32-SBC-FabGL/open-source-hardware
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If that is true, then I can agree, but then why is PSRAM not enabled by default?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
True, PSRAM should be always enabled!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No way to confirm if all ESP32-POE-WROVER and ESP32-POE-ISO-WROVER variants had version 3 modules. But these were made starting 2020 so good chance they are all version 3.
If you ask for all ESP32-POE and ESP32-POE-ISO boards - these use WROOM modules and had been in production since the early days of the ESP32.
We would enable the PSRAM for the ESP32-SBC_FABGL, for the rest the variants with WROOM module are still more popular and it makes more sense to have the PSRAM disabled. We don't want to create addition entries for each variant of the board, since some boards would need to have 3 entries like ESP32-POE, ESP32-POE-WROVER, ESP32-POE-16MB all the same design with different module soldered (one with WROVER module and PSRAM, and the one with bigger flash).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With the latest commit PSRAM enabled should be the default option on ESP32-SBC-FabGL. Is there anything else that has to be done?
Removed the -mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-strategy=memw fix flags as suggested by Jason2866 and me-no-dev
esp32-poe.menu.PSRAM.disabled.build.defines= | ||
esp32-poe.menu.PSRAM.disabled.build.extra_libs= | ||
esp32-poe.menu.PSRAM.enabled=Enabled (WROVER) | ||
esp32-poe.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
here you need the workaround flags, because the board is ESP32 based
esp32-poe-iso.menu.PSRAM.disabled.build.defines= | ||
esp32-poe-iso.menu.PSRAM.disabled.build.extra_libs= | ||
esp32-poe-iso.menu.PSRAM.enabled=Enabled (WROVER) | ||
esp32-poe-iso.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
flags also needed here
Reverted changes for ESP32-POE and ESP32-POE-ISO
Rearrange of the enable/disable entries of the PSRAM option for ESP32-SBC-FabGL to be enabled by default.
Hello!
Olimex employee here.
I have added support for the boards: Olimex ESP32-H2-DevKit-LiPo and ESP32-SBC-FabGL. Added a "pins_arduino.h" files in the "variants" folder and in the board.txt. The boards are open-source hardware and info can be found at our website.
Also for 3 of our existing in your package boards (ESP32-POE, ESP32-POE-ISO, ESP32-Gateway) inside the pins_arduino.h files I added the ethernet macros to match the fix from #9242 .
For ESP32-POE and ESP32-POE-ISO added extra menus and menu options for: PSRAM, Flash Size, Flash mode and Partition scheme.
I tested what I could but let me know if I have missed something and needs further changes.
Thanks espressif and Arduino team.