fix: Fix race condition reading pulse count

This commit is contained in:
2025-06-05 11:07:19 -06:00
parent 648924cf60
commit 6ec278e97d
+2 -2
View File
@@ -50,10 +50,10 @@ void loop() {
unsigned long current_time = millis();
if (current_time - last_measurement_time >= MEASUREMENT_PERIOD_MS) {
//detachInterrupt(digitalPinToInterrupt(TACH_INTERRUPT_PIN));
detachInterrupt(digitalPinToInterrupt(TACH_INTERRUPT_PIN));
unsigned long collected_pulses = pulse_count;
pulse_count = 0;
//attachInterrupt(digitalPinToInterrupt(TACH_INTERRUPT_PIN), count_pulse, RISING);
attachInterrupt(digitalPinToInterrupt(TACH_INTERRUPT_PIN), count_pulse, RISING);
// Calculate RPM
// RPM = (pulses / pulses_per_revolution) / (measurement_period_ms / 1000 / 60)