This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C5515 eZdsp OLED - How to write a char?

Hi,

Please let me know how to write letters to OSD9616 OLED display. I found an example here (http://e2e.ti.com/support/dsp/tms320c5000_power-efficient_dsps/f/110/t/72078.aspx

But how to define the char rom for every letters?

Thanking You,

Ras

 

  • Hi,

     

    I'm attaching ROM table map. There are 256 characters stored in ROM. Each character is 3 words length.

    The font size is 6x8.

     

    #pragma DATA_SECTION(CharGen_6x8, ".charrom")

    Uint16 CharGen_6x8[256*3];

    Here ROM data is available as variable CharGen_6x8.

    The first address of each font will be CharGen_6x8[0], CharGen_6x8[3], CharGen_6x8[6] and so on.

     

    Int16 printchar(unsigned char a)

    {

    Uint8 data;

     

    data = ((CharGen_6x8[a*3])>>8) & 0x00FF;

        OSD9616_send(0x40,data);

        data = (CharGen_6x8[a*3]) & 0x00FF;

        OSD9616_send(0x40,data);

        data = ((CharGen_6x8[a*3+1])>>8) & 0x00FF;

        OSD9616_send(0x40,data);

        data = (CharGen_6x8[a*3+1]) & 0x00FF;

        OSD9616_send(0x40,data);

        data = ((CharGen_6x8[a*3+2])>>8) & 0x00FF;

        OSD9616_send(0x40,data);

        data = (CharGen_6x8[a*3+2]) & 0x00FF;

        OSD9616_send(0x40,data);

     

        return 0;

    }

    Regards,

    Hyun

  • Hi,

    Thanks,. I would like to make some big fonts. So how the data prints in LCD when executing "OSD9616_send(0x40,data)" ? how the 6x8 is represented by just 3 bytes?

    Thanking You,

    Ras

  • Hi,

    One fonts consists of three words.

    For example character "A" is {0x7E88, 0x8888, 0x7E00}.

    It's bitmap data, The first byte 0x7E is the first column data 0 1 1 1 1 1 1 0. The second column data is 0x88 and so on.

    0x7E88, 0x8888, 0x7E00

    0 1 1 1 0 0 0 

    1 0 0 0 1 0 0

    1 0 0 0 1 0 0

    1 0 0 0 1 0 0

    1 1 1 1 1 0 0

    1 0 0 0 1 0 0

    1 0 0 0 1 0 0

    0 0 0 0 1 0 0

    Regards,

    Hyun

     

     

  • Hi,

    One more thing, where is the details of 5515 rom data? I searched in the datasheet. Any easy way to generate fonts e.g by using excel sheets or any utility programs?

    Thanking You,

    Ras

  • Hi,

    There is no document regarding ROM data.

    You need to buy or create your own fonts. I attached different size fonts (8x8) from C5515EVM example code.

    Regards,

    Hyun

  • Hyun,

    This font table is not compatible with the OSD9616 display used on the C5515 ezdsp. It is organized in rows instead of columns. Do you have a compatible table?

  • OK folks. Here's my contribution to the community. It's awesome !

    Enjoy!!

    http://www.pavius.net/2009/07/the-dot-factory-an-lcd-font-and-image-generator/

  • Hi Hyun,

    I have the CSL_USB_IsoFullSpeedExample_ezdsp example running perfectly.

    Now I want to also display texts in my own project.

    While trying to understand how it all works I found the only reference to the "charrom" in the linker command file (lnkx.cmd)

    MEMORY
    {
    CROM (RX) : origin = 0xfe0000, length = 0x000600 /* 1536B */
    }

    /* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */

    SECTIONS
    {
    .charrom > CROM
    }

    What I don't understand is: how does the linker/compiler know where the data is that should be included? What is the file name of the font file? How does this magic work?

    Looking forward to your reply; thanks in advance

    Florian

  • Hi,

    Please create your request as a new thread since old threads would be paid lesser attention compared to new threads.

    Thanks & regards,

    Sivaraj K

  • Florian,

    Charactor data is stored in the ROM at 0xfe0000. In the progam, #pragma links that address to a variable.

    Look for ".charrom" where is linked to.

    Regards,

    Hyun