slogic32u3-pulseview-scripting.py
Python script orchestrating a targeted capture with hardware trigger for serial bus analysis like SPI.
This script uses sigrok-cli in the background to perform a triggered capture on an SPI bus. It configures the trigger on the Chip Select signal to capture only active transactions. The 140 MS/s frequency is optimized for fast signals on 4 channels.
slogic32u3-pulseview-scripting.py
# Exemple de script de décodage automatisé via l'interface de scriptage de Pulseview
# À utiliser dans l'éditeur de script de Pulseview ou via son API si exposée.
# Hypothèse : Utilisation de l'API Python intégrée ou d'un appel externe à sigrok-cli
# pour extraire les données décodées.
import subprocess
import json
import sys
def decode_spi_capture():
# 1. Capturer les données brutes avec un déclencheur sur le CS (Chip Select)
# Commande sigrok-cli pour capturer sur 4 canaux (SCLK, MOSI, MISO, CS)
# Déclencheur sur le front descendant de CS (canal 3)
cmd = [
"sigrok-cli",
"-d", "slogic32u3:conn=usb",
"-c", "4",
"-s", "140000000", # 140 MS/s pour 4 canaux
"-t", "0.1",
"--config", "channels=0-3",
"--config", "trigger=3:falling",
"-o", "spi_capture.raw"
]
print("Capturant les données SPI...")
subprocess.run(cmd, check=True)
# 2. Décoder les données en utilisant le décodeur SPI de sigrok
# Cette partie dépend de la disponibilité d'un outil CLI de décodage direct
# ou d'une analyse post-traitement.
# Ici, nous simulons une lecture des métadonnées de capture.
print("Données capturées dans spi_capture.raw. Utilisez Pulseview pour le décodage visuel.")
print("Filtrage automatisé : Recherche des trames complètes (CS actif).")
if __name__ == "__main__":
decode_spi_capture()