Max Görner
0c1e874d74
Replace defines by constexpr variables
...
Several define directives could be replaced by constexpr variable
definitions. This adds type safety with no overhead costs.
Signed-off-by: Max Görner <max@familie-goerner.eu>
6 years ago
Max Görner
49464bbaa6
Remove unused variable to silence warning
...
Signed-off-by: Max Görner <max@familie-goerner.eu>
6 years ago
Jesse Vincent
9005df2486
Merge pull request #8 from keyboardio/f/model01-bound
...
Emit an error when compiling for anything else but the Model01
6 years ago
Gergely Nagy
c482062be4
Emit an error when compiling for anything else but the Model01
...
This fixes #3 .
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
6 years ago
Jesse Vincent
cb4d0cbb03
shellcheck should only be run in the Kaleidoscope repo
6 years ago
Jesse Vincent
b8e10200fa
Update travis.yml to point to new bundle repo
6 years ago
Jesse Vincent
0990214206
Merge pull request #7 from keyboardio/f/license-update-and-contributing
...
License clarification & CONTRIBUTING.md
6 years ago
Gergely Nagy
fcb06e201e
Add CONTRIBUTING.md
...
Copied from Kaleidoscope, as it is applicable here too.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
6 years ago
Gergely Nagy
77bbc8e3df
Relicense under GPLv3 (only), and add headers.
...
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
6 years ago
Gergely Nagy
9c1d576c9a
Drop the V1 plugin API compatibility code
...
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
6 years ago
Jesse Vincent
3a2683b3ee
astyle
6 years ago
Jesse Vincent
aee55ba437
Switch to using the CRGB macro to build our colors. This should make it
...
easier to port to virtual hardware.
6 years ago
Jesse Vincent
276a160666
Remove two includes that we don't need anymore
6 years ago
Gergely Nagy
4441329abf
Override onSetup when using a compatibility layer
...
The default `onSetup` will call `.begin`, to support initializing plugins using
the V1 plugins while using `KALEIDOSCOPE_INIT_PLUGINS`. However, plugins that
implement a compatibility layer so that they can be used with both the new API,
and with `Kaleidoscope.use()` will have a `.begin` method too. Which the default
`onSetup` will call, and we'll register the compatibility layer too, in addition
to the new-style event handlers. This results in many things running twice,
which leads to all kinds of problems.
For this reason, override `onSetup`, so that it does not call `begin`. When used
with `Kaleidoscope.use()`, the plugin will still work, so compatibility is
maintained. But the bug is now gone.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
7 years ago
Jesse Vincent
004d09420c
Merge pull request #6 from keyboardio/f/getKeyswitchStateAtPosition
...
Migrate to hid::getKeyStateAtPosition
7 years ago
Gergely Nagy
417b7de5c1
Migrate to KeyboardHardware.isKeyswitchPressed() & .pressedKeyswitchCount()
...
The old `RxCy` macros were recently changed to be key indexes instead of
per-hand bit indexes, and `KeyboardHardware.isKeyswitchPressed()` and
`KeyboardHardware.pressedKeyswitchCount()` were introduced as a way to peek into
the keyswitch state. This little change migrates TestMode to use them.
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
7 years ago
Gergely Nagy
eb691a143e
Merge pull request #5 from keyboardio/f/plugin-v2
...
Updated to use the new plugin APIs
7 years ago
Gergely Nagy
dbb4152cb2
Updated to use the new plugin API
...
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
7 years ago
Jesse Vincent
b565dab644
pass by value to save some flash
7 years ago
Jesse Vincent
9b44d02e6e
Typo fix
7 years ago
Jesse Vincent
eea0c8b47e
astyle
7 years ago
Jesse Vincent
3dd86e34dd
Refactoring to save 44 more PROGMEM and 12 more RAM
7 years ago
Jesse Vincent
b144f626e4
refactor to reuse some code and be a bit smarter about data.
...
Saves 324 bytes of PROGMEM and 265 bytes of RAM
7 years ago
Gergely Nagy
ea7454ddc2
Correct a typo
...
Signed-off-by: Gergely Nagy <algernon@keyboard.io>
7 years ago
Gergely Nagy
f80525e7e0
Merge pull request #4 from tazlor/patch-1
...
Reset bad keys before each test.
7 years ago
tazlor
4f95cf8415
Reset bad keys before each test.
...
Reset the bad key bitfields each time a test is started, so that each test starts from a clean slate. Without this, it was confusing to restart the test and get an ever-increasing number of keys to appear bad immediately.
7 years ago
Jesse Vincent
043ba2072b
Tweak our chatter timings to hopefully have fewer false positives
7 years ago
Jesse Vincent
c0a2b43c23
Slightly clean up our startup mode to be faster and more likely to eat
...
extra keypresses
7 years ago
Jesse Vincent
a860afa765
astyle. no function changes
7 years ago
Jesse Vincent
b25e7e87e2
Avoid a potential overflow bug
7 years ago
Jesse Vincent
d09ac4043d
Look for chatter across 15 scans, rather than just two.
7 years ago
Jesse Vincent
5f9be8f8f0
Clear the keyscan buffer starting to look for bounce events.
7 years ago
Jesse Vincent
54cbf18e1c
Only treat "key pressed down" events as issues for the debounce counter.
...
That way, we can look for two presses a bit more easily with only one
variable.
7 years ago
Jesse Vincent
8b562fe64b
Switch to a counter for 'cycles since last state change'
...
This uses a bunch more ram, but it's much, much more flexible and the
test mode is optional in user firmware.
7 years ago
Jesse Vincent
75dfcf8ccb
First pass at a new chatter detection mode
7 years ago
Jesse Vincent
2e91dd4a82
Disable hardware debouncing in testmode
7 years ago
Jesse Vincent
86ebc8de02
Revert f3094e1538
...
Chatter detection wasn't actually detecting chatter.
We may reinistate similar code in the future
7 years ago
Jesse Vincent
da79e1a91b
Update Makefile with OSX fixes and new paths
7 years ago
Jesse Vincent
146ab40b9d
Merge pull request #2 from algernon/f/hook-interface-update
...
Stop using deprecated interfaces
7 years ago
Gergely Nagy
4aa7dbe0b5
Stop using deprecated interfaces
...
Use `Kaleidoscope.useLoopHook` instead of `loop_hook_use` (which is getting
deprecated).
Signed-off-by: Gergely Nagy <kaleidoscope@gergo.csillger.hu>
7 years ago
Jesse Vincent
b431927176
Merge pull request #1 from algernon/f/key-chatter-detection
...
Initial attempt at chatter detection
7 years ago
Gergely Nagy
f3094e1538
Initial attempt at chatter detection
...
For every key we press, we keep a map of its state each cycle (for 8 cycles).
When the key is released, we color it white if we had more than two state
changes (ie, chatter), otherwise we turn it blue (all is well).
Signed-off-by: Gergely Nagy <kaleidoscope@gergo.csillger.hu>
7 years ago
Jesse Vincent
243b1ada1a
Update Makefile to fix OS X build
7 years ago
Jesse Vincent
42cabcfa6f
camelCasing wait_for_keypress
7 years ago
Jesse Vincent
d0e85633b8
camelCasing of _matrix functions
7 years ago
Jesse Vincent
978d04625d
CamelCaseifcation of LED related functions
...
s/led_set_crgb_at/setCrgbAt/
s/hsv_to_rgb/hsvToRgb/
s/led_get_crgb_at/getCrgbAt/
s/led_sync/syncLeds/
s/get_led_index/getLedIndex/
s/send_led_data/sendLedData/
s/led_power_fault/ledPowerFault/
7 years ago
Jesse Vincent
ee0ccdd91d
CamelCase of handle_*_key*
7 years ago
Jesse Vincent
51f37933f3
astyle 3.0 caught this style violation
8 years ago
Jesse Vincent
95bd188a54
Make cpplint-noisy happy
8 years ago
Jesse Vincent
c8586985fd
Add toggling on of the on-board green status LEDs.
...
The factory needs this to verify the hardware during build
8 years ago