Is there have a pyuavcan firmware update example?

I am writting upper computer of firmware updater base on pyuavcan protocol by libcanard v1.0.
is there have a pyuavcan firmware update example?

Now there is:

Feedback welcome.

Thank you very much, I have some idea about file name:

NAME-HWMAJ.HWMIN-SWMAJ.SWMIN.VCS.CRC.app*

  1. The fields are terminated by a literal string “.app”, or it can be string “boot”? that means need update bootloader. sometimes we need consider update bootloader.

  2. VSC can be used as build number? sometimes we use CI to generate release binaries, it`s easy to identify build number. and it is decimal.

You can append arbitrary data after the .app. The server will recognize, say, com.example.product-1.0.app.boot as a valid package despite the .boot at the end. For the server itself it makes no difference if the package is intended for the bootloader or whatever.

I can’t see why not, sure. It’s up to you. The server only checks this number to see if it is the same on the device and on the local package file; if there is a different and the other two version numbers are not older, it will trigger an update.

@davids5 fyi

Issue:
in yakut/cmd/compile.py line:180
gpi = pyuavcan.dsdl.compile(

pyuavcan now use pyuavcan.dsdl.generate_package

on branche bootloader

You can’t use this branch with stable PyUAVCAN. You probably ran into a dependency management problem, try this:

pip uninstall -y pyuavcan pydsdl nunavut yakut
pip install git+https://github.com/UAVCAN/yakut@bootloader

install_requires =
pyuavcan[transport_udp,transport_serial,transport_can_pythoncan] @ git+https://github.com/UAVCAN/pyuavcan@uavcan.file#egg=pyuavcan-1.2.0b5

https://github.com/UAVCAN/pyuavcan@uavcan.file#egg=pyuavcan-1.2.0b5
no found

This is odd. Try this:

pip install git+https://github.com/UAVCAN/pyuavcan@uavcan.file

Sorry, I have pyuavcan cache repository