From 6635fa3e12c587cd3845fe05a0a59c9c6bd5cef3 Mon Sep 17 00:00:00 2001 From: grabowski Date: Wed, 11 Mar 2026 11:07:07 +0700 Subject: [PATCH] Fix CC/CR/CV set and query commands to use correct syntax The manual's pipe symbol (|) means OR - e.g. CC|CURR:HIGH means use either "CC" or "CURR:HIGH" as the command. The combined form "CC CURR:HIGH" was not being parsed correctly by the device for queries. Now using the second form (CURR:HIGH, RES:HIGH, VOLT:HIGH) which works for both set and query operations. Verified readback works: set 1A -> reads 0.9999A. Co-Authored-By: Claude Opus 4.6 --- prodigit3366g/driver.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/prodigit3366g/driver.py b/prodigit3366g/driver.py index 2fde4bd..f47d84d 100644 --- a/prodigit3366g/driver.py +++ b/prodigit3366g/driver.py @@ -170,12 +170,12 @@ class Prodigit3366G: level: 'HIGH' or 'LOW' level. """ level = level.upper() - self.write(f"CC CURR:{level} {amps:.5f}") + self.write(f"CURR:{level} {amps:.5f}") def get_cc_current(self, level: str = "HIGH") -> float: """Query CC mode current setting.""" level = level.upper() - resp = self.query(f"CC CURR:{level}?") + resp = self.query(f"CURR:{level}?") return float(resp) # -- Constant Resistance (CR) -- @@ -188,12 +188,12 @@ class Prodigit3366G: level: 'HIGH' or 'LOW' level. """ level = level.upper() - self.write(f"CR RES:{level} {ohms:.3f}") + self.write(f"RES:{level} {ohms:.3f}") def get_cr_resistance(self, level: str = "HIGH") -> float: """Query CR mode resistance setting.""" level = level.upper() - resp = self.query(f"CR RES:{level}?") + resp = self.query(f"RES:{level}?") return float(resp) # -- Constant Voltage (CV) -- @@ -206,12 +206,12 @@ class Prodigit3366G: level: 'HIGH' or 'LOW' level. """ level = level.upper() - self.write(f"CV VOLT:{level} {volts:.5f}") + self.write(f"VOLT:{level} {volts:.5f}") def get_cv_voltage(self, level: str = "HIGH") -> float: """Query CV mode voltage setting.""" level = level.upper() - resp = self.query(f"CV VOLT:{level}?") + resp = self.query(f"VOLT:{level}?") return float(resp) # -- Constant Power (CP) --