The workspaceDie Arbeitsumgebung
Connect, set up the capture from one strip in the toolbar, capture, and read the decoded traffic directly beneath the wires it came from.
Verbinden, die Aufnahme in einer einzigen Leiste der Toolbar einrichten, aufnehmen und den dekodierten Verkehr direkt unter den Leitungen lesen, von denen er stammt.



Built for large captures
Rust answers each viewport with a per-pixel summary. Zoomed out, no pulse disappears, down to a single sample.
Gebaut für große Aufnahmen
Rust beantwortet jeden Bildausschnitt mit einer Zusammenfassung pro Pixel. Auch herausgezoomt verschwindet kein Puls, bis hinunter zu einem einzelnen Sample.
111 protocol decoders
Guided setup for I²C, SPI and UART; CAN, 1-Wire, I²S, SWD, JTAG and the rest via search.
111 Protokoll-Decoder
Geführte Einrichtung für I²C, SPI und UART; CAN, 1-Wire, I²S, SWD, JTAG und alle weiteren über die Suche.
Annotations in context
Decoder lanes sit right under their signals. Dense regions collapse into counted clusters instead of overlapping.
Annotationen im Kontext
Decoder-Spuren liegen direkt unter ihren Signalen. Dichte Bereiche fallen zu gezählten Gruppen zusammen, statt sich zu überlagern.
Transactions
I²C start-to-stop, SPI chip-select frames, UART lines. Searchable; click one to zoom to it.
Transaktionen
I²C von Start bis Stopp, SPI-Chip-Select-Rahmen, UART-Zeilen. Durchsuchbar; ein Klick zoomt hinein.
Sessions that interoperate
Standard sigrok files that PulseView and sigrok-cli open, plus VCD and CSV export.
Kompatible Sitzungen
Standard-sigrok-Dateien, die PulseView und sigrok-cli öffnen, dazu VCD- und CSV-Export.
Decoders on decoders
Protocol decoders that build on I²C, SPI or UART stack on top, from EEPROMs to sensors.
Decoder auf Decodern
Protokoll-Decoder, die auf I²C, SPI oder UART aufbauen, stapeln sich darüber, von EEPROMs bis zu Sensoren.
Built on sigrokAuf Basis von sigrok
sigrok is the open-source foundation for logic analyzers: libsigrok drives the hardware, libsigrokdecode brings a large library of protocol decoders, and PulseView and sigrok-cli are proven tools on top. NeoSigrok talks to both libraries directly through Rust FFI and ships them inside the app. The interface is designed around what you are doing rather than how sigrok is configured.
sigrok ist das Open-Source-Fundament für Logic Analyzer: libsigrok steuert die Hardware, libsigrokdecode bringt eine große Sammlung an Protokoll-Decodern mit, und PulseView und sigrok-cli sind bewährte Werkzeuge darauf. NeoSigrok spricht über Rust-FFI direkt mit beiden Bibliotheken und liefert sie in der App mit. Die Oberfläche ist darauf ausgelegt, was du gerade tust, nicht darauf, wie sigrok konfiguriert wird.
| StepSchritt | sigrok toolssigrok-Werkzeuge | With NeoSigrokMit NeoSigrok |
|---|---|---|
| InstallInstallieren | Packages or build, plus firmware filesPakete oder selbst bauen, plus Firmware-Dateien | One app: libraries, decoders and firmware bundledEine App: Bibliotheken, Decoder und Firmware gebündelt |
| Set upEinrichten | Device, rate, samples, channels, triggersGerät, Rate, Samples, Kanäle, Trigger | The same, in one toolbar stripDasselbe, in einer einzigen Toolbar-Leiste |
| DecodeDekodieren | Pick decoder, assign channels and optionsDecoder wählen, Kanäle und Optionen zuweisen | Channels pre-assigned by name, UART baud rate detectedKanäle nach Namen vorbelegt, UART-Baudrate erkannt |
| ReadLesen | Annotation rowsAnnotationszeilen | Annotation rows plus a searchable transaction listAnnotationszeilen plus eine durchsuchbare Transaktionsliste |
| SaveSpeichern | .sr session files.sr-Sitzungsdateien | The same .sr files, both waysDieselben .sr-Dateien, in beide Richtungen |
MeasurementsMessungen
Two cursors that snap to edges give Δt and 1/Δt. At the cursor: pulse width, period, frequency and duty cycle. Over a selection: edge statistics. Hover any pulse for a readout.
Zwei Cursor, die an Flanken einrasten, liefern Δt und 1/Δt. Am Cursor: Pulsbreite, Periode, Frequenz und Tastgrad. Über eine Auswahl: Flankenstatistik. Jeden Puls überfahren für einen Messwert.


Hardware
NeoSigrok works with the logic analyzers supported by libsigrok, from inexpensive 8-channel USB boards to dedicated instruments. Plug one in and it shows up; firmware a device needs is bundled and loaded automatically.
NeoSigrok arbeitet mit den Logic Analyzern, die libsigrok unterstützt, von günstigen 8-Kanal-USB-Boards bis zu eigenständigen Messgeräten. Einstecken, und das Gerät erscheint; benötigte Firmware ist gebündelt und wird automatisch geladen.

How it worksFunktionsweise
Native sideNative Seite
- One thread per native library: an engine thread owns libsigrok, a decode thread owns libsigrokdecode and its embedded Python.
- Acquisition never blocks the interface; stopping uses libsigrok's thread-safe stop.
- Every library is relocated into the app bundle; the build fails if anything points outside it.
- Ein Thread pro nativer Bibliothek: Ein Engine-Thread besitzt libsigrok, ein Decode-Thread libsigrokdecode samt eingebettetem Python.
- Die Aufnahme blockiert nie die Oberfläche; zum Stoppen dient der threadsichere Stopp von libsigrok.
- Jede Bibliothek wird ins App-Bundle verlagert; der Build scheitert, wenn irgendetwas nach außen zeigt.
Samples stay in RustSamples bleiben in Rust
- A capture is kept exactly as the driver delivered it.
- A pyramid of per-block change masks (≈3 % overhead) answers pixel queries, edge searches and measurements without scanning quiet regions.
- The interface only ever receives what fits on screen.
- Eine Aufnahme bleibt genau so erhalten, wie der Treiber sie geliefert hat.
- Eine Pyramide aus Änderungsmasken pro Block (≈3 % Mehraufwand) beantwortet Pixelabfragen, Flankensuchen und Messungen, ohne ruhige Bereiche zu durchsuchen.
- Die Oberfläche bekommt immer nur das, was auf den Bildschirm passt.
Status
Not public yet.Noch nicht öffentlich.
NeoSigrok is in development. Source, under the GPL-3.0 like libsigrok itself, follows with the first release.
NeoSigrok ist in Entwicklung. Der Quellcode folgt mit dem ersten Release, unter der GPL-3.0 wie libsigrok selbst.