No announcement yet.

GOLDELOX Display Image in Portrait Mode Problems

  • Filter
  • Time
  • Show
Clear All
new posts

  • GOLDELOX Display Image in Portrait Mode Problems


    I am currently developing a serial application for the GOLDELOX uOLED-160-G2 (SPE2 rev 1.1) and I'm having some issues getting SD images to display properly while in Portrait orientation. I'll first explain my procedures, and then explain what I think is going wrong.

    First, I load a test bitmap file onto the SD card using Set Sector Address and Write Word messages. It is a 48 by 30 image of horizontal stripes of different colors. Note that the white stripe is at the top and the yellow stripe is at the bottom.

    Test 1: Landscape Orientation
    On startup, I send the following commands: Clear Screen, Media Init, Screen Saver Timeout 0.

    Then, I set the sector address to the stripe file's location and display it at (0,0).

    Such commands produce this result:

    Note that this appears to be displaying correctly-- the image is displayed at the origin and the white stripe is at the top of the image.

    Test 2: Portrait Orientation

    On startup, I first send a Screen Mode message setting the orientation to Portrait, and then follow the same procedure as Test 1.

    This process produces this result:

    There are a few things to note here.
    1. The image is displayed at the correct origin for portrait mode.
    2. The image is displayed with the white stripe towards the right.
    3. The colors in appear staggered roughly halfway through each stripe.

    Seeing this, I suspect that the screen is loading the dimensions and location of the image according to portrait mode, but is still feeding the pixels in from the landscape orientation.

    Is there a fix for this problem available, or am I just going to need fiddle around with the orientation and dimensions of my images until it works?



  • #2

    On the Goldelox Processor, all images / videos must be drawn in the 'native' orientation, the orientation command only affects text and graphic commands, moreover, images and videos must be written with the display in the 'native' orientation, otherwise unpredictable results may occur.

    So, what you do is place your images so that they look correct in the desired orientation, but generate them so that they are placed in the 'native' orientation.

    Immediately before displaying them flip into native orientation, then display the image, remembering that x,y is 'native', then flip back to the desired orientation.

    Sound complicated? Hmm, does to me.

    If you create your image/video in ViSi, it can help you a lot.

    Refer to this post

    Create your ViSi program in Portrait mode, place your images where you want.
    If you use 'Paste code' it will show you the orientation changes needed and the correct position to use to place the image/video.
    When you build the ViSi program it will reorient the Image/Videos so that they can be displayed on the display correctly using the 'native' orientation.


    • #3

      Hi Mark,

      Thanks for the explanation-- it's good to see that you have a handle on the situation. Unfortunately I don't have easy access to the SD cards of the screens I am using because they have already been seated, which means (if I am reading the ViSi User Guide section 8.6 correctly) ViSi is not an option.

      Given that, I suppose I'll just rotate all of my images manually and reload them onto the screen SD over serial.