diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Makefile | 2 | ||||
| -rw-r--r-- | src/core/ao_fec_rx.c | 2 | ||||
| -rw-r--r-- | src/core/ao_log.h | 2 | ||||
| -rw-r--r-- | src/core/ao_log_mega.c | 2 | ||||
| -rw-r--r-- | src/core/ao_telemetry.c | 2 | ||||
| -rw-r--r-- | src/drivers/ao_companion.c | 2 | ||||
| -rw-r--r-- | src/megametrum-v0.1/.gitignore | 2 | ||||
| -rw-r--r-- | src/megametrum-v0.1/Makefile | 131 | ||||
| -rw-r--r-- | src/megametrum-v0.1/ao_megametrum.c | 100 | ||||
| -rw-r--r-- | src/megametrum-v0.1/ao_pins.h | 359 | ||||
| -rw-r--r-- | src/megametrum-v0.1/stlink-pins | 57 | ||||
| -rw-r--r-- | src/stm/ao_i2c_stm.c | 2 | ||||
| -rw-r--r-- | src/telelco-v0.1/Makefile | 2 | ||||
| -rw-r--r-- | src/test/Makefile | 2 | ||||
| -rw-r--r-- | src/test/ao_flight_test.c | 22 | 
15 files changed, 20 insertions, 669 deletions
diff --git a/src/Makefile b/src/Makefile index d91a235a..e271ddf3 100644 --- a/src/Makefile +++ b/src/Makefile @@ -29,7 +29,7 @@ AVRDIRS=\  	telescience-v0.1 telescience-pwm telepyro-v0.1 micropeak  ARMDIRS=\ -	megametrum-v0.1 megadongle-v0.1 stm-bringup stm-demo telelco-v0.1 \ +	telemega-v0.1 megadongle-v0.1 stm-bringup stm-demo telelco-v0.1 \  	telescience-v0.2  ifneq ($(shell which sdcc),) diff --git a/src/core/ao_fec_rx.c b/src/core/ao_fec_rx.c index 072a9e90..c4f5559a 100644 --- a/src/core/ao_fec_rx.c +++ b/src/core/ao_fec_rx.c @@ -18,7 +18,7 @@  #include <ao_fec.h>  #include <stdio.h> -#ifdef MEGAMETRUM +#ifdef TELEMEGA  #include <ao.h>  #endif diff --git a/src/core/ao_log.h b/src/core/ao_log.h index cac78771..a68a40dd 100644 --- a/src/core/ao_log.h +++ b/src/core/ao_log.h @@ -43,7 +43,7 @@ extern __pdata enum ao_flight_state ao_log_state;  #define AO_LOG_FORMAT_TINY		2	/* two byte state/baro records */  #define AO_LOG_FORMAT_TELEMETRY		3	/* 32 byte ao_telemetry records */  #define AO_LOG_FORMAT_TELESCIENCE	4	/* 32 byte typed telescience records */ -#define AO_LOG_FORMAT_MEGAMETRUM	5	/* 32 byte typed megametrum records */ +#define AO_LOG_FORMAT_TELEMEGA		5	/* 32 byte typed telemega records */  #define AO_LOG_FORMAT_NONE		127	/* No log at all */  extern __code uint8_t ao_log_format; diff --git a/src/core/ao_log_mega.c b/src/core/ao_log_mega.c index ba3f7bfc..abf953a6 100644 --- a/src/core/ao_log_mega.c +++ b/src/core/ao_log_mega.c @@ -23,7 +23,7 @@  static __xdata uint8_t	ao_log_mutex;  static __xdata struct ao_log_mega log; -__code uint8_t ao_log_format = AO_LOG_FORMAT_MEGAMETRUM; +__code uint8_t ao_log_format = AO_LOG_FORMAT_TELEMEGA;  static uint8_t  ao_log_csum(__xdata uint8_t *b) __reentrant diff --git a/src/core/ao_telemetry.c b/src/core/ao_telemetry.c index 3aa315c7..03aa48d8 100644 --- a/src/core/ao_telemetry.c +++ b/src/core/ao_telemetry.c @@ -29,7 +29,7 @@ static __pdata uint16_t ao_aprs_time;  #include <ao_aprs.h>  #endif -#if defined(MEGAMETRUM) +#if defined(TELEMEGA)  #define AO_SEND_MEGA	1  #endif diff --git a/src/drivers/ao_companion.c b/src/drivers/ao_companion.c index 0ebe8429..0f405253 100644 --- a/src/drivers/ao_companion.c +++ b/src/drivers/ao_companion.c @@ -18,7 +18,7 @@  #include <ao.h>  #include <ao_companion.h> -#ifdef MEGAMETRUM +#ifdef TELEMEGA  #define ao_spi_slow(b)  #define ao_spi_fast(b)  #endif diff --git a/src/megametrum-v0.1/.gitignore b/src/megametrum-v0.1/.gitignore deleted file mode 100644 index b04d3950..00000000 --- a/src/megametrum-v0.1/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -ao_product.h -megametrum-*.elf diff --git a/src/megametrum-v0.1/Makefile b/src/megametrum-v0.1/Makefile deleted file mode 100644 index a5fdcbb2..00000000 --- a/src/megametrum-v0.1/Makefile +++ /dev/null @@ -1,131 +0,0 @@ -# -# AltOS build -# -# - -include ../stm/Makefile.defs - -INC = \ -	ao.h \ -	ao_arch.h \ -	ao_arch_funcs.h \ -	ao_companion.h \ -	ao_data.h \ -	ao_sample.h \ -	ao_pins.h \ -	altitude-pa.h \ -	ao_kalman.h \ -	ao_product.h \ -	ao_ms5607.h \ -	ao_hmc5883.h \ -	ao_mpu6000.h \ -	ao_mma655x.h \ -	ao_cc1120_CC1120.h \ -	ao_profile.h \ -	ao_task.h \ -	ao_whiten.h \ -	ao_sample_profile.h \ -	ao_mpu.h \ -	stm32l.h \ -	Makefile - -# -# Common AltOS sources -# -#	ao_hmc5883.c - -#PROFILE=ao_profile.c -#PROFILE_DEF=-DAO_PROFILE=1 - -#SAMPLE_PROFILE=ao_sample_profile.c \ -#	ao_sample_profile_timer.c -#SAMPLE_PROFILE_DEF=-DHAS_SAMPLE_PROFILE=1 - -#STACK_GUARD=ao_mpu_stm.c -#STACK_GUARD_DEF=-DHAS_STACK_GUARD=1 - -ALTOS_SRC = \ -	ao_interrupt.c \ -	ao_product.c \ -	ao_romconfig.c \ -	ao_cmd.c \ -	ao_config.c \ -	ao_task.c \ -	ao_led.c \ -	ao_stdio.c \ -	ao_panic.c \ -	ao_timer.c \ -	ao_mutex.c \ -	ao_serial_stm.c \ -	ao_gps_skytraq.c \ -	ao_gps_report_mega.c \ -	ao_ignite.c \ -	ao_freq.c \ -	ao_dma_stm.c \ -	ao_spi_stm.c \ -	ao_cc1120.c \ -	ao_fec_tx.c \ -	ao_fec_rx.c \ -	ao_data.c \ -	ao_ms5607.c \ -	ao_mma655x.c \ -	ao_hmc5883.c \ -	ao_adc_stm.c \ -	ao_beep_stm.c \ -	ao_storage.c \ -	ao_m25.c \ -	ao_usb_stm.c \ -	ao_exti_stm.c \ -	ao_report.c \ -	ao_i2c_stm.c \ -	ao_mpu6000.c \ -	ao_convert_pa.c \ -	ao_log.c \ -	ao_log_mega.c \ -	ao_sample.c \ -	ao_kalman.c \ -	ao_flight.c \ -	ao_telemetry.c \ -	ao_packet_slave.c \ -	ao_packet.c \ -	ao_companion.c \ -	ao_pyro.c \ -	ao_aprs.c \ -	$(PROFILE) \ -	$(SAMPLE_PROFILE) \ -	$(STACK_GUARD) - -PRODUCT=MegaMetrum-v0.1 -PRODUCT_DEF=-DMEGAMETRUM -IDPRODUCT=0x0023 - -CFLAGS = $(PRODUCT_DEF) $(STM_CFLAGS) $(PROFILE_DEF) $(SAMPLE_PROFILE_DEF) $(STACK_GUARD_DEF) -Os -g - -PROGNAME=megametrum-v0.1 -PROG=$(PROGNAME)-$(VERSION).elf - -SRC=$(ALTOS_SRC) ao_megametrum.c -OBJ=$(SRC:.c=.o) - -all: $(PROG) - -$(PROG): Makefile $(OBJ) altos.ld -	$(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(SAT_CLIB) -lgcc - -../altitude-pa.h: make-altitude-pa -	nickle $< > $@ - -$(OBJ): $(INC) - -ao_product.h: ao-make-product.5c ../Version -	$(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@ - -distclean:	clean - -clean: -	rm -f *.o $(PROGNAME)-*.elf -	rm -f ao_product.h - -install: - -uninstall: diff --git a/src/megametrum-v0.1/ao_megametrum.c b/src/megametrum-v0.1/ao_megametrum.c deleted file mode 100644 index fbdab64a..00000000 --- a/src/megametrum-v0.1/ao_megametrum.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * 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> -#include <ao_hmc5883.h> -#include <ao_mpu6000.h> -#include <ao_mma655x.h> -#include <ao_log.h> -#include <ao_exti.h> -#include <ao_packet.h> -#include <ao_companion.h> -#include <ao_profile.h> -#if HAS_SAMPLE_PROFILE -#include <ao_sample_profile.h> -#endif -#include <ao_pyro.h> -#if HAS_STACK_GUARD -#include <ao_mpu.h> -#endif - -int -main(void) -{ -	ao_clock_init(); -	 -#if HAS_STACK_GUARD -	ao_mpu_init(); -#endif - -	ao_task_init(); -	ao_serial_init(); -	ao_led_init(LEDS_AVAILABLE); -	ao_led_on(AO_LED_GREEN); -	ao_timer_init(); - -	ao_i2c_init(); -	ao_spi_init(); -	ao_dma_init(); -	ao_exti_init(); - -	ao_adc_init(); -#if HAS_BEEP -	ao_beep_init(); -#endif -	ao_cmd_init(); - -#if HAS_MS5607 -	ao_ms5607_init(); -#endif -#if HAS_HMC5883 -	ao_hmc5883_init(); -#endif -#if HAS_MPU6000 -	ao_mpu6000_init(); -#endif -#if HAS_MMA655X -	ao_mma655x_init(); -#endif - -	ao_storage_init(); -	 -	ao_flight_init(); -	ao_log_init(); -	ao_report_init(); - -	ao_usb_init(); -	ao_gps_init(); -	ao_gps_report_mega_init(); -	ao_telemetry_init(); -	ao_radio_init(); -	ao_packet_slave_init(FALSE); -	ao_igniter_init(); -	ao_companion_init(); -	ao_pyro_init(); - -	ao_config_init(); -#if AO_PROFILE -	ao_profile_init(); -#endif -#if HAS_SAMPLE_PROFILE -	ao_sample_profile_init(); -#endif -	 -	ao_start_scheduler(); -	return 0; -} diff --git a/src/megametrum-v0.1/ao_pins.h b/src/megametrum-v0.1/ao_pins.h deleted file mode 100644 index 4c645871..00000000 --- a/src/megametrum-v0.1/ao_pins.h +++ /dev/null @@ -1,359 +0,0 @@ -/* - * Copyright © 2012 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_TASK_QUEUE		1 - -/* 8MHz High speed external crystal */ -#define AO_HSE			8000000 - -/* PLLVCO = 96MHz (so that USB will work) */ -#define AO_PLLMUL		12 -#define AO_RCC_CFGR_PLLMUL	(STM_RCC_CFGR_PLLMUL_12) - -/* SYSCLK = 32MHz (no need to go faster than CPU) */ -#define AO_PLLDIV		3 -#define AO_RCC_CFGR_PLLDIV	(STM_RCC_CFGR_PLLDIV_3) - -/* HCLK = 32MHz (CPU clock) */ -#define AO_AHB_PRESCALER	1 -#define AO_RCC_CFGR_HPRE_DIV	STM_RCC_CFGR_HPRE_DIV_1 - -/* Run APB1 at 16MHz (HCLK/2) */ -#define AO_APB1_PRESCALER	2 -#define AO_RCC_CFGR_PPRE1_DIV	STM_RCC_CFGR_PPRE2_DIV_2 - -/* Run APB2 at 16MHz (HCLK/2) */ -#define AO_APB2_PRESCALER	2 -#define AO_RCC_CFGR_PPRE2_DIV	STM_RCC_CFGR_PPRE2_DIV_2 - -#define HAS_SERIAL_1		1 -#define USE_SERIAL_1_STDIN	0 -#define SERIAL_1_PB6_PB7	0 -#define SERIAL_1_PA9_PA10	1 - -#define HAS_SERIAL_2		0 -#define USE_SERIAL_2_STDIN	0 -#define SERIAL_2_PA2_PA3	0 -#define SERIAL_2_PD5_PD6	0 - -#define HAS_SERIAL_3		1 -#define USE_SERIAL_3_STDIN	0 -#define SERIAL_3_PB10_PB11	0 -#define SERIAL_3_PC10_PC11	1 -#define SERIAL_3_PD8_PD9	0 - -#define ao_gps_getchar		ao_serial3_getchar -#define ao_gps_putchar		ao_serial3_putchar -#define ao_gps_set_speed	ao_serial3_set_speed -#define ao_gps_fifo		(ao_stm_usart3.rx_fifo) - -#define HAS_EEPROM		1 -#define USE_INTERNAL_FLASH	0 -#define HAS_USB			1 -#define HAS_BEEP		1 -#define HAS_RADIO		1 -#define HAS_TELEMETRY		1 -#define HAS_APRS		1 - -#define HAS_SPI_1		1 -#define SPI_1_PA5_PA6_PA7	1	/* Barometer */ -#define SPI_1_PB3_PB4_PB5	0 -#define SPI_1_PE13_PE14_PE15	1	/* Accelerometer */ -#define SPI_1_OSPEEDR		STM_OSPEEDR_10MHz - -#define HAS_SPI_2		1 -#define SPI_2_PB13_PB14_PB15	1	/* Flash, Companion */ -#define SPI_2_PD1_PD3_PD4	0 -#define SPI_2_OSPEEDR		STM_OSPEEDR_10MHz - -#define SPI_2_PORT		(&stm_gpiob) -#define SPI_2_SCK_PIN		13 -#define SPI_2_MISO_PIN		14 -#define SPI_2_MOSI_PIN		15 - -#define HAS_I2C_1		1 -#define I2C_1_PB8_PB9		1 - -#define HAS_I2C_2		1 -#define I2C_2_PB10_PB11		1 - -#define PACKET_HAS_SLAVE	1 -#define PACKET_HAS_MASTER	0 - -#define LOW_LEVEL_DEBUG		0 - -#define LED_PORT_ENABLE		STM_RCC_AHBENR_GPIOCEN -#define LED_PORT		(&stm_gpioc) -#define LED_PIN_RED		8 -#define LED_PIN_GREEN		9 -#define AO_LED_RED		(1 << LED_PIN_RED) -#define AO_LED_GREEN		(1 << LED_PIN_GREEN) - -#define LEDS_AVAILABLE		(AO_LED_RED | AO_LED_GREEN) - -#define HAS_GPS			1 -#define HAS_FLIGHT		1 -#define HAS_ADC			1 -#define HAS_LOG			1 - -/* - * Igniter - */ - -#define HAS_IGNITE		1 -#define HAS_IGNITE_REPORT	1 - -#define AO_SENSE_DROGUE(p)	((p)->adc.sense[0]) -#define AO_SENSE_MAIN(p)	((p)->adc.sense[1]) -#define AO_IGNITER_CLOSED	400 -#define AO_IGNITER_OPEN		60 - -#define AO_IGNITER_DROGUE_PORT	(&stm_gpiod) -#define AO_IGNITER_DROGUE_PIN	6 - -#define AO_IGNITER_MAIN_PORT	(&stm_gpiod) -#define AO_IGNITER_MAIN_PIN	7 - -#define AO_PYRO_PORT_0	(&stm_gpiob) -#define AO_PYRO_PIN_0	5 - -#define AO_PYRO_PORT_1	(&stm_gpioe) -#define AO_PYRO_PIN_1	4 - -#define AO_PYRO_PORT_2	(&stm_gpioe) -#define AO_PYRO_PIN_2	6 - -#define AO_PYRO_PORT_3	(&stm_gpioe) -#define AO_PYRO_PIN_3	5 - -/* Number of general purpose pyro channels available */ -#define AO_PYRO_NUM	4 - -#define AO_IGNITER_SET_DROGUE(v)	stm_gpio_set(AO_IGNITER_DROGUE_PORT, AO_IGNITER_DROGUE_PIN, v) -#define AO_IGNITER_SET_MAIN(v)		stm_gpio_set(AO_IGNITER_MAIN_PORT, AO_IGNITER_MAIN_PIN, v) - -/* - * ADC - */ -#define AO_DATA_RING		32 -#define AO_ADC_NUM_SENSE	6 - -struct ao_adc { -	int16_t			sense[AO_ADC_NUM_SENSE]; -	int16_t			v_batt; -	int16_t			v_pbatt; -	int16_t			accel_ref; -	int16_t			accel; -	int16_t			temp; -}; - -#define AO_ADC_SENSE_A		0 -#define AO_ADC_SENSE_A_PORT	(&stm_gpioa) -#define AO_ADC_SENSE_A_PIN	0 - -#define AO_ADC_SENSE_B		1 -#define AO_ADC_SENSE_B_PORT	(&stm_gpioa) -#define AO_ADC_SENSE_B_PIN	1 - -#define AO_ADC_SENSE_C		2 -#define AO_ADC_SENSE_C_PORT	(&stm_gpioa) -#define AO_ADC_SENSE_C_PIN	2 - -#define AO_ADC_SENSE_D		3 -#define AO_ADC_SENSE_D_PORT	(&stm_gpioa) -#define AO_ADC_SENSE_D_PIN	3 - -#define AO_ADC_SENSE_E		4 -#define AO_ADC_SENSE_E_PORT	(&stm_gpioa) -#define AO_ADC_SENSE_E_PIN	4 - -#define AO_ADC_SENSE_F		22 -#define AO_ADC_SENSE_F_PORT	(&stm_gpioe) -#define AO_ADC_SENSE_F_PIN	7 - -#define AO_ADC_V_BATT		8 -#define AO_ADC_V_BATT_PORT	(&stm_gpiob) -#define AO_ADC_V_BATT_PIN	0 - -#define AO_ADC_V_PBATT		9 -#define AO_ADC_V_PBATT_PORT	(&stm_gpiob) -#define AO_ADC_V_PBATT_PIN	1 - -#define AO_ADC_ACCEL_REF	10 -#define AO_ADC_ACCEL_REF_PORT	(&stm_gpioc) -#define AO_ADC_ACCEL_REF_PIN	0 - -#define AO_ADC_ACCEL		11 -#define AO_ADC_ACCEL_PORT	(&stm_gpioc) -#define AO_ADC_ACCEL_PIN	1 - -#define AO_ADC_TEMP		16 - -#define AO_ADC_RCC_AHBENR	((1 << STM_RCC_AHBENR_GPIOAEN) | \ -				 (1 << STM_RCC_AHBENR_GPIOEEN) | \ -				 (1 << STM_RCC_AHBENR_GPIOBEN) | \ -				 (1 << STM_RCC_AHBENR_GPIOCEN)) - -#define AO_NUM_ADC_PIN		(AO_ADC_NUM_SENSE + 4) - -#define AO_ADC_PIN0_PORT	AO_ADC_SENSE_A_PORT -#define AO_ADC_PIN0_PIN		AO_ADC_SENSE_A_PIN -#define AO_ADC_PIN1_PORT	AO_ADC_SENSE_B_PORT -#define AO_ADC_PIN1_PIN		AO_ADC_SENSE_B_PIN -#define AO_ADC_PIN2_PORT	AO_ADC_SENSE_C_PORT -#define AO_ADC_PIN2_PIN		AO_ADC_SENSE_C_PIN -#define AO_ADC_PIN3_PORT	AO_ADC_SENSE_D_PORT -#define AO_ADC_PIN3_PIN		AO_ADC_SENSE_D_PIN -#define AO_ADC_PIN4_PORT	AO_ADC_SENSE_E_PORT -#define AO_ADC_PIN4_PIN		AO_ADC_SENSE_E_PIN -#define AO_ADC_PIN5_PORT	AO_ADC_SENSE_F_PORT -#define AO_ADC_PIN5_PIN		AO_ADC_SENSE_F_PIN -#define AO_ADC_PIN6_PORT	AO_ADC_V_BATT_PORT -#define AO_ADC_PIN6_PIN		AO_ADC_V_BATT_PIN -#define AO_ADC_PIN7_PORT	AO_ADC_V_PBATT_PORT -#define AO_ADC_PIN7_PIN		AO_ADC_V_PBATT_PIN -#define AO_ADC_PIN8_PORT	AO_ADC_ACCEL_REF_PORT -#define AO_ADC_PIN8_PIN		AO_ADC_ACCEL_REF_PIN -#define AO_ADC_PIN9_PORT	AO_ADC_ACCEL_PORT -#define AO_ADC_PIN9_PIN		AO_ADC_ACCEL_PIN - -#define AO_NUM_ADC	       	(AO_ADC_NUM_SENSE + 5) - -#define AO_ADC_SQ1		AO_ADC_SENSE_A -#define AO_ADC_SQ2		AO_ADC_SENSE_B -#define AO_ADC_SQ3		AO_ADC_SENSE_C -#define AO_ADC_SQ4		AO_ADC_SENSE_D -#define AO_ADC_SQ5		AO_ADC_SENSE_E -#define AO_ADC_SQ6		AO_ADC_SENSE_F -#define AO_ADC_SQ7		AO_ADC_V_BATT -#define AO_ADC_SQ8		AO_ADC_V_PBATT -#define AO_ADC_SQ9		AO_ADC_ACCEL_REF -#define AO_ADC_SQ10		AO_ADC_ACCEL -#define AO_ADC_SQ11		AO_ADC_TEMP - -/* - * Pressure sensor settings - */ -#define HAS_MS5607		1 -#define HAS_MS5611		0 -#define AO_MS5607_PRIVATE_PINS	1 -#define AO_MS5607_CS_PORT	(&stm_gpioc) -#define AO_MS5607_CS_PIN	4 -#define AO_MS5607_CS_MASK	(1 << AO_MS5607_CS) -#define AO_MS5607_MISO_PORT	(&stm_gpioa) -#define AO_MS5607_MISO_PIN	6 -#define AO_MS5607_MISO_MASK	(1 << AO_MS5607_MISO) -#define AO_MS5607_SPI_INDEX	AO_SPI_1_PA5_PA6_PA7 - -/* - * SPI Flash memory - */ - -#define M25_MAX_CHIPS		1 -#define AO_M25_SPI_CS_PORT	(&stm_gpiod) -#define AO_M25_SPI_CS_MASK	(1 << 3) -#define AO_M25_SPI_BUS		AO_SPI_2_PB13_PB14_PB15 - -/* - * Radio (cc1120) - */ - -/* gets pretty close to 434.550 */ - -#define AO_RADIO_CAL_DEFAULT 	0x6ca333 - -#define AO_FEC_DEBUG		0 -#define AO_CC1120_SPI_CS_PORT	(&stm_gpioc) -#define AO_CC1120_SPI_CS_PIN	5 -#define AO_CC1120_SPI_BUS	AO_SPI_2_PB13_PB14_PB15 -#define AO_CC1120_SPI		stm_spi2 - -#define AO_CC1120_INT_PORT		(&stm_gpioc) -#define AO_CC1120_INT_PIN		14 -#define AO_CC1120_MCU_WAKEUP_PORT	(&stm_gpioc) -#define AO_CC1120_MCU_WAKEUP_PIN	(0) - -#define AO_CC1120_INT_GPIO	2 -#define AO_CC1120_INT_GPIO_IOCFG	CC1120_IOCFG2 - -#define AO_CC1120_MARC_GPIO	3 -#define AO_CC1120_MARC_GPIO_IOCFG	CC1120_IOCFG3 - - -#define HAS_BOOT_RADIO		0 - -/* - * Mag sensor (hmc5883) - */ - -#define HAS_HMC5883		0 -#define AO_HMC5883_INT_PORT	(&stm_gpioc) -#define AO_HMC5883_INT_PIN	12 -#define AO_HMC5883_I2C_INDEX	STM_I2C_INDEX(1) - -/* - * mpu6000 - */ - -#define HAS_MPU6000		1	 -#define AO_MPU6000_INT_PORT	(&stm_gpioc) -#define AO_MPU6000_INT_PIN	13 -#define AO_MPU6000_I2C_INDEX	STM_I2C_INDEX(1) - -#define HAS_HIGHG_ACCEL		0 - -/* - * mma655x - */ - -#define HAS_MMA655X		1 -#define AO_MMA655X_SPI_INDEX	AO_SPI_1_PE13_PE14_PE15 -#define AO_MMA655X_CS_PORT	(&stm_gpiod) -#define AO_MMA655X_CS_PIN	4 - -#define NUM_CMDS		16 - -/* - * Companion - */ - -#define AO_COMPANION_CS_PORT	(&stm_gpiod) -#define AO_COMPANION_CS_PIN	(0) -#define AO_COMPANION_SPI_BUS	AO_SPI_2_PB13_PB14_PB15 - -/* - * Monitor - */ - -#define HAS_MONITOR		0 -#define LEGACY_MONITOR		0 -#define HAS_MONITOR_PUT		1 -#define AO_MONITOR_LED		0 -#define HAS_RSSI		0 - -/* - * Profiling Viterbi decoding - */ - -#ifndef AO_PROFILE -#define AO_PROFILE	       	0 -#endif - -#endif /* _AO_PINS_H_ */ diff --git a/src/megametrum-v0.1/stlink-pins b/src/megametrum-v0.1/stlink-pins deleted file mode 100644 index 390f8e5d..00000000 --- a/src/megametrum-v0.1/stlink-pins +++ /dev/null @@ -1,57 +0,0 @@ -ST discovery card pins - -1	AIN-1 -2	JTCK -3	GND -4	JTMS -5	NRST -6	SWO - -MegaMetrum v0.1 misc connector - -1	GND -2	reset_n -3	boot0 -4	tx1 -5	rx1 -6	+3.3V -7	GND -8	jtms -9	jtck -10	jtdi -11	jtdo -12	jntrst -13	sda2 -14	scl2 -15	pe1 -16	pe0 - -For debugging: - -	ST	MM v0.1 -JTCK	2	9 -GND	3	7 -JTMS	4	8 -NRST	5	2 - -Altus Metrum STM32L standard debug connector (4 pin MicoMaTch): - -	TL	ST -GND	1	3 -NRST	2	5 -SWDIO	3	4 -SWCLK	4	2 - -Altus Metrum standard 4-pin connector to MegaMetrum v0.1 misc connector: - -	AMstd	MM v0.1 -gnd	1	1 -nrst	2	2 -swdio	3	8 -swclk	4	9 - -MegaAccel: - -Jumpers -PC0 (pin15) (blue)	PE0 (pin97)	accel_ref	(debug 16) -PC1 (pin16) (green)	PE1 (pin98)	accel		(debug 15) diff --git a/src/stm/ao_i2c_stm.c b/src/stm/ao_i2c_stm.c index 779e2275..809b5c6f 100644 --- a/src/stm/ao_i2c_stm.c +++ b/src/stm/ao_i2c_stm.c @@ -36,7 +36,7 @@ static uint16_t	ao_i2c_addr[STM_NUM_I2C];  uint8_t 	ao_i2c_mutex[STM_NUM_I2C];  # define I2C_HIGH_SLOW	5000	/* ns, 100kHz clock */ -#ifdef MEGAMETRUM +#ifdef TELEMEGA  # define I2C_HIGH_FAST	2000	/* ns, 167kHz clock */  #else  # define I2C_HIGH_FAST	1000	/* ns, 333kHz clock */ diff --git a/src/telelco-v0.1/Makefile b/src/telelco-v0.1/Makefile index d2702dd6..a4a83d02 100644 --- a/src/telelco-v0.1/Makefile +++ b/src/telelco-v0.1/Makefile @@ -61,7 +61,7 @@ ALTOS_SRC = \  	ao_radio_cmac_cmd.c  PRODUCT=TeleLCO-v0.1 -PRODUCT_DEF=-DMEGAMETRUM +PRODUCT_DEF=-DTELEMEGA  IDPRODUCT=0x0023  CFLAGS = $(PRODUCT_DEF) $(STM_CFLAGS) $(PROFILE_DEF) -Os -g diff --git a/src/test/Makefile b/src/test/Makefile index 991bdbfc..a62b59c5 100644 --- a/src/test/Makefile +++ b/src/test/Makefile @@ -30,7 +30,7 @@ ao_flight_test_accel: ao_flight_test.c ao_host.h ao_flight.c  ao_sample.c ao_kal  	cc $(CFLAGS) -o $@ -DFORCE_ACCEL=1 ao_flight_test.c  ao_flight_test_mm: ao_flight_test.c ao_host.h ao_flight.c ao_sample.c ao_kalman.c $(INCS) -	cc -DMEGAMETRUM=1 $(CFLAGS) -o $@ $< -lm +	cc -DTELEMEGA=1 $(CFLAGS) -o $@ $< -lm  ao_gps_test: ao_gps_test.c ao_gps_sirf.c ao_gps_print.c ao_host.h  	cc $(CFLAGS) -o $@ $< diff --git a/src/test/ao_flight_test.c b/src/test/ao_flight_test.c index cdd1f236..99bed7ee 100644 --- a/src/test/ao_flight_test.c +++ b/src/test/ao_flight_test.c @@ -35,7 +35,7 @@  #define AO_MS_TO_SPEED(ms)	((int16_t) ((ms) * 16))  #define AO_MSS_TO_ACCEL(mss)	((int16_t) ((mss) * 16)) -#if MEGAMETRUM +#if TELEMEGA  #define AO_ADC_NUM_SENSE	6  #define HAS_MS5607		1  #define HAS_MPU6000		1 @@ -195,7 +195,7 @@ struct ao_cmds {  #define ao_xmemcmp(d,s,c) memcmp(d,s,c)  #define AO_NEED_ALTITUDE_TO_PRES 1 -#if MEGAMETRUM +#if TELEMEGA  #include "ao_convert_pa.c"  #include <ao_ms5607.h>  struct ao_ms5607_prom	ms5607_prom; @@ -333,7 +333,7 @@ ao_insert(void)  #else  		double	accel = 0.0;  #endif -#if MEGAMETRUM +#if TELEMEGA  		double	height;  		ao_ms5607_convert(&ao_data_static.ms5607_raw, &ao_data_static.ms5607_cooked); @@ -373,7 +373,7 @@ ao_insert(void)  		if (!ao_summary) {  			printf("%7.2f height %8.2f accel %8.3f " -#if MEGAMETRUM +#if TELEMEGA  			       "roll %8.3f angle %8.3f qangle %8.3f "  			       "accel_x %8.3f accel_y %8.3f accel_z %8.3f gyro_x %8.3f gyro_y %8.3f gyro_z %8.3f "  #endif @@ -381,7 +381,7 @@ ao_insert(void)  			       time,  			       height,  			       accel, -#if MEGAMETRUM +#if TELEMEGA  			       ao_mpu6000_gyro(ao_sample_roll_angle) / 100.0,  			       ao_mpu6000_gyro(ao_sample_angle) / 100.0,  			       ao_sample_qangle, @@ -555,7 +555,7 @@ int32(uint8_t *bytes, int off)  static int log_format; -#if MEGAMETRUM +#if TELEMEGA  static double  ao_vec_norm(double x, double y, double z) @@ -774,7 +774,7 @@ ao_sleep(void *wchan)  		for (;;) {  			if (ao_records_read > 2 && ao_flight_state == ao_flight_startup)  			{ -#if MEGAMETRUM +#if TELEMEGA  				ao_data_static.mpu6000 = ao_ground_mpu6000;  #else  				ao_data_static.adc.accel = ao_flight_ground_accel; @@ -800,8 +800,8 @@ ao_sleep(void *wchan)  				if (words[nword] == NULL)  					break;  			} -#if MEGAMETRUM -			if (log_format == AO_LOG_FORMAT_MEGAMETRUM && nword == 30 && strlen(words[0]) == 1) { +#if TELEMEGA +			if (log_format == AO_LOG_FORMAT_TELEMEGA && nword == 30 && strlen(words[0]) == 1) {  				int	i;  				struct ao_ms5607_value	value; @@ -885,7 +885,7 @@ ao_sleep(void *wchan)  				continue;  			}  #else -			if (nword == 4 && log_format != AO_LOG_FORMAT_MEGAMETRUM) { +			if (nword == 4 && log_format != AO_LOG_FORMAT_TELEMEGA) {  				type = words[0][0];  				tick = strtoul(words[1], NULL, 16);  				a = strtoul(words[2], NULL, 16); @@ -1002,7 +1002,7 @@ ao_sleep(void *wchan)  			if (type != 'F' && !ao_flight_started)  				continue; -#if MEGAMETRUM +#if TELEMEGA  			(void) a;  			(void) b;  #else  | 
