Commit 71194915 authored by Oleg Dzhimiev's avatar Oleg Dzhimiev

scan ports

parent 6a97978c
Pipeline #870 failed with stages
...@@ -7,6 +7,7 @@ let MasterNode = "-"; ...@@ -7,6 +7,7 @@ let MasterNode = "-";
let appData = { let appData = {
master: "-", master: "-",
slaves: [], slaves: [],
ips: [],
slaves_selected: [] slaves_selected: []
} }
...@@ -24,7 +25,7 @@ function init(){ ...@@ -24,7 +25,7 @@ function init(){
update_master_node(); update_master_node();
// init button // init button
$('#testbutton').on('click', function(e){ $('#listmasters').on('click', function(e){
$.ajax({ $.ajax({
url: '/api/nodelist', url: '/api/nodelist',
...@@ -43,9 +44,8 @@ function init(){ ...@@ -43,9 +44,8 @@ function init(){
$(".master_nodes").on('click',function(e){ $(".master_nodes").on('click',function(e){
update_master_node($(this).html()); update_master_node($(this).html());
$("#nodelist").empty(); $("#nodelist").empty();
//send_command(appData.slaves,'list', parse_cmd_list_init);
// go straight with ifconfig // go straight with ifconfig
send_command(appData.slaves,'ifconfig', parse_cmd_ifconfig_init); send_command('ifconfig', appData.slaves, parse_cmd_ifconfig_init);
}); });
} }
...@@ -53,67 +53,76 @@ function init(){ ...@@ -53,67 +53,76 @@ function init(){
}); });
$('#testbutton1').on('click', function(e){
send_command(appData.slaves_selected,'list', parse_cmd_list);
});
$('#testbutton2').on('click', function(e){ $('#testbutton2').on('click', function(e){
send_command(appData.slaves_selected,'state', parse_cmd_state); send_command('state', appData.slaves_selected, parse_cmd_state);
}); });
// need a post request // need a post request
$('#testbutton3').on('click', function(e){ $('#testbutton3').on('click', function(e){
// examples:
//let cmd = "wget -qO- -o /dev/null 'http://localhost/parsedit.php?immediate&TRIG'"; //let cmd = "wget -qO- -o /dev/null 'http://localhost/parsedit.php?immediate&TRIG'";
//let cmd = "ifconfig"; //let cmd = "ifconfig";
//let cmd = "wget -qO- -o /dev/null 'http://localhost/diagnostics.php'"; //let cmd = "wget -qO- -o /dev/null 'http://localhost/diagnostics.php'";
const cmd = "ifconfig"; //const cmd = "ifconfig";
send_command(appData.slaves_selected, cmd, parse_cmd_ifconfig);
let path = "/sys/devices/soc0/elphel393-detect_sensors@0";
let cmd = [
'cd '+path,
'cat port_mux0',
'cat sensor00',
'cat sensor01',
'cat sensor02',
'cat sensor03',
'cat port_mux1',
'cat sensor10',
'cat sensor11',
'cat sensor12',
'cat sensor13',
'cat port_mux2',
'cat sensor20',
'cat sensor21',
'cat sensor22',
'cat sensor23',
'cat port_mux3',
'cat sensor30',
'cat sensor31',
'cat sensor32',
'cat sensor33'
].join(';');
send_command(cmd, appData.slaves_selected,parse_cmd_testing);
}); });
} }
function parse_cmd_list_init(res){ function parse_cmd_testing(res){
$(res).find('target').each(function(){ $(res).find('response').each(function(){
const name = $(this).text();
update_slave_list(name);
});
$(".slave_checkbox").on("change",function(e){ const name = $(this).find('node').text();
let checked = $(this).prop("checked"); let state = $(this).find('state').text();
let name = $(this).parent().find("label").html(); const xmlstate = $.parseXML(`<document>${state}</document>`);
console.log(checked+" "+name);
if (!checked) { if ($(xmlstate).find("error").length!=0){
appData.slaves_selected = appData.slaves_selected.filter(item => item!==name); console.log(name+" is not 10393");
$("."+name).append(" <b style='color:DarkOrange;'>not 10393</b>");
}else{ }else{
appData.slaves_selected.push(name); let sensors = state.trim().split('\n');
//console.log(sensors);
for(let i=0;i<4;i++){
let mux = sensors[5*i];
console.log("port "+i+" mux is "+mux);
if (mux==="none"){
console.log("sensor is "+sensors[5*i+1]);
}else{
console.log("warning: mux is not 'none'");
}
}
} }
});
}
function parse_cmd_list(res){
let rtab = [
'<table class="slave_table">',
' <tr>',
' <th>Slave</th>',
' </tr>'
];
$(res).find('target').each(function(){
const name = $(this).text();
//update_slave_list(name);
rtab = rtab.concat([
'<tr>',
' <td class="name">'+name+'</td>',
'</tr>',
]);
}); });
rtab.push('</table>');
$("#nodelist").empty().append(rtab.join('\n'));
} }
...@@ -141,29 +150,48 @@ function parse_cmd_state(res){ ...@@ -141,29 +150,48 @@ function parse_cmd_state(res){
$("#nodelist").empty().append(rtab.join('\n')); $("#nodelist").empty().append(rtab.join('\n'));
} }
function parse_cmd_testing(res){ function parse_cmd_ifconfig_init(res){
$(res).find('response').each(function(){ $(res).find('response').each(function(){
const name = $(this).find('node').text(); const name = $(this).find('node').text();
const state = $(this).find('state').text(); const state = $(this).find('state').text();
console.log(state); const ip = get_ipaddr_from_ifconfig(state);
});
} update_slave_list(name);
update_ip_list(ip);
function parse_cmd_ifconfig(res){ let html = [
'<div class=\''+name+'\'>',
'<input class=\'slave_checkbox\' type=\'checkbox\' checked />',
'<label class=\'lbl_name\'>'+name+'</label>',
'(<label class=\'lbl_ip\'>'+ip+'</label>)',
'</div>'
].join('\n');
$("#slavenodes").append(html);
$(res).find('response').each(function(){ });
const name = $(this).find('node').text();
const state = $(this).find('state').text(); $(".slave_checkbox").on("change",function(e){
const ip = get_ipaddr_from_ifconfig(state); let checked = $(this).prop("checked");
console.log(ip); let name = $(this).parent().find("label").html();
$("."+name+" label").html(name+" ("+ip+")"); if (!checked) {
appData.slaves_selected = appData.slaves_selected.filter(item => item!==name);
}else{
appData.slaves_selected.push(name);
}
}); });
} }
function send_command(targets, cmd, callback){ function send_command(cmd,targets,callback){
if (callback===undefined) {
callback = function(res){
console.log(res);
//console.log($(res).find('document').html());
}
}
let targets_str = ""; let targets_str = "";
if (Array.isArray(targets)){ if (Array.isArray(targets)){
...@@ -186,20 +214,16 @@ function send_command(targets, cmd, callback){ ...@@ -186,20 +214,16 @@ function send_command(targets, cmd, callback){
success: callback success: callback
}); });
return 0;
} }
function update_slave_list(name){ function update_slave_list(name){
appData.slaves.push(name); appData.slaves.push(name);
appData.slaves_selected.push(name); appData.slaves_selected.push(name);
let html = [ }
'<div class=\''+name+'\'>',
'<input class=\'slave_checkbox\' type=\'checkbox\' checked />',
'<label>'+name+'</label>',
'</div>'
].join('\n');
$("#slavenodes").append(html);
function update_ip_list(ip){
appData.ips.push(ip);
} }
function update_master_node(newvalue){ function update_master_node(newvalue){
......
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