Jacob Alexander [Sat, 6 Dec 2014 08:55:36 +0000 (00:55 -0800)]
Fixing pinout
Jacob Alexander [Sat, 6 Dec 2014 08:35:39 +0000 (00:35 -0800)]
LEDs now doing something :D
Jacob Alexander [Mon, 1 Dec 2014 03:38:03 +0000 (19:38 -0800)]
Initial I2C work for ISSI IS31FL3731
Jacob Alexander [Sun, 11 Jan 2015 03:55:28 +0000 (19:55 -0800)]
More preparation for mk20dx256vlh7
Jacob Alexander [Sun, 11 Jan 2015 03:53:46 +0000 (19:53 -0800)]
Fixing device bricking bug
- When loading a garbage image onto the device, the chip hangs
and refuses to jump to the bootloader and start dfu
Fix
- Check if chip was in locked state and jump to dfu
- Check if watchdog timer fired and jump to dfu
Jacob Alexander [Thu, 1 Jan 2015 03:43:10 +0000 (19:43 -0800)]
Fixing warning messages found using clang.
Jacob Alexander [Thu, 1 Jan 2015 03:42:16 +0000 (19:42 -0800)]
Adding experimental clang compiler support for arm-none-eabi
- Currently builds larger binaries than gcc (RAM)
Jacob Alexander [Thu, 1 Jan 2015 01:13:44 +0000 (17:13 -0800)]
Preparing for mk20dx256vlh7
- Not ready yet
- Will require some more changes to Lib/mk20dx.c
Jacob Alexander [Wed, 31 Dec 2014 23:58:28 +0000 (15:58 -0800)]
Updating the Linux README information.
Jacob Alexander [Wed, 31 Dec 2014 21:42:21 +0000 (13:42 -0800)]
Updating the README to resolve code sourcery issue.
Jacob Alexander [Wed, 31 Dec 2014 21:42:00 +0000 (13:42 -0800)]
Adding more CMake log information.
Jacob Alexander [Mon, 29 Dec 2014 04:06:39 +0000 (20:06 -0800)]
Re-Adding previous defaultMap.kll used for early Infinity PCBs
Rowan Decker [Tue, 23 Dec 2014 02:27:33 +0000 (20:27 -0600)]
Add Missing Backslash key
Fix an off by one error causing most keys to be shifted one to the
right, due to the missing backslash (\) key in the top row.
Jacob Alexander [Sun, 21 Dec 2014 15:32:51 +0000 (07:32 -0800)]
Moving MatrixARM header macros to separate file
Jacob Alexander [Mon, 1 Dec 2014 03:36:19 +0000 (19:36 -0800)]
Small typos
Jacob Alexander [Fri, 21 Nov 2014 22:58:50 +0000 (14:58 -0800)]
Adding KLL define support
Jacob Alexander [Sun, 16 Nov 2014 21:03:31 +0000 (13:03 -0800)]
Adding convenience scripts to build and load manufacturing image via SWD.
Jacob Alexander [Thu, 13 Nov 2014 08:49:02 +0000 (00:49 -0800)]
Fixing layer latch capability.
Latch now activates on key release, and deactivates on next key release.
Jacob Alexander [Thu, 13 Nov 2014 07:33:28 +0000 (23:33 -0800)]
Fixing sequences (after NKRO HID descriptor re-design).
Jacob Alexander [Thu, 13 Nov 2014 07:04:50 +0000 (23:04 -0800)]
Fixing NKRO on Windows 8.1
- Had to re-write descriptor to support Windows 8.1 while still working with Mac OSX
- NKRO keyboard is now more bandwidth intensive as all the keys must be updated at the same time
(due to 8.1 bug in the HID spec)
Jacob Alexander [Tue, 11 Nov 2014 07:42:39 +0000 (23:42 -0800)]
Code formatting cleanup.
Jacob Alexander [Tue, 11 Nov 2014 06:50:54 +0000 (22:50 -0800)]
Fixing NKRO modifier bug
- Modifier byte was being cleared after each send (needed for Boot Mode only)
Jacob Alexander [Tue, 11 Nov 2014 05:02:25 +0000 (21:02 -0800)]
Fixing Linux NKRO Delete bug
- Fixed descriptor to not include USB Code 156 (Clear)
- This USB Code affects repeating Delete
Jacob Alexander [Wed, 5 Nov 2014 08:09:33 +0000 (00:09 -0800)]
Adding FPROT flash protection bit for 4k Bootloader on the mk20dx128vlf5
- Minimum protection size is 4k on the mk20dx128vlf5
Jacob Alexander [Mon, 3 Nov 2014 07:24:59 +0000 (23:24 -0800)]
Fixing Mac OSX USB NKRO
- OSX doesn't properly follow the spec when it comes to padding bits (when using bitfields)
- Everything seems to work when I don't use them
- NKRO tested working on OSX
Jacob Alexander [Sat, 1 Nov 2014 21:42:55 +0000 (14:42 -0700)]
Fixing pjrc bug affecting Mac OSX CDC driver
- Also updating usbMuxUart header with most recent keyboard defines
Jacob Alexander [Mon, 27 Oct 2014 07:26:17 +0000 (00:26 -0700)]
USB Macro Output sequences now working!
- Tested both with Boot and NKRO modes
Jacob Alexander [Sun, 26 Oct 2014 22:07:44 +0000 (15:07 -0700)]
Updating pin_map for teensy3/3.1
Jacob Alexander [Sun, 26 Oct 2014 06:56:30 +0000 (23:56 -0700)]
Adding pinout list.
Jacob Alexander [Wed, 15 Oct 2014 17:39:39 +0000 (10:39 -0700)]
Fixing bug that locks up the keyboard if shifting to a layer that doesn't exist.
Jacob Alexander [Sat, 4 Oct 2014 21:50:42 +0000 (14:50 -0700)]
Adding timeout to virtual serial port writes
- Was causing lock-ups until the serial port was read
- Also checking each of the NKRO key types in each send loop
Jacob Alexander [Fri, 3 Oct 2014 05:09:34 +0000 (22:09 -0700)]
HUGE AVR RAM optimization (~28%).
- It's possible to get even more, but this is probably as far as I'll go
- PROGMEM is really annoying to use, and makes the code look like ass
- Now the Teensy 2++ should have enough RAM to use PartialMap easily
Jacob Alexander [Fri, 3 Oct 2014 02:30:15 +0000 (19:30 -0700)]
Making all the configurable CMake variables externally settable
- Use CMake -D arguments to set variables (so you don't have to edit the CMakeLists.txt file)
Jacob Alexander [Fri, 3 Oct 2014 02:29:56 +0000 (19:29 -0700)]
Fixing USB NKRO key buffer bug
- Missing a byte in the array
Jacob Alexander [Thu, 2 Oct 2014 08:40:14 +0000 (01:40 -0700)]
Fixed Linux NKRO bitmap bug.
- Thanks hasu for pointing it out
- Keycode 50 is problematic under Linux, so removing (it's a duplicate keycode anyways)
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)