1
Bibliothèques / Re : Bibliothèque Accessories et Expander SX1509
« le: juillet 02, 2019, 09:49:17 pm »
Bonjour Thierry,
Merci pour ces intégrations. J'aime beaucoup les macros pour encoder les pin et expanderid.
J'ai testé la bibliothèque sur un montage réel avec sx1509.
J'ai noté une régression sur le décodage de la pin.
Le bug est le suivant (dans port.cpp):
Si la pin est de type DIGITAL et n'est pas sur un expander, elle est codé pour GPIO (beginPin function).
Ce qui pose un souci dans MovePin, où au moment de son décodage, elle risque d'être interpréter pour un expander.
C'est pour cela que je propose le test suivant dans MovePin et les CheckPin:
Je ne suis pas si cela suffit à supprimer tous les cas (si des conflits peuvent subsister entre l'encodage pour expander et GPIO).
En tout cas, j'ai testé cette modification sur la bibliothèque que tu as publiée, et tout marche parfaitement dans mon cas.
Merci pour ces intégrations. J'aime beaucoup les macros pour encoder les pin et expanderid.
J'ai testé la bibliothèque sur un montage réel avec sx1509.
J'ai noté une régression sur le décodage de la pin.
Le bug est le suivant (dans port.cpp):
Si la pin est de type DIGITAL et n'est pas sur un expander, elle est codé pour GPIO (beginPin function).
Ce qui pose un souci dans MovePin, où au moment de son décodage, elle risque d'être interpréter pour un expander.
C'est pour cela que je propose le test suivant dans MovePin et les CheckPin:
Code: [Sélectionner]
unsigned long expanderId = 0;
if (GPIO_to_Arduino_pin((GPIO_pin_t)inPin) == -1)
expanderId = EXPANDER_PORT_EXPID(inPin);
Je ne suis pas si cela suffit à supprimer tous les cas (si des conflits peuvent subsister entre l'encodage pour expander et GPIO).
En tout cas, j'ai testé cette modification sur la bibliothèque que tu as publiée, et tout marche parfaitement dans mon cas.