Adding initial WhiteFox support.
- Includes fix for over-range ScanCodes (would cause hard faults) - Updated some documentation - Requires recent kll compiler for the layout
This commit is contained in:
		
							parent
							
								
									a8caf6e515
								
							
						
					
					
						commit
						59c14fcdea
					
				
					 10 changed files with 566 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -456,7 +456,7 @@ inline void Macro_interconnectAdd( void *trigger_ptr )
 | 
			
		|||
		case 0x03:
 | 
			
		||||
			break;
 | 
			
		||||
		default:
 | 
			
		||||
			erro_print("Invalid key state");
 | 
			
		||||
			erro_msg("Invalid key state - ");
 | 
			
		||||
			error = 1;
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			@ -464,11 +464,18 @@ inline void Macro_interconnectAdd( void *trigger_ptr )
 | 
			
		|||
 | 
			
		||||
	// Invalid TriggerGuide type
 | 
			
		||||
	default:
 | 
			
		||||
		erro_print("Invalid type");
 | 
			
		||||
		erro_msg("Invalid type - ");
 | 
			
		||||
		error = 1;
 | 
			
		||||
		break;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Check if ScanCode is out of range
 | 
			
		||||
	if ( scanCode > MaxScanCode )
 | 
			
		||||
	{
 | 
			
		||||
		warn_msg("ScanCode is out of range/not defined - ");
 | 
			
		||||
		error = 1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Display TriggerGuide
 | 
			
		||||
	if ( error )
 | 
			
		||||
	{
 | 
			
		||||
| 
						 | 
				
			
			@ -529,6 +536,15 @@ inline void Macro_keyState( uint8_t scanCode, uint8_t state )
 | 
			
		|||
	case 0x01: // Pressed
 | 
			
		||||
	case 0x02: // Held
 | 
			
		||||
	case 0x03: // Released
 | 
			
		||||
		// Check if ScanCode is out of range
 | 
			
		||||
		if ( scanCode > MaxScanCode )
 | 
			
		||||
		{
 | 
			
		||||
			warn_msg("ScanCode is out of range/not defined: ");
 | 
			
		||||
			printHex( scanCode );
 | 
			
		||||
			print( NL );
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = scanCode;
 | 
			
		||||
		macroTriggerListBuffer[ macroTriggerListBufferSize ].state    = state;
 | 
			
		||||
		macroTriggerListBuffer[ macroTriggerListBufferSize ].type     = 0x00; // Normal key
 | 
			
		||||
| 
						 | 
				
			
			@ -549,6 +565,15 @@ inline void Macro_analogState( uint8_t scanCode, uint8_t state )
 | 
			
		|||
	// TODO Handle change for interconnect
 | 
			
		||||
	if ( state != 0x00 )
 | 
			
		||||
	{
 | 
			
		||||
		// Check if ScanCode is out of range
 | 
			
		||||
		if ( scanCode > MaxScanCode )
 | 
			
		||||
		{
 | 
			
		||||
			warn_msg("ScanCode is out of range/not defined: ");
 | 
			
		||||
			printHex( scanCode );
 | 
			
		||||
			print( NL );
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = scanCode;
 | 
			
		||||
		macroTriggerListBuffer[ macroTriggerListBufferSize ].state    = state;
 | 
			
		||||
		macroTriggerListBuffer[ macroTriggerListBufferSize ].type     = 0x02; // Analog key
 | 
			
		||||
| 
						 | 
				
			
			@ -567,6 +592,9 @@ inline void Macro_ledState( uint8_t ledCode, uint8_t state )
 | 
			
		|||
	// TODO Handle change for interconnect
 | 
			
		||||
	if ( state != 0x00 )
 | 
			
		||||
	{
 | 
			
		||||
		// Check if LedCode is out of range
 | 
			
		||||
		// TODO
 | 
			
		||||
 | 
			
		||||
		macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = ledCode;
 | 
			
		||||
		macroTriggerListBuffer[ macroTriggerListBufferSize ].state    = state;
 | 
			
		||||
		macroTriggerListBuffer[ macroTriggerListBufferSize ].type     = 0x01; // LED key
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue