240 x 128 or 320 x 240 pixel GLCD??

For Flowcode users to discuss projects, flowcharts, and any other issues related to Flowcode 2 and 3.

Moderators: Benj, Mods

Post Reply
cobra1
Posts: 175
Joined: Thu Feb 04, 2010 7:44 am
Has thanked: 3 times
Been thanked: 3 times
Contact:

240 x 128 or 320 x 240 pixel GLCD??

Post by cobra1 »

Is there any available for flowcode??.

Ideally i would like the 320 x 240 but either will do

Im using a 128x64 but could do with something a bit bigger.

cobra1
Posts: 175
Joined: Thu Feb 04, 2010 7:44 am
Has thanked: 3 times
Been thanked: 3 times
Contact:

Re: 240 x 128 or 320 x 240 pixel GLCD??

Post by cobra1 »

This is the type of screen i would like to use if at all possible.

http://cgi.ebay.co.uk/4-320x240-Graphic ... 45f64197d1

cobra1
Posts: 175
Joined: Thu Feb 04, 2010 7:44 am
Has thanked: 3 times
Been thanked: 3 times
Contact:

Re: 240 x 128 or 320 x 240 pixel GLCD??

Post by cobra1 »

I have been pointed to the file that describes how to make your own custom file.

Its a bit over my head, anyone any clues on what to do??

User avatar
Benj
Matrix Staff
Posts: 15312
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4803 times
Been thanked: 4314 times
Contact:

Re: 240 x 128 or 320 x 240 pixel GLCD??

Post by Benj »

Hello Cobra,

At the top of this page there is an explanation of how to use and create your own custom component code files.

I wrote the custom graphics driver example so I will do what I can to help you to create your own driver.

In the graphics driver you will need to modify functions such as the sendbyte, initialise and pixel set. Once you have done this functions such as print string and draw line etc will work correctly without modification.

The send byte function can be based on the diagram given in the LCD controller datasheet. There is also a list of commands required at startup that you can follow to perform the initialise and set pixel.

Have a go and see if you can get anywhere. You can always post up your custom component and I will try to help you along.

cobra1
Posts: 175
Joined: Thu Feb 04, 2010 7:44 am
Has thanked: 3 times
Been thanked: 3 times
Contact:

Re: 240 x 128 or 320 x 240 pixel GLCD??

Post by cobra1 »

Hi Ben

Thanks for the reply, i really dont think i know enough to do this.

I looked for the send byte and i cant find anything in the file relating to this.


Is it possible for you to highlight the relavent areas of the code that will require some modification??

User avatar
Benj
Matrix Staff
Posts: 15312
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4803 times
Been thanked: 4314 times
Contact:

Re: 240 x 128 or 320 x 240 pixel GLCD??

Post by Benj »

Hello,

Ok first of all which controller is your LCD using? If you can pass me the link to the datasheet for the controller then I can help to point you to the right pages and we can start getting the send_byte function tailored to the device.

The controller for the display you linked from eBay has the following controller chip. Epson S1d13700

Here is a datasheet for the controller.
http://vdc.epson.com/index.php?option=c ... &Itemid=99

Page 105 details the startup procedure.
Page 26 details the interface and timing requirements

User avatar
Benj
Matrix Staff
Posts: 15312
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4803 times
Been thanked: 4314 times
Contact:

Re: 240 x 128 or 320 x 240 pixel GLCD??

Post by Benj »

The functions from the custom code file that will probably need modifying are as follows.

MX_LCD_Enable
MX_Write_Command
MX_GotoXY
MX_WriteData
MX_ReadData
LCD_Init

cobra1
Posts: 175
Joined: Thu Feb 04, 2010 7:44 am
Has thanked: 3 times
Been thanked: 3 times
Contact:

Re: 240 x 128 or 320 x 240 pixel GLCD??

Post by cobra1 »

Thanks for the help so far Ben

Starting with the first one on the list

Code: Select all

void MX_LCD_Enable (void)
{
	set_bit(MX_CONTROL_PORT, MX_ENABLE);
	//delay_10us(1);								//Min delay 450ns
	nop();
	nop();
	nop();
	nop();
	nop();

	clear_bit(MX_CONTROL_PORT, MX_ENABLE);
	//delay_10us(1);								//Min delay 1.5us
	nop();
	nop();
	nop();
	nop();
	nop();
}
My knowledge of C is next to zero, all i see in the code here is 2 delays and then a list of no operation commands.
Does this need changing or does it get left as it is?

Post Reply