Skip to content

Commit a3fb476

Browse files
AeyohanJordanYates
authored andcommitted
tools: enable --server-port arguments
Added the `--server-port` argument to any tools that act or interact with a gateway. Signed-off-by: Aeyohan Furtado <aeyohan@embeint.com>
1 parent 9fa1601 commit a3fb476

13 files changed

Lines changed: 45 additions & 37 deletions

src/infuse_iot/tools/annotate_events.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,9 @@
2525
ClientNotificationConnectionDropped,
2626
GatewayRequestConnectionRequest,
2727
LocalClient,
28-
default_multicast_address,
2928
)
3029
from infuse_iot.time import InfuseTime
31-
from infuse_iot.util.argparse import InfuseDeviceId, ValidFile
30+
from infuse_iot.util.argparse import InfuseDeviceId, ValidFile, add_server_port_parser
3231
from infuse_iot.util.console import choose_one
3332
from infuse_iot.zephyr.errno import errno
3433

@@ -121,6 +120,8 @@ def add_parser(cls, parser):
121120

122121
parser.add_argument("--id", type=InfuseDeviceId, help="Device to log events to")
123122

123+
add_server_port_parser(parser)
124+
124125
def __init__(self, args):
125126
self._label_type = args.labels
126127
self._time_check = args.time or TimeCheckType.DEFAULT
@@ -153,7 +154,7 @@ def __init__(self, args):
153154
self._labels = []
154155

155156
self._logger: rpc_enum_data_logger = args.logger
156-
self._client = LocalClient(default_multicast_address(), 1.0)
157+
self._client = LocalClient(args.server_sock, 1.0)
157158
self._device_id = args.id
158159
self.rpc_client: RpcClient | None = None
159160
self.connected = False

src/infuse_iot/tools/audio_record.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,9 @@
1919
ClientNotificationEpacketReceived,
2020
GatewayRequestConnectionRequest,
2121
LocalClient,
22-
default_multicast_address,
2322
)
2423
from infuse_iot.tdf import TDF
25-
from infuse_iot.util.argparse import InfuseDeviceId
24+
from infuse_iot.util.argparse import InfuseDeviceId, add_server_port_parser
2625
from infuse_iot.util.console import Console
2726

2827

@@ -32,7 +31,7 @@ class SubCommand(InfuseCommand):
3231
DESCRIPTION = "Record audio data to a file from TDF"
3332

3433
def __init__(self, args):
35-
self._client = LocalClient(default_multicast_address(), 1.0)
34+
self._client = LocalClient(args.server_sock, 1.0)
3635
self._decoder = TDF()
3736
if args.gateway:
3837
self._id = InfuseID.GATEWAY
@@ -54,6 +53,8 @@ def add_parser(cls, parser):
5453
)
5554
parser.add_argument("--name", type=str, help="Filename prefix")
5655

56+
add_server_port_parser(parser)
57+
5758
def handle_channel(self, channel: str, stack: ExitStack, tdf: TDF.Reading):
5859
if channel == "left":
5960
chan = self._left

src/infuse_iot/tools/auto_activate.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
from infuse_iot.socket_comms import (
1919
GatewayRequestConnectionRequest,
2020
LocalClient,
21-
default_multicast_address,
2221
)
2322
from infuse_iot.tdf import TDF
23+
from infuse_iot.util.argparse import add_server_port_parser
2424

2525

2626
class SubCommand(InfuseCommand):
@@ -31,7 +31,7 @@ class SubCommand(InfuseCommand):
3131
def __init__(self, args):
3232
self.app_ids = args.app
3333
self.active = args.active or False
34-
self.client = LocalClient(default_multicast_address(), 1.0)
34+
self.client = LocalClient(args.server_sock, 1.0)
3535
self.decoder = TDF()
3636
self.state = "Scanning"
3737
self.name = "Active" if args.active else "Inactive"
@@ -47,6 +47,8 @@ def add_parser(cls, parser):
4747
mode_group.add_argument("--active", action="store_true", help="Move all devices to active state")
4848
mode_group.add_argument("--inactive", action="store_true", help="Move all devices to inactive state")
4949

50+
add_server_port_parser(parser)
51+
5052
def progress_table(self):
5153
table = Table()
5254
table.add_column()

src/infuse_iot/tools/bt_log.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@
1515
ClientNotificationEpacketReceived,
1616
GatewayRequestConnectionRequest,
1717
LocalClient,
18-
default_multicast_address,
1918
)
2019
from infuse_iot.tdf import TDF
21-
from infuse_iot.util.argparse import InfuseDeviceId
20+
from infuse_iot.util.argparse import InfuseDeviceId, add_server_port_parser
2221
from infuse_iot.util.console import Console
2322

2423

@@ -28,7 +27,7 @@ class SubCommand(InfuseCommand):
2827
DESCRIPTION = "Connect to remote Bluetooth device serial logs"
2928

3029
def __init__(self, args):
31-
self._client = LocalClient(default_multicast_address(), 1.0)
30+
self._client = LocalClient(args.server_sock, 1.0)
3231
self._decoder = TDF()
3332
self._id = args.id
3433
self._data = args.data
@@ -41,6 +40,7 @@ def add_parser(cls, parser):
4140
parser.add_argument(
4241
"--conn-timeout", type=int, default=10000, help="Timeout to wait for a connection to the device (ms)"
4342
)
43+
add_server_port_parser(parser)
4444

4545
def run(self):
4646
if not self._client.comms_check():

src/infuse_iot/tools/data_logger_sync.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,8 @@
2828
from infuse_iot.socket_comms import (
2929
GatewayRequestConnectionRequest,
3030
LocalClient,
31-
default_multicast_address,
3231
)
33-
from infuse_iot.util.argparse import ValidDir
32+
from infuse_iot.util.argparse import ValidDir, add_server_port_parser
3433

3534

3635
class DeviceState:
@@ -65,7 +64,7 @@ class SubCommand(InfuseCommand):
6564
DESCRIPTION = "Synchronise data logger state from remote devices"
6665

6766
def __init__(self, args):
68-
self._client = LocalClient(default_multicast_address(), 1.0)
67+
self._client = LocalClient(args.server_sock, 1.0)
6968
self._min_rssi: int | None = args.rssi
7069
self._app = args.app
7170
self._out = args.out
@@ -112,6 +111,8 @@ def add_parser(cls, parser):
112111
help="Synchronise removable loggers",
113112
)
114113

114+
add_server_port_parser(parser)
115+
115116
def progress_table(self):
116117
table = Table()
117118
table.add_column("Device ID")

src/infuse_iot/tools/gateway.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,8 @@
5151
GatewayRequestEpacketSend,
5252
GatewayRequestObservedDevices,
5353
LocalServer,
54-
default_multicast_address,
5554
)
56-
from infuse_iot.util.argparse import ValidFile
55+
from infuse_iot.util.argparse import ValidFile, add_server_port_parser
5756
from infuse_iot.util.console import Console
5857
from infuse_iot.util.os import is_wsl
5958
from infuse_iot.util.threading import SignaledThread
@@ -529,7 +528,7 @@ def add_parser(cls, parser):
529528
)
530529
parser.add_argument("--baud", type=int, default=115200, help="Baudrate for serial port")
531530
parser.add_argument("--root", type=ValidFile, help="Root identity certificate to use instead of cloud")
532-
parser.add_argument("--server-port", type=int, help="Alternate multicast port to use")
531+
add_server_port_parser(parser)
533532

534533
def __init__(self, args: argparse.Namespace):
535534
self.port: SerialLike
@@ -545,8 +544,7 @@ def __init__(self, args: argparse.Namespace):
545544
if args.display_only:
546545
self.server = None
547546
else:
548-
addr = default_multicast_address(args.server_port) if args.server_port else default_multicast_address()
549-
self.server = LocalServer(addr)
547+
self.server = LocalServer(args.server_sock)
550548
self.rpc_server = LocalRpcServer(self.ddb)
551549
self._common = CommonThreadState(self.server, self.port, self.ddb, self.rpc_server)
552550
self.log = args.log

src/infuse_iot/tools/localhost.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@
2626
from infuse_iot.socket_comms import (
2727
ClientNotificationEpacketReceived,
2828
LocalClient,
29-
default_multicast_address,
3029
)
3130
from infuse_iot.tdf import TDF
3231
from infuse_iot.time import InfuseTime
32+
from infuse_iot.util.argparse import add_server_port_parser
3333
from infuse_iot.util.console import Console
3434
from infuse_iot.util.threading import SignaledThread
3535

@@ -42,6 +42,7 @@ class SubCommand(InfuseCommand):
4242
@classmethod
4343
def add_parser(cls, parser):
4444
parser.add_argument("--port", "-p", type=int, default=8080, help="Port number for localhost server")
45+
add_server_port_parser(parser)
4546

4647
def __init__(self, args):
4748
self._data_lock = threading.Lock()
@@ -51,7 +52,7 @@ def __init__(self, args):
5152
self._data: dict[int, dict] = {}
5253
self._port: int = args.port
5354

54-
self._client = LocalClient(default_multicast_address(), 1.0)
55+
self._client = LocalClient(args.server_sock, 1.0)
5556
self._decoder = TDF()
5657

5758
# Serve the HTML file

src/infuse_iot/tools/native_bt.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,8 @@
4343
GatewayRequestConnectionRequest,
4444
GatewayRequestEpacketSend,
4545
LocalServer,
46-
default_multicast_address,
4746
)
48-
from infuse_iot.util.argparse import BtLeAddress, ValidFile
47+
from infuse_iot.util.argparse import BtLeAddress, ValidFile, add_server_port_parser
4948
from infuse_iot.util.console import Console
5049

5150

@@ -212,11 +211,12 @@ class SubCommand(InfuseCommand):
212211
@classmethod
213212
def add_parser(cls, parser):
214213
parser.add_argument("--root", type=ValidFile, help="Root identity certificate to use instead of cloud")
214+
add_server_port_parser(parser)
215215

216216
def __init__(self, args: argparse.Namespace):
217217
self.infuse_manu = 0x0DE4
218218
self.database = DeviceDatabase(args.root)
219-
self.server = LocalServer(default_multicast_address())
219+
self.server = LocalServer(args.server_sock)
220220
self.bleak_mapping: dict[int, BLEDevice] = {}
221221
self.unknown_networks: set[int] = set()
222222
Console.init()

src/infuse_iot/tools/ota_upgrade.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,8 @@
2828
from infuse_iot.socket_comms import (
2929
GatewayRequestConnectionRequest,
3030
LocalClient,
31-
default_multicast_address,
3231
)
33-
from infuse_iot.util.argparse import InfuseDeviceId, ValidFile, ValidRelease
32+
from infuse_iot.util.argparse import InfuseDeviceId, ValidFile, ValidRelease, add_server_port_parser
3433
from infuse_iot.util.crc import crc16_ccitt
3534
from infuse_iot.zephyr.errno import errno
3635

@@ -41,7 +40,7 @@ class SubCommand(InfuseCommand):
4140
DESCRIPTION = "Automatically OTA upgrade observed devices"
4241

4342
def __init__(self, args):
44-
self._client = LocalClient(default_multicast_address(), 1.0)
43+
self._client = LocalClient(args.server_sock, 1.0)
4544
self._conn_timeout = args.conn_timeout
4645
self._min_rssi: int | None = args.rssi
4746
self._explicit_ids: list[int] = []
@@ -107,6 +106,8 @@ def add_parser(cls, parser):
107106
explicit.add_argument("--id", type=InfuseDeviceId, help="Single device to upgrade")
108107
explicit.add_argument("--list", type=ValidFile, help="File containing a list of IDs to upgrade")
109108

109+
add_server_port_parser(parser)
110+
110111
def progress_table(self):
111112
table = Table()
112113
table.add_column(f"{self._app_name}\n{self._new_ver}")

src/infuse_iot/tools/rpc.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@
2020
ClientNotificationEpacketReceived,
2121
GatewayRequestConnectionRequest,
2222
LocalClient,
23-
default_multicast_address,
2423
)
25-
from infuse_iot.util.argparse import InfuseDeviceId
24+
from infuse_iot.util.argparse import InfuseDeviceId, add_server_port_parser
2625

2726

2827
class SubCommand(InfuseCommand):
@@ -56,9 +55,11 @@ def add_parser(cls, parser):
5655
cmd_parser.set_defaults(rpc_class=cmd_cls)
5756
cmd_cls.add_parser(cmd_parser)
5857

58+
add_server_port_parser(parser)
59+
5960
def __init__(self, args: argparse.Namespace):
6061
self._args = args
61-
self._client = LocalClient(default_multicast_address(), 1.0)
62+
self._client = LocalClient(args.server_sock, 1.0)
6263
self._command: InfuseRpcCommand = args.rpc_class(args)
6364
self._request_id = random.randint(0, 2**32 - 1)
6465
self._max_payload = 0

0 commit comments

Comments
 (0)