Commit 7f8dbb49 authored by Dean Camera's avatar Dean Camera

Convert the LowLevel AndroidAccessory demo to use the new class driver...

Convert the LowLevel AndroidAccessory demo to use the new class driver constants to reduce code duplication.

Add missing Doxygen documentation.
parent 8b5aa616
......@@ -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>
......
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