Fix map() division by zero (#2848)

This commit is contained in:
Artur Bieniek 2019-06-05 13:48:13 +02:00 committed by Me No Dev
parent aae6f24a37
commit 89feacb813

View File

@ -65,9 +65,12 @@ long random(long howsmall, long howbig)
return random(diff) + howsmall; return random(diff) + howsmall;
} }
long map(long x, long in_min, long in_max, long out_min, long out_max) long map(long x, long in_min, long in_max, long out_min, long out_max) {
{ long divisor = (in_max - in_min);
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; if(divisor == 0){
return -1; //AVR returns -1, SAM returns 0
}
return (x - in_min) * (out_max - out_min) / divisor + out_min;
} }
unsigned int makeWord(unsigned int w) unsigned int makeWord(unsigned int w)