summaryrefslogtreecommitdiff
path: root/software/hhd70dongle/led.c
diff options
context:
space:
mode:
authorChristian Pointner <equinox@mur.at>2012-05-19 17:10:30 +0000
committerChristian Pointner <equinox@mur.at>2012-05-19 17:10:30 +0000
commitebe6e2a1ce7842a4ea3a152eb5b8545d0e376b83 (patch)
tree6f806f4d97ff9a64cea80376a23485fc06cc25e0 /software/hhd70dongle/led.c
parentrewrite read_rxfifo. next: write interrupt handler for GPO1 (diff)
updated teensy tools from spreadspace (rename to avr)
git-svn-id: https://svn.spreadspace.org/mur.sat@437 7de4ea59-55d0-425e-a1af-a3118ea81d4c
Diffstat (limited to 'software/hhd70dongle/led.c')
-rw-r--r--software/hhd70dongle/led.c67
1 files changed, 44 insertions, 23 deletions
diff --git a/software/hhd70dongle/led.c b/software/hhd70dongle/led.c
index d24af16..ced853f 100644
--- a/software/hhd70dongle/led.c
+++ b/software/hhd70dongle/led.c
@@ -1,55 +1,76 @@
/*
+ * spreadspace avr utils
*
- * mur.sat
*
- * Somewhen in the year 2012, mur.at will have a nano satellite launched
- * into a low earth orbit (310 km above the surface of our planet). The
- * satellite itself is a TubeSat personal satellite kit, developed and
- * launched by interorbital systems. mur.sat is a joint venture of mur.at,
- * ESC im Labor and realraum.
+ * Copyright (C) 2012 Christian Pointner <equinox@spreadspace.org>
+ *
+ * This file is part of spreadspace avr utils.
*
- * Please visit the project hompage at sat.mur.at for further information.
- *
- *
- * Copyright (C) 2011 Christian Pointner <equinox@mur.at>
- *
- * This file is part of mur.sat.
- *
- * mur.sat is free software: you can redistribute it and/or modify
+ * spreadspace avr utils is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
- * mur.sat is distributed in the hope that it will be useful,
+ * spreadspace avr utils is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with mur.sat. If not, see <http://www.gnu.org/licenses/>.
- *
+ * along with spreadspace avr utils. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "avr/io.h"
+#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
+
+#if defined(__BOARD_arduino2009__)
+#define LED_PORT PORTB
+#define LED_DDR DDRB
+#define LED_PINNUM 5
+#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;
}