📄 controls_cam.js
字号:
// Timing Controlfunction getTiming() { var i; for (i=16;i<24;i++) if (document.camShadowData[i]==65535) document.camShadowData[i]=0; if (document.camShadowData[8]==65535) document.camShadowData[8]=0; for (i=0;i<8;i++) document.getElementById('idTim'+i).value=document.camShadowData[16+i]; document.getElementById('idSupportPeriod').value=document.camShadowData[8] & 3;}function setTiming8() { var d; var s; var t=new Date(); var str= parent.document.cameraMCP+"?"; str+="w=0010"; for (i=0;i<8;i++) { d= parseInt(document.getElementById('idTim'+i).value); if (!((d>=0) && (d<16))) { // to avoid NaN alert ("All of these times should be in the range 0..15\n"+ "Actual time is approximately (7+N) ns"); return; } else { s=d.toString(16); while (s.length<4) s="0"+s; str+=s; } } str+='&l="'+escape("parent.frames[1].setUpdateStatus()")+'"'; // onLoad str+="&_time="+t.getTime();// alert (str); parent.frames[0].location=str;}function setTimingSupport() { var d; var s; var t=new Date(); var str= parent.document.cameraMCP+"?"; str+="w=0008000"+ document.getElementById('idSupportPeriod').value; str+='&l="'+escape("parent.frames[1].setUpdateStatus()")+'"'; // onLoad str+="&_time="+t.getTime();// alert (str); parent.frames[0].location=str;}// ============================ PWM Controls ==============================function getPWMSettings() { var dnm; var s; var i; for (i=10;i<13;i++) if (document.camShadowData[i]==65535) document.camShadowData[i]=0; dnm=document.camShadowData[11]; s=document.camShadowData[12].toString(16); document.getElementById('idNominator').value=0.001*Math.round(document.camShadowData[10]/32.768); document.getElementById('idDenominator').value=(dnm<=0x8000)?1:(dnm<=0xc000)?2:(dnm<=0xe000)?3:(dnm<=0xf000)?4:5; if (s.length<2) s="0"+s; document.getElementById('idPWMOutW').value=s;}function setPWMSettings() { var s; var t=new Date(); var str= parent.document.cameraMCP+"?"; var nm=parseFloat(document.getElementById('idNominator').value); var ow=parseInt(document.getElementById('idPWMOutW').value,16); // validate them first if (!((nm>=0) && (nm<=1.0))) { // to avoid NaN if (nm>1.0) nm=1.0; else nm=0.0; } document.getElementById('idNominator').value=nm; if (!((ow>=0) && (ow<=255))) { // to avoid NaN if (ow>255) nm=255; else ow=0; } s=ow.toString(16); if (s.length<2) s="0"+s; document.getElementById('idPWMOutW').value=s;// now send: str+="w=000a"; s=Math.round(nm*32768).toString(16); while (s.length<4) s="0"+s; str+=s; switch (parseInt(document.getElementById('idDenominator').value)) { case 1: {str+="8000";break;} case 2: {str+="c000";break;} case 3: {str+="e000";break;} case 4: {str+="f000";break;} case 5: {str+="f800";break;} default:{str+="8000";break;} } str+="00"+document.getElementById('idPWMOutW').value; str+='&l="'+escape("parent.frames[1].setUpdateStatus()")+'"'; // onLoad str+="&_time="+t.getTime();// alert (str); parent.frames[0].location=str; // will not update itself (for speed)}// ============================ Inverter Controls ==============================function readInverterSequence() { var invShift=64; // address of first inverter data in camera shadow memory var invLength=64; var str=""; var wi=0; var d,c; while (wi<invLength){ d=document.camShadowData[wi+invShift]; c=(d >> 14) & 3; d=(d & 0x3fff); if (c==3) break; switch (c) { case 0: {str+="-"+d;break;} case 1: {str+="/"+d;break;} case 2: {str+="\\"+d;break;} } wi++; } document.getElementById('idInverterStr').value=str;}function setInverterSeq(){ var t=new Date(); var str= parent.document.cameraMCP+"?"; var parseOK=1; var i=0; var c,d; var s=document.getElementById('idInverterStr').value; var j; var sd; var wi=0; var ttot=0; var tpos=0; var tneg=0; var maxOn=10; // max % active) str+="w=0040"; while ((parseOK>0) && (i<s.length) &&(wi<63)) {// should be -,/,or\ //alert ("s.charAt(i)="+s.charAt(i)); switch (s.charAt(i++)) { case '-': {c=0;break} case '/': {c=1;break} case '\\': {c=2;break} default: { alert ("Bad character - "+s.charAt(i-1)+ "\nOnly '-'(off), '/' (positive), '\\' (negative)\n"+ "and durations (in 50ns steps) are allowed"); return; parseOK=0; } } if (!parseOK) break; // parse error// now read decimal data for (j=i;((j<s.length) && ("0123456789".indexOf(s.charAt(j))>=0));j++); d=parseInt(s.substring(i,j));//alert ("i="+i+"j="+j); i=j; if ((d<0) || (d>0x3fff)) { parseOK=0; // bad number alert ("delays should be positive <= 16383 (0.8 msec)"); return; } switch (c) { case 1: {tpos+=d;break;} case 2: {tneg+=d;break;} } ttot+=d; d+= (c<<14); sd=d.toString(16); while (sd.length<4) sd="0"+sd; str+=sd; wi++; }// validate good data if (parseOK==0) return; d=((tpos+tneg)/ttot)*100; if (d>10){ parseOK=0; // bad number alert ("Inverter should be on not more than "+maxOn+"% of time - it could overheat!\n"+ "entered - "+d+"%"); return; } str+="c000";// - end of sequence str+='&l="'+escape("parent.frames[1].setInitAll()")+'"'; str+="&_time="+t.getTime();// alert (str); parent.frames[0].location=str; }function showTurnInverter(d){ document.getElementById('idTurnInverter').value=d?"turn OFF":"turn ON"; document.inverterOn=d;}function turnInverter(){ var t=new Date(); var str= parent.document.cameraMCP+"?"; showTurnInverter(!document.inverterOn); str+="w=000d"+(document.inverterOn? "0004":"0000"); str+='&l="'+escape("parent.frames[1].setInitAll()")+'"'; str+="&_time="+t.getTime();// alert (str); parent.frames[0].location=str; }// ===================================================================================function initMainTableColShow(){ var n= document.getElementById('mainTable').rows[0].cells.length /2; var i; for (i=0;i<n;i++) mainTableColShow(i,1);}function mainTableColShow(n,shw) { // if show>0 will show col 2*n and hide 2*n+1, else - opposite var mTab=document.getElementById('mainTable'); var i; for (i=0;i<mTab.rows.length;i++) { mTab.rows[i].cells[2*n].style.display=(shw)? "" : "none"; mTab.rows[i].cells[2*n+1].style.display=(shw)? "none":""; }}/*document.getElementById('tableSeq');function setSeqTabCellInput(i,j,l,v,enbl,shw) { //i,j should be within table range var tab=document.tabP; while (tab.rows[i].cells[j].firstChild) tab.rows[i].cells[j].removeChild(tab.rows[i].cells[j].firstChild); if (l) { var fe= document.createElement('input'); fe.type="text"; fe.size=l; tab.rows[i].cells[j].appendChild(fe); tab.rows[i].cells[j].firstChild.value=v; if (enbl) tab.rows[i].cells[j].firstChild.className="inputEnabled"; else { tab.rows[i].cells[j].firstChild.readOnly= true; tab.rows[i].cells[j].firstChild.className="inputDisabled"; } tab.rows[i].cells[j].style.display=(shw)? "" : "none"; }}*/// ===================================================================================function setStatus (s) { // 0 - reset, 1 - armed, 2 - Acquired document.lastStatus=s; var st=document.getElementById('idStatus') if (document.lastStatus==0) { st.className="statusReset"; st.value="RESET"; document.getElementById('idArm').value=" ARM " } else if (document.lastStatus==1) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -