IR remoute control multiple click button

Dependents:   Exam_TK Exam_TK

Files at this revision

API Documentation at this revision

Comitter:
docent
Date:
Fri May 07 15:38:48 2021 +0000
Parent:
0:94d6bf511846
Commit message:
corrections

Changed in this revision

UserButton.h Show annotated file Show diff for this revision Revisions of this file
diff -r 94d6bf511846 -r 7a268df54696 UserButton.h
--- a/UserButton.h	Fri Jul 12 07:35:10 2019 +0000
+++ b/UserButton.h	Fri May 07 15:38:48 2021 +0000
@@ -1,17 +1,16 @@
-InterruptIn mybutton(USER_BUTTON);
+//InterruptIn mybutton(USER_BUTTON);//mybutton(PC_14);//
 
 Timeout FrameTimeout;
 Timeout BounceTimeout;
 
 uint8_t Debounce=0;
-uint8_t cnt=0,*pind_cnt;
-uint8_t *pmode=0;
+uint8_t cnt=0;
+uint8_t NewButtonMode=0;
 
- 
 //------------------
 void FrameTimeout_isr()
 {
-    *pmode=cnt;
+    NewButtonMode=cnt;
     cnt=0;                   
 }
 
@@ -28,7 +27,7 @@
      if(Debounce==0){
         Debounce=1;
         cnt++;
-        *pind_cnt=cnt;
+        //*pind_cnt=cnt;
         FrameTimeout.detach();
         FrameTimeout.attach(FrameTimeout_isr,1.0);          
         BounceTimeout.attach(BounceTimeout_isr,0.2);
@@ -36,12 +35,20 @@
 }
 
 //-----------------------------------
-void ButtonIni(uint8_t *pind,uint8_t *pm)
+void ButtonIni(InterruptIn  *button)
 {
- pmode=pm;
- pind_cnt=pind;
- mybutton.fall(&pressed);
+ Debounce=0;
+ cnt=0;
+ NewButtonMode=0;
+ button->fall(&pressed);
  } 
 
+//----------------------------
+ void WhatButtonMode(uint8_t *Pmode)
+{
+ if(NewButtonMode){
+    *Pmode=NewButtonMode;
+    NewButtonMode=0;
+ }
+}
 
-