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.