Ejemplo n.º 1
0
async def json_handle_set_serial_port(printer:SerialDevice, *args):  
    response = ""
    received = ""  
    logger.debug("json_handle_set_serial_port args:")
    for i in args:
        logger.debug("{}".format(i))
    port = args[0].lower()
    baud_rate = int(args[1])
    if baud_rate < 1: 
        baud_rate = options.baud_rate

    logger.debug("setting serial port: {}".format(port))

    printer._baud_rate = baud_rate

    if (printer.connection_state is ConnectionState.connected):
        await printer.disconnect()

    if port.startswith("dummy"):
        logger.debug("[SERVER] setting dummy serial port: {}".format(port))
        use_dummy_serial_port(printer)
    else:
        # TODO: check if printer serial ports are different!!
       
        printer._serial_port = port
        printer._baud_rate = baud_rate

        try:
            received = await printer.async_connect()

        except SerialException as se:
            logger.error(str(se))
            response = ["ERROR: could not connect to serial port {}".format(port)]
            logger.error(response[0])
            return response

            # raise Exception(response)
        # else:
    response = [{
            'time': time.time() * 1000,
            'port': [port, baud_rate],
            'messages': received
            }]
    return response