GLK19264 problem requiring lower left button each power-on

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

Moderators: Henry, Mods

Post Reply
mthornton
LCD?
Posts: 2
Joined: Sat Nov 28, 2009 12:20 pm
Location: Canal Flats BC

GLK19264 problem requiring lower left button each power-on

Post by mthornton »

I have a GLK19264-7T-1U that has developed a problem. In order for the display to work from any application, (including MogdSharp) I have to hold down the lower-left button with each power-on. This is obviously no good.

I have been, and want to continue, to work with all registers factory default, at 19,200 baud. It seems I have inadvertently corrupted some registers.

How can I restore ALL registers to factory default, so I do NOT have to press the lower left button with each power-on.

MitchT

Briani
Matrix Orbital
Matrix Orbital
Posts: 24
Joined: Fri Oct 10, 2008 9:56 pm
Location: Matrix Orbital

Post by Briani »

Hi Mitch,

The Manual Override function temporarily restores the GLK to factory defaults, it isn't a permanent fix. As soon as the GLK is restarted, the stored settings take over again.

What you need to do, is start your GLK in Manual Override mode, then enable the remember function, and rewrite, all the baud rate setting. Once you have re-programmed all the required settings, disable the remember fucntion and restart your GLK. You should be back in business.

Here is a link to the manual:
http://www.matrixorbital.ca/manuals/GLK ... -7T-1U.pdf

Check out sections:
2.5 Manual Override
4.5 Changing the Baud Rate
13.2 Set Remember

Good Luck

mthornton
LCD?
Posts: 2
Joined: Sat Nov 28, 2009 12:20 pm
Location: Canal Flats BC

Post by mthornton »

Briani wrote:Hi Mitch,

The Manual Override function temporarily restores the GLK to factory defaults, it isn't a permanent fix. As soon as the GLK is restarted, the stored settings take over again.

What you need to do, is start your GLK in Manual Override mode, then enable the remember function, and rewrite, all the baud rate setting. Once you have re-programmed all the required settings, disable the remember fucntion and restart your GLK. You should be back in business.

Here is a link to the manual:
http://www.matrixorbital.ca/manuals/GLK ... -7T-1U.pdf

Check out sections:
2.5 Manual Override
4.5 Changing the Baud Rate
13.2 Set Remember

Good Luck
Thanks Briani
The below code is now part of my glk.h file, and I now call this from my application each time I press the GLKs escape button (upper-left). No more problems since.
M

#define Ctrl 0xFE
void GLK_Initialize(void)
{
char level=0x08; //baud rate locked
Delay10KTCYx(230);
printf("%c%c%c",Ctrl,0x42,0x10); //display ON
printf("%c%c%c",Ctrl,0x39,0x67); //19200 baud
printf("%c%c%c%",Ctrl,0x93,1); //remember
//printf("%c%c%c%c%c",Ctrl,0xCB,0xF5,0xA0,level); //lock baud rate
}

Briani
Matrix Orbital
Matrix Orbital
Posts: 24
Joined: Fri Oct 10, 2008 9:56 pm
Location: Matrix Orbital

Post by Briani »

Hi Mitch,

Glad you got your GLK working. I do have 1 minor concern regarding your initialization code. The way you're using the remember function isn't quite right and depending on the rest of your code, could be setting you up for a premature failure of the configuration EEPROM.

The Remember function, when enabled, writes to the configuration eeprom every time a communication or function setting is changed. Its purpose is to allow for the permanent reconfiguration of the unit. The way it's used is you set the remember function, then set all you communications settings, then disable the remember function. In theory it's something that you should only have to use once in you GLK's lifetime. The best way I have found to think about it, is as a "Set and Forget" function.

The way you are using, it actually isn't changing anything. You need to enable it before you change your settings, and then disable it after you have changed the setting. At this point, your GLK will be locked into those settings.

Also, you are leaving the GLK in remember mode, this means that if at any point in your codes flow you are changing any of the remembered functions, you will be writing that change to the EEPOM. EEPROM have a very finite number of writes (usually in the 100ks) and when a EEPROM cell finally burns out, it becomes undefined, which will result in a general failure of the function that that cell happens to have the configuration bit for.

I would suggest you write a simple program that enables the remember mode, sets all your configurations, then disables the remember function. This program is one that you should only have to run once. Then in your main program, you should be able to ignore any configuration issues, and just get on with your application. By setting your configuration in this manor, you should get years of reliable service from your GLK.

Here is just a quick hack of your code to demonstrate what I mean:

#define Ctrl 0xFE
void GLK_Initialize(void) // Should only be called once in the GLK's lifetime
{
char level=0x08; //baud rate locked
Delay10KTCYx(230);
printf("%c%c%c",Ctrl,0x42,0x10); //display ON

printf("%c%c%c%",Ctrl,0x93,1); //remember enabled

printf("%c%c%c",Ctrl,0x39,0x67); //set your baud

printf("%c%c%c%",Ctrl,0x93,0); //remember disabled

}

Good luck, and enjoy your GLK.

Post Reply