⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 controls_cam.js

📁 linux平台上的开放源代码的网络摄像机程序.实现视频捕捉,传输以及云台控制等.非常具有参考价值.
💻 JS
📖 第 1 页 / 共 2 页
字号:
// 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 + -