diff --git a/firmware/controllers/core/interpolation.cpp b/firmware/controllers/core/interpolation.cpp index 2b91f4915b..720f710066 100644 --- a/firmware/controllers/core/interpolation.cpp +++ b/firmware/controllers/core/interpolation.cpp @@ -216,6 +216,15 @@ int findIndexMsg(const char *msg, const float array[], int size, float value) { if (middle == left) break; + if (middle != 0 && array[middle - 1] > array[middle]) { +#if EFI_UNIT_TEST || defined(__DOXYGEN__) + firmwareError(CUSTOM_ERR_6147, "%s: out of order %f %f", msg, array[middle - 1], array[middle]); +#else + warning(CUSTOM_ERR_6147, "%s: out of order %f %f", msg, array[middle - 1], array[middle]); + +#endif /* EFI_UNIT_TEST */ + } + if (value < array[middle]) { right = middle; } else if (value > array[middle]) {