847 Commits

Author SHA1 Message Date
Ian McEwen
e01a1bb6e0 add a warning on --ch-enable and --ch-disable, which should usually be avoided 2024-05-13 21:27:53 -07:00
Ian McEwen
1ebea53703 make pylint happy with import order 2024-05-11 22:28:50 -07:00
Ian McEwen
ba2d6c9d93 continue progressively typing things (SerialInterface/BLEInterface initializations) 2024-05-11 22:27:31 -07:00
Ian McEwen
fef0e1b77f Remove an unuseful/inaccurate comment 2024-05-10 20:17:48 -07:00
Ian McEwen
dc1dec17b5 protobufs: v2.3.9 2024-05-10 14:56:07 -07:00
Ian McEwen
02ed17837b Improve FromRadio handling, publish messages for client proxy/xmodem stuff tentatively 2024-05-10 14:54:32 -07:00
John Hollowell
02189aae07 Fix typo in __main__.py 2024-05-02 21:51:09 -04: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
022a8a1017 protobufs: v2.3.8 2024-05-01 09:40:04 -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
6812f508bc Add --enter-dfu for entering DFU mode on NRF52 devices via admin message 2024-04-25 11:21:27 -07:00
Ian McEwen
4d10b6e1bd Better support --ch-index for other commands (traceroute, telemetry, position) 2024-04-24 17:18:17 -07:00
Ian McEwen
bb6e3b7a49 protobufs: v2.3.7 2024-04-23 21:35:15 -07:00
GUVWAF
d4156d78c6 Add missing StoreForward config from radio 2024-04-22 20:09:30 +02:00
Ian McEwen
5ebc8e6f95 Don't allow --dest with --tunnel either 2024-04-21 10:38:01 -07:00
Ian McEwen
56d1dcafe5 --dest doesn't work with --export-config 2024-04-21 10:35:59 -07:00
Ian McEwen
393c765557 Fix up tests 2024-04-21 10:32:07 -07:00
Ian McEwen
243b310eb2 Allow generating QR codes for remote nodes and for all channels 2024-04-21 09:41:07 -07:00
Ian McEwen
cd1ecab4e0 Don't allow --dest with --setlat/lon/alt. Fixes #545 2024-04-21 09:38:32 -07:00
Ian McEwen
70c5a30b77 protobufs: v2.3.6 2024-04-18 14:08:40 -07:00
Ian McEwen
4226201423 Don't export null altitude, but support importing null lat/lon/alt as 0s. Fixes #548 2024-04-18 12:15:58 -07:00
Ian McEwen
e8ba5581f6 Add a --request-position argument to request positions from nodes 2024-04-16 15:43:24 -07:00
Ian McEwen
948846e0f1 Send the position the node already thinks it's at when --no-time is absent, rather than an empty position 2024-04-16 15:13:53 -07:00
Ian McEwen
6c4dbb6fe6 Fix quotes 2024-04-16 14:58:50 -07:00
Ian McEwen
afbabf9538 Merge branch 'bugfix-466-yaml-import' 2024-04-16 13:56:00 -07:00
Ian McEwen
d8107122a2 Merge remote-tracking branch 'danwelch3/bugfix-466-yaml-import' into bugfix-466-yaml-import 2024-04-16 13:53:54 -07:00
Dan Welch
03c1f08e45 Fix Lint Error
- add docstring to traverseConfig function
2024-04-16 14:46:35 -06:00
Ian McEwen
760fcfcea7 Merge pull request #544 from holdenweb/new-globals
Refactor to avoid the use of a special global object.
2024-04-16 13:17:16 -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
ddad5f08b3 protobufs: v2.3.5 2024-04-14 12:30:14 -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
Steve Holden
a07e853f69 Refactor to remove pylint issues.
Since one of pylint's complains was that the globals module was
shadowing the built-in, and since the name `config` was already
is use in several modules, globals.py was renamed as mt_config.py.
All tests now pass, and the only remaining local pylint errors
relate to the protobuf code, I'm hoping this will make the PR
valid.
2024-04-10 17:42:44 +01:00
Steve Holden
0d57449030 Begin to rationalise test data.
Also refactor to silence some CI issues.
2024-04-10 14:25:17 +01:00
Steve Holden
067cddd354 Refactor to avoid the use of a special global object.
The global object formerly used is now replaced by direct use
of the namespace opf the globals module. This eliminates the
redundant getters and setters and simplifies the code for
future maintainers.

Note that the globals module name conflicts (harmlessly at
present) with a Python built-in function. A future commit
should rename it `config` to remove this clash and better
represent its intended purpose.
2024-04-10 10:03:12 +01:00
AeroXuk
4af1b322da Also accept nested settings in module_config.
Show full config path in output when nested.
2024-04-09 12:27:08 +01:00
AeroXuk
c580df15e1 Merge 'master' into 'bugfix-466-yaml-import'. 2024-04-09 12:20:04 +01:00
Ian McEwen
439b1ade2e Add --remove-node (fixes #514) 2024-04-08 14:58:15 -07:00
Ian McEwen
278ca74a70 Show hops away when present in nodeDB (fixes #539) 2024-04-08 11:24:21 -07:00
Ian McEwen
7cea3cefc8 protobufs: v2.3.4 2024-04-08 10:12:50 -07:00
Ian McEwen
157f9cd276 Group and organize arguments a bit more 2024-04-07 23:20:02 -07:00
Ian McEwen
e742b5c0b8 Split out connection-related args into their own function & group 2024-04-05 15:22:26 -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
8bb0cdf21b Merge pull request #528 from ianmcorvidae/protobufs-mypy
Protobuf type interfaces for type-checking & undoing protobufs hack
2024-04-01 10:50:24 -07:00
Ian McEwen
917d6b2214 update docs for --listen too 2024-03-30 11:06:01 -07:00
Ian McEwen
523a855238 When --listen is set, turn on debug-level logging as though --debug was, even if it wasn't explicitly provided
Fixes #513
2024-03-30 11:04:33 -07:00