23 const double hysteresis_upper,
24 const double hysteresis_lower,
int *state,
25 double *output_value) {
28 if (input_value > threshold + hysteresis_upper) {
30 previous_state_ = *state;
31 *output_value = threshold + hysteresis_upper;
32 }
else if (input_value < threshold - hysteresis_lower) {
34 previous_state_ = *state;
35 *output_value = threshold - hysteresis_lower;
37 *state = previous_state_;
38 *output_value = input_value;