library to use pid easier

Revision:
2:77ef3d60d8d9
Parent:
1:ebb9cfc0cff5
Child:
3:80e7ed9fdb02
--- a/PID_lib.cpp	Sun Oct 16 10:07:21 2022 +0000
+++ b/PID_lib.cpp	Sun Oct 16 11:14:26 2022 +0000
@@ -1,28 +1,12 @@
 #include "PID_lib.h"
-#include "mbed.h"
+
 
-PID_lib::PID_lib(PinName direksi1, PinName direksi2, PinName pulseWidth, float rpm) : dir1(direksi1), dir2(direksi2), pwm(pulseWidth), rpm(rpm){
+PID_lib::PID_lib(PinName direksi1, PinName direksi2, PinName pulseWidth) : dir1(direksi1), dir2(direksi2), pwm(pulseWidth){
     rpm = rpm; 
     dir1 = 0;
     dir2 = 0;
     pwm = 0;
     
-//    float kpA = 0.007770; 
-//    float kiA = 0.003297; 
-//    float kdA = 0.000015;
-//
-//    float kpB = 0.03134; 
-//    float kiB = 0.003605; 
-//    float kdB = 0.001002;
-//
-//    float kpC = 0.02040;  
-//    float kiC = 0.003292; 
-//    float kdC = 0.000015;
-//
-//    float kpD = 0.02031; 
-//    float kiD = 0.002760; 
-//    float kdD = 3.943e-04;
-    
     float ppr = 540.0f;
     float phi = 3.14285714;
     
@@ -36,14 +20,14 @@
 
 
 
-void pid_pwm(float target, float kp_,float ki_,float kd_){
+void PID_lib::pid_pwm(float target, float kp_,float ki_,float kd_, float rpm){
   tim = t;
   dt = tim - lastime;
 
   rpmFilt = 0.03046875*rpm + 0.03046875*rpmn1 + 0.93906251*rpmFiltn1;//10hz filter 
 
   //error computing start          
-  e = sp - rpmFilt;
+  e = target - rpmFilt;
   eI += e;
   eD = e - laste;
   //error computing end
@@ -90,10 +74,10 @@
   //pwm saturasi end
   
   //motor start
-  pwm = fabs(pwmLebih1);
+  pwm = fabs(pwmLebih);
   //motor end
   
   lastPid = pidPwm;
-  pc.printf("%f\n", pwmLebih);
+  printf("%f\n", pwmLebih);
 }