Protocol decoders
Revision as of 10:53, 17 October 2018 by Stephan Thiele (talk | contribs) (Update progress of LIN-PD)
This is a list of supported protocol decoders (PDs) and decoders which we might want to write in the future (or users might want to contribute).
See Protocol decoder API for details on how the decoders work in sigrok, and Protocol decoder HOWTO for a quick introduction about how to write your own decoders.
Supported protocol decoders
Number of currently supported protocol decoders: 96.
Protocol | Category | Input IDs | Output IDs | Status | Full name | Description |
---|---|---|---|---|---|---|
AC '97 | Audio | — | ac97 | supported | Audio Codec '97 | Audio and modem control for PC systems. |
ADE77xx | Sensors | spi | ade77xx | supported | Analog Devices ADE77xx | Poly phase multifunction energy metering IC protocol. |
ADF435x | RF | spi | adf435x | supported | Analog Devices ADF4350/1 | Wideband synthesizer with integrated VCO. |
ADNS-5020 | Sensors | spi | adns5020 | supported | Avago ADNS-5020 optical mouse sensor | Bidirectional command and data over an SPI-like protocol. |
AM230x/DHTxx/RHTxx | Sensors | — | am230x | supported | Aosong AM230x/DHTxx | Aosong AM230x/DHTxx/RHTxx humidity/temperature sensor protocol. |
ARM ETMv3 | Flash/debug | uart | arm_etmv3 | supported | ARM Embedded Trace Macroblock | Decode ETM instruction trace packets. |
ARM ITM | Flash/debug | uart | arm_itm | supported | ARM Instrumentation Trace Macroblock | Trace data from Cortex-M / ARMv7m ITM module. |
ARM TPIU | Flash/debug | uart | uart | supported | ARM Trace Port Interface Unit | Filter TPIU formatted trace data into separate streams. |
ATSHA204A | Memory | i2c | atsha204a | supported | Microchip ATSHA204A | Microchip ATSHA204A CryptoAuthentication device. |
AUD | Flash/debug | — | aud | supported | Advanced User Debugger | Renesas/Hitachi Advanced User Debugger (AUD) protocol. |
AVR ISP | Flash/debug | spi | avr_isp | supported | AVR in-system programming | Protocol for in-system programming Atmel AVR MCUs. |
AVR PDI | Flash/debug | — | avr_pdi | supported | Atmel Program and Debug Interface | Atmel proprietary interface for the ATxmega MCU. |
CAN | Automotive | — | can | supported | Controller Area Network | Field bus protocol for distributed realtime control. |
CEC | PC | — | cec | supported | HDMI-CEC | HDMI Consumer Electronics Control (CEC) protocol. |
CFP | Networking | mdio | — | supported | 100 Gigabit C form-factor pluggable | 100 Gigabit C form-factor pluggable (CFP) protocol. |
Counter | Misc | — | — | supported | Edge counter | Count number of edges. |
DALI | Lighting | — | dali | supported | Digital Addressable Lighting Interface | DALI lighting control protocol. |
DCF77 | Time signal | — | dcf77 | supported | DCF77 time protocol | European longwave time signal (77.5kHz carrier signal). |
DMX512 | Lighting | — | dmx512 | supported | Digital MultipleX 512 | Professional lighting control protocol. |
DS1307 | RTC | i2c | ds1307 | supported | Dallas DS1307 | Realtime clock module protocol. |
DS243x | Memory | onewire_network | ds243x | supported | Maxim DS2432/DS2433 | Maxim DS243x series 1-Wire EEPROM protocol. |
DSI | Lighting | — | dsi | supported | Digital Serial Interface | DSI lighting control protocol. |
EDID | PC | i2c | edid | supported | Extended Display Identification Data | Data structure describing display device capabilities. |
24xx EEPROM | Memory | i2c | eeprom24xx | supported | 24xx I²C EEPROM | 24xx series I²C EEPROM protocol. |
93Cxx EEPROM | Memory | microwire | eeprom93cxx | supported | 93Cxx Microwire EEPROM | 93Cxx series Microwire EEPROM protocol. |
EM4100 | RFID | — | em4100 | supported | RFID EM4100 | EM4100 100-150kHz RFID protocol. |
EM4305 | RFID | — | em4305 | supported | RFID EM4205/EM4305 | EM4205/EM4305 100-150kHz RFID protocol. |
GPIB | Other | — | gpib | supported | General Purpose Interface Bus | IEEE-488 GPIB / HPIB protocol. |
Gray code | Misc | — | graycode | supported | Gray code and rotary encoder | Accumulate rotary encoder increments, provide timing statistics. |
Guess bitrate | Other | — | guess_bitrate | supported | Guess bitrate/baudrate | Guess the bitrate/baudrate of a UART (or other) protocol. |
I2C | Embedded | — | i2c | supported | Inter-Integrated Circuit | Two-wire, multi-master, serial bus. |
I2C demux | Embedded | i2c | runtime decision | supported | I2C demultiplexer | Demux I2C packets into per-slave-address streams. |
I2C filter | Embedded | i2c | i2c | supported | I2C filter | Filter out addresses/directions in an I2C stream. |
I2S | Audio | — | i2s | supported | Integrated Interchip Sound | Serial bus for connecting digital audio devices. |
IEC | Other | — | gpib | supported | Commodore bus | Commodore serial IEEE-488 (IEC) bus protocol. |
IR NEC | IR | — | ir_nec | supported | IR NEC | NEC infrared remote control protocol. |
IR RC-5 | IR | — | ir_rc5 | supported | IR RC-5 | RC-5 infrared remote control protocol. |
Jitter | Misc | — | jitter | supported | Timing jitter calculation | Retrieves the timing jitter between two digital signals. |
JTAG | Flash/debug | — | jtag | supported | Joint Test Action Group (IEEE 1149.1) | Protocol for testing, debugging, and flashing ICs. |
JTAG / STM32 | Flash/debug | jtag | jtag_stm32 | supported | Joint Test Action Group / ST STM32 | ST STM32-specific JTAG protocol. |
JTAG / EJTAG (MIPS) | Flash/debug | jtag | jtag_ejtag | supported | Joint Test Action Group / EJTAG (MIPS) | MIPS EJTAG protocol. |
LM75 | Sensors | i2c | lm75 | supported | National LM75 | National LM75 (and compatibles) temperature sensor protocol. |
LPC | PC | — | lpc | supported | Low-Pin-Count | Protocol for low-bandwidth devices on PC mainboards. |
Maple bus | Misc | — | maple_bus | supported | SEGA Maple bus | Maple bus peripheral protocol for SEGA Dreamcast. |
MAX7219 | Display | spi | max7219 | supported | Maxim MAX7219/MAX7221 | 8-digit LED display driver. |
DS28EA00 | Sensors | onewire_network | maxim_ds28ea00 | supported | Maxim DS28EA00 1-Wire digital thermometer | 1-Wire digital thermometer with Sequence Detect and PIO. |
MCS-48 | CPU | — | mcs48 | supported | Intel MCS-48 | Intel MCS-48 external memory protocol. |
MDIO | Networking | — | mdio | supported | Management Data Input/Output | Half-duplex sync serial bus for MII management between MAC and PHY. |
Microwire | Embedded | — | microwire | supported | Microwire | 3-wire, half-duplex, synchronous serial bus. |
MIDI | Music | uart | midi | supported | Musical Instrument Digital Interface | Musical Instrument Digital Interface (MIDI) protocol. |
Miller | Misc | — | miller | supported | Miller encoding | Miller encoding protocol. |
MLX90614 | Sensors | i2c | mlx90614 | supported | Melexis MLX90614 | Infrared Thermometer protocol. |
Modbus | Misc | uart | modbus | supported | Modbus RTU over RS232/RS485 | Modbus RTU protocol for industrial applications. |
Morse | Misc | — | morse | supported | Morse code | Demodulated morse code protocol. |
MRF24J40 | RF | spi | mf24j40 | supported | Microchip MRF24J40 | IEEE 802.15.4 2.4 GHz RF tranceiver chip. |
MXC6225XU | Sensors | i2c | mxc6225xu | supported | MEMSIC MXC6225XU | Digital Thermal Orientation Sensor (DTOS) protocol. |
nRF24L01(+) | Wireless | spi | nrf24l01 | supported | Nordic Semiconductor nRF24L01/nRF24L01+ | 2.4GHz transceiver chip. |
Nunchuk | Other | i2c | nunchuk | supported | Nintendo Wii Nunchuk | Nintendo Wii Nunchuk controller protocol. |
1-Wire link layer | Embedded | — | onewire_link | supported | 1-Wire serial communication bus (link layer) | Bidirectional, half-duplex, asynchronous serial bus. |
1-Wire network layer | Embedded | onewire_link | onewire_network | supported | 1-Wire serial communication bus (network layer) | Bidirectional, half-duplex, asynchronous serial bus. |
OOK | Misc | — | ook | supported | On-off keying | On-off keying protocol. |
Oregon | Misc | ook | — | supported | Oregon Scientific | Oregon Scientific weather sensor protocol. |
OOK visualisation | Misc | ook | ook | supported | On-off keying visualisation | OOK visualisation in various formats. |
PAN1321 | Bluetooth | uart | pan1321 | supported | Panasonic PAN1321 | Bluetooth RF module with Serial Port Profile (SPP). |
Parallel | Misc | — | parallel | supported | Parallel sync bus | Generic parallel synchronous bus. |
PS/2 | PC | — | ps2 | supported | PS/2 | PS/2 keyboard/mouse interface. |
PWM | Misc | — | pwm | supported | Pulse-width modulation | Analog level encoded in duty cycle percentage. |
Qi | Misc | — | qi | supported | Qi charger protocol | Async serial protocol for Qi charger receivers. |
RC encode | Wireless | — | — | supported | Remote control encoder | PT2262/HX2262/SC5262 remote control encoder protocol. |
RFM12 | Wireless | spi | rfm12 | supported | RFM12 control protocol | HopeRF RFM12 wireless transceivers control protocol. |
RGB LED (SPI) | LED | spi | rgb_led_spi | supported | RGB LED string decoder (SPI) | RGB LED string protocol (RGB values clocked over SPI). |
RGB LED (WS281x) | LED | — | rgb_led_ws281x | supported | RGB LED string decoder (WS281x) | RGB LED string protocol (WS281x). |
RTC-8564 | RTC | i2c | rtc8564 | supported | Epson RTC-8564 JE/NB | Realtime clock module protocol. |
SDA2506 | Memory | — | sda2506 | supported | Siemens SDA 2506-5 | Serial nonvolatile 1-Kbit EEPROM. |
SD card (SD mode) | Memory | — | sdcard_sd | supported | Secure Digital card (SD mode) | Secure Digital card (SD mode) low-level protocol. |
SD card (SPI mode) | Memory | spi | sdcard_spi | supported | Secure Digital card (SPI mode) | Secure Digital card (SPI mode) low-level protocol. |
S/PDIF | Audio | — | spdif | supported | Sony/Philips Digital Interface Format | Serial bus for connecting digital audio devices. |
SPI | Embedded | — | spi | supported | Serial Peripheral Interface | Full-duplex, synchronous, serial bus. |
SPI flash | SPI flash | spi | spiflash | supported | SPI flash chips | xx25 series SPI (NOR) flash chip protocol. |
SSI32 | Misc | spi | ssi32 | supported | Synchronous Serial Interface (32bit) | Synchronous Serial Interface (32bit) protocol. |
ST7735 | Display | — | st7735 | supported | Sitronix ST7735 | Sitronix ST7735 TFT controller protocol. |
Stepper motor | Motors | — | stepper_motor | supported | Stepper motor position / speed | Absolute position and movement speed from step/dir. |
SWD | Flash/debug | — | swd | supported | Serial Wire Debug | Two-wire protocol for debug access to ARM CPUs. |
SWIM | Flash/debug | — | swim | supported | STM8 SWIM bus | STM8 Single Wire Interface Module (SWIM) protocol. |
T55xx | RFID | — | t55xx | supported | RFID T5xx | T55xx 100-150kHz RFID protocol. |
TI TCA6408A | I/O expander | i2c | tca6408a | supported | Texas Instruments TCA6408A | Texas Instruments TCA6408A 8-bit I²C I/O expander. |
Timing | Misc | — | timing | supported | Timing calculation | Calculate time between edges. |
TI TLC5620 | DAC | — | tlc5620 | supported | Texas Instruments TLC5620 | Texas Instruments TLC5620 8-bit quad DAC. |
UART | Embedded | — | uart | supported | Universal Asynchronous Receiver/Transmitter | Asynchronous, serial bus. |
USB packet | USB | usb_signalling | usb_packet | supported | Universal Serial Bus (LS/FS) packet | USB (low-speed and full-speed) packet protocol. |
USB PD | USB | — | usb_pd | supported | USB Power Delivery | USB Power Delivery protocol. |
USB request | USB | usb_packet | usb_request | supported | Universal Serial Bus (LS/FS) transaction/request | USB (low-speed and full-speed) transaction/request protocol. |
USB signalling | USB | — | usb_signalling | supported | Universal Serial Bus (LS/FS) signalling | USB (low-speed and full-speed) signalling protocol. |
Wiegand | RFID | — | wiegand | supported | Wiegand interface | Wiegand interface for electronic entry systems. |
XFP | Networking | i2c | xfp | supported | 10 Gigabit Small Form Factor Pluggable Module (XFP) | Data structure describing device capabilities. |
Z80 | CPU | — | z80 | supported | Zilog Z80 CPU | Zilog Z80 microprocessor disassembly. |
Possible candidates for future protocol decoders
Protocol | Category | Input ID(s) | Output ID(s) | Status | Description | Comments |
---|---|---|---|---|---|---|
SA8807A | Displays | spi | 0% | SPI-attached LCD. Datasheet: Sames SA8807A. | ||
EA eDIPTFT43-A | Displays | i2c | 0% | I2C-attached LCD. Datasheet: EA eDIPTFT43-A. | ||
Analog Devices AD7291 | ADC | i2c | 0% | I2C-attached ADC. Datasheet: Analog Devices AD7291. | ||
Analog Devices ADS1258 | ADC | spi | ads1258 | 0% | SPI-attached ADC. | Planned (Uwe Hermann). |
Microchip MCP3901 | ADC | spi | mcp3901 | 0% | Can be controlled via a parallel protocol, or SPI, or I2C. | Planned (Uwe Hermann). |
JTAG / TMPA9xx | Flash/debug | jtag | jtag_tmpa9xx | 0% | Toshiba TMPA9xx specific JTAG protocol details. | |
USB transfer | USB | usb_request | usb_transfer | 0% | ||
USB / HID | USB | usb_transfer | usb_hid | 0% | ||
USB / CDC | USB | usb_transfer | usb_cdc | 0% | ||
USB / USBTMC | USB | usb_transfer | usb_usbtmc | 0% | ||
Dallas DS1985 | Other | onewire_network | 0% | Dallas DS1985 iButton (1-Wire) device. | Planned (Uwe Hermann). | |
UNI/O | Embedded | — | 0% | |||
SSI | Embedded | — | 0% | Synchronous Serial Interface | ||
CompactFlash | Memory | — | 0% | |||
MMC | Memory | — | 0% | |||
Memory Stick | Memory | — | 0% | |||
SmartMedia | Memory | — | 0% | |||
xD-Picture Card | Memory | — | 0% | |||
ISO 7816 | Smartcards | — | 0% | |||
FlexRay | Automotive | — | 0% | FlexRay is an automotive network communications protocol. | Planned (Stephan Thiele). | |
LIN | Automotive | — | 80% | LIN (Local Interconnect Network) is an automotive bus standard. | Work in progress (Stephan Thiele). | |
AVR TPI | Flash/debug | — | 0% | Atmel Tiny Programming Interface (TPI) protocol. | ||
FWH | PC | — | 0% | |||
ISA | PC | — | 0% | |||
PCI | PC | — | 0% | |||
SMBus | PC | — | 0% | |||
IDE | PC | — | 0% | |||
SCSI | PC | — | 0% | |||
PECI | PC | — | 0% | Platform Environment Control Interface | ||
SVID | PC | — | 0% | Serial Voltage Identification | ||
MFM | PC | — | 90% | Floppy disk FM and MFM. | Work in progress (David Wiens). | |
HD Audio | Audio | — | 0% | |||
Nokia NRC17 | IR | — | 0% | |||
Sony SIRC | IR | — | 0% | |||
Philips RC-6 | IR | — | 0% | |||
Philips RC-MM | IR | — | 0% | |||
Philips RECS80 | IR | — | 0% | |||
IrDA | Misc | — | 0% | |||
HD44780 | Displays | — | 0% | HD44780 character LCD protocol | ||
7-segment display | Displays | — | 0% | |||
PCF8814 | Displays | — | pcf8814 | 50% | Philips PCF8814 65 x 96 pixels matrix LCD driver | Work in progress (Uwe Hermann). |
PCF8814 LCD | Displays | pcf8814 | pcf8814_lcd | 50% | Philips PCF8814 65 x 96 pixels matrix LCD driver | Work in progress (Uwe Hermann). |
RDM | Industrial Lighting | — | rdm | 0% | ||
NMEA 0183 | GPS | uart | nmea0183 | 0% | ||
NMEA2000 | Marine | can | nmea2000 | 0% | NMEA 2000 Wikipedia page | |
DCC | Trains | — | dcc | 0% | ||
MVB | Trains | — | mvb | 0% | Multifunction Vehicle Bus | |
WTB | Trains | — | wtb | 0% | Wire Train Bus | |
C-Bus | Home automation | — | cbus | 0% | ||
X10 | Home automation | — | x10 | 0% | ||
LonWorks | Home automation | — | lonworks | 0% | ||
S-Bus | Home automation | — | sbus | 0% | ||
M-Bus | Automation | — | mbus | 0% | ||
Modbus ASCII | Automation | uart | modbus | 0% | ||
Modbus TCP | Automation | ip | modbus | 0% | ||
HART protocol | Automation | — | hart | 0% | ||
INTERBUS | Automation | — | interbus | 0% | ||
DirectNET | Automation | uart | directnet | 0% | ||
KNX | Automation | various | knx | 0% | ||
BACnet | Automation | bacnet | 0% | |||
OpenTherm | Automation | — | opentherm | 0% | ||
EBUS | Automation | uart | ebus | 0% | ||
AUI | Networking | — | aui | 0% | Attachment Unit Interface | |
MDI | Networking | — | mdi | 0% | Medium Dependent Interface | |
MII | Networking | — | mii | 0% | Media Independent Interface | |
GMII | Networking | — | gmii | 0% | Gigabit Media Independent Interface | |
XGMII | Networking | — | xgmii | 0% | 10 Gigabit Media Independent Interface | |
ESP8266 | Wireless | uart | esp8266 | 0% | WiFi Serial Transceiver | |
TI CC1101 | Wireless | spi | cc1101 | 1% | SPI-attached wireless controller for 315/433/868/915 MHz ISM bands. Datasheet | Work in progress (rohieb) |
TMDS (HDMI / DVI Pixel Data) | Display | tmds | — | 1% | https://github.com/mithro/tmds_encoding | Work in progress (mithro) |
Easymatic | Home automation | uart | easymatic | 10% | Work in progress (Platypus) | |
DDC/CI | PC | i2c | — | 0% | ||
Kenwood VH | Misc | — | — | 50% | SYSTEM CONTROL protocol used by Kenwood's VH HiFi-system | In progress: https://github.com/kripton/libsigrokdecode/compare/kenwood_vh |
IEC 61131-9 | Industrial | — | — | 0% | "Single-drop digital communication interface for small sensors and actuators (SDCI, marketed as IO-Link)" https://en.wikipedia.org/wiki/IEC_61131 | |
NRZ encoding family | — | — | — | 0% | Non-Return-to-Zero and its variants | whoever wants it |
Manchester encoding | — | — | — | 0% | Manchester code | whoever wants it |
Sony LANC | — | — | — | 0% | Sony LANC | whoever wants it, contact AlexDaniel for more info |
CAN-FD | Automotive | — | can | 0% | Controller Area Network with Flexible Data Rate | Planned (Stephan Thiele). |