]> sigrok.org Git - libsigrok.git/commit
la8: Add support for the ChronoVu LA16.
authorUwe Hermann <redacted>
Sun, 30 Mar 2014 23:26:07 +0000 (01:26 +0200)
committerUwe Hermann <redacted>
Wed, 2 Apr 2014 15:20:09 +0000 (17:20 +0200)
commit00910580bb73862856cd3f09d20934f086b3fac0
treeb765f593213342c2e302ee0d2d6f34ac70a0e8f2
parentb172c1301e183646fbe9a2b7e096d9c7ee8e2458
la8: Add support for the ChronoVu LA16.

The ChronoVu LA16 is a new logic analyzer from ChronoVu with some
differences in features compared to the LA8, e.g.

 - Supports 16 channels (instead of 8).
 - Max. 200MHz samplerate (instead of 100MHz).
 - Supports state triggering (low and high channel value) and edge triggering
   (rising or falling edge), the LA8 only supports state triggering.

This driver now supports both the LA8 and LA16, but it needed a few
changes:

 - Add support for detecting multiple device instances at all.
 - Add support for both LA8 and/or LA16 devices being detected.
 - Add a device profile struct for LA8-/LA16-specific device properties.
 - Move the samplerates list to devc (it's different for LA8 and LA16).
 - Split scan() into two functions, one for scanning, one for adding a device.
 - Expand some variables and fields from uint8_t to uint16_t in order to
   support 16 channels.
 - Update the samplerate related functions to support the LA16's 200MHz.
 - Various other minor updates in order to better handle both device types.
 - Various error handling improvements and simplifications.
 - Also, replace time() with g_get_monotonic_time() everywhere.

This also fixes bug #247 (which was related to incorrect handling of
resources during scan and open of the device, which was exposed by
PulseView allowing multiple consecutive scan/close/open calls).
contrib/z60_libsigrok.rules
hardware/chronovu-la8/api.c
hardware/chronovu-la8/protocol.c
hardware/chronovu-la8/protocol.h