]>
sigrok.org Git - libsigrok.git/log
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>
Bert Vermeulen [Sun, 16 Dec 2012 17:48:20 +0000 (18:48 +0100)]
lascar-el-usb: support for EL-USB-2*
Bert Vermeulen [Sun, 16 Dec 2012 17:38:44 +0000 (18:38 +0100)]
add relative humidity MQ
Bert Vermeulen [Sat, 15 Dec 2012 21:50:33 +0000 (22:50 +0100)]
analog: support ppm output
Bert Vermeulen [Sat, 15 Dec 2012 21:49:40 +0000 (22:49 +0100)]
lascar-el-usb: properly submit CO concentration as a PPM value
Bert Vermeulen [Sat, 15 Dec 2012 21:34:40 +0000 (22:34 +0100)]
lascar-el-usb: add config saver
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.
Bert Vermeulen [Sat, 15 Dec 2012 10:07:18 +0000 (11:07 +0100)]
cosmetics
Bert Vermeulen [Sat, 15 Dec 2012 09:50:22 +0000 (10:50 +0100)]
add MQ/units for carbon monoxide concentration
Bert Vermeulen [Sat, 15 Dec 2012 03:06:51 +0000 (04:06 +0100)]
lascar-el-usb: generic EL-USB support + EL-USB-CO support
Bert Vermeulen [Sun, 9 Dec 2012 14:19:39 +0000 (15:19 +0100)]
usb: strip overly verbose debugging
Bert Vermeulen [Sun, 9 Dec 2012 13:40:12 +0000 (14:40 +0100)]
victor-dmm: free in the right order
Bert Vermeulen [Sun, 9 Dec 2012 13:39:17 +0000 (14:39 +0100)]
usb: strip useless code
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>
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>
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>
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>
Uwe Hermann [Thu, 13 Dec 2012 00:54:13 +0000 (01:54 +0100)]
serial-dmm: Add per-driver clear_instances() wrappers.
Uwe Hermann [Thu, 13 Dec 2012 00:47:02 +0000 (01:47 +0100)]
serial-dmm: Add per-driver hw_cleanup() wrappers.
Uwe Hermann [Thu, 13 Dec 2012 00:41:34 +0000 (01:41 +0100)]
serial-dmm: Add per-driver hw_dev_list() wrappers.
Uwe Hermann [Thu, 13 Dec 2012 00:27:31 +0000 (01:27 +0100)]
serial-dmm: Add per-driver hw_scan() wrappers.
Uwe Hermann [Thu, 13 Dec 2012 00:19:17 +0000 (01:19 +0100)]
serial-dmm: Use a macro for receive_data() wrappers.
Uwe Hermann [Wed, 12 Dec 2012 23:59:42 +0000 (00:59 +0100)]
serial-dmm: Use a macro for driver struct simplification.
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.
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>
Joel Holdsworth [Thu, 6 Dec 2012 21:31:37 +0000 (21:31 +0000)]
fx2lafw: Don't say "Device came back" when it didn't
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>
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
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.
Peter Stuge [Wed, 5 Dec 2012 00:23:49 +0000 (01:23 +0100)]
hardware: A few further USB error message fixups
Peter Stuge [Tue, 4 Dec 2012 20:11:25 +0000 (21:11 +0100)]
hardware: Call libusb_error_name() in all USB-related error messages
Bert Vermeulen [Tue, 4 Dec 2012 22:58:26 +0000 (23:58 +0100)]
lascar-el-usb: add scanning functionality
Bert Vermeulen [Tue, 4 Dec 2012 22:58:03 +0000 (23:58 +0100)]
add thermometer and hygrometer HWCAPs
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
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
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>
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>
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
Peter Stuge [Mon, 3 Dec 2012 01:49:36 +0000 (02:49 +0100)]
hw_init(): Save struct sr_context * parameter in struct drv_context
Peter Stuge [Mon, 3 Dec 2012 01:47:55 +0000 (02:47 +0100)]
Add a struct sr_context * parameter to hw_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.
Peter Stuge [Mon, 3 Dec 2012 00:34:23 +0000 (01:34 +0100)]
alsa: Remove unused and unprovided hw_init() parameter `devname'
Bert Vermeulen [Tue, 27 Nov 2012 16:40:14 +0000 (17:40 +0100)]
lascar-el-usb: Initial driver skeleton.
Uwe Hermann [Sun, 2 Dec 2012 20:58:34 +0000 (21:58 +0100)]
Remove some radioshack-dmm leftovers.
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>
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>
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>
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>
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>
Uwe Hermann [Sun, 2 Dec 2012 16:21:13 +0000 (17:21 +0100)]
demo: Add missing dev_clear() API call.
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.
Uwe Hermann [Sun, 2 Dec 2012 15:11:42 +0000 (16:11 +0100)]
serial-dmm: Drop accidentally committed file.
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.
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>
Uwe Hermann [Sun, 2 Dec 2012 00:32:57 +0000 (01:32 +0100)]
serial-dmm: Add PCE PCE-DM32 support.
Uwe Hermann [Sun, 2 Dec 2012 00:02:16 +0000 (01:02 +0100)]
serial-dmm: Add PeakTech 4370 support.
Uwe Hermann [Sat, 1 Dec 2012 23:40:15 +0000 (00:40 +0100)]
serial-dmm: Add Metex M-3640D 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.
Uwe Hermann [Sat, 1 Dec 2012 22:32:39 +0000 (23:32 +0100)]
serial-dmm: Add V&A VA18B support.
Uwe Hermann [Sat, 1 Dec 2012 22:04:00 +0000 (23:04 +0100)]
serial-dmm: Add MASTECH MAS345 support.
Uwe Hermann [Sat, 1 Dec 2012 21:45:45 +0000 (22:45 +0100)]
serial-dmm: Add PeakTech 3410 support.
Uwe Hermann [Sun, 2 Dec 2012 13:22:15 +0000 (14:22 +0100)]
serial-dmm: Add Metex ME-31 support.
Uwe Hermann [Sat, 1 Dec 2012 18:53:05 +0000 (19:53 +0100)]
serial-dmm: Add Digitek DT4000ZC support.
Uwe Hermann [Sat, 1 Dec 2012 19:48:03 +0000 (20:48 +0100)]
metex14: Add sr_metex14_packet_request().
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.
Alexandru Gagniuc [Fri, 30 Nov 2012 19:15:44 +0000 (13:15 -0600)]
metex14: Parse microamp (uA) values.
Signed-off-by: Alexandru Gagniuc <redacted>
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>
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>
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>
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.
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.
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.
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.
Uwe Hermann [Wed, 28 Nov 2012 16:14:42 +0000 (17:14 +0100)]
tekpower-dmm: Drop unneeded g_try_malloc().
Uwe Hermann [Sun, 2 Dec 2012 13:10:27 +0000 (14:10 +0100)]
serial: Don't hardcode parity and stop bits on Windows.
Uwe Hermann [Sun, 2 Dec 2012 12:56:13 +0000 (13:56 +0100)]
serial: Full baudrate support on Windows/MinGW.
Uwe Hermann [Sun, 2 Dec 2012 12:41:49 +0000 (13:41 +0100)]
serial: RTS/DTR support on Windows/MinGW.
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().
Uwe Hermann [Sat, 1 Dec 2012 21:34:53 +0000 (22:34 +0100)]
serial: Fix Windows build.
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>
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>
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.
Uwe Hermann [Mon, 26 Nov 2012 16:01:15 +0000 (17:01 +0100)]
serial: Initial code for setting DTR/RTS.
Currently disabled until option parsing is in place.
Petteri Aimonen [Thu, 22 Nov 2012 21:15:27 +0000 (23:15 +0200)]
Add compress option to input/vcd.
Alexandru Gagniuc [Thu, 22 Nov 2012 01:33:55 +0000 (19:33 -0600)]
radioshack-dmm: Be more verbose with packet checks
Add sr_spew() messages to state why the packet was found to be invalid.
Signed-off-by: Alexandru Gagniuc <redacted>
Alexandru Gagniuc [Thu, 22 Nov 2012 01:30:26 +0000 (19:30 -0600)]
radioshack-dmm: Check for valid mode before calculating checksum
The packet mode byte is akin to a signature. If that is invalid, there's
no point in calculating the checksum, so check the mode first.
Signed-off-by: Alexandru Gagniuc <redacted>
Alexandru Gagniuc [Thu, 22 Nov 2012 01:19:58 +0000 (19:19 -0600)]
radioshack-dmm: Improve serial detection
For device detection, use serial_stream_detect() instead of
serial_readline() + custom logic.
Signed-off-by: Alexandru Gagniuc <redacted>
Alexandru Gagniuc [Thu, 22 Nov 2012 01:18:21 +0000 (19:18 -0600)]
serial.c: Sanitize serial_stream_detect
Print the timeout in miliseconds, not microseconds.
Only calculate elapsed time once oer loop.
Signed-off-by: Alexandru Gagniuc <redacted>
Petteri Aimonen [Wed, 21 Nov 2012 15:03:49 +0000 (17:03 +0200)]
Improve compatibility with various kinds of VCD files.
Petteri Aimonen [Wed, 21 Nov 2012 14:28:55 +0000 (16:28 +0200)]
Add downsample and skip parameters to input/vcd.
Petteri Aimonen [Tue, 20 Nov 2012 20:24:17 +0000 (22:24 +0200)]
VCD data parsing
Petteri Aimonen [Tue, 20 Nov 2012 19:03:06 +0000 (21:03 +0200)]
Beginnings of VCD input module.
File header parsing implemented.
Data parsing not yet implemented.
Petteri Aimonen [Tue, 20 Nov 2012 19:02:14 +0000 (21:02 +0200)]
Add support for fs and ps to sr_parse_period.
These time units are used in VCD files.
Uwe Hermann [Wed, 14 Nov 2012 17:38:26 +0000 (18:38 +0100)]
Add Metex 14-byte ASCII protocol parser.
Bert Vermeulen [Fri, 16 Nov 2012 14:26:17 +0000 (15:26 +0100)]
ols: if no serial port specified, this driver is not used.
Uwe Hermann [Wed, 14 Nov 2012 17:35:37 +0000 (18:35 +0100)]
Move serial_stream_detect() to serial.c.
Uwe Hermann [Wed, 14 Nov 2012 17:29:27 +0000 (18:29 +0100)]
configure.ac: Update NEED_SERIAL list.
Uwe Hermann [Wed, 14 Nov 2012 17:20:13 +0000 (18:20 +0100)]
serial: Compile-fix for Windows/MinGW.
Uwe Hermann [Mon, 5 Nov 2012 22:25:59 +0000 (23:25 +0100)]
tekpower-dmm: Cosmetics.
Alexandru Gagniuc [Fri, 2 Nov 2012 15:53:06 +0000 (10:53 -0500)]
tekpower-dmm: Improve serial detection.
Serial detection was using serial_readline, which stripped carriage
return from the packets. This made for a very unreliable detection
mechanism.
Switch to a timeout-based detection mechanism that parses the data
as it comes in. This also allows us to stop parsing once we found
our first valid packet.
Signed-off-by: Alexandru Gagniuc <redacted>