Release v3.3.0b4
Pre-release
Pre-release
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.