-
Notifications
You must be signed in to change notification settings - Fork 2k
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
cpu/esp32: add low-level LCD parallel interface using LCD peripheral #19944
Merged
benpicco
merged 4 commits into
RIOT-OS:master
from
gschorcht:cpu/esp32/lcd_parallel_ll_mcu
Nov 13, 2023
Merged
cpu/esp32: add low-level LCD parallel interface using LCD peripheral #19944
benpicco
merged 4 commits into
RIOT-OS:master
from
gschorcht:cpu/esp32/lcd_parallel_ll_mcu
Nov 13, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
gschorcht
requested review from
leandrolanzieri,
jia200x and
MrKevinWeiss
as code owners
September 23, 2023 06:31
github-actions
bot
added
Area: pkg
Area: External package ports
Area: boards
Area: Board ports
Platform: ESP
Platform: This PR/issue effects ESP-based platforms
Area: cpu
Area: CPU/MCU ports
Area: Kconfig
Area: Kconfig integration
labels
Sep 23, 2023
gschorcht
added
Type: enhancement
The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation
State: waiting for other PR
State: The PR requires another PR to be merged first
labels
Sep 23, 2023
bors bot
added a commit
that referenced
this pull request
Oct 5, 2023
19941: drivers/lcd: add MCU-driven low-level parallel interface r=benpicco a=gschorcht ### Contribution description The PR extends the LCD driver by a low-level interface for MCU-driven implementations of the MCU 8080 16-/8-bit parallel interface, allowing the MCU to use special peripherals for the interface, such as the FMC for STM32 MCUs, which is significantly faster than the integrated GPIO-driven parallel interface implementation of the LCD driver. ### Testing procedure ~Once PR #19938 and PR #19939 are merged, a PRs for these board can be pushed that allow to test this PR.~ Use either PR #19943 or PR #19944 on top of this PR to test, e.g. with PR #19943: ``` BOARD=stm32f723e-disco make -j8 -C tests/drivers/st77xx flash ``` ### Issues/PRs references Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
gschorcht
force-pushed
the
cpu/esp32/lcd_parallel_ll_mcu
branch
from
October 5, 2023 16:38
a35bd2d
to
ad9e936
Compare
gschorcht
added
CI: ready for build
If set, CI server will compile all applications for all available boards for the labeled PR
and removed
State: waiting for other PR
State: The PR requires another PR to be merged first
labels
Oct 5, 2023
benpicco
approved these changes
Nov 3, 2023
bors merge |
bors bot
added a commit
that referenced
this pull request
Nov 4, 2023
19546: Enable compile_and_test_for_board to skip if nothing changed r=benpicco a=MrKevinWeiss ### Contribution description The overall goal of this PR is to be able to keep running the `compile_and_test_for_board.py` script without destroying ones boards. Useful if you are a board owner that wants to keep testing on master (say with nightlies, say in a CI). For example, I could now just run and rerun the following: ``` ./dist/tools/compile_and_test_for_board/compile_and_test_for_board.py . <MY_BOARD> -c ``` and monitor the results, even after updating a branch. This is because the hashes now get stored with the results (thanks to the `RIOT_TEST_HASH_DIR` var) which means cleaning will not wipe them out. Specifically in (`<results_base>/<board>/hashes/<app_dir>/test-input-hash.sha1`) I tried to do as much as I could with make and only alter the python script when needed. ### Testing procedure Clear results folder and run: ``` ./dist/tools/compile_and_test_for_board/compile_and_test_for_board.py . native --applications tests/shell -c ``` <details> ``` INFO:native:Saving toolchain INFO:native.tests/shell:Board supported: True INFO:native.tests/shell:Board has enough memory: True INFO:native.tests/shell:Application has test: True INFO:native.tests/shell:Run compilation **INFO:native.tests/shell:Hashes match: False** INFO:native.tests/shell:Run test INFO:native.tests/shell:Run test.flash INFO:native.tests/shell:Success INFO:native:Tests successful ``` </details> it should execute the test... Then the same command again should skip it. <details> ``` INFO:native:Saving toolchain INFO:native.tests/shell:Board supported: True INFO:native.tests/shell:Board has enough memory: True INFO:native.tests/shell:Application has test: True INFO:native.tests/shell:Run compilation **INFO:native.tests/shell:Hashes match: True** INFO:native.tests/shell:Success INFO:native:Tests successful ``` </details> Try changing something (say the `tests/shell/01-run.py`) and rerun, it should trigger the test again. <details> ``` INFO:native:Saving toolchain INFO:native.tests/shell:Board supported: True INFO:native.tests/shell:Board has enough memory: True INFO:native.tests/shell:Application has test: True INFO:native.tests/shell:Run compilation **INFO:native.tests/shell:Hashes match: False** INFO:native.tests/shell:Run test INFO:native.tests/shell:Run test.flash INFO:native.tests/shell:Success INFO:native:Tests successful ``` </details> ...finally, running without the changes check should run the test as usual, even if nothing changes: ``` ./dist/tools/compile_and_test_for_board/compile_and_test_for_board.py . native --applications tests/shell ``` <details> ``` INFO:native:Saving toolchain INFO:native.tests/shell:Board supported: True INFO:native.tests/shell:Board has enough memory: True INFO:native.tests/shell:Application has test: True INFO:native.tests/shell:Run compilation INFO:native.tests/shell:Run test INFO:native.tests/shell:Run test.flash INFO:native.tests/shell:Success INFO:native:Tests successful ``` </details> ### Issues/PRs references Might help the surprises we got with #19469 19944: cpu/esp32: add low-level LCD parallel interface using LCD peripheral r=benpicco a=gschorcht ### Contribution description This PR the implementation of the LCD low-level MCU 8080 parallel interface using the LCD peripheral for ESP32, ESP32-S2 and ESP32-S3 or `periph_gpio_ll` for the ESP32-C3. ### Testing procedure ``` BOARD=esp32s3-wt32-sc01-plus make -C tests/drivers/st77xx flash ``` should work on top of PR #19941. Drawing operations should be much faster. ### Issues/PRs references Co-authored-by: MrKevinWeiss <weiss.kevin604@gmail.com> Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Build failed (retrying...): |
bors bot
added a commit
that referenced
this pull request
Nov 4, 2023
19944: cpu/esp32: add low-level LCD parallel interface using LCD peripheral r=benpicco a=gschorcht ### Contribution description This PR the implementation of the LCD low-level MCU 8080 parallel interface using the LCD peripheral for ESP32, ESP32-S2 and ESP32-S3 or `periph_gpio_ll` for the ESP32-C3. ### Testing procedure ``` BOARD=esp32s3-wt32-sc01-plus make -C tests/drivers/st77xx flash ``` should work on top of PR #19941. Drawing operations should be much faster. ### Issues/PRs references Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
bors cancel |
What currently needs to be done to merge this PR? It seems to be stuck in the merge-queue migration phase because it is still waiting for bors. Is a rebase sufficient to trigger the merge? Auto-merge is enabled. |
I think you need to do a rebase to get the new GitHub config in. |
gschorcht
force-pushed
the
cpu/esp32/lcd_parallel_ll_mcu
branch
from
November 13, 2023 12:02
ad9e936
to
4e85968
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Area: boards
Area: Board ports
Area: cpu
Area: CPU/MCU ports
Area: Kconfig
Area: Kconfig integration
Area: pkg
Area: External package ports
CI: ready for build
If set, CI server will compile all applications for all available boards for the labeled PR
Platform: ESP
Platform: This PR/issue effects ESP-based platforms
Type: enhancement
The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Contribution description
This PR the implementation of the LCD low-level MCU 8080 parallel interface using the LCD peripheral for ESP32, ESP32-S2 and ESP32-S3 or
periph_gpio_ll
for the ESP32-C3.Testing procedure
should work on top of PR #19941. Drawing operations should be much faster.
Issues/PRs references