relay
authorTero Marttila <terom@paivola.fi>
Wed, 24 Sep 2014 23:49:28 +0300
changeset 7 5c37ed521807
parent 6 c5ab059eadc1
child 8 61eba9d55764
relay
include/relay.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/include/relay.h	Wed Sep 24 23:49:28 2014 +0300
@@ -0,0 +1,32 @@
+#ifndef QMSK_RELAY_H
+#define QMSK_RELAY_H
+
+#include "stdlib.h"
+
+/*
+ * Setup pins 0..N of relay_port for driving relays.
+ */
+static inline void relay_init (byte count)
+{
+    for (byte i = 0; i < count; i++) {
+        // output
+        sbi(&RELAY_DDR, i);
+    }
+}
+
+static inline void relay_open (byte i)
+{
+    cbi(&RELAY_PORT, i);
+}
+
+static inline void relay_close (byte i)
+{
+    sbi(&RELAY_PORT, i);
+}
+
+static inline void relay_toggle (byte i)
+{
+    sbi(&RELAY_PIN, i);
+}
+
+#endif