Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var isWebSocketConnected = false;
- function changeModuleName(){
- console.log("Bouton changeModuleName");
- document.title=document.getElementById("moduleName").value;
- try {
- websocket.send(JSON.stringify({"moduleName":document.getElementById("moduleName").value}));
- }
- catch (ex) {
- console.error("Caramba !", ex.message);
- }
- console.log("Message moduleName envoyé");
- }
- function goToPageReglages(){
- cb = document.getElementById('marcheRelay');
- if (cb.checked){
- document.getElementById("marcheRelay").checked = false;
- runMarche();
- }
- cb = document.getElementById('sensRelay');
- if (cb.checked){
- document.getElementById("sensRelay").checked = false;
- runSens();
- }
- cb = document.getElementById('led');
- if (cb.checked){
- document.getElementById("led").checked = false;
- runLed();
- }
- document.location.href='reglages.html';
- return false;
- }
- function saveNodeAddress(){
- console.log("Bouton save node adresse");
- try {
- websocket.send(JSON.stringify({"nodeAddress":document.getElementById("nodeAddress").value}));
- }
- catch (ex) {
- console.error("Caramba !", ex.message);
- }
- console.log("Message save node adresse envoyé");
- }
- function ValidateIPaddress(inputText){
- var ipformat = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
- return (inputText.value.match(ipformat));
- }
- function saveMechanicals(){
- console.log("Bouton save mechanicals");
- const cb = document.getElementById('isDeviceRotatif');
- var rep = (cb.checked == true ? 'checked' : 'unchecked');
- var t = JSON.stringify({"scaleFactor":document.getElementById("scaleFactor").value,
- "actualPosition":document.getElementById("actualPosition").value,
- "timeToStart":document.getElementById("timeToStart").value,
- "nbPulsesToStop":document.getElementById("nbPulsesToStop").value,
- "motorSpeed":document.getElementById("motorSpeed").value,
- "tolerance":document.getElementById("tolerance").value,
- "maxRange":document.getElementById("maxRange").value,
- "isDeviceRotatif":rep});
- try{
- websocket.send(t);
- }
- catch (ex) {
- console.error("Caramba !", ex.message);
- }
- console.log("Message save mechanicals envoyé");
- }
- function runForA_GivenTime(){
- console.log("Bouton runForA_GivenTime");
- const cb = document.getElementById('sensDep');
- var rep = (cb.checked == true ? 'checked' : 'unchecked');
- try {
- websocket.send(JSON.stringify({"time":document.getElementById('runTime').value, "sensDep":rep}));
- console.log("Message time envoyé");
- }
- catch (ex) {
- console.error("Caramba !", ex.message);
- }
- }
- function moveWith(dep){
- console.log("Bouton déplacement relatif");
- var u = dep.toString();
- try {
- websocket.send(JSON.stringify({"relativeMove":u}));
- console.log("Message relativeMove envoyé");
- }
- catch (ex) {
- console.error("Caramba !", ex.message);
- }
- }
- function runMarche(){
- console.log("Boutons runMarche");
- const cb = document.getElementById('marcheRelay');
- var rep = (cb.checked == true ? 'checked' : 'unchecked');
- try {
- websocket.send(JSON.stringify({"marcheRelay":rep}));
- }
- catch (ex) {
- console.error("Caramba !", ex.message);
- }
- console.log("Message runMarche envoyé");
- }
- function runSens(){
- console.log("Bouton runSens");
- const cb = document.getElementById('sensRelay');
- var rep = (cb.checked == true ? 'checked' : 'unchecked');
- try {
- websocket.send(JSON.stringify({"sensRelay":rep}));
- }
- catch (ex) {
- console.error("Caramba !", ex.message);
- }
- console.log("Message runSens envoyé");
- }
- function runLed(){
- console.log("Bouton runLed");
- const cb = document.getElementById('led');
- var rep = (cb.checked == true ? 'checked' : 'unchecked');
- try {
- websocket.send(JSON.stringify({"led":rep}));
- }
- catch (ex) {
- console.error("Caramba !", ex.message);
- }
- console.log("Message runLed envoyé");
- }
- function goToPos(pos){
- console.log("Bouton goToPos");
- try{
- websocket.send(JSON.stringify({"newPos":pos.value}));
- }
- catch (ex) {
- console.error("Caramba !", ex.message);
- }
- console.log("Message goToPos envoyé");
- }
- function validateIpParameters(){
- if (ValidateIPaddress(document.getElementById("ipAddress"))&& ValidateIPaddress(document.getElementById("mask"))){
- alert("Attention, le module va changer de paramètres ip! (à déveloper !");
- websocket.send(JSON.stringify({"ipAddress":document.getElementById("ipAddress").value,
- "mask":document.getElementById("mask").value,
- "gateway":document.getElementById("gateway").value,
- "ssid":document.getElementById("ssid").value,
- "password":document.getElementById("password").value}));
- } else {
- alert("Un ou plusieurs paramètres ne sont pas corrects");
- }
- }
- function OnStateChange(){
- switch (this.readyState) {
- case 0:
- console.log("The httpRequest object is not initialized");
- break;
- case 1:
- console.log("Waiting for the send method");
- break;
- case 2:
- console.log("The send method has been called, but no content is available at this time");
- break;
- case 3:
- consol.log("Partial data has been received, but this content is not available yet");
- break;
- case 4:
- console.log("All data has been received:");
- break;
- };
- }
- function indexOnloadfunction() {
- console.log("indexOnloadfunction");
- initWebSocket();
- }
- function onOpen(event) {
- isWebSocketConnected = true;
- console.log('Connection opened');
- websocket.send(JSON.stringify({"url":location.pathname}));
- if (window.location.pathname.includes("reglages")){
- websocket.send(JSON.stringify({"reglagesInitialParameters":true}));
- } else {
- websocket.send(JSON.stringify({"indexInitialParameters":true}));
- }
- }
- function onClose(event) {
- isWebSocketConnected = false;
- console.log('Connection closed', event);
- setTimeout(initWebSocket, 2000);
- }
- function onMessage(event) {
- var obj = JSON.parse(event.data);
- if (obj.hasOwnProperty('toMuchClients')){
- document.location.href='toMuchClients.html';
- } else {
- if (obj.hasOwnProperty('actualPosition')){
- document.getElementById("actualPosition").value = obj["actualPosition"]; // reglage.html ou index.html
- var inputs = document.getElementsByTagName("INPUT");
- for (var i = 0; i < inputs.length; i++) {
- inputs[i].disabled = false;
- }
- console.log("Buttons activés !");
- }
- if (obj.hasOwnProperty('movePulses')){
- document.getElementById("moveInpuls").value = obj["movePulses"];
- }
- if (obj.hasOwnProperty('move')){
- document.getElementById("moveInches").value = obj["move"];
- }
- if (obj.hasOwnProperty('inertia')){
- document.getElementById("inertia").value = obj["inertia"];
- }
- if (obj.hasOwnProperty('hideButtons')){
- // send handshake to the server
- websocket.send(JSON.stringify({"handshake":"buttons"}));
- var inputs = document.getElementsByTagName("INPUT");
- for (var i = 0; i < inputs.length; i++) {
- inputs[i].disabled = true;
- }
- console.log("Désactiver les boutons");
- }
- if (obj.hasOwnProperty('moduleName') && !window.location.pathname.includes("reglages")){ // index.html initials parameters
- document.getElementById("moduleName").value = obj.moduleName;
- document.title=obj.moduleName;
- document.getElementById("nodeAddress").value = obj.nodeAddress;
- document.getElementById("actualPosition").value = obj.actualPosition;
- document.getElementById("ipAddress").value = obj.ipAddressText;
- document.getElementById("gateway").value = obj.gatewayText;
- document.getElementById("mask").value = obj.maskText;
- document.getElementById("ssid").value = obj.ssid;
- document.getElementById("password").value = obj.password;
- document.getElementById("scaleFactor").value = obj.scaleFactor;
- document.getElementById("timeToStart").value = obj.timeToStart;
- document.getElementById("nbPulsesToStop").value = obj.nbPulsesToStop;
- document.getElementById("motorSpeed").value = obj.motorSpeed;
- document.getElementById("tolerance").value = obj.tolerance;
- document.getElementById("maxRange").value = obj.maxRange;
- document.getElementById("isDeviceRotatif").checked = obj.isDeviceRotatif;
- }
- if (obj.hasOwnProperty('moduleName') && window.location.pathname.includes("reglages")){ // reglages.html initials parameters
- document.getElementById("moduleName").value = obj.moduleName;
- document.title=obj.moduleName;
- document.getElementById("actualPosition").value = obj.actualPosition;
- }
- if (obj.hasOwnProperty('handshake')){
- var t = obj.handshake;
- if (t.includes("wifi")){
- alert("Paramètres wifi enregistrés avec succés sur le module");
- }
- if (t.includes("nodeAddress")){
- alert("Adresse du node RS422 enregistré avec succés sur le module");
- }
- if (t.includes("mechanicals")){
- alert("Paramètres mécaniques enregistrés avec succés sur le module");
- }
- if (t.includes("moduleName")){
- var t = "Le nom du module est enregistré avec succés sur le module.\rAttention à la nouvelle mise sous tension, l'url sera: ";
- t = t.concat("http://" + document.getElementById("moduleName").value + ".local");
- alert(t);
- //alert("Attention, à la nouvelle mise sous tension, l'url sera: " + document.getElementById("moduleName").value + ".local/");
- }
- }
- if (obj.hasOwnProperty('heartbeat')){
- console.log("heartbeat reçu");
- }
- }
- }
- function onError(event){
- alert(`[error] ${event.message}`);
- }
- function initWebSocket() {
- if (!isWebSocketConnected){
- console.log('Trying to open a WebSocket connection…');
- websocket = new WebSocket("ws://" + window.location.hostname + "/ws");
- websocket.onopen = onOpen;
- websocket.onclose = onClose;
- websocket.onmessage = onMessage;
- websocket.onerror = onError;
- }
- }
- function reglagesOnloadfunction() {
- initWebSocket();
- }
RAW Paste Data