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(); unsigned long current_time = millis();
if (current_time - last_measurement_time >= MEASUREMENT_PERIOD_MS) { 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; unsigned long collected_pulses = pulse_count;
pulse_count = 0; pulse_count = 0;
//attachInterrupt(digitalPinToInterrupt(TACH_INTERRUPT_PIN), count_pulse, RISING); attachInterrupt(digitalPinToInterrupt(TACH_INTERRUPT_PIN), count_pulse, RISING);
// Calculate RPM // Calculate RPM
// RPM = (pulses / pulses_per_revolution) / (measurement_period_ms / 1000 / 60) // RPM = (pulses / pulses_per_revolution) / (measurement_period_ms / 1000 / 60)