3 ms·
Can someone explain this for us mere mortals?
by notwedtm 5y ago
Can someone explain this for us mere mortals?
- smiley1437 5y agoI think with this project you can control the display at the pixel level instead of the character level, like this link in the article: https://m.youtube.com/watch?v=nxFad7Rxw7Q https://m.youtube.com/watch?v=nxFad7Rxw7Q However that demo is quite old (2013?) so I could be misunderstanding something
- marcan_42 5y agoThat demo does not use any of the techniques described in this article. Everything in that demo is done using character mode, the standard charset, and the 8 customizable characters. If you look closely you'll see there are never more than 8 or so distinct nonstandard character glyphs on screen.
- st_goliath 5y agoLong ago, many devices that needed simple text output, like super market checkout registers, had simple LCD modules in them with e.g. 2 rows with 16 characters each. Those modules are just bricks with a display on them that you can control using a parallel interface. Because of their simplicity, they are/were also very popular with micro controller hobbyists long before Arduino was a thing. The HD44780 (and clones) are very widely used controllers on those modules. They can be connected in 4 bit or 8 bit parallel mode, you can send over characters that it should display (using a built in raster font) or some special command sequences for e.g. clear the display, set the cursor position, ... kind of like a very simple terminal. The displays with 4 rows instead of 2 typically just had 2 of those controllers in them that you needed to interface to. One for the bottom 2 rows and one for the top. Some variants of the controller clones can load a custom font lookup table. By breaking a graphical image up into blocks and loading those into the font lookup table, you can use the device as a very hacky graphics display. Alternatively, if you rely on semi-documented internals and get the timing just right, you can swap out the data while it is drawing a character and splice your graphics together that way using the built in font. This will also get you a more decent refresh rate. Both variants are discussed here.
- marcan_42 5y agoAll variants support 8 custom characters at least. I don't know if some nonstandard clones can do more. The 4x20 displays do not use two controllers. They are just a single controller configured for 2x40 mode, except the display is laid out differently. Logically, the rows are ordered 0, 2, 1, 3 on those, for this reason, and horizontal scroll is funny.
- st_goliath 5y agoInteresting! I'm sorry if I'm a bit hazy on the details, but I was around 12 when I fiddled around with this stuff. Back then, I saved up some cash and bought a mail order AVR board with some LEDs, sensors on it plus an expansion board with an IIRC 2*16 LCD module on it and spent the summer copying assembly listings from ELV journal and some tutorial websites. I played around with a custom character set but never did anything as fancy as this. Although I did know that modules with 4 rows exist, those where pretty much Unobtanium for me at the time and I jumped at every forum thread that mentioned them, trying to find out how I could get my hands on one. IIRC I once saw a post on a German phpBB Forum (roboternetz.de? mosfetkiller.de?) with grainy pictures where somebody had such a module and couldn't get it to work. Someone else responded that those controllers only supports 2 rows with 20 characters maximum and modules with more characters or rows simply have 2 on them ("see, there are 2 black blobs on the rear..."). I remembered that from there. From my experience, I guess they won't be very happy if I dig up the ~20 year old thread and post a response now :-).