|
|
|
@ -8,20 +8,40 @@
|
|
|
|
|
*
|
|
|
|
|
* LUFA ships with several basic pre-made board drivers, to control hardware present on the supported board
|
|
|
|
|
* hardware - such as Dataflash ICs, LEDs, Joysticks, or other hardware peripherals. When compiling an application
|
|
|
|
|
* which makes use of one or more board drivers located in LUFA/Drivers/Board, you must also indicate what board
|
|
|
|
|
* hardware you are using in your project makefile. This is done by defining the BOARD macro using the -D switch
|
|
|
|
|
* passed to the compiler, with a constant of BOARD_{Name}. For example <b>-DBOARD=BOARD_USBKEY</b> instructs the
|
|
|
|
|
* compiler to use the USBKEY board hardware drivers.
|
|
|
|
|
*
|
|
|
|
|
* If your application does not use *any* board level drivers, you can omit the definition of the BOARD macro.
|
|
|
|
|
* However, some users may wish to write their own custom board hardware drivers which are to remain compatible
|
|
|
|
|
* with the LUFA hardware API. To do this, the BOARD macro should be defined to the value BOARD_USER. This indicates
|
|
|
|
|
* that the board level drivers should be located in a folder named "Board" located inside the application's folder.
|
|
|
|
|
*
|
|
|
|
|
* When used, the driver stub files located in the LUFA/CodeTemplates/DriverStubs folder should be copied to the user
|
|
|
|
|
* Board/ directory, and fleshed out to include the values and code needed to control the custom board hardware. Once
|
|
|
|
|
* done, the existing LUFA board level APIs (accessed in the regular LUFA/Drivers/Board/ folder) will redirect to the
|
|
|
|
|
* user board drivers, maintaining code compatibility and allowing for a different board to be selected through the
|
|
|
|
|
* project makefile with no code changes.
|
|
|
|
|
* which makes use of one or more board drivers located in <i>LUFA/Drivers/Board</i>, you must also indicate which
|
|
|
|
|
* board hardware you are using in your project makefile. This is done by defining the <tt>BOARD</tt> macro using
|
|
|
|
|
* the <tt>-D</tt> switch passed to the compiler, with a constant of <tt>BOARD_{Name}</tt>. For example,
|
|
|
|
|
* <tt>-DBOARD=BOARD_USBKEY</tt> instructs the compiler to use the USBKEY board hardware drivers.
|
|
|
|
|
*
|
|
|
|
|
* If your application does not use <i>any</i> board level drivers, you can omit the definition of the <tt>BOARD</tt>
|
|
|
|
|
* macro. However, some users may wish to write their own custom board hardware drivers which are to remain compatible
|
|
|
|
|
* with the LUFA hardware API. To do this, the <tt>BOARD</tt> macro should be defined to the value <tt>BOARD_USER</tt>.
|
|
|
|
|
* This indicates that the board level drivers should be located in a folder named "Board" located inside the
|
|
|
|
|
* application's folder.
|
|
|
|
|
*
|
|
|
|
|
* When used, the driver stub files located in the <tt>LUFA/CodeTemplates/DriverStubs</tt> folder should be copied to
|
|
|
|
|
* the user application's <tt>Board/</tt> directory, and filled out to include the values and code needed to control
|
|
|
|
|
* the custom board hardware. Once done, the existing LUFA board level APIs (accessed in the regular
|
|
|
|
|
* <tt>LUFA/Drivers/Board/</tt> folder) will redirect to the user board drivers, maintaining code compatibility and
|
|
|
|
|
* allowing for a different board to be selected through the project makefile with no code changes.
|
|
|
|
|
*
|
|
|
|
|
* \section Sec_BoardTemplates Board Driver Templates
|
|
|
|
|
*
|
|
|
|
|
* The templates for each board driver are reproduced below.
|
|
|
|
|
*
|
|
|
|
|
* \subsection SSec_BoardTemplates_Board Template for USER <Board/Board.h>
|
|
|
|
|
* \include "DriverStubs/Board.h"
|
|
|
|
|
*
|
|
|
|
|
* \subsection SSec_BoardTemplates_Board Template for USER <Board/Buttons.h>
|
|
|
|
|
* \include "DriverStubs/Buttons.h"
|
|
|
|
|
*
|
|
|
|
|
* \subsection SSec_BoardTemplates_Board Template for USER <Board/Dataflash.h>
|
|
|
|
|
* \include "DriverStubs/Dataflash.h"
|
|
|
|
|
*
|
|
|
|
|
* \subsection SSec_BoardTemplates_Board Template for USER <Board/Joystick.h>
|
|
|
|
|
* \include "DriverStubs/Joystick.h"
|
|
|
|
|
*
|
|
|
|
|
* \subsection SSec_BoardTemplates_Board Template for USER <Board/LEDs.h>
|
|
|
|
|
* \include "DriverStubs/LEDs.h"
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|