diff --git a/general/package/mavlink-router/files/mavlink.conf b/general/package/mavlink-router/files/mavlink.conf index c3ee677e..d9e11cd2 100644 --- a/general/package/mavlink-router/files/mavlink.conf +++ b/general/package/mavlink-router/files/mavlink.conf @@ -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 diff --git a/general/package/wifibroadcast/files/S98wfb b/general/package/wifibroadcast/files/S98wfb index eb72b5c9..5295d3d5 100755 --- a/general/package/wifibroadcast/files/S98wfb +++ b/general/package/wifibroadcast/files/S98wfb @@ -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 diff --git a/general/package/wifibroadcast/files/telemetry.conf b/general/package/wifibroadcast/files/telemetry.conf index 17925fd0..7161c22c 100644 --- a/general/package/wifibroadcast/files/telemetry.conf +++ b/general/package/wifibroadcast/files/telemetry.conf @@ -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 diff --git a/general/package/wifibroadcast/files/tweaksys b/general/package/wifibroadcast/files/tweaksys new file mode 100755 index 00000000..32f191a9 --- /dev/null +++ b/general/package/wifibroadcast/files/tweaksys @@ -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 diff --git a/general/package/wifibroadcast/files/wfb.conf b/general/package/wifibroadcast/files/wfb.conf index 4c2daffe..7a4f05b8 100644 --- a/general/package/wifibroadcast/files/wfb.conf +++ b/general/package/wifibroadcast/files/wfb.conf @@ -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 diff --git a/general/package/wifibroadcast/wifibroadcast.mk b/general/package/wifibroadcast/wifibroadcast.mk index 8f14491b..90e60c33 100644 --- a/general/package/wifibroadcast/wifibroadcast.mk +++ b/general/package/wifibroadcast/wifibroadcast.mk @@ -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