Archived
1
0
Commit Graph

315 Commits

Author SHA1 Message Date
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
12295e8362 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
2014-09-16 15:37:16 -07:00
Jacob Alexander
733a9f26b6 DPH controller now working with macros/layers
- Still working on USB NKRO
2014-09-16 11:42:50 -07:00
Jacob Alexander
d405af0435 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
2014-09-15 20:19:40 -07:00
Jacob Alexander
549b67e518 Updating README for Windows.
- Updated Windows build instructions
- Added some notes on all the types of builds.
- Updated dependency lists
2014-09-15 18:45:01 -07:00
Jacob Alexander
66a5031c4c 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
2014-09-14 20:09:12 -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
3b06d8f6ae Adding convenience loader scripts for DFU based microcontrollers 2014-09-14 16:22:27 -07:00
Jacob Alexander
4be4a85930 Adding git refresh command to kll.cmake and kll file listing to build process 2014-09-14 16:03:10 -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
3a07b4bdcd Merge branch 'test' 2014-09-11 10:57:58 -07:00
Jacob Alexander
28df956007 Updating DPH to compile with PartialLayer module 2014-09-11 10:57:30 -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
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