Commit Graph

46 Commits

Author SHA1 Message Date
690afdbce5 Rework example code, fix bugs and get to compiling state. Also introduce missing logic for the Matrix code to keep track of what column is active. 2021-11-22 20:10:08 +00:00
8ebc1a5523 Factor pin-reading logic into a new set of classes. 2021-11-22 19:12:44 +00:00
a4f00a0a23 No longer need encoder include in Joystick. 2021-11-22 16:45:52 +00:00
1a4916fd0e For pulsed buttons, implement per-button 'timers' that independently end the pulse instead of having a 250ms delay between every single update... 2021-11-13 22:48:12 +00:00
3b69b7e960 Merge pull request 'Refactor the code to use multiple button classes.' (#4) from refactor-inheritance into main
Reviewed-on: https://git.annabunch.es/annabunches/arduino-joystick/pulls/4
2021-11-13 05:57:38 +00:00
e8a1235a95 Add analog_only option, though this is a stub for now. 2021-11-13 05:56:21 +00:00
e09c21edf1 Add some additionally debugging, fix the 'ole broken switch statement. 2021-11-09 06:11:36 +00:00
a69c2d3364 Refactor code substantially, moving buttons into separate classes and using a lot more pointers to conserve memory until it is needed. 2021-11-08 01:37:30 +00:00
346e612f65 Merge pull request 'Add rotary encoder support, simplify AddMuxButton interface.' (#3) from encoders into main
Reviewed-on: https://git.annabunch.es/annabunches/arduino-joystick/pulls/3
2021-11-07 22:51:18 +00:00
09043919de Add rotary encoder support, simplify AddMuxButton interface. 2021-11-07 22:49:14 +00:00
564f4b2b57 Merge pull request 'Add support for multiplexers' (#2) from multiplexer-support into main
Reviewed-on: https://git.annabunch.es/annabunches/arduino-joystick/pulls/2
2021-11-07 03:16:59 +00:00
fbd786fe96 Fix compile-time errors, which necessitated some refactoring of the interface. 2021-11-02 23:17:25 +00:00
5c2a2736dc Clean up examples directory. 2021-11-02 19:55:35 +00:00
d6e0648abf Add support for multiplexers. This introduces a new dependency, but c'est la vie. 2021-11-01 23:12:30 +00:00
da37d16da7 Merge pull request 'Add new button type, clean up pull-up resistor logic.' (#1) from new-button-behaviors into main
Reviewed-on: https://git.annabunch.es/annabunches/arduino-joystick/pulls/1
2021-11-01 22:29:41 +00:00
bcfd67b50d Fix behavior when using pull-up resistors. 2021-11-01 22:19:05 +00:00
3fd595c7c2 Rename variables for clarity, fix enumeration bug. 2021-11-01 22:09:11 +00:00
398668205d Fixed various errors. 2021-11-01 15:44:32 -04:00
2a35a86230 Reverting more cruft. 2021-11-01 15:39:13 -04:00
6ea6187769 Remove now-useless includes. 2021-11-01 15:38:39 -04:00
5322744f42 Revert to non-STL-using code, since that's not available when compiling for Arduino... 2021-11-01 15:38:01 -04:00
6a692687f5 Add BUTTON_LATCHED_MOMENTARY type, to allow a pushbutton to mimic the behavior of a toggle switch. 2021-11-01 15:24:05 -04:00
c37e4a6789 Add new behavior for a button that sends separate keypresses on press and release. This required a refactor of the button abstraction as well. 2021-11-01 14:49:53 -04:00
9234060532 Add comments to example code. 2015-11-14 20:00:41 -05:00
ec86cf44d6 Trim out a ton of debugging statements that are too verbose to be useful now. 2015-11-13 02:06:16 -05:00
29d1c4a556 Reference the correct object, not a copy of it. 2015-11-13 01:21:49 -05:00
1834a50496 Clean up readme a bit more. 2015-11-13 00:58:24 -05:00
7e24e6afa1 Improve documentation a bit. 2015-11-13 00:57:57 -05:00
2c12a848d0 Add Bounce2 header to examples. Due to an annoying quirk with Arduino, we only include library headers directly referenced by the sketch, so dependencies have to be listed explicitly. 2015-11-13 00:53:06 -05:00
d0038eba44 Move examples into subdirectories so they can be compiled and uploaded by Arduino as-is. 2015-11-13 00:51:55 -05:00
40f6c99922 Fix a bunch of embarrassing typos and syntax errors. That'll teach me to commit code I haven't compiled... 2015-11-13 00:50:16 -05:00
f0cfcdc90d Rework the joystick code to use the Bounce2 library. 2015-11-13 00:45:38 -05:00
9ae0777c6b Speculative fix for latched buttons. 2015-11-12 21:06:19 -05:00
a89a74ac3f Add documentation to the header about the state of axis control. 2015-11-12 20:54:31 -05:00
d8fdb45ded Fix code in complex example. 2015-11-12 20:33:25 -05:00
97056ddee6 Add a slightly more complex example that uses every button type. 2015-11-12 00:31:09 -05:00
763e55d518 A number of logic fixes. Buttons are now released correctly and the button segment of the new API works. 2015-11-11 23:51:02 -05:00
9ddb1a9529 Add logic to handle button presses. 2015-11-11 00:10:45 -05:00
c814b85d59 Implement logic for pulsed button presses. This commit has not been tested. 2015-11-08 23:32:48 -05:00
c2974d3d21 Add some debugging statements. 2015-11-08 23:24:05 -05:00
9af6a589f8 Fix code to compile, now that I am in an environment where I can compile. This commit not tested. 2015-11-08 23:15:58 -05:00
f2d7f48d43 Add an equivalent example using the new Joystick API. Also add pin initializing code to Joystick::AddButton() 2015-11-06 12:07:37 -05:00
c2771502e3 Initial implementation of the new API. Update() isn't functional yet. 2015-11-06 11:36:33 -05:00
cd0fe5829e Add new (stubbed) API that simplifies use of the joystick library. 2015-11-06 10:48:38 -05:00
0cdaf634a7 Add example sketch. 2015-11-04 22:16:07 -05:00
1a0ecea44a Initial commit. 2015-11-04 22:02:09 -05:00