Commit Graph

117 Commits

Author SHA1 Message Date
Ian McEwen
fd9b691b74 Include uptime_seconds in sendTelemetry and print upon response 2024-07-10 17:29:42 -07:00
Ian McEwen
c04943308a Merge pull request #607 from geeksville/pr-powermon
PowerMon/StructuredLogging support
2024-07-07 20:56:28 -07:00
Ian McEwen
19d7e914bc Merge pull request #629 from ppicazo/trace_route_hop_fix
Fix for hopLimit param on sendTraceRoute not being respected
2024-07-07 20:43:22 -07:00
Paul Picazo
64bb668251 Fix line too long 2024-07-07 20:30:19 -07:00
Kevin Hester
2f5a736e1f Merge remote-tracking branch 'root/master' into pr-powermon
# Conflicts:
#	meshtastic/ble_interface.py
#	meshtastic/protobuf/mesh_pb2.py
#	meshtastic/protobuf/powermon_pb2.py
#	meshtastic/protobuf/powermon_pb2.pyi
2024-07-03 09:22:45 -07:00
Paul Picazo
775108b47b Hop limit param on sendTraceRoute fix 2024-07-02 10:09:58 -07:00
Ian McEwen
a14cc4f573 Update heartbeat interval to a fixed 300 seconds 2024-07-02 09:58:45 -07:00
Kevin Hester
6da04f7a15 Merge branch 'pr-bletweak' into pr-powermon
# Conflicts:
#	.vscode/launch.json
2024-06-30 13:03:33 -07:00
Ian McEwen
93fbc78492 Properly handle missing nodes in traceroute response (fixes #612) 2024-06-30 10:04:54 -07:00
Kevin Hester
1da687cf2d move @thebentern spiffy logging so it is shared with !ble log sources 2024-06-29 16:15:32 -07:00
Kevin Hester
542f99b28f handle the new LogRecord protobufs
(backwards/forwards compatible) with old firmware
2024-06-28 09:41:17 -07:00
Kevin Hester
ef4b534396 Merge branch 'pr-moveproto' into pr-powermon 2024-06-26 10:19:04 -07:00
Kevin Hester
88b73611f0 Move protobufs to meshtastic.protobuf python namespace 2024-06-26 10:05:59 -07:00
Kevin Hester
8761b3270a Merge remote-tracking branch 'root/master' into pr-powermon
# Conflicts:
#	meshtastic/mesh_interface.py
#	poetry.lock
#	pyproject.toml
2024-06-25 18:54:38 -07:00
Kevin Hester
7b18fd599c remove observable - switch because we are already using pubsub elsewhere 2024-06-25 10:25:58 -07:00
Kevin Hester
b41cb7d8df Merge branch 'pr-poetry' into powermon 2024-06-22 10:49:42 -07:00
Federico Ceratto
c34d08b0e5 Refactor timeago and add tests
_timeago is not specialized for mesh interfaces so it is factored
out into a private function
2024-06-21 10:28:45 +02:00
Federico Ceratto
b5d1b7612f Replace timeago
Replace the timeago library with a simple function
2024-06-21 09:25:39 +02:00
Ian McEwen
23f41bff0a Improve ACK handling: correctly pass them to onAckNak handlers, and add a mechanism for other handlers to request acks as well. 2024-06-20 16:52:01 -07:00
Ian McEwen
9dab76bb64 quell pylint 2024-06-05 18:56:19 -07:00
Ian McEwen
e6d61c6603 Allow a faster nodedb-less startup on 2.3.11+ with --no-nodes and the magic value from meshtastic/firmware#3949 2024-06-05 18:52:35 -07:00
Ian McEwen
e8dfee8454 Fix rounding of position values when converting from integer to float in _fixupPosition. Fixes #572 2024-05-31 18:57:30 -07:00
Ian McEwen
4d67e7fc76 Fix up/add some more types 2024-05-30 17:51:42 -07:00
Ian McEwen
93e9c1c66c Initialize unknown nodes more in line with meshtastic/design#16 2024-05-30 13:50:52 -07:00
Ian McEwen
02ed17837b Improve FromRadio handling, publish messages for client proxy/xmodem stuff tentatively 2024-05-10 14:54:32 -07:00
Ian McEwen
fb8db01427 Print 0 for channel rather than N/A, since we should probably always have a channel. Fixes #562 2024-05-02 18:22:39 -07:00
Ian McEwen
243e297505 Use the new Heartbeat payload variant for the heartbeat instead of an empty ToRadio packet 2024-04-29 15:16:04 -07:00
Ian McEwen
9fc86f9450 Merge pull request #558 from geeksville/pr-fixjson
Pretty indent --info JSON output (see below for details)
2024-04-28 21:40:43 -07:00
geeksville
3886bc16d7 Update python client to use the 'modern' meshtastic protocol init flow
Some time ago I updated the protocol so that after sending NODEINFOs to
client devices (via fromRadio protobufs), it would proactively send the
channel definitions.  Prior to this the client had to ask for each channel
by sending an admin request.  This handshaking was really slow for mobile/
bluetooth clients.  So in the current device code (last couple of years)
the device automatically sends this info to the client during initial config
download.

Unfortunately I never updated the python client to expect this.  I assumed
(incorrectly) that it would just cope and keep sending the channel requests
the old way it always had (which is still supported by devices - and
required for remote administration of nodes).

This change removes sending channel requests (for the local node only)
from the python startup code.  It also now understands (no longer ignoring)
the channels which were sent proactively by the local device.

This makes connection/config/api operations from the python client 100%
reliable again.  Previously it would only work sometimes depending on how
quickly it was able to get the local node db downloaded.

Also this flow is much faster - which should help all users of the python
api.
2024-04-27 11:59:17 -07:00
geeksville
7fe98bc266 Pretty indent --info JSON output (see below for details)
Changes to make --info much more human readable (while still keeping
machine readabilty for anyone foolish enough to be parsing the existing
output as text)

* change message_to_json to optionally not strip the multiline JSON
* use multiline=True for the two places we are printing to the console
* make the node list JSON indented
2024-04-26 15:15:57 -07:00
Ian McEwen
4d10b6e1bd Better support --ch-index for other commands (traceroute, telemetry, position) 2024-04-24 17:18:17 -07:00
GUVWAF
d4156d78c6 Add missing StoreForward config from radio 2024-04-22 20:09:30 +02:00
Ian McEwen
e8ba5581f6 Add a --request-position argument to request positions from nodes 2024-04-16 15:43:24 -07:00
Ian McEwen
a4830f5f62 Treat a message as an ack if there is an errorReason but it's set to NONE, not just if the errorReason is absent 2024-04-16 13:10:18 -07:00
Ian McEwen
6e7933a3ce Fix my own pylint mistakes 2024-04-11 18:40:10 -07:00
Ian McEwen
f449ff9506 Add a variety of type annotations, primarily in mesh_interface 2024-04-11 18:28:01 -07:00
Ian McEwen
278ca74a70 Show hops away when present in nodeDB (fixes #539) 2024-04-08 11:24:21 -07:00
Ian McEwen
b57d1d81ff Fix up pylint from merged PR 2024-04-02 15:15:22 -07:00
Ian McEwen
4c97866875 Merge pull request #511 from flavoromission/506-show-all-module-settings
feat:506 show all module settings
2024-04-02 13:11:35 -07:00
Ian McEwen
4baef92523 Fix assorted mypy-detected errors 2024-03-29 18:38:25 -07:00
Ian McEwen
ad8dbeab14 List unknown node IDs always with 8 hex digits, padded with 0s 2024-03-29 16:15:57 -07:00
Ian McEwen
a139d180b8 Fix up or comment out broken tests, to get CI (hopefully) happy 2024-03-23 22:07:17 -07:00
Ian McEwen
16a1af6a13 Create MeshInterface.MeshInterfaceError to specialize errors in that file 2024-03-19 12:58:44 -07:00
Ian McEwen
b8640666d7 Fix some outstanding pylint issues (or disable the checks) 2024-03-19 12:47:08 -07:00
flavor omission
27be73c707 feat:506 show all module settings
Problem:
Missing fields are omitted.

Solution:
This fix sets the flag `always_print_fields_with_no_presence`
in the invocation of the protobuff method
`MessageToJson` will display the missing fields.

see: MessageToJson 6b36eb633c/python/google/protobuf/json_format.py (L82)
see: issue #506 https://github.com/meshtastic/python/issues/506
2024-03-18 00:01:47 -04:00
Ian McEwen
9f2cc28fef Show unknown nodes in a fashion similar to the web UI. Fixes #504 2024-03-13 21:15:00 -07:00
Ben Meadors
67636c4ce2 Revert "Move pb2 Files to Own Folder" 2024-03-11 12:18:25 -05:00
foglet15
df8ea85873 change to PbDefinitions for clearer naming 2024-02-25 14:22:15 -05:00
foglet15
9a4feecea8 move pb2 to own folder, regen script writes to new folder, update imports 2024-02-25 13:11:36 -05:00
Thomas Herrmann
22f2168bfd add paxcounter moduleConfig
(fixes Bug #485 "No valid config with name paxcounter" for me)
2024-02-10 14:06:02 +01:00