GNSS Ctrl Improvements #871
@ -256,23 +256,17 @@ ReturnValue_t GpsHyperionLinuxController::handleCoreTelemetry(bool modeIsSet) {
|
|||||||
if (newFix == GpsHyperion::FixMode::NOT_SEEN or newFix == GpsHyperion::FixMode::NO_FIX) {
|
if (newFix == GpsHyperion::FixMode::NOT_SEEN or newFix == GpsHyperion::FixMode::NO_FIX) {
|
||||||
if (maxTimeToReachFix.hasTimedOut()) {
|
if (maxTimeToReachFix.hasTimedOut()) {
|
||||||
// We are supposed to be on and functioning, but no fix was found
|
// We are supposed to be on and functioning, but no fix was found
|
||||||
// ToDo:: maybe pull reset pins here
|
// Set HK entries invalid
|
||||||
|
PoolReadGuard pg(&gpsSet);
|
||||||
|
gpsSet.setValidity(false, true);
|
||||||
if (resetCallback != nullptr) {
|
if (resetCallback != nullptr) {
|
||||||
PoolReadGuard pg(&gpsSet);
|
|
||||||
// Set HK entries invalid
|
|
||||||
gpsSet.setValidity(false, true);
|
|
||||||
ReturnValue_t result = resetCallback(0, 1, resetCallbackArgs);
|
ReturnValue_t result = resetCallback(0, 1, resetCallbackArgs);
|
||||||
if (result != returnvalue::OK) {
|
if (result != returnvalue::OK) {
|
||||||
return result;
|
// ToDo: Trigger Event
|
||||||
}
|
}
|
||||||
}
|
result = resetCallback(1, 1, resetCallbackArgs);
|
||||||
if (resetCallback != nullptr) {
|
|
||||||
PoolReadGuard pg(&gpsSet);
|
|
||||||
// Set HK entries invalid
|
|
||||||
gpsSet.setValidity(false, true);
|
|
||||||
ReturnValue_t result = resetCallback(1, 1, resetCallbackArgs);
|
|
||||||
if (result != returnvalue::OK) {
|
if (result != returnvalue::OK) {
|
||||||
return result;
|
// ToDo: Trigger Event
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user