[no ci] Package: sync fpv scripts

pull/1398/head
Viktor 2024-04-12 19:12:45 +02:00
parent e9cf0d9e6f
commit 416fe58d46
3 changed files with 56 additions and 53 deletions

View File

@ -10,9 +10,9 @@ case "$1" in
start) start)
if [ "$(fw_printenv -n fpv)" = "false" ]; then if [ "$(fw_printenv -n fpv)" = "false" ]; then
if grep -q "#console" /etc/inittab; then if grep -q "#console" /etc/inittab; then
echo "Restart system to restore console..."
sed -i "s/#console/console/g" /etc/inittab sed -i "s/#console/console/g" /etc/inittab
rm -f /etc/system.ok rm -f /etc/system.ok
echo "Restart system to restore console..."
reboot reboot
fi fi
exit 0 exit 0

View File

@ -11,9 +11,6 @@ basic() {
# set boot delay # set boot delay
fw_setenv bootdelay 0 fw_setenv bootdelay 0
# don't load f2fs module (disabled in kernel)
sed -i "s!f2fs!#f2fs!g" /etc/modules
# free uart for telemetry # free uart for telemetry
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 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
@ -51,8 +48,8 @@ sigmastar() {
} }
majestic_generic() { majestic_generic() {
# enable digital image stabilization # digital image stabilization
# cli -s .isp.dis true #cli -s .isp.dis true
cli -s .isp.slowShutter disabled cli -s .isp.slowShutter disabled
cli -s .image.contrast 50 cli -s .image.contrast 50
@ -67,7 +64,7 @@ majestic_generic() {
# lowdelay support only imx307 sensor # lowdelay support only imx307 sensor
if [ "$sensor" = "imx307" ]; then if [ "$sensor" = "imx307" ]; then
cli -s .isp.lowDelay true cli -s .isp.lowDelay true
# cli -s .video0.sliceUnits 4 #cli -s .video0.sliceUnits 4
fi fi
if [ "$sensor" = "imx335" ]; then if [ "$sensor" = "imx335" ]; then
@ -98,7 +95,7 @@ streamer() {
majestic_generic majestic_generic
fi fi
# outgoing rtp stream to udp # outgoing rtp stream
cli -s .outgoing.enabled true cli -s .outgoing.enabled true
cli -s .outgoing.server udp://127.0.0.1:5600 cli -s .outgoing.server udp://127.0.0.1:5600
fi fi
@ -112,10 +109,10 @@ streamer() {
} }
finish() { finish() {
# complete tweaks and add marker # complete tweaks and add flag
fw_setenv wlandev
touch /etc/system.ok touch /etc/system.ok
echo "Restart system to apply fpv changes..." echo "Manually restart the system to apply changes."
reboot
} }
case "$1" in case "$1" in
@ -125,7 +122,7 @@ case "$1" in
# set custom config # set custom config
if [ "$chip" = "gk7205v200" ] && [ "$sensor" = "imx307" ]; then if [ "$chip" = "gk7205v200" ] && [ "$sensor" = "imx307" ]; then
echo "switch to custom sensor config" echo "switch to custom sensor config"
# cli -s .isp.sensorConfig /etc/sensors/60fps/720p_imx307_i2c_2l.ini #cli -s .isp.sensorConfig /etc/sensors/60fps/720p_imx307_i2c_2l.ini
fi fi
# fix osmem in bootargs # fix osmem in bootargs
@ -136,7 +133,7 @@ case "$1" in
fw_setenv osmem 40M fw_setenv osmem 40M
fi fi
# remove unneeded to reduce some memory # remove unneeded scripts
rm -f /etc/init.d/S60crond /etc/init.d/S49ntpd /etc/init.d/S02klogd rm -f /etc/init.d/S60crond /etc/init.d/S49ntpd /etc/init.d/S02klogd
basic basic

View File

@ -1,19 +1,17 @@
#!/bin/sh #!/bin/sh
chip=$(ipcinfo -c) chip=$(ipcinfo -c)
family=$(ipcinfo -f) family=$(ipcinfo -f)
vendor=$(ipcinfo -v) vendor=$(ipcinfo -v)
if ! [ ${chip} = "hi3536dv100" ]; then if [ ! "$chip" = "hi3536dv100" ]; then
sensor=$(ipcinfo -s) sensor=$(ipcinfo -s)
fi fi
basic() { basic() {
# set boot delay # set boot delay
fw_setenv bootdelay 0 fw_setenv bootdelay 0
# don't load f2fs module (disabled in kernel)
sed -i "s!f2fs!#f2fs!g" /etc/modules # free uart for telemetry
# freely uart for telemetry
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 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
# tune socket buffer # tune socket buffer
@ -23,19 +21,21 @@ basic() {
prefix=${family} prefix=${family}
hisi_goke() { hisi_goke() {
if [ ${vendor} = "hisilicon" ]; then if [ "$vendor" = "hisilicon" ]; then
prefix="open" prefix="open"
fi fi
# remove unneeded modules # remove unneeded modules
sed -i "s!insmod ${prefix}_rgn.ko!#insmod ${prefix}_rgn.ko!g" /usr/bin/load_${vendor} sed -i "s!insmod ${prefix}_rgn.ko!#insmod ${prefix}_rgn.ko!g" "/usr/bin/load_${vendor}"
sed -i "s!insmod ${prefix}_jpege.ko!#insmod ${prefix}_jpege.ko!g" /usr/bin/load_${vendor} sed -i "s!insmod ${prefix}_jpege.ko!#insmod ${prefix}_jpege.ko!g" "/usr/bin/load_${vendor}"
sed -i "s!insmod ${prefix}_ive.ko save_power=0!#insmod ${prefix}_ive.ko save_power=0!g" /usr/bin/load_${vendor} sed -i "s!insmod ${prefix}_ive.ko save_power=0!#insmod ${prefix}_ive.ko save_power=0!g" "/usr/bin/load_${vendor}"
sed -i "s!insmod ${prefix}_aio.ko!#insmod ${prefix}_aio.ko!g" /usr/bin/load_${vendor} sed -i "s!insmod ${prefix}_aio.ko!#insmod ${prefix}_aio.ko!g" "/usr/bin/load_${vendor}"
sed -i "s!insmod ${prefix}_ai.ko!#insmod ${prefix}_ai.ko!g" /usr/bin/load_${vendor} sed -i "s!insmod ${prefix}_ai.ko!#insmod ${prefix}_ai.ko!g" "/usr/bin/load_${vendor}"
sed -i "s!insmod ${prefix}_ao.ko!#insmod ${prefix}_ao.ko!g" /usr/bin/load_${vendor} sed -i "s!insmod ${prefix}_ao.ko!#insmod ${prefix}_ao.ko!g" "/usr/bin/load_${vendor}"
sed -i "s!insmod ${prefix}_aenc.ko!#insmod ${prefix}_aenc.ko!g" /usr/bin/load_${vendor} sed -i "s!insmod ${prefix}_aenc.ko!#insmod ${prefix}_aenc.ko!g" "/usr/bin/load_${vendor}"
sed -i "s!insmod ${prefix}_adec.ko!#insmod ${prefix}_adec.ko!g" /usr/bin/load_${vendor} sed -i "s!insmod ${prefix}_adec.ko!#insmod ${prefix}_adec.ko!g" "/usr/bin/load_${vendor}"
sed -i "s!insmod ${prefix}_acodec.ko!#insmod ${prefix}_acodec.ko!g" /usr/bin/load_${vendor} sed -i "s!insmod ${prefix}_acodec.ko!#insmod ${prefix}_acodec.ko!g" "/usr/bin/load_${vendor}"
# change fps 25 -> 30 # 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/imx307_i2c_2l_1080p.ini
sed -i "s!Isp_FrameRate=25!Isp_FrameRate=30!g" /etc/sensors/smtsec_imx307_i2c_4l_1080p.ini sed -i "s!Isp_FrameRate=25!Isp_FrameRate=30!g" /etc/sensors/smtsec_imx307_i2c_4l_1080p.ini
@ -48,9 +48,10 @@ sigmastar() {
} }
majestic_generic() { majestic_generic() {
# digital image stabilization
#cli -s .isp.dis true
cli -s .isp.slowShutter disabled cli -s .isp.slowShutter disabled
# enable digital image stabilization
# cli -s .isp.dis true
cli -s .image.contrast 50 cli -s .image.contrast 50
cli -s .image.luminance 50 cli -s .image.luminance 50
cli -s .video0.size 1920x1080 cli -s .video0.size 1920x1080
@ -59,24 +60,27 @@ majestic_generic() {
cli -s .video0.codec h264 cli -s .video0.codec h264
cli -s .video0.rcMode cbr cli -s .video0.rcMode cbr
cli -s .video0.gopSize 1.5 cli -s .video0.gopSize 1.5
# lowdelay support only imx307 sensor # lowdelay support only imx307 sensor
if [ ${sensor} = "imx307" ]; then if [ "$sensor" = "imx307" ]; then
cli -s .isp.lowDelay true cli -s .isp.lowDelay true
# cli -s .video0.sliceUnits 4 #cli -s .video0.sliceUnits 4
fi fi
if [ ${sensor} = "imx335" ]; then
if [ "$sensor" = "imx335" ]; then
cli -s .isp.drc 350 cli -s .isp.drc 350
cli -s .isp.sensorConfig /etc/sensors/imx335_i2c_4M.ini cli -s .isp.sensorConfig /etc/sensors/imx335_i2c_4M.ini
fi fi
cli -s .hls.enabled false cli -s .hls.enabled false
cli -s .netip.enabled false cli -s .netip.enabled false
cli -s .jpeg.enabled false cli -s .jpeg.enabled false
} }
majestic_sigmastar() { majestic_sigmastar() {
cli -s .isp.exposure 20
cli -s .isp.aGain 40
cli -s .isp.sensorConfig /etc/sensors/imx415_fpv.bin cli -s .isp.sensorConfig /etc/sensors/imx415_fpv.bin
cli -s .isp.exposure 10
cli -s .video0.codec h265
cli -s .video0.size 1920x1080 cli -s .video0.size 1920x1080
cli -s .video0.fps 60 cli -s .video0.fps 60
cli -s .video0.rcMode cbr cli -s .video0.rcMode cbr
@ -85,18 +89,19 @@ majestic_sigmastar() {
streamer() { streamer() {
if [ -f /usr/bin/majestic ]; then if [ -f /usr/bin/majestic ]; then
if [ ${vendor} = "sigmastar" ]; then if [ "$vendor" = "sigmastar" ]; then
majestic_sigmastar majestic_sigmastar
else else
majestic_generic majestic_generic
fi fi
# outgoing rtp stream to udp
# outgoing rtp stream
cli -s .outgoing.enabled true cli -s .outgoing.enabled true
cli -s .outgoing.server udp://127.0.0.1:5600 cli -s .outgoing.server udp://127.0.0.1:5600
fi fi
if [ -f /usr/bin/venc ]; then if [ -f /usr/bin/venc ]; then
if [ ${sensor} = "imx335" ]; then if [ "$sensor" = "imx335" ]; then
sed -i "s!version=200_imx307B!version=300_imx335B!g" /etc/venc.conf sed -i "s!version=200_imx307B!version=300_imx335B!g" /etc/venc.conf
sed -i "s!size=720p!size=1292x972!g" /etc/venc.conf sed -i "s!size=720p!size=1292x972!g" /etc/venc.conf
fi fi
@ -104,30 +109,31 @@ streamer() {
} }
finish() { finish() {
# complete tweaks and add marker # complete tweaks and add flag
fw_setenv wlandev
touch /etc/system.ok touch /etc/system.ok
echo "Preparing system done." echo "Manually restart the system to apply changes."
reboot
} }
case "$1" in case "$1" in
gk7205v200 | gk7205v210 | hi3516ev200) gk7205v200 | gk7205v210 | hi3516ev200)
echo "Preparing system tweaks for ${chip}..." echo "Preparing system tweaks for ${chip}..."
# set custom config # set custom config
if [ ${chip} = "gk7205v200" ] && [ ${sensor} = "imx307" ]; then if [ "$chip" = "gk7205v200" ] && [ "$sensor" = "imx307" ]; then
echo "switch to custom sensor config" echo "switch to custom sensor config"
# cli -s .isp.sensorConfig /etc/sensors/60fps/720p_imx307_i2c_2l.ini #cli -s .isp.sensorConfig /etc/sensors/60fps/720p_imx307_i2c_2l.ini
fi fi
# fix osmem in bootargs # fix osmem in bootargs
bootargs=$(fw_printenv -n bootargs) bootargs=$(fw_printenv -n bootargs)
if echo ${bootargs} | grep -q "32M"; then if echo "$bootargs" | grep -q "32M"; then
newbootargs="mem=\${osmem} "$(echo ${bootargs} | cut -d " " -f2-) newbootargs="mem=\${osmem} "$(echo "$bootargs" | cut -d " " -f2-)
fw_setenv bootargs ${newbootargs} fw_setenv bootargs "$newbootargs"
fw_setenv osmem 40M fw_setenv osmem 40M
fi fi
# remove unneeded to reduce some memory # remove unneeded scripts
rm -f /etc/init.d/S60crond /etc/init.d/S49ntpd /etc/init.d/S02klogd rm -f /etc/init.d/S60crond /etc/init.d/S49ntpd /etc/init.d/S02klogd
basic basic
@ -137,13 +143,13 @@ case "$1" in
;; ;;
gk7205v300 | hi3516ev300) gk7205v300 | hi3516ev300)
echo "Preparing system tweaks for ${chip}..." echo "Preparing system tweaks for $chip..."
# increase osmem # increase osmem
mem=$(fw_printenv -n osmem) && [ "${mem}" = "32M" ] && fw_setenv osmem 64M && set_allocator cma || echo "Memory allocated for the system:" ${mem} mem=$(fw_printenv -n osmem) && [ "$mem" = "32M" ] && fw_setenv osmem 64M && set_allocator cma || echo "Memory allocated for the system:" "$mem"
# set sensor config for smtsec board # set sensor config for smtsec board
if [ ${chip} = "gk7205v300" ] && [ ${sensor} = "imx307" ]; then if [ "$chip" = "gk7205v300" ] && [ "$sensor" = "imx307" ]; then
cli -s .isp.sensorConfig /etc/sensors/smtsec_imx307_i2c_4l_1080p.ini cli -s .isp.sensorConfig /etc/sensors/smtsec_imx307_i2c_4l_1080p.ini
fi fi
@ -154,19 +160,19 @@ case "$1" in
;; ;;
t31l | t31n | t31x | t31zx) t31l | t31n | t31x | t31zx)
echo "Preparing system tweaks for ${chip}..." echo "Preparing system tweaks for $chip..."
basic basic
streamer streamer
finish finish
;; ;;
hi3536dv100) hi3536dv100)
echo "Preparing system tweaks for ${chip}..." echo "Preparing system tweaks for $chip..."
finish finish
;; ;;
ssc33x) ssc33x)
echo "Preparing system tweaks for ${chip}..." echo "Preparing system tweaks for $chip..."
basic basic
sigmastar sigmastar
streamer streamer