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*
-
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.
-
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