Go Down

Topic: LCD_screen Library Suite (Read 37 times) previous topic - next topic

Graynomad

Great stuff avenue, it's getting better all the time.

______
Rob
Rob Gray aka the GRAYnomad www.robgray.com

avenue33

Thanks for the accolade!

The GUI Library required 40 hours of work...

I'm dreaming about a better more powerful IDE on my MacBook, with niceties like parameters tips, jump to definition, object hierarchy browser, refactoring, ... and a glimpse of debugging.

Visual Micro: Windows only. Xcode: doesn't work. NetBeans: doesn't work. Eclipse: not sure.

Actually, I don't understand why each micro-controller board manufacturer supplies its own IDE. Wouldn't it be easier and cheaper to supply a plug-in for a standard IDE?

avenue33

Release 23 includes

  • VGA support 

  • library release number check,

  • updated examples with test release



As usual, find the code here and explanation there!

DROBNJAK

what is the difference between the Serial and GFX version of this LCD? Is Serial slower than the GFX?

avenue33

What do you mean exactly by direct chip access?

The 4D Systems screens offer two modes:
• SGC = serial slave connected through Serial to an Arduino
• GFX = stand alone board

DROBNJAK

by 'direct chop access' I meant GFX. I corrected it later. Is there a difference in the speed or the screen redraw?

avenue33

Actually, it's the same micro-controller Picaso.

So drawing should go as fast.

However, one critical point when using the SGC-mode screen connected to Arduino, is to increase the speed of the serial port.

Default at 9600 is slow, but 38600 is much better, faster and smoother.



cr8zy1van

Would this library also work with the uOLED-96-G1GFX display? (the 0.96" little brother?) I am desperately looking for a library that will run on the new IDE (1.0) on a UNO, so far no dice!

avenue33

Three points:

  • SGC vs. GFX


If you want to connect the screen to an Arduino, you need the SGC version of the screen.

The GFX version are stand-alone screens.

My library only works with the SGC mode, not the GFX mode.

Switching from GFX to SGC is just a matter of updating the firmware, called PmmC.

Quote
How To Decide Between GFX or SGC 

The architecture of the base GOLDELOX chip  is such that it can be reconfigured  to operate in 2 distinctively different ways. To configure the device, a PmmC (Personality Module Micro-Code)  is downloaded via its serial port. There are 2 types of PmmC available for GOLDELOX.


Please refer to 4D Systems site for more explanations.


  • Goldelox vs. Picaso


Goldelox deals with screens which size in < 256 pixels and thus uses 8-bits coordinates while Picaso addresses larger screens and thus uses 16-bits coordinates.

My library has been designed for Picaso and 16-bits coordinates.

However, since the commands are the same, it is just a matter of changing the coordinates from uint16_t to uint8_t.

Some niceties as the dialog box won't be adapted, because it requires 200 x 200 pixels.


  • Arduino 1.0 vs. 0023


I did release an Arduino 1.0-compatible library.

Actually, I'm waiting for Arduino 1.0 being stabilised and MPIDE 1.0 for chipKIT platform being released.


  • What To Do


I expect to release a Goldelox compatible library within a couple of days, but Arduino 0023 based.

I suggest you to downgrade the Arduino IDE to 0023 so you can enjoy the library.

avenue33

Please find the pre-release 24 with Goldelox support on the pre-release branch.

I have no uLED screen, so I can't test it.

uLED owners, could you test it please? Thanks!

Menu and dialog require more space than uLED screens can afford, so they are not supported for uLED screens.

avenue33

@cr8zy1van

Any news?

Have you tested the library on your uLED?

Thanks.

avenue33

This example based on pre-release 25 displays all the information provided by the screen:

• category: ?LCD, ?LED or ?VGA 
• size: horizontal and vertical
• SD-card availability
• partitions: FAT, FAT and RAW



More details available here.

avenue33

Release 26 of Serial_LCD includes now a new high-end library Graphics.

The Graphics library provides high-end routines to display graphics.

Two graphics are available: clock and direction



Enjoy :)

avenue33

Release 27 of Serial_LCD provides all the functions to obtain information about the screen connected.



Enjoy :)

avenue33

New Release 28 allows using the same code for different screens.

The very same sketch, here a clock, runs on three different screens:
• µOLED-160-G1(SGC),
• µLCD32-PT(SGC) and
• µLCD43-PT(SGC)



Thanks to the functions maxX and maxY, the clock is defined to fit the screen size:

Code: [Select]

    uint16_t radius = min( myLCD.maxX()/2-4, myLCD.maxY()/2-4 );
    myClock.define(&myLCD, myLCD.maxX()/2, myLCD.maxY()/2, radius,
        myLCD.setColour(0x00, 0xff, 0x00), myLCD.setColour(0x00, 0x00, 0xff),
        myLCD.setColour(0xff, 0x00, 0x00),
        myLCD.setColour(0x00, 0x00, 0x00),
        myLCD.setColour(0xff, 0xff, 0xff));


Learn more about Same Code, Three Screens!

Go Up