altos/teledongle-v1.9: Switch to NXP processor as on prototype boards
authorKeith Packard <keithp@keithp.com>
Fri, 7 Nov 2014 00:05:49 +0000 (16:05 -0800)
committerKeith Packard <keithp@keithp.com>
Fri, 7 Nov 2014 00:05:49 +0000 (16:05 -0800)
Signed-off-by: Keith Packard <keithp@keithp.com>
src/teledongle-v1.9/Makefile
src/teledongle-v1.9/ao_pins.h
src/teledongle-v1.9/ao_teledongle.c
src/teledongle-v1.9/flash-loader/Makefile
src/teledongle-v1.9/flash-loader/ao_pins.h

index d800d6108ece77564d3feae1d434e0d25d77ec84..78deb9e26b102f90fa96e9942106abcad54aeff9 100644 (file)
@@ -3,7 +3,7 @@
 #
 #
 
-include ../stm/Makefile.defs
+include ../lpc/Makefile.defs
 
 INC = \
        ao.h \
@@ -14,21 +14,11 @@ INC = \
        ao_product.h \
        ao_task.h \
        ao_whiten.h \
-       stm32l.h \
+       lpc.h \
        ao_cc1200.h \
        ao_cc1200_CC1200.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 \
@@ -38,20 +28,17 @@ ALTOS_SRC = \
        ao_cmd.c \
        ao_config.c \
        ao_task.c \
-       ao_led.c \
+       ao_led_lpc.c \
        ao_stdio.c \
        ao_panic.c \
-       ao_timer.c \
+       ao_timer_lpc.c \
        ao_mutex.c \
        ao_freq.c \
-       ao_dma_stm.c \
-       ao_spi_stm.c \
-       ao_usb_stm.c \
-       ao_exti_stm.c \
+       ao_spi_lpc.c \
+       ao_usb_lpc.c \
+       ao_exti_lpc.c \
        ao_send_packet.c \
-       ao_eeprom_stm.c \
        ao_monitor.c \
-       ao_rssi.c \
        ao_packet_master.c \
        ao_packet.c
 
@@ -59,7 +46,7 @@ PRODUCT=TeleDongle-v1.9
 PRODUCT_DEF=-DTELEDONGLE
 IDPRODUCT=0x000c
 
-CFLAGS = $(PRODUCT_DEF) $(STM_CFLAGS) $(PROFILE_DEF) $(SAMPLE_PROFILE_DEF) $(STACK_GUARD_DEF) -Os -g
+CFLAGS = $(PRODUCT_DEF) $(LPC_CFLAGS) -Os -g
 
 PROGNAME=teledongle-v1.9
 PROG=$(PROGNAME)-$(VERSION).elf
@@ -78,6 +65,9 @@ $(OBJ): $(INC)
 ao_product.h: ao-make-product.5c ../Version
        $(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@
 
+load: $(PROG)
+       lpc-load $(PROG)
+
 distclean:     clean
 
 clean:
index 86dd04597e07922ce37a9e0a3f0ff741f58d439a..f8889c4a09aa51801170cdb8edaa63f8ecb9ea0e 100644 (file)
 #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
+#define AO_STACK_SIZE  324
 
-/* Run APB1 at 16MHz (HCLK/2) */
-#define AO_APB1_PRESCALER      2
-#define AO_RCC_CFGR_PPRE1_DIV  STM_RCC_CFGR_PPRE2_DIV_2
+#define HAS_TASK_QUEUE         1
 
-/* Run APB2 at 16MHz (HCLK/2) */
-#define AO_APB2_PRESCALER      2
-#define AO_RCC_CFGR_PPRE2_DIV  STM_RCC_CFGR_PPRE2_DIV_2
+#define IS_FLASH_LOADER        0
 
-#define HAS_SERIAL_1           0
-#define USE_SERIAL_1_STDIN     0
-#define SERIAL_1_PB6_PB7       0
-#define SERIAL_1_PA9_PA10      0
+/* Crystal on the board */
+#define AO_LPC_CLKIN   12000000
 
-#define HAS_SERIAL_2           0
-#define USE_SERIAL_2_STDIN     0
-#define SERIAL_2_PA2_PA3       0
-#define SERIAL_2_PD5_PD6       0
+/* Main clock frequency. 48MHz for USB so we don't use the USB PLL */
+#define AO_LPC_CLKOUT  48000000
 
-#define HAS_SERIAL_3           0
-#define USE_SERIAL_3_STDIN     0
-#define SERIAL_3_PB10_PB11     0
-#define SERIAL_3_PC10_PC11     0
-#define SERIAL_3_PD8_PD9       0
+/* System clock frequency */
+#define AO_LPC_SYSCLK  24000000
 
-#define HAS_EEPROM             1
-#define USE_INTERNAL_FLASH     1
+#define HAS_EEPROM             0
+#define USE_INTERNAL_FLASH     0
 #define USE_STORAGE_CONFIG     0
-#define USE_EEPROM_CONFIG      1
+#define USE_EEPROM_CONFIG      0
+
 #define HAS_USB                        1
+#define HAS_USB_CONNECT                0
+#define HAS_USB_VBUS           0
+#define HAS_USB_PULLUP         1
+#define AO_USB_PULLUP_PORT     0
+#define AO_USB_PULLUP_PIN      20
+
 #define HAS_BEEP               0
 #define HAS_RADIO              1
 #define HAS_TELEMETRY          0
-#define HAS_RSSI               1
-
-#define HAS_SPI_1              0
-#define SPI_1_PA5_PA6_PA7      0       /* Barometer */
-#define SPI_1_PB3_PB4_PB5      0
-#define SPI_1_PE13_PE14_PE15   0       /* Accelerometer */
-
-#define HAS_SPI_2              1
-#define SPI_2_PB13_PB14_PB15   1       /* Radio */
-#define SPI_2_PD1_PD3_PD4      0
-#define SPI_2_OSPEEDR          STM_OSPEEDR_10MHz
+#define HAS_RSSI               0
 
-#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_SPI_0              1
+#define SPI_SCK0_P0_6          1
 
 #define PACKET_HAS_SLAVE       0
 #define PACKET_HAS_MASTER      1
 
 #define LOW_LEVEL_DEBUG                0
 
-#define LED_PORT_0_ENABLE      STM_RCC_AHBENR_GPIOCEN
-#define LED_PORT_0             (&stm_gpioc)
-#define LED_PORT_0_MASK                (0xffff)
-#define LED_PORT_0_SHIFT       0
-#define LED_PIN_RED            8
-#define LED_PIN_GREEN          9
+#define LED_PORT               0
+#define LED_PIN_RED            14
+#define LED_PIN_GREEN          7
 #define AO_LED_RED             (1 << LED_PIN_RED)
 #define AO_LED_GREEN           (1 << LED_PIN_GREEN)
 
 #define LEGACY_MONITOR         0
 #define HAS_MONITOR_PUT                1
 #define AO_MONITOR_LED         AO_LED_GREEN
+#define AO_MONITOR_BAD         AO_LED_RED
 
 /*
  * Radio (cc1200)
 #define AO_RADIO_CAL_DEFAULT   5695733
 
 #define AO_FEC_DEBUG           0
-#define AO_CC1200_SPI_CS_PORT  (&stm_gpioc)
-#define AO_CC1200_SPI_CS_PIN   5
-#define AO_CC1200_SPI_BUS      AO_SPI_2_PB13_PB14_PB15
-#define AO_CC1200_SPI          stm_spi2
+#define AO_CC1200_SPI_CS_PORT  0
+#define AO_CC1200_SPI_CS_PIN   3
+#define AO_CC1200_SPI_BUS      0
+#define AO_CC1200_SPI          0
 
-#define AO_CC1200_INT_PORT     (&stm_gpioe)
-#define AO_CC1200_INT_PIN      1
+#define AO_CC1200_INT_PORT     0
+#define AO_CC1200_INT_PIN      2
 
 #define AO_CC1200_INT_GPIO     2
 #define AO_CC1200_INT_GPIO_IOCFG       CC1200_IOCFG2
index 68d6de60c9d979eec0bf072484772aa8d798e2a3..02b93efecd413fdca6ed773a85b96eb69f5a2810 100644 (file)
@@ -35,7 +35,6 @@ main(void)
        ao_timer_init();
 
        ao_spi_init();
-       ao_dma_init();
        ao_exti_init();
 
        ao_cmd_init();
@@ -43,12 +42,12 @@ main(void)
        ao_usb_init();
        ao_radio_init();
        ao_monitor_init();
-       ao_rssi_init(AO_LED_RED);
        ao_packet_master_init();
        ao_send_packet_init();
 
        ao_config_init();
 
+       ao_led_off(AO_LED_RED);
        ao_start_scheduler();
        return 0;
 }
index 70ddaad43c4eb9f6ea08f8d3e9630486178ea3f1..a5642b465cb0bcbd2f4942def7055bf66fab6912 100644 (file)
@@ -4,4 +4,4 @@
 
 TOPDIR=../..
 HARDWARE=teledongle-v1.9
-include $(TOPDIR)/stm/Makefile-flash.defs
+include $(TOPDIR)/lpc/Makefile-flash.defs
index 1af92f1317374040d34533229d9791cdbbf37ac7..aee5be270cd733a714760bae45652ffb3074e35e 100644 (file)
 #ifndef _AO_PINS_H_
 #define _AO_PINS_H_
 
-/* External crystal at 8MHz */
-#define AO_HSE         8000000
+#include <ao_flash_lpc_pins.h>
 
-#include <ao_flash_stm_pins.h>
+/* Debug port TXD (pin 6) */
 
-/* Companion port cs_companion0 PD0 */
-
-#define AO_BOOT_PIN            1
-#define AO_BOOT_APPLICATION_GPIO       stm_gpiod
-#define AO_BOOT_APPLICATION_PIN                0
+#define AO_BOOT_PIN                    1
+#define AO_BOOT_APPLICATION_GPIO       0
+#define AO_BOOT_APPLICATION_PIN                19
 #define AO_BOOT_APPLICATION_VALUE      1
 #define AO_BOOT_APPLICATION_MODE       AO_EXTI_MODE_PULL_UP
 
+#define HAS_USB_PULLUP 1
+#define AO_USB_PULLUP_PORT     0
+#define AO_USB_PULLUP_PIN      20
+
 #endif /* _AO_PINS_H_ */