Age | Commit message (Collapse) | Author |
|
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.
|
|
There will be further PDs that are stacked on top of usb_packet.
|
|
Also, add missing output for some packet types.
|
|
|
|
|
|
This needs a few more fixes later, but it's a start.
|
|
|
|
This also simplifies the PD code a bit.
|
|
|
|
This fixes bug #147.
|
|
|
|
This fixes (the remaining parts of) bug #162.
|
|
|
|
|
|
This fixes parts of bug #162.
|
|
This supports a certain number of MIDI messages already, but not yet all
of them. More will be added later.
|
|
|
|
|
|
|
|
After a Start of Packet (SOP) has been detected, "sample" the individual
USB symbolѕ/bits in the middle of the respective bittime (depending on
whether full-speed or low-speed signalling is used).
This fixes various incorrectly decoded cases (bug #158).
|
|
|
|
|
|
This makes the decoder suitable for GUI usage.
This fixes bug #155.
|
|
The parity check for certain DCF77 fields/bits was incorrect. It has to be
an even parity over bits 36-58. This is fixed now.
This fixes bug #157.
|
|
|
|
|
|
|
|
The PON pin is specific to the Pollin "DCF1 module", but has nothing to
do with DCF77 itself. Thus, drop it from this PD. It can be part of
another stacked PD if needed.
This fixes bug #153.
|
|
|
|
|
|
This fixes bug #154.
|
|
This (unimplemented so far) option is not needed at all, since the
decoder will be able to detect 7/10 bit slave addresses automatically,
the user doesn't have to specify slave address sizes.
|
|
|
|
|
|
|
|
The output format of the slave address is now a PD option. It can be
"shifted" or "unshifted", i.e. bit 0 (which contains a read/write
marker) is either shifted out or not, i.e., the slave address is
displayed as 8bit or 7bit number (or 11bit/10bit number for 10bit slave
addresses).
Data bytes (not address bytes) are always shown as 8bit values, of course.
Add annotation types for the individual I2C components such as
start conditions, stop conditions, ACK/NACK, address read/writes,
data read/writes and so on.
This fixes bug #151.
|
|
Add a short help text for the PD and move the OUTPUT_PROTO docs to pd.py
since they're not meant for the user too see.
|
|
The CS# pin is now optional, it can either be supplied to the PD or not.
If it _is_ supplied, reset the PD state every time it changes. This has
the effect that "incomplete" SPI frames and those where CS# is not
asserted are ignored and not decoded.
This fixes bug #152.
|
|
|
|
For now SPI gets the following annotation types:
- MISO/MOSI SPI data
- MISO SPI data
- MOSI SPI data
(i.e. you can see either MISO, or MOSI, or both; the latter is most
useful for CLI usage)
Also, show the hex values as e.g. F5 (upper-case letters, no "0x" prefix).
|
|
This now makes the SPI decoder suitable for use in GUIs.
This fixes bug #150.
|
|
The data format can be specified via the PD's "format" option now, it is
no longer an annotation type.
Also, add and use two annotation types: "Data" and "Warnings".
|
|
This allows GUIs to show different fields in different colors.
|
|
There is one annotation type for the RX side of the communication/data
output now, and another one for the TX side.
This allows GUIs to show them in two different traces, and/or show them in
the same trace but with different colors.
This also has the additional benefit that it is clear which databyte
belongs to which direction. Previously the annotations had to look like
"RX: 5F" or "TX: 11001011", but the "RX: " and "TX: " prefixes are now
no longer required, making the GUI traces (and CLI output too) much more
readable.
|
|
Until now you could get e.g. "d" or "df" as hex output from the UART PD.
This will now be a common-length "0D" and "DF". When all data byte
annotations are of the same lengths the readability in GUI traces is a lot
better. Also, hardcode hex characters to be upper-case (for now).
The same applies to oct ("021" instead of "21") and bin output
("00001001" instead of "1001").
|
|
There are now extra annotation types for data, start/stop/parity bits and
for warnings (e.g. "invalid parity" or "frame error" or such).
This allows users to select which of the annotation types they want to
see (they can select one/multiple/all annotations as needed), and also
allows them to use different visual representation for the different
annotation types in GUIs (e.g. different colors for the blobs, different
fonts, rectangle/round/elliptic blobs, and so on; how the annotation
blobs are displayed is entirely up to the GUI and its configuration by
the user).
|
|
This is information that a user (when viewing PD info in a GUI/CLI)
should not see (and doesn't care to see), it is meant for developers only.
Thus, make it a comment in pd.py instead.
|
|
Move the full details of the protocol to the wiki, the docs in the PD
itself should only be a short description and/or a collection of notes
that could be useful for a user in a GUI (or CLI) to decide which
PD to select, which options to set how, what PDs to stack where, and so on.
The full protocol description (including photos, examples, ...) is here:
http://sigrok.org/wiki/Protocol_decoder:Uart
|