was spricht dagegen das einfach mal zu testen? Die Funktion steht doch super in der Doku beschrieben:
map() - Arduino Reference (ganz am Ende als Appendix)
Ein einfaches C++ Programm in der man die Funktion 1:1 kopiert liefert folgendes:
#include <iostream>
long map(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;
}
int main(int argc, char** argv ){
for (int i= 0;i<101;i++) {
std::cout << "map(" << i << ",100,0,0,255) = " << map(i,0,100,0,255) << std::endl;
}
return 0;
}
map(0,100,0,0,255) = 255
map(1,100,0,0,255) = 252
map(2,100,0,0,255) = 249
map(3,100,0,0,255) = 247
map(4,100,0,0,255) = 244
map(5,100,0,0,255) = 242
map(6,100,0,0,255) = 239
map(7,100,0,0,255) = 237
map(8,100,0,0,255) = 234
map(9,100,0,0,255) = 232
map(10,100,0,0,255) = 229
map(11,100,0,0,255) = 226
map(12,100,0,0,255) = 224
map(13,100,0,0,255) = 221
map(14,100,0,0,255) = 219
map(15,100,0,0,255) = 216
map(16,100,0,0,255) = 214
map(17,100,0,0,255) = 211
map(18,100,0,0,255) = 209
map(19,100,0,0,255) = 206
map(20,100,0,0,255) = 204
map(21,100,0,0,255) = 201
map(22,100,0,0,255) = 198
map(23,100,0,0,255) = 196
map(24,100,0,0,255) = 193
map(25,100,0,0,255) = 191
map(26,100,0,0,255) = 188
map(27,100,0,0,255) = 186
map(28,100,0,0,255) = 183
map(29,100,0,0,255) = 181
map(30,100,0,0,255) = 178
map(31,100,0,0,255) = 175
map(32,100,0,0,255) = 173
map(33,100,0,0,255) = 170
map(34,100,0,0,255) = 168
map(35,100,0,0,255) = 165
map(36,100,0,0,255) = 163
map(37,100,0,0,255) = 160
map(38,100,0,0,255) = 158
map(39,100,0,0,255) = 155
map(40,100,0,0,255) = 153
map(41,100,0,0,255) = 150
map(42,100,0,0,255) = 147
map(43,100,0,0,255) = 145
map(44,100,0,0,255) = 142
map(45,100,0,0,255) = 140
map(46,100,0,0,255) = 137
map(47,100,0,0,255) = 135
map(48,100,0,0,255) = 132
map(49,100,0,0,255) = 130
map(50,100,0,0,255) = 127
map(51,100,0,0,255) = 124
map(52,100,0,0,255) = 122
map(53,100,0,0,255) = 119
map(54,100,0,0,255) = 117
map(55,100,0,0,255) = 114
map(56,100,0,0,255) = 112
map(57,100,0,0,255) = 109
map(58,100,0,0,255) = 107
map(59,100,0,0,255) = 104
map(60,100,0,0,255) = 102
map(61,100,0,0,255) = 99
map(62,100,0,0,255) = 96
map(63,100,0,0,255) = 94
map(64,100,0,0,255) = 91
map(65,100,0,0,255) = 89
map(66,100,0,0,255) = 86
map(67,100,0,0,255) = 84
map(68,100,0,0,255) = 81
map(69,100,0,0,255) = 79
map(70,100,0,0,255) = 76
map(71,100,0,0,255) = 73
map(72,100,0,0,255) = 71
map(73,100,0,0,255) = 68
map(74,100,0,0,255) = 66
map(75,100,0,0,255) = 63
map(76,100,0,0,255) = 61
map(77,100,0,0,255) = 58
map(78,100,0,0,255) = 56
map(79,100,0,0,255) = 53
map(80,100,0,0,255) = 51
map(81,100,0,0,255) = 48
map(82,100,0,0,255) = 45
map(83,100,0,0,255) = 43
map(84,100,0,0,255) = 40
map(85,100,0,0,255) = 38
map(86,100,0,0,255) = 35
map(87,100,0,0,255) = 33
map(88,100,0,0,255) = 30
map(89,100,0,0,255) = 28
map(90,100,0,0,255) = 25
map(91,100,0,0,255) = 22
map(92,100,0,0,255) = 20
map(93,100,0,0,255) = 17
map(94,100,0,0,255) = 15
map(95,100,0,0,255) = 12
map(96,100,0,0,255) = 10
map(97,100,0,0,255) = 7
map(98,100,0,0,255) = 5
map(99,100,0,0,255) = 2
map(100,100,0,0,255) = 0
Die Antwort ist also ganz einfach: ja.
Alternativ wäre ja auch ein einfaches "map(100-x,0,100,0,255)" gegangen.
Mario.