Loading src/diagnostics/diagnostics.js +20 −10 Original line number Original line Diff line number Diff line Loading @@ -361,6 +361,13 @@ function parse_port(port){ var pn = p.attr('index'); var pn = p.attr('index'); var mux = p.attr('mux'); var mux = p.attr('mux'); var sensors = p.attr('sensor'); var sensors = p.attr('sensor'); var format = pp_parse_format(p.find('color')); var quality = p.find('quality').text()+'%'; // alert(format); // alert(format.includes("tiff")); if (format.includes("tiff")){ quality = "lossless" } var res = [ var res = [ '<tr>', '<tr>', Loading @@ -369,12 +376,12 @@ function parse_port(port){ ' <td>'+sensors+'</td>', ' <td>'+sensors+'</td>', ' <td class=\'center\'>'+pp_parse_sensor_run(p.find('sensor_run'))+'</td>', ' <td class=\'center\'>'+pp_parse_sensor_run(p.find('sensor_run'))+'</td>', ' <td class=\'center\'>'+pp_parse_sensor_run(p.find('compressor_run'))+'</td>', ' <td class=\'center\'>'+pp_parse_sensor_run(p.find('compressor_run'))+'</td>', ' <td class=\'center\'>'+pp_parse_format(p.find('color'))+'</td>', ' <td class=\'center\'>'+format+'</td>', ' <td class=\'center\'>'+p.find('quality').text()+'%</td>', ' <td class=\'center\'>'+quality+'</td>', ' <td class=\'center\'>'+p.find('woi_width').text()+'x'+p.find('woi_height').text()+'</td>', ' <td class=\'center\'>'+p.find('woi_width').text()+'x'+p.find('woi_height').text()+'</td>', ' <td class=\'center\'>'+p.find('trig').text()+'</td>', ' <td class=\'center\'>'+p.find('trig').text()+'</td>', ' <td class=\'center\'>'+p.find('trig_master').text()+'</td>', ' <td class=\'center\'>'+p.find('trig_master').text()+'</td>', ' <td class=\'center\'>'+pp_parse_trig_period(p.find('trig_period').text(),p.find('expos').text())+'</td>', ' <td class=\'center\'>'+pp_parse_trig_period(p.find('trig_period').text(),p.find('trig_decimate').text(),p.find('expos').text())+'</td>', ' <td class=\'center\'>'+pp_parse_trig_p(p.find('trig_out').text())+'</td>', ' <td class=\'center\'>'+pp_parse_trig_p(p.find('trig_out').text())+'</td>', ' <td class=\'center\'>'+pp_parse_trig_p(p.find('trig_condition').text())+'</td>', ' <td class=\'center\'>'+pp_parse_trig_p(p.find('trig_condition').text())+'</td>', ' <td class=\'right\'>'+pp_parse_expos(p.find('expos').text(),p.find('trig_period').text())+'</td>', ' <td class=\'right\'>'+pp_parse_expos(p.find('expos').text(),p.find('trig_period').text())+'</td>', Loading Loading @@ -433,10 +440,11 @@ function pp_parse_trig_p(str){ } } function pp_calc_trig_period(str){ function pp_calc_trig_period(str, sdecimate){ var clock = 100000000; var clock = 100000000; var v = parseInt(str); var v = parseInt(str); v = v/clock; var decimate = 1.0 + parseInt(sdecimate) v = v/clock*decimate; return v; return v; } } Loading @@ -446,9 +454,9 @@ function pp_calc_exposure(str){ return v; return v; } } function pp_parse_trig_period(period,str){ function pp_parse_trig_period(period,decimate,str){ var per = pp_calc_trig_period(period); var per = pp_calc_trig_period(period, decimate); var exp = pp_calc_exposure(str); var exp = pp_calc_exposure(str); var fps = (1/per); var fps = (1/per); Loading Loading @@ -477,6 +485,8 @@ function pp_parse_format(str){ if (fmt==5){ if (fmt==5){ fmt = "jp4"; fmt = "jp4"; } else if (fmt==15){ fmt = "tiff"; } else if (fmt==0){ } else if (fmt==0){ color = "rgb(240,160,0)"; color = "rgb(240,160,0)"; fmt = "jpeg"; fmt = "jpeg"; Loading src/diagnostics/diagnostics.php +1 −0 Original line number Original line Diff line number Diff line Loading @@ -238,6 +238,7 @@ function get_port_info($port){ 'TRIG' => 0, 'TRIG' => 0, 'TRIG_MASTER' => 0, 'TRIG_MASTER' => 0, 'TRIG_PERIOD' => 0, 'TRIG_PERIOD' => 0, 'TRIG_DECIMATE' => 0, 'TRIG_CONDITION' => 0, 'TRIG_CONDITION' => 0, 'TRIG_OUT' => 0, 'TRIG_OUT' => 0, 'GAINR' => 0, 'GAINR' => 0, Loading src/multicam/Makefile +5 −1 Original line number Original line Diff line number Diff line Loading @@ -5,9 +5,13 @@ INSTDOCS = 0644 INSTALL = install INSTALL = install DOCS= index.html \ DOCS= index.html \ index1.html \ index1.html \ index2.html \ multicam.js \ multicam.js \ multicam2.js \ multicam.css \ multicam.css \ multicam.php multicam2.css \ multicam.php \ multicam2.php ZIPDOCS= zip/deflate.js \ ZIPDOCS= zip/deflate.js \ zip/inflate.js \ zip/inflate.js \ Loading src/multicam/index2.html 0 → 100644 +89 −0 Original line number Original line Diff line number Diff line <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"/> <title>Multi cameras control</title> <script src="../js/jquery-3.1.1.js"></script> <script src="../js/elphel.js"></script> <script src="../js/jcanvas.js"></script> <script src="../js/UTIF.js"></script> <script src="../js/exif.js"></script> <script src="../js/jquery-jp4.js"></script> <script src="../js/zip/zip.js"></script> <link rel="stylesheet" href="../js/bootstrap/css/bootstrap.css"> <script type='text/javascript' src='multicam2.js'></script> <link rel='stylesheet' type='text/css' href='multicam2.css'></link> </head> <!-- 192.168.0.41/multicam/index1.html?ip=192.168.0.41,192.168.0.42,192.168.0.43,192.168.0.44,192.168.0.45 --> <body> <div id='display_all'> <div id='display_previews'></div> <div id='display_controls'> <button type="button" class="collapsible">Recording Status</button> <div id='display_status'></div> <button type="button" class="collapsible">Eyesis Controls</button> <div id='settings'> <table> <tr> <td> <div id='rec_button' class='rec_outer' title='start recording'> <div class='rec_inner'></div> </div> </td> <td> <button id='snapshot' title='download snapshot' class="btn btn-sm btn-danger">snapshot</button> </td> </tr> <tr id="toggle_awb" title='Auto White Balance'> <td>Auto WB:</td> <td> <div id="toggle_awb" class="btn-group btn-toggle"> <button class="btn btn-xs btn-success active">ON</button> <button class="btn btn-xs btn-default">OFF</button> </div> </td> </tr> <tr id="toggle_aexp" title='Auto Exposure'> <td>Auto Exposure:</td> <td> <div id="toggle_aexp" class="btn-group btn-toggle"> <button class="btn btn-xs btn-success active">ON</button> <button class="btn btn-xs btn-default">OFF</button> </div> </td> </tr> <tr> <td> <button id='system_tests' title='system info' class="btn btn-sm btn-success">tests</button> </td> </tr> <tr> <td hidden> <br/> <div id='edit_addrs_input' hidden> <div id='eai_text_div'> <textarea id='eai_text' rows='4' cols='30'></textarea> </div> <div id='eai_ok_div'> <button id='eai_ok' class="btn btn-sm btn-success">ok</button> </div> </div> <div id='edit_addrs' title='edit ip addresses'> <button id='ea_btn' class="btn btn-sm btn-success">+</button> </div> <div id='addrs'> </div> </td> </tr> </table> <!-- settings table --> </div> <!-- id='settings' --> </div> <!-- controls --> </div> </body> </html> No newline at end of file src/multicam/multicam2.css 0 → 100644 +166 −0 Original line number Original line Diff line number Diff line #settings{ padding:5px; } table td { padding-right:10px; } .btn.active:focus, .btn:focus{ outline:none; } .btn-toggle{ padding: 1px 0px; } #edit_addrs{ padding: 2px; } #ea_btn{ outline:none; font-weight:bold; } #addrs{ padding: 0px 2px 2px 2px; } #eai_text{ resize:none; margin:0px; } #edit_addrs_input{ position:absolute; top:2px; left:2px; border:1px solid rgb(169,169,169); padding:2px; background: white; z-index: 100; } #eai_text_div{ line-height:14px; } #rec_start{ outline:none; border: 0px solid #00AA66; } .rec_outer{ position:relative; width:50px; height:50px; border-radius:50%; border: 1px solid rgba(100,100,100,1); background: white; } .rec_inner{ position:relative; top:25%; left:25%; width:50%; height:50%; border-radius:50%; background: rgb(166,14,14); } .rec_outer:active{ border: 1px solid rgb(166,14,14); } .rec_outer_active{ border: 1px solid rgb(166,14,14); } .rec_inner_running{ top:5%; left:5%; width:90%; height:90%; } .port_preview{ width:200px; } .hist_preview{ border:1px solid rgba(200,200,200,0.5); width:200px; } #display{ padding:5px; } hr{ margin-top:2px; margin-bottom:2px; } #display_status th, #s_device{ text-align:center; } #s_space{ text-align:right; } #display_status td, #display_status th{ border:1px solid rgba(100,100,100,0.8); padding:2px 5px; } .port_preview canvas,#display{ padding:0px; } #system_tests{ margin:5px; } #display_all { display: flex; } #display_preview { flex: 0 0 65%; } #controls { flex: 1; } .ip_text{ display: none; } .collapsible { background-color: #777; color: white; cursor: pointer; padding: 2px; width: 100%; border: none; text-align: center; outline: none; font-size: 10px; font-weight: bold; } .active, .collapsible:hover { background-color: #555; } .content { padding: 0 18px; display: none; overflow: hidden; background-color: #f1f1f1; } Loading
src/diagnostics/diagnostics.js +20 −10 Original line number Original line Diff line number Diff line Loading @@ -361,6 +361,13 @@ function parse_port(port){ var pn = p.attr('index'); var pn = p.attr('index'); var mux = p.attr('mux'); var mux = p.attr('mux'); var sensors = p.attr('sensor'); var sensors = p.attr('sensor'); var format = pp_parse_format(p.find('color')); var quality = p.find('quality').text()+'%'; // alert(format); // alert(format.includes("tiff")); if (format.includes("tiff")){ quality = "lossless" } var res = [ var res = [ '<tr>', '<tr>', Loading @@ -369,12 +376,12 @@ function parse_port(port){ ' <td>'+sensors+'</td>', ' <td>'+sensors+'</td>', ' <td class=\'center\'>'+pp_parse_sensor_run(p.find('sensor_run'))+'</td>', ' <td class=\'center\'>'+pp_parse_sensor_run(p.find('sensor_run'))+'</td>', ' <td class=\'center\'>'+pp_parse_sensor_run(p.find('compressor_run'))+'</td>', ' <td class=\'center\'>'+pp_parse_sensor_run(p.find('compressor_run'))+'</td>', ' <td class=\'center\'>'+pp_parse_format(p.find('color'))+'</td>', ' <td class=\'center\'>'+format+'</td>', ' <td class=\'center\'>'+p.find('quality').text()+'%</td>', ' <td class=\'center\'>'+quality+'</td>', ' <td class=\'center\'>'+p.find('woi_width').text()+'x'+p.find('woi_height').text()+'</td>', ' <td class=\'center\'>'+p.find('woi_width').text()+'x'+p.find('woi_height').text()+'</td>', ' <td class=\'center\'>'+p.find('trig').text()+'</td>', ' <td class=\'center\'>'+p.find('trig').text()+'</td>', ' <td class=\'center\'>'+p.find('trig_master').text()+'</td>', ' <td class=\'center\'>'+p.find('trig_master').text()+'</td>', ' <td class=\'center\'>'+pp_parse_trig_period(p.find('trig_period').text(),p.find('expos').text())+'</td>', ' <td class=\'center\'>'+pp_parse_trig_period(p.find('trig_period').text(),p.find('trig_decimate').text(),p.find('expos').text())+'</td>', ' <td class=\'center\'>'+pp_parse_trig_p(p.find('trig_out').text())+'</td>', ' <td class=\'center\'>'+pp_parse_trig_p(p.find('trig_out').text())+'</td>', ' <td class=\'center\'>'+pp_parse_trig_p(p.find('trig_condition').text())+'</td>', ' <td class=\'center\'>'+pp_parse_trig_p(p.find('trig_condition').text())+'</td>', ' <td class=\'right\'>'+pp_parse_expos(p.find('expos').text(),p.find('trig_period').text())+'</td>', ' <td class=\'right\'>'+pp_parse_expos(p.find('expos').text(),p.find('trig_period').text())+'</td>', Loading Loading @@ -433,10 +440,11 @@ function pp_parse_trig_p(str){ } } function pp_calc_trig_period(str){ function pp_calc_trig_period(str, sdecimate){ var clock = 100000000; var clock = 100000000; var v = parseInt(str); var v = parseInt(str); v = v/clock; var decimate = 1.0 + parseInt(sdecimate) v = v/clock*decimate; return v; return v; } } Loading @@ -446,9 +454,9 @@ function pp_calc_exposure(str){ return v; return v; } } function pp_parse_trig_period(period,str){ function pp_parse_trig_period(period,decimate,str){ var per = pp_calc_trig_period(period); var per = pp_calc_trig_period(period, decimate); var exp = pp_calc_exposure(str); var exp = pp_calc_exposure(str); var fps = (1/per); var fps = (1/per); Loading Loading @@ -477,6 +485,8 @@ function pp_parse_format(str){ if (fmt==5){ if (fmt==5){ fmt = "jp4"; fmt = "jp4"; } else if (fmt==15){ fmt = "tiff"; } else if (fmt==0){ } else if (fmt==0){ color = "rgb(240,160,0)"; color = "rgb(240,160,0)"; fmt = "jpeg"; fmt = "jpeg"; Loading
src/diagnostics/diagnostics.php +1 −0 Original line number Original line Diff line number Diff line Loading @@ -238,6 +238,7 @@ function get_port_info($port){ 'TRIG' => 0, 'TRIG' => 0, 'TRIG_MASTER' => 0, 'TRIG_MASTER' => 0, 'TRIG_PERIOD' => 0, 'TRIG_PERIOD' => 0, 'TRIG_DECIMATE' => 0, 'TRIG_CONDITION' => 0, 'TRIG_CONDITION' => 0, 'TRIG_OUT' => 0, 'TRIG_OUT' => 0, 'GAINR' => 0, 'GAINR' => 0, Loading
src/multicam/Makefile +5 −1 Original line number Original line Diff line number Diff line Loading @@ -5,9 +5,13 @@ INSTDOCS = 0644 INSTALL = install INSTALL = install DOCS= index.html \ DOCS= index.html \ index1.html \ index1.html \ index2.html \ multicam.js \ multicam.js \ multicam2.js \ multicam.css \ multicam.css \ multicam.php multicam2.css \ multicam.php \ multicam2.php ZIPDOCS= zip/deflate.js \ ZIPDOCS= zip/deflate.js \ zip/inflate.js \ zip/inflate.js \ Loading
src/multicam/index2.html 0 → 100644 +89 −0 Original line number Original line Diff line number Diff line <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"/> <title>Multi cameras control</title> <script src="../js/jquery-3.1.1.js"></script> <script src="../js/elphel.js"></script> <script src="../js/jcanvas.js"></script> <script src="../js/UTIF.js"></script> <script src="../js/exif.js"></script> <script src="../js/jquery-jp4.js"></script> <script src="../js/zip/zip.js"></script> <link rel="stylesheet" href="../js/bootstrap/css/bootstrap.css"> <script type='text/javascript' src='multicam2.js'></script> <link rel='stylesheet' type='text/css' href='multicam2.css'></link> </head> <!-- 192.168.0.41/multicam/index1.html?ip=192.168.0.41,192.168.0.42,192.168.0.43,192.168.0.44,192.168.0.45 --> <body> <div id='display_all'> <div id='display_previews'></div> <div id='display_controls'> <button type="button" class="collapsible">Recording Status</button> <div id='display_status'></div> <button type="button" class="collapsible">Eyesis Controls</button> <div id='settings'> <table> <tr> <td> <div id='rec_button' class='rec_outer' title='start recording'> <div class='rec_inner'></div> </div> </td> <td> <button id='snapshot' title='download snapshot' class="btn btn-sm btn-danger">snapshot</button> </td> </tr> <tr id="toggle_awb" title='Auto White Balance'> <td>Auto WB:</td> <td> <div id="toggle_awb" class="btn-group btn-toggle"> <button class="btn btn-xs btn-success active">ON</button> <button class="btn btn-xs btn-default">OFF</button> </div> </td> </tr> <tr id="toggle_aexp" title='Auto Exposure'> <td>Auto Exposure:</td> <td> <div id="toggle_aexp" class="btn-group btn-toggle"> <button class="btn btn-xs btn-success active">ON</button> <button class="btn btn-xs btn-default">OFF</button> </div> </td> </tr> <tr> <td> <button id='system_tests' title='system info' class="btn btn-sm btn-success">tests</button> </td> </tr> <tr> <td hidden> <br/> <div id='edit_addrs_input' hidden> <div id='eai_text_div'> <textarea id='eai_text' rows='4' cols='30'></textarea> </div> <div id='eai_ok_div'> <button id='eai_ok' class="btn btn-sm btn-success">ok</button> </div> </div> <div id='edit_addrs' title='edit ip addresses'> <button id='ea_btn' class="btn btn-sm btn-success">+</button> </div> <div id='addrs'> </div> </td> </tr> </table> <!-- settings table --> </div> <!-- id='settings' --> </div> <!-- controls --> </div> </body> </html> No newline at end of file
src/multicam/multicam2.css 0 → 100644 +166 −0 Original line number Original line Diff line number Diff line #settings{ padding:5px; } table td { padding-right:10px; } .btn.active:focus, .btn:focus{ outline:none; } .btn-toggle{ padding: 1px 0px; } #edit_addrs{ padding: 2px; } #ea_btn{ outline:none; font-weight:bold; } #addrs{ padding: 0px 2px 2px 2px; } #eai_text{ resize:none; margin:0px; } #edit_addrs_input{ position:absolute; top:2px; left:2px; border:1px solid rgb(169,169,169); padding:2px; background: white; z-index: 100; } #eai_text_div{ line-height:14px; } #rec_start{ outline:none; border: 0px solid #00AA66; } .rec_outer{ position:relative; width:50px; height:50px; border-radius:50%; border: 1px solid rgba(100,100,100,1); background: white; } .rec_inner{ position:relative; top:25%; left:25%; width:50%; height:50%; border-radius:50%; background: rgb(166,14,14); } .rec_outer:active{ border: 1px solid rgb(166,14,14); } .rec_outer_active{ border: 1px solid rgb(166,14,14); } .rec_inner_running{ top:5%; left:5%; width:90%; height:90%; } .port_preview{ width:200px; } .hist_preview{ border:1px solid rgba(200,200,200,0.5); width:200px; } #display{ padding:5px; } hr{ margin-top:2px; margin-bottom:2px; } #display_status th, #s_device{ text-align:center; } #s_space{ text-align:right; } #display_status td, #display_status th{ border:1px solid rgba(100,100,100,0.8); padding:2px 5px; } .port_preview canvas,#display{ padding:0px; } #system_tests{ margin:5px; } #display_all { display: flex; } #display_preview { flex: 0 0 65%; } #controls { flex: 1; } .ip_text{ display: none; } .collapsible { background-color: #777; color: white; cursor: pointer; padding: 2px; width: 100%; border: none; text-align: center; outline: none; font-size: 10px; font-weight: bold; } .active, .collapsible:hover { background-color: #555; } .content { padding: 0 18px; display: none; overflow: hidden; background-color: #f1f1f1; }