Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 7 of 7

Thread: GLCD Maximum Panel Size & controller?

  1. #1

    GLCD Maximum Panel Size & controller?

    Hi guys,

    What is the maximum panel size that I could use with GLCD and a Teensy++ 2.0? I see that Paul does a 128x64 panel, but just in case I want to go bigger what dictates the maximum size?

    I know the GLCD page says a KS0108 controller chip is required, and when searching for displays on Ebay using KS0108 it comes up with this one, which says it's KS0108 compatible. On the PCB picture further down you can see a part no LCM240128B-6, searching for this results in this datasheet, which says it's a T6963C controller.

    Regards,

    Les

  2. #2
    Senior Member
    Join Date
    Jan 2013
    Location
    Dallas, TX USA
    Posts
    106
    The quick answer is 254 by 254 is current the max because the pixel coordinate variables are uint8_t and 255 is special.
    The long answer is it depends on the which "ks0108/GLCD" library you have as some of the older ones
    won't support more than 2 ks0108 chips which limits the size to 128x64.

    But the real issue you will be facing is that a T6963C is not compatible with the ks0108 chip.

    More details.
    The Arduino ks0108 library was created by Michael Margolis. He tool Maximillian Thiele's ks0108 C code and converted it to C++ for Arduino.
    I worked with Michael and Paul to create the GLCD library which supersedes the ks0108 library.
    It is a derivative work of the Arduino ks0108 library.
    The GLCD library is now what is referenced on the ks0108/GLCD Arduino playground.
    I have now forked the GLCD library to create the openGLCD library.
    The openGLCD library is a superset of the GLCD library with bug fixes and many new features and is a derivative work of the GLCD library.
    I am no longer maintaining the GLCD library.

    As far as licensing terms goes, the license on Thiele's original ks0108 code and the ks0108 Arduino library
    was not clearly specified.

    In the transition to the GLCD library, very little of the original Thiele ks0108 code has remained
    and the licensing terms are now clearly specified as LGPL 2+

    openGLCD is licensed as GPL v3

    The ks0108 library that Paul provides a link to on his site (ks0108.zip) is the final version of the ks0108 library
    with some teensy tweaks in it. It is way old and I would not recommend using it.
    It has support for Teensy 2.x but not Teensy 3.x
    and is limited to 128x64

    The GLCD library, which can be found on the ks0108/GLCD playground page
    http://playground.arduino.cc/Code/GL...8#.UxzIQaqXWMw
    or here: GLCDv3 google code site
    includes support for the Teensy 2.x but not Teensy 3.x
    and supports more than 2 ks0108 chips

    openGLCD includes support for all the Teensy boards as well as all other Arduino boards
    it also supports more than 2 ks0108 chips includes config files for a few 192x64 displays.
    It can be found here: openGLCD repository
    Last edited by bperrybap; 03-09-2014 at 08:38 PM. Reason: added link to openGLCD repository

  3. #3
    Thank you so much for the very detailed reply. I did find openGLCD during my searches and downloaded it to have a look. I am still waiting on my panel to arrive before I start playing though. I did however decided that 128 x 64 was going to be big enough for my project.


    Regards,

    Les

  4. #4
    The built in GLCD example worked great with this display I got from Ebay. Next up I will try it with openGLCD.

    Regards,

    Les

  5. #5
    Quote Originally Posted by Pointy View Post
    The built in GLCD example worked great with this display I got from Ebay. Next up I will try it with openGLCD.

    Regards,

    Les
    I big thanks for the openGLCD library, this worked a treat with my Teensy++ 2.0 and the display linked above.

    Click image for larger version. 

Name:	screen.jpg 
Views:	551 
Size:	87.8 KB 
ID:	1641

    As you can see from the picture above, I am not doing anything fancy, just a few text strings and a couple of bitmaps, but the library made it very easy.

    Regards,

    Les

  6. #6
    Senior Member
    Join Date
    Jan 2013
    Location
    Dallas, TX USA
    Posts
    106
    Very nice.
    Please send me any comments you have on the library, HTML documentation, and API examples.

    Are you using the openGLCD DrawString() text capabilities for centering?
    I'm curious what are the bitmaps? Is it the rounded rectangles?

    If you wanted to, I think you could do all of that without using bitmaps.
    You could draw filled round rectangles then put the text on top of them.

    You could even create a small text area just inside the bounds of the rounded rectangle corners,
    then you only have to draw the rounded rectangle once then you print text in the text area
    to update the text.

    --- bill

  7. #7
    Quote Originally Posted by bperrybap View Post
    Very nice.
    Please send me any comments you have on the library, HTML documentation, and API examples.
    The only thing that caught me out was the lack of spaces in some of the fonts and when using the openGLCDFontCreator tool. This was easy to fix by looking at some of the other headers. Other than that, the documentation was great.

    Quote Originally Posted by bperrybap View Post
    Are you using the openGLCD DrawString() text capabilities for centering?
    I'm curious what are the bitmaps? Is it the rounded rectangles?

    If you wanted to, I think you could do all of that without using bitmaps.
    You could draw filled round rectangles then put the text on top of them.

    You could even create a small text area just inside the bounds of the rounded rectangle corners,
    then you only have to draw the rounded rectangle once then you print text in the text area
    to update the text.

    --- bill
    Yes, all text is done with DrawString with gTextfmt_center, and yes the rounded rectangles with text in them are the bitmaps. I thought about drawing shapes and text but to be honest it was so easy to do the bitmaps and import them thanks the glcdMakeBitmap utility. Your way may be more memory efficient but memory is not an issue for me at the moment.

    Thanks again for sharing all your hard work on this, it made coding this part of my project very easy.

    Regards,

    Les

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •