input/saleae: introduce input module for Saleae Logic exported files

Start the implementation of an input module which covers Saleae Logic's
export files. CSV and VCD are handled by other modules, this one accepts
binary exports for Logic1 digital data (every sample, and when changed),
Logic1 analog data, Logic2 digital data, and Logic2 analog data.

The newer file format versions contain header information and can get
auto-detected, the older formats require a user spec. Some of the file
formats lack essential information in the file content, thus require
another user spec (samplerate for digital data is an example).

The .logicdata file format is unknown, and is not supported. The .sal
format could get added later, but requires local file I/O in the input
module, which current common infrastructure does not provide.
This commit is contained in:
Gerhard Sittig 2020-06-11 17:25:20 +02:00
parent daa895cba3
commit d891892dc0
3 changed files with 1205 additions and 0 deletions

View File

@ -79,6 +79,7 @@ libsigrok_la_SOURCES += \
src/input/csv.c \
src/input/logicport.c \
src/input/raw_analog.c \
src/input/saleae.c \
src/input/trace32_ad.c \
src/input/vcd.c \
src/input/wav.c \

View File

@ -71,6 +71,7 @@ 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_saleae;
extern SR_PRIV struct sr_input_module input_null;
/** @endcond */
@ -83,6 +84,7 @@ static const struct sr_input_module *input_module_list[] = {
&input_wav,
&input_raw_analog,
&input_logicport,
&input_saleae,
&input_null,
NULL,
};

1202
src/input/saleae.c Normal file

File diff suppressed because it is too large Load Diff