Archived
1
0
Commit Graph

16 Commits

Author SHA1 Message Date
CryHam
7f7c0e8873 Minor styling fixes.
Renamed define to GHOSTING_MATRIX.
Deleted unused files from CK3.
2016-02-25 23:08:37 -08:00
CryHam
953d5a407b Added support for ghosting matrices and code for elimination.
To use define GHOST in matrix.h, see example in Scan/CK3
2016-02-25 23:08:37 -08:00
Jacob Alexander
9ed526deb6 Adding PixelMap
- Includes basic (led) channel testing tools
- Currently hard-coded, needs kll integration before this can be used in general
2016-01-03 16:16:41 -08:00
Jacob Alexander
1e47c7abc2 Initial LED Animiation Support
- Added port swapping to KType
- Added initial KType default keymappings
- Initial PixelMap animiation framework
- Swapped in new i2c library for ISSILed
2016-01-03 10:21:10 -08:00
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
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
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
0013d7a4f3 Fixing CMake dependency checking for kll_defs.h 2015-08-03 21:42:01 -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
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
6e4c28ef84 HUGE AVR RAM optimization (~28%).
- It's possible to get even more, but this is probably as far as I'll go
- PROGMEM is really annoying to use, and makes the code look like ass
- Now the Teensy 2++ should have enough RAM to use PartialMap easily
2014-10-02 22:09:34 -07:00
Jacob Alexander
d6d792fdf9 Changing decToInt to numToInt (adds support for Hex number interpreter)
- CLI now works with hex or decimal numbers
- Hex requires 0x (technically just x would work too)
2014-08-16 12:07:25 -07:00
Jacob Alexander
eabb1c546a Fixing RAM calculator and reduced actual SRAM usage
- Changed static variables to const that should have been const
- Updated CMake files to prepare for MCHCK custom bootloader
- Changed the USB ID numbers and ID number for bootloader
- Only generate DFU or Teensy binary image, not both
- Fixed RAM and FLASH calculator
- Added missing license in delay.c/h (much of it was taken from Teensy source though I've changed a bunch of it)
- Prepared mk20dx.c for upcoming bootloader addition
- mk20dx.h cleanup
- Reduced the MCHCK based flash size for the application image (bootloader changes requires more flash space)
- Fixed bugs in macro.c
- Added keyHold cli command
- Added show pending events debug message for PartialMap macro module
2014-08-15 10:49:44 -07:00
Jacob Alexander
19f42b0a81 Matrix scanning for ARM now functional.
- CLI Debugging options added
- Various bug fixes for the matrix scanning algorithm
- Changed debouncing algorithm
2014-08-02 22:19:33 -07:00
Jacob Alexander
d6345c307f Initial MatrixARM implementation
- Cleaned up Macro and USB callback naming
- Added security jumper for automated reload (MCHCK based only)
- Added additional LED position
2014-08-01 01:26:25 -07:00