Loading camogm.js +10 −3 Original line number Diff line number Diff line Loading @@ -56,9 +56,11 @@ function camogm_create_table(){ if (camogm_en) { table_html = "<tr>\n\t<td></td>\n\t<td align='center'>SSD free space</td>\n<td> Buffer (important when recording)</td></tr>"; for (var i=0;i<n;i++) { table_html += "<tr>\n\t<td>camera "+(i+1)+"</td><td id='cam"+(i+1)+"_hdd' align='right'></td><td><div id='buffer"+(i+1)+"_sum' class='buffer'><div id='buffer"+(i+1)+"' style='width:200px;' class='buffer_free'>free</div></div></td></tr>"; for (var i=0;i<cams.length;i++) { table_html += "<tr>\n\t<td>channel "+(i+1)+"</td><td id='cam"+i+"_hdd' align='right'></td><td><div id='buffer"+i+"_sum' class='buffer'><div id='buffer"+i+"' style='width:200px;' class='buffer_free'>free</div></div></td></tr>"; } } $("#hdd_free_space").html(table_html); Loading Loading @@ -110,7 +112,12 @@ function camogm_parse_status(data){ var buf_used; var buf_sum; for (var i=0;i<n;i++) { //$(data).find('cam') for (var i=0;i<cams.length;i++) { buf_free = +$(data).find('cam'+(i+1)).find('camogm_state').find('buffer_free').text(); buf_used = +$(data).find('cam'+(i+1)).find('camogm_state').find('buffer_used').text(); buf_sum = buf_free+buf_used; Loading client.php +47 −13 Original line number Diff line number Diff line Loading @@ -4,20 +4,41 @@ $cmd = "do_nothing"; if (isset($_GET['cmd'])) $cmd = $_GET['cmd']; if (isset($_GET['interval'])) $interval = $_GET['interval']; if (isset($_GET['master_ip'])) $master_ip = $_GET['master_ip']; else $master_ip = "221"; if (isset($_GET['n'])) $n = $_GET['n']; //skip mask isnot needed if (isset($_GET['mask'])) $mask = $_GET['mask']; if ($cmd=="launch") launch(); else if ($cmd=="set_path") set_path($cmd,$_GET['path'],$master_ip,$n,$mask,$_GET['subfolder'],$_GET['limit']); else get_state($cmd,$interval,$n,$mask,$master_ip); // keys assign //example: rq=192.168.0.161:2323:0:0,192.168.0.162:2324:1:1 $cams = array(); if (isset($_GET['rq'])){ $pars = explode(",",$_GET['rq']); foreach($pars as $val){ $ip = strtok($val,":"); $port = strtok(":"); $channel = strtok(":"); $master = strtok(":"); array_push($cams,array('ip'=>$ip,'port'=>$port,'channel'=>$channel,'master'=>$master)); if ($master=="1"){ $master_ip = $ip; $master_port = $port; $master_channel = $channel; } } } if ($cmd=="launch") { launch(); }else if ($cmd=="set_path"){ set_path($cmd,$_GET['path'],$mask,$_GET['subfolder'],$_GET['limit']); }else{ get_state($cmd,$interval,$mask); } function launch(){ $status = system("./eyesis_daemon.php >> /data/footage/daemon_log.txt &"); $status = system("./eyesis_daemon.php > /data/footage/daemon_log.txt &"); echo "daemon started"; echo "Daemon started"; // if (!$status) { // $response = "fail"; Loading @@ -38,16 +59,29 @@ function launch(){ } function get_state($cmd,$interval,$n,$mask,$ip){ $cmd = "<msg><cmd>$cmd</cmd><interval>$interval</interval><ip>$ip</ip><n>$n</n><mask>$mask</mask></msg>"; function get_camstr(){ global $cams; $msg = ""; for($i=0;$i<count($cams);$i++){ $msg .= "<cam>\n"; $msg .= " <ip>{$cams[$i]['ip']}</ip>"; $msg .= " <port>{$cams[$i]['port']}</port>"; $msg .= " <channel>{$cams[$i]['channel']}</channel>"; $msg .= " <master>{$cams[$i]['master']}</master>"; $msg .= "</cam>\n"; } return $msg; } function get_state($cmd,$interval,$mask){ $cmd = "<msg><cmd>$cmd</cmd><interval>$interval</interval>".get_camstr()."<mask>$mask</mask></msg>"; send_msg($cmd); } function set_path($cmd,$path,$ip,$n,$mask,$subfolder,$limit){ function set_path($cmd,$path,$mask,$subfolder,$limit){ $msg = "<msg>\n"; $msg .= "<cmd>$cmd</cmd>\n"; $msg .= "<n>$n</n>\n"; $msg .= "<ip>$ip</ip>\n"; $msg .= get_camstr(); $msg .= "<mask>$mask</mask>\n"; $msg .= "<path>$path</path>\n"; $msg .= "<subfolder>$subfolder</subfolder>\n"; Loading eyesis4pi.js +58 −58 Original line number Diff line number Diff line Loading @@ -34,18 +34,27 @@ var pc_gps_imu_device_name = "/dev/sda1"; var camogm_rec_delay = 5; var cams = new Array( Array(1,1,1), Array(1,1,1), Array(1,1,1), Array(1,1,1), Array(1,1,1), Array(1,1,1), Array(1,1,1), Array(1,1,1), Array(1,0,0), Array(1,0,0) ); var cams = [ {"ip":"192.168.0.161","port":2326,"channel":3,"master":0}, {"ip":"192.168.0.161","port":2325,"channel":2,"master":0}, {"ip":"192.168.0.161","port":2323,"channel":0,"master":0}, {"ip":"192.168.0.161","port":2324,"channel":1,"master":0}, {"ip":"192.168.0.162","port":2326,"channel":3,"master":0}, {"ip":"192.168.0.162","port":2325,"channel":2,"master":0}, {"ip":"192.168.0.162","port":2323,"channel":0,"master":0}, {"ip":"192.168.0.162","port":2324,"channel":1,"master":0}, {"ip":"192.168.0.163","port":2325,"channel":2,"master":1}, {"ip":"192.168.0.163","port":2326,"channel":3,"master":0} ]; function get_master_index(){ for (var i=0;i<cam.length;i++){ if (cams[i].master==1){ return i; } } return -1; } function check_footage_path(){ $.ajax({ Loading Loading @@ -120,13 +129,12 @@ function init(){ camogm_cmd("run_status",false,camogm_parse_state); } //master_ip = $("#address_field1").val().substr(-3,3); var tmp = "192.168.0."+master_ip; var tmp = cams[get_master_index()]; master_ip = tmp.substr(-3,3); var param_string="/parsedit.php?title=Parameters&COLOR&AUTOEXP_ON&EXPOS&AUTOEXP_EXP_MAX&AEXP_LEVEL&AEXP_FRACPIX&QUALITY&CORING_INDEX&MULTI_MODE&MULTI_SELECTED&MULTI_FLIPH&MULTI_FLIPV&TRIG&TRIG_PERIOD&HISTWND_RLEFT&HISTWND_RTOP&HISTWND_RWIDTH&HISTWND_RHEIGHT&HDR_DUR&HDR_VEXPOS&EXP_AHEAD'>Parameters page</a> "; for (var i=0;i<n;i++) { $("#cam"+(i+1)+"_parameters").html(" <a href='http://192.168.0."+(+master_ip+i)+param_string); for (var i=0;i<cams.length;i++) { var param_string="/parsedit.php?title=Parameters&sensor_port="+cams[i].channel+"&COLOR&AUTOEXP_ON&EXPOS&AUTOEXP_EXP_MAX&AEXP_LEVEL&AEXP_FRACPIX&QUALITY&CORING_INDEX&MULTI_MODE&MULTI_SELECTED&MULTI_FLIPH&MULTI_FLIPV&TRIG&TRIG_PERIOD&HISTWND_RLEFT&HISTWND_RTOP&HISTWND_RWIDTH&HISTWND_RHEIGHT&HDR_DUR&HDR_VEXPOS&EXP_AHEAD'>Parameters page</a> "; $("#cam"+i+"_parameters").html(" <a href='http://"+(cams[i].ip)+param_string); } $("#input_skip_frames").attr('title',"Lower 8-bits set the mask, where 1=enabled, 0=disabled (the sequence period is 8 frames). For example, to skip every second frame apply 0x155"); Loading Loading @@ -159,6 +167,7 @@ function init(){ //update_cf_index(); master_ip_change_init(); $("#single_shots_div").attr("href","single.html?ip="+master_ip+"&n="+n+"&mode=5"+"&period="+($("#input_trigger_period").val()*96000)); $("#system_tests_div").attr("href","tests.html?master_ip="+master_ip+"&n="+n); Loading Loading @@ -291,7 +300,7 @@ function send_cmd(cmd){ }else{ console.log("Trigger interval is "+download_interval); $.ajax({ url: "client.php?cmd="+cmd+"&master_ip="+master_ip+"&n="+n+"&interval="+download_interval+"&mask="+mask, url: "client.php?cmd="+cmd+"&rq="+get_rq_str()+"&interval="+download_interval+"&mask="+mask, success: function(data){ $("#status").html(data); $("#daemon_state").html(data); Loading @@ -314,6 +323,17 @@ function send_cmd(cmd){ } } function get_rq_str(){ var rq_str = ""; for(var i=0;i<cams.length;i++){ if (i!=0){ rq_str += ","; } rq_str += cams[i].ip+":"+cams[i].port+":"+cams[i].channel+":"+cams[i].master; } return rq_str; } function settings_activate() { if (!$("#settings").is(":visible")) { $("#settings").css({top:'50px',left:'10px','z-index':3}).fadeToggle(300,function(){ Loading Loading @@ -525,29 +545,17 @@ function refresh_images(){ refresh_images_eyesis(); } function convert_source_393(mip,mip_index){ var d = new Date(); var curr_time = d.getTime(); //var cam = 0,1,2,3, 4,5,6,7, 8 var tmp_port = 2323+Math.floor(mip_index/4); var tmp_ip = "http://192.168.0."+(+mip+(Math.floor(mip_index/4)))+":"+tmp_port+"/bimg?"+curr_time; return tmp_ip; } function refresh_images_eyesis(){ var d = new Date(); var curr_time = d.getTime(); var pic = new Object(); for(i=0;i<n;i++) { for(var i=0;i<cams.length;i++){ pic[i] = new Image(); //add ip increment here //pic[i].src="http://192.168.0."+(+master_ip+i)+":8081/bimg?"+curr_time; pic[i].src=convert_source_393(master_ip,i); pic[i].src = "http://"+cams[i].ip+":"+cams[i].port+"/bimg?"+curr_time; pic[i].index = i; pic[i].onload = function(){ var w = 200; Loading @@ -555,7 +563,7 @@ function refresh_images_eyesis(){ var W = 2592; var H = 1944; var cnv = document.getElementById('cam'+(this.index+1)+'_canvas'); var cnv = document.getElementById("cam_"+this.index+"_canvas"); var cContext = cnv.getContext('2d'); cnv.setAttribute('width',h);cnv.setAttribute('height',3*w); cContext.rotate(90*Math.PI/180); Loading @@ -566,24 +574,16 @@ function refresh_images_eyesis(){ //if ((this.index==0)||(this.index==1)||(this.index==7)) k = 3; if (this.index%2==0) { if (cams[this.index][0]==1) cContext.drawImage(this, 0,0*H,W,H, 0*w,-1*h,w,h); if (cams[this.index][1]==1) cContext.drawImage(this, 0,1*H,W,H, 1*w,-1*h,w,h); //for those who has 3 images if (k==3) { cContext.drawImage(this, 0,0*H,W,H, 0*w,-1*h,w,h); cContext.drawImage(this, 0,1*H,W,H, 1*w,-1*h,w,h); cContext.scale(-1,1); if (cams[this.index][2]==1) cContext.drawImage(this, 0,2*H,W,H, -3*w, -1*h, w, h); } cContext.drawImage(this, 0,2*H,W,H, -3*w, -1*h, w, h); }else{ cContext.scale(1,-1); //mirror is needed if (cams[this.index][0]==1) cContext.drawImage(this, 0,0*H,W,H, 0*w,0*h,w,h); if (cams[this.index][1]==1) cContext.drawImage(this, 0,1*H,W,H, 1*w,0*h,w,h); //for those who has 3 images if (k==3) { cContext.drawImage(this, 0,0*H,W,H, 0*w,0*h,w,h); cContext.drawImage(this, 0,1*H,W,H, 1*w,0*h,w,h); cContext.scale(-1,1); if (cams[this.index][2]==1) cContext.drawImage(this, 0,2*H,W,H, -3*w,h*(0),w,h); } cContext.drawImage(this, 0,2*H,W,H, -3*w,h*(0),w,h); } }; Loading Loading @@ -624,10 +624,10 @@ function refresh_histograms(){ var d = new Date(); var curr_time = d.getTime(); for (var i=0;i<n;i++){ var src = "http://192.168.0."+((+master_ip)+i)+"/pnghist.cgi?sqrt=1&scale=5&average=5&height=128&fillz=1&linterpz=0&draw=2&colors=41&_time="+curr_time; $("#cam"+(i+1)+"_hist").attr("src", src); $("#cam"+(i+1)+"_hist_front").attr("src", src); for (var i=0;i<cams.length;i++){ var src = "http://"+cams[i].ip+"/pnghist.cgi?sensor_port="+cams[i].channel+"&sqrt=1&scale=5&average=5&height=128&fillz=1&linterpz=0&draw=2&colors=41&_time="+curr_time; $("#cam"+i+"_hist").attr("src", src); $("#cam"+i+"_hist_front").attr("src", src); } } Loading eyesis4pi_get_sensors.php +1 −4 Original line number Diff line number Diff line Loading @@ -44,13 +44,10 @@ if (isset($elp_const["elphel"])) { } //defaults $master_ip = 221; $n = 1; $res_xml = ""; $cams = array(); // keys assign $cams = array(); if (isset($_GET['rq'])){ $pars = explode(",",$_GET['rq']); foreach($pars as $val){ Loading eyesis_daemon.php +32 −6 Original line number Diff line number Diff line Loading @@ -21,7 +21,10 @@ $socket = stream_socket_server("tcp://$address:$port", $errno, $errstr); $status = "idle"; $ip = 221; $master_ip = ""; $master_port = ""; $master_channel = ""; $interval = 1000; $old_status_en = true; Loading @@ -43,8 +46,20 @@ if (!$socket) { $cmd = $xml->cmd; $interval = $xml->interval; $ip = $xml->ip; $n = $xml->n; $cams = array(); foreach($xml->cam as $item){ array_push($cams,array('ip'=>($item->ip),'port'=>($item->port),'channel'=>($item->channel),'master'=>($item->master))); if ($item->master=="1"){ $master_ip = $item->ip; $master_port = $item->port; $master_channel = $item->channel; } } //$ip = $xml->ip; //$n = $xml->n; $mask = $xml->mask; if ($cmd=="set_path") { Loading @@ -68,8 +83,10 @@ if (!$socket) { if ($cmd=="stop") { system("killall -9 recorder.php"); $ci = $interval*96000; $fp = fopen("http://192.168.0.$ip/camogmgui/camogm_interface.php?cmd=set_parameter&pname=TRIG_PERIOD&pvalue=".($ci+1), 'r'); $fp = fopen("http://192.168.0.$ip/camogmgui/camogm_interface.php?cmd=set_parameter&pname=TRIG_PERIOD&pvalue=".($ci), 'r'); $fp = fopen("http://$master_ip/camogmgui/camogm_interface.php?sensor_port=$master_channel&cmd=set_parameter&pname=TRIG_PERIOD&pvalue=".($ci+1), 'r'); $fp = fopen("http://$master_ip/camogmgui/camogm_interface.php?sensor_port=$master_channel&cmd=set_parameter&pname=TRIG_PERIOD&pvalue=".($ci), 'r'); $status = "idle"; } Loading Loading @@ -105,7 +122,7 @@ if (!$socket) { $footage_index = update_subsubdir("$footage_root_path/$footage_subfolder",$footage_index,$footage_file_limit,$index_max=1); if ($footage_index>=0) { passthru("./recorder.php ".$ip." ".$n." ".$interval." ".$mask." ".$footage_root_path." ".$footage_subfolder." ".$footage_file_limit." ".$footage_index." >> /dev/null 2>&1 &"); passthru("./recorder.php '".get_rq_str($cams)."' $interval $mask $footage_root_path $footage_subfolder $footage_file_limit $footage_index > /dev/null 2>&1 &"); } } Loading @@ -116,4 +133,13 @@ if (!$socket) { fclose($socket); } function get_rq_str($a){ $rq_str = ""; for($i=0;$i<count($a);$i++){ if ($i!=0) $rq_str .= ","; $rq_str .= "{$a[$i]['ip']}:{$a[$i]['port']}:{$a[$i]['channel']}:{$a[$i]['master']}"; } return $rq_str; } ?> No newline at end of file Loading
camogm.js +10 −3 Original line number Diff line number Diff line Loading @@ -56,9 +56,11 @@ function camogm_create_table(){ if (camogm_en) { table_html = "<tr>\n\t<td></td>\n\t<td align='center'>SSD free space</td>\n<td> Buffer (important when recording)</td></tr>"; for (var i=0;i<n;i++) { table_html += "<tr>\n\t<td>camera "+(i+1)+"</td><td id='cam"+(i+1)+"_hdd' align='right'></td><td><div id='buffer"+(i+1)+"_sum' class='buffer'><div id='buffer"+(i+1)+"' style='width:200px;' class='buffer_free'>free</div></div></td></tr>"; for (var i=0;i<cams.length;i++) { table_html += "<tr>\n\t<td>channel "+(i+1)+"</td><td id='cam"+i+"_hdd' align='right'></td><td><div id='buffer"+i+"_sum' class='buffer'><div id='buffer"+i+"' style='width:200px;' class='buffer_free'>free</div></div></td></tr>"; } } $("#hdd_free_space").html(table_html); Loading Loading @@ -110,7 +112,12 @@ function camogm_parse_status(data){ var buf_used; var buf_sum; for (var i=0;i<n;i++) { //$(data).find('cam') for (var i=0;i<cams.length;i++) { buf_free = +$(data).find('cam'+(i+1)).find('camogm_state').find('buffer_free').text(); buf_used = +$(data).find('cam'+(i+1)).find('camogm_state').find('buffer_used').text(); buf_sum = buf_free+buf_used; Loading
client.php +47 −13 Original line number Diff line number Diff line Loading @@ -4,20 +4,41 @@ $cmd = "do_nothing"; if (isset($_GET['cmd'])) $cmd = $_GET['cmd']; if (isset($_GET['interval'])) $interval = $_GET['interval']; if (isset($_GET['master_ip'])) $master_ip = $_GET['master_ip']; else $master_ip = "221"; if (isset($_GET['n'])) $n = $_GET['n']; //skip mask isnot needed if (isset($_GET['mask'])) $mask = $_GET['mask']; if ($cmd=="launch") launch(); else if ($cmd=="set_path") set_path($cmd,$_GET['path'],$master_ip,$n,$mask,$_GET['subfolder'],$_GET['limit']); else get_state($cmd,$interval,$n,$mask,$master_ip); // keys assign //example: rq=192.168.0.161:2323:0:0,192.168.0.162:2324:1:1 $cams = array(); if (isset($_GET['rq'])){ $pars = explode(",",$_GET['rq']); foreach($pars as $val){ $ip = strtok($val,":"); $port = strtok(":"); $channel = strtok(":"); $master = strtok(":"); array_push($cams,array('ip'=>$ip,'port'=>$port,'channel'=>$channel,'master'=>$master)); if ($master=="1"){ $master_ip = $ip; $master_port = $port; $master_channel = $channel; } } } if ($cmd=="launch") { launch(); }else if ($cmd=="set_path"){ set_path($cmd,$_GET['path'],$mask,$_GET['subfolder'],$_GET['limit']); }else{ get_state($cmd,$interval,$mask); } function launch(){ $status = system("./eyesis_daemon.php >> /data/footage/daemon_log.txt &"); $status = system("./eyesis_daemon.php > /data/footage/daemon_log.txt &"); echo "daemon started"; echo "Daemon started"; // if (!$status) { // $response = "fail"; Loading @@ -38,16 +59,29 @@ function launch(){ } function get_state($cmd,$interval,$n,$mask,$ip){ $cmd = "<msg><cmd>$cmd</cmd><interval>$interval</interval><ip>$ip</ip><n>$n</n><mask>$mask</mask></msg>"; function get_camstr(){ global $cams; $msg = ""; for($i=0;$i<count($cams);$i++){ $msg .= "<cam>\n"; $msg .= " <ip>{$cams[$i]['ip']}</ip>"; $msg .= " <port>{$cams[$i]['port']}</port>"; $msg .= " <channel>{$cams[$i]['channel']}</channel>"; $msg .= " <master>{$cams[$i]['master']}</master>"; $msg .= "</cam>\n"; } return $msg; } function get_state($cmd,$interval,$mask){ $cmd = "<msg><cmd>$cmd</cmd><interval>$interval</interval>".get_camstr()."<mask>$mask</mask></msg>"; send_msg($cmd); } function set_path($cmd,$path,$ip,$n,$mask,$subfolder,$limit){ function set_path($cmd,$path,$mask,$subfolder,$limit){ $msg = "<msg>\n"; $msg .= "<cmd>$cmd</cmd>\n"; $msg .= "<n>$n</n>\n"; $msg .= "<ip>$ip</ip>\n"; $msg .= get_camstr(); $msg .= "<mask>$mask</mask>\n"; $msg .= "<path>$path</path>\n"; $msg .= "<subfolder>$subfolder</subfolder>\n"; Loading
eyesis4pi.js +58 −58 Original line number Diff line number Diff line Loading @@ -34,18 +34,27 @@ var pc_gps_imu_device_name = "/dev/sda1"; var camogm_rec_delay = 5; var cams = new Array( Array(1,1,1), Array(1,1,1), Array(1,1,1), Array(1,1,1), Array(1,1,1), Array(1,1,1), Array(1,1,1), Array(1,1,1), Array(1,0,0), Array(1,0,0) ); var cams = [ {"ip":"192.168.0.161","port":2326,"channel":3,"master":0}, {"ip":"192.168.0.161","port":2325,"channel":2,"master":0}, {"ip":"192.168.0.161","port":2323,"channel":0,"master":0}, {"ip":"192.168.0.161","port":2324,"channel":1,"master":0}, {"ip":"192.168.0.162","port":2326,"channel":3,"master":0}, {"ip":"192.168.0.162","port":2325,"channel":2,"master":0}, {"ip":"192.168.0.162","port":2323,"channel":0,"master":0}, {"ip":"192.168.0.162","port":2324,"channel":1,"master":0}, {"ip":"192.168.0.163","port":2325,"channel":2,"master":1}, {"ip":"192.168.0.163","port":2326,"channel":3,"master":0} ]; function get_master_index(){ for (var i=0;i<cam.length;i++){ if (cams[i].master==1){ return i; } } return -1; } function check_footage_path(){ $.ajax({ Loading Loading @@ -120,13 +129,12 @@ function init(){ camogm_cmd("run_status",false,camogm_parse_state); } //master_ip = $("#address_field1").val().substr(-3,3); var tmp = "192.168.0."+master_ip; var tmp = cams[get_master_index()]; master_ip = tmp.substr(-3,3); var param_string="/parsedit.php?title=Parameters&COLOR&AUTOEXP_ON&EXPOS&AUTOEXP_EXP_MAX&AEXP_LEVEL&AEXP_FRACPIX&QUALITY&CORING_INDEX&MULTI_MODE&MULTI_SELECTED&MULTI_FLIPH&MULTI_FLIPV&TRIG&TRIG_PERIOD&HISTWND_RLEFT&HISTWND_RTOP&HISTWND_RWIDTH&HISTWND_RHEIGHT&HDR_DUR&HDR_VEXPOS&EXP_AHEAD'>Parameters page</a> "; for (var i=0;i<n;i++) { $("#cam"+(i+1)+"_parameters").html(" <a href='http://192.168.0."+(+master_ip+i)+param_string); for (var i=0;i<cams.length;i++) { var param_string="/parsedit.php?title=Parameters&sensor_port="+cams[i].channel+"&COLOR&AUTOEXP_ON&EXPOS&AUTOEXP_EXP_MAX&AEXP_LEVEL&AEXP_FRACPIX&QUALITY&CORING_INDEX&MULTI_MODE&MULTI_SELECTED&MULTI_FLIPH&MULTI_FLIPV&TRIG&TRIG_PERIOD&HISTWND_RLEFT&HISTWND_RTOP&HISTWND_RWIDTH&HISTWND_RHEIGHT&HDR_DUR&HDR_VEXPOS&EXP_AHEAD'>Parameters page</a> "; $("#cam"+i+"_parameters").html(" <a href='http://"+(cams[i].ip)+param_string); } $("#input_skip_frames").attr('title',"Lower 8-bits set the mask, where 1=enabled, 0=disabled (the sequence period is 8 frames). For example, to skip every second frame apply 0x155"); Loading Loading @@ -159,6 +167,7 @@ function init(){ //update_cf_index(); master_ip_change_init(); $("#single_shots_div").attr("href","single.html?ip="+master_ip+"&n="+n+"&mode=5"+"&period="+($("#input_trigger_period").val()*96000)); $("#system_tests_div").attr("href","tests.html?master_ip="+master_ip+"&n="+n); Loading Loading @@ -291,7 +300,7 @@ function send_cmd(cmd){ }else{ console.log("Trigger interval is "+download_interval); $.ajax({ url: "client.php?cmd="+cmd+"&master_ip="+master_ip+"&n="+n+"&interval="+download_interval+"&mask="+mask, url: "client.php?cmd="+cmd+"&rq="+get_rq_str()+"&interval="+download_interval+"&mask="+mask, success: function(data){ $("#status").html(data); $("#daemon_state").html(data); Loading @@ -314,6 +323,17 @@ function send_cmd(cmd){ } } function get_rq_str(){ var rq_str = ""; for(var i=0;i<cams.length;i++){ if (i!=0){ rq_str += ","; } rq_str += cams[i].ip+":"+cams[i].port+":"+cams[i].channel+":"+cams[i].master; } return rq_str; } function settings_activate() { if (!$("#settings").is(":visible")) { $("#settings").css({top:'50px',left:'10px','z-index':3}).fadeToggle(300,function(){ Loading Loading @@ -525,29 +545,17 @@ function refresh_images(){ refresh_images_eyesis(); } function convert_source_393(mip,mip_index){ var d = new Date(); var curr_time = d.getTime(); //var cam = 0,1,2,3, 4,5,6,7, 8 var tmp_port = 2323+Math.floor(mip_index/4); var tmp_ip = "http://192.168.0."+(+mip+(Math.floor(mip_index/4)))+":"+tmp_port+"/bimg?"+curr_time; return tmp_ip; } function refresh_images_eyesis(){ var d = new Date(); var curr_time = d.getTime(); var pic = new Object(); for(i=0;i<n;i++) { for(var i=0;i<cams.length;i++){ pic[i] = new Image(); //add ip increment here //pic[i].src="http://192.168.0."+(+master_ip+i)+":8081/bimg?"+curr_time; pic[i].src=convert_source_393(master_ip,i); pic[i].src = "http://"+cams[i].ip+":"+cams[i].port+"/bimg?"+curr_time; pic[i].index = i; pic[i].onload = function(){ var w = 200; Loading @@ -555,7 +563,7 @@ function refresh_images_eyesis(){ var W = 2592; var H = 1944; var cnv = document.getElementById('cam'+(this.index+1)+'_canvas'); var cnv = document.getElementById("cam_"+this.index+"_canvas"); var cContext = cnv.getContext('2d'); cnv.setAttribute('width',h);cnv.setAttribute('height',3*w); cContext.rotate(90*Math.PI/180); Loading @@ -566,24 +574,16 @@ function refresh_images_eyesis(){ //if ((this.index==0)||(this.index==1)||(this.index==7)) k = 3; if (this.index%2==0) { if (cams[this.index][0]==1) cContext.drawImage(this, 0,0*H,W,H, 0*w,-1*h,w,h); if (cams[this.index][1]==1) cContext.drawImage(this, 0,1*H,W,H, 1*w,-1*h,w,h); //for those who has 3 images if (k==3) { cContext.drawImage(this, 0,0*H,W,H, 0*w,-1*h,w,h); cContext.drawImage(this, 0,1*H,W,H, 1*w,-1*h,w,h); cContext.scale(-1,1); if (cams[this.index][2]==1) cContext.drawImage(this, 0,2*H,W,H, -3*w, -1*h, w, h); } cContext.drawImage(this, 0,2*H,W,H, -3*w, -1*h, w, h); }else{ cContext.scale(1,-1); //mirror is needed if (cams[this.index][0]==1) cContext.drawImage(this, 0,0*H,W,H, 0*w,0*h,w,h); if (cams[this.index][1]==1) cContext.drawImage(this, 0,1*H,W,H, 1*w,0*h,w,h); //for those who has 3 images if (k==3) { cContext.drawImage(this, 0,0*H,W,H, 0*w,0*h,w,h); cContext.drawImage(this, 0,1*H,W,H, 1*w,0*h,w,h); cContext.scale(-1,1); if (cams[this.index][2]==1) cContext.drawImage(this, 0,2*H,W,H, -3*w,h*(0),w,h); } cContext.drawImage(this, 0,2*H,W,H, -3*w,h*(0),w,h); } }; Loading Loading @@ -624,10 +624,10 @@ function refresh_histograms(){ var d = new Date(); var curr_time = d.getTime(); for (var i=0;i<n;i++){ var src = "http://192.168.0."+((+master_ip)+i)+"/pnghist.cgi?sqrt=1&scale=5&average=5&height=128&fillz=1&linterpz=0&draw=2&colors=41&_time="+curr_time; $("#cam"+(i+1)+"_hist").attr("src", src); $("#cam"+(i+1)+"_hist_front").attr("src", src); for (var i=0;i<cams.length;i++){ var src = "http://"+cams[i].ip+"/pnghist.cgi?sensor_port="+cams[i].channel+"&sqrt=1&scale=5&average=5&height=128&fillz=1&linterpz=0&draw=2&colors=41&_time="+curr_time; $("#cam"+i+"_hist").attr("src", src); $("#cam"+i+"_hist_front").attr("src", src); } } Loading
eyesis4pi_get_sensors.php +1 −4 Original line number Diff line number Diff line Loading @@ -44,13 +44,10 @@ if (isset($elp_const["elphel"])) { } //defaults $master_ip = 221; $n = 1; $res_xml = ""; $cams = array(); // keys assign $cams = array(); if (isset($_GET['rq'])){ $pars = explode(",",$_GET['rq']); foreach($pars as $val){ Loading
eyesis_daemon.php +32 −6 Original line number Diff line number Diff line Loading @@ -21,7 +21,10 @@ $socket = stream_socket_server("tcp://$address:$port", $errno, $errstr); $status = "idle"; $ip = 221; $master_ip = ""; $master_port = ""; $master_channel = ""; $interval = 1000; $old_status_en = true; Loading @@ -43,8 +46,20 @@ if (!$socket) { $cmd = $xml->cmd; $interval = $xml->interval; $ip = $xml->ip; $n = $xml->n; $cams = array(); foreach($xml->cam as $item){ array_push($cams,array('ip'=>($item->ip),'port'=>($item->port),'channel'=>($item->channel),'master'=>($item->master))); if ($item->master=="1"){ $master_ip = $item->ip; $master_port = $item->port; $master_channel = $item->channel; } } //$ip = $xml->ip; //$n = $xml->n; $mask = $xml->mask; if ($cmd=="set_path") { Loading @@ -68,8 +83,10 @@ if (!$socket) { if ($cmd=="stop") { system("killall -9 recorder.php"); $ci = $interval*96000; $fp = fopen("http://192.168.0.$ip/camogmgui/camogm_interface.php?cmd=set_parameter&pname=TRIG_PERIOD&pvalue=".($ci+1), 'r'); $fp = fopen("http://192.168.0.$ip/camogmgui/camogm_interface.php?cmd=set_parameter&pname=TRIG_PERIOD&pvalue=".($ci), 'r'); $fp = fopen("http://$master_ip/camogmgui/camogm_interface.php?sensor_port=$master_channel&cmd=set_parameter&pname=TRIG_PERIOD&pvalue=".($ci+1), 'r'); $fp = fopen("http://$master_ip/camogmgui/camogm_interface.php?sensor_port=$master_channel&cmd=set_parameter&pname=TRIG_PERIOD&pvalue=".($ci), 'r'); $status = "idle"; } Loading Loading @@ -105,7 +122,7 @@ if (!$socket) { $footage_index = update_subsubdir("$footage_root_path/$footage_subfolder",$footage_index,$footage_file_limit,$index_max=1); if ($footage_index>=0) { passthru("./recorder.php ".$ip." ".$n." ".$interval." ".$mask." ".$footage_root_path." ".$footage_subfolder." ".$footage_file_limit." ".$footage_index." >> /dev/null 2>&1 &"); passthru("./recorder.php '".get_rq_str($cams)."' $interval $mask $footage_root_path $footage_subfolder $footage_file_limit $footage_index > /dev/null 2>&1 &"); } } Loading @@ -116,4 +133,13 @@ if (!$socket) { fclose($socket); } function get_rq_str($a){ $rq_str = ""; for($i=0;$i<count($a);$i++){ if ($i!=0) $rq_str .= ","; $rq_str .= "{$a[$i]['ip']}:{$a[$i]['port']}:{$a[$i]['channel']}:{$a[$i]['master']}"; } return $rq_str; } ?> No newline at end of file