Commit Graph

43 Commits

Author SHA1 Message Date
László Monda
d1d847ff57 Branch to BusPal vs keyboard function depending on Wormhole->enumerationMode 2017-05-01 19:26:38 +02:00
László Monda
8675effabc Add wormhole.[ch] 2017-05-01 17:02:18 +02:00
László Monda
14225a9ba9 Implement disabling keyboard matrix scanning for the left keyboard half, too. 2017-04-30 03:39:27 +02:00
László Monda
3d5b90f583 Add wormhole_t, getSP() and tweak SP before touched by the C runtime. 2017-04-21 09:50:20 +02:00
László Monda
cca1e49d18 Rename the misspelled peripherials directory to peripherals. 2017-04-15 01:00:55 +02:00
László Monda
fc202d8dde Make BusPal relay command between USB and I2C. 2017-04-14 14:31:42 +02:00
László Monda
890660938e Fix up BusPal I2C initialization. 2017-04-14 01:59:35 +02:00
László Monda
adc69dcad5 Clean up bus_pal_hardware.[ch]. Add the ENABLE_BUSPAL macro and setup up BusPal if it's 1 instead of the default UHK USB interfaces. 2017-04-12 22:58:53 +02:00
László Monda
62a3f6b3a4 Add system keyboard interface and add sleep, power and wake keys. 2017-03-06 01:58:02 +01:00
László Monda
c887b5e309 Add another HID interface using the consumer HID class for media keys. Resolves #32. 2017-03-03 20:21:05 +01:00
László Monda
8b46810643 Update USB reports from the main loop instead of the callback of the USB keyboard interface. 2017-02-26 11:10:04 +01:00
László Monda
657431e130 Remove commented out, synchronous I2C communication. 2017-02-26 03:10:18 +01:00
László Monda
6e415696d7 Move merge_sensor.[ch], reset_button.[ch] and test_led.[ch] into the newly created peripherials directory. 2017-02-26 02:50:21 +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
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
6cf27799a6 Implement the I2C watchdog using PIT. 2017-02-25 17:48:37 +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
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
a76a690a98 Rename UsbKeyboadTask() to updateUsbReports() and move it to main.c 2017-01-10 01:19:29 +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
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
László Monda
fb79862cee Clean up coding style a bit. 2017-01-05 19:29:08 +01:00
László Monda
2457f3b0e0 Add CurrentKeyStates and PreviousKeyStates globals and use them across the whole codebase. 2017-01-03 01:09:00 +01:00
László Monda
3942d089de Rename keyMatrix to KeyMatrix because it's a global. 2017-01-02 23:11:24 +01:00
László Monda
47c7863026 Move keyMatrix to main.c and only initialize it once in main() 2017-01-02 22:55:23 +01:00
László Monda
30f9373e47 Enable LEDs by default. 2016-12-21 11:44:25 +01:00
László Monda
f66eb06712 Coding style fixes. 2016-12-12 00:21:39 +01:00
László Monda
de6218ce0c Convert tabs to 4 spaces. 2016-12-11 23:59:28 +01:00
Robert Csordas
fc434c7857 Remove keyboard scanning from USB interrupt. Fix initial blink of LEDs when initializing. Coding style fixes. 2016-11-13 15:50:49 +01:00
Robert Csordas
b3bc436bbb Fix typo+basic power management 2016-11-12 20:31:59 +01:00
László Monda
5936129ebc Remove the include directory. Add init_clock.[ch] 2016-10-04 18:36:01 +02:00
László Monda
5f1c85147b Remove pin_mux.[ch], add init_peripherials.[ch], add reset_button.h which I forgot to add previously. 2016-10-04 17:02:46 +02:00
László Monda
0550c19cf5 Delete board.[ch]. Add reset_button.h 2016-10-04 16:44:16 +02:00
László Monda
36bb5fabba Rename the toplevel include directory to shared. Add it to the project workspace. Include led_driver.h from main.c 2016-09-26 20:36:49 +02:00
László Monda
2dd9aa87b0 Name a couple of I2C related variables more intuitively. 2016-09-26 20:33:03 +02:00
László Monda
b280fde8a5 Extract LED driver related functions to led_driver.[ch] 2016-09-26 20:28:12 +02:00
László Monda
11401a6448 Make less use of linked files and folders for better long-term maintainability by moving the source files under the newly created src directory and only linking that directory to the workspace. 2016-09-26 08:45:59 +02:00