This class carries out software debouncing of Digitial in, and provides some method to look at details such as how many debounced rising and falling there have been, and how long the input has been in its current stable state.

Dependencies:   mbed

DebouncedIn.h

Committer:
chris
Date:
2009-11-27
Revision:
0:672241227e0d

File content as of revision 0:672241227e0d:

#include "mbed.h"

    class DebouncedIn {
        public:      
             DebouncedIn(PinName in);

             int read (void);
             operator int();
              
             int rising(void);
             int falling(void);
             int steady(void);
              
        private :    
               // objects
               DigitalIn _in;    
               Ticker _ticker;

               // function to take a sample, and update flags
               void _sample(void);

               // counters and flags
               int _samples;
               int _output;
               int _output_last;
               int _rising_flag;
               int _falling_flag;
               int _state_counter;

    };