László Monda
|
fd43e81e46
|
Query module key count and pointer count in separate messages instead of a combined message for better clarity.
|
2017-12-15 02:13:58 +01:00 |
|
László Monda
|
c994a97d03
|
Make the modules transfer their firmware version to the device. Fix the message length of the module protocol version.
|
2017-12-15 01:42:58 +01:00 |
|
László Monda
|
d59ba83d99
|
Make the modules transfer a module protocol version composed of a major, a minor and a patch number.
|
2017-12-15 01:28:13 +01:00 |
|
László Monda
|
c1b887cea8
|
Rename UhkModulePhase_*ProtocolVersion to UhkModulePhase_*ModuleProtocolVersion.
|
2017-12-15 01:16:27 +01:00 |
|
László Monda
|
6a54944cb1
|
Make UsbCommand_JumpToModuleBootloader() more robust by not making it dependent on the state of the module driver.
|
2017-12-13 01:27:04 +01:00 |
|
László Monda
|
003f313947
|
Make UsbCommand_JumpToSlaveBootloader expect a slave slot id instead of a uhkModuleDriverId.
|
2017-11-06 00:32:08 +01:00 |
|
László Monda
|
ef34094004
|
Add jump to slave bootloader command.
|
2017-10-12 19:57:41 +02:00 |
|
László Monda
|
fd7f2c3b25
|
Expose the currently attached module ids via getKeyboardState()
|
2017-10-05 20:53:15 +02:00 |
|
László Monda
|
bea13f063a
|
UpperCamelCase UhkModuleStates now that it's a global.
|
2017-10-05 20:27:57 +02:00 |
|
László Monda
|
9842a6ff60
|
Merge UhkModuleVars into uhkModuleStates. Also make uhkModuleStates globally accessible because it must be accessed by other parts of the firmware, so it's unpractical to keep it private and write accessor functions for it.
|
2017-10-05 20:18:57 +02:00 |
|
László Monda
|
6be45c4521
|
Add uhk_module_state_t->isEnumerated and maintain its state.
|
2017-10-05 19:56:26 +02:00 |
|
László Monda
|
96eb2ef7a3
|
Make slaves send their protocol version to the master.
|
2017-10-05 17:55:59 +02:00 |
|
László Monda
|
bd76fb44c2
|
Make slaves send their module id to the master.
|
2017-10-05 17:26:10 +02:00 |
|
László Monda
|
6658d62805
|
Group module phases.
|
2017-10-04 02:52:53 +02:00 |
|
László Monda
|
c707f0e408
|
Transfer a synchronization message to make I2C recovery more robust.
|
2017-10-04 02:24:34 +02:00 |
|
László Monda
|
3079d527b1
|
Add uhk_slave_t.disconnect() callback so that upon disconnecting the left keyboard half, the left LED driver IC can be marked as disconnected too, so it'll be reinitialized upon reconnect. This usually didn't happen because LED states are cached so the LED drivers are rarely spoken to.
|
2017-10-01 02:47:29 +02:00 |
|
László Monda
|
ea71253d6a
|
Remove KEY_STATE_SIZE in favor of the more general BOOL_BYTES_TO_BITS_COUNT() macro.
|
2017-09-30 00:57:10 +02:00 |
|
László Monda
|
c23d327384
|
Rename uhkModuleId to uhkModuleDriverId in UhkModuleSlaveDriver_Init() and UhkModuleSlaveDriver_Update()
|
2017-09-30 00:40:13 +02:00 |
|
László Monda
|
04047eb128
|
Make modules send their features (key count and whether they have pointer input) to the master upon enumeration.
|
2017-09-30 00:08:28 +02:00 |
|
László Monda
|
69f3c86185
|
Rename UhkModuleId_* to UhkModuleDriverId_*.
|
2017-09-28 23:26:58 +02:00 |
|
László Monda
|
6ec5140eca
|
Add and initialize firmwareI2cAddress and bootloaderI2cAddress to uhk_module_state_t.
|
2017-09-28 18:10:33 +02:00 |
|
László Monda
|
f80a88c419
|
RX messages are per-module by nature, so instead of using a singleton, add rxMessage to uhk_module_state_t.
|
2017-09-28 17:17:30 +02:00 |
|
László Monda
|
ef2c4a1e7f
|
Add uhk_module_state_t containing module variables and phase. Merge uhkModuleTargetStates and uhkModulePhases to uhkModuleStates.
|
2017-09-28 17:06:56 +02:00 |
|
László Monda
|
de21cfc07e
|
Rename uhk_module_state_t to uhk_module_vars_t.
|
2017-09-28 16:57:46 +02:00 |
|
László Monda
|
8b5b224bf3
|
Compute KEY_STATE_SIZE the right way.
|
2017-09-28 04:05:44 +02:00 |
|
László Monda
|
ecf1ad2468
|
Don't use the extern keyword for functions because it's redundant.
|
2017-09-28 02:37:55 +02:00 |
|
László Monda
|
9a4c49e9a6
|
Extract MAX_PWM_BRIGHTNESS.
|
2017-09-28 01:35:04 +02:00 |
|
László Monda
|
b88c6e4291
|
Add i2c_message_t and use it all across the codebase. This will allow handling variable-length I2C messages and validation with minimal effort. The test LED and brightness PWM update features got temporarily broken and will fix them soon.
|
2017-09-25 03:03:14 +02:00 |
|
László Monda
|
2aa74853b5
|
Add UhkModulePhase_ProcessKeystates and extract relevant code into its section.
|
2017-09-22 03:13:53 +02:00 |
|
László Monda
|
cc57daa674
|
Rename UhkModulePhase_SendTestLedCommand to UhkModulePhase_SetTestLed
|
2017-09-22 02:59:12 +02:00 |
|
László Monda
|
2e33a83e29
|
Rename UhkModulePhase_SendPwmBrightnessCommand to UhkModulePhase_SetLedPwmBrightness
|
2017-09-22 02:55:00 +02:00 |
|
László Monda
|
43c07dde21
|
Rename UhkModulePhase_SendKeystatesRequestCommand to UhkModulePhase_RequestKeyStates
|
2017-09-22 02:51:01 +02:00 |
|
László Monda
|
946d3c1451
|
Add kStatus_Uhk_IdleSlave and ditch the global IsI2cTransferScheduled. Make slave drivers return status_t and utilize that value instead.
|
2017-08-19 17:47:56 +02:00 |
|
László Monda
|
430c02f0ed
|
Remove test actions and related code.
|
2017-08-19 13:32:02 +02:00 |
|
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
|
fef35bf68e
|
Rename slave_driver_uhk_module.[ch] to uhk_module_driver.[ch]
|
2017-08-06 16:06:40 +02:00 |
|