Данный модуль выводит на дисплей данные в виде графика в реальном времени

C++
void graphic_draw_ir()
{
sensor.check();
ir = sensor.getRed();
static uint32_t tmr_ir;
if (millis() - tmr_ir >= random(10, 75))
{ // наполнение массива по таймеру, расчет мин макс амплитуды
int min;
int max;
arr[i] = ir;
tmr_ir = millis();
min = arr[0];
max = arr[0];
for (int i = 1; i < SIZE; i++)
{
if (arr[i] < min)
{
min = arr[i];
}
if (arr[i] > max)
{
max = arr[i];
}
}
i++;
if (i > (SIZE - 1))
i = 0;
min_calc = min;
max_calc = max;
average = (max + min) / 2;
}
dwin_crv2_v = ir - average;
dwin_crv2_v = (filt_ir.filteredTime(dwin_crv2_v));
dwin_crv2_v = dwin_crv2_v + 280;
dwin_crv2[12] = highByte(dwin_crv2_v);
dwin_crv2[13] = lowByte(dwin_crv2_v);
if (ir > 40000)
{
SerialDwin.write(dwin_crv2, 14);
}
}