Archive 07/10/2020.

Problème de temperature avec lsm303dlhc

screwy-manu

Bonjour,
En lisant la doc sur le lsm303dlhc, je vois qu’il intègre aussi un capteur de température…
aussitôt lu, aussitôt essayé!
Hors j’ai des résultats plutôt … étonnants :

lps331ap :
- Pressure: 994hPa, Temperature: 29.54°C
lsm303dlhc:
- Accelerometer - x: -360 - y: 212 - z: -236
- Magnetometer - x: 258 - y: -85 - z: 94
- Temperature : 1056° | 10.56°C??

J’ai bien sur reproduit ce résultat plusieurs fois, sur les 4 sites, et a différentes heures de la journée…

J’ai lu que la philosophie de RIOT est de préférer multiplier à l’unité SI suivante le résultat plutôt que d’utiliser des float ou des double , et la doc du lsm303dlhc dit que le résultat est en “degrees” sans préciser l’échelle (fahrenheit, celsius, centigrade, kelvin,… )
Mais même en tenant compte de tout cela je n’arrive pas a comprendre ce résultat…
Le capteur de température du lsm303dlhc est bien moins précis que celui du lps331ap (si on regarde les résultats sur 1min, il ne suit pas les faibles variations du lps331ap, et varie sur des intervalles + larges)
Bref, pouvez vous m’expliquer ces 19° d’écarts?
Merci d’avance

aabadie2

Je n’ai jamais testé la lecture de la température sur ce capteur.
Il peut y avoir plusieurs explications, soit une erreur dans votre code, soit un bug dans le driver de RIOT.
Dans le deuxième cas, il faudrait comparer l’implémentation du driver de RIOT avec ce qui est décrit dans la datasheet du capteur. Et si c’est vraiment un bug RIOT, alors il faudrait corriger et soumettre un correctif. Après tout, RIOT est open source :slight_smile: