Archived
1
0
Commit Graph

293 Commits

Author SHA1 Message Date
Jacob Alexander
74e38e0797 Adding pinout list. 2014-10-25 23:56:30 -07: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
358b1f33bb 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
2014-10-04 14:50:42 -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
22abefcf1e 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)
2014-10-02 19:30:15 -07:00
Jacob Alexander
ae21a90455 Fixing USB NKRO key buffer bug
- Missing a byte in the array
2014-10-02 19:29:56 -07:00
Jacob Alexander
0cbfe53794 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)
2014-10-02 01:40:14 -07:00
Jacob Alexander
fc84d45470 Setting max packet size (Interrupt) to 64 bytes
- 128 bytes is invalid for USB 2.0 Full-Speed (max 64 bytes)
2014-10-01 23:54:08 -07:00
Jacob Alexander
bba9a1c973 Adding NKRO and Boot mode capabilities.
- When changing the mode, a key buffer flush is required (might confuse the OS temporarily)
2014-10-01 23:47:26 -07:00
Jacob Alexander
5782af5541 Fixing NKRO for Windows. 2014-10-01 00:16:14 -07:00
Jacob Alexander
ab7351b482 USB NKRO working for ARM!
- Setting NKRO mode as default (up to bios to disable)
2014-09-28 17:24:52 -07:00
Jacob Alexander
4255a99fcc 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)
2014-09-28 16:44:57 -07:00
Jacob Alexander
55892cedc1 Adding clear screen before usb initializes
- Easier to debug USB initialization
2014-09-28 16:43:40 -07:00
Jacob Alexander
9a85f92a43 Fixing descriptor bugs
- Missing device qualifier descriptor
- Missing USB Debug descriptor (used by lsusb)
2014-09-28 16:42:43 -07:00
Jacob Alexander
5557c4189b Merging fixes from pjrcUSB 2014-09-28 10:56:32 -07:00
Jacob Alexander
1829d8bf05 Updating usbMuxUart for NKRO 2014-09-28 10:56:01 -07:00
Jacob Alexander
17681c535d Fixing uartOut for ARM
- Added fake capability for compilation
2014-09-27 13:20:09 -07:00
Jacob Alexander
94608f93e9 Cleanup
- Changing main device type to HID (0x03)
2014-09-23 11:42:40 -07:00
Jacob Alexander
ed9abf88a3 Preparing ARM for USB NKRO
- API changes from the AVR NKRO support
2014-09-21 16:29:53 -07:00
Jacob Alexander
9f6be5794b 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
2014-09-21 11:55:37 -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
66624c311c Putting prescalar settings back in for AVR.
- Needs to be at 16 MHz for proper function
2014-09-19 20:48:31 -07:00
Jacob Alexander
ba984fff20 Removing USB timer, no longer necessary. 2014-09-19 19:33:20 -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
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