mirror of https://github.com/OpenIPC/firmware.git
some improvements for previous commit (#1025)
parent
8f808868da
commit
f4f4bd5f57
|
@ -111,7 +111,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_ATHEROS_9271=y
|
|||
BR2_PACKAGE_RTL8812AU_OPENIPC=y
|
||||
|
||||
# FPV
|
||||
# BR2_PACKAGE_VDEC is not set
|
||||
# BR2_PACKAGE_VDEC_OPENIPC is not set
|
||||
BR2_PACKAGE_DATALINK=y
|
||||
BR2_PACKAGE_WIFIBROADCAST=y
|
||||
# BR2_PACKAGE_WFBOPENHD is not set
|
||||
|
|
|
@ -16,7 +16,7 @@ define DATALINK_INSTALL_TARGET_CMDS
|
|||
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc
|
||||
cp $(DATALINK_PKGDIR)/files/datalink.conf $(TARGET_DIR)/etc
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc
|
||||
cp $(DATALINK_PKGDIR)/files/$(DATALINK_FPATH)/telemetry.conf $(TARGET_DIR)/etc
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d
|
||||
|
@ -25,6 +25,9 @@ define DATALINK_INSTALL_TARGET_CMDS
|
|||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
|
||||
cp $(DATALINK_PKGDIR)/files/$(DATALINK_FPATH)/telemetry $(TARGET_DIR)/usr/bin
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/sbin
|
||||
cp $(DATALINK_PKGDIR)/files/$(DATALINK_FPATH)/channels.sh $(TARGET_DIR)/usr/sbin
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
|
||||
cp $(DATALINK_PKGDIR)/files/tweaksys $(TARGET_DIR)/usr/bin
|
||||
endef
|
||||
|
|
|
@ -11,7 +11,6 @@ fw=$(grep "BUILD_OPTION" "/etc/os-release" | cut -d= -f2)
|
|||
case "$1" in
|
||||
start)
|
||||
if ! [ -f /etc/system.ok ]; then
|
||||
killall majestic
|
||||
tweaksys ${chip}
|
||||
fi
|
||||
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/sh
|
||||
|
||||
echo $1 $2 >> /tmp/channels.log
|
||||
|
||||
exit 1
|
|
@ -29,9 +29,9 @@ case "$1" in
|
|||
if [ ${router} -eq 1 ] || [ ${fw} = "lte" ]; 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} &
|
||||
mavfwd --channels ${channels} --master ${serial} --baudrate ${baud} --out 127.0.0.1:${port_tx} --in 127.0.0.1:${port_rx} &
|
||||
fi
|
||||
if [ ${fw} = "fpv" ]; then
|
||||
if [ ${fw} = "fpv" ] || [ ${fw} = "venc" ]; then
|
||||
start_telemetry
|
||||
fi
|
||||
echo "Done."
|
||||
|
|
|
@ -18,3 +18,6 @@ fec_n=2
|
|||
fec_timeout=0
|
||||
guard_interval=long
|
||||
one_way=false
|
||||
|
||||
### for mavfwd: RC override channels to parse after first 4 and call /usr/sbin/channels.sh $ch $val, default 0
|
||||
channels=14
|
||||
|
|
|
@ -28,39 +28,45 @@ hisi_goke() {
|
|||
all_other() {
|
||||
# don't load f2fs module (disabled in kernel)
|
||||
sed -i "s!f2fs!#f2fs!g" /etc/modules
|
||||
# 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
|
||||
# enable digital image stabilization
|
||||
# cli -s .isp.dis true
|
||||
cli -s .image.contrast 50
|
||||
cli -s .image.luminance 50
|
||||
cli -s .video0.bitrate 4096
|
||||
cli -s .video0.codec h264
|
||||
cli -s .video0.rcMode cbr
|
||||
cli -s .video0.gopSize 0.2
|
||||
cli -s .hls.enabled false
|
||||
cli -s .netip.enabled false
|
||||
cli -s .jpeg.enabled false
|
||||
# lowdelay support only imx307 sensor
|
||||
if [ ${sensor} = "imx307" ]; then
|
||||
cli -s .video0.size 1280x720
|
||||
# cli -s .video0.fps 30
|
||||
cli -s .isp.lowDelay true
|
||||
# cli -s .video0.sliceUnits 4
|
||||
if [ -f /usr/bin/mavlink-routerd ]; then
|
||||
# disable mavlink routerd autostart
|
||||
sed -i "s!/usr/bin/mavlink-routerd &!#/usr/bin/mavlink-routerd &!g" /etc/init.d/S97mavlink
|
||||
fi
|
||||
if [ -f /usr/bin/majestic ]; then
|
||||
# majestic basic settings
|
||||
cli -s .isp.slowShutter disabled
|
||||
cli -s .isp.drc 350
|
||||
# enable digital image stabilization
|
||||
# cli -s .isp.dis true
|
||||
cli -s .image.contrast 50
|
||||
cli -s .image.luminance 50
|
||||
cli -s .video0.bitrate 4096
|
||||
cli -s .video0.codec h264
|
||||
cli -s .video0.rcMode cbr
|
||||
cli -s .video0.gopSize 0.2
|
||||
cli -s .hls.enabled false
|
||||
cli -s .netip.enabled false
|
||||
cli -s .jpeg.enabled false
|
||||
# lowdelay support only imx307 sensor
|
||||
if [ ${sensor} = "imx307" ]; then
|
||||
cli -s .video0.size 1280x720
|
||||
# cli -s .video0.fps 30
|
||||
cli -s .isp.lowDelay true
|
||||
# cli -s .video0.sliceUnits 4
|
||||
fi
|
||||
# outgoing rtp stream to udp
|
||||
cat >> /etc/majestic.yaml << EOF
|
||||
outgoing:
|
||||
- udp://127.0.0.1:5600
|
||||
EOF
|
||||
fi
|
||||
|
||||
# tune socket buffer
|
||||
cat >> /etc/sysctl.conf << EOF
|
||||
net.core.rmem_default=524288
|
||||
net.core.rmem_max=2048000
|
||||
EOF
|
||||
# add outgoing rtp stream to udp
|
||||
cat >> /etc/majestic.yaml << EOF
|
||||
outgoing:
|
||||
- udp://127.0.0.1:5600
|
||||
EOF
|
||||
|
||||
# complete tweaks
|
||||
touch /etc/system.ok
|
||||
echo "Preparing system done."
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
MAVFWD_SITE_METHOD = git
|
||||
MAVFWD_SITE = https://github.com/openipc/mavfwd
|
||||
MAVFWD_VERSION = 220d30e118d26008e94445887a03d77ba73c2d29
|
||||
MAVFWD_VERSION = c95613e241e03782fc6acc4780e60d8b4316a736
|
||||
|
||||
MAVFWD_LICENSE = MIT
|
||||
MAVFWD_LICENSE_FILES = LICENSE
|
||||
|
@ -18,8 +18,8 @@ define MAVFWD_BUILD_CMDS
|
|||
endef
|
||||
|
||||
define MAVFWD_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/sbin
|
||||
$(INSTALL) -m 0755 -D $(@D)/mavfwd $(TARGET_DIR)/usr/sbin/mavfwd
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
|
||||
$(INSTALL) -m 0755 -D $(@D)/mavfwd $(TARGET_DIR)/usr/bin/mavfwd
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
|
|
|
@ -1,60 +1,21 @@
|
|||
#!/bin/sh
|
||||
|
||||
DAEMON="venc"
|
||||
PIDFILE="/var/run/$DAEMON.pid"
|
||||
DAEMON_ARGS="-s"
|
||||
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
|
||||
load_venc() {
|
||||
[ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, "
|
||||
[ -f /etc/coredump.conf ] && . /etc/coredump.conf
|
||||
if [ "$coredump_enabled" ]; then
|
||||
[ "$(cli -g .watchdog.timeout)" -lt "30" ] && cli -s .watchdog.timeout 30
|
||||
ulimit -c unlimited && echo "|/usr/sbin/sendcoredump.sh" >/proc/sys/kernel/core_pattern
|
||||
fi
|
||||
start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" -- $DAEMON_ARGS
|
||||
ln -s /dev/venc /dev/ven
|
||||
/usr/bin/./venc -p 5600 -f 30 -r 7168 -n 1400 -c 265cbr -d frame -v 200_imx307F -s 720p &
|
||||
status=$?
|
||||
if [ "$status" -eq 0 ]; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
return "$status"
|
||||
}
|
||||
start() {
|
||||
logger -s -p daemon.info -t $(ipcinfo -v) "Loading video system has started..."
|
||||
export SENSOR=$(fw_printenv -n sensor)
|
||||
load_venc
|
||||
}
|
||||
stop() {
|
||||
printf 'Stopping %s: ' "$DAEMON"
|
||||
[ -f /usr/bin/$DAEMON ] || echo -en "DISABLED, "
|
||||
start-stop-daemon -K -q -p "$PIDFILE"
|
||||
status=$?
|
||||
if [ "$status" -eq 0 ]; then
|
||||
rm -f "$PIDFILE"
|
||||
echo "OK"
|
||||
else
|
||||
echo "FAIL"
|
||||
fi
|
||||
return "$status"
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop
|
||||
sleep 1
|
||||
reload
|
||||
}
|
||||
|
||||
reload() {
|
||||
load_venc
|
||||
}
|
||||
#
|
||||
# Start venc encoder
|
||||
#
|
||||
|
||||
case "$1" in
|
||||
start|stop|restart|reload)
|
||||
"$1";;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|reload}"
|
||||
exit 1
|
||||
start)
|
||||
if ! [ -f /dev/ven ]; then
|
||||
ln -s /dev/venc /dev/ven
|
||||
fi
|
||||
echo "Starting venc encoder service..."
|
||||
venc -p 5600 -f 30 -r 7168 -n 1400 -c 265cbr -d frame -v 200_imx307F -s 720p &
|
||||
;;
|
||||
stop)
|
||||
echo "Stopping venc encoder services..."
|
||||
kill -9 $(pidof venc)
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop}"
|
||||
exit 1
|
||||
esac
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
echo $1 $2 >>/tmp/channels.log
|
||||
|
||||
exit 1
|
|
@ -1,50 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Start telemetry
|
||||
#
|
||||
|
||||
. /etc/datalink.conf
|
||||
. /etc/telemetry.conf
|
||||
|
||||
keydir="/etc"
|
||||
|
||||
fw=$(grep "BUILD_OPTION" "/etc/os-release" | cut -d= -f2)
|
||||
|
||||
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 -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
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo "Loading MAVLink telemetry service..."
|
||||
|
||||
if [ ${router} -eq 1 ] || [ ${fw} = "lte" ]; then
|
||||
/usr/bin/mavlink-routerd &
|
||||
else
|
||||
mavfwd -c 14 --master ${serial} --baudrate ${baud} --out 127.0.0.1:${port_tx} --in 127.0.0.1:${port_rx} &
|
||||
fi
|
||||
echo "Firmware is ${fw}"
|
||||
if [ ${fw} = "fpv" ] || [ ${fw} = "venc" ]; then
|
||||
start_telemetry
|
||||
fi
|
||||
echo "Done."
|
||||
;;
|
||||
stop)
|
||||
echo "Stopping telemetry services..."
|
||||
kill -9 $(pidof telemetry_rx)
|
||||
kill -9 $(pidof telemetry_tx)
|
||||
kill -9 $(pidof mavlink-routerd)
|
||||
kill -9 $(pidof mavfwd)
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop}"
|
||||
exit 1
|
||||
esac
|
|
@ -7,13 +7,11 @@
|
|||
VENC_OPENIPC_LICENSE = MIT
|
||||
|
||||
define VENC_OPENIPC_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
|
||||
cp $(VENC_OPENIPC_PKGDIR)/files/venc $(TARGET_DIR)/usr/bin/venc
|
||||
cp $(VENC_OPENIPC_PKGDIR)/files/telemetry $(TARGET_DIR)/usr/bin/telemetry
|
||||
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d
|
||||
cp $(VENC_OPENIPC_PKGDIR)/files/S98venc $(TARGET_DIR)/etc/init.d/S98venc
|
||||
$(INSTALL) -m 755 -d $(TARGET_DIR)/root
|
||||
cp $(VENC_OPENIPC_PKGDIR)/files/channels.sh $(TARGET_DIR)/root/channels.sh
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
|
|
|
@ -135,7 +135,7 @@ case "$1" in
|
|||
fi
|
||||
|
||||
else
|
||||
echo "Wifibroadcast service disabled in wfb.conf..."
|
||||
echo "Wifibroadcast service disabled in wfb.conf..."
|
||||
fi
|
||||
;;
|
||||
stop)
|
||||
|
|
Loading…
Reference in New Issue