- Rx buffers weren't fast enough, had to use DMA :D - Basic LCD remote capabilities are working, single node - Multi-node broadcast seems to have a bug still - DMA ring buffer allowed for significant processing simplification * There is an overrun risk, but the buffer is large and generally there isn't too much data being sent (just very quickly) - Split out LCD layer stack capability into itself and an "exact" version used for updating remote nodes
		
			
				
	
	
		
			48 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1.7 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 = 1; # 4.5 Mbpsa  @ 72 MHz
 | 
						|
UARTConnectBaudFine = 0x0;
 | 
						|
 | 
						|
#UARTConnectBaud = 39; # 115385 bps @ 72 MHz (close to 115200)
 | 
						|
 | 
						|
# Cable Check Command Length
 | 
						|
# This defines the length of the cable command
 | 
						|
# 0xD2 11010010 is used for each check byte
 | 
						|
#
 | 
						|
# For example:
 | 
						|
# Length: 4
 | 
						|
# Args: 0xD2 0xD2 0xD2 0xD2
 | 
						|
UARTConnectCableCheckLength => UARTConnectCableCheckLength_define;
 | 
						|
UARTConnectCableCheckLength = 2;
 | 
						|
 | 
						|
# Connect Enable
 | 
						|
# Define used to indicate to non-connect modules that support should be compiled in
 | 
						|
ConnectEnabled => ConnectEnabled_define;
 | 
						|
ConnectEnabled = 1;
 | 
						|
 |