Archived
1
0
Commit Graph

202 Commits

Author SHA1 Message Date
Jacob Alexander
c7934c7224 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
2014-09-11 10:54:50 -07:00
Jacob Alexander
c169097ccf 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
2014-09-10 20:53:30 -07:00
Jacob Alexander
2a6c2a9c78 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
2014-09-07 21:10:49 -07:00
Jacob Alexander
121525e2cb Splitting out structures and macros from the generated keymap.
- Preparation to integrating the compiler
2014-08-23 11:32:46 -07:00
Jacob Alexander
b2eaf0c893 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
2014-08-23 10:49:13 -07:00
Jacob Alexander
31a2d75116 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
2014-08-20 10:53:22 -07:00
Jacob Alexander
d6d792fdf9 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)
2014-08-16 12:07:25 -07:00
Jacob Alexander
662d1f557f Updating udev rules to reflect the USB ID changes.
- Fixed USB Vendor name as well
2014-08-15 11:27:16 -07:00
Jacob Alexander
4102512579 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
2014-08-15 10:53:43 -07:00
Jacob Alexander
eabb1c546a 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
2014-08-15 10:49:44 -07:00
Jacob Alexander
2f7e3cb117 Adding generic layerToggle and USB Key Output capabilities.
- Macros and Layers are, code-wise, feature complete
2014-08-07 20:03:39 -07:00
Jacob Alexander
51e715f785 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
2014-08-06 12:18:06 -07:00
Jacob Alexander
34198635b9 Adding TriggerMacro processing.
- Not tested, but basic features should be complete
2014-08-05 11:33:55 -07:00
Jacob Alexander
7ef7973f5a Updating udev file for MCHCK bootloader. 2014-08-02 23:24:39 -07:00
Jacob Alexander
19f42b0a81 Matrix scanning for ARM now functional.
- CLI Debugging options added
- Various bug fixes for the matrix scanning algorithm
- Changed debouncing algorithm
2014-08-02 22:19:33 -07:00
Jacob Alexander
d6345c307f Initial MatrixARM implementation
- Cleaned up Macro and USB callback naming
- Added security jumper for automated reload (MCHCK based only)
- Added additional LED position
2014-08-01 01:26:25 -07:00
Jacob Alexander
c1f8a2c545 Macro cleanup.
- Preparation for KLL support
2014-07-27 23:15:41 -07:00
Jacob Alexander
4e79452860 Adding layer fall-through lookup
- Updated the Scan module API functions (LED and Analog)
2014-07-26 14:06:19 -07:00
Jacob Alexander
8193687d29 Added layerList and layerState functions
- Added LayerIndex data structure
2014-07-26 12:20:59 -07:00
Jacob Alexander
e8e9bb6c44 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)
2014-07-25 10:53:33 -07:00
Jacob Alexander
e42ae810a3 Adding macroList debug function
- Fixed TriggerMacroNum and ResultMacroNum
2014-07-24 23:42:38 -07:00
Jacob Alexander
f7bacebb26 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
2014-07-24 23:18:38 -07:00
Jacob Alexander
ff05e1ccb7 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
2014-07-24 22:22:35 -07:00
Jacob Alexander
643c7e934a Removing unnecessary ifdefs 2014-07-19 09:31:04 -07:00
Jacob Alexander
8eba0ae354 Adding McHCK flash reload function and some cleanup.
- Requires special string to be compared with the bootloader and VBAT register file
2014-07-19 09:21:35 -07:00
Jacob Alexander
1fd777815b Initial work for partial layers and macros. 2014-07-15 21:29:56 -07:00
Jacob Alexander
54c11ebd07 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
2014-07-15 00:28:12 -07:00
Jacob Alexander
f9e1600b28 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)
2014-06-30 23:52:24 -07:00
Jacob Alexander
0365d517fe 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
2014-06-28 14:12:56 -07:00
Jacob Alexander
dd8b04dce2 Adding UART and UART + USB muxed CLI output.
- The UART out may be useful for Bluetooth keyboards at some point
2014-06-28 13:55:25 -07:00
Jacob Alexander
6f563bdc9f Initial code for ARM UART output module (mainly for CLI) 2014-06-28 13:55:25 -07:00
Jacob Alexander
99d4aaba84 More work on mk20dx128vlf5 port.
- Basic compilation and loading is working
- LED can be turned on/off
- USB not yet working
2014-06-28 13:55:25 -07:00
Jacob Alexander
acf8cb979c Initial work for McHCK mk20dx128vlf5 port. 2014-06-28 13:55:25 -07:00
Jacob Alexander
c203d23be5 Adding support for ctags generation during cmake generation.
- Added executable detection script
- Build will still work fine if ctags isn't installed
2014-06-28 13:48:49 -07:00
Jacob Alexander
01b1933c93 Adding comprehensive .gitignore file
- Mostly for upcoming ctags support
2014-06-28 11:26:43 -07:00
Jacob Alexander
89193f807e Initial work for KLL macro support 2014-06-14 11:00:29 -07:00
Jacob Alexander
8a66563622 Preparing from initial AVR USB NKRO support.
- Refactored pjrc USB (definitions to the .h file)
2014-06-09 23:01:32 -07:00
Jacob Alexander
111475c86d Updating README. 2014-06-07 09:13:57 -07:00
Jacob Alexander
fd62e488be Removing sudo from Linux load script. 2014-05-26 23:47:47 -07:00
Jacob Alexander
d923eb551b Adding initial udev file for Linux.
- sudo is no longer required after this file is installed.
2014-05-26 23:46:58 -07:00
Jacob Alexander
497c77e8ef Adding info about putty. 2014-05-26 23:06:51 -07:00
Jacob Alexander
4e4e95d69f 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
2014-05-26 22:46:03 -07:00
Jacob Alexander
366f6c9276 Kishsaver is fully working with DPH!
- More keyboard layouts and enhancements to come :D
2014-04-26 01:29:09 -07:00
Jacob Alexander
e444f96158 Adding different algorithm to re-enable problem keys.
- More generous to keys, and should reject all test points.
2014-04-25 23:53:46 -07:00
Jacob Alexander
219e90cdd3 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
2014-04-25 02:35:49 -07:00
Jacob Alexander
c3e1335678 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.
2014-04-25 02:06:40 -07:00
Jacob Alexander
1a5ae7fd68 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
2014-04-25 01:26:45 -07:00
Jacob Alexander
ca1bf4fab9 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)
2014-04-25 01:08:15 -07:00
Jacob Alexander
5e9bcf012c 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)
2014-04-20 01:08:02 -07:00
Jacob Alexander
5b8d1bb8db Another typo... 2014-04-19 20:17:38 -07:00