Mirror actuator for RT2 lab
Dependencies: Library_Cntrl Library_Misc
ControllerLoop.h
- Committer:
- altb2
- Date:
- 2021-04-01
- Revision:
- 6:9ebeffe446e4
- Parent:
- 5:768e10f6d372
- Child:
- 7:942fd77d5e19
File content as of revision 6:9ebeffe446e4:
#include "mbed.h" #include "EncoderCounter.h" #include "EncoderCounterIndex.h" #include "DiffCounter.h" #include "LinearCharacteristics.h" #include "ThreadFlag.h" #include "path_1d.h" #include "PIDT2_Cntrl.h" #include "Unwrapper_2pi.h" #include "Mirror_Kinematic.h" #include "data_structs.h" extern EncoderCounter counter1,counter2; extern EncoderCounterIndex index1,index2; extern DiffCounter diff1,diff2; extern path_1d *current_path; extern LinearCharacteristics i2u; //extern AnalogOut i_des1, i_des2; extern AnalogOut i_des2; extern DigitalOut i_enable; extern Timer glob_ti; extern Mirror_Kinematic mc; extern DigitalOut laser_on; extern DATA_Xchange data; extern DigitalOut led1; // 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); PIDT2_Cntrl v_cntrl[2]; Unwrapper_2pi uw2pi1; Unwrapper_2pi uw2pi2; };