summaryrefslogtreecommitdiff
path: root/platformio/common/libs/relay/homekit/relay.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platformio/common/libs/relay/homekit/relay.cpp')
-rw-r--r--platformio/common/libs/relay/homekit/relay.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/platformio/common/libs/relay/homekit/relay.cpp b/platformio/common/libs/relay/homekit/relay.cpp
new file mode 100644
index 0000000..b00a7a2
--- /dev/null
+++ b/platformio/common/libs/relay/homekit/relay.cpp
@@ -0,0 +1,22 @@
+#include <Arduino.h>
+#include "./relay.h"
+
+namespace homekit::relay {
+
+void init() {
+ pinMode(CONFIG_RELAY_GPIO, OUTPUT);
+}
+
+bool state() {
+ return digitalRead(CONFIG_RELAY_GPIO) == HIGH;
+}
+
+void on() {
+ digitalWrite(CONFIG_RELAY_GPIO, HIGH);
+}
+
+void off() {
+ digitalWrite(CONFIG_RELAY_GPIO, LOW);
+}
+
+}