Announcement

Collapse
No announcement yet.

Problem redefining the User Characters

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem redefining the User Characters

    Hi Again,
    I'm facing a new little problem. I'm redefining a huge number of characters using the 'A' command. Works very well except that when I reach user char memory byte #37.
    The strange thing is that this last character is half customized. The first 4 lines are correctly input and then the 4 bottom rows are 0. Same happens for following character after 37, while it's supposed to go up to 63.
    I've tried the redefinition code in different places, same thing. The same code has been tried redefining character 10 instead of 37, and it works. This sounds like a real issue, but maybe I'm missing something...

    Heres what my codes looks like
    putch('A');
    putch(36); // Custom Character number
    putch(ZeroByte);
    putch(0b00011000);
    putch(0b00100100);
    putch(0b01000010);
    putch(0b01000010);
    putch(0b10000001);
    putch(0b11111111);
    putch(ZeroByte);
    WaitForOled();

    putch('A');
    putch(37); // Custom Character number
    putch(ZeroByte);
    putch(0b11100010);
    putch(0b10010010);
    putch(0b01000100);
    putch(0b01000100);
    putch(0b00101000);
    putch(0b00010000);
    putch(ZeroByte);
    WaitForOled();

    Any idea ??? I have an OLED u96, no flash memory model.
    Thanks,
    Erv'

  • #2


    Irvin,

    Which module are you using? The exact model number.
    Atilla

    Comment


    • #3


      oups, you were faster than me, I've just updated my first post, thinking I had fogotten that important aspect : it's an OLED u96 with no flash

      Comment


      • #4


        Even bigger ooopps here, it only suppose to support 32 user defined characters. Cut and paste can really get you in trouble sometimes. We'll change the docs to reflect this. Hope this doesn't cause you too many hassles.
        Atilla

        Comment


        • #5


          actually, it's a real problem, cause I need to redefine all capital letters of the alphabet, plus the digits, and it goes to 36, then I have a bunch special char, icons, I would need 46 or 50 characters....
          Now the question is : why is it working until 36 and not 31 ??? side effect... maybe I'm overwriting some internal buffer but it still works ?

          Comment


          • #6


            Now the question is : why is it working until 36 and not 31 ??? side effect... maybe I'm overwriting some internal buffer but it still works ?
            Only a buffer size of 300 bytes are allocated. 36 x 8 + (2 bytes of 37th) = 300.

            Suggestion: Use the first 30 for your most frequently used bitmaps and use the last 6 as sort of a scratch pad and resend the bitmaps for those that are not used so regularly. In the mean time we'll scratch our heads and see if we can come up with something else more convenient, but I doubt it.
            Atilla

            Comment


            • #7


              took me like 10 minutes to code a quick patch, as you described. The last letters of the alphabet (not so used) are redefined on the fly in a buffer user-character. Now that I have reworked the low level code of the display to get an interrupt ack from the uOLED96, displaying my menus goes as fast as lightning !
              The props is virtually finished now, thanks for the great help of this forum !!
              Irvin

              Comment


              • #8


                Well done Irvin, glad to hear its all working.
                Atilla

                Comment

                Working...
                X