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):
β Analysis API
Spectral analysis (FFT, THD, SNR, ENOB):
β Analysis API
Power analysis (AC/DC, ripple, PF):
β Power API
π Protocol WorkΒΆ
Known protocols (UART, SPI, I2C, CAN):
β Analysis API
Unknown protocols (reverse engineering):
β 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
π‘ 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
π΄ 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
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ΒΆ
- Try it: Start with Quick Start
- Learn patterns: Read Common Workflows
- Understand design: See Core Concepts
- Deep dive: Browse API Reference