Commit Graph

1462 Commits

Author SHA1 Message Date
Miklos Marton 4d8338bb96 demo: Add random analog signal generation 2019-07-31 23:15:18 +02:00
Elen Eisendle b1b8a7d079 korad-kaxxxxp: Add Korad KD6005P 2019-07-31 23:15:11 +02:00
Gerhard Sittig b50970a541 lcr/vc4080: introduce LCR packet parser for Voltcraft 4080 (and PeakTech 2165)
Introduce the lcr/vc4080.c source file which implements the parser for
the serial data stream of the Voltcraft 4080 LCR meter. Add the meter to
the list of supported devices in the serial-lcr driver, as well as the
PeakTech 2165 LCR meter which is another compatible device.

This implementation contains a workaround for USB based serial cables
which seem to suffer from incomplete parity handling (observed with the
FT232R based PeakTech cable). Similar approaches were seen in existing
DMM drivers.

This implementation supports the main and secondary displays. The D and Q
"displays" which are communicated in the serial packets appear unreliable
and redundant, users can have the D and Q values shown in the supported
displays.
2019-07-31 22:40:44 +02:00
Gerhard Sittig 66c300c4a6 serial-lcr: also request packets before initial state retrieval
Commit cb5cd1538f introduced packet request support in the serial-lcr
device driver. Calls were added to the detection of the device's
presence, and the periodic acquisition of measurement data. Add another
call to the device configuration retrieval that follows the presence
detection, without it communication timed out with no data received.

Also slightly raise the timeout for this device configuration gathering
phase. With one second sharp, the VC4080 was detected, but getting its
current configuration kept failing. This device's serial communication
is extra slow (1200 bps) and the packets are rather large (39 bytes).
Which made the stream detect's receive routine stop checking for the
availability of more data while a packet was being received.
2019-07-31 15:23:03 +02:00
Gerhard Sittig c4d2e6fa5e serial-lcr: move probe, dev inst creation, data read out of scan
Move the initial device probe (LCR packet validity check), the creation
of the device instance after successful probe, and the subsequent packet
inspection after resource allocation out of the scan routine. This shall
improve readability of the serial-lcr driver's probe logic, and reduces
diffs when handling of multiple connections gets added later.

Add a developer comment, the serial-lcr driver needs to handle multiple
connections when the conn= spec is ambiguous (multiple cables of the
same type, with the same VID:PID).
2019-07-31 15:23:03 +02:00
Uwe Hermann 1838d9f13f hameg-hmo: Fix two compiler warnings (-Wstringop-truncation).
src/hardware/hameg-hmo/protocol.c: In function ‘hmo_scope_state_get’:
  src/hardware/hameg-hmo/protocol.c:1130:2: warning: ‘strncpy’ specified bound 20 equals destination size [-Wstringop-truncation]
    strncpy(state->trigger_pattern,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     sr_scpi_unquote_string(tmp_str),
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     MAX_ANALOG_CHANNEL_COUNT + MAX_DIGITAL_CHANNEL_COUNT);
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    CC       src/hardware/hp-3478a/api.lo
    CC       src/hardware/hung-chang-dso-2100/protocol.lo
  src/hardware/hameg-hmo/api.c: In function ‘config_set’:
  src/hardware/hameg-hmo/api.c:388:3: warning: ‘strncpy’ specified bound 20 equals destination size [-Wstringop-truncation]
     strncpy(state->trigger_pattern,
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      tmp_str,
      ~~~~~~~~
      MAX_ANALOG_CHANNEL_COUNT + MAX_DIGITAL_CHANNEL_COUNT);
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-07-30 23:53:42 +02:00
Uwe Hermann c38d69adf4 hameg-hmo: Fix two compiler warnings (-Warray-bounds).
src/hardware/hameg-hmo/protocol.c: In function ‘hmo_scope_state_get’:
  src/hardware/hameg-hmo/protocol.c:1035:31: warning: array subscript 0 is above array bounds of ‘char *[0]’ [-Warray-bounds]
     g_free(logic_threshold_short[i]);
            ~~~~~~~~~~~~~~~~~~~~~^~~
  src/hardware/hameg-hmo/protocol.c:1035:31: warning: array subscript 0 is above array bounds of ‘char *[0]’ [-Warray-bounds]
  src/hardware/hameg-hmo/protocol.c:974:24: warning: array subscript 0 is above array bounds of ‘char *[0]’ [-Warray-bounds]
     logic_threshold_short[i] = g_strdup((*config->logic_threshold)[i]);
     ~~~~~~~~~~~~~~~~~~~~~^~~
  src/hardware/hameg-hmo/protocol.c:974:24: warning: array subscript 0 is above array bounds of ‘char *[0]’ [-Warray-bounds]
2019-07-30 23:53:42 +02:00
Guido Trentalancia 97a000748a hameg-hmo: Add SR_CONF_HIGH_RESOLUTION and SR_CONF_PEAK_DETECTION.
Implement High Resolution mode and Peak Detection settings.

Beautify the code by reordering the Trigger Source settings
definitions.
2019-07-26 01:43:19 +02:00
Guido Trentalancia 29a9b1a0bd hameg-hmo: Get SCPI_CMD_GET_HORIZONTAL_DIV at runtime.
Get the number of horizontal divisions from the device (at runtime)
instead of hardcoding its value in the driver.
2019-07-26 01:43:19 +02:00
Guido Trentalancia a12456f1bb hameg-hmo: Don't hardcode POD/channel numbers.
Don't hardcode the number of PODs or the number of logic (digital)
channels per POD.
2019-07-26 00:55:40 +02:00
Guido Trentalancia 0c96de7223 hameg-hmo: Remove duplicate function call.
This call was inadvertently left around in commit
8cccbac8da.
2019-07-26 00:55:40 +02:00
Guido Trentalancia 66ddc22a1d hameg-hmo: Rename SCPI_CMD_GET_VERTICAL_DIV to *_SCALE.
Fix the name of the SCPI command used to get the vertical scale.
2019-07-26 00:55:40 +02:00
Guido Trentalancia 396af5ad7d hameg-hmo: Beautify trigger pattern.
Beautify the trigger pattern by removing the quotes from the SCPI response
using sr_scpi_unquote_string() and improve the string pattern handling.
2019-07-26 00:55:40 +02:00
Guido Trentalancia a058de0410 hameg-hmo: Add missing 1ns timebase for some models.
Extend the timebase setting down to 1ns from the current limit
of 2ns for all supported series except the HMO Compact.
2019-07-26 00:55:40 +02:00
Guido Trentalancia 0184aca19d hameg-hmo: Add missing quotes for SCPI_CMD_SET_TRIGGER_PATTERN. 2019-07-26 00:11:07 +02:00
Guido Trentalancia b720f16eb5 hameg-hmo: Add RTA4000 MSO support (untested).
According to the latest available version of the manual, as
for the RTB2000 and RTM3000 series, the RTA4000 series also
uses a slightly different dialect than other previously
supported models, in particular when it comes to the POD
(logic channel groups) handling.

I do not have such model available for testing therefore, as
for the RTB2000 and RTM3000 support recently introduced, I do
not know whether or not the RTA4000 also understands the
existing dialect. In doubt, the new official dialect is
implemented by this patch.
2019-07-26 00:11:07 +02:00
Guido Trentalancia aac3063300 hameg-hmo: Add RTB2000 and RTM3000 MSO support (untested).
According to the latest available version of the manual, they
both use a slightly different dialect than currently supported
models, in particular when it comes to the POD (logic channel
groups) handling.

I do not have any of the above models available for testing
therefore I do not know whether or not they also understand
the existing dialect. In doubt, the new official dialect is
implemented by this patch.
2019-07-26 00:11:07 +02:00
Guido Trentalancia 3a247d0359 hameg-hmo: Add SR_CONF_LOGIC_ANALYZER drvopt. 2019-07-26 00:11:07 +02:00
Guido Trentalancia 4f3cb1eaf7 hameg-hmo: Fix the upper limit for the vertical scale. 2019-07-26 00:11:07 +02:00
Guido Trentalancia 1203acc78f hameg-hmo: Only update states after successful SCPI SET.
Update the oscilloscope state with new settings only after
they have been successfully stored in the device to avoid
an inconsistent state in case of SCPI SET command failure.
2019-07-26 00:11:07 +02:00
Guido Trentalancia 39e1972347 hameg-hmo: Fix for an incorrect samplerate being returned.
The hameg-hmo driver returns an incorrect sample rate: to reproduce this
bug, set the maximum sample rate from the ACQUIRE menu.

This patch fixes the driver so that the correct sample rate is returned.
2019-07-26 00:11:07 +02:00
Guido Trentalancia 3883934404 hameg-hmo: Avoid bogus SCPI timeouts.
During the initial configuration phase of the hameg-hmo driver
only send an OPC command if a SCPI command has been previously
sent to the device so that bogus SCPI timeouts are avoided.
2019-07-26 00:11:07 +02:00
Guido Trentalancia 262061ff3d hameg-hmo: Use 1-based (not 0-based) POD numbers.
The current starting index for the POD name is currently wrong as it is zero.

The official POD numbering starts instead at 1 (see device panel, buttons
and manual), so the current index used for message printing and groups
naming in the driver needs to be incremented by one.
2019-07-26 00:11:07 +02:00
Guido Trentalancia 830e24b68f hameg-hmo: SR_CONF_LIMIT_SAMPLES/_FRAMES don't support _GET.
The samples and frame acquisition limits are not stored in the device or
elsewhere. Therefore they should not be read.
2019-07-26 00:11:07 +02:00
Guido Trentalancia 673989692c hameg-hmo: Avoid a double-free.
Avoid double memory freeing leading to segmentation fault in when a SCPI
command fails to get a string due conditions such as a timeout or an invalid
command.
2019-07-26 00:11:07 +02:00
Guido Trentalancia 4fa4db2c79 hameg-hmo: Add SR_CONF_TRIGGER_PATTERN support.
Introduce support for the Pattern Trigger functionality, sometimes also
called Logic Trigger.
2019-07-26 00:11:07 +02:00
Guido Trentalancia c8ecfa6ea4 hameg-hmo: When setting slope, also set trigger type to edge.
When setting the type of slope for the edge trigger function, also set the
trigger type to edge because it is not necessarily configured that way and
therefore such functionality might fail to work properly!

This fixes parts of bug #1328.
2019-07-26 00:11:07 +02:00
Guido Trentalancia 4cf90b8667 hameg-hmo: Add support for the HMO1202 MSO. 2019-07-26 00:11:07 +02:00
Guido Trentalancia e35ebc6aa3 hameg-hmo: Initial R&S RTC1000 MSO support attempt.
(might need testing)
2019-07-26 00:11:07 +02:00
Guido Trentalancia e131be0ac3 hameg-hmo: Add support for SR_CONF_LOGIC_THRESHOLD/_CUSTOM.
Update the Hameg/Rohde&Schwarz HMO driver (hameg-hmo) so that it
is possible to configure the logic threshold for digital signals.

The user can get or set the logic threshold configuration using
the channel group POD0 (and/or POD1 where available), for example:

sigrok-cli --driver hameg-hmo --get logic_threshold -g POD0
sigrok-cli --driver hameg-hmo --config logic_threshold=TTL --set -g POD0

sigrok-cli --driver hameg-hmo --get logic_threshold_custom -g POD0
sigrok-cli --driver hameg-hmo --config logic_threshold_custom=0.7 --set -g POD0
2019-07-26 00:11:07 +02:00
Guido Trentalancia 3308450089 hameg-hmo: Update the default serial port options.
Update the default serial port options for Rohde&Schwarz and
Hameg mixed-signal oscilloscope devices connected through USB.

Also, remove misplaced and unused serial port configuration option.

This patch complements fa3d104f17
in terms of updating the USB PIDs for new devices (HMO series).

This fixes parts of bug #1321.
2019-07-26 00:11:07 +02:00
Guido Trentalancia d779dcacb7 hameg-hmo: Add SR_CONF_LIMIT_SAMPLES support.
At the moment only the maximum number of frames to be acquired can be
configured for the Hameg/Rohde&Schwarz HMO mixed-signal oscilloscope
series driver (hameg-hmo).

This patch adds support to configure the number of samples to acquire
in both analog and digital (logic) mode.
2019-07-26 00:11:07 +02:00
Guido Trentalancia 6d0f3508f7 hameg-hmo: Add support for 16 digital (logic) channels.
This patch introduces the support for 16 digital (logic) channels for the
following oscilloscope models: HMO3032, HMO3042, HMO3052 and HMO3522
(previously only 8 digital channels were supported, i.e. only 1 POD).
2019-07-26 00:11:07 +02:00
Guido Trentalancia 91525636a6 hameg-hmo: Remove invalid HMO2522, add missing HMO3522.
This patch takes care of removing an invalid product model (HMO2522)
and adds a missing product model (HMO3522) in the hameg-hmo driver,
thus extending the number of supported oscilloscope models.

This fixes bug #1322.
2019-07-26 00:11:07 +02:00
Guido Trentalancia 14cb6aa40a hameg-hmo: Use g_byte_array_free() instead of g_free().
Use the appropriate glib function to free memory (byte array).

This fixes bug #1324.
2019-07-26 00:10:35 +02:00
Uwe Hermann 80d3497569 hantek-4032l: Fix broken triggering on low signal.
The trigger range/mask "compression" procedure is apparently not
required and breaks triggering on a low line state.

This has been verified to fix the issue on a Hantek 4032L with FPGA
version 0x4303. It is possible that the procedure mentioned above
might be required for other FPGA versions, though that is unknown.

If you experience trigger issues with other FPGA versions, please
contact us for further debugging and testing.

This fixes bug #1402.
2019-07-06 23:22:47 +02:00
Uwe Hermann e6bb2984e9 hantek-4032l: Cosmetics. 2019-07-06 23:21:22 +02:00
Nadav Mavor 744d683ca7 rigol-ds: Add Agilent DSO1000B series IDs 2019-07-06 16:54:26 +02:00
Mike Walters 0b0f40d864 scpi-pps: Support HP 66312a 2019-07-03 12:43:18 +01:00
Gerhard Sittig cb5cd1538f serial-lcr: add support for packet request
Some meters require the reception of a request before they provide
acquisition data. Add support for the chip driver's .packet_request()
routine, and timeout handling in the serial-lcr driver. This follows
the serial-dmm model.
2019-06-20 16:45:36 +02:00
Gerhard Sittig 3f5473dde2 serial-lcr: add support for chip specific channel names
Allow LCR chip drivers to specify custom printf() formats for their
channel names. Default to "P1" etc in the absence of format specs.
This implementation is similar to serial-dmm.
2019-06-20 16:45:36 +02:00
Daniel Anselmi 08ecb98e84 ipdbg-la: Fix an issue when capture rate is 100%.
If the capture ratio was set to 100%, the delay counter-value has an
overflow and a delay of 0 samples is used.

This fixes bug #1393.
2019-06-20 14:30:05 +02:00
Uwe Hermann 92499a9c78 serial-lcr: Replace duplicated std_session_send_frame_end(). 2019-06-15 15:54:48 +02:00
Uwe Hermann 66e19f47f4 ftdi-la: Fix VID/PID format in a log message.
Before: 0x 403:0x6001
After:  0x0403:0x6001
2019-06-14 00:15:24 +02:00
Gerhard Sittig 01ae826ba3 ftdi-la: do enter the error path upon VID:PID mismatch
Bug #1390 reports that "!desc" is always true (should be: false?). But
the actual problem would be that 'desc' is _not_ NULL when none of the
supported chips' VID:PID matched (FT232H happens to "get found" then,
erroneously).

Add a sentinel to the table of supported chips, such that 'desc' becomes
NULL upon mismatch, and the error path is entered.
2019-06-13 19:38:06 +02:00
Gerhard Sittig 03f169b36b serial-dmm: rename victor-dmm-ser entry, default to USB HID cable
The serial-dmm entry for Victor DMMs is able to communicate to either
geniune COM ports (RS232 or USB CDC) or the obfuscating USB HID cables.
The victor-dmm driver became obsolete and was removed. Rename the
serial-dmm entry, remove the no longer needed "-ser" suffix. Suggest a
default connection via the obfuscating USB HID cable, accept user
provided overrides for regular serial cables (same behaviour as before,
connection spec for serial ports keeps being mandatory).
2019-06-13 19:35:57 +02:00
Gerhard Sittig e45a8de41c victor-dmm: remove obsolete device driver, has moved to serial-dmm
Remove the victor-dmm device driver. Its functionality is contained in
the Victor specific serial-over-HID transport, the FS9922 DMM parser,
and the serial-dmm device driver. The additional implementation became
obsolete.
2019-06-13 19:34:43 +02:00
Gerhard Sittig a89884c16c uni-t-ut32x: don't provide a default conn= spec in the driver source
This undoes the essence of commit bf700f679a, which introduced the
default conn= spec. Which improved usability: Users just select the
device and need not specify the connection. But also resulted in the
UT32x thermometer driver's probe to "succeed" as soon as the WCH CH9325
chip was found, no data check was involved in the scan. Unfortunately
this chip is also used in the popular UT-D04 cable, and thus there were
many false positives.
2019-06-13 19:33:01 +02:00
Gerhard Sittig 97c8fa70da brymen-bm86x: retire libusb using driver, has moved to serial-dmm
Remove the src/hardware/brymen-bm86x/ hierarchy of source files. Its
functionality has moved to the bm86x packet parser and the serial-dmm
device driver.
2019-06-13 19:32:51 +02:00
Gerhard Sittig b800667daf serial-dmm: bm86x: increase packet request frequency
Request packets from the Brymen BM86x meter much faster. The previous
implementation in the separate driver used to immediately send another
request when a measurement arrived, with a 10ms granularity in the poll
routine, and a 500ms timeout between requests.

Considering the meter's update rate, stick with the 500ms timeout, but
increase the maximum request rate to 10 per second, with a minimum of 2
per second. This receives measurement data at the meter's capability
(compare DC and AC modes, seems to automatically adjust to the internal
operation, and match the display update rate).
2019-06-13 19:31:31 +02:00
Gerhard Sittig 0759e2f55b dmm/bm86x: add Brymen BM86x packet parser, register with serial-dmm
Move Brymen BM86x specific packet parse logic to a new src/dmm/bm86x.c
source file, and register the routines with the serial-dmm driver's list
of supported devices. Which obsoletes the src/hardware/brymen-bm86x/
hierarchy.

This implementation differs from the previous version: The parse routine
gets called multiple times after one DMM packet was received. Values for
the displays get extracted in separate invocations, the received packet
is considered read-only. Unsupported LCD segment combinations for digits
get logged. Low battery gets logged with higher severity -- the validity
of measurement values is uncertain after all. The parse routine uses
longer identifiers. Packet reception uses whichever serial transport is
available (need no longer be strictly USB HID nor libusb based). All
features of the previous implementation are believed to still be present
in this version.

This configuration queries measurement values each 0.5 seconds and
re-sends a not responded to request after 1.5 seconds. Which follows the
combination of the vendor's suggested flow (frequency) and the previous
implementation's timeout (3x 500ms). This implementation does not try to
re-connect to the HID device for each measurement, and neither checks
for the 4.0 seconds timeout (vendor's suggested flow). Local experiments
work without these.
2019-06-13 19:23:24 +02:00
Gerhard Sittig 7c7a112046 brymen-bm86x: rename specific Brymen BM86x driver (libusb implementation)
The src/hardware/brymen-bm86x/ source code contains specific support for
the Brymen BM86x devices, and directly depends on the libusb library.
Rename the registered device (append the "-usb" suffix) before adding
BM86x support to the serial-dmm driver.
2019-06-13 19:22:02 +02:00
Gerhard Sittig 0527cc3ad7 serial-dmm: add support for default connections (USB cables)
Some meters which are supported by the serial-dmm driver don't strictly
require the user's COM port specification. When a known (usually bundled,
or even builtin) cable type is used, we can provide a default conn= spec
and thus improve usability. Prepare the DMM_CONN() macro, accept user
overrides.
2019-06-13 18:33:23 +02:00
Gerhard Sittig 09c650d5e9 serial-dmm: fixup 'conn' vs 'serialcomm' confusion
The 'conn' field in the device context and the CONN values in the
declarations of supported DMM models seemed inappropriate. They specify
the communication parameters (UART frame format and bitrate), not the
connection (port name). Adjust the respective identifiers.

Also rephrase the evaluation logic. Instead of checking for the absence
of user specs and optionally assigning a fallback value, just preset
from defaults and override from user specs when present. This simplifies
the logic (eliminates a check).
2019-06-13 18:33:23 +02:00
Gerhard Sittig db3aac1a29 serial-dmm: alpha-sort check for devices with multiple displays 2019-06-13 18:33:23 +02:00
Gerhard Sittig bf5c4d46f8 serial-lcr: move device driver code from src/lcr/ to src/hardware/
Keep the ES51919 chip support in the src/lcr/ directory, and move device
driver specific code to the src/hardware/serial-lcr/ directory. Implement
the same driver layout for LCR meters as is used for DMM devices.

This also addresses a few issues in the serial-lcr driver: Unbreak --get
and --show, do process a few LCR packets after probing the device, to
gather current parameter values. Keep sending meta packets when these
parameters change during acquisition, like the previous implementation
did. Use common code for frame/time limits.

Note that although LCR meters usually operate with AC to classify L/C/R
components, one of the officially supported modes is DC resistance.
Which means that an output frequency of 0 is not just a fallback when
packet parsing fails, it's also a regular value of the freq parameter.
List all supported frequencies including DC in strict numerical order.

Although all currently supported devices use the same ES51919 chip, the
implementation is prepared to support other devices which use different
LCR meter chips as well. The list of known equivalent circuit models and
output frequencies is kept in src/lcr/ chip support. It's assumed that
one LCR packet communicates the data for all channels/displays similar
to the serial-dmm driver implementation.
2019-06-12 22:01:52 +02:00
Gerhard Sittig 10cfb04826 serial-dmm: drop obsolete redundant 'baudrate' parameter value
The serial communication timing parameters during probe get determined
from earlier serial port configuration, which obsoletes the redundant
'baudrate' parameter, and eliminates potential inconsistency between
user specified parameters and builtin default values.
2019-06-09 14:51:02 +02:00
Gerhard Sittig 685ed70998 kern-scale: drop obsolete redundant 'baudrate' parameter value
The serial communication timing parameters during probe get determined
from earlier serial port configuration, which obsoletes the redundant
'baudrate' parameter, and eliminates potential inconsistency between
user specified parameters and builtin default values.
2019-06-09 14:51:02 +02:00
Gerhard Sittig d03815a066 serial: use timeout API in stream detect, obsoletes bitrate param
The serial_stream_detect() routine needs to estimate the time which is
needed to communicate a given amount of data. Since the serial port got
opened and configured before, the serial communication parameters are
known, and callers need not redundantly specify the bit rate.
2019-06-09 14:51:02 +02:00
Gerhard Sittig 6e407e9850 serial-lcr: add driver item for the UNI-T UT612 model
Register another driver for the UNI-T UT612 LCR meter, which is based on the
ES51919/ES51920 chipset, too. This device had been usable before when the
internal UART connection was made accessible (read: with a hack). It became
officially supported in unmodified form with the addition of transparent
serial over HID support for SiLabs CP2110 chips.
2019-06-02 20:39:02 +02:00
Gerhard Sittig 164c5ae537 uni-t-ut32x: migrate from USB transfers to serial-over-HID communication
Switch the UT32x driver from running specific USB transfers to generic
serial communication. Preset the bitrate and frame format, but allow for
user specified overrides as well. Default to the WCH CH9325 HID chip,
but allow for overrides or more specific selection so that users can
resolve ambiguities with multiple cables.

The switch from libusb to hidapi removes a limitation that specifically
was reported for the Mac platform. The serial-over-HID variant should
now work as well. See bug #555.

Drop the background transfers. Stick with a local acquisition stop
routine, because a STOP request needs to get sent to the device. Reduce
the receive buffer size such that either blocking or non-blocking calls
will work. The additional flexibility of the buffer handling and packet
processing does not harm.
2019-06-02 20:39:02 +02:00
Gerhard Sittig f992151332 ols: use serial layer's "has receive data" query
Eliminate a direct libserialport dependency in the OLS device driver.
Use libsigrok's internal serial layer's API instead to check for the
availability of receive data.
2019-06-02 20:39:02 +02:00
Gerhard Sittig dca683ef99 rohde-schwarz-sme-0x: remove obsolete libserialport reference
The rohde-schwarz-sme-0x device driver used to unconditionally reference
a libserialport header file. Remove that reference, it's not needed in
this specific driver.
2019-06-02 20:39:01 +02:00
Gerhard Sittig e24e74ed84 agilent-dmm: fixup whitespace nit (trailing space) 2019-06-02 20:39:01 +02:00
Andreas Piesk 108d2ec2c2 saleae-logic16: Warn (instead of erroring out) if FPGA is unsupported
Don't exit with an error if the FPGA is detected as unsupported.

Just issue a warning with the detected version and continue. I have such
a clone and it works with the original Saleae software and with sigrok
despite the fact that its FPGA version is 0xff.
2019-06-01 17:15:55 +02:00
Vitaliy Vorobyov ca9f8961e3 serial-lcr: Add MASTECH MS5308 2019-05-14 19:56:57 +02:00
Vitaliy Vorobyov dcd212f7a2 Add MASTECH MS2115B support. 2019-05-01 15:55:07 +02:00
Gerd v. Egidy 16a8e58068 agilent-dmm: add basic support for Agilent/Keysight U127x
Their commands are very similar to the U123x series, they just
add some more modes and the second channel. So use the re-functions
and just extend them where necessary.

Log reading not supported yet.

Basic testing done with a U1272A.
2019-05-01 15:43:00 +02:00
Gerd v. Egidy 878e0e9d21 agilent-dmm: fix support for Agilent/Keysight U1252A
- fix the resolution of the CONF?-response:
  the resolution is given with 6 decimal places
  (instead of 8) like this:

  VOLT +5.000000E+00,+1.000000E-04

- add more measurement modes that are possible with the meter:
  CONT,COND,TEMP,PULS
2019-05-01 15:43:00 +02:00
Gerhard Sittig 271392d969 serial: rename variable to reflect it's related to libserialport
Rename the rather generic 'data' struct member to 'sp_data', to better
reflect that it contains details which are specific to libserialport.
2019-04-28 17:41:12 +02:00
Uwe Hermann 7d0f52f7e5 Consistently use the "Sysclk" spelling everywhere.
We use this spelling (not "SysClk") in most of the rest of the code-base,
as well as in the wiki.
2019-04-24 18:23:41 +02:00
Uwe Hermann f3178f123d sysclk-sla5032: Minor asterisk placement consistency fixes. 2019-04-24 18:23:41 +02:00
Uwe Hermann 98ed645e40 sysclk-sla5032: Make a few functions static. 2019-04-24 18:18:57 +02:00
Uwe Hermann 9e0693f92d sysclk-sla5032: Merge sla5032.[ch] into protocol.[ch]. 2019-04-24 18:18:57 +02:00
Uwe Hermann 052cc011bf sysclk-sla5032: Shorten sla5032_start_sample() a bit. 2019-04-24 17:33:24 +02:00
Uwe Hermann d57a114347 sysclk-sla5032: Shorten a few code snippets a bit. 2019-04-22 13:39:48 +02:00
Uwe Hermann 262cb9968d sysclk-sla5032: Fix compiler warnings (max vs. MAX).
src/hardware/sysclk-sla5032/protocol.c: In function ‘la_start_acquisition’:
  src/hardware/sysclk-sla5032/protocol.c:244:8: warning: implicit declaration of function ‘max’ [-Wimplicit-function-declaration]
    pre = max(pre, 2);
          ^~~
2019-04-22 13:39:48 +02:00
Vitaliy Vorobyov 8da8c8265f Add initial Sysclk SLA5032 driver. 2019-04-22 13:39:48 +02:00
Dewelde Anthony ddbe6880a0 korad-kaxxxxp: Added support for TENMA 72-2535 V2.1 2019-04-17 17:59:22 +02:00
Uwe Hermann b89e6db910 scpi-pps: Fix typos and minor cosmetics. 2019-04-17 17:59:16 +02:00
Uwe Hermann fd2433153a scpi-pps: Fix "aquisition" typo everywhere. 2019-04-17 17:59:16 +02:00
Frank Stettner 26e96658ab scpi-pps: Don't use SCPI_CMD_REMOTE and SCPI_CMD_LOCAL for HP 66xxB devices when in GPIB mode. 2019-04-17 17:45:04 +02:00
Frank Stettner 5ce427c71b scpi-pps: Add various HP power supplies:
HP 6632A, HP 6634A, HP 6611C, HP 6612C, HP 6613C and HP 6614C
2019-04-17 17:45:04 +02:00
Frank Stettner fdf0365257 scpi-pps: Implement init_acquisition() and update_status() for HP 66xxA power supplies. 2019-04-17 17:44:59 +02:00
Frank Stettner f083ae63c7 scpi-pps: Add config keys SR_CONF_OVER_VOLTAGE_PROTECTION_ACTIVE,
SR_CONF_OVER_CURRENT_PROTECTION_ACTIVE and
SR_CONF_OVER_TEMPERATURE_PROTECTION_ACTIVE to HP 66xxA power supplies.
2019-04-17 17:44:59 +02:00
Frank Stettner 0ad7074c9e scpi-pps: Add SR_CONF_REGULATION for HP 66xxA power supplies. 2019-04-17 17:44:59 +02:00
Frank Stettner dbc519f720 scpi-pps: Seperate existing HP 66xxA and 66xxB profiles. 2019-04-17 17:44:59 +02:00
Frank Stettner 969671a542 scpi-pps: Add missing frequency channel settings for acquisition. 2019-04-17 17:44:56 +02:00
Frank Stettner 3d1aa50f38 scpi-pps: Set device and channel group feature for HP 66xxB. 2019-04-17 17:44:56 +02:00
Frank Stettner f2bbcc330a scpi-pps: Add configurable sr_mqflags. 2019-04-17 17:44:56 +02:00
Frank Stettner fe4bb77492 scpi-pps: Implement init_acquisition() and update_status() for HP 66xxB power supplies. 2019-04-17 17:44:51 +02:00
Frank Stettner 7e66bf0586 scpi-pps: Add init_acquisition() and update_status() for device specific
acquisition functions.
2019-04-17 17:43:07 +02:00
Frank Stettner 8b5eadf427 scpi-pps: Add config keys SR_CONF_OVER_VOLTAGE_PROTECTION_ACTIVE,
SR_CONF_OVER_CURRENT_PROTECTION_ACTIVE and
SR_CONF_OVER_TEMPERATURE_PROTECTION_ACTIVE to HP 66xxB power supplies.
2019-04-17 17:11:21 +02:00
Frank Stettner 43ff1110fb scpi-pps: Add SR_CONF_REGULATION for HP 66xxB power supplies. 2019-04-17 17:11:21 +02:00
Frank Stettner 5e7377f4c7 scpi-pps: Add enum pps_scpi_dialect and add to struct scpi_pps,
preset with reasonable values.
2019-04-17 17:11:21 +02:00
Frank Stettner 7d1a4a5239 session: Add helper sr_session_send_meta() to send SR_DF_META packages.
Replace individual functions in drivers for arachnid-labs-re-load-pro
and lcr/es51919 with sr_session_send_meta() helper function.
2019-04-17 17:11:19 +02:00
Uwe Hermann 6449b2e035 demo: Minor cosmetics. 2019-03-29 16:23:21 +01:00
Frank Stettner 1c0e1baaaa korad-kaxxxxp: Add another KA3005P with 0xBC as extra byte in the model ID. 2019-03-29 16:15:37 +01:00
Frank Stettner d1a3f3be45 korad-kaxxxxp: Add SR_MQFLAG_DC flag to the current channel package. 2019-03-29 16:15:37 +01:00
Frank Stettner 9618fde422 demo: Get/Set new config key offset. 2019-03-29 16:15:37 +01:00