ソースを参照

* GenericVibration: code style refactor

Scott Powell 10 ヶ月 前
コミット
384b02bec4

+ 2 - 2
examples/companion_radio/ui-new/UITask.h

@@ -12,7 +12,7 @@
   #include <helpers/ui/buzzer.h>
 #endif
 #ifdef PIN_VIBRATION
-  #include <helpers/ui/vibration.h>
+  #include <helpers/ui/GenericVibration.h>
 #endif
 
 #include "../AbstractUITask.h"
@@ -25,7 +25,7 @@ class UITask : public AbstractUITask {
   genericBuzzer buzzer;
 #endif
 #ifdef PIN_VIBRATION
-  genericVibration vibration;
+  GenericVibration vibration;
 #endif
   unsigned long _next_refresh, _auto_off;
   NodePrefs* _node_prefs;

+ 38 - 0
src/helpers/ui/GenericVibration.cpp

@@ -0,0 +1,38 @@
+#ifdef PIN_VIBRATION
+#include "GenericVibration.h"
+
+void GenericVibration::begin() {
+  pinMode(PIN_VIBRATION, OUTPUT);
+  digitalWrite(PIN_VIBRATION, LOW);
+  duration = 0;
+}
+
+void GenericVibration::trigger() {
+  duration = millis();
+  digitalWrite(PIN_VIBRATION, HIGH);
+}
+
+void GenericVibration::loop() {
+  if (isVibrating()) {
+    if ((millis() / 1000) % 2 == 0) {
+      digitalWrite(PIN_VIBRATION, LOW);
+    } else {
+      digitalWrite(PIN_VIBRATION, HIGH);
+    }
+
+    if (millis() - duration > VIBRATION_TIMEOUT) {
+      stop();
+    }
+  }
+}
+
+bool GenericVibration::isVibrating() {
+  return duration > 0;
+}
+
+void GenericVibration::stop() {
+  duration = 0;
+  digitalWrite(PIN_VIBRATION, LOW);
+}
+
+#endif // ifdef PIN_VIBRATION

+ 33 - 0
src/helpers/ui/GenericVibration.h

@@ -0,0 +1,33 @@
+#pragma once
+
+#ifdef PIN_VIBRATION
+
+#include <Arduino.h>
+
+/*
+ * Vibration motor control class
+ *
+ * Provides vibration feedback for events like new messages and new contacts
+ * Features:
+ * - 1-second vibration pulse
+ * - 5-second nag timeout (cooldown between vibrations)
+ * - Non-blocking operation
+ */
+
+#ifndef VIBRATION_TIMEOUT
+#define VIBRATION_TIMEOUT 5000 // 5 seconds default
+#endif
+
+class GenericVibration {
+public:
+  void begin();       // set up vibration pin
+  void trigger();     // trigger vibration if cooldown has passed
+  void loop();        // non-blocking timer handling
+  bool isVibrating(); // returns true if currently vibrating
+  void stop();        // stop vibration immediately
+
+private:
+  unsigned long duration;
+};
+
+#endif // ifdef PIN_VIBRATION

+ 0 - 43
src/helpers/ui/vibration.cpp

@@ -1,43 +0,0 @@
-#ifdef PIN_VIBRATION
-#include "vibration.h"
-
-void genericVibration::begin()
-{
-    pinMode(PIN_VIBRATION, OUTPUT);
-    digitalWrite(PIN_VIBRATION, LOW);
-    duration = 0;
-}
-
-void genericVibration::trigger()
-{
-    duration = millis();
-    digitalWrite(PIN_VIBRATION, HIGH);
-}
-
-void genericVibration::loop()
-{
-    if (isVibrating()) {
-        if ((millis() / 1000) % 2 == 0) {
-            digitalWrite(PIN_VIBRATION, LOW);
-        } else {
-            digitalWrite(PIN_VIBRATION, HIGH);
-        }
-
-        if (millis() - duration > VIBRATION_TIMEOUT) {
-            stop();
-        }
-    }
-}
-
-bool genericVibration::isVibrating()
-{
-    return duration > 0;
-}
-
-void genericVibration::stop()
-{
-    duration = 0;
-    digitalWrite(PIN_VIBRATION, LOW);
-}
-
-#endif // ifdef PIN_VIBRATION

+ 0 - 34
src/helpers/ui/vibration.h

@@ -1,34 +0,0 @@
-#pragma once
-
-#ifdef PIN_VIBRATION
-
-#include <Arduino.h>
-
-/*
- * Vibration motor control class
- *
- * Provides vibration feedback for events like new messages and new contacts
- * Features:
- * - 1-second vibration pulse
- * - 5-second nag timeout (cooldown between vibrations)
- * - Non-blocking operation
- */
-
-#ifndef VIBRATION_TIMEOUT
-#define VIBRATION_TIMEOUT 5000  // 5 seconds default
-#endif
-
-class genericVibration
-{
-  public:
-    void begin();       // set up vibration pin
-    void trigger();     // trigger vibration if cooldown has passed
-    void loop();        // non-blocking timer handling
-    bool isVibrating(); // returns true if currently vibrating
-    void stop();        // stop vibration immediately
-
-  private:
-    unsigned long duration;
-};
-
-#endif // ifdef PIN_VIBRATION