-data logging revision

Dependencies:   FastPWM

Committer:
ernstpre
Date:
Tue Aug 24 08:51:13 2021 +0000
Revision:
2:92c25cb669f4
Parent:
0:d2e117716219
Publish Commit 24/8/21

Who changed what in which revision?

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