class
pylnlib.Interface.Interface(port, baud=57600, fast=False, dummy=False)
Handles thread safe sending and receiving LocoNet messages on a serial interface.
Parameters
port(str) — serial port, on Linux typically something like/dev/ttyACM0baud(int, optional) — the baudrate. Defaults to 57600.fast(bool, optional) — if false it uses timestamp message in the input data to replay a realistic speed. Defaults to False.dummy(bool, optional) — if true it will not write anyhting on the serial port. Defaults to False.
See Also
Example
interface = Interface()
scrollkeeper = Scrollkeeper(interface)
interface.receiver_handler.append(scrollkeeper.messageListener)
Thread(target=interface.run, daemon=True).start()
It will gracefully exit if it receives a SIGINT or SIGTERM signal, i.e. terminate the thread that handle the input and output queues.
Methods
run(delay)— Start processing input and output.</>run_in_background(delay)— Start processing input and output and return immediately.</>sendMessage(msg)— Put a message on the internal output queue.</>
method
run(delay=0.0)
Start processing input and output.
This will continue until an external SIGINT or SIGKILL signal is received.
Parameters
delay(float, optional) — Time in seconds to wait between incoming messages. Defaults to 0.
Returns
only returns upon receiving an external signal.
method
run_in_background(delay=0.0)
Start processing input and output and return immediately.
Processing will continue until an external SIGINT or SIGKILL signal is received.
Parameters
delay(float, optional) — Time in seconds to wait between incoming messages. Defaults to 0.
Returns
immediately.
function
pylnlib.Interface.timeDiff(a, b)
Return the total number of seconds between a and b.
b MUST be later than a, so the difference between a = 23:55:49 and b = 00:05:49 will be correctly reported as 10 minutes.
Parameters
a(datetime) — earlier timestampb(datetime) — later timestamp
Returns (float)
the total number of seconds between a and b