Releases: pybricks/pybricks-micropython
Releases · pybricks/pybricks-micropython
Release v3.3.0b3
Added
- Added
positive_direction
toDriveBase
initializer. It defaults to
clockwise to ensure this is not a breaking change. Users can now change it
to counterclockwise, which is more common in engineering (support#989). - Added support for setting drivebase acceleration and deceleration separately
using a tuple, consistent with single motors (support#881).
Fixed
- Fixed allocator interfering with motor control when memory usage is high (support#977).
- Fixed
Stop.NONE
not working properly for some drivebase geometries (support#972). - Fixed reading programs larger than 65535 bytes on boot on SPIKE hubs. ([support#996).
- Various Bluetooth stability and reliability improvements on BOOST Move hub
(support#320, support#324, support#417). - Fixed Bluetooth random address not changing on City and Technic hubs (support#1011).
Changed
- Methods like
control.limits()
now check the user input and raise a
ValueError
if a value is out of bounds (support#484). This affects only
settings setters, which are usually used as a one-off. Nothing changes to
speed values set at runtime. These are still capped to valid numbers without
raising exceptions. - Renamed
precision_profile
toprofile
in theMotor
initializer. - In
DriveBase
,wheel_diameter
andaxle_track
now accept decimal values
for increased precision (support#830).
Removed
- Removed
DriveBase.left
andDriveBase.right
properties (support#910).
Release v3.3.0b2
Added
- Added
precision_profile
parameter toMotor
initializer. This can be used
to reduce control gains to get smoother motions for heavy loads or heavily
gear applications where precision is less relevant.
Changed
- Changed how the PID values are initialized for each motor. This may lead to
slightly altered performance.
Fixed
- Fixed move hub crashing on boot.
- Fixed position based commands starting from the wrong position if the
previous command was a time based command that could not hit its
target (support#956). - Fixed EV3 motors getting out of date with the updated motor
controllers (support#941) and (support#955). - Fixed long delay when connecting to remote on SPIKE hubs (support#466).
Release v3.3.0b1
Added
- Added support for frozen modules when building from source (support#829).
- Added
close()
method toDCMotor
andMotor
so they can be closed and
re-initialized later (support#904). - Fixed workaround for motor hold drifting away under external input
movement (support#863). - Added
Motor.model
object to interact with the motor state estimator. - Added
Stop.BRAKE_SMART
asthen
option for motors. It works just like
SMART_COAST
, but with passive electrical braking. - Added logging support for control stall and pause state.
Fixed
- Fixed
Light
controlling wrong ports on Move hub (support#913). - Reduced motor motion while holding position and added configurable setter and
getter for this deadzone. - Fixed type checking optimized out on Move hub (support#950).
- Fixed end-user stall flag coming up too early in position based control.
- Further reduced stutter at low motor speeds (support#366).
Release v3.2.3
Added
- Added
close()
method toDCMotor
andMotor
so they can be closed and
re-initialized later (support#904).
Fixed
- Fixed
Light
controlling wrong ports on Move hub (support#913). - Fixed type checking optimized out on Move hub (support#950).
Release v3.2.2
Fixed
- Fixed some objects do not implement
__hash__
(support#876). - Fixed
Motor.run_time
not completing under load (support#903).
Release v3.2.1
Fixed
- Fixed
imu.angular_velocity
returning the values ofimu.acceleration
.
Release v3.2.0
Changed
- Buffered stdout is flushed before ending user program.
Fixed
- Fixed SPIKE/MINDSTORMS hubs advertising after disconnect while user program
is still running (support#849). - Fixed Essential hub hanging on boot when bootloader entered but USB cable
not connected (support#821). - Fixed button needs debouncing on City/Technic/Essential hubs (support#716).
- Fixed motor hold drifting away under external input movement (support#863).
Release v3.2.0c1
Fixed
- Fixed
motor.control.limits()
not working if acceleration wasNone
. - Fixed crash on calling methods on uninitialized objects (support#805).
- Fixed crash on calling methods in
__init__(self, ...)
before
callingsuper().__init(...)
on uninitialized objects (support#777). - Reverted Pybricks Code stop button raises
SystemAbort
instead of
SystemExit
(support#834). - Improved stop message raised on
SystemExit
andSystemAbort
(support#836). - Fixed Technic Hub and City Hub sometimes not shutting down when a Bluetooth
operation is busy (support#814). - Fixed
hub.system
methods not working (support#837).
Changed
- Changed default XYZ orientation of the Technic Hub and the Essential Hub to
match the SPIKE Prime Hub and Move Hub (support#848).
Release v3.2.0b6
Added
- Added support for
PBIO_PYBRICKS_COMMAND_REBOOT_TO_UPDATE_MODE
Pybricks
Profile BLE command. - Implemented
Motor.load()
which now measures load both during active
conditions (run
) and passive conditions (dc
).
Changed
- The Pybricks Code stop button will force the program to exit even if the user
catches theSystemExit
exception (pybricks-micropython#117). - Changed
PrimeHub.display.image()
toPrimeHub.display.icon()
and renamed
its kwarg fromimage
toicon
(support#409). - Deprecated
Control.load()
,Control.stalled()
, andControl.done()
methods, but they will continue to exist in the firmware until further
notice ([support#822]). New scripts are encouraged to use the (improved)
variants available directly onMotor
objects.
Fixed
- Fixed connecting
Remote
on BOOST move hub (support#793).
Removed
- Removed
hub.system.reset()
method. - Disabled
micropython
module on Move Hub.
Release v3.2.0b5
Added
- Added
DriveBase.stalled()
for convenient stall detection. - Added
DriveBase.done()
for convenient completion detection, which is
practical when combined withwait=False
. - Added
Motor.done()
for convenient completion detection, which is
practical when combined withwait=False
. Especially on Move Hub, which
does not have the control attribute enabled.
Fixed
- Fixed brief hub freeze on
pybricks.common.Logger.save()
when not connected
to the computer (support#738). - Fixed drive base stall flags being set while not stalled (support#767).
- Fixed
Motor.run_target
raising exception for short moves (support#786).