Our new official repo is on github
LCD Smartie version 5.6 is released!
Download it now: https://github.com/LCD-Smartie/LCDSmartie/releases

List of $Chr() calls for all 8 custom characters?

Discuss anything to do with plugins

Moderators: _X7JAY7X_, caesar, IFR, mattcro, limbo

Post Reply
ehrnam45
Posts: 7
Joined: April 1st, 2006, 10:33 pm

List of $Chr() calls for all 8 custom characters?

Post by ehrnam45 »

I've got 176 for custom 1, and I saw custom 8 around here somewhere...

can someone post a list of all 8 $Chr() values?

Thanks!

limbo
Plugin Author
Posts: 1604
Joined: February 13th, 2005, 7:38 pm
Location: Athens - Greece
Contact:

Post by limbo »

Last edited by limbo on April 8th, 2009, 11:38 am, edited 2 times in total.

ehrnam45
Posts: 7
Joined: April 1st, 2006, 10:33 pm

Post by ehrnam45 »

to be honest, the structure of the sourceforge site is pretty confusing. the double list of links at the top seems redundant, and the list of releases on the left would be better suited with a directory tree or the like.

having to google for something in a site that should otherwise be easily accessible seems pretty silly.

thanks for the links though! :P

limbo
Plugin Author
Posts: 1604
Joined: February 13th, 2005, 7:38 pm
Location: Athens - Greece
Contact:

Post by limbo »

Maybe you're right about the site structure...
in the other hand we are trying to have the best possible support on the forum! :D

ehrnam45
Posts: 7
Joined: April 1st, 2006, 10:33 pm

Post by ehrnam45 »

hands down, this site has the best support that i've found in a long time. I think limbo has his blackberry set to notify him of all new posts! :P

perhaps just updating the beginner's guide links/documentation would help. Then again, once you get your display connected and running, almost everything becomes an advanced case-by-case solution...

well, i'll be sure to check back often and see what others need help with, perhaps more on the hardware side though ;)

thanks again for all of your help!

mattcro
Forum Supporter
Posts: 590
Joined: March 8th, 2006, 1:58 pm
Location: Scotland

Post by mattcro »

On the subject of custom chars, is there a particular reason for using a seemingly odd set of $Chr() values for the custom char "slots" in Smartie?

The Matrix Orbital modules treat characters 0-7 as the custom characters, as does the HD44780 controller itself. So Smartie is internally translating $Chr(158) to a transmitted value of 0x01 and so on. I think it's similar for the CrystalFontz modules, although they use different custom character addresses.

The values chosen seem to correspond to characters on the LCD that are unlikely to be used, but what's wrong with simply using $Chr(0), $Chr(1)...$Chr(7) for displaying custom chars? Plugins potentially treating the bytes as non-printing and omitting/modifying them? It's certainly easier to remember...

Matt.

Fast351
Developer
Posts: 233
Joined: February 17th, 2006, 3:23 pm
Location: Twin Cities, Minnesota, USA
Contact:

Post by Fast351 »

The current codebase is based on null terminated strings so that means $0 - $7 wouldn't work. The core development team is evaluating a way to change this for the next release to correct this deficiency, but nothing has been cemented in stone.

Some displays use 0 - 7, others use 128-135. We'll see what shakes out.

I think historically at least 176 was chosen because it represents the degree character in the courier font used on the display, but obviously this isn't universal to LCD displays.

The next problem comes with legacy plugin DLLs and existing user configurations. Simply changing the code for the next release isn't as simple as it seems.

-Mike

mattcro
Forum Supporter
Posts: 590
Joined: March 8th, 2006, 1:58 pm
Location: Scotland

Post by mattcro »

Thanks for the info, Mike. I see why 0-7 would be a problem... strings would be mysteriously truncated all over the place. Perhaps 1-8 would work, although it's not standard. 128-135 is probably a good choice for future releases, and it sounds as if the plugin interface might change for other reasons anyway.

My 2 LCDs (using KS0066 and KS0070 controllers) seem to have the standard HD44780 English/Japanese character set (called ROM code A00 in the Hitachi HD44780 datasheet), and this has a horizontal bar at character 176 (0xB0). The degree symbol is 223 (0xDF), so that's what I use for CPU temps etc. I guess there's a variety of character sets, depending on manufacturer.

Matt.

Post Reply