v3.5.0#
v3.5.0 introduces the ulab NumPy-like module, the OpenRV library, image segmentation support, iterable image objects, and freezes all the scripts/libraries modules into the firmware; TensorFlow also accepts more model types. The default CAN baudrate changed — read the breaking changes below.
Highlights#
ulab— a NumPy-like array module is now available.OpenRV library added.
Image segmentation — TensorFlow image-segmentation support.
Iterable images — image objects can now be iterated.
Frozen libraries — all
scripts/librariesmodules are frozen into the firmware.Breaking: the default CAN baudrate changed from 250 Kbps to 125 Kbps — see the breaking changes.
New features#
OpenRV — added the OpenRV library.
Image segmentation — added support for TensorFlow image segmentation.
Iterable images — image objects are now iterable.
TensorFlow — the TensorFlow library now accepts more model types.
Added MobileNet script examples (with model locations), a native code-emitters example, a
modbus_apriltag.pyexample, and a light-shield example.
Other changes and improvements#
Froze all the
scripts/librariesmodules into the firmware; updated the modbus library / RTU-slave example; increased the face-detection example contrast; updated thecpufreqexample and the H7cpufreq_scalingfrequencies.
Breaking API changes#
User-visible API breaks between v3.5.0.beta.3 and v3.5.0. Scope: Python C-modules in modules/ and Python libraries in scripts/libraries/.
The breaking change is a behavior change (same API, different result) — re-check affected scripts. Each commit hash links to its diff on GitHub.
Default CAN baudrate changed to 125 Kbps (behavior)#
The default pyb.CAN baudrate changed from 250 Kbps to 125 Kbps. Scripts that constructed a CAN bus without an explicit baudrate (e.g. CAN(2, CAN.NORMAL)) now run at 125 Kbps and will not communicate with peers still at 250 Kbps. Pass an explicit baudrate (or prescaler / sjw / bs1 / bs2) to restore 250 Kbps.
Commits: d3a9a06ef
Migration checklist#
Set an explicit CAN baudrate on any pyb.CAN bus that relied on the old 250 Kbps default (the CAN baudrate change). All other scripts run unchanged.