robot

Dependencies:   FastPWM3 mbed

Revision:
42:030e0ec4eac5
Child:
192:3152a86cd108
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Transforms/Transforms.cpp	Fri Jan 06 07:54:22 2017 +0000
@@ -0,0 +1,23 @@
+#include "math.h"
+
+#include "Transforms.h"
+
+void clarke(float a, float b, float *alpha, float *beta) {
+    *alpha = a;
+    *beta = 1 / sqrtf(3.0f) * a + 2 / sqrtf(3.0f) * b;
+}
+
+void park(float alpha, float beta, float sin_p, float cos_p, float *d, float *q) {
+    *d = alpha * cos_p + beta * sin_p;
+    *q = -alpha * sin_p + beta * cos_p;
+}
+
+void invpark(float d, float q, float sin_p, float cos_p, float *alpha, float *beta) {
+    *alpha = d * cos_p - q * sin_p;
+    *beta = d * sin_p + q * cos_p;
+}
+
+void invclarke(float alpha, float beta, float *a, float *b) {
+    *a = alpha;
+    *b = -0.5f * alpha + sqrtf(3) / 2.0f * beta;
+}