Commit Graph

29 Commits

Author SHA1 Message Date
Diego Asanza 41dc254778 dslogic: Implement continuous mode
For low sampling speeds (up to 25MHz) DSLogic offers a streaming mode where
samples are sent directly to the USB interface, like a fx2lafw device.

For high sampling speeds (up to 400MHz) only buffer mode is supported.

This commit allows the user to set which mode should be used. The configuration
is done by using SR_CONF_CONTINUOUS.

Signed-off-by: Diego Asanza <f.asanza@gmail.com>
2016-05-16 18:18:58 +02:00
Diego Asanza 4237fbcaac dslogic: Implement trigger functionality
This commit implements DSLogic trigger functionality.

The following triggers are working:

 - trigger on rising edge
 - trigger on falling edge
 - trigger on any edge
 - trigger on logic one
 - trigger on logic zero

Pre-trigger capture ratio is also working.

Signed-off-by: Diego Asanza <f.asanza@gmail.com>
Tested-by: Andrew Bradford <andrew@bradfordembedded.com>
2016-05-16 17:57:07 +02:00
Uwe Hermann e91d4ce2b2 fx2lafw: Fix a -Wself-assign compiler warning.
This closes bug #793.
2016-05-12 14:59:48 +02:00
Uwe Hermann 8cb222e143 Drop some obsolete and unneeded comments. 2016-04-29 19:20:53 +02:00
Uwe Hermann 695dc859c1 dev_acquisition_{start,stop}(): Drop duplicate 'cb_data' parameter.
These are always 'sdi', which is passed in already.
2016-04-29 19:20:53 +02:00
Uwe Hermann 3be42bc22f Factor out std_session_send_df_end() helper.
This makes the code shorter, simpler and more consistent, and also
ensures that the (same) debug messages are always emitted and the
packet.payload field is consistently set to NULL always, etc.
2016-04-29 18:08:15 +02:00
Benjamin Larsson 7fb90f94d6 fx2lafw: Add working glue layer for frontends 2016-04-29 15:19:08 +02:00
Joel Holdsworth 7e5ccff2ec fx2lafw: Add analog sampling handler
This will be needed for the MSO support of the CWAV USBee AX and clones.
2016-04-27 22:49:51 +02:00
Joel Holdsworth 7b5d1c64fc fx2lafw: Factor out packet sending
This will make it possible to use different senders based on
driver mode. This is needed for USBee AX support.
2016-04-27 22:29:56 +02:00
Diego F. Asanza 3db03efa4a Working trigger on rising and falling edges. 2016-04-23 17:04:18 +02:00
Bert Vermeulen 2a8f2d41ad No need to check return value of libusb_get_device_descriptor().
Since libusb 1.0.16 this is guaranteed to always succeed.

This fixes bug #658.
2015-09-21 00:25:40 +02:00
Daniel Elstner 6ec6c43b47 Build: Include <config.h> first in all source files
Since Autoconf places some important feature flags only into the
configuration header, it is necessary to include it globally to
guarantee a consistent build.
2015-09-13 18:54:46 +02:00
Soeren Apel 41812aca43 Fix #442 by renaming sr_dev_driver.priv to .context 2015-07-10 01:22:15 +02:00
Uwe Hermann c11a1e6122 fx2lafw: Use the USB_INTERFACE #define. 2015-07-10 01:22:15 +02:00
Uwe Hermann dc2903bbdb fx2lafw: Fix segfault wrt libusb_detach_kernel_driver().
Move the libusb_detach_kernel_driver() call after the code that
sets the usb->devhdl pointer, otherwise it'll be NULL and result
in a segfault.

  #0  libusb_kernel_driver_active (dev=0x0, interface_number=0) at libusb/core.c:1711
  #1  dev_open (sdi=0x12d99f0) at src/hardware/fx2lafw/api.c:374
  [...]

Tested on a device with the default Cypress VID/PID and one with
the Saleae Logic VID/PID, both works fine.
2015-07-10 01:05:54 +02:00
Uwe Hermann 55462b8ba9 windows: Fix various compiler warnings.
Add LIBUSB_CALL where needed to avoid warnings such as the following:

  In file included from src/hardware/hantek-dso/api.c:34:0:
  src/hardware/hantek-dso/dso.h:212:13:
  note: expected 'libusb_transfer_cb_fn' but argument is of type 'void (*)(struct libusb_transfer *)'
   SR_PRIV int dso_get_channeldata(const struct sr_dev_inst *sdi,
               ^
2015-04-12 19:28:36 +02:00
Uwe Hermann 4df5739a9f dslogic: Add #defines for timeouts and delays. 2015-04-09 20:04:32 +02:00
Uwe Hermann 0f26276329 fx2lafw: Use libusb_error_name() for reporting transfer status. 2015-04-03 21:05:02 +02:00
Uwe Hermann bc49777251 fx2lafw: Replace obsoleted strncmp() calls.
The fixed lengths for strncmp() can no longer be used since strings of
various lengths can be passed to match_manuf_prod(). Use strcmp() instead.
2015-03-19 18:25:55 +01:00
eightdot 6fcf3f0a22 Various fixes/updates to make the driver compile.
This patchset was originally done by eightdot <gituser@eightdot.eu> by
manually forward-porting parts of the changes done by Bert Vermeulen (see
previous commits), but then heavily modified by Uwe Hermann to be based on
top off the (git-)rebased patches from Bert Vermeulen instead.

Note: This initial DSLogic code is *not* yet in a working or usable
state. It should be considered as a basis for further work only, for now.
2015-03-19 18:25:55 +01:00
Bert Vermeulen b9d530920f fx2lafw: Basic acquisition support for DSLogic. 2015-03-19 18:25:55 +01:00
Bert Vermeulen a7d7f93c1b fx2lafw: scan/firmware support for DSLogic. 2015-03-19 18:25:55 +01:00
Aurelien Jacobs 7bfcb25cf1 fx2lafw: Add SR_CONF_CAPTURE_RATIO support. 2014-11-25 16:56:34 +01:00
Aurelien Jacobs fe5a735553 soft-trigger: Add support for pre-triggering. 2014-11-25 16:56:34 +01:00
Uwe Hermann f57d8ffe66 Consistently use g_malloc0() for allocating devc.
We assume the allocation will always succeed, hence no need for
checking the returned value.
2014-11-21 12:09:01 +01:00
Soeren Apel 5e2c86eb31 fx2lafw: Use physical USB connection instead of sdi->index
Previously, sdi->index was used to tell several identical fx2lafw-compatible
devices apart. This was a bit of a hack, so this patch makes it use physical
device connections instead. They're guaranteed to remain the same even if
the USB device reconnects.
2014-09-27 12:49:44 +02:00
Bert Vermeulen 81a3497655 fx2lafw: Code cleanup. 2014-08-26 01:49:00 +02:00
Bert Vermeulen 2f663c826a fx2lafw: Fix continuous mode. 2014-07-23 00:24:39 +02:00
Bert Vermeulen 155b680da4 Reorganize project tree. 2014-07-22 18:19:29 +02:00
Renamed from hardware/fx2lafw/protocol.c (Browse further)