From 568abb2411eea6461c75edb119bf9c5bd94b4cd4 Mon Sep 17 00:00:00 2001 From: cronyx Date: Wed, 15 Nov 2023 01:13:20 +0300 Subject: [PATCH] [fpv] some modifications (#1139) --- general/package/datalink/files/tweaksys | 77 ++++++++++--------- .../package/mavlink-router/mavlink-router.mk | 4 +- general/package/vdec-openipc/files/S98vdec | 2 +- general/package/vdec-openipc/files/vdec.conf | 26 ++++++- general/package/venc-openipc/files/venc.conf | 4 +- general/package/wifibroadcast/files/drone.key | 1 + general/package/wifibroadcast/files/gs.key | 1 + .../wifibroadcast/files/wfb_drone.conf | 2 +- .../package/wifibroadcast/files/wfb_gs.conf | 2 +- .../package/wifibroadcast/wifibroadcast.mk | 3 + 10 files changed, 77 insertions(+), 45 deletions(-) create mode 100644 general/package/wifibroadcast/files/drone.key create mode 100644 general/package/wifibroadcast/files/gs.key diff --git a/general/package/datalink/files/tweaksys b/general/package/datalink/files/tweaksys index 569fb203..77915817 100755 --- a/general/package/datalink/files/tweaksys +++ b/general/package/datalink/files/tweaksys @@ -8,6 +8,18 @@ if ! [ ${chip} = "hi3536dv100" ]; then sensor=$(ipcinfo -s) fi +basic() { + # set boot delay + fw_setenv bootdelay 0 + # don't load f2fs module (disabled in kernel) + sed -i "s!f2fs!#f2fs!g" /etc/modules + # 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 + + # tune socket buffer + echo "net.core.rmem_default=512000" >> /etc/sysctl.conf +} + prefix=${family} hisi_goke() { @@ -27,6 +39,7 @@ hisi_goke() { # 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 + sed -i "s!Isp_FrameRate=25!Isp_FrameRate=30!g" /etc/sensors/imx335_i2c_4M.ini } sigmastar() { @@ -35,49 +48,42 @@ sigmastar() { } majestic_generic() { - # 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.size 1920x1080 + cli -s .video0.fps 30 + cli -s .video0.bitrate 5120 cli -s .video0.codec h264 cli -s .video0.rcMode cbr - cli -s .video0.gopSize 1 - cli -s .hls.enabled false - cli -s .netip.enabled false - cli -s .jpeg.enabled false + cli -s .video0.gopSize 1.5 # lowdelay support only imx307 sensor if [ ${sensor} = "imx307" ]; then - cli -s .video0.size 1280x720 - cli -s .video0.gopSize 0.2 - # cli -s .video0.fps 30 cli -s .isp.lowDelay true # cli -s .video0.sliceUnits 4 fi + if [ ${sensor} = "imx335" ]; then + cli -s .isp.drc 350 + cli -s .isp.sensorConfig /etc/sensors/imx335_i2c_4M.ini + fi + cli -s .hls.enabled false + cli -s .netip.enabled false + cli -s .jpeg.enabled false } majestic_sigmastar() { cli -s .isp.exposure 10 cli -s .isp.aGain 8 cli -s .isp.dGain 8 + cli -s .video0.size 1920x1080 cli -s .video0.fps 90 cli -s .video0.rcMode cbr cli -s .jpeg.enabled false } -all_other() { - # set boot delay - fw_setenv bootdelay 0 - # don't load f2fs module (disabled in kernel) - sed -i "s!f2fs!#f2fs!g" /etc/modules - 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 - 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 +streamer() { if [ -f /usr/bin/majestic ]; then if [ ${vendor} = "sigmastar" ]; then majestic_sigmastar @@ -89,15 +95,16 @@ all_other() { cli -s .outgoing.server udp://127.0.0.1:5600 fi -# tune socket buffer -cat >> /etc/sysctl.conf << EOF -net.core.rmem_default=524288 -net.core.rmem_max=2048000 -EOF + if [ -f /usr/bin/venc ]; then + if [ ${sensor} = "imx335" ]; then + sed -i "s!version=200_imx307B!version=300_imx335B!g" /etc/venc.conf + sed -i "s!size=720p!size=1292x972!g" /etc/venc.conf + fi + fi } finish() { - # complete tweaks + # complete tweaks and add marker touch /etc/system.ok echo "Preparing system done." reboot @@ -124,8 +131,9 @@ case "$1" in # remove unneeded to reduce some memory rm -f /etc/init.d/S60crond /etc/init.d/S49ntpd /etc/init.d/S02klogd + basic hisi_goke - all_other + streamer finish ;; gk7205v300 | hi3516ev300) @@ -139,30 +147,29 @@ case "$1" in cli -s .isp.sensorConfig /etc/sensors/smtsec_imx307_i2c_4l_1080p.ini fi + basic hisi_goke - all_other + streamer finish ;; t31l | t31n | t31x | t31zx) echo "Preparing system tweaks for ${chip}..." - all_other + basic + streamer + finish ;; hi3536dv100) echo "Preparing system tweaks for ${chip}..." - 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 - finish ;; ssc33x) echo "Preparing system tweaks for ${chip}..." + basic sigmastar - all_other + streamer finish ;; *) diff --git a/general/package/mavlink-router/mavlink-router.mk b/general/package/mavlink-router/mavlink-router.mk index 62b4323a..eb15b631 100644 --- a/general/package/mavlink-router/mavlink-router.mk +++ b/general/package/mavlink-router/mavlink-router.mk @@ -45,8 +45,8 @@ define MAVLINK_ROUTER_INSTALL_TARGET_CMDS $(INSTALL) -m 755 -d $(TARGET_DIR)/etc cp $(MAVLINK_ROUTER_PKGDIR)/files/mavlink_$(MAVLINK_ROUTER_UNIT).conf $(TARGET_DIR)/etc/mavlink.conf - $(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d - cp $(MAVLINK_ROUTER_PKGDIR)/files/S97mavlink $(TARGET_DIR)/etc/init.d +# $(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d +# cp $(MAVLINK_ROUTER_PKGDIR)/files/S97mavlink $(TARGET_DIR)/etc/init.d endef $(eval $(generic-package)) diff --git a/general/package/vdec-openipc/files/S98vdec b/general/package/vdec-openipc/files/S98vdec index c11cfac8..d05543ad 100755 --- a/general/package/vdec-openipc/files/S98vdec +++ b/general/package/vdec-openipc/files/S98vdec @@ -11,7 +11,7 @@ fi case "$1" in start) echo "Starting vdec decoder service..." - vdec -p ${port} -d ${format} -c ${codec} -m ${mode} --bg-r ${bg_r} --bg-g ${bg_g} --bg-b ${bg_b} --mavlink-port ${mavlink_port} ${osd_variant} > /dev/null 2>&1 & + vdec -p ${port} -d ${format} -c ${codec} -m ${mode} --mavlink-port ${mavlink_port} ${osd_variant} ${extra} > /dev/null 2>&1 & sleep 3 if [ ${osd} = "custom" ]; then osd > /dev/null 2>&1 & diff --git a/general/package/vdec-openipc/files/vdec.conf b/general/package/vdec-openipc/files/vdec.conf index 70780705..bb490761 100644 --- a/general/package/vdec-openipc/files/vdec.conf +++ b/general/package/vdec-openipc/files/vdec.conf @@ -16,6 +16,8 @@ format=frame # 1024x768x60 - 1024 x 768 @ 60 fps # 1366x768x60 - 1366 x 768 @ 60 fps # 1280x1024x60 - 1280 x 1024 @ 60 fps +# 1600x1200x60 - 1600 x 1200 @ 60 fps +# 2560x1440x30 - 2560 x 1440 @ 30 fps mode=720p60 @@ -27,8 +29,24 @@ mavlink_port=14750 osd=simple -### Background color components (RGB) +Extra param (write in one line split by space): -bg_r=30 -bg_g=0 -bg_b=30 +# --ar [mode] - Aspect ratio mode (Default: keep) +# keep - Keep stream aspect ratio +# stretch - Stretch to output resolution +# manual - Manual image size definition + +# --ar-bg-r [Value] - Fill color red component (Default: 0) +# --ar-bg-g [Value] - Fill color green component (Default: 0) +# --ar-bg-b [Value] - Fill color blue component (Default: 0) + +# --ar-x [Value] - Image position X +# --ar-y [Value] - Image position Y +# --ar-w [Value] - Image width +# --ar-h [Value] - Image height + +# --bg-r [Value] - Background color red (Default: 0) +# --bg-g [Value] - Background color green (Default: 96) +# --bg-b [Value] - Background color blue (Default: 0) + +extra="--bg-r 30 --bg-g 0 --bg-b 30" diff --git a/general/package/venc-openipc/files/venc.conf b/general/package/venc-openipc/files/venc.conf index b832c736..e454754a 100644 --- a/general/package/venc-openipc/files/venc.conf +++ b/general/package/venc-openipc/files/venc.conf @@ -7,7 +7,9 @@ # 300_imx307F - v300, IMX307, 4-lane MIPI | 1080p | 30 fps only # # GK7205v300 / IMX335 -# 300_imx335F - v300, IMX335, 4-lane MIPI | 4MP | 30 fps only +# 300_imx335F4 - v300, IMX335, 4-lane MIPI | 2592x1520 | 25 fps only +# 300_imx335F5 - v300, IMX335, 4-lane MIPI | 2592x1944 | 25 fps only +# 300_imx335B - v300, IMX335, 4-lane MIPI | 1292x972 | 30 / 60 fps only version=200_imx307B diff --git a/general/package/wifibroadcast/files/drone.key b/general/package/wifibroadcast/files/drone.key new file mode 100644 index 00000000..b9951d93 --- /dev/null +++ b/general/package/wifibroadcast/files/drone.key @@ -0,0 +1 @@ +»·ínƒ¤jЛРùŽÎ+Ü—‡¸ G²_¢Œ¬{FÄŠa•ûp’tzfè<æ@½k¾µ²QSz˜¢t¢c \ No newline at end of file diff --git a/general/package/wifibroadcast/files/gs.key b/general/package/wifibroadcast/files/gs.key new file mode 100644 index 00000000..d07f7585 --- /dev/null +++ b/general/package/wifibroadcast/files/gs.key @@ -0,0 +1 @@ +ÜhCÒ£¿ÀÖ“dß'ôYà:ïúNZV8”V¡ù¿l3qüÄarÁ@±X"'P#ÊžHYèvõc;ƤSƒŠ^ \ No newline at end of file diff --git a/general/package/wifibroadcast/files/wfb_drone.conf b/general/package/wifibroadcast/files/wfb_drone.conf index 6dd14263..6f04343c 100644 --- a/general/package/wifibroadcast/files/wfb_drone.conf +++ b/general/package/wifibroadcast/files/wfb_drone.conf @@ -2,7 +2,7 @@ unit=drone wlan=wlan0 -region=BO +region=00 ### By default used channel number, but, you may set freq instead. For ex: 2387M channel=14 frequency= diff --git a/general/package/wifibroadcast/files/wfb_gs.conf b/general/package/wifibroadcast/files/wfb_gs.conf index 19614fef..ca86f88b 100644 --- a/general/package/wifibroadcast/files/wfb_gs.conf +++ b/general/package/wifibroadcast/files/wfb_gs.conf @@ -2,7 +2,7 @@ unit=gs wlan=wlan0 -region=BO +region=00 ### By default used channel number, but, you may set freq instead. For ex: 2387M channel=14 frequency= diff --git a/general/package/wifibroadcast/wifibroadcast.mk b/general/package/wifibroadcast/wifibroadcast.mk index cee8293f..1c621269 100644 --- a/general/package/wifibroadcast/wifibroadcast.mk +++ b/general/package/wifibroadcast/wifibroadcast.mk @@ -33,6 +33,9 @@ define WIFIBROADCAST_INSTALL_TARGET_CMDS $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin cp $(WIFIBROADCAST_PKGDIR)/files/wifibroadcast $(TARGET_DIR)/usr/bin + $(INSTALL) -m 755 -d $(TARGET_DIR)/etc + cp $(WIFIBROADCAST_PKGDIR)/files/$(WIFIBROADCAST_UNIT).key $(TARGET_DIR)/etc/$(WIFIBROADCAST_UNIT).key + $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin cp $(WIFIBROADCAST_PKGDIR)/files/setmcs $(TARGET_DIR)/usr/bin