Add functionality regarding OEM installation of Discovery UAV. Might be used as a template for other vendors regarding installing their own custom root filesystems etc.
Feature list:
--setup_doodle_radio <doodle_radio_ip> - doodle Radio setup, CLI argument
This automatically setups doodle radio module connected to the DroneCore board. It setups basic config such as frequency etc.
--batch_counter <batch_counter> CLI argument - this setups few things:
In general, when using this argument, it sets up counter to and the value is increased after each successful flash. When not using this argument, batch_counter is taken from the counter file (~/.dcs-deploy/flash/<config_id>/batch_counter). The value depends on number of successful flashes between the last time when --batch_counter argument was used.
This sets up Mavlink SYS_ID ( batch_counter == SYS_ID) and also UAV's IP inside Doodle network. The pattern is: 10.223.0.SYS_ID or 10.223.0.conter_value
This is meant for OEM production of UAV's which requires unique IP's and SYS_ID's inside doodle network when producing batch of UAVs for one customer.
--app_size - this argument sets size for APP partition. This needs to be inputed manually, according to custom rootfs used while flashing (see next point)
--rootfs - path to bz2 archive of customized rootfs -> process of creating (backing up) such filesystem is not part of this PR and will not be explained here. It should however be part of dcs-deploy, but I am planning to implement it in a future.
Various first_boot functionalities have been added, please see the diff, it's just minor things which are self-explanatory
Technical details
In OEM setup, images are created EACH FLASH, because of batching functionality which requires slight alter of each rootfs (different ID's)
full/minimal specifier when using --rootfs option is useless, but should be there to not break up the script (might be solved in the future)
Currently, there can only be 254 UAVs inside one batch. Mavlink SYS_ID limitation. However Mavlink should be able to operate in subnets. This is marked for future work.
nvpmodel currently does not work, so there is a limitation where we set power model to the highest one, but not in dcs-deploy process, but we need to create roots where /etc/nvpmodel.conf is defaulted to max power model.
https://github.com/airvolute/mavlink-serial-sys-id-set is not tied (versioned) anyhow to this repo. It's just a built package, but the version is not saved anywhere. But there is a huge predisposition that this tool will not ever change.
I add one more comment - the modes in various nvpmodels have not been tested. Please use with caution when flashing less occuring devices like orin nano 8 GB etc.
Add functionality regarding OEM installation of Discovery UAV. Might be used as a template for other vendors regarding installing their own custom root filesystems etc.
Feature list:
--setup_doodle_radio <doodle_radio_ip>
- doodle Radio setup, CLI argument--batch_counter <batch_counter>
CLI argument - this setups few things:batch_counter
is taken from the counter file (~/.dcs-deploy/flash/<config_id>/batch_counter
). The value depends on number of successful flashes between the last time when--batch_counter
argument was used.SYS_ID
( batch_counter == SYS_ID) and also UAV's IP inside Doodle network. The pattern is:10.223.0.SYS_ID
or10.223.0.conter_value
--app_size
- this argument sets size forAPP
partition. This needs to be inputed manually, according to customrootfs
used while flashing (see next point)--rootfs
- path tobz2
archive of customized rootfs -> process of creating (backing up) such filesystem is not part of this PR and will not be explained here. It should however be part ofdcs-deploy
, but I am planning to implement it in a future.first_boot
functionalities have been added, please see the diff, it's just minor things which are self-explanatoryTechnical details
rootfs
(different ID's)full/minimal
specifier when using--rootfs
option is useless, but should be there to not break up the script (might be solved in the future)deb
application built on Jetson, repo is here https://github.com/airvolute/mavlink-serial-sys-id-setnvpmodel
currently does not work, so there is a limitation where we set power model to the highest one, but not in dcs-deploy process, but we need to create roots where /etc/nvpmodel.conf is defaulted to max power model.Example showing full potential of OEM branch
You can try it out without
--rootfs
option if you do not know how to create it. _NOTE: 512stribog is Airvolute internal config!EDIT 1: formatting EDIT 2: add example EDIT 3: add note EDIT 4: add coorect SYS ID range