This commit is contained in:
matteo porta 2022-09-13 13:36:22 +02:00
parent 0a5a009281
commit 2578a4b773
3 changed files with 26 additions and 2 deletions

View File

@ -19,6 +19,11 @@ class Multicomp730424(Component):
self.stopbits = getattr(serial, self.config[self.name].get("stopbits", "stopbits_one").upper())
self.parity = getattr(serial, self.config[self.name].get("parity", "parity_none").upper())
self.bytesize = getattr(serial, self.config[self.name].get("bytesize", "eightbits").upper())
self.read_timeout = float(self.config[self.name].get("read_timeout", 1))
self.write_timeout = float(self.config[self.name].get("write_timeout", 1))
self.inter_byte_timeout = self.config[self.name].get("inter_byte_timeout", None)
if self.inter_byte_timeout is not None:
self.inter_byte_timeout = float(self.inter_byte_timeout)
if self.conn is not None:
self.conn.close()
self.conn = serial.Serial(
@ -27,6 +32,9 @@ class Multicomp730424(Component):
stopbits=self.stopbits,
parity=self.parity,
bytesize=self.bytesize,
timeout=self.read_timeout,
write_timeout=self.write_timeout,
inter_byte_timeout=self.inter_byte_timeout,
)
self.write("FUNC1 \"RES\"")
self.write("RATE F")

View File

@ -26,6 +26,11 @@ class NeoPixels(Component):
self.stopbits = getattr(serial, self.config[self.name].get("stopbits", "stopbits_one").upper())
self.parity = getattr(serial, self.config[self.name].get("parity", "parity_none").upper())
self.bytesize = getattr(serial, self.config[self.name].get("bytesize", "eightbits").upper())
self.read_timeout = float(self.config[self.name].get("read_timeout", 1))
self.write_timeout = float(self.config[self.name].get("write_timeout", 1))
self.inter_byte_timeout = self.config[self.name].get("inter_byte_timeout", None)
if self.inter_byte_timeout is not None:
self.inter_byte_timeout = float(self.inter_byte_timeout)
if self.conn is not None:
self.conn.close()
self.conn = serial.Serial(
@ -34,6 +39,9 @@ class NeoPixels(Component):
stopbits=self.stopbits,
parity=self.parity,
bytesize=self.bytesize,
timeout=self.read_timeout,
write_timeout=self.write_timeout,
inter_byte_timeout=self.inter_byte_timeout,
)
QThread.msleep(5000)
self.set_all_pixel_color("#000000")

View File

@ -15,11 +15,16 @@ class Serial_Label_Printer(Component):
super().__init__(config=config, name=name, threaded=False)
def config_changed(self):
self.address = self.config[self.name]["address"]
self.port = self.config[self.name]["port"]
self.baudrate = int(self.config[self.name]["baudrate"])
self.stopbits = getattr(serial, self.config[self.name].get("stopbits", "stopbits_one").upper())
self.parity = getattr(serial, self.config[self.name].get("parity", "parity_none").upper())
self.bytesize = getattr(serial, self.config[self.name].get("bytesize", "eightbits").upper())
self.read_timeout = float(self.config[self.name].get("read_timeout", 1))
self.write_timeout = float(self.config[self.name].get("write_timeout", 1))
self.inter_byte_timeout = self.config[self.name].get("inter_byte_timeout", None)
if self.inter_byte_timeout is not None:
self.inter_byte_timeout = float(self.inter_byte_timeout)
@Component.reconfig_on_error
def print_label(self, template, context=None):
@ -32,11 +37,14 @@ class Serial_Label_Printer(Component):
label = label.format(**context)
try:
conn = serial.Serial(
self.address,
self.port,
baudrate=self.baudrate,
stopbits=self.stopbits,
parity=self.parity,
bytesize=self.bytesize,
timeout=self.read_timeout,
write_timeout=self.write_timeout,
inter_byte_timeout=self.inter_byte_timeout,
)
conn.write(label.encode(errors="surrogateescape"))
conn.close()