Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: SwFilter.cpp
- 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) {