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() |