Commit Graph

292 Commits

Author SHA1 Message Date
László Monda
c8d4824f3d Swap left and right mouse buttons so that now they work as originally intended. 2017-02-26 02:10:05 +01:00
László Monda
014fb98932 bzero() mouse report instead of zeroing individual fields. 2017-02-26 02:08:19 +01:00
László Monda
a3f8027758 Rename HandleMouseKey() to ProcessMouseAction() 2017-02-26 02:06:36 +01:00
László Monda
3561906ebb Remove PreviousKeyStates for the time being. 2017-02-26 02:05:36 +01:00
László Monda
878cedd31c Rename HandleKeyboardEvents() to UpdateActiveUsbReports(). 2017-02-26 02:01:16 +01:00
László Monda
e25b1cb912 Make mouse keys work by zeroing the mouse report at the beginning of updating USB reports. Rename UsbMouseAction() to usbMouseAction() 2017-02-26 01:52:18 +01:00
László Monda
476a2fb89a Inline isKeyPressed(). Rename key to action within HandleMouseKey() and a few other identifiers to make the code more intuitive. 2017-02-26 01:34:38 +01:00
László Monda
66d41a0d49 Inline PressKey() and handleKey() into HandleKeyboardEvents() 2017-02-26 01:25:52 +01:00
László Monda
c09ed00e5a Extract keyToAction() 2017-02-26 00:46:47 +01:00
László Monda
7eec8281ce Remove arguments from HandleKeyboardEvents. 2017-02-26 00:44:43 +01:00
László Monda
73dec54ee1 Remove keyMasks because they made the right keyboard half crash when pressing a layer switcher key. 2017-02-26 00:35:26 +01:00
László Monda
ce4d9ca839 Rewrite layer switcher handling. 2017-02-26 00:26:33 +01:00
László Monda
9ec01bc515 Remove the unused prevKeyStates argument from hasKeyPressed() 2017-02-25 23:41:01 +01:00
László Monda
490382f31b Rename getKeycode() to keyToAction() and code to action. 2017-02-25 22:28:17 +01:00
László Monda
40397a70bc Remove check because keyId < MAX_KEY_COUNT_PER_MODULE should always be true. 2017-02-25 22:13:48 +01:00
László Monda
6cf27799a6 Implement the I2C watchdog using PIT. 2017-02-25 17:48:37 +01:00
László Monda
b453297570 Add the v7-release-srec build configuration. Add the "uhk-right v7 debug kboot" run configuration. Make blhost-unix.sh expect the srec file to be transferred. 2017-02-20 18:30:30 +01:00
László Monda
ea295ba9eb Update README.md 2017-02-19 17:13:10 +01:00
László Monda
f56b10041e Delete README.md 2017-02-19 17:08:22 +01:00
László Monda
4904572417 Move temp and counter out of InitI2C() so that the compiler shouldn't optimize the loop. 2017-02-18 21:41:11 +01:00
László Monda
d6d0e5d97f Modify init_peripherials.c given that I2C_Watchdog is defined in the KSDK now. 2017-02-18 21:25:54 +01:00
László Monda
05e8b046f5 Clean up coding style. 2017-02-18 19:08:49 +01:00
Santiago
226bc31385 Fix the I2C dead-lock of the Master
When some slave is unplugged suddenly this can lead to unresponsiveness of the driver. restart_I2C will continuously check this and assure that the driver will be reconfigured in case of a dead-lock.
2017-02-18 13:11:45 +01:00
László Monda
fc0fc4a3f4 Start to implement the fully asynchronous bridge protocol scheduler and use it to transfer key and LED state. 2017-02-03 01:37:25 +01:00
László Monda
d8761a95ba Use >= relations instead of == for comparing UHK_PCB_MAJOR_VERSION. 2017-01-21 02:20:47 +01:00
László Monda
bcab294256 Add uhk-right v7 release kboot build configuration. 2017-01-21 02:13:52 +01:00
László Monda
1419a3bd48 Relocate the firmware so that it works with KBOOT. This also means that KBOOT must also be uploaded to the MCU in order for the firmware to work. 2017-01-21 02:02:50 +01:00
László Monda
cad09faf02 Resolve USB reenumeration issue. Don't ask me why it's working now. We should find an explanation eventually. 2017-01-20 02:04:08 +01:00
László Monda
ece0ffc6fc Control the left and right side PWM brightness via separate protocol messages. 2017-01-15 04:52:23 +01:00
László Monda
1f4672e2f4 Clean up both LedPwm_Init() functions. 2017-01-13 23:32:37 +01:00
László Monda
24a12908ca Call UpdateUsbReports() from the interrupt handler of the keyboard interface because otherwise the I2C calls of UpdateUsbReports run in the main loop and interfere with the I2C calls of interrupt handlers. This is a temporary solution. 2017-01-13 22:34:11 +01:00
László Monda
9ef9e5f734 Drive the LED_PWM line of the left half via TPM which doesn't work yet for some reason. Add protocol command for setting the LED_PWM brightness of the left half. Expose UpdateUsbReports() 2017-01-13 21:43:47 +01:00
László Monda
0ded50b43a PWM the R_EXT of the LED driver using FTM. 2017-01-13 14:58:31 +01:00
László Monda
3348fb0848 Lowercase protocol handler functions according to our coding standards because they're not extern. 2017-01-10 01:30:46 +01:00
László Monda
a76a690a98 Rename UsbKeyboadTask() to updateUsbReports() and move it to main.c 2017-01-10 01:19:29 +01:00
László Monda
a0c7f407e8 Reset the USB keyboard report with a single bzero() call. 2017-01-10 01:07:51 +01:00
László Monda
736d4a621a Create nice API for USB keyboard reports featuring ActiveUsbKeyboardReport, ResetActiveUsbKeyboardReport(), SwitchActiveUsbKeyboardReport() 2017-01-10 01:05:27 +01:00
László Monda
0f70d1eb8e Resolve compiler warnings. 2017-01-09 20:39:25 +01:00
László Monda
a79a2c7365 Rename default_layout.c to current_keymap.c and add current_keymap.h 2017-01-09 20:25:35 +01:00
László Monda
f6a8c56f61 Enable the FET to drive LED_PWM at full blast. 2017-01-09 18:57:20 +01:00
László Monda
24cdab4be2 Enable only the existing LEDs via LED control registers rather than PWM registers. 2017-01-09 17:16:12 +01:00
László Monda
e12996d444 Light up every LED without screwing up I2C communication. 2017-01-09 15:00:57 +01:00
László Monda
c44d75f1bc Enable as many LED rows as possible without interfering with I2C communication. 2017-01-09 02:40:20 +01:00
László Monda
1433b57a46 Add update config and apply config protocol commands. 2017-01-07 03:26:44 +01:00
László Monda
a74c6016f5 Disable LEDs by default because they make I2C communication unreliable on (at least) one prototype. 2017-01-06 22:48:43 +01:00
Gergely Nagy
3c817f0b1b deserialize: Initial layer deserialization
So far, the code is able to deserialize and apply a single layer, as saved by
the Agent in binary format. It does not support macros and keymap switching
yet (it parses the latter, but will choke on the former), but the rest should be
handled fine.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2017-01-06 09:05:00 +01:00
Gergely Nagy
00214eac7e action.h: Rename switchKeymap.layer to switchKeymap.keymap
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2017-01-06 08:09:03 +01:00
Gergely Nagy
901814be2f action.h: Add keystroke.longpress and switchLayer.isToggle
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2017-01-06 08:09:03 +01:00
László Monda
f76d17279e Change the merge sensor pin for the v7 PCB. 2017-01-05 21:02:28 +01:00
László Monda
fb79862cee Clean up coding style a bit. 2017-01-05 19:29:08 +01:00