Commit Graph

292 Commits

Author SHA1 Message Date
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