Archived
1
0
This repo is archived. You can view files and clone it, but cannot push or open issues or pull requests.
controller/Scan/UARTConnect/capabilities.kll
Jacob Alexander 7e68e81f47 Adding basic remote capabilities + UART Rx DMA buffers
- 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
2015-10-15 00:21:54 -07:00

49 lines
1.7 KiB
Plaintext

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;