You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
|
|
|
#ifndef _common_h
|
|
|
|
#define _common_h
|
|
|
|
|
|
|
|
inline long maplong(long x, long in_min, long in_max, long out_min, long out_max) {
|
|
|
|
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
|
|
|
|
}
|
|
|
|
|
|
|
|
inline float32_t mapfloat(float32_t val, float32_t in_min, float32_t in_max, float32_t out_min, float32_t out_max)
|
|
|
|
{
|
|
|
|
return (val - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
|
|
|
|
}
|
|
|
|
|
|
|
|
inline float32_t mapfloat(int val, int in_min, int in_max, float32_t out_min, float32_t out_max)
|
|
|
|
{
|
|
|
|
return (val - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
|
|
|
|
}
|
|
|
|
|
|
|
|
#define constrain(amt, low, high) ({ \
|
|
|
|
__typeof__(amt) _amt = (amt); \
|
|
|
|
__typeof__(low) _low = (low); \
|
|
|
|
__typeof__(high) _high = (high); \
|
|
|
|
(_amt < _low) ? _low : ((_amt > _high) ? _high : _amt); \
|
|
|
|
})
|
|
|
|
|
|
|
|
#endif
|