LK204-25_PC and his screen

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

Moderators: Henry, Mods

ultraspider
LCD Geek
Posts: 41
Joined: Sun Dec 02, 2001 4:00 pm
Location: belgium
Contact:

Post by ultraspider »

up

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

Post by Henry »

I just tested it... and it works!!! I swear!!!

in LCDC, under connection... send this out..

[##254] prefix
[##110] init Large Digital
[##254] prefix
[##35] place Large Digits
[##1] Column
[##5] Number, I picked the #5... and IT will WORK.. you will see I'm not crazy!
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 »

it still doesn't works henry... :sad:
(you ow me a cookie dude! :wink: )

ultraspider
LCD Geek
Posts: 41
Joined: Sun Dec 02, 2001 4:00 pm
Location: belgium
Contact:

Post by ultraspider »

sorry henry, but that doesn't work here too.

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

Post by Henry »

You are all on drugs... I swear... I should have a solutions this week... I'm testing new code here right now...
Henry J.
President
Matrix Orbital

jleach
LCD Geek
Posts: 47
Joined: Wed Jan 02, 2002 4:00 pm
Contact:

Post by jleach »

Somehow my previous posts have disappeared - and a thread i started a while back - odd...

But oh, well.

As far as the large digits go, the characters above work for me. So you're not crazy, Henry.

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

Post by Henry »

On 2002-05-16 15:21, jleach wrote:
Somehow my previous posts have disappeared - and a thread i started a while back - odd...

But oh, well.

As far as the large digits go, the characters above work for me. So you're not crazy, Henry.
I didn't delete anything, got me... and W007!!! I'm not crazy.
Henry J.
President
Matrix Orbital

jleach
LCD Geek
Posts: 47
Joined: Wed Jan 02, 2002 4:00 pm
Contact:

Post by jleach »

Okay, maybe it's me that's crazy. :smile:

Heh - not to worry, I'm still getting large digits.

I found my old posts, don't know how I missed 'em... I'd thought I'd replied in this thread a while back, but I guess I didn't.

Oh, well. Who needs sanity, anyway.
James

ultraspider
LCD Geek
Posts: 41
Joined: Sun Dec 02, 2001 4:00 pm
Location: belgium
Contact:

Re: LK204-25_PC and his screen

Post by ultraspider »

Hi there,

Sorry to unearth such an old thread (almost 15 years!) but I dusted my old LK204-25-PC in order to use it in an arduino project and I'm facing a problem with the large digit and graph bars.

(funny thing: I completely forgot about that problem and was surprised to find my username when googling about it)

Summary of the issue: even when initializing graph bars or large digit chars, the device only display full black chars.

I've done many test with initialisation commands and custom chars and never get things correctly displaying on the screen.
Here's the code I'm using and the result on the picture.

https://gist.github.com/Ultraspider/bae ... 905a12c17b

Image
image upload

I noticed something peculiar: According to the manual, memory slots used to map the user custom chars and the graph/large digit chars are the same, so only one of these option can be used at a time. (Section 5 of the manual)
In my test above, I print a large digit after setting custom chars and I was expecting to have some kind of abstract art piece made of my custom chars, but instead I have the same result that I had just after large digit initialisation, the big black chars.

My device has rev1.01 printed on the PCB and the Version Number returned by command 0xFE 0x36 is 0xFF

I guess that the device has long passed its lifetime but as some of us never sorted this issue back then, it would be greatly appreciated to have some help.

Best regards.

ultraspider
LCD Geek
Posts: 41
Joined: Sun Dec 02, 2001 4:00 pm
Location: belgium
Contact:

Re: LK204-25_PC and his screen

Post by ultraspider »

To further illustrate the issue, here is the same code ran on the LK202-25-V and the LK204-25-PC.

Image
cheap image hosting

Note that the expected behavior described in my previous post is OK with the LK202-25-V. if I call the graph bar command after setting custom chars, the bar uses the customs chars.

FYI, the code used to produce the image above:

Code: Select all

  mySerial.write(0xFE);
  mySerial.write(0x73); // init thin vertical

  for(int i =1; i<21 ; i++){
    mySerial.write(0xFE);
    mySerial.write(0x3D); // place vertical bar
    mySerial.write((uint8_t)i);
    if(i > 10)
      mySerial.write((uint8_t)21-i);
    else
      mySerial.write((uint8_t)i);
  }

Daniel Divino
Matrix Orbital
Matrix Orbital
Posts: 247
Joined: Thu Sep 24, 2015 9:38 am

Re: LK204-25_PC and his screen

Post by Daniel Divino »

Hi ultraspider,

It's cool to hear you're pulling out your now 15 year old display for a new project.

Unfortunately, the display you have is pretty old, and predates any records that we have, and therefore I can't check to see if we have a firmware fix, or if the issue ever got resolved for your display.

That said, I'll try my best to find a solution for you.

You were on the right track in your first attempt, when creating custom characters. Your statement about how custom characters are stored in the same memory slots as the graph/large digit chars was also correct. If you create and save custom characters in your Large digit bank, they will be used to create the large digits. But in your first attempt, you created the custom characters, but didn't save them, and therefore, when the large digits were initialized, your custom characters were wiped.

Could you try the following code? The following code will create, and save custom vertical bar characters in the vertical bar character bank, and then display them gradually increasing and decreasing.

Code: Select all

mySerial.write(0xFE);
mySerial.write(0xC1);//Save Custom Character
mySerial.write(0x02);//Specify Vertical bar Bank
mySerial.write(0x00);//Character 0
mySerial.write(0x31);//Following 8 bytes draw a full vertical bar
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);

mySerial.write(0xFE);
mySerial.write(0xC1);//Save Custom Character
mySerial.write(0x02);//Specify Vertical bar Bank
mySerial.write(0x01);//Character 1
mySerial.write(0x00);//Following 8 bytes draw a 1 high vertical bar
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x31);

mySerial.write(0xFE);
mySerial.write(0xC1);//Save Custom Character
mySerial.write(0x02);//Specify Vertical bar Bank
mySerial.write(0x02);//Character 2
mySerial.write(0x00);//Following 8 bytes draw a 2 high vertical bar
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x31);
mySerial.write(0x31);

mySerial.write(0xFE);
mySerial.write(0xC1);//Save Custom Character
mySerial.write(0x02);//Specify Vertical bar Bank
mySerial.write(0x03);//Character 3
mySerial.write(0x00);//Following 8 bytes draw a 3 high vertical bar
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);

mySerial.write(0xFE);
mySerial.write(0xC1);//Save Custom Character
mySerial.write(0x02);//Specify Vertical bar Bank
mySerial.write(0x04);//Character 4
mySerial.write(0x00);//Following 8 bytes draw a 4 high vertical bar
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);

mySerial.write(0xFE);
mySerial.write(0xC1);//Save Custom Character
mySerial.write(0x02);//Specify Vertical bar Bank
mySerial.write(0x05);//Character 5
mySerial.write(0x00);//Following 8 bytes draw a 5 high vertical bar
mySerial.write(0x00);
mySerial.write(0x00);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);

mySerial.write(0xFE);
mySerial.write(0xC1);//Save Custom Character
mySerial.write(0x02);//Specify Vertical bar Bank
mySerial.write(0x06);//Character 6
mySerial.write(0x00);//Following 8 bytes draw a 6 high vertical bar
mySerial.write(0x00);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);

mySerial.write(0xFE);
mySerial.write(0xC1);//Save Custom Character
mySerial.write(0x02);//Specify Vertical bar Bank
mySerial.write(0x07);//Character 7
mySerial.write(0x00);//Following 8 bytes draw a 7 high vertical bar
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);
mySerial.write(0x31);

mySerial.write(0xFE);
mySerial.write(0x73);//Initialize Narrow Vertical bars

  for(int i =1; i<21 ; i++){
    mySerial.write(0xFE);
    mySerial.write(0x3D); // place vertical bar
    mySerial.write((uint8_t)i);
    if(i > 10)
      mySerial.write((uint8_t)21-i);
    else
      mySerial.write((uint8_t)i);


Daniel Divino
Technical Support
Matrix Orbital

ultraspider
LCD Geek
Posts: 41
Joined: Sun Dec 02, 2001 4:00 pm
Location: belgium
Contact:

Re: LK204-25_PC and his screen

Post by ultraspider »

Hi Daniel,

Thanks for your reply. Unfortunately it is not working. While searching for the manual for the specific rev of the board I saw the mention of banks for custom chars but in my version there's no such feature and the FE C1 command is not listed in the manual.

(as it is not available anymore on matrix orbital's website, I found the original manual here : http://www.datasheetarchive.jp/dl/2c484 ... +6554+free)

It seems (and it is confirmed by my test on the LK202-25-V that is working correctly) that on those devices, there's only one bank for custom chars (char 0x00 to 0x07) that is replaced anytime an init command is received (graph/large digit, manual section 5.1.1, 5.1.2 & 5.1.4) or custom chars are added.

Daniel Divino
Matrix Orbital
Matrix Orbital
Posts: 247
Joined: Thu Sep 24, 2015 9:38 am

Re: LK204-25_PC and his screen

Post by Daniel Divino »

Hi ultraspider,

It looks like you're correct. The Save custom character command doesn't seem to appear in the old manual.

Also, it looks like your display is returning the wrong value when reading the version Number. Could you send the Read Module Type Command to the display, and let me know what the display returns? It's possible that the memory on the display is dead from old age :(

Also, could you provide a photo of the back to the display? The photo would be helpful in determining and physical hardware errors.

Thanks in advance!
Daniel Divino
Technical Support
Matrix Orbital

ultraspider
LCD Geek
Posts: 41
Joined: Sun Dec 02, 2001 4:00 pm
Location: belgium
Contact:

Re: LK204-25_PC and his screen

Post by ultraspider »

Hi Daniel,

The Module Type returned is 0x35 which is consistant with the manual. That's a good sign I guess.

Here's a photo of the back as requested (click the image for bigger size)
Image
image hosting

Please note that the issue with graph/large digit was present from the start as you can see in my post from 2002. Even if memory is dead now for the firmware version, that might not be related to the initial issue.
(Also I'm wondering if the PROM of the module's uC can corrupt over time at all, I'm not familiar with those so I cannot tell. It would be interesting to know.)

ultraspider
LCD Geek
Posts: 41
Joined: Sun Dec 02, 2001 4:00 pm
Location: belgium
Contact:

Re: LK204-25_PC and his screen

Post by ultraspider »

Another test.

If I set manually the custom chars to mimic the graph bar initialisation command, I can call the draw command for the vertical and horizontal graph bar successfully. I can now use graph bar as you can see in the first part of the picture below.

Unfortunately, it seems that the large digit refuse to use those custom chars set as you can see in the second part of the picture when I try to render a large digit right after the graph bar without changing the character set.

so this is what can be observed so far:
1) any of the init function put full black chars for all custom chars
2) large digit is not using the first 8 chars of the character set

Image
upload pic

Post Reply