Jacob Alexander [Fri, 25 Jul 2014 17:53:33 +0000 (10:53 -0700)]
Added capSelect function that can arbitrary run a keyboard capability
- Made changes to the capabities/macro data structure to specify the capability arg count in the capability list
- Remove the arg count from the result macro struct (as it is redundant)
Jacob Alexander [Fri, 25 Jul 2014 06:18:38 +0000 (23:18 -0700)]
Added capabilities list debug option
- Changed macro/capabilities data structure to index capabilities rather than specify function pointers
- Used an 8 bit array, this reduced the max number of capabities to 255
* Shouldn't be an issue, but this can be addressed if the limit is hit...unlikely though
Jacob Alexander [Fri, 25 Jul 2014 05:22:35 +0000 (22:22 -0700)]
Basic debug trigger/result macro viewer
- Moderate changes to the trigger and result macro data structures
- The debug macro viewers are nearly equivalent to what the main macro processors will do
Jacob Alexander [Tue, 1 Jul 2014 06:52:24 +0000 (23:52 -0700)]
McHCK now working with UART.
- Lots of code cleanup for the intialization of all arm chips
- Added more gcc flags to help with debugging linker and memory map
- Fixed UART initialization for the smaller MCHCK mk20dx128 (different pin mux)
Jacob Alexander [Sat, 28 Jun 2014 21:12:56 +0000 (14:12 -0700)]
Fixed bug with standalone UART CLI
- Sending characters to the UART before it's ready would overflow the buffer causing it to hang
- Added a check to make sure the interface is ready before starting to send characters
- Removed the incorrect check for the usbMuxUart to make sure usb is ready before sending over the uart
Jacob Alexander [Tue, 27 May 2014 05:46:03 +0000 (22:46 -0700)]
Adding updated information on Windows Builds.
- Windows builds and loading has been working just fine
- screen does work with Cygwin, but there are output problems (echoing isn't working for basic input, commands still work)
- TeraTerm works good, but kills the serial port if you don't quit after reloading the firmware
Jacob Alexander [Fri, 25 Apr 2014 09:35:49 +0000 (02:35 -0700)]
Enabling USB keycodes.
- There are some bugs here:
* Press/Release (this is a keymapping bug, has nothing to do with capsense press/release which is working)
* Some keys give incorrect USB codes
Jacob Alexander [Fri, 25 Apr 2014 09:06:40 +0000 (02:06 -0700)]
Fixed repeated press/release of a single key bug.
Caveat: The problem is still there. When the averaging kicks in, there is a window of time where keypresses won't register
This fix only delays the window a *really* long time, so the likelihood of hitting the delay is very low.
Each keypress resets the countdown.
Jacob Alexander [Fri, 25 Apr 2014 08:08:15 +0000 (01:08 -0700)]
Adding strobe detection.
- This requires that no strobes are floating.
On Rev. 0.4, pins D1 and D0 of the teensy must be manually connected to GND
On Rev. 0.2, when not using the 18 pin connector, pin C6 and C7 must be manually connected to GND
- Added a problem keys cli command, this is very useful to see which keys were disabled at startup because they looked like test points
(the fastest way to get the keys to re-enable is to take off a keycap and jiggle the spring)
Jacob Alexander [Sun, 20 Apr 2014 08:08:02 +0000 (01:08 -0700)]
Press/Release is working!
- Removed 'Zombie' code
- Still a bit of iffiness with the averaging algorithm (should be looked at again)
- Added more CLI debugging (averaging and press/debounce)
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