summaryrefslogtreecommitdiff
path: root/software/hhd70dongle
diff options
context:
space:
mode:
Diffstat (limited to 'software/hhd70dongle')
-rw-r--r--software/hhd70dongle/Makefile12
-rw-r--r--software/hhd70dongle/led.c67
-rw-r--r--software/hhd70dongle/led.h28
3 files changed, 55 insertions, 52 deletions
diff --git a/software/hhd70dongle/Makefile b/software/hhd70dongle/Makefile
index c12e4c6..87ffb8e 100644
--- a/software/hhd70dongle/Makefile
+++ b/software/hhd70dongle/Makefile
@@ -22,15 +22,7 @@
NAME := hhd70dongle
OBJ := hhd70dongle.o led.o spi.o usb_rawhid.o c1101lib.o util.o
-BOARD_TYPE := teensy2
+BOARD_TYPE := hhd70dongle
-include ../teensy.include.mk
+include ../avr.include.mk
CFLAGS += -std=gnu99
-
-DFU_PRO_TARGET := atmega32u4
-
-.phony: flash
-flash: $(NAME).hex
- sudo dfu-programmer $(DFU_PRO_TARGET) erase
- sudo dfu-programmer $(DFU_PRO_TARGET) flash $<
- sudo dfu-programmer $(DFU_PRO_TARGET) start
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;
}
diff --git a/software/hhd70dongle/led.h b/software/hhd70dongle/led.h
index 3d8eb6c..0375828 100644
--- a/software/hhd70dongle/led.h
+++ b/software/hhd70dongle/led.h
@@ -1,37 +1,27 @@
/*
+ * 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/>.
*/
-#ifndef MURSAT_led_h_INCLUDED
-#define MURSAT_led_h_INCLUDED
+#ifndef SPREADSPACE_led_h_INCLUDED
+#define SPREADSPACE_led_h_INCLUDED
void led_init(void);
void led_on(void);