* Keyboard interconnect using two uarts * Supports daisy chain addressing using a master/slave direction communication scheme - Still needs more testing - Functions have been tested alone to be generally working
		
			
				
	
	
		
			31 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
Name = UARTConnectCapabilities;
 | 
						|
Version = 0.1;
 | 
						|
Author = "HaaTa (Jacob Alexander) 2015";
 | 
						|
KLL = 0.3a;
 | 
						|
 | 
						|
# Modified Date
 | 
						|
Date = 2015-03-15;
 | 
						|
 | 
						|
# UART Buffer Size
 | 
						|
# Number of bytes to reserve for each side of UARTConnect
 | 
						|
# For true NKRO support must be at least: <# of Keys> x 3 + 5
 | 
						|
UARTConnectBufSize => UARTConnectBufSize_define;
 | 
						|
UARTConnectBufSize = 128; # MDErgo1 requires at least a 119 byte buffer
 | 
						|
 | 
						|
# UART Speed
 | 
						|
# *NOTE* This must be changed on every device in the chain or else UARTConnect will not work
 | 
						|
# The faster the speed, the lower the latency, but higher chance for an error
 | 
						|
UARTConnectBaud => UARTConnectBaud_define;
 | 
						|
UARTConnectBaudFine => UARTConnectBaudFine_define;
 | 
						|
# Generally, leave BaudFine at zero unless trying to tune the link to an external UART
 | 
						|
# You'll want to look at the specific chip datasheet for the exact equation
 | 
						|
#
 | 
						|
# Example of 115200 Baud using a 48 MHz clock (mk20dx128vlf5)
 | 
						|
# 48 MHz / ( 16 * Baud ) = BDH/L
 | 
						|
# Baud: 115200 -> 48 MHz / ( 16 * 115200 ) = 26.0416667
 | 
						|
# Thus baud setting = 26
 | 
						|
# NOTE: If finer baud adjustment is needed see UARTx_C4 -> BRFA in the datasheet
 | 
						|
# Baud fine setting = 0x02
 | 
						|
UARTConnectBaud = 26;
 | 
						|
UARTConnectBaudFine = 0x02;
 | 
						|
 |