|
ProtoCore v1.0.16
Deterministic, zero-heap network stack for embedded targets
|
SCPI / IEEE 488.2 instrument-control codec (PROTOCORE_ENABLE_SCPI) - a zero-heap codec for the text command language nearly every modern bench instrument speaks (DMMs, oscilloscopes, power supplies, function/arbitrary generators, SMUs, spectrum/network analyzers, loads) over a raw TCP socket on port 5025 (also USBTMC / VXI-11 / HiSLIP / serial). More...
#include "protocore_config.h"Go to the source code of this file.
SCPI / IEEE 488.2 instrument-control codec (PROTOCORE_ENABLE_SCPI) - a zero-heap codec for the text command language nearly every modern bench instrument speaks (DMMs, oscilloscopes, power supplies, function/arbitrary generators, SMUs, spectrum/network analyzers, loads) over a raw TCP socket on port 5025 (also USBTMC / VXI-11 / HiSLIP / serial).
The codec is symmetric - it serves both roles:
:-hierarchy header and comma-separated parameters (protocore_scpi_build), and parse the instrument's replies - numeric NR1/NR2/NR3 (protocore_scpi_parse_number), boolean (protocore_scpi_parse_bool), quoted string (protocore_scpi_parse_string), and the IEEE 488.2 arbitrary block #<n><len><data> used for waveform captures (protocore_scpi_parse_block)."SYSTem:ERRor?".Common commands (protocore_scpi_common) return the IEEE 488.2 mnemonics (*IDN?, *RST, *CLS, *ESR?, *STB?, ...). Pure codec, host-tested; the TCP/USB/serial transport is the app's.
References:
Definition in file scpi.h.