This is a customised Ardupilot firmware builder which allows to integrate custom patches, recall old builds etc. This is hosted on a private server but publicly accessible and the source code can be downloaded by anyone. Detailed instruction on how to build your custom firmware patcher based with this code are in the readme below. A live version of this app can be accessed here: https://ardupilot.equalmass.com

Nicholas Kruzan 91ee6c3470 Readme: More setup information 4 years ago
static b4bd5c0352 CSS: fix logo width 4 years ago
templates 5684ab1d58 Added info to index.html 4 years ago
.gitignore 519e1f8813 Initial commit 5 years ago
CustomBuild.conf 75a5cc39c7 Updated config file (final GSoC commit) 4 years ago
LICENSE 519e1f8813 Initial commit 5 years ago
README.md 91ee6c3470 Readme: More setup information 4 years ago
__init__.py dbb766af42 Attempted to get apache server running with wsgi (not currently working) 4 years ago
app.py 66eb2236c9 remove optlow dependency 4 years ago
app.wsgi 32ebd62a5a tidy ups of WSGI support 4 years ago

README.md

ArduPilot Custom Firmware Builder - GSoC 2021 Project

Summary

This is a website that generates a downloadable custom ArduPilot firmware, based on user selection.
Website: https://custom.ardupilot.org
Blog post: https://discuss.ardupilot.org/t/gsoc-2021-custom-firmware-builder/74946

For developers

This website uses the Flask library. Flask must be installed before use.
Directories: ardupilot must be within base, which must be in the same directory as CustomBuild.

Directory structure

default directory structure is as follows

/home/<username>
-CustomBuild
-base
--ardupilot

Use --basedir to adjust the base directory, the default one is base. It is expected that you have an environment where ArduPilot can be built. Otherwise, see https://ardupilot.org/dev/docs/building-setup-linux.html

Install Flask

python3 -m pip install --user -U flask

Running

To run:

./app.py

For Apache web server on Ubuntu with WSGI

  • Install mod_wsgi for python 3:

    sudo apt-get install apache2 libapache2-mod-wsgi-py3 python3 python3-pip
    
  • update /etc/apache2/envvars

  • set correct username and group (default is www-data)

  • add export PATH=/opt/gcc-arm-none-eabi-10-2020-q4-major/bin:$PATH to end of file (this is default location if you have followed the dev env setup instructions above)

  • Copy the config file to /etc/apache2/sites-available/ and specify the correct directory.

  • Edit the file as necessary for your use case

  • Enable the file:

    sudo a2ensite CustomBuild.conf
    
  • To restart Apache:

    sudo apache2ctl graceful
    
  • To stop Apache:

    sudo apache2ctl stop
    
  • To start Apache:

    sudo apache2ctl start
    

    Webpage: 127.0.0.1