LCD_screen Library Suite

Although pricey compared to a 3.2" TFT01 3.2WD and the UTFT lib's it is a really nice work horse 1 16 bit, or an 8 bit W/Flow control or2 8 bit ports or a 16 bit individual port all are bi-directional, 2 TTL RS232 serial Ports and a speaker. The device can communicate at up to 2.56 Mbaud comm rates on a dedicated TTL RS232 port and change that data rate on the fly so as to not get in the way of touch screen data and it's interactions the 32PT SGC device can do a lot... With a change in it's firmware it can be programmed to operate as a standalone terminal GFX mode and the program and stored data is easily accommodated by it's high capacity uSD card port 4GB + ... All for $69.00 from 4D Systems.AU... (79.00 @ Robot Shop and $84.00 @ Sparkfun) I bought one and the Backplane connector ($20 -30.00) for easy access to the additional I/O. Although a resistive touch screen the device I have is very responsive with the protective plastic still in place. In short it is a lot of display and while you can easily (now as the prices have fallen) buy 2 3.2 " displays for the same money you'll not find one that can do what it does 'naturally'. Maybe a Pro-Mini and a TFT01 and... but Not all in one with the SD card capacity this one has... The graphics are fast, clean and really good looking.
As much as this might sound an advert for 4D Systems... It isn't, The 32PT SGC IS a LOT of DISPLAY.

Doc

A new release of the Serial_LCD library suite is available, with support for the AVR ATmega1280 MCU.

Aug 21, 2012 release 334 • AVR_ATmega1280 added

Deprecation notice

Please note that button.define, button.stringDefine and Label are going to be deprecated in the next major release.

Consider button.dDefine, button.dStringDefine and dLabel instead.

The examples have been updated accordingly.

As always, everything is available here.

Great Work Avenue 33

My 4D display should be arriving in a few days and I cant wait to play with the functionality provided.

God knows the hours that must have gone into this.

Thanks

Andy

@Andy

Thank you for the accolade!

As for the time, ~450 hours and counting!

Please find a new release of the Serial_LCD Library Suite:

Sep 01, 2012 release 335 • AVR_ATmega32U4 added

The Arduino Leonardo is now supported.

Performance enhancements have also been added.

Please note that button::define, button::stringDefine and Label are going to be deprecated in the next major release.

Consider button::dDefine, button::dStringDefine and dLabel instead.

As always, documentation and download are available here.

Enjoy :wink:

Please find the new release of the Serial_LCD library suite, with

Sep 19, 2012 release 336 • stability enhancement

especially for the Gallery library.

A very tricky bug with chipKIT has been fixed. Actually, chipKIT MPIDE doesn't support vector —see chipKIT32/chipKIT-core · Discussions · GitHub

As always, documentation is here and download there!

Enjoy :wink:

Driving two screens is possible with the Serial_LCD Library Suite, with one serial port per screen.

Learn more on how to proceed and download the sketch with two galleries!

Wow, two screens now eh?

When are you coing to port Windows to your library :slight_smile:

That new 4" LCD seems brighter, or is that just the photo or different colour setting by the program?


Rob

Unfortunately, taking pictures of the screens is very difficult.

As they are very bright and the camera has auto white balance, I had to rework the temperature and the saturation.

Windows? I don't want blue screens of death on my Arduino :slight_smile:

Anyway, a Windows-liek GUI would requires more MCU power to work.

Maybe with an Arduino Due if I manage to get one!

Please find a new release of the Serial_LCD Library Suite:

proxySerial • Nov 28, 2012 release 314 • utoa renamed u64toa
Gallery • Nov 29, 2012 release 311 • array[MAXPICTURE] instead of vector
GUI • Dec 01, 2012 release 318 • new area object

The new area object is a button without text or a hidden button. This is especially useful to define active zones on a displayed picture.

Instead of defining each element, buttons, icons, … of the interface, display a single picture and define active zones on it.

As always,
• Documentation http://embeddedcomputing.weebly.com/serial-lcd
• Download http://embeddedcomputing.weebly.com/download

First, thank you for your excellent work.
This works very well on both my Arduino Uno and Mega. But sadly I cant get it to work on my Arduino Due. Is there ant way to get it working or are you planning on changing the code to include the Arduino Due?

Jensen_HJ:
First, thank you for your excellent work.

You're welcome!

Jensen_HJ:
This works very well on both my Arduino Uno and Mega. But sadly I cant get it to work on my Arduino Due. Is there ant way to get it working or are you planning on changing the code to include the Arduino Due?

I tested the build and link with Arduino 1.5 for the Arduino Due.

Unfortunately, as I don't have an Arduino Due at hand, I can't perform the required tests.

Thank you for your reply.
I tried to compile the GUI_main.pde example on 1.5.1r2, but it gives me this errors:

GUI_main:37: error: #error Platform not supported
GUI_main:77: error: #error Platform not defined
In file included from GUI_main.pde:42:
C:\Users\hjjensen\Documents\Arduino\libraries\proxySerial/proxySerial.h:64: error: 'boolean' has not been declared
In file included from GUI_main.pde:43:
C:\Users\hjjensen\Documents\Arduino\libraries\Serial_LCD/Serial_LCD.h:86: error: 'boolean' has not been declared
C:\Users\hjjensen\Documents\Arduino\libraries\Serial_LCD/Serial_LCD.h:87: error: 'boolean' has not been declared
C:\Users\hjjensen\Documents\Arduino\libraries\Serial_LCD/Serial_LCD.h:93: error: 'boolean' has not been declared
In file included from GUI_main.pde:43:
C:\Users\hjjensen\Documents\Arduino\libraries\Serial_LCD/Serial_LCD.h:115: error: 'boolean' has not been declared
C:\Users\hjjensen\Documents\Arduino\libraries\Serial_LCD/Serial_LCD.h:117: error: 'boolean' has not been declared
C:\Users\hjjensen\Documents\Arduino\libraries\Serial_LCD/Serial_LCD.h:120: error: 'boolean' has not been declared
C:\Users\hjjensen\Documents\Arduino\libraries\Serial_LCD/Serial_LCD.h:131: error: 'boolean' does not name a type
C:\Users\hjjensen\Documents\Arduino\libraries\Serial_LCD/Serial_LCD.h:132: error: 'boolean' does not name a type
C:\Users\hjjensen\Documents\Arduino\libraries\Serial_LCD/Serial_LCD.h:133: error: 'boolean' does not name a type
C:\Users\hjjensen\Documents\Arduino\libraries\Serial_LCD/Serial_LCD.h:135: error: 'boolean' does not name a type
C:\Users\hjjensen\Documents\Arduino\libraries\Serial_LCD/Serial_LCD.h:161: error: 'boolean' does not name a type
C:\Users\hjjensen\Documents\Arduino\libraries\Serial_LCD/Serial_LCD.h:162: error: 'boolean' does not name a type
C:\Users\hjjensen\Documents\Arduino\libraries\Serial_LCD/Serial_LCD.h:163: error: 'boolean' does not name a type
C:\Users\hjjensen\Documents\Arduino\libraries\Serial_LCD/Serial_LCD.h:172: error: 'boolean' does not name a type
In file included from GUI_main.pde:44:
C:\Users\hjjensen\Documents\Arduino\libraries\GUI/GUI.h:77: error: 'boolean' does not name a type
C:\Users\hjjensen\Documents\Arduino\libraries\GUI/GUI.h:78: error: 'boolean' has not been declared
C:\Users\hjjensen\Documents\Arduino\libraries\GUI/GUI.h:79: error: 'boolean' has not been declared
C:\Users\hjjensen\Documents\Arduino\libraries\GUI/GUI.h:80: error: 'boolean' does not name a type
C:\Users\hjjensen\Documents\Arduino\libraries\GUI/GUI.h:86: error: 'boolean' does not name a type
C:\Users\hjjensen\Documents\Arduino\libraries\GUI/GUI.h:114: error: 'boolean' does not name a type
GUI_main:82: error: 'mySerial' was not declared in this scope
GUI_main.pde: In function 'void setup()':
GUI_main:114: error: 'Serial' was not declared in this scope
GUI_main:130: error: 'mySerial' was not declared in this scope
GUI_main.pde: At global scope:
GUI_main:184: error: 'boolean' does not name a type
GUI_main.pde: In function 'void loop()':
GUI_main:196: error: 'class button' has no member named 'check'
GUI_main:203: error: 'Serial' was not declared in this scope
GUI_main:207: error: 'class button' has no member named 'check'
GUI_main:210: error: 'Serial' was not declared in this scope
GUI_main:214: error: 'class button' has no member named 'check'
GUI_main:215: error: 'slider' was not declared in this scope
GUI_main:217: error: 'Serial' was not declared in this scope
GUI_main:222: error: 'class button' has no member named 'check'
GUI_main:226: error: 'Serial' was not declared in this scope
GUI_main:238: error: 'millis' was not declared in this scope

I also tried to force it to include Arduino.h, but is still does not work.

Never mind... Problem solved :slight_smile:
I just forced your libraries to: #include "Arduino.h" and it seems to work fine.
More testing will show if it really works though...

I'm glad it works.

Unfortunately, I don't have an Arduino Due at hand so I can't perform the required tests.

Normally, the conditional statement should include Arduino.h.

#if defined(ARDUINO) && (ARDUINO >= 100)
#include "Arduino.h"

I don't know why that condition is not working, and sadly I did not have much time for more testing for now. In the next few days I should be able to test it a bit more. Apparently the SD card is not functioning as it should, but again, I did not test it very much.

Hi,

first of all, thank you for you work!

I'am new to Arduino and i need a quick solution for a small project where i took a look
at the µLCD-32WPTU display from 4D. I like the display because of the integraded sdcard
holder and the speaker.

I read the instruction set of the display about the sdcard part.
Is it possible with you library to load and show some icons directly from the sdcard holder
on the display? Or maybe a animated gif?

Like a command showImageFromSD(x,y,filename) ?

In the documentation of the display i only found a solution with vectors to files, but that doesn't work
for me, because the images on the sdcard should be replaceable by the user (and that not a programmer :slight_smile: ).
They should get names like startup.bmp, backgr.bmp, inp_1_on.bmp, inp_1_off.bmp, etc...
Also some lines of textfiles should be read directly from the sdcard on the display, and playing some short
soundfiles too.

Is this possible with your library?

I'am sorry if these are stupid questions, i'am new to this whole Arduido thing. I programmed in Assembler on 8051
compatible cpus in the past...

Thanks a lot!

With best regards,
Martin

You're welcome!

The µLCD-32WPTU uses a new firmware which is not compatible with my library. Please consider instead the serial environment provided by the manufacturer.

4D Systems all new Workshop 4 IDE supports multiple development environments, to cater for different user requirements and skill level.
A Serial environment is also provided to transform the display module into a slave serial display module, allowing the user to control the display from any host microcontroller or device with a serial port.
The Workshop 4 IDE is available for download from its product page: 4D Workshop 4 IDE

Please download the Workshop 4 - Serial Command Set Reference Manual

Hi,

i understand, this is a "single piece" project, so its not important for me to use the latest display on the market, i can use a
µLCD-43PT(SGC) or µLCD-32PT(SGC) display too. Your library will work perfect with these models right?

So when using these models with your library, is it possible to show some icons directly from the sdcard?

If its not possible to load and show small images (like 32x32 or 64x64) directly via the filename from the fat partition of the
sdcard, would it be possible to show images when "converting" them via a 4D software and show them from the "library"?

Thanks!

Ciao
Martin

Machtl:
i understand, this is a "single piece" project, so its not important for me to use the latest display on the market, i can use a
µLCD-43PT(SGC) or µLCD-32PT(SGC) display too. Your library will work perfect with these models right?

Yes, as long as they have a SGC firmware version 22.

Machtl:
So when using these models with your library, is it possible to show some icons directly from the sdcard?

Yes, anywhere on the screen!

Machtl:
If its not possible to load and show small images (like 32x32 or 64x64) directly via the filename from the fat partition of the
sdcard, would it be possible to show images when "converting" them via a 4D software and show them from the "library"?

Yes!

You have two options: either each picture is a separate file, or all the pictures are inside a same file and are shown using the gallery library.

In this example, a battery indicator is displayed on top of another image:

Machtl:
Thanks!

You're welcome!