]> sigrok.org Git - libsigrok.git/log
libsigrok.git
11 years agodevice.c: Fix memory leak in sr_serial_dev_inst_free
Alexandru Gagniuc [Thu, 20 Dec 2012 03:39:38 +0000 (21:39 -0600)]
device.c: Fix memory leak in sr_serial_dev_inst_free

sr_serial_dev_inst_free() freed all members of sr_serial_dev_inst, but did not
free the struct itself, as expected from a free_*() function. This inadvertently
caused a memory leak in every place sr_serial_dev_inst is used.

Free the struct itself

+ g_free(serial);

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agoserial-dmm: Properly handle continuous mode
Alexandru Gagniuc [Sat, 22 Dec 2012 22:00:44 +0000 (16:00 -0600)]
serial-dmm: Properly handle continuous mode

serial-dmm does not check if a sample limit is actually in place before deciding
to stop acquisition. Since the sample limit is set at 0 by default, operating
in continuous mode will cause acquisition to stop before even sending the first
sample.

Check to make sure we actually are in a sample-limited mode before stopping for
this reason.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agoconfigure.ac: Improve check for libusb-1.0.
Uwe Hermann [Sat, 22 Dec 2012 00:33:03 +0000 (01:33 +0100)]
configure.ac: Improve check for libusb-1.0.

PKG_CHECK_MODULES() checks for libusb-1.0 via pkg-config already, no
need to use a "manual" additional check via AC_CHECK_LIB() just to set
HAVE_LIBUSB_1_0 in config.h.

This helps with cross-compiling setups, among other things.

11 years agoalsa: Update to latest APIs/conventions.
Uwe Hermann [Mon, 17 Dec 2012 18:39:13 +0000 (19:39 +0100)]
alsa: Update to latest APIs/conventions.

The alsa driver was out of date wrt APIs and libsigrok conventions in
general, and wasn't compiling.

This fixes the compile and updates it to _basically_ work with the current
state of analog support in libsigrok.

This is not finished/full support for ALSA analog sampling yet, though,
various TODOs remain that will be addressed later.

11 years agoPass sr_datafeed_packets and payloads with const pointers
Joel Holdsworth [Thu, 13 Dec 2012 21:07:53 +0000 (21:07 +0000)]
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.

11 years agohardware/agilent-dmm/Makefile.am: Fix typo.
Uwe Hermann [Tue, 18 Dec 2012 01:25:17 +0000 (02:25 +0100)]
hardware/agilent-dmm/Makefile.am: Fix typo.

11 years agochronovu-la8: Fix memory leak in hw_scan
Alexandru Gagniuc [Mon, 17 Dec 2012 08:04:35 +0000 (02:04 -0600)]
chronovu-la8: Fix memory leak in hw_scan

Hardware scanning creates an ftdi_context before attempting to locate devices
based on PID/VID. If no devices are detected, execution jumps to cleanup. The
context is freed with free(), instead of ftdi_free().

We cannot assume that the libftdi context is stored in a contiguous memory
region, and thus cannot use a simple free. Case in point, this situation is
identified by valgrind as a "definitely lost" memory leak.

Use ftdi_free() instead of a simple free() in hw_scan(). Valgrind no longer
complains about a memory leak in this area.

clear_instances() does not need any modification, as it correctly uses
ftdi_free().

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agofx2lafw: Fix int64_t printing.
Uwe Hermann [Tue, 18 Dec 2012 00:30:34 +0000 (01:30 +0100)]
fx2lafw: Fix int64_t printing.

11 years agofx2lafw: Various cosmetics, typo fixes, etc.
Uwe Hermann [Tue, 18 Dec 2012 00:26:58 +0000 (01:26 +0100)]
fx2lafw: Various cosmetics, typo fixes, etc.

11 years agoConsistently use 'di' as variable name.
Uwe Hermann [Mon, 17 Dec 2012 23:52:39 +0000 (00:52 +0100)]
Consistently use 'di' as variable name.

Use 'di' consistently in all drivers as the name for a local, static
pointer to the respective driver's 'struct sr_dev_driver'.

11 years agofx2lafw: Print device failed to renumerate error
Alexandru Gagniuc [Thu, 6 Dec 2012 21:55:14 +0000 (15:55 -0600)]
fx2lafw: Print device failed to renumerate error

commit 378abfeac6cc94d88dc82b8481dec9c9f691f3da tried to solve a bug where
the fx2lafw driver would print "Device came back" even if a timeout had occured.

It solved that issue, but inadvertently introduced a new bug:
"Device came back" would be printed even if no firmware upload was performed.
This is counterintuitive, as the device is only reset when a firmware upload is
performed.

There are three cases:
i)   Firmware upload was successful
ii)  Firmware upload failed
iii) Firmware upload was NOT needed

Each case warrants a separate message from the driver. Print the
following messages depending on the outcome:

i)   "Device came back"
ii)  "Device failed to renumerate"
iii) "Firmware upload was not needed."

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agofx2lafw: Use DRIVER_LOG_DOMAIN for log messages
Alexandru Gagniuc [Thu, 13 Dec 2012 21:08:05 +0000 (15:08 -0600)]
fx2lafw: Use DRIVER_LOG_DOMAIN for log messages

Use the new DRIVER_LOG_DOMAIN mechanism, where explicitly writing
the driver name in the message string is no longer required.

Thus:

- sr_err("fx2lafw: Something bad happened.");

becomes:

+ sr_err("Something bad happened.");

In either case, the log output is the same.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agoserial_stream_detect(): Drop unneeded sr_spew().
Uwe Hermann [Sun, 16 Dec 2012 21:27:04 +0000 (22:27 +0100)]
serial_stream_detect(): Drop unneeded sr_spew().

11 years agoserial-dmm: Add Voltcraft VC-840 (UT-D02) support.
Uwe Hermann [Sun, 16 Dec 2012 21:17:48 +0000 (22:17 +0100)]
serial-dmm: Add Voltcraft VC-840 (UT-D02) support.

This works with the UNI-T UT-D02 (RS232) cable. For the USB/HID
based cable (UNI-T UT-D04), the uni-t-dmm driver must be used.

Note: This is untested, but should work just fine for all settings, with
the possible exception of temperature (testers needed!)

11 years agoserial-dmm: Add Voltcraft VC-820 (UT-D02) support.
Uwe Hermann [Sun, 16 Dec 2012 21:03:28 +0000 (22:03 +0100)]
serial-dmm: Add Voltcraft VC-820 (UT-D02) support.

This works with the UNI-T UT-D02 (RS232) cable. For the USB/HID
based cable (UNI-T UT-D04), the uni-t-dmm driver must be used.

11 years agoserial-dmm: Eliminate unneeded "subdriver" field.
Uwe Hermann [Sun, 16 Dec 2012 20:28:26 +0000 (21:28 +0100)]
serial-dmm: Eliminate unneeded "subdriver" field.

Just use the 'int dmm' + wrapper method that is used for all other
functions which need this information. There is no real need to
special-case the hw_dev_acquisition_start() API call here.

11 years agoserial-dmm: Cosmetics, documentation fixes.
Uwe Hermann [Sun, 16 Dec 2012 20:23:49 +0000 (21:23 +0100)]
serial-dmm: Cosmetics, documentation fixes.

11 years agolascar-el-usb: fix sample limit parameter
Bert Vermeulen [Sun, 16 Dec 2012 22:06:15 +0000 (23:06 +0100)]
lascar-el-usb: fix sample limit parameter

11 years agolinsigrok.h: Document meaning of SR_UNIT_CONCENTRATION
Alexandru Gagniuc [Sat, 15 Dec 2012 17:03:10 +0000 (11:03 -0600)]
linsigrok.h: Document meaning of SR_UNIT_CONCENTRATION

Having concentration as a unit is vague, as it can be expressed in
many ways. In the context of sigrok, concentration means a normalized
number from 0 to 1.

Document its meaning.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agolascar-el-usb: support for EL-USB-2*
Bert Vermeulen [Sun, 16 Dec 2012 17:48:20 +0000 (18:48 +0100)]
lascar-el-usb: support for EL-USB-2*

11 years agoadd relative humidity MQ
Bert Vermeulen [Sun, 16 Dec 2012 17:38:44 +0000 (18:38 +0100)]
add relative humidity MQ

11 years agoanalog: support ppm output
Bert Vermeulen [Sat, 15 Dec 2012 21:50:33 +0000 (22:50 +0100)]
analog: support ppm output

11 years agolascar-el-usb: properly submit CO concentration as a PPM value
Bert Vermeulen [Sat, 15 Dec 2012 21:49:40 +0000 (22:49 +0100)]
lascar-el-usb: properly submit CO concentration as a PPM value

11 years agolascar-el-usb: add config saver
Bert Vermeulen [Sat, 15 Dec 2012 21:34:40 +0000 (22:34 +0100)]
lascar-el-usb: add config saver

11 years agolascar-el-usb: EL-USB-CO300 support
Bert Vermeulen [Sat, 15 Dec 2012 10:15:30 +0000 (11:15 +0100)]
lascar-el-usb: EL-USB-CO300 support

Works the same way as the EL-USB-CO, but with the more sensitive sensor,
so should work out of the box.

11 years agocosmetics
Bert Vermeulen [Sat, 15 Dec 2012 10:07:18 +0000 (11:07 +0100)]
cosmetics

11 years agoadd MQ/units for carbon monoxide concentration
Bert Vermeulen [Sat, 15 Dec 2012 09:50:22 +0000 (10:50 +0100)]
add MQ/units for carbon monoxide concentration

11 years agolascar-el-usb: generic EL-USB support + EL-USB-CO support
Bert Vermeulen [Sat, 15 Dec 2012 03:06:51 +0000 (04:06 +0100)]
lascar-el-usb: generic EL-USB support + EL-USB-CO support

11 years agousb: strip overly verbose debugging
Bert Vermeulen [Sun, 9 Dec 2012 14:19:39 +0000 (15:19 +0100)]
usb: strip overly verbose debugging

11 years agovictor-dmm: free in the right order
Bert Vermeulen [Sun, 9 Dec 2012 13:40:12 +0000 (14:40 +0100)]
victor-dmm: free in the right order

11 years agousb: strip useless code
Bert Vermeulen [Sun, 9 Dec 2012 13:39:17 +0000 (14:39 +0100)]
usb: strip useless code

11 years agoserial-dmm: Use dummy info struct for rs9lcd parser
Alexandru Gagniuc [Thu, 13 Dec 2012 18:35:06 +0000 (12:35 -0600)]
serial-dmm: Use dummy info struct for rs9lcd parser

The rs9lcd parser, which is used for the RadioShack 22-812 does not use its
*info parameter, and therefore did not have a rs9lcd_info struct declared.

With recent re-factoring of the receive data callbacks, it became necessary to
pass a struct pointer. This made the RECV_DATA macro look like:

- RECV_DATA(RADIOSHACK_22_812, metex14)

giving the wrong impression that the RadioShack 22-182 uses the
metex14 protocol, which is not the case.

Create a dummy rs9lcd_info struct, and correctly identify the parser
as rs9lcd in the RECV_DATA macro:

+ RECV_DATA(RADIOSHACK_22_812, rs9lcd)

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agolibsigrok.h: Don't store subdriver in sr_dev_driver
Alexandru Gagniuc [Thu, 13 Dec 2012 17:08:38 +0000 (11:08 -0600)]
libsigrok.h: Don't store subdriver in sr_dev_driver

Not all drivers use subdrivers. The only reason the subdriver field was
introduced was to accomodate the model of serial-dmm.

The sr_dev_driver struct is available to the frontend. Exposing the subdriver
field creates the problem of exposing knowledge of libsigrok's internal driver
layout, even though the drivers are designed to be a flat list to the frontend.

Store the subdriver in the dev_context struct of serial-dmm.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agoserial-dmm: Remove global sr_dev_driver *di alias
Alexandru Gagniuc [Thu, 13 Dec 2012 16:53:28 +0000 (10:53 -0600)]
serial-dmm: Remove global sr_dev_driver *di alias

The global *di alias was used to keep track of the driver context.
It caused issues with trying to use several subdrivers at once, so
its use was obsoleted.

The correct context is preserved through different mechanisms, either
the *sdi pointer, or wrappers which pass the correct context.

The *di alias is no longer used, so remove it.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agoserial-dmm: Simplify wrapper layout
Alexandru Gagniuc [Thu, 13 Dec 2012 14:58:01 +0000 (08:58 -0600)]
serial-dmm: Simplify wrapper layout

Wrappers for hw_init, hw_cleanup, clear_instances, and hw_scan are needed for
each subdriver due to the nature of serial-dmm. These wrappers are implemented
as macros, in order to reduce the number of lines of code.

For each of those functions, we have a separate wrapper list, then we connect
them together in a first-class driver using a DRV macro, and yet another list
(the DRV list).

Instead of declaring those wrappers in separate lists, include them in the DRV
macro. This approach reduces the number of macro lists from five to just one.

From the perspective of adding a new subdriver, this also greatly reduces the
number of places needed to hook in a new device.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agoserial-dmm: Add per-driver clear_instances() wrappers.
Uwe Hermann [Thu, 13 Dec 2012 00:54:13 +0000 (01:54 +0100)]
serial-dmm: Add per-driver clear_instances() wrappers.

11 years agoserial-dmm: Add per-driver hw_cleanup() wrappers.
Uwe Hermann [Thu, 13 Dec 2012 00:47:02 +0000 (01:47 +0100)]
serial-dmm: Add per-driver hw_cleanup() wrappers.

11 years agoserial-dmm: Add per-driver hw_dev_list() wrappers.
Uwe Hermann [Thu, 13 Dec 2012 00:41:34 +0000 (01:41 +0100)]
serial-dmm: Add per-driver hw_dev_list() wrappers.

11 years agoserial-dmm: Add per-driver hw_scan() wrappers.
Uwe Hermann [Thu, 13 Dec 2012 00:27:31 +0000 (01:27 +0100)]
serial-dmm: Add per-driver hw_scan() wrappers.

11 years agoserial-dmm: Use a macro for receive_data() wrappers.
Uwe Hermann [Thu, 13 Dec 2012 00:19:17 +0000 (01:19 +0100)]
serial-dmm: Use a macro for receive_data() wrappers.

11 years agoserial-dmm: Use a macro for driver struct simplification.
Uwe Hermann [Wed, 12 Dec 2012 23:59:42 +0000 (00:59 +0100)]
serial-dmm: Use a macro for driver struct simplification.

11 years agoserial-dmm: Simplify code a bit.
Uwe Hermann [Tue, 11 Dec 2012 16:06:04 +0000 (17:06 +0100)]
serial-dmm: Simplify code a bit.

Store/use the receive_data() function and a pointer to the driver struct
in the dmms[] array. Use a ".subdriver" entry in the driver struct.
Use a macro to simplify hw_init() wrappers.

11 years agoserial-dmm: Avoid duplicate symbol error
Alexandru Gagniuc [Sun, 9 Dec 2012 19:15:24 +0000 (13:15 -0600)]
serial-dmm: Avoid duplicate symbol error

Declare dmm_info dmms as extern in protocol.h to prevent duplicate
symbol error from the linker.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agofx2lafw: Don't say "Device came back" when it didn't
Joel Holdsworth [Thu, 6 Dec 2012 21:31:37 +0000 (21:31 +0000)]
fx2lafw: Don't say "Device came back" when it didn't

11 years agoserial-dmm: Fix segfault when no device is used
Alexandru Gagniuc [Wed, 5 Dec 2012 21:16:52 +0000 (15:16 -0600)]
serial-dmm: Fix segfault when no device is used

di was initialized as NULL. If no device covered by this driver
is used, di remains NULL. This causes a segmentation fault when
calling clear_instances().

Check for di being NULL.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agobackend.c: Return a sigrok error in sr_init() on libusb_init() errors
Peter Stuge [Sat, 3 Nov 2012 07:29:26 +0000 (08:29 +0100)]
backend.c: Return a sigrok error in sr_init() on libusb_init() errors

11 years agobackend.c: Fix memory leak in sr_init() error path
Peter Stuge [Sat, 3 Nov 2012 07:27:48 +0000 (08:27 +0100)]
backend.c: Fix memory leak in sr_init() error path

Commit 785b9ff290cbdb86e7d0b0280c33b43faf9c0518 added libusb init into
sr_init() which can generate an error. In this case, the already
allocated struct sr_context would have leaked.

11 years agohardware: A few further USB error message fixups
Peter Stuge [Wed, 5 Dec 2012 00:23:49 +0000 (01:23 +0100)]
hardware: A few further USB error message fixups

11 years agohardware: Call libusb_error_name() in all USB-related error messages
Peter Stuge [Tue, 4 Dec 2012 20:11:25 +0000 (21:11 +0100)]
hardware: Call libusb_error_name() in all USB-related error messages

11 years agolascar-el-usb: add scanning functionality
Bert Vermeulen [Tue, 4 Dec 2012 22:58:26 +0000 (23:58 +0100)]
lascar-el-usb: add scanning functionality

11 years agoadd thermometer and hygrometer HWCAPs
Bert Vermeulen [Tue, 4 Dec 2012 22:58:03 +0000 (23:58 +0100)]
add thermometer and hygrometer HWCAPs

11 years agousb: sr_usb_find() uses standardized connection string to find a USB device
Bert Vermeulen [Tue, 4 Dec 2012 22:25:11 +0000 (23:25 +0100)]
usb: sr_usb_find() uses standardized connection string to find a USB device

11 years agoadd VID:PID for generic SILabs F32x USBXpress chips
Bert Vermeulen [Tue, 4 Dec 2012 22:11:40 +0000 (23:11 +0100)]
add VID:PID for generic SILabs F32x USBXpress chips

Used in Lascar EL-USB series devices

11 years agoezusb: Use DRIVER_LOG_DOMAIN for debug output
Alexandru Gagniuc [Tue, 4 Dec 2012 19:31:49 +0000 (13:31 -0600)]
ezusb: Use DRIVER_LOG_DOMAIN for debug output

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agotondaj-sl-814: Fix unused parameter warning
Alexandru Gagniuc [Tue, 4 Dec 2012 01:39:58 +0000 (19:39 -0600)]
tondaj-sl-814: Fix unused parameter warning

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agohardware: Make USB drivers use the libusb_context in struct sr_context
Peter Stuge [Mon, 3 Dec 2012 02:33:24 +0000 (03:33 +0100)]
hardware: Make USB drivers use the libusb_context in struct sr_context

11 years agohw_init(): Save struct sr_context * parameter in struct drv_context
Peter Stuge [Mon, 3 Dec 2012 01:49:36 +0000 (02:49 +0100)]
hw_init(): Save struct sr_context * parameter in struct drv_context

11 years agoAdd a struct sr_context * parameter to hw_init()
Peter Stuge [Mon, 3 Dec 2012 01:47:55 +0000 (02:47 +0100)]
Add a struct sr_context * parameter to hw_init()

11 years agoAdd a struct sr_context * parameter to sr_driver_init()
Peter Stuge [Mon, 3 Dec 2012 01:42:57 +0000 (02:42 +0100)]
Add a struct sr_context * parameter to sr_driver_init()

Since the public API is changed, this commit also bumps the libtool
version component SR_LIB_VERSION_CURRENT in configure.ac.

11 years agoalsa: Remove unused and unprovided hw_init() parameter `devname'
Peter Stuge [Mon, 3 Dec 2012 00:34:23 +0000 (01:34 +0100)]
alsa: Remove unused and unprovided hw_init() parameter `devname'

11 years agolascar-el-usb: Initial driver skeleton.
Bert Vermeulen [Tue, 27 Nov 2012 16:40:14 +0000 (17:40 +0100)]
lascar-el-usb: Initial driver skeleton.

11 years agoRemove some radioshack-dmm leftovers.
Uwe Hermann [Sun, 2 Dec 2012 20:58:34 +0000 (21:58 +0100)]
Remove some radioshack-dmm leftovers.

11 years agoserial.c: Be more verbose about failing to parse parameter string
Alexandru Gagniuc [Sun, 2 Dec 2012 19:34:51 +0000 (13:34 -0600)]
serial.c: Be more verbose about failing to parse parameter string

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agoradioshack-dmm: Integrate into serial-dmm
Alexandru Gagniuc [Sun, 2 Dec 2012 19:15:21 +0000 (13:15 -0600)]
radioshack-dmm: Integrate into serial-dmm

Use the infrastructure of serial-dmm to handle the RadioShack 22-812,
and completely remove radioshack-dmm.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agoradioshack-dmm: Separate protocol parser from driver
Alexandru Gagniuc [Sun, 2 Dec 2012 18:58:30 +0000 (12:58 -0600)]
radioshack-dmm: Separate protocol parser from driver

Move the parsing part of radioshack-dmm into a separate protocol
parser, following the model from hardware/common/dmm.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agoradioshack-dmm: Fix opening of serial port.
Alexandru Gagniuc [Sun, 2 Dec 2012 18:43:37 +0000 (12:43 -0600)]
radioshack-dmm: Fix opening of serial port.

During scan the serial port is opened with SERIAL_RDONLY | SERIAL_NONBLOCK,
which works fine, but when acquisition starts, it is opened only with
SERIAL_RDONLY. On Linux, if cdc_acm can make a claim to the USB to serial
converter, opening the port will fail.

Open port with SERIAL_RDONLY | SERIAL_NONBLOCK.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agoserial-dmm: Add RadioShack 22-168 support.
Alexandru Gagniuc [Sun, 2 Dec 2012 15:17:46 +0000 (09:17 -0600)]
serial-dmm: Add RadioShack 22-168 support.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agodemo: Add missing dev_clear() API call.
Uwe Hermann [Sun, 2 Dec 2012 16:21:13 +0000 (17:21 +0100)]
demo: Add missing dev_clear() API call.

11 years agosr_init(): Add driver sanity checks.
Uwe Hermann [Sun, 11 Nov 2012 22:54:49 +0000 (23:54 +0100)]
sr_init(): Add driver sanity checks.

After sr_init() has successfully run, we can be sure that all drivers
define all the API calls, so we don't have to do these checks later
in the individual API functions / wrappers.

If there are one or more drivers with missing API functions (or driver
name / longname, and so on), sr_init() will fail. This helps catch this
kind of developer error early on.

11 years agoserial-dmm: Drop accidentally committed file.
Uwe Hermann [Sun, 2 Dec 2012 15:11:42 +0000 (16:11 +0100)]
serial-dmm: Drop accidentally committed file.

11 years agoReduce glib minimum version to 2.28.0 again.
Uwe Hermann [Sun, 2 Dec 2012 15:09:31 +0000 (16:09 +0100)]
Reduce glib minimum version to 2.28.0 again.

We no longer use g_thread_try_new() which is only available since 2.32.0.

11 years agodemo: Do not use a separate thread for generating data
Alexandru Gagniuc [Sun, 2 Dec 2012 00:07:10 +0000 (18:07 -0600)]
demo: Do not use a separate thread for generating data

We already have an event-based mechanism in place. Using a thread just
adds unneeded complexity, especially for a driver designed not for
performance, but for providing a testbed to frontends.
Generate the data in the event handler, not in a separate thread.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agoserial-dmm: Add PCE PCE-DM32 support.
Uwe Hermann [Sun, 2 Dec 2012 00:32:57 +0000 (01:32 +0100)]
serial-dmm: Add PCE PCE-DM32 support.

11 years agoserial-dmm: Add PeakTech 4370 support.
Uwe Hermann [Sun, 2 Dec 2012 00:02:16 +0000 (01:02 +0100)]
serial-dmm: Add PeakTech 4370 support.

11 years agoserial-dmm: Add Metex M-3640D support.
Uwe Hermann [Sat, 1 Dec 2012 23:40:15 +0000 (00:40 +0100)]
serial-dmm: Add Metex M-3640D support.

11 years agometex14: Add dB mode and hFE mode support.
Uwe Hermann [Sat, 1 Dec 2012 23:36:37 +0000 (00:36 +0100)]
metex14: Add dB mode and hFE mode support.

This is found e.g. on the Metex M-3640D DMM.

11 years agoserial-dmm: Add V&A VA18B support.
Uwe Hermann [Sat, 1 Dec 2012 22:32:39 +0000 (23:32 +0100)]
serial-dmm: Add V&A VA18B support.

11 years agoserial-dmm: Add MASTECH MAS345 support.
Uwe Hermann [Sat, 1 Dec 2012 22:04:00 +0000 (23:04 +0100)]
serial-dmm: Add MASTECH MAS345 support.

11 years agoserial-dmm: Add PeakTech 3410 support.
Uwe Hermann [Sat, 1 Dec 2012 21:45:45 +0000 (22:45 +0100)]
serial-dmm: Add PeakTech 3410 support.

11 years agoserial-dmm: Add Metex ME-31 support.
Uwe Hermann [Sun, 2 Dec 2012 13:22:15 +0000 (14:22 +0100)]
serial-dmm: Add Metex ME-31 support.

11 years agoserial-dmm: Add Digitek DT4000ZC support.
Uwe Hermann [Sat, 1 Dec 2012 18:53:05 +0000 (19:53 +0100)]
serial-dmm: Add Digitek DT4000ZC support.

11 years agometex14: Add sr_metex14_packet_request().
Uwe Hermann [Sat, 1 Dec 2012 19:48:03 +0000 (20:48 +0100)]
metex14: Add sr_metex14_packet_request().

11 years agometex14: Fix 'is_ol' handling.
Uwe Hermann [Sat, 1 Dec 2012 19:11:40 +0000 (20:11 +0100)]
metex14: Fix 'is_ol' handling.

Thanks to Bert Vermeulen for the reminder.

11 years agometex14: Parse microamp (uA) values.
Alexandru Gagniuc [Fri, 30 Nov 2012 19:15:44 +0000 (13:15 -0600)]
metex14: Parse microamp (uA) values.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agometex14: Fix parsing of measurement flags.
Alexandru Gagniuc [Fri, 30 Nov 2012 19:11:04 +0000 (13:11 -0600)]
metex14: Fix parsing of measurement flags.

strcmp(buf + 9, "  mA") does not work because buf is CR-terminated,
while "  mA" is NUL-terminated.

Drop ambiguities arising from the termination of the strings, and
only compare the characters we care about, using strncmp().

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agometex14: Print contents of received packet.
Alexandru Gagniuc [Fri, 30 Nov 2012 18:40:17 +0000 (12:40 -0600)]
metex14: Print contents of received packet.

The packet is an ASCII string. We can simply print the raw packet data.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agometex14: Fix parsing of spaces.
Alexandru Gagniuc [Fri, 30 Nov 2012 18:29:22 +0000 (12:29 -0600)]
metex14: Fix parsing of spaces.

When the parser found a space, it treated it as an invalid digit
and discarded the whole packet. This behavior was incorrect on
2000 count devices, where the first digit can be sent as a space
rather than a '0'.

Convert spaces to '0' and parse them as usual.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agoRename tekpower-dmm to serial-dmm.
Uwe Hermann [Sat, 1 Dec 2012 18:35:19 +0000 (19:35 +0100)]
Rename tekpower-dmm to serial-dmm.

This is now a generic driver for multiple DMM "subdrivers" that use simple
serial port protocols.

11 years agotekpower-dmm: Generalize & first-class TP4000ZC driver.
Uwe Hermann [Sat, 1 Dec 2012 18:28:36 +0000 (19:28 +0100)]
tekpower-dmm: Generalize & first-class TP4000ZC driver.

Prepare the tekpower-dmm driver to be able to support various simple
serial port based DMMs.

Also, make a 'tekpower-tp4000zc' "first-class" driver which is currently
the only user of this generic driver.

11 years agometex14: Pass 'info' as a void pointer.
Uwe Hermann [Sat, 1 Dec 2012 18:01:07 +0000 (19:01 +0100)]
metex14: Pass 'info' as a void pointer.

This is done so that the function prototype of all sr_*_parse() DMM
functions is the same, which will be needed later.

11 years agofs9721: Pass 'info' as a void pointer.
Uwe Hermann [Sat, 1 Dec 2012 17:50:35 +0000 (18:50 +0100)]
fs9721: Pass 'info' as a void pointer.

This is done so that the function prototype of all sr_*_parse() DMM
functions is the same, which will be needed later.

11 years agotekpower-dmm: Drop unneeded g_try_malloc().
Uwe Hermann [Wed, 28 Nov 2012 16:14:42 +0000 (17:14 +0100)]
tekpower-dmm: Drop unneeded g_try_malloc().

11 years agoserial: Don't hardcode parity and stop bits on Windows.
Uwe Hermann [Sun, 2 Dec 2012 13:10:27 +0000 (14:10 +0100)]
serial: Don't hardcode parity and stop bits on Windows.

11 years agoserial: Full baudrate support on Windows/MinGW.
Uwe Hermann [Sun, 2 Dec 2012 12:56:13 +0000 (13:56 +0100)]
serial: Full baudrate support on Windows/MinGW.

11 years agoserial: RTS/DTR support on Windows/MinGW.
Uwe Hermann [Sun, 2 Dec 2012 12:41:49 +0000 (13:41 +0100)]
serial: RTS/DTR support on Windows/MinGW.

11 years agoserial: Use OS-independent flags for serial port opening.
Uwe Hermann [Sun, 2 Dec 2012 11:45:54 +0000 (12:45 +0100)]
serial: Use OS-independent flags for serial port opening.

Add SERIAL_RDWR, SERIAL_RDONLY, and SERIAL_NONBLOCK (for now), which are
mapped to the respective OS-specific mechanism in serial_open().

11 years agoserial: Fix Windows build.
Uwe Hermann [Sat, 1 Dec 2012 21:34:53 +0000 (22:34 +0100)]
serial: Fix Windows build.

11 years agodemo: Properly stop acquisition after reaching our sample quota
Alexandru Gagniuc [Sat, 1 Dec 2012 18:49:15 +0000 (12:49 -0600)]
demo: Properly stop acquisition after reaching our sample quota

The demo driver was using sr_session_source_add_channel() to add
a poll source, but was relying on sr_session_run_poll() to call
sr_session_source_remove(). This, coupled with the design of the
driver caused errors once the samples were collected.

The error stream was most likely related to failing to properly close
one of the channels.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agodemo: Be more verbose about starting/stopping acquisition
Alexandru Gagniuc [Sat, 1 Dec 2012 18:03:45 +0000 (12:03 -0600)]
demo: Be more verbose about starting/stopping acquisition

This is the first step in fixing the demo driver: figuring out what is
being called and what is not _and_ have it show up in the logs.

Signed-off-by: Alexandru Gagniuc <redacted>
11 years agoserial: allow for extra rts and dtr options in conn string
Bert Vermeulen [Mon, 26 Nov 2012 23:50:51 +0000 (00:50 +0100)]
serial: allow for extra rts and dtr options in conn string

Options in addition to the usual "9600/8n1" syntax start with a
slash, and take the form of key=value, where different options are
also separated by slashes. For example:

"9600/8n1/rts=0/dtr=1"

This sets RTS low and DTR high.