mirror of https://github.com/OpenIPC/firmware.git
next fixes
parent
2f334e5f64
commit
5f0e2ea6cd
7
Makefile
7
Makefile
|
@ -52,8 +52,11 @@ clean:
|
|||
prepare: $(BR_DIR)
|
||||
$(ROOT_DIR)/buildroot-$(BR_VER).tar.gz:
|
||||
wget -O $@ -nv \
|
||||
--retry-connrefused --continue --timeout=15 \
|
||||
http://buildroot.org/downloads/buildroot-$(BR_VER).tar.gz
|
||||
--retry-connrefused --continue --timeout=3 \
|
||||
http://buildroot.org/downloads/buildroot-$(BR_VER).tar.gz || \
|
||||
wget -O $@ -nv \
|
||||
--retry-connrefused --continue --timeout=3 \
|
||||
https://github.com/buildroot/buildroot/archive/refs/tags/$(BR_VER).tar.gz
|
||||
|
||||
$(BR_DIR): $(ROOT_DIR)/buildroot-$(BR_VER).tar.gz
|
||||
tar -C $(ROOT_DIR) -xf buildroot-$(BR_VER).tar.gz
|
||||
|
|
|
@ -100,7 +100,7 @@ BR2_PACKAGE_RTL8812AU_OPENIPC=y
|
|||
|
||||
# FPV
|
||||
BR2_PACKAGE_WIFIBROADCAST=y
|
||||
# BR2_PACKAGE_MAVLINK_ROUTER is not set
|
||||
BR2_PACKAGE_MAVLINK_ROUTER=y
|
||||
BR2_PACKAGE_MAVFWD=y
|
||||
|
||||
# DEBUG
|
||||
|
|
|
@ -100,7 +100,7 @@ BR2_PACKAGE_RTL8812AU_OPENIPC=y
|
|||
|
||||
# FPV
|
||||
BR2_PACKAGE_WIFIBROADCAST=y
|
||||
# BR2_PACKAGE_MAVLINK_ROUTER is not set
|
||||
BR2_PACKAGE_MAVLINK_ROUTER=y
|
||||
BR2_PACKAGE_MAVFWD=y
|
||||
|
||||
# DEBUG
|
||||
|
|
|
@ -100,7 +100,7 @@ BR2_PACKAGE_RTL8812AU_OPENIPC=y
|
|||
|
||||
# FPV
|
||||
BR2_PACKAGE_WIFIBROADCAST=y
|
||||
# BR2_PACKAGE_MAVLINK_ROUTER is not set
|
||||
BR2_PACKAGE_MAVLINK_ROUTER=y
|
||||
BR2_PACKAGE_MAVFWD=y
|
||||
|
||||
# DEBUG
|
||||
|
|
|
@ -100,7 +100,7 @@ BR2_PACKAGE_RTL8812AU_OPENIPC=y
|
|||
|
||||
# FPV
|
||||
BR2_PACKAGE_WIFIBROADCAST=y
|
||||
# BR2_PACKAGE_MAVLINK_ROUTER is not set
|
||||
BR2_PACKAGE_MAVLINK_ROUTER=y
|
||||
BR2_PACKAGE_MAVFWD=y
|
||||
|
||||
# DEBUG
|
||||
|
|
|
@ -92,7 +92,7 @@ log_and_run() {
|
|||
|
||||
clone() {
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y automake autotools-dev bc build-essential curl fzf git libtool rsync unzip
|
||||
sudo apt-get install -y automake make wget cpio file autotools-dev bc build-essential curl fzf git libtool rsync unzip
|
||||
git clone --depth=1 https://github.com/OpenIPC/firmware.git
|
||||
}
|
||||
|
||||
|
@ -139,7 +139,8 @@ fresh() {
|
|||
log_and_run "cp -rvf ${SRC_CACHE_DIR}/* buildroot-${BR_VER}/dl/"
|
||||
echo_c 34 "Done.\n"
|
||||
|
||||
make prepare
|
||||
# prevent to double download buildroot
|
||||
# make prepare
|
||||
|
||||
echo_c 33 "Start building OpenIPC Firmware ${OPENIPC_VER} for ${SOC}."
|
||||
echo "The start-stop times" >/tmp/openipc_buildtime.txt
|
||||
|
|
Binary file not shown.
|
@ -2,7 +2,7 @@
|
|||
TcpServerPort = 0
|
||||
|
||||
[UartEndpoint drone]
|
||||
Device = /dev/ttyAMA2
|
||||
Device = /dev/ttyAMA0
|
||||
Baud = 115200
|
||||
|
||||
[UdpEndpoint telemetry_tx]
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
# rtl8812au-openipc
|
||||
#
|
||||
################################################################################
|
||||
|
||||
RTL8812AU_OPENIPC_VERSION = 92433c4e9cf37ff67dd69df8ddbb32198ec3c6fd
|
||||
RTL8812AU_OPENIPC_VERSION = 01616b79358f1225d4def42af34d842a63777495
|
||||
RTL8812AU_OPENIPC_SITE = $(call github,svpcom,rtl8812au,$(RTL8812AU_OPENIPC_VERSION))
|
||||
RTL8812AU_OPENIPC_LICENSE = GPL-2.0
|
||||
RTL8812AU_OPENIPC_LICENSE_FILES = COPYING
|
||||
|
|
|
@ -1,71 +1,11 @@
|
|||
--- a/Makefile 2022-09-12 12:30:23.273638715 +0300
|
||||
+++ b/Makefile 2022-09-12 12:37:26.310596402 +0300
|
||||
@@ -1,58 +1,29 @@
|
||||
ARCH ?= $(shell uname -i)
|
||||
-PYTHON ?= /usr/bin/python3
|
||||
-COMMIT ?= $(shell git rev-parse HEAD)
|
||||
-VERSION ?= $(shell $(PYTHON) ./version.py $(shell git show -s --format="%ct" $(shell git rev-parse HEAD)) $(shell git rev-parse --abbrev-ref HEAD))
|
||||
+VERSION ?= $(shell git rev-parse HEAD)
|
||||
SOURCE_DATE_EPOCH ?= $(shell git show -s --format="%ct" $(shell git rev-parse HEAD))
|
||||
|
||||
export VERSION COMMIT SOURCE_DATE_EPOCH
|
||||
|
||||
-_LDFLAGS := $(LDFLAGS) -lrt -lpcap -lsodium
|
||||
-_CFLAGS := $(CFLAGS) -Wall -O2 -DWFB_VERSION='"$(VERSION)-$(shell /bin/bash -c '_tmp=$(COMMIT); echo $${_tmp::8}')"'
|
||||
+LDFLAGS := -lrt -lpcap -lsodium
|
||||
+CFLAGS := -Wall -O2 -DWFB_VERSION='"$(VERSION)"'
|
||||
--- a/Makefile 2023-01-17 00:40:51.000000000 +0300
|
||||
+++ b/Makefile 2023-01-17 15:05:24.252471083 +0300
|
||||
@@ -9,7 +9,7 @@
|
||||
_LDFLAGS := $(LDFLAGS) -lrt -lpcap -lsodium
|
||||
_CFLAGS := $(CFLAGS) -Wall -O2 -DWFB_VERSION='"$(VERSION)-$(shell /bin/bash -c '_tmp=$(COMMIT); echo $${_tmp::8}')"'
|
||||
|
||||
-all: all_bin gs.key test
|
||||
-
|
||||
-env:
|
||||
- virtualenv env --python=$(PYTHON)
|
||||
- ./env/bin/pip install --upgrade pip setuptools stdeb
|
||||
-
|
||||
-all_bin: wfb_rx wfb_tx wfb_keygen
|
||||
-
|
||||
-gs.key: wfb_keygen
|
||||
- @if ! [ -f gs.key ]; then ./wfb_keygen; fi
|
||||
+all: wfb_rx wfb_tx wfb_keygen
|
||||
|
||||
src/%.o: src/%.c src/*.h
|
||||
- $(CC) $(_CFLAGS) -std=gnu99 -c -o $@ $<
|
||||
+ $(CC) $(CFLAGS) -std=gnu99 -c -o $@ $<
|
||||
|
||||
src/%.o: src/%.cpp src/*.hpp src/*.h
|
||||
- $(CXX) $(_CFLAGS) -std=gnu++11 -c -o $@ $<
|
||||
+ $(CXX) $(CFLAGS) -std=gnu++11 -c -o $@ $<
|
||||
|
||||
wfb_rx: src/rx.o src/radiotap.o src/fec.o src/wifibroadcast.o
|
||||
- $(CXX) -o $@ $^ $(_LDFLAGS)
|
||||
+ $(CXX) -o $@ $^ $(LDFLAGS)
|
||||
|
||||
wfb_tx: src/tx.o src/fec.o src/wifibroadcast.o
|
||||
- $(CXX) -o $@ $^ $(_LDFLAGS)
|
||||
+ $(CXX) -o $@ $^ $(LDFLAGS)
|
||||
|
||||
wfb_keygen: src/keygen.o
|
||||
- $(CC) -o $@ $^ $(_LDFLAGS)
|
||||
-
|
||||
-test:
|
||||
- PYTHONPATH=`pwd` trial3 wfb_ng.tests
|
||||
-
|
||||
-rpm: all_bin env
|
||||
- rm -rf dist
|
||||
- ./env/bin/python ./setup.py bdist_rpm --force-arch $(ARCH)
|
||||
- rm -rf wfb_ng.egg-info/
|
||||
-
|
||||
-deb: all_bin env
|
||||
- rm -rf deb_dist
|
||||
- ./env/bin/python ./setup.py --command-packages=stdeb.command bdist_deb
|
||||
- rm -rf wfb_ng.egg-info/ wfb-ng-$(VERSION).tar.gz
|
||||
-
|
||||
-bdist: all_bin
|
||||
- rm -rf dist
|
||||
- $(PYTHON) ./setup.py bdist --plat-name linux-$(ARCH)
|
||||
- rm -rf wfb_ng.egg-info/
|
||||
+ $(CC) -o $@ $^ $(LDFLAGS)
|
||||
|
||||
clean:
|
||||
- rm -rf env wfb_rx wfb_tx wfb_keygen dist deb_dist build wfb_ng.egg-info wfb-ng-*.tar.gz _trial_temp *~ src/*.o
|
||||
+ rm -rf wfb_rx wfb_tx wfb_keygen *~ src/*.o
|
||||
+all: all_bin
|
||||
|
||||
env:
|
||||
virtualenv env --python=$(PYTHON)
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
config BR2_PACKAGE_WIFIBROADCAST
|
||||
bool "wifibroadcast"
|
||||
select BR2_PACKAGE_LIBPCAP
|
||||
select BR2_PACKAGE_LIBSODIUM
|
||||
select BR2_PACKAGE_IW
|
||||
help
|
||||
Transmit hd video over wifi for the UAV.
|
||||
|
||||
|
|
|
@ -27,8 +27,9 @@ detect_wifi_card() {
|
|||
;;
|
||||
"148f:3070")
|
||||
driver="ralink"
|
||||
modprobe rt2800usb
|
||||
modprobe mac80211
|
||||
modprobe rt2x00usb
|
||||
modprobe rt2800usb
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
|
|
@ -13,7 +13,7 @@ start_telemetry() {
|
|||
ln -s /usr/bin/wfb_tx /usr/bin/telemetry_tx ; chmod +x /usr/bin/telemetry_tx
|
||||
else
|
||||
if [ ${one_way} = "false" ]; then
|
||||
telemetry_rx -p ${stream_rx} -u ${port_rx} -K ${keydir}/drone.key -k ${fec_k} -n ${fec_n} -i ${link_id} ${wlan} &
|
||||
telemetry_rx -p ${stream_rx} -u ${port_rx} -K ${keydir}/drone.key -i ${link_id} ${wlan} &
|
||||
fi
|
||||
telemetry_tx -p ${stream_tx} -u ${port_tx} -K ${keydir}/drone.key -B ${bandwidth} -M ${mcs_index} -S ${stbc} -L ${ldpc} -G ${guard_interval} -k ${fec_k} -n ${fec_n} -T ${fec_timeout} -i ${link_id} ${wlan} &
|
||||
fi
|
||||
|
@ -21,20 +21,24 @@ start_telemetry() {
|
|||
|
||||
case "$1" in
|
||||
start)
|
||||
echo "Loading MAVLink telemetry service..."
|
||||
echo "Loading MAVLink telemetry service..."
|
||||
|
||||
if [ ${router} -eq 1 ]; then
|
||||
/usr/bin/mavlink-routerd &
|
||||
else
|
||||
mavfwd --master ${serial} --baudrate ${baud} --out 127.0.0.1:${port_tx} --in 127.0.0.1:${port_rx} &
|
||||
fi
|
||||
|
||||
start_telemetry
|
||||
start_telemetry
|
||||
|
||||
echo "Done."
|
||||
;;
|
||||
echo "Done."
|
||||
;;
|
||||
stop)
|
||||
echo "Stopping telemetry service..."
|
||||
kill -9 $(pidof telemetry_rx)
|
||||
kill -9 $(pidof telemetry_tx)
|
||||
;;
|
||||
echo "Stopping telemetry service..."
|
||||
kill -9 $(pidof telemetry_rx)
|
||||
kill -9 $(pidof telemetry_tx)
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop}"
|
||||
exit 1
|
||||
echo "Usage: $0 {start|stop}"
|
||||
exit 1
|
||||
esac
|
||||
|
|
|
@ -15,3 +15,5 @@ fec_n=2
|
|||
fec_timeout=0
|
||||
guard_interval=long
|
||||
one_way=false
|
||||
### router: use simple mavfwd (0) or classic mavlink-routerd (1)
|
||||
router=0
|
||||
|
|
|
@ -27,6 +27,8 @@ all_other() {
|
|||
# change fps 25 -> 30
|
||||
sed -i "s!Isp_FrameRate=25!Isp_FrameRate=30!g" /etc/sensors/imx307_i2c_2l_1080p.ini
|
||||
sed -i "s!Isp_FrameRate=25!Isp_FrameRate=30!g" /etc/sensors/smtsec_imx307_i2c_4l_1080p.ini
|
||||
# disable mavlink routerd autostart
|
||||
sed -i "s!/usr/bin/mavlink-routerd &!#/usr/bin/mavlink-routerd &!g" /etc/init.d/S97mavlink
|
||||
# majestic basic settings
|
||||
${cli} -s .isp.slowShutter disabled
|
||||
${cli} -s .isp.drc 350
|
||||
|
@ -34,7 +36,7 @@ all_other() {
|
|||
# ${cli} -s .isp.dis true
|
||||
${cli} -s .image.contrast 50
|
||||
${cli} -s .image.luminance 50
|
||||
${cli} -s .video0.bitrate 5120
|
||||
${cli} -s .video0.bitrate 4096
|
||||
${cli} -s .video0.codec h264
|
||||
${cli} -s .video0.rcMode cbr
|
||||
${cli} -s .video0.gopSize 0.2
|
||||
|
@ -43,7 +45,7 @@ all_other() {
|
|||
${cli} -s .jpeg.enabled false
|
||||
# lowdelay support only imx307 sensor
|
||||
if [ ${sensor} = "imx307" ]; then
|
||||
# ${cli} -s .video0.size 1280x720
|
||||
${cli} -s .video0.size 1280x720
|
||||
# ${cli} -s .video0.fps 30
|
||||
${cli} -s .isp.lowDelay true
|
||||
# ${cli} -s .video0.sliceUnits 4
|
||||
|
|
|
@ -6,12 +6,6 @@
|
|||
daemon=1
|
||||
```
|
||||
|
||||
указать используемый драйвер:
|
||||
|
||||
```
|
||||
driver=rtl или driver=ath
|
||||
|
||||
```
|
||||
нужный wlan если их больше одного, если адаптер один, то оставить как есть:
|
||||
|
||||
```
|
||||
|
@ -27,21 +21,14 @@ region=BO
|
|||
канал:
|
||||
|
||||
```
|
||||
channel=6
|
||||
channel=14
|
||||
```
|
||||
|
||||
В конец /etc/majestic.yaml добавить секцию:
|
||||
|
||||
```
|
||||
outgoing:
|
||||
- udp://127.0.0.1:5600
|
||||
```
|
||||
|
||||
Выполнить настройки majestic, отключить все лишнее кроме необходимого потока, выполнить настройки по битрейту и ключевым кадрам, после чего перезапустить камеру.
|
||||
Выполнить настройки majestic по разрешению, битрейту и ключевым кадрам, после чего перезапустить камеру.
|
||||
|
||||
При первом запуске сгенерируются ключи drone.key и gs.key, ключ для наземной станции находится по пути /etc/gs.key, копируем его.
|
||||
|
||||
Изменить канал при необходимости можно стандартными командами из консоли:
|
||||
Изменить канал (до первой перезагрузки), при необходимости, можно стандартными командами из консоли:
|
||||
|
||||
```
|
||||
iwconfig wlan0 channel X
|
||||
|
@ -51,8 +38,6 @@ iwconfig wlan0 channel X
|
|||
|
||||
Включается в /etc/wfb.conf, настройки в /etc/telemetry.conf
|
||||
|
||||
Важно! Для работы телеметрии, придется экспериментировать с выделением памяти для системы. Отключить ВСЕ не нужное в камере кроме основного потока, проверить сколько свободной памяти осталось после выделения видео подсистеме и передать свободную в OS. (для GK7205v300: fw_setenv osmem 64M)
|
||||
|
||||
|
||||
|
||||
P.S. Это минимальная обвязка, возможно что-то не учтено или сделано не так как хотелось бы, все предложения приветствуются в issues.
|
||||
|
|
|
@ -3,9 +3,8 @@
|
|||
# wifibroadcast
|
||||
#
|
||||
################################################################################
|
||||
|
||||
WIFIBROADCAST_VERSION = c00f4ca0817919e6ba5780212781e03dada206a6
|
||||
WIFIBROADCAST_SITE = $(call github,svpcom,wfb-ng,$(WIFIBROADCAST_VERSION))
|
||||
WIFIBROADCAST_VERSION = 23.01
|
||||
WIFIBROADCAST_SITE = $(call github,svpcom,wfb-ng,wfb-ng-$(WIFIBROADCAST_VERSION))
|
||||
WIFIBROADCAST_LICENSE = GPL-2.0
|
||||
|
||||
WIFIBROADCAST_DEPENDENCIES += libpcap libsodium iw
|
||||
|
|
Loading…
Reference in New Issue