diff options
author | Jack Humbert <jack.humb@gmail.com> | 2017-07-07 11:55:23 -0400 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2017-07-07 11:55:23 -0400 |
commit | 8655d4f4948b2deef7844503c8d690f23ac1a062 (patch) | |
tree | b2c6effc9d6cd5b5b43933a1e53b8bf17e9e82cf /lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/Lib | |
parent | 1896c76a2928c96f9ab7947bec2ef8dd37623cff (diff) | |
parent | 60b30c036397cb5627fa374bb930794b225daa29 (diff) |
Merge commit '60b30c036397cb5627fa374bb930794b225daa29' as 'lib/lufa'
Diffstat (limited to 'lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/Lib')
-rw-r--r-- | lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/Lib/AndroidAccessoryCommands.c | 84 | ||||
-rw-r--r-- | lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/Lib/AndroidAccessoryCommands.h | 52 |
2 files changed, 136 insertions, 0 deletions
diff --git a/lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/Lib/AndroidAccessoryCommands.c b/lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/Lib/AndroidAccessoryCommands.c new file mode 100644 index 0000000000..7446e073a3 --- /dev/null +++ b/lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/Lib/AndroidAccessoryCommands.c @@ -0,0 +1,84 @@ +/* + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +*/ + +/* + Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) + + Permission to use, copy, modify, distribute, and sell this + software and its documentation for any purpose is hereby granted + without fee, provided that the above copyright notice appear in + all copies and that both that the copyright notice and this + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the + software without specific, written prior permission. + + The author disclaims all warranties with regard to this + software, including all implied warranties of merchantability + and fitness. In no event shall the author be liable for any + special, indirect or consequential damages or any damages + whatsoever resulting from loss of use, data or profits, whether + in an action of contract, negligence or other tortious action, + arising out of or in connection with the use or performance of + this software. +*/ + +/** \file + * + * Android Accessory Mode utility functions, for the configuration of an attached + * Android device into Android Accessory Mode ready for general communication. + */ + +#include "AndroidAccessoryCommands.h" + +uint8_t Android_GetAccessoryProtocol(uint16_t* const Protocol) +{ + USB_ControlRequest = (USB_Request_Header_t) + { + .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_VENDOR | REQREC_DEVICE), + .bRequest = AOA_REQ_GetAccessoryProtocol, + .wValue = 0, + .wIndex = 0, + .wLength = sizeof(uint16_t), + }; + + Pipe_SelectPipe(PIPE_CONTROLPIPE); + return USB_Host_SendControlRequest(Protocol); +} + +uint8_t Android_SendString(const uint8_t StringIndex, + const char* const String) +{ + USB_ControlRequest = (USB_Request_Header_t) + { + .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_VENDOR | REQREC_DEVICE), + .bRequest = AOA_REQ_SendString, + .wValue = 0, + .wIndex = StringIndex, + .wLength = (strlen(String) + 1), + }; + + Pipe_SelectPipe(PIPE_CONTROLPIPE); + return USB_Host_SendControlRequest((char*)String); +} + +uint8_t Android_StartAccessoryMode(void) +{ + USB_ControlRequest = (USB_Request_Header_t) + { + .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_VENDOR | REQREC_DEVICE), + .bRequest = AOA_REQ_StartAccessoryMode, + .wValue = 0, + .wIndex = 0, + .wLength = 0, + }; + + Pipe_SelectPipe(PIPE_CONTROLPIPE); + return USB_Host_SendControlRequest(NULL); +} + diff --git a/lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/Lib/AndroidAccessoryCommands.h b/lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/Lib/AndroidAccessoryCommands.h new file mode 100644 index 0000000000..98fb0365df --- /dev/null +++ b/lib/lufa/Demos/Host/LowLevel/AndroidAccessoryHost/Lib/AndroidAccessoryCommands.h @@ -0,0 +1,52 @@ +/* + LUFA Library + Copyright (C) Dean Camera, 2017. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +*/ + +/* + Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) + + Permission to use, copy, modify, distribute, and sell this + software and its documentation for any purpose is hereby granted + without fee, provided that the above copyright notice appear in + all copies and that both that the copyright notice and this + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the + software without specific, written prior permission. + + The author disclaims all warranties with regard to this + software, including all implied warranties of merchantability + and fitness. In no event shall the author be liable for any + special, indirect or consequential damages or any damages + whatsoever resulting from loss of use, data or profits, whether + in an action of contract, negligence or other tortious action, + arising out of or in connection with the use or performance of + this software. +*/ + +/** \file + * + * Header file for AndroidAccessoryCommands.c. + */ + +#ifndef _ANDROID_ACCESSORY_COMMANDS_H_ +#define _ANDROID_ACCESSORY_COMMANDS_H_ + + /* Includes: */ + #include <stdint.h> + #include <stdbool.h> + + #include <LUFA/Drivers/USB/USB.h> + + /* Function Prototypes: */ + uint8_t Android_GetAccessoryProtocol(uint16_t* const Protocol); + uint8_t Android_SendString(const uint8_t StringIndex, + const char* const String); + uint8_t Android_StartAccessoryMode(void); + +#endif + |