U8glib: Graphics Lib for LCDs and OLEDs

Some news on U8glib:

I have added a 8-bit color memory architecture (screenshot from the sdl-simulator):

With this, I added a U8GLIB_ST7687_C144MVGD (SPI interface) device to support
the requested C144MVGD TFT display. However, I do not know if the device code is correct nor do I know if the init sequence is correct (I simply do not have access to the device for testing).
http://code.google.com/p/u8glib/source/browse/csrc/u8g_dev_st7687_c144mvgd.c

I have also added the U8GLIB_LC7981_160X80 device to support the LC7981 controller. Also untested, but I might get feedback.

Download the prerelease here: Google Code Archive - Long-term storage for Google Code Project Hosting.

@manu_07 and eotech
Is U8glib working with your display?

Oliver

ooooh, color.... Nice!
--- bill

Hi
I found some libraries at dfrobot, for their display.

Good luck
DD

Thanks,
However, the problem is that I do not have access to this DFRobot display. I do not know if my code works or not. :~

Oliver

wow great work man i love it i havent got it to work but i love it :slight_smile: ,
im not sure if its hardware or not but theres a few things im not sure about
first off i used constructor U8GLIB_ST7687_C144MVGD u8g(2, 4, 6, 8, 10); i hope thats fine
im useing logic level converters to talk at 3v to the screen and looking at the datasheet for the ST7687 im guessing that " pin 27 A0" is SCL , "pin 25 D0" is SI and "pin 24 D1" is A0 a little confuseing but i keep going

its then i look at how its set into spi mode
and it says that IF1 & IF2 go high and IF3 is pulled low however according to the screen datasheet
Redirect Notice my lcd has only IF1 "pin14" & IF2 "pin 13" so unsure what todo next i tried combos of IF1 and 2 high and low but nothing is working the rest of the pins seem to be there and it looks to be hooked up right but im really not sure maybe the screem caint do spi? i really hope it can but this isnt looking good lol might have to be an wire interface :s not a big drama but i do like the idea of less pins :slight_smile: , thanks you for your great work and i hope i've given enough info for you to help please let me know if theres anything else you'd like to know or how i can help get this working :slight_smile:

to my understanding your pic seems to be correct (according page 20 of the st7687 datasheet).
I will create also a 8bit interface,

Oliver

:slight_smile: thanks man i replyed to your email address

Thanx for the great lib! it works great with my DFRobot ST7920 128X64 display.

I've got one question. I use software SPI on pins 9 and 8, but it looks like that it interferes with my hardware SPI which I want to use to communicate with a DS3234 RTC.

Good to know, that the DFRobot display is fine with the lib. Thanks for the feedback.

Regarding the RTC: What is the problem: Display does not work, RTC does not work, both do not work?
Maybe you can post the setup code for your display and your RTC: What are the involved pin numbers for both devices?

Oliver

Can't both use the hardware spi if you use separate pins for the slave selects?

I must have been verry sleepy yesterday evening because it works now!

But for the others how to connect the DFRobot to the ARduino:

This is my innitialization string:

U8GLIB_ST7920_128X64 u8g(9, 8, 3, U8G_PIN_NONE); // SPI Com: SCK = en = 9, MOSI = rw = 8, CS = di = 3

And this is how I connected it:
Arduino pin = function = DFRobot pin
Pin 9 = SCK = e
Pin 8 = MOSI = rw
Pin 3 = CS = rs

Thanks for the information.

Oliver

Release v1.02 is available vor download.

  • Support for LC7981 controller
  • drawCircle, drawDisc
  • Ported "little rook chess", a full playable chess engine with graphical user interface

Oliver

hi and good day..

thx for the wonderful library, works great on my DS-LCD-TG12864E (ST7920 controller) in spi mode. (R/W = MOSI, E= CLK , PSB =LOW, RS=HIGH)
speed is quite ok in spi, gotta try the parallel mode soon. the liquid crystal itself may be limiter.

Hmm..is possible can u make point to point drawline (x1,y1,x2,y2) available? :smiley:

thx again :slight_smile:

Hi

Thanks for the feedback.
I will add a drawLine procedure with the next release.

Oliver

Thx for the feedback, looking forward for it :slight_smile:

in progress in porting the GLCD lib into u8glib now. :3

it is any procedure is equivalence to GLCD.ClearScreen for u8glib?

now using drawBox procedures for clearing screen :stuck_out_tongue:

Hi NeOCzx

There are some imporant differences between GLCD v3 and U8glib. While porting is for sure possible, there are some restrictions on U8glib, which are not present for GLCD lib. GLCD and U8glib have two completly different programming concepts. It might require much more than just replacing the drawing primitives.

I suggest reading the article here, before porting:
http://code.google.com/p/u8glib/wiki/tpictureloop

Also, Bill's library is highly optimized and much faster than U8glib. On the other hand, U8glib should be more flexible regarding the graphics hardware.

One result of the different concepts is that there is no clear screen available in U8glib. The screen is cleared as soon as you enter the "picture loop".

Oliver

thx for the claraficatiion & tips olikraus :smiley:

if it doesnt work out well maybe i will as well try to use 2 LCD display with different library on a same arduino board. it is possible to be done or someone here had done it before?

just curious :slight_smile:

It should be possible to use more than one display, but i never tried.
Oliver

Hi

Release v1.03 is available for download. It includes the requested drawLine procedure.
http://code.google.com/p/u8glib/downloads/list

Oliver