Commit 5832bab0 authored by Dean Camera's avatar Dean Camera
Browse files

Rename the AT90USBXXX67 internal driver directory to AVRU4U6U7.

parent 87059198
......@@ -251,15 +251,15 @@ void EVENT_USB_Host_DeviceEnumerationFailed(const uint8_t ErrorCode, const uint8
* we aren't interested in (preventing us from being able to extract them later on, but saving on the RAM they would
* have occupied).
*
* \param[in] CurrentItemAttributes Pointer to the attrbutes of the item the HID report parser is currently working with
* \param[in] CurrentItem Pointer to the item the HID report parser is currently working with
*
* \return Boolean true if the item should be stored into the HID report structure, false if it should be discarded
*/
bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_Attributes_t* CurrentItemAttributes)
bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_t* CurrentItem)
{
/* Check the attributes of the current item - see if we are interested in it or not;
* only store KEYBOARD usage page items into the Processed HID Report structure to
* save RAM and ignore the rest
*/
return (CurrentItemAttributes->Usage.Page == USAGE_PAGE_KEYBOARD);
return (CurrentItem->Attributes.Usage.Page == USAGE_PAGE_KEYBOARD);
}
......@@ -75,4 +75,6 @@
void EVENT_USB_Host_DeviceEnumerationFailed(const uint8_t ErrorCode, const uint8_t SubErrorCode);
void EVENT_USB_Host_DeviceEnumerationComplete(void);
bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_t* CurrentItem);
#endif
......@@ -250,16 +250,36 @@ void EVENT_USB_Host_DeviceEnumerationFailed(const uint8_t ErrorCode, const uint8
* we aren't interested in (preventing us from being able to extract them later on, but saving on the RAM they would
* have occupied).
*
* \param[in] CurrentItemAttributes Pointer to the attrbutes of the item the HID report parser is currently working with
* \param[in] CurrentItem Pointer to the item the HID report parser is currently working with
*
* \return Boolean true if the item should be stored into the HID report structure, false if it should be discarded
*/
bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_Attributes_t* CurrentItemAttributes)
bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_t* CurrentItem)
{
bool IsMouse = false;
/* Iterate through the item's collection path, until either the root collection node or a collection with the
* Mouse Usage is found - this prevents Joysticks, which use identical descriptors except for the Joystick usage
* parent node, from being erronously treated as a mouse
*/
for (HID_CollectionPath_t* CurrPath = CurrentItem->CollectionPath; CurrPath != NULL; CurrPath = CurrPath->Parent)
{
if ((CurrPath->Usage.Page == USAGE_PAGE_GENERIC_DCTRL) &&
(CurrPath->Usage.Usage == USAGE_MOUSE))
{
IsMouse = true;
break;
}
}
/* If a collection with the mouse usage was not found, indicate that we are not interested in this item */
if (!IsMouse)
return false;
/* Check the attributes of the current item - see if we are interested in it or not;
* only store BUTTON and GENERIC_DESKTOP_CONTROL items into the Processed HID Report
* structure to save RAM and ignore the rest
*/
return ((CurrentItemAttributes->Usage.Page == USAGE_PAGE_BUTTON) ||
(CurrentItemAttributes->Usage.Page == USAGE_PAGE_GENERIC_DCTRL));
return ((CurrentItem->Attributes.Usage.Page == USAGE_PAGE_BUTTON) ||
(CurrentItem->Attributes.Usage.Page == USAGE_PAGE_GENERIC_DCTRL));
}
......@@ -69,6 +69,9 @@
/** HID Report Descriptor Usage Page value for a Generic Desktop Control */
#define USAGE_PAGE_GENERIC_DCTRL 0x01
/** HID Report Descriptor Usage for a Mouse */
#define USAGE_MOUSE 0x02
/** HID Report Descriptor Usage value for a X axis movement */
#define USAGE_X 0x30
......@@ -84,4 +87,6 @@
void EVENT_USB_Host_DeviceEnumerationFailed(const uint8_t ErrorCode, const uint8_t SubErrorCode);
void EVENT_USB_Host_DeviceEnumerationComplete(void);
bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_t* CurrentItem);
#endif
......@@ -75,15 +75,15 @@ uint8_t GetHIDReportData(void)
* we aren't interested in (preventing us from being able to extract them later on, but saving on the RAM they would
* have occupied).
*
* \param[in] CurrentItemAttributes Pointer to the attrbutes of the item the HID report parser is currently working with
* \param[in] CurrentItem Pointer to the item the HID report parser is currently working with
*
* \return Boolean true if the item should be stored into the HID report structure, false if it should be discarded
*/
bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_Attributes_t* CurrentItemAttributes)
bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_t* CurrentItem)
{
/* Check the attributes of the current item - see if we are interested in it or not;
* only store KEYBOARD usage page items into the Processed HID Report structure to
* save RAM and ignore the rest
*/
return (CurrentItemAttributes->Usage.Page == USAGE_PAGE_KEYBOARD);
return (CurrentItem->Attributes.Usage.Page == USAGE_PAGE_KEYBOARD);
}
......@@ -77,6 +77,6 @@
/* Function Prototypes: */
uint8_t GetHIDReportData(void);
bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_Attributes_t* CurrentItemAttributes);
bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_t* CurrentItemAttributes);
#endif
......@@ -75,16 +75,36 @@ uint8_t GetHIDReportData(void)
* we aren't interested in (preventing us from being able to extract them later on, but saving on the RAM they would
* have occupied).
*
* \param[in] CurrentItemAttributes Pointer to the attrbutes of the item the HID report parser is currently working with
* \param[in] CurrentItem Pointer to the item the HID report parser is currently working with
*
* \return Boolean true if the item should be stored into the HID report structure, false if it should be discarded
*/
bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_Attributes_t* CurrentItemAttributes)
bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_t* CurrentItem)
{
/* Check the attributes of the current item - see if we are interested in it or not;
bool IsMouse = false;
/* Iterate through the item's collection path, until either the root collection node or a collection with the
* Mouse Usage is found - this prevents Joysticks, which use identical descriptors except for the Joystick usage
* parent node, from being erronously treated as a mouse
*/
for (HID_CollectionPath_t* CurrPath = CurrentItem->CollectionPath; CurrPath != NULL; CurrPath = CurrPath->Parent)
{
if ((CurrPath->Usage.Page == USAGE_PAGE_GENERIC_DCTRL) &&
(CurrPath->Usage.Usage == USAGE_MOUSE))
{
IsMouse = true;
break;
}
}
/* If a collection with the mouse usage was not found, indicate that we are not interested in this item */
if (!IsMouse)
return false;
/* Check the attributes of the current mouse item - see if we are interested in it or not;
* only store BUTTON and GENERIC_DESKTOP_CONTROL items into the Processed HID Report
* structure to save RAM and ignore the rest
*/
return ((CurrentItemAttributes->Usage.Page == USAGE_PAGE_BUTTON) ||
(CurrentItemAttributes->Usage.Page == USAGE_PAGE_GENERIC_DCTRL));
return ((CurrentItem->Attributes.Usage.Page == USAGE_PAGE_BUTTON) ||
(CurrentItem->Attributes.Usage.Page == USAGE_PAGE_GENERIC_DCTRL));
}
......@@ -43,6 +43,9 @@
#include "MouseHostWithParser.h"
/* Macros: */
/** HID Report Descriptor Usage for a Mouse */
#define USAGE_MOUSE 0x02
/** HID Report Descriptor Usage Page value for a toggle button */
#define USAGE_PAGE_BUTTON 0x09
......@@ -86,6 +89,6 @@
/* Function Prototypes: */
uint8_t GetHIDReportData(void);
bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_Attributes_t* CurrentItemAttributes);
bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_t* CurrentItem);
#endif
This diff is collapsed.
......@@ -63,7 +63,7 @@
defined(__AVR_AT90USB1287__) || defined(__AVR_AT90USB647__) || \
defined(__AVR_ATmega16U4__) || defined(__AVR_ATmega32U4__) || \
defined(__AVR_ATmega32U6__))
#include "AT90USBXXX67/ADC.h"
#include "AVRU4U6U7/ADC.h"
#else
#error "ADC is not available for the currently selected AVR model."
#endif
......
......@@ -37,13 +37,13 @@
*/
/** \ingroup Group_ADC
* @defgroup Group_ADC_AT90USBXXX67 AT90USBXXX6 and AT90USBXXX7 Models
* @defgroup Group_ADC_AVRU4U6U7 Series U4, U6 and U7 Model ADC Driver
*
* @{
*/
#ifndef __ADC_AT90USBXXX67_H__
#define __ADC_AT90USBXXX67_H__
#ifndef __ADC_AVRU4U6U7_H__
#define __ADC_AVRU4U6U7_H__
/* Includes: */
#include "../../../Common/Common.h"
......
......@@ -271,7 +271,7 @@ uint8_t USB_ProcessHIDReport(const uint8_t* ReportData, uint16_t ReportSize, HID
if (ParserData->LargestReportSizeBits < CurrReportIDInfo->ReportSizeBits[ReportSizeIndex])
ParserData->LargestReportSizeBits = CurrReportIDInfo->ReportSizeBits[ReportSizeIndex];
if (!(ReportItemData & IOF_CONSTANT) && CALLBACK_HIDParser_FilterHIDReportItem(&CurrStateTable->Attributes))
if (!(ReportItemData & IOF_CONSTANT) && CALLBACK_HIDParser_FilterHIDReportItem(&NewReportItem))
{
if (ParserData->TotalReportItems == HID_MAX_REPORTITEMS)
return HID_PARSE_InsufficientReportItems;
......
......@@ -288,11 +288,11 @@
* HID_ReportInfo_t structure. This can be used to filter only those items the application will be using, so that
* no RAM is wasted storing the attributes for report items which will never be referenced by the application.
*
* \param[in] CurrentItemAttributes Pointer to the current report item attributes for user checking
* \param[in] CurrentItem Pointer to the current report item for user checking
*
* \return Boolean true if the item should be stored into the HID_ReportInfo_t structure, false if it should be ignored
*/
bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_Attributes_t* CurrentItemAttributes);
bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_t* CurrentItem);
/* Private Interface - For use in library only: */
#if !defined(__DOXYGEN__)
......
......@@ -24,6 +24,10 @@
* - Audio class Device mode demos now work at both 16MHz and 8MHz, rather than just at 8MHz
* - The previous USBtoSerial demo has been moved into the projects directory, as it was just a modified CDC demo
* - The Endpoint/Pipe functions now use the const qualifier on the input buffer
* - Changed the CALLBACK_HIDParser_FilterHIDReportItem() callback to pass a HID_ReportItem_t rather than just the current
* item's attributes, to expose more information on the item (including it's type, collection path, etc.)
* - Changed MouseHostWithParser demos to check that the report items have a Mouse usage collection as a parent at some point,
* to prevent Joysticks from enumerating with the demo
*
* <b>Fixed:</b>
* - Fixed PrinterHost demo returning invalid Device ID data when the attached device does not have a
......
......@@ -27,9 +27,8 @@
* This folder contains drivers for several of the AVR internal peripherals such as the USART, compatible with
* all USB AVR models.
*
* \dir LUFA/Drivers/Peripheral/AT90USBXXX67
* \brief AT90USBXXX6, AT90USBXXX7 and ATMEGAXXU4 AVR model peripheral driver files. Its original name is due to legacy
* reasons.
* \dir LUFA/Drivers/Peripheral/AVRU4U6U7
* \brief AT90USBXXX6, AT90USBXXX7 and ATMEGAXXU4 AVR model peripheral driver files.
*
* This folder contains drivers for several of the AVR internal peripherals such as the USART, compatible only with
* the AT90USBXXX6, AT90USBXXX7 and ATMEGAXXU4 USB AVR models, such as the AT90USB1287. Its contents should <b>not</b> be
......
......@@ -23,9 +23,10 @@
* - Change makefiles to allow for absolute LUFA location to be used
* - Add RNDIS Host Class driver
* - Add unit testing to APIs
* - Add board overviews
* - Make new demos
* -# Keyboard/Mouse Dual Class Host
* -# Multiple-report HID device
* -# Multiple-Report HID device
* -# Mouse/CDC Dual Class Device
* -# Joystick Host
* - Port LUFA to other architectures
......
......@@ -11,7 +11,12 @@
* areas relevant to making older projects compatible with the API changes of each new release.
*
* \section Sec_MigrationXXXXXX Migrating from 090924 to XXXXXX
* <b>No Migration information for this release - all library elements are backwards-compatible with 090924.</b>
*
* <b>Host Mode</b>
* - The \ref CALLBACK_HIDParser_FilterHIDReportItem() HID Parser callback now passes a complete HID_ReportItem_t to the
* user application, instead of just its attributes.
*
<b>No Migration information for this release - all library elements are backwards-compatible with 090924.</b>
*
* \section Sec_Migration090924 Migrating from 090810 to 090924
*
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment