Bert Vermeulen [Tue, 19 Mar 2013 00:47:53 +0000 (01:47 +0100)]
use GVariant for passing decoder options and probes
Decoder options are now exposed in struct srd_decoder, via a GSList
of the new struct srd_decoder_option. The 'def' field represents
the default value as set in the decoder, converted to GVariant. This
allows a library user to determine the type as well as default value.
Uwe Hermann [Sun, 17 Mar 2013 12:21:35 +0000 (13:21 +0100)]
configure.ac: Drop std-options, unneeded.
The automake 'std-options' option checks whether all installed tools
and scripts have a --help and --version CLI option. This check is not
needed for libsigrokdecode though, since it doesn't install any tools.
Uwe Hermann [Sun, 20 Jan 2013 23:50:14 +0000 (00:50 +0100)]
Update libtool version numbers for libsigrokdecode.
The last release of libsigrokdecode (package version number 0.1.0) had the
initial libtool version numbers (current:revision:age) of 0:0:0.
The upcoming release (0.1.1) is API-compatible with 0.1.0 and can be used
as drop-in replacement. Programs linked against 0.1.0 do not need to
be recompiled or relinked.
As per the libtool guidelines this release only increments the
libtool "revision" number. The new libtool version numbers
(current:revision:age) are thus 0:1:0.
See here for details:
http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
Uwe Hermann [Sun, 20 Jan 2013 20:46:42 +0000 (21:46 +0100)]
Minor autotools improvements.
- Don't use "foreign" option for automake. Without this automake will
perform some additional sanity checks e.g. on missing files. It will also
now add the usual INSTALL file which documents the configure options etc.
- Add AUTHORS file.
- Add 'check-news' automake option, which will abort 'make dist' if
the NEWS file doesn't list the current (to be released) package
version at the top (i.e., if we forget to update NEWS).
Uwe Hermann [Wed, 21 Nov 2012 21:43:02 +0000 (22:43 +0100)]
All PDs: Name the files pd.py consistently.
The Python module name is determined by the directory name (e.g. dcf77),
the *.py file names in that directory don't matter and can be kept
consistent.
Uwe Hermann [Sat, 21 Jul 2012 19:58:20 +0000 (21:58 +0200)]
srd: onewire_link: Annotations shouldn't be ALLCAPS.
While states in the PD should be ALLCAPS per guidelines (for
consistency), the annotations that a PD outputs (and are shown in a
console via sigrok-cli or in a GUI) should be "normal" human-readable
text/formatting usually, i.e. not ALLCAPS.
Uwe Hermann [Sat, 21 Jul 2012 18:37:41 +0000 (20:37 +0200)]
srd: Rename onewire_transport to maxim_ds28ea00.
It doesn't make sense to have one "generic" onewire_transport PD, as
this layer is very much device-specific and such a generic PD would
have to contain an accumulation of all possible features and commands
and handling code of all existing (now and in the future) 1-Wire
devices, which is neither possible nor useful nor elegant.
There are (for example) 1-Wire thermometers, RTCs, EEPROMs,
special-purpose security chips with passwords/keys, battery monitoring
chips, and many many others. They all have a different set of features,
commands and command codes, RAM areas/sizes/partitioning/contents,
protocols, and so on.
Thus, the layering for 1-Wire PD stacks should look like this:
So, renaming onewire_transport to maxim_ds28ea00. The non-DS28EA00
specific code will be dropped and/or moved to other PDs on top of
onewire_network later.
Uwe Hermann [Sat, 21 Jul 2012 17:16:16 +0000 (19:16 +0200)]
srd: onewire_link/network: Fix annotations, small cleanups.
The annotation types are 'Text' and 'Warnings', not 'Link' etc. as the
annotations of the onewire_link PD (for example) are already clearly
from the link layer. The annotation types should be different things/formats
of a specific PD's annotation output instead (like "Celsius" / "Kelvin"
for some temperature sensor, for example).
Uwe Hermann [Wed, 11 Jul 2012 20:19:31 +0000 (22:19 +0200)]
srd: Performance improvements for various PDs.
Ignore/skip identical samples in most (low-level) PDs, as we're usually
(but not necessarily always) only interested in pin changes.
This yields a significant performance improvement for the PDs.
The mechanism was already used in the 'i2s', 'jtag', and 'lpc' PDs, but not
yet in all supported low-level decoders. The following PDs now also use
this mechanism: 'dcf77', 'i2c', 'spi', 'uart', and 'usb_signalling'.
Thanks Lars-Peter Clausen <redacted> for bringing this to our
attention.
Uwe Hermann [Thu, 28 Jun 2012 19:43:12 +0000 (21:43 +0200)]
srd: i2cfilter: Output actual I2C packets.
Change this PD from an I2C->databytes converter/filter to an actual
pure I2C filter in the sense that both input and output is a valid I2C
protocol stream.
Also, change the EDID decoder accordingly, to use the new i2cfilter
output.
Uwe Hermann [Wed, 27 Jun 2012 18:02:25 +0000 (20:02 +0200)]
srd: Add National LM75 protocol decoder.
This shall support the original National LM75 I2C-based temperature sensor,
as well as various compatible devices of other vendors, such as the
Fairchild FM75, Dallas DS75, and so on.
Currently only 9bit resolution is supported, and not all commands are
decoded, yet. The register contents and temperatures are decoded
correctly though, and can be output in both Celsius and Kelvin.
Uwe Hermann [Tue, 19 Jun 2012 15:29:18 +0000 (17:29 +0200)]
srd: Split USB decoder in two PDs (which stack).
The 'usb_signalling' decoder just decodes symbols from D+/D- levels,
handles bit stuffing and outputs the symbols and (potential) packets.
The 'usb_protocol' decoder takes that output and tried to parse USB
packets from it (SOF, SETUP, IN, OUT, DATA0, and so on).
This is the base decoder on top of which various others will stack
later on.
The two new PDs are work in progress, so we still keep the old 'usb' PD
around for a little while, until the two new ones are fully working and
well-tested.
Uwe Hermann [Fri, 15 Jun 2012 13:21:06 +0000 (15:21 +0200)]
srd: usb: Add long description of the PIDs.
Also, add missing ones which are mentioned in the USB spec. However, not
all may be relevant for LS/FS signalling. But they're still useful to
have in the table, so we can output warnings like
"Warning: HS PID encountered, but device is FS???"