SQ50 patches for libsigrok
Go to file
Daniel Elstner e0df15d436 sysclk-lwla: Simplify and optimize word extraction.
It turns out that all LWLA protocol responses consist either
of 32-bit units or of 32-bit units combined into 64-bit units.
Thus it makes sense to double the basic unit size for reading
from 16 bit to 32 bit.
We cannot do the same for command messages though, as those
actually do use 16-bit quantities in some places, and 32-bit
arguments are not always aligned to 32-bit boundaries.

(acquisition_state.xfer_buf_in): Change unit type to uint32_t,
and update related macros and code accordingly.
(LWLA_TO_UINT32): New macro to replace LWLA_READ32, operating
directly on 32-bit values instead of pointers to 16-bit units.
Make use of a compiler-recognized idiom for bitwise rotation
to efficiently swap the 16-bit halves of a 32-bit word.
(LWLA_TO_UINT16): New macro to replace LWLA_READ16.
(LWLA_READ64): Remove unused macro.
(LWLA_WORD_[0123]): Slightly simplify 16-bit word extraction.
2014-01-28 23:34:53 +01:00
bindings python: Use OrderedDict for input formats. 2013-12-17 16:29:41 +00:00
contrib add udev rule for the Rigol DS2000 series 2014-01-14 22:58:48 +01:00
hardware sysclk-lwla: Simplify and optimize word extraction. 2014-01-28 23:34:53 +01:00
input log prefixes: Cosmetics, consistency fixes, typo fixes. 2013-12-27 13:17:20 +01:00
output output/csv: Drop last separators as needed. 2014-01-23 23:11:34 +01:00
tests tests: Fix a few warnings. 2014-01-17 20:49:45 +01:00
.gitignore .gitignore: Add some files from the testsuite. 2013-08-05 13:19:21 +02:00
AUTHORS autotools: Don't use "foreign" option. 2013-03-17 13:15:56 +01:00
COPYING sr/srd: Move some files to their resp. dirs. 2011-12-30 11:14:05 +01:00
Doxyfile Doxyfile/Doxyfile_internal: Ignore doxy/* when creating docs. 2013-12-27 15:50:27 +01:00
Doxyfile_internal Doxyfile/Doxyfile_internal: Ignore doxy/* when creating docs. 2013-12-27 15:50:27 +01:00
HACKING HACKING: Updates, some additions. 2013-11-04 01:14:56 +01:00
Makefile.am Makefile.am: Add missing HACKING file. 2013-09-25 14:26:35 +02:00
NEWS NEWS: Update for upcoming 0.2.2 release. 2013-11-04 01:24:49 +01:00
README Bump minimum libusb version to 1.0.16 2013-12-19 10:45:36 +01:00
README.devices Add support for the Tenma 72-7750 (UNI-T UT60G rebadge). 2014-01-06 20:30:35 +01:00
autogen.sh GPL headers: Use correct project name. 2013-04-23 22:24:30 +02:00
backend.c Doxygen fixes: Hide private stuff, document some structs. 2013-12-27 16:18:28 +01:00
configure.ac configure: add -Wmissing-prototypes compiler option 2014-01-14 23:39:23 +01:00
device.c hwdriver: Introduce sr_config_commit() API call. 2014-01-20 14:16:32 +01:00
error.c error.c: Add SR_ERR_PROBE_GROUP handling. 2013-11-11 07:53:52 +01:00
filter.c Centralise duplicated logging helper defines. 2013-12-27 12:54:05 +01:00
hwdriver.c hwdriver: Change TRIGGER_SLOPE setting to string type. 2014-01-27 20:55:01 +01:00
libsigrok-internal.h hwdriver: Introduce sr_config_commit() API call. 2014-01-20 14:16:32 +01:00
libsigrok.h hwdriver: Introduce sr_config_commit() API call. 2014-01-20 14:16:32 +01:00
libsigrok.pc.in Always link against the math library. 2013-05-10 21:46:30 +02:00
log.c Centralise duplicated logging helper defines. 2013-12-27 12:54:05 +01:00
proto.h hwdriver: Introduce sr_config_commit() API call. 2014-01-20 14:16:32 +01:00
session.c session: Auto-commit settings before acquisition. 2014-01-21 13:09:51 +01:00
session_driver.c Properly publish samplerate when loading session file. 2014-01-25 12:44:00 +01:00
session_file.c sr file format: Bump version to 2. 2014-01-23 23:34:48 +01:00
std.c std: Fix caller prefix output. 2014-01-21 14:03:27 +01:00
strutil.c strutil: Add function to parse floating point numbers while ignoring the locale. 2014-01-16 16:27:35 +01:00
version.c GPL headers: Use correct project name. 2013-04-23 22:24:30 +02:00
version.h.in GPL headers: Use correct project name. 2013-04-23 22:24:30 +02:00

README

-------------------------------------------------------------------------------
README
-------------------------------------------------------------------------------

The sigrok project aims at creating a portable, cross-platform,
Free/Libre/Open-Source signal analysis software suite that supports various
device types (such as logic analyzers, oscilloscopes, multimeters, and more).

libsigrok is a shared library written in C which provides the basic API
for talking to hardware and reading/writing the acquired data into various
input/output file formats.


Status
------

libsigrok is in a usable state and has had official tarball releases.

While the API can change from release to release, this will always be
properly documented and reflected in the package version number and
in the shared library / libtool / .so-file version numbers.

However, there are _NO_ guarantees at all for stable APIs in git snapshots!
Distro packagers should only use released tarballs (no git snapshots).


Requirements
------------

 - git
 - gcc (>= 4.0)
 - make
 - autoconf >= 2.63
 - automake >= 1.11
 - libtool
 - pkg-config >= 0.22
 - libglib >= 2.32.0
 - libzip >= 0.10
 - libserialport >= 0.1.0 (optional, used by some drivers)
 - libusb-1.0 >= 1.0.16 (optional, used by some drivers)
 - libftdi >= 0.16 (optional, used by some drivers)
 - libudev >= 151 (optional, used by some drivers)
 - libasound / alsa-lib >= 1.0 (optional, only used by the alsa driver)
 - check >= 0.9.4 (optional, only needed to run unit tests)


Building and installing
-----------------------

In order to get the libsigrok source code and build it, run:

 $ git clone git://sigrok.org/libsigrok
 $ cd libsigrok
 $ ./autogen.sh
 $ ./configure
 $ make

For installing libsigrok:

 $ make install

See INSTALL or the following wiki page for more (OS-specific) instructions:

 http://sigrok.org/wiki/Building


Device-specific issues
----------------------

Please check README.devices for some notes and hints about device- or
driver-specific issues to be aware of.


Firmware
--------

Some devices supported by libsigrok need a firmware to be uploaded before the
device can be used. See README.devices for details.


Copyright and license
---------------------

libsigrok is licensed under the terms of the GNU General Public License
(GPL), version 3 or later.

While some individual source code files are licensed under the GPLv2+, and
some files are licensed under the GPLv3+, this doesn't change the fact that
the library as a whole is licensed under the terms of the GPLv3+.

Please see the individual source files for the full list of copyright holders.


Mailing lists
-------------

There are two mailing lists for sigrok/libsigrok:

 https://lists.sourceforge.net/lists/listinfo/sigrok-devel
 https://lists.sourceforge.net/lists/listinfo/sigrok-commits


IRC
---

You can find the sigrok developers in the #sigrok IRC channel on Freenode.


Website
-------

 http://sigrok.org/wiki/Libsigrok