Loading Custom Backgrounds / Buttons / Images
Posted: Tue May 18, 2021 11:59 am
Hello Support / Rudolph,
I've been using Rudolph's EVE Libraries in our Arduino based application and it's been very helpful demonstrating and handling much of the functionality needed. Our application requires the use of a custom background, buttons, and fonts. My procedure up to this point has been following what Rudolph's demo code shows. I use the EVE Asset builder to convert jpegs to compressed, ARG565 format image. I open that image in a hex editor (HxD) and copy the data as C code and paste into my application as a const uint_8t array. The conversion also spits out a json file the lists the 'total size' I use to dictate where in G RAM I should place the start address of each image in memory. Using EVE_cmd_loadimage(), I decompress the image and place it into memory. Later in the code I use EVE_cmd_setbitmap to display the image.
At this point I've got a handful of backgrounds and buttons that create the user interface, and now I need to create another screen for the user and I'm all out of G RAM space. Knowing this might be the case, I made sure we had access to extra flash memory per the Matrix Orbital design. It's not clear to me how I use this space. I don't seem to be able to point my memory locations for images to 0x800000 and load images as a normally would, which I presume is not the correct way to do this. Can I access this flash memory location as I would the G RAM? Or am I only limited to the actual G RAM for actual images? Our micro has plenty of space to store the image arrays. I went through the Font example in Rudolph's code which demonstrates flash usage, but in the end it looks like image is loaded back into G RAM which doesn't solve my problem. What is the proper way via EVE to do this?
Thanks,
Alex
I've been using Rudolph's EVE Libraries in our Arduino based application and it's been very helpful demonstrating and handling much of the functionality needed. Our application requires the use of a custom background, buttons, and fonts. My procedure up to this point has been following what Rudolph's demo code shows. I use the EVE Asset builder to convert jpegs to compressed, ARG565 format image. I open that image in a hex editor (HxD) and copy the data as C code and paste into my application as a const uint_8t array. The conversion also spits out a json file the lists the 'total size' I use to dictate where in G RAM I should place the start address of each image in memory. Using EVE_cmd_loadimage(), I decompress the image and place it into memory. Later in the code I use EVE_cmd_setbitmap to display the image.
At this point I've got a handful of backgrounds and buttons that create the user interface, and now I need to create another screen for the user and I'm all out of G RAM space. Knowing this might be the case, I made sure we had access to extra flash memory per the Matrix Orbital design. It's not clear to me how I use this space. I don't seem to be able to point my memory locations for images to 0x800000 and load images as a normally would, which I presume is not the correct way to do this. Can I access this flash memory location as I would the G RAM? Or am I only limited to the actual G RAM for actual images? Our micro has plenty of space to store the image arrays. I went through the Font example in Rudolph's code which demonstrates flash usage, but in the end it looks like image is loaded back into G RAM which doesn't solve my problem. What is the proper way via EVE to do this?
Thanks,
Alex