Mercurial > louis > kiibohd-controller
changeset 411:065959b4f7bd
Merge pull request #78 from kevinfrei/infiniteLoops
Fix a handful of infinite loops that occur with more than 254 macros
author | Jacob Alexander <haata@kiibohd.com> |
---|---|
date | Sat, 06 Feb 2016 18:23:34 -0800 |
parents | 494cd4d2e414 (current diff) 8fa2619aa60e (diff) |
children | e7a3be42ae1e 0a402c8e362a |
files | |
diffstat | 1 files changed, 6 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/Macro/PartialMap/macro.c Sat Feb 06 18:21:17 2016 -0800 +++ b/Macro/PartialMap/macro.c Sat Feb 06 18:23:34 2016 -0800 @@ -135,7 +135,7 @@ // Key Trigger List Buffer and Layer Cache // The layer cache is set on press only, hold and release events refer to the value set on press TriggerGuide macroTriggerListBuffer[ MaxScanCode ]; -uint8_t macroTriggerListBufferSize = 0; +var_uint_t macroTriggerListBufferSize = 0; var_uint_t macroTriggerListLayerCache[ MaxScanCode ]; // Pending Trigger Macro Index List @@ -557,7 +557,7 @@ // Add trigger to the Interconnect Cache // During each processing loop, a scancode may be re-added depending on it's state - for ( uint8_t c = 0; c < macroInterconnectCacheSize; c++ ) + for ( var_uint_t c = 0; c < macroInterconnectCacheSize; c++ ) { // Check if the same ScanCode if ( macroInterconnectCache[ c ].scanCode == trigger->scanCode ) @@ -699,7 +699,7 @@ uint8_t scanCode = ((TriggerGuide*)&triggerMacro->guide[ pos - TriggerGuideSize ])->scanCode; // Lookup scanCode in buffer list for the current state and stateType - for ( uint8_t keyIndex = 0; keyIndex < macroTriggerListBufferSize; keyIndex++ ) + for ( var_uint_t keyIndex = 0; keyIndex < macroTriggerListBufferSize; keyIndex++ ) { if ( macroTriggerListBuffer[ keyIndex ].scanCode == scanCode ) { @@ -905,7 +905,7 @@ TriggerMacroVote vote = TriggerMacroVote_Invalid; // Iterate through the key buffer, comparing to each key in the combo - for ( uint8_t key = 0; key < macroTriggerListBufferSize; key++ ) + for ( var_uint_t key = 0; key < macroTriggerListBufferSize; key++ ) { // Lookup key information TriggerGuide *keyInfo = ¯oTriggerListBuffer[ key ]; @@ -1065,7 +1065,7 @@ inline void Macro_updateTriggerMacroPendingList() { // Iterate over the macroTriggerListBuffer to add any new Trigger Macros to the pending list - for ( uint8_t key = 0; key < macroTriggerListBufferSize; key++ ) + for ( var_uint_t key = 0; key < macroTriggerListBufferSize; key++ ) { // TODO LED States // TODO Analog Switches @@ -1586,7 +1586,7 @@ info_msg("Pending Key Events: "); printInt16( (uint16_t)macroTriggerListBufferSize ); print(" : "); - for ( uint8_t key = 0; key < macroTriggerListBufferSize; key++ ) + for ( var_uint_t key = 0; key < macroTriggerListBufferSize; key++ ) { printHex( macroTriggerListBuffer[ key ].scanCode ); print(" ");