Add teledongle module
authorKeith Packard <keithp@keithp.com>
Fri, 24 Apr 2009 03:50:07 +0000 (20:50 -0700)
committerKeith Packard <keithp@keithp.com>
Fri, 24 Apr 2009 03:50:07 +0000 (20:50 -0700)
Makefile
ao_teledongle.c [new file with mode: 0644]

index 5c3dccc26e82dbf2e0b9bae7fb3fa448eff3c6bb..2bb4cd68e297cfba3687edb8232a50c404f2a4c6 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -111,6 +111,20 @@ TT_SRC = \
        $(TT_TASK_SRC)
        
        
        $(TT_TASK_SRC)
        
        
+#
+# Sources for TeleDongle
+#
+
+TD_TASK_SRC = \
+       ao_teledongle.c
+
+TD_SRC = \
+       $(ALTOS_SRC) \
+       $(ALTOS_DRIVER_SRC) \
+       $(TELE_RECEIVER_SRC) \
+       $(TELE_COMMON_SRC) \
+       $(TD_TASK_SRC)
+
 SRC = \
        $(ALTOS_SRC) \
        $(ALTOS_DRIVER_SRC) \
 SRC = \
        $(ALTOS_SRC) \
        $(ALTOS_DRIVER_SRC) \
@@ -120,11 +134,13 @@ SRC = \
        $(TM_DRIVER_SRC) \
        $(TM_TASK_SRC) \
        $(TI_TASK_SRC) \
        $(TM_DRIVER_SRC) \
        $(TM_TASK_SRC) \
        $(TI_TASK_SRC) \
-       $(TT_TASK_SRC)
+       $(TT_TASK_SRC) \
+       $(TD_TASK_SRC)
 
 TM_REL=$(TM_SRC:.c=.rel)
 TI_REL=$(TI_SRC:.c=.rel)
 TT_REL=$(TT_SRC:.c=.rel)
 
 TM_REL=$(TM_SRC:.c=.rel)
 TI_REL=$(TI_SRC:.c=.rel)
 TT_REL=$(TT_SRC:.c=.rel)
+TD_REL=$(TD_SRC:.c=.rel)
 
 ADB=$(SRC:.c=.adb)
 ASM=$(SRC:.c=.asm)
 
 ADB=$(SRC:.c=.adb)
 ASM=$(SRC:.c=.asm)
@@ -134,7 +150,8 @@ REL=$(SRC:.c=.rel)
 RST=$(SRC:.c=.rst)
 SYM=$(SRC:.c=.sym)
 
 RST=$(SRC:.c=.rst)
 SYM=$(SRC:.c=.sym)
 
-PROGS=telemetrum.ihx tidongle.ihx teleterra.ihx
+PROGS=telemetrum.ihx tidongle.ihx teleterra.ihx teledongle.ihx ao_flight_test
+
 PCDB=$(PROGS:.ihx=.cdb)
 PLNK=$(PROGS:.ihx=.lnk)
 PMAP=$(PROGS:.ihx=.map)
 PCDB=$(PROGS:.ihx=.cdb)
 PLNK=$(PROGS:.ihx=.lnk)
 PMAP=$(PROGS:.ihx=.map)
@@ -162,6 +179,12 @@ teleterra.ihx: $(TT_REL) Makefile
 
 teleterra.ihx: tidongle.ihx
 
 
 teleterra.ihx: tidongle.ihx
 
+teledongle.ihx: $(TD_REL) Makefile
+       $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(TD_REL)
+       sh check-stack ao.h teledongle.mem
+
+teledongle.ihx: teleterra.ihx
+
 altitude.h: make-altitude
        nickle make-altitude > altitude.h
 
 altitude.h: make-altitude
        nickle make-altitude > altitude.h
 
diff --git a/ao_teledongle.c b/ao_teledongle.c
new file mode 100644 (file)
index 0000000..a855d76
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+ * Copyright © 2009 Keith Packard <keithp@keithp.com>
+ *
+ * This program 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; version 2 of the License.
+ *
+ * This program 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 this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+#define AO_NO_SERIAL_ISR 1
+#define AO_NO_ADC_ISR 1
+#include "ao.h"
+
+void
+main(void)
+{
+       CLKCON = 0;
+       while (!(SLEEP & SLEEP_XOSC_STB))
+               ;
+       
+       /* Turn on the LED until the system is stable */
+       ao_led_init();
+       ao_led_on(AO_LED_RED);
+       ao_timer_init();
+       ao_cmd_init();
+       ao_usb_init();
+       ao_monitor_init();
+       ao_radio_init();
+       ao_dbg_init();
+       ao_start_scheduler();
+}
+
+/* Stub for systems which have no ADC */
+void
+ao_adc_poll(void)
+{
+}