Archive 07/10/2020.

TP11, enable?

michel_billaud

Bonjour,

Dans le TP11, on voit apparaitre un " lpsxxx_enable()" dont on s’est dispensé dans le TP 7.

Je suppose que ce driver est “enabled” automatiquement lors de son initialisation, et les 3 autres du TP7.

Est-ce que c’est la règle pour tous les drivers, avec les params “de base” (params[0]) ?

Ou bien est-ce prudent de les activer systématiquement ?

aabadie2

Bonjour,

Est-ce que c’est la règle pour tous les drivers, avec les params “de base” (params[0]) ?
Ou bien est-ce prudent de les activer systématiquement ?

Non il n’y a de règle commune pour ce genre de comportement (enable/disable) et pour le lpsxxx, comme la documentation n’est pas du tout claire, il faut regarder l’implémentation du driver et comparer avec la datasheet. Ce que je viens de faire :slight_smile:
Donc par défaut le capteur est “enable” à l’initialization car le “output data rate” est différent de 0 (bits ODR dans le registre CTRL_REG1).
Cela dit pour la lpsxxx les fonctions enable/disable sont intéressantes dans le cas d’une application low-power car elles permettent de contrôler le “réveil” du capteur et donc d’économiser de la batterie quand on ne s’en sert pas.

michel_billaud

C’est quand même un gros problème, ces documentations (constaté avec l’arduino).

Si on fournit une API, c’est pour avoir une couche d’abstraction qui permet de manipuler un truc sans avoir à aller chercher les détails dans le code ou la datasheet. Dans la mesure où l’état (enabled/disabled) est une notion manipulée par l’API, le minimum serait quand même que la doc de l’API indique dans quel état on est après avoir initialisé. Ou à la limite de dire que c’est indéterminé.