Commit 28517d8b authored by Oleg Dzhimiev's avatar Oleg Dzhimiev

more changes

parent 9362d75a
......@@ -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>&nbsp;&nbsp;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);
......@@ -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;
......
......@@ -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";
......@@ -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";
......
......@@ -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({
......@@ -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>&nbsp";
for (var i=0;i<n;i++) {
$("#cam"+(i+1)+"_parameters").html("&nbsp<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>&nbsp";
$("#cam"+i+"_parameters").html("&nbsp<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");
......@@ -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);
......@@ -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);
......@@ -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(){
......@@ -525,37 +545,25 @@ 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;
var h = 150;
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);
......@@ -566,28 +574,20 @@ 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.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,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);
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.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,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);
cContext.drawImage(this, 0,2*H,W,H, -3*w,h*(0),w,h);
}
};
}
}
}
function refresh_images_triclops(){
......@@ -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);
}
}
......
......@@ -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){
......
......@@ -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;
......@@ -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") {
......@@ -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";
}
......@@ -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 &");
}
}
......@@ -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
......@@ -2,14 +2,34 @@
include 'filesystem.php';
$ip = $_GET['ip'];
$n = $_GET['n'];
$root_path = $_GET['root_path'];
$subfolder = $_GET['subfolder'];
$index=0;
$file_limit = 3000;
$master_ip = "";
$master_port = "";
$master_channel = "";
// keys assign
$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;
}
}
}
$path = $root_path."/".$subfolder;
$error = false;
......@@ -28,10 +48,15 @@ if (!is_dir($path)) {
umask($old);
}
if ($fp = @simplexml_load_file("http://192.168.0.$ip:8081/trig/pointers")) {
$system_status = system("./images.sh $ip $n $path");
$fp = fopen("http://192.168.0.$ip/camogmgui/camogm_interface.php?cmd=set_parameter&pname=TRIG_PERIOD&pvalue=192000001", 'r');
$fp = fopen("http://192.168.0.$ip/camogmgui/camogm_interface.php?cmd=set_parameter&pname=TRIG_PERIOD&pvalue=192000000", 'r');
if ($fp = simplexml_load_file("http://$master_ip:$master_port/trig/pointers")) {
//$system_status = system("./images.sh $ip $n $path");
for($i=0;$i<count($cams);$i++){
exec("./get_image.sh \"{$cams[$i]['ip']}:{$cams[$i]['port']}/bimg\" \"${path}\" \"${i}.jp4\" > /dev/null 2>&1 &");
}
//why fopen?
$fp = fopen("http://$master_ip/camogmgui/camogm_interface.php?cmd=set_parameter&pname=TRIG_PERIOD&pvalue=192000001&sensor_port=$master_channel", 'r');
$fp = fopen("http://$master_ip/camogmgui/camogm_interface.php?cmd=set_parameter&pname=TRIG_PERIOD&pvalue=192000000&sensor_port=$master_channel", 'r');
//$fp = fopen("http://192.168.0.221:8081/trig/pointers",'r');
//$fp = fopen("http://192.168.0.221:8081/trig/pointers",'r');
//$fp = fopen("http://192.168.0.221:8081/trig/pointers",'r');
......
......@@ -79,12 +79,13 @@ function tab1_init(mode){
function tab3_init(){
var c = "<table>\n";
var tmp = "";
for (var i=0;i<(n);i++) {
for (var i=0;i<cams.length;i++) {
//reset tmp
tmp = "<tr>\n";
tmp += "\t<td><div class='fixed_height'>Camera "+(i+1)+" "+((i==0)?"master":"")+"</div></td>";
tmp += "\t<td><div class='fixed_height'><input id='address_field"+(i+1)+"' type='text' style='width:200px;' value='192.168.0."+(+master_ip+i)+"' disabled></div></td>\n";
tmp += "\t<td><div id='cam"+(i+1)+"_parameters'></div></td>\n";
tmp += "\t<td><div class='fixed_height'>Channel "+(i+1)+"</div></td>";
tmp += "\t<td><div class='fixed_height'><input id='address_field"+i+"' type='text' style='width:150px;' value='"+(cams[i].ip)+"' disabled><input id='address_field_chn"+i+"' type='text' style='width:150px;' value='"+(cams[i].channel)+"' disabled></div></td>\n";
tmp += "\t<td><div id='cam"+i+"_parameters'></div></td>\n";
c += tmp;
}
c += "</table>";
......@@ -97,7 +98,7 @@ function tab3_init(){
function previews_init(){
console.log("number of previews is "+n);
console.log("number of previews is "+cams.length);
var c = $("#previews").html();
var hist_front = "";
......@@ -105,18 +106,18 @@ function previews_init(){
c += "<div style='padding:2px 5px 2px 5px;width:310px;'><button id='btn_refresh' onclick='refresh_previews()' >refresh</button>&nbsp;(disabled while recording)</div>\n<table id='prevs_images' >\n";
c +="<tr valign=top>\n";
for (var i=1;i<(n+1);i++) {
for (var i=0;i<cams.length;i++) {
c += "<td><img id='cam"+i+"_hist' class='histograms' width='150' height='75'></td>";
hist_front += "<td style='padding:0px;'><img id='cam"+i+"_hist_front' class='histograms' width='70' height='35'></td>";
}
c +="</tr>\n<tr valign=top>\n";
for (var i=1;i<(n+1);i++) {
for (var i=0;i<cams.length;i++) {
c += "<td><canvas id='cam"+i+"_canvas' class='prevs'></canvas></td>";
}
c +="</tr>\n<tr valign=top>\n";
for (var i=1;i<(n+1);i++) {
for (var i=0;i<cams.length;i++) {
var extra = "";
if (i==9) extra = " (stereo)";
//if (i==9) extra = " (stereo)";
c += "<td align='center'>"+i+extra+"</td>";
}
c += "</tr></table>";
......
......@@ -9,18 +9,27 @@ var working_intvl = false;
var eyesis4pi_en = true;
var cams = [
{"ip":"192.168.0.161","port":2326,"channel":3},
{"ip":"192.168.0.161","port":2325,"channel":2},
{"ip":"192.168.0.161","port":2323,"channel":0},
{"ip":"192.168.0.161","port":2324,"channel":1},
{"ip":"192.168.0.162","port":2326,"channel":3},
{"ip":"192.168.0.162","port":2325,"channel":2},
{"ip":"192.168.0.162","port":2323,"channel":0},
{"ip":"192.168.0.162","port":2324,"channel":1},
{"ip":"192.168.0.163","port":2325,"channel":2},
{"ip":"192.168.0.163","port":2326,"channel":3}
{"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 parseURL() {
var parameters=location.href.replace(/\?/ig,"&").split("&");
for (var i=0;i<parameters.length;i++) parameters[i]=parameters[i].split("=");
......@@ -138,8 +147,16 @@ function test4_update_gps(text){
}
function test3_internal_cf_cards(){
rqstr = "";
tmparr = get_unique_ips();
for(var i=0;i<tmparr.length;i++){
if (i!=0) rqstr += ",";
rqstr += tmparr[i];
}
$.ajax({
url: "tests.php?cmd=cf_cards&master_ip="+master_ip+"&n="+n,
url: "tests.php?cmd=cf_cards&rq="+rqstr,
async: true,
success: function(response){
test3_update_cards(response);
......@@ -148,35 +165,42 @@ function test3_internal_cf_cards(){
});
}
function get_unique_ips(){
res = [];
for(var i=0;i<cams.length;i++){
if (res.indexOf(cams[i].ip)==-1) {
res.push(cams[i].ip);
}
}
return res;
}
function test3_update_cards(text){
var html = "";
var data = $(text).find("Document");
var hda1;
var hdb1;
var sda1;
var sdb1;
var tmp_ip;
for (var i=0;i<n;i++){
tmp_ip = data.find("cam"+i).find("ip").text()
hda1 = data.find("cam"+i).find("hda1").text();
hdb1 = data.find("cam"+i).find("hdb1").text();
data.find("cam").each(function(){
tmp_ip = $(this).find("ip").text();
sda = $(this).find("sda").text();
html += "<td>"+tmp_ip+"</td>\n";
if (hda1=="1") html += "<td align='center'><div class='square green'></div></td>\n";
else html += "<td></td>\n";
if (hdb1=="1") html += "<td align='center'><div class='square green'></div></td>\n";
if (sda=="1") html += "<td align='center'><div class='square green'></div></td>\n";
else html += "<td></td>\n";
html = "<tr>"+html+"</tr>";
}
html += "<table><tr><td></td><td style='padding:7px;'>hda1</td><td>hdb1</td></tr>"+html+"</table>";
});
html += "<table><tr><td></td><td style='padding:7px;'>sda</td></tr>"+html+"</table>";
$("#test_3_div").html(html);
//run the next test
test4_gps();
//test4_gps();
}
function test1_get_number_of_sensors(){
......@@ -185,7 +209,7 @@ function test1_get_number_of_sensors(){
if (i!=0){
rq_str += ",";
}
rq_str += cams[i]['ip']+":"+cams[i]['channel'];
rq_str += cams[i].ip+":"+cams[i].channel;
}
$.ajax({
......@@ -220,8 +244,8 @@ function test1_update_cams(text){
}else{
if (j==0) {
html += "<tr>";
html += "<td>"+cams[i]['ip']+"</td>";
html += "<td style='padding:0px 20px 0px 23px;'>"+cams[i]['channel']+"</td>";
html += "<td>"+cams[i].ip+"</td>";
html += "<td style='padding:0px 20px 0px 23px;'>"+cams[i].channel+"</td>";
}
res0 = $(this).find("chn0").text();
......@@ -249,8 +273,8 @@ function test1_update_cams(text){
$("#test_1_div").html(html);
//run test2
clearInterval(working_intvl);
//test3_internal_cf_cards();
//clearInterval(working_intvl);
test3_internal_cf_cards();
}
......@@ -269,54 +293,48 @@ function set_parameter(ip,par,val,async,callback){
}
function refresh_images(){
var d = new Date();
var curr_time = d.getTime();
var pic = new Object();
var d = new Date();
var curr_time = d.getTime();
var pic = new Object();
for(i=0;i<n;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].index = i;
for(var i=0;i<cams.length;i++){
pic[i] = new Image();
pic[i].src = "http://"+cams[i].ip+":"+cams[i].port+"/bimg?"+curr_time;
pic[i].index = i;
pic[i].onload = function(){
var w = 200;
var h = 150;
var W = 2592;
var H = 1944;
pic[i].onload = function(){
var w = 150;
var h = 112;
var W = 2592;
var H = 1944;
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);
var cnv = document.getElementById('cam'+(this.index+1)+'_canvas');
var cContext = cnv.getContext('2d');
cnv.setAttribute('width',h);cnv.setAttribute('height',3*w);
cContext.rotate(90*Math.PI/180);
var k = 3;
var k = 3;
//mask out 2s
//if ((this.index==0)||(this.index==1)||(this.index==7)) k = 3;
//mask out 2s
//if ((this.index==0)||(this.index==1)||(this.index==7)) k = 3;
if (this.index%2==0) {
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);
cContext.drawImage(this, 0,2*H,W,H, -3*w, -1*h, w, h);
}else{
cContext.scale(1,-1); //mirror is needed
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);
cContext.drawImage(this, 0,2*H,W,H, -3*w,h*(0),w,h);
}
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.scale(-1,1);
if (cams[this.index][2]==1) 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.scale(-1,1);
if (cams[this.index][2]==1) cContext.drawImage(this, 0,2*H,W,H, -3*w,h*(0),w,h);
}
}
}
}
};
}
}
function previews_init(){
......
......@@ -40,34 +40,35 @@ $cmd = "cf_cards";
// keys assign
foreach($_GET as $key=>$value) {
switch($key) {
case "master_ip" : $master_ip = $value+0; break;
case "n" : $n = $value+0; break;
case "temperature" : $temperature = true; break;
case "cmd" : $cmd = $value; break;
}
}
$pc_time=@getdate();
// calculate cameras ip addresses based on $master_ip & $n - simple increment from the master camera.
for ($i=0;$i<$n;$i++) {
$cam_ip[$i] = "192.168.0.".($master_ip+$i);
// keys assign
$cams = array();
if (isset($_GET['rq'])){
$pars = explode(",",$_GET['rq']);
foreach($pars as $ip){
array_push($cams,array('ip'=>$ip));
}
}
$pc_time=@getdate();
if ($cmd=="cf_cards"){
$cf_hda1 = @preg_match("/hda1/",$cf_contents);
$cf_hdb1 = @preg_match("/hdb1/",$cf_contents);
for($i=0;$i<$n;$i++) {
$cf_contents = @file_get_contents("http://".($cam_ip[$i])."/phpshell.php?command=cat%20/proc/partitions%20|%20grep%20'hd'");
$cf_hda1 = @preg_match("/hda1/",$cf_contents);
$cf_hdb1 = @preg_match("/hdb1/",$cf_contents);
$res_xml .= "\t<cam$i>\n";
$res_xml .= "\t\t<ip>".$cam_ip[$i]."</ip>\n";
$res_xml .= "\t\t<hda1>$cf_hda1</hda1>\n";
$res_xml .= "\t\t<hdb1>$cf_hdb1</hdb1>\n";
$res_xml .= "\t</cam$i>\n";
for($i=0;$i<count($cams);$i++) {
$cf_contents = file_get_contents("http://{$cams[$i]['ip']}/camogm_interface.php?cmd=list_partitions");
$cf_sda = preg_match("/sda/",$cf_contents);
$cf_sdb = preg_match("/sdb/",$cf_contents);
$res_xml .= "\t<cam>\n";
$res_xml .= "\t\t<ip>{$cams[$i]['ip']}</ip>\n";
$res_xml .= "\t\t<sda>$cf_sda</sda>\n";
$res_xml .= "\t\t<sdb>$cf_sdb</sdb>\n";
$res_xml .= "\t</cam>\n";
}
$res_xml = "<Document>\n".$res_xml."</Document>";
......
......@@ -69,5 +69,4 @@ function refresh_images_eyesis(){
};
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment