Add phoebe and titan connections.
This commit is contained in:
@@ -115,62 +115,6 @@ bagNotifier.subscribe(function(message) {
|
|||||||
///////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
ros.buildTopicList = function(fresh_topics)
|
|
||||||
{
|
|
||||||
|
|
||||||
// console.log(topics)
|
|
||||||
// fresh_topics = fresh_topics.sort();
|
|
||||||
// First check that all our current topics are in the list of fresh_topics
|
|
||||||
for( var topic = 0; topic < ros.topics.length; topic ++)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (fresh_topics.indexOf(ros.topics[topic].name) > -1)
|
|
||||||
{
|
|
||||||
// We know that we have already found that topic so we don't need to remove it
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// That topic is no longer being published so we need ro remove it
|
|
||||||
ros.topics.splice(topic,1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var topic =0; topic < fresh_topics.length; topic ++ )
|
|
||||||
{
|
|
||||||
if (ros.topics.indexOfTopic(fresh_topics[topic]) > -1)
|
|
||||||
{
|
|
||||||
// We know that we have already found that topic so we don't need to re-add it
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// We do not have that topic so we need to add it
|
|
||||||
// create the new topic
|
|
||||||
var new_topic = new Topic(fresh_topics[topic]);
|
|
||||||
// make sure to put in in the list in the order
|
|
||||||
ros.topics.push(new_topic);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ros.topics.sort(function(a, b) {
|
|
||||||
if ( a.name < b.name )
|
|
||||||
return -1;
|
|
||||||
if ( a.name > b.name )
|
|
||||||
return 1;
|
|
||||||
return 0;
|
|
||||||
})
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
ros.getTopicsList = function()
|
|
||||||
{
|
|
||||||
// var topicList = [];
|
|
||||||
return ros.topics;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// attept to connect to the ros master from the IP given orgrab it from the form
|
// attept to connect to the ros master from the IP given orgrab it from the form
|
||||||
ros.attemptConnection = function(ipAddress)
|
ros.attemptConnection = function(ipAddress)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -60,40 +60,26 @@ function updateVoltage(voltage)
|
|||||||
function updateTopicsGUI()
|
function updateTopicsGUI()
|
||||||
{
|
{
|
||||||
|
|
||||||
ros.getTopics(ros.buildTopicList);
|
ros.getTopics(function(result)
|
||||||
|
{
|
||||||
|
ros.topics = result;
|
||||||
|
});
|
||||||
|
|
||||||
var topics = ros.getTopicsList();
|
var topics = ros.topics;
|
||||||
|
topics.sort()
|
||||||
|
|
||||||
if(topics != null){
|
if(topics != null){
|
||||||
var innerHTML = "";
|
var innerHTML = "";
|
||||||
for (var i = 0; i < topics.length; i++ )
|
for (var i = 0; i < topics.length; i++ )
|
||||||
{
|
{
|
||||||
innerHTML = innerHTML.concat(generateTopicCheckbox(topics[i]));
|
innerHTML = innerHTML.concat(topics[i]);
|
||||||
|
innerHTML = innerHTML.concat("<br>");
|
||||||
}
|
}
|
||||||
document.getElementById("ROSTopics").innerHTML = innerHTML;
|
document.getElementById("ROSTopics").innerHTML = innerHTML;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
function generateTopicCheckbox(topic)
|
|
||||||
{
|
|
||||||
var str = "<div class=\"checkbox\">";
|
|
||||||
var checked_str = "unchecked";
|
|
||||||
if (topic.bag == true)
|
|
||||||
{
|
|
||||||
checked_str = "checked"
|
|
||||||
}
|
|
||||||
str =str.concat("<label><input type=\"checkbox\" onclick=\"toggleToBag(\'"+ topic.name + "\')\" id=\"" + topic.name + "_checkbox\" "+ checked_str +">");
|
|
||||||
str = str.concat(topic.name);
|
|
||||||
str = str.concat("</label></div>");
|
|
||||||
return str;
|
|
||||||
};
|
|
||||||
|
|
||||||
function toggleToBag(topic_name)
|
|
||||||
{
|
|
||||||
// if($.inArray(topic_name, ros.topics))
|
|
||||||
ros.topics[ros.topics.indexOfTopic(topic_name)].bag = !ros.topics[ros.topics.indexOfTopic(topic_name)].bag ;
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateNodesGUI()
|
function updateNodesGUI()
|
||||||
{
|
{
|
||||||
@@ -113,7 +99,6 @@ function updateNodesGUI()
|
|||||||
{
|
{
|
||||||
innerHTML = innerHTML.concat(nodes[i]);
|
innerHTML = innerHTML.concat(nodes[i]);
|
||||||
innerHTML = innerHTML.concat("<br>");
|
innerHTML = innerHTML.concat("<br>");
|
||||||
|
|
||||||
}
|
}
|
||||||
document.getElementById("ROSNodes").innerHTML = innerHTML;
|
document.getElementById("ROSNodes").innerHTML = innerHTML;
|
||||||
}
|
}
|
||||||
|
|||||||
113
index.html
113
index.html
@@ -43,55 +43,27 @@ Tutorials can be found here: http://www.w3schools.com/bootstrap/default.asp
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div id="jumbotronTitle" class="jumbotron">
|
<div id="jumbotronTitle" class="jumbotron text-center">
|
||||||
<h1>ROS Display</h1>
|
<h1>Lab UI</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- ##################################### ROS BAG PANEL ######################################### -->
|
|
||||||
<!-- ROS Bag Panel -->
|
|
||||||
<div class="panel panel-default">
|
|
||||||
|
|
||||||
<div class="panel-heading">
|
|
||||||
ROS Bag
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-3">
|
|
||||||
Bagfile name must not start with "/"
|
|
||||||
<div class="input-group">
|
|
||||||
<input type="text" id="recordText" class="form-control" placeholder="bag_filename">
|
|
||||||
<span class="input-group-btn">
|
|
||||||
<button class="btn btn-primary" id="recordButton" type="button" onclick="toggleRecording()">
|
|
||||||
<span id="recordButtonText">
|
|
||||||
Start
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<!-- ##################################### END ROS BAG PANEL ######################################### -->
|
|
||||||
|
|
||||||
|
|
||||||
<ul id="tabs" class="nav nav-pills" data-tabs="tabs" >
|
<ul id="tabs" class="nav nav-pills" data-tabs="tabs" >
|
||||||
<li class="active">
|
<li class="active"> <a href="#rosbridgeconnection" data-toggle="tab">
|
||||||
|
ROS Bridge Connection
|
||||||
|
<span id="rosbridgeconnection_badge" class="badge">
|
||||||
|
Not Connected
|
||||||
|
</span></a></li>
|
||||||
|
<li>
|
||||||
<a href="#DataDisplay" data-toggle="tab">
|
<a href="#DataDisplay" data-toggle="tab">
|
||||||
Data Display
|
Data Display
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li> <a href="#rosbridgeconnection" data-toggle="tab">
|
|
||||||
ROS Bridge Connection
|
|
||||||
<span id="rosbridgeconnection_badge" class="badge">
|
|
||||||
Not Connected
|
|
||||||
</span></a></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<div id="my-tab-content" class="tab-content">
|
<div id="my-tab-content" class="tab-content">
|
||||||
|
|
||||||
<div class="tab-pane active" id="DataDisplay">
|
<div class="tab-pane" id="DataDisplay">
|
||||||
|
|
||||||
|
|
||||||
<!-- ##################################### ROBOT DISPLAY PANEL ######################################### -->
|
<!-- ##################################### ROBOT DISPLAY PANEL ######################################### -->
|
||||||
@@ -99,6 +71,34 @@ Tutorials can be found here: http://www.w3schools.com/bootstrap/default.asp
|
|||||||
<!-- ##################################### END DISPLAY PANEL ######################################### -->
|
<!-- ##################################### END DISPLAY PANEL ######################################### -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ##################################### ROS BAG PANEL ######################################### -->
|
||||||
|
<!-- ROS Bag Panel -->
|
||||||
|
<div class="panel panel-default">
|
||||||
|
|
||||||
|
<div class="panel-heading">
|
||||||
|
ROS Bag
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3">
|
||||||
|
Bagfile name must not start with "/"
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" id="recordText" class="form-control" placeholder="bag_filename">
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button class="btn btn-primary" id="recordButton" type="button" onclick="toggleRecording()">
|
||||||
|
<span id="recordButtonText">
|
||||||
|
Start
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- ##################################### END ROS BAG PANEL ######################################### -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -106,7 +106,33 @@ Tutorials can be found here: http://www.w3schools.com/bootstrap/default.asp
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="tab-pane" id="rosbridgeconnection">
|
<div class="tab-pane active" id="rosbridgeconnection">
|
||||||
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-heading">
|
||||||
|
Predefined Masters Connections
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
<button id="localhostButton" type="button" onclick="ros.attemptConnection('ws://localhost:9090')" class="btn btn-primary">
|
||||||
|
localhost
|
||||||
|
<script type="text/javascript">
|
||||||
|
document.getElementById("ConnectionIPInput").value = ros.connectionName;
|
||||||
|
</script>
|
||||||
|
</button>
|
||||||
|
<button id="PhoebeButton" type="button" onclick="ros.attemptConnection('ws://phoebe.local:9090')" class="btn btn-primary">
|
||||||
|
Phoebe
|
||||||
|
<script type="text/javascript">
|
||||||
|
document.getElementById("ConnectionIPInput").value = ros.connectionName;
|
||||||
|
</script>
|
||||||
|
</button>
|
||||||
|
<button id="TitanButton" type="button" onclick="ros.attemptConnection('ws://titan.local:9090')" class="btn btn-primary">
|
||||||
|
Titan
|
||||||
|
<script type="text/javascript">
|
||||||
|
document.getElementById("ConnectionIPInput").value = ros.connectionName;
|
||||||
|
</script>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
|
|
||||||
@@ -129,21 +155,22 @@ Tutorials can be found here: http://www.w3schools.com/bootstrap/default.asp
|
|||||||
</script>
|
</script>
|
||||||
</button>
|
</button>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
ROS Topics. Checked topics will be bagged when "Start" is selected.
|
ROS Topics.
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
|
|
||||||
<div id="ROSTopics">
|
<div class="col-sm-1" id="ROSTopics">
|
||||||
N/A
|
N/A
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -151,7 +178,7 @@ Tutorials can be found here: http://www.w3schools.com/bootstrap/default.asp
|
|||||||
|
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
ROS Nodes
|
ROS Nodes.
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user