include/debug.h
author Tero Marttila <terom@paivola.fi>
Wed, 24 Sep 2014 22:40:48 +0300
changeset 3 24bc72470027
permissions -rw-r--r--
debug
3
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     1
#ifndef QMSK_DEBUG_H
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     2
#define QMSK_DEBUG_H
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     3
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     4
#include <avr/io.h>
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     5
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     6
#include "stdlib.h"
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     7
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     8
#if !defined(DEBUG_DDR) || !defined(DEBUG_PIN) || !defined(DEBUG_PORT)
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     9
#   error("#define DEBUG_{DDR_PIN_PORT} before #include")
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    10
#endif
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    11
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    12
static inline void debug_init (void)
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    13
{
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    14
    sbi(&DEBUG_DDR, DEBUG_PIN);
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    15
}
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    16
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    17
static inline void debug_set (void)
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    18
{
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    19
    sbi(&DEBUG_PORT, DEBUG_PIN);
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    20
}
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    21
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    22
static inline void debug_clear (void)
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    23
{
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    24
    cbi(&DEBUG_PORT, DEBUG_PIN);
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    25
}
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    26
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    27
static inline void debug_toggle (void)
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    28
{
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    29
    xbi(&DEBUG_PORT, DEBUG_PIN);
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    30
}
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    31
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    32
#endif