Replies: 7 comments 6 replies
-
Hello, there are two major ways to handle display refresh, either based on timing or based on events. Anyways, the FT81x / BT81x display list approach does not really allow for partial updates and the amount of data that needs to be send is very small in comparision with pixel displays. I opted for a timed approach of updating the display list since that eliminates the need to keep track of all the events I went for updates every 20ms, this allows for smooth animations and provides feedback with no detectable delay. This is way faster than we can read text, so for example analog measurements could be generating the string to be displayed only every other frame or every 10th frame. Different tags could be used for tabs like in a text editor, each tab has its own tag and clicking on one triggers displaying different display lists. Like this which I put together in EVE Screen Editor now: The display list for this is: This could be the "static" part and triggering the display of four different "dynamic" parts based on the touch events. Finally the API of this library is mostly based on the programming guides for FT81x and BT81x and partly based on the datasheets. So the still current BT81x programming guide is: I am hoping for an update though that does at least fixes a number of values that are documented to be signed to unsigned. |
Beta Was this translation helpful? Give feedback.
-
if I want to do the same thing you did above using the functions you have in your example which would be the right one? void initStaticBackground(void) Which of these is the one that actually sets up the display list and can be modified? |
Beta Was this translation helpful? Give feedback.
-
I tried this in initStaticBackground(). I can only see the text but no touch functionality or colors. I get a white rectangle in the middle of my screen with words up top and that's it.
and in
|
Beta Was this translation helpful? Give feedback.
-
Ok, I just took your function and put it in a fresh example. Oh yes, in TFT_display() I also switched to black background.
Hmm, now I could go and try to explain everything in this like I do too often. And yes, please ask if anything is remotely unclear, I am just trying to avoid giving answers to questions |
Beta Was this translation helpful? Give feedback.
-
Thank you, I now see what I was missing. Now I am trying to call a display list when touching the tabs, do you have an idea of how that might look like? Do I create a new DL in the tft_touch function under the corresponding tag case or do I create a separate function for each window and then call it there, would you kindly explain the steps to generate a DL and calling it so it switches to the new DL? and if I want to add a back button how is that done? Another question I had was about memory. I am using trial and error to set the memory values for the images I am displaying eg. Is there a way to accurately or automatically manage the memory? |
Beta Was this translation helpful? Give feedback.
-
I would add a global variable like show_screen and assign it values in TFT_touch(), in the simplest form like this:
Depending on the application it might be preferable to put a lock on this so you need to lift the finger before a new And then I would add something like this to TFT_display():
So the show_screen_1() function only would have the commands unique to that screen.
There is no need for a back button in the structure I proposed, this is more like the tabs on a web-browser. But well, I did something like this before, press one button to go to a configuration-screen, press a different button on that new screen to go back.
Yes and no. :-) I like to keep things simple, even if that means a little math every now and then. On the opposite side of this I had an intern play with my library and he wrote some kind of malloc() that returned the next available address for a given amount of bytes. So, whatever fits your needs. :-) |
Beta Was this translation helpful? Give feedback.
-
Hey Rudolph, Have you had a chance to use the Keyboard (cmd_keys) ? I am trying to figure out how to utilize the characters being pressed and perhaps show them on the screen, any idea how the tag values work for the keyboard? do I have to make a tag value for every character? |
Beta Was this translation helpful? Give feedback.
-
Hey Rudolph,
I want to make text show up on the screen and have it change according to what the microcontroller is reading. I see in your example that you are updating numerical values at the bottom left corner of the screen, can you walk me through how to display dynamic text?
Also, can I have a tag that transfers me to another window with different information, backgrounds, wedges, etc.? Would this require another display list?
I am trying to understand what some functions do but there is little to no documentation on the BT817 except for this library and what was asked on the BridgeTek community forum. is there a good source to learn more about display list commands that are in EVE.h ?
Beta Was this translation helpful? Give feedback.
All reactions