From 0e4c55d78852415e79f7318471f4d00c89703b78 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 6 Mar 2011 21:03:57 -0800 Subject: [PATCH] altos: Add TeleMini v1.0 This adds initial code for the telemini board, a two channel flight computer with digital telemetry and a barometric sensor. Signed-off-by: Keith Packard --- src/Makefile | 7 ++++- src/Makefile.proto | 27 +++++++++++++++++ src/ao_pins.h | 19 ++++++++++++ src/ao_telemini.c | 51 +++++++++++++++++++++++++++++++++ src/telemini-v0.1/.gitignore | 2 ++ src/telemini-v0.1/.sdcdbrc | 1 + src/telemini-v0.1/Makefile | 1 + src/telemini-v0.1/Makefile.defs | 8 ++++++ 8 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 src/ao_telemini.c create mode 100644 src/telemini-v0.1/.gitignore create mode 100644 src/telemini-v0.1/.sdcdbrc create mode 100644 src/telemini-v0.1/Makefile create mode 100644 src/telemini-v0.1/Makefile.defs diff --git a/src/Makefile b/src/Makefile index a6615321..42383f88 100644 --- a/src/Makefile +++ b/src/Makefile @@ -6,7 +6,12 @@ CC=sdcc include Version -SUBDIRS=telemetrum-v1.1 telemetrum-v1.0 teledongle-v0.2 telemetrum-v0.1-sky telemetrum-v0.1-sirf teledongle-v0.1 tidongle test +SUBDIRS=\ + telemetrum-v1.1 telemetrum-v1.0 \ + teledongle-v0.2 teledongle-v0.1 \ + telemini-v0.1 \ + telemetrum-v0.1-sky telemetrum-v0.1-sirf \ + tidongle test all: all-recursive diff --git a/src/Makefile.proto b/src/Makefile.proto index 30cd5798..625ca459 100644 --- a/src/Makefile.proto +++ b/src/Makefile.proto @@ -159,6 +159,33 @@ TM_BASE_SRC = \ $(TM_TASK_SRC) \ $(TM_MAIN_SRC) +# +# Sources for TeleMini +TMINI_DRIVER_SRC = \ + ao_adc.c \ + ao_ignite.c \ + ao_config.c \ + ao_storage.c \ + ao_intflash.c + +TMINI_TASK_SRC = \ + ao_flight.c \ + ao_log.c \ + ao_report.c \ + ao_telemetry.c + +TMINI_MAIN_SRC = \ + ao_telemini.c + +TMINI_BASE_SRC = \ + $(ALTOS_SRC) \ + $(ALTOS_DRIVER_SRC) \ + $(TELE_DRIVER_SRC) \ + $(TELE_COMMON_SRC) \ + $(TMINI_DRIVER_SRC) \ + $(TMINI_TASK_SRC) \ + $(TMINI_MAIN_SRC) + TI_MAIN_SRC = \ ao_tidongle.c diff --git a/src/ao_pins.h b/src/ao_pins.h index a486b9ba..8e07be86 100644 --- a/src/ao_pins.h +++ b/src/ao_pins.h @@ -83,6 +83,25 @@ #define SPI_CS_ON_P0 0 #endif +#if defined(TELEMINI_V_0_1) + #define HAS_FLIGHT 1 + #define HAS_USB 0 + #define HAS_BEEP 0 + #define HAS_GPS 0 + #define HAS_SERIAL_1 0 + #define HAS_ADC 1 + #define HAS_EEPROM 1 + #define HAS_DBG 0 + #define PACKET_HAS_MASTER 0 + #define PACKET_HAS_SLAVE 1 + + #define AO_LED_GREEN 1 + #define AO_LED_RED 2 + #define LEDS_AVAILABLE (AO_LED_RED|AO_LED_GREEN) + #define HAS_EXTERNAL_TEMP 0 + #define HAS_ACCEL 0 +#endif + #if defined(TELEMETRUM_V_0_1) #define HAS_FLIGHT 1 #define HAS_USB 1 diff --git a/src/ao_telemini.c b/src/ao_telemini.c new file mode 100644 index 00000000..97bc2cf4 --- /dev/null +++ b/src/ao_telemini.c @@ -0,0 +1,51 @@ +/* + * Copyright © 2011 Keith Packard + * + * 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. + */ + +#include "ao.h" +#include "ao_pins.h" + +/* stub so as telemini doesn't have monitor mode */ +void +ao_set_monitor(uint8_t monitoring) +{ + (void) monitoring; +} + +void +main(void) +{ + ao_clock_init(); + + + /* Turn on the red LED until the system is stable */ + ao_led_init(LEDS_AVAILABLE); + ao_led_on(AO_LED_RED); + + ao_timer_init(); + ao_adc_init(); + ao_cmd_init(); + ao_storage_init(); + ao_flight_init(); + ao_log_init(); + ao_report_init(); + ao_telemetry_init(); + ao_radio_init(); + ao_packet_slave_init(); + ao_igniter_init(); + ao_config_init(); + ao_start_scheduler(); +} diff --git a/src/telemini-v0.1/.gitignore b/src/telemini-v0.1/.gitignore new file mode 100644 index 00000000..82868aac --- /dev/null +++ b/src/telemini-v0.1/.gitignore @@ -0,0 +1,2 @@ +telemini-* +ao_product.h diff --git a/src/telemini-v0.1/.sdcdbrc b/src/telemini-v0.1/.sdcdbrc new file mode 100644 index 00000000..710b4a2f --- /dev/null +++ b/src/telemini-v0.1/.sdcdbrc @@ -0,0 +1 @@ +--directory=.. diff --git a/src/telemini-v0.1/Makefile b/src/telemini-v0.1/Makefile new file mode 100644 index 00000000..d8867b19 --- /dev/null +++ b/src/telemini-v0.1/Makefile @@ -0,0 +1 @@ +include ../Makefile.proto diff --git a/src/telemini-v0.1/Makefile.defs b/src/telemini-v0.1/Makefile.defs new file mode 100644 index 00000000..8a3e1ef9 --- /dev/null +++ b/src/telemini-v0.1/Makefile.defs @@ -0,0 +1,8 @@ +PROG = telemini-v0.1-$(VERSION).ihx + +SRC = \ + $(TMINI_BASE_SRC) + +PRODUCT=TeleMini-v0.1 +PRODUCT_DEF=-DTELEMINI_V_0_1 +IDPRODUCT=0x000a -- 2.30.2