summaryrefslogtreecommitdiffhomepage
path: root/python/pi_rcv.py
blob: eb9a4d963490250ab7783d60e5d12aee52e22cf4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
""" 
    file: pi_rcv.py

    Copyright (C) 2025 Private Island Networks Inc.

"""

import sys
import argparse
import asyncio
import asyncio_dgram

VERSION = '0.1'

async def udp_rcv(args):
    """ controller response """
    stream = await asyncio_dgram.bind((args.ipaddr, 0x8000))
    print(f"Serving on {stream.sockname}")
    while(True):    
        data, remote_addr = await stream.recv()
        if args.verbose:
            print(f"received: {data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7]}")

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='UDP (datagram) test receiver', epilog='Version: ' + str(VERSION))
    parser.add_argument('-i','--ipaddr',default="192.168.5.40", help='receive IP address',action='store', required=False)
    parser.add_argument('-p','--port',default="0x8020", help='receive port',action='store', required=False)
    parser.add_argument('-v','--verbose',action='store_true', help='be verbose')
    
    args = parser.parse_args()
    
    asyncio.run(udp_rcv(args))
    
    stream.close()
    
    print('exit')
    

Highly Recommended Verilog Books