include/relay.h
author Tero Marttila <terom@paivola.fi>
Wed, 24 Sep 2014 23:49:28 +0300
changeset 7 5c37ed521807
permissions -rw-r--r--
relay
#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