| | |
| | | SCPI parser library v2 |
| | | =========== |
| | | |
| | | [Documentation](http://j123b567.github.io/scpi-parser) |
| | |  [](https://coveralls.io/github/j123b567/scpi-parser?branch=master) |
| | | |
| | | Documentation |
| | | -------- |
| | | Documentation is available at [http://j123b567.github.io/scpi-parser](http://j123b567.github.io/scpi-parser). |
| | | |
| | | Examples |
| | | -------- |
| | | Library contains several [examples](https://github.com/j123b567/scpi-parser/tree/master/examples) of usage but please note, that this code is just for educational purpose and not production ready. |
| | | Examples are from several contributors and they are not tested and it is also not known, if they really work or can compile at all. |
| | | |
| | | The core library itself is well tested and has more then 93% of the code covered by unit tests and integration tests and tries to be SCPI-99 compliant as much as possible. |
| | | |
| | | About |
| | | -------- |
| | | |
| | | [SCPI](http://en.wikipedia.org/wiki/Standard_Commands_for_Programmable_Instruments) 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. |
| | | Source codes are published with open source BSD 2-Clause License. |
| | | |
| | | SCPI parser library is based on these standards |
| | | |
| | | * [SCPI-99](http://www.ivifoundation.org/docs/scpi-99.pdf) |
| | | * [SCPI-99](https://www.ivifoundation.org/downloads/SCPI/scpi-99.pdf) |
| | | * [IEEE 488.2-2004](http://dx.doi.org/10.1109/IEEESTD.2004.95390) |
| | | |
| | | |
| | |
| | | **Supported command patterns** |
| | | <table> |
| | | <tr><th>Feature<th>Pattern example</tr> |
| | | <tr><td>Short and long form<td>`MEASure` means `MEAS` or `MEASURE` command</tr> |
| | | <tr><td>Common command<td>`*CLS`</td> |
| | | <tr><td>Compound command<td>`CONFigure:VOLTage`<tr> |
| | | <tr><td>Query command<td>`MEASure:VOLTage?`, `*IDN?`</tr> |
| | | <tr><td>Optional keywords<td>`MEASure:VOLTage[:DC]?`</tr> |
| | | <tr><td>Numeric keyword suffix<br>Multiple identical capabilities<td>`OUTput#:FREQunecy`</tr> |
| | | <tr><td>Short and long form<td><code>MEASure</code> means <code>MEAS</code> or <code>MEASURE</code> command</tr> |
| | | <tr><td>Common command<td><code>*CLS</code></td> |
| | | <tr><td>Compound command<td><code>CONFigure:VOLTage</code><tr> |
| | | <tr><td>Query command<td><code>MEASure:VOLTage?</code>, <code>*IDN?</code></tr> |
| | | <tr><td>Optional keywords<td><code>MEASure:VOLTage[:DC]?</code></tr> |
| | | <tr><td>Numeric keyword suffix<br>Multiple identical capabilities<td><code>OUTput#:FREQuency</code></tr> |
| | | </table> |
| | | |
| | | **Supported parameter types** |
| | | <table> |
| | | <tr><th>Type<th>Example</tr> |
| | | <tr><td>Decimal<td>`10`, `10.5`</tr> |
| | | <tr><td>Decimal with suffix<td>`-5.5 V`, `1.5 KOHM`</tr> |
| | | <tr><td>Hexadecimal<td>`#HFF`</tr> |
| | | <tr><td>Octal<td>`#Q77`</tr> |
| | | <tr><td>Binary<td>`#B11`</tr> |
| | | <tr><td>String<td>`"text"`, `'text'`</tr> |
| | | <tr><td>Arbitrary block<td>`#12AB`</tr> |
| | | <tr><td>Program expression<td>`(1)`</tr> |
| | | <tr><td>Character data<td>`MINimum`, `DEFault`, `INFinity`</tr> |
| | | <tr><td>Decimal<td><code>10</code>, <code>10.5</code></tr> |
| | | <tr><td>Decimal with suffix<td><code>-5.5 V</code>, <code>1.5 KOHM</code></tr> |
| | | <tr><td>Hexadecimal<td><code>#HFF</code></tr> |
| | | <tr><td>Octal<td><code>#Q77</code></tr> |
| | | <tr><td>Binary<td><code>#B11</code></tr> |
| | | <tr><td>String<td><code>"text"</code>, <code>'text'</code></tr> |
| | | <tr><td>Arbitrary block<td><code>#12AB</code></tr> |
| | | <tr><td>Program expression<td><code>(1)</code></tr> |
| | | <tr><td>Numeric list<td><code>(1,2:50,80)</code></tr> |
| | | <tr><td>Channel list<td><code>(@1!2:3!4,5!6)</code></tr> |
| | | <tr><td>Character data<td><code>MINimum</code>, <code>DEFault</code>, <code>INFinity</code></tr> |
| | | </table> |
| | | |
| | | |
| | | [](https://travis-ci.org/j123b567/scpi-parser) |