Bert Vermeulen
035a1078fd
drivers: rename and reorganize config get/set
...
The driver API calls info_get() and dev_config_set() have been renamed
to config_get() and config_set(), respectively.
2013-01-24 19:19:09 +01:00
Bert Vermeulen
69e19dd769
Always interleave analog data with all enabled probes.
...
The new "probes" field in sr_datafeed_analog contains a copy
of all enabled struct sr_probe.
2013-01-23 03:40:44 +01:00
Bert Vermeulen
1953564a96
Rename SR_HWOPT_* and SR_HWCAP_* to SR_CONF_*
2013-01-21 23:32:50 +01:00
Joel Holdsworth
bf53457d1d
Pass sr_datafeed_packets and payloads with const pointers
...
This patch marks packet structures and their payloads as const.
This indicates to packet receivers that modifications to these are
not allowed. In general all pointers should be marked const unless
modification of the referenced data is explicitly allowed.
2012-12-20 07:51:21 +00:00
Bert Vermeulen
7249d7833b
analog: support ppm output
2012-12-15 22:50:33 +01:00
Uwe Hermann
a0a23863da
output/gnuplot: Drop obsolete code.
2012-11-11 18:14:17 +01:00
Uwe Hermann
a944a84b17
Output modules: Use message logging helpers.
2012-11-11 18:14:17 +01:00
Uwe Hermann
64d33dc28e
All drivers: Drop unneeded comments.
2012-11-11 18:09:11 +01:00
Bert Vermeulen
258eeb77b8
output/analog: add support for sound pressure level
2012-11-02 15:24:30 +01:00
Bert Vermeulen
bde4f4296d
analog: if no MQ unit was set of recognized, just print the value
2012-11-02 15:24:30 +01:00
Uwe Hermann
db7d0626c9
Remove 'float' output module.
...
This has been replaced by the 'analog' output module.
2012-10-30 20:30:25 +01:00
Uwe Hermann
886a52b6fb
Return SR_ERR_MALLOC upon allocation errors.
...
Add some TODOs.
2012-10-30 20:25:54 +01:00
Uwe Hermann
545f978639
config.h usage cleanups.
...
- Drop config.h #include from files that don't actually use any of
its contents (at the moment).
- Add comment for those that do need it.
2012-10-24 00:41:21 +02:00
Uwe Hermann
393fb9cb18
Doxygen: Add @file items for the relevant files.
...
These short descriptions are shown in the "Files" section of the
Doxygen output.
2012-10-22 11:56:18 +02:00
Uwe Hermann
7b870c38e3
Doxygen: Initial groups and topic short descriptions.
2012-10-22 11:56:18 +02:00
Uwe Hermann
b4bd70889f
Doxygen: Mark non-public stuff for exclusion.
...
- /** @private */ can be used for functions, and /** @cond PRIVATE */ and
/** @endcond */ for variables or #defines.
- Document the above in HACKING.
2012-10-22 11:56:17 +02:00
Bert Vermeulen
796a79eb75
analog: add pretty-printer for dBu and dBV
2012-10-16 23:33:54 +02:00
Bert Vermeulen
d713e56181
analog: sane printing of very small and negative values
2012-10-16 23:33:54 +02:00
Uwe Hermann
6aff0d16df
Build fix for Windows/MinGW.
...
On Window/MinGW 'recv' seems to be already defined in some headers.
Use 'receive' instead, for now.
2012-10-16 12:19:36 +02:00
Bert Vermeulen
2b98e0aaab
analog: support AC+DC unit modifier
2012-10-15 11:32:36 +02:00
Bert Vermeulen
96b3b3d568
sr: add support for conductance measurements in Siemens
2012-09-25 19:53:05 +02:00
Bert Vermeulen
aa839a5c4f
sr: add support for pulse width measurements
2012-09-25 19:53:05 +02:00
Bert Vermeulen
161a8a2726
sr: add new analog output module
...
This outputs text representation of SR_DF_ANALOG packets. Unlike the
float module however, it also outputs the standard abbreviations of
SI units corresponding to the packet's MQ and unit.
It also makes an effort to multiply or divide the floating point value
as needed to the nearest multiple or fraction, and inserts the
appropriate SI prefix to match.
2012-09-08 13:24:48 +02:00
Bert Vermeulen
40578aa487
sr: output up to 12 significant digits for floats
2012-09-02 15:42:56 +02:00
Bert Vermeulen
aee878fa2e
sr: fix initialization for output from driverless devices
2012-08-03 11:29:00 +02:00
Bert Vermeulen
5c3c1241d2
sr: change input/output modules to use struct sr_dev_inst *
2012-08-03 11:27:31 +02:00
Bert Vermeulen
45c59c8bdd
sr: moved sigrok.h so libsigrok/libsigrok.h
...
All frontends will have to include <libsigrok/libsigrok.h> from now on.
This header includes proto.h and version.h, both installed from the
distribution into $INCLUDE/libsigrok/ as well.
The only dynamically changed header is now version.h, which has both
libsigrok and libtool compile-time versions in it.
2012-07-05 01:17:28 +02:00
Bert Vermeulen
d27e406e13
sr: new output format 'float', just floating point values
...
Also outputs FRAME-BEGIN and FRAME-END, if present in the stream.
2012-06-19 02:05:28 +02:00
Bert Vermeulen
cdea754ae5
sr: remove unused code
2012-06-19 02:04:18 +02:00
Uwe Hermann
054e670906
sr: out: Use uint8_t (not char) for buffers.
2012-03-31 11:33:43 +02:00
Uwe Hermann
2e7cb0040a
cli: Fix -V/-h output a bit.
...
Options and their defaults should not be documented there, but rather in
the manpage or such.
2012-03-21 23:20:09 +01:00
Uwe Hermann
8ec95d2282
sr/srd: Small fixes, constifications, doc updates.
2012-03-21 23:20:09 +01:00
Uwe Hermann
c09f0b578c
sr/cli/gtk/qt/: s/plugin/driver/.
2012-02-28 23:52:30 +01:00
Bert Vermeulen
2285cf9bc5
sr: code cleanup
2012-02-28 17:47:02 +01:00
Uwe Hermann
5097b0d091
sr/cli/gtk/qt: s/get_dev_info/dev_info_get/.
2012-02-18 11:41:21 +01:00
Uwe Hermann
bb7ef79377
sr/cli/gtk/qt: s/device/dev/ in many places.
...
Also, a few s/instance/inst/ occurences.
2012-02-17 23:47:00 +01:00
Uwe Hermann
44dae53925
sr: Random cosmetics, fix/amend Doxygen comments.
2012-02-17 22:40:51 +01:00
Uwe Hermann
7b48d6e104
sr: Prefix log messages with subsystem string.
2012-02-17 22:40:51 +01:00
Bert Vermeulen
c73d2ea421
sr: adjust copyright year
2012-02-13 14:31:51 +01:00
Bert Vermeulen
031685005b
sr: rename all sr_device_* functions to sr_dev_*
2012-02-13 14:00:47 +01:00
Uwe Hermann
133a37bfba
Use g_try_malloc/g_free/g_strdup consistently.
...
Avoid plain malloc()/free() in sr/srd, especially in the API calls.
Also avoid g_malloc*() in favor of g_try_malloc*().
Use g_strdup() instead of strdup() so that we can use g_free()
consistently everywhere.
Exceptions: Stuff that is allocated via other libs (not using glib),
should also be properly free'd using the respective free-ing function
(instead of g_free()). Examples: Stuff allocated by libusb, libftdi, etc.
Also, use sr_err() instead of sr_warn() for actual errors. sr_warn() is
meant for non-fatal/uncritical warnings.
2012-02-11 22:34:16 +01:00
Uwe Hermann
7c1d391c8b
sr: input/output: Mark more symbols with SR_PRIV.
2012-02-05 15:05:13 +01:00
Uwe Hermann
0f8522bf74
Project-wide consistent naming for #include guards.
...
Document the naming scheme in HACKING.
2012-02-05 15:05:13 +01:00
Uwe Hermann
1a081ca67d
sr: Mark API functions with SR_API/SR_PRIV.
...
Use SR_API to mark public API symbols, and SR_PRIV for private symbols.
Variables and functions marked 'static' are private already and don't
need SR_PRIV. However, functions which are not static (because they need
to be used in other libsigrok-internal files) but are also not meant to
be part of the public libsigrok API, must use SR_PRIV.
This uses the 'visibility' feature of gcc (requires gcc >= 4.0).
Details: http://gcc.gnu.org/wiki/Visibility
2012-02-02 00:03:17 +01:00
Uwe Hermann
66410a8617
sr: g_free()/g_string_free() can handle NULL input.
2012-01-19 00:32:02 +01:00
Uwe Hermann
0da5b6a9f5
sr: Remove useless filename prefixes.
2012-01-03 20:01:02 +01:00
Uwe Hermann
cd315a80d8
sr/srd: Fix left-over #includes.
...
The libs themselves should use #include "sigrok.h" etc., while the
frontends must use #include <sigrok.h> and so on.
2012-01-03 19:56:01 +01:00
Uwe Hermann
db8ae7b941
sr/srd: Remove/fix non-applicable autotools stuff.
2011-12-30 11:14:24 +01:00
Uwe Hermann
cb93f8a927
Other method to avoid "unused var" compiler warnings.
...
The '(void)varname' method is nicer than 'varname = varname' and also
prevents warnings when compiling sigrok with clang instead of gcc.
2011-11-24 22:57:48 +01:00
Uwe Hermann
719c5a934c
Fix some compiler warnings.
2011-11-15 21:05:40 +01:00
Uwe Hermann
548b08e55c
Drop unneeded skeleton files.
...
They're not too useful as they mostly consist of a list of function names,
and that list is already available in the respective struct. The wiki
API docs and the code in the various hardware/output drivers serve as
useful examples already, no need for additional files.
2011-05-05 13:06:12 +02:00
Uwe Hermann
02604ed6de
Initial support for CSV as output format.
2011-04-27 00:25:57 +02:00
Uwe Hermann
b53738baf7
Replace g_malloc{0,} with g_try_malloc{0,}.
...
The g_malloc()/g_malloc0() versions exit/segfault if not enough memory
is available, which is not a good thing in libsigrok.
Instead, we use the g_try_malloc()/g_try_malloc0() variants, which
return NULL if not enough memory is available, so that the caller can
handle the error properly.
2011-04-16 18:08:15 +02:00
Uwe Hermann
50959ddcdc
gnuplot output: Optimize by only storing changes.
...
Only output new lines in gnuplot output if there have been changes in
the samples (similar to what VCD does). As long as the first and last
sample are output, the resulting plot looks OK.
This reduces the size of the output file from roughly 200MB to just 60KB
in one specific test setup (depends on the number of probes and on the
signal, of course). The time and CPU load required to generate the gnuplot
output and the resulting plot (PNG or other) is also drastically reduced
from multiple minutes to roughly 30 seconds (again, depends on various
things).
Thanks Ken Mobley of ChronoVu for the report.
2011-04-15 21:49:22 +02:00
Uwe Hermann
b08024a836
libsigrok: Introduce sr_dbg/sr_info/sr_warn/sr_err.
...
We should use these (internal) functions in libsigrok exclusively from
now on, i.e. no more use of glib's g_debug() etc.
These functions are only for libsigrok, the frontends use whatever
logging mechanism is suitable there.
2011-04-14 10:11:08 +02:00
Uwe Hermann
8c48f17944
Add chronovu-la8 output file format.
2011-04-10 23:59:38 +02:00
Uwe Hermann
20ebd1fe1d
gnuplot output: More error checks.
2011-04-10 23:03:34 +02:00
Uwe Hermann
cdb3573ceb
input/output formats: s/extension/id/.
...
The struct entry 'extension' is not really a (filename) extension, but
rather a unique ID used for input or output formats, e.g. in the sigrok
CLI or GUI interface. Thus, rename it accordingly.
2011-04-10 23:03:34 +02:00
Uwe Hermann
819184ee68
Binary output: Add more error checks.
2011-04-10 23:03:33 +02:00
Uwe Hermann
d494a4aa9d
input/output formats: Explicit struct member names.
...
This makes it immediately clear what an entry is supposed to be, no
need to look it up in some header file.
2011-04-10 23:03:33 +02:00
Uwe Hermann
847c21bc65
Hook up output/text directory with autotools.
...
This is needed for 'make distcheck' to work.
Also, add missing text.h to the list of source files.
2011-04-03 20:15:12 +02:00
Bert Vermeulen
4487177c79
output_ols: disabled cursors don't really need to be listed
2011-04-03 06:18:05 +02:00
Uwe Hermann
120b259ea8
Drop obsolete vcd_header.
2011-03-03 20:24:25 +01:00
Uwe Hermann
d078d2e5f3
Make some more items 'static'.
2011-03-03 20:24:25 +01:00
Uwe Hermann
59df0c77e2
Add SR_ prefix to the KHZ/MHZ/GHZ macros.
2011-03-03 20:24:24 +01:00
Uwe Hermann
9688b443f6
Add SR_ prefix for MAX_NUM_PROBES/MAX_PROBENAME_LEN.
2011-02-20 21:16:26 +01:00
Uwe Hermann
54ac5277c5
Constify some more 'char *' parameters.
2011-02-20 21:16:26 +01:00
Uwe Hermann
809c5f2011
Add sr_ prefix for analog stuff some structs.
2011-02-20 21:16:24 +01:00
Uwe Hermann
77b454421a
Disable analog bits/gnuplot output for now.
2011-02-20 21:16:20 +01:00
Bert Vermeulen
305bde4d42
implement version 1.3 of the OLS output format, now streaming
2011-02-12 06:18:16 +01:00
Uwe Hermann
2bf4aca64a
Add sr_ prefix for device related API functions.
2011-02-08 22:28:02 +01:00
Uwe Hermann
1afe89897c
Add sr_ prefix for 'struct probe'.
2011-02-08 22:27:58 +01:00
Bert Vermeulen
6e738600eb
output_ols: now fully compliant with spec
2011-02-01 06:13:32 +01:00
Bert Vermeulen
3a28509817
don't just assume a device has a samplerate setting
2011-02-01 02:33:54 +01:00
Bert Vermeulen
40f5ddac01
move samplerate/period printers and parsers into libsigrok
2011-01-31 22:29:40 +01:00
Uwe Hermann
5a2326a71b
SR_ prefix for all public enums.
2011-01-30 18:32:59 +01:00
Uwe Hermann
a00ba01228
Change all sigrok_ prefixes to sr_.
2011-01-30 18:32:55 +01:00
Uwe Hermann
f50f3f40d9
Add sr_ prefix to input/output structs.
2011-01-30 18:32:54 +01:00
Uwe Hermann
e46b8fb154
Change SIGROK_ prefix to SR_.
2011-01-30 18:32:53 +01:00
Uwe Hermann
ff35879bb7
Fix some compiler warnings.
2011-01-27 23:17:47 +01:00
Bert Vermeulen
97554432e8
split output_text into more manageable pieces
2011-01-22 04:35:02 +01:00
Uwe Hermann
5819184b22
Remove duplicate FIRMWARE_DIR includes.
...
We use AC_DEFINE_UNQUOTED in configure.ac now to put the FIRMWARE_DIR #define
in the config.h file, which is included where we need the #define.
2011-01-21 21:14:37 +01:00
Daniel Ribeiro
81bbdf6a6a
add incomplete DF_ANALOG support to output_gnuplot.c
...
RAW->Voltage conversion is not implemented yet, its hardcoded for
signed 16bit conversion.
2011-01-21 16:11:44 -02:00
Daniel Ribeiro
6eb0e3ea95
change output_text.c to support analog
...
Only the "bits" output format was converted.
Analog values, are scaled down to A-Z letters.
2011-01-21 02:12:48 -02:00
Daniel Ribeiro
f3163a6c2e
make output_analog.c = output_text.c
2011-01-21 02:12:48 -02:00
Håvard Espeland
32c0551ba6
output_vcd: Make timestamp work on 32-bit machine.
2011-01-18 23:17:55 +01:00
Håvard Espeland
afa8f8449a
output_text: Mark trigger at correct position.
...
ASCII output does not separate groups of samples with
and must be handled separately.
2011-01-18 22:14:36 +01:00
Håvard Espeland
6ef7a8cb5d
output_text: Fix ASCII edge case.
2011-01-18 22:13:50 +01:00
Håvard Espeland
d4f228d094
output_text: Add ASCII output.
2011-01-17 22:56:14 +01:00
Håvard Espeland
b33e7d7058
output_vcd: Emit timestamps as time, not sample num.
2011-01-16 17:55:51 +01:00
Håvard Espeland
08b488b848
output_vcd: Remember samples between packets.
...
Fixes two bugs in vcd output:
1) Waveform did not match original input when viewed in gtkwave.
2) No vcd output when using 1 MHz sampling on Sigma.
2011-01-16 17:34:49 +01:00
Uwe Hermann
10c471ab13
Fix warnings.
2011-01-16 14:18:26 +01:00
Bert Vermeulen
fbf1ff5d22
clean up output_vcd module
...
use self-expanding strings, better standards conformance
2011-01-16 04:34:45 +01:00
Uwe Hermann
ab224f7b61
Initial support for the OLS output format.
...
This is the file format for the OpenBench Logic Sniffer "Alternative" client.
Details: https://github.com/jawi/ols/wiki/OLS-data-file-format
This is work-in-progress.
Currently the number of samples is hardcoded to 10000. Also, this will
require a real logic analyzer as input at the moment, and will not yet
work with the "demo" driver.
2011-01-15 19:05:14 +01:00
Håvard Espeland
9d7ab9ba3b
output_text: Allocate more memory for output
...
The trigger line was forgotten. Allocate 512 bytes extra.
2011-01-15 18:24:01 +01:00
Håvard Espeland
3aa403e858
output_text: Allocate enough memory for output
2011-01-15 16:12:12 +01:00
Uwe Hermann
484760d1a8
Cosmetics.
2011-01-15 15:57:54 +01:00
Bert Vermeulen
f7606f9b75
fix hex output
2011-01-15 15:25:08 +01:00
Bert Vermeulen
9ab95e5408
make output modules a bit more crashproof
...
the event handler in output modules is now optional.
2011-01-13 07:55:35 +01:00
Bert Vermeulen
2507648e63
use us instead of µs in periods (VCD can't handle it)
2011-01-13 07:55:35 +01:00