Add stub functions to all board drivers, so that demos can be compiled with BOARD...
authorDean Camera <dean@fourwalledcubicle.com>
Sun, 19 May 2013 19:49:36 +0000 (21:49 +0200)
committerDean Camera <dean@fourwalledcubicle.com>
Sun, 19 May 2013 19:49:36 +0000 (21:49 +0200)
LUFA/DoxygenPages/ChangeLog.txt
LUFA/Drivers/Board/Buttons.h
LUFA/Drivers/Board/Dataflash.h
LUFA/Drivers/Board/Joystick.h

index 16d3fe6..e48b508 100644 (file)
   *  - Library Applications:
   *   - Added new Printer class bootloader
   *   - Added new Mass Storage class bootloader
+  *   - Added XMEGA support for class driver device demos (where applicable)
   *
   *  <b>Changed:</b>
   *  - Core:
   *   - Updated the BUILD build system module to produce binary BIN files in addition to Intel HEX files
   *   - Updated the Android Accessory Class to accept version 2 protocol devices (with version 1 functionality)
+  *   - All board drivers now implement dummy functions and constants when BOARD is set to NONE
   *
   *  <b>Fixed:</b>
   *  - Core:
index 5c9cd75..9e31935 100644 (file)
  *  \code
  *      // Initialize the button driver before first use
  *      Buttons_Init();
- *      
+ *
  *      printf("Waiting for button press...\r\n");
- *      
+ *
  *      // Loop until a board button has been pressed
  *      uint8_t ButtonPress;
  *      while (!(ButtonPress = Buttons_GetStatus())) {};
- *      
+ *
  *      // Display which button was pressed (assuming two board buttons)
  *      printf("Button pressed: %s\r\n", (ButtonPress == BUTTONS_BUTTON1) ? "Button 1" : "Button 2");
  *  \endcode
@@ -92,7 +92,9 @@
                #include "../../Common/Common.h"
 
                #if (BOARD == BOARD_NONE)
-                       #error The Board Buttons driver cannot be used if the makefile BOARD option is not set.
+                       #define BUTTONS_BUTTON1  0
+                       static inline void       Buttons_Init(void) {};
+                       static inline uint_reg_t Buttons_GetStatus(void) { return 0; };
                #elif (BOARD == BOARD_USBKEY)
                        #include "AVR8/USBKEY/Buttons.h"
                #elif (BOARD == BOARD_STK525)
index cc4aa2e..7b99371 100644 (file)
 
                /* Includes: */
                        #if (BOARD == BOARD_NONE)
-                               #error The Board Dataflash driver cannot be used if the makefile BOARD option is not set.
+                               #define DATAFLASH_TOTALCHIPS  0
+                               #define DATAFLASH_NO_CHIP     0
+                               #define DATAFLASH_CHIP1       0
+                               #define DATAFLASH_PAGE_SIZE   0
+                               #define DATAFLASH_PAGES       0
+                               static inline void    Dataflash_Init(void) {};
+                               static inline uint8_t Dataflash_TransferByte(const uint8_t Byte) { return 0; };
+                               static inline void    Dataflash_SendByte(const uint8_t Byte) {};
+                               static inline uint8_t Dataflash_ReceiveByte(void) { return 0; };
+                               static inline uint8_t Dataflash_GetSelectedChip(void) { return 0; };
+                               static inline void    Dataflash_SelectChip(const uint8_t ChipMask) {};
+                               static inline void    Dataflash_DeselectChip(void) {};
+                               static inline void    Dataflash_SelectChipFromPage(const uint16_t PageAddress) {};
+                               static inline void    Dataflash_ToggleSelectedChipCS(void) {};
+                               static inline void    Dataflash_WaitWhileBusy(void) {};
+                               static inline void    Dataflash_SendAddressBytes(uint16_t PageAddress,
+                                                                                const uint16_t BufferByte) {};
                        #elif (BOARD == BOARD_USBKEY)
                                #include "AVR8/USBKEY/Dataflash.h"
                        #elif (BOARD == BOARD_STK525)
index e39c225..c3b306e 100644 (file)
  *  \code
  *      // Initialize the board Joystick driver before first use
  *      Joystick_Init();
- *      
+ *
  *      printf("Waiting for joystick movement...\r\n");
- *      
+ *
  *      // Loop until a the joystick has been moved
  *      uint8_t JoystickMovement;
  *      while (!(JoystickMovement = Joystick_GetStatus())) {};
- *      
+ *
  *      // Display which direction the joystick was moved in
  *      printf("Joystick moved:\r\n");
- *      
+ *
  *      if (JoystickMovement & (JOY_UP | JOY_DOWN))
  *        printf("%s ", (JoystickMovement & JOY_UP) ? "Up" : "Down");
- *      
+ *
  *      if (JoystickMovement & (JOY_LEFT | JOY_RIGHT))
  *        printf("%s ", (JoystickMovement & JOY_LEFT) ? "Left" : "Right");
- *      
+ *
  *      if (JoystickMovement & JOY_PRESS)
  *        printf("Pressed");
  *  \endcode
                #include "../../Common/Common.h"
 
                #if (BOARD == BOARD_NONE)
-                       #error The Board Joystick driver cannot be used if the makefile BOARD option is not set.
+                       #define JOY_UP           0
+                       #define JOY_DOWN         0
+                       #define JOY_LEFT         0
+                       #define JOY_RIGHT        0
+                       #define JOY_PRESS        0
+                       static inline void       Joystick_Init(void) {};
+                       static inline uint_reg_t Joystick_GetStatus(void) { return 0; };
                #elif (BOARD == BOARD_USBKEY)
                        #include "AVR8/USBKEY/Joystick.h"
                #elif (BOARD == BOARD_STK525)