Added S-meter

This commit is contained in:
ha7ilm
2016-03-20 16:06:10 +01:00
parent 06bd8b92aa
commit 34bd5cceab
5 changed files with 183 additions and 73 deletions

View File

@ -178,6 +178,36 @@ function waterfallColorsAuto()
updateWaterfallColors(0);
}
function setSmeterRelativeValue(value)
{
if(value<0) value=0;
if(value>1.0) value=1.0;
var bar=e("openwebrx-smeter-bar");
var outer=e("openwebrx-smeter-outer");
bar.style.width=(outer.offsetWidth*value).toString()+"px";
bgRed="linear-gradient(to top, #ff5939 , #961700)";
bgGreen="linear-gradient(to top, #22ff2f , #008908)";
bgYellow="linear-gradient(to top, #fff720 , #a49f00)";
bar.style.background=(value>0.9)?bgRed:((value>0.7)?bgYellow:bgGreen);
//bar.style.backgroundColor=(value>0.9)?"#ff5939":((value>0.7)?"#fff720":"#22ff2f");
}
function getLogSmeterValue(value)
{
return 10*Math.log10(value);
}
function setSmeterAbsoluteValue(value) //the value that comes from `csdr squelch_and_smeter_cc`
{
var logValue=getLogSmeterValue(value);
var lowLevel=waterfall_min_level-20;
var highLevel=waterfall_max_level+20;
var percent=(logValue-lowLevel)/(highLevel-lowLevel);
setSmeterRelativeValue(percent);
e("openwebrx-smeter-db").innerHTML=logValue.toFixed(1)+" dB";
}
// ========================================================
// ================= ANIMATION ROUTINES =================
// ========================================================
@ -1145,6 +1175,10 @@ function on_ws_recv(evt)
case "max_clients":
max_clients_num=parseInt(param[1]);
break;
case "s":
smeter_level=parseFloat(param[1]);
setSmeterAbsoluteValue(smeter_level);
break;
}
}
/*}