Jacob Alexander [Sat, 19 Apr 2014 08:51:25 +0000 (01:51 -0700)]
Adding compiler change detection.
- Tried to add auto cmake reset...so far unsuccessful
- Ported MBC-55X (was used to test compilers)
- Disabled in-source builds, to prevent CMake from shooting itself in the foot.
Jacob Alexander [Sun, 13 Apr 2014 03:52:32 +0000 (20:52 -0700)]
Adding teensy-loader-cli so it's not required.
- This is a patched version to work with Teensy 3.1 (current version on the website doesn't work)
- "Should" work with OS's other than Linux, but hasn't been tested
Jacob Alexander [Sun, 6 Apr 2014 18:49:27 +0000 (11:49 -0700)]
Major code cleanup and preparation for PartialMap Macro Module
- Code should be working, but much is untested
- All of the old modules will need to update and use the new DefaultMap keymap
- There might still be some naming conflicts with some Scan Modules
Jacob Alexander [Mon, 31 Mar 2014 08:07:48 +0000 (01:07 -0700)]
Adding CLI and CDC Serial support for Teensy 2.0 and Teensy 2.0++
- Includes serial putchar and getchar cleanup (overall)
- Moved avr-capsense to DPH (renaming)
- Basic cleanup for including CLI on the avr architecture
Jacob Alexander [Tue, 4 Feb 2014 08:27:33 +0000 (00:27 -0800)]
Force curve gauge is feature complete!!
- Fixed no argument default (would skip the null in some cli commands)
- Added free running force/distance measure
- Most of the help information
- Zeroing force and distance
- Start/End marker setting
Jacob Alexander [Thu, 23 Jan 2014 10:36:00 +0000 (02:36 -0800)]
Added more CLI commands.
- Hex debug for debugging VT100 control characters from the keyboard
- Renamed reset to restart (software reset)
- Added reset command (same as bash reset, which resets the VT100 variables)
- Cleaned up the version module field
Jacob Alexander [Thu, 23 Jan 2014 10:01:12 +0000 (02:01 -0800)]
Added more CLI commands.
- reset -> Simulates power cycle (Not yet compatible with AVR)
- reload -> Sets the device into firmware reload mode
- led -> Toggles the error LED
- version -> Displays detailed version information (additions to CMake files was necessary, might have broken Windows builds...)
Jacob Alexander [Mon, 2 Dec 2013 04:07:38 +0000 (23:07 -0500)]
Added the averaged initial average as well as problem key rejection
- Any keys that exceed the high average are temporarily disabled
- If the sense value goes below the initial average sense, it is re-enabled
- Even works if *many* keys are pressed initially
- Still needs a bit of detection of consistent high keys that sometimes sneak below the threshold
(May be able to have an elastic threshold that could deal with this)
Jacob Alexander [Tue, 19 Nov 2013 08:18:44 +0000 (03:18 -0500)]
Adding debounce and reorganized code
- Added debounce mechanism, currently looks for 5 consecutive scans
- Temporarily disabled the test point strobe on the kishsaver (spams debug messages, and not useful anymore; needs to be addressed before strobe detection is implemented though)
- Reorganized code to cleanup the main scan loop function
Jacob Alexander [Mon, 18 Nov 2013 07:46:48 +0000 (02:46 -0500)]
Adding strobe mapper and code cleanup
- Basic strobe mapper added (only kishsaver for now)
- Removed more (less obvious) dead code
- Moved keypress detection closer to detection
- Added more informative keypress debug messages
Jacob Alexander [Mon, 18 Nov 2013 00:17:54 +0000 (19:17 -0500)]
Removed a keyscan layer and added more debug information
- Added a print macro for colourful convenience
- Removed the usb_keymap variable as it is no longer needed
- Changed usb_dirty to keymap_change (more accurate description)
- Removed the dumpkeys function and now detect key changes much sooner as well as displaying error messages more often
- Added a warming up information message and removed its error status (as it's not an error)
Jacob Alexander [Sun, 14 Apr 2013 02:35:59 +0000 (22:35 -0400)]
Adapting the avr-capsense code to the Kiibohd Controller API
- Adding "template" keymap
- Removed "stray" functions, variables
- Cleaned up warnings
- Now builds
- Added buffered macro integration (rather than dealing with USB directly)
- Updated the print messages to use the Kiibohd print header
TODO
- Add generic matrix integration (this will require some changes to the matrix code)
- Add more comments...lots more
- Clean up dead code
Jacob Alexander [Sat, 2 Feb 2013 01:02:55 +0000 (20:02 -0500)]
CMake generated strings that configure the USB info section
- Defined Manufacturer name
- Product name now references each of the selected modules
- Serial number refers to the last commit date, branch, and whether modified since the last commit
Jacob Alexander [Fri, 1 Feb 2013 21:49:32 +0000 (16:49 -0500)]
MBC-55x support virtually complete.
- I won't do any more, as I can't make the converter fully functional on a modern computer
- Basic typing support is working
- Some of the function modes move around the ASCII values, and this takes a while to decipher and figure out the pattern; it's not hard to do, and I don't really feel like doing it
- The hard part is already done :P
Jacob Alexander [Wed, 30 Jan 2013 23:13:49 +0000 (18:13 -0500)]
Adding module compatibility check to CMake build scripts.
- All modules have a default avr compatibilty right now (since that is what they were developed on)
- As modules get tested and added, arm support has to be turned on in the respective setup.cmake file
Jacob Alexander [Sun, 27 Jan 2013 06:47:52 +0000 (01:47 -0500)]
Adding initial Teensy 3 support, compiles, but not fully functional yet.
- CDC Output seems to be working
- USB Keyboard output has not been tested, but is "ready"
- UART and Timers have not been tested, or fully utilized
- Issues using Timer 0
- Initial template for MBC-55X Scan module (only module currently compatible with the arm build)
- Updated the interface to the AVR usb module for symmetry with the ARM usb module
- Much gutting was done to the Teensy 3 usb keyboard module, though not in an ideal state yet
Jacob Alexander [Sat, 26 Jan 2013 20:05:28 +0000 (15:05 -0500)]
Preparing for Teensy 3 (ARM) integration, abstracting code hierarchy
- Abstracted USB Module
- Abstracted compiler specific includes for Scan, Macro, Debug, and USB modules
- Updated CMake build files to support changes
- Added abstractions necessary to main.c as well as a compiler specific include file
Jacob Alexander [Mon, 21 Jan 2013 03:23:28 +0000 (22:23 -0500)]
Fixing slow key issues with the FACOM converter
- Required some small API changes, shouldn't affect any other Scan modules (addition of a parameter)
- Still have the latching annoyances for some of the modifiers
- Swapped Esc and Tilde for convenience
- Removed the old Esc key from the latch list (no one needs 13 latches anyways...)
- Added the control cluster mappings (Insert, Delete, Home, End, PgUp, PgDn)
- All other misc keys are currently un-assigned if a keycap legend doesn't map to anything known
(e.g. blank keys, 000 and 00 are mapped, but your OS probably doesn't know what they mean :P)
Jacob Alexander [Mon, 21 Jan 2013 01:27:14 +0000 (20:27 -0500)]
Completed the FACOM 6684 converter...
Unfortunately, the protocol annoying, with only 3 keys having Press/Release signals.
Some of the keys were only meant to be pressed once, and do not have repeat functionality.
The current implementation is a bit slow, so some keys may get lost during USB sending.
This is probably fixable, not sure if I want to spend the time on it though.
There is a keyboard input protocol, but I'm not sure of what information can be transmitted to the keyboard.
The terminal does send some information back and forth between the keyboard, but I'm unclear of the purpose, as I can never get any response out of the keyboard.
Jacob Alexander [Mon, 19 Nov 2012 08:55:30 +0000 (00:55 -0800)]
Adding more robust detection for the HP150
- All spare cycles are used to get a more accurate data line sample (waaaay more than actually needed, but this helps against noise)
- Switched to a pre/release (add/remove) rather than an add->clear mechanism (or a buffer+debounce/add->clear)
- Note that a pull-down resistor is NEEDED on the data line