- Added `androidx.core:core-location-altitude:1.0.0-alpha02`;
- Implemented `AltitudeConverterCompat.addMslAltitudeToLocation(context, location)` to convert `altitude` (above the WGS84 reference ellipsoid) to Mean Sea Level (MSL) and add MSL altitude and accuracy to the location object.
Reference:
- https://issuetracker.google.com/issues/195660815
- Brian Julian and Michael Angermann. "Resource efficient and accurate altitude conversion to Mean Sea Level." [2023 IEEE/ION Position, Location and Navigation Symposium (PLANS)](https://www.ion.org/plans/abstracts.cfm?paperID=12011).
* Initial Hops Away feature
* Generate our own hopsAway, comparing hopStart to hopLimit
* Remove import of hopsAway from device nodeInfo, as this only shows 0 when hopStart isn't included on packets (with this info, we can't differentiate between a node which is Hops Away but on old firmware, or nodes which are on new firmware but direct. Both are 0)
Check if hopStart is 0 but hopLimit is not 0, if true set hopsAway to -1.
Show nodes with hopsAway with -1 with a (!) appended to the RSSI details, to show this probably isn't true. (eg they are using old firmware)
Change the default of hopsAway to -1, until we know it is direct (0) or hops away (1+)
* tidy up: move from nested if else to when
* Revert Project_Default.xml
* Move hopsAway when block in to updateNodeInfo() block above it.
Move hopsAway var to end of NodeInfo Class.
Schema update due to change above.
* hopsAway now follows firmware implementation.
hopsAway now imported from radio (installNodeInfo)
* reformat
---------
Co-authored-by: andrekir <andrekir@pm.me>
workaround for when the mesh is busy, radios fail to respond with `QueueStatus` and acknowledge sent packets.
- wait until radio queue is free or timeout, always assume sent packets went through;
- never resend, just timeout and move on to the next packet when there is no `QueueStatus` response.