diff --git a/src/components/multicomp_730424.py b/src/components/multicomp_730424.py new file mode 100644 index 0000000..80851b9 --- /dev/null +++ b/src/components/multicomp_730424.py @@ -0,0 +1,33 @@ +import sys + +if "--sim-multimeter" in sys.argv: + from components.dummies.serial import serial +else: + import serial + +from PyQt5.QtWidgets import QMessageBox + +from .component import Component + + +class SerialMultimeter(Component): + def __init__(self, config=None, name=None): + super().__init__(config=config, name=name, threaded=False) + + def write(self, command): + try: + conn = serial.Serial( + self.address, + baudrate=self.baudrate, + stopbits=self.stopbits, + parity=self.parity, + bytesize=self.bytesize, + ) + conn.write(bytes(command, encoding="ascii")) + conn.close() + except serial.serialutil.SerialException as e: + QMessageBox.critical( + None, + "Errore Connessione Multimetro", + "Non e stato possibile connettersi al multimetro digitale.\n Verificare che lo strumento sia acceso e collegato\nErrore: " + str(e) + ) diff --git a/src/test/multicomp.py b/src/test/multicomp.py new file mode 100644 index 0000000..276dde0 --- /dev/null +++ b/src/test/multicomp.py @@ -0,0 +1,29 @@ +import time + +import serial + +conn = serial.Serial( + "/dev/ttyUSB0", + baudrate=115200, + stopbits=serial.STOPBITS_ONE, + parity=serial.PARITY_NONE, + bytesize=serial.EIGHTBITS, + timeout=1 +) + +cmd_list= (("*IDN?\n",True), # QUERY ID + ("CONF:RES 500\n",False), # SET RESISTANCE MEASURE, 500 Ohm range + ("MEAS?\n",True), # GET MEASURE + ("MEAS?\n",True), # GET MEASURE + ("MEAS?\n", True)) # GET MEASURE + +for cmditem in cmd_list: + cmd,expect_response=cmditem + conn.write(bytes(cmd, encoding="ascii")) + if expect_response: + response = conn.readline() + print(f"{cmd} RESPONSE: "+response.decode("ascii")) + else: + print(f"{cmd}") + time.sleep(1) +conn.close()