class of Buttons -isPressed -wasPressed -notPressed -LongPress (Timer)

Files at this revision

API Documentation at this revision

Comitter:
x1dmoesc
Date:
Fri Apr 17 14:05:36 2020 +0000
Parent:
7:09fb38cf8526
Commit message:
add new coments and debug the condition of: if(iNumBtn != NULL && *iNumBtn > 0)

Changed in this revision

Button.cpp Show annotated file Show diff for this revision Revisions of this file
Button.h Show annotated file Show diff for this revision Revisions of this file
--- a/Button.cpp	Tue Jun 04 14:19:35 2019 +0000
+++ b/Button.cpp	Fri Apr 17 14:05:36 2020 +0000
@@ -3,7 +3,11 @@
 
 
 /******************************************************************************/
-// constructor
+// constructor of instance button
+//      - PinName:  Name of pin of MBed LPC1768 (e.g. p9, p10,...)
+//      - PinMode:  PullUp, PullDown, PullNone, OpenDrain
+//      - time:     defines the time after the longPress-Flag is set.
+//
 /******************************************************************************/
 Button::Button(PinName pBtn, PinMode  pBtnMode, float time)
 {
@@ -20,14 +24,22 @@
 
 /******************************************************************************/
 // initialisation
+//      - bNewState:        current state of button
+//      - bOldState:        previous state of button
+//      - bIsPressed:       flag is set if button is pressed
+//      - bLongPresed:      flag is set, after timer is zero (bIsPressed = true)
+//      - bWasPressed:      after button is not pressed anymore
+//
 /******************************************************************************/
 void Button::init()
 {
+    bNewState   = false;
+    bOldState   = false;    
+    
     bIsPressed  = false;
     bLongPress  = false;
     bWasPressed = false;
-    bNewState   = false;
-    bOldState   = false;
+
 
     bBtnNewAction = false;
 
@@ -47,7 +59,8 @@
 //      - bBtnNewAction:    flag, if an action is occur
 //      - iNumCycle:        cycle counter of same state
 //      - NUNCYCLES:        max. value of cycle counter
-//      - *iNumBtn:         pointer of variable, which counts pressed buttons
+//      - *iNumBtn:         pointer to variable, which counts the number of pressed buttons
+//
 /******************************************************************************/
 void Button::polling(uint8_t *iNumBtn)
 {
@@ -90,8 +103,8 @@
                         timer->detach();
                         bLongPress = false;
                         
-                    if((iNumBtn != NULL && *iNumBtn) > 0)
-                        (*iNumBtn)--;
+                    if(iNumBtn != NULL && *iNumBtn > 0)                         // if there is a pointer to a counter-Variable and the value is greater than 0
+                        (*iNumBtn)--;                                           // decrease iNumBtn by one 
                 }
 
             }
@@ -104,7 +117,6 @@
 }
 
 
-
 /******************************************************************************/
 //
 /******************************************************************************/
--- a/Button.h	Tue Jun 04 14:19:35 2019 +0000
+++ b/Button.h	Fri Apr 17 14:05:36 2020 +0000
@@ -13,7 +13,7 @@
     public:                                                                     // public
         Button(PinName pBtn, PinMode  pBtnMode, float Time = 0);                // constructor
         void init();                                                            // initialisation
-        void polling(uint8_t *iNumBtn = NULL);                                      // polls and debounce the button 
+        void polling(uint8_t *iNumBtn = NULL);                                  // polls and debounce the button 
         bool isPressed();                                                       // bool value if button is pressed or not
         bool wasPressed();                                                      //
         bool isLongPress();