I have been playing with this idea for a while, and was wondering what others thought.
float kPb = 1.0;
float kIb = 1.0;
float kDb =1.0;
float kLb = 50.0;
task buttonPID(){
int error = 0;
int pError = 0;
int p = 0;
int i = 0;
int d = 0;
while(true){
error = targetValue - SensorValue[BTN1];
p = error;
i = abs(i + error]) < kLb ? i+ error : sgn(i + error)*kLb;
d = error - pError;
pError = error;
}
SensorValue[BTN1] = p*kPb + i*kIb + d*kDp;
}
THIS IS A JOKE