441 views
in System Integration by

Dear all,

we are developing a control panel for our control board. 

We realized a brick to load an external bitmap multi frame.... We made a EwLoadExternBitmapMultiFrame function whose prototyper is EwLoadExternBitmapMultiFrame( pure Name, pure FrameSize, pure NoOfFrames, pure FrameDelay ); This system works perfectly to load .png and .jpg files that we store on external QSPI.

We made 2 control panel. One for 4.3" and one for 7" LCD display. On both control panel we have a menu where the user can choose a different wallpaper beetween 8 different picture. in the 4.3 LCD control panel is possible to choose one of the 8 wallpapers in the same page (see the picture attached). The same process in not possible in the 7" LCD because of we have 16MB of SDRAM on the target board and is not enought to load 8 pictures of 800x480 pixel together. For that reason, we decide to embed 8 images (object Views::Image) on an outline and to swipe each image, loading each different wallpaper on the same external bitmap multiframe brick (whose name is Res::LoadWallpaper), and assigning that to the corresponding image (for example Image5.Bitmap = Res::LoadWallpaper). This feature works perfectly in the prototyper, but it doesn't on the target. We dump all the operation on the COM port emulator, so we are quite sure that is not an SDRAM problem. Anyway we can see only one good picture and then disturbed images.

Could you help us please? what is wrong about it?

Waiting forward your kind reply,

best regards

Gianni Perugini

 

 

 

1 Answer

+1 vote
by
Hello Gianni,

for the GUI component, where the user selects the desired wallpaper, I think it is not necessary to load and display the images in their original size. Instead load the images in the resolution of the single preview pane (e.g. 200x200 pixel). As soon as the user selects one of the images, load the image in its original (full) resolution. In this manner you save a lot of memory. To do this, you will need to adapt your EwLoadExternBitmap() function. Maybe your JPEG/PNG decoder is able to scale the image while performing the decompression. This is just an idea how to save memory.

Regarding your problem with disturbed images, it is difficult to say what is going wrong here. Memory corruption? Problem with the decoder?

Best regards

Paul Banach
by
Dear Paul,

thanks for your suggestions. I will investigate further;

Best regards

Gianni Perugini

Ask Embedded Wizard

Welcome to the question and answer site for Embedded Wizard users and UI developers.

Ask your question and receive answers from the Embedded Wizard support team or from other members of the community!

Embedded Wizard Website | Privacy Policy | Imprint

...