mirror of https://github.com/OpenIPC/firmware.git
added telemetry scripts
parent
3820c22fe5
commit
3d8100156f
|
@ -5,7 +5,7 @@ TcpServerPort = 0
|
||||||
Device = /dev/ttyAMA1
|
Device = /dev/ttyAMA1
|
||||||
Baud = 115200
|
Baud = 115200
|
||||||
|
|
||||||
[UdpEndpoint wfb]
|
[UdpEndpoint telemetry_tx]
|
||||||
Mode = Normal
|
Mode = Normal
|
||||||
Address = 127.0.0.1
|
Address = 127.0.0.1
|
||||||
Port = 14550
|
Port = 14701
|
||||||
|
|
|
@ -34,7 +34,7 @@ load_interface() {
|
||||||
}
|
}
|
||||||
|
|
||||||
start_wfb() {
|
start_wfb() {
|
||||||
wfb_tx -p ${radio_port} -u ${udp_port} -K ${keydir}/drone.key -B ${bandwidth} -M ${mcs_index} -S ${stbc} -L ${ldpc} -G ${guard_interval} -k ${rs_k} -n ${rs_n} ${wlan} &
|
wfb_tx -p ${radio_port} -u ${udp_port} -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} ${wlan} &
|
||||||
}
|
}
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
@ -74,6 +74,10 @@ case "$1" in
|
||||||
|
|
||||||
echo "Done."
|
echo "Done."
|
||||||
|
|
||||||
|
if [ ${telemetry} = "true" ]; then
|
||||||
|
sh /usr/bin/telemetry start
|
||||||
|
fi
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "Wifibroadcast service disabled in wfb.conf..."
|
echo "Wifibroadcast service disabled in wfb.conf..."
|
||||||
fi
|
fi
|
||||||
|
@ -81,7 +85,6 @@ case "$1" in
|
||||||
stop)
|
stop)
|
||||||
echo "Stopping wifibroadcast service..."
|
echo "Stopping wifibroadcast service..."
|
||||||
kill -9 $(pidof wfb_tx)
|
kill -9 $(pidof wfb_tx)
|
||||||
ifconfig ${wlan} down
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Usage: $0 {start|stop}"
|
echo "Usage: $0 {start|stop}"
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Start telemetry
|
||||||
|
#
|
||||||
|
|
||||||
|
. /etc/telemetry.conf
|
||||||
|
|
||||||
|
keydir="/etc"
|
||||||
|
|
||||||
|
start_telemetry() {
|
||||||
|
if [ ! -f /usr/bin/telemetry_rx -a ! -f /usr/bin/telemetry_tx ]; then
|
||||||
|
ln -s /usr/bin/wfb_rx /usr/bin/telemetry_rx ; chmod +x /usr/bin/telemetry_rx
|
||||||
|
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} ${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} ${wlan} &
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
echo "Loading MAVLink telemetry service..."
|
||||||
|
|
||||||
|
start_telemetry
|
||||||
|
|
||||||
|
echo "Done."
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
echo "Stopping telemetry service..."
|
||||||
|
kill -9 $(pidof telemetry_rx)
|
||||||
|
kill -9 $(pidof telemetry_tx)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop}"
|
||||||
|
exit 1
|
||||||
|
esac
|
|
@ -0,0 +1,14 @@
|
||||||
|
wlan=wlan0
|
||||||
|
bandwidth=20
|
||||||
|
stbc=1
|
||||||
|
ldpc=1
|
||||||
|
mcs_index=1
|
||||||
|
stream_rx=1
|
||||||
|
stream_tx=2
|
||||||
|
port_rx=14700
|
||||||
|
port_tx=14701
|
||||||
|
fec_k=1
|
||||||
|
fec_n=2
|
||||||
|
fec_timeout=0
|
||||||
|
guard_interval=long
|
||||||
|
one_way=true
|
|
@ -1,14 +1,16 @@
|
||||||
daemon=0
|
daemon=1
|
||||||
driver=rtl
|
driver=rtl
|
||||||
wlan=wlan0
|
wlan=wlan0
|
||||||
region=BO
|
region=BO
|
||||||
channel=14
|
channel=14
|
||||||
bandwidth=20
|
bandwidth=20
|
||||||
stbc=0
|
stbc=1
|
||||||
ldpc=0
|
ldpc=1
|
||||||
mcs_index=1
|
mcs_index=1
|
||||||
radio_port=3
|
radio_port=3
|
||||||
udp_port=5600
|
udp_port=5600
|
||||||
rs_k=8
|
fec_k=8
|
||||||
rs_n=12
|
fec_n=12
|
||||||
|
fec_timeout=0
|
||||||
guard_interval=long
|
guard_interval=long
|
||||||
|
telemetry=false
|
||||||
|
|
|
@ -47,7 +47,11 @@ outgoing:
|
||||||
iwconfig wlan0 channel X
|
iwconfig wlan0 channel X
|
||||||
```
|
```
|
||||||
|
|
||||||
Никаких дополнительных настроек для wfb_tx пока не вынесено в конфиг, для тестов их можно добавлять в функции start_wfb в скрипте инициализации /etc/init.d/S98wfb
|
# Телеметрия
|
||||||
|
|
||||||
|
Включается в /etc/wfb.conf, настройки в /etc/telemetry.conf
|
||||||
|
|
||||||
|
Важно! Для работы телеметрии, придется экспериментировать с выделением памяти для системы. Отключить ВСЕ не нужное в камере кроме основного потока, проверить сколько свободной памяти осталось после выделения видео подсистеме и передать свободную в OS. (для GK7205v300: fw_setenv osmem 64M)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,7 @@ endef
|
||||||
|
|
||||||
define WIFIBROADCAST_INSTALL_TARGET_CMDS
|
define WIFIBROADCAST_INSTALL_TARGET_CMDS
|
||||||
$(INSTALL) -m 0755 -D $(@D)/wfb_tx $(TARGET_DIR)/usr/bin
|
$(INSTALL) -m 0755 -D $(@D)/wfb_tx $(TARGET_DIR)/usr/bin
|
||||||
|
$(INSTALL) -m 0755 -D $(@D)/wfb_rx $(TARGET_DIR)/usr/bin
|
||||||
$(INSTALL) -m 0755 -D $(@D)/wfb_keygen $(TARGET_DIR)/usr/bin
|
$(INSTALL) -m 0755 -D $(@D)/wfb_keygen $(TARGET_DIR)/usr/bin
|
||||||
|
|
||||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc
|
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc
|
||||||
|
@ -27,6 +28,12 @@ define WIFIBROADCAST_INSTALL_TARGET_CMDS
|
||||||
|
|
||||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d
|
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d
|
||||||
cp ../general/package/wifibroadcast/files/S98wfb $(TARGET_DIR)/etc/init.d
|
cp ../general/package/wifibroadcast/files/S98wfb $(TARGET_DIR)/etc/init.d
|
||||||
|
|
||||||
|
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
|
||||||
|
cp ../general/package/wifibroadcast/files/telemetry $(TARGET_DIR)/usr/bin
|
||||||
|
|
||||||
|
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc
|
||||||
|
cp ../general/package/wifibroadcast/files/telemetry.conf $(TARGET_DIR)/etc
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(generic-package))
|
$(eval $(generic-package))
|
||||||
|
|
Loading…
Reference in New Issue