Commit 3c307e6a authored by Léo-Paul Géneau's avatar Léo-Paul Géneau 👾

Define speed and coordinates simultaneously

See merge request nexedi/erp5!1870
parents b2f7be44 0c42f440
...@@ -345,7 +345,7 @@ var FixedWingDroneAPI = /** @class */ (function () { ...@@ -345,7 +345,7 @@ var FixedWingDroneAPI = /** @class */ (function () {
}; };
FixedWingDroneAPI.prototype.internal_setTargetCoordinates = FixedWingDroneAPI.prototype.internal_setTargetCoordinates =
function (drone, coordinates, radius) { function (drone, coordinates, speed, radius) {
if (radius) { if (radius) {
this._loiter_mode = true; this._loiter_mode = true;
if (radius >= LOITER_LIMIT) { if (radius >= LOITER_LIMIT) {
...@@ -354,6 +354,7 @@ var FixedWingDroneAPI = /** @class */ (function () { ...@@ -354,6 +354,7 @@ var FixedWingDroneAPI = /** @class */ (function () {
} else { } else {
this._loiter_mode = false; this._loiter_mode = false;
} }
this.setSpeed(drone, speed);
}; };
FixedWingDroneAPI.prototype.sendMsg = function (msg, to) { FixedWingDroneAPI.prototype.sendMsg = function (msg, to) {
...@@ -543,7 +544,12 @@ var FixedWingDroneAPI = /** @class */ (function () { ...@@ -543,7 +544,12 @@ var FixedWingDroneAPI = /** @class */ (function () {
}; };
FixedWingDroneAPI.prototype.triggerParachute = function (drone) { FixedWingDroneAPI.prototype.triggerParachute = function (drone) {
var drone_pos = drone.getCurrentPosition(); var drone_pos = drone.getCurrentPosition();
drone.setTargetCoordinates(drone_pos.latitude, drone_pos.longitude, 5); drone.setTargetCoordinates(
drone_pos.latitude,
drone_pos.longitude,
5,
drone.getAirSpeed()
);
}; };
FixedWingDroneAPI.prototype.landed = function (drone) { FixedWingDroneAPI.prototype.landed = function (drone) {
var drone_pos = drone.getCurrentPosition(); var drone_pos = drone.getCurrentPosition();
......
...@@ -246,7 +246,7 @@ ...@@ -246,7 +246,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1011.46032.14056.1553</string> </value> <value> <string>1014.48041.44620.29337</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -266,7 +266,7 @@ ...@@ -266,7 +266,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1696870145.24</float> <float>1709113157.81</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -150,11 +150,11 @@ var DroneManager = /** @class */ (function () { ...@@ -150,11 +150,11 @@ var DroneManager = /** @class */ (function () {
* Set a target point to move * Set a target point to move
*/ */
DroneManager.prototype.setTargetCoordinates = DroneManager.prototype.setTargetCoordinates =
function (latitude, longitude, altitude) { function (latitude, longitude, altitude, speed) {
this._internal_setTargetCoordinates(latitude, longitude, altitude); this._internal_setTargetCoordinates(latitude, longitude, altitude, speed);
}; };
DroneManager.prototype._internal_setTargetCoordinates = DroneManager.prototype._internal_setTargetCoordinates =
function (latitude, longitude, altitude, radius) { function (latitude, longitude, altitude, speed, radius) {
if (!this._canPlay) { if (!this._canPlay) {
return; return;
} }
...@@ -165,6 +165,7 @@ var DroneManager = /** @class */ (function () { ...@@ -165,6 +165,7 @@ var DroneManager = /** @class */ (function () {
return this._API.internal_setTargetCoordinates( return this._API.internal_setTargetCoordinates(
this, this,
this._targetCoordinates, this._targetCoordinates,
speed,
radius radius
); );
}; };
...@@ -224,15 +225,6 @@ var DroneManager = /** @class */ (function () { ...@@ -224,15 +225,6 @@ var DroneManager = /** @class */ (function () {
} }
return this._API.setStartingPosition(this, x, y, z); return this._API.setStartingPosition(this, x, y, z);
}; };
DroneManager.prototype.setAirSpeed = function (speed) {
if (!this._canPlay) {
return;
}
if (isNaN(speed)) {
throw new Error('Speed must be a number');
}
return this._API.setSpeed(this, speed);
};
DroneManager.prototype.setDirection = function (x, y, z) { DroneManager.prototype.setDirection = function (x, y, z) {
if (!this._canPlay) { if (!this._canPlay) {
return; return;
...@@ -334,8 +326,14 @@ var DroneManager = /** @class */ (function () { ...@@ -334,8 +326,14 @@ var DroneManager = /** @class */ (function () {
* Make the drone loiter (circle with a set radius) * Make the drone loiter (circle with a set radius)
*/ */
DroneManager.prototype.loiter = DroneManager.prototype.loiter =
function (latitude, longitude, altitude, radius) { function (latitude, longitude, altitude, radius, speed) {
this._internal_setTargetCoordinates(latitude, longitude, altitude, radius); this._internal_setTargetCoordinates(
latitude,
longitude,
altitude,
speed,
radius
);
}; };
DroneManager.prototype.getFlightParameters = function () { DroneManager.prototype.getFlightParameters = function () {
if (this._API.getFlightParameters) { if (this._API.getFlightParameters) {
......
...@@ -246,7 +246,7 @@ ...@@ -246,7 +246,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1011.57487.9176.36369</string> </value> <value> <string>1014.48183.45277.7697</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -266,7 +266,7 @@ ...@@ -266,7 +266,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1697558075.38</float> <float>1709113192.28</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -363,39 +363,20 @@ ...@@ -363,39 +363,20 @@
<p class="item-param-1">altitude: Float</p> <p class="item-param-1">altitude: Float</p>
<p class="item-param-2">altitude value (in meters).</p> <p class="item-param-2">altitude value (in meters).</p>
</div> </div>
<div>
<h5 class="item-param-1">Example</h5>
</div>
<div>
<p class="item-example">
me.setTargetCoordinates(lat, lon, altitude);<br>
</p>
</div>
<div class="line"></div>
<!-- setAirSpeed -->
<h4 class="item-name" id="setAirSpeed"><span>setAirSpeed</span><span>: void</span></h4>
<p class="item-descr">Set the drone speed in meters/second. The drone will move at the given value.</p>
<div>
<h5 class="item-param-1">Param</h5>
<h5 class="item-param-2">Description</h5>
</div>
<div> <div>
<p class="item-param-1">speed: Float</p> <p class="item-param-1">speed: Float</p>
<p class="item-param-2">Speed value</p> <p class="item-param-2">speed value (in meters per second).</p>
</div> </div>
<div> <div>
<h5 class="item-param-1">Example</h5> <h5 class="item-param-1">Example</h5>
</div> </div>
<p class="item-param-1">me.setAirSpeed(16);<br> <div>
<p class="item-example">
me.setTargetCoordinates(lat, lon, altitude, speed);<br>
</p> </p>
</div>
<div class="line"></div> <div class="line"></div>
......
...@@ -244,7 +244,7 @@ ...@@ -244,7 +244,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1013.8667.7605.21589</string> </value> <value> <string>1014.45296.39536.30276</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -264,7 +264,7 @@ ...@@ -264,7 +264,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1702410728.19</float> <float>1708536065.15</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -77,6 +77,7 @@ var OperatorAPI = /** @class */ (function () { ...@@ -77,6 +77,7 @@ var OperatorAPI = /** @class */ (function () {
MAX_PITCH = 25, MAX_PITCH = 25,
MAX_CLIMB_RATE = 8, MAX_CLIMB_RATE = 8,
MAX_SINK_RATE = 3, MAX_SINK_RATE = 3,
MAX_COMMAND_FREQUENCY = 2,
NUMBER_OF_DRONES = 5, NUMBER_OF_DRONES = 5,
// Non-inputs parameters // Non-inputs parameters
EPSILON = "15", EPSILON = "15",
...@@ -104,7 +105,7 @@ var OperatorAPI = /** @class */ (function () { ...@@ -104,7 +105,7 @@ var OperatorAPI = /** @class */ (function () {
' );\n' + ' );\n' +
'}\n' + '}\n' +
'\n' + '\n' +
'me.onStart = function () {\n' + 'me.onStart = function (timestamp) {\n' +
' me.direction_set = false;\n' + ' me.direction_set = false;\n' +
' me.dodging = false;\n' + ' me.dodging = false;\n' +
' me.ongoing_detection = false;\n' + ' me.ongoing_detection = false;\n' +
...@@ -136,7 +137,8 @@ var OperatorAPI = /** @class */ (function () { ...@@ -136,7 +137,8 @@ var OperatorAPI = /** @class */ (function () {
' me.setTargetCoordinates(\n' + ' me.setTargetCoordinates(\n' +
' me.flag_positions[me.next_checkpoint].position.latitude,\n' + ' me.flag_positions[me.next_checkpoint].position.latitude,\n' +
' me.flag_positions[me.next_checkpoint].position.longitude,\n' + ' me.flag_positions[me.next_checkpoint].position.longitude,\n' +
' me.flag_positions[me.next_checkpoint].position.altitude + me.id\n' + ' me.flag_positions[me.next_checkpoint].position.altitude + me.id,\n' +
' ' + DEFAULT_SPEED + '\n' +
' );\n' + ' );\n' +
//' console.log("[DEMO] Going to Checkpoint %d", me.next_checkpoint);\n' + //' console.log("[DEMO] Going to Checkpoint %d", me.next_checkpoint);\n' +
' }\n' + ' }\n' +
...@@ -162,12 +164,6 @@ var OperatorAPI = /** @class */ (function () { ...@@ -162,12 +164,6 @@ var OperatorAPI = /** @class */ (function () {
' }\n' + ' }\n' +
' return;\n' + ' return;\n' +
' }\n' + ' }\n' +
' if (me.next_checkpoint == me.flag_positions.length) {\n' +
' me.triggerParachute();\n' +
' }\n' +
' if (me.landed()) {\n' +
' me.exit();\n' +
' }\n' +
'};\n' + '};\n' +
'\n' + '\n' +
'me.onDroneViewInfo = function (drone_view) {\n' + 'me.onDroneViewInfo = function (drone_view) {\n' +
...@@ -182,7 +178,7 @@ var OperatorAPI = /** @class */ (function () { ...@@ -182,7 +178,7 @@ var OperatorAPI = /** @class */ (function () {
' } else {\n' + ' } else {\n' +
' dodge_point.longitude = dodge_point.longitude * -1;\n' + ' dodge_point.longitude = dodge_point.longitude * -1;\n' +
' }\n' + ' }\n' +
' me.setTargetCoordinates(dodge_point.latitude, dodge_point.longitude, me.getCurrentPosition().altitude);\n' + ' me.setTargetCoordinates(dodge_point.latitude, dodge_point.longitude, me.getCurrentPosition().altitude, ' + DEFAULT_SPEED + ');\n' +
' return;\n' + ' return;\n' +
' }\n' + ' }\n' +
'};', '};',
...@@ -680,6 +676,17 @@ var OperatorAPI = /** @class */ (function () { ...@@ -680,6 +676,17 @@ var OperatorAPI = /** @class */ (function () {
"hidden": 0, "hidden": 0,
"type": "FloatField" "type": "FloatField"
}, },
"my_drone_max_command_frequency": {
"description": "",
"title": "Drone max command frequency",
"default": gadget.state.drone_max_command_frequency,
"css_class": "",
"required": 1,
"editable": 1,
"key": "drone_max_command_frequency",
"hidden": 0,
"type": "FloatField"
},
"my_number_of_drones": { "my_number_of_drones": {
"description": "", "description": "",
"title": "Number of drones", "title": "Number of drones",
...@@ -708,7 +715,8 @@ var OperatorAPI = /** @class */ (function () { ...@@ -708,7 +715,8 @@ var OperatorAPI = /** @class */ (function () {
[["my_drone_min_speed"], ["my_drone_speed"], ["my_drone_max_speed"], [["my_drone_min_speed"], ["my_drone_speed"], ["my_drone_max_speed"],
["my_drone_max_acceleration"], ["my_drone_max_deceleration"], ["my_drone_max_acceleration"], ["my_drone_max_deceleration"],
["my_drone_max_roll"], ["my_drone_min_pitch"], ["my_drone_max_pitch"], ["my_drone_max_roll"], ["my_drone_min_pitch"], ["my_drone_max_pitch"],
["my_drone_max_sink_rate"], ["my_drone_max_climb_rate"]] ["my_drone_max_sink_rate"], ["my_drone_max_climb_rate"],
["my_drone_max_command_frequency"]]
]] ]]
} }
}); });
...@@ -836,6 +844,7 @@ var OperatorAPI = /** @class */ (function () { ...@@ -836,6 +844,7 @@ var OperatorAPI = /** @class */ (function () {
"maxPitchAngle": parseFloat(gadget.state.drone_max_pitch), "maxPitchAngle": parseFloat(gadget.state.drone_max_pitch),
"maxSinkRate": parseFloat(gadget.state.drone_max_sink_rate), "maxSinkRate": parseFloat(gadget.state.drone_max_sink_rate),
"maxClimbRate": parseFloat(gadget.state.drone_max_climb_rate), "maxClimbRate": parseFloat(gadget.state.drone_max_climb_rate),
"maxCommandFrequency": parseFloat(gadget.state.drone_max_command_frequency),
"list": drone_list "list": drone_list
}, },
"gameTime": parseInt(gadget.state.simulation_time, 10), "gameTime": parseInt(gadget.state.simulation_time, 10),
...@@ -950,6 +959,7 @@ var OperatorAPI = /** @class */ (function () { ...@@ -950,6 +959,7 @@ var OperatorAPI = /** @class */ (function () {
operator_script: DEFAULT_OPERATOR_SCRIPT, operator_script: DEFAULT_OPERATOR_SCRIPT,
drone_script: DEFAULT_SCRIPT_CONTENT, drone_script: DEFAULT_SCRIPT_CONTENT,
number_of_drones: NUMBER_OF_DRONES, number_of_drones: NUMBER_OF_DRONES,
drone_max_command_frequency: MAX_COMMAND_FREQUENCY,
drone_max_climb_rate: MAX_CLIMB_RATE, drone_max_climb_rate: MAX_CLIMB_RATE,
drone_max_sink_rate: MAX_SINK_RATE, drone_max_sink_rate: MAX_SINK_RATE,
drone_max_pitch: MAX_PITCH, drone_max_pitch: MAX_PITCH,
......
...@@ -246,7 +246,7 @@ ...@@ -246,7 +246,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1011.57494.145.60023</string> </value> <value> <string>1014.55204.2137.9676</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -266,7 +266,7 @@ ...@@ -266,7 +266,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1697558059.95</float> <float>1709130500.2</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -53,13 +53,14 @@ ...@@ -53,13 +53,14 @@
'}\n' + '}\n' +
'\n' + '\n' +
'me.onStart = function () {\n' + 'me.onStart = function () {\n' +
' assert(me.getAirSpeed(), 16, "Initial speed");\n' + ' assert(me.getAirSpeed(), ' + DEFAULT_SPEED + ', "Initial speed");\n' +
' assert(me.getYaw(), 0, "Yaw angle")\n' + ' assert(me.getYaw(), 0, "Yaw angle")\n' +
' me.initialPosition = me.getCurrentPosition();\n' + ' me.initialPosition = me.getCurrentPosition();\n' +
' me.setTargetCoordinates(\n' + ' me.setTargetCoordinates(\n' +
' me.initialPosition.latitude + 0.01,\n' + ' me.initialPosition.latitude + 0.01,\n' +
' me.initialPosition.longitude,\n' + ' me.initialPosition.longitude,\n' +
' me.getAltitudeAbs()\n' + ' me.getAltitudeAbs(),\n' +
' ' + DEFAULT_SPEED + '\n' +
' );\n' + ' );\n' +
'};\n' + '};\n' +
'\n' + '\n' +
...@@ -71,8 +72,9 @@ ...@@ -71,8 +72,9 @@
' me.getCurrentPosition().latitude,\n' + ' me.getCurrentPosition().latitude,\n' +
' me.getCurrentPosition().longitude\n' + ' me.getCurrentPosition().longitude\n' +
' ).toFixed(8),\n' + ' ).toFixed(8),\n' +
' expectedDistance = (me.getAirSpeed() * timestamp / 1000).toFixed(8);\n' + ' time_interval = 1000 / 60,\n' +
' assert(timestamp, 1000 / 60, "Timestamp");\n' + ' expectedDistance = (me.getAirSpeed() * time_interval / 1000).toFixed(8);\n' +
' assert(timestamp, Math.floor(time_interval), "Timestamp");\n' +
' assert(realDistance, expectedDistance, "Distance");\n' + ' assert(realDistance, expectedDistance, "Distance");\n' +
' current_position.latitude = current_position.latitude.toFixed(7);\n' + ' current_position.latitude = current_position.latitude.toFixed(7);\n' +
' compare(current_position, {\n' + ' compare(current_position, {\n' +
......
...@@ -246,7 +246,7 @@ ...@@ -246,7 +246,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1014.53878.23823.32290</string> </value> <value> <string>1014.55202.48917.18107</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -266,7 +266,7 @@ ...@@ -266,7 +266,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1709057695.61</float> <float>1709130419.7</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -349,7 +349,7 @@ var FixedWingDroneAPI = /** @class */ (function () { ...@@ -349,7 +349,7 @@ var FixedWingDroneAPI = /** @class */ (function () {
}; };
FixedWingDroneAPI.prototype.internal_setTargetCoordinates = FixedWingDroneAPI.prototype.internal_setTargetCoordinates =
function (drone, coordinates, radius) { function (drone, coordinates, speed, radius) {
if (radius) { if (radius) {
this._loiter_mode = true; this._loiter_mode = true;
if (radius >= LOITER_LIMIT) { if (radius >= LOITER_LIMIT) {
...@@ -358,6 +358,7 @@ var FixedWingDroneAPI = /** @class */ (function () { ...@@ -358,6 +358,7 @@ var FixedWingDroneAPI = /** @class */ (function () {
} else { } else {
this._loiter_mode = false; this._loiter_mode = false;
} }
this.setSpeed(drone, speed);
}; };
FixedWingDroneAPI.prototype.sendMsg = function (msg, to) { FixedWingDroneAPI.prototype.sendMsg = function (msg, to) {
...@@ -502,7 +503,12 @@ var FixedWingDroneAPI = /** @class */ (function () { ...@@ -502,7 +503,12 @@ var FixedWingDroneAPI = /** @class */ (function () {
}; };
FixedWingDroneAPI.prototype.triggerParachute = function (drone) { FixedWingDroneAPI.prototype.triggerParachute = function (drone) {
var drone_pos = drone.getCurrentPosition(); var drone_pos = drone.getCurrentPosition();
drone.setTargetCoordinates(drone_pos.latitude, drone_pos.longitude, 5); drone.setTargetCoordinates(
drone_pos.latitude,
drone_pos.longitude,
5,
drone.getAirSpeed()
);
}; };
FixedWingDroneAPI.prototype.landed = function (drone) { FixedWingDroneAPI.prototype.landed = function (drone) {
var drone_pos = drone.getCurrentPosition(); var drone_pos = drone.getCurrentPosition();
......
...@@ -240,7 +240,7 @@ ...@@ -240,7 +240,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1011.48679.53693.47701</string> </value> <value> <string>1014.11751.44914.51968</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -260,7 +260,7 @@ ...@@ -260,7 +260,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1697030763.04</float> <float>1706523358.41</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -136,11 +136,11 @@ var DroneManager = /** @class */ (function () { ...@@ -136,11 +136,11 @@ var DroneManager = /** @class */ (function () {
* Set a target point to move * Set a target point to move
*/ */
DroneManager.prototype.setTargetCoordinates = DroneManager.prototype.setTargetCoordinates =
function (latitude, longitude, altitude) { function (latitude, longitude, altitude, speed) {
this._internal_setTargetCoordinates(latitude, longitude, altitude); this._internal_setTargetCoordinates(latitude, longitude, altitude, speed);
}; };
DroneManager.prototype._internal_setTargetCoordinates = DroneManager.prototype._internal_setTargetCoordinates =
function (latitude, longitude, altitude, radius) { function (latitude, longitude, altitude, speed, radius) {
if (!this._canPlay) { if (!this._canPlay) {
return; return;
} }
...@@ -150,6 +150,7 @@ var DroneManager = /** @class */ (function () { ...@@ -150,6 +150,7 @@ var DroneManager = /** @class */ (function () {
return this._API.internal_setTargetCoordinates( return this._API.internal_setTargetCoordinates(
this, this,
this._targetCoordinates, this._targetCoordinates,
speed,
radius radius
); );
}; };
...@@ -197,15 +198,6 @@ var DroneManager = /** @class */ (function () { ...@@ -197,15 +198,6 @@ var DroneManager = /** @class */ (function () {
} }
return this._API.setStartingPosition(this, x, y, z); return this._API.setStartingPosition(this, x, y, z);
}; };
DroneManager.prototype.setAirSpeed = function (speed) {
if (!this._canPlay) {
return;
}
if (isNaN(speed)) {
throw new Error('Speed must be a number');
}
return this._API.setSpeed(this, speed);
};
DroneManager.prototype.setDirection = function (x, y, z) { DroneManager.prototype.setDirection = function (x, y, z) {
if (!this._canPlay) { if (!this._canPlay) {
return; return;
...@@ -299,11 +291,12 @@ var DroneManager = /** @class */ (function () { ...@@ -299,11 +291,12 @@ var DroneManager = /** @class */ (function () {
* Make the drone loiter (circle with a set radius) * Make the drone loiter (circle with a set radius)
*/ */
DroneManager.prototype.loiter = DroneManager.prototype.loiter =
function (latitude, longitude, altitude, radius) { function (latitude, longitude, altitude, radius, speed) {
this._internal_setTargetCoordinates( this._internal_setTargetCoordinates(
latitude, latitude,
longitude, longitude,
altitude, altitude,
speed,
radius radius
); );
}; };
......
...@@ -240,7 +240,7 @@ ...@@ -240,7 +240,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1011.48744.22696.33177</string> </value> <value> <string>1014.11746.34243.61149</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -260,7 +260,7 @@ ...@@ -260,7 +260,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1697032866.09</float> <float>1706523386.8</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -98,7 +98,8 @@ ...@@ -98,7 +98,8 @@
' me.setTargetCoordinates(\n' + ' me.setTargetCoordinates(\n' +
' CHECKPOINT_LIST[me.next_checkpoint].latitude,\n' + ' CHECKPOINT_LIST[me.next_checkpoint].latitude,\n' +
' CHECKPOINT_LIST[me.next_checkpoint].longitude,\n' + ' CHECKPOINT_LIST[me.next_checkpoint].longitude,\n' +
' CHECKPOINT_LIST[me.next_checkpoint].altitude + ALTITUDE + ALTITUDE * me.id\n' + ' CHECKPOINT_LIST[me.next_checkpoint].altitude + ALTITUDE + ALTITUDE * me.id,\n' +
' ' + DEFAULT_SPEED + '\n' +
' );\n' + ' );\n' +
' console.log("[DEMO] Going to Checkpoint %d", me.next_checkpoint);\n' + ' console.log("[DEMO] Going to Checkpoint %d", me.next_checkpoint);\n' +
' }\n' + ' }\n' +
......
...@@ -246,7 +246,7 @@ ...@@ -246,7 +246,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1011.48716.48246.13943</string> </value> <value> <string>1014.54902.15254.29337</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -266,7 +266,7 @@ ...@@ -266,7 +266,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1697031250.03</float> <float>1709130323.68</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
...@@ -57,13 +57,14 @@ ...@@ -57,13 +57,14 @@
'}\n' + '}\n' +
'\n' + '\n' +
'me.onStart = function () {\n' + 'me.onStart = function () {\n' +
' assert(me.getAirSpeed(), 16, "Initial speed");\n' + ' assert(me.getAirSpeed(), ' + DEFAULT_SPEED + ', "Initial speed");\n' +
' assert(me.getYaw(), 0, "Yaw angle")\n' + ' assert(me.getYaw(), 0, "Yaw angle")\n' +
' me.initialPosition = me.getCurrentPosition();\n' + ' me.initialPosition = me.getCurrentPosition();\n' +
' me.setTargetCoordinates(\n' + ' me.setTargetCoordinates(\n' +
' me.initialPosition.latitude + 0.01,\n' + ' me.initialPosition.latitude + 0.01,\n' +
' me.initialPosition.longitude,\n' + ' me.initialPosition.longitude,\n' +
' me.getAltitudeAbs()\n' + ' me.getAltitudeAbs(),\n' +
' '+ DEFAULT_SPEED + '\n' +
' );\n' + ' );\n' +
'};\n' + '};\n' +
'\n' + '\n' +
......
...@@ -246,7 +246,7 @@ ...@@ -246,7 +246,7 @@
</item> </item>
<item> <item>
<key> <string>serial</string> </key> <key> <string>serial</string> </key>
<value> <string>1012.50925.12802.42871</string> </value> <value> <string>1014.55202.15664.53026</string> </value>
</item> </item>
<item> <item>
<key> <string>state</string> </key> <key> <string>state</string> </key>
...@@ -266,7 +266,7 @@ ...@@ -266,7 +266,7 @@
</tuple> </tuple>
<state> <state>
<tuple> <tuple>
<float>1701095838.64</float> <float>1709130383.65</float>
<string>UTC</string> <string>UTC</string>
</tuple> </tuple>
</state> </state>
......
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