Keyboard updates
Wednesday, September 18th, 2013 11:15 amI've been spending a lot of time simply using the keyboard over the last few months - enough that the 8-way thumbswitch became quite unreliable (forward was intermittent, and it kept "hesitating" in the middle of jumps causing me to miss the next platform and die in jumping puzzles).
I decided to switch to using an analogue joystick instead (much easier to replace when it gets worn out - there's a lot more of them around), and resolve the X/Y measurements into the 8-way digital locations. After a week or so of use, I'm finding it more accurate than the old digital switch was (though I had to glue the joystick cap on first, otherwise I kept flipping it off the joystick in dungeons/tougher fights).
This pulled the directional keys out of the shift-register key matrix, effectively freeing up 8 button locations. One of those locations has now been reused as a second foot switch (because I had two), leaving me with 7 pins for future expansion. I haven't really established what keypress I'll set the second footswitch to send yet - the first one is used for push-to-talk in mumble (our guild's voice chat).
I've also done some work optimizing the data writes to the LCD using sets of consecutive pins on the C&D or B&D ports, and reordered the wiring to my teensy 3 to match the B&D option. The patches to enable that are available in the Teensy Forum thread where the UTFT library was being discussed here: http://forum.pjrc.com/threads/18002-Teensy-3-0-driving-an-SSD1289-with-utft?p=34719#post34719. I set it up so that there were options to use ports C&D (fastest as it's only 2 write cycles to set all pins in the 16-bit data bus, but interferes with SPI), B&D (uses 3 write cycles, compatible with SPI), and the old "set the pins you want to use" which uses 16 write cycles.