Commit Graph

983 Commits

Author SHA1 Message Date
László Monda
73239cd4f1 Rename bridgeProtocolCallback to slaveCallback. 2017-08-19 18:12:42 +02:00
László Monda
121299da29 Explicitly reinitialize previousSlaveId, currentSlaveId, Slaves[].isConnected in InitSlaveScheduler() but don't call Slaves[].init() because it'll be called by bridgeProtocolCallback() upon initialization. 2017-08-19 18:07:34 +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
a954c63f62 Rename LedDriverPhase_Initialized to LedDriverPhase_UpdateChangedLedValues 2017-08-19 13:07:21 +02:00
László Monda
67a402ed59 Make I2cAsync{Read,Write} return with status_t 2017-08-19 13:03:41 +02:00
László Monda
d22cb079b4 Rename Slave .initializer to .init and .updater to .update 2017-08-19 13:00:17 +02:00
László Monda
992fea28ad Split LED_DRIVER_STRESS_TEST as I2C_WATCHDOG and LED_DRIVER_FORCE_UPDATE 2017-08-19 12:31:49 +02:00
László Monda
58f36cf6c3 Add I2C_WatchdogOuterCounter, I2C_WatchdogInnerCounter, BridgeCounter and expose them via USB getDebugInfo() 2017-08-19 12:12:49 +02:00
László Monda
35102918b2 Only set IsI2cTransferScheduled to true if the previous I2C operation returned with kStatus_Success 2017-08-19 12:09:08 +02:00
László Monda
0751d4075a Uncomment microseconds_init() for the time being because it interferes with the PIT channel of the watchdog. 2017-08-19 12:07:20 +02:00
László Monda
f7bc6a8f82 Don't memcpy source LED values to target values when LED_DRIVER_STRESS_TEST is set because it's redundant. 2017-08-19 11:58:39 +02:00
László Monda
024c2d5cff Merge branch 'master' into macro-engine 2017-08-11 10:05:32 +02:00
Eric Tang
324f9cdadc Zero all of the macro reports when starting to play a macro 2017-08-10 23:58:24 -07:00
Eric Tang
fa0200b5a9 Fix some guard clauses 2017-08-10 22:10:08 -07:00
Eric Tang
ce84ac3e14 Implement part of the macro engine 2017-08-10 15:09:20 -07:00
László Monda
529219ee99 Init microseconds PIT counter. Can see ticks, but cannot convert them down to microseconds and milliseconds yet. 2017-08-10 23:45:36 +02:00
László Monda
04e3532961 Remove unneeded comments. 2017-08-10 19:09:57 +02:00
László Monda
58f17ba344 Remove microseconds_sysclk.c because we'll use the PIT instead for maintaining time. 2017-08-10 18:04:09 +02:00
László Monda
f56290aa62 Branch based on LED_DRIVER_STRESS_TEST in is31fl3731_driver.c 2017-08-10 15:42:02 +02:00
László Monda
31b01864eb Make sure to send no more than LED_DRIVER_LED_COUNT LED values to the LED driver IC even if LED_DRIVER_LED_COUNT is not an exact multiple of PMW_REGISTER_UPDATE_CHUNK_SIZE. 2017-08-10 15:07:03 +02:00
László Monda
f9583eb4f4 Copy source LED values to target LED values after LedDriverPhase_InitLedValues finished executing. 2017-08-10 13:25:15 +02:00
László Monda
9c5e86df11 Place curly in the same line as LedDriverPhase_Initialized. 2017-08-10 13:20:35 +02:00
László Monda
e9976f6888 Explicitly initialize all LED values in LedDriverPhase_InitLedValues before moving on to LedDriverPhase_Initialized. 2017-08-10 13:16:37 +02:00
László Monda
c81291346f Initialize target LED values with zeros, so that they'll be explicitly set to non-zero values by the LED updater algorithm. This makes the desired LEDs light up. 2017-08-10 01:13:04 +02:00
Eric Tang
968a9b13a4 Move the opening braces of the macro parser functions onto their own lines 2017-08-09 13:31:13 -07:00
Eric Tang
b1fb5f62c1 Make macro_reference_t store the offset of the first macro action and expose ParseMacroAction 2017-08-09 13:13:50 -07:00
Eric Tang
22e49c50d1 Make the macro parser store the data it extracts into macro_action_t variables 2017-08-09 13:09:17 -07:00
Eric Tang
c342f75031 Check the value of macroIndex 2017-08-09 11:50:02 -07:00
Eric Tang
abc0b994a4 Fully implement parsePlayMacroAction 2017-08-09 11:21:45 -07:00
Eric Tang
b0b659940d Limit the number of macros to 255 2017-08-09 11:13:52 -07:00
Eric Tang
558089f856 Check the value of macroCount 2017-08-09 10:02:33 -07:00
Eric Tang
71b43b8625 Use MAX_KEYMAP_NUM instead of a magic value 2017-08-09 09:54:58 -07:00
Eric Tang
c983e58d8e When parsing a macro, store its offset and number of actions 2017-08-09 09:49:30 -07:00
Eric Tang
1c91a7d5d9 Move the opening brace of ParseKeymap onto its own line and remove a stray semicolon 2017-08-08 17:44:57 -07:00
Eric Tang
332f1d9b5a Check the value of abbreviationLen 2017-08-08 17:40:41 -07:00
Eric Tang
220654876a Convert the abbreviationLen member of keymap_reference_t to uint8_t 2017-08-08 17:40:41 -07:00
Eric Tang
1ef10e9a1a Check the values of moduleConfigurationCount and keymapCount 2017-08-08 17:40:41 -07:00
Eric Tang
7306073cee Use 8-bit instead of 16-bit loop indices where they will suffice 2017-08-08 17:40:41 -07:00
Eric Tang
2b97758ad2 Move the opening braces of some functions onto their own lines 2017-08-08 16:20:48 -07:00
László Monda
17fd91c203 Make InitSlaveScheduler() and SetLeds() extern. 2017-08-09 00:17:05 +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
670c6b6e82 Delete the unused slave_type_t enum type. 2017-08-08 23:59:24 +02:00
László Monda
c53f3a1c3f Use LedDriverId_* enum values for the Slaves array. 2017-08-08 23:58:24 +02:00
László Monda
dd5a0e058d Split config_state.[ch] to config_globals.[ch] and basic_types.[ch] 2017-08-08 23:22:18 +02:00
László Monda
84d510435d Merge pull request #57 from UltimateHackingKeyboard/keymap-switching
Implement keymap switching
2017-08-08 22:21:29 +02:00
Eric Tang
aff968f0f9 Fix the type of oldKeymapAbbreviation 2017-08-08 13:00:29 -07:00
Eric Tang
b91d8ca472 Add a missing include 2017-08-08 13:00:08 -07:00
Eric Tang
b07aba1766 Set AllKeymapsCount only once when applying a configuration 2017-08-08 12:40:19 -07:00
Eric Tang
31de620fee Add error checking to parseSwitchKeymapAction 2017-08-08 12:10:44 -07:00