prefix session storage T1 + fix freq and them/fannl

This commit is contained in:
2023-03-03 18:45:35 +01:00
parent d474d917eb
commit dce8889a21
5 changed files with 363 additions and 356 deletions

View File

@@ -80,41 +80,40 @@ function do_ajax(p_url,p_data) {
switch (p_url) {
case '/reset_hours':
if (p_data.rh == 0) {
sessionStorage.setItem('hr0', '0')
sessionStorage.setItem('t1_hr0', '0')
} else if (p_data.rh == 1){
sessionStorage.setItem('hr1', '0')
sessionStorage.setItem('t1_hr1', '0')
} else if (p_data.rh == 3){
sessionStorage.setItem('hr3', sessionStorage.getItem('h3'))
sessionStorage.setItem('t1_hr3', sessionStorage.getItem('t1_h3'))
}
break;
case '/reset_temps':
if (p_data.rt == 0) {
sessionStorage.setItem('tmr0', sessionStorage.getItem('t0'))
sessionStorage.setItem('t1_tmr0', sessionStorage.getItem('t1_t0'))
} else if (p_data.rt == 3){
sessionStorage.setItem('tmr3', sessionStorage.getItem('t3'))
sessionStorage.setItem('t1_tmr3', sessionStorage.getItem('t1_t3'))
} else if (p_data.rt == 2){
sessionStorage.setItem('tmr2', sessionStorage.getItem('t2'))
sessionStorage.setItem('t1_tmr2', sessionStorage.getItem('t1_t2'))
}
break;
case '/ltemps':
if (p_data.rlt == 0) {
sessionStorage.setItem('ltmr0', sessionStorage.getItem('lt0'))
sessionStorage.setItem('t1_ltmr0', sessionStorage.getItem('t1_lt0'))
} else if (p_data.rlt == 1){
sessionStorage.setItem('ltmr1', sessionStorage.getItem('lt1'))
sessionStorage.setItem('t1_ltmr1', sessionStorage.getItem('t1_lt1'))
} else if (p_data.rlt == 2){
sessionStorage.setItem('ltmr2', sessionStorage.getItem('lt2'))
sessionStorage.setItem('t1_ltmr2', sessionStorage.getItem('t1_lt2'))
}
break;
default:
for (const [key, value] of Object.entries(p_data)) {
sessionStorage.setItem(key, value)
if (key == 'tmpu') {
if (key == 't1_tmpu') {
if (value == 0) {
sessionStorage.setItem('tu', 'C')
sessionStorage.setItem('t1_tu', 'C')
} else if (value == 1) {
sessionStorage.setItem('tu', 'F')
sessionStorage.setItem('t1_tu', 'F')
}
}
}
@@ -226,17 +225,17 @@ function c_opt(n,t,o,pl,vp,lp,e) {
}
// returns radio field
function c_rad(n,t,r,e,c) {
function c_rad(name,legend,options,invalid_fb_txt,group_class) {
var html = '<div class="form-group' + c + '">';
html += '<legend class="col-form-label">' + t + '</legend>';
for (i = 0; i < r.length; i++) {
var html = '<div class="form-group' + group_class + '">';
html += '<legend class="col-form-label">' + legend + '</legend>';
for (i = 0; i < options.length; i++) {
html += '<div class="form-check form-check-inline">';
html += '<input class="form-check-input" type="radio" name="' + n + '" value="' + i + '" id="' + n + (i + 1) + '">';
html += '<label class="form-check-label" for="' + n + (i + 1) + '">' + r[i] + '</label>';
html += '<input class="form-check-input" type="radio" name="' + name + '" value="' + i + '" id="' + name + (i + 1) + '">';
html += '<label class="form-check-label" for="' + name + (i + 1) + '">' + options[i] + '</label>';
html += '</div>';
}
html += e.length > 0 ? '<div class="invalid-feedback">' + e + '</div>' : '';
html += invalid_fb_txt.length > 0 ? '<div class="invalid-feedback">' + invalid_fb_txt + '</div>' : '';
html += '</div>';
return html;
@@ -249,90 +248,91 @@ function addLeadingZeros(num) {
}
function initSessionStorage() {
var currentTime = new Date();
if (sessionStorage.getItem('dmxa') == null) {
if (sessionStorage.getItem('t1_dmxa') == null) {
console.log("sessionStorage empty, populating with demo data")
var currentTime = new Date();
/* CONSTANTS */
sessionStorage.setItem('ip', '2.246.16.203') // ip addr
sessionStorage.setItem('mac', '00:00:00:00:00:00') //
sessionStorage.setItem('rdmu', '52:53:00:00:00:00') //
sessionStorage.setItem('t1_ip', '2.246.16.203') // ip addr
sessionStorage.setItem('t1_mac', '00:00:00:00:00:00') //
sessionStorage.setItem('t1_rdmu', '52:53:00:00:00:00') //
/* VARIABLES */
sessionStorage.setItem('dmxa', '1') // dmx addr
sessionStorage.setItem('dmxp', '2') // dmx mode
sessionStorage.setItem('dmxi', '0') // input (wired0 wireless1 wirelessout2)
sessionStorage.setItem('rdmn', 'Robin T1 Wash') // rdm name
sessionStorage.setItem('bldmc', '0') // blackout dmc
sessionStorage.setItem('blptm', '0') // blackout pt
sessionStorage.setItem('dty', currentTime.getFullYear()) // date year
sessionStorage.setItem('dtmo', addLeadingZeros(currentTime.getMonth() + 1)) // date month
sessionStorage.setItem('dtd', addLeadingZeros(currentTime.getDay())) // date day
sessionStorage.setItem('dth', addLeadingZeros(currentTime.getHours())) // time hour
sessionStorage.setItem('dtmi', addLeadingZeros(currentTime.getMinutes())) // time minute
sessionStorage.setItem('dts', addLeadingZeros(currentTime.getSeconds())) // time seconds
sessionStorage.setItem('emod', '0') //ethmode 0dis 1art 2gma1 3gma2 4sacn
sessionStorage.setItem('ee2d', '0') //eth to dmx
sessionStorage.setItem('eanu', '0') //art uni
sessionStorage.setItem('emau', '1') //ma uni
sessionStorage.setItem('emas', '1') //ma session
sessionStorage.setItem('esau', '1') //sacn uni
sessionStorage.setItem('dint', '9') //disp int
sessionStorage.setItem('dsd', '0') //disp screensave
sessionStorage.setItem('dtl', '0') //disp lock
sessionStorage.setItem('dor', '2') //disp orientation 0norm 1inv 2auto
sessionStorage.setItem('mics', '9') // mic sens
sessionStorage.setItem('them', '0') // theatre mode
sessionStorage.setItem('fannl', '0') // fan noise level percent
sessionStorage.setItem('frq', '4928') // cpulse frequency, use frq_s to calculate. 4928 = 600.0000Hz
sessionStorage.setItem('fanm', '0') // fanmode 0auto 1high
sessionStorage.setItem('tmpu', '0') //temp unit 0c 1f
sessionStorage.setItem('tu', 'C') // temp unit string
sessionStorage.setItem('pr', '0') // pan rev
sessionStorage.setItem('ptf', '1') // pt feedback
sessionStorage.setItem('pte', '1') // pt EMS
sessionStorage.setItem('tr', '0') // tilt rev
sessionStorage.setItem('ptm', '0') // pt mode 0speed 1time
sessionStorage.setItem('ccalm', '1') // col cal mode
sessionStorage.setItem('cmixm', '0') // color mix mode 0rgb 1cmy
sessionStorage.setItem('chrwh', '0') // chromatic white
sessionStorage.setItem('cdimc', '1') //dim curve 0linear 1squarelaw
sessionStorage.setItem('thefs', '0') //tungsten dimming 0off 1_750 2_1000 3_1200 4_2000 5_2500
sessionStorage.setItem('t1_dmxa', '1') // dmx addr
sessionStorage.setItem('t1_dmxp', '2') // dmx mode
sessionStorage.setItem('t1_dmxi', '0') // input (wired0 wireless1 wirelessout2)
sessionStorage.setItem('t1_rdmn', 'Robin T1 Wash') // rdm name
sessionStorage.setItem('h0', '1206') // power on time
sessionStorage.setItem('hr0', '1206') // resetable
sessionStorage.setItem('h1', '213') // leds on time
sessionStorage.setItem('hr1', '213') // resetable
sessionStorage.setItem('h3', '300') // airfilters
sessionStorage.setItem('hr3', '45') // resetable
sessionStorage.setItem('t1_bldmc', '0') // blackout dmc
sessionStorage.setItem('t1_blptm', '0') // blackout pt
sessionStorage.setItem('t0', '28') // led brd top now
sessionStorage.setItem('tm0', '62') // max
sessionStorage.setItem('tmr0', '62') // resetable
sessionStorage.setItem('t3', '26') // led brd bottom now
sessionStorage.setItem('tm3', '64') // max
sessionStorage.setItem('tmr3', '64') // resetable
sessionStorage.setItem('t2', '25') // base now
sessionStorage.setItem('tm2', '56') // max
sessionStorage.setItem('tmr2', '56') // resetable
sessionStorage.setItem('lt0', '22.3') // red amber now
sessionStorage.setItem('ltm0', '53') // max
sessionStorage.setItem('ltmr0', '53') // resetable
sessionStorage.setItem('lt1', '22.9') // green yellow now
sessionStorage.setItem('ltm1', '67') // max
sessionStorage.setItem('ltmr1', '67') // resetable
sessionStorage.setItem('lt2', '23.1') // blue now
sessionStorage.setItem('ltm2', '65') // max
sessionStorage.setItem('ltmr2', '65') // resetable
sessionStorage.setItem('t1_dty', currentTime.getFullYear()) // date year
sessionStorage.setItem('t1_dtmo', addLeadingZeros(currentTime.getMonth() + 1)) // date month
sessionStorage.setItem('t1_dtd', addLeadingZeros(currentTime.getDay())) // date day
sessionStorage.setItem('t1_dth', addLeadingZeros(currentTime.getHours())) // time hour
sessionStorage.setItem('t1_dtmi', addLeadingZeros(currentTime.getMinutes())) // time minute
sessionStorage.setItem('t1_dts', addLeadingZeros(currentTime.getSeconds())) // time seconds
sessionStorage.setItem('t1_emod', '0') //ethmode 0dis 1art 2gma1 3gma2 4sacn
sessionStorage.setItem('t1_ee2d', '0') //eth to dmx
sessionStorage.setItem('t1_eanu', '0') //art uni
sessionStorage.setItem('t1_emau', '1') //ma uni
sessionStorage.setItem('t1_emas', '1') //ma session
sessionStorage.setItem('t1_esau', '1') //sacn uni
sessionStorage.setItem('t1_dint', '9') //disp int
sessionStorage.setItem('t1_dsd', '0') //disp screensave
sessionStorage.setItem('t1_dtl', '0') //disp lock
sessionStorage.setItem('t1_dor', '2') //disp orientation 0norm 1inv 2auto
sessionStorage.setItem('t1_mics', '9') // mic sens
sessionStorage.setItem('t1_them', '0') // theatre mode
sessionStorage.setItem('t1_fannl', '0') // fan noise level percent
sessionStorage.setItem('t1_frq', '4928') // cpulse frequency, use frq_s to calculate. 4928 = 600.0000Hz
sessionStorage.setItem('t1_fanm', '0') // t1_fanmode 0auto 1high
sessionStorage.setItem('t1_tmpu', '0') //temp unit 0c 1f
sessionStorage.setItem('t1_tu', 'C') // temp unit string
sessionStorage.setItem('t1_pr', '0') // pan rev
sessionStorage.setItem('t1_ptf', '1') // pt feedback
sessionStorage.setItem('t1_pte', '1') // pt EMS
sessionStorage.setItem('t1_tr', '0') // tilt rev
sessionStorage.setItem('t1_ptm', '0') // pt mode 0speed 1time
sessionStorage.setItem('t1_ccalm', '1') // col cal mode
sessionStorage.setItem('t1_cmixm', '0') // color mix mode 0rgb 1cmy
sessionStorage.setItem('t1_chrwh', '0') // chromatic white
sessionStorage.setItem('t1_cdimc', '1') //dim curve 0linear 1squarelaw
sessionStorage.setItem('t1_thefs', '0') //tungsten dimming 0off 1_750 2_1000 3_1200 4_2000 5_2500
sessionStorage.setItem('t1_h0', '1206') // power on time
sessionStorage.setItem('t1_hr0', '1206') // resetable
sessionStorage.setItem('t1_h1', '213') // leds on time
sessionStorage.setItem('t1_hr1', '213') // resetable
sessionStorage.setItem('t1_h3', '300') // airfilters
sessionStorage.setItem('t1_hr3', '45') // resetable
sessionStorage.setItem('t1_t0', '28') // led brd top now
sessionStorage.setItem('t1_tm0', '62') // max
sessionStorage.setItem('t1_tmr0', '62') // resetable
sessionStorage.setItem('t1_t3', '26') // led brd bottom now
sessionStorage.setItem('t1_tm3', '64') // max
sessionStorage.setItem('t1_tmr3', '64') // resetable
sessionStorage.setItem('t1_t2', '25') // base now
sessionStorage.setItem('t1_tm2', '56') // max
sessionStorage.setItem('t1_tmr2', '56') // resetable
sessionStorage.setItem('t1_lt0', '22.3') // red amber now
sessionStorage.setItem('t1_ltm0', '53') // max
sessionStorage.setItem('t1_ltmr0', '53') // resetable
sessionStorage.setItem('t1_lt1', '22.9') // green yellow now
sessionStorage.setItem('t1_ltm1', '67') // max
sessionStorage.setItem('t1_ltmr1', '67') // resetable
sessionStorage.setItem('t1_lt2', '23.1') // blue now
sessionStorage.setItem('t1_ltm2', '65') // max
sessionStorage.setItem('t1_ltmr2', '65') // resetable
}
}
@@ -340,10 +340,10 @@ function populateUIFromSessionStorage() {
for (var i = 0; i < sessionStorage.length; i++) {
var valueToLoad = '';
switch (sessionStorage.key(i)) {
case 'dmxp':
case 't1_dmxp':
var valueToLoad = "Mode " + (parseInt(sessionStorage.getItem(sessionStorage.key(i))) + 1)
break;
case 'dmxi':
case 't1_dmxi':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "wired"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
@@ -353,23 +353,23 @@ function populateUIFromSessionStorage() {
}
break;
case 'bldmc':
case 'blptm':
case 'ee2d':
case 'them':
case 'pr':
case 'tr':
case 'ptf':
case 'pte':
case 'ccalm':
case 'chrwh':
case 't1_bldmc':
case 't1_blptm':
case 't1_ee2d':
case 't1_them':
case 't1_pr':
case 't1_tr':
case 't1_ptf':
case 't1_pte':
case 't1_ccalm':
case 't1_chrwh':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "off"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "on"
}
break;
case 'emod':
case 't1_emod':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "disable"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
@@ -382,20 +382,20 @@ function populateUIFromSessionStorage() {
var valueToLoad = "sACN"
}
break;
case 'dint':
case 'mics':
case 't1_dint':
case 't1_mics':
var valueToLoad = (parseInt(sessionStorage.getItem(sessionStorage.key(i))) + 1)
break;
case 'dsd':
case 'dtl':
case 't1_dsd':
case 't1_dtl':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "off"
} else {
var valueToLoad = (parseInt(sessionStorage.getItem(sessionStorage.key(i))) + " min")
}
break;
case 'dor':
case 't1_dor':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "normal"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
@@ -404,35 +404,35 @@ function populateUIFromSessionStorage() {
var valueToLoad = "auto"
}
break;
case 'fanm':
case 't1_fanm':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "auto"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "high"
}
break;
case 'tmpu':
case 't1_tmpu':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "°C"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "°F"
}
break;
case 'ptm':
case 't1_ptm':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "speed"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "time"
}
break;
case 'cmixm':
case 't1_cmixm':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "rgb"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "cmy"
}
break;
case 'thefs':
case 't1_thefs':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "off"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
@@ -447,14 +447,18 @@ function populateUIFromSessionStorage() {
var valueToLoad = "2500 W"
}
break;
case 'cdimc':
case 't1_cdimc':
if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
var valueToLoad = "linear"
} else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
var valueToLoad = "square law"
}
break;
break;
case 't1_frq':
var valueToLoad = t1_frq_s(sessionStorage.getItem('t1_frq'))
break;
default:
var valueToLoad = sessionStorage.getItem(sessionStorage.key(i))
break;
}
@@ -462,6 +466,16 @@ function populateUIFromSessionStorage() {
$("#" + sessionStorage.key(i) + "_v").html(valueToLoad)
// for each element with id tu_v sets html to string of temp unit
$('div[id^="tu_v"]').html(sessionStorage.getItem('tu'))
$('div[id^="tu_v"]').html(sessionStorage.getItem('t1_tu'))
}
}
}
// calc proper frequency to be displayed
function t1_frq_s(t1_frq) {
var f = 360000000000;
var k = (0x700) - (t1_frq & 0xfff);
var arr = 465 + ((k >> 8) & 0x0f);
var x = k & 0xff;
f = f * (1 << (t1_frq >> 12)) / (arr * (256 - x) + (arr + 1) * (x));
return Math.floor(f / 10000) + '.' + ('0000' + Math.floor(f % 10000)).slice(-4)
}