corrections altb2

Dependencies:   FastPWM

Revision:
0:d2e117716219
Child:
3:8aa09988fa58
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ControllerLoop.h	Sun May 02 19:32:30 2021 +0000
@@ -0,0 +1,60 @@
+#include "mbed.h"
+#include "EncoderCounter.h"
+#include "EncoderCounterIndex.h"
+#include "DiffCounter.h"
+#include "LinearCharacteristics.h"
+#include "ThreadFlag.h"
+#include "path_1d.h"
+#include "PID_Cntrl.h"
+#include "Unwrapper_2pi.h"
+#include "Mirror_Kinematic.h"
+#include "data_structs.h"
+#include "GPA.h"
+#include "FastPWM.h"
+
+extern EncoderCounter counter1,counter2;
+extern EncoderCounterIndex index1,index2;
+extern DiffCounter diff1,diff2;
+extern path_1d *current_path;
+extern LinearCharacteristics i2u;
+extern LinearCharacteristics u2i;
+//extern FastPWM i_des1;
+extern AnalogOut i_des1;
+extern AnalogOut i_des2;
+extern DigitalOut i_enable;
+extern DigitalIn big_button;
+extern Timer glob_ti;
+extern Mirror_Kinematic mk;
+extern DigitalOut laser_on;
+extern DATA_Xchange data;
+extern GPA myGPA;
+//extern AnalogIn i_act2;
+
+// This is the loop class, it is not a controller at first hand, it guarantees a cyclic call
+class ControllerLoop
+{
+public:
+    ControllerLoop(float Ts);
+    virtual     ~ControllerLoop();
+    void start_loop(void);
+    void init_controllers(void);
+    
+
+
+private:
+    void loop(void);
+    Thread thread;
+    Ticker ticker;
+    ThreadFlag threadFlag;
+    Timer ti;
+    float Ts;
+    void sendSignal();
+    bool is_initialized;
+    void find_index(void);
+    PID_Cntrl v_cntrl[2];
+    Unwrapper_2pi uw2pi1;
+    Unwrapper_2pi uw2pi2;
+    float pos_cntrl(float);
+    float Kv;
+    DigitalOut dout1;
+};