From 9bd1c2dd7db5e234ddef0b65c54cdc348d9ce040 Mon Sep 17 00:00:00 2001 From: fherrero <fherrero@iri.upc.edu> Date: Sun, 7 Nov 2021 21:29:21 +0100 Subject: [PATCH] Add semaphore and building service clients --- html/jury.html | 421 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 372 insertions(+), 49 deletions(-) diff --git a/html/jury.html b/html/jury.html index 62d8b34..a45d90a 100644 --- a/html/jury.html +++ b/html/jury.html @@ -91,10 +91,58 @@ name : 'gui/image_quality' }); - // var image_size_param = new ROSLIB.Param({ - // ros : ros, - // name : 'gui/image_size' - // }); + var set_semaphore1_service_client = new ROSLIB.Service({ + ros : ros, + name : '/jury/set_semaphore1', + serviceType : 'iri_adc_msgs/set_semaphore' + }); + + var set_semaphore2_service_client = new ROSLIB.Service({ + ros : ros, + name : '/jury/set_semaphore2', + serviceType : 'iri_adc_msgs/set_semaphore' + }); + + var set_semaphore3_service_client = new ROSLIB.Service({ + ros : ros, + name : '/jury/set_semaphore3', + serviceType : 'iri_adc_msgs/set_semaphore' + }); + + var set_semaphore4_service_client = new ROSLIB.Service({ + ros : ros, + name : '/jury/set_semaphore4', + serviceType : 'iri_adc_msgs/set_semaphore' + }); + + var semaphore_request = new ROSLIB.ServiceRequest({ + color : 0 + }); + + var set_building1_service_client = new ROSLIB.Service({ + ros : ros, + name : '/jury/set_building1', + serviceType : 'iri_adc_msgs/set_semaphore' //TODO change + }); + + + var set_building2_service_client = new ROSLIB.Service({ + ros : ros, + name : '/jury/set_building2', + serviceType : 'iri_adc_msgs/set_semaphore' //TODO change + }); + + + var set_building3_service_client = new ROSLIB.Service({ + ros : ros, + name : '/jury/set_building3', + serviceType : 'iri_adc_msgs/set_semaphore' //TODO change + }); + + var building_request = new ROSLIB.ServiceRequest({ + status : 0 + }); + var adc_jury_service_client = new ROSLIB.Service({ ros : ros, @@ -451,7 +499,7 @@ download(textbox.value, filename, "text/plain" ); } - function reload_image() + function reload_image() { image_topic_param.get(function(value) { @@ -484,28 +532,303 @@ else image_quality_param.set(image_quality); }); - - // image_size_param.get(function(value) - // { - // if(value!=null) - // { - // var new_image_size = value; - // if(new_image_size!=image_size) - // { - // image_size=new_image_size; - // var yourImg = document.getElementById('video_image'); - // if(yourImg && yourImg.style) - // { - // //yourImg.style.height = new_image_size; - // //yourImg.style.width = new_image_size; - // } - // } - // } - // else - // image_size_param.set(image_size); - // }); } + function semaphore1_green() + { + semaphore_request.color=2; + set_semaphore1_service_client.callService(semaphore_request, + function(result) + { + + }, + function(result) + { + console.error("semaphore1 didn't respond"); + }); + } + + function semaphore1_red() + { + semaphore_request.color=1; + set_semaphore1_service_client.callService(semaphore_request, + function(result) + { + + }, + function(result) + { + console.error("semaphore1 didn't respond"); + }); + } + + function semaphore1_off() + { + semaphore_request.color=0; + set_semaphore1_service_client.callService(semaphore_request, + function(result) + { + + }, + function(result) + { + console.error("semaphore1 didn't respond"); + }); + } + + + function semaphore2_green() + { + semaphore_request.color=2; + set_semaphore2_service_client.callService(semaphore_request, + function(result) + { + + }, + function(result) + { + console.error("semaphore2 didn't respond"); + }); + } + + function semaphore2_red() + { + semaphore_request.color=1; + set_semaphore2_service_client.callService(semaphore_request, + function(result) + { + + }, + function(result) + { + console.error("semaphore2 didn't respond"); + }); + } + + function semaphore2_off() + { + semaphore_request.color=0; + set_semaphore2_service_client.callService(semaphore_request, + function(result) + { + + }, + function(result) + { + console.error("semaphore2 didn't respond"); + }); + } + + + function semaphore3_green() + { + semaphore_request.color=2; + set_semaphore3_service_client.callService(semaphore_request, + function(result) + { + + }, + function(result) + { + console.error("semaphore3 didn't respond"); + }); + } + + function semaphore3_red() + { + semaphore_request.color=1; + set_semaphore3_service_client.callService(semaphore_request, + function(result) + { + + }, + function(result) + { + console.error("semaphore3 didn't respond"); + }); + } + + function semaphore3_off() + { + semaphore_request.color=0; + set_semaphore3_service_client.callService(semaphore_request, + function(result) + { + + }, + function(result) + { + console.error("semaphore3 didn't respond"); + }); + } + + + function semaphore4_green() + { + semaphore_request.color=2; + set_semaphore4_service_client.callService(semaphore_request, + function(result) + { + + }, + function(result) + { + console.error("semaphore4 didn't respond"); + }); + } + + function semaphore4_red() + { + semaphore_request.color=1; + set_semaphore4_service_client.callService(semaphore_request, + function(result) + { + + }, + function(result) + { + console.error("semaphore4 didn't respond"); + }); + } + + function semaphore4_off() + { + semaphore_request.color=0; + set_semaphore4_service_client.callService(semaphore_request, + function(result) + { + + }, + function(result) + { + console.error("semaphore4 didn't respond"); + }); + } + + function semaphores_green() + { + semaphore1_green(); + semaphore2_green(); + semaphore3_green(); + semaphore4_green(); + } + + function semaphores_red() + { + semaphore1_red(); + semaphore2_red(); + semaphore3_red(); + semaphore4_red(); + } + + function semaphores_off() + { + semaphore1_off(); + semaphore2_off(); + semaphore3_off(); + semaphore4_off(); + } + + function building1_on() + { + building_request.status=1; + set_building1_service_client.callService(building_request, + function(result) + { + + }, + function(result) + { + console.error("building1 didn't respond"); + }); + } + + function building1_off() + { + building_request.status=0; + set_building1_service_client.callService(building_request, + function(result) + { + + }, + function(result) + { + console.error("building1 didn't respond"); + }); + } + + function building2_on() + { + building_request.status=1; + set_building2_service_client.callService(building_request, + function(result) + { + + }, + function(result) + { + console.error("building2 didn't respond"); + }); + } + + function building2_off() + { + building_request.status=0; + set_building2_service_client.callService(building_request, + function(result) + { + + }, + function(result) + { + console.error("building2 didn't respond"); + }); + } + + function building3_on() + { + building_request.status=1; + set_building3_service_client.callService(building_request, + function(result) + { + + }, + function(result) + { + console.error("building3 didn't respond"); + }); + } + + function building3_off() + { + building_request.status=0; + set_building3_service_client.callService(building_request, + function(result) + { + + }, + function(result) + { + console.error("building3 didn't respond"); + }); + } + + function buildings_on() + { + building1_on(); + building2_on(); + building3_on(); + } + + function buildings_off() + { + building1_off(); + building2_off(); + building3_off(); + } + + + $(document).ready ( function () @@ -630,37 +953,37 @@ <div class="row"> <div style="width: 50%"> Semaphore 1 - <button class="btn btn-success btn-semaphore" id="semaphore1_green">green</button> - <button class="btn btn-danger btn-semaphore" id="semaphore1_red">red</button> - <button class="btn btn-dark btn-semaphore" id="semaphore1_off">off</button> + <button class="btn btn-success btn-semaphore" id="semaphore1_green" onclick="semaphore1_green()">green</button> + <button class="btn btn-danger btn-semaphore" id="semaphore1_red" onclick="semaphore1_red()">red</button> + <button class="btn btn-dark btn-semaphore" id="semaphore1_off" onclick="semaphore1_off()">off</button> <span id="semaphore1_info" ></span> <br> Semaphore 2 - <button class="btn btn-success btn-semaphore" id="semaphore2_green">green</button> - <button class="btn btn-danger btn-semaphore" id="semaphore2_red">red</button> - <button class="btn btn-dark btn-semaphore" id="semaphore2_off">off</button> + <button class="btn btn-success btn-semaphore" id="semaphore2_green" onclick="semaphore2_green()">green</button> + <button class="btn btn-danger btn-semaphore" id="semaphore2_red" onclick="semaphore2_red()">red</button> + <button class="btn btn-dark btn-semaphore" id="semaphore2_off" onclick="semaphore2_off()">off</button> <span id="semaphore2_info" ></span> <br> Semaphore 3 - <button class="btn btn-success btn-semaphore" id="semaphore3_green">green</button> - <button class="btn btn-danger btn-semaphore" id="semaphore3_red">red</button> - <button class="btn btn-dark btn-semaphore" id="semaphore3_off">off</button> + <button class="btn btn-success btn-semaphore" id="semaphore3_green" onclick="semaphore3_green()">green</button> + <button class="btn btn-danger btn-semaphore" id="semaphore3_red" onclick="semaphore3_red()">red</button> + <button class="btn btn-dark btn-semaphore" id="semaphore3_off" onclick="semaphore3_off()">off</button> <span id="semaphore3_info" ></span> <br> Semaphore 4 - <button class="btn btn-success btn-semaphore" id="semaphore4_green">green</button> - <button class="btn btn-danger btn-semaphore" id="semaphore4_red">red</button> - <button class="btn btn-dark btn-semaphore" id="semaphore4_off">off</button> + <button class="btn btn-success btn-semaphore" id="semaphore4_green" onclick="semaphore4_green()">green</button> + <button class="btn btn-danger btn-semaphore" id="semaphore4_red" onclick="semaphore4_red()">red</button> + <button class="btn btn-dark btn-semaphore" id="semaphore4_off" onclick="semaphore4_off()">off</button> <span id="semaphore4_info" ></span> </div> <div style="width: 50%"> All                     - <button class="btn btn-success btn-semaphore" id="semaphores_green">green</button> - <button class="btn btn-danger btn-semaphore" id="semaphores_red">red</button> - <button class="btn btn-dark btn-semaphore" id="semaphores_off">off</button> + <button class="btn btn-success btn-semaphore" id="semaphores_green" onclick="semaphores_green()">green</button> + <button class="btn btn-danger btn-semaphore" id="semaphores_red" onclick="semaphores_red()">red</button> + <button class="btn btn-dark btn-semaphore" id="semaphores_off" onclick="semaphores_off()">off</button> <span id="semaphores_info" ></span> <br> - Sync semaphores <input name="sync_semaphores" id="sync_semaphores" type="checkbox" checked> + <!--Sync semaphores <input name="sync_semaphores" id="sync_semaphores" type="checkbox" checked>--> </div> </div> @@ -668,21 +991,21 @@ <div class="row"> <div style="width: 50%"> Building 1 - <button class="btn btn-light btn-semaphore" id="building1_on">on</button> - <button class="btn btn-dark btn-semaphore" id="building1_off">off</button> + <button class="btn btn-light btn-semaphore" id="building1_on" onclick="building1_on()">on</button> + <button class="btn btn-dark btn-semaphore" id="building1_off" onclick="building1_off()">off</button> <br> Building 2 - <button class="btn btn-light btn-semaphore" id="building2_on">on</button> - <button class="btn btn-dark btn-semaphore" id="building2_off">off</button> + <button class="btn btn-light btn-semaphore" id="building2_on" onclick="building2_on()">on</button> + <button class="btn btn-dark btn-semaphore" id="building2_off" onclick="building2_off()">off</button> <br> Building 3 - <button class="btn btn-light btn-semaphore" id="building3_on">on</button> - <button class="btn btn-dark btn-semaphore" id="building3_off">off</button> + <button class="btn btn-light btn-semaphore" id="building3_on" onclick="building3_on()">on</button> + <button class="btn btn-dark btn-semaphore" id="building3_off" onclick="building3_off()">off</button> </div> <div style="width: 50%"> All               - <button class="btn btn-light btn-semaphore" id="buildings_on">on</button> - <button class="btn btn-dark btn-semaphore" id="buildings_off">off</button> + <button class="btn btn-light btn-semaphore" id="buildings_on" onclick="buildings_on()">on</button> + <button class="btn btn-dark btn-semaphore" id="buildings_off" onclick="buildings_off()">off</button> </div> </div> <hr> -- GitLab