Lines Matching +full:input +full:- +full:value

1 // SPDX-License-Identifier: Apache-2.0
2 // SPDX-FileCopyrightText: Copyright 2017 Google Inc
13 double PIDController::calPIDOutput(double setpt, double input, in calPIDOutput() argument
19 if (info->checkHysterWithSetpt) in calPIDOutput()
22 if (input > (setpt + info->positiveHysteresis)) in calPIDOutput()
25 output = ec::pid(info, input, setpt, &name); in calPIDOutput()
29 // value in calPIDOutput()
30 lastInput = input; in calPIDOutput()
33 else if (input < (setpt - info->negativeHysteresis)) in calPIDOutput()
36 info->integral = 0; in calPIDOutput()
42 lastInput = input; in calPIDOutput()
43 output = info->lastOutput; in calPIDOutput()
46 info->lastOutput = output; in calPIDOutput()
51 if (info->positiveHysteresis == 0 && info->negativeHysteresis == 0) in calPIDOutput()
54 output = ec::pid(info, input, setpt, &name); in calPIDOutput()
58 // value in calPIDOutput()
59 lastInput = input; in calPIDOutput()
63 // initialize if the value is not set (NAN) or abnormal (+INF or in calPIDOutput()
64 // -INF) in calPIDOutput()
67 lastInput = input; in calPIDOutput()
72 else if ((input - lastInput) > info->positiveHysteresis) in calPIDOutput()
74 lastInput = input; in calPIDOutput()
76 else if ((lastInput - input) > info->negativeHysteresis) in calPIDOutput()
78 lastInput = input; in calPIDOutput()
90 double input; in process() local
94 // Get setpt value in process()
97 // Get input value in process()
98 input = inputProc(); in process()
102 // Calculate output value in process()
103 output = calPIDOutput(setpt, input, info); in process()
105 info->lastOutput = output; in process()
107 // Output new value in process()