add system tweak script to fpv builds (#465)

pull/467/head
cronyx 2022-09-16 23:10:06 +03:00 committed by GitHub
parent e833fecdee
commit 837868ecff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 94 additions and 6 deletions

View File

@ -8,4 +8,9 @@ Baud = 115200
[UdpEndpoint telemetry_tx]
Mode = Normal
Address = 127.0.0.1
Port = 14701
Port = 14600
[UdpEndpoint telemetry_rx]
Mode = Server
Address = 0.0.0.0
Port = 14601

View File

@ -6,6 +6,7 @@
. /etc/wfb.conf
keydir="/etc"
chip=$(ipcinfo -c)
load_rtl() {
modprobe cfg80211
@ -41,6 +42,11 @@ start_wfb() {
case "$1" in
start)
if ! [ -f /etc/system.ok ]; then
killall majestic
/usr/bin/tweaksys ${chip}
fi
if [ ${daemon} -eq 1 ]; then
echo "Loading modules for selected driver..."
@ -77,7 +83,8 @@ case "$1" in
echo "Done."
if [ ${telemetry} = "true" ]; then
sh /usr/bin/telemetry start
/usr/bin/mavlink-routerd &
/usr/bin/telemetry start
fi
else

View File

@ -6,8 +6,8 @@ mcs_index=1
stream_rx=144
stream_tx=16
link_id=7669206
port_rx=14700
port_tx=14701
port_rx=14601
port_tx=14600
fec_k=1
fec_n=2
fec_timeout=0

View File

@ -0,0 +1,73 @@
#!/bin/sh
chip=$(ipcinfo -c)
family=$(ipcinfo -f)
vendor=$(ipcinfo -v)
sensor=$(ipcinfo -s)
cli="yaml-cli -i /etc/majestic.yaml"
all_other() {
# remove unneded modules
sed -i "s!insmod ${family}_rgn.ko!#insmod ${family}_rgn.ko!g" /usr/bin/load_${vendor}
sed -i "s!insmod ${family}_jpege.ko!#insmod ${family}_jpege.ko!g" /usr/bin/load_${vendor}
sed -i "s!insmod ${family}_ive.ko save_power=0!#insmod ${family}_ive.ko save_power=0!g" /usr/bin/load_${vendor}
sed -i "s!insmod ${family}_aio.ko!#insmod ${family}_aio.ko!g" /usr/bin/load_${vendor}
sed -i "s!insmod ${family}_ai.ko!#insmod ${family}_ai.ko!g" /usr/bin/load_${vendor}
sed -i "s!insmod ${family}_ao.ko!#insmod ${family}_ao.ko!g" /usr/bin/load_${vendor}
sed -i "s!insmod ${family}_aenc.ko!#insmod ${family}_aenc.ko!g" /usr/bin/load_${vendor}
sed -i "s!insmod ${family}_adec.ko!#insmod ${family}_adec.ko!g" /usr/bin/load_${vendor}
sed -i "s!insmod ${family}_acodec.ko!#insmod ${family}_acodec.ko!g" /usr/bin/load_${vendor}
# change fps 25 -> 30
sed -i "s!Isp_FrameRate=25!Isp_FrameRate=30!g" /etc/sensors/imx307_i2c_2l_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 .image.contrast 50
${cli} -s .image.luminance 50
${cli} -s .video0.bitrate 5120
${cli} -s .video0.codec h264
${cli} -s .video0.rcMode cbr
${cli} -s .video0.gopSize 0.1
${cli} -s .hls.enabled false
${cli} -s .netip.enabled false
${cli} -s .rtsp.enabled false
${cli} -s .jpeg.enabled false
# lowdelay support only imx307 sensor
if [ ${sensor} = "imx307" ]; then
${cli} -s .isp.lowDelay true
# ${cli} -s .video0.sliceUnits: 4
fi
# 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."
reboot
}
case "$1" in
gk7205v200 | hi3516ev200)
echo "Preparig system tweaks for ${chip}..."
# set osmem
fw_setenv osmem 40M
# change uart1 to uart0
sed -i "s!Device = /dev/ttyAMA1!Device = /dev/ttyAMA0!g" /etc/mavlink.conf
sed -i "s!console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL!#console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL!g" /etc/inittab
# remove unneded
rm -f /etc/modules /etc/init.d/S60crond /etc/init.d/S49ntpd /etc/init.d/S50httpd /etc/init.d/S02klogd
all_other
;;
gk7205v300 | hi3516ev300)
echo "Preparig system tweaks for ${chip}..."
all_other
;;
*)
echo "Usage: $0 {gk7205v200|gk7205v300|hi3516ev200|hi3516ev300}"
exit 1
esac

View File

@ -4,7 +4,7 @@ wlan=wlan0
region=BO
channel=14
txpower=20
driver_txpower_override=30
driver_txpower_override=20
bandwidth=20
stbc=1
ldpc=1
@ -16,4 +16,4 @@ fec_k=8
fec_n=12
fec_timeout=0
guard_interval=long
telemetry=false
telemetry=true

View File

@ -32,6 +32,9 @@ define WIFIBROADCAST_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
cp ../general/package/wifibroadcast/files/telemetry $(TARGET_DIR)/usr/bin
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
cp ../general/package/wifibroadcast/files/tweaksys $(TARGET_DIR)/usr/bin
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc
cp ../general/package/wifibroadcast/files/telemetry.conf $(TARGET_DIR)/etc
endef