Releases: fasteddy516/CircuitPython_JoystickXL
JoystickXL 0.4.3
This is a bugfix release to address an error in the processing of final values for inverted axes. If your project uses invert=True
on an axis input you will definitely want to upgrade to this version.
Although not part of the library itself, this release also adds a couple of utility scripts in the extras
folder to assist with development.
Note that there are now separate downloads that correspond to the version of CircuitPython you're targeting - *_cp9.zip
is for CircuitPython 9.x, *_cp8.zip
is for CircuitPython 8.x, and if you're running anything older than that you'll have to extract the uncompiled .py
files from Source Code (zip)
and use them as-is or compile them yourself with an appropriately ancient version of mpy-cross. 🤪
JoystickXL 0.4.2
This is a small (but long overdue) update that addresses the following:
-
Actually implemented the
invert
functionality for axis inputs. (Thank you to @kmatthews123 for pointing out the omission to me, and @assortedminorfixes for the pull request and implementation suggestion!) -
Added graceful (read: silent) handling of
OSError
exceptions that get thrown occasionally when attempting to send a USB HID report to a busy host. (Thank you to @jamesra for bringing this issue to my attention and creating a pull request/suggested fix!) -
Updated
TestConsole
to automatically use theGP2
input for the test button on RP2040-based devices.
Note that there are now separate downloads that correspond to the version of CircuitPython you're targeting - *_cp9.zip
is for CircuitPython 9.x, *_cp8.zip
is for CircuitPython 8.x, and if you're running anything older than that you'll have to extract the uncompiled .py
files from Source Code (zip)
and use them as-is or compile them yourself with an appropriately ancient version of mpy-cross. 🤪
JoystickXL 0.4.1
This is a minor update to accommodate a CircuitPython API change that was implemented in version 7.0.0-beta.0.
Note that - due to an issue in the beta.0 release - you will need to be running beta.1 (or newer) when released, or the "Absolute Newest" build 2021-08-24-da320c3 in the meantime.
JoystickXL 0.4.0
This release includes the following improvements:
-
Input sources are no longer limited to
Pin
orVirtualInput
objects - you can assign any object with a.value
attribute of the correct type (bool
for buttons,int
for axes) as an input source. This makes it much easier to work directly with many of the off-board peripherals that already have CircuitPython drivers. The example section has code demonstrating the use of an MCP23017 GPIO expander, an MCP3008 analog-to-digital converter and an MPR121 capacitive touch breakout. -
The
TestConsole()
now supports using a digital input to resend the last typed command. This helps when testing an application that has to remain in focus in order to capture joystick events. -
The
TestConsole()
axis+
and-
commands have been replaced byu
andd
, and they now ramp the axis up/down rather than just jump momentarily to the min/max value. -
'TestConsole()' now includes a
p
command to set the press time for button/hat triggers. (Default press time is 0.25s.) -
The
.suppress
attribute of input objects has been renamed tobypass
. It sounds less draconian. -
Axes 7 and 8 were previously swapped if
num_axes
was set to 8. This has been corrected. -
The calculated idle position of axis objects was previously off by 1 (
127
instead of128
). This has been corrected, -
The documentation has been improved, and a number of new examples have been added.
JoystickXL 0.3.0
This is the first release of JoystickXL that should be ready for use in the wild!
Be sure to check out the documentation for help, including getting started, example code and full API documentation, all available on Read the Docs.
If you have an issue with this release, please report it in the Issues section here on GitHub.
JoystickXL 0.2.0
This version includes a number of API additions and improvements. All example code and API documentation have been updated to reflect these changes.
JoystickXL 0.1.0
Initial Release