Class mRotaryEncoder for mechanical incremental rotary encoders with pushbuttons. Use debouncing and callback-functions for rotation and pressing of button. This version is for old mbed. New version for mbed-os see https://os.mbed.com/users/charly/code/mRotaryEncoder-os/

Dependencies:   PinDetect

Dependents:   SimplePIDBot FinalProgram VS1053Player SPK-DVIMXR ... more

Revision:
7:ec80fd9c0c08
Parent:
5:75ddffaf3721
Child:
10:2502b829d452
--- a/mRotaryEncoder.cpp	Wed Mar 11 21:08:31 2015 +0000
+++ b/mRotaryEncoder.cpp	Wed Mar 11 21:45:46 2015 +0000
@@ -52,8 +52,10 @@
     if (*m_pinA == 0) {
         if (*m_pinB == 1) {
             m_position++;
+            rotCWIsr.call();
         } else {
             m_position--;
+            rotCCWIsr.call();
         }
     }
     rotIsr.call();                        // call the isr for rotation
@@ -65,8 +67,10 @@
     if (*m_pinA == 1) {
         if (*m_pinB == 1) {
             m_position--;
+            rotCCWIsr.call();
         } else {
             m_position++;
+            rotCWIsr.call();
         }
     }
     rotIsr.call();                        // call the isr for rotation