// https://forum.arduino.cc/t/what-filter-algorithm-to-use/1117083/42
const float data[2657] = {98.10, 98.09, 98.10, 98.09, 98.10, 98.09, 98.10, 98.09, 98.10, 98.09, 98.10, 98.09, 98.10, 98.09, 98.10, 98.09, 98.10, 98.09, 98.10, 98.09, 98.10, 98.09, 98.10, 98.09, 98.10, 98.09, 98.10, 98.09, 98.10, 98.09, 98.10, 98.09, 98.10, 98.09, 98.10, 98.09, 98.10, 98.08, 98.09, 98.07, 98.08, 98.07, 98.09, 98.08, 98.09, 98.07, 97.87, 97.86, 98.08, 98.09, 97.86, 98.04, 98.08, 98.09, 98.08, 98.07, 98.08, 98.05, 98.08, 98.09, 98.05, 98.08, 98.07, 98.08, 98.07, 98.08, 98.07, 98.01, 98.08, 98.07, 98.09, 98.08, 98.09, 98.08, 98.06, 98.07, 97.87, 97.86, 97.88, 98.08, 98.07, 98.06, 98.07, 98.08, 98.03, 98.07, 98.09, 98.04, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.07, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.07, 98.04, 98.07, 98.09, 98.07, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.06, 98.07, 98.08, 98.07, 98.08, 98.05, 98.08, 98.09, 98.03, 98.07, 98.08, 98.06, 98.08, 98.05, 98.08, 98.09, 98.08, 98.07, 98.06, 97.85, 98.06, 98.07, 98.06, 98.08, 98.07, 98.06, 98.07, 98.09, 98.08, 98.06, 98.05, 98.06, 98.08, 98.07, 98.09, 98.07, 98.06, 98.07, 98.06, 98.07, 98.06, 98.05, 97.88, 98.05, 98.06, 98.05, 98.06, 98.05, 97.88, 98.06, 97.88, 98.04, 98.06, 98.08, 98.07, 98.08, 97.97, 98.02, 98.07, 98.08, 98.07, 98.05, 98.06, 97.87, 97.86, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.04, 98.07, 98.08, 98.06, 98.07, 98.08, 98.02, 98.08, 98.06, 98.07, 98.08, 98.06, 98.05, 98.08, 98.07, 98.05, 98.07, 98.06, 98.08, 98.09, 98.08, 98.13, 98.14, 98.11, 98.07, 98.08, 98.07, 98.09, 98.08, 98.07, 98.06, 98.05, 98.07, 98.06, 98.05, 98.07, 98.08, 98.06, 98.07, 98.08, 98.09, 98.07, 98.08, 98.09, 98.08, 98.09, 98.08, 98.06, 98.08, 98.09, 98.07, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.02, 98.07, 98.08, 98.09, 98.08, 97.86, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.09, 98.08, 98.06, 98.08, 98.06, 98.09, 98.05, 98.08, 98.07, 97.99, 98.08, 97.96, 98.04, 98.07, 98.08, 98.09, 98.08, 98.07, 98.08, 98.07, 98.08, 98.07, 98.08, 98.07, 98.06, 98.05, 98.03, 98.07, 98.08, 98.07, 97.87, 98.08, 98.07, 98.08, 98.07, 98.08, 98.07, 98.08, 98.09, 98.07, 98.08, 98.09, 98.10, 98.11, 98.10, 98.11, 98.10, 98.11, 98.10, 98.11, 98.10, 98.11, 98.10, 98.11, 98.10, 98.11, 98.12, 98.11, 98.12, 98.11, 98.12, 98.11, 98.12, 98.11, 98.12, 98.11, 98.12, 98.13, 98.12, 98.13, 98.12, 98.13, 98.12, 98.13, 98.12, 98.13, 98.12, 98.13, 98.12, 98.13, 98.12, 98.13, 98.12, 98.13, 98.15, 98.12, 98.13, 98.09, 98.13, 98.12, 98.10, 98.13, 98.14, 98.11, 98.13, 98.12, 98.13, 98.11, 98.13, 98.14, 98.13, 98.14, 98.13, 98.14, 98.13, 98.14, 98.12, 98.11, 98.13, 98.14, 98.13, 98.11, 98.13, 97.92, 98.14, 98.13, 98.04, 98.09, 98.11, 98.09, 98.12, 98.13, 98.12, 98.14, 98.13, 98.12, 98.13, 98.14, 98.13, 98.14, 98.13, 98.09, 98.14, 98.06, 98.13, 98.14, 97.93, 98.14, 98.15, 98.14, 97.92, 98.12, 98.11, 97.92, 98.12, 98.15, 98.14, 98.15, 98.14, 98.13, 97.93, 98.13, 98.14, 98.15, 98.14, 98.15, 98.14, 98.13, 98.15, 98.11, 98.15, 98.08, 98.13, 98.15, 98.14, 98.15, 98.16, 98.15, 98.16, 98.15, 98.16, 98.15, 98.16, 98.17, 98.16, 98.15, 98.16, 98.14, 98.15, 98.17, 98.16, 98.17, 98.16, 98.15, 98.16, 98.15, 98.16, 98.15, 98.17, 98.16, 98.15, 98.14, 98.15, 98.13, 98.15, 98.16, 98.13, 98.16, 98.15, 98.16, 98.17, 98.16, 98.15, 98.16, 98.04, 98.16, 98.17, 98.16, 98.15, 98.16, 98.17, 98.15, 98.14, 98.15, 97.95, 98.16, 98.17, 98.18, 98.17, 98.18, 98.17, 98.15, 98.17, 98.16, 98.17, 98.16, 98.13, 98.07, 98.17, 98.16, 98.17, 98.18, 98.15, 98.17, 98.16, 98.17, 98.18, 98.13, 98.17, 98.18, 98.15, 98.18, 98.17, 98.18, 98.17, 98.18, 98.19, 98.18, 98.19, 98.18, 98.19, 98.18, 98.17, 98.18, 98.17, 98.18, 98.14, 98.17, 98.16, 98.13, 98.14, 98.15, 98.16, 98.14, 98.17, 98.16, 98.15, 98.17, 98.18, 98.15, 98.21, 98.16, 97.95, 98.17, 98.08, 98.09, 98.18, 98.17, 98.19, 98.18, 98.17, 98.18, 98.17, 98.14, 98.18, 98.17, 98.13, 98.17, 98.14, 98.18, 98.19, 98.18, 98.16, 98.14, 98.16, 98.15, 98.19, 98.18, 98.19, 98.10, 98.18, 98.19, 98.20, 98.15, 98.17, 98.20, 98.18, 98.20, 98.19, 98.18, 98.19, 98.15, 98.19, 98.20, 98.21, 98.20, 98.17, 98.18, 98.17, 98.16, 98.17, 98.09, 98.19, 98.20, 98.19, 98.18, 98.20, 98.16, 98.19, 98.18, 98.14, 98.10, 98.20, 98.17, 98.13, 98.18, 98.19, 98.18, 98.17, 98.19, 98.20, 98.19, 98.20, 98.21, 98.20, 98.15, 98.21, 98.20, 98.21, 98.20, 98.21, 98.22, 98.21, 98.22, 98.21, 98.22, 98.20, 98.21, 98.22, 98.21, 98.22, 98.21, 98.20, 98.21, 98.22, 98.21, 98.20, 98.21, 98.22, 98.21, 98.18, 98.20, 98.21, 98.22, 98.21, 98.20, 98.17, 98.22, 98.15, 98.21, 98.22, 98.21, 98.22, 98.17, 98.19, 98.18, 98.19, 98.18, 98.13, 98.15, 98.17, 98.19, 98.21, 98.22, 98.23, 98.22, 98.21, 98.22, 98.21, 98.22, 98.20, 98.21, 98.18, 98.19, 98.20, 98.21, 98.22, 98.16, 98.19, 98.22, 98.21, 98.22, 98.23, 98.22, 98.23, 98.21, 98.23, 98.22, 98.21, 98.22, 97.99, 98.15, 98.20, 98.21, 98.22, 98.23, 98.21, 98.20, 98.21, 98.22, 98.23, 98.22, 98.23, 98.22, 98.21, 98.23, 98.22, 98.19, 98.22, 98.23, 98.22, 98.23, 98.22, 98.17, 98.20, 98.19, 98.20, 98.21, 98.20, 98.22, 98.15, 98.22, 98.21, 98.22, 98.23, 98.22, 98.24, 98.23, 98.24, 98.23, 98.22, 98.23, 98.22, 98.21, 98.20, 98.22, 98.21, 98.17, 98.21, 98.22, 98.23, 98.24, 98.23, 98.22, 98.23, 98.22, 98.23, 98.21, 98.22, 98.20, 98.23, 98.22, 98.20, 98.21, 98.16, 98.22, 98.21, 98.22, 98.23, 98.22, 98.24, 98.23, 98.22, 98.23, 98.22, 98.23, 98.24, 98.23, 98.24, 98.23, 98.24, 98.23, 98.24, 98.23, 98.22, 98.23, 98.22, 98.21, 98.22, 98.23, 98.22, 98.19, 98.14, 98.19, 98.21, 98.23, 98.22, 98.20, 98.22, 98.23, 98.21, 98.20, 98.18, 98.19, 98.22, 98.24, 98.23, 98.21, 97.99, 98.22, 98.21, 98.19, 98.22, 98.23, 98.22, 98.21, 98.24, 98.23, 98.24, 98.23, 98.24, 98.23, 98.24, 98.23, 98.24, 98.23, 98.24, 98.23, 98.22, 98.20, 98.22, 98.23, 98.22, 98.23, 98.22, 98.23, 98.22, 98.23, 98.22, 98.23, 98.22, 98.20, 98.19, 98.20, 98.21, 98.23, 98.21, 98.23, 98.22, 98.19, 98.23, 98.21, 98.20, 98.18, 98.22, 98.23, 98.17, 98.20, 98.22, 98.23, 98.22, 98.16, 98.23, 98.22, 98.21, 98.23, 98.24, 98.15, 98.23, 98.22, 98.24, 98.23, 98.22, 98.23, 98.22, 98.23, 98.24, 98.23, 98.22, 98.23, 98.24, 98.23, 98.24, 98.22, 98.23, 98.24, 98.23, 98.24, 98.23, 98.24, 98.22, 98.23, 98.24, 98.22, 98.21, 98.20, 98.23, 98.22, 98.23, 98.21, 98.22, 98.21, 98.22, 98.23, 98.22, 98.23, 98.22, 98.18, 97.99, 98.20, 98.21, 98.22, 98.23, 98.22, 98.21, 98.23, 98.21, 98.22, 98.19, 98.21, 98.22, 98.21, 98.20, 98.21, 98.22, 98.21, 98.23, 98.22, 98.20, 98.22, 98.23, 98.22, 98.23, 98.22, 98.23, 98.22, 98.23, 98.22, 98.21, 98.20, 98.21, 98.22, 98.21, 98.20, 98.21, 98.22, 98.21, 98.22, 98.21, 98.20, 98.21, 98.22, 98.21, 98.22, 98.23, 98.20, 98.17, 98.16, 98.21, 97.98, 98.21, 98.20, 98.18, 98.21, 98.22, 98.21, 98.22, 98.21, 98.20, 98.21, 98.22, 98.21, 98.22, 98.21, 98.22, 98.21, 98.20, 98.21, 98.18, 98.22, 98.21, 98.19, 98.22, 98.21, 98.20, 98.21, 98.20, 97.97, 98.16, 98.15, 98.19, 98.20, 98.18, 98.10, 98.19, 98.20, 98.19, 98.18, 98.20, 98.18, 98.19, 98.18, 98.19, 98.20, 98.19, 98.18, 98.19, 98.18, 98.17, 98.20, 98.19, 98.18, 98.17, 98.20, 98.21, 98.15, 98.20, 98.19, 98.20, 98.19, 98.18, 98.20, 98.19, 98.20, 98.21, 98.20, 98.18, 98.19, 98.20, 98.19, 98.20, 98.19, 98.20, 98.19, 98.20, 98.19, 98.06, 98.20, 98.19, 98.16, 98.19, 98.18, 98.19, 98.18, 98.14, 98.17, 98.19, 98.13, 98.19, 98.20, 98.19, 98.20, 98.19, 98.20, 98.19, 98.18, 98.16, 98.19, 98.20, 98.19, 98.18, 98.19, 98.20, 98.19, 98.20, 98.19, 98.18, 98.19, 98.16, 98.18, 98.17, 98.19, 98.20, 98.19, 98.20, 98.19, 98.18, 98.19, 98.17, 98.18, 98.19, 98.18, 98.19, 98.20, 98.19, 98.20, 98.19, 98.20, 98.19, 98.20, 98.19, 98.20, 98.19, 98.20, 98.19, 98.20, 98.19, 98.20, 98.19, 98.20, 98.19, 98.20, 98.19, 98.17, 98.19, 98.17, 98.10, 98.18, 98.19, 98.18, 98.19, 98.18, 98.17, 98.16, 98.17, 98.19, 98.18, 98.15, 98.14, 98.18, 98.17, 98.18, 98.19, 98.17, 98.18, 98.19, 98.18, 98.19, 98.18, 98.19, 98.18, 98.19, 98.18, 98.17, 97.96, 98.15, 98.16, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.19, 98.18, 98.17, 98.16, 98.18, 98.17, 98.18, 98.17, 98.13, 98.15, 98.14, 98.15, 98.16, 98.17, 97.95, 98.15, 98.17, 98.08, 98.17, 98.18, 98.19, 98.18, 98.17, 98.19, 98.14, 98.19, 98.18, 98.17, 98.18, 98.19, 98.18, 98.19, 98.18, 98.19, 98.18, 98.19, 98.18, 98.17, 98.16, 98.17, 98.18, 98.16, 98.15, 98.18, 98.22, 98.15, 98.17, 98.18, 98.11, 98.12, 98.18, 98.17, 98.19, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.16, 98.17, 98.16, 98.17, 98.15, 98.16, 98.17, 98.18, 98.17, 98.13, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.15, 98.14, 98.12, 98.16, 98.13, 98.15, 98.16, 98.15, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.15, 98.14, 98.13, 98.15, 98.16, 98.17, 98.16, 98.15, 98.13, 98.14, 98.16, 98.15, 98.16, 98.15, 98.16, 98.15, 98.16, 98.15, 98.16, 98.14, 98.15, 98.16, 98.14, 98.16, 98.15, 98.14, 98.15, 98.16, 98.15, 98.16, 98.15, 98.14, 98.12, 98.16, 98.15, 98.14, 98.15, 98.16, 98.15, 98.16, 98.15, 98.14, 98.15, 98.12, 98.11, 98.12, 98.16, 98.15, 98.16, 98.15, 98.16, 98.15, 98.16, 98.15, 98.16, 98.15, 98.12, 98.13, 98.15, 98.14, 98.15, 98.16, 98.15, 98.14, 98.16, 98.12, 98.16, 98.17, 98.16, 98.15, 98.14, 98.16, 98.15, 98.11, 98.15, 98.16, 98.14, 98.15, 98.16, 98.15, 98.12, 98.15, 98.16, 98.15, 98.16, 98.15, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.15, 98.10, 98.15, 98.14, 98.15, 98.11, 98.14, 98.16, 98.15, 98.13, 98.15, 98.16, 98.15, 98.16, 98.14, 98.15, 98.11, 98.12, 98.14, 98.13, 98.16, 98.17, 98.16, 98.12, 98.16, 98.17, 98.16, 98.15, 98.16, 98.15, 98.14, 98.11, 98.15, 98.13, 98.15, 98.14, 98.15, 98.16, 98.15, 98.13, 98.14, 98.15, 98.13, 98.15, 98.16, 98.15, 98.16, 98.15, 98.14, 98.12, 98.15, 98.14, 98.15, 98.14, 98.15, 98.13, 98.12, 98.13, 98.14, 98.11, 98.15, 98.13, 98.09, 98.11, 98.10, 98.12, 98.14, 98.15, 98.14, 98.13, 98.15, 98.14, 98.13, 98.07, 98.13, 98.15, 98.16, 98.15, 98.16, 98.15, 98.14, 98.10, 98.15, 98.14, 98.15, 98.13, 98.10, 98.12, 98.16, 98.15, 98.16, 98.15, 98.13, 98.15, 98.09, 98.14, 98.16, 98.15, 98.14, 98.10, 98.15, 98.14, 98.13, 98.15, 98.11, 98.12, 98.11, 98.14, 98.15, 98.16, 98.15, 98.16, 98.15, 98.16, 98.15, 98.14, 98.15, 98.10, 98.15, 98.16, 98.15, 98.16, 98.12, 98.14, 98.13, 98.14, 98.15, 98.14, 98.15, 98.16, 98.15, 98.14, 98.12, 98.15, 98.16, 98.15, 98.16, 98.15, 98.16, 98.15, 98.16, 98.15, 98.16, 98.15, 98.14, 98.15, 98.14, 98.10, 98.14, 98.13, 98.14, 98.15, 98.14, 98.15, 98.10, 98.14, 98.15, 98.16, 98.15, 98.13, 98.15, 98.16, 98.15, 98.14, 98.15, 98.14, 98.15, 98.14, 98.15, 98.14, 98.15, 98.16, 98.15, 98.14, 98.15, 98.14, 98.15, 98.16, 98.15, 98.16, 98.15, 98.16, 98.11, 98.14, 98.16, 98.13, 98.15, 98.06, 98.14, 98.15, 98.16, 98.15, 98.14, 98.15, 98.14, 98.15, 98.14, 98.15, 98.14, 98.15, 98.14, 98.15, 98.14, 98.15, 98.14, 98.15, 98.14, 98.15, 98.14, 98.15, 98.14, 98.15, 98.14, 98.15, 98.14, 98.15, 98.14, 98.13, 98.14, 98.13, 98.14, 98.15, 98.16, 98.14, 98.15, 98.14, 98.15, 98.16, 98.15, 98.16, 98.15, 98.16, 98.14, 98.08, 98.07, 98.09, 98.15, 98.14, 98.09, 98.14, 98.15, 98.13, 98.12, 98.14, 98.15, 98.16, 98.15, 98.16, 98.15, 98.16, 98.15, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.15, 98.16, 98.14, 98.16, 98.17, 98.16, 98.15, 98.14, 98.16, 98.15, 98.16, 98.15, 98.16, 98.15, 98.16, 98.10, 98.16, 98.15, 98.16, 98.14, 98.17, 98.16, 98.15, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.15, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.12, 98.16, 98.15, 98.14, 98.16, 98.13, 98.14, 98.15, 98.14, 98.13, 98.12, 98.14, 98.15, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.15, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.22, 98.17, 98.18, 98.17, 98.15, 98.16, 98.17, 98.16, 98.14, 98.15, 98.16, 98.17, 98.16, 98.15, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.14, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.16, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.15, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.18, 98.17, 98.16, 98.17, 98.16, 98.17, 98.14, 98.15, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.15, 98.14, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.15, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.15, 98.16, 98.15, 98.14, 98.15, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16, 98.17, 98.16};
const float maxDifference = 0.01;
float dataSum = 0.0;
float dataAverage = data[0];
const uint8_t bufferSize = 9;
uint8_t currentIndex = 0;
uint8_t oldestIndex = 0;
float circularBuffer[bufferSize];
void addToBuffer(float value) {
circularBuffer[currentIndex] = value;
currentIndex = (currentIndex + 1) % bufferSize;
if (currentIndex == oldestIndex) {
oldestIndex = (oldestIndex + 1) % bufferSize;
}
}
float readOldestValue() {
return circularBuffer[oldestIndex];
}
void setup() {
Serial.begin(115200);
for (int j = 0; j < bufferSize; j++) addToBuffer(data[0]); // initialize
for (int i = 0; i < 2657; i++) {
if (data[i] < (dataAverage - maxDifference)) addToBuffer(data[i] - maxDifference);
else if (data[i] > (dataAverage + maxDifference)) addToBuffer(data[i] + maxDifference);
else addToBuffer(data[i]);
for (int j = 0; j < bufferSize; j++) dataSum += circularBuffer[j];
dataAverage = dataSum / (float)bufferSize;
dataSum = 0.0;
Serial.print(data[i]);
Serial.print(",");
Serial.print(dataAverage);
Serial.println(",");
delay(1);
}
}
void loop() {
}