1"""! @example basicExperiment.py """
2
3import sys
4from PySide6.QtWidgets import QApplication
5from SquidstatPyLibrary import AisDeviceTracker
6from SquidstatPyLibrary import AisExperiment, AisErrorCode
7from SquidstatPyLibrary import AisInstrumentHandler
8from SquidstatPyLibrary import AisConstantPotElement
9
10
11COMPORT = "COM16"
12CHANNEL = 0
13
14app = QApplication()
15
17
18
19
22
23
25
26success = experiment.appendElement(cvElement, 1)
27
28
29if not success:
30 print("Error adding element to experiment")
31 app.quit()
32
33
34
35def connectSignals(handler):
36
37 handler.activeDCDataReady.connect(lambda channel, data: print(f"Timestamp: {data.timestamp} Current: {data.current} Voltage: {data.workingElectrodeVoltage} CE Voltage : {data.counterElectrodeVoltage}"))
38 handler.activeACDataReady.connect(lambda channel, data: print(f"Timestamp: {data.timestamp} Frequency: {data.frequency} Absolute Impedance: {data.absoluteImpedance}"))
39
41
42
43
44
45 handler.experimentNewElementStarting.connect(lambda channel, info: print(f"New element starting: {info.stepName}"))
46
47 handler.experimentStopped.connect(lambda channel, reason: (print(f"Experiment Stopped Signal {channel}, {reason}"), app.quit()))
48 handler.deviceError.connect(lambda channel, error: print(f"Device Error: {error}"))
49
51
52def startExperiment(deviceName):
53 print(f"New Device Connected: {deviceName}")
54
55 handler = tracker.getInstrumentHandler(deviceName)
56
57 connectSignals(handler)
58
59 error = handler.uploadExperimentToChannel(CHANNEL, experiment)
60
61 if error.value() != AisErrorCode.Success:
62 print(error.message())
63 app.quit()
64
65 error = handler.startUploadedExperiment(CHANNEL)
66
67 if error.value() != AisErrorCode.Success:
68 print(error.message())
69 app.quit()
70
71
72
73tracker.newDeviceConnected.connect(startExperiment)
74tracker.deviceDisconnected.connect(lambda deviceName: print(f"Device Disconnected: {deviceName}"))
75
76
77
78error = tracker.connectToDeviceOnComPort(COMPORT)
79
80if error.value() != AisErrorCode.Success:
81 print(error.message())
82 sys.exit()
83
84
85
86sys.exit(app.exec())
an experiment that simulates a constant applied voltage.
Definition AisConstantPotElement.h:18
static AisDeviceTracker * Instance()
get the instance of the device tracker.
this class is used to create custom experiments. A custom experiment contains one or more elements....
Definition AisExperiment.h:22