From 2afa02686643b1b19341c99816715cac1d88abb9 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Sun, 6 May 2012 15:01:40 +0000
Subject: [PATCH] Complete BoardDriverTest build test.

---
 BuildTests/BoardDriverTest/BoardDeviceMap.cfg | 50 ++++++++++++++++++-
 BuildTests/BoardDriverTest/Test.c             | 39 +++++++++++++--
 BuildTests/BoardDriverTest/makefile           | 12 +++--
 3 files changed, 89 insertions(+), 12 deletions(-)

diff --git a/BuildTests/BoardDriverTest/BoardDeviceMap.cfg b/BuildTests/BoardDriverTest/BoardDeviceMap.cfg
index 15a5f451a..8d0854905 100644
--- a/BuildTests/BoardDriverTest/BoardDeviceMap.cfg
+++ b/BuildTests/BoardDriverTest/BoardDeviceMap.cfg
@@ -1,3 +1,49 @@
 # BOARD DEFINE = {ARCH} : {MCU}
-BOARD_USER = avr8 : at90usb1287
-BOARD_USBKEY = avr8 : at90usb1287
\ No newline at end of file
+BOARD_USBKEY = avr8 : at90usb1287
+BOARD_STK525 = avr8 : at90usb647
+BOARD_STK526 = avr8 : at90usb162
+BOARD_RZUSBSTICK = avr8 : at90usb1287
+BOARD_ATAVRUSBRF01 = avr8 : at90usb1287
+BOARD_BUMBLEB = avr8 : at90usb162
+BOARD_XPLAIN = avr8 : at90usb1287
+BOARD_XPLAIN_REV1 = avr8 : at90usb1287
+BOARD_EVK527 = avr8 : atmega32u4
+BOARD_TEENSY = avr8 : at90usb162
+BOARD_USBTINYMKII = avr8 : at90usb162
+BOARD_BENITO = avr8 : at90usb162
+BOARD_JMDBU2 = avr8 : atmega32u2
+BOARD_OLIMEX162 = avr8 : at90usb162
+BOARD_UDIP = avr8 : atmega32u2
+BOARD_BUI = avr8 : at90usb646
+BOARD_UNO = avr8 : atmega8u2
+BOARD_CULV3 = avr8 : atmega32u4
+BOARD_BLACKCAT = avr8 : at90usb162
+BOARD_MAXIMUS = avr8 : at90usb162
+BOARD_MINIMUS = avr8 : atmega32u2
+BOARD_ADAFRUITU4 = avr8 : atmega32u4
+BOARD_MICROSIN162 = avr8 : atmega162
+BOARD_USBFOO = avr8 : atmega162
+BOARD_SPARKFUN8U2 = avr8 : atmega8u2
+BOARD_EVK1101 = uc3 : uc3b0256
+BOARD_TUL = avr8 : atmega32u4
+BOARD_EVK1100 = uc3 : uc3a0512
+BOARD_EVK1104 = uc3 : uc3a3256
+BOARD_A3BU_XPLAINED = xmega : atxmega256a3bu
+BOARD_TEENSY2 = avr8 : at90usb646
+BOARD_USB2AX = avr8 : atmega32u4
+BOARD_USB2AX_V3 = avr8 : atmega32u4
+BOARD_MICROPENDOUS_32U2 = avr8 : atmega32u2
+BOARD_MICROPENDOUS_A = avr8 : at90usb1287
+BOARD_MICROPENDOUS_1 = avr8 : at90usb162
+BOARD_MICROPENDOUS_2 = avr8 : atmega32u4
+BOARD_MICROPENDOUS_3 = avr8 : at90usb1287
+BOARD_MICROPENDOUS_4 = avr8 : at90usb1287
+BOARD_MICROPENDOUS_DIP = avr8 : at90usb1287
+BOARD_MICROPENDOUS_REV1 = avr8 : at90usb1287
+BOARD_MICROPENDOUS_REV2 = avr8 : at90usb1287
+BOARD_B1_XPLAINED = xmega : atxmega128b1
+BOARD_MULTIO = avr8 : at90usb162
+BOARD_BIGMULTIO = avr8 : atmega32u4
+BOARD_DUCE = avr8 : atmega32u2
+BOARD_OLIMEX32U4 = avr8 : atmega32u4
+BOARD_OLIMEXT32U4 = avr8 : atmega32u4
\ No newline at end of file
diff --git a/BuildTests/BoardDriverTest/Test.c b/BuildTests/BoardDriverTest/Test.c
index 796dd84b5..2d908cb66 100644
--- a/BuildTests/BoardDriverTest/Test.c
+++ b/BuildTests/BoardDriverTest/Test.c
@@ -36,13 +36,42 @@
 
 int main(void)
 {
+	uint_reg_t Dummy;
+	
+	/* Buttons Compile Check */
+	Buttons_Init();
+	Dummy = Buttons_GetStatus();
+	Buttons_Disable();
+	
+	/* Dataflash Compile Check */
+	Dataflash_Init();
+	Dataflash_TransferByte(0);
+	Dataflash_SendByte(0);
+	Dummy = Dataflash_ReceiveByte();
+	Dummy = Dataflash_GetSelectedChip();
+	Dataflash_SelectChip(0);
+	Dataflash_DeselectChip();
+	Dataflash_SelectChipFromPage(0);
+	Dataflash_ToggleSelectedChipCS();
+	Dataflash_WaitWhileBusy();
+	Dataflash_SendAddressBytes(0, 0);
+
+	/* LEDs Compile Check */
+	LEDs_Init();
+	LEDs_TurnOnLEDs(LEDS_ALL_LEDS);
+	LEDs_TurnOffLEDs(LEDS_ALL_LEDS);
 	LEDs_SetAllLEDs(LEDS_ALL_LEDS);
-	LEDs_SetAllLEDs(LEDS_NO_LEDS);
-	LEDs_SetAllLEDs(LEDS_LED1);
-	LEDs_SetAllLEDs(LEDS_LED2);
-	LEDs_SetAllLEDs(LEDS_LED3);
-	LEDs_SetAllLEDs(LEDS_LED4);
+	LEDs_ChangeLEDs(LEDS_ALL_LEDS, LEDS_NO_LEDS);
 	LEDs_ToggleLEDs(LEDS_ALL_LEDS);
+	Dummy = LEDs_GetLEDs();
+	LEDs_Disable();
+	
+	/* Joystick Compile Check */
+	Joystick_Init();
+	Dummy = Joystick_GetStatus();
+	Joystick_Disable();
+	
+	(void)Dummy;
 }
 
 
diff --git a/BuildTests/BoardDriverTest/makefile b/BuildTests/BoardDriverTest/makefile
index aca8d5109..e0e784ddd 100644
--- a/BuildTests/BoardDriverTest/makefile
+++ b/BuildTests/BoardDriverTest/makefile
@@ -29,7 +29,7 @@ makeboardlist:
 	@grep "BOARD_" $(LUFA_ROOT_PATH)/LUFA/Common/BoardTypes.h | cut -d'#' -f2 | cut -d' ' -f2 | grep "BOARD_" > BoardList.txt
 	
 testboards:
-	echo "%:" > BuildMakefile
+	echo "buildtest:" > BuildMakefile
 	@while read line; \
 	 do \
 	   build_cfg=`grep "$$line " BoardDeviceMap.cfg | cut -d'=' -f2-`; \
@@ -39,13 +39,15 @@ testboards:
 	   build_mcu=`echo $$build_cfg | cut -d':' -f2 | cut -d' ' -f2`; \
 	   \
 	   if ( test -z "$$build_cfg" ); then \
-	     echo "No matching information set for board $$line"; \
+	     echo "No matching information set for board $$build_board"; \
 	   else \
-		 printf "\tmake -f makefile.$$build_arch clean\n" >> BuildMakefile; \
-		 printf "\tmake -f makefile.$$build_arch MCU=$$build_mcu BOARD=$$build_board\n" >> BuildMakefile; \
+	     echo "Found board configuration for $$build_board ($$build_arch, $$build_mcu)"; \
+		 printf "\t@echo Building dummy project for $$build_board...\n" >> BuildMakefile; \
+		 printf "\tmake -s -f makefile.$$build_arch clean\n" >> BuildMakefile; \
+		 printf "\tmake -s -f makefile.$$build_arch MCU=$$build_mcu BOARD=$$build_board\n\n" >> BuildMakefile; \
 	   fi; \
 	 done < BoardList.txt
-	 $(MAKE) -f BuildMakefile all
+	 $(MAKE) -f BuildMakefile buildtest
 
 clean:
 	rm -f BuildMakefile
-- 
GitLab