Archived
1
0
Commit Graph

64 Commits

Author SHA1 Message Date
Jacob Alexander
6a22bb2790 Initial refactoring of PartialMap for supporting custom Triggers
- Requires a recent KLL
- Functionality wise, nothing has changed
2016-05-08 18:50:28 -07:00
Kevin Frei
862e7ea39d Fix a handful of infinite loops that occur if you have more than 254 macros 2016-01-02 17:43:05 -08:00
Jacob Alexander
343104297d Adding support for kll 0.3d
- Requires kll compiler update
- Includes descriptor update to handle new consumer control codes
2015-10-17 15:09:03 -07:00
Jacob Alexander
59d425ccfe Adding jump to bootloader key
- Now enabled by default
- Added protection around remote jumps
2015-10-11 22:07:11 -07:00
Jacob Alexander
d7fabf97e9 Fixing very old bad naming convention (BRACE to BRACKET) 2015-10-07 20:06:41 -07:00
Jacob Alexander
3eece24115 Fix Latching bug (introduced when fixing shift and lock recently)
- Also conditionally refresh the lcd screen if enabled /w interconnect
  (Not the ideal way to update, but the only way with the current KLL version)
2015-10-04 16:19:20 -07:00
Jacob Alexander
893231b355 Adding layer rotation (next/prev) capability
- Requires kll update
- Including udev id update
2015-09-28 19:58:39 -07:00
Jacob Alexander
51486bc4e1 Fixing layer stack evaluation
- Layers were stacked correctly, but evaluated backwards
2015-08-21 20:33:47 -07:00
Jacob Alexander
9c52fb32fa Fixing default ErgoDox layout and adding FlashMode button
- Adds proper flashMode support for all keyboards and microcontrollers (usb and serial)
- flashModeEnabled must be set to 1 otherwise it will only show an error
  * This is on purpose (somewhat dangerous feature as it allows remote flashing)
- Capability cleanup
2015-08-21 19:43:45 -07:00
Jacob Alexander
79ee501e03 Fixing typo on range check for MDErgo1 2015-08-16 15:53:07 -07:00
Jacob Alexander
59c14fcdea Adding initial WhiteFox support.
- Includes fix for over-range ScanCodes (would cause hard faults)
- Updated some documentation
- Requires recent kll compiler for the layout
2015-08-16 12:27:12 -07:00
Jacob Alexander
a8caf6e515 Working support for Interconnect
- Supports up to 255 slave nodes (you'll run into ScanCode limitations before then)
- Requires most recent kll compiler update
- Additional debugging output and stats counters
- Noise and parity checking
- Fixed TxFIFO issue when sending buffers larger than the FIFO
- Cleaned up defaultMap.kll
- Added ScanCode caching (reduces interconnect traffic significantly)
- Interconnect module code is conditionally compiled into PartialMap module if required
2015-08-15 21:53:59 -07:00
Jacob Alexander
ecd9923926 Initial UARTConnect scancode support
- Still some issues
- Will require some changes to MatrixARM and PartialMap
  * Currently state information is passed around too frequently
  * Needs to be reduced to state changes only
2015-08-09 00:20:41 -07:00
Jacob Alexander
216b151302 Fixing order of layer debug stack display
- Adding NL's for fault messages
2015-06-23 07:58:31 -07:00
Jacob Alexander
99098fb2d6 Adding layerDebug cli command
- Useful when trying to report layer stacking bugs
- Or at least getting unconfused about what's happening with the layers
2015-06-19 20:14:37 -07:00
Jacob Alexander
5f262ea4b6 Code cleanup
- Changing header file ifndef define to pragma once's
- Removed duplicate output_com.h's
2015-06-14 14:33:40 -07:00
Jacob Alexander
ed71f7fad5 Initial commit for UARTConnect module
* Keyboard interconnect using two uarts
* Supports daisy chain addressing using a master/slave direction communication scheme

- Still needs more testing
- Functions have been tested alone to be generally working
2015-03-15 16:58:01 -07:00
Jacob Alexander
f07e9342dd Fixing releasing Function key and holding layered key
- Pressed key will remain on the same layer until released
  regardless of the layer changes that happen in the meantime
2015-03-01 21:05:40 -08:00
Jacob Alexander
7a7b73ca4a Internally fixing typo (ASTERIX to ASTERISK
(Requires a kll update to work correctly)
2015-02-20 21:01:33 -08:00
Jacob Alexander
1e9f55a0bf Updating setup.cmake files to use Module hierarchy implicitly
- Added AddModule CMake function which simplifies specifying module requirements
2015-01-25 17:55:28 -08:00
Jacob Alexander
c9b1769608 More mk20dx256vlh7 preparation. 2015-01-25 17:55:28 -08:00
Jacob Alexander
8e54672121 Fixing warning messages found using clang. 2014-12-31 19:43:10 -08:00
Jacob Alexander
f5a1e1bcf5 Preparing for mk20dx256vlh7
- Not ready yet
- Will require some more changes to Lib/mk20dx.c
2014-12-31 17:13:44 -08:00
Jacob Alexander
15bb1a767f Adding KLL define support 2014-11-21 14:58:50 -08:00
Jacob Alexander
f75e9423b5 Fixing layer latch capability.
Latch now activates on key release, and deactivates on next key release.
2014-11-13 00:49:02 -08:00
Jacob Alexander
f2c3cc0082 Fixing bug that locks up the keyboard if shifting to a layer that doesn't exist. 2014-10-15 10:39:39 -07:00
Jacob Alexander
6e4c28ef84 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
2014-10-02 22:09:34 -07:00
Jacob Alexander
c57c2d7a66 Updating USB HID header file.
- Should be everything necessary for the next while
- Adds Consumer and System controls
2014-09-20 23:09:58 -07:00
Jacob Alexander
56062db2c0 Adding a selection of USB Consumer HID codes 2014-09-20 00:19:28 -07:00
Jacob Alexander
97b514a9d4 Fixing USB send rate.
- Only send USB events when something changes (rather than every ms)
2014-09-19 19:11:37 -07:00
Jacob Alexander
9b1e19017f 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
2014-09-16 23:29:21 -07:00
Jacob Alexander
37b36fe011 DPH controller now working with the kishsaver and macros
- Earlier RAM optimizations uncovered a bunch of layer/macro bugs
2014-09-16 22:14:01 -07:00
Jacob Alexander
ac98d86762 Fixing first and last element bug for layers. 2014-09-16 17:21:41 -07:00
Jacob Alexander
df82ffeff7 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)
2014-09-16 17:04:59 -07:00
Jacob Alexander
dd9c018378 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
2014-09-14 19:27:22 -07:00
Jacob Alexander
e0a2a4806b 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
2014-09-14 15:51:36 -07:00
Jacob Alexander
cb37c82330 Updating PartialLayer code to support varying counter widths.
- For both uC architecture differences and RAM saving
2014-09-11 11:17:17 -07:00
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
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
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