Python : Erreur de conversion avec struct.pack()

Bonjour,

Je suis en train d’intégrer un nouvel équipement dans le plugin BLEA et je recontre un souci lors de la conversion en bytes avec struct.pack() avant d’envoyer la valeur à écrire dans le handle qui va bien.

J’ai fait le test en enlevant toutes les variables et en mettant tout en dur et je constate que lorsque le 13ème octect est compris entre 9 et 126, il n’est pas converti correctement.

Par exemple, lorsqu’il a la valeur « 9 » :

struct.pack('16B',7, 0, 255, 0, 16, 0, 0, 255, 24, 255, 0, 255, 9, 255, 0, 0)

Il est converti en espaces :

b'\x07\x00\xff\x00\x10\x00\x00\xff\x18\xff\x00\xff	\xff\x00\x00'

Lorsqu’il est compris entre 0-8 ou 127-255, il n’y a pas de souci.

Je loupe peut être quelquechose, mais je ne vois pas.

Si quelqu’un à une idée, je suis preneur.

Merci.

Bon, fausse piste :woozy_face:

Il semblerait que ce soit finalement qu’un « souci » d’affichage de mode debug. Mon équipement prend bien les bonnes valeurs.

Il a « juste » fallu que j’ajoute le paramètre « response » avec la valeur True dans mon appel de fonction pour que cela fonctionne :smiley: La valeur par défaut étant à False.

result = conn.writeCharacteristic(self.characteristicHandles['threshold'],str(newValue),response=True)

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.