![]() |
PS_Fgen_FW
4da88f4073c1cc65ea45c3a652a2751e495e50db
Firmware for an Power Supply and Function Generator build from an ATX power supply
|
The device supports SCPI (Standard Commands for Programmable Instruments) commands that can be used for remote control. All commands are received via the USB input (serial port).
The following parser is used to decode all incoming SCPI commands:
GitHub - j123b567/scpi-parser: Open Source SCPI device library
The following list gives an overview of the implemented (and planned) SCPI commands. It is inspired by SCPI commands summary – EEZ – Envox Experimental Zone
Try out sending one of the following commands to the device by simply opening a COM port and writing the characters. A good command for testing the connection and parser is "*IDN?" which returns some details about the device.
Command | Status | Description |
---|---|---|
CLS | OK | Clears all status data structures |
ESE {<value>} | OK | Programs the Standard Event Status Enable register bits |
ESE? | OK | Reads the Standard Event Status Enable register bits |
ESR? | OK | Reads the Standard Event Status Register |
IDN? | OK | Returns the UNIQUE identification of the device |
OPC | OK | Operation Complete Command used for program synchronization |
OPC? | OK | Read the Operation Complete status |
RCL {<profile>} | OK | Recalls the device state stored in the specified storage location |
RST | OK | Reset device to the initial state |
SAV {<profile>} | OK | Stores the current device state in the specified storage location |
SRE | OK | Service Request Enable Command |
SRE? | OK | Service Request Enable Query |
STB? | OK | Reads the Status Byte register |
TST? | TODO | Returns Self-Test results |
WAI | OK | Waits until all pending commands are completed |
Command | Status | Description |
---|---|---|
INSTrument[:SELect] {<channel>} | OK | Selects the output to be programmed (CH1|CH2|CH3|CH4|CH5) |
INSTrument[:SELect]? | OK | Query the selected output |
INSTrument:NSELect {<channel>} | OK | Selects the output number to be programmed (1..5) |
INSTrument:NSELect? | OK | Query the selected output number |
Command | Status | Description |
---|---|---|
MEASure[<channel>][:SCALar][:VOLTage][:DC]? | OK | Query the measured voltage on the channel |
MEASure[<channel>][:SCALar]:CURRent[:DC]? | OK | Query the measured current on the channel |
MEASure[<channel>][:SCALar]:POWer[:DC]? | OK | Query the measured power on the channel |
Command | Status | Description |
---|---|---|
OUTPut[<channel>][:STATe] {<bool>} | OK | Turn on/off the specified output channel |
OUTPut[<channel>][:STATe]? | OK | Query the state of the specified output channel |
OUTPut[<channel>]:GENeral <bool> | OK | Turn on/off all channels simultaneously |
OUTPut[<channel>]:GENeral? | OK | Get a string with all output states |
Command | Status | Description |
---|---|---|
SOURce[<channel>]:CURRent:PROTection[:LEVel] | OK | Sets the over-current protection (OCP) level in Ampere |
SOURce[<channel>]:CURRent:PROTection[:LEVel]? | OK | Query the over-current protection (OCP) level in Ampere |
SOURce[<channel>]:CURRent:PROTection:STATe {<bool>} | OK | Enables/disables over-current protection on the selected channel |
SOURce[<channel>]:CURRent:PROTection:STATe? | OK | Query the state of the over-current protection on the selected channel |
SOURce[<channel>]:CURRent:PROTection:DELay {<time>} | OK | Protection function will not be triggered during the delay time. After the delay time has expired, the protection function will be active. |
SOURce[<channel>]:CURRent:PROTection:DELay? | OK | Query the protection delay |
SOURce[<channel>]:CURRent:PROTection:TRIPped? | OK | Returns status of over-current protection activation |
SOURce[<channel>]:CURRent:PROTection:CLEar | OK | Clear the over-current protection |
SOURce[<channel>]:FUNCtion[:SHAPe] | OK | Selects the shape of the output signal (DC|SINusoid|SQUare|TRIangle|SAWtooth|USER) |
SOURce[<channel>]:FUNCtion[:SHAPe]? | OK | Query the shape of the output signal |
SOURce[<channel>]:FUNCtion:MODE? | OK | Determines which signal characteristic is being controlled. Only "VOLTage" is supported |
SOURce[<channel>]:FUNCtion:DATa #<NumBytesDigits><NumBytes><Bytes> | OK | Set the user defined waveform data of the channel. Only used if SHAPe is set to USER |
SOURce[<channel>]:FREQuency[:CW] {<frequency>} | OK | Set the frequency of a non-swept signal |
SOURce[<channel>]:FREQuency[:CW]? | OK | Query the frequency of a non-swept signal |
SOURce[<channel>]:POWer:PROTection[:LEVel] | OK | Sets the over-power protection (OPP) level in Watt |
SOURce[<channel>]:POWer:PROTection[:LEVel]? | OK | Query the over-power protection (OPP) level in Watt |
SOURce[<channel>]:POWer:PROTection:STATe {<bool>} | OK | Enables/disables over-power protection on the selected channel |
SOURce[<channel>]:POWer:PROTection:STATe? | OK | Query the state of the over-power protection on the selected channel |
SOURce[<channel>]:POWer:PROTection:DELay {<time>} | OK | Protection function will not be triggered during the delay time. After the delay time has expired, the protection function will be active. |
SOURce[<channel>]:POWer:PROTection:DELay? | OK | Query the protection delay |
SOURce[<channel>]:POWer:PROTection:TRIPped? | OK | Returns status of over-power protection activation |
SOURce[<channel>]:POWer:PROTection:CLEar | OK | Clear the over-power protection |
SOURce[<channel>]:VOLTage[:LEVel][:IMMediate][:AMPLitude] {<voltage>} | OK | Sets the output amplitude (MINimum|MAXimum|UP|DOWN|<Voltage>) in Volt |
SOURce[<channel>]:VOLTage[:LEVel][:IMMediate][:AMPLitude]? | OK | Query the output amplitude in Volt |
SOURce[<channel>]:VOLTage[:LEVel][:IMMediate]:OFFSet {<voltage>} | OK | Sets the output offset (non-time varying component of the signal) (MINimum|MAXimum|UP|DOWN|<Voltage>) |
SOURce[<channel>]:VOLTage[:LEVel][:IMMediate]:OFFSet? | OK | Query the output offset |
SOURce[<channel>]:VOLTage:PROTection[:LEVel] | OK | Sets the over-voltage protection (OVP) level in percent of the configured voltage |
SOURce[<channel>]:VOLTage:PROTection[:LEVel]? | OK | Query the over-voltage protection (OVP) level in percent of the configured voltage |
SOURce[<channel>]:VOLTage:PROTection:STATe {<bool>} | OK | Enables/disables over-voltage protection on the selected channel |
SOURce[<channel>]:VOLTage:PROTection:STATe? | OK | Query the state of the over-voltage protection on the selected channel |
SOURce[<channel>]:VOLTage:PROTection:DELay {<time>} | OK | Protection function will not be triggered during the delay time. After the delay time has expired, the protection function will be active. |
SOURce[<channel>]:VOLTage:PROTection:DELay? | OK | Query the protection delay |
SOURce[<channel>]:VOLTage:PROTection:TRIPped? | OK | Returns status of over-voltage protection activation |
SOURce[<channel>]:VOLTage:PROTection:CLEar | OK | Reset the OVP state of the channel |
Command | Status | Description |
---|---|---|
SYSTem:CHANnel[:COUNt]? | OK | Returns the number of output channels |
SYSTem:FIRMware? | OK | Returns device firmware version |
SYSTem:SNO? | OK | Returns the device serial number |
SYSTem:ERRor[:NEXT]? | OK | Queries and clears errors from the error queue |
SYSTem:ERRor:COUNt? | OK | Queries the error/event queue for the number of unread items |
SYSTem:LOCal | OK | Places the device in the local mode |
SYSTem:MEASure[:SCALar][:VOLTage][:DC]? | OK | Query some system ATX voltages (<ATX_3V3>,<ATX_5V>) |
SYSTem:REMote | OK | Places the device in the remote mode |
SYSTem:RWLock | OK | Places the device in the remote mode and disables front panel [lock/unlock] icon |
SYSTem:VERSion? | OK | Returns the SCPI version number |