Releases: pybricks/pybricks-micropython
Releases · pybricks/pybricks-micropython
Release v3.3.0b3
Added
- Added
positive_directiontoDriveBaseinitializer. 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.NONEnot 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
ValueErrorif 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_profiletoprofilein theMotorinitializer. - In
DriveBase,wheel_diameterandaxle_tracknow accept decimal values
for increased precision (support#830).
Removed
- Removed
DriveBase.leftandDriveBase.rightproperties (support#910).
Release v3.3.0b2
Added
- Added
precision_profileparameter toMotorinitializer. 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 toDCMotorandMotorso 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.modelobject to interact with the motor state estimator. - Added
Stop.BRAKE_SMARTasthenoption for motors. It works just like
SMART_COAST, but with passive electrical braking. - Added logging support for control stall and pause state.
Fixed
- Fixed
Lightcontrolling 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 toDCMotorandMotorso they can be closed and
re-initialized later (support#904).
Fixed
- Fixed
Lightcontrolling 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_timenot completing under load (support#903).
Release v3.2.1
Fixed
- Fixed
imu.angular_velocityreturning 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
SystemAbortinstead of
SystemExit(support#834). - Improved stop message raised on
SystemExitandSystemAbort(support#836). - Fixed Technic Hub and City Hub sometimes not shutting down when a Bluetooth
operation is busy (support#814). - Fixed
hub.systemmethods 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_MODEPybricks
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 theSystemExitexception (pybricks-micropython#117). - Changed
PrimeHub.display.image()toPrimeHub.display.icon()and renamed
its kwarg fromimagetoicon(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 onMotorobjects.
Fixed
- Fixed connecting
Remoteon BOOST move hub (support#793).
Removed
- Removed
hub.system.reset()method. - Disabled
micropythonmodule 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_targetraising exception for short moves (support#786).