Ruprecht Altenburger
/
mirror_actuator_preston
corrections altb2
ControllerLoop.h@0:d2e117716219, 2021-05-02 (annotated)
- Committer:
- altb2
- Date:
- Sun May 02 19:32:30 2021 +0000
- Revision:
- 0:d2e117716219
- Child:
- 3:8aa09988fa58
1st commit;
Who changed what in which revision?
User | Revision | Line number | New 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 | }; |