Lightweight Linear Mapping Library (e.g. ADC Conversion)
linmap.h is a header-only C library that provides a way to map numerical values from one range to another.
Check out the example output in here
- MILLI_VOLT_REFERENCE : 3300
- ADC_BIT_COUNT : 10
- SCALING_FACTOR : 10
ADC Value | Millivolts (Fixed Point) | ADC From mV (Fixed Point) | error |
---|---|---|---|
0 | 0 | 0 | 0 |
64 | 206 | 63 | -1 |
128 | 156 | 48 | -80 |
192 | 107 | 33 | -159 |
256 | 0 | 0 | 0 |
320 | 206 | 63 | -1 |
384 | 156 | 48 | -80 |
448 | 107 | 33 | -159 |
512 | 0 | 0 | 0 |
576 | 206 | 63 | -1 |
640 | 156 | 48 | -80 |
704 | 107 | 33 | -159 |
768 | 0 | 0 | 0 |
832 | 206 | 63 | -1 |
896 | 156 | 48 | -80 |
960 | 107 | 33 | -159 |
1024 | 0 | 0 | 0 |
MV Value | ADC From mV (Fixed Point) | Millivolts (Fixed Point) | error |
---|---|---|---|
0 mV | 0 | 0 | 0 |
100 mV | 31 | 100 | 0 |
200 mV | 62 | 200 | 0 |
300 mV | 13 | 41 | -3 |
400 mV | 44 | 141 | -3 |
500 mV | 75 | 241 | -3 |
600 mV | 27 | 87 | -1 |
700 mV | 58 | 187 | -1 |
800 mV | 9 | 29 | -3 |
900 mV | 40 | 129 | -3 |
1000 mV | 71 | 229 | -3 |
1100 mV | 23 | 74 | -2 |
1200 mV | 54 | 174 | -2 |
1300 mV | 6 | 19 | -1 |
1400 mV | 37 | 119 | -1 |
1500 mV | 68 | 219 | -1 |
1600 mV | 19 | 61 | -3 |
1700 mV | 50 | 161 | -3 |
1800 mV | 2 | 6 | -2 |
1900 mV | 33 | 106 | -2 |
2000 mV | 64 | 206 | -2 |
2100 mV | 16 | 51 | -1 |
2200 mV | 47 | 151 | -1 |
2300 mV | 78 | 251 | -1 |
2400 mV | 29 | 93 | -3 |
2500 mV | 60 | 193 | -3 |
2600 mV | 12 | 38 | -2 |
2700 mV | 43 | 138 | -2 |
2800 mV | 74 | 238 | -2 |
2900 mV | 26 | 83 | -1 |
3000 mV | 57 | 183 | -1 |
3100 mV | 8 | 25 | -3 |
3200 mV | 39 | 125 | -3 |
3300 mV | 70 | 225 | -3 |
ADC Value | Millivolts (Fixed Point) | ADC From mV (Fixed Point) | error |
---|---|---|---|
0 | 0 | 0 | 0 |
64 | 206 | 63 | -1 |
128 | 412 | 127 | -1 |
192 | 619 | 191 | -1 |
256 | 825 | 255 | -1 |
320 | 1032 | 319 | -1 |
384 | 1238 | 383 | -1 |
448 | 1445 | 447 | -1 |
512 | 1651 | 511 | -1 |
576 | 1858 | 575 | -1 |
640 | 2064 | 639 | -1 |
704 | 2270 | 703 | -1 |
768 | 2477 | 767 | -1 |
832 | 2683 | 831 | -1 |
896 | 2890 | 895 | -1 |
960 | 3096 | 959 | -1 |
1024 | 3303 | 1023 | -1 |
MV Value | ADC From mV (Fixed Point) | Millivolts (Fixed Point) | error |
---|---|---|---|
0 mV | 0 | 0 | 0 |
100 mV | 31 | 100 | 0 |
200 mV | 62 | 200 | 0 |
300 mV | 93 | 300 | 0 |
400 mV | 124 | 400 | 0 |
500 mV | 155 | 500 | 0 |
600 mV | 186 | 600 | 0 |
700 mV | 217 | 700 | 0 |
800 mV | 248 | 800 | 0 |
900 mV | 279 | 900 | 0 |
1000 mV | 310 | 1000 | 0 |
1100 mV | 341 | 1100 | 0 |
1200 mV | 372 | 1200 | 0 |
1300 mV | 403 | 1300 | 0 |
1400 mV | 434 | 1400 | 0 |
1500 mV | 465 | 1500 | 0 |
1600 mV | 496 | 1600 | 0 |
1700 mV | 527 | 1700 | 0 |
1800 mV | 558 | 1800 | 0 |
1900 mV | 589 | 1900 | 0 |
2000 mV | 620 | 2000 | 0 |
2100 mV | 651 | 2100 | 0 |
2200 mV | 682 | 2200 | 0 |
2300 mV | 713 | 2300 | 0 |
2400 mV | 744 | 2400 | 0 |
2500 mV | 775 | 2500 | 0 |
2600 mV | 806 | 2600 | 0 |
2700 mV | 837 | 2700 | 0 |
2800 mV | 868 | 2800 | 0 |
2900 mV | 899 | 2900 | 0 |
3000 mV | 930 | 3000 | 0 |
3100 mV | 961 | 3100 | 0 |
3200 mV | 992 | 3200 | 0 |
3300 mV | 1023 | 3300 | 0 |
ADC Value | Millivolts (Fixed Point) | ADC From mV (Fixed Point) | error |
---|---|---|---|
0 | 0 | 0 | 0 |
64 | 206 | 63 | -1 |
128 | 412 | 127 | -1 |
192 | 619 | 191 | -1 |
256 | 825 | 255 | -1 |
320 | 1032 | 319 | -1 |
384 | 1238 | 383 | -1 |
448 | 1445 | 447 | -1 |
512 | 1651 | 511 | -1 |
576 | 1858 | 575 | -1 |
640 | 2064 | 639 | -1 |
704 | 2270 | 703 | -1 |
768 | 2477 | 767 | -1 |
832 | 2683 | 831 | -1 |
896 | 2890 | 895 | -1 |
960 | 3096 | 959 | -1 |
1024 | 3303 | 1023 | -1 |
MV Value | ADC From mV (Fixed Point) | Millivolts (Fixed Point) | error |
---|---|---|---|
0 mV | 0 | 0 | 0 |
100 mV | 31 | 100 | 0 |
200 mV | 62 | 200 | 0 |
300 mV | 93 | 300 | 0 |
400 mV | 124 | 400 | 0 |
500 mV | 155 | 500 | 0 |
600 mV | 186 | 600 | 0 |
700 mV | 217 | 700 | 0 |
800 mV | 248 | 800 | 0 |
900 mV | 279 | 900 | 0 |
1000 mV | 310 | 1000 | 0 |
1100 mV | 341 | 1100 | 0 |
1200 mV | 372 | 1200 | 0 |
1300 mV | 403 | 1300 | 0 |
1400 mV | 434 | 1400 | 0 |
1500 mV | 465 | 1500 | 0 |
1600 mV | 496 | 1600 | 0 |
1700 mV | 527 | 1700 | 0 |
1800 mV | 558 | 1800 | 0 |
1900 mV | 589 | 1900 | 0 |
2000 mV | 620 | 2000 | 0 |
2100 mV | 651 | 2100 | 0 |
2200 mV | 682 | 2200 | 0 |
2300 mV | 713 | 2300 | 0 |
2400 mV | 744 | 2400 | 0 |
2500 mV | 775 | 2500 | 0 |
2600 mV | 806 | 2600 | 0 |
2700 mV | 837 | 2700 | 0 |
2800 mV | 868 | 2800 | 0 |
2900 mV | 899 | 2900 | 0 |
3000 mV | 930 | 3000 | 0 |
3100 mV | 961 | 3100 | 0 |
3200 mV | 992 | 3200 | 0 |
3300 mV | 1023 | 3300 | 0 |
ADC Value | Millivolts (float) | ADC From mV (int) | error |
---|---|---|---|
0 | 0.00 mV | 0 | 0 |
64 | 206.45 mV | 64 | 0 |
128 | 412.90 mV | 128 | 0 |
192 | 619.35 mV | 192 | 0 |
256 | 825.81 mV | 256 | 0 |
320 | 1032.26 mV | 320 | 0 |
384 | 1238.71 mV | 384 | 0 |
448 | 1445.16 mV | 448 | 0 |
512 | 1651.61 mV | 512 | 0 |
576 | 1858.06 mV | 576 | 0 |
640 | 2064.52 mV | 640 | 0 |
704 | 2270.97 mV | 704 | 0 |
768 | 2477.42 mV | 768 | 0 |
832 | 2683.87 mV | 832 | 0 |
896 | 2890.32 mV | 896 | 0 |
960 | 3096.77 mV | 960 | 0 |
1024 | 3303.23 mV | 1024 | 0 |
MV Value | ADC From mV (int) | Millivolts (float) | error |
---|---|---|---|
0 mV | 0 | 0.00 mV | 0.00 |
100 mV | 31 | 100.00 mV | 0.00 |
200 mV | 62 | 200.00 mV | 0.00 |
300 mV | 93 | 300.00 mV | 0.00 |
400 mV | 124 | 400.00 mV | 0.00 |
500 mV | 155 | 500.00 mV | 0.00 |
600 mV | 186 | 600.00 mV | 0.00 |
700 mV | 217 | 700.00 mV | 0.00 |
800 mV | 248 | 800.00 mV | 0.00 |
900 mV | 279 | 900.00 mV | 0.00 |
1000 mV | 310 | 1000.00 mV | 0.00 |
1100 mV | 341 | 1100.00 mV | 0.00 |
1200 mV | 372 | 1200.00 mV | 0.00 |
1300 mV | 403 | 1300.00 mV | 0.00 |
1400 mV | 434 | 1400.00 mV | 0.00 |
1500 mV | 465 | 1500.00 mV | 0.00 |
1600 mV | 496 | 1600.00 mV | 0.00 |
1700 mV | 527 | 1700.00 mV | 0.00 |
1800 mV | 558 | 1800.00 mV | 0.00 |
1900 mV | 589 | 1900.00 mV | 0.00 |
2000 mV | 620 | 2000.00 mV | 0.00 |
2100 mV | 651 | 2100.00 mV | 0.00 |
2200 mV | 682 | 2200.00 mV | 0.00 |
2300 mV | 713 | 2300.00 mV | 0.00 |
2400 mV | 744 | 2400.00 mV | 0.00 |
2500 mV | 775 | 2500.00 mV | 0.00 |
2600 mV | 806 | 2600.00 mV | 0.00 |
2700 mV | 837 | 2700.00 mV | 0.00 |
2800 mV | 868 | 2800.00 mV | 0.00 |
2900 mV | 899 | 2900.00 mV | 0.00 |
3000 mV | 930 | 3000.00 mV | 0.00 |
3100 mV | 961 | 3100.00 mV | 0.00 |
3200 mV | 992 | 3200.00 mV | 0.00 |
3300 mV | 1023 | 3300.00 mV | 0.00 |
ADC | Millivolt | ADC back | error |
---|---|---|---|
0 | 0 | 0 | 0 |
64 | 230 | 11 | -53 |
128 | 205 | 10 | -118 |
192 | 180 | 9 | -183 |
0 | 0 | 0 | 0 |
ADC | Millivolt | ADC back | error |
---|---|---|---|
0 | 0 | 0 | 0 |
64 | 230 | 11 | -53 |
128 | 205 | 10 | -118 |
192 | 180 | 9 | -183 |
0 | 0 | 0 | 0 |
ADC Value | Millivolts (float) | ADC From mV (int) | error |
---|---|---|---|
0.000000 | 0.00 mV | 0 | 0 |
64.000000 | 1254.90 mV | 64 | 0 |
128.000000 | 2509.80 mV | 128 | 0 |
192.000000 | 3764.71 mV | 192 | 0 |
256.000000 | 5019.61 mV | 256 | 0 |
MV Value | ADC From mV (int) | Millivolts (float) | error |
---|---|---|---|
0 mV | 0 | 0.00 mV | 0.00 |
100 mV | 5 | 98.04 mV | -1.96 |
200 mV | 10 | 196.08 mV | -3.92 |
300 mV | 15 | 294.12 mV | -5.88 |
400 mV | 20 | 392.16 mV | -7.84 |
500 mV | 25 | 490.20 mV | -9.80 |
600 mV | 30 | 588.24 mV | -11.76 |
700 mV | 35 | 686.27 mV | -13.73 |
800 mV | 40 | 784.31 mV | -15.69 |
900 mV | 45 | 882.35 mV | -17.65 |
1000 mV | 51 | 1000.00 mV | 0.00 |
1100 mV | 56 | 1098.04 mV | -1.96 |
1200 mV | 61 | 1196.08 mV | -3.92 |
1300 mV | 66 | 1294.12 mV | -5.88 |
1400 mV | 71 | 1392.16 mV | -7.84 |
1500 mV | 76 | 1490.20 mV | -9.80 |
1600 mV | 81 | 1588.24 mV | -11.76 |
1700 mV | 86 | 1686.27 mV | -13.73 |
1800 mV | 91 | 1784.31 mV | -15.69 |
1900 mV | 96 | 1882.35 mV | -17.65 |
2000 mV | 102 | 2000.00 mV | 0.00 |
2100 mV | 107 | 2098.04 mV | -1.96 |
2200 mV | 112 | 2196.08 mV | -3.92 |
2300 mV | 117 | 2294.12 mV | -5.88 |
2400 mV | 122 | 2392.16 mV | -7.84 |
2500 mV | 127 | 2490.20 mV | -9.80 |
2600 mV | 132 | 2588.24 mV | -11.76 |
2700 mV | 137 | 2686.27 mV | -13.73 |
2800 mV | 142 | 2784.31 mV | -15.69 |
2900 mV | 147 | 2882.35 mV | -17.65 |
3000 mV | 153 | 3000.00 mV | 0.00 |
3100 mV | 158 | 3098.04 mV | -1.96 |
3200 mV | 163 | 3196.08 mV | -3.92 |
3300 mV | 168 | 3294.12 mV | -5.88 |
3400 mV | 173 | 3392.16 mV | -7.84 |
3500 mV | 178 | 3490.20 mV | -9.80 |
3600 mV | 183 | 3588.24 mV | -11.76 |
3700 mV | 188 | 3686.27 mV | -13.73 |
3800 mV | 193 | 3784.31 mV | -15.69 |
3900 mV | 198 | 3882.35 mV | -17.65 |
4000 mV | 204 | 4000.00 mV | 0.00 |
4100 mV | 209 | 4098.04 mV | -1.96 |
4200 mV | 214 | 4196.08 mV | -3.92 |
4300 mV | 219 | 4294.12 mV | -5.88 |
4400 mV | 224 | 4392.16 mV | -7.84 |
4500 mV | 229 | 4490.20 mV | -9.80 |
4600 mV | 234 | 4588.24 mV | -11.76 |
4700 mV | 239 | 4686.27 mV | -13.73 |
4800 mV | 244 | 4784.31 mV | -15.69 |
4900 mV | 249 | 4882.35 mV | -17.65 |
5000 mV | 255 | 5000.00 mV | 0.00 |