From a31f0e064a339b16066c5fd4b22a37eec193e5c9 Mon Sep 17 00:00:00 2001 From: Jacob Alexander Date: Sat, 26 Jan 2013 15:43:59 -0500 Subject: [PATCH] Updating Debug Modules to new abstracted hierarchy - Also added some extra CMake build messages for indicating the Compiler family and chip being built for --- CMakeLists.txt | 3 +++ Debug/led/led.c | 34 +++++++++++++++++++++++++++++++++- Debug/led/led.h | 5 +---- Debug/print/print.h | 10 ++++++---- arm.cmake | 6 ++++++ avr.cmake | 3 +++ 6 files changed, 52 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8f51c8a..e1f2e4b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,6 +30,9 @@ include( AddFileDependencies ) #set( COMPILER_FAMILY "arm" ) set( COMPILER_FAMILY "avr" ) +message( STATUS "Compiler Family:" ) +message( "${COMPILER_FAMILY}" ) + #| Load the compiler family specific configurations diff --git a/Debug/led/led.c b/Debug/led/led.c index 3b2dd91..e8a28cc 100644 --- a/Debug/led/led.c +++ b/Debug/led/led.c @@ -21,7 +21,9 @@ // ----- Includes ----- -// AVR Includes +// Compiler Includes +#include + // Project Includes #include "led.h" @@ -33,13 +35,29 @@ // Error LED Setup inline void init_errorLED() { +// AVR +#if defined(_at90usb162_) || defined(_atmega32u4_) || defined(_at90usb646_) || defined(_at90usb1286_) + // Use pin D6 as an output (LED) DDRD |= (1<<6); + +// ARM +#elif defined(_mk20dx128_) + + // Setup pin - Pin 11 -> C5 - See Lib/pin_map.teensy3 for more details on pins + PORTC_PCR5 = PORT_PCR_SRE | PORT_PCR_DSE | PORT_PCR_MUX(1); + // Enable pin + GPIO_BITBAND_MODREG( GPIOC_PDOR, 5 ) = 1; + +#endif } // Error LED Control inline void errorLED( uint8_t on ) { +// AVR +#if defined(_at90usb162_) || defined(_atmega32u4_) || defined(_at90usb646_) || defined(_at90usb1286_) + // Error LED On (D6) if ( on ) { PORTD |= (1<<6); @@ -48,5 +66,19 @@ inline void errorLED( uint8_t on ) else { PORTD &= ~(1<<6); } + +// ARM +#elif defined(_mk20dx128_) + + // Error LED On (C5) + if ( on ) { + GPIOC_PSOR |= (1<<5); + } + // Error LED Off + else { + GPIOC_PCOR |= (1<<5); + } + +#endif } diff --git a/Debug/led/led.h b/Debug/led/led.h index 4833733..107fbc3 100644 --- a/Debug/led/led.h +++ b/Debug/led/led.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 by Jacob Alexander +/* Copyright (C) 2011-2013 by Jacob Alexander * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -24,9 +24,6 @@ // ----- Includes ----- -// AVR Includes -#include - // ----- Functions ----- diff --git a/Debug/print/print.h b/Debug/print/print.h index 73744a3..e5ba872 100644 --- a/Debug/print/print.h +++ b/Debug/print/print.h @@ -24,14 +24,16 @@ // ----- Includes ----- -// AVR Includes -#include - -// USB Includes +// Compiler Includes #if defined(_at90usb162_) || defined(_atmega32u4_) || defined(_at90usb646_) || defined(_at90usb1286_) + +#include #include "avr/usb_keyboard_debug.h" + #elif defined(_mk20dx128_) + #include "arm/usb_keyboard.h" + #endif diff --git a/arm.cmake b/arm.cmake index e5469b0..176d906 100644 --- a/arm.cmake +++ b/arm.cmake @@ -36,6 +36,9 @@ set( SIZE "arm-none-eabi-size" ) #| "mk20dx128" # Teensy 3.0 set( CHIP "mk20dx128" ) +message( STATUS "Chip Selected:" ) +message( "${CHIP}" ) + #| CPU Type #| You _MUST_ set this to match the board you are using @@ -44,6 +47,9 @@ set( CHIP "mk20dx128" ) #| "cortex-m4" # Teensy 3.0 set( CPU "cortex-m4" ) +message( STATUS "CPU Selected:" ) +message( "${CPU}" ) + #| Extra Compiler Sources #| Mostly for convenience functions like interrupt handlers diff --git a/avr.cmake b/avr.cmake index 1c50803..43e1880 100644 --- a/avr.cmake +++ b/avr.cmake @@ -40,6 +40,9 @@ set( SIZE "avr-size" ) #set( MCU "atmega32u4" ) set( MCU "at90usb1286" ) +message( STATUS "MCU Selected:" ) +message( "${MCU}" ) + #| Extra Compiler Sources #| Mostly for convenience functions like interrupt handlers -- 2.39.2