Releases: pybricks/pybricks-micropython
Releases · pybricks/pybricks-micropython
3.4.0
Changed
- Additional error checking in
pybricks.robotics.Carsetup (support#1502).
3.4.0b3
Added
- Added
joystick_deadzonekeyword argument to suppress controller drift in
theXboxController(support#1473). - Added
pybricks.tools.runningto return if a stopwatch is currently running
(support#1490).
Changed
- Use
Buttonparameter forXboxController(support#1488), not strings. - If
pybricks.tools.run_taskis called without arguments, it will return
whether the runloop is running or not (support#1499). - On Move Hub, the verbosity of error messages is further reduced to reduce
the firmware size, to allow for bug fixes/updates (pybricks-micropython#240). - Re-implemented
pybricks.robotics.Carin C so it can be enabled on Move Hub
which does not support frozen modules (support#1502).
Fixes
- Fix
pybricks.iodevicesnot allowing writing -128 value (support#1366) and
raise informative error messages instead of clamping the input.
Release v3.3.0
Changed
- Bump version from release candidate to 3.3.0.
Release v3.3.0c1
Added
- Added
MoveHub.imu.tilt()(support#539). - Enabled hub init orientation support for Move Hub (support#539).
Changed
- Allow Move Hub to ignore
broadcastinstead of raising an exception while
connected.
Fixed
- Fixed Move Hub accelerometer not working since v3.3.0b5 (support#1269).
- Fixed Bluetooth chip locking up on Technic and City hubs when broadcasting (support#1095).
- Fixed potential crash when GC occurs while observing BLE data (support#1278)
- Fixed Technic Hub and City Hub eventually stopping observing BLE data after
a few minutes (support#1096) by implementing an auto-reset workaround.
Release v3.3.0b9
Added
- Added
hub.buttonsas an alias forhub.buttonon buttons with one
hub (support#1254). - Implemented
brakeforDriveBase(support#881).
Changed
- The
use_gyromethod is added to the normalDriveBaseclass instead of
having a separateGyroDriveBaseclass. Since the latter was only released
in beta versions, this is not a breaking change (support#1054). - New color distance function used by the color sensors that is more
consistent when distinguishing user-provided colors (pybricks-micropython#104). - Updated the unreleased BLE API to ensure sent and received objects are the
same. Allows one of the supported types or a list/tuple thereof.
Fixed
- Improved external device detection speed (support#1140).
- Fixed Powered Up Tilt Sensor not working (support#1189).
- Fixed
surface=Falsenot working inColorSensor(support#1232). - Fixed
PUPDevice.writenot selecting correct mode (support#1213). - Fixed City Hub turning back on after shutdown (support#1195).
- Fixed SPIKE hubs not broadcasting at all when attempting to broadcast in a
tight loop (support#1151).
Release v3.3.0b8
Added
- Added
use_gyromethod to toggle gyro use on and off in theGyroDriveBase
class (support#1054). - Added
pybricks.tools.read_input_byte()function ([support#1102]).
Changed
- Relaxed thresholds that define when the IMU is stationary, to make the
defaults work better in noisier conditions (support#1105).
Fixed
- Fixed Technic (Extra) Large motors not working (support#1131) on all hubs.
- Fixed Powered Up Light not working (support#1131) on all hubs.
- Fixed UART sensors not working on Technic Hub (support#1137).
- Fixed incorrect number of ports on City Hub (support#1131).
Release v3.3.0b7
Added
- Added
'modes'entry to the dictionary returned byPUPDevice.info(). It
is a tuple of(name, num_values, data_type)tuples for each available mode. - Added
pybricks.tools.read_input_byte()function (support#1102). - Added
pybricks.tools.hub_menu()function (support#1064).
Changed
- Changed internal drivers for LEGO devices (motors and sensors) on all platforms.
Fixed
- Fixed hub will not power off when Bluetooth chip crashes on City and Technic hubs (support#1095).
- Fixed
off()method inColorLightMatrix,UltrasonicSensor,ColorSensor(support#1098).
Release v3.3.0b6
Added
- Enabled builtin
settype (except on BOOST Move hub) (support#402). - Added experimental support for multitasking (pybricks-micropython#166).
Changed
- Updated BTStack to v1.5.5.
Fixed
- Fixed BLE broadcast not working on City hub.
- Fixed crash on BTStack hubs when program stopped during call to
ble.broadcast(). - Fixed BLE broadcast not working on Technic hub when not connected (support#1086).
- Fixed delayed sensor sync on boot on City hub (support#747).
Release v3.3.0b5
Added
- Enabled the
gcmodule (except on BOOST Move hub). - Added
hub.bleattribute for broadcasting/observing (pybricks-micropython#158).
Changed
- Updated MicroPython to v1.20.0.
Fixed
- Fixed stdin containing
0x06command byte (support#1052). - Fixed motor process causing delays on ev3dev (support#1035).
Release v3.3.0b4
Fixed
- Fixed gyro on Technic Hub occasionally giving a bad value, which made it
not calibrate properly (support#1026). - Fixed discrepancy in heading value across hubs by accounting for sampling
time (support#1022). - Fixed iterator for
Matrixobjects giving bad values. - Fixed Bluetooth sometimes locking up on Technic/City hubs (support#567).
- Fixed
GyroDriveBasebeing slow to respond to heading perturbations when
driving at high speed (support#1032).
Added
- Added
pybricks.tools.cross(a, b)to get a vector cross product. - Added experimental implementation of
hub.imu.heading()([support#912]). - Added support for reading single-axis rotation, which is useful in
applications like balancing robots, where full 3D orientation is not
required, or even undesired. - Added
hub.imu.ready()to check that the IMU has been calibrated and is
ready for use. - Added
GyroDriveBaseclass to control drivebase steering with the gyro. - Added optional
windowparameter toMotor.speedto specify the
differentiation window size that determines the average speed. This lets the
user choose smaller values to get a more responsive (but noisier) or higher
values to get a smoother (but more delayed) speed signal.
Removed
- Removed
positive_directionfromDriveBaseinitializer. This was
temporarily added in the previous beta release to facilitate gyro support,
but made it more complicated than needed (support#992). - Removed
pybricks.geometryin an effort to reduce the number of modules with
just a few elements.Matrixandvectorhave moved totools. TheAxis
enum was moved toparameters. Each item can still be imported from its
original location for backwards compatibility.