Commit Graph

724 Commits

Author SHA1 Message Date
Gerhard Sittig 440a374fe3 serial-dmm: sort the list of device drivers (part 2, dtm0660)
This commit puts 'dtm0660' meters into one group.
2016-11-06 14:43:30 +01:00
Gerhard Sittig c06785841c serial-dmm: sort the list of device drivers (part 1, bm25x)
The previous implementation seems to have added drivers in their "order
of appearance". Start sorting the rather long list, to simplify several
tasks: Add new entries as more drivers get written, find existing items
during research, identify and compare similar models during maintenance.
As a byproduct, there will be no doubt about where to put things during
future work :) and duplicates will be spotted immediately.

This commit puts 'bm25x' meters into one group. And comments on the sort
order and motivation for sorting the table.
2016-11-06 14:43:25 +01:00
Gerhard Sittig e68c0eb409 serial-dmm: add support for Peaktech-3330 (based on FS9721)
Add another DMM entry for Peaktech-3330, which is based on the FS9721
chipset. Support was tested with the CP210x based USB cable.

Signed-off-by: Gerhard Sittig <gerhard.sittig@gmx.net>
2016-11-02 23:23:56 +01:00
Uwe Hermann 7dc72c37e2 hantek-6xxx: Add "fx2lafw-" prefix to the firmware files. 2016-10-31 14:42:29 +01:00
Uwe Hermann 459324acb8 hantek-6xxx: Update driver to use the USB product version field.
We now require the use of the latest fx2lafw firmware which uses the
same USB VID/PID (1D50:608E) for the Hantek 6022BE and the variants
and rebadges of that device (e.g. the SainSmart DDS120).

The variants can be distinguished via the USB product version field.
2016-10-30 14:36:40 +01:00
Aurelien Jacobs f6e7b6124a agilent-dmm: style improvement 2016-10-17 23:21:18 +02:00
Aurelien Jacobs 63bb11baba agilent-dmm: add support for Log-* data_source for U128x 2016-10-17 02:29:13 +02:00
Aurelien Jacobs b907d62fb8 agilent-dmm: rework job management
This allows much faster and configurable sampling rate, and faster
reaction to function switch.
This also gives a more repeatable job ordering and more reliable
query/reply association.
2016-10-17 02:29:13 +02:00
Aurelien Jacobs 6ace179e6d agilent-dmm: prepare config handling to easily receive more options 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 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 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 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
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 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 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 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 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
Aurelien Jacobs b66a0b5bdd mic-985xx: fix encoding digits 2016-08-23 12:58:06 +02:00
Aurelien Jacobs 1db537c3eb uni-t-ut32x: properly set encoding digits 2016-08-23 12:58:06 +02:00
Aurelien Jacobs fa2b19226d lascar-el-usb: properly set encoding digits 2016-08-23 12:58:05 +02:00
Aurelien Jacobs 0a2ffa3ebf center-3xx: properly set encoding digits 2016-08-23 12:58:05 +02:00
Aurelien Jacobs 3be044aa90 demo: properly set encoding digits 2016-08-23 12:58:05 +02:00
Aurelien Jacobs bcaadb366f motech-lps-30x: properly set encoding digits 2016-08-23 12:58:05 +02:00
Aurelien Jacobs 1af428d018 manson-hcs-3xxx: properly set encoding digits 2016-08-23 12:58:05 +02:00
Aurelien Jacobs 841c15a5fa korad-kaxxxxp: properly set encoding digits 2016-08-23 12:58:05 +02:00
Aurelien Jacobs fad810b502 atten-pps3xxx: properly set encoding digits 2016-08-23 12:58:05 +02:00
Aurelien Jacobs b8f07f4221 rigol-ds: properly set encoding digits 2016-08-23 12:58:05 +02:00
Aurelien Jacobs 6ed709fecd scpi-pps: properly set encoding digits 2016-08-23 12:58:05 +02:00