Project Drohnen: Difference between revisions
Jump to navigation
Jump to search
Line 102: | Line 102: | ||
* Select "Flash Firmware" (sometimes needed twice to start the flash) | * Select "Flash Firmware" (sometimes needed twice to start the flash) | ||
* After flash connect again. Log includes build time. | * After flash connect again. Log includes build time. | ||
=== Configure BMP280 === | |||
https://github.com/betaflight/betaflight/wiki/Barometer-Configuration-(3.2) |
Revision as of 17:17, 24 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
Register STM32 as Udev Device
- Create file /etc/udev/rules.d/45-stdfu-permissions.rules
# DFU (Internal bootloader for STM32 MCUs) ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="0664", GROUP="dialout"
- Activate changed rules
sudo udevadm control --reload-rules sudo udevadm trigger
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.
Configure BMP280
https://github.com/betaflight/betaflight/wiki/Barometer-Configuration-(3.2)