From 3c49200ae5aff5cef9a77363dc93e1f6965dbbee Mon Sep 17 00:00:00 2001 From: Attie Grande Date: Sat, 15 Jun 2024 23:42:00 +0100 Subject: [PATCH] add words and screenshots to the README --- README.md | 41 +++++++++++++++++++++++++++++++++++ images/edge-by-edge.png | Bin 0 -> 29991 bytes images/filter-by-address.png | Bin 0 -> 24359 bytes images/glitch-filtering.png | Bin 0 -> 24989 bytes images/settings.png | Bin 0 -> 25025 bytes images/table-view.png | Bin 0 -> 68168 bytes 6 files changed, 41 insertions(+) create mode 100644 images/edge-by-edge.png create mode 100644 images/filter-by-address.png create mode 100644 images/glitch-filtering.png create mode 100644 images/settings.png create mode 100644 images/table-view.png diff --git a/README.md b/README.md index b427e35..af33dd0 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,44 @@ +# I2C Protocol Analyzer for Saleae Logic 2 + +This analyzer will decode I2C, with a handful of benefits over the bundled I2C analyzer. + +## Settings + +Decode in confidence, with the ability to configure a built-in glitch filter, and granular control over what data appears in the results table. + +![settings screenshot](./images/settings.png) + +## Edge-by-Edge Visibility + +The analyzer operates in clear view, showing you the decision it made at each point of the signal - great for learning or identifying where something went wrong. + +![edge-by-edge screenshot](./images/edge-by-edge.png) + +## Tabular Data + +Data is decoded into three categories - Control, Frame and Transaction... each can be independently enabled and disabled. + +- "_Control_" includes the start, restart, stop and error conditions +- "_Frame_" is a per-frame decode, indicating the address or data value +- "_Transaction_" is a per-transaction decode, including the full binary payload + +![table screenshot](./images/table-view.png) + +## Filter by Address + +For the more busy busses, filtering based on the target address will provide instant visibility on when the device is active. +The edge-by-edge details are still visible for everything, but bubbles and table data will only be produced according to the target address you specify. + +![filtered screenshot](./images/filter-by-address.png) + +## Glitch Filtering + +Robust built-in glitch filtering helps to provide valid decodes, even when your data isn't perfect. +In this screenshot there are actually three 8ns glitches in the clock signal, but the decode is still correct. + +![gliches screenshot](./images/glitch-filtering.png) + + # Build and Install See: [`i2c-analyzer`](https://github.com/saleae/i2c-analyzer) diff --git a/images/edge-by-edge.png b/images/edge-by-edge.png new file mode 100644 index 0000000000000000000000000000000000000000..bfce8ffcc42d7533a030e2ef05ce395e0b2d4936 GIT binary patch literal 29991 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