summaryrefslogtreecommitdiff
path: root/blink
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2012-05-19 16:19:08 +0000
committerChristian Pointner <equinox@spreadspace.org>2012-05-19 16:19:08 +0000
commit7849180eb8a3d44aedb46b760a80df43fc602c74 (patch)
treeba6b658b2d75c292946bb0805e33e491676a7228 /blink
parentmore generic programmer (diff)
more generic led example code
git-svn-id: https://svn.spreadspace.org/avr/trunk@13 aa12f405-d877-488e-9caf-2d797e2a1cc7
Diffstat (limited to 'blink')
-rw-r--r--blink/led.c35
1 files changed, 30 insertions, 5 deletions
diff --git a/blink/led.c b/blink/led.c
index 0e035d4..997edf0 100644
--- a/blink/led.c
+++ b/blink/led.c
@@ -23,23 +23,48 @@
#include "avr/io.h"
#include "led.h"
+#define LED_DIR 1
+#if defined(__BOARD_teensy1__) || defined(__BOARD_teensy1pp__)
+#define LED_DIR 0
+#endif
+
+#if defined(__BOARD_teensy2__) || defined(__BOARD_teensy2pp__) || defined(__BOARD_teensy2__) || defined(__BOARD_teensy2pp__)
+#define LED_PORT PORTD
+#define LED_DDR DDRD
+#define LED_PINNUM 6
+#endif
+
+#if defined(__BOARD_hhd70dongle__)
+#define LED_PORT PORTE
+#define LED_DDR DDRE
+#define LED_PINNUM 6
+#endif
+
void led_init(void)
{
- PORTE = 0x00;
- DDRE = 1<<PORTE6;
+ led_off();
+ LED_DDR = 1<<LED_PINNUM;
}
void led_on(void)
{
- PORTE |= 1<<PORTE6;
+#if LED_DIR == 1
+ LED_PORT |= 1<<LED_PINNUM;
+#else
+ LED_PORT &= ~(1<<LED_PINNUM);
+#endif
}
void led_off(void)
{
- PORTE &= ~(1<<PORTE6);
+#if LED_DIR == 1
+ LED_PORT &= ~(1<<LED_PINNUM);
+#else
+ LED_PORT |= 1<<LED_PINNUM;
+#endif
}
void led_toggle(void)
{
- PORTE ^= 1<<PORTE6;
+ LED_PORT ^= 1<<LED_PINNUM;
}