Dot matrix printer interface: Software (feature demo / IRC)
The printer is a new, colour Epson LQ-300+II this time. Sorry in advance - I was tired after spending the whole night coding. Here's the program I made to send Epson's ESC/P 2 commands to a compatible printer and do fancy stuff such as change effects, colour, size, and even send non-ASCII characters as graphics in the middle of ASCII text. It's still a long way from a usable text editor, though.
The program can also monitor plain-text log files and print new lines of text as they are saved. Here, it prints off live chat logs from 4 IRC channels. I optimised it a little for IRC logs, so that it can print different parts in different colours. I considered making it monitor my web server's log file, but visiting certain pages on my site can add dozens of lines at once to the log file, which would waste a whole sheet of paper in seconds.
My program uses a USB interface, which I made with an Arduino, to communicate with the printer. The Arduino passes printer status info to the laptop, such as "error" or "paper out", and forwards data from the laptop to the printer's parallel port if the printer is ready.
I'm using a different, brand-new printer this time because it turns out that the other, second-hand printer had a bad head with 2 or 3 dead pins, causing blank lines in the print-out. I actually recorded several videos on the progress of cleaning the printer and its head, and was able to fix one of the pins, but 1 or 2 never came back to life, so it'd make a bit of an anticlimactic video that I might not upload. By the way, I recorded the pins firing in slow-motion, and one was very slow while the other didn't move at all. I uploaded the video here: https://www.youtube.com/watch?v=zk3iJJ9PpDY
PREVIOUS PART - HARDWARE:
https://www.youtube.com/watch?v=PfhKc0gSNIw