forked from mfulz_github/qmk_firmware
Convert the LowLevel AndroidAccessory demo to use the new class driver constants to reduce code duplication.
Add missing Doxygen documentation.
This commit is contained in:
parent
8b5aa61601
commit
7f8dbb4908
|
@ -183,7 +183,7 @@ void EVENT_USB_Host_DeviceEnumerationComplete(void)
|
|||
}
|
||||
|
||||
/* Validate the returned protocol version */
|
||||
if (AndroidProtocol != ANDROID_PROTOCOL_Accessory)
|
||||
if (AndroidProtocol != AOA_PROTOCOL_AccessoryV1)
|
||||
{
|
||||
puts_P(PSTR(ESC_FG_RED "Accessory Mode Not Supported."));
|
||||
|
||||
|
@ -192,12 +192,12 @@ void EVENT_USB_Host_DeviceEnumerationComplete(void)
|
|||
}
|
||||
|
||||
/* Send the device strings and start the Android Accessory Mode */
|
||||
Android_SendString(ANDROID_STRING_Manufacturer, "Dean Camera");
|
||||
Android_SendString(ANDROID_STRING_Model, "LUFA Android Demo");
|
||||
Android_SendString(ANDROID_STRING_Description, "LUFA Android Demo");
|
||||
Android_SendString(ANDROID_STRING_Version, "1.0");
|
||||
Android_SendString(ANDROID_STRING_URI, "http://www.lufa-lib.org");
|
||||
Android_SendString(ANDROID_STRING_Serial, "0000000012345678");
|
||||
Android_SendString(AOA_STRING_Manufacturer, "Dean Camera");
|
||||
Android_SendString(AOA_STRING_Model, "LUFA Android Demo");
|
||||
Android_SendString(AOA_STRING_Description, "LUFA Android Demo");
|
||||
Android_SendString(AOA_STRING_Version, "1.0");
|
||||
Android_SendString(AOA_STRING_URI, "http://www.lufa-lib.org");
|
||||
Android_SendString(AOA_STRING_Serial, "0000000012345678");
|
||||
|
||||
Android_StartAccessoryMode();
|
||||
return;
|
||||
|
|
|
@ -123,9 +123,9 @@ uint8_t DCOMP_NextAndroidAccessoryInterface(void* const CurrentDescriptor)
|
|||
{
|
||||
USB_Descriptor_Interface_t* Interface = DESCRIPTOR_PCAST(CurrentDescriptor, USB_Descriptor_Interface_t);
|
||||
|
||||
if ((Interface->Class == ANDROID_INTERFACE_CLASS) &&
|
||||
(Interface->SubClass == ANDROID_INTERFACE_SUBCLASS) &&
|
||||
(Interface->Protocol == ANDROID_INTERFACE_PROTOCOL))
|
||||
if ((Interface->Class == AOA_CSCP_AOADataClass) &&
|
||||
(Interface->SubClass == AOA_CSCP_AOADataSubclass) &&
|
||||
(Interface->Protocol == AOA_CSCP_AOADataProtocol))
|
||||
{
|
||||
return DESCRIPTOR_SEARCH_Found;
|
||||
}
|
||||
|
|
|
@ -42,10 +42,6 @@
|
|||
/* Macros: */
|
||||
#define ANDROID_DATA_IN_PIPE 1
|
||||
#define ANDROID_DATA_OUT_PIPE 2
|
||||
|
||||
#define ANDROID_INTERFACE_CLASS 0xFF
|
||||
#define ANDROID_INTERFACE_SUBCLASS 0xFF
|
||||
#define ANDROID_INTERFACE_PROTOCOL 0x00
|
||||
|
||||
/* Enums: */
|
||||
/** Enum for the possible return codes of the \ref ProcessConfigurationDescriptor() function. */
|
||||
|
|
|
@ -41,11 +41,6 @@
|
|||
|
||||
#include "AndroidAccessoryHost.h"
|
||||
|
||||
/* Macros: */
|
||||
#define ANDROID_VENDOR_ID 0x18D1
|
||||
#define ANDROID_ACCESSORY_PRODUCT_ID 0x2D00
|
||||
#define ANDROID_ACCESSORY_ADB_PRODUCT_ID 0x2D01
|
||||
|
||||
/* Enums: */
|
||||
/** Enum for the possible return codes of the \ref ProcessDeviceDescriptor() function. */
|
||||
enum AndroidHost_GetDeviceDescriptorDataCodes_t
|
||||
|
|
|
@ -41,7 +41,7 @@ uint8_t Android_GetAccessoryProtocol(uint16_t* const Protocol)
|
|||
USB_ControlRequest = (USB_Request_Header_t)
|
||||
{
|
||||
.bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_VENDOR | REQREC_DEVICE),
|
||||
.bRequest = ANDROID_Req_GetAccessoryProtocol,
|
||||
.bRequest = AOA_REQ_GetAccessoryProtocol,
|
||||
.wValue = 0,
|
||||
.wIndex = 0,
|
||||
.wLength = sizeof(uint16_t),
|
||||
|
@ -57,7 +57,7 @@ uint8_t Android_SendString(const uint8_t StringIndex,
|
|||
USB_ControlRequest = (USB_Request_Header_t)
|
||||
{
|
||||
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_VENDOR | REQREC_DEVICE),
|
||||
.bRequest = ANDROID_Req_SendString,
|
||||
.bRequest = AOA_REQ_SendString,
|
||||
.wValue = 0,
|
||||
.wIndex = StringIndex,
|
||||
.wLength = (strlen(String) + 1),
|
||||
|
@ -72,7 +72,7 @@ uint8_t Android_StartAccessoryMode(void)
|
|||
USB_ControlRequest = (USB_Request_Header_t)
|
||||
{
|
||||
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_VENDOR | REQREC_DEVICE),
|
||||
.bRequest = ANDROID_Req_StartAccessoryMode,
|
||||
.bRequest = AOA_REQ_StartAccessoryMode,
|
||||
.wValue = 0,
|
||||
.wIndex = 0,
|
||||
.wLength = 0,
|
||||
|
|
|
@ -41,29 +41,6 @@
|
|||
#include <stdbool.h>
|
||||
|
||||
#include <LUFA/Drivers/USB/USB.h>
|
||||
|
||||
/* Enums: */
|
||||
enum Android_Requests_t
|
||||
{
|
||||
ANDROID_Req_GetAccessoryProtocol = 51,
|
||||
ANDROID_Req_SendString = 52,
|
||||
ANDROID_Req_StartAccessoryMode = 53,
|
||||
};
|
||||
|
||||
enum Android_Strings_t
|
||||
{
|
||||
ANDROID_STRING_Manufacturer = 0,
|
||||
ANDROID_STRING_Model = 1,
|
||||
ANDROID_STRING_Description = 2,
|
||||
ANDROID_STRING_Version = 3,
|
||||
ANDROID_STRING_URI = 4,
|
||||
ANDROID_STRING_Serial = 5,
|
||||
};
|
||||
|
||||
enum Android_Protocols_t
|
||||
{
|
||||
ANDROID_PROTOCOL_Accessory = 0x0001,
|
||||
};
|
||||
|
||||
/* Function Prototypes: */
|
||||
uint8_t Android_GetAccessoryProtocol(uint16_t* const Protocol);
|
||||
|
|
|
@ -64,8 +64,13 @@
|
|||
#endif
|
||||
|
||||
/* Macros: */
|
||||
/** Vendor ID value in a Device Descriptor to indicate an Android device. */
|
||||
#define ANDROID_VENDOR_ID 0x18D1
|
||||
|
||||
/** Product ID value in a Device Descriptor to indicate an Android device in Open Accessory mode. */
|
||||
#define ANDROID_ACCESSORY_PRODUCT_ID 0x2D00
|
||||
|
||||
/** Product ID value in a Device Descriptor to indicate an Android device in Open Accessory and Android Debug mode. */
|
||||
#define ANDROID_ACCESSORY_ADB_PRODUCT_ID 0x2D01
|
||||
|
||||
/* Enums: */
|
||||
|
@ -111,7 +116,7 @@
|
|||
/** Enum for the possible Android Open Accessory protocol versions. */
|
||||
enum AOA_Protocols_t
|
||||
{
|
||||
AOA_PROTOCOL_Accessory = 0x0001, /**< Android Open Accessory version 1. */
|
||||
AOA_PROTOCOL_AccessoryV1 = 0x0001, /**< Android Open Accessory version 1. */
|
||||
};
|
||||
|
||||
/* Disable C linkage for C++ Compilers: */
|
||||
|
|
|
@ -194,7 +194,7 @@ uint8_t AOA_Host_StartAccessoryMode(USB_ClassInfo_AOA_Host_t* const AOAInterface
|
|||
if ((ErrorCode = AOA_Host_GetAccessoryProtocol(&AccessoryProtocol)) != HOST_WAITERROR_Successful)
|
||||
return ErrorCode;
|
||||
|
||||
if (AccessoryProtocol != CPU_TO_LE16(AOA_PROTOCOL_Accessory))
|
||||
if (AccessoryProtocol != CPU_TO_LE16(AOA_PROTOCOL_AccessoryV1))
|
||||
return AOA_ERROR_LOGICAL_CMD_FAILED;
|
||||
|
||||
for (uint8_t PropertyIndex = 0; PropertyIndex < AOA_STRING_TOTAL_STRINGS; PropertyIndex++)
|
||||
|
|
|
@ -87,7 +87,7 @@
|
|||
*
|
||||
* <table>
|
||||
* <tr>
|
||||
* <th width="100px">USB Class</th>
|
||||
* <th width="200px">USB Class</th>
|
||||
* <th width="90px">Device Mode</th>
|
||||
* <th width="90px">Host Mode</th>
|
||||
* </tr>
|
||||
|
|
Loading…
Reference in New Issue