fix: Fix race condition reading pulse count
This commit is contained in:
+2
-2
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user