Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
This requires the PD to have a tuple in its class called 'binary',
which contains a list of strings describing the different binary
classes it can output. For the SPI decoder this might be 'MOSI' and
'MISO', for example.
The data is submitted to the frontend as struct srd_proto_data_binary,
which contains the class that data belongs to.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This replaces the Decoder.add() method with Decoder.register().
The first argument is still output type, but all arguments are now
optional:
Decoder.register(output_type,
id='someid',
meta=(object-type, 'Name', 'Description'))
'id' defaults to the protocol decoder instance id, and only needs changing
if a decoder chain needs to fork.
'object-type' refers to a Python object, such as int or str.
After registering, the PD submits data as usual with Decoder.put(), with
the only argument a value of the registered object-type.
|
|
struct srd_proto_data was supposed to be independent of the output
type, but a field specific to annotations snuck in there.
|
|
|
|
This better reflects what it is: a python object generated and
processed by python code.
|
|
srd_session_config_set() is now called srd_session_metadata_set(), and
SRD_CONF_NUM_PROBES and SRD_CONF_UNITSIZE are dropped.
|
|
|
|
|
|
The SRD_CONF_NUM_PROBES metadata key was removed. It wasn't actually
used for anything, since this is trivially available via the configured
(or default) probe list.
The SRD_CONF_UNITSIZE key was removed. The unit size is instead derived
from the probe list: the number of probes packed into the least amount
of space possible defines the unit size.
PD changes:
* The start() method no longer takes a 'metadata' parameter.
* Metadata now comes in only via the metadata() method, which takes
a key and value. The only key defined so far is SRD_CONF_SAMPLERATE,
which is exported into the module namespace.
API changes:
* srd_session_send() now takes an end_samplenum parameter, and had its
options rearranged.
* srd_session_config_set() is now srd_session_metadata_set(). This keeps
"config" options for a future feature to allow PDs or frontends to
configure each other's options on the fly, up and down the stack.
|
|
|
|
This PD tries to guess / detect / estimate a bitrate of e.g. some
UART communication snippet or other protocols.
|
|
This also fixes some unit tests that were previously failing.
|
|
|
|
This will be increased again at some later point.
|
|
Some of these also fix unit tests that were previously failing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This uses the Check unit testing framework, just like libsigrok.
For now, only a few very basic unit tests are included.
Invocation:
make check
|
|
|
|
The struct srd_session also holds configuration parameters formerly
passed to srd_session_start().
The new call srd_session_new() takes a pointer where a newly allocated
pointer to struct srd_session will be stored. This pointer must be
passed as the first argument to all functions that require it.
The SRD_CONF_NUM_PROBES, SRD_CONF_UNITSIZE and SRD_CONF_SAMPLERATE
keys must be configured with srd_config_set() before srd_session_start()
is called.
A new call srd_session_destroy() is also available. This cleans up all
resources the session holds. This is also called from srd_exit() for
all sessions.
|
|
|
|
|
|
This stacks of top of the 'i2s' decoder and outputs the audio data to
file (or stdout) in various formats. Currently only WAV is supported.
This is work in progress, it has various hard-coded assumptions.
|
|
This fixes (the remaining parts of) bug #168.
|
|
This fixes parts of bug #168.
|
|
This fixes (parts of) bug #163.
|
|
This fixes (parts of) bug #163.
|
|
|
|
|
|
This fixes (parts of) bug #163.
|
|
The usb_signalling PD should not care about packets, only symbols and bits.
The new (fixed) usb_packet PD constructs packets out of individual bits now.
|
|
Restructure the PD into a state machine, output individual packet
components as separate annotations, define a protocol output format and
implement it (so that other PDs can stack on top of this one), and fix
various other isses in the PD.
|