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
Matrix
objects giving bad values. - Fixed Bluetooth sometimes locking up on Technic/City hubs (support#567).
- Fixed
GyroDriveBase
being 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
GyroDriveBase
class to control drivebase steering with the gyro. - Added optional
window
parameter toMotor.speed
to 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_direction
fromDriveBase
initializer. This was
temporarily added in the previous beta release to facilitate gyro support,
but made it more complicated than needed (support#992). - Removed
pybricks.geometry
in an effort to reduce the number of modules with
just a few elements.Matrix
andvector
have moved totools
. TheAxis
enum was moved toparameters
. Each item can still be imported from its
original location for backwards compatibility.