|
ProtoCore v0.0.1
Deterministic, zero-heap network stack for embedded targets
|
SCPI / IEEE 488.2 instrument-control codec (PC_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 (PC_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 (pc_scpi_build), and parse the instrument's replies - numeric NR1/NR2/NR3 (pc_scpi_parse_number), boolean (pc_scpi_parse_bool), quoted string (pc_scpi_parse_string), and the IEEE 488.2 arbitrary block #<n><len><data> used for waveform captures (pc_scpi_parse_block)."SYSTem:ERRor?".Common commands (pc_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.