1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-20 06:45:16 +03:00

Improved 'applyDeadband()', added 'fapplyDeadband()' at @diehertz' request.

This commit is contained in:
mikeller 2018-06-09 22:05:05 +12:00
parent 54c3363719
commit affaf86f0d
2 changed files with 10 additions and 16 deletions

View file

@ -118,28 +118,22 @@ float powerf(float base, int exp) {
return result; return result;
} }
int32_t applyDeadband(int32_t value, int32_t deadband) int32_t applyDeadband(const int32_t value, const int32_t deadband)
{ {
if (ABS(value) < deadband) { if (ABS(value) < deadband) {
value = 0; return 0;
} else if (value > 0) {
value -= deadband;
} else if (value < 0) {
value += deadband;
} }
return value;
return value >= 0 ? value - deadband : value + deadband;
} }
float fapplyDeadband(float value, float deadband) float fapplyDeadband(const float value, const float deadband)
{ {
if (fabsf(value) < deadband) { if (fabsf(value) < deadband) {
value = 0; return 0;
} else if (value > 0) {
value -= deadband;
} else if (value < 0) {
value += deadband;
} }
return value;
return value >=0 ? value - deadband : value + deadband;
} }
void devClear(stdev_t *dev) void devClear(stdev_t *dev)

View file

@ -90,8 +90,8 @@ typedef union {
int gcd(int num, int denom); int gcd(int num, int denom);
float powerf(float base, int exp); float powerf(float base, int exp);
int32_t applyDeadband(int32_t value, int32_t deadband); int32_t applyDeadband(const int32_t value, const int32_t deadband);
float fapplyDeadband(float value, float deadband); float fapplyDeadband(const float value, const float deadband);
void devClear(stdev_t *dev); void devClear(stdev_t *dev);
void devPush(stdev_t *dev, float x); void devPush(stdev_t *dev, float x);