Looking for Driver for Solomon SSD1289 controller

DocZaf

Member
Hiya all,

I'm spending this week trying to design a driver for the solomon systech SS1289 controller ic.
[EDIT]
And trawling the forum threads
[/EDIT]
Its come bundeled with a screen from ebay (HY32D 320x240tft)
I hope to use SPI to commnicate with the screen and was just wondering if anyone has done anything with one these?

And better still, take a look at my port of some C code which I found online...
The port is unfinished and i'm struggling with much of the C code.
And I'm not sure what file extensions xxxx.H and xxxx.C signify
But I think I need to merge the two into program as PicAxe just uses PicAxe Basic?

Once i've done as much as i can i will post it for further help if anyone can help me i'd be greatful.


DocZaf
 
Last edited:

inglewoodpete

Senior Member
I'm spending this week trying to design a driver for the solomon systech SS1289 controller ic.
Hi Doc, You will need to help people to help you. Beleive it of not, most forum members will probably not be familiar with that chip! However, if you include a link to the data sheet you will possibly get 10 times the help. Many forum members have used SPI but will not bother to root around the internet searching for a document for someone else.
 

DocZaf

Member
Hi InglewoodPete,

Yet agaiin, thanks for your help,
I have found link to the datasheet and dont know to attach files in this quick reply window,
Or I could have attached it.
SSD1289 Datasheet

As for helping others, I have no problem,
And where I can I will
But i new to electronics and most of my knowledge is .NET and VB Script.


DocZaf
 

srnet

Senior Member
And better still, take a look at my port of some C code which I found online...
The port is unfinished and i'm struggling with much of the C code.
And I'm not sure what file extensions xxxx.H and xxxx.C signify
But I think I need to merge the two into program as PicAxe just uses PicAxe Basic?
Yes, if the sample programs are in C, you will need to write the equivalent in PICAXE basic.

I did something similar for a radio chip recently, the sample driver programs were in C, but I needed to drive the device (also SPI) in PICAXE Basic.

In the end, I found the C programs to be of little to no help, a thorough understanding of the devices setup and configuration proved to be the key to getting working code ....
 

srnet

Senior Member
I'm spending this week trying to design a driver for the solomon systech SS1289 controller ic.
You might want to take a look at this;

http://www.picaxeforum.co.uk/showthread.php?20186-Nokia-1100-amp-2280-gLCD-modules

Myself, if I wanted to drive one of these types of display, I would stick to using a module where someone else has already done the hard work, it can be a formidable challenge getting things like this working from scratch, but I guess it depends on your expereince.
 

DocZaf

Member
What I have so far....

Hiya all once again,

thanks for all the pointers,
I'll try to remember all the advice.


SRNET
=====
Thank you for the link to the gLCD module thread....
Its really interesting and will take some time to soak in.
I will save it my favourites and refer back to it often.

And yes I agree with what you say about knowing the underlying device setup/config procedures...
Though I'mnew to it, i do get the basic gist of whats happening....
Where I come unstuck is knowing where to send the data,
Its something i'm trying to study at the moment.


WESTAUST55
==========
Yes it does make sense to post what i have so far...
The link you posted to the HYD32.Rar file seems to be more complete than the documentation i have which is the SSD1289 data sheet....

I was struggling with the C Code but have resolved that issue by fnding a link to C Language ref online... and code statements which I thought were performing bit shifting are/were actually comparisons (Less than equal to <<= Not shift left << )...

Still I have a long way to go, but am greatful for all and any help.
I have posted the port of the code in the RAR file although the RAR had a few .H Files and a few .C Files.... which i presume must be amalgamated into a PicAxe program...

The port is incomplete because i need to go through some parts of the code and double check that i understood what was happening in the staements (I'll try an do that tonight using the C Lang reference documentation as reference....

Svejk
=====
Thanks for the pointer to the microchip website and I have seen it reffered to many of the google results.... There are so many .H and .C files there... And it just confuses more :(


So Far
======
So far I have ported some ofthe files and redone the font library as the original one was too big.
The font set i made was a standard fixed width 8 bits x 8 bits, taking up 9 bytes per font character and some 70 ish characters at the moment...

I hope to be able to trim this down drastically (by 50%) later on when i redesign the font.

I know for sure that I've got several errors in the port of the code...
As its still in the first draft mode...
but i'll post it still and then once again after i've been through it again.


I have NOT put the hardware together yet and am waiting for some jumper wires to arrive and need to purchase some components like the resistors and capacitors and stuff.....

I'll be usingthe 28x2 Module which can be found here...
http://www.picaxe.com/Hardware/PICAXE-Chips/PICAXE-28X2-Module/

I guess this will present its own hurdles when that time arrives as I never studied electronics though have some understanding...
 

Attachments

hippy

Technical Support
Staff member
I was struggling with the C Code but have resolved that issue by fnding a link to C Language ref online... and code statements which I thought were performing bit shifting are/were actually comparisons (Less than equal to <<= Not shift left << )...
<<= is a shift left not a comparison in C.

var <<= numVar

is a shortform of ...

var = var << numVar
 

Paix

Senior Member
In a C program, .H files are known as header files. Each header file contains one or more function declarations, data type definitions, and macros which are included into your main program during pre processing or compilation.

I guess you have probably figured this out already, but no one has yet specifically addressed this part of your original question.
 

DocZaf

Member
Thank You Hippy,

Thanks because this was a major hurdle in my port,
I wasnt sure i'd figured it out right,
I will go through it again and check...

Also?
Because the original fontset was around 16 bytes + 1 byte index and the new one is eight bytes + 1 byte index, maybe I dont need that shift left?

I guess it means i have to go through it all again and check that i understood it right.
 

DocZaf

Member
After the timely pointer from Hippy,

I've rewrote the port of the code...
I'm still not sure if its right,
and there is some reference to a mask?

Anyway, I've attached the updated source code,
and am still unsure about it...

For example...
I suspect that somewhere there should also be the following code statements...
Code:
HSPISETUP 
HSPIOUT, OutData
HSPIIN, InData
HSERIN, xxxxx (?)
HSEROUT, xxxxx (?)
Am I right in that or are the data and commands going out via somewhere else?

Also...
Some other code baffled me completely...
Code:
	'´¥ÃþÆÁµÄio¿Ú·Ö²¼Çé¿ö£º
	'touch_CS-----------P1^5;
	'touch_DCLK---------P1^6;
	'touch_DIN----------P1^7; 
	'touch_INT----------P3^2; 
	'touch_DOUT---------P3^3; 
	'touch_BUSY---------P3^4;
I'm not sure if its naming specifics bit registers or performing a calculation on the register

The ORIGINAL Code as below...
Code:
	'//==========================LCD DEFINE
	'sbit RS=P1^0;
	'sbit rd=P1^1;
	'sbit res=P1^2; 
	'sbit RW=P1^3; 
	'sbit CS=P1^4; 
	'//==========================TOUCH DEFINE
	'sbit touch_CS=P1^5;
	'sbit touch_DCLK=P1^6;
	'sbit touch_DIN=P1^7; 
	'sbit touch_INT=P3^2; 
	'sbit touch_DOUT=P3^3; 
	'sbit touch_BUSY=P3^4;


DocZaf
 

Attachments

Last edited:

DocZaf

Member
Hello Paix,

Thank you for educating me about the H and C files.
I have only used html + vbscript before and C is so complex looking
I wasnt sure If i was on the right track.

DocZaf
 
Top