Commit Graph

4278 Commits

Author SHA1 Message Date
Aurelien Jacobs 5728718b66 analog: use SI prefix only with units that accept SI prefixes 2016-10-17 02:24:53 +02:00
Aurelien Jacobs d2f6abf6de agilent-dmm: fix handling of continuity mode for U128x 2016-10-17 02:24:53 +02:00
Aurelien Jacobs 7ab126cacb agilent-dmm: add support for pulse width and duty cycle on U128x 2016-10-17 02:24:53 +02:00
Aurelien Jacobs cdc311957b analog: use correct unit for dBm/dBV 2016-10-17 02:09:18 +02:00
Aurelien Jacobs 8f68f36bc5 agilent-dmm: add support for dBm/dBV modes 2016-10-17 02:09:18 +02:00
Aurelien Jacobs d822726dbf agilent-dmm: add support for reading secondary display and temperature 2016-10-17 02:09:18 +02:00
Gerhard Sittig 3cc2028382 tests: relax the "version text" length check, accept longer strings
The version text length check fails for git setups that use more digits
in abbreviated hashes, as is recommended by e.g. the Linux kernel project.

Raise the upper limit for acceptable version strings, and add comments
on how the limits were determined. The test still might fail in setups
of slightly different configuration, but now it's easier to see why the
test failed, and how to adjust the test.

Signed-off-by: Gerhard Sittig <gerhard.sittig@gmx.net>
2016-10-17 02:08:44 +02:00
Gerhard Sittig 7c86d85372 asix-sigma: fix buffer length check in register write helper
Fix the array size check in the sigma_write_register() routine. The
'len' parameter specifies the number of bytes to write, while the 'buf'
array holds one nibble per array item.

The previous implementation (commit e8686e3ae3) switched to a
constant size and made the buffer large enough so that no existing
request would exceed the buffer, fixing an overflow that was present
before that commit. But the most recent size check was incomplete and
might erroneously succeed for larger amounts of write data.

It's assumed that the issue which gets addressed here never occured in
practice. The constant-size buffer could hold up to 39 bytes of input
data in their transport representation, while the largest data that was
passed to the write routine is six bytes (trigger LUT params).

Fixes: e8686e3ae3 "asix-sigma: Avoid use of variable length arrays"

Signed-off-by: Gerhard Sittig <gerhard.sittig@gmx.net>
2016-10-17 02:05:22 +02:00
Gerhard Sittig 2f7e529ce6 asix-sigma: store "limit samples" value, re-determine "limit msecs" period
The driver internally implements the "limit samples" feature by means of
the "limit sample period" approach. Determination of the corresponding
period of time for captures depends on the sample rate as well as the
maximum sample count, and thus needs to be re-done when either setting
changes.

Introduce a "limit_samples" variable so that the value is available when
needed later. As a byproduct the parameter can be retrieved now (get).

Add comments to the sigma_set_samplerate() routine's sections, since
quite a bit is happening there, and interacts with other locations.

Signed-off-by: Gerhard Sittig <gerhard.sittig@gmx.net>
2016-10-17 02:05:21 +02:00
Gerhard Sittig 4154a516de asix-sigma: fix out-of-range access to the samplerates[] array
Commit 2c9c0df86e removed the sentinel from the samplerates[] array,
but did not adjust the test which checked whether a rate is listed in
the set of supported rates. This could result in an out-of-range access
beyond the array's last item.

Fix the "listed?" check after iterating the table of supported rates.
Cope with either presence or absence of a sentinel in the array.

Address some more style nits while we are here. Rename an identifier
for a local variable which unintentionally might suggest that it would
be a preprocessor macro (all-caps). Reduce redundancy in data type
references as well as in the determination of the array size.

Signed-off-by: Gerhard Sittig <gerhard.sittig@gmx.net>
2016-10-17 02:05:21 +02:00
Gerhard Sittig 387825dcb1 asix-sigma: update comments in firmware download code paths
The current implementation of the ASIX Sigma firmware download contains
comments which express uncertainty. Rephrase them, no magic is involved.

Discuss the polarity of the CCLK hardware signal. Which shall eliminate
potential concerns in future reviews or maintenance.

This commit only updates comments, and does not change behaviour.

Signed-off-by: Gerhard Sittig <gerhard.sittig@gmx.net>
2016-10-17 02:05:21 +02:00
Uwe Hermann efde67a107 Doxyfile*: Set GENERATE_TODOLIST to NO.
We don't really need or use this. Bugs/issues should go into Bugzilla.
2016-09-26 17:19:24 +02:00
Uwe Hermann ba508e22d4 demo: File naming consistency changes. 2016-09-24 14:27:03 +02:00
Uwe Hermann caeb8d7a9d hantek-dso: File naming consistency changes. 2016-09-24 13:17:08 +02:00
Uwe Hermann 2cb232a9e4 fluke-dmm: File naming consistency changes. 2016-09-24 13:16:58 +02:00
Uwe Hermann 6cf1a87bfb agilent-dmm: File naming consistency changes. 2016-09-24 13:16:01 +02:00
Uwe Hermann 7ade12b470 resource: Improve logging output.
Don't show duplicate lines (per default) such as

  sr: resource: Failed to locate 'saleae-logic16-fx2.fw'.
  sr: resource: Failed to open resource 'saleae-logic16-fx2.fw'.

The first one is now an sr_dbg() instead of sr_err().

Also, mention that a higher loglevel will give more information as to
where the backend is looking for resources / firmware files.

This fixes bug #806.
2016-09-24 11:41:47 +02:00
Mike Meyer cad447d21a output/csv: Add an option to output units for column labels.
This change tweaks the CSV output module to change the label
setting from on/off to units/channels/off, where channels is the old
on behavior, and units uses the meaning field to generate the column
label - except for the generated Time column, which uses the label from
the X axis when it's generating gnuplot output.
2016-09-24 11:21:00 +02:00
Karsten König d53295e69e rigol-ds: Add DS1074Z Plus and DS1104Z Plus.
This was successfully tested on a DS1074Z Plus.
2016-09-24 11:04:32 +02:00
Uwe Hermann d5794ad63a contrib: Drop all example gnuplot scripts.
These files (or at least similar ones) can now be generated by the
CSV output module.
2016-09-04 18:18:37 +02:00
Mike Meyer f9c6b5cfd3 output/gnuplot: Remove, obsoleted by improved CSV module.
We no longer need a gnuplot output module, the CSV module can output
gnuplot-compatible data now (and it can also generate .gpi files).
2016-09-04 18:15:00 +02:00
Uwe Hermann e34dbc9d08 csv: Fix a segfault due to a g_malloc() allocating too few bytes. 2016-09-04 18:03:50 +02:00
Uwe Hermann cf1d5f1749 csv: Fix a segfault when using non-hardware input. 2016-09-04 18:03:50 +02:00
Mike Meyer 9e24c8bc65 New all-singing, almost all dancing, csv output module.
- It now handles more than one analog value correctly - at least from the
   demo driver.
 - Add column headers from channel names.
 - Add a row dedup capability.
 - Add a sample time column.
 - Add a frame end formatting (for gnuplot).
 - Made almost all formatting controllable or at least optional.
 - Fix it so we can mix analog and digital values.
 - Add outputting a gnuplot script for the data.
 - Count actual channels, not just mine, to find end of sample.
 - Add trigger option (untested).
2016-09-04 18:03:50 +02:00
Uwe Hermann 55ec0b673a fluke-dmm: Fix two compiler warnings.
src/hardware/fluke-dmm/fluke.c:312:24: warning: implicit conversion from \
  enumeration type 'enum sr_unit' to different enumeration type 'enum sr_mq' \
   [-Wenum-conversion]
          devc->mq = devc->unit = devc->mqflags = 0;
                   ~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~

  src/hardware/fluke-dmm/fluke.c:312:40: warning: implicit conversion from \
  enumeration type 'enum sr_mqflag' to different enumeration type 'enum \
  sr_unit' [-Wenum-conversion]
          devc->mq = devc->unit = devc->mqflags = 0;
                                ~ ~~~~~~~~~~~~~~^~~
2016-08-29 21:51:28 +02:00
Uwe Hermann 693c52482a es51919: Fix a compiler warning.
src/lcr/es51919.c:538:73: warning: comparison of unsigned enum expression \
		< 0 is always false [-Wtautological-compare]
    if ((analog->meaning->mq = parse_mq(pkt, is_secondary, pkt[2] & 0x80)) < 0)
2016-08-29 21:51:28 +02:00
Uwe Hermann 5c436a3bad strutil.c: Fix a Doxygen warning. 2016-08-29 21:51:28 +02:00
Uwe Hermann cd04f641a5 Fix various sample/time limit regressions.
These were accidentally introduced when the sw_limits helpers were added.
2016-08-29 21:51:28 +02:00
Uwe Hermann cb4b368f17 gmc-mh-1x-2x: Shorten some code by using the ternary operator. 2016-08-29 21:51:28 +02:00
Uwe Hermann d9251a2c9f Remove some unneeded double-spaces.
(also perform some other minor whitespace fixes while at it)
2016-08-29 21:51:27 +02:00
Uwe Hermann 2ecc745ccb device.c: Whitespace/cosmetics and typo fixes. 2016-08-29 21:51:27 +02:00
Uwe Hermann 8dc423b033 analog.c: Whitespace/cosmetics and typo fixes. 2016-08-29 21:51:27 +02:00
Uwe Hermann 4a94c27d95 HACKING: Prefer git pull requests over mailing list patches.
Also, drop the reference to gitorious.org (no longer available).
2016-08-29 00:25:19 +02:00
Uwe Hermann 7dcaddd3f0 Have remaining drivers default to digits=2 for analog values.
The default so far was 0, which meant there would be no significant
digits at all, yielding results that looked strange/wrong to the user.

Long-term all remaining drivers should be fixed to use the actual,
correct digits and spec_digits values according to the device's
capabilities and/or datasheet/manual. Until that is done, a default
of digits=2 is used as a temporary workaround.

This fixes the remaining parts of bug #815.
2016-08-29 00:25:19 +02:00
Uwe Hermann 869c837511 Document if or why sometimes digits/spec_digits is 0. 2016-08-29 00:25:19 +02:00
Aurelien Jacobs a005472fa2 appa-55ii: properly set encoding digits also for log memory reception 2016-08-29 00:25:19 +02:00
Aurelien Jacobs 962172e495 analog: improve output readability by using SI prefix 2016-08-29 00:25:19 +02:00
Aurelien Jacobs 6c1c13cdcd gwinstek-gds-800: properly set encoding digits 2016-08-29 00:25:18 +02:00
Aurelien Jacobs 417412c8f8 hantek-dso: properly set encoding digits 2016-08-29 00:25:18 +02:00
Aurelien Jacobs 1e1fdbc994 hantek-6xxx: properly set encoding digits 2016-08-29 00:25:18 +02:00
Aurelien Jacobs 545101338a hung-chang-dso-2100: properly set encoding digits 2016-08-29 00:25:18 +02:00
Aurelien Jacobs ad4c0275c2 baylibre-acme: properly set encoding digits 2016-08-24 02:39:40 +02:00
Aurelien Jacobs d043b29d5c tondaj-sl-814: properly set encoding digits 2016-08-24 01:01:23 +02:00
Aurelien Jacobs 53b4ea3921 kecheng-kc-330b: properly set encoding digits 2016-08-24 01:01:23 +02:00
Aurelien Jacobs dcb6fcbb7b colead-slm: properly set encoding digits 2016-08-24 01:01:23 +02:00
Aurelien Jacobs 8c50007222 cem-dt-885x: properly set encoding digits 2016-08-24 01:01:23 +02:00
Aurelien Jacobs f4bd8a1718 gmc-mh-1x-2x: properly set encoding digits 2016-08-24 01:01:23 +02:00
Uwe Hermann 796f0e98a2 README.devices: Update firmware related information. 2016-08-23 12:58:20 +02:00
Aurelien Jacobs 96117c5660 document encoding.digits and spec.spec_digits 2016-08-23 12:58:06 +02:00
Aurelien Jacobs b66a0b5bdd mic-985xx: fix encoding digits 2016-08-23 12:58:06 +02:00