- /*
- // Packet Read
- if ( packet_index == 8 )
- {
- // Disable Error LED, proper key found
- errorLED( 0 );
-
-//#ifdef MAX_DEBUG
- // Crazy Debug (Read the Scan Code)
- char tmpStr[3];
- hexToStr_op( inputData, tmpStr, 2 );
- dPrintStrsNL( "Read Data: 0x", tmpStr );
-//#endif
- // - Map the scan code to the index array -
- // If the 8th bit is high, remove the keypress, else, add the keypress
- // The lower 7 bits are the array index
- KeyIndex_Array[(inputData & 0x7F)] = (inputData & 0x80) ? 0x00 : 0x80;
-
- // Reset Containers
- packet_index = 0;
- inputData = 0xFF;
- }
- // Bad Packet
- else if ( packet_index > 8 )
- {
- // Signal Error
- errorLED( 1 );
-
- char tmpStr[3];
- int8ToStr( packet_index, tmpStr );
- erro_dPrint( "Big packet? Mismatched... ", tmpStr );
-
- packet_index = 0;
- inputData = 0xFF;
- }
- */
- /*
- // Disable keyboard interrupt (does nothing if already off)
- UNSET_INTR();
-
- // Read the clock 8 times
- if ( READ_CLK )
- {
- // Mis-read packet, set back to 0
- if ( packet_index == -1 )
- packet_index = 0;
-
- // Append 1 bit of data
- inputData &= ~(READ_DATA << packet_index);
- packet_index++;
-
- // 8 Bits have been read
- if ( packet_index == 8 )
- {
- // Wait till clock edge falls
- while ( READ_CLK );
-
- // Sample both lines to make sure this is not a data value
- // and definitely the end of packet data blip
- uint16_t badDataCounter = 0;
- while ( !( READ_DATA ) && !( READ_CLK ) )
- badDataCounter++;
-
- if ( badDataCounter < 25 )
- {
-//#ifdef MAX_DEBUG
- // Crazy Debug (Read the Scan Code)
- char tmpStr[3];
- hexToStr_op( inputData, tmpStr, 2 );
- dbug_dPrint( "Read Data: 0x", tmpStr );
-//#endif
- // - Map the scan code to the index array -
- // If the 8th bit is high, remove the keypress, else, add the keypress
- // The lower 7 bits are the array index
- KeyIndex_Array[(inputData & 0x7F)] = (inputData & 0x80) ? 0x00 : 0x80;
- }
- // Even though this is a mis-read packet, we still know what the value is
- else
- {
- // Signal Error
- errorLED( 1 );
- char tmpStr[3];
- hexToStr_op( inputData, tmpStr, 2 );
- erro_dPrint( "Bad packet? Mismatched... 0x", tmpStr );
- }
-
- // Reset Containers
- inputData = 0xFF;
- packet_index = 0;
-
- // Interrupt the keyboard, so we don't get packet pieces...
- SET_INTR();
-
- // Do not wait for next clock, let USB do it's thing (if desired)
- return packet_index;
- }
-
- // Wait till clock edge falls
- while ( READ_CLK );
- }
-
- // Interrupt keyboard if there is no pending packet
- SET_INTR();
- */