Jacob Alexander
9dbd155ebf
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
2014-11-02 23:24:59 -08:00
Jacob Alexander
e251a8be50
Fixing pjrc bug affecting Mac OSX CDC driver
...
- Also updating usbMuxUart header with most recent keyboard defines
2014-11-01 14:42:55 -07:00
Jacob Alexander
2be0d1393b
USB Macro Output sequences now working!
...
- Tested both with Boot and NKRO modes
2014-10-27 00:26:17 -07:00
Jacob Alexander
705050b74e
Updating pin_map for teensy3/3.1
2014-10-26 15:07:44 -07:00
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