summaryrefslogtreecommitdiff
path: root/Blink/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions
diff options
context:
space:
mode:
authorjaseg <git-bigdata-wsl-arch@jaseg.de>2020-05-03 19:53:02 +0200
committerjaseg <git-bigdata-wsl-arch@jaseg.de>2020-05-03 19:53:02 +0200
commit2628932a40d769d8d0180ba6fed1e7b9b2718982 (patch)
treeea485897653003d01cd16e2b506f69363928fafa /Blink/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions
parent972da3c0fd449dd6153edaf3c56e0c50d16b726b (diff)
downloadminikbd-2628932a40d769d8d0180ba6fed1e7b9b2718982.tar.gz
minikbd-2628932a40d769d8d0180ba6fed1e7b9b2718982.tar.bz2
minikbd-2628932a40d769d8d0180ba6fed1e7b9b2718982.zip
minkbd: repo restructure
Diffstat (limited to 'Blink/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions')
-rw-r--r--Blink/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/pid.c97
-rw-r--r--Blink/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/sin_cos.c21
2 files changed, 0 insertions, 118 deletions
diff --git a/Blink/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/pid.c b/Blink/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/pid.c
deleted file mode 100644
index 51aa633..0000000
--- a/Blink/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/pid.c
+++ /dev/null
@@ -1,97 +0,0 @@
-#include "ref.h"
-
-float32_t ref_pid_f32(
- arm_pid_instance_f32 * S,
- float32_t in)
-{
- float32_t out;
-
- /* y[n] = y[n-1] + A0 * x[n] + A1 * x[n-1] + A2 * x[n-2] */
- out = S->state[2] + S->A0 * in + S->A1 * S->state[0] + S->A2 * S->state[1];
-
- /* Update state */
- S->state[1] = S->state[0];
- S->state[0] = in;
- S->state[2] = out;
-
- /* return to application */
- return (out);
-}
-
-q31_t ref_pid_q31(
- arm_pid_instance_q31 * S,
- q31_t in)
-{
- q63_t acc;
- q31_t out;
-
- /* acc = A0 * x[n] */
- acc = (q63_t) S->A0 * in;
-
- /* acc += A1 * x[n-1] */
- acc += (q63_t) S->A1 * S->state[0];
-
- /* acc += A2 * x[n-2] */
- acc += (q63_t) S->A2 * S->state[1];
-
- /* convert output to 1.31 format to add y[n-1] */
- out = (q31_t) (acc >> 31U);
-
- /* out += y[n-1] */
- out += S->state[2];
-
- /* Update state */
- S->state[1] = S->state[0];
- S->state[0] = in;
- S->state[2] = out;
-
- /* return to application */
- return (out);
-}
-
-q15_t ref_pid_q15(
- arm_pid_instance_q15 * S,
- q15_t in)
-{
- q63_t acc;
- q15_t out;
- q15_t A1, A2;
-
-#if defined (ARM_MATH_DSP)
-
-#ifndef ARM_MATH_BIG_ENDIAN
- A2 = S->A1 >> 16;
- A1 = (q15_t)S->A1;
-#else
- A1 = S->A1 >> 16;
- A2 = (q15_t)S->A1;
-#endif
-
-#else
-
- A1 = S->A1;
- A2 = S->A2;
-
-#endif
-
- /* acc = A0 * x[n] */
- acc = ((q31_t) S->A0) * in;
-
- /* acc += A1 * x[n-1] + A2 * x[n-2] */
- acc += (q31_t) A1 * S->state[0];
- acc += (q31_t) A2 * S->state[1];
-
- /* acc += y[n-1] */
- acc += (q31_t) S->state[2] << 15;
-
- /* saturate the output */
- out = ref_sat_q15(acc >> 15);
-
- /* Update state */
- S->state[1] = S->state[0];
- S->state[0] = in;
- S->state[2] = out;
-
- /* return to application */
- return (out);
-}
diff --git a/Blink/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/sin_cos.c b/Blink/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/sin_cos.c
deleted file mode 100644
index 22c91a0..0000000
--- a/Blink/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/src/ControllerFunctions/sin_cos.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include "ref.h"
-
-void ref_sin_cos_f32(
- float32_t theta,
- float32_t * pSinVal,
- float32_t * pCosVal)
-{
- //theta is given in degrees
- *pSinVal = sinf(theta * 6.28318530717959f / 360.0f);
- *pCosVal = cosf(theta * 6.28318530717959f / 360.0f);
-}
-
-void ref_sin_cos_q31(
- q31_t theta,
- q31_t * pSinVal,
- q31_t * pCosVal)
-{
- //theta is given in the range [-1,1) to represent [-pi,pi)
- *pSinVal = (q31_t)(sinf((float32_t)theta * 3.14159265358979f / 2147483648.0f) * 2147483648.0f);
- *pCosVal = (q31_t)(cosf((float32_t)theta * 3.14159265358979f / 2147483648.0f) * 2147483648.0f);
-}