Jacob Alexander [Thu, 2 Oct 2014 06:54:08 +0000 (23:54 -0700)]
Setting max packet size (Interrupt) to 64 bytes
- 128 bytes is invalid for USB 2.0 Full-Speed (max 64 bytes)
Jacob Alexander [Thu, 2 Oct 2014 06:44:12 +0000 (23:44 -0700)]
Adding NKRO and Boot mode capabilities.
- When changing the mode, a key buffer flush is required (might confuse the OS temporarily)
Jacob Alexander [Wed, 1 Oct 2014 07:16:14 +0000 (00:16 -0700)]
Fixing NKRO for Windows.
Jacob Alexander [Mon, 29 Sep 2014 00:24:52 +0000 (17:24 -0700)]
USB NKRO working for ARM!
- Setting NKRO mode as default (up to bios to disable)
Jacob Alexander [Sun, 28 Sep 2014 23:44:57 +0000 (16:44 -0700)]
More preparation for NKRO USB for arm
- Added NKRO descriptor
- Added NKRO HID descriptor
- Updated boot HID descriptor
- Fixed many bugs with the pjrc ARM usb stack (with USB HID)
Jacob Alexander [Sun, 28 Sep 2014 23:43:40 +0000 (16:43 -0700)]
Adding clear screen before usb initializes
- Easier to debug USB initialization
Jacob Alexander [Sun, 28 Sep 2014 23:42:43 +0000 (16:42 -0700)]
Fixing descriptor bugs
- Missing device qualifier descriptor
- Missing USB Debug descriptor (used by lsusb)
Jacob Alexander [Sun, 28 Sep 2014 17:56:32 +0000 (10:56 -0700)]
Merging fixes from pjrcUSB
Jacob Alexander [Sun, 28 Sep 2014 17:56:01 +0000 (10:56 -0700)]
Updating usbMuxUart for NKRO
Jacob Alexander [Sat, 27 Sep 2014 20:20:09 +0000 (13:20 -0700)]
Fixing uartOut for ARM
- Added fake capability for compilation
Jacob Alexander [Tue, 23 Sep 2014 18:42:40 +0000 (11:42 -0700)]
Cleanup
- Changing main device type to HID (0x03)
Jacob Alexander [Sun, 21 Sep 2014 23:29:53 +0000 (16:29 -0700)]
Preparing ARM for USB NKRO
- API changes from the AVR NKRO support
Jacob Alexander [Sun, 21 Sep 2014 18:55:37 +0000 (11:55 -0700)]
Adding NKRO support to AVR/DPH.
- NKRO for USB Codes 4 to 164, 176 to 221 and modifiers
- Added System Control support codes 129 to 183
- Added Consumer Control support codes 32 to 668
Jacob Alexander [Sun, 21 Sep 2014 06:09:58 +0000 (23:09 -0700)]
Updating USB HID header file.
- Should be everything necessary for the next while
- Adds Consumer and System controls
Jacob Alexander [Sat, 20 Sep 2014 07:19:28 +0000 (00:19 -0700)]
Adding a selection of USB Consumer HID codes
Jacob Alexander [Sat, 20 Sep 2014 03:48:31 +0000 (20:48 -0700)]
Putting prescalar settings back in for AVR.
- Needs to be at 16 MHz for proper function
Jacob Alexander [Sat, 20 Sep 2014 02:33:20 +0000 (19:33 -0700)]
Removing USB timer, no longer necessary.
Jacob Alexander [Sat, 20 Sep 2014 02:11:37 +0000 (19:11 -0700)]
Fixing USB send rate.
- Only send USB events when something changes (rather than every ms)
Jacob Alexander [Wed, 17 Sep 2014 06:29:21 +0000 (23:29 -0700)]
Adding more RAM optimizations
- Split up TriggerMacro and ResultMacro to help the compiler optimize better
- Static RAM usage did not decrease, total flash usage did
Jacob Alexander [Wed, 17 Sep 2014 05:14:01 +0000 (22:14 -0700)]
DPH controller now working with the kishsaver and macros
- Earlier RAM optimizations uncovered a bunch of layer/macro bugs
Jacob Alexander [Wed, 17 Sep 2014 00:21:41 +0000 (17:21 -0700)]
Fixing first and last element bug for layers.
Jacob Alexander [Wed, 17 Sep 2014 00:04:59 +0000 (17:04 -0700)]
Adding support for layer packing
- Only keep state for the scan code that are available for the layer
- Also properly implemented scan code range checking (was not done before, only worked because the KLL compiler was well behaved)
Jacob Alexander [Tue, 16 Sep 2014 22:37:16 +0000 (15:37 -0700)]
More fixes to the DPH scan module.
- Typing now works on the kishsaver (including modifiers)
- Still some issues with RAM usage when using more than the default layer
Jacob Alexander [Tue, 16 Sep 2014 18:42:24 +0000 (11:42 -0700)]
DPH controller now working with macros/layers
- Still working on USB NKRO
Jacob Alexander [Tue, 16 Sep 2014 03:19:40 +0000 (20:19 -0700)]
Added initial Bootloader, Mac OSX, Windows instructions
Instructions:
- Windows virtual serial port
- Mac OSX virtual serial port
- Mac OSX firmware loading instructions
- Initial Mac OSX building instructions
- Initial Bootloader make and installation instructions for Linux
Jacob Alexander [Tue, 16 Sep 2014 01:45:01 +0000 (18:45 -0700)]
Updating README for Windows.
- Updated Windows build instructions
- Added some notes on all the types of builds.
- Updated dependency lists
Jacob Alexander [Mon, 15 Sep 2014 03:07:40 +0000 (20:07 -0700)]
Fixing Mac OSX arm build options.
- Bootloader doesn't build correctly on gcc 4.7.3 (LTO issues)
- Even disabling isn't good enough
- 4.9.1 is known to work on Arch Linux
Jacob Alexander [Mon, 15 Sep 2014 02:27:22 +0000 (19:27 -0700)]
Adding support to Macro support to DPH
- Added layout files for 50 key and kishsaver
- Not yet working (some USB issues on AVR to debug)
- Fixed an OSX issue when building AVR
- Cleanup
Jacob Alexander [Sun, 14 Sep 2014 23:22:27 +0000 (16:22 -0700)]
Adding convenience loader scripts for DFU based microcontrollers
Jacob Alexander [Sun, 14 Sep 2014 23:03:10 +0000 (16:03 -0700)]
Adding git refresh command to kll.cmake and kll file listing to build process
Jacob Alexander [Sun, 14 Sep 2014 22:51:36 +0000 (15:51 -0700)]
Adding CMake build support for the KLL compiler
- Automatically downloads the kll compiler if not found
- Added capability files to each of the module that currently have them
- Split modules.cmake so kll.cmake could influence build targets (also needs info from modules.cmake)
- Updated .gitignore for kll compiler directory
- Added documentation on how to manipulate layouts using CMakeLists.txt
- Cleanup of old layout files
Jacob Alexander [Thu, 11 Sep 2014 18:17:17 +0000 (11:17 -0700)]
Updating PartialLayer code to support varying counter widths.
- For both uC architecture differences and RAM saving
Jacob Alexander [Thu, 11 Sep 2014 17:57:58 +0000 (10:57 -0700)]
Merge branch 'test'
Jacob Alexander [Thu, 11 Sep 2014 17:57:30 +0000 (10:57 -0700)]
Updating DPH to compile with PartialLayer module
Jacob Alexander [Thu, 11 Sep 2014 17:54:50 +0000 (10:54 -0700)]
Adding variable width state variable width.
- Allows for RAM space savings on small microcontrollers at the expense of macro length and number of macros/key assignments
Jacob Alexander [Thu, 11 Sep 2014 03:53:30 +0000 (20:53 -0700)]
Fixing release state for keys
- Layers were not disabling because function was only called on press/hold
- Disabled layer shift function on key hold
- Fixed the press/hold/release states for other layer capabilities and USB code send
Jacob Alexander [Mon, 8 Sep 2014 04:10:49 +0000 (21:10 -0700)]
Preparing for kll compiler usage
- Split layer capability into different parts
- Convenience Shift, Latch, Lock
- Keeping the original capability because it also allows specifically turning layers off and is useful for debugging
Jacob Alexander [Sat, 23 Aug 2014 18:32:46 +0000 (11:32 -0700)]
Splitting out structures and macros from the generated keymap.
- Preparation to integrating the compiler
Jacob Alexander [Sat, 23 Aug 2014 17:49:13 +0000 (10:49 -0700)]
All basic macros tested and working!
Tested
------
Single : Single
Single : Combo
Single : Sequence
Combo : Single
Combo : Combo
Combo : Sequence
Sequence : Single
Sequence : Combo
Sequence : Sequence
Jacob Alexander [Wed, 20 Aug 2014 17:53:22 +0000 (10:53 -0700)]
Basic Trigger and Result Macros are now working.
- More complex macro not yet tested (long Trigger to long Result)
- Long Trigger Macros not tested yet
Jacob Alexander [Sat, 16 Aug 2014 19:07:25 +0000 (12:07 -0700)]
Changing decToInt to numToInt (adds support for Hex number interpreter)
- CLI now works with hex or decimal numbers
- Hex requires 0x (technically just x would work too)
Jacob Alexander [Fri, 15 Aug 2014 18:27:16 +0000 (11:27 -0700)]
Updating udev rules to reflect the USB ID changes.
- Fixed USB Vendor name as well
Jacob Alexander [Fri, 15 Aug 2014 17:53:43 +0000 (10:53 -0700)]
Adding McHCK DFU Bootloader
- Heavily modified, not compatible with McHCK images
- Uses 4k of Flash (rather than 3k)
- LED turns on when in firmware flash mode
- Changed the USB IDs
- Added CMake build system
- Updated linker script to be closer to what is used for the rest of the projects
- Removed a lot of unnecessary code
- Added a license header to each file (using the same license as the McHCK had)
- Updated the USB Vendor, Product and Serial strings
- Using the Kiibohd initialization sequence rather than the McHCK one
- Using Kiibohd interrupt vector table and other misc mk20dx setup
Jacob Alexander [Fri, 15 Aug 2014 17:42:12 +0000 (10:42 -0700)]
Fixing RAM calculator and reduced actual SRAM usage
- Changed static variables to const that should have been const
- Updated CMake files to prepare for MCHCK custom bootloader
- Changed the USB ID numbers and ID number for bootloader
- Only generate DFU or Teensy binary image, not both
- Fixed RAM and FLASH calculator
- Added missing license in delay.c/h (much of it was taken from Teensy source though I've changed a bunch of it)
- Prepared mk20dx.c for upcoming bootloader addition
- mk20dx.h cleanup
- Reduced the MCHCK based flash size for the application image (bootloader changes requires more flash space)
- Fixed bugs in macro.c
- Added keyHold cli command
- Added show pending events debug message for PartialMap macro module
Jacob Alexander [Fri, 8 Aug 2014 03:03:39 +0000 (20:03 -0700)]
Adding generic layerToggle and USB Key Output capabilities.
- Macros and Layers are, code-wise, feature complete
Jacob Alexander [Wed, 6 Aug 2014 19:18:06 +0000 (12:18 -0700)]
Macro processing is now feature complete.
- Basic features only (there are still some extra options that can be added)
- Not tested
- ResultMacro processor is complete
- Layer enabling capability not yet complete
- USB Key output capability not yet complete
Jacob Alexander [Tue, 5 Aug 2014 18:33:55 +0000 (11:33 -0700)]
Adding TriggerMacro processing.
- Not tested, but basic features should be complete
Jacob Alexander [Sun, 3 Aug 2014 06:24:39 +0000 (23:24 -0700)]
Updating udev file for MCHCK bootloader.
Jacob Alexander [Sun, 3 Aug 2014 05:19:33 +0000 (22:19 -0700)]
Matrix scanning for ARM now functional.
- CLI Debugging options added
- Various bug fixes for the matrix scanning algorithm
- Changed debouncing algorithm
Jacob Alexander [Fri, 1 Aug 2014 08:26:25 +0000 (01:26 -0700)]
Initial MatrixARM implementation
- Cleaned up Macro and USB callback naming
- Added security jumper for automated reload (MCHCK based only)
- Added additional LED position
Jacob Alexander [Mon, 28 Jul 2014 06:15:41 +0000 (23:15 -0700)]
Macro cleanup.
- Preparation for KLL support
Jacob Alexander [Sat, 26 Jul 2014 21:06:19 +0000 (14:06 -0700)]
Adding layer fall-through lookup
- Updated the Scan module API functions (LED and Analog)
Jacob Alexander [Sat, 26 Jul 2014 19:20:59 +0000 (12:20 -0700)]
Added layerList and layerState functions
- Added LayerIndex data structure
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:42:38 +0000 (23:42 -0700)]
Adding macroList debug function
- Fixed TriggerMacroNum and ResultMacroNum
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 [Sat, 19 Jul 2014 16:31:04 +0000 (09:31 -0700)]
Removing unnecessary ifdefs
Jacob Alexander [Sat, 19 Jul 2014 16:21:35 +0000 (09:21 -0700)]
Adding McHCK flash reload function and some cleanup.
- Requires special string to be compared with the bootloader and VBAT register file
Jacob Alexander [Mon, 23 Jun 2014 03:45:56 +0000 (20:45 -0700)]
Initial work for partial layers and macros.
Jacob Alexander [Tue, 15 Jul 2014 07:28:12 +0000 (00:28 -0700)]
McHCK USB WORKS!!
- McHCK uses FLL instead of the PLL for USB (startup, not usb init)
- Added optional debug for the pjrc USB module
- Cleaned up compiler flags
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 [Sat, 28 Jun 2014 17:35:54 +0000 (10:35 -0700)]
Adding UART and UART + USB muxed CLI output.
- The UART out may be useful for Bluetooth keyboards at some point
Jacob Alexander [Fri, 27 Jun 2014 07:53:20 +0000 (00:53 -0700)]
Initial code for ARM UART output module (mainly for CLI)
Jacob Alexander [Thu, 26 Jun 2014 07:54:39 +0000 (00:54 -0700)]
More work on mk20dx128vlf5 port.
- Basic compilation and loading is working
- LED can be turned on/off
- USB not yet working
Jacob Alexander [Sun, 15 Jun 2014 18:09:08 +0000 (11:09 -0700)]
Initial work for McHCK mk20dx128vlf5 port.
Jacob Alexander [Sat, 28 Jun 2014 20:48:49 +0000 (13:48 -0700)]
Adding support for ctags generation during cmake generation.
- Added executable detection script
- Build will still work fine if ctags isn't installed
Jacob Alexander [Sat, 28 Jun 2014 18:26:43 +0000 (11:26 -0700)]
Adding comprehensive .gitignore file
- Mostly for upcoming ctags support
Jacob Alexander [Sat, 14 Jun 2014 18:00:29 +0000 (11:00 -0700)]
Initial work for KLL macro support
Jacob Alexander [Tue, 10 Jun 2014 06:01:32 +0000 (23:01 -0700)]
Preparing from initial AVR USB NKRO support.
- Refactored pjrc USB (definitions to the .h file)
Jacob Alexander [Sat, 7 Jun 2014 16:13:57 +0000 (09:13 -0700)]
Updating README.
Jacob Alexander [Tue, 27 May 2014 06:47:47 +0000 (23:47 -0700)]
Removing sudo from Linux load script.
Jacob Alexander [Tue, 27 May 2014 06:46:12 +0000 (23:46 -0700)]
Adding initial udev file for Linux.
- sudo is no longer required after this file is installed.
Jacob Alexander [Tue, 27 May 2014 06:06:51 +0000 (23:06 -0700)]
Adding info about putty.
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 [Sat, 26 Apr 2014 08:29:09 +0000 (01:29 -0700)]
Kishsaver is fully working with DPH!
- More keyboard layouts and enhancements to come :D
Jacob Alexander [Sat, 26 Apr 2014 06:53:46 +0000 (23:53 -0700)]
Adding different algorithm to re-enable problem keys.
- More generous to keys, and should reject all test points.
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:26:45 +0000 (01:26 -0700)]
Giving more breathing room for regular keys to be enable initially.
- Should be tested more on keyboards without test points (to see if more of a margin in necessary)
- Added more information messages on bootup
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 [Sun, 20 Apr 2014 03:17:38 +0000 (20:17 -0700)]
Another typo...
Jacob Alexander [Sun, 20 Apr 2014 02:59:51 +0000 (19:59 -0700)]
Forgot to add Windows loader script.
Jacob Alexander [Sat, 19 Apr 2014 18:31:43 +0000 (11:31 -0700)]
CLI Formatting cleanup.
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 [Sat, 19 Apr 2014 07:10:28 +0000 (00:10 -0700)]
Adding chip usage display after build completion.
- Uses an internal database of microcontroller sizes
Jacob Alexander [Sat, 19 Apr 2014 05:57:14 +0000 (22:57 -0700)]
Reorganizing CMake build system.
- Only one file to edit now
- Compiler architecture automatically detected based off of chip target
Jacob Alexander [Sat, 19 Apr 2014 04:58:14 +0000 (21:58 -0700)]
Let CMake do more autoconfiguration.
Jacob Alexander [Fri, 18 Apr 2014 20:16:47 +0000 (13:16 -0700)]
Windows is now working with libusb1.0 for the teensy-loader-cli.
- Not tested yet, but should be working.
Jacob Alexander [Fri, 18 Apr 2014 07:18:02 +0000 (00:18 -0700)]
Porting teensy-loader-cli to use libusb-1.0 (from 0.1).
- Currently only Linux tested.
Jacob Alexander [Fri, 18 Apr 2014 02:20:56 +0000 (19:20 -0700)]
More Windows compatibility build fixes
- Still not verified to work though.
Jacob Alexander [Fri, 18 Apr 2014 01:49:40 +0000 (18:49 -0700)]
More fixes for Windows compilation.
Jacob Alexander [Thu, 17 Apr 2014 07:34:27 +0000 (00:34 -0700)]
Added better formatting for debugging code.
Jacob Alexander [Thu, 17 Apr 2014 07:11:36 +0000 (00:11 -0700)]
Added support for IBM 50key, better DPH debug, cleanup
- Strobe lines for IBM 50key
- Added CLI debugging for DPH, both per press and overall sense table
- Code cleanup (mostly just removal)
Jacob Alexander [Wed, 16 Apr 2014 07:20:45 +0000 (00:20 -0700)]
Adding example CLI command to DPH module.
Jacob Alexander [Wed, 16 Apr 2014 07:15:09 +0000 (00:15 -0700)]
DPH Scan Module now compiles with recent architecture cleanups.
Jacob Alexander [Tue, 15 Apr 2014 06:59:41 +0000 (23:59 -0700)]
ADC0 is now working on Teensy 3.1.
Jacob Alexander [Tue, 15 Apr 2014 06:19:09 +0000 (23:19 -0700)]
Updating the pin_map.teensy3 with the ADC channels