コード例 #1
0
ファイル: ioserver.py プロジェクト: whirekristal/halucinator
def main():
    from argparse import ArgumentParser
    p = ArgumentParser()
    p.add_argument('-r', '--rx_port', default=5556,
                   help='Port number to receive zmq messages for IO on')
    p.add_argument('-t', '--tx_port', default=5555,
                   help='Port number to send IO messages via zmq')
    args = p.parse_args()

    import halucinator.hal_log as hal_log
    hal_log.setLogConfig()
    
    io_server = IOServer(args.rx_port, args.tx_port)
    io_server.start()

    try:
        while(1):
            topic = input("Topic:")
            msg_id = input("ID:")
            data = input("Data:")

            d = {'id': msg_id, 'data': data}
            io_server.send_msg(topic, d)
    except KeyboardInterrupt:
        io_server.shutdown()
コード例 #2
0
def main():
    from argparse import ArgumentParser
    p = ArgumentParser()
    p.add_argument('-r',
                   '--rx_ports',
                   nargs='+',
                   default=[5556, 5558],
                   help='Port numbers to receive zmq messages for IO on')
    p.add_argument(
        '-t',
        '--tx_ports',
        nargs='+',
        default=[5555, 5557],
        help=
        'Port numbers to send IO messages via zmq, length must match --rx_ports'
    )
    p.add_argument(
        '-l',
        '--logs',
        nargs='+',
        default=['Receiver.txt', 'Sender.txt'],
        help='Log files to write IO frames to, length must match --rx_ports')
    args = p.parse_args()

    if len(args.rx_ports) != len(args.tx_ports):
        print("Number of rx_ports and number of tx_ports must match")
        p.print_usage()
        quit(-1)

    import halucinator.hal_log as hal_log
    hal_log.setLogConfig()

    hub = IEEE802_15_4()

    for idx, rx_port in enumerate(args.rx_ports):
        print(idx)
        server = IOServer(rx_port, args.tx_ports[idx], args.logs[idx])
        hub.add_server(server)
        server.start()

    time.sleep(2)
    try:
        msg = {"id": 'rf233', 'frame': None}
        while (1):
            frame = input("Enter Hexlified Frame")
            msg['frame'] = binascii.unhexlify(frame)
            hub.received_frame(None, msg)
    except KeyboardInterrupt:
        pass
    log.info("Shutting Down")
    hub.shutdown()
コード例 #3
0
def main():
    from argparse import ArgumentParser
    p = ArgumentParser()
    p.add_argument('-r',
                   '--rx_port',
                   default=5556,
                   help='Port number to receive zmq messages for IO on')
    p.add_argument('-t',
                   '--tx_port',
                   default=5555,
                   help='Port number to send IO messages via zmq')
    p.add_argument('-i',
                   '--id',
                   default=0x20000ab0,
                   type=int,
                   help="Id to use when sending data")
    p.add_argument('-n',
                   '--newline',
                   default=False,
                   action='store_true',
                   help="Append Newline")
    args = p.parse_args()

    import halucinator.hal_log as hal_log
    hal_log.setLogConfig()

    io_server = IOServer(args.rx_port, args.tx_port)
    uart = UARTPrintServer(io_server)

    # STEP 3
    # Instantiate your LEDDevice class and as led and pass io_server to its initializer
    led = LEDDevice(io_server)
    io_server.start()

    try:
        while (1):
            data = input()
            log.debug("Got %s" % str(data))
            if args.newline:
                data += "\n"
            if data == '\\n':
                data = '\r\n'
            elif data == '':
                break
            #d = {'id':args.id, 'data': data}
            uart.send_data(args.id, data)
    except KeyboardInterrupt:
        pass
    log.info("Shutting Down")
    io_server.shutdown()
コード例 #4
0
def main():
    from argparse import ArgumentParser

    p = ArgumentParser()
    p.add_argument('-r',
                   '--rx_port',
                   default=5556,
                   help='Port number to receive zmq messages for IO on')
    p.add_argument('-t',
                   '--tx_port',
                   default=5555,
                   help='Port number to send IO messages via zmq')
    p.add_argument('-i',
                   '--id',
                   default=0x20000ab0,
                   type=int,
                   help="Id to use when sending data")
    args = p.parse_args()

    import halucinator.hal_log as hal_log
    hal_log.setLogConfig()

    io_server = IOServer(args.rx_port, args.tx_port)
    uart = UARTPrintServer(io_server)

    io_server.start()

    try:
        while (1):
            data = input("Data:")
            log.debug("Got %s" % str(data))
            if data == '\\n':
                data = '\n\r'
            elif data == '':
                break
            # d = {'id':args.id, 'data': data}
            uart.send_data(args.id, data)
    except KeyboardInterrupt:
        pass
    log.info("Shutting Down")
    io_server.shutdown()