Commit Graph

911 Commits

Author SHA1 Message Date
Bert Vermeulen ed300b9f6a asix-sigma: use driver struct-based device instance list 2012-08-03 10:27:38 +02:00
Bert Vermeulen 765ef2f725 chronovu-la8: use driver struct-based device instance list 2012-08-03 10:27:38 +02:00
Bert Vermeulen dcf03d6dbd demo: use driver struct-based device instance list 2012-08-03 10:27:38 +02:00
Bert Vermeulen 3275654708 zeroplus-logic-cube: use driver struct-based device instance list 2012-08-03 10:27:38 +02:00
Bert Vermeulen 982947f7a2 hantek-dso: use driver struct-based device instance list 2012-08-03 10:27:38 +02:00
Bert Vermeulen e5e81856b4 ols: use driver struct-based device instance list 2012-08-03 10:27:38 +02:00
Bert Vermeulen d6db79a48c genericdmm: device scan fixes 2012-08-03 10:27:38 +02:00
Bert Vermeulen f1a14ea7ab genericdmm: don't use deprecated hwcap_get_all() driver API call 2012-08-03 10:27:37 +02:00
Bert Vermeulen 6910bf6bf6 genericdmm: use new driver info_get() API call 2012-08-03 10:27:37 +02:00
Bert Vermeulen a27999e657 fx2lafw: don't use deprecated hwcap_get_all() driver API call 2012-08-03 10:27:37 +02:00
Bert Vermeulen c5e82ca5e3 fx2lafw: device scan fixes 2012-08-03 10:27:37 +02:00
Bert Vermeulen f69b47f0f8 fx2lafw: a device scan always invalidates any previous scans 2012-08-03 10:27:37 +02:00
Bert Vermeulen 6e9339aae2 fx2lafw: use new driver info_get() API call 2012-08-03 10:27:37 +02:00
Bert Vermeulen 3a0fe4023d genericdmm: use new scan API 2012-08-03 10:27:37 +02:00
Bert Vermeulen bbb40871c8 genericdmm: more flexible device discovery 2012-08-03 10:27:37 +02:00
Bert Vermeulen 75337758d8 genericdmm: use driver struct-based device instance list 2012-08-03 10:27:37 +02:00
Bert Vermeulen a8cc8e44b9 fx2lafw: use driver struct-based device instance list 2012-08-03 10:27:37 +02:00
Bert Vermeulen 06717a8a60 fx2lafw: use new instance-based probe list 2012-08-03 10:27:37 +02:00
Bert Vermeulen 3a7a22cb07 fx2lafw: use new init/scan API 2012-08-03 10:27:37 +02:00
Bert Vermeulen 633b2fac75 genericdmm: better subdriver API arguments 2012-08-03 10:27:37 +02:00
Bert Vermeulen 1ef445b3d6 genericdmm/fs9922: no initialization needed 2012-08-03 10:27:36 +02:00
Bert Vermeulen 7fc754a0db genericdmm: allow for default options in DMM profiles
Much better than the special-cased USB vid.pid
2012-08-03 10:27:36 +02:00
Bert Vermeulen 7356a55db8 genericdmm: use vid.pid as USB conn spec
: is just too hard for the CLI
2012-08-03 10:27:36 +02:00
Bert Vermeulen db1352007d genericdmm: fix header guard 2012-08-03 10:27:36 +02:00
Bert Vermeulen 61136ea603 sr: add new driver API call: scan()
This changes the semantics of the init() call as well. That now only
initializes the driver -- an administrative affair, no hardware gets
touched during this call. It returns a standard SR_OK or SR_ERR* code.

The scan() call does a discovery run for devices it knows, and returns
the number found. It can be called at any time.
2012-08-03 10:27:36 +02:00
Bert Vermeulen 40dda2c3a5 sr: remove unused argument from hardware driver function init()
It was actually used in one way: the session file loaded abused it for
passing in the filename -- something it definitely wasn't intended for.
This now uses the proper way to pass arguments to a driver: the new
SR_HWCAP_SESSIONFILE.

The OLS driver could also use it as an indication of the serial port to
use instead of actively probing all serial ports on the system, but there
wasn't any frontend code that passed in such a parameter, making it
entirely useless. That will soon be handled differently with the new
scan() API call, regardless.
2012-08-03 10:27:36 +02:00
Ivan Fedorov 0e8d0e24d0 sr: fx2lafw: Add 16bit support for USBee DX and clones
gnuplot script support only 8 channels
2012-08-03 00:25:37 +02:00
Ivan Fedorov c9166745f2 sr: fx2lafw: Add basic support for USBee DX and clones 2012-08-01 00:12:00 +04:00
Bert Vermeulen d67b663e21 sr: chronovu-la8: fix segfault on discovery
If the uninitialized value didn't happen to contain 0, and there
is no Chronovu LA8 connected, the la8_close() causes a segfault
in libftdi.
2012-07-24 00:53:01 +02:00
Uwe Hermann 74e5f12d3d sr: la8: Support for newer USB VID/PID of the device.
Thanks to Jerry Jacobs for the patch!
2012-07-15 00:34:27 +02:00
Uwe Hermann 43be303c84 sr: la8: Drop useless cast. 2012-07-12 23:23:13 +02:00
Uwe Hermann 615183ea16 sr: Drop mastech-va18b, code will be in genericdmm. 2012-07-11 12:57:15 +02:00
Bert Vermeulen 28b9dd1861 sr: fix conditional build for ezusb and serial helpers 2012-07-11 12:36:49 +02:00
Lars-Peter Clausen e6e8f8e053 sr: demodevice: Make read channel non-blocking
Both pipe channels are currently configured as blocking. We read from the pipe
in receive_data. Since the channel is configured as blocking we'll block in
receive_data until all data has been received. receive_data will be called from
the mainloop, so as consequence the mainloop will be blocked until the demo
device has finished sampling. This is not so much of a problem if we are
sampling in blocking mode (using sr_session_run()) and the demo device is the
only device in the session, but it will fail badly for all other configurations
(e.g. multiple devices or async sampling).

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2012-07-10 20:13:31 +02:00
Lars-Peter Clausen e7d087bf0e sr: fx2lafw: Free transfers in reverse order
Free the USB transfers in the reverse order of which they were submitted. This
will avoid that while transfer 0 is cancelledd transfer 1 is started by the
host controller, and so on.

Reported-by: Peter Stuge <peter@stuge.se>
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2012-07-08 21:39:30 +02:00
Lars-Peter Clausen 249ae2be8f sr: session/demo: Remove Windows specific hack
The session and demo device code contain a hack to make the demo device work on
Windows. This was neccessary since polling on windows requires special handling
and we can not just pass in the raw fd to poll.

With the previous patches which added support for non-fd based event sources
this hack is no longer required. The patch moves the GIOChannels used by the
demo device to the demo device context and uses sr_session_source_add_channel
to register a source for the channels instead of using the raw pipe fds.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2012-07-05 01:41:01 +02:00
Bert Vermeulen 45c59c8bdd sr: moved sigrok.h so libsigrok/libsigrok.h
All frontends will have to include <libsigrok/libsigrok.h> from now on.
This header includes proto.h and version.h, both installed from the
distribution into $INCLUDE/libsigrok/ as well.

The only dynamically changed header is now version.h, which has both
libsigrok and libtool compile-time versions in it.
2012-07-05 01:17:28 +02:00
Lars-Peter Clausen 8489264f1e sr: demodevice: Reset sample limit when setting time limit and vice versa
Only one limit should be active at a time. Make sure that the sample limit is
disabled when a time limit is set and vice versa.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2012-07-04 01:11:50 +02:00
Lars-Peter Clausen 25f5d66a77 sr: fx2lafw: Fix potential leaks in acquisition_start error paths
Call abort_acquisition if starting sampling fails in acquisition_start, this
will ensure that all already allocated resources are being freed again.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2012-07-04 01:11:50 +02:00
Lars-Peter Clausen c03f045004 sr: fx2lafw: Do not start a new acquisition if the old is still running
This may happen if the acquisition_start is called right after calling
acquisition_stop and not all transfers have been freed or on repeated calls to
acquisition_start. If it happens we'll enter an undefined state and all kind of
strange behavior may occur, so error out in such a case.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2012-07-04 01:11:50 +02:00
Lars-Peter Clausen 0caa1ef0cb sr: fx2lafw: Abort pending transfers when sampling is stopped
The recent reworks of the fx2lafw made sure that the total buffer size is large
enough hold 500ms of data. This was done to improve performance and stability.
That the timeout value for a transfer was also increased to over 500ms, a side
effect of this is that when sampling is stopped there will be a additional delay
of 500ms. This is because the driver waits for all transfers to be freed
before it sends a SR_DF_END packet. Once sampling has stopped this will only
happen once a transfer times out. This patch cancels all pending transfers when
sampling is stopped, this will cause them to be freed almost immediately and the
additional delay will disappear.

Also make sure, that if we know, that we just have received the last transfer to
not resubmit this transfer again.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2012-07-04 01:11:50 +02:00
Bert Vermeulen ca3d84cca1 sr: add genericdmm driver 2012-07-01 22:37:15 +02:00
Bert Vermeulen f8c1fcda46 sr: use proper definitions for parity setting
ols driver fixed to use these as well.
2012-07-01 22:31:31 +02:00
Uwe Hermann 163f0523f6 sr: Mastech VA18B: Partial protocol supports (WIP).
Disable the driver for now, as it's not usable for the general public, yet.
2012-06-28 22:57:03 +02:00
Uwe Hermann 99f5d45ecc sr: hantek-dso: Fix copy-paste error. 2012-06-28 01:47:38 +02:00
Lars-Peter Clausen 2769eed991 sr: fx2lafw: Move empty_transfer_count to device ctx
If one device is failing it should not affect the transfers of other devices.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2012-06-28 00:40:52 +02:00
Lars-Peter Clausen 5af666a94e sr: fx2lafw: Calculate buffer size and timeout based on sample rate
Currently timeout and buffer size are hard-coded in the fx2lafw driver which is
non-optimal if we want to get good results at both high and low sample rates.

The timeout is hard-coded to 40ms, which doesn't work well when sampling at
a low sample rate. E.g. at 20kHz filling all available buffer space alone takes
6 seconds. So naturally we'll see a lot of transfers timeout in this case.

The buffer size is hard-coded to 4096 bytes, which does not work well with high
sample rates. E.g. at 24MHz these 4096 bytes are enough space for 0.17ms of
data. The total buffer size is enough for about 5ms of data. Sooner or later the
application won't be able to resubmit a transfer within this time span and the
device will abort data acquisition. Usually this happens within the first few
seconds of sampling.

This patch adds a few new helper functions which calculate the buffer size and
timeout based on the current sample rate.

The buffer size is chosen to be large enough to hold about 10ms of data and it
also must be a multiple of 512 bytes since the firmware will send us the data
in 512 byte chunks.

The timeout is set to the time it would take to fill the whole available buffer
space plus a 25% headroom to accommodate for jitter. This is more than enough,
but there is no need to make the timeout a tight deadline, since it is only
meant as a last resort in case the device stops submitting data. And in this
case data acquisition will be aborted anyway.

The patch also limits the the number of transfers so that the total buffer
space is not much more of 500ms. This will ensure that we do not have to
wait too long when aborting data acquisition.

This patch also significantly reduces the number of context switches when
sampling at a higher sample rate. On my system for example the CPU load of
sigrok-cli when sampling at 24MHz goes down from ~25% to 3-4%.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2012-06-28 00:40:52 +02:00
Lars-Peter Clausen 7ce737a77c sr: fx2lafw: Handle the transfer's status
While errors are usually already implicitly caught by looking at the packet
length field there is one error status which is worth special handling. If the
device has been removed there is not really a chance to recover from this error
so data acquisition can be stopped immediately.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2012-06-28 00:40:52 +02:00
Lars-Peter Clausen 17dff8a1e6 sr: fx2lafw: Avoid unnecessary alloc/free combo
In receive_transfer for each completed transfer a new buffer is allocated and
the old one is freed. We can avoid this by simply reusing the buffer for the
next transfer. This is possible if we only resubmit the transfer after all
processing on the data buffer has been done. A new buffer is only allocated if
the size of the old one is not 4096 bytes.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2012-06-28 00:40:51 +02:00
Lars-Peter Clausen f855de7575 sr: fx2lafw: Properly free transfer
When freeing a transfer we also have to free the transfer buffer. We also have
to keep track of the number of allocated transfers and if the freed transfer was
the last one stop acquisition. This patch introduces a helper function which
takes care of all of this.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2012-06-28 00:40:51 +02:00
Lars-Peter Clausen bd47acabe3 sr: fx2lafw: Allocate header and packet struct on the stack
The header and packet struct are only used in the scope of this function and
they are freed at the end of it. Also these structs are rather small, so they
can safely be allocated on the stack. By doing so memory leaks on the error
paths are avoided.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2012-06-28 00:40:51 +02:00
Joel Holdsworth 0c156e06c5 fx2lafw: Made libusb_claim_interface error messages more informative 2012-06-28 00:40:48 +02:00
Bert Vermeulen 88a13f30bd hantek-dso: add profiles for all five models in the series
Also cleaned up profile struct, and use the new firmware filenames.
2012-06-27 19:36:30 +02:00
Bert Vermeulen 3b6c19303d fx2lafw: fix broken firmware upload timeout
Also corner case error init.
2012-06-27 01:02:39 +02:00
Bert Vermeulen fc8fe3e314 hantek-dso: get rid of broken GTV_TO_MSEC firmware upload timeout 2012-06-27 01:02:06 +02:00
Bert Vermeulen e749a8cb50 hantek-dso: start sending the frame only from the trigger point
Samples received before the trigger point are stored. From the
trigger point on, every chunk received from the device is sent
up the session bus. After the device has finished sending, the
stored samples are transmitted.
2012-06-26 23:26:55 +02:00
Lars-Peter Clausen fa114e4ab1 sr: fx2lafw: Set correct unitsize for trigger buffer
Commit 88b75eb719 ("fx2lafw: Added device caps and added support for wide
sampling") increased the size of the trigger buffer from 8 to 16 bit, but forgot
to adjust the unitsize logic packet which is used to send the contents of the
trigger buffer. This patch sets the unitsize to sizeof() of the trigger buffer.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2012-06-25 19:48:21 +02:00
Bert Vermeulen e05a174be2 hantek-dso: fix triggerpoint conversion 2012-06-24 18:57:37 +02:00
Lars-Peter Clausen f3ab43a8fb sr: fx2lafw: Fix multistage trigger
Multistage triggers currently do no work, because there is a return statement
in the middle of the trigger detector which will be hit as soon as the first
stage in a multistage trigger matches. This patch removes the return statement
so that the trigger detector can continue to try to match the next stage. In
order for this to work we also make sure that the trigger stage is only reset
if the current sample does not match.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2012-06-24 14:35:26 +02:00
Lars-Peter Clausen eabf24035b sr: fx2lafw: Fix memory leaks in receive_transfer
There are a few memory leaks in the receive_transfer transfer function. The most
serve of them is that a sample buffer is not freed if the triggered has not
matched yet, which causes a sigrok process which is waiting for a trigger to
consume several megabytes of memory within seconds. The other leaks are on the
error paths in that function.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
2012-06-22 09:23:30 +02:00
Uwe Hermann 9edfee3ee3 sr: ols: Fix incorrect comment. 2012-06-21 23:59:27 +02:00
Uwe Hermann eb1f1eb407 sr: Unfinished Mastech VA18B (DMM) support. 2012-06-21 23:56:24 +02:00
Uwe Hermann b908f067f2 sr: chronovu-la8: Split code into api.c and driver.c.
We should generally use api.c for API related functions and put the other
functions (mostly hardware-specific low-level code) into other C file(s)
for better readability.
2012-06-21 23:34:38 +02:00
Uwe Hermann 9956f2851f sr: analog: Add MQ and UNIT enums.
MQ is the measured quantity, e.g. voltage, current, temperature.

UNIT is the unit in which these quantities are measured, e.g. volt,
ampere, celsius, kelvin, etc. etc.

The same MQ can be specified in different UNITs by the driver, depending
on what the hardware reports. Conversion is left to the frontends.
2012-06-20 23:55:23 +02:00
Uwe Hermann c13536fa9c sr: backend/zeroplus: Improve debug output. 2012-06-19 23:33:50 +02:00
Bert Vermeulen 6e6eeff47a hantek-dso: capturestate packet also contains the trigger point
Not yet used, but it's the key to knowing where in the frame to
start displaying; the frame is used as a circular buffer, and what
is sent is effectively a snapshot.
2012-06-18 23:09:37 +02:00
Bert Vermeulen a217bcdf10 hantek-dso: relays now set properly
They appear to be arranged to switch on/off a hierarchical series of
devices that attenuate the channel by an order of magnitude.
2012-06-18 23:05:02 +02:00
Uwe Hermann 384c28d9e7 sr: hantek-dso: Use portable g_ntohs() function.
The ntohs() from <arpa/inet.h> is not available on MinGW/Windows. There
are ways to work around this, but as we use glib already, using g_ntohs()
is the best option anyway.
2012-06-14 01:21:00 +02:00
Bert Vermeulen c5841b2809 hantek-dso: calculate voltage based on vdiv setting 2012-06-05 18:18:23 +02:00
Bert Vermeulen a10c805636 hantek-dso: default to DC coupling 2012-06-05 18:18:23 +02:00
Bert Vermeulen 1d97091e71 hantek-dso: fix CH2 vdiv setting 2012-06-05 18:18:23 +02:00
Bert Vermeulen aff5a729ab sr: add unit field to sr_df_analog packet 2012-06-05 18:18:23 +02:00
Uwe Hermann 62bb8840e1 sr: hantek-dso: Consistency renames, constification. 2012-06-01 01:12:09 +02:00
Uwe Hermann 0a88ec3d9c sr: fx2lafw: Use gboolean, cosmetics, fix gcc warning. 2012-05-31 22:48:40 +02:00
Uwe Hermann af36b80969 hantek-dso: Update to constified libsigrok API. 2012-05-31 22:43:12 +02:00
Uwe Hermann 88ff66c2c9 hantek-dso: Quickfix for build issue (will be removed later). 2012-05-31 22:40:41 +02:00
Joel Holdsworth f4575b6549 fx2lafw: Added a check to limit the sample rate during 16-bit sampling 2012-05-31 19:53:36 +01:00
Joel Holdsworth d1ddc7a9a8 fx2lafw: Added device caps and added support for wide sampling 2012-05-31 19:52:32 +01:00
Joel Holdsworth a533743dd1 sr: Made sample rate lists const 2012-05-31 19:51:11 +01:00
Joel Holdsworth 1b79df2f57 sr: Made the dev_config_set parameter a const pointer 2012-05-31 19:51:11 +01:00
Joel Holdsworth b7f578bef5 sr: Made the dev_info_get return value const 2012-05-31 19:51:10 +01:00
Joel Holdsworth 915f7cc87a sr: Made hwcap const 2012-05-31 19:51:09 +01:00
Bert Vermeulen 2715c0b86b hantek-dso: hopefully handle endianness in voltage setting 2012-05-30 23:56:13 +02:00
Bert Vermeulen 4a090d722d hantek-dso: enable SR_HWCAP_COUPLING 2012-05-30 23:56:13 +02:00
Bert Vermeulen b58fbd99c8 hantek-dso: support for SR_HWCAP_COUPLING 2012-05-30 23:56:13 +02:00
Bert Vermeulen 313deed219 hantek-dso: support SR_HWCAP_VDIV 2012-05-30 23:56:12 +02:00
Bert Vermeulen ebb781a69f hantek-dso: support for SR_HWCAP_FILTER 2012-05-30 23:56:12 +02:00
Bert Vermeulen a370ef1916 hantek-dso: support for setting all CMD_SET_TRIGGER_SAMPLERATE params 2012-05-30 23:56:12 +02:00
Bert Vermeulen bc79e906a0 hantek-dso: proper protocol implementation of trigger/samplerate setting 2012-05-30 23:56:12 +02:00
Bert Vermeulen 6e71ef3b6f hantek-dso: fix channel selection 2012-05-30 23:56:12 +02:00
Bert Vermeulen ae88b97ba2 hantek-dso: delimit frames with SR_DF_FRAME_* packets 2012-05-30 23:56:12 +02:00
Bert Vermeulen 3b533202c8 sr: initial support for Hantek 2xxx/5200 USB oscilloscopes 2012-05-30 23:56:12 +02:00
Bert Vermeulen f366e86c68 sr: change all drivers to use SR_DF_META_LOGIC 2012-05-30 23:55:36 +02:00
Uwe Hermann 7e41e319d9 sr: fx2lafw: Forgot to add (C) line to fx2lafw.h in recent commit. 2012-05-30 23:31:03 +02:00
Uwe Hermann 0a8c0c324e sr: fx2lafw: Only check for correct major FW version.
Changes in the minor version number are OK, as those should never
contain any incompatible/API changes.
2012-05-30 23:23:14 +02:00
Uwe Hermann 8fdecced96 sr: Consistently use ZEROPLUS spelling.
This is the version used throughout their website, let's use it.
2012-05-30 23:23:14 +02:00
Uwe Hermann 921634ec10 sr: Fix typos. 2012-05-30 22:42:47 +02:00
Uwe Hermann cf94c8167b sr: fx2lafw: Add (C) line from old saleae driver it's based on. 2012-05-30 22:42:45 +02:00
Uwe Hermann f60fdf6ebe sr: fx2lafw: s/MAX_RENUM_DELAY/MAX_RENUM_DELAY_MS/. 2012-05-30 09:30:50 +02:00
Uwe Hermann e8bd58ffd2 sr: fx2lafw: Fix a firmware upload bug on 32bit systems.
The glib GTimeVal data type (and some functions using it) will be faded
out from glib sooner or later, so it's not a good idea to use them anyway.

In this specific case GTimeVal.tv_sec was overflowing, leading a check in
libsigrok to fail, and thus to FX2 firmware upload errors, i.e.
non-working fx2lafw devices.

  http://thread.gmane.org/gmane.comp.debugging.sigrok.devel/166

The root cause is that GTimeVal.tv_sec is a 'glong' (8 bytes on 64bit
systems, but only 4 on 32bit systems).

We now use an int64_t (and g_get_monotonic_time() instead of the more
problematics g_get_current_time() which uses a GTimeVal).

This has been verified to fix the issue on a 32bit system.

Other uses of GTimeVal in libsigrok will be removed in a later release.

Also, drop unneeded GTV_TO_MSEC.
2012-05-30 09:30:18 +02:00
Uwe Hermann 9f05304e4e sr: ARMFLY AX-Pro is supported by fx2lafw (LA only). 2012-05-29 20:25:08 +02:00
Uwe Hermann 37dc0b16a6 fx2lafw: Cosmetics. 2012-05-11 00:22:30 +02:00
Joel Holdsworth dc68c660d5 fx2lafw: Added a gpif delay debug message 2012-05-10 13:11:07 +01:00
Joel Holdsworth 79dc64985f fx2lafw: Added support for 20kHz and 25kHz sampling 2012-05-10 13:10:59 +01:00
Joel Holdsworth 897c1a2ee5 fx2lafw: Added support for 100kHz and 50kHz sampling 2012-05-10 13:08:09 +01:00
Uwe Hermann 1e94408ae5 sr: fx2lafw: Get/display FX2 REVID. 2012-05-06 19:54:46 +02:00
Uwe Hermann 1663e4706c sr: fx2lafw: Braintechnology USB-LPS support. 2012-05-06 17:24:40 +02:00
Uwe Hermann 6352d030df sr: We support both SIGMA and SIGMA2.
Also, a few minor coding-style fixes etc.
2012-05-03 01:41:02 +02:00
Bert Vermeulen 6b73d9a598 fx2lafw: use iManufacturer/iProduct fields to identify our firmware
It's more deterministic than the endpoint profile check we did before. Which
was also broken.
2012-04-27 01:28:47 +02:00
Uwe Hermann 6752905e6b sr: zeroplus: Fix segfault, add debug output.
There are various ZEROPLUS models with different probe numbers. For now
hardcode to 16 (for the popular LAP-C(16032)). This will need to be
fixed in a dynamic way later.

This fixes a segfault due to only 16 probe-names being defined, but the
drivers returning 32 as probecount.

Also, add some additional debug output.
2012-04-26 23:18:05 +02:00
Bert Vermeulen 993526f824 sr: don't use deprecated glib functions
As of the recent glib 2.32 release, these produce deprecation warnings
at compile time.
2012-04-23 15:31:41 +02:00
Håvard Espeland 42cdeef626 sigma: Fix segfault when no Sigma present. 2012-04-23 13:36:17 +02:00
Håvard Espeland 868501fa46 sigma: Bump copyright notice. 2012-04-22 15:10:46 +02:00
Håvard Espeland e210c6c090 sr: Remove zlib dependency.
No longer needed by Sigma driver.
2012-04-22 14:59:10 +02:00
Håvard Espeland e3fff420da sigma: Add support for SIGMA2 (req. new firmware). 2012-04-22 14:59:10 +02:00
Håvard Espeland 3c36c403fa sigma: Use heap for datafeed packet and header. 2012-04-22 14:59:10 +02:00
Håvard Espeland 805919b042 sigma: Fix bugs in receive_data callback.
- Poll data position on Sigma for every iteration.
- Return TRUE when no data ready.
2012-04-22 14:59:10 +02:00
Uwe Hermann 934cde02b8 fx2lafw: supported_samplerates[] should be 0-terminated. 2012-04-19 00:55:29 +02:00
Joel Holdsworth f488762a17 fx2lafw: Added support for default Cypess FX2 without EEPROM 2012-04-19 00:12:22 +02:00
Joel Holdsworth 824b1a8f5c sr: Deleted the saleae-logic driver, fx2lafw has superceded it. 2012-04-19 00:12:22 +02:00
Joel Holdsworth 9304d57650 fx2lafw: Added slower sample rates 2012-04-18 19:07:39 +01:00
Uwe Hermann 0aeb0ccd55 sr: sr_err() et. al. don't need trailing \n. 2012-04-10 23:25:57 +02:00
Uwe Hermann 44dfd483db sr: fx2lafw: Cosmetics. 2012-04-10 22:32:31 +02:00
Joel Holdsworth 13bf7eccbb fx2lafw: Added command to verify firmware version 2012-04-10 18:27:24 +01:00
Joel Holdsworth 6fbe5e6081 fx2lafw: Safer use of libusb_get_device_list 2012-04-08 17:19:52 +01:00
Uwe Hermann da68656857 sr: fx2lafw: Consistency fixes. 2012-03-31 11:33:43 +02:00
Uwe Hermann 7ae2f9d56f sr: fx2lafw: Cosmetics. 2012-03-28 01:19:28 +02:00
Uwe Hermann b04902b646 sr: fx2lafw: Use SR_PRIV where needed. 2012-03-28 01:19:28 +02:00
Uwe Hermann 30da9658ad sr: fx2lafw: command.h: Add missing include guards. 2012-03-28 01:19:28 +02:00
Uwe Hermann f4a9e5c0aa sr: fx2lafw: Cosmetics. 2012-03-28 01:19:27 +02:00
Joel Holdsworth 94c26b08fd sr: Build ezusb.c for fx2lafw as well as saleae-logic 2012-03-25 19:42:37 +01:00
Joel Holdsworth ec888f62fe salae: Only terminate session after all transfers have been aborted 2012-03-25 19:42:37 +01:00
Joel Holdsworth 3e6292b296 fx2lafw: Made finish_acquisition a static function 2012-03-25 19:42:37 +01:00
Uwe Hermann 590b9f9a91 sr: Fix some samplerate fields. 2012-03-24 22:32:47 +01:00
Joel Holdsworth cb61e9f7c3 fx2lafw: Only terminate session after all transfers have been aborted 2012-03-24 10:09:28 +00:00
Joel Holdsworth 24125e0520 fx2lafw: Removed a line of redundant code 2012-03-24 10:07:58 +00:00
Joel Holdsworth 6c6781b6a7 fx2lafw: Imported software triggering from fx2lafw 2012-03-21 22:47:25 +00:00
Uwe Hermann 2e7cb0040a cli: Fix -V/-h output a bit.
Options and their defaults should not be documented there, but rather in
the manpage or such.
2012-03-21 23:20:09 +01:00
Uwe Hermann eb0a373189 sr/cli: s/patternmode/pattern/ in a few places. 2012-03-21 23:20:07 +01:00
Uwe Hermann ebc3473882 sr: s/err/ret/ for consistency.
We use ret, err, error, and others for return codes of functions.
Standardize on 'ret' for consistency reasons for now.
2012-03-21 23:20:06 +01:00
Bert Vermeulen 21b50ee183 Merge remote-tracking branch 'joel/public' 2012-03-16 00:04:51 +01:00
Joel Holdsworth ecc16ed070 fx2lafw: Upped NUM_SIMUL_TRANSFERS to 32 2012-03-14 22:56:15 +00:00
Uwe Hermann 455b26edba sr: demo: s/struct databag/struct context/. 2012-03-14 22:44:30 +01:00
Uwe Hermann ab331b679c sr: demo: s/mydata/ctx/. 2012-03-14 22:44:29 +01:00
Uwe Hermann 4101f961e8 sr: s/SR_{USB,SERIAL}_INST/SR_INST_{USB,SERIAL}/. 2012-03-14 22:44:29 +01:00
Joel Holdsworth 4502e86921 fx2lafw: Added CWAV USBee SX to the device list 2012-03-12 21:49:34 +00:00
Joel Holdsworth 0ca21631dd fx2lafw: Corrected a comment 2012-03-12 21:47:45 +00:00
Joel Holdsworth 93a9f3daaf fx2lafw: Added Saleae Logic (and clones) to the device list 2012-03-12 21:47:44 +00:00
Joel Holdsworth f8b07fc6c3 fx2lafw: Moved firmware path into fx2lafw_profile 2012-03-12 21:41:28 +00:00
Joel Holdsworth 4679d14db3 fx2lafw: Made fx2lafw profiles const 2012-03-12 21:41:27 +00:00
Joel Holdsworth 6ccfadaf66 fx2lafw: Made string pointers constant 2012-03-12 21:39:02 +00:00
Joel Holdsworth 17b6c75a89 fx2lafw: Added ESLA201A to device list 2012-03-12 21:38:57 +00:00
Joel Holdsworth 017375d17e fx2lafw: Send start command after bulk transfer have been set up 2012-03-11 20:59:39 +00:00
Matt Ranostay 13d0d2698c ols: fixed *ctx null dereferences that would SEGFAULT on probing for a OLS or attempting to read from it.
Signed-off-by: Matt Ranostay <mranostay@gmail.com>
2012-03-08 22:27:33 -08:00
Joel Holdsworth 9031ce63f3 fx2lafw: Corrected check_conf_profile checks 2012-03-07 07:52:05 +00:00
Joel Holdsworth dba024420f fx2lafw: Implemented control of sample rates 2012-03-07 07:52:05 +00:00
Joel Holdsworth f92994fd91 fx2lafw: Ensure default sample rate is set 2012-03-07 07:52:05 +00:00
Joel Holdsworth d98c4e35ce fx2lafw: Removed CMD_STOP and renumbered commands 2012-03-07 07:52:05 +00:00
Joel Holdsworth 2e526f4a6a fx2lafw: Moved num_samples into context struct 2012-03-07 07:52:05 +00:00
Joel Holdsworth 266784d594 saleae-logic: Moved num_samples into context struct 2012-03-07 07:52:05 +00:00
Joel Holdsworth 19ccdf696c fx2lafw: Removed CMD_SET_SAMPLERATE 2012-03-07 07:52:05 +00:00
Joel Holdsworth f6582cd7bf fx2lafw: Implemented initial support for start capture 2012-03-07 07:52:05 +00:00
Joel Holdsworth 74fcfb806d fx2lafw: Devices now retain the same PID/VID after fw load 2012-03-07 07:51:39 +00:00
Joel Holdsworth e318664793 fx2lafw: Implemented SR_HWCAP_PROBECONFIG and SR_HWCAP_LIMIT_SAMPLES 2012-03-07 07:51:39 +00:00
Joel Holdsworth c8f2c9dda4 fx2lafw: Fixed a compiler error, and made cv_data consistent with saleae-logic.c 2012-03-07 07:51:31 +00:00
Uwe Hermann 0abee5076f sr: Fix some TODOs, improve comments/docs. 2012-03-04 15:10:12 +01:00
Uwe Hermann 3cd3a20b35 sr: More callback param renames.
Start/stop acquisition callbacks: Consistently name the 'void *' parameter
cb_data for now. The per-device-instance device pointer is called
'session_dev_id' everywhere for now, but this should be renamed to
something more clear.
2012-03-04 15:10:09 +01:00
Uwe Hermann 1f9813eb6c sr: Name all callback data 'cb_data'. 2012-03-02 02:25:42 +01:00
Uwe Hermann 31ccebc492 sr: s/sr_session_bus/sr_session_send/. 2012-03-01 23:49:25 +01:00
Uwe Hermann c09f0b578c sr/cli/gtk/qt/: s/plugin/driver/. 2012-02-28 23:52:30 +01:00
Bert Vermeulen 2285cf9bc5 sr: code cleanup 2012-02-28 17:47:02 +01:00
Uwe Hermann d261dbbfcc sr: Fix/document probe names. 2012-02-28 01:09:29 +01:00
Uwe Hermann 6c39d99a28 sr: fx2lafw: Consistent #include guard naming. 2012-02-27 23:55:06 +01:00
Uwe Hermann f9a69557d2 sr: fx2lafw: Use gboolean consistenly. 2012-02-27 23:53:44 +01:00
Uwe Hermann 772a0e6153 fx2lafw: Small consistency fixes. 2012-02-27 23:40:38 +01:00
Uwe Hermann be4b99e897 fx2lafw: Compile fix. 2012-02-27 23:26:05 +01:00
Joel Holdsworth 5da939028d fx2lafw: Implemented hw_dev_acquisition_stop 2012-02-27 21:58:25 +00:00
Joel Holdsworth 610dbb7091 fx2lafw: Implemented hw_dev_acquisition_start 2012-02-27 21:58:25 +00:00
Joel Holdsworth 7cb621d418 fx2lafw: Basic implementation of hw_dev_config_set with SR_HWCAP_LIMIT_SAMPLES 2012-02-27 21:58:25 +00:00
Joel Holdsworth 62bc70e412 fx2lafw: Added more to hw_cleanup 2012-02-27 21:58:25 +00:00
Joel Holdsworth f1898235e8 fx2lafw: Implemented hw_dev_close 2012-02-27 21:58:25 +00:00
Joel Holdsworth 43125c6993 fx2lafw: Implemented hw_dev_open 2012-02-27 21:58:25 +00:00
Joel Holdsworth 7f6a3b43ad sr: Moved GTV_TO_MSEC to sigrok-internal.h 2012-02-27 21:58:25 +00:00
Joel Holdsworth b1eeb67e92 fx2lafw: Implemented firmware upload 2012-02-27 21:58:25 +00:00
Joel Holdsworth cdfdd71101 fx2lafw: Renamed fx2lafw_dev to ctx in hw_dev_info_get 2012-02-27 21:58:25 +00:00
Joel Holdsworth 90282c82bc fx2lafw: Renamed fx2lafw_dev to ctx in hw_init 2012-02-27 21:58:25 +00:00
Joel Holdsworth cac0bbaafd fx2lafw: Renamed dev_insts variable in hw_init 2012-02-27 21:58:25 +00:00
Joel Holdsworth aae2fed675 fx2lafw: Implemented hw_get_status 2012-02-25 11:11:44 +00:00
Joel Holdsworth 8b35f47483 fx2lafw: Exposed capabilities data 2012-02-25 11:11:44 +00:00
Joel Holdsworth 187b358232 fx2lafw: Added probing for fx2lafw devices 2012-02-25 11:11:29 +00:00
Joel Holdsworth f302a08256 fx2lafw: Added empty hardware module for fx2lafw 2012-02-25 09:11:53 +00:00
Uwe Hermann 04254c3f83 sr: la8: Improve comments and messages a bit. 2012-02-23 22:16:16 +01:00
Uwe Hermann 47671b0f26 sr: la8: Remove some unneeded checks. 2012-02-23 00:27:12 +01:00
Uwe Hermann ea9cfed7a5 sr: Consistent ctx name for per-dev-inst context. 2012-02-18 18:07:42 +01:00
Uwe Hermann 6b3dfec8de sr: Fix incorrectly renamed functions. 2012-02-18 12:25:43 +01:00
Uwe Hermann ee61b340da sr: Remove unneeded temp. variable use. 2012-02-18 12:16:49 +01:00
Uwe Hermann a9a245b428 sr: s/config_set/dev_config_set/.
This functions is per-device-instance, so use dev_ as prefix as with
the other ones.
2012-02-18 12:11:15 +01:00
Uwe Hermann 69040b7c8f sr: s/acquisition_*/dev_acquisition_*/.
These functions are per-device-instance, so use dev_ as prefix as with
the other ones.
2012-02-18 12:03:49 +01:00
Uwe Hermann e7eb703fff sr: opendev/closedev -> dev_open/dev_close. 2012-02-18 11:57:43 +01:00
Uwe Hermann 8105505d06 sr: s/st*_acquisition/acquisition_st*/. 2012-02-18 11:46:51 +01:00
Uwe Hermann 5097b0d091 sr/cli/gtk/qt: s/get_dev_info/dev_info_get/. 2012-02-18 11:41:21 +01:00
Uwe Hermann a7d05fcb38 sr/cli/gtk/qt: s/configuration/config/. 2012-02-18 00:31:35 +01:00
Uwe Hermann ffedd0bf5d sr/cli/gtk: s/capability/hwcap/. 2012-02-18 00:17:18 +01:00
Uwe Hermann 1d9a8a5fe1 sr/cli/gtk: A few more s/instance/inst/. 2012-02-17 23:55:27 +01:00
Uwe Hermann bb7ef79377 sr/cli/gtk/qt: s/device/dev/ in many places.
Also, a few s/instance/inst/ occurences.
2012-02-17 23:47:00 +01:00
Uwe Hermann d68e2d1a21 sr: Some more s/device_instance/dev_inst/. 2012-02-17 22:40:51 +01:00
Uwe Hermann 7b48d6e104 sr: Prefix log messages with subsystem string. 2012-02-17 22:40:51 +01:00
Bert Vermeulen 9fc6aa0a56 sr: la8: remove debug output when no device is found 2012-02-14 13:18:17 +01:00
Bert Vermeulen 341ce41545 sr: don't free driver-specific per-device struct in drivers
sr_dev_inst_free() takes care of that.
2012-02-14 12:26:22 +01:00
Bert Vermeulen da1466d677 sr: rename more functions to sr_thing_action format
Also improved the interface to find capabilities in a hardware plugin.
2012-02-14 00:23:51 +01:00
Bert Vermeulen d3683c42e7 sr: rename all sr_device_instance_* functions to sr_dev_inst_* 2012-02-13 22:45:49 +01:00
Uwe Hermann 57ab7d9f92 sr: cleanup callback: Return int. 2012-02-13 19:49:01 +01:00
Uwe Hermann 3010f21c91 sr: stop_acquisition callback: Return int. 2012-02-13 19:49:00 +01:00
Bert Vermeulen c73d2ea421 sr: adjust copyright year 2012-02-13 14:31:51 +01:00
Uwe Hermann 133a37bfba Use g_try_malloc/g_free/g_strdup consistently.
Avoid plain malloc()/free() in sr/srd, especially in the API calls.
Also avoid g_malloc*() in favor of g_try_malloc*().

Use g_strdup() instead of strdup() so that we can use g_free()
consistently everywhere.

Exceptions: Stuff that is allocated via other libs (not using glib),
should also be properly free'd using the respective free-ing function
(instead of g_free()). Examples: Stuff allocated by libusb, libftdi, etc.

Also, use sr_err() instead of sr_warn() for actual errors. sr_warn() is
meant for non-fatal/uncritical warnings.
2012-02-11 22:34:16 +01:00
Uwe Hermann cd853ff0b2 sr: chronovu-la8: Add missing <stdlib.h> #include. 2012-02-11 00:39:25 +01:00
Uwe Hermann 8c4b600393 sr: asix: Change a free() to g_free() as it should be.
This also fixes a compiler warning (on FreeBSD at least).
2012-02-11 00:38:48 +01:00
Uwe Hermann bf3f06c9c2 sr: MinGW/Mac: No libusb_detach_kernel_driver() support. 2012-02-11 00:20:23 +01:00
Uwe Hermann d38cd6c1f6 sr: saleae: Fix typo. 2012-02-07 23:56:33 +01:00
Uwe Hermann 003f9bebf9 sr: saleae: Support more recent firmwares. 2012-02-07 23:56:33 +01:00
Uwe Hermann 0f8522bf74 Project-wide consistent naming for #include guards.
Document the naming scheme in HACKING.
2012-02-05 15:05:13 +01:00
Uwe Hermann 5c64390e5a sr/cli/gtk: Remove analog left-overs from API.
This will come back in some form or another later, but for now
don't clutter the API with non-working stuff. Removing stuff from APIs
is not possible without breaking the API, adding stuff later is simpler.
2012-02-05 15:05:12 +01:00
Uwe Hermann e7ee300a12 sr: zeroplus: Drop unused global variable. 2012-02-05 13:37:02 +01:00
Uwe Hermann 3d2efd7d15 sr: Compile fix for Windows/MinGW. 2012-02-05 13:36:03 +01:00
Uwe Hermann ca070ed9a0 sr: Make more symbols private via static/SR_PRIV.
Additional zeroplus fixes:

 - Remove unneeded function prototypes from .h files.

 - Remove unused variables and/or use standard libusb #defines instead.

 - Remove unused GL_* error code #defines.
2012-02-02 21:46:10 +01:00
Uwe Hermann 185ae2c5c9 sr: zeroplus: Remove unused gl_open()/gl_close().
Merge the missing function calls into zeroplus.c's init functions.
2012-02-02 21:46:10 +01:00
Uwe Hermann 1a081ca67d sr: Mark API functions with SR_API/SR_PRIV.
Use SR_API to mark public API symbols, and SR_PRIV for private symbols.

Variables and functions marked 'static' are private already and don't
need SR_PRIV. However, functions which are not static (because they need
to be used in other libsigrok-internal files) but are also not meant to
be part of the public libsigrok API, must use SR_PRIV.

This uses the 'visibility' feature of gcc (requires gcc >= 4.0).

Details: http://gcc.gnu.org/wiki/Visibility
2012-02-02 00:03:17 +01:00
Bert Vermeulen 0146970797 sr: remove unused time/duration fields from datafeed packets 2012-02-01 02:59:41 +01:00
Uwe Hermann 69890f7399 sr: Eliminate usb/serial instances from API.
The API should be generic and only provide sr_device_instance_new() and
friends, but not sr_usb_device_instance_new(), sr_serial_device_instance_new(),
or others for other device types we may have in the future. The
frontends shouldn't have to know or care about this implementation detail.

This also fixes the problem that parts of sigrok.h contained
'#ifdef HAVE_LIBUSB_1_0' and such, which is even less desirable for the API.

The usb/serial instance specifics are now private, and each driver that
needs them keeps a pointer in its driver-specific context.
2012-01-31 02:04:35 +01:00
Uwe Hermann c31e9ef49b sr: zp: Add missing <string.h> #include. 2012-01-31 01:54:08 +01:00
Uwe Hermann bf43ea2317 sr: zeroplus: Use device-specific context.
Make the zeroplus driver use a "struct zp" with per-device-instance
data (such as samplerate, trigger settings, and so on), like the other
drivers do.

Also, add a few more error checks.
2012-01-29 19:19:38 +01:00
Uwe Hermann ae32d7d759 sr: la8: Fix typo. 2012-01-29 19:19:38 +01:00
Uwe Hermann 73017cf914 sr: zeroplus: Fix a segfault. 2012-01-28 23:29:28 +01:00
Uwe Hermann a4cfb10f7f sr: Drop analog left-overs from sigrok.h.
For now, there's no analog/scope support in sigrok yet (will be added
later), so remove any such items from the public API (sigrok.h).

Having '#if defined(HAVE_LA_ALSA)' in sigrok.h is a bug anyway, the API
must not have anything device-dependent in general, and sigrok.h
specifically must not have any #ifdefs for specific hardware.
2012-01-28 19:23:09 +01:00
Anatoly Sokolov a141db8c4a add SR_HWCAP_DEMO_DEVICE capability 2012-01-21 15:56:29 +01:00
Renato Caldas f020a99773 link-mso19: Fixed led toggling (the bit masking was not being proprly done). 2012-01-19 11:12:01 +00:00
Renato Caldas e084a8042e link-mso19: Prevent double free errors when freeing sdi->priv. 2012-01-19 11:12:01 +00:00
Renato Caldas 357285a944 link-mso19: Add debug messages. 2012-01-19 11:12:01 +00:00
Renato Caldas a29360733d link-mso19: Properly initialize the protocol trigger block 2012-01-19 11:12:01 +00:00
Renato Caldas a84671913e link-mso19: Added new register definitions and renamed variables to reflect new findings. 2012-01-19 11:12:01 +00:00
Renato Caldas 80aa5f23d1 link-mso19: Added struct definitions for the pattern generator config and the protocol trigger config. 2012-01-19 11:12:01 +00:00
Uwe Hermann 42eb54fb62 mso-19: Fix whitespace. 2012-01-06 01:05:55 +01:00
Renato Caldas d88b939324 link-mso19: fixed segmentation fault. 2012-01-06 01:01:57 +01:00
Renato Caldas e42ef08dba link-mso19: Updated to the current structs (fixed compilation). 2012-01-06 01:01:54 +01:00
Uwe Hermann db8ae7b941 sr/srd: Remove/fix non-applicable autotools stuff. 2011-12-30 11:14:24 +01:00
Uwe Hermann c37d2b1ba1 probe names: Fix cosmetics, add docs, fix off-by-one. 2011-12-29 19:50:14 +01:00
Kristoffer Sjöberg 464d12c72a Move the probe naming to the creator of the device, and let each driver name its own probes. 2011-12-29 17:04:31 +01:00
Uwe Hermann b7f09cf86d libsigrok: Fix #includes.
In the lib, we should only #include "sigrok.h" or "sigrok-internal.h",
but not the (possibly installed and thus different/older versions) via
<sigrok.h> or <sigrok-internal.h>.

Frontends should of course use <sigrok.h> and <sigrok-internal.h>.
2011-12-28 23:07:08 +01:00
Uwe Hermann a0ecd83bc6 Make more variables/functions static and non-global.
The 'GSList *devices' from device.c was actually really global (i.e.,
listed in sigrok.h), which is now fixed.
2011-12-28 22:55:21 +01:00
Uwe Hermann 25a605d187 libsigrok: Quickfix for a segfault in ChronoVu LA8. 2011-12-04 18:33:29 +01:00
Uwe Hermann cb93f8a927 Other method to avoid "unused var" compiler warnings.
The '(void)varname' method is nicer than 'varname = varname' and also
prevents warnings when compiling sigrok with clang instead of gcc.
2011-11-24 22:57:48 +01:00
Uwe Hermann cc8a7d250c Add missing #includes to avoid clang warnings. 2011-11-24 22:42:02 +01:00
Bert Vermeulen e7bad06355 la8: device not found during init() scan is not an error
fix some hardware plugin semantics
2011-11-20 03:19:06 +01:00
Gareth McMullin 4d436e71ba Changed SR_T_NULL to SR_T_BOOL and adjusted RLE option. 2011-11-19 13:41:41 +13:00
Uwe Hermann 6bb5c5fadf Consistently use __func__ instead of __FUNCTION__.
The __func__ form is standardized and more portable.
2011-11-17 23:47:45 +01:00
Uwe Hermann a562c3a2e5 libsigrok: Use sr_err() et al instead of printf. 2011-11-17 23:47:45 +01:00
Uwe Hermann 719c5a934c Fix some compiler warnings. 2011-11-15 21:05:40 +01:00
Gareth McMullin 7583b99dbb OLS: Calculate actual sample rate used. 2011-10-31 11:19:10 +01:00
Uwe Hermann baf1d71477 ols: Minor whitespace and coding style fixes. 2011-10-30 02:10:32 +02:00
Gareth McMullin 3a4d09c0de Run-Length Encoding support for the OLS. 2011-10-30 01:56:54 +02:00
Gareth McMullin 221304219e Prevent reading past end of OLS hardware buffer. 2011-10-30 01:56:40 +02:00
Jerry 9a75102313 Mac OS X build fixes 2011-06-20 23:43:44 +02:00
Bert Vermeulen a634574eae saleae-logic: fix timing on packets when triggering is used 2011-06-20 11:43:34 +02:00
Bert Vermeulen 9c939c5132 use new datafeed packet format 2011-06-19 14:28:50 +02:00
Bert Vermeulen 6d754b6d3a support for multiple FX2 devices 2011-06-12 18:04:19 +02:00
Bert Vermeulen e53c830f33 saleae-logic: use new logging system 2011-06-05 02:08:08 +02:00
Bert Vermeulen e10d6e32e4 saleae-logic: support for other FX2 devices (bare FX2)
This enables support for devices that have a different VID/PID
than the Saleae Logic, and yet another after firmware upload.

After firmware upload is checked every 100ms whether it came back,
instead of always waiting for 2 seconds.

If the kernel attaches a driver to a device we know, detact it first.
2011-06-05 01:57:54 +02:00
Bert Vermeulen 8722c31e26 better cleanup of device/plugin resources 2011-06-05 01:51:49 +02:00
Uwe Hermann 896a19fd65 LA8: Remove trailing whitespace. 2011-05-09 01:04:44 +02:00
Uwe Hermann d1175d5f7e LA8: Use sr_spew() where appropriate. 2011-05-09 01:03:27 +02:00
Uwe Hermann f36cbf60cb LA8: Improve trigger support and debug output. 2011-05-09 01:03:27 +02:00
Uwe Hermann a76983fd20 LA8: Eliminate magic numbers. 2011-05-09 00:59:05 +02:00
Uwe Hermann 4d7b525ae9 LA8: Add trigger point support.
Report trigger point/position via SR_DF_TRIGGER packet.
2011-05-09 00:59:05 +02:00
Uwe Hermann 5a9660dd4e demo: Use memset(), might be faster. 2011-05-09 00:59:05 +02:00
Uwe Hermann c03ed39733 demo: Add all-low/all-high pattern support.
Also, improve error handling a bit.
2011-05-09 00:59:04 +02:00
Uwe Hermann c8f4624d9b demo: s/genmode/pattern/. 2011-05-05 13:06:15 +02:00
Uwe Hermann 0d31276b05 demo: Rename GENMODE_DEFAULT to GENMODE_SIGROK.
Also, add (Doxygen) comments for the currently supported patterns that
the demo device/driver can generate.
2011-05-05 13:06:15 +02:00
Uwe Hermann 68c12597ef demo: Eliminate unneeded tmp_u64. 2011-05-05 13:06:15 +02:00
Uwe Hermann d3b1b51cbe LA8: Free memory from g_*alloc*() via g_freee(). 2011-05-05 13:06:14 +02:00
Uwe Hermann 340cfac0f0 log messages: Use device name, not vendor name.
There can be multiple devices from the same vendor, obviously.
2011-05-05 13:06:14 +02:00
Uwe Hermann 697785d1ae libsigrok: closedev() now has a return code.
This is useful to allow frontends to react upon close failures in a
way they see fit (e.g. a popup in the GUI, or error message in the CLI).
They can also still ignore the error if they want, of course.
2011-05-05 13:06:14 +02:00
Uwe Hermann 548b08e55c Drop unneeded skeleton files.
They're not too useful as they mostly consist of a list of function names,
and that list is already available in the respective struct. The wiki
API docs and the code in the various hardware/output drivers serve as
useful examples already, no need for additional files.
2011-05-05 13:06:12 +02:00
Uwe Hermann 86f5e3d826 libsigrok: Rename open/close to opendev/closedev. 2011-05-05 13:06:11 +02:00
Uwe Hermann 6f42226475 demo: Add some more debug output. 2011-05-02 01:40:16 +02:00
Uwe Hermann 4362438f1e LA8: Shrink mangled_buf from 8MB to 4KB.
It's not necessary to have an 8MB buffer. Also, make it static, don't
use malloc() here.
2011-04-25 00:21:41 +02:00
Uwe Hermann da0918aae0 ASIX: Small consistency fixes. 2011-04-25 00:21:40 +02:00
Uwe Hermann 4bc5fd4568 LA8: Eliminate unused num_probes variable. 2011-04-25 00:21:40 +02:00
Uwe Hermann 309397702f LA8: Replace some sr_warn() with sr_err(). 2011-04-25 00:21:40 +02:00
Uwe Hermann ecaf59db8d LA8: probeconfig/trigger support.
This should make proper trigger support work for ChronoVu LA8.
2011-04-25 00:21:39 +02:00
Uwe Hermann 4af22da595 Fix two small warnings. 2011-04-19 00:27:29 +02:00
Uwe Hermann e519ba8645 Hardware drivers: Use names for struct entries. 2011-04-19 00:18:06 +02:00
Uwe Hermann c0a4b9716d ols: Always use glib's memory allocation functions. 2011-04-19 00:18:05 +02:00
Uwe Hermann ecad043fd0 MSO19: Always use glib's memory allocation functions. 2011-04-19 00:18:05 +02:00
Uwe Hermann 27a3a6fe4b demo: Always use glib's memory allocation functions. 2011-04-16 18:08:18 +02:00
Uwe Hermann c548332c21 serial.c: Use g_try_malloc(). 2011-04-16 18:08:18 +02:00
Uwe Hermann 12ad53f5a6 ASIX Sigma: Improve error handling a bit. 2011-04-16 18:08:18 +02:00
Uwe Hermann 92b3101cfc alsa: Always use glib's memory allocation functions. 2011-04-16 18:08:17 +02:00
Uwe Hermann 2e82a17b5a LA8: Always use glib's memory allocation functions. 2011-04-16 18:08:17 +02:00
Uwe Hermann b53738baf7 Replace g_malloc{0,} with g_try_malloc{0,}.
The g_malloc()/g_malloc0() versions exit/segfault if not enough memory
is available, which is not a good thing in libsigrok.

Instead, we use the g_try_malloc()/g_try_malloc0() variants, which
return NULL if not enough memory is available, so that the caller can
handle the error properly.
2011-04-16 18:08:15 +02:00
Uwe Hermann 15f2d0c0f2 Don't close/reset the FTDI device too often.
Only call la8_close_usb_reset_sequencer() in hw_closedev(), it's not
needed in hw_stop_acquisition().

Thanks Ken Mobley of ChronoVu for the report.
2011-04-15 20:47:26 +02:00
Uwe Hermann 2f5c8c9696 LA8: free() sample buffers in hw_closedev().
Thanks Ken Mobley of ChronoVu for the report.
2011-04-15 20:05:45 +02:00
Uwe Hermann b08024a836 libsigrok: Introduce sr_dbg/sr_info/sr_warn/sr_err.
We should use these (internal) functions in libsigrok exclusively from
now on, i.e. no more use of glib's g_debug() etc.

These functions are only for libsigrok, the frontends use whatever
logging mechanism is suitable there.
2011-04-14 10:11:08 +02:00
Uwe Hermann 8703f512a7 LA8: Use the new SR_ERR_ARG macro. 2011-04-10 23:03:33 +02:00
Uwe Hermann f4314d7e06 Add initial support for the ChronoVu LA8. 2011-04-04 19:40:30 +02:00
Uwe Hermann 8a7b47cdfa Revert temporary changes for 0.2 release. 2011-04-03 23:18:46 +02:00
Uwe Hermann 2f3aab0ee9 Disable some stuff which should not be in 0.2.
Disable decoders, disable lib building.
2011-04-03 22:47:51 +02:00
Bert Vermeulen 4fe9a6da79 OLS driver overhaul
support for metadata in recent versions of the FPGA code
moved constants and structs out to separate header file
got rid of all device instance-specific globals
2011-04-03 06:18:05 +02:00
Uwe Hermann 82957b65b1 ASIX Sigma: Fix firmware loading bug.
When no firmware file is found, return the right error code so sigrok
doesn't continue running with no firmware loaded.

Thanks Martin Stensgård <mastensg@ping.uio.no> for the patch!
2011-03-25 13:44:16 +01:00
Uwe Hermann c91404191e Add SR_HZ macro for consistency. 2011-03-03 20:24:24 +01:00
Uwe Hermann 59df0c77e2 Add SR_ prefix to the KHZ/MHZ/GHZ macros. 2011-03-03 20:24:24 +01:00
Uwe Hermann 4cea9eb20d Make ARRAY_SIZE/ARRAY_AND_SIZE private.
This is not libsigrok-specific and should not be part of our API.
2011-02-20 21:16:26 +01:00
Uwe Hermann 54ac5277c5 Constify some more 'char *' parameters. 2011-02-20 21:16:26 +01:00
Uwe Hermann 809c5f2011 Add sr_ prefix for analog stuff some structs. 2011-02-20 21:16:24 +01:00
Uwe Hermann 6f1be0a2d4 Add sr_ prefix to session_{add,remove}. 2011-02-20 21:16:22 +01:00
Uwe Hermann 29cbfeaf5c Mark some private stuff 'static'. 2011-02-20 21:16:20 +01:00
Bert Vermeulen 4bfbf9fce7 demo: forgot second part of samplerate support 2011-02-12 06:14:37 +01:00
Uwe Hermann e5d1717e6d Saleae: Make more private stuff static. 2011-02-09 00:07:29 +01:00
Uwe Hermann 60679b18e6 Add sr_ prefix to 'struct samplerates'. 2011-02-08 22:28:01 +01:00
Uwe Hermann 8a2efef2d5 Add sr_ prefix to session related API functions. 2011-02-08 22:28:00 +01:00
Uwe Hermann 1afe89897c Add sr_ prefix for 'struct probe'. 2011-02-08 22:27:58 +01:00
Uwe Hermann 3bbd9849e9 Fix warnings: g_fopen() needs <glib/gstdio.h>. 2011-02-06 02:14:57 +01:00
Uwe Hermann 868d8cefec Use glib's g_fopen() instead of fopen(). 2011-02-05 20:03:17 +01:00
Uwe Hermann 45fdfa307d MinGW: Use "b" in all fopen() calls.
This is required for proper operation on Windows/MinGW, and doesn't
affect other OSes, most POSIX systems simply ignore the "b".
2011-02-04 23:52:16 +01:00
Uwe Hermann 0f33365007 Revert FIRMWARE_DIR / DECODERS_DIR method for now.
There were several issues with the other method, revert for now.
2011-02-04 20:38:20 +01:00
Bert Vermeulen d81d29333e demo: support setting sample rate 2011-02-04 06:29:41 +01:00
Bert Vermeulen 904e0b589e ols: default to 200KHz samplerate 2011-02-04 06:29:41 +01:00
Uwe Hermann a9f54bcd7b MinGW: Build fixes. 2011-02-02 13:13:26 +01:00
Uwe Hermann 22b0238344 Fix build when no libusb-LA is compiled.
Until now the build would break if the user doesn't enable at least one
of the libusb1.0-based LAs. I.e., you could not compile only OLS, or
only the demo driver.
2011-02-02 10:25:52 +01:00
Bert Vermeulen cddd1c5f47 demo: stored-pattern generator now keeps state 2011-02-01 06:51:34 +01:00
Uwe Hermann 5a2326a71b SR_ prefix for all public enums. 2011-01-30 18:32:59 +01:00
Uwe Hermann 6c29007211 Prefixes for *_device_instance. 2011-01-30 18:32:59 +01:00
Uwe Hermann 5c2d46d1db Prefix device structs with sr_. 2011-01-30 18:32:58 +01:00
Uwe Hermann 9f8274a544 Add a field for the full name of a device.
Also, show this long/full name in 'sigrok-cli -V'.
2011-01-30 18:32:58 +01:00
Uwe Hermann b9c735a275 Prefix datafeed structs with sr_. 2011-01-30 18:32:57 +01:00
Uwe Hermann d32d961d17 get_sr_device_instance() -> sr_get_device_instance(). 2011-01-30 18:32:56 +01:00
Uwe Hermann a00ba01228 Change all sigrok_ prefixes to sr_. 2011-01-30 18:32:55 +01:00
Uwe Hermann e46b8fb154 Change SIGROK_ prefix to SR_. 2011-01-30 18:32:53 +01:00
Uwe Hermann da69237321 Build fix. 2011-01-23 18:21:58 +01:00
Bert Vermeulen 108a5bfbba fix compile warning on 32-bit platforms 2011-01-23 05:32:37 +01:00
Bert Vermeulen 070befcd1c restore demo driver to working state 2011-01-23 05:32:13 +01:00
Daniel Ribeiro cdbc51d97d alsa: hide a few compiler warnings 2011-01-22 12:24:12 -02:00
Daniel Ribeiro 58330ab892 finish alsa driver implementation
Yes, it works now.
2011-01-22 12:24:12 -02:00
Bert Vermeulen 6ea7e23526 Revert "re-enable filter and datastore for DF_LOGIC"
This reverts commit 23da86dfc0a89c7ab951fea31a318a493830eb69.
2011-01-22 14:18:31 +01:00
Daniel Ribeiro 921a4c741f fix copynpaste glitch 2011-01-22 01:01:53 -02:00
Daniel Ribeiro 6ed4f04437 initial version of alsa plugin.
It does NOT work yet.
2011-01-22 00:57:27 -02:00
Daniel Ribeiro cfd8b10a2e alphabetical order 2011-01-21 22:02:32 -02:00
Uwe Hermann 5819184b22 Remove duplicate FIRMWARE_DIR includes.
We use AC_DEFINE_UNQUOTED in configure.ac now to put the FIRMWARE_DIR #define
in the config.h file, which is included where we need the #define.
2011-01-21 21:14:37 +01:00
Daniel Ribeiro 62eeeb171b re-enable filter and datastore for DF_LOGIC
This definitely isn't the proper fix, but it should allow DF_LOGIC
and DF_ANALOG to coexist.
2011-01-21 18:04:09 -02:00
Daniel Ribeiro 8038e90aef add a sine wave to demo.c 2011-01-21 12:52:12 -02:00
Daniel Ribeiro 764f887f7b change demo.c to output analog packets
You need to #define DEMO_ANALOG to generate DF_ANALOG packets.
2011-01-21 02:12:48 -02:00
Uwe Hermann bffed4fc10 Re-enable stuff we temporarily disabled for 0.1. 2011-01-20 00:43:57 +01:00
Uwe Hermann 07c81bfad1 Disable Link Instruments MSO-19 for 0.1. 2011-01-19 23:55:03 +01:00
Uwe Hermann 26ce0bbfd8 demo: Small indentation fix. 2011-01-19 23:47:21 +01:00
Håvard Espeland 1924f59f4b Demo: Obery samplerate and fix race condition. 2011-01-19 23:14:17 +01:00
Bert Vermeulen 576790ff7b disable MSO-19 specific stuff for 0.1 release 2011-01-19 22:58:09 +01:00
Uwe Hermann 058b70353d Move more non-public headers to sigrok-internal.h. 2011-01-19 01:16:19 +01:00
Uwe Hermann 01bd1ed396 Fix compiler warning. 2011-01-19 00:46:54 +01:00
Håvard Espeland 94ba4bd689 Sigma: Update set_configuration to reflect API. 2011-01-18 23:12:57 +01:00
Håvard Espeland 7c70c53843 Sigma: Set default samplerate to 200 KHz. 2011-01-18 22:39:46 +01:00
Håvard Espeland 5b5ea7c6d2 Sigma: Only send trigger packet if enabled.
The Sigma hardware emits a default trigger event.
2011-01-18 22:24:23 +01:00
Håvard Espeland abda62ced8 Sigma: Never send empty packets. 2011-01-18 22:17:43 +01:00
Bert Vermeulen b9cc36296b demo driver: support time limit 2011-01-17 02:20:52 +01:00
Bert Vermeulen 574ce4988a refuse to set sample limit under 4 (protocol can't handle it)
also a bit of whitespace mangling.
2011-01-17 02:18:02 +01:00
Håvard Espeland 88c51afe87 Sigma: Support for decoding partial chunks.
Samples are stored in chunks and the last samples do not fill up
a complete chunk. This patch adds support for decoding partial
chunks.
2011-01-16 17:05:14 +01:00
Uwe Hermann 10c471ab13 Fix warnings. 2011-01-16 14:18:26 +01:00
Uwe Hermann d35aaf0256 demo: Use GIOChannels, makes it work on MinGW. 2011-01-16 14:12:52 +01:00
Håvard Espeland 98b8cbc17e Sigma: Limit number of edge triggers to 1.
Actually, Sigma supports 2 rising/falling triggers,
but they are ORed and the current trigger syntax
does not permit ORed triggers.
2011-01-15 20:01:00 +01:00
Håvard Espeland 31facdd3c5 Sigma: Download samples from partial chunks. 2011-01-15 19:20:31 +01:00
Håvard Espeland 9996570987 Sigma: Move sigma state to device specific struct
Thanks to Daniel Ribeiro for contributing this patch. Some
modifications were done.

Not tested on multiple Sigmas, because of lack of hardware.
2011-01-15 17:04:21 +01:00
Uwe Hermann 1483577eed Start moving private stuff to sigrok-internal.h.
This is work-in-progress, unfinished.
2011-01-15 15:57:54 +01:00
Uwe Hermann c2bd92ec08 Slightly more consistent #include-guard naming. 2011-01-15 14:48:21 +01:00
Bert Vermeulen 917e0e71d5 added example code for generating a stored pattern 2011-01-15 14:28:39 +01:00
Håvard Espeland 9be9893eed Sigma: Check state in hw_closedev
If the device is closed without previously running hw_openedev
the driver crashes (happens in cleanup). This patch checks
if the device has been opened.
2011-01-15 14:13:23 +01:00
Uwe Hermann 02440dd88c demo: Cosmetics, constify. 2011-01-15 13:06:04 +01:00
Bert Vermeulen e15f48c268 cleaned up demo driver
removed unused samplerate
added patternmode (random and incremental)
2011-01-15 05:12:41 +01:00
Uwe Hermann 63570167d6 Cosmetics for the -D output. 2011-01-15 03:44:19 +01:00
Uwe Hermann 17e1afcb81 Whitespace and consistency fixes.
Also, drop a <poll.h> #include. It's unused anyway, and breaks the build
on MinGW/Windows as there is no poll.h there.
2011-01-13 23:52:25 +01:00
Uwe Hermann 2119ab0364 MinGW/Windows: Serial port portability fixes.
Add serial_read()/serial_write() which have different implementations on
MinGW/Windows.

Add some more error code handling and documentation.
2011-01-12 01:09:31 +01:00
Olivier Fauchon ba3d481bb7 add ontinuous mode for demo driver 2011-01-12 00:25:15 +01:00
Uwe Hermann a61b0e6a35 configure: Add --enable-demo option. 2011-01-11 22:17:33 +01:00
Uwe Hermann 1fdb75e145 MinGW: Quickfix to make serial.c/ols.c compile.
Note: It does NOT actually work, yet, it only compiles!
2011-01-11 01:27:16 +01:00
Bert Vermeulen 74b9b43836 cli: support --continuous option for continuous sampling 2011-01-11 00:38:15 +01:00
Uwe Hermann 8a839354c1 Cosmetics, whitespace, consistency fixes. 2011-01-10 23:20:37 +01:00
Uwe Hermann fc96e6f8c8 demo: Add missing copyright line. 2011-01-10 22:49:38 +01:00
Daniel Ribeiro 01cf881494 Add incomplete mso-19 plugin
* Both Analog and Logic capture works.
* Analog values are raw ADC, still useless.
* Triggers aren't implemented.
* Pattern Generator not implemented.
* Everything is broken. :)
2011-01-10 15:15:51 -02:00
Daniel Ribeiro c2616fb9fa update plugins and cli to use new DF_HEADER 2011-01-10 15:12:38 -02:00
Daniel Ribeiro ac4a2ea45a serial.c: fix parity != none
The flag write was wrong
2011-01-10 15:05:14 -02:00
Daniel Ribeiro 1ff7712c93 Finish serial_set_params implementation
Adds the most common baud rates and support bits, parity, stopbits
and flocontrol settings.
2011-01-10 02:21:07 -02:00
Bert Vermeulen 4c046c6bcc change all DF_LOGIC* to a single DF_LOGIC type
The datafeed packet has a new field 'unitsize' to denote the number of
bytes per sample in the payload.
2011-01-09 06:32:38 +01:00
Uwe Hermann af812219f6 Only build specific source files if needed. 2011-01-08 20:58:44 +01:00
Uwe Hermann 7c17ac6cc4 Only build hardware drivers if they're enabled. 2011-01-08 20:58:43 +01:00
Uwe Hermann 5096c6a6c1 demo driver: Small cleanups, error handling. 2011-01-08 20:58:42 +01:00
Uwe Hermann 85b5af0687 Make the demo driver work.
When initialized, the driver starts a thread that generates signal data.
This data is written to a pipe (write file descriptor).
The other end of the pipe (read file descriptor), is connected to the
main polling code, like any other driver.

Note: This patch adds a new dependency on libgthread.

At the moment, you can list the driver's device:

$ ./cli/sigrok-cli -D
The following devices were found:
ID  Device
0   Sigrok project Demo Driver v1.0 with 8 probes

And use it for random signal generation:

$ /opt/sigrok/bin/sigrok-cli -d 0 --samples 50 -f bits -p 1-8
sigrok 0.1pre2
Acquisition with 8/8 probes at 0 Hz
1:10111100 11010110 00001011 00011110 00111010 11110100 10
2:11010110 00111111 01001010 11111101 11010011 00010010 11
3:11000101 01000001 10100011 10100100 10110000 11110011 00
4:00100111 11110100 10011101 01100111 00100101 01001110 10
5:00011100 00101100 10111000 11001101 01011101 01011011 01
6:10110101 10111110 10010110 10111000 11011010 10000100 11
7:11111111 01001111 11110110 11010010 10000101 01001111 00
8:01000101 01111110 01010111 00000111 00010010 00000101 11

The next step is to make demo driver customisable (per-probe signal clock,
reference sample signals : serial, I2C, CAN...).

Thanks Olivier Fauchon <olivier@aixmarseille.com> for the patch.
2011-01-08 18:29:10 +01:00
Uwe Hermann 5e2ddeb098 Fix two more compiler warnings noticed on amd64. 2011-01-08 03:51:31 +01:00
Uwe Hermann 340f6e7aea Fix out-of-tree build.
Use libtool "noinst" local helper libs and use one Makefile.am per
subdir, which is the usual/preferred method. These helper libraries are
purely local and will not be installed.

This also fixes out-of-tree builds of sigrok, i.e. building in a
directory other than the sigrok source directory, e.g.

 $ cd /home/user
 $ git clone ...sigrok
 $ cd sigrok
 $ ./autogen.sh
 $ mkdir /tmp/foo
 $ cd /tmp/foo
 $ /home/user/sigrok/configure
 $ make
 $ make install

This will place all build results (.o files, .la files, etc) in the
local build directory (/tmp/foo) instead of the source directory
(/home/user/sigrok in this example). The installation directory is
selected via the --prefix configure option (/usr/local per default).
2011-01-08 03:32:25 +01:00
Uwe Hermann 6239c175c1 Initial, unfinished demo/simulation hardware driver. 2011-01-06 19:16:47 +01:00
Bert Vermeulen e6ac9ac808 consistent debug msgs, rename sump to ols 2010-12-29 00:02:30 +01:00
Bert Vermeulen a5e18535ad don't turn on/off libusb debugging 2010-12-27 23:49:46 +01:00
Bert Vermeulen f0551a6543 oops, fix serial_flush() 2010-08-12 06:04:44 +02:00
Bert Vermeulen 06d64eb880 add serial_flush() 2010-08-12 06:02:25 +02:00
Bert Vermeulen a143e4e5dd don't push configuration to device until acq time 2010-08-12 04:57:09 +02:00
Bert Vermeulen f0d1b53e56 OLS: fix multi-channel capture 2010-08-11 18:37:09 +02:00
Bert Vermeulen edc508d49c add debug logging (set SIGROK_DEBUG=2 to see) 2010-08-11 04:04:20 +02:00
Bert Vermeulen a803c0db4d OLS: fix triggers, sample order, capture ratio 2010-08-05 03:54:33 +02:00
Bert Vermeulen b5698bd71e saleae logic: fix triggers after style changes 2010-07-18 21:57:27 +02:00
Uwe Hermann 38ba252251 Use 'kHz' (not 'KHz') consistently. 2010-05-27 01:51:55 +02:00
Uwe Hermann 5013f07422 skeleton.c: Update to latest prototypes. 2010-05-20 23:41:34 +02:00
Bert Vermeulen 2458ea6514 use flexible sample limit specification (k/m/g)
HWCAP_LIMIT_SAMPLES is now passed to the driver as *uint64
2010-05-19 21:34:22 +02:00
Uwe Hermann 989938f6cd Cosmetics: Reduce nesting level a bit. 2010-05-18 00:05:10 +02:00
Uwe Hermann 9a5c6dcf49 Factor out opendev2/opendev3. 2010-05-18 00:05:10 +02:00
Uwe Hermann 5e59f47615 opendev2/opendev3: Don't depend on global vars. 2010-05-18 00:05:09 +02:00
Uwe Hermann 28fc6de055 Cosmetics. 2010-05-18 00:05:09 +02:00
Peter Stuge 5b15b41e62 sump/ols: Wait 10ms for hw response to make pl2303 reliable 2010-05-09 23:11:08 +02:00
Peter Stuge 71dda10656 serial: Remove unneccesary nesting 2010-05-09 23:10:23 +02:00
Håvard Espeland bdfc7a8974 Sigma: Small cleanups. 2010-05-03 22:01:03 +02:00
Håvard Espeland 36b1c8e61b Sigma: Use software trigger to pinpoint exact sample. 2010-05-03 21:32:03 +02:00
Håvard Espeland 6aac77375b Sigma: Add state machine for tracking Sigma status. 2010-05-03 19:04:10 +02:00
Håvard Espeland a42aec7f6e Sigma: Merge storage of rise/fall triggers. 2010-05-03 15:06:43 +02:00
Håvard Espeland 4ae1f45136 Sigma: Minor cleanups. 2010-05-02 21:59:14 +02:00
Håvard Espeland 11fc8d9d93 Sigma: Set capture ratio correctly. 2010-05-02 21:59:14 +02:00
Håvard Espeland c53d793f03 Sigma: 50 MHZ falling/rising edge trigger support.
Falling/rising edge and value/mask triggers can be combined, e.g.:
  --triggers 1=0,2=r,3=1,4=1
2010-05-02 16:32:24 +02:00
Håvard Espeland f758d0744d Sigma: Fix simple trigger LUT calculation. 2010-05-02 13:00:41 +02:00
Håvard Espeland ee492173a1 Sigma: Value/mask trigger support in 50 MHz mode. 2010-05-01 23:16:27 +02:00
Håvard Espeland eec5275e2f Sigma: Small cleanups. 2010-05-01 23:16:18 +02:00
Uwe Hermann e65679b15e Saleae: Rename firmware file to saleae-logic.fw.
This is done for consistency with the ASIX SIGMA firmware file names,
and also for brevity.
2010-05-01 02:41:37 +02:00
Håvard Espeland 57bbf56b84 Sigma: Add triggers support for 100 and 200 MHz. 2010-05-01 00:00:57 +02:00
Håvard Espeland ed09fd07f7 Sigma: Minor cleanup and add more samplesrates. 2010-04-30 23:54:14 +02:00
Uwe Hermann 9ddb2a125d Sigma: Small cosmetic fixes. 2010-04-29 00:32:44 +02:00
Håvard Espeland edca2c5c22 Sigma: Support for low samplerates
Lowest samplerate supported in driver is 250 KHz
2010-04-28 22:45:13 +02:00
Håvard Espeland f78898e947 Sigma: Support 50 and 200 MHz modes 2010-04-28 21:24:41 +02:00
Håvard Espeland a8116d764b Sigma: Rename firmware files 2010-04-28 21:20:27 +02:00
Håvard Espeland e8397563a2 Sigma: Upload 50, 100 or 200 MHz firmware 2010-04-28 20:01:15 +02:00
Håvard Espeland f6564c8d19 Sigma: Move upload firmware into a function 2010-04-28 19:51:13 +02:00
Uwe Hermann fefa18001a ASIX SIGMA: Coding style fixes (via indent mostly).
Also, end all/most comments with full stop and avoid variable/array
definitions in the middle of functions.
2010-04-28 00:17:28 +02:00
Uwe Hermann 204b1629bd asix-sigma.h: Add missing license header. 2010-04-27 22:46:59 +02:00
Uwe Hermann 911f18341b ASIX Sigma: Use common license header format. 2010-04-27 22:44:15 +02:00
Håvard Espeland 28a35d8ab3 This commit adds initial support for the Asix Sigma Logic Analyzer. Currently, only 200 MHz is supported, and only with software trigger. Firmware for the device will be distributed separately, with permission from the vendor.
Signed-off-by: Håvard Espeland <gus@ping.uio.no>
2010-04-27 13:16:01 -07:00
Uwe Hermann 926b866cb6 Win: Fix compile, serial port code (unfinished). 2010-04-22 03:39:02 +02:00
Bert Vermeulen eee4890f2f fix broken samplerate calculation 2010-04-17 23:11:58 -07:00
Bert Vermeulen 9c48090a88 fix double DF_END and libusb timeout 2010-04-17 23:11:57 -07:00
Uwe Hermann 9a4988343f Oops, bugfixes. 2010-04-15 23:24:44 +02:00
Uwe Hermann 408e719989 Refactoring and code simplifications. 2010-04-15 23:21:30 +02:00
Uwe Hermann fed16f06e2 Saleae/Zeroplus: Coding style fixes. 2010-04-15 22:59:43 +02:00
Uwe Hermann 43fc7885d3 OLS: Coding style fixes. 2010-04-15 22:16:35 +02:00
Uwe Hermann 986f7270bf hardware/common: Coding style fixes. 2010-04-15 20:55:57 +02:00
Uwe Hermann fdd20b5239 Add ARRAY_SIZE helper. 2010-04-13 00:34:20 +02:00
Uwe Hermann afc8e4deb6 Fix all warnings and re-enable -Wextra. 2010-04-09 22:18:46 +02:00
Uwe Hermann 86c5e27908 zeroplus: Fix compiler warnings. 2010-04-09 21:20:22 +02:00
Uwe Hermann 08cfe6a2b7 Factor out trigger_helper() to reduce nesting. 2010-04-09 21:16:11 +02:00
Uwe Hermann edf60d0575 Factor out common ezusb_upload_firmware(). 2010-04-09 20:44:51 +02:00
Uwe Hermann 9d2933fbe9 ezusb.c: Coding style fixes. 2010-04-09 20:36:29 +02:00
Uwe Hermann 904299164f sl_open_device(): Refactoring to reduce nesting. 2010-04-09 20:31:43 +02:00
Uwe Hermann f6958dabcd Simplify code by reducing nesting level. 2010-04-09 19:25:29 +02:00
Uwe Hermann 6f5f21f996 Coding style fixes, aided by 'indent'.
The following shell alias can be used:

  alias INDENT='indent -npro -kr -i8 -ts8 -sob -l80 -ss -ncs'
2010-04-09 19:04:36 +02:00
Bert Vermeulen d02a535e05 move posix-specific serial port comms to serial.c 2010-04-09 05:15:27 +02:00
Bert Vermeulen 54dc4bc703 switch to SIGROK_ERR 2010-04-08 16:58:07 +02:00
Bert Vermeulen 6937bb757e various fixes, basic acquisition works 2010-04-08 16:54:06 +02:00
Bert Vermeulen 54b38f64aa use strdup() instead of g_strdup() 2010-04-08 16:50:27 +02:00
Uwe Hermann e31b636df6 Start unification of libsigrok return codes.
We have SIGROK_OK for functions calls where no errors occured. All
error code names start with SIGROK_ERR and are globally unique,
negative values.

The value SIGROK_ERR is a generic/unspecified error code, all others,
such as SIGROK_ERR_MALLOC, refer to a specific error condition.

This commit renames the old SIGROK_NOK etc.
2010-04-05 18:30:14 +02:00
Uwe Hermann 4c100f3244 More consistent spelling of "samplerate". 2010-04-05 18:30:02 +02:00
Uwe Hermann a1bb33afbd Start of code base layout restructuring. 2010-04-02 20:27:54 +02:00