i2c-troubleshooting-sigrok-9.ino
Simplified Bash script to launch an I2C capture with integrated decoding, displaying slave addresses and read/write registers.
Hardware: SLogic32U3 connected to SCL and SDA. Software: sigrok-cli. Execution: check channel numbers used for SCL and SDA in DECODER_OPTS variable. Useful to verify if master correctly generates ACK/NACK bits.
i2c-troubleshooting-sigrok-9.ino
#!/bin/bash
# Capture I2C sur SLogic32U3
# Câblage supposé : Ch0 = SCL, Ch1 = SDA
# Taux d'échantillonnage élevé recommandé pour les signaux I2C rapides (400kHz+)
# Bien que l'I2C soit lent, la résolution temporelle aide au débogage.
DRIVER="slogic"
CHANNELS="0-1"
# 100 MS/s est suffisant et plus stable pour l'I2C que le max absolu
RATE="100M"
DURATION="5s"
DECODER="i2c"
# Options du décodeur : scl=0 sda=1 (indices des canaux)
DECODER_OPTS="scl=0 sda=1"
echo "Capture I2C en cours pendant ${DURATION}..."
sigrok-cli -d $DRIVER -c $CHANNELS -r $RATE -A $DURATION \
-p "0=${DECODER} ${DECODER_OPTS}" \
-O decode
echo "Analyse terminée."