Skip to content

Releases: fede2cr/cpy-meshtastic

v0.0.3

Choose a tag to compare

@github-actions github-actions released this 26 Sep 02:38

Firmware

board image bootloader
Muzi Base Duo circuitpython-muzi_base_duo-*.uf2 ships with one
Meshnology W12 circuitpython-meshnology_w12-*.uf2 tinyuf2-meshnology_w12-*.zip, flash once

Both images are CircuitPython from fede2cr/circuitpython@cpy-rust
with the board added, and CIRCUITPY_ENABLE_MPY_NATIVE=1 set.
They do not carry the pin-interrupt or _bleio read-queue patches,
so repl.py collects packets only when asked (listen(),
poll()), and the Bluetooth phone link does not work. The modules
below are xtensawin only, so the Base Duo image has none to run
yet.

Base Duo: double-tap reset, drag the .uf2 onto the drive
that appears.

W12, the first time: it has no UF2 bootloader. Hold BOOT, tap
reset, release BOOT, and write TinyUF2 over USB:

esptool.py --chip esp32s3 write_flash 0x0 combined.bin

combined.bin is in tinyuf2-meshnology_w12-*.zip. This erases
what was on the board, so it then comes up as W12BOOT by itself
at every start until the .uf2 is dragged onto it once. To update
later: tap reset, and while the LED is lit press BOOT, then drag
the new .uf2 onto W12BOOT. Double-tap reset does not work on this
board. update-tinyuf2-meshnology_w12-*.uf2 updates a TinyUF2
that is already installed, dragged onto W12BOOT.

Modules

Unzip onto the CIRCUITPY drive: code.py, repl.py and
settings.toml at the root, lib/meshtastic/ beside them.

Built for xtensawin — the ESP32-S3. A native .mpy is machine
code, so this will not load on any other CPU.

The firmware must be built with CIRCUITPY_ENABLE_MPY_NATIVE=1.
The images above are. Official CircuitPython builds do not set
it — at 10.3.1 only five boards across every port do, and none of
them are Espressif — so
lib/meshtastic/__init__.mpy fails to import on a stock image with
"native code in .mpy unsupported". That file is the Rust half the
rest of the library is built on, so the whole package needs it.

The radio driver is not in here. Take the .mpy for the part your
board carries from its own release and copy it into lib/:

radio release
LR2021 cpy-lr2021
LR1121 cpy-lr1121

MESH_RADIO in settings.toml chooses which adapter is used.

Full Changelog: v0.0.2...v0.0.3

v0.0.2

Choose a tag to compare

@github-actions github-actions released this 26 Sep 01:10

Firmware

board image bootloader
Muzi Base Duo circuitpython-muzi_base_duo-*.uf2 ships with one
Meshnology W12 circuitpython-meshnology_w12-*.uf2 tinyuf2-meshnology_w12-*.zip, flash once

Both images are CircuitPython from fede2cr/circuitpython@cpy-rust
with the board added, and CIRCUITPY_ENABLE_MPY_NATIVE=1 set.
They do not carry the pin-interrupt or _bleio read-queue patches,
so repl.py collects packets only when asked (listen(),
poll()), and the Bluetooth phone link does not work. The modules
below are xtensawin only, so the Base Duo image has none to run
yet.

Base Duo: double-tap reset, drag the .uf2 onto the drive
that appears.

W12, the first time: it has no UF2 bootloader. Hold BOOT, tap
reset, release BOOT, and write TinyUF2 over USB:

esptool.py --chip esp32s3 write_flash 0x0 combined.bin

combined.bin is in tinyuf2-meshnology_w12-*.zip. This erases
what was on the board. After that, and for every update: tap
reset, and while the LED is lit press BOOT. W12BOOT appears;
drag the .uf2 onto it. Double-tap reset does not work on this
board. update-tinyuf2-meshnology_w12-*.uf2 updates a TinyUF2
that is already installed, dragged onto W12BOOT.

Modules

Unzip onto the CIRCUITPY drive: code.py, repl.py and
settings.toml at the root, lib/meshtastic/ beside them.

Built for xtensawin — the ESP32-S3. A native .mpy is machine
code, so this will not load on any other CPU.

The firmware must be built with CIRCUITPY_ENABLE_MPY_NATIVE=1.
The images above are. Official CircuitPython builds do not set
it — at 10.3.1 only five boards across every port do, and none of
them are Espressif — so
lib/meshtastic/__init__.mpy fails to import on a stock image with
"native code in .mpy unsupported". That file is the Rust half the
rest of the library is built on, so the whole package needs it.

The radio driver is not in here. Take the .mpy for the part your
board carries from its own release and copy it into lib/:

radio release
LR2021 cpy-lr2021
LR1121 cpy-lr1121

MESH_RADIO in settings.toml chooses which adapter is used.

Full Changelog: v0.0.1...v0.0.2

v0.0.1

Choose a tag to compare

@github-actions github-actions released this 25 Sep 05:15

Unzip onto the CIRCUITPY drive: code.py, repl.py and
settings.toml at the root, lib/meshtastic/ beside them.

Built for xtensawin — the ESP32-S3. A native .mpy is machine
code, so this will not load on any other CPU.

The firmware must be built with CIRCUITPY_ENABLE_MPY_NATIVE=1.
Official CircuitPython builds do not set it — at 10.3.1 only five
boards across every port do, and none of them are Espressif — so
lib/meshtastic/__init__.mpy fails to import on a stock image with
"native code in .mpy unsupported". That file is the Rust half the
rest of the library is built on, so the whole package needs it.

The radio driver is not in here. Take the .mpy for the part your
board carries from its own release and copy it into lib/:

radio release
LR2021 cpy-lr2021
LR1121 cpy-lr1121

MESH_RADIO in settings.toml chooses which adapter is used.

Full Changelog: https://github.com/fede2cr/cpy-meshtastic/commits/v0.0.1