330a899625
Make the getAdcValue and getDebugInfo USB commands utilize the first byte of the response to provide status as dictated by the UHK protocol.
László Monda2017-11-04 01:02:19 +01:00
e7f34dcdc6
Simplify code by utilizing type casing on uint8_t arrays.
László Monda2017-11-04 00:30:40 +01:00
05bbd28877
Maintain the states of previous key states.
László Monda2017-11-03 13:43:16 +01:00
b18cb651ce
Leave the active layer active even if another layer switcher key gets pressed while holding it.
László Monda2017-11-03 12:49:55 +01:00
88fac5c1ff
Rename key_matrix_instance.[ch] to right_key_matrix.[ch]
László Monda2017-11-03 03:30:14 +01:00
fe2e611bb1
Update KeyStates[SlotId_RightKeyboardHalf] within usb_report_updater.c instead of main.c
László Monda2017-11-03 03:22:56 +01:00
599b78a676
Don't expose UpdateUsbReports() anymore.
László Monda2017-11-03 03:20:08 +01:00
a0a162ae9e
Extend key states to include not only the current state but also the previous state and suppressed state.
László Monda2017-11-03 03:17:46 +01:00
e0868ac866
Rename CurrentKeyStates to KeyStates and move it to the newly created key_states.[ch]
László Monda2017-11-03 02:46:34 +01:00
a7e70d0cb2
Link to the latest Agent revision. Add commented out call to user-config-json-to-bin.ts which apparently doesn't work from outer directories yet.
László Monda2017-11-03 00:57:37 +01:00
31b7dddef4
Read the new UserConfig.userConfigLength field.
László Monda2017-11-02 23:10:22 +01:00
ecf7f10b9c
Exchange Ctrl and Alt according to the official UHK default keymap.
László Monda2017-11-02 22:03:43 +01:00
2aaef66d85
Convert LAYER_ID_* macros to LayerId_* enum values.
László Monda2017-11-02 21:48:30 +01:00
00dfd96d55
Instead of scanning the keyboard matrix from the main loop and utilizing busy loops, try to use a PIT interrupt handler to do the same thing, scanning one row per interrupt call without busy loops. For some reason, this makes the movement of the mouse pointer very slow and makes it jump from time to time, so I ended up adding INTERRUPT_KEY_SCANNER and disabling the timer interrupt. Also double bufferred the mouse report just like the others. Unfortunately this does not affect this issue.
László Monda2017-11-02 01:11:41 +01:00
024f24f489
Make make-release.js group master and slave firmwares into separate directories.
László Monda2017-11-01 02:09:22 +01:00
6043651341
Rename release-firmware.js to make-release.js because it doesn't actually releases the release to GitHub. It merely creates it.
László Monda2017-11-01 00:35:33 +01:00
f7d775c6da
Remove output files before the build process. Create the release directory in the directory of the script instead of /tmp
László Monda2017-11-01 00:33:35 +01:00
1ab0885200
Fix the path of build directories in .travis.yml
László Monda2017-11-01 00:21:26 +01:00
561d183840
Make release-firmware.js work when invoked from any directory.
László Monda2017-11-01 00:11:33 +01:00
1d7790f74e
Generate .hex files instead of .srec for the right half firmware.
László Monda2017-10-29 22:27:47 +01:00
808d916687
Clean up .cproject and .gitignore files after the rename of the build and run configurations.
László Monda2017-10-29 22:04:48 +01:00
52bb02bc3d
Rename build and run configurations to reflect device ids.
László Monda2017-10-29 21:54:02 +01:00
e8ab25493e
Make the firmware upgrade scripts working directory independent.
László Monda2017-10-29 19:09:32 +01:00
72b279841c
Port the blhost-unix.sh firmware update script of the right keyboard half to ShellJS resulting in update-master-firmware.js
László Monda2017-10-29 18:20:13 +01:00
4e2d867424
Extract the USB product ID for getBlhostCmd()
László Monda2017-10-29 18:17:48 +01:00
976e402445
Make update-slave-firmware.js extremely resilient (not a single failure out of 100 updates). Add shared.js
László Monda2017-10-29 17:17:12 +01:00
cf007f81bd
Merge branch 'master' into add-device-name
László Monda2017-10-28 18:46:46 +02:00
569493cbfa
Add UsbDebugInfo to aid future debugging via USB.
László Monda2017-10-28 17:12:52 +02:00
f0a98eebb5
Set the initial keymap abbrivation to FTY (for factory keymap).
László Monda2017-10-26 20:32:19 +02:00
55e4997ea2
Make the system keyboard descriptor play nicely with OSX.
László Monda2017-10-26 18:22:37 +02:00
5642ab29a1
Reorder USB interfaces in usb_device_config.h, too.
László Monda2017-10-26 01:12:51 +02:00
6bdd320ed8
Reorder USB interfaces all across the codebase in the following order: generic HID, basic keyboard, media keyboard, system keyboard, mouse.
László Monda2017-10-26 00:52:20 +02:00
c77286512c
Reset keyboard reports just before changing them by UpdateActiveUsbReports(). This seems to completely solve the repeated media key issue.
László Monda2017-10-25 18:31:52 +02:00
c7b6acd838
Use the let keyword for defining variables.
László Monda2017-10-24 17:32:27 +02:00
9db5c5e067
Port blhost-unix.sh as update-slave-firmware.js using ShellJS.
László Monda2017-10-24 13:59:36 +02:00
c370cab513
Use the renamed send-kboot-command-to-slave.js
László Monda2017-10-23 22:24:40 +02:00
85b1a65ea7
Implement KbootCommand_Ping and set set left BOOTLOADER_TIMEOUT_MS back to 100 ms.
László Monda2017-10-23 21:33:08 +02:00
c46dcad490
Use reenumerate.js instead of jump-to-bootloader.js and make left/blhost-unix.sh handle argument related errors.
László Monda2017-10-23 16:52:15 +02:00
ab807cd0c8
Make sendKbootCommand() accept various command types, not only reset.
László Monda2017-10-23 01:19:19 +02:00
92ee3b5606
Add KBOOT I2C slave driver, its related USB command, and make the firmware updater script of the left half successfully reset the left half after firmware update.
László Monda2017-10-22 02:17:43 +02:00
e57d199b40
Move FIXED_BUSPAL_BOOTLOADER to buspal/command.c
László Monda2017-10-21 03:53:01 +02:00
95faf64b76
Remove the now unused FORCE_BUSPAL macro.
László Monda2017-10-21 03:50:07 +02:00
5149e7e8ad
Remove the now unused ALWAYS_ENTER_BOOTLOADER macro.
László Monda2017-10-21 03:40:10 +02:00
f67bcced4a
Keep only one release and one debug build configuration. Add related kboot run configurations.
László Monda2017-10-21 03:35:17 +02:00
e9920cfebb
Increase the delay from 1s to 2s and flash the firmware script argument.
László Monda2017-10-21 03:28:54 +02:00
2e07627359
Temporarily increase left bootloader timeout from 100ms to 3000 ms for testing purposes.
László Monda2017-10-21 03:12:21 +02:00
89fef3d933
Upon receiving the reset BusPal command, reset the MCU and reenumerate in normal keyboard mode.
László Monda2017-10-21 01:29:05 +02:00
a052f4f59c
Add blhost script for the left firmware, too.
László Monda2017-10-21 01:27:33 +02:00
25f8017879
Get rid of the now obsoleted bootloader_config.h
László Monda2017-10-20 00:52:32 +02:00
5ec619532a
Reference the latest version of Agent, containing the fixed uhk.js which makes jump-to-bootloader.js work.
László Monda2017-10-20 00:34:45 +02:00
968c6c0416
Call NVIC_SystemReset() instead of custom code.
László Monda2017-10-20 00:34:01 +02:00
0b4ca43ed6
Merge branch 'master' of github.com:UltimateHackingKeyboard/firmware
László Monda2017-10-20 00:32:37 +02:00
3d46584b79
Don't try to npm install the dependencies of jump-to-bootloader.js but rather display instructions.
László Monda2017-10-20 00:31:06 +02:00
3230b94973
Make the left half call NVIC_SystemReset() upon receiving SlaveCommand_JumpToBootloader instead of jumping to the ROM address of the bootloader. This way the bootloader timeouts. Remove bootloader.c because it only contained JumpToBootloader() which is now unused.
László Monda2017-10-17 00:58:23 +02:00
0b120a3286
Fix generic HID descriptor enumeration error by making UsbGenericHidReportDescriptor extern.
László Monda2017-10-13 22:49:09 +02:00
d4200524d7
Make the firmware depend of the wormhole.[ch] files of the bootloader. Remove local wormhole.[ch] files.
László Monda2017-10-13 22:09:52 +02:00
d2fd7bc613
Add conditions that external components must satisfy in regards to version numbers in order to be interface with the UHK.
László Monda2017-10-11 15:32:57 +02:00