Minorly Fixed

Dependents:   AAA_Stabilus322699_LA0016 AAA_Stabilus322699_LA0018 AAA_Stabilus322699_LA0020 AAA_Stabilus322699_LA0021 ... more

Revision:
4:46e47753206d
Parent:
3:0db131925e56
diff -r 0db131925e56 -r 46e47753206d QEI.cpp
--- a/QEI.cpp	Fri Apr 08 05:25:22 2022 +0000
+++ b/QEI.cpp	Mon Apr 11 06:00:31 2022 +0000
@@ -128,14 +128,15 @@
  */
 #include "QEI.h"
 
-QEI::QEI    (PinName channelA,
+QEI::QEI(
+            PinName channelA,
             PinName channelB,
             PinName index,
-            int pulsesPerRev,
-            Encoding encoding): channelA_(channelA),
-                                channelB_(channelB),
-                                // led(LED2), 
-                                index_(index) {
+            int64_t pulsesPerRev,
+            Encoding encoding
+        ):  channelA_(channelA),
+            channelB_(channelB),
+            index_(index) {
 
     channelA_.mode(PullUp);     // LA:  Hall 1504 is Open Drain
     channelB_.mode(PullUp);     //
@@ -146,8 +147,8 @@
     encoding_ = encoding;
 
     //Workout what the current state is.
-    int chanA = channelA_.read();       // LA:  Includes a Method, outside
-    int chanB = channelB_.read();       //
+    int64_t chanA = channelA_.read();       // LA:  Includes a Method, outside
+    int64_t chanB = channelB_.read();       //
 
     //2-bit state.
     currState_ =    (chanA << 1)| (chanB);
@@ -174,15 +175,15 @@
     revolutions_ =  0;
 }
 
-int QEI::getCurrentState(void) {
+int64_t QEI::getCurrentState(void) {
     return currState_;
 }
 
-int QEI::getPulses(void) {
+int64_t QEI::getPulses(void) {
     return pulses_;
 }
 
-int QEI::getRevolutions(void) {
+int64_t QEI::getRevolutions(void) {
     return revolutions_;
 }
 
@@ -231,10 +232,8 @@
 // predict - if this is the case, it is generally safe to ignore it, update
 // the state and carry on, with the error correcting itself shortly after.
 void QEI::encode(void) {
-//    led  = !led;
-    int change = 0;
-//    int chanA  = channelA_.read();
-//    int chanB  = channelB_.read();
+int64_t change = 0;
+
     chanA = channelA_.read();
     chanB = channelB_.read();
 
@@ -246,18 +245,14 @@
         //11->00->11->00 is counter clockwise rotation or "forward".
         if ((prevState_ == 0x3 && currState_ == 0x0) ||
                 (prevState_ == 0x0 && currState_ == 0x3)) {
-
             pulses_++;
-
         }
         //10->01->10->01 is clockwise rotation or "backward".
         else if ((prevState_ == 0x2 && currState_ == 0x1) ||
                  (prevState_ == 0x1 && currState_ == 0x2)) {
 
             pulses_--;
-
         }
-
     } else if (encoding_ == X4_ENCODING) {
 
         //Entered a new valid state.
@@ -269,18 +264,13 @@
             if (change == 0) {
                 change = -1;
             }
-
             pulses_ -= change;
         }
 
     }
-
     prevState_ = currState_;
-
 }
 
 void QEI::index(void) {
-
     revolutions_++;
-
 }