SCPI Parser library aims to provide parsing ability of SCPI commands on instrument side. All commands are defined by its patterns eg: "STATus:QUEStionable:EVENt?".
Source codes are published with open source Simplified BSD license.
SCPI parser library is based on these standards
SCPI version compliance
| SCPI version | v1999.0 |
Supported command patterns
| Feature | Pattern example | Related API |
|---|---|---|
| Short and long form | MEASure means MEAS or MEASURE command |
SCPI_Match() |
| Common command | *CLS |
|
| Compound command | CONFigure:VOLTage |
|
| Query command | MEASure:VOLTage?, *IDN? |
|
| Optional keywords | MEASure:VOLTage[:DC]? |
|
| Numeric keyword suffix Multiple identical capabilities |
OUTput#:FREQuency |
SCPI_CommandNumbers() |
Supported parameter types
| Type | Example | Related API |
|---|---|---|
| Decimal | 10, 10.5 |
SCPI_ParamDouble(), SCPI_ParamToDouble() |
| Decimal with suffix | -5.5 V, 1.5 KOHM |
SCPI_ParamNumber() |
| Hexadecimal | #HFF |
SCPI_ParamUInt32(), SCPI_ParamToUInt32() |
| Octal | #Q77 |
SCPI_ParamUInt32(), SCPI_ParamToUInt32() |
| Binary | #B11 |
SCPI_ParamUInt32(), SCPI_ParamToUInt32() |
| String | "text", 'text' |
SCPI_ParamCopyText() |
| Arbitrary block | #12AB |
SCPI_ParamArbitraryBlock() |
| Program expression | (1) |
SCPI_Parameter(), SCPI_ParamCharacters() |
| Numeric list | (1,2:50,80) |
SCPI_ExprNumericListEntry() |
| Channel list | (@1!2:3!4,5!6) |
SCPI_ExprChannelListEntry() |
| Character data | MINimum, DEFault, INFinity |
SCPI_ParamChoice(), SCPI_ParamNumber() |