big code push

This commit is contained in:
Vincent BOUQUET
2023-12-02 12:46:48 +01:00
parent 105a472398
commit 232b9ecf08
3 changed files with 1809 additions and 1546 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,456 +1,480 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"> <meta
<link rel="stylesheet" href="../files/bootstrap.min.css"> name="viewport"
<link rel="stylesheet" href="../files/layout.css"> content="width=device-width,initial-scale=1,shrink-to-fit=no"
<script src="../files/jquery-3.3.1.min.js"></script> />
<script src="../files/popper.min.js"></script> <link rel="stylesheet" href="../files/bootstrap.min.css" />
<script src="../files/bootstrap.min.js"></script> <link rel="stylesheet" href="../files/layout.css" />
<script src="./base.js"></script> <script src="../files/jquery-3.3.1.min.js"></script>
</head> <script src="../files/popper.min.js"></script>
<body> <script src="../files/bootstrap.min.js"></script>
<nav class="navbar fixed-top navbar-expand-md navbar-dark bg-dark"> <script src="./base.js"></script>
<div class="container"> </head>
<a class="navbar-brand" href="./index.html"><img src="../files/robe_logo_white.svg"></a><button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"><span class="navbar-toggler-icon"></span></button> <body>
<div class="collapse navbar-collapse" id="navbar"> <nav class="navbar fixed-top navbar-expand-md navbar-dark bg-dark">
<ul class="navbar-nav mr-auto"> <div class="container">
<li class="nav-item active"><a class="nav-link" href="./index.html">Status</a></li> <a class="navbar-brand" href="./index.html"
<li class="nav-item"><a class="nav-link" href="./personality.html">Personality</a></li> ><img src="../files/robe_logo_white.svg" /></a
<li class="nav-item"><a class="nav-link" href="./logs.html">Logs</a></li> ><button
<li class="nav-item"><a class="nav-link" href="./sensors.html">RAINS logs</a></li> class="navbar-toggler"
<li class="nav-item"><a class="nav-link" href="./discovery.html">Discovery</a></li> type="button"
<li class="nav-item"><a class="nav-link" id="scfg">Settings</a></li> data-toggle="collapse"
<li class="nav-item"><a class="nav-link" id="idnt"><img class="rdmi" src="../files/identify.svg"></a></li> data-target="#navbar"
</ul> >
</div> <span class="navbar-toggler-icon"></span>
</div>
</nav>
<div class="fixed-top text-center device-label" id="pth" onclick="window.location = ('../index.html')"></div>
<div class="container-fluid in">
<h1>Device status</h1>
<div class="row" id="boxes">
<div class="col-md-6 col-xl-4 box-c">
<h2>DMX/RDM settings <a class="cfg" onclick="open_modal(0);">
<img src="../files/settings.svg">
</a>
</h2>
<div class="box">
<ul class="group">
<li>DMX address</li>
<li>DMX preset</li>
<li>DMX input</li>
<li class="mt-2">IP address</li>
<li>MAC address</li>
<li class="mt-2">RDM UID</li>
<li>RDM label</li>
</ul>
<ul class="group vals" id="">
<li>
<div id="iforte_dmxa_v"></div>
</li>
<li>
<div id="iforte_dmxp_v"></div>
<small id="iforte_dmxf_v"></small>
</li>
<li>
<div id="iforte_dmxi_v"></div>
</li>
<li class="mt-2">
<div id="iforte_ip_v"></div>
</li>
<li>
<div id="iforte_mac_v"></div>
</li>
<li class="mt-2">
<div id="iforte_rdmu_v"></div>
</li>
<li>
<div id="iforte_rdmn_v"></div>
</li>
</ul>
</div>
</div>
<div class="col-md-6 col-xl-4 box-c">
<h2>Device times <a class="cfg" onclick="open_modal(1);">
<img src="../files/settings.svg">
</a>
</h2>
<div class="box">
<ul class="group">
<li>Power on time</li>
</ul>
<ul class="group vals" id="">
<li>
<div id="iforte_h0_v"></div>h / <div id="iforte_hr0_v"></div>h
</li>
</ul>
<p>
<small>total / resettable</small>
</p>
<ul class="group">
<li>LED on time total</li>
<li>LED on time adaptive</li>
</ul>
<ul class="group vals">
<li>
<div id="iforte_h1_v"></div>h
</li>
<li>
<div id="iforte_hr1_v"></div>h
</li>
</ul>
</div>
</div>
<div class="col-md-6 col-xl-4 box-c">
<h2>Device temperatures <a class="cfg" onclick="open_modal(2);">
<img src="../files/settings.svg">
</a>
</h2>
<div class="box">
<ul class="group">
<li>LEDs</li>
<li>PSU</li>
<li>Driver</li>
<li>Base</li>
</ul>
<ul class="group vals" id="">
<li>
<div id="iforte_t0_v"></div>° <div class="iforte_tu"></div> / <div id="iforte_tm0_v"></div>° <div class="iforte_tu"></div> / <div id="iforte_tmr0_v"></div>° <div class="iforte_tu"></div>
</li>
<li>
<div id="iforte_t3_v"></div>° <div class="iforte_tu"></div> / <div id="iforte_tm3_v"></div>° <div class="iforte_tu"></div> / <div id="iforte_tmr3_v"></div>° <div class="iforte_tu"></div>
</li>
<li>
<div id="iforte_t1_v"></div>° <div class="iforte_tu"></div> / <div id="iforte_tm1_v"></div>° <div class="iforte_tu"></div> / <div id="iforte_tmr1_v"></div>° <div class="iforte_tu"></div>
</li>
<li>
<div id="iforte_t2_v"></div>° <div class="iforte_tu"></div> / <div id="iforte_tm2_v"></div>° <div class="iforte_tu"></div> / <div id="iforte_tmr2_v"></div>° <div class="iforte_tu"></div>
</li>
</ul>
<p>
<small>current / maximum / resettable</small>
</p>
</div>
</div>
<div class="col-md-6 col-xl-4 box-c">
<h2>Wireless state <a class="cfg" onclick="open_modal(3);">
<img src="../files/settings.svg">
</a>
</h2>
<div class="box">
<ul class="group">
<li>State</li>
<li>Signal strength</li>
</ul>
<ul class="group vals" id="">
<li>
<div id="iforte_lwc_v"></div>
</li>
<li>
<div id="iforte_lws_v">%</div>
</li>
</ul>
</div>
</div>
<div class="col-md-6 col-xl-4 box-c">
<h2>Software versions</h2>
<div class="box">
<ul class="group">
<li>Display System</li>
<li>Module M</li>
<li>Module L1</li>
<li>Module L2</li>
<li>Module O</li>
<li>Module F-A</li>
<li>Module F-B</li>
<li>Module G1</li>
<li>Module G2</li>
<li>Module P</li>
<li>Module C1</li>
<li>Module C2</li>
<li>Module DL</li>
</ul>
<ul class="group vals" id="sw_vers">
<li>1.9</li>
<li>1.4</li>
<li>1.6</li>
<li>1.5</li>
<li>1.3</li>
<li>1.1</li>
<li>1.1</li>
<li>1.5</li>
<li>1.5</li>
<li>1.2</li>
<li>1.2</li>
<li>1.2</li>
<li>1.2</li>
</ul>
</div>
</div>
<div class="col-md-6 col-xl-4 box-c">
<h2>Device state</h2>
<div class="box">
<ul class="group">
<li>Device status</li>
</ul>
<ul class="group vals" id="">
<li>
<div id="iforte_devs_v"></div>
</li>
</ul>
<button class="btn btn-primary btn-block esm dn btn-success" value="0" style="display: inline-block;">Enter standby mode</button>
<div>Current RAINS status</div>
<div>
<small class="fl">WET</small>
<small class="fr">DRY</small>
</div>
<div id="iforte_rai" class="rains">
<div style="width: 63%;"></div>
</div>
<div>MAX WET/resettable</div>
<div>
<small class="fl">WET</small>
<small class="fr">DRY</small>
</div>
<div id="iforte_rair" class="rains">
<div style="width: 63%;"></div>
</div>
<button class="btn btn-primary btn-block mwr" value="0">MAX WET reset</button>
<p>
<small id="iforte_wrt">last reset: 2.3.2023 16:19:57</small>
</p>
</div>
</div>
<div class="col-12 box-c">
<h2 id="sta_err">Status messages</h2>
<div class="box">
<li>This is a simulated REAP™ page for demo purposes. Some content might be different on real fixtures.</li>
<li>Big thanks to Vincent BOUQUET for creating this simulator.</li>
</div>
</div>
</div>
</div>
<div id="cfg-modal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<img src="../files/settings.svg">
<h5 class="modal-title" id="m-t"></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button> </button>
<div class="collapse navbar-collapse" id="navbar">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="./index.html">Status</a>
</li>
<li class="nav-item">
<a class="nav-link" href="./personality.html">Personality</a>
</li>
<li class="nav-item">
<a class="nav-link" href="./logs.html">Logs</a>
</li>
<li class="nav-item">
<a class="nav-link" href="./sensors.html">RAINS logs</a>
</li>
<li class="nav-item">
<a class="nav-link" href="./discovery.html">Discovery</a>
</li>
<li class="nav-item"><a class="nav-link" id="scfg">Settings</a></li>
<li class="nav-item">
<a class="nav-link" id="idnt"
><img class="rdmi" src="../files/identify.svg"
/></a>
</li>
</ul>
</div>
</div> </div>
<div class="modal-body" id="m-b"></div> </nav>
<div class="modal-footer" id="m-f"> <div
<button type="button" class="btn btn-primary sb">Save</button> class="fixed-top text-center device-label"
id="pth"
onclick="window.location = ('../index.html')"
></div>
<div class="container-fluid in">
<h1>Device status</h1>
<div class="row" id="boxes">
<div class="col-md-6 col-xl-4 box-c">
<h2>
DMX/RDM settings
<a class="cfg" onclick="open_modal(0);">
<img src="../files/settings.svg" />
</a>
</h2>
<div class="box">
<ul class="group">
<li>DMX address</li>
<li>DMX preset</li>
<li>DMX input</li>
<li class="mt-2">IP address</li>
<li>MAC address</li>
<li class="mt-2">RDM UID</li>
<li>RDM label</li>
</ul>
<ul class="group vals" id="">
<li>
<div id="iforte_dmxa_v"></div>
</li>
<li>
<div id="iforte_dmxp_v"></div>
</li>
<li>
<div id="iforte_dmxi_v"></div>
</li>
<li class="mt-2">
<div id="iforte_ip_v"></div>
</li>
<li>
<div id="iforte_mac_v"></div>
</li>
<li class="mt-2">
<div id="iforte_rdmu_v"></div>
</li>
<li>
<div id="iforte_rdmn_v"></div>
</li>
</ul>
</div>
</div>
<div class="col-md-6 col-xl-4 box-c">
<h2>
Device times
<a class="cfg" onclick="open_modal(1);">
<img src="../files/settings.svg" />
</a>
</h2>
<div class="box">
<ul class="group">
<li>Power on time</li>
</ul>
<ul class="group vals" id="">
<li>
<div id="iforte_h0_v"></div>
h /
<div id="iforte_hr0_v"></div>
h
</li>
</ul>
<p>
<small>total / resettable</small>
</p>
<ul class="group">
<li>LED on time total</li>
<li>LED on time adaptive</li>
</ul>
<ul class="group vals">
<li>
<div id="iforte_h1_v"></div>
h
</li>
<li>
<div id="iforte_hr1_v"></div>
h
</li>
</ul>
</div>
</div>
<div class="col-md-6 col-xl-4 box-c">
<h2>
Device temperatures
<a class="cfg" onclick="open_modal(2);">
<img src="../files/settings.svg" />
</a>
</h2>
<div class="box">
<ul class="group">
<li>LEDs</li>
<li>PSU</li>
<li>Driver</li>
<li>Base</li>
</ul>
<ul class="group vals" id="">
<li>
<div id="iforte_t0_v"></div>
°
<div id="iforte_tu_v"></div>
/
<div id="iforte_tm0_v"></div>
°
<div id="iforte_tu_v"></div>
/
<div id="iforte_tmr0_v"></div>
°
<div id="iforte_tu_v"></div>
</li>
<li>
<div id="iforte_t3_v"></div>
°
<div id="iforte_tu_v"></div>
/
<div id="iforte_tm3_v"></div>
°
<div id="iforte_tu_v"></div>
/
<div id="iforte_tmr3_v"></div>
°
<div id="iforte_tu_v"></div>
</li>
<li>
<div id="iforte_t1_v"></div>
°
<div id="iforte_tu_v"></div>
/
<div id="iforte_tm1_v"></div>
°
<div id="iforte_tu_v"></div>
/
<div id="iforte_tmr1_v"></div>
°
<div id="iforte_tu_v"></div>
</li>
<li>
<div id="iforte_t2_v"></div>
°
<div id="iforte_tu_v"></div>
/
<div id="iforte_tm2_v"></div>
°
<div id="iforte_tu_v"></div>
/
<div id="iforte_tmr2_v"></div>
°
<div id="iforte_tu_v"></div>
</li>
</ul>
<p>
<small>current / maximum / resettable</small>
</p>
</div>
</div>
<div class="col-md-6 col-xl-4 box-c">
<h2>
Wireless state
<a class="cfg" onclick="open_modal(3);">
<img src="../files/settings.svg" />
</a>
</h2>
<div class="box">
<ul class="group">
<li>State</li>
<li>Signal strength</li>
</ul>
<ul class="group vals" id="">
<li>
<div id="iforte_lwc_v"></div>
</li>
<li>
<div id="iforte_lws_v">%</div>
</li>
</ul>
</div>
</div>
<div class="col-md-6 col-xl-4 box-c">
<h2>Software versions</h2>
<div class="box">
<ul class="group">
<li>Display System</li>
<li>Module M</li>
<li>Module L1</li>
<li>Module L2</li>
<li>Module O</li>
<li>Module F-A</li>
<li>Module F-B</li>
<li>Module G1</li>
<li>Module G2</li>
<li>Module P</li>
<li>Module C1</li>
<li>Module C2</li>
<li>Module DL</li>
</ul>
<ul class="group vals" id="sw_vers">
<li>1.9</li>
<li>1.4</li>
<li>1.6</li>
<li>1.5</li>
<li>1.3</li>
<li>1.1</li>
<li>1.1</li>
<li>1.5</li>
<li>1.5</li>
<li>1.2</li>
<li>1.2</li>
<li>1.2</li>
<li>1.2</li>
</ul>
</div>
</div>
<div class="col-md-6 col-xl-4 box-c">
<h2>Device state</h2>
<div class="box">
<ul class="group">
<li>Device status</li>
</ul>
<ul class="group vals" id="">
<li>
<div id="iforte_devs_v"></div>
</li>
</ul>
<button
class="btn btn-primary btn-block esm dn btn-success"
value="0"
style="display: inline-block"
id="esm"
>
Enter standby mode
</button>
<div>Current RAINS status</div>
<div>
<small class="fl">WET</small>
<small class="fr">DRY</small>
</div>
<div class="rains">
<div id="iforte_rains_bar_current" style="width: 50%"></div>
</div>
<div>MAX WET/resettable</div>
<div>
<small class="fl">WET</small>
<small class="fr">DRY</small>
</div>
<div class="rains">
<div id="iforte_rains_bar_max" style="width: 50%"></div>
</div>
<button class="btn btn-primary btn-block">MAX WET reset</button>
<p>
<small id="iforte_wrt">last reset: 2.3.2023 16:19:57</small>
</p>
</div>
</div>
<div class="col-12 box-c">
<h2 id="sta_err">Status messages</h2>
<div class="box">
<li>
This is a simulated REAP™ page for demo purposes. Some content
might be different on real fixtures.
</li>
<li>Big thanks to Vincent BOUQUET for creating this simulator.</li>
</div>
</div>
</div> </div>
</div> </div>
</div> <div id="cfg-modal" class="modal fade" tabindex="-1" role="dialog">
</div> <div class="modal-dialog" role="document">
<script> <div class="modal-content">
var a_m = -1; <div class="modal-header">
var m_t = ['DMX/RDM settings', 'Reset timers', 'Reset temperatures', 'Wireless settings', ]; <img src="../files/settings.svg" />
<h5 class="modal-title" id="m-t"></h5>
function open_modal(i) { <button
a_m = i; type="button"
mhdr_status(''); class="close"
if (a_m < m_t.length) { data-dismiss="modal"
$('#m-t').html(m_t[a_m]) aria-label="Close"
} >
$('.sb').unbind(); <span aria-hidden="true">×</span>
$('#m-f').empty(); </button>
$('#m-f').append(' <button type="button" class="btn btn-primary sb">Save</button>'); </div>
if(a_m==0) $('#m-f').show(); <div class="modal-body" id="m-b"></div>
else $('#m-f').hide(); <div class="modal-footer" id="m-f">
var h='';if(a_m==0){ <button type="button" class="btn btn-primary sb">Save</button>
h+=c_txt('dmxa','DMX address','Please put DMX address from 1 to 512'); </div>
h+=c_opt('dmxp','DMX preset',[1],'Mode ',0,1,''); </div>
h+=c_opt('dmxi','DMX input',['wired','wireless','wireless XLR out'],'',0,1,'Can not set wireless input now!'); </div>
h+=c_txt('rdmn','RDM label','Please insert label,max 32 characters') </div>
} else if(a_m==1){ <script>
h+=c_btn('Power on time reset',0,' rh') var a_m = -1;
} else if(a_m==2){ var m_t = [
h+=c_btn('LEDs temperature reset',0,' rt'); "DMX/RDM settings",
h+=c_btn('PSU temperature reset',3,' rt'); "Reset timers",
h+=c_btn('Driver temperature reset',1,' rt'); "Reset temperatures",
h+=c_btn('Base temperature reset',2,' rt') "Wireless settings",
} else if(a_m==3){ ];
h+=c_btn('Unlink Wireless module',0,' lwu')
} function open_modal(i) {
a_m = i;
$('#m-b').html(h); if (a_m < m_t.length) {
copy_form_values(1); $("#m-t").html(m_t[a_m]);
$('#cfg-modal').modal();
$('.sb').bind('click',function(){
loader(1);
var par=['dmxa','dmxp','dmxi','rdmn'];
do_ajax('/set_dmx',pv(par),function (json){
if(json){
if(json['status']==0){
mhdr_status('suc');
copy_form_values(0);
if(a_m==0){
console.log(json['dmxf']);
fill_values(json,['dmxf'])
} ptit(json['pt']);
close_modal()
}
show_errors(json['status'],par);
loader(0)
} }
}) $(".sb").unbind();
}); $("#m-f").empty();
$("#m-f").append(
$('.rh ').bind('click ',function(){ '<button type="button" class="btn btn-primary sb">Save</button>'
loader(1); );
do_ajax('/reset_hours',{ if (a_m == 0) $("#m-f").show();
index: $(this).attr('value') else $("#m-f").hide();
},function (json){ var h = "";
if(json){ if (a_m == 0) {
mhdr_status('suc'); h += c_txt(
fill_values(json,['hr0','hr1','hr2','hr3']) "iforte_dmxa",
"DMX address",
"Please put DMX address from 1 to 512"
);
h += c_opt("iforte_dmxp", "DMX preset", [2], "Mode ", 0, 1, "");
h += c_opt(
"iforte_dmxi",
"DMX input",
["wired", "wireless", "wireless XLR out"],
"",
0,
1,
"Can not set wireless input now!"
);
h += c_txt(
"iforte_rdmn",
"RDM label",
"Please insert label,max 32 characters"
);
} else if (a_m == 1) {
h += c_btn("Power on time reset", 0, "rh");
} else if (a_m == 2) {
h += c_btn("LEDs temperature reset", 0, "rt");
h += c_btn("PSU temperature reset", 3, "rt");
h += c_btn("Driver temperature reset", 1, "rt");
h += c_btn("Base temperature reset", 2, "rt");
} else if (a_m == 3) {
h += c_btn("Unlink Wireless module", 0, "lwu");
} }
loader(0)
}) // pers set
}); $("#m-b").html(h);
copy_form_values(1);
$('.rt').bind('click',function(){ $("#cfg-modal").modal();
loader(1); $(".sb").bind("click", function () {
do_ajax('/reset_temps',{ loader(1);
index: $(this).attr('value') var par = [
},function (json){ "iforte_dmxa",
if(json){ "iforte_dmxp",
mhdr_status('suc'); "iforte_dmxi",
fill_values(json,['tmr0','tmr1','tmr2']) "iforte_rdmn",
} ];
loader(0) do_ajax("/set_dmx", pv(par), function (json) {
}) if (json) {
}); if (json["status"] == 0) {
copy_form_values(0);
$('.lwu').bind('click',function(){ if (a_m == 0) {
loader(1); console.log(json["dmxf"]);
do_ajax('/lwm',{ fill_values(json, ["dmxf"]);
unlink:1 }
},function (json){ ptit(json["pt"]);
if(json){ close_modal();
fill_values(json,['lwc','lws']); }
mhdr_status('suc'); show_errors(json["status"], par);
close_modal() loader(0);
} }
loader(0) });
}) });
})
} // hours reset
$(".rh ").bind("click ", function () {
$(document).ready(function(){ loader(1);
var emb=$('button.esm'); do_ajax(
emb.addClass('btn-success'); "/reset_hours",
function ems_btn(v){ {
if(v==0){ index: $(this).attr("value"),
emb.removeClass('sa btn-warning').html('Enter standby mode').show() },
} else { function (json) {
emb.addClass('sa btn-warning').html('Escape standby mode').show() if (json) {
fill_values(json, ["hr0", "hr1", "hr2", "hr3"]);
}
loader(0);
}
);
});
// max temp reset
$(".rt").bind("click", function () {
loader(1);
do_ajax(
"/reset_temps",
{
index: $(this).attr("value"),
},
function (json) {
if (json) {
fill_values(json, ["tmr0", "tmr1", "tmr2"]);
}
loader(0);
}
);
});
// wireless unlink
$(".lwu").bind("click", function () {
loader(1);
close_modal();
loader(0);
});
} }
}
emb.click(function(){ // standby mode
var run=true; $("#esm").on("click", function () {
var s_v=(emb.hasClass('sa') ? 0:1); toggleStandbyMode();
if((s_v==1)&&!confirm('Are you sure you want to enter standby mode?')) run=false;
if(run){
do_ajax('/sbm',{
s:s_v
},function (json){
ems_btn(json['sm']);
fill_values(json,['devs'])
})
}
});
var bussy=0;
function do_5s(){bussy|=(1 << 0);
do_ajax('/lwm', {}, function(json) {
if (json) {
fill_values(json, ['lwc', 'lws'])
}
bussy &= ~(1 << 0)
}); });
bussy |= (1 << 1); </script>
do_ajax('/reset_temps', {}, function(json) { </body>
if (json) { </html>
fill_values(json, ['t0', 't1', 't2', 't3', 'tm0', 'tm1', 'tm2', 'tm3', 'tmr0', 'tmr1', 'tmr2', 'tmr3']);
$('.tu').html(json['tu'])
}
bussy &= ~(1 << 1)
});
bussy |= (1 << 3);
do_ajax('/reset_hours', {}, function(json) {
if (json) {
fill_values(json, ['h0', 'h1', 'h2', 'h3', 'hr0', 'hr1', 'hr2', 'hr3'])
}
bussy &= ~(1 << 3)
});
bussy |= (1 << 4);
do_ajax('/devsta', {}, function(json) {
if (json) {
fill_values(json, ['devs']);
$('#rai>div').css('width', json['rains']);
$('#rair>div').css('width', json['maxw']);
$('#wrt').html('last reset: ' + json['maxwt']);
ems_btn(json['sm'])
} else {
fill_values({
devs: 'disconnected'
}, ['devs'])
}
bussy &= ~(1 << 4)
});
bussy |= (1 << 7);
do_ajax('/errors', {}, function(json) {
if (json) {
if (json['err']) {
if (json['err'].length) $('#sta_err').addClass('err');
else $('#sta_err').removeClass('err');
var html = '';
for (i = 0; i < json['err'].length; i++) html += ' <li> ' + json['err'][i] + ' </li>';
$('#err_v').html(html)
}
}
bussy&=~(1 << 7)})
}
do_ajax('/status_i', {}, function(json) {
if (json) {
fill_values(json, ['dmxa', 'dmxp', 'dmxf', 'dmxi', 'pt', 'ip', 'mac', 'rdmu', 'rdmn']);
ptit(json['pt']);
$('.tu').html(json['tu'])
}
});
do_ajax('/reset_hours', {}, function(json) {
if (json) {
fill_values(json, ['h0', 'h1', 'h2', 'h3', 'hr0', 'hr1', 'hr2', 'hr3'])
}
});
do_ajax('/sw_ver', {}, function(json) {
if (json) {
$('#sw_vers li').each(function(i) {
var v = json['vers'][i];
$(this).html(v == 0 ? '-' : Math.floor(v / 10) + '.' + (v % 10))
})
}
});
do_5s();
setInterval(function() {
if (bussy == 0) do_5s()
}, 5000);
$('button.mwr').click(function() {
do_ajax('/mwres', {}, function(json) {
if (json) {
$('#rair>div').css('width', json['maxw']);
$('#wrt').html('last reset: ' + json['maxwt'])
}
})
})
});
</script>
</body>
</html>

File diff suppressed because it is too large Load Diff