Mirror actuator for RT2 lab

Dependencies:   FastPWM

Committer:
altb2
Date:
Sun May 02 08:55:44 2021 +0000
Revision:
16:28b6bb8a4b7f
Parent:
8:49ac75c42da0
Final commit 4 students

Who changed what in which revision?

UserRevisionLine numberNew contents of line
altb2 5:768e10f6d372 1 #include "mbed.h"
altb2 5:768e10f6d372 2 #include "EncoderCounter.h"
altb2 5:768e10f6d372 3 #include "EncoderCounterIndex.h"
altb2 5:768e10f6d372 4 #include "DiffCounter.h"
altb2 5:768e10f6d372 5 #include "LinearCharacteristics.h"
altb2 5:768e10f6d372 6 #include "ThreadFlag.h"
altb2 5:768e10f6d372 7 #include "path_1d.h"
altb2 5:768e10f6d372 8 #include "Unwrapper_2pi.h"
altb2 6:9ebeffe446e4 9 #include "Mirror_Kinematic.h"
altb2 6:9ebeffe446e4 10 #include "data_structs.h"
altb2 8:49ac75c42da0 11 #include "GPA.h"
altb2 8:49ac75c42da0 12 #include "FastPWM.h"
altb2 5:768e10f6d372 13
altb2 5:768e10f6d372 14 extern EncoderCounter counter1,counter2;
altb2 5:768e10f6d372 15 extern EncoderCounterIndex index1,index2;
altb2 5:768e10f6d372 16 extern DiffCounter diff1,diff2;
altb2 5:768e10f6d372 17 extern path_1d *current_path;
altb2 6:9ebeffe446e4 18 extern LinearCharacteristics i2u;
altb2 8:49ac75c42da0 19 extern LinearCharacteristics u2i;
altb2 8:49ac75c42da0 20 //extern FastPWM i_des1;
altb2 8:49ac75c42da0 21 extern AnalogOut i_des1;
altb2 8:49ac75c42da0 22 extern AnalogOut i_des2;
altb2 5:768e10f6d372 23 extern DigitalOut i_enable;
altb2 8:49ac75c42da0 24 extern DigitalIn big_button;
altb2 5:768e10f6d372 25 extern Timer glob_ti;
altb2 7:942fd77d5e19 26 extern Mirror_Kinematic mk;
altb2 6:9ebeffe446e4 27 extern DigitalOut laser_on;
altb2 6:9ebeffe446e4 28 extern DATA_Xchange data;
altb2 8:49ac75c42da0 29 extern GPA myGPA;
altb2 8:49ac75c42da0 30 //extern AnalogIn i_act2;
altb2 5:768e10f6d372 31
altb2 5:768e10f6d372 32 // This is the loop class, it is not a controller at first hand, it guarantees a cyclic call
altb2 5:768e10f6d372 33 class ControllerLoop
altb2 5:768e10f6d372 34 {
altb2 5:768e10f6d372 35 public:
altb2 5:768e10f6d372 36 ControllerLoop(float Ts);
altb2 5:768e10f6d372 37 virtual ~ControllerLoop();
altb2 6:9ebeffe446e4 38 void start_loop(void);
altb2 6:9ebeffe446e4 39 void init_controllers(void);
altb2 6:9ebeffe446e4 40
altb2 5:768e10f6d372 41
altb2 5:768e10f6d372 42
altb2 5:768e10f6d372 43 private:
altb2 5:768e10f6d372 44 void loop(void);
altb2 5:768e10f6d372 45 Thread thread;
altb2 5:768e10f6d372 46 Ticker ticker;
altb2 5:768e10f6d372 47 ThreadFlag threadFlag;
altb2 5:768e10f6d372 48 Timer ti;
altb2 5:768e10f6d372 49 float Ts;
altb2 5:768e10f6d372 50 void sendSignal();
altb2 6:9ebeffe446e4 51 bool is_initialized;
altb2 6:9ebeffe446e4 52 void find_index(void);
altb2 6:9ebeffe446e4 53 Unwrapper_2pi uw2pi1;
altb2 6:9ebeffe446e4 54 Unwrapper_2pi uw2pi2;
altb2 7:942fd77d5e19 55 float pos_cntrl(float);
altb2 7:942fd77d5e19 56 float Kv;
altb2 7:942fd77d5e19 57 DigitalOut dout1;
altb2 5:768e10f6d372 58 };