Go Down

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

avenue33

May 10, 2011, 10:32 pm Last Edit: Dec 07, 2013, 07:37 pm by avenue33 Reason: 1
Jump to the new LCD_screen Library Suite!

Please find the new LCD_screen Library Suite that replaces the Serial_LCD Library Suite.

The LCD_screen Library Suite supports a wider range of SPI and 16-parallel affordable screens, apart from the 4D Systems Picaso-based serial screens.



Enjoy :)




Bonsoir,

Please find a first release of an Arduino library for the amazing 4D LABS ?LCD-32PT(SGC) 3.2" Serial LCD Display Module.



To draw a triangle, instead of sending that ASCII string
  • G 0, 200, 0, 160, 0, 160, 0, 80, 100, 60, 0xff, 0xff

use plain
  • myLCD.triangle(200, 160, 160, 80, 100, 60, 0xffff)


;)

Graynomad

Thanks avenue, I've just got two of these displays so will keep an eye on this library.

Funnily enough one of the things I want to display is direction and roll/pitch and that's basically what your demo shows.

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

Yot

Cool, yet another library for one of the 4d systems screens. I made one myself for the uOled serial screens (Goldelox controller). Maybe we, lib. writers for 4d systems screens, should get together and try to come up with a 'general' library. Maybe a couple as there are a few different controllers used in the various screens.

I have implemented most of the commands including text, graphics, 5 switches, sd-card access and sound output.

Jeroen.
Active on irq daily.

avenue33

Bonsoir Jeroen,

Yes, it seems a nice idea.

Before starting this project, I did some search on the 4D libraries. Those I've found dealt with screen smaller than 256 pixels.

Main difference is the 320x240 screen requires words and not bytes for coding the coordinates.

So we should consider how to write a "one for all" library!

Best regards, 

Graynomad

I won't be ready to use my displays for a while but am interested in any library you guys do and will be able to contribute when I get my hardware up and running.

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

Yot

Hi avenue33, Graynomad,

If you (or anyone) are interested in my lib., let me know and i will mail it. You are right that most libs are for the smaller sized displays. Maybe we could use at least the same syntax for the basic commands.

I have rewritten 'my' lib. a few times for learning and i decided on a 'base' class/lib with only the commands from the command sheet, tried to follow their syntax/wording/behavior as close as possible. I planned on extending functionality in separate classes and/or headers. Thus far i have, apart from most of the basic commands, made a (proof of concept) class for bargraphs and another one for histograms. One of the things i would like to add is a filesystem class for using the sd-card with the FAT filesystem instead of 'raw' access.

As i started with an Arduino Mega1280 i made the base class accept any of the hardware serial ports as a constructor argument. Another thing i would like to implement is incorporating the softSerial library to free the single hardware serial port on the Arduino UNO or duemilanove type Arduinos. I chose to incorporate the serial communications inside the library to be able to optimize the communications in the future. (dreaming about custom buffer sizes, non blocking commands and so on. :) )

It seems the 4d-systems modules are becoming popular. I like them apart from the price. Also i think the shield they have is a bit limited. No circuit for buttons or sound, only hardware serial port usage.

Regards,
Jeroen.

Yotson on irc://freenode/arduino

Graynomad

I plan to use this display with a Mega1284 chip on a control node for a network I'm developing, (http://busnet.robgray.com/hardware/ncn/index.php), I got some free hardware from 4DS to help me do the job so I better get something made I guess :)

I have so much to do on the network design that there's not much point getting too involved with the display right now but I'm happy to look at code, maybe I'll spot a bug or two or have an opinion on the API calls.

I have one question (to both avenue and yot), do you handle landscape and portrait orientations? Presumably it's just a matter of sending the appropriate command to the display then keeping two variables for width and height.

My email is rob@robgray.com if anyone wants to contact me directly.

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

avenue33


I have one question (to both avenue and yot), do you handle landscape and portrait orientations?


The orientation is handled manually through the

Code: [Select]
  byte setOrientation(byte b);   // Display Control Functions - 59hex

instruction on my library.


midnight_coder

How do you guys like this screen? How does it compare to the iPhone's screen? How usable is it in direct sunlight?

avenue33


How do you guys like this screen?
Colours are crisp, the screen is fast, the touch is accurate, and the price is ok.

Quote
How does it compare to the iPhone's screen?
Don't dream to much: they aren't playing on the same field.

Quote
How usable is it in direct sunlight?

I haven't tested yet.

Graynomad

@avenue
I grabbed the code form your site and am having a look.

IIRC there's no way to dim the backlight, is that the case?

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

avenue33


IIRC there's no way to dim the backlight, is that the case?

Sure, it is.

It's already implemented. See :smiley-eek:
Code: [Select]
byte Serial_LCD::setContrast(byte b);

Please refer to the .h file :)

Graynomad

OK I see that, I guess that is affectively the same thing, especially if they implement the contrast adjust by dimming the back light which they may do.

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

avenue33

Hi!

Here's the 2nd release of the library which includes bug fixes (font size), and enhancements (touch).



A new library called button provides the basics for buttons management. It works hand-in-hand with the Serial_LCD library.

Enjoy  :)

Graynomad

Lookin' good, I'm still nowhere near using my displays yet but am paying attention :)

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

Go Up