comparison Macro/PartialMap/macro.c @ 362:e4be15c39cce

Adding initial WhiteFox support. - Includes fix for over-range ScanCodes (would cause hard faults) - Updated some documentation - Requires recent kll compiler for the layout
author Jacob Alexander <haata@kiibohd.com>
date Sun, 16 Aug 2015 12:27:12 -0700
parents 7c6ac7b88cda
children 5aa3f6a92682
comparison
equal deleted inserted replaced
361:7c6ac7b88cda 362:e4be15c39cce
454 case 0x01: 454 case 0x01:
455 case 0x02: 455 case 0x02:
456 case 0x03: 456 case 0x03:
457 break; 457 break;
458 default: 458 default:
459 erro_print("Invalid key state"); 459 erro_msg("Invalid key state - ");
460 error = 1; 460 error = 1;
461 break; 461 break;
462 } 462 }
463 break; 463 break;
464 464
465 // Invalid TriggerGuide type 465 // Invalid TriggerGuide type
466 default: 466 default:
467 erro_print("Invalid type"); 467 erro_msg("Invalid type - ");
468 error = 1; 468 error = 1;
469 break; 469 break;
470 }
471
472 // Check if ScanCode is out of range
473 if ( scanCode > MaxScanCode )
474 {
475 warn_msg("ScanCode is out of range/not defined - ");
476 error = 1;
470 } 477 }
471 478
472 // Display TriggerGuide 479 // Display TriggerGuide
473 if ( error ) 480 if ( error )
474 { 481 {
527 switch ( state ) 534 switch ( state )
528 { 535 {
529 case 0x01: // Pressed 536 case 0x01: // Pressed
530 case 0x02: // Held 537 case 0x02: // Held
531 case 0x03: // Released 538 case 0x03: // Released
539 // Check if ScanCode is out of range
540 if ( scanCode > MaxScanCode )
541 {
542 warn_msg("ScanCode is out of range/not defined: ");
543 printHex( scanCode );
544 print( NL );
545 return;
546 }
547
532 macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = scanCode; 548 macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = scanCode;
533 macroTriggerListBuffer[ macroTriggerListBufferSize ].state = state; 549 macroTriggerListBuffer[ macroTriggerListBufferSize ].state = state;
534 macroTriggerListBuffer[ macroTriggerListBufferSize ].type = 0x00; // Normal key 550 macroTriggerListBuffer[ macroTriggerListBufferSize ].type = 0x00; // Normal key
535 macroTriggerListBufferSize++; 551 macroTriggerListBufferSize++;
536 break; 552 break;
547 { 563 {
548 // Only add to macro trigger list if non-off 564 // Only add to macro trigger list if non-off
549 // TODO Handle change for interconnect 565 // TODO Handle change for interconnect
550 if ( state != 0x00 ) 566 if ( state != 0x00 )
551 { 567 {
568 // Check if ScanCode is out of range
569 if ( scanCode > MaxScanCode )
570 {
571 warn_msg("ScanCode is out of range/not defined: ");
572 printHex( scanCode );
573 print( NL );
574 return;
575 }
576
552 macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = scanCode; 577 macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = scanCode;
553 macroTriggerListBuffer[ macroTriggerListBufferSize ].state = state; 578 macroTriggerListBuffer[ macroTriggerListBufferSize ].state = state;
554 macroTriggerListBuffer[ macroTriggerListBufferSize ].type = 0x02; // Analog key 579 macroTriggerListBuffer[ macroTriggerListBufferSize ].type = 0x02; // Analog key
555 macroTriggerListBufferSize++; 580 macroTriggerListBufferSize++;
556 } 581 }
565 { 590 {
566 // Only add to macro trigger list if non-off 591 // Only add to macro trigger list if non-off
567 // TODO Handle change for interconnect 592 // TODO Handle change for interconnect
568 if ( state != 0x00 ) 593 if ( state != 0x00 )
569 { 594 {
595 // Check if LedCode is out of range
596 // TODO
597
570 macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = ledCode; 598 macroTriggerListBuffer[ macroTriggerListBufferSize ].scanCode = ledCode;
571 macroTriggerListBuffer[ macroTriggerListBufferSize ].state = state; 599 macroTriggerListBuffer[ macroTriggerListBufferSize ].state = state;
572 macroTriggerListBuffer[ macroTriggerListBufferSize ].type = 0x01; // LED key 600 macroTriggerListBuffer[ macroTriggerListBufferSize ].type = 0x01; // LED key
573 macroTriggerListBufferSize++; 601 macroTriggerListBufferSize++;
574 } 602 }