Commit 5e57abdf authored by Léo-Paul Géneau's avatar Léo-Paul Géneau 👾

Comply to JSLint

parent 5c0b63f0
/*jslint indent2 */ /*jslint nomen: true, indent: 2, maxerr: 3, maxlen: 80 */
/*global console, std */ /*global console, me*/
const EPSILON_YAW = 6; (function (console, me) {
const EPSILON_ALTITUDE = 5; "use strict";
const TARGET_YAW = 0;
function displayMessage(message) {
var running = false; console.log(message);
const wrongParameters = displayMessage.bind(null, "Wrong parameters"); return 0;
}
function displayDronePositions() {
if(!pubsubRunning) var help = ["altitude(altitude)", "exit",
console.log("You must start pubsub first !"); "goto(latitude, longitude, altitude)", "help", "land", "loiter",
else { "positions", "speed(speed)"].join("\n"),
for (const [id, drone] of Object.entries(droneDict)) { wrongParameters = displayMessage.bind(null, "Wrong parameters");
console.log(id, drone.latitude, drone.longitude, drone.altitudeAbs, drone.altitudeRel);
} function checkNumber(value, toExecute) {
} return (
return 0; Number.isNaN(value)
} ? wrongParameters
: toExecute.bind(null, value)
function land() { );
var yaw; }
while(true) { function displayDronePositions() {
yaw = getYaw(); Object.entries(me.droneDict).forEach(function ([id, drone]) {
console.log(`[DEMO] Waiting for yaw... (${yaw} , ${TARGET_YAW})`); console.log(
if(Math.abs(yaw - TARGET_YAW) < EPSILON_YAW) { id,
break; drone.latitude,
} drone.longitude,
sleep(250); drone.altitudeAbs,
} drone.altitudeRel
);
console.log("[DEMO] Deploying parachute..."); });
exit_on_fail(doParachute(2), "Failed to deploy parachute"); return 0;
} }
function waitForAltitude(target_altitude) { function exit() {
var altitude = getAltitude(); try {
while(Math.abs(altitude - target_altitude) > EPSILON_ALTITUDE) { me.f.close();
console.log( } catch (error) {
`[DEMO] Waiting for altitude... (${altitude} , ${target_altitude})`); console.error(error);
sleep(1000); }
altitude = getAltitude(); me.exit(0);
} }
}
me.onStart = function () {
function goToAltitude(target_altitude, wait, go) { me.f = me.fdopen(me.in, "r");
if(go) { console.log(help);
exit_on_fail( };
setAltitude(target_altitude),
`Failed to go to altitude ${target_altitude} m` me.onUpdate = function () {
); var altitude,
} latitude,
longitude,
if(wait) { speed,
waitForAltitude(target_altitude); user_input,
} undefined_cmd = false,
} cmd,
ret;
function checkNumber(value, toExecute) {
return ( console.log("> ");
Number.isNaN(value) user_input = me.f.getline();
? wrongParameters
: toExecute.bind(null, value) switch (user_input) {
); case "altitude":
} console.log("Altitude: ");
altitude = parseFloat(me.f.getline());
function displayMessage(message) { cmd = checkNumber(altitude, me.setAltitude);
console.log(message); break;
return 0;
} case "exit":
cmd = exit;
function exit() { break;
running = false;
return 0; case "goto":
} console.log("Latitude: ");
latitude = parseFloat(me.f.getline());
function getInput() { console.log("Longitude: ");
let undefined_cmd; longitude = parseFloat(me.f.getline());
let altitude; console.log("Altitude: ");
let cmd; altitude = parseFloat(me.f.getline());
let latitude; cmd = checkNumber(
let longitude; altitude,
let s; checkNumber(longitude, checkNumber(latitude, me.setTargetCoordinates))
let speed; );
break;
const help = `
land case "help":
goto(point) cmd = displayMessage.bind(null, help);
gotoCoord(latitude, longitude) break;
altitude(altitude)
speed(speed) case "land":
positions cmd = me.triggerParachute;
reboot break;
exit
help case "loiter":
`; cmd = me.loiter;
break;
const f = std.fdopen(std.in, "r");
running = true; case "positions":
while (running) { cmd = displayDronePositions;
std.printf("> "); break;
s = f.getline();
undefined_cmd = false; case "speed":
console.log("Speed: ");
switch (s) { speed = parseFloat(me.f.getline());
case "altitude": cmd = checkNumber(speed, me.setAirspeed);
std.printf("Altitude: "); break;
altitude = parseFloat(f.getline());
cmd = checkNumber(altitude, setAltitude); default:
break; undefined_cmd = true;
cmd = displayMessage.bind(null, " Undefined command");
case "exit": }
cmd = exit;
break; ret = cmd();
if (ret) {
/* case "gotoCoord": console.log(" [ERROR] function:\n", cmd, "\nreturn value:", ret);
std.printf("Latitude: "); } else if (user_input !== "help" && !undefined_cmd) {
latitude = parseFloat(f.getline()); console.log(" Command successful");
std.printf("Longitude: "); }
longitude = parseFloat(f.getline()); };
cmd = checkNumber(longitude, checkNumber(latitude, setTargetLatLong)); }(console, me));
break;*/
\ No newline at end of file
case "help":
cmd = displayMessage.bind(null, help);
break;
case "land":
cmd = land;
break;
case "loiter":
cmd = loiter;
break;
case "positions":
cmd = displayDronePositions;
break;
case "reboot":
cmd = reboot;
break;
case "speed":
std.printf("Speed: ");
speed = parseFloat(f.getline());
cmd = checkNumber(speed, setAirspeed);
break;
default:
undefined_cmd = true;
cmd = displayMessage.bind(null, " Undefined command");
}
let ret = cmd();
if (ret) {
console.log(" [ERROR] function:\n", cmd, "\nreturn value:", ret);
}
else if (s !== "help" && !undefined_cmd) {
console.log(" Command successful");
}
};
f.close();
}
me.onUpdate = function() {
getInput();
};
This diff is collapsed.
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