Dan Halbert
b5e283af68
Merge pull request #1808 from pewpew-game/gamepad-doc
...
Update GamePad docs to include pull-downs
2019-04-17 11:06:19 -04:00
Radomir Dopieralski
e46bf7e7c6
Update GamePad docs to include pull-downs
2019-04-17 11:18:30 +02:00
Scott Shawcroft
6132a05fd9
Include cleanup and style tweaks
2019-04-16 10:19:07 -07:00
Scott Shawcroft
c927e6b938
Split GamePadShift from GamePad to save space on most boards.
2019-04-15 15:40:06 -07:00
Radomir Dopieralski
4dc286fa14
Reorganize the gamepad code
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
049e80993d
Sync gampad_singleton with the long lived copy
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
ae60968563
More refactoring
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
7e89beeb31
Optimize the size of code for gamepad
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
a7925930fa
Read one bit per system clock tick in GamePadShift
2019-04-12 20:43:29 +02:00
Radomir Dopieralski
6ff4e0ecb0
Add GamePadShift for handling shift-register-based buttons
2019-04-12 20:43:29 +02:00
Scott Shawcroft
747f2cfe26
Add subclass support to displayio.
...
Also, swap make_news to accept a kwarg map and refine param checking.
Fixes #1237
2019-01-14 17:29:19 -08:00
Scott Shawcroft
933add6cd8
Support internationalisation.
2018-08-07 14:58:57 -07:00
Radomir Dopieralski
b219ce6d37
Add gamepad_singleton to root pointers
2018-05-30 23:11:22 +02:00
Radomir Dopieralski
c37b69e1a5
Make the gamepad singleton long-lived
...
So that it is not later moved.
2018-05-30 23:11:22 +02:00
Radomir Dopieralski
42e36a883b
Remove volatile from the gamepad struct
2018-05-23 21:49:20 +02:00
Radomir Dopieralski
f17a235b40
Raise an error if more than 8 buttons passed to gamepad
2018-05-23 21:41:56 +02:00
Radomir Dopieralski
240678e714
Avoid uninitialized gamepad on exception
...
Raise exceptions before the gamepad_singleton is created.
Also, use mp_raise for creating the exceptions.
2018-05-23 21:39:06 +02:00
Radomir Dopieralski
edf2935ab1
Make gamepad.get_pressed work when gamepad was created from frozen code
...
For some reason, when the GamePad is created from frozen code, the
get_pressed method would always return 0. This fixes it, and makes it
work properly no matter how the object was created.
2018-05-23 12:44:22 +02:00
Radomir Dopieralski
52d05bbc37
Cache pullup state in gamepad
...
Don't check the pin's pull direction on every tick, instead cache it
at the beginning. Also avoid a "can't get pull of output pin" error
when one of the pins passed is in output mode.
2018-05-23 11:26:16 +02:00
Radomir Dopieralski
6ca4fd82ed
Add a type check to the gamepad module
...
Make sure that all the arguments passed are indeed DigitalInOut.
This avoids crashes when the users pass something else.
2018-03-31 20:41:16 +02:00
Radomir Dopieralski
0ff128ec03
Fix example for gamepad
...
The example code for the gamepad module would skip detected
button presses in the code that waits for a button to be released,
because it would run it even when no button is pressed.
Also updated the example pin names to not use RX and TX.
2018-01-11 17:06:53 +01:00
Radomir Dopieralski
f4981677b0
Add a gamepad
module for handling buttons in the background. ( #295 )
...
The `GamePad` singleton monitors buttons in the background to make sure a button press is never missed and debouncing happens consistently.
2017-10-03 13:35:57 -07:00