spi-capture-analysis-8.ino
Utilisation de sigrok-cli via Python pour capturer des lignes SPI et décoder le protocole en temps réel afin de visualiser les paquets envoyés.
Matériel : SLogic32U3 avec 4 canaux connectés aux signaux SPI. Logiciel : sigrok-cli. Exécution : assurez-vous que les canaux correspondent à l'ordre SCK/MOSI/MISO/CS. Le décodeur SPI nécessite que le CS soit actif (généralement bas, mais 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.")