Commit Graph

67 Commits

Author SHA1 Message Date
László Monda
569493cbfa Add UsbDebugInfo to aid future debugging via USB. 2017-10-28 17:12:52 +02:00
László Monda
c77286512c Reset keyboard reports just before changing them by UpdateActiveUsbReports(). This seems to completely solve the repeated media key issue. 2017-10-25 18:31:52 +02:00
László Monda
95faf64b76 Remove the now unused FORCE_BUSPAL macro. 2017-10-21 03:50:07 +02:00
László Monda
25f8017879 Get rid of the now obsoleted bootloader_config.h 2017-10-20 00:52:32 +02:00
László Monda
d4200524d7 Make the firmware depend of the wormhole.[ch] files of the bootloader. Remove local wormhole.[ch] files. 2017-10-13 22:09:52 +02:00
László Monda
377fe4a2b2 Make EEPROM transfers receive an operation and a buffer id parameter. This allows reading and writing both staging and validated user configurations which will aid future debugging. This API is also cleaner. 2017-10-05 02:45:22 +02:00
László Monda
6c2e806d6d Fix coding style. 2017-09-28 21:16:42 +02:00
László Monda
751810ec4c Explicitly add void to the argument list of zero argument functions. 2017-09-28 03:03:11 +02:00
László Monda
9dde9ee917 Replace SLOT_ID_* macros with SlotId_* enum values. 2017-09-26 20:01:18 +02:00
László Monda
2227508130 Use __WFI() instead of asm("wfi") for better readability. 2017-09-22 02:19:16 +02:00
László Monda
e6b5b3b3a5 Read the hardware configuration area and the user configuration area of the EEPROM into the RAM and try to apply it. 2017-09-14 09:55:29 +02:00
László Monda
430c02f0ed Remove test actions and related code. 2017-08-19 13:32:02 +02:00
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