Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Erik Strand
lufa
Commits
21a6acff
Commit
21a6acff
authored
Jun 10, 2012
by
Dean Camera
Browse files
Add MAX_ENDPOINT_INDEX compile time option for the XMEGA devices.
parent
67a8f54a
Changes
3
Hide whitespace changes
Inline
Side-by-side
LUFA/CodeTemplates/LUFAConfig.h
View file @
21a6acff
...
...
@@ -117,6 +117,7 @@
// #define DEVICE_STATE_AS_GPIOR {Insert Value Here}
// #define FIXED_NUM_CONFIGURATIONS {Insert Value Here}
// #define CONTROL_ONLY_DEVICE
// #define MAX_ENDPOINT_INDEX {Insert Value Here}
// #define NO_DEVICE_REMOTE_WAKEUP
// #define NO_DEVICE_SELF_POWER
...
...
LUFA/DoxygenPages/CompileTimeTokens.txt
View file @
21a6acff
...
...
@@ -168,6 +168,10 @@
* is through control endpoint requests. Defining this token will remove several features related to the selection and control of device
* endpoints internally, saving space. Generally, this is usually only useful in (some) bootloaders and is best avoided.
*
* - <b>MAX_ENDPOINT_INDEX</b> - (\ref Group_Device) - <i>XMEGA Only</i> \n
* Defining this value to the highest index (not address - this excludes the direction flag) endpoint within the device will restrict the
* number of FIFOs created internally for the endpoint buffers, reducing the total RAM usage.
*
* - <b>INTERRUPT_CONTROL_ENDPOINT</b> - (\ref Group_USBManagement) - <i>All Architectures</i> \n
* Some applications prefer to not call the USB_USBTask() management task regularly while in device mode, as it can complicate code significantly.
* Instead, when device mode is used this token can be passed to the library via the -D switch to allow the library to manage the USB control
...
...
LUFA/Drivers/USB/Core/XMEGA/Endpoint_XMEGA.h
View file @
21a6acff
...
...
@@ -90,14 +90,18 @@
/* Public Interface - May be used in end-application: */
/* Macros: */
#if !defined(CONTROL_ONLY_DEVICE) || defined(__DOXYGEN__)
#if
(!defined(MAX_ENDPOINT_INDEX) &&
!defined(CONTROL_ONLY_DEVICE)
)
|| defined(__DOXYGEN__)
/** Total number of endpoints (including the default control endpoint at address 0) which may
* be used in the device. Different USB AVR models support different amounts of endpoints,
* this value reflects the maximum number of endpoints for the currently selected AVR model.
*/
#define ENDPOINT_TOTAL_ENDPOINTS 16
#else
#define ENDPOINT_TOTAL_ENDPOINTS 1
#if defined(CONTROL_ONLY_DEVICE)
#define ENDPOINT_TOTAL_ENDPOINTS 1
#else
#define ENDPOINT_TOTAL_ENDPOINTS (MAX_ENDPOINT_INDEX + 1)
#endif
#endif
/* Private Interface - For use in library only: */
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment