From: Uwe Hermann Date: Thu, 12 Sep 2013 19:22:09 +0000 (+0200) Subject: spi: Add some documentation, move OUTPUT_PROTO docs. X-Git-Tag: libsigrokdecode-0.3.0~313 X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff_plain;h=0702e0cf5a0577122c4008007151b6c3d798b0fb spi: Add some documentation, move OUTPUT_PROTO docs. 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. --- diff --git a/decoders/spi/__init__.py b/decoders/spi/__init__.py index 7527913..582891a 100644 --- a/decoders/spi/__init__.py +++ b/decoders/spi/__init__.py @@ -21,27 +21,13 @@ ''' Serial Peripheral Interface protocol decoder. -Details: -TODO - -Protocol output format: - -SPI packet: -[, , ] - -Commands: - - 'DATA': contains the MISO data, contains the MOSI data. - The data is _usually_ 8 bits (but can also be fewer or more bits). - Both data items are Python numbers, not strings. - - 'CS CHANGE': is the old CS# pin value, is the new value. - Both data items are Python numbers (0/1), not strings. - -Examples: - ['CS-CHANGE', 1, 0] - ['DATA', 0xff, 0x3a] - ['DATA', 0x65, 0x00] - ['CS-CHANGE', 0, 1] +This protocol decoder supports synchronous SPI(-like) protocols with a +clock line, a MISO and MOSI line for data transfer in two directions, +and an optional CS# pin. +If CS# is supplied, data is only decoded when CS# is asserted (clock +transitions where CS# is not asserted are ignored). If CS# is not supplied, +data is decoded on every clock transition (depending on SPI mode). ''' from .pd import * diff --git a/decoders/spi/pd.py b/decoders/spi/pd.py index b6c96bc..7e4a1e5 100644 --- a/decoders/spi/pd.py +++ b/decoders/spi/pd.py @@ -23,6 +23,26 @@ import sigrokdecode as srd +''' +Protocol output format: + +SPI packet: +[, , ] + +Commands: + - 'DATA': contains the MISO data, contains the MOSI data. + The data is _usually_ 8 bits (but can also be fewer or more bits). + Both data items are Python numbers, not strings. + - 'CS CHANGE': is the old CS# pin value, is the new value. + Both data items are Python numbers (0/1), not strings. + +Examples: + ['CS-CHANGE', 1, 0] + ['DATA', 0xff, 0x3a] + ['DATA', 0x65, 0x00] + ['CS-CHANGE', 0, 1] +''' + # Key: (CPOL, CPHA). Value: SPI mode. # Clock polarity (CPOL) = 0/1: Clock is low/high when inactive. # Clock phase (CPHA) = 0/1: Data is valid on the leading/trailing clock edge.