Jump to content
  • 0

pmodoledrgb not displaying on nexys4 ddr


fLx

Question

HI, pls anyone should help me out on this my project, i'm trying to use the digilent example code to run a demo on oledrgb but after my microblaze dedign and bitstream generation with no error , i programmed the board and try to run the main.c code, instead of having a display on my oledrgb, i only get two led lights up on ledu14 and ledv14 with 7seg display trying to glow some light.....i dont know where i'm getting it wrong pls help.....here is my contraints file code:

 

#clock pin
set_property -dict { PACKAGE_PIN E3    IOSTANDARD LVCMOS33 } [get_ports { sys_clock }]; IO_L12P_T1_MRCC_35 Sch=sys_clock


#reset button
set_property -dict { PACKAGE_PIN C12   IOSTANDARD LVCMOS33 } [get_ports { reset }]; IO_L3P_T0_DQS_AD1P_15 Sch=reset

 

##Pmod Header JA

set_property -dict { PACKAGE_PIN C17   IOSTANDARD LVCMOS33 } [get_ports {PmodOLEDrgb_out_0_pin1_io }]; IO_L20N_T3_A19_15 Sch=PmodOLEDrgb_out_0_pin1_io
set_property -dict { PACKAGE_PIN D18   IOSTANDARD LVCMOS33 } [get_ports { PmodOLEDrgb_out_0_pin2_io }]; IO_L21N_T3_DQS_A18_15 Sch=PmodOLEDrgb_out_0_pin2_io
set_property -dict { PACKAGE_PIN E18   IOSTANDARD LVCMOS33 } [get_ports { PmodOLEDrgb_out_0_pin3_io }]; IO_L21P_T3_DQS_15 Sch=PmodOLEDrgb_out_0_pin3_io
set_property -dict { PACKAGE_PIN G17   IOSTANDARD LVCMOS33 } [get_ports { PmodOLEDrgb_out_0_pin4_io }]; IO_L18N_T2_A23_15 Sch=PmodOLEDrgb_out_0_pin4_io
set_property -dict { PACKAGE_PIN D17   IOSTANDARD LVCMOS33 } [get_ports { PmodOLEDrgb_out_0_pin7_io }]; IO_L16N_T2_A27_15 Sch=PmodOLEDrgb_out_0_pin7_io
set_property -dict { PACKAGE_PIN E17   IOSTANDARD LVCMOS33 } [get_ports { PmodOLEDrgb_out_0_pin8_io }]; IO_L16P_T2_A28_15 Sch=PmodOLEDrgb_out_0_pin8_io
set_property -dict { PACKAGE_PIN F18   IOSTANDARD LVCMOS33 } [get_ports { PmodOLEDrgb_out_0_pin9_io }]; IO_L22N_T3_A16_15 Sch=PmodOLEDrgb_out_0_pin9_io
set_property -dict { PACKAGE_PIN G18   IOSTANDARD LVCMOS33 } [get_ports { PmodOLEDrgb_out_0_pin10_io }]; IO_L22P_T3_A17_15 Sch=PmodOLEDrgb_out_0_pin10_io

Link to comment
Share on other sites

13 answers to this question

Recommended Posts

Hi @flexible111,

Changing the font size will be far more difficult. Currently the OLEDrgb libraries are using a pre-generated file that defines the 8x8 pixel area for each printable character and the functions printing individual characters all all based off working with that size. With that in mind, there are four options to change the font size available:

- Change the pixel pattern file that the Pmod OLEDrgb uses (called CharFont0.h)
- Create the custom characters that you need and individually print those custom characters
- Individually draw them pixel by pixel
- recreate the functions to print each character with a large pixel area

Unfortunately, Digilent won't be able be to offer much help in this particular customized endeavor though. 

Let us know if you have any more questions.

Thanks,
JColvin

Link to comment
Share on other sites

@jpeyron  thanks for the response.......please, concerning the font size, i'v written the font in 16x16, now my question is which of the function is used to drive the digilent 8x8 so that i can use that as a guideline for my 16x16 or any other font i like?...........................................i'l be glad if i'm able to accomplish this.

Link to comment
Share on other sites

Hi @flexible111,

One thought I had just now is that you might be able to write some helper functions to get you larger sized font created.

What I am envisioning is since all of your fonts are 16x16, you could essentially break those up into 4 8x8 quadrants and re-write the CharFont0 existing definitions with your new quadrant pieces. Your helper write function could then use the existing print character function and call it 4 separate times along with 4 calls to move the cursor/pointer to the next upper left corner as appropriate for the next section of the quadrant. I haven't done this before, but I think that might be the easiest way to approach this without entirely re-writing the functions.

The potential catch here is that the the CharFont0 file doesn't have enough space for all of the possible characters when they are now taking up 4 8x8 pixel areas rather than just one. If you already know what you are printing, you may be able to "erase" the characters you don't plan on printing, or you may be able to just add more lines to the CharFont0 file. I haven't done anything like that before, so I do not know if there any caveats with this.

Good luck.

Thanks,
JColvin

Link to comment
Share on other sites

i'm still on the font size enlargement .....av tried to alter some print functions in the header files.......but i couldn't get it yet.......now i'v my enlarged character showing half and rotated by 180 degrees.........please i need help

Link to comment
Share on other sites

Hi @flexible111,

What do you mean by "showing half and rotated by 180 degrees"? Are the characters upside down, flipped about the vertical axis, or something else? I'm also not certain what sort of alterations you made to the print functions or which functions in particular you are referring to.

Thanks,
JColvin

Link to comment
Share on other sites

Well, if you have enlarged your fonts, just seeing the top half of a character in a single byte space would be what I would expect to see. Again, I haven't done anything like this before with the Pmod OLEDrgb, so I'm not certain if my assessment is accurate though.

Thanks,
JColvin

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...