Fork of mRotaryEncoder for mdeb-os. uses newer version of PinDetect. Testprogram: https://os.mbed.com/users/charly/code/mRotaryEncoder_HelloWorld-os/

Dependencies:   PinDetect

Dependents:   mRotaryEncoder_HelloWorld-os TMC2209-Test2

Revision:
12:1925aac090b7
Parent:
11:24b34deae975
--- a/mRotaryEncoder.cpp	Tue Mar 03 12:20:55 2020 +0000
+++ b/mRotaryEncoder.cpp	Tue Mar 16 20:19:04 2021 +0000
@@ -12,10 +12,10 @@
 
     // attach interrrupts on pinA
     if (detectRise != 0){
-        m_pinA->attach_asserted(this, &mRotaryEncoder::rise);
+        m_pinA->attach_asserted(callback(this, &mRotaryEncoder::rise));
     }
     if (detectFall != 0){
-        m_pinA->attach_deasserted(this, &mRotaryEncoder::fall);
+        m_pinA->attach_deasserted(callback(this, &mRotaryEncoder::fall));
     }
     
     //start sampling pinA
@@ -56,12 +56,18 @@
     if (*m_pinA == 0) {
         if (*m_pinB == 1) {
             m_position++;
-            rotCWIsr.call();
+            if (rotCWIsr) {
+                rotCWIsr();
+            }
         } else {
             m_position--;
-            rotCCWIsr.call();
+            if (rotCWIsr){
+                rotCCWIsr();
+            }
         }
-    rotIsr.call();                        // call the isr for rotation
+        if (rotIsr){
+            rotIsr();                        // call the isr for rotation
+        }
     }
 }
 
@@ -71,12 +77,18 @@
     if (*m_pinA == 1) {
         if (*m_pinB == 1) {
             m_position--;
-            rotCCWIsr.call();
+            if (rotCCWIsr){
+                rotCCWIsr();
+            }
         } else {
             m_position++;
-            rotCWIsr.call();
+            if (rotCWIsr){
+                rotCWIsr();
+            }
         }
-    rotIsr.call();                        // call the isr for rotation
+        if (rotIsr){
+            rotIsr();                        // call the isr for rotation
+        }
     }
 }