Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement file server & software updater #11

Merged
merged 1 commit into from
Mar 17, 2021
Merged

Conversation

pavel-kirienko
Copy link
Member

@pavel-kirienko pavel-kirienko commented Mar 5, 2021

Install this branch for testing:

pip install git+https://github.com/UAVCAN/yakut@bootloader

How to use it:

It is better to run it with --verbose to see how decisions are made under the hood.

Fixes #4

@davidbitton
Copy link

Can I use this to add an addt'l step to the Ardupilot build process script(s)? Currently, waf has the --upload option, but that's only for USB connected devices. Thanks.

@pavel-kirienko
Copy link
Member Author

Sure. You will need to alter the build system to make it generate binary files following the naming convention expected by this tool (a compatible naming convention is also used by the PX4 bootloader). After the output is generated, you launch the tool and make it distribute the new binary to the node(s).

You could also keep the tool running in the background continuously (launched like yakut file-server --plug-and-play=allocation.db --update-software /path/to/build/outputs) but in this case you will need to manually power cycle your nodes to trigger the check.

@davidbitton
Copy link

@pavel-kirienko i wasn't aware that a node checks for new firmware on startup. Is that in AP_Periph or is that in the Zubax hardware?

@pavel-kirienko
Copy link
Member Author

The check is done by this tool, not the node.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement the firmware update command
2 participants