+++ /dev/null
-telescience-pwm*
-ao_product.h
+++ /dev/null
-#
-# AltOS build
-#
-#
-vpath % ..:../kernel:../product:../drivers:../avr
-vpath ao-make-product.5c ../util
-
-include ../avr/Makefile.defs
-
-MCU=atmega32u4
-DUDECPUTYPE=m32u4
-#PROGRAMMER=stk500v2 -P usb
-LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
-
-#LDFLAGS=-L$(LDSCRIPTS) -Tavr5.x
-
-INC = \
- ao.h \
- ao_arch.h \
- ao_usb.h \
- ao_pins.h \
- ao_product.h
-
-#
-# Common AltOS sources
-#
-TELESCIENCE_STORAGE= \
- ao_m25.c \
- ao_spi_usart.c \
- ao_storage.c
-
-TELESCIENCE_LOG= \
- ao_log_single.c \
- ao_log_telescience.c
-
-ALTOS_SRC = \
- ao_clock.c \
- ao_cmd.c \
- ao_mutex.c \
- ao_panic.c \
- ao_product.c \
- ao_stdio.c \
- ao_task.c \
- ao_timer.c \
- ao_led_avr.c \
- ao_avr_stdio.c \
- ao_romconfig.c \
- ao_usb_avr.c \
- ao_adc_avr.c \
- ao_science_slave.c \
- ao_spi_slave.c \
- ao_pwmin.c \
- $(TELESCIENCE_STORAGE)\
- $(TELESCIENCE_LOG)
-
-PRODUCT=TeleScience-PWM
-MCU=atmega32u4
-PRODUCT_DEF=-DTELESCIENCE -DTELESCIENCE_PWM
-IDPRODUCT=0x0011
-CFLAGS = $(PRODUCT_DEF) -I. -I../avr -I../kernel -I..
-CFLAGS += -g -mmcu=$(MCU) -Wall -Wstrict-prototypes -O3 -mcall-prologues -DAVR
-
-NICKLE=nickle
-
-PROG=telescience-pwm
-
-SRC=$(ALTOS_SRC) ao_telescience.c
-OBJ=$(SRC:.c=.o)
-
-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)
-
-CHECK=sh ../util/check-avr-mem
-
-$(PROG): Makefile $(OBJ)
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ)
- $(call quiet,CHECK) $(PROG) || ($(RM) -f $(PROG); exit 1)
-
-$(PROG).hex: $(PROG)
- avr-size $(PROG)
- $(OBJCOPY) -R .eeprom -O ihex $(PROG) $@
-
-
-load: $(PROG).hex
- $(LOADCMD) $(LOADARG)$(PROG).hex
-
-ao_product.h: ao-make-product.5c ../Version
- $(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@
-
-ao_product.o: ao_product.c ao_product.h
-
-%.o : %.c $(INC)
- $(call quiet,CC) -c $(CFLAGS) $<
-
-distclean: clean
-
-clean:
- rm -f *.o $(PROG) $(PROG).hex
- rm -f ao_product.h
-
-install:
-
-uninstall:
-
-$(OBJ): ao_product.h $(INC)
+++ /dev/null
-telescience-v0.1*
-ao_product.h
+++ /dev/null
-#
-# AltOS build
-#
-#
-vpath % ..:../kernel:../product:../drivers:../avr
-vpath ao-make-product.5c ../util
-
-include ../avr/Makefile.defs
-
-MCU=atmega32u4
-DUDECPUTYPE=m32u4
-#PROGRAMMER=stk500v2 -P usb
-LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
-
-#LDFLAGS=-L$(LDSCRIPTS) -Tavr5.x
-
-INC = \
- ao.h \
- ao_arch.h \
- ao_usb.h \
- ao_pins.h \
- ao_product.h
-
-#
-# Common AltOS sources
-#
-TELESCIENCE_STORAGE= \
- ao_m25.c \
- ao_spi_usart.c \
- ao_storage.c
-
-TELESCIENCE_LOG= \
- ao_log_single.c \
- ao_log_telescience.c
-
-ALTOS_SRC = \
- ao_clock.c \
- ao_cmd.c \
- ao_mutex.c \
- ao_panic.c \
- ao_product.c \
- ao_stdio.c \
- ao_task.c \
- ao_timer.c \
- ao_led_avr.c \
- ao_avr_stdio.c \
- ao_romconfig.c \
- ao_usb_avr.c \
- ao_adc_avr.c \
- ao_science_slave.c \
- ao_spi_slave.c \
- $(TELESCIENCE_STORAGE)\
- $(TELESCIENCE_LOG)
-
-PRODUCT=TeleScience-v0.1
-MCU=atmega32u4
-PRODUCT_DEF=-DTELESCIENCE
-IDPRODUCT=0x0011
-CFLAGS = $(PRODUCT_DEF) -I. -I../avr -I../kernel -I..
-CFLAGS += -g -mmcu=$(MCU) -Wall -Wstrict-prototypes -O3 -mcall-prologues -DAVR
-
-NICKLE=nickle
-
-PROG=telescience-v0.1
-
-SRC=$(ALTOS_SRC) ao_telescience.c
-OBJ=$(SRC:.c=.o)
-
-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)
-
-CHECK=sh ../util/check-avr-mem
-
-$(PROG): Makefile $(OBJ)
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ)
- $(call quiet,CHECK) $(PROG) || ($(RM) -f $(PROG); exit 1)
-
-$(PROG).hex: $(PROG)
- avr-size $(PROG)
- $(OBJCOPY) -R .eeprom -O ihex $(PROG) $@
-
-
-load: $(PROG).hex
- $(LOADCMD) $(LOADARG)$(PROG).hex
-
-ao_product.h: ao-make-product.5c ../Version
- $(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@
-
-ao_product.o: ao_product.c ao_product.h
-
-%.o : %.c $(INC)
- $(call quiet,CC) -c $(CFLAGS) $<
-
-distclean: clean
-
-clean:
- rm -f *.o $(PROG) $(PROG).hex
- rm -f ao_product.h
-
-install:
-
-uninstall:
-
-$(OBJ): ao_product.h $(INC)
+++ /dev/null
-ao_product.h
-telescience-*.elf
+++ /dev/null
-#
-# AltOS build
-#
-#
-
-include ../stm/Makefile.defs
-
-INC = \
- ao.h \
- ao_arch.h \
- ao_arch_funcs.h \
- ao_pins.h \
- ao_product.h \
- ao_cc1120_CC1120.h \
- ao_task.h \
- ao_whiten.h \
- stm32l.h \
- Makefile
-
-#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_boot_chain.c \
- ao_interrupt.c \
- ao_product.c \
- ao_romconfig.c \
- ao_cmd.c \
- ao_config.c \
- ao_task.c \
- ao_led_stm.c \
- ao_stdio.c \
- ao_panic.c \
- ao_timer.c \
- ao_mutex.c \
- ao_dma_stm.c \
- ao_spi_stm.c \
- ao_usb_stm.c \
- ao_adc_stm.c \
- ao_data.c \
- ao_exti_stm.c \
- ao_storage.c \
- ao_m25.c \
- ao_science_slave.c \
- ao_spi_stm_slave.c \
- ao_log_telescience.c \
- ao_log_single.c
-
-PRODUCT=TeleScience-v0.2
-PRODUCT_DEF=-DTELESCIENCE
-IDPRODUCT=0x0011
-
-CFLAGS = $(PRODUCT_DEF) $(STM_CFLAGS) $(PROFILE_DEF) $(SAMPLE_PROFILE_DEF) $(STACK_GUARD_DEF) -Os -g
-
-PROGNAME=telescience-v0.2
-PROG=$(PROGNAME)-$(VERSION).elf
-HEX=$(PROGNAME)-$(VERSION).ihx
-
-SRC=$(ALTOS_SRC) ao_telescience.c
-OBJ=$(SRC:.c=.o)
-
-all: $(PROG) $(HEX)
-
-$(PROG): Makefile $(OBJ) altos.ld
- $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
-
-$(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 $(PROGNAME)-*.ihx
- rm -f ao_product.h
-
-install:
-
-uninstall:
+++ /dev/null
-/*
- * 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; either version 2 of the License, or
- * (at your option) any later version.
- *
- * 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 0
-#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 0
-#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 HAS_EEPROM 1
-#define USE_INTERNAL_FLASH 0
-#define HAS_USB 1
-#define HAS_BEEP 0
-#define HAS_RADIO 0
-#define HAS_TELEMETRY 0
-#define PACKET_HAS_SLAVE 0
-
-#define HAS_SPI_1 0
-#define HAS_SPI_SLAVE_1 1
-#define SPI_1_PA5_PA6_PA7 1
-#define SPI_1_PB3_PB4_PB5 0
-#define SPI_1_PE13_PE14_PE15 0
-#define SPI_1_OSPEEDR STM_OSPEEDR_10MHz
-
-#define HAS_SPI_2 1
-#define SPI_2_PB13_PB14_PB15 1
-#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 SPI_SLAVE_INDEX 1
-
-#define HAS_I2C_1 0
-#define I2C_1_PB8_PB9 0
-
-#define HAS_I2C_2 0
-#define I2C_2_PB10_PB11 0
-
-#define LOW_LEVEL_DEBUG 0
-
-#define LED_PORT_0_ENABLE STM_RCC_AHBENR_GPIOAEN
-
-#define LED_PORT_0 (&stm_gpioa)
-#define LED_PORT_0_MASK (0xff)
-#define LED_PORT_0_SHIFT 0
-#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 0
-#define HAS_FLIGHT 0
-#define HAS_ADC 1
-#define HAS_ADC_TEMP 1
-#define HAS_LOG 1
-#define AO_LOG_FORMAT AO_LOG_FORMAT_TELESCIENCE
-
-/*
- * SPI Flash memory
- */
-
-#define M25_MAX_CHIPS 1
-#define AO_M25_SPI_CS_PORT (&stm_gpioa)
-#define AO_M25_SPI_CS_MASK (1 << 3)
-#define AO_M25_SPI_BUS AO_SPI_2_PB13_PB14_PB15
-
-/*
- * ADC
- */
-
-#define AO_DATA_RING 32
-#define AO_ADC_NUM 1
-
-struct ao_adc {
- int16_t adc[AO_ADC_NUM];
-};
-
-#define AO_ADC_TEMP 16
-
-#define AO_ADC_RCC_AHBENR 0
-
-#define AO_NUM_ADC_PIN 0
-
-#define AO_NUM_ADC 1
-
-#define AO_ADC_SQ1 AO_ADC_TEMP
-
-
-#endif /* _AO_PINS_H_ */
+++ /dev/null
-/*
- * 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; either version 2 of the License, or
- * (at your option) any later version.
- *
- * 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_exti.h>
-#include <ao_packet.h>
-#include <ao_send_packet.h>
-
-int
-main(void)
-{
- ao_clock_init();
-
-#if HAS_STACK_GUARD
- ao_mpu_init();
-#endif
-
- ao_led_init(LEDS_AVAILABLE);
- ao_led_on(AO_LED_GREEN);
-
- ao_task_init();
-
- ao_timer_init();
-
- ao_spi_init();
- ao_spi_slave_init();
- ao_dma_init();
- ao_exti_init();
-
- ao_cmd_init();
-
- ao_usb_init();
- ao_config_init();
-
- ao_storage_init();
-
- ao_start_scheduler();
- return 0;
-}
+++ /dev/null
-#
-# AltOS flash loader build
-#
-#
-
-TOPDIR=../..
-HARDWARE=telescience-v0.2
-include $(TOPDIR)/stm/Makefile-flash.defs
+++ /dev/null
-/*
- * Copyright © 2013 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; either version 2 of the License, or
- * (at your option) any later version.
- *
- * 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_
-
-/* External crystal at 8MHz */
-#define AO_HSE 8000000
-
-#include <ao_flash_stm_pins.h>
-
-/* Companion port SS PA4 */
-
-#define AO_BOOT_PIN 1
-#define AO_BOOT_APPLICATION_GPIO stm_gpioa
-#define AO_BOOT_APPLICATION_PIN 4
-#define AO_BOOT_APPLICATION_VALUE 1
-#define AO_BOOT_APPLICATION_MODE AO_EXTI_MODE_PULL_UP
-
-#endif /* _AO_PINS_H_ */