Bonjour,
je développe une application me permettant de récupérer des données d'un capteur vélo. Ce capteur Bluetooth Low Energy émet bien le service standard "Cycling Speed and Cadence" (lien), ainsi que la caractéristique "CSC Measurement" (lien). Le capteur en question est celui-ci et il permet de récupérer la vitesse du vélo ainsi que la cadence de pédalage.
En analysant la caractéristique CSC, il est écrit que la "Wheel Revolution Data Present" est sur le Bit 0, et la "Crank Revolution Data Present" sur le Bit 1, tout deux avec une longueur de 1.
Après avoir notifié cette caractéristique, je reçois bien le, puis je peux récupérer un byte[] avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part onCharacteristicChanged(). Je me dit donc que la "Wheel Revolution" serait sur le
Code : Sélectionner tout - Visualiser dans une fenêtre à part characteristic.getValue(), et le "Crank Revolution" sur le
Code : Sélectionner tout - Visualiser dans une fenêtre à part characteristic.getValue()[0]d'après la définition de la caractéristique CSC. Pourtant, après tests ces deux données sont en fait en position [1] et [7] de ce tableau. Je ne comprends pas le lien entre ce qui est inscrit sur le site et la position réelle de ces données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part characteristic.getValue()[1]
Je suis arrivé à la même conclusion avec la caractéristique Hear Rate qui, d'après ce lien, ce trouve en position bit 0, mais en réalité il faut utiliserd'après ce tutoriel en appliquant un offset de 1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part characteristic.getIntValue(format, 1)
Pouvez-vous m'éclairer sur ces différences ?
Merci d'avance, j'espère avoir clairement présenté ma question
Partager