API & MCP

Everything a person can do on Ohmforge UART, I²C and SPI Protocol Decoder, a program or AI agent can do with the same inputs and get the identical result.

HTTP API

Ohmforge UART, I²C and SPI Protocol Decoder

Decodes serial buses from a capture: UART with automatic baud-rate detection and 5–9 data bits, parity and stop bits (8N1, 8E1, 7E1 …), I²C with START/repeated START/STOP, 7- and 10-bit addresses, read/write and ACK/NACK, and SPI in all four CPOL/CPHA modes with chip select, 4–32 bit words and MSB or LSB first. Reads sigrok/PulseView and logic-analyzer CSV (sampled or one row per change) and oscilloscope CSV, where analog channels are converted to logic levels with a threshold and hysteresis. Returns a frame table with error flags (framing, parity, break, NACK, incomplete words) and a timing diagram.

Inputs of Ohmforge UART, I²C and SPI Protocol Decoder
FieldTypeDefaultDescription
filefile—Capture file. CSV from a scope (Rigol, Siglent, Keysight, Tektronix or any "time, channel…" table), a sigrok/PulseView or logic-analyzer CSV, or a WAV recording; up to 25 MB and 2 million rows. Files are processed in memory and not kept.
csvtextarea—Or paste the CSV text. Used when no file is uploaded.
sampleRatenumber—Sample rate (only if the file has no time column)
protocol (required)select (uart, i2c, spi)"uart"Protocol
rxtext—UART: channel to decode. Channel name from the file header, e.g. RX, D0 or CH1. Empty = automatic.
scltext—I²C: SCL channel
sdatext—I²C: SDA channel
sclktext—SPI: clock channel
mositext—SPI: MOSI channel. "none" if not captured.
misotext—SPI: MISO channel. "none" if not captured.
cstext—SPI: chip-select channel. "none" if not captured.
baudinteger—UART: baud rate. Empty or 0 = detect from the shortest pulses.
dataBitsselect (5, 6, 7, 8, 9)"8"UART: data bits
parityselect (none, even, odd, mark, space)"none"UART: parity
stopBitsselect (1, 1.5, 2)"1"UART: stop bits
invertedbooleanfalseUART: inverted line (idle low)
cpolselect (auto, 0, 1)"auto"SPI: clock polarity (CPOL)
cphaselect (0, 1)"0"SPI: clock phase (CPHA)
wordBitsinteger8SPI: bits per word
bitOrderselect (msb, lsb)"msb"SPI: bit order
csActiveselect (low, high)"low"SPI: chip select active
thresholdnumber—Logic threshold for analog channels (optional). Empty = midway between the low and high levels found in the capture.

Every result contains

inputs (normalised, defaults applied), summary, result (validated against the published schema), units, assumptions, sources, warnings, computedAt and links.

MCP (Model Context Protocol)

{
  "mcpServers": {
    "ohmforge-protocol-decoder": { "type": "http", "url": "https://ohmforgeprotocoldecoder.usefulweb.app/mcp" }
  }
}