59 virtual double GetPowerVoltageActual(
int chan)
override;
60 virtual double GetPowerVoltageNominal(
int chan)
override;
61 virtual double GetPowerCurrentActual(
int chan)
override;
62 virtual double GetPowerCurrentNominal(
int chan)
override;
63 virtual bool GetPowerChannelActive(
int chan)
override;
66 virtual void SetPowerVoltage(
int chan,
double volts)
override;
67 virtual void SetPowerCurrent(
int chan,
double amps)
override;
68 virtual void SetPowerChannelActive(
int chan,
bool on)
override;
69 virtual bool IsPowerConstantCurrent(
int chan)
override;
73 COMMAND_WRITE_VOLTAGE=
'1',
74 COMMAND_READ_VOLTAGE =
'2',
75 COMMAND_WRITE_CURRENT=
'3',
76 COMMAND_READ_CURRENT =
'4',
77 COMMAND_KEYPAD_ECHO =
'5',
78 COMMAND_FIRMWARE =
'6',
86 std::recursive_mutex m_transportMutex;
88 std::chrono::milliseconds m_rateLimitingInterval = std::chrono::milliseconds(4);
89 std::chrono::system_clock::time_point m_nextCommandReady = std::chrono::system_clock::now();
92 bool SendWriteValueCommand(Command
command,
double value);
93 double SendReadValueCommand(Command
command);
94 std::string SendSimpleCommand(Command
command);
100 double m_voltage = 0;
101 bool m_constantCurrent =
false;
109 static std::vector<SCPIInstrumentModel> GetDriverSupportedModels()
113 {
"Kuaiqu SPPS-D", {{ SCPITransportType::TRANSPORT_UART,
"COM<x>:9600" }}},
114 {
"Kuaiqu SPPS-S", {{ SCPITransportType::TRANSPORT_UART,
"COM<x>:9600" }}},
115 {
"Kuaiqu SPPS*D", {{ SCPITransportType::TRANSPORT_UART,
"COM<x>:9600" }}},
116 {
"Kuaiqu R-SPPS", {{ SCPITransportType::TRANSPORT_UART,
"COM<x>:9600" }}}
118 {
"Kuaiqu SPPS-D", {{ SCPITransportType::TRANSPORT_UART,
"/dev/ttyUSB<x>:9600" }}},
119 {
"Kuaiqu SPPS-S", {{ SCPITransportType::TRANSPORT_UART,
"/dev/ttyUSB<x>:9600" }}},
120 {
"Kuaiqu SPPS*D", {{ SCPITransportType::TRANSPORT_UART,
"/dev/ttyUSB<x>:9600" }}},
121 {
"Kuaiqu R-SPPS", {{ SCPITransportType::TRANSPORT_UART,
"/dev/ttyUSB<x>:9600" }}}
virtual bool SupportsVoltageCurrentControl(int chan) override
Determines if the power supply supports voltage/current control for the given channel.
Definition KuaiquPowerSupply.cpp:212
virtual uint32_t GetInstrumentTypesForChannel(size_t i) const override
Returns a bitfield describing the set of instrument types that a given channel supports.
Definition KuaiquPowerSupply.cpp:199