Skip to content

Commit

Permalink
Merge pull request #1 from Demon000/master
Browse files Browse the repository at this point in the history
Allow passing host and port as command-line arguments
  • Loading branch information
tomba authored Oct 28, 2024
2 parents a8d0815 + 55edf15 commit 96d47b3
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 7 deletions.
10 changes: 8 additions & 2 deletions utils/cam-rx.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright (C) 2023, Tomi Valkeinen <[email protected]>

import argparse
import struct
import sys
import traceback
Expand All @@ -13,7 +14,6 @@
from PyQt6.QtCore import Qt
import PyQt6.QtNetwork

PORT = 43242
receivers = []

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

def main():
parser = argparse.ArgumentParser(description='Camera RX server')
parser.add_argument('-H', '--host', default='0.0.0.0')
parser.add_argument('-P', '--port', default=43242, type=int)
args = parser.parse_args()

qApp = QtWidgets.QApplication(sys.argv)
qApp.setQuitOnLastWindowClosed(False)

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

tcpServer = PyQt6.QtNetwork.QTcpServer(qApp)
tcpServer.listen(PyQt6.QtNetwork.QHostAddress('0.0.0.0'), PORT)
tcpServer.listen(PyQt6.QtNetwork.QHostAddress(args.host), args.port)
tcpServer.newConnection.connect(lambda: new_connection(tcpServer))
print(f'Network receive on {args.host}:{args.port}')

return qApp.exec()

Expand Down
5 changes: 4 additions & 1 deletion utils/cam.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ def parse_args(ctx: Context):
parser.add_argument('-S', '--script', help='User script')
parser.add_argument('-D', '--delay', type=int, help='Delay in secs after the initial KMS modeset')
parser.add_argument('-v', '--verbose', action='store_true', default=False, help='Verbose output')
parser.add_argument('-H', '--host', default='192.168.88.20', type=str)
parser.add_argument('-P', '--port', default=43242, type=int)
parser.add_argument('config_name', help='Configuration name')
parser.add_argument('params', nargs='*', help='Parameters to the configuration')
args = parser.parse_args()
Expand Down Expand Up @@ -88,7 +90,8 @@ def parse_args(ctx: Context):

if args.tx:
ctx.tx = args.tx.split(',')
ctx.net_tx = NetTX()
ctx.net_tx = NetTX(host=args.host, port=args.port)
print(f'Network transfer on {args.host}:{args.port}')
else:
ctx.tx = None
ctx.net_tx = None
Expand Down
6 changes: 2 additions & 4 deletions utils/cam_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,9 @@ class NetTX:
# ctx-idx, width, height, strides[4], format[16], num-planes, plane[4]
struct_fmt = struct.Struct('<III4I16pI4I')

def __init__(self) -> None:
HOST, PORT = '192.168.88.20', 43242

def __init__(self, host: str, port: int) -> None:
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.connect((HOST, PORT))
self.sock.connect((host, port))

def tx(self, stream, vbuf, is_drm):
cap = stream['cap']
Expand Down

0 comments on commit 96d47b3

Please sign in to comment.