masashi morikawa / Mbed 2 deprecated SwFilter
Revision:
1:2cffe4a04ff9
Parent:
0:8b77bbfc37ea
Child:
2:74b6e99bc443
--- a/SwFilter.cpp	Wed Aug 03 02:57:35 2011 +0000
+++ b/SwFilter.cpp	Fri Aug 05 02:44:37 2011 +0000
@@ -13,7 +13,8 @@
 //     _samples = 0;
 //     _output = 0;
 //     _output_last = 0;
-//     _rising_flag = 0;
+     _rising_flag = 0;
+     _falling_flag = 0;
      _filter1 = 0;
      _filter2 = 0;
      _filter_sw = 0;
@@ -39,6 +40,14 @@
     {
         _filter_sw = _filter2;
     }
+    if (!_filter1 && _filter2)
+    {
+        _rising_flag++;
+    }
+    if (_filter1 && !_filter2)
+    {
+        _falling_flag++;
+    }
  } 
  
  int SwFilter::filter(void) {
@@ -47,11 +56,19 @@
  }
  
  // return number of rising edges
-// int Pswitch::count(void) {
-//     int return_value = _rising_flag; 
-//     _rising_flag = 0;
-//     return(return_value);
-// }
+ int SwFilter::rise(void) {
+     int return_value = _rising_flag; 
+     _rising_flag = 0;
+     return(return_value);
+ }
+ 
+ // return number of falling edges
+ int SwFilter::fall(void) {
+     int return_value = _falling_flag; 
+     _rising_flag = 0;
+     return(return_value);
+ }
+ 
  
  // return the debounced status
  int SwFilter::read(void) {