|
|
|
@ -252,7 +252,7 @@ bool EnvironmentSensorManager::querySensors(uint8_t requester_permissions, Cayen |
|
|
|
next_available_channel = TELEM_CHANNEL_SELF + 1; |
|
|
|
|
|
|
|
if (requester_permissions & TELEM_PERM_LOCATION && gps_active) { |
|
|
|
telemetry.addGPS(TELEM_CHANNEL_SELF, node_lat, node_lon, 0.0f); // allow lat/lon via telemetry even if no GPS is detected
|
|
|
|
telemetry.addGPS(TELEM_CHANNEL_SELF, node_lat, node_lon, node_altitude); // allow lat/lon via telemetry even if no GPS is detected
|
|
|
|
} |
|
|
|
|
|
|
|
if (requester_permissions & TELEM_PERM_ENVIRONMENT) { |
|
|
|
@ -577,17 +577,23 @@ void EnvironmentSensorManager::loop() { |
|
|
|
node_lat = ((double)ublox_GNSS.getLatitude())/10000000.; |
|
|
|
node_lon = ((double)ublox_GNSS.getLongitude())/10000000.; |
|
|
|
MESH_DEBUG_PRINTLN("lat %f lon %f", node_lat, node_lon); |
|
|
|
node_altitude = ((double)ublox_GNSS.getAltitude()) / 1000.0; |
|
|
|
MESH_DEBUG_PRINTLN("lat %f lon %f alt %f", node_lat, node_lon, node_altitude); |
|
|
|
} |
|
|
|
else if (serialGPSFlag && _location->isValid()) { |
|
|
|
node_lat = ((double)_location->getLatitude())/1000000.; |
|
|
|
node_lon = ((double)_location->getLongitude())/1000000.; |
|
|
|
MESH_DEBUG_PRINTLN("lat %f lon %f", node_lat, node_lon); |
|
|
|
node_altitude = ((double)_location->getAltitude()) / 1000.0; |
|
|
|
MESH_DEBUG_PRINTLN("lat %f lon %f alt %f", node_lat, node_lon, node_altitude); |
|
|
|
} |
|
|
|
#else |
|
|
|
if (_location->isValid()) { |
|
|
|
node_lat = ((double)_location->getLatitude())/1000000.; |
|
|
|
node_lon = ((double)_location->getLongitude())/1000000.; |
|
|
|
MESH_DEBUG_PRINTLN("lat %f lon %f", node_lat, node_lon); |
|
|
|
node_altitude = ((double)_location->getAltitude()) / 1000.0; |
|
|
|
MESH_DEBUG_PRINTLN("lat %f lon %f alt %f", node_lat, node_lon, node_altitude); |
|
|
|
} |
|
|
|
#endif |
|
|
|
} |
|
|
|
|