User Tools

Site Tools


in202:seance_6:jalon_5

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
in202:seance_6:jalon_5 [2021/05/02 13:07]
bmonsuez created
in202:seance_6:jalon_5 [2022/11/18 10:47] (current)
Line 11: Line 11:
 Pour ce faire, vous pouvez modifier le ''​EventHandler''​ en vous assurant que ce temps minimal c'est bien déroulé entre deux événnements de type ''​Pressed'',​ ''​Released''​ et ''​Changed''​. Pour déterminer le temps qui s'est écoulé, il suffit de stocker dans un champ, par exemple ''​int m_lastPressedTime''​ le temps auquel s'est déroulé le dernier événement pris en compte. La fonction [[https://​www.arduino.cc/​reference/​en/​language/​functions/​time/​millis/​|''​millis()''​]] retourne le nombre de millisecondes qui se sont écoulés depuis le démarrage de la carte. Pour ce faire, vous pouvez modifier le ''​EventHandler''​ en vous assurant que ce temps minimal c'est bien déroulé entre deux événnements de type ''​Pressed'',​ ''​Released''​ et ''​Changed''​. Pour déterminer le temps qui s'est écoulé, il suffit de stocker dans un champ, par exemple ''​int m_lastPressedTime''​ le temps auquel s'est déroulé le dernier événement pris en compte. La fonction [[https://​www.arduino.cc/​reference/​en/​language/​functions/​time/​millis/​|''​millis()''​]] retourne le nombre de millisecondes qui se sont écoulés depuis le démarrage de la carte.
  
-Modifier la classe ''​EventHandler''​ de ''​Button''​ pour prendre en compte ce mécanisme de contrôle de rebond.+Modifier la classe ''​ButtonEvents''​ pour prendre en compte ce mécanisme de contrôle de rebond
 + 
 +** Indication ** : dans ''​template<​int First, int... _Rest> class ButtonEvents<​First,​ _Rest>'',​ en complément de ''​static Button* mButton'',​ il faut ajouter les champs ''​static int mLastPressedTime'',​ ''​static int mLastReleasedTime'',​ ''​static int mLastChangedTime''​. Ensuite, il faut modifier les fonction ''​Pressed'',​ ''​Released''​ et ''​Changed''​ pour n'​appeller que quand le temps écoulé depuis le dernier événements pris en compte est supérieur à un certain délai, 200 ms semble être un bon critère entre //deux appuis// sur le bouton.
  
  
in202/seance_6/jalon_5.1619960849.txt.gz · Last modified: 2021/05/02 13:07 by bmonsuez