Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
This is work in progress, but it already works partially, and can be used
for actual decodes of some commands.
This PD stacks on top of the SPI protocol decoder.
|
|
|
|
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:
onewire_link -> onewire_network -> <specificdevice>
Examples:
onewire_link -> onewire_network -> maxim_ds28ea00 (special thermometer)
onewire_link -> onewire_network -> maxim_ds2431 (1kbit EEPROM)
onewire_link -> onewire_network -> maxim_ds2417 (RTC)
onewire_link -> onewire_network -> maxim_ds2762 (battery monitor)
onewire_link -> onewire_network -> maxim_ds1961s (SHA-1 eCash iButton)
and so on...
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.
|
|
|
|
|
|
The new 'usb_signalling' and the 'usb_protocol' PD which stacks on top
of it, replace the old 'usb' 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.
|
|
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.
|
|
This PD stacks on top of the UART protocol decoder, and ouputs the
decoded UART data in the "canonical" format, one byte after the other
without any metadata (start bits, stop bits, parity bits, errors) and
without any sample-numbers and such. This is basically what you would
see in a terminal program, such as minicom.
Per default it outputs to stdout, but using the 'filename' option
and/or the 'filename_rx'/'filename_tx' options it can also output to
files.
Using the 'tx' and 'rx' options you can also select whether both, or
only one of the data direction's data should be output.
Example:
sigrok-cli -i foo.sr \
-a uart:rx=0:tx=1,uart_dump:rx=no:tx=yes:filename=foo.txt \
-s uart,uart_dump
This PD is just an experiment for now, it's possible that it will be
replaced / reimplemented via a different sigrok facility later on.
|
|
|
|
|
|
|
|
(not yet finished)
This protocol decoder can decode ST STM32 specific JTAG accesses, knows
about the STM32-specific registers and bits.
|
|
This is unfinished, needs some more work.
|
|
Not quite finished yet, but relatively close.
|
|
This is unfinished and not tested, and probably not really working, yet.
|
|
|
|
|
|
The i2cdemux protocol decoder is the more generic version of the
obsolete ebr30a_i2c_demux decoder, and should be able (now or later) to do
everything that ebr30a_i2c_demux can do.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Works quite well already, but not all details of the protocol are
implemented, yet.
|
|
|
|
This is just a first prototype implementation, it's not finished at all.
|
|
The DDC decoder takes input from the I2C PD.
|
|
Work in progress, not yet fully functional.
|
|
Works with any baudrate, number of bits, parity types, number of stop
bits and so on, in theory. Not all options are fully implemented or
tested though. Various TODOs remain.
|
|
|
|
|
|
The .py decoder files are not technically scripts and should not be
executable and can not be invoked on the command line
(via ./foo.py --help or similar).
|
|
Use $(datadir)/sigrok/decoders as subdirectory for the protocol decoders
(instead of installing them in the top-level $(datadir)/sigrok), just
as we do for $(datadir)/sigrok/firmware.
|
|
|