* Demander le NO de version, donc lectyre d'un octet (type "'''byte'''")
* Demander le NO de version, donc lectyre d'un octet (type "'''byte'''")
* Demander la lecture d'un nombre décimal (type "'''double'''")
* Demander la lecture d'un nombre décimal (type "'''double'''")
+
+
'''Decodage d'un type DOUBLE:'''<br />
+
Le décodage d'un type DOUBLE se fait à l'aide d'un struct.unpack. Pour un double, il faut fournir un buffer de 4 octets. Ce buffer doit être une chaîne de caractère.
+
+
Il faut donc transformer les 4 octets/byte en provenance d'Arduino et reçu à l'aide de I2C.readList() en une chaine de caractère à l'aide de la fonction CHR().
=== Le programme ===
=== Le programme ===
Ligne 93 :
Ligne 98 :
# --- Demander le NO de version ---
# --- Demander le NO de version ---
+
# Transfert d'un type BYTE
+
# Ecriture de la valeur 0x01 dans le registre 0
# Ecriture de la valeur 0x01 dans le registre 0
i2c.write8( 0, 0x01 );
i2c.write8( 0, 0x01 );
Ligne 102 :
Ligne 109 :
# Error accessing 0x04: Check your I2C address
# Error accessing 0x04: Check your I2C address
time.sleep( 0.100 )
time.sleep( 0.100 )
+
+
# --- Demander une valeur décimale ---
+
# Transfert d'un type DOUBLE
# demander l'opération de reception d'un float, placer 0x02 dans le
# demander l'opération de reception d'un float, placer 0x02 dans le