refactor: Simplify interrupt handling

This commit is contained in:
2025-06-05 11:07:17 -06:00
committed by Tanner Collin (aider)
parent d36b86929d
commit 648924cf60
+2 -8
View File
@@ -50,12 +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;
// It's important to re-attach the interrupt as soon as possible
// to minimize missed pulses.
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)
@@ -65,10 +63,6 @@ void loop() {
int rpm = (int)rpm_float;
show(rpm);
Serial.print("Pulses: ");
Serial.print(collected_pulses);
Serial.print(", RPM: ");
Serial.println(rpm);
last_measurement_time = current_time;
}