if((last_power_ends[i]-last_signal_starts[i])-(last_signal_ends[i]-last_signal_starts[i])>2){//оборот засчитывается только если длина сигнала тахометра меньше длины включения питания. В противном случае это фейковый сигнал
tachRevs[i]++;
}
uint32_tlast_beep_time=0;
uint32_tlast_check_time=0;
uint32_tlastRpmCheck=0;
last_signal_ends[i]=millis();
tachStates[i]=0;
}
}
if(uint32_t(millis()-lastRpmCheck)>=RPM_CHECK_INTERVAL){//раз в RPM_CHECK_INTERVAL обновляется значение rpm и обороты обнуляются
voidwait_for_connection(boolbeep){//функция, которая мигает светодиодом и пищит (если beep == true) до тех пор, пока не будет установлено соединение с ПК