PDA

View Full Version : Parallel LCD problems



anders
July 16th, 2004, 01:46 AM
I've just installed a paralell LCD panel (HD44780 based) for use with Girder.

The LCD panel works great with other applications (e.g. CrystalFontz CrystalControl and a Winamp plugin) but it fails completely with Girder using the LCD plugin. I only see a blank panel or som random garbage.

Looking in the registry I see that the ParallelStrobeDelay, ParallelCommandDelay and ParallelExtraDelay parameters are all set to 0.

Setting them to "1" solved the problem and the LCD now works correctly.

The LCD plugin documentation states that the "delay interval" could also be specified as fractions of a second. I've tried setting the parameters to "0.01", but this does not work. On my machine the the plugin only works with integers.

My Windows (XP) regional settings has a default "decimal point" setting of "," (comma) not "." (dot), maybe that could have something to do with this problem?

Anders

anders
July 16th, 2004, 03:39 AM
Just a follow up to my previous message.


My Windows (XP) regional settings has a default "decimal point" setting of "," (comma) not "." (dot), maybe that could have something to do with this problem?


That was indeed the problem. Setting the "decimal point" to "." (dot) made the correct defaults appear in the registry.

Setting the "decimal point" to something other than "." (dot) breaks the LCD plugin. It does neither recognize values with the correct (as per the regional settings) "decimal point" nor values with a "." (dot) as "decimal point".

Any hope of getting this fixed?

Anders

Promixis
July 16th, 2004, 05:11 AM
Interesting problem...

The LCD Driver is written by MMcM. Maybe he will have some ideas.

MMcM
July 28th, 2004, 10:18 AM
Since this is in the registry for the program and not for end-users, it should use the "C" machine-readable parsing locale. Since that is the default locale for the C runtime, it must be that something else in Girder or Delphi is doing setlocale to the "" locale (the control panel settings).

I have not been able to reproduce this, though. If I change the regional settings to one with , as the human-readable decimal point, the LCD delays still read and write with . as they should.

If you enter "1.0" and then go into LCD Settings and choose OK, does it fail to parse and write back "0.0"?
If you enter "1" and do the same, does it write back as "0.001" or "0,001"?