GPS eingebaut
This commit is contained in:
@@ -64,8 +64,10 @@
|
||||
CTRL: <span id="input-state">Joystick</span>
|
||||
</div>
|
||||
<div class="c-bl">
|
||||
X: <span id="cam-x">+0.00</span><br>
|
||||
Y: <span id="cam-y">+0.00</span>
|
||||
GPS: <span id="gps-state">Offline</span><br>
|
||||
SAT: <span id="gps-sats">--</span><br>
|
||||
LAT: <span id="gps-lat">--</span><br>
|
||||
LON: <span id="gps-lon">--</span>
|
||||
</div>
|
||||
<div class="c-br">
|
||||
HOST: <span id="cam-host">--</span><br>
|
||||
@@ -280,6 +282,8 @@ var ros = null;
|
||||
var joyListener = null;
|
||||
var roverCommandListener = null;
|
||||
var motorCommandsListener = null;
|
||||
var gpsFixListener = null;
|
||||
var gpsStatusListener = null;
|
||||
var publishTimer = null;
|
||||
var statusTimer = null;
|
||||
var axes = [0, 0, 0, 0, 0, 0];
|
||||
@@ -584,8 +588,28 @@ function updateAxesDisplay(x, y) {
|
||||
setText("jy", formatAxis(y));
|
||||
setText("dpx", formatAxis(x));
|
||||
setText("dpy", formatAxis(y));
|
||||
setText("cam-x", formatAxis(x));
|
||||
setText("cam-y", formatAxis(y));
|
||||
}
|
||||
|
||||
function updateGpsOverlayFromFix(message) {
|
||||
if (!message) return;
|
||||
|
||||
var hasFix = message.status && message.status.status >= 0;
|
||||
if (!hasFix) {
|
||||
setText("gps-lat", "--");
|
||||
setText("gps-lon", "--");
|
||||
return;
|
||||
}
|
||||
|
||||
setText("gps-lat", formatNumber(Number(message.latitude || 0), 5));
|
||||
setText("gps-lon", formatNumber(Number(message.longitude || 0), 5));
|
||||
}
|
||||
|
||||
function updateGpsOverlayFromStatus(text) {
|
||||
var value = String(text || "Offline");
|
||||
setText("gps-state", value);
|
||||
|
||||
var satMatch = value.match(/(\d+)\s*Sat/i);
|
||||
setText("gps-sats", satMatch ? satMatch[1] : "--");
|
||||
}
|
||||
|
||||
function updateModeDisplay() {
|
||||
@@ -1028,6 +1052,22 @@ window.addEventListener("load", function () {
|
||||
renderTrajectoryOverlay();
|
||||
});
|
||||
|
||||
gpsFixListener = new ROSLIB.Topic({
|
||||
ros: ros,
|
||||
name: "/fix",
|
||||
messageType: "sensor_msgs/NavSatFix"
|
||||
});
|
||||
gpsFixListener.subscribe(updateGpsOverlayFromFix);
|
||||
|
||||
gpsStatusListener = new ROSLIB.Topic({
|
||||
ros: ros,
|
||||
name: "/gps/status_text",
|
||||
messageType: "std_msgs/String"
|
||||
});
|
||||
gpsStatusListener.subscribe(function (message) {
|
||||
updateGpsOverlayFromStatus(message.data);
|
||||
});
|
||||
|
||||
var joySubscriber = new ROSLIB.Topic({
|
||||
ros: ros,
|
||||
name: "/joy",
|
||||
|
||||
Reference in New Issue
Block a user