diff --git a/general/package/wifibroadcast-ng/files/wfb.yaml b/general/package/wifibroadcast-ng/files/wfb.yaml index 0d45dd10..21b8f58c 100644 --- a/general/package/wifibroadcast-ng/files/wfb.yaml +++ b/general/package/wifibroadcast-ng/files/wfb.yaml @@ -1,5 +1,5 @@ wireless: - txpower: 1 + txpower: 10 channel: 161 mode: HT20 broadcast: @@ -10,5 +10,5 @@ broadcast: link_id: 7669206 telemetry: router: msposd - serial: /dev/ttyS2 + serial: ttyS2 osd_fps: 20 diff --git a/general/package/wifibroadcast-ng/files/wifibroadcast b/general/package/wifibroadcast-ng/files/wifibroadcast index 524b8af4..9f19bd45 100755 --- a/general/package/wifibroadcast-ng/files/wifibroadcast +++ b/general/package/wifibroadcast-ng/files/wifibroadcast @@ -13,7 +13,6 @@ wfb_yaml() { } load_config() { - wfb_yaml /rom/etc/wfb.yaml wfb_yaml /etc/wfb.yaml [ ! -e "$wfb_key" ] && wfb_key=/rom/etc/drone.key } @@ -84,10 +83,10 @@ start_telemetry() { config=$(curl -s localhost/api/v1/config.json) [ -n "$config" ] && size=$(echo "$config" | jsonfilter -e "@.video0.size") msposd -b 115200 -c 8 -d -r "$osd_fps" -z "${size:-1280x720}" \ - -m "$serial" -o 10.5.0.1:14551 > /dev/null & + -m /dev/"$serial" -o 10.5.0.1:14551 > /dev/null & elif [ "$router" = "mavfwd" ]; then - mavfwd --baudrate 115200 --channels 8 -p 100 -a 15 -t \ - --master "$serial" --in 0.0.0.0:14550 --out 10.5.0.1:14551 > /dev/null & + mavfwd -b 115200 -c 8 -p 100 -a 15 -t \ + -m /dev/"$serial" -i 0.0.0.0:14550 -o 10.5.0.1:14551 > /dev/null & fi } @@ -95,14 +94,16 @@ video_settings() { sensor=$(ipcinfo -s) cli -s .isp.sensorConfig /etc/sensors/"$sensor"_fpv.bin cli -s .isp.exposure 5 - cli -s .video0.fps 60 - cli -s .video0.bitrate 10240 + cli -s .video0.fps 90 + cli -s .video0.bitrate 8192 cli -s .video0.codec h265 cli -s .video0.rcMode cbr cli -s .outgoing.enabled true cli -s .outgoing.server udp://0.0.0.0:5600 cli -s .fpv.enabled true cli -s .fpv.noiseLevel 1 + + killall -1 majestic } start() { @@ -114,7 +115,6 @@ start() { sleep 1 video_settings touch /etc/system.ok - killall -1 majestic fi stop @@ -137,14 +137,18 @@ case "$1" in $1 ;; - reset) + resetv) cp -f /rom/etc/majestic.yaml /etc/majestic.yaml - cp -f /rom/etc/wfb.yaml /etc/wfb.yaml video_settings ;; + resetw) + cp -f /rom/etc/wfb.yaml /etc/wfb.yaml + start + ;; + *) - echo "Usage: $0 {start|stop|reset}" + echo "Usage: $0 {start|stop|resetv|resetw}" exit 1 ;; esac diff --git a/general/package/wifibroadcast-ng/www/index.html b/general/package/wifibroadcast-ng/www/index.html index ce1854af..dd5ce392 100644 --- a/general/package/wifibroadcast-ng/www/index.html +++ b/general/package/wifibroadcast-ng/www/index.html @@ -11,6 +11,7 @@ color: #dcdcdc; text-align: center; } + header { background-color: #252526; border-radius: 4px; @@ -18,14 +19,17 @@ color: white; padding: 15px 0; } + h3 { font-size: 1.5rem; margin-top: 1rem; color: #dee2e6bf; } + .container { padding: 20px; } + .form-section { background-color: #2d2d2d; border-radius: 4px; @@ -34,6 +38,7 @@ padding: 20px; margin: 20px auto; } + .form-section label { display: inline-block; font-weight: bold; @@ -42,6 +47,7 @@ vertical-align: top; color: #dee2e6; } + .form-section select { width: 120px; padding: 10px; @@ -53,23 +59,46 @@ display: inline-block; box-sizing: border-box; } + .form-section input { width: 120px; height: 25px; } + + .button-container { + display: flex; + flex-direction: column; + align-items: center; + } + .form-section button { - background-color: #0d6efd80; - box-shadow: 0 2px 10px #00000040; - color: white; - padding: 10px 60px; + width: 160px; + padding: 10px; + margin: 10px; border: none; border-radius: 4px; cursor: pointer; font-size: 1rem; + color: white; + box-shadow: 0 2px 10px #00000040; } - .form-section button:hover { - background-color: #0b5ed7; + + #apply-video-button, #apply-wfb-button { + background-color: #0d4aa5; } + + #apply-video-button:hover, #apply-wfb-button:hover { + background-color: #115fd4; + } + + #reset-video-button, #reset-wfb-button { + background-color: #b81414; + } + + #reset-video-button:hover, #reset-wfb-button:hover { + background-color: #e61919; + } + #preview { width: 100%; max-width: 1200px; @@ -77,6 +106,7 @@ box-shadow: 0 2px 10px #00000080; border-radius: 4px; } + .row { margin-bottom: 15px; } @@ -121,7 +151,10 @@ - +