diff --git a/iforte/base.js b/iforte/base.js
index 3069b7b..cbb7ed7 100644
--- a/iforte/base.js
+++ b/iforte/base.js
@@ -1,565 +1,759 @@
-$(document).ready(function() {
-
- initSessionStorage()
- populateUIFromSessionStorage()
-
- loopRainsSimulator()
+var is_pressure_test_ongoing = false;
- // Sets the proper fixture name in the header and title
- var fixturename = "Robin iForte - Simulated";
- $('#pth').html(fixturename)
- $(document).prop('title', fixturename)
+$(document).ready(function () {
+ initSessionStorage();
+ populateUIFromSessionStorage();
- // handle RDM ident
- var idntb = $('#idnt img');
- var idnt_status = sessionStorage.getItem('iforte_idnt')
- if (idnt_status == 1) {
- idntb.addClass("a");
- }
- $('#idnt').click(function() {
- var idnt_status = sessionStorage.getItem('iforte_idnt')
- if (idnt_status == 1) {
- idntb.removeClass("a");
- sessionStorage.setItem('iforte_idnt', '0')
- } else {
- idntb.addClass("a")
- sessionStorage.setItem('iforte_idnt', '1')
- }
- });
-
- //handle settings
- $(document).on('click','#scfg',function() {
- mhdr_status('');
- $('#m-t').html('Site settings');
- var h = '
Password settings ';
- h += c_txt('opswd','Old password','Please put old password (four digits)','','password');
- h += c_txt('npswd','New password','Please put new password (four digits)','','password');
- h += c_txt('npsch','New password check','New passwords check failed','','password');
- h += "Simulator ";
- h += c_btn('Reset demo values', 'btnresetdemo', ' btnresetdemo');
- h += c_rad('iforte_demo_rains_age', 'RAINS tubes age', ['New', 'Average', 'Old'], '','');
- h += c_rad('iforte_demo_pressure_test', 'Pressure test', ['OK', 'Failing'], '', '');
- $('#m-b').html(h);
- $('.sb').unbind();
- copy_form_values(2);
- $('#cfg-modal').modal();
-
- $('.sb').bind('click',function() {
- loader(1);
- var par = ['opswd','npswd','npsch', 'iforte_demo_rains_age','iforte_demo_pressure_test'];
- do_ajax('/set_cfg',pv(par),function (json) {
- if (json) {
- if (json['status'] == 0) {
- mhdr_status('suc');
- close_modal();
- location = '/';
- }
- show_errors(json['status'],par);
- loader(0);
- }
- });
- });
- });
-
- // handle reset demo values
- $(document).on('click','.btnresetdemo',function() {
- $('.sb').html('OK')
- sessionStorage.clear()
- initSessionStorage()
- populateUIFromSessionStorage()
- showCustomModal('Cleared', 'Simulated page reset to default settings.')
- });
+ loopRainsSimulator();
+
+ // Sets the proper fixture name in the header and title
+ var fixturename = "Robin iForte - Simulated";
+ $("#pth").html(fixturename);
+ $(document).prop("title", fixturename);
+
+ // handle RDM ident
+ var idntb = $("#idnt img");
+ $("#idnt").click(function () {
+ var idnt_status = sessionStorage.getItem("iforte_idnt");
+ if (idnt_status == 1) {
+ idntb.removeClass("a");
+ sessionStorage.setItem("iforte_idnt", "0");
+ } else {
+ idntb.addClass("a");
+ sessionStorage.setItem("iforte_idnt", "1");
+ }
+ });
+
+ //handle settings
+ $(document).on("click", "#scfg", function () {
+ $("#m-t").html("Site settings");
+ var h = "Password settings ";
+ h += c_txt(
+ "opswd",
+ "Old password",
+ "Please put old password (four digits)",
+ "",
+ "password"
+ );
+ h += c_txt(
+ "npswd",
+ "New password",
+ "Please put new password (four digits)",
+ "",
+ "password"
+ );
+ h += c_txt(
+ "npsch",
+ "New password check",
+ "New passwords check failed",
+ "",
+ "password"
+ );
+ h += "Simulator ";
+ h += c_btn("Reset demo values", "btnresetdemo", " btnresetdemo");
+ h += c_rad(
+ "iforte_demo_rains_age",
+ "RAINS tubes age",
+ ["New", "Average", "Old"],
+ "",
+ ""
+ );
+ h += c_rad(
+ "iforte_demo_pressure_test",
+ "Pressure test",
+ ["OK", "Failing"],
+ "",
+ ""
+ );
+ $("#m-b").html(h);
+ $(".sb").unbind();
+ copy_form_values(2);
+ $("#cfg-modal").modal();
+
+ $(".sb").bind("click", function () {
+ loader(1);
+ var par = [
+ "opswd",
+ "npswd",
+ "npsch",
+ "iforte_demo_rains_age",
+ "iforte_demo_pressure_test",
+ ];
+ do_ajax("/set_cfg", pv(par), function (json) {
+ if (json) {
+ if (json["status"] == 0) {
+ close_modal();
+ location = "/";
+ }
+ show_errors(json["status"], par);
+ loader(0);
+ }
+ });
+ });
+ });
+
+ // handle reset demo values
+ $(document).on("click", ".btnresetdemo", function () {
+ $(".sb").html("OK");
+ sessionStorage.clear();
+ initSessionStorage();
+ populateUIFromSessionStorage();
+ showCustomModal("Cleared", "Simulated page reset to default settings.");
+ });
});
-function loopRainsSimulator() {
-
- console.log("hello");
+function toggleStandbyMode() {
+ var standby_mode = sessionStorage.getItem("iforte_devs");
- setTimeout(() => {
- loopRainsSimulator()
- }, 1000);
+ if (standby_mode == 0) {
+ $("#esm").addClass("btn-warning");
+ $("#esm").removeClass("btn-success");
+ $("#esm").html("Exit standby mode");
+ sessionStorage.setItem("iforte_devs", "1");
+ } else {
+ $("#esm").removeClass("btn-warning");
+ $("#esm").addClass("btn-success");
+ $("#esm").html("Enter standby mode");
+ sessionStorage.setItem("iforte_devs", "0");
+ }
+
+ populateUIFromSessionStorage();
+}
+
+function loopRainsSimulator() {
+ setTimeout(() => {
+ loopRainsSimulator();
+ }, 1000);
+}
+
+function pressureTest() {
+ $("#pt-l2").removeClass("ptok");
+ $("#pt-l2").removeClass("ptf");
+ if (!is_pressure_test_ongoing) {
+ is_pressure_test_ongoing = true;
+ $("#pt-l1").html("Measuring Pressure");
+ $("#pt_b").html("Stop test");
+ $("#pt_b").removeClass("btn-success");
+ $("#pt_b").addClass("btn-danger");
+ pressure_test_loop(20, 40, 0.0);
+ } else {
+ is_pressure_test_ongoing = false;
+ $("#pt-l1").html("");
+ $("#pt-l2").html("");
+ $("#pt-l3").html("");
+ $("#pt_b").html("Start test");
+ $("#pt_b").addClass("btn-success");
+ $("#pt_b").removeClass("btn-danger");
+ }
+}
+
+function pressure_test_loop(time, temp, pressure) {
+ if (is_pressure_test_ongoing) {
+ if (time == 0) {
+ is_pressure_test_ongoing = false;
+ $("#pt-l1").html("");
+ $("#pt-l3").html("");
+
+ // TODO : implement pressure failing here
+ $("#pt-l2").html("OK");
+ $("#pt-l2").addClass("ptok");
+ /*
+ $('#pt-l2').html('FAIL')
+ $('#pt-l2').addClass('ptf')
+ */
+
+ $("#pt_b").html("Start test");
+ $("#pt_b").addClass("btn-success");
+ $("#pt_b").removeClass("btn-danger");
+
+ setTimeout(() => {
+ $("#pt-l2").html("");
+ $("#pt-l2").removeClass("ptok");
+ $("#pt-l2").removeClass("ptf");
+ }, 20000);
+ } else {
+ $("#pt-l2").html(
+ "Remaining Time " +
+ new Date(time * 1000).toISOString().substring(14, 19)
+ );
+ $("#pt-l3").html(temp + " °C / delta " + pressure.toFixed(2) + " hPa");
+
+ setTimeout(() => {
+ temp = temp + 1;
+ pressure = pressure + Math.random();
+ pressure_test_loop(time - 1, temp, pressure);
+ }, 1000);
+ }
+ }
}
// custom modal
function showCustomModal(title, text) {
- loader(0)
- $('#m-t').html(title);
- var h = '' + text +' ';
- $('#m-b').html(h);
- $('.sb').unbind();
- $('#cfg-modal').modal();
- $('.sb').bind('click',function() {
- close_modal()
- });
-}
-
-function mhdr_status(c) {
-
- if (c.length == 0) $('#cfg-modal .modal-header').removeClass('suc err');
- else $('#cfg-modal .modal-header').addClass(c);
+ loader(0);
+ $("#m-t").html(title);
+ var h = "" + text + " ";
+ $("#m-b").html(h);
+ $(".sb").unbind();
+ $("#cfg-modal").modal();
+ $(".sb").bind("click", function () {
+ close_modal();
+ });
}
function loader(showheader) {
- if (showheader) $('#cfg-modal .modal-header img').addClass('loader');
- else $('#cfg-modal .modal-header img').removeClass('loader');
+ if (showheader) $("#cfg-modal .modal-header img").addClass("loader");
+ else $("#cfg-modal .modal-header img").removeClass("loader");
}
-function do_ajax(p_url,p_data,f,i = -1,a = true) {
- loader(1);
-
- // convert p_data to an Object
- const data_object = {}
- p_data.toString().split('&').forEach(element => {
- var kvp = element.split('=');
- data_object[kvp[0]] = kvp[1]
- });
-
- p_data = data_object
-
- switch (p_url) {
- case '/reset_hours':
- if (p_data.rh == 0) {
- sessionStorage.setItem('iforte_hr0', '0')
- } else if (p_data.rh == 1){
- sessionStorage.setItem('iforte_hr1', '0')
- }
- break;
- case '/reset_temps':
- if (p_data.rt == 0) {
- sessionStorage.setItem('iforte_tmr0', sessionStorage.getItem('iforte_t0'))
- } else if (p_data.rt == 3){
- sessionStorage.setItem('iforte_tmr3', sessionStorage.getItem('iforte_t3'))
- } else if (p_data.rt == 2){
- sessionStorage.setItem('iforte_tmr2', sessionStorage.getItem('iforte_t2'))
- } else if (p_data.rt == 1){
- sessionStorage.setItem('iforte_tmr1', sessionStorage.getItem('iforte_t1'))
- }
- break;
-
- default:
- for (const [key, value] of Object.entries(p_data)) {
- //sessionStorage.setItem(key, value)
- console.log("key: %o", key)
- console.log("val: %o", value)
+function do_ajax(p_url, p_data) {
+ loader(1);
- if (key == 'iforte_tmpu') {
- if (value == 0) {
- sessionStorage.setItem('iforte_tu', 'C')
- } else if (value == 1) {
- sessionStorage.setItem('iforte_tu', 'F')
- }
- }
- }
- break;
- }
- populateUIFromSessionStorage()
- loader(0)
- close_modal()
+ // convert p_data to an Object
+ const data_object = {};
+ p_data
+ .toString()
+ .split("&")
+ .forEach((element) => {
+ var kvp = element.split("=");
+ data_object[kvp[0]] = kvp[1];
+ });
+
+ p_data = data_object;
+
+ switch (p_url) {
+ case "/reset_hours":
+ if (p_data.rh == 0) {
+ sessionStorage.setItem("iforte_hr0", "0");
+ } else if (p_data.rh == 1) {
+ sessionStorage.setItem("iforte_hr1", "0");
+ }
+ break;
+ case "/reset_temps":
+ if (p_data.rt == 0) {
+ sessionStorage.setItem(
+ "iforte_tmr0",
+ sessionStorage.getItem("iforte_t0")
+ );
+ } else if (p_data.rt == 3) {
+ sessionStorage.setItem(
+ "iforte_tmr3",
+ sessionStorage.getItem("iforte_t3")
+ );
+ } else if (p_data.rt == 2) {
+ sessionStorage.setItem(
+ "iforte_tmr2",
+ sessionStorage.getItem("iforte_t2")
+ );
+ } else if (p_data.rt == 1) {
+ sessionStorage.setItem(
+ "iforte_tmr1",
+ sessionStorage.getItem("iforte_t1")
+ );
+ }
+ break;
+
+ default:
+ for (const [key, value] of Object.entries(p_data)) {
+ //sessionStorage.setItem(key, value)
+ console.log("key: %o", key);
+ console.log("val: %o", value);
+
+ if (key == "iforte_tmpu") {
+ if (value == 0) {
+ sessionStorage.setItem("iforte_tu", "C");
+ } else if (value == 1) {
+ sessionStorage.setItem("iforte_tu", "F");
+ }
+ }
+ }
+ break;
+ }
+ populateUIFromSessionStorage();
+ loader(0);
+ close_modal();
}
function copy_form_values(dir) {
-
- $('#m-b input:text, #m-b input[type=range]').each(function() {
- var id = $(this).attr('id');
- if (dir == 0) $('#' + id + '_v').html($('#' + id).val());
- else $('#' + id).val($('#' + id + '_v').html());
- });
- $('#m-b select').each(function() {
- var id = $(this).attr('id');
- text = $('#' + id + '_v').html();
- if (dir == 1) {
- $(this).find('option').filter(function () { return $(this).html() == text; }).attr('selected', 'selected');
- } else {
- $('#' + id + '_v').html($(this).find('option:selected').html());
- }
- });
- $('#m-b input:radio').each(function() {
- var id = $(this).attr('name');
- text = $('#' + id + '_v').html();
- label = $(this).parent().find('label').html();
- if (dir == 1) {
- if (label == text) $(this).attr('checked','checked');
- } else {
- if ($(this).is(':checked')) $('#' + id + '_v').html(label);
- }
-
- });
- if (dir == 1) {
- $('#m-b div.form-group').each(function() {
- var len = $(this).find('div.invalid-feedback').length;
- if (len == 0) {
- $(this).append('Wrong value!
');
- }
- });
- }
-
- // if opening settings window
- if (dir == 2) {
- $('input[name=iforte_demo_rains_age]').eq(sessionStorage.getItem('iforte_demo_rains_age')).attr('checked','checked');
- $('input[name=iforte_demo_pressure_test]').eq(sessionStorage.getItem('iforte_demo_pressure_test')).attr('checked','checked');
- }
-
+ $("#m-b input:text, #m-b input[type=range]").each(function () {
+ var id = $(this).attr("id");
+ if (dir == 0) $("#" + id + "_v").html($("#" + id).val());
+ else $("#" + id).val($("#" + id + "_v").html());
+ });
+ $("#m-b select").each(function () {
+ var id = $(this).attr("id");
+ text = $("#" + id + "_v").html();
+ if (dir == 1) {
+ $(this)
+ .find("option")
+ .filter(function () {
+ return $(this).html() == text;
+ })
+ .attr("selected", "selected");
+ } else {
+ $("#" + id + "_v").html($(this).find("option:selected").html());
+ }
+ });
+ $("#m-b input:radio").each(function () {
+ var id = $(this).attr("name");
+ text = $("#" + id + "_v").html();
+ label = $(this).parent().find("label").html();
+ if (dir == 1) {
+ if (label == text) $(this).attr("checked", "checked");
+ } else {
+ if ($(this).is(":checked")) $("#" + id + "_v").html(label);
+ }
+ });
+ if (dir == 1) {
+ $("#m-b div.form-group").each(function () {
+ var len = $(this).find("div.invalid-feedback").length;
+ if (len == 0) {
+ $(this).append('Wrong value!
');
+ }
+ });
+ }
+
+ // if opening settings window
+ if (dir == 2) {
+ $("input[name=iforte_demo_rains_age]")
+ .eq(sessionStorage.getItem("iforte_demo_rains_age"))
+ .attr("checked", "checked");
+ $("input[name=iforte_demo_pressure_test]")
+ .eq(sessionStorage.getItem("iforte_demo_pressure_test"))
+ .attr("checked", "checked");
+ }
}
-function fill_values(d,ids) {
-
- for (i = 0; i < ids.length; i++) {
- $('#' + ids[i] + '_v').html(d[ids[i]]);
- }
-}
-
-function show_errors(s,ids) {
-
- if (s) mhdr_status('err');
- for (i = 0; i < ids.length; i++) {
- if (s & (1 << i)) $('#' + ids[i]).addClass('is-invalid').removeClass('is-valid');
- else $('#' + ids[i]).removeClass('is-invalid').addClass('is-valid');
- }
+function fill_values(d, ids) {
+ for (i = 0; i < ids.length; i++) {
+ $("#" + ids[i] + "_v").html(d[ids[i]]);
+ }
}
function close_modal() {
- setTimeout(function() {
- $('#m-b').empty();
- $('#cfg-modal').modal('hide');
- },500);
+ setTimeout(function () {
+ $("#m-b").empty();
+ $("#cfg-modal").modal("hide");
+ }, 500);
}
function pv(p) {
-
- var s = '';
-
- for (var i in p) {
- var o = p[i];
- if (i == 0) s += o + '=';
- else s += '&' + o + '=';
- if ($('#' + o).val() != undefined) s += $('#' + o).val();
- else if ($('input[name=' + o + ']:checked').val() != undefined) s += $('input[name=' + o + ']:checked').val();
- }
-
- return s;
+ var s = "";
+
+ for (var i in p) {
+ var o = p[i];
+ if (i == 0) s += o + "=";
+ else s += "&" + o + "=";
+ if ($("#" + o).val() != undefined) s += $("#" + o).val();
+ else if ($("input[name=" + o + "]:checked").val() != undefined)
+ s += $("input[name=" + o + "]:checked").val();
+ }
+
+ return s;
}
-function c_txt(n,t,e,c = '',it = 'text') {
-
- var html = '';
-
- return html;
+function c_txt(n, t, e, c = "", it = "text") {
+ var html = '";
+
+ return html;
}
-function c_btn(t,v,c) {
-
- return '' + t + ' ';
+function c_btn(t, v, c) {
+ return (
+ '' +
+ t +
+ " "
+ );
}
-function c_opt(n,t,o,pl,vp,lp,e) {
-
- var html = '';
-
- return html;
+function c_opt(n, t, o, pl, vp, lp, e) {
+ var html = '";
+
+ return html;
}
-function c_rad(name,legend,options,invalid_feedback_text,group_class) {
-
- var html = '';
-
- return html;
+function c_rad(name, legend, options, invalid_feedback_text, group_class) {
+ var html = '";
+
+ return html;
}
-var pre = '';
-var dmxsnf = '';
+var pre = "";
+var dmxsnf = "";
-function c_dt(n,t,e,c,it) {
-
- var html = '';
- html += '' + t + ' ';
- html += '
';
-
- return html;
+function c_dt(n, t, e, c, it) {
+ var html = '';
+ html += '' + t + " ";
+ html += '
";
+
+ return html;
}
-function c_fsens(i,t,u) {
-
- var html = '';
- html += '';
-
- return html;
+function c_fsens(i, t, u) {
+ var html = "";
+ html += '";
+
+ return html;
}
// add leading zeros to single digit hours, minutes, etc...
function addLeadingZeros(num) {
- return String(num).padStart(2, '0');
+ return String(num).padStart(2, "0");
}
function initSessionStorage() {
-
- if (sessionStorage.getItem('iforte_dmxa') == null) {
- console.log("sessionStorage empty, populating with demo data")
- var currentTime = new Date();
-
- /* CONSTANTS */
- sessionStorage.setItem('iforte_ip', '2.246.16.203') // ip addr
- sessionStorage.setItem('iforte_mac', '00:00:00:00:00:00') //
- sessionStorage.setItem('iforte_rdmu', '52:53:00:00:00:00') //
-
- /* DEMO */
- sessionStorage.setItem('iforte_demo_rains_age', '1') // rains tubes age 0new 1avg 2old
- sessionStorage.setItem('iforte_demo_pressure_test', '0') // type of pressure test, 0ok 1failing
-
-
- /* VARIABLES */
- sessionStorage.setItem('iforte_dmxa', '1') // dmx addr
- sessionStorage.setItem('iforte_dmxp', '2') // dmx mode
- sessionStorage.setItem('iforte_dmxi', '0') // input (wired0 wireless1 wirelessout2)
- sessionStorage.setItem('iforte_rdmn', 'Robin iForte') // rdm name
- sessionStorage.setItem('iforte_idnt', '0') // rdm idnt
-
- sessionStorage.setItem('iforte_lwc', 'unlinked') // wireless link
- sessionStorage.setItem('iforte_lws', '0') // wireless signal
-
-
- sessionStorage.setItem('iforte_h0', '1206') // power on time
- sessionStorage.setItem('iforte_hr0', '1206') // resetable
- sessionStorage.setItem('iforte_h1', '213') // leds on time
- sessionStorage.setItem('iforte_hr1', '180') // leds adaptative
-
- sessionStorage.setItem('iforte_cdimc', '0') // dim curve
-
- sessionStorage.setItem('iforte_fsmo', '0') // followspot mode
- sessionStorage.setItem('iforte_frq', '4928') // led freq
- sessionStorage.setItem('iforte_gind', '0') // gobo index mode
- sessionStorage.setItem('iforte_btns', '0') // display buttons
-
- sessionStorage.setItem('iforte_t0', '28') // leds now
- sessionStorage.setItem('iforte_tm0', '62') // max
- sessionStorage.setItem('iforte_tmr0', '62') // resetable
- sessionStorage.setItem('iforte_t3', '26') // psu now
- sessionStorage.setItem('iforte_tm3', '64') // max
- sessionStorage.setItem('iforte_tmr3', '64') // resetable
- sessionStorage.setItem('iforte_t1', '54') // driver now
- sessionStorage.setItem('iforte_tm1', '80') // max
- sessionStorage.setItem('iforte_tmr1', '80') // resetable
- sessionStorage.setItem('iforte_t2', '25') // base now
- sessionStorage.setItem('iforte_tm2', '56') // max
- sessionStorage.setItem('iforte_tmr2', '56') // resetable
-
- sessionStorage.setItem('iforte_fanm', '0') // iforte_fanmode 0auto 1high
- sessionStorage.setItem('iforte_tmpu', '0') //temp unit 0c 1f
- sessionStorage.setItem('iforte_tu', 'C') // temp unit string
-
- sessionStorage.setItem('iforte_pr', '0') // pan rev
- sessionStorage.setItem('iforte_ptf', '1') // pt feedback
- sessionStorage.setItem('iforte_pte', '1') // pt EMS
- sessionStorage.setItem('iforte_tr', '0') // tilt rev
- sessionStorage.setItem('iforte_ptm', '0') // pt mode 0speed 1time
-
- sessionStorage.setItem('iforte_bldmc', '0') // blackout dmc
- sessionStorage.setItem('iforte_blptm', '0') // blackout pt
- sessionStorage.setItem('iforte_blgwm', '0') // blackout gobo mv
- sessionStorage.setItem('iforte_blprm', '0') // blackout color wheel mv
-
- sessionStorage.setItem('iforte_dty', currentTime.getFullYear()) // date year
- sessionStorage.setItem('iforte_dtmo', addLeadingZeros(currentTime.getMonth() + 1)) // date month
- sessionStorage.setItem('iforte_dtd', addLeadingZeros(currentTime.getDay())) // date day
-
- sessionStorage.setItem('iforte_dth', addLeadingZeros(currentTime.getHours())) // time hour
- sessionStorage.setItem('iforte_dtmi', addLeadingZeros(currentTime.getMinutes())) // time minute
- sessionStorage.setItem('iforte_dts', addLeadingZeros(currentTime.getSeconds())) // time seconds
-
- sessionStorage.setItem('iforte_emod', '0') //ethmode 0dis 1art 2gma1 3gma2 4sacn
- sessionStorage.setItem('iforte_ee2d', '0') //eth to dmx
- sessionStorage.setItem('iforte_eanu', '0') //art uni
- sessionStorage.setItem('iforte_emau', '1') //ma uni
- sessionStorage.setItem('iforte_emas', '1') //ma session
- sessionStorage.setItem('iforte_esau', '1') //sacn uni
-
- sessionStorage.setItem('iforte_dint', '9') //disp int
- sessionStorage.setItem('iforte_dsd', '0') //disp screensave
- sessionStorage.setItem('iforte_dtl', '0') //disp lock
- sessionStorage.setItem('iforte_dor', '2') //disp orientation 0norm 1inv 2auto
-
- sessionStorage.setItem('iforte_mics', '9') // mic sens
- }
+ if (sessionStorage.getItem("iforte_dmxa") == null) {
+ console.log("sessionStorage empty, populating with demo data");
+ var currentTime = new Date();
+
+ /* CONSTANTS */
+ sessionStorage.setItem("iforte_ip", "2.246.16.203"); // ip addr
+ sessionStorage.setItem("iforte_mac", "00:00:00:00:00:00"); //
+ sessionStorage.setItem("iforte_rdmu", "52:53:00:00:00:00"); //
+
+ /* DEMO */
+ sessionStorage.setItem("iforte_demo_rains_age", "1"); // rains tubes age 0new 1avg 2old
+ sessionStorage.setItem("iforte_demo_pressure_test", "0"); // type of pressure test, 0ok 1failing
+
+ /* VARIABLES */
+ sessionStorage.setItem("iforte_dmxa", "1"); // dmx addr
+ sessionStorage.setItem("iforte_dmxp", "0"); // dmx mode
+ sessionStorage.setItem("iforte_dmxi", "0"); // input (wired0 wireless1 wirelessout2)
+ sessionStorage.setItem("iforte_rdmn", "Robin iForte"); // rdm name
+ sessionStorage.setItem("iforte_idnt", "0"); // rdm idnt
+
+ sessionStorage.setItem("iforte_lwc", "unlinked"); // wireless link
+ sessionStorage.setItem("iforte_lws", "0"); // wireless signal
+
+ sessionStorage.setItem("iforte_devs", "0"); // device status 0active 1standby
+
+ sessionStorage.setItem("iforte_h0", "1206"); // power on time
+ sessionStorage.setItem("iforte_hr0", "1206"); // resetable
+ sessionStorage.setItem("iforte_h1", "213"); // leds on time
+ sessionStorage.setItem("iforte_hr1", "180"); // leds adaptative
+
+ sessionStorage.setItem("iforte_cdimc", "0"); // dim curve
+
+ sessionStorage.setItem("iforte_fsmo", "0"); // followspot mode
+ sessionStorage.setItem("iforte_frq", "4928"); // led freq
+ sessionStorage.setItem("iforte_gind", "0"); // gobo index mode
+ sessionStorage.setItem("iforte_btns", "0"); // display buttons
+
+ sessionStorage.setItem("iforte_t0", "28"); // leds now
+ sessionStorage.setItem("iforte_tm0", "62"); // max
+ sessionStorage.setItem("iforte_tmr0", "62"); // resetable
+ sessionStorage.setItem("iforte_t3", "26"); // psu now
+ sessionStorage.setItem("iforte_tm3", "64"); // max
+ sessionStorage.setItem("iforte_tmr3", "64"); // resetable
+ sessionStorage.setItem("iforte_t1", "54"); // driver now
+ sessionStorage.setItem("iforte_tm1", "80"); // max
+ sessionStorage.setItem("iforte_tmr1", "80"); // resetable
+ sessionStorage.setItem("iforte_t2", "25"); // base now
+ sessionStorage.setItem("iforte_tm2", "56"); // max
+ sessionStorage.setItem("iforte_tmr2", "56"); // resetable
+
+ sessionStorage.setItem("iforte_fanm", "0"); // fanmode 0auto 1high
+ sessionStorage.setItem('iforte_fannl', '0') // fan noise level percent
+ sessionStorage.setItem("iforte_tmpu", "0"); // temp unit 0c 1f
+ sessionStorage.setItem("iforte_tu", "C"); // temp unit string
+
+ sessionStorage.setItem("iforte_pr", "0"); // pan rev
+ sessionStorage.setItem("iforte_ptf", "1"); // pt feedback
+ sessionStorage.setItem("iforte_pte", "1"); // pt EMS
+ sessionStorage.setItem("iforte_tr", "0"); // tilt rev
+ sessionStorage.setItem("iforte_ptm", "0"); // pt mode 0speed 1time
+
+ sessionStorage.setItem("iforte_bldmc", "0"); // blackout dmc
+ sessionStorage.setItem("iforte_blptm", "0"); // blackout pt
+ sessionStorage.setItem("iforte_blgwm", "0"); // blackout gobo mv
+ sessionStorage.setItem("iforte_blprm", "0"); // blackout color wheel mv
+
+ sessionStorage.setItem("iforte_dty", currentTime.getFullYear()); // date year
+ sessionStorage.setItem(
+ "iforte_dtmo",
+ addLeadingZeros(currentTime.getMonth() + 1)
+ ); // date month
+ sessionStorage.setItem("iforte_dtd", addLeadingZeros(currentTime.getDay())); // date day
+
+ sessionStorage.setItem(
+ "iforte_dth",
+ addLeadingZeros(currentTime.getHours())
+ ); // time hour
+ sessionStorage.setItem(
+ "iforte_dtmi",
+ addLeadingZeros(currentTime.getMinutes())
+ ); // time minute
+ sessionStorage.setItem(
+ "iforte_dts",
+ addLeadingZeros(currentTime.getSeconds())
+ ); // time seconds
+
+ sessionStorage.setItem("iforte_emod", "0"); //ethmode 0dis 1art 2gma1 3gma2 4sacn
+ sessionStorage.setItem("iforte_ee2d", "0"); //eth to dmx
+ sessionStorage.setItem("iforte_eanu", "0"); //art uni
+ sessionStorage.setItem("iforte_emau", "1"); //ma uni
+ sessionStorage.setItem("iforte_emas", "1"); //ma session
+ sessionStorage.setItem("iforte_esau", "1"); //sacn uni
+
+ sessionStorage.setItem("iforte_dint", "9"); //disp int
+ sessionStorage.setItem("iforte_dsd", "0"); //disp screensave
+ sessionStorage.setItem("iforte_dtl", "0"); //disp lock
+ sessionStorage.setItem("iforte_dor", "2"); //disp orientation 0norm 1inv 2auto
+
+ sessionStorage.setItem("iforte_mics", "9"); // mic sens
+ }
}
function populateUIFromSessionStorage() {
- for (var i = 0; i < sessionStorage.length; i++) {
- var valueToLoad = '';
- switch (sessionStorage.key(i)) {
- case 'iforte_dmxp':
- var valueToLoad = "Mode " + (parseInt(sessionStorage.getItem(sessionStorage.key(i))) + 1)
- break;
- case 'iforte_dmxi':
- if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
- var valueToLoad = "wired"
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
- var valueToLoad = "wireless"
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
- var valueToLoad = "wireless XLR out"
- }
- break;
-
- case 'iforte_bldmc':
- case 'iforte_blptm':
- case 'iforte_ee2d':
- case 'iforte_pr':
- case 'iforte_tr':
- case 'iforte_ptf':
- case 'iforte_pte':
- case 'iforte_hpwrm':
- case 'iforte_blgwm':
- case 'iforte_blprm':
- case 'iforte_btns':
- if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
- var valueToLoad = "off"
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
- var valueToLoad = "on"
- }
- break;
- case 'iforte_lws':
- var valueToLoad = sessionStorage.getItem(sessionStorage.key(i)) + "%"
- break;
- case 'iforte_emod':
- if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
- var valueToLoad = "disable"
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
- var valueToLoad = "ArtNet"
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
- var valueToLoad = "gMA1"
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 3) {
- var valueToLoad = "gMA2"
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 4) {
- var valueToLoad = "sACN"
- }
- break;
- case 'iforte_dint':
- case 'iforte_mics':
- var valueToLoad = (parseInt(sessionStorage.getItem(sessionStorage.key(i))) + 1)
- break;
-
- case 'iforte_dsd':
- case 'iforte_dtl':
- if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
- var valueToLoad = "off"
- } else {
- var valueToLoad = (parseInt(sessionStorage.getItem(sessionStorage.key(i))) + " min")
- }
- break;
- case 'iforte_dor':
- if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
- var valueToLoad = "normal"
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
- var valueToLoad = "inverted"
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
- var valueToLoad = "auto"
- }
- break;
- case 'iforte_fanm':
- if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
- var valueToLoad = "auto"
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
- var valueToLoad = "high"
- }
- break;
- case 'iforte_tmpu':
- if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
- var valueToLoad = "°C"
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
- var valueToLoad = "°F"
- }
- break;
- case 'iforte_ptm':
- if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
- var valueToLoad = "speed"
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
- var valueToLoad = "time"
- }
- break;
- case 'iforte_cdimc':
- if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
- var valueToLoad = "linear"
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
- var valueToLoad = "square law"
- }
- break;
- case 'iforte_fsmo':
- if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
- var valueToLoad = "off"
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
- var valueToLoad = "soft"
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
- var valueToLoad = "medium"
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 3) {
- var valueToLoad = "hard"
- }
- break;
- case 'iforte_gind':
- if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
- var valueToLoad = "max. speed & shortcut"
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
- var valueToLoad = "follow spd. & dir."
- } else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
- var valueToLoad = "max spd. & follow dir."
- }
- break;
- case 'iforte_frq':
- var valueToLoad = iforte_frq_s(sessionStorage.getItem('iforte_frq'))
- break;
- default:
-
- var valueToLoad = sessionStorage.getItem(sessionStorage.key(i))
- break;
- }
-
- console.log('key ' + i + " : " + valueToLoad);
- $("#" + 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('iforte_tu'))
- }
+ // check stdby mode
+ if (sessionStorage.getItem("iforte_devs") == 1) {
+ $("#esm").addClass("btn-warning");
+ $("#esm").removeClass("btn-success");
+ $("#esm").html("Exit standby mode");
+ } else {
+ $("#esm").removeClass("btn-warning");
+ $("#esm").addClass("btn-success");
+ $("#esm").html("Enter standby mode");
+ }
+
+ // check rdm ident
+ var idntb = $("#idnt img");
+ var idnt_status = sessionStorage.getItem("iforte_idnt");
+ if (idnt_status == 1) {
+ idntb.addClass("a");
+ } else {
+ idntb.removeClass("a");
+ }
+
+ for (var i = 0; i < sessionStorage.length; i++) {
+ var valueToLoad = "";
+ switch (sessionStorage.key(i)) {
+ case "iforte_dmxp":
+ var valueToLoad =
+ "Mode " +
+ (parseInt(sessionStorage.getItem(sessionStorage.key(i))) + 1);
+ break;
+ case "iforte_dmxi":
+ if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
+ var valueToLoad = "wired";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
+ var valueToLoad = "wireless";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
+ var valueToLoad = "wireless XLR out";
+ }
+ break;
+ case "iforte_devs":
+ if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
+ var valueToLoad = "active";
+ } else {
+ var valueToLoad = "standby";
+ }
+ break;
+
+ case "iforte_bldmc":
+ case "iforte_blptm":
+ case "iforte_ee2d":
+ case "iforte_pr":
+ case "iforte_tr":
+ case "iforte_ptf":
+ case "iforte_pte":
+ case "iforte_hpwrm":
+ case "iforte_blgwm":
+ case "iforte_blprm":
+ case "iforte_btns":
+ if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
+ var valueToLoad = "off";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
+ var valueToLoad = "on";
+ }
+ break;
+ case "iforte_lws":
+ var valueToLoad = sessionStorage.getItem(sessionStorage.key(i)) + "%";
+ break;
+ case "iforte_emod":
+ if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
+ var valueToLoad = "disable";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
+ var valueToLoad = "ArtNet";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
+ var valueToLoad = "gMA1";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 3) {
+ var valueToLoad = "gMA2";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 4) {
+ var valueToLoad = "sACN";
+ }
+ break;
+ case "iforte_dint":
+ case "iforte_mics":
+ var valueToLoad =
+ parseInt(sessionStorage.getItem(sessionStorage.key(i))) + 1;
+ break;
+
+ case "iforte_dsd":
+ case "iforte_dtl":
+ if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
+ var valueToLoad = "off";
+ } else {
+ var valueToLoad =
+ parseInt(sessionStorage.getItem(sessionStorage.key(i))) + " min";
+ }
+ break;
+ case "iforte_dor":
+ if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
+ var valueToLoad = "normal";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
+ var valueToLoad = "inverted";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
+ var valueToLoad = "auto";
+ }
+ break;
+ case "iforte_fanm":
+ if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
+ var valueToLoad = "auto";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
+ var valueToLoad = "high";
+ }
+ break;
+ case "iforte_tmpu":
+ if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
+ var valueToLoad = "°C";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
+ var valueToLoad = "°F";
+ }
+ break;
+ case "iforte_ptm":
+ if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
+ var valueToLoad = "speed";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
+ var valueToLoad = "time";
+ }
+ break;
+ case "iforte_cdimc":
+ if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
+ var valueToLoad = "linear";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
+ var valueToLoad = "square law";
+ }
+ break;
+ case "iforte_fsmo":
+ if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
+ var valueToLoad = "off";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
+ var valueToLoad = "soft";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
+ var valueToLoad = "medium";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 3) {
+ var valueToLoad = "hard";
+ }
+ break;
+ case "iforte_gind":
+ if (sessionStorage.getItem(sessionStorage.key(i)) == 0) {
+ var valueToLoad = "max. speed & shortcut";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 1) {
+ var valueToLoad = "follow spd. & dir.";
+ } else if (sessionStorage.getItem(sessionStorage.key(i)) == 2) {
+ var valueToLoad = "max spd. & follow dir.";
+ }
+ break;
+ case "iforte_frq":
+ var valueToLoad = iforte_frq_s(sessionStorage.getItem("iforte_frq"));
+ break;
+ default:
+ var valueToLoad = sessionStorage.getItem(sessionStorage.key(i));
+ break;
+ }
+ $("#" + sessionStorage.key(i) + "_v").html(valueToLoad);
+
+ // for each element with id tu_v sets html to string of temp unit
+ $('div[id^="iforte_tu_v"]').html(sessionStorage.getItem("iforte_tu"));
+ }
}
// calc proper frequency to be displayed
-function iforte_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)
-}
+function iforte_frq_s(iforte_frq) {
+ var f = 360000000000;
+ var k = 0x700 - (iforte_frq & 0xfff);
+ var arr = 465 + ((k >> 8) & 0x0f);
+ var x = k & 0xff;
+ f = (f * (1 << (iforte_frq >> 12))) / (arr * (256 - x) + (arr + 1) * x);
+ return (
+ Math.floor(f / 10000) + "." + ("0000" + Math.floor(f % 10000)).slice(-4)
+ );
+}
\ No newline at end of file
diff --git a/iforte/index.html b/iforte/index.html
index 18e611e..14d720a 100644
--- a/iforte/index.html
+++ b/iforte/index.html
@@ -1,456 +1,480 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Device status
-
-
-
DMX/RDM settings
-
-
-
-
-
- DMX address
- DMX preset
- DMX input
- IP address
- MAC address
- RDM UID
- RDM label
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Device times
-
-
-
-
-
-
-
- total / resettable
-
-
- LED on time total
- LED on time adaptive
-
-
-
-
-
-
Device temperatures
-
-
-
-
-
- LEDs
- PSU
- Driver
- Base
-
-
-
-
°
/
°
/
°
-
-
-
°
/
°
/
°
-
-
-
°
/
°
/
°
-
-
-
°
/
°
/
°
-
-
-
- current / maximum / resettable
-
-
-
-
-
Wireless state
-
-
-
-
-
- State
- Signal strength
-
-
-
-
-
-
Software versions
-
-
- Display System
- Module M
- Module L1
- Module L2
- Module O
- Module F-A
- Module F-B
- Module G1
- Module G2
- Module P
- Module C1
- Module C2
- Module DL
-
-
- 1.9
- 1.4
- 1.6
- 1.5
- 1.3
- 1.1
- 1.1
- 1.5
- 1.5
- 1.2
- 1.2
- 1.2
- 1.2
-
-
-
-
-
Device state
-
-
-
-
Enter standby mode
-
Current RAINS status
-
- WET
- DRY
-
-
-
MAX WET/resettable
-
- WET
- DRY
-
-
-
MAX WET reset
-
- last reset: 2.3.2023 16:19:57
-
-
-
-
-
Status messages
-
-
This is a simulated REAP™ page for demo purposes. Some content might be different on real fixtures.
- Big thanks to Vincent BOUQUET for creating this simulator.
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+