8000 Fix `map()` bug in `WMath.cpp` · mikee47/Sming@df26ca2 · GitHub
[go: up one dir, main page]

Skip to content

Commit df26ca2

Browse files
committed
Fix map() bug in WMath.cpp
Closes SmingHub#1634 Known bug in Arduino core, fixed 18/8/2016 esp8266/Arduino#2408
1 parent f177628 commit df26ca2

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

Sming/Wiring/WMath.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,11 @@ long random(long howsmall, long howbig)
8080

8181

8282
long map 6D8D (long x, long in_min, long in_max, long out_min, long out_max) {
83-
long divisor = (in_max - in_min) + out_min;
83+
long divisor = in_max - in_min;
8484
if(divisor == 0){
8585
return -1; //AVR returns -1, SAM returns 0
8686
}
87-
return (x - in_min) * (out_max - out_min) / divisor;
87+
return ( (x - in_min) * (out_max - out_min) / divisor ) + out_min;
8888
}
8989

9090

0 commit comments

Comments
 (0)
0