input/logicport: introduce input module for LogicPort File (*.lpf)

Implement an input module for .lpf files, the "LogicPort File" format of
the Intronix LA1034 vendor software. This version supports wires with
enabled and inverted state, compressed samples, signal names, signal
groups (but not multiple assignment), and automatic format detection.

The logic which determines whether "the file header" was completely
received, and sample data can get sent to the session, implements an
assumption in the absence of a better and more reliable condition.

Invalid input gets rejected, but diagnostics is rather limited. Since
all channels get to be the member of a channel group, either specified
by the user in the input file, or arranged for in the input module, the
"missing separator" part of bug 1186 has become obsolete.
This commit is contained in:
Gerhard Sittig 2018-04-24 23:25:25 +02:00 committed by Uwe Hermann
parent 3601d50e26
commit e1b115bd4d
3 changed files with 1212 additions and 0 deletions

View File

@ -74,6 +74,7 @@ libsigrok_la_SOURCES += \
src/input/binary.c \
src/input/chronovu_la8.c \
src/input/csv.c \
src/input/logicport.c \
src/input/raw_analog.c \
src/input/trace32_ad.c \
src/input/vcd.c \

View File

@ -66,6 +66,7 @@ extern SR_PRIV struct sr_input_module input_trace32_ad;
extern SR_PRIV struct sr_input_module input_vcd;
extern SR_PRIV struct sr_input_module input_wav;
extern SR_PRIV struct sr_input_module input_raw_analog;
extern SR_PRIV struct sr_input_module input_logicport;
extern SR_PRIV struct sr_input_module input_null;
/* @endcond */
@ -77,6 +78,7 @@ static const struct sr_input_module *input_module_list[] = {
&input_vcd,
&input_wav,
&input_raw_analog,
&input_logicport,
&input_null,
NULL,
};

1209
src/input/logicport.c Normal file

File diff suppressed because it is too large Load Diff