Mercurial > louis > kiibohd-controller
view Scan/UARTConnect/capabilities.kll @ 307:ecd2ae35d25c
Initial commit for UARTConnect module
* 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
author | Jacob Alexander <haata@kiibohd.com> |
---|---|
date | Sun, 15 Mar 2015 16:58:01 -0700 |
parents | |
children | 136e47478441 |
line wrap: on
line source
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;