summaryrefslogtreecommitdiff
path: root/decoders/uart
AgeCommit message (Collapse)Author
2014-01-28All PDs: Improve/fix descriptions.Uwe Hermann
2014-01-23uart: Add binaryout/dump support, drop obsolete 'uart_dump' PD.Uwe Hermann
The functionality of the preliminary 'uart_dump' PD is now available in the proper 'uart' PD, via the OUTPUT_BINARY mechanism that frontends can use to dump decoded data (in various formats) to a file, or pipe it into other applications, and so on. Old sigrok-cli example usage: $ sigrok-cli -i foo.sr -P uart:rx=0:tx=1,uart_dump:filename=bootlog.txt New sigrok-cli example usage: $ sigrok-cli -i foo.sr -P uart:rx=0:tx=1 -B uart=rxtx > bootlog.txt New sigrok-cli example usage (piping into other applications): $ sigrok-cli -i foo.sr -P uart:rx=0:tx=1 -B uart=rxtx | grep "whatever"
2013-12-03uart: Display non-ASCII characters properly.Uwe Hermann
We use the [XX] notation for non-printable characters, which is what various other logic analyzer software packages do too, e.g. the CWAV USBee Suite. This fixes bug #201.
2013-11-27Automate protocol decoder installation.Bert Vermeulen
This automatically figures out the files to install for each protocol decoder, without involving autotools. All python files (filenames ending in .py) are always installed. If a protocol decoder requires installation of a non-python file, a small file called 'config' can be created in that protocol decoder's directory, with the following content: # comments are ok extra-install vendorlist.txt commands.txt
2013-11-15Drop obsolete report() method.Bert Vermeulen
2013-11-15Use the new Decoder.register() APIBert Vermeulen
2013-11-07Rename inter-PD output type to SRD_OUTPUT_PYTHONBert Vermeulen
This better reflects what it is: a python object generated and processed by python code.
2013-10-30Receive samplerate via metadata(), not start()Bert Vermeulen
2013-09-12uart: Output data in separate RX and TX annotation types.Uwe Hermann
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.
2013-09-12uart: Use same length for data output in all cases.Uwe Hermann
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").
2013-09-12uart: Put annotations into proper annotation types.Uwe Hermann
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).
2013-09-12uart: Move OUTPUT_PROTO format description to pd.py.Uwe Hermann
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.
2013-09-12uart: Drop extensive protocol info (moved to wiki).Uwe Hermann
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
2013-09-12uart: Make data format selection a PD option.Uwe Hermann
Until now we (ab)used annotation types for outputting the same data (numbers) in different formats (hex, ascii, binary, and so on). Turn this into a proper PD option, since annotation types should rather be used for different _types_ of annotations (e.g. "CRC", "Stop bit", "Preamble", "Sequence counter", "Warnings", and similar things), not different _formats_ for the same annotation type. Old sigrok-cli invocation for hex output: sigrok-cli ... -P uart:rx=0:tx=1 -A uart=hex New: sigrok-cli ... -P uart:rx=0:tx=1:format=hex In GUIs there is now a new "Data format" option where the user can select the output format for UART data (default is 'ascii').
2013-09-12uart: Use T for stop bit, P for parity bit.Uwe Hermann
The short(est) annotations for "Stop bit" and "Parity bit" have both been "P" until now, which is confusing for users (on certain zoom levels in GUIs). Use "T" for stop bits now instead.
2013-09-12uart: Don't prefix databyte output numbers.Uwe Hermann
Previously the output was 0x41 or 0o101 or 0b1000001, now it is 41 or 101 or 1000001. We drop these prefixes, since they decrease the readability of the PD output (especially when displayed in GUIs) and are not needed anyway since the user knowingly selected the number format before running the respective PD.
2013-09-12uart: Fix corner-case that can occur with LA triggers.Uwe Hermann
Assume that the initial pin state is 1/high for the RX and TX lines. This fixes the decode when an LA triggers on e.g. TX=low (the first sample would be low in that case, so the falling edge for the start bit would be missed by the decoder).
2013-09-12uart: Fix start-/end-sample numbers.Uwe Hermann
This now makes the UART decoder suitable for use in GUIs. This fixes bug #148.
2013-04-23GPL headers: Use correct project name.Uwe Hermann
2012-11-24Fix bugs in "Invalid state" printing/exceptions.Uwe Hermann
2012-11-24All PDs: Name the files pd.py consistently.Uwe Hermann
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.
2012-08-31srd: uart: Fix regression.Uwe Hermann
Thanks Iztok Jeras <iztok.jeras@gmail.com> for the report.
2012-07-11srd: Performance improvements for various PDs.Uwe Hermann
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 <lars@metafoo.de> for bringing this to our attention.
2012-06-12srd: Cosmetics.Uwe Hermann
2012-05-09srd: Add usable one-liner descriptions for all PDs.Uwe Hermann
2012-03-31srd: Decoders: Fix/simplify samplenum usage.Uwe Hermann
2012-03-28srd: PDs: Kill obsolete 'longdesc' entries.Uwe Hermann
2012-03-04srd: PDs: More cosmetics.Uwe Hermann
2012-03-04srd: PDs: Use strings for states, too.Uwe Hermann
2012-02-01srd: Move all protocol docs to __init__.py files.Uwe Hermann
2012-02-01srd: uart: Use strings for most PD options.Uwe Hermann
2012-02-01srd: uart: Move protocol docs to __init__.py.Uwe Hermann
2012-02-01srd: uart: Add missing initialization.Uwe Hermann
2012-02-01srd: uart: Use strings for packet types.Uwe Hermann
While this has a (small) performance penalty compared to using integers, it has the advantage of not requiring the use of magic numbers which need to be declared in both the UART decoder and all decoders which stack on top of UART.
2012-02-01srd: rename extra_probes to optional_probes in all PDsBert Vermeulen
2012-01-28srd: PDs: Cleanups, simplifications, small fixes.Uwe Hermann
2012-01-25srd: UART: s/parity/parity_type/.Uwe Hermann
2012-01-25srd: All PDs: Various fixes, cosmetics.Uwe Hermann
- List all API methods and metadata variables in all PDs to make things easier and more consistent for new PD writers. - Fix probe assignment in a few PDs. - Raise exceptions upon invalid states of the PD state machines (bug).
2012-01-20srd: UART: Update to new options API.Uwe Hermann
2012-01-15srd: Add 'api_version = 1' to all PDs.Uwe Hermann
2012-01-15srd: Each PD now has its own subdirectory.Uwe Hermann