Matti Borchers / Mbed 2 deprecated mbed_amf_controlsystem_iO_copy

Dependencies:   mbed-rtos mbed

Fork of mbed_amf_controlsystem_iO_copy by Oliver Wenzel

Revision:
3:391c4639bc7d
Child:
4:f0be27a5a83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Controller/QuadratureController.h	Thu Feb 04 08:54:06 2016 +0000
@@ -0,0 +1,32 @@
+#ifndef QUADRATURE_CONTROLLER_H
+#define QUADRATURE_CONTROLLER_H
+
+#include <mbed.h>
+#include <I2C.h>
+#include "rtos.h"
+
+/*
+ * Necessary for strcut sizes
+ */
+#pragma pack (1)
+
+class QuadratureController{
+
+private:
+    PwmOut *pwmOut;
+    Queue<float, 2> *quadrature_queue;
+    Queue<float, 2> *imu_queue_steering_angle;
+    osEvent steering_angle_set_event, steering_angle_current_event;
+    
+    uint8_t timer_steering_angle_sampling_time;
+    float q_Kp, q_Ki, feed_forward_control_factor, q_esum, feed_forward, q_Ki_sampling_time;
+    float q_PI_controller, q_PWM, q_e, q_output, steering_angle_set, steering_angle_current;
+    
+    void init();
+    void check_queues();
+public:
+    QuadratureController(PwmOut *pwmOut);
+    void cylic_control(void const *args);
+};
+
+#endif
\ No newline at end of file