Improve the BoardDriver build test, check for mismatches board hardware support macro...
[pub/USBasp.git] / BuildTests / BoardDriverTest / Test.c
index c9f836e..896010e 100644 (file)
 #include <LUFA/Drivers/Board/LEDs.h>
 #include <LUFA/Drivers/Board/Joystick.h>
 
+#if defined(BOARD_HAS_BUTTONS) == defined(BOARD_DUMMY_BUTTONS_IMPLEMENTATION)
+       #error Mismatch between BOARD_HAS_BUTTONS and implementation.
+#endif
+
+#if defined(BOARD_HAS_DATAFLASH) == defined(BOARD_DUMMY_DATAFLASH_IMPLEMENTATION)
+       #error Mismatch between BOARD_HAS_DATAFLASH and implementation.
+#endif
+
+#if defined(BOARD_HAS_LEDS) == defined(BOARD_DUMMY_LEDS_IMPLEMENTATION)
+       #error Mismatch between BOARD_HAS_LEDS and implementation.
+#endif
+
+#if defined(BOARD_HAS_JOYSTICK) == defined(BOARD_DUMMY_JOYSTICK_IMPLEMENTATION)
+       #error Mismatch between BOARD_HAS_JOYSTICK and implementation.
+#endif
+
 int main(void)
 {
        uint_reg_t Dummy;
@@ -42,6 +58,8 @@ int main(void)
        /* =============================
         *     Buttons Compile Check
         * ============================= */
+       // cppcheck-suppress redundantAssignment
+       Dummy = BUTTONS_BUTTON1;
        Buttons_Init();
        // cppcheck-suppress redundantAssignment
        Dummy = Buttons_GetStatus();
@@ -50,6 +68,8 @@ int main(void)
        /* =============================
         *    Dataflash Compile Check
         * ============================= */
+       // cppcheck-suppress redundantAssignment
+       Dummy = DATAFLASH_TOTALCHIPS + DATAFLASH_NO_CHIP + DATAFLASH_CHIP1 + DATAFLASH_PAGE_SIZE + DATAFLASH_PAGES;
        Dataflash_Init();
        Dataflash_TransferByte(0);
        Dataflash_SendByte(0);
@@ -57,7 +77,7 @@ int main(void)
        Dummy = Dataflash_ReceiveByte();
        // cppcheck-suppress redundantAssignment
        Dummy = Dataflash_GetSelectedChip();
-       Dataflash_SelectChip(0);
+       Dataflash_SelectChip(DATAFLASH_CHIP1);
        Dataflash_DeselectChip();
        Dataflash_SelectChipFromPage(0);
        Dataflash_ToggleSelectedChipCS();
@@ -67,6 +87,8 @@ int main(void)
        /* =============================
         *       LEDs Compile Check
         * ============================= */
+       // cppcheck-suppress redundantAssignment
+       Dummy = LEDS_LED1 + LEDS_LED2 + LEDS_LED3 + LEDS_LED4;
        LEDs_Init();
        LEDs_TurnOnLEDs(LEDS_ALL_LEDS);
        LEDs_TurnOffLEDs(LEDS_ALL_LEDS);
@@ -80,6 +102,8 @@ int main(void)
        /* =============================
         *     Joystick Compile Check
         * ============================= */
+       // cppcheck-suppress redundantAssignment
+       Dummy = JOY_LEFT + JOY_RIGHT + JOY_UP + JOY_DOWN + JOY_PRESS;
        Joystick_Init();
        // cppcheck-suppress redundantAssignment
        Dummy = Joystick_GetStatus();