Skip to content

Choosing the Right FeaturesΒΆ

Guide to selecting the appropriate TraceKit APIs for your use case.

Quick ReferenceΒΆ

I need to... Use this API Demo
Load a file Loader API File Format Demo
Measure waveforms Analysis API Waveform Demo
Decode protocols Analysis API Protocol Demo
Analyze power Power API Power Demo
Test compliance EMC API Compliance Demo
Reverse engineer Workflows API RE Demo
Build pipelines Pipelines API Workflows Demo
Export results Export API Export Demo

By DomainΒΆ

πŸ”Œ Electronics / HardwareΒΆ

Analog circuits (audio, power, RF): - Power Analysis API - AC/DC, ripple, efficiency - Component Analysis API - TDR, impedance, capacitance

Digital circuits (logic, protocols): - Analysis API - Protocol decoders (UART, SPI, I2C) - Auto-decode with tk.auto_decode(trace)

Mixed-signal: - Both analog and digital analyzers work together - Demo: Mixed Signal


By TaskΒΆ

πŸ“Š Measurement & AnalysisΒΆ

Basic measurements (amplitude, frequency, rise time):

tk.analyze(trace)  # Returns dict of measurements

β†’ Analysis API

Spectral analysis (FFT, THD, SNR, ENOB):

tk.quick_spectral(trace)  # Returns IEEE 1241 metrics

β†’ Analysis API

Power analysis (AC/DC, ripple, PF):

tk.power_analysis(trace)

β†’ Power API


πŸ” Protocol WorkΒΆ

Known protocols (UART, SPI, I2C, CAN):

tk.auto_decode(trace)  # Auto-detect and decode

β†’ Analysis API

Unknown protocols (reverse engineering):

tk.workflows.reverse_engineer_signal(trace)

β†’ Workflows API

Automotive (CAN, OBD-II, J1939): - Special decoders for automotive protocols - Demo: Automotive


βœ… Compliance & StandardsΒΆ

IEEE 1241-2010 (ADC testing): - quick_spectral() provides THD, SNR, SINAD, ENOB - Demo: Spectral Compliance

IEEE 2414-2020 (Jitter): - Jitter analysis functions in Analysis API - Demo: Jitter Analysis

CISPR 16 / IEC 61000 (EMC): - EMC Compliance API - Demo: EMC Testing


By File FormatΒΆ

Format Loader Demo
Tektronix .wfm tk.load_wfm() Waveform
Sigrok .sr tk.load_sigrok() File Format
VCD tk.load_vcd() File Format
PCAP tk.load_pcap() UDP Analysis
CAN (BLF/ASC) tk.load_can() Automotive
CSV/HDF5/NumPy tk.load() File Format

Auto-detect: tk.load(filename) detects format automatically

Full list: Loader API


By Experience LevelΒΆ

🟒 Beginner - High-level convenience functions¢

Start here:

import tracekit as tk

# Load and analyze in 3 lines
trace = tk.load("file.wfm")
result = tk.quick_spectral(trace)
print(f"SNR: {result.snr_db} dB")

APIs to use: - tk.load() - Auto-detect file format - tk.analyze() - All basic measurements - tk.quick_spectral() - Spectral analysis - tk.auto_decode() - Protocol detection

Demos: 01, 04, 12


🟑 Intermediate - Specific analyzers¢

More control:

from tracekit.analyzers import spectral, protocols

# Use specific analyzers
fft_result = spectral.compute_fft(trace)
uart_frames = protocols.decode_uart(trace, baud_rate=115200)

APIs to use: - Individual analyzer modules - Specific protocol decoders - Custom parameters

Demos: 05, 08, 13


πŸ”΄ Advanced - Low-level APIs and pipelinesΒΆ

Full control:

from tracekit.loaders.configurable import ConfigurableLoader
from tracekit.core.pipeline import Pipeline

# Build custom pipelines
loader = ConfigurableLoader(chunk_size=1000000)
pipeline = Pipeline([filter_step, analyze_step, export_step])

APIs to use: - Expert API - Low-level access - Pipelines API - Custom workflows - Session Management - Multi-step analysis

Demos: 03, 19


Decision TreeΒΆ

What's your goal?

β”œβ”€ Analyze a single file
β”‚  β”œβ”€ Oscilloscope β†’ Analysis API
β”‚  β”œβ”€ Logic analyzer β†’ Analysis API (protocol decoders)
β”‚  └─ Network capture β†’ Analysis API (PCAP)
β”‚
β”œβ”€ Process many files
β”‚  └─ Pipelines API + batch processing
β”‚
β”œβ”€ Reverse engineer unknown signal
β”‚  └─ Workflows API (reverse_engineer_signal)
β”‚
β”œβ”€ Check compliance
β”‚  β”œβ”€ IEEE standards β†’ quick_spectral()
β”‚  └─ EMC β†’ EMC Compliance API
β”‚
└─ Build custom workflow
   └─ Expert API + Pipelines API

Next StepsΒΆ