Project Drohnen: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 61: | Line 61: | ||
== Betaflight == | == Betaflight == | ||
=== Disable ModemManager === | |||
sudo systemctl stop ModemManager | |||
sudo systemctl disable ModemManager | |||
=== | |||
=== Build And Start Current Betaflight Configurator === | === Build And Start Current Betaflight Configurator === | ||
Line 72: | Line 78: | ||
gulp release --linux64 | gulp release --linux64 | ||
apps/betaflight-configurator/linux64/betaflight-configurator | apps/betaflight-configurator/linux64/betaflight-configurator | ||
=== Build And Flash Betaflight Firmware === | |||
git clone https://github.com/betaflight/betaflight.git | |||
cd betaflight | |||
git checkout 4.0.6 | |||
make arm_sdk_install | |||
make JHEF7DUAL | |||
* In Betaflight Configurator select "Firmware Update", then select "Load Firmware (local)". | |||
* Choose betaflight/obj/*.hex file | |||
* Select "Flash Firmware" (sometimes needed twice to start the flash) | |||
* After flash connect again. Log includes build time. |
Revision as of 23:45, 23 September 2019
Drohnen
Taranis Q X7
Docker Build Environment
A build is only fully supported with some debian environments (see OpenTX 2.2 Linux Build Instructions). Using docker to solve this for opensuse:
sudo zypper in docker sudo systemctl start docker sudo usermod "$USER" -a -G docker
Create docker image
Roughly following OpenTX-2.3-Docker-Build-Instructions
Opened issue https://github.com/opentx/opentx/issues/6773 to get rid of the sed requirement below
tag="2.3" pcb="X7" opts="-DGVARS=YES -DLUA=YES -DLUA_COMPILER=YES -DHELI=NO -DDEBUG=NO -DCMAKE_BUILD_TYPE=Release" git clone --recursive https://github.com/opentx/opentx.git cd opentx git checkout "$tag" cd radio/util sed -i 's@/debian/pool@/debian-archive/debian/pool@' Dockerfile docker build -t "opentx-$tag" . cd - mkdir "build-$pcb" docker run -v "$PWD:/opentx" -e "OPENTX_VERSION_SUFFIX=$tag" -w "/opentx/build-$pcb" "opentx-$tag" cmake -DPCB="$pcb" $opts ../ docker run -v "$PWD:/opentx" -e "OPENTX_VERSION_SUFFIX=$tag" -w "/opentx/build-$pcb" "opentx-$tag" make firmware
Other build options (e.g PCB, TRANSLATIONS, ...) can be looked up with
docker run -v "$PWD:/opentx" -e "OPENTX_VERSION_SUFFIX=$tag" -w "/opentx/build-$pcb" "opentx-$tag" cmake -LH
Companion
Companion can be built with
docker run -v "$PWD:/opentx" -e "OPENTX_VERSION_SUFFIX=$tag" -w "/opentx/build-$pcb" "opentx-$tag" make companion23
Run companion within docker (for testing, no usb access)
xopts="-e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix" docker run -v "$PWD:/opentx" -e "OPENTX_VERSION_SUFFIX=$tag" -w "/opentx/build-$pcb" $xopts "opentx-$tag" ./companion23
Companion runs fine in the opensuse host OS (for normal use, including talking with radio via usb)
"build-$pcb/companion23"
Flash Firmware
- Copy "build-$pcb"/firmware.bin to the SD cards Firmware directory
- Insert SD card into the sender
- Start sender in bootloader mode (press left and right trim to the inside while powering on)
- Select firmware in menu and start update
Betaflight
Disable ModemManager
sudo systemctl stop ModemManager sudo systemctl disable ModemManager
=
Build And Start Current Betaflight Configurator
git clone https://github.com/betaflight/betaflight-configurator.git cd betaflight-configurator/ git checkout 10.5.1 sudo zypper in nodejs10 sudo npm install yarn -g sudo npm install gulp -g npm install gulp release --linux64 apps/betaflight-configurator/linux64/betaflight-configurator
Build And Flash Betaflight Firmware
git clone https://github.com/betaflight/betaflight.git cd betaflight git checkout 4.0.6 make arm_sdk_install make JHEF7DUAL
- In Betaflight Configurator select "Firmware Update", then select "Load Firmware (local)".
- Choose betaflight/obj/*.hex file
- Select "Flash Firmware" (sometimes needed twice to start the flash)
- After flash connect again. Log includes build time.