Commit Graph

55 Commits

Author SHA1 Message Date
László Monda
48429f1efe Add FORCE_BUSPAL 2017-08-06 17:37:49 +02:00
Eric Tang
970dbd0a50 Call InitClock before InitPeripherals 2017-07-14 13:18:09 -07:00
Eric Tang
9a5e146866 Rename InitPeripherials to InitPeripherals 2017-07-12 20:06:11 -07:00
Eric Tang
595ced9902 Treat the LED driver as a peripheral with a driver 2017-07-12 20:03:50 -07:00
László Monda
237ef3c34a Rename action.h to key_action.h 2017-06-15 19:27:44 +02:00
László Monda
ab62a3189c Remove configuration parser test data. 2017-06-15 13:11:27 +02:00
László Monda
1f556a8095 Move deserialize.c into the newly create config_parser subdirectory. 2017-06-15 13:09:31 +02:00
László Monda
6c60af4ba8 Preserve state across resets by putting Wormhole to the newly added .noinit section. Rename The jump to bootloader USB command to reenumerate and generalize accordingly by handling the passed reenumeration mode. 2017-06-04 23:32:48 +02:00
László Monda
40498a15b9 Fix typo by renaming init_peripherials.[ch] to init_peripherals.[ch] 2017-05-23 03:19:24 +02:00
László Monda
b039afc37a Remove UHK_PCB_MAJOR_VERSION macro from the right firmware and default to v7. 2017-05-23 02:29:19 +02:00
László Monda
f9a9ebb1d9 Rename InitBridgeProtocolScheduler() to InitSlaveScheduler() 2017-05-05 01:13:36 +02:00
László Monda
d2eed48418 Rename bridge_protocol_scheduler.[ch] to slave_scheduler.[ch] 2017-05-05 00:17:27 +02:00
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