As you should be. Plain old "char" *is* either signed or unsigned
depending on your choice of compiler. And in effort to build code that
runs as expected better compilers have a compile time switch to control
code generation when the signedness is specifically indicated.
Ok, that's one of the reasons that I'm using the new types, but I still don't understand why I'm getting the signage warning when I use uint8_t or int8_t to feed chars to lcd_puts.
Is int8_t not signed?
And why does lcd_puts want signed chars anyway?
Isn't "negative A" nonsense?