Archived
1
0
Commit Graph

250 Commits

Author SHA1 Message Date
Jacob Alexander
a7b1d94465 Fixing NKRO modifier bug
- Modifier byte was being cleared after each send (needed for Boot Mode only)
2014-11-10 22:50:54 -08:00
Jacob Alexander
11fb8bd77d Fixing Linux NKRO Delete bug
- Fixed descriptor to not include USB Code 156 (Clear)
- This USB Code affects repeating Delete
2014-11-10 21:02:25 -08:00
Jacob Alexander
1da4903816 Adding FPROT flash protection bit for 4k Bootloader on the mk20dx128vlf5
- Minimum protection size is 4k on the mk20dx128vlf5
2014-11-05 00:12:31 -08:00
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