From cd15d89aface4f867c4b90b49535730ee5c5e5df Mon Sep 17 00:00:00 2001 From: Asher Lieber Date: Mon, 24 Jul 2017 17:32:10 -0400 Subject: [PATCH] added _map --- simpleio.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/simpleio.py b/simpleio.py index a8068f9..4b26105 100644 --- a/simpleio.py +++ b/simpleio.py @@ -159,3 +159,10 @@ def __getitem__(self, index): def __len__(self): return len(self.buf) // self.bpp + +def _map(x, in_min, in_max, out_min, out_max): + """ + Maps a number from one range to another. + Note: This implementation handles values < in_min differently than arduino's map function does. + """ + return max(min((x-in_min) * (out_max - out_min) / (in_max-in_min) + out_min, out_max), out_min)