- +
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
- +