|  |  |  | @ -20,6 +20,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | 
			
		
	
		
			
				
					|  |  |  |  |  */ | 
			
		
	
		
			
				
					|  |  |  |  | #include <stdint.h> | 
			
		
	
		
			
				
					|  |  |  |  | #include <stdbool.h> | 
			
		
	
		
			
				
					|  |  |  |  | #include <string.h> | 
			
		
	
		
			
				
					|  |  |  |  | #include <avr/io.h> | 
			
		
	
		
			
				
					|  |  |  |  | #include <avr/wdt.h> | 
			
		
	
		
			
				
					|  |  |  |  | #include <avr/interrupt.h> | 
			
		
	
	
		
			
				
					|  |  |  | @ -188,9 +189,8 @@ int serial_transaction(void) { | 
			
		
	
		
			
				
					|  |  |  |  |         return 1; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  |     RXLED0; | 
			
		
	
		
			
				
					|  |  |  |  |     for (int i = 0; i < ROWS_PER_HAND; ++i) { | 
			
		
	
		
			
				
					|  |  |  |  |         matrix[slaveOffset+i] = serial_slave_buffer[i]; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  |     memcpy(&matrix[slaveOffset], | 
			
		
	
		
			
				
					|  |  |  |  |         (void *)serial_slave_buffer, sizeof(serial_slave_buffer)); | 
			
		
	
		
			
				
					|  |  |  |  |     return 0; | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | #endif | 
			
		
	
	
		
			
				
					|  |  |  | @ -201,19 +201,9 @@ uint8_t matrix_scan(void) | 
			
		
	
		
			
				
					|  |  |  |  |         matrix_master_scan(); | 
			
		
	
		
			
				
					|  |  |  |  |     }else{ | 
			
		
	
		
			
				
					|  |  |  |  |         matrix_slave_scan(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | //        if(serial_slave_DATA_CORRUPT()){
 | 
			
		
	
		
			
				
					|  |  |  |  | //          TXLED0;
 | 
			
		
	
		
			
				
					|  |  |  |  |           int offset = (isLeftHand) ? ROWS_PER_HAND : 0; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |           for (int i = 0; i < ROWS_PER_HAND; ++i) { | 
			
		
	
		
			
				
					|  |  |  |  |               matrix[offset+i] = serial_master_buffer[i]; | 
			
		
	
		
			
				
					|  |  |  |  |           } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | //        }else{
 | 
			
		
	
		
			
				
					|  |  |  |  | //          TXLED1;
 | 
			
		
	
		
			
				
					|  |  |  |  | //        }
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         int offset = (isLeftHand) ? ROWS_PER_HAND : 0; | 
			
		
	
		
			
				
					|  |  |  |  |         memcpy(&matrix[offset], | 
			
		
	
		
			
				
					|  |  |  |  |                (void *)serial_master_buffer, sizeof(serial_master_buffer)); | 
			
		
	
		
			
				
					|  |  |  |  |         matrix_scan_quantum(); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  |     return 1; | 
			
		
	
	
		
			
				
					|  |  |  | @ -233,9 +223,8 @@ uint8_t matrix_master_scan(void) { | 
			
		
	
		
			
				
					|  |  |  |  | //        i2c_slave_buffer[i] = matrix[offset+i];
 | 
			
		
	
		
			
				
					|  |  |  |  | //    }
 | 
			
		
	
		
			
				
					|  |  |  |  | #else // USE_SERIAL
 | 
			
		
	
		
			
				
					|  |  |  |  |     for (int i = 0; i < ROWS_PER_HAND; ++i) { | 
			
		
	
		
			
				
					|  |  |  |  |         serial_master_buffer[i] = matrix[offset+i]; | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  |     memcpy((void *)serial_master_buffer, | 
			
		
	
		
			
				
					|  |  |  |  | 	   &matrix[offset], sizeof(serial_master_buffer)); | 
			
		
	
		
			
				
					|  |  |  |  | #endif | 
			
		
	
		
			
				
					|  |  |  |  | #endif | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |