Any change to the flight control source code can have severe impacts on the vehicle's safety.
If you are interested in using a custom PX4 version please submit a ticket.
Download AuterionOS Base Image
In order to package and deploy your own application you need a base AEPX4 image. The latest release can be downloaded from the Auterion Suite (Auterion Enterprise PX4 for Skynode). The image can be used with local software updates or with the development workflow explained below.
The various modifications can all be combined into a single .auterionos file, which contains the AuterionOS base system as well as the APX4 firmware for the Autopilot.
A summary of the most common packaging commands can be found below:
# Basic package command# - includes APX4 configuration from ./fmu/config# - includes SSH keys from ./authorized_keys# - includes custom Apps from ./appsmakepackage-update \version=my-version \artifactPath=~/Download/artifact.auterionos \outputArtifactPath=./output/update.auterionos# Same as above, but also include # - APX4 firmware from ./fmu/binaries:makepackage-update \injectFMU=1 \version=my-version \artifactPath=~/Download/artifact.auterionos \outputArtifactPath=./output/update.auterionos
Make sure to replace my-version with the version name you want to give the artifact, as well as setting <APX4 Release>to the correct path where the base image is located. Note, that the above packaging command does not deploy anything to Skynode yet, refer to the next section for instructions to deploy an image onto a local Skynode.
Include APX4 Firmware Binaries
If you are interested in using a custom PX4 version please contact Auterion Support.
You can inject your own custom APX4 binaries by adding the files to aepx4-developer-tools-2.x.x/fmu/binariesfolder and use the argument injectFMU=1 when running the package-updatecommand, for example:
Include APX4 Configuration
When you package an artifact, by default the FMU configuration files from aepx4-developer-tools-2.x.x/fmu/config will be merged with the FMU configuration inside the artifact.
If you want to force the injection by removing all other (pre-existing) configuration files inside the artifact, you can use the argument forceInjectFMUConfiguration=1 when running the command make package-update.
Installing a new image on Skynode
After packaging AuterionOS and including your customizations, it's time to flash the new .auterionos onto a Skynode. For developers there are two simple ways to do that locally:
Update the device with the following command using the auterion developer tools:
By default, the command will use the image stored in output/update.auterionos, but you can use the artifactPath argument to specify another artifact, for example: