Archived
1
0
Commit Graph

153 Commits

Author SHA1 Message Date
Jacob Alexander
415a0aab52 Adding automatic port swapping to ICPad
- Works the same as the bootloader variant, waits 1000 ms before attempting to swap
  Only swaps if USB not already intialized
  If USB never initializes, will swap forever

TODO
- Stop swapping if UARTConnect detected and initialized
2015-12-12 15:16:57 -08:00
Jacob Alexander
808e617f9f Merge branch 'master' into ICPad 2015-11-12 22:35:27 +13:00
Jacob Alexander
a25aa84513 Initial support for the ICPad
- Basic support for up to 4 ISSI chips (and partial support for 16 chip configurations)
- Initial USB mux support
  * Required USB re-init procedure
- Initial interconnect mux support
  * Required some state reset commands
2015-11-12 22:33:29 +13:00
Jacob Alexander
38516d5342 Merge pull request #73 from joshuaflanagan/example_script_variables
Stop requiring editing of example scripts
2015-11-10 11:24:03 -08:00
Joshua Flanagan
cd01bfe0ed Stop requiring editing of example scripts
The example scripts include hardcoded values that
do not work for everyone. Instead of requiring the
files to be edited (and dirtying the git tree),
allow them to take command-line arguments.

Also adds better guidance for Mac OSX virtual
serial ports.
2015-11-10 10:32:06 -06:00
Jacob Alexander
11a44f0ea1 Adding comment about using Pillow instead of PIL 2015-11-01 17:19:09 -08:00
Jacob Alexander
a10afbcc6a Adding remote capability LED control
- Works for all nodes in chain
- Synchronized to 30 ms update rate (required for ISSI chip)
  * Interconnect cannot handle full update speed from Scan module
  * Though it should be able to handle quite a bit more than 30 ms updates
2015-10-16 10:02:01 -07:00
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
Jacob Alexander
425ee67331 More compatible name 2015-10-11 23:23:20 -07:00
Jacob Alexander
d9ba60b34e Adding basic ISSI led brightness control capabilities
- 6 modes
  * Single led: decrease, increase, set
  * All leds: decrease, increase, set
- Currently update speed limited to once every 30 ms
  * Likely an I2C driver or ISSI limitation preventing even faster updates
2015-10-09 22:28:31 -07:00
Jacob Alexander
8311f1b083 Updating KType layout to work more nicely with KiiConf 2015-09-29 20:21:29 -07:00
Jacob Alexander
0501e1dfd0 Initial code for KType TKL 2015-09-29 19:29:27 -07:00
Jacob Alexander
893231b355 Adding layer rotation (next/prev) capability
- Requires kll update
- Including udev id update
2015-09-28 19:58:39 -07:00
Jacob Alexander
df7d0be00d Adding example API scripts 2015-09-14 23:37:32 -07:00
Jacob Alexander
2c25f085b6 Single MDErgo1 layout used for KiiConf initial layout setup 2015-09-14 00:48:48 -07:00
Jacob Alexander
85586c574a Updating convenience build scripts to build Left and Right sides
- Includes minor fix for MD1
2015-08-21 23:23:52 -07:00
Jacob Alexander
9c52fb32fa Fixing default ErgoDox layout and adding FlashMode button
- Adds proper flashMode support for all keyboards and microcontrollers (usb and serial)
- flashModeEnabled must be set to 1 otherwise it will only show an error
  * This is on purpose (somewhat dangerous feature as it allows remote flashing)
- Capability cleanup
2015-08-21 19:43:45 -07:00
Jacob Alexander
ef7da32d12 Adding color association to layers 2015-08-18 23:52:48 -07:00
Jacob Alexander
c0fb084eb4 Adding basic support for LCDLayerDisplay using capabilities
- Requires lcdFuncMap.kll instead of stdFuncMap.kll
2015-08-18 23:52:48 -07:00
Jacob Alexander
398018ecf8 Adding examples of custom action/capabilties
- See md1Action.kll for usage
- Includes Block/Unblock
2015-08-16 14:46:26 -07:00
Jacob Alexander
59c14fcdea Adding initial WhiteFox support.
- Includes fix for over-range ScanCodes (would cause hard faults)
- Updated some documentation
- Requires recent kll compiler for the layout
2015-08-16 12:27:12 -07:00
Jacob Alexander
a8caf6e515 Working support for Interconnect
- Supports up to 255 slave nodes (you'll run into ScanCode limitations before then)
- Requires most recent kll compiler update
- Additional debugging output and stats counters
- Noise and parity checking
- Fixed TxFIFO issue when sending buffers larger than the FIFO
- Cleaned up defaultMap.kll
- Added ScanCode caching (reduces interconnect traffic significantly)
- Interconnect module code is conditionally compiled into PartialMap module if required
2015-08-15 21:53:59 -07:00
Jacob Alexander
ecd9923926 Initial UARTConnect scancode support
- Still some issues
- Will require some changes to MatrixARM and PartialMap
  * Currently state information is passed around too frequently
  * Needs to be reduced to state changes only
2015-08-09 00:20:41 -07:00
Jacob Alexander
1c0f94c4ea Adding preliminary MDErgo keymap
- Required updates to CMake in order to handle the multi-layer BaseMaps
2015-08-06 00:36:37 -07:00
Jacob Alexander
0013d7a4f3 Fixing CMake dependency checking for kll_defs.h 2015-08-03 21:42:01 -07:00
Jacob Alexander
d3eaa7a798 Adding ISSILed API calls and default brightness
- Adds override functionality in main module
2015-08-02 16:29:19 -07:00
Jacob Alexander
61cb913833 Using multi-line define support (requires latest kll compiler) 2015-08-02 13:43:28 -07:00
Jacob Alexander
d7b7d31cc2 Adding API to set pixels on LCD screen 2015-08-02 00:00:11 -07:00
Jacob Alexander
9a96c4635d Adding capability to set default image on LCD 2015-08-01 23:13:19 -07:00
Jacob Alexander
5ca169abd7 Adding cli API call to set LCD backlight brightness (16 bit per channel) 2015-08-01 22:47:34 -07:00
Jacob Alexander
64b232c878 Adding 16-bit brightness control to LCD backlight 2015-08-01 21:59:43 -07:00
Jacob Alexander
865be6145f Initial commit of MDErgo1 2015-07-25 15:06:19 -07:00
Jacob Alexander
b6e2f0ebf0 Adding connection type list 2015-07-25 14:54:36 -07:00
Jacob Alexander
55d03f448e UARTConnect enumeration working!
- Fixed cli reflash mode set
- Cleaned up debugging code
- 4 500 000 baud seems to be reliable
- Fixed master selection (assumes slave node unless USB enumerates)
2015-07-18 18:53:21 -07:00
Jacob Alexander
98f796d4df Adding timing based debounce code
- Uses expiry timer to decide on when to allow a state change
- Initial state transitions are unaffected
- Use MinDebounceTime define in kll to configure
- ms granularity
2015-06-19 01:57:16 -07:00
Jacob Alexander
5f262ea4b6 Code cleanup
- Changing header file ifndef define to pragma once's
- Removed duplicate output_com.h's
2015-06-14 14:33:40 -07:00
Jacob Alexander
a6657c8aed Adding example logo to the lcdtest and bmp conversion script. 2015-06-14 14:33:39 -07:00
Jacob Alexander
8942ab63d5 Initial STLcd code.
- Basic screen initialization and clear is working
- Currently SPI is set to a low speed for easy logic analyzer debugging
2015-06-14 14:33:39 -07:00
Jacob Alexander
e41444304b Some initial bringup of the dfu bootloader on the mk20dx256vlh7 2015-06-14 14:33:39 -07:00
Jacob Alexander
c21439cb48 Fixing none parameter. 2015-05-13 21:58:43 -07:00
Jacob Alexander
1acc89e2bd Initial LED support for ISSI IS31FL3731C
- Not ready for advanced support yet
- Basic register and page writing support complete
2015-03-21 17:12:41 -07:00
Jacob Alexander
96e785b571 Merge branch 'master' of https://github.com/smasher816/controller into smasher816-master 2015-03-15 18:27:35 -07:00
Jacob Alexander
ed71f7fad5 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
2015-03-15 16:58:01 -07:00
Rowan Decker
2922fce0f7 Merge remote-tracking branch 'upstream/master' 2015-03-08 20:17:39 -07:00
Rowan Decker
1392571bd7 Fix whitespace
Use a consistent standard - Tabs in front for indenting, spaces after for anything else. This way everything stays nice and lined up while also letting users change there prefered indent level. Most of the new files from Haata where already in this format.
2015-03-08 18:40:01 -07:00
Jacob Alexander
ae6daa0e5c Adding DebounceThrottleDiv define to slow down the debounce rate.
By default:
DebounceThrottleDiv = 0;
This is the default infinity behaviour right now (may be changed in the future).

Increasing DebounceThrottleDiv will increase the scan rate divider.
DebounceThrottleDiv = 1; # Scans half as much
DebounceThrottleDiv = 2; # Scans a quarter as much
DebounceThrottleDiv = 3; # Scans an eigth as much
etc.

For ARM based uCs (like the Infinity) the maximum divider is 32.
2015-03-06 22:18:15 -08:00
Jacob Alexander
a9c5898ba5 Adding configurable DebounceDivThreshold
Can be specified from any .kll file

DebounceDivThreshold = 0xFFFFFFFF
Sets to max debounce, default is 0xFFFF.
The 0xFFFFFFFF is about a 2x longer debounce
The max requires more ram (as it uses 32 bit variables instead of 16).

Added support for submodule capabilities files.
2015-02-28 22:13:17 -08:00
Jacob Alexander
9e3d3aaca4 Initial code for USB cable detection
- Currently actual detection commented out due to issues
2015-02-09 13:21:23 -08:00
Jacob Alexander
1e9f55a0bf Updating setup.cmake files to use Module hierarchy implicitly
- Added AddModule CMake function which simplifies specifying module requirements
2015-01-25 17:55:28 -08:00
Jacob Alexander
e95f3752f0 Fixing pinout 2015-01-25 17:55:28 -08:00