-
-
Notifications
You must be signed in to change notification settings - Fork 19
Fix giga display config. #117
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
base: arduino
Are you sure you want to change the base?
Conversation
Probably a copy&paste error.
The LTDC will have its own SMH option, and the upstream shield config will Not enable this by default.
@iabdalkader - I tried bringing this into my current build and it fails to build the variant:
Now that I look at it, looks like it failed on the same line in the code checks. as well. Is it maybe supposed to be: CONFIG_STM32_LTDC_FB_NUM ? |
Also this PR may change. |
Thanks. I have tried to build a few different Zephyr ones like:
But it fails to build.
Note: My zephyr branch I am using is one that I have changes to add the Teensy Micromod board, which I rebased a few days ago. Thanks! |
I don't know of any samples that do that, but I haven't tried many samples.
Yes, that's what I'm fixing in zephyrproject-rtos/zephyr#89246 |
@KurtE zephyrproject-rtos/zephyr#89246 has been merged, so you should be able to build the upstream samples. |
Thanks I will try it. Note: On THIS pr I believe you will also need to update boards.txt in the root directory.
And I believe that last line needs to change to: |
I tried it and now the build fails with the code not fitting...
|
Maybe there's not enough flash for that demo/sample, but this now buil 8000 ds:
|
Fixed, thanks! |
Thanks, that does build and run. It shows hello world and a little text at bottom with what looks like loop count... Thanks again |
@iabdalkader - @facchinm - @KurtE I went ahead and modified out display_gfx library to now use the display buffer:
and works - also resolved another issue I was seeing with bus faulting. |
@iabdalkader @facchinm @mjs513 and all... Sorry, not sure if this is the best place to ask/discuss this: Currently I am trying out the Pull Request #130 which brings in a newer version of zephyr, which I believe has
I then modified the two files in this pr in and I am trying some of the examples @mjs513 and I have been plying with, and running into some issues, which I am trying to resolve. Hopefully before a new beta is released that once some of these PR's are pulled in. With your changes, it appears like you are now having the driver allocate two frame buffers, and I am wondering how they are intended to work. That is if you look at the file display_stm32_ltdc.c at the stm32_ltdc_write function: Writes no full size buffer: Notes/questions: a) There is no validating or clipping of these ranges), that is if X+width > frame_width it wrap data to next line. b) Wondering about the calls to sys_cache_data_flush_range in the for loop for each row, but not in initial copy? Full Size Buffer Are you expecting that the calling code will do something like: display_get_framebuffer(dev); Do you suspect that we will need to flush the cache before calling write? Or do you see us, allocating additional buffers and using them in a round robin list... Thanks |
Quick update on test sketches now showing stuff. I fixed a few of the test sketch issues. I added an example of using the two buffers like I mentioned, which works.
This one uses the two buffers part of the object ... Which worked. Nothing showed up on the screen until I turned on the backligth...
Probably not the prescribed way? But at least I have stuff showing up again on the screen. |
At least it uses the defines within the display object and image shows up. Side note: I now appear to have some touch code somewhat working. At least on my machines it does not crash and |
Note this branch is based off of commit 130 and hand modified the changes from arduino#117 it has a callback added from the touch controller which saves the last touch point and a call function, that allows you to retrieve the last notification
Quick notes: I was playing with, extracting the semi-libraries in our test sketches and update some of the Arduino libraries One part I have ported is the GigaDisplayBacklight, which I will play with. As I mentioned in previous post I turned on the What I am wondering is with the Backlight class code, should this be contained within the Arduino Library and/or should Thoughts? |
The SMH will not be enabled for the shield by default, so we need to enable it here. There's also a new option to enable SMH for the display (and configure its attributes) which is used here. This should be merged when zephyrproject-rtos/zephyr#89246 is merged and after an update.
Note this dc22eb9 can probably be reverted. The whole SDRAM can be used for SMH, unless some other drivers use SDRAM outside of SMH (in this case they should also be converted to use SMH).