From 3f0be672f9c5a07a98be0dc703b95f1bbe73f33e Mon Sep 17 00:00:00 2001
From: nathansmithsmith <thenathansmithsmith@gmail.com>
Date: Sun, 9 Jul 2023 00:53:10 -0600
Subject: Mouse control working

---
 src/PID.h | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 src/PID.h

(limited to 'src/PID.h')

diff --git a/src/PID.h b/src/PID.h
new file mode 100644
index 0000000..649a113
--- /dev/null
+++ b/src/PID.h
@@ -0,0 +1,41 @@
+#include "gameCommon.h"
+
+#ifndef PID_H
+#define PID_H
+
+// Hehehehe! PID CONTROLLER INDEED!
+
+typedef struct PIDConfig {
+	float kP;
+	float kI;
+	float kD;
+
+	bool doClamp;
+	float min;
+	float max;
+} PIDConfig;
+
+typedef struct PID {
+	float p;
+	float i;
+	float d;
+
+	float kP;
+	float kI;
+	float kD;
+
+	bool doClamp;
+	float min;
+	float max;
+
+	float error;
+	float pastError;
+
+	float output;
+} PID;
+
+PID createPID(PIDConfig config);
+float runPID(float setpoint, float processValue, PID * pid);
+void resetPID(PID * pid);
+
+#endif
-- 
cgit v1.2.3