Skip to content

Commit 96d47b3

Browse files
authored
Merge pull request #1 from Demon000/master
Allow passing host and port as command-line arguments
2 parents a8d0815 + 55edf15 commit 96d47b3

File tree

3 files changed

+14
-7
lines changed

3 files changed

+14
-7
lines changed

utils/cam-rx.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
# SPDX-License-Identifier: BSD-3-Clause
44
# Copyright (C) 2023, Tomi Valkeinen <[email protected]>
55

6+
import argparse
67
import struct
78
import sys
89
import traceback
@@ -13,7 +14,6 @@
1314
from PyQt6.QtCore import Qt
1415
import PyQt6.QtNetwork
1516

16-
PORT = 43242
1717
receivers = []
1818

1919
# ctx-idx, width, height, strides[4], format[16], num-planes, plane[4]
@@ -195,15 +195,21 @@ def readkey():
195195
qApp.quit()
196196

197197
def main():
198+
parser = argparse.ArgumentParser(description='Camera RX server')
199+
parser.add_argument('-H', '--host', default='0.0.0.0')
200+
parser.add_argument('-P', '--port', default=43242, type=int)
201+
args = parser.parse_args()
202+
198203
qApp = QtWidgets.QApplication(sys.argv)
199204
qApp.setQuitOnLastWindowClosed(False)
200205

201206
keynotif = QtCore.QSocketNotifier(sys.stdin.fileno(), QtCore.QSocketNotifier.Type.Read)
202207
keynotif.activated.connect(readkey)
203208

204209
tcpServer = PyQt6.QtNetwork.QTcpServer(qApp)
205-
tcpServer.listen(PyQt6.QtNetwork.QHostAddress('0.0.0.0'), PORT)
210+
tcpServer.listen(PyQt6.QtNetwork.QHostAddress(args.host), args.port)
206211
tcpServer.newConnection.connect(lambda: new_connection(tcpServer))
212+
print(f'Network receive on {args.host}:{args.port}')
207213

208214
return qApp.exec()
209215

utils/cam.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ def parse_args(ctx: Context):
5959
parser.add_argument('-S', '--script', help='User script')
6060
parser.add_argument('-D', '--delay', type=int, help='Delay in secs after the initial KMS modeset')
6161
parser.add_argument('-v', '--verbose', action='store_true', default=False, help='Verbose output')
62+
parser.add_argument('-H', '--host', default='192.168.88.20', type=str)
63+
parser.add_argument('-P', '--port', default=43242, type=int)
6264
parser.add_argument('config_name', help='Configuration name')
6365
parser.add_argument('params', nargs='*', help='Parameters to the configuration')
6466
args = parser.parse_args()
@@ -88,7 +90,8 @@ def parse_args(ctx: Context):
8890

8991
if args.tx:
9092
ctx.tx = args.tx.split(',')
91-
ctx.net_tx = NetTX()
93+
ctx.net_tx = NetTX(host=args.host, port=args.port)
94+
print(f'Network transfer on {args.host}:{args.port}')
9295
else:
9396
ctx.tx = None
9497
ctx.net_tx = None

utils/cam_helpers.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,9 @@ class NetTX:
6363
# ctx-idx, width, height, strides[4], format[16], num-planes, plane[4]
6464
struct_fmt = struct.Struct('<III4I16pI4I')
6565

66-
def __init__(self) -> None:
67-
HOST, PORT = '192.168.88.20', 43242
68-
66+
def __init__(self, host: str, port: int) -> None:
6967
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
70-
self.sock.connect((HOST, PORT))
68+
self.sock.connect((host, port))
7169

7270
def tx(self, stream, vbuf, is_drm):
7371
cap = stream['cap']

0 commit comments

Comments
 (0)