diff --git a/client/app/components/coordinator/js/ros_scripts.js b/client/app/components/coordinator/js/ros_scripts.js index 791b8ae..3fca2b8 100644 --- a/client/app/components/coordinator/js/ros_scripts.js +++ b/client/app/components/coordinator/js/ros_scripts.js @@ -267,7 +267,8 @@ robotiqDataTopic.subscribe(function(message) { } }); -// Recording Bag + +// Recording bag var recordingBagTopic = new ROSLIB.Topic({ ros : ros, name : '/aescape/bags/recording_status', @@ -291,11 +292,17 @@ recordingBagTopic.subscribe(function(message) { var teachingModeLastActive = lastActiveButton.teachingMode; + //status changed if(teachingModeLastActive && teachingModeLastActive != message.data) { var teachingModeButton = teachingModeToButtonMap[teachingModeLastActive]; if (teachingModeButton) { document.getElementById(teachingModeButton).classList.remove("active"); } + if(message.data == 'stopped') { + triggerService('/left/aescape/mode/activateReadyController'); + triggerService('/right/aescape/mode/activateReadyController'); + displayTaggingOptions('teach'); + } } var teachingModeButton = teachingModeToButtonMap[message.data]; @@ -306,7 +313,9 @@ recordingBagTopic.subscribe(function(message) { lastActiveButton.teachingMode = message.data; }); -// Executing Bag + +// Execution bag +// Use playback status instead of this var executingBagTopic = new ROSLIB.Topic({ ros : ros, name : '/aescape/bags/execution_status', @@ -345,37 +354,58 @@ executingBagTopic.subscribe(function(message) { }); - -var bagNotifier = new ROSLIB.Topic({ +// Playback status +var playbackStatus = new ROSLIB.Topic({ ros : ros, name : '/left/playback/status', messageType : 'std_msgs/String' }); +playbackStatus.subscribe(function(message) { + message = JSON.parse(message); + status = message.status; + bagName = message.bag_file; + console.log("playbackStatus"); + console.log(playbackStatus); + if (status === "playing") { -bagNotifier.subscribe(function(message) { - console.log("bagNotifier: " +message.data) - if (message.data === "playing") { - - } else if (message.data === "stopped") + } else if (message === "stopped") { - + triggerService('/left/aescape/mode/activateReadyController'); + triggerService('/right/aescape/mode/activateReadyController'); + displayTaggingOptions('play'); } - }); -// Last Bag -var bagPlayingTopic = new ROSLIB.Topic({ +// Last played bag +var lastPlayedBag = new ROSLIB.Topic({ ros : ros, name : '/aescape/bags/last_played', messageType : 'std_msgs/String' }); -bagPlayingTopic.subscribe(function(message) { +lastPlayedBag.subscribe(function(message) { //document.getElementById("lastbagText").innerHTML = message.data + console.log("Last played bag"); + console.log(message); }); + +//Last recorded bag +var lastRecordedBag = new ROSLIB.Topic({ + ros : ros, + name : '/aescape/bags/last_recorded', + messageType : 'std_msgs/String' +}); + +lastRecordedBag.subscribe(function(message) { + //document.getElementById("lastbagText").innerHTML = message.data + console.log("Last recorded bag"); + console.log(message); +}); + + //////////////////////////////////////////////////////////////// // Services //////////////////////////////////////////////////////////////// @@ -504,7 +534,7 @@ function triggerService(serviceName, toSend, callback) { } -document.addEventListener("keydown", invokeSafetyController); +//document.addEventListener("keydown", invokeSafetyController); function invokeSafetyController(event) { var keyID = event.keyCode; @@ -554,14 +584,12 @@ function stopTeachRecording() { function(callback) { triggerService('/aescape/bags/stopTeachRecording', false, callback); }, + // function(response, callback) { + // triggerService('/left/aescape/mode/activateReadyController', false, callback); + // }, function(response, callback) { - triggerService('/left/aescape/mode/activateReadyController', false, callback); - }, - function(response, callback) { - setTimeout(function(){ - displayTaggingOptions('teach'); - callback(); - }, 2000) + //displayTaggingOptions('teach'); + callback(); } ], function (err, result) { console.log(err); @@ -587,15 +615,12 @@ function stopPlayingRecording() { function(callback) { triggerService('/aescape/bags/stopPlayingBag', false, callback); }, + // function(response, callback) { + // triggerService('/left/aescape/mode/activateReadyController', false, callback); + // }, function(response, callback) { - triggerService('/left/aescape/mode/activateReadyController', false, callback); - }, - function(response, callback) { - setTimeout(function(){ - displayTaggingOptions('play'); - callback(); - }, 2000) - + //displayTaggingOptions('play'); + callback(); } ], function (err, result) { // result now equals 'done'