Commit Graph

44 Commits

Author SHA1 Message Date
László Monda
7a45fd7e6c Add uhk_module_id_t. Use UhkModuleId_LeftKeyboardHalf in the Slaves array. Set UHK_MODULE_MAX_COUNT to 3. 2017-08-09 00:02:44 +02:00
László Monda
68e2dab576 Add config.h and move LED_DRIVER_STRESS_TEST and FIXED_BUSPAL_BOOTLOADER to it. 2017-08-06 17:28:32 +02:00
László Monda
01baa31241 Rename slave_driver_led_driver.[ch] to is31fl3731_driver.[ch] 2017-08-06 16:09:33 +02:00
László Monda
fef35bf68e Rename slave_driver_uhk_module.[ch] to uhk_module_driver.[ch] 2017-08-06 16:06:40 +02:00
László Monda
78eac147d6 Only delay the initialization of the left LED driver until the KL03 pulls up its SDB. 2017-08-03 01:42:11 +02:00
László Monda
546ca5d0b2 Implement much more efficient LED driver updater algorithm that only talks to the LED driver ICs when necessary. Add LED_DRIVER_STRESS_TEST macro. 2017-07-31 17:30:33 +02:00
Eric Tang
58899f092d Merge branch 'led-display' of https://github.com/UltimateHackingKeyboard/firmware into led-display 2017-07-14 11:02:49 -07:00
László Monda
7ed508943f Try to display "ABC" on the display. 2017-07-14 19:51:56 +02:00
Eric Tang
59d03cc5b9 Merge branch 'master' into led-display 2017-07-14 09:27:32 -07:00
László Monda
282c77c850 Fix LED driver update, so it'll keep working after initialization. 2017-07-14 17:40:41 +02:00
Eric Tang
335c77a158 Expose LedDriverStates 2017-07-12 20:44:18 -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
f8883e416d Rename slaves to Slaves now that it's extern. 2017-06-01 11:01:49 +02:00
László Monda
d0678bbb51 Make sure that SDB of the LED driver is pulled high before talking to it over I2C. 2017-06-01 10:59:41 +02:00
László Monda
7be20e34c2 Reinitialize slaves after reconnecting them. 2017-06-01 01:32:57 +02:00
László Monda
909c6196b2 Add slave driver initializers to the slaves array. 2017-06-01 01:21:04 +02:00
László Monda
4ef45e2e3c Rename led_driver_state_t.frames to .ledValues 2017-06-01 01:08:56 +02:00
László Monda
22ea86eaf1 Get rid of ledsBuffer in favor of led_driver_state_t.frames 2017-06-01 01:01:08 +02:00
László Monda
281d3f547f Capitalize the first letter of ledDriverId_* enum values. 2017-06-01 00:51:19 +02:00
László Monda
328865b63b Update LEDs in small chunks, improving the responsivity of the keys of the left keyboard half dramatically. 2017-06-01 00:46:51 +02:00
László Monda
a9fa765f99 Extract currentLedDriverState. 2017-05-31 23:59:39 +02:00
László Monda
0e41e403a9 Move LED control register commands to ledDriverStates. 2017-05-31 23:29:02 +02:00
László Monda
24addf1648 Add led_driver_state_t.i2cAddress 2017-05-31 22:46:43 +02:00
László Monda
2bb86eab70 Utilize the phase member of the LED driver state structure. 2017-05-31 22:33:06 +02:00
László Monda
291fddb0a4 Start to consolidate LED driver state into a struct. 2017-05-31 22:10:14 +02:00
László Monda
0bfdffa4e3 Remove uhkModuleExternalStates for the time being. Caching will be reintroduced later. 2017-05-31 21:48:45 +02:00
László Monda
3b181c1f87 Rename UHK module *state* identifiers to *phase*. 2017-05-31 21:45:33 +02:00
László Monda
55f505ac8c Rename LED driver *state* varibles to *phase*. 2017-05-31 21:41:11 +02:00
László Monda
1e290ebc34 Verify the integrity of key state update messages using CRC16-CCITT. 2017-05-31 03:26:50 +02:00
László Monda
a8cb94ef15 Extract KEY_STATE_BUFFER_SIZE 2017-05-31 01:34:35 +02:00
László Monda
0edd56fa82 Serialize key states much more efficiently by using bits instead of bytes. 2017-05-31 01:26:16 +02:00
László Monda
8ac4f5a069 Rename bridge_protocol.h to slave_protocol.h 2017-05-29 22:17:40 +02:00
László Monda
1daf6db53c Rename *bridge* identifiers to *slave* 2017-05-29 22:14:11 +02:00
László Monda
03ef36cb3a Enable the LED of the ISO key. 2017-05-23 22:20:32 +02:00
László Monda
58f295638b Rename InitUhkModules() to UhkModuleSlaveDriver_Init() and UhkSlaveUhkModuleHandler() to UhkModuleSlaveDriver_Update() 2017-05-05 02:21:59 +02:00
László Monda
3853adc02c Rename InitLedSlaveDriver() to LedSlaveDriver_Init() and UhkSlaveLedDriverHandler() to LedSlaveDriver_Update() 2017-05-05 02:18:39 +02:00
László Monda
1b2d819944 Fix indentation. 2017-05-05 02:16:10 +02:00
László Monda
575b10af24 Fix indentation. 2017-05-05 02:15:18 +02:00
László Monda
107a771a4c Add slave_driver_initializer_t, slaveDriverInitializers, and initialize slaves in a more organized fashion. 2017-05-05 02:06:13 +02:00
László Monda
a13a458683 Rename BridgeSlave*Handler() to UhkSlave*Handler() 2017-05-05 01:16:12 +02:00
László Monda
b21cd8b493 Make the slave scheduler always jump to the next slave by disallowing slave drivers to lock the scheduler. 2017-05-05 01:08:39 +02:00
László Monda
b649d83d4f Rename #ifdef macro guards of recently renamed files according to the new filenames. 2017-05-05 00:19:39 +02:00
László Monda
c291107312 Rename bridge_slave_*.[ch] to slave_driver_*.[ch] 2017-05-05 00:08:18 +02:00
László Monda
03a18e7acb Rename the bridge_slaves directory to slave_drivers. 2017-05-04 23:43:12 +02:00