Improved GPS Settings app and GPS service (#222)

- Fixes and improvements to `GpsSettings` app, `GpsDevice` and `GpsService`
- Implemented location/GPS statusbar icon
- Added app icon
- Added support for other GPS models (based on Meshtastic code)
This commit is contained in:
Ken Van Hoeylandt
2025-02-18 22:07:37 +01:00
committed by GitHub
parent ad2cad3bf1
commit 5055fa7822
30 changed files with 2130 additions and 384 deletions
@@ -1,6 +1,9 @@
#pragma once
#include "Tactility/hal/gps/GpsDevice.h"
#include "GpsState.h"
#include <Tactility/PubSub.h>
namespace tt::service::gps {
@@ -16,7 +19,13 @@ bool startReceiving();
/** Turn GPS receiving off */
void stopReceiving();
/** @return true when GPS receiver is on and 1 or more devices are active */
bool isReceiving();
bool hasCoordinates();
bool getCoordinates(minmea_sentence_rmc& rmc);
State getState();
/** @return GPS service pubsub that broadcasts State* objects */
std::shared_ptr<PubSub> getStatePubsub();
}
@@ -0,0 +1,12 @@
#pragma once
namespace tt::service::gps {
enum class State {
OnPending,
On,
OffPending,
Off
};
}
@@ -76,7 +76,7 @@ struct ApRecord {
};
/**
* @brief Get wifi pubsub
* @brief Get wifi pubsub that broadcasts Event objects
* @return PubSub
*/
std::shared_ptr<PubSub> getPubsub();