diff options
Diffstat (limited to 'src/telebt-v1.0')
| -rw-r--r-- | src/telebt-v1.0/.gitignore | 2 | ||||
| -rw-r--r-- | src/telebt-v1.0/.sdcdbrc | 2 | ||||
| -rw-r--r-- | src/telebt-v1.0/Makefile | 96 | ||||
| -rw-r--r-- | src/telebt-v1.0/ao_pins.h | 89 | ||||
| -rw-r--r-- | src/telebt-v1.0/ao_telebt.c | 40 | 
5 files changed, 229 insertions, 0 deletions
| diff --git a/src/telebt-v1.0/.gitignore b/src/telebt-v1.0/.gitignore new file mode 100644 index 00000000..1acfbfcc --- /dev/null +++ b/src/telebt-v1.0/.gitignore @@ -0,0 +1,2 @@ +telebt-* +ao_product.h diff --git a/src/telebt-v1.0/.sdcdbrc b/src/telebt-v1.0/.sdcdbrc new file mode 100644 index 00000000..b9f6129c --- /dev/null +++ b/src/telebt-v1.0/.sdcdbrc @@ -0,0 +1,2 @@ +--directory=../cc1111:../product:../core:../drivers:. + diff --git a/src/telebt-v1.0/Makefile b/src/telebt-v1.0/Makefile new file mode 100644 index 00000000..1a3f1c80 --- /dev/null +++ b/src/telebt-v1.0/Makefile @@ -0,0 +1,96 @@ +# +# TeleBT build file +# + +TELEBT_VER=1.0 +TELEBT_DEF=1_0 + +vpath %.c ..:../core:../cc1111:../drivers:../product +vpath %.h ..:../core:../cc1111:../drivers:../product +vpath ao-make-product.5c ../util + +ifndef VERSION +include ../Version +endif + +INC = \ +	ao.h \ +	ao_pins.h \ +	ao_arch.h \ +	ao_arch_funcs.h \ +	cc1111.h \ +	ao_product.h + +CORE_SRC = \ +	ao_cmd.c \ +	ao_config.c \ +	ao_gps_print.c \ +	ao_monitor.c \ +	ao_mutex.c \ +	ao_panic.c \ +	ao_state.c \ +	ao_stdio.c \ +	ao_task.c \ +	ao_freq.c + +CC1111_SRC = \ +	ao_dbg.c \ +	ao_dma.c \ +	ao_led.c \ +	ao_packet.c \ +	ao_packet_master.c \ +	ao_radio.c \ +	ao_romconfig.c \ +	ao_serial.c \ +	ao_string.c \ +	ao_timer.c \ +	ao_usb.c \ +	_bp.c + +DRIVER_SRC = \ +	ao_btm.c + +PRODUCT_SRC = \ +	ao_telebt.c + +SRC = \ +	$(CORE_SRC) \ +	$(CC1111_SRC) \ +	$(DRIVER_SRC) \ +	$(PRODUCT_SRC) + +PROGNAME = telebt-v$(TELEBT_VER) +PROG = $(PROGNAME)-$(VERSION).ihx +PRODUCT=TeleBT-v$(TELEBT_VER) +PRODUCT_DEF=-DTELEBT_V_$(TELEBT_DEF) +IDPRODUCT=0x000e + +include ../cc1111/Makefile.cc1111 + +NICKLE=nickle +CHECK_STACK=sh ../util/check-stack + +V=0 +# The user has explicitly enabled quiet compilation. +ifeq ($(V),0) +quiet = @printf "  $1 $2 $@\n"; $($1) +endif +# Otherwise, print the full command line. +quiet ?= $($1) + +all: $(PROG) + +$(PROG): $(REL) Makefile +	$(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(REL) && cp $(PROG) $(PMAP) .. +	$(call quiet,CHECK_STACK) ../cc1111/ao_arch.h $(PMEM) || rm $@ + +ao_product.h: ao-make-product.5c ../Version +	$(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@ + +distclean:	clean + +clean: clean-cc1111 + +install: + +uninstall: diff --git a/src/telebt-v1.0/ao_pins.h b/src/telebt-v1.0/ao_pins.h new file mode 100644 index 00000000..b248521d --- /dev/null +++ b/src/telebt-v1.0/ao_pins.h @@ -0,0 +1,89 @@ +/* + * Copyright © 2010 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. + */ + +#ifndef _AO_PINS_H_ +#define _AO_PINS_H_ + +#define HAS_RADIO	1 +#define HAS_FLIGHT		0 +#define HAS_USB			1 +#define HAS_BEEP		0 +#define HAS_SERIAL_1		1 +#define HAS_SERIAL_1_ALT_1	1 +#define HAS_SERIAL_1_ALT_2	0 +#define HAS_SERIAL_1_HW_FLOW	1 +#define USE_SERIAL_1_STDIN	1 +#define DELAY_SERIAL_1_STDIN	1 +#define HAS_ADC			0 +#define HAS_DBG			1 +#define HAS_EEPROM		0 +#define HAS_LOG			0 +#define USE_INTERNAL_FLASH	0 +#define HAS_BTM			1 +#define DBG_ON_P1 		1 +#define DBG_ON_P0 		0 +#define PACKET_HAS_MASTER	1 +#define PACKET_HAS_SLAVE	0 +#define AO_LED_RED		1 +#define AO_LED_BLUE		2 +#define LEDS_AVAILABLE		(AO_LED_RED|AO_LED_BLUE) +#define AO_MONITOR_LED		AO_LED_RED +#define AO_BT_LED		AO_LED_BLUE +#define BT_LINK_ON_P2		0 +#define BT_LINK_ON_P1		1 +#define BT_LINK_PIN_INDEX	7 +#define BT_LINK_PIN		P1_7 +#define HAS_MONITOR		1 +#define LEGACY_MONITOR		0 + +#if DBG_ON_P1 + +	#define DBG_CLOCK	(1 << 4)	/* mi0 */ +	#define DBG_DATA	(1 << 5)	/* mo0 */ +	#define DBG_RESET_N	(1 << 3)	/* c0 */ + +	#define DBG_CLOCK_PIN	(P1_4) +	#define DBG_DATA_PIN	(P1_5) +	#define DBG_RESET_N_PIN	(P1_3) + +	#define DBG_PORT_NUM	1 +	#define DBG_PORT	P1 +	#define DBG_PORT_SEL	P1SEL +	#define DBG_PORT_INP	P1INP +	#define DBG_PORT_DIR	P1DIR + +#endif /* DBG_ON_P1 */ + +#if DBG_ON_P0 + +	#define DBG_CLOCK	(1 << 3) +	#define DBG_DATA	(1 << 4) +	#define DBG_RESET_N	(1 << 5) + +	#define DBG_CLOCK_PIN	(P0_3) +	#define DBG_DATA_PIN	(P0_4) +	#define DBG_RESET_N_PIN	(P0_5) + +	#define DBG_PORT_NUM	0 +	#define DBG_PORT	P0 +	#define DBG_PORT_SEL	P0SEL +	#define DBG_PORT_INP	P0INP +	#define DBG_PORT_DIR	P0DIR + +#endif /* DBG_ON_P0 */ + +#endif /* _AO_PINS_H_ */ diff --git a/src/telebt-v1.0/ao_telebt.c b/src/telebt-v1.0/ao_telebt.c new file mode 100644 index 00000000..89434e7e --- /dev/null +++ b/src/telebt-v1.0/ao_telebt.c @@ -0,0 +1,40 @@ +/* + * Copyright © 2011 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. + */ + +#include "ao.h" + +void +main(void) +{ +	ao_clock_init(); + +	/* Turn on the LED until the system is stable */ +	ao_led_init(LEDS_AVAILABLE); +	ao_led_on(AO_LED_RED); +	ao_timer_init(); +	ao_cmd_init(); +	ao_usb_init(); +	ao_monitor_init(); +	ao_radio_init(); +	ao_packet_master_init(); +	ao_btm_init(); +#if HAS_DBG +	ao_dbg_init(); +#endif +	ao_config_init(); +	ao_start_scheduler(); +} | 
