From 483d7a4c63ff340c0d0922caf76a64b38ec98762 Mon Sep 17 00:00:00 2001 From: dagrider <49735724+dagrider@users.noreply.github.com> Date: Wed, 1 May 2019 01:17:42 -0500 Subject: [PATCH] Fixed OSD display (#1015) --- firmware_mod/config/osd.conf | 4 ++- firmware_mod/controlscripts/configureOsd | 8 +++--- firmware_mod/scripts/PTZpresets.sh | 1 - firmware_mod/scripts/common_functions.sh | 12 ++++++--- firmware_mod/www/cgi-bin/action.cgi | 33 ++++++++++++------------ firmware_mod/www/cgi-bin/system_osd.cgi | 2 +- 6 files changed, 33 insertions(+), 27 deletions(-) diff --git a/firmware_mod/config/osd.conf b/firmware_mod/config/osd.conf index 19ef1b9..93df2ca 100644 --- a/firmware_mod/config/osd.conf +++ b/firmware_mod/config/osd.conf @@ -1,7 +1,9 @@ DISPLAY_AXIS=true +ENABLE_OSD=true OSD="%H:%M:%S %d.%m.%Y" COLOR=0 SIZE=0 POSY= FIXEDW=0 -SPACE= \ No newline at end of file +SPACE= +FONTNAME= diff --git a/firmware_mod/controlscripts/configureOsd b/firmware_mod/controlscripts/configureOsd index cc64fd8..660e020 100644 --- a/firmware_mod/controlscripts/configureOsd +++ b/firmware_mod/controlscripts/configureOsd @@ -2,17 +2,17 @@ ## Get OSD-Information if [ -f /system/sdcard/config/osd.conf ]; then - source /system/sdcard/config/osd.conf 2>/dev/null + . /system/sdcard/config/osd.conf > /dev/null 2>/dev/null + AXIS="" # Call setconf only if we have something to set, to avoid outputing error messages - [ ${DISPLAY_AXIS} ] && AXIS=`/system/sdcard/bin/motor -d u -s 0 | tail +5 | awk '{printf ("%s ",$0)}' | awk '{print "X="$2,"Y="$4}'` && OSD=$(echo ${OSD} | sed -r "s/X=.*$/${AXIS}/") - [ ! -z "${OSD}" ] && /system/sdcard/bin/setconf -k o -v "${OSD}" 2>/dev/null + [ "${DISPLAY_AXIS}" = true ] && AXIS=$(/system/sdcard/bin/motor -d s | sed '3d' | awk '{printf ("%s ",$0)}' | awk '{print " X="$2,"Y="$4}') + [ "${ENABLE_OSD}" = true ] && /system/sdcard/bin/setconf -k o -v "${OSD}${AXIS}" 2>/dev/null [ ! -z "${COLOR}" ] && /system/sdcard/bin/setconf -k c -v ${COLOR} 2>/dev/null [ ! -z "${SIZE}" ] && /system/sdcard/bin/setconf -k s -v ${SIZE} 2>/dev/null [ ! -z "${POSY}" ] && /system/sdcard/bin/setconf -k x -v ${POSY} 2>/dev/null [ ! -z "${FIXEDW}" ] && /system/sdcard/bin/setconf -k w -v ${FIXEDW} 2>/dev/null [ ! -z "${SPACE}" ] && /system/sdcard/bin/setconf -k p -v ${SPACE} 2>/dev/null [ ! -z "${FONTNAME}" ] && /system/sdcard/bin/setconf -k e -v ${FONTNAME} 2>/dev/null - else /system/sdcard/bin/setconf -k o -v "" fi diff --git a/firmware_mod/scripts/PTZpresets.sh b/firmware_mod/scripts/PTZpresets.sh index bdc515c..340bb20 100644 --- a/firmware_mod/scripts/PTZpresets.sh +++ b/firmware_mod/scripts/PTZpresets.sh @@ -100,5 +100,4 @@ esac # Update OSD_AXIS update_axis logger "Move end motor coordinates:$AXIS" -/system/sdcard/bin/setconf -k o -v "$OSD" exit_shell 0 diff --git a/firmware_mod/scripts/common_functions.sh b/firmware_mod/scripts/common_functions.sh index f46f99d..f519d34 100755 --- a/firmware_mod/scripts/common_functions.sh +++ b/firmware_mod/scripts/common_functions.sh @@ -221,7 +221,6 @@ update_motor_pos(){ sleep ${SLEEP_NUM//-/} # Display AXIS to OSD update_axis - /system/sdcard/bin/setconf -k o -v "$OSD" } # Read the light sensor @@ -450,9 +449,14 @@ snapshot(){ # Update axis update_axis(){ . /system/sdcard/config/osd.conf > /dev/null 2>/dev/null - AXIS=$(/system/sdcard/bin/motor -d s | sed '3d' | awk '{printf ("%s ",$0)}' | awk '{print "X="$2,"Y="$4}') - if [ "$DISPLAY_AXIS" == "true" ]; then - OSD="${OSD} ${AXIS}" + AXIS=$(/system/sdcard/bin/motor -d s | sed '3d' | awk '{printf ("%s ",$0)}' | awk '{print " X="$2,"Y="$4}') + + if [ "$ENABLE_OSD" = "true" ]; then + if [ "$DISPLAY_AXIS" = "true" ]; then + OSD="${OSD}${AXIS}" + fi + + /system/sdcard/bin/setconf -k o -v "$OSD" fi } diff --git a/firmware_mod/www/cgi-bin/action.cgi b/firmware_mod/www/cgi-bin/action.cgi index d7f7411..649b76b 100755 --- a/firmware_mod/www/cgi-bin/action.cgi +++ b/firmware_mod/www/cgi-bin/action.cgi @@ -240,23 +240,24 @@ if [ -n "$F_cmd" ]; then fontName=$(echo "$fontName" | sed -e "s/\\+/ /g") if [ ! -z "$axis_enable" ];then - update_axis - osdtext="${osdtext} ${AXIS}" echo "DISPLAY_AXIS=true" > /system/sdcard/config/osd.conf - echo DISPLAY_AXIS enable + echo "DISPLAY_AXIS enable
" else echo "DISPLAY_AXIS=false" > /system/sdcard/config/osd.conf - echo DISPLAY_AXIS disable + echo "DISPLAY_AXIS disable
" fi + + echo "OSD=\"${osdtext}\"" | sed -r 's/[ ]X=.*"/"/' >> /system/sdcard/config/osd.conf + echo "OSD set
" if [ ! -z "$enabled" ]; then - /system/sdcard/bin/setconf -k o -v "$osdtext" - echo "OSD=\"${osdtext}\"" | sed -r 's/[ ]X=.*"/"/' >> /system/sdcard/config/osd.conf - echo "OSD set" + echo "ENABLE_OSD=true" >> /system/sdcard/config/osd.conf + update_axis + echo "OSD enabled" else - echo "OSD removed" + echo "ENABLE_OSD=false" >> /system/sdcard/config/osd.conf + echo "OSD disabled" /system/sdcard/bin/setconf -k o -v "" - echo "OSD=\"\" " >> /system/sdcard/config/osd.conf fi echo "COLOR=${F_color}" >> /system/sdcard/config/osd.conf @@ -489,13 +490,13 @@ if [ -n "$F_cmd" ]; then rewrite_config /system/sdcard/config/rtspserver.conf HWVOLUME "$F_audioinVol" rewrite_config /system/sdcard/config/rtspserver.conf SWVOLUME "-1" - echo "Audio format $audioinFormat
" - echo "In audio bitrate $audioinBR
" - echo "Out audio bitrate $audiooutBR
" - echo "Filter $F_audioinFilter
" - echo "High Pass Filter $F_HFEnabled
" - echo "AEC Filter $F_AECEnabled
" - echo "Volume $F_audioinVol
" + echo "Audio format $audioinFormat
" + echo "In audio bitrate $audioinBR
" + echo "Out audio bitrate $audiooutBR
" + echo "Filter $F_audioinFilter
" + echo "High Pass Filter $F_HFEnabled
" + echo "AEC Filter $F_AECEnabled
" + echo "Volume $F_audioinVol
" /system/sdcard/bin/setconf -k q -v "$F_audioinFilter" 2>/dev/null /system/sdcard/bin/setconf -k l -v "$F_HFEnabled" 2>/dev/null /system/sdcard/bin/setconf -k a -v "$F_AECEnabled" 2>/dev/null diff --git a/firmware_mod/www/cgi-bin/system_osd.cgi b/firmware_mod/www/cgi-bin/system_osd.cgi index b34840b..d0508f2 100644 --- a/firmware_mod/www/cgi-bin/system_osd.cgi +++ b/firmware_mod/www/cgi-bin/system_osd.cgi @@ -53,7 +53,7 @@ cat << EOF

- +