Control project for the Lift-arm. Works with ROS Melodic

Dependencies:   mbed Servo ros_lib_melodic ULN2003_StepperDriver Async_4pin_Stepper

Revision:
5:71c2f193a7f9
Parent:
4:9edb248c6431
--- a/src/encoder.h	Mon May 31 16:47:02 2021 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-#ifndef KARBOT_ENCODER_H
-#define KARBOT_ENCODER_H
-
-/* Karbot encoder class
- *
- * This class is based upon the QEI class by Aaron Berk and the encoder class
- * I wrote during ESP in 2nd year
- *
- * Written by Simon Krogedal
- * 27/05/21
- * Team 9 4th Year project
- * 
- * for NUCLEO-F401RE
- * 
- */
- 
-#include "mbed.h"
- 
- 
-#define PREV_MASK 0x1 //Mask for the previous state in determining direction
-//of rotation.
-#define CURR_MASK 0x2 //Mask for the current state in determining direction
-//of rotation.
-#define INVALID   0x3 //XORing two states where both bits have changed.
-
-class encoder {
-    
-    private:
-        int         tot_clicks, temp_tot;   // clicks since last distance reset
-        double      click_rate, click_store;// clickrate
-        bool        c_d;                    // left or right bool
-        
-        /**
-         * Update the pulse count.
-         *
-         * Called on every rising/falling edge of channels A/B.
-         *
-         * Reads the state of the channels and determines whether a pulse forward
-         * or backward has occured, updating the count appropriately.
-         */
-        void encode(void);
-    
-        InterruptIn channelA_;
-        InterruptIn channelB_;
-    
-        int          pulsesPerRev_;
-        int          prevState_;
-        int          currState_;
-    
-        volatile int pulses_;
-
-    protected:
-    
-        Ticker      sampler;                // ticker object to sample speed
-        double      period, enc_const;      // sampling period and wheel constant
-        void sample_func(void);             // sample function
-        double getClicks(void);             // returns clickrate
-        
-    public:
-    
-        // Constructor takes 3 encoder input pins, CPR, left or right bool, sampling period, and a wheel-size constant
-        encoder(PinName chanA, PinName chanB, int CPR, bool c, double p, double ec);
-        
-        double getSpeed(void);      // returns wheel speed
-        double getDistance(void);   // returns distance travelled
-        double tempDist(void);      // returns distance travelled
-        void distRst(void);         // resets distance
-        void tempRst(void);         // resets distance
-        void start(void);           // starts recording distance
-        void reset(void);           // resets counting
-        
-        /**
-         * Read the state of the encoder.
-         *
-         * @return The current state of the encoder as a 2-bit number, where:
-         *         bit 1 = The reading from channel B
-         *         bit 2 = The reading from channel A
-         */
-        int getCurrentState(void);
-    
-        /**
-         * Read the number of pulses recorded by the encoder.
-         *
-         * @return Number of pulses which have occured.
-         */
-        int getPulses(void);
-    
-};
-
-#endif
\ No newline at end of file