Hops Away implementation (#966)

* 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>
This commit is contained in:
Dayle Drinkwater 2024-04-21 12:14:35 +01:00 committed by GitHub
parent 261af4be62
commit 47b2ecc8aa
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 459 additions and 9 deletions

View file

@ -27,8 +27,9 @@ import com.geeksville.mesh.database.entity.QuickChatAction
autoMigrations = [
AutoMigration (from = 3, to = 4),
AutoMigration (from = 4, to = 5),
AutoMigration (from = 5, to = 6),
],
version = 5,
version = 6,
exportSchema = true,
)
@TypeConverters(Converters::class)