LCD Smartie Development

LK/ELK/VK/PK/OK/MX/GLK/EGLK/GVK/GLT Series

Moderators: Henry, Mods

Henry
OMNIPRESENT
OMNIPRESENT
Posts: 3014
Joined: Tue Aug 14, 2001 6:00 pm
Contact:

Post by Henry »

Here is the discusion for the port of LCD Samrtie for MO displays!!!

Post any suggestions or bugs here.

Author: BasieP


_________________
Henry J.
Technical Support
Matrix Orbital

<font size=-1>[ This Message was edited by: Henry on 2001-12-04 11:53 ]</font>

BasieP
LCD Smartie
LCD Smartie
Posts: 61
Joined: Mon Dec 03, 2001 4:00 pm
Location: Holland
Contact:

Post by BasieP »

Okay i am now making a serial driver for LCD smartie, just begon, and for so far the only trouble i had was with Delphi 5, and the component for the serial port..
the damn thing doesn't like to be installed somehow.. :sad:

relix
Uber Slave
Uber Slave
Posts: 222
Joined: Wed Nov 14, 2001 4:00 pm
Location: Knokke, Belgium
Contact:

Post by relix »

lol, so it was you that asked for the component!

well, for all the other who don't know what component to use: I use the TVaComm of varian software (http://www.varian-software.com).

BasieP
LCD Smartie
LCD Smartie
Posts: 61
Joined: Mon Dec 03, 2001 4:00 pm
Location: Holland
Contact:

Post by BasieP »

no i think henry asked you, i got it from him..
But it works now
:wink:

BasieP
LCD Smartie
LCD Smartie
Posts: 61
Joined: Mon Dec 03, 2001 4:00 pm
Location: Holland
Contact:

Post by BasieP »

relix, u use that component as well u said.
How do you chose ur comport?

relix
Uber Slave
Uber Slave
Posts: 222
Joined: Wed Nov 14, 2001 4:00 pm
Location: Knokke, Belgium
Contact:

Post by relix »

lol
took me a long time to find that one too!
the property is "NumPort" and it is published :razz:
edit: here's some sourcecode (didn't tested it though):

Code: Select all

procedure ChooseComPort(const comport: byte); [i]//comport = number of the port[/i]
begin
 VaComm1.Close; [i]//dunno if it's necessary, but I do it this way[/i]
 VaComm1.NumPort := comport; [i]//change comport[/i]
 VaComm1.Open, [i]//again, don't know if it's necessary, but it [b]is[/b] when you closed it first (duh)[/i]

end;


<font size=-1>[ This Message was edited by: relix on 2001-12-04 13:09 ]</font>

Henry
OMNIPRESENT
OMNIPRESENT
Posts: 3014
Joined: Tue Aug 14, 2001 6:00 pm
Contact:

Post by Henry »

And there was life :smile:
Henry J.
President
Matrix Orbital

relix
Uber Slave
Uber Slave
Posts: 222
Joined: Wed Nov 14, 2001 4:00 pm
Location: Knokke, Belgium
Contact:

Post by relix »

he, je bent van nederland! veel nederlands-sprekenden hier :razz:

BasieP
LCD Smartie
LCD Smartie
Posts: 61
Joined: Mon Dec 03, 2001 4:00 pm
Location: Holland
Contact:

Post by BasieP »

got it

<font size=-1>[ This Message was edited by: BasieP on 2001-12-04 13:21 ]</font>

relix
Uber Slave
Uber Slave
Posts: 222
Joined: Wed Nov 14, 2001 4:00 pm
Location: Knokke, Belgium
Contact:

Post by relix »

alright, that's easier then you think ('k spreek engels omdat dan andere mensen er ook nut van kunnen hebben :razz: ), just use WriteText:

Code: Select all

procedure SetBacklight(SetOn: boolean; Minutes: byte = 0);
begin
 if SetOn then
  VaComm1.WriteText(Chr(CMD_PREFIX) + Chr() + Chr(Minutes))
 else
  VaComm1.WriteText(Chr(CMD_PREFIX) + Chr());

end;
with

const
CMD_PREFIX = $FE;

heb je het? dus gewoon WriteText, en dan met Chr(integer)

BasieP
LCD Smartie
LCD Smartie
Posts: 61
Joined: Mon Dec 03, 2001 4:00 pm
Location: Holland
Contact:

Post by BasieP »

driver is done :wink:

Henry
OMNIPRESENT
OMNIPRESENT
Posts: 3014
Joined: Tue Aug 14, 2001 6:00 pm
Contact:

Post by Henry »

and you are not posting a link because????

:grin:
Henry J.
President
Matrix Orbital

BasieP
LCD Smartie
LCD Smartie
Posts: 61
Joined: Mon Dec 03, 2001 4:00 pm
Location: Holland
Contact:

Post by BasieP »

:?
sorry because of what should i post a link to what?

i have some problems building the driver into LCD Smartie...

When i run smartie for a short while with that driver, i get the message 'Buffer is full! Check Your Comport.'
Is it so that that component only sends when there is a device on the comport?
or am i sending the data to fast, so that the comport can't handle the speed?


Ow, and i also need to know how i set my cursor on a specific place.
I mean that i have to write the 3rd line.
And does the first char begins on place 1, or place 0 in the line?

<font size=-1>[ This Message was edited by: BasieP on 2001-12-05 01:57 ]</font>

relix
Uber Slave
Uber Slave
Posts: 222
Joined: Wed Nov 14, 2001 4:00 pm
Location: Knokke, Belgium
Contact:

Post by relix »

Dunno about that buffer stuff, never had it before, and I can't check it yet because I don't have an lcd yet.

About the change-pos stuff, this is the function I use:
(again CMD_PREFIX = $FE)

Code: Select all

procedure SetPos(const Column,Row: byte);
begin
 VaComm1.WriteText(Chr(CMD_PREFIX) + 'G' + Chr(Column) + Chr(Row));

end;
and in the manuals there is this:

Go To Position
ASCII 'G', Hex 47, Decimal 71
Syntax 0xFE 0x47<column number><row number>
To set the current cursor position, send a command prefix followed by the character 'G' and two values defining the column and row of the desired cursor position. Example:

<command prefix> 0xFE
<command> 0x47
<column number> 0x01 to 0x14 for a twenty column display
<row number> 0x01 to 0x04 for a four line display


hope this solves your problem

rl.

edit: the $47 doens't appear in the code block, replaced it by G

<font size=-1>[ This Message was edited by: relix on 2001-12-05 04:56 ]</font>

BasieP
LCD Smartie
LCD Smartie
Posts: 61
Joined: Mon Dec 03, 2001 4:00 pm
Location: Holland
Contact:

Post by BasieP »

yes thanx

procedure SetPos(const Column,Row: integer);
begin
VaComm1.WriteText(Chr($0FE) + 'G' + '$' + IntToHex(StrToInt(Column),3) + '$' + IntToHex(StrToInt(Row),3));
end;


that's a rebuild of ur procedure
i hope it's working, because i can't test it.. No LCD :sad:

btw: the UBB code is krunking up my code

cool!
i found a big bad bug in UBB!
it has trouble with the '$'!


<font size=-1>[ This Message was edited by: BasieP on 2001-12-05 08:00 ]</font>

Post Reply