<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/shared-module/gamepad, branch 3.x</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=3.x</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=3.x'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2018-05-30T21:11:22+00:00</updated>
<entry>
<title>Add gamepad_singleton to root pointers</title>
<updated>2018-05-30T21:11:22+00:00</updated>
<author>
<name>Radomir Dopieralski</name>
<email>openstack@sheep.art.pl</email>
</author>
<published>2018-05-24T09:25:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b219ce6d377b6e00e1967c9b98966d4229f566ed'/>
<id>urn:sha1:b219ce6d377b6e00e1967c9b98966d4229f566ed</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove volatile from the gamepad struct</title>
<updated>2018-05-23T19:49:20+00:00</updated>
<author>
<name>Radomir Dopieralski</name>
<email>openstack@sheep.art.pl</email>
</author>
<published>2018-05-23T19:49:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=42e36a883b4145e9f8b70022d6f13ceaab4fca2c'/>
<id>urn:sha1:42e36a883b4145e9f8b70022d6f13ceaab4fca2c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Avoid uninitialized gamepad on exception</title>
<updated>2018-05-23T19:39:06+00:00</updated>
<author>
<name>Radomir Dopieralski</name>
<email>openstack@sheep.art.pl</email>
</author>
<published>2018-05-23T19:39:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=240678e71403f54ab31452a7138dfd8ddcfc7f0c'/>
<id>urn:sha1:240678e71403f54ab31452a7138dfd8ddcfc7f0c</id>
<content type='text'>
Raise exceptions before the gamepad_singleton is created.
Also, use mp_raise for creating the exceptions.
</content>
</entry>
<entry>
<title>Cache pullup state in gamepad</title>
<updated>2018-05-23T09:26:16+00:00</updated>
<author>
<name>Radomir Dopieralski</name>
<email>openstack@sheep.art.pl</email>
</author>
<published>2018-05-23T09:26:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=52d05bbc37d063a1fdc359b18b9b112665f92276'/>
<id>urn:sha1:52d05bbc37d063a1fdc359b18b9b112665f92276</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Respect pin's pull in gamepad</title>
<updated>2018-03-31T19:13:02+00:00</updated>
<author>
<name>Radomir Dopieralski</name>
<email>openstack@sheep.art.pl</email>
</author>
<published>2018-03-31T19:13:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=280374fa63e284f272b714358aac32b75a4bee6a'/>
<id>urn:sha1:280374fa63e284f272b714358aac32b75a4bee6a</id>
<content type='text'>
While it is traditional to have buttons on pins that are pulled up, and
have the button connect them to the ground, some CircuitPython boards
(notably the CPX) have the button pins pulled low and the button
connects them to VCC.

This patch makes the gamepad only change the pin's pull if it wasn't
already set when passed to the constructor, and also makes it consider
a button pressed when its value is the opposite of its pull.
</content>
</entry>
<entry>
<title>Gracefully reset the gamepad module</title>
<updated>2017-10-23T03:54:10+00:00</updated>
<author>
<name>Radomir Dopieralski</name>
<email>openstack@sheep.art.pl</email>
</author>
<published>2017-10-21T22:50:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1c97b7f4df63e5fcac655b2749e861eeba4ef79f'/>
<id>urn:sha1:1c97b7f4df63e5fcac655b2749e861eeba4ef79f</id>
<content type='text'>
If a soft reset happens while the gamepad module is scanning for button
presses, there is a moment when the pins get de-initialized, but the
gamepad module is still trying to read them, which ends in a crash.
We can avoid it by disabling scanning on reset.

(cherry picked from commit 470a23d4c9345785bbaa830fdc036b4e982496c6)

Conflicts:
	atmel-samd/main.c
</content>
</entry>
<entry>
<title>Add a `gamepad` module for handling buttons in the background. (#295)</title>
<updated>2017-10-03T20:35:57+00:00</updated>
<author>
<name>Radomir Dopieralski</name>
<email>deshipu@users.noreply.github.com</email>
</author>
<published>2017-10-03T20:35:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f4981677b0b73d286f3af098a4111f8ba6d286bc'/>
<id>urn:sha1:f4981677b0b73d286f3af098a4111f8ba6d286bc</id>
<content type='text'>
The `GamePad` singleton monitors buttons in the background to make sure a button press is never missed and debouncing happens consistently.</content>
</entry>
</feed>
