diff options
Diffstat (limited to 'src/control.c')
-rw-r--r-- | src/control.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/control.c b/src/control.c index d952f7f..44aadc9 100644 --- a/src/control.c +++ b/src/control.c @@ -34,6 +34,22 @@ cc_fix(cc_t *cc) } void +cc_set(cc_t *cc, float value) +{ + float new_value; + if (value >= cc->max) { + new_value = cc->max; + } else if (value <= cc->min) { + new_value = cc->min; + } else { + new_value = value; + } + + // calculate mod + cc->mod = new_value - cc->target; +} + +void cc_reset(cc_t *cc) { cc->target = cc->def; |