spi-capture-analysis-8.ino
Using sigrok-cli via Python to capture SPI lines and decode the protocol in real-time to visualize sent packets.
Hardware: SLogic32U3 with 4 channels connected to SPI signals. Software: sigrok-cli. Execution: ensure channels match SCK/MOSI/MISO/CS order. SPI decoder requires active CS (usually low, but configurable).
spi-capture-analysis-8.ino
import subprocess
import sys
# Configuration de la capture SPI
# Canaux : 0=SCK, 1=MOSI, 2=MISO, 3=CS (Exemple de câblage)
# Taux : 800 MS/s pour 4 canaux maximum
DRIVER = 'slogic'
CHANNELS = '0-3'
RATE = '800M'
TIME = '1s'
DECODER = 'spi'
DECODER_OPTS = 'mode=0 cpol=0 cpha=0 cs_active=high'
command = [
'sigrok-cli',
'-d', DRIVER,
'-c', CHANNELS,
'-r', RATE,
'-A', TIME,
'-p', f'0={DECODER} {DECODER_OPTS}',
'-O', 'decode'
]
print("Lancement de la capture et décodage SPI...")
try:
result = subprocess.run(command, capture_output=True, text=True, check=True)
print("Données décodées :")
print(result.stdout)
except subprocess.CalledProcessError as e:
print(f"Erreur lors de la capture : {e.stderr}")
except FileNotFoundError:
print("Erreur : sigrok-cli non trouvé. Installez-le d'abord.")