Microchip's Accessory Framework for Android(tm)
Microchip Technology Inc. Copyright (c) 2011. All rights reserved. Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.
Microchip's Accessory Framework for Android(tm) iii Table of Contents Introduction 1 SW License Agreement 2 Release Notes 10 Terms and Definitions 10 Supported Demo Boards 10 Requirements, Limitations, and Potential Issues 11 Getting the Source Code 11 What's Next? 11 Revision History 12 1.02 12 1.01.02 12 Using the Library 13 Library Architecture 13 How the Library Works 13 Configuring the Library 13 Required USB callbacks 13 HardwareProfile.h 15 usb_config.
Microchip's Accessory Framework for Android(tm) iv AndroidAppWrite Function 26 AndroidTasks Function 27 AndroidAppHIDRegister Function 27 AndroidAppHIDSendEvent Function 28 Error Codes USB_ERROR_BUFFER_TOO_SMALL Macro Configuration Definitions NUM_ANDROID_DEVICES_SUPPORTED Macro Configuration Functions 28 29 29 29 30 AndroidAppDataEventHandler Function 30 AndroidAppEventHandler Function 31 AndroidAppInitialize Function 31 Events 32 EVENT_ANDROID_ATTACH Macro 33 EVENT_ANDROID_DETACH Mac
Microchip's Accessory Framework for Android(tm) Running the demo v 42 Creating an Android Accessory Application using the Open 43 Accessory Framework Creating the Project 43 Accessing the Accessory From the Application 45 FAQs, Tips, and Troubleshooting 46 My PIC32 project gets a run time exception. What could be wrong? 46 How do I debug without access to ADB? 46 What if I need design assistance creating my accessory? 47 The firmware stops working when I hit a breakpoint.
Microchip's Accessory Framework for Android(tm) 1 1 Introduction Microchip's Accessory Framework for Android for Microchip Microcontrollers The Microchip's Accessory Framework for Android for Android provides a mechanism to transfer data to and from an Android application through the USB of the microcontroller.
Microchip's Accessory Framework for Android(tm) 2 2 SW License Agreement IMPORTANT: MICROCHIP IS WILLING TO LICENSE THE ACCOMPANYING SOFTWARE AND DOCUMENTATION TO YOU ONLY ON THE CONDITION THAT YOU ACCEPT ALL OF THE FOLLOWING TERMS. TO ACCEPT THE TERMS OF THIS LICENSE, CLICK "I ACCEPT" AND PROCEED WITH THE DOWNLOAD OR INSTALL. IF YOU DO NOT ACCEPT THESE LICENSE TERMS, CLICK "I DO NOT ACCEPT," AND DO NOT DOWNLOAD OR INSTALL THIS SOFTWARE.
Microchip's Accessory Framework for Android(tm) 3 (i) "Microchip Products" means Microchip microcontrollers, Microchip digital signal controllers, or other Microchip products that use or implement the Software. (ii) "Licensee Products" means Licensee products that use or incorporate Microchip Products. (iii) "Object Code" means the Software computer programming code that is in binary form (including related documentation, if any), and error corrections, improvements, modifications, and updates.
Microchip's Accessory Framework for Android(tm) 4 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Microchip's Accessory Framework for Android(tm) 5 (4) Use the Software to develop and/or manufacture Third Party Products where either: (x) the sublicensed Software contains Source Code modified or otherwise optimized by Licensee for integration into Third Party Products; and/or (y) the sublicensed Software is programmed into Microchip Products by Licensee on behalf of such Third Party.
Microchip's Accessory Framework for Android(tm) 6 Components will be no less broad than the license granted in Section 1. To the extent the terms of the licenses applicable to Open Source Components prohibit any of the restrictions in this Agreement with respect to such Open Source Components, such restrictions will not apply to such Open Source Component.
Microchip's Accessory Framework for Android(tm) 7 EXCLUSIVE LIABILITY OF THE PARTIES FOR INTELLECTUAL PROPERTY INFRINGEMENT. 4. Confidentiality. (a) Licensee agrees that the Software (including but not limited to the Source Code, Object Code and library files) and its derivatives, Documentation and underlying inventions, algorithms, know-how and ideas relating to the Software and the Documentation are proprietary information belonging to Microchip and its licensors ("Proprietary Information").
Microchip's Accessory Framework for Android(tm) 8 7. Warranties and Disclaimers. THE SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. MICROCHIP AND ITS LICENSORS ASSUME NO RESPONSIBILITY FOR THE ACCURACY, RELIABILITY OR APPLICATION OF THE SOFTWARE OR DOCUMENTATION.
Microchip's Accessory Framework for Android(tm) 9 for breach of this Agreement prior to termination, will survive any termination of this Agreement. (h) Assignment. Neither this Agreement nor any rights, licenses or obligations hereunder, may be assigned by Licensee without the prior written approval of Microchip except pursuant to a merger, sale of all assets of Licensee or other corporate reorganization, provided that assignee agrees in writing to be bound by the Agreement. (i) Restricted Rights.
Microchip's Accessory Framework for Android(tm) 10 3 Release Notes Microchip's Accessory Framework for Android Version 1.02, October 2012 Peripherals Type/Use Specific/Configurable Polled/Interrupt Limitations ( see page 11) USB module in host mode USB1 module Interrupt None 3.1 Terms and Definitions This section defines some of the terms used in this document.
Microchip's Accessory Framework for Android(tm) 11 3.3 Requirements, Limitations, and Potential Issues This section describes the limitations and requirements for using the Microchip's Accessory Framework for Android. Requirements: The Microchip's Accessory Framework for Android requires Android versions v2.3.4 or v3.1 or later. The Open Accessory API is not available in OS versions earlier than this.
Microchip's Accessory Framework for Android(tm) 12 1. Example boot loader for Android Accessories. 2. Examples using the Host mode features of the Open Accessory Framework 3.6 Revision History 3.6.1 1.02 Updated to support audio and HID controls released in Android Open Accessory Protocol version 2 (2012). 3.6.2 1.01.02 1. Fixed issue in Android OpenAccessory driver that could cause a memory leak. • Stack files affected: usb_host_android.
Microchip's Accessory Framework for Android(tm) 13 4 Using the Library 4.1 Library Architecture The Android Accessory driver when in host mode is just a client driver on top on top of the Microchip USB host stack as seen in the below diagram. Users interface through the Android driver API described in this document to access the Android device. 4.2 How the Library Works 4.2.1 Configuring the Library There are two distributions of the Microchip's Accessory Framework for Android.
Microchip's Accessory Framework for Android(tm) 14 USB_ApplicationDataEventHandler() and USB_ApplicationEventHandler() for the pre-compiled example. For the source example the function names are configurable through the usb_config.h ( see page 15) file (see the usb_config.h ( see page 15) section for more information). For more detailed information about these functions or the USB library, please refer to www.microchip.com/mal.
Microchip's Accessory Framework for Android(tm) 15 4.2.1.2 HardwareProfile.h HardwareProfile.h provides configuration information to the source version of the library. This tells the library and demo code information about the hardware that it needs to know for configuration, such as the system clock speed, which pins are being used for certain stack or demo features, etc. When moving this library to your own hardware platform, you will need to create your own HardwareProfile.
Microchip's Accessory Framework for Android(tm) #define #define #define #define #define 16 USB_SUPPORT_BULK_TRANSFERS USB_NUM_INTERRUPT_NAKS 3 USB_INITIAL_VBUS_CURRENT (100/2) USB_INSERT_TIME (250+1) USB_HOST_APP_EVENT_HANDLER USB_ApplicationEventHandler #define USBTasks() { USBHostTasks(); AndroidTasks(); } #define USBInitialize(x) { USBHostInit(x); } \ \ \ \ \ \ \ For more information about the usb_config.h file, please refer to the MCHPFSUSB stack help file. 4.2.1.4 usb_config.c The usb_config.
Microchip's Accessory Framework for Android(tm) 17 // Client Driver Function Pointer Table for the USB Embedded Host foundation // ***************************************************************************** CLIENT_DRIVER_TABLE usbClientDrvTable[] = { { AndroidAppInitialize, AndroidAppEventHandler, AndroidAppDataEventHandler, 0 } }; For more information about the usb_config.c file, please refer to the MCHPFSUSB documentation available in the installation found at www.microchip.com/mal. 4.2.
Microchip's Accessory Framework for Android(tm) 18 4.2.3 Keeping the Stack Running The Microchip USB host stack receives and logs events via an interrupt handler, but processes them as the USBTasks() (or USBHostTasks()) function is called. This limits the amount of time spent in an interrupt context and helps limit context related issues. This means that in order to keep the USB host stack running, the USBTasks() function needs to be called periodically in order to keep processing these events.
Microchip's Accessory Framework for Android(tm) 19 if(device_attached == FALSE) { //Continue to the top of the while loop to start the check over again.
Microchip's Accessory Framework for Android(tm) 20 if(AndroidAppIsWriteComplete(device_handle, &errorCode, &size) == TRUE) { writeInProgress = FALSE; if(errorCode != USB_SUCCESS) { //Error DEBUG_ERROR("Error trying to complete write"); } } } if((buttonsNeedUpdate == TRUE) && (writeInProgress == FALSE)) { response_packet.command = COMMAND_UPDATE_PUSHBUTTONS; response_packet.
Microchip's Accessory Framework for Android(tm) 21 if( errorCode != USB_SUCCESS) { //Error DEBUG_ERROR("Error trying to start read"); } else { readInProgress = TRUE; } } if(AndroidAppIsReadComplete(device_handle, &errorCode, &size) == TRUE) { readInProgress = FALSE; //We've received a command over the USB from the Android device. if(errorCode == USB_SUCCESS) { //We've received data, process it here (or elsewhere if desired) switch(command_packet.command) { case COMMAND_SET_LEDS: SetLEDs(command_packet.
Microchip's Accessory Framework for Android(tm) 22 5 Firmware API This section covers the API routines available in this distribution. These descriptions cover more of the interface of these functions. For example usages and more details about how to use these functions in conjunction with each other and in your system, please refer to the Using the Library ( see page 13) section of the document. 5.
Microchip's Accessory Framework for Android(tm) 23 • USB_UNKNOWN_DEVICE - Device not attached • USB_ENDPOINT_STALLED - Endpoint STALL'd • USB_ENDPOINT_ERROR_ILLEGAL_PID - Illegal PID returned • USB_ENDPOINT_ERROR_BIT_STUFF • USB_ENDPOINT_ERROR_DMA • USB_ENDPOINT_ERROR_TIMEOUT • USB_ENDPOINT_ERROR_DATA_FIELD • USB_ENDPOINT_ERROR_CRC16 • USB_ENDPOINT_ERROR_END_OF_FRAME • USB_ENDPOINT_ERROR_PID_CHECK • USB_ENDPOINT_ERROR - Other error Preconditions Transfer has previously been requested from an Android devic
Microchip's Accessory Framework for Android(tm) 24 • USB_UNKNOWN_DEVICE - Device not attached • USB_ENDPOINT_STALLED - Endpoint STALL'd • USB_ENDPOINT_ERROR_ILLEGAL_PID - Illegal PID returned • USB_ENDPOINT_ERROR_BIT_STUFF • USB_ENDPOINT_ERROR_DMA • USB_ENDPOINT_ERROR_TIMEOUT • USB_ENDPOINT_ERROR_DATA_FIELD • USB_ENDPOINT_ERROR_CRC16 • USB_ENDPOINT_ERROR_END_OF_FRAME • USB_ENDPOINT_ERROR_PID_CHECK • USB_ENDPOINT_ERROR - Other error Preconditions Transfer has previously been sent to Android device.
Microchip's Accessory Framework for Android(tm) 25 Preconditions A read request is not already in progress and an Android device is attached. Parameters Parameters Description void* handle the handle passed to the device in the EVENT_ANDROID_ATTACH ( see page 33) event BYTE* data a pointer to the location of where the data should be stored. This location should be accessible by the USB module DWORD size the amount of data to read.
Microchip's Accessory Framework for Android(tm) 26 Parameters Parameters Description ANDROID_ACCESSORY_INFORMATION the information about the Android accessory *info Function void AndroidAppStart( ANDROID_ACCESSORY_INFORMATION ( see page 34) *info) 5.1.5 AndroidAppWrite Function Sends data to the Android device specified by the passed in handle. File usb_host_android.
Microchip's Accessory Framework for Android(tm) 27 5.1.6 AndroidTasks Function Tasks function that keeps the Android client driver moving File usb_host_android.h C void AndroidTasks(); Description Tasks function that keeps the Android client driver moving. Keeps the driver processing requests and handling events. This function should be called periodically (the same frequency as USBHostTasks() would be helpful). Remarks This function should be called periodically to keep the Android driver moving.
Microchip's Accessory Framework for Android(tm) 28 Function BOOL AndroidAppHIDRegister(BYTE address, BYTE id, BYTE* descriptor, BYTE length); 5.1.8 AndroidAppHIDSendEvent Function Sends a HID report to the associated Android device File usb_host_android.
Microchip's Accessory Framework for Android(tm) 29 5.2.1 USB_ERROR_BUFFER_TOO_SMALL Macro File usb_host_android.h C #define USB_ERROR_BUFFER_TOO_SMALL USB_ERROR_CLASS_DEFINED + 0 Description Error code indicating that the buffer passed to the read function was too small. Since the USB host can't control how much data it will receive in a single packet, the user must provide a buffer that is at least the size of the endpoint of the attached device.
Microchip's Accessory Framework for Android(tm) 30 5.4 Configuration Functions Functions Name Description AndroidAppDataEventHandler Handles data events from the host stack ( see page 30) AndroidAppEventHandler ( see page 31) Handles events from the host stack AndroidAppInitialize ( see page 31) Per instance client driver for Android device. Called by USB host stack from the client driver table. 5.4.1 AndroidAppDataEventHandler Function Handles data events from the host stack File usb_host_android.
Microchip's Accessory Framework for Android(tm) 31 5.4.2 AndroidAppEventHandler Function Handles events from the host stack File usb_host_android.h C BOOL AndroidAppEventHandler( BYTE address, USB_EVENT event, void * data, DWORD size ); Description Handles events from the host stack Remarks This is a internal API only.
Microchip's Accessory Framework for Android(tm) 32 Description Per instance client driver for Android device. Called by USB host stack from the client driver table. Remarks This is a internal API only.
Microchip's Accessory Framework for Android(tm) 33 5.5.1 EVENT_ANDROID_ATTACH Macro File usb_host_android.h C #define EVENT_ANDROID_ATTACH ANDROID_EVENT_BASE + 0 Description This event is thrown when an Android device is attached and successfully entered into accessory mode already. The data portion of this event is the handle that is required to communicate to the device and should be saved so that it can be passed to all of the transfer functions.
Microchip's Accessory Framework for Android(tm) 34 C #define EVENT_ANDROID_HID_SEND_EVENT_COMPLETE ANDROID_EVENT_BASE + 3 Description The requested report has been sent to the requested device. 5.
Microchip's Accessory Framework for Android(tm) BYTE description_size; length of the description string char* version; String: version number BYTE version_size; length of the version number string char* URI; String: URI for the accessory (most commonly a URL) BYTE URI_size; length of the URI string char* serial; String: serial number of the device BYTE serial_size; length of the serial number string 35 Description This structure contains the informatin that is required to successfully create
Microchip's Accessory Framework for Android(tm) 36 6 Running the Demos 6.1 Creating the Setup 6.1.1 New to Microchip This section covers where to find Microchip tools and how to set those tools up for those that are new to Microchip. 6.1.1.1 Getting the Tools If you are new to Microchip, then we welcome you to development on our line of processors. There are a few tools that you will need in order to get started developing. You will need our IDE, MPLAB. There are two versions of the IDE available.
Microchip's Accessory Framework for Android(tm) 37 Open Accessory project: • http://developer.android.com/guide/index.html • http://developer.android.com/guide/topics/fundamentals.html • http://developer.android.com/resources/tutorials/hello-world.html 6.1.3 Updating the Android OS Description This section describes how to update the Android device to the versions required for use with the Open Accessory framework. 6.1.3.1 Nexus S This section covers how to update the Nexus S to Android OS version 2.3.
Microchip's Accessory Framework for Android(tm) 38 17. Press and hold the power button. While still holding the power button, press the up volume button. 18. You will now see a system recovery menu. From this menu use the volume down button to select “apply update from /sdcard”. Press the power button to select this option. 19. Use the volume down button to navigate to the lowest version number of files that you loaded onto the phone (so if you are running v2.3.
Microchip's Accessory Framework for Android(tm) 39 6.1.4.1.2 Version v3.x To enable development for the Honeycomb OS line, versions v3.x and later, you will need to get the API level 12 add-on for the Eclipse IDE. 1. Launch the "Android SDK and AVD Manager" either through the Eclipse IDE or through the command line. 2. In the manager window's leftmost panel, select "Available Packages". 3. Expand the "Android Repository" option 4. Check the box next to the "SDK Platform Android 3.
Microchip's Accessory Framework for Android(tm) 40 6.2 Basic Accessory Demo This is the basic accessory demo that shows simple bi-directional communication from the Android device to the attached accessory. 6.2.1 Getting the Android Application There are several methods for getting the example Android application running on the target Android device.
Microchip's Accessory Framework for Android(tm) 41 6.2.3 Running the demo 1. Attach the Accessory Development Starter Board to the Android device using the connector provided by the Android device’s manufacturer. Please make sure that the accessory is attached to the Android device before launching the application. 2. Once the demonstration application has been loaded, go to the Application folder on the Android device. Open the “Basic Accessory Demo” application.
Microchip's Accessory Framework for Android(tm) 42 6.3 Audio with controls Demo This demo shows how to create a simple audio device with HID controls for next, previous, play/pause, and volume control. This demo requires no app associated with it. A user can use any audio source on the target tablet/phone to generate the audio. 6.3.1 Running the demo 1. Attach the Accessory Development Starter Board to the Android device using the connector provided by the Android device’s manufacturer.
Microchip's Accessory Framework for Android(tm) 43 7 Creating an Android Accessory Application using the Open Accessory Framework 7.1 Creating the Project When creating a new Android application that is going to be using the Open Accessory framework, it is important to select the correct API settings in order to be able to build the project successfully. Please make sure that your SDK is up to date and has the correct components by following the instructions in the Updating the SDK ( see page 38).
Microchip's Accessory Framework for Android(tm) 44 For Honeycomb devices (v3.
Microchip's Accessory Framework for Android(tm) 45 This is the only special requirement for developing an application for Android accessories. 7.2 Accessing the Accessory From the Application There are several steps that are required in order to gain access to the accessory from the application. These topics are covered in detail at the following link: http://developer.android.com/guide/topics/usb/index.html. This site covers all of the steps required to access the device in either of the modes.
Microchip's Accessory Framework for Android(tm) 46 8 FAQs, Tips, and Troubleshooting 8.1 My PIC32 project gets a run time exception. What could be wrong? There are several issues that could be causing the runtime exceptions in a PIC32 project. Here are some things to check that might help you find the source of the issue. 1. Check to make sure that you have a heap size defined. The USB host stack uses dynamic memory allocation, thus needs a heap size defined.
Microchip's Accessory Framework for Android(tm) 47 8.3 What if I need design assistance creating my accessory? If you have questions about the library, our parts, or any of our reference codes/boards, please feel free to contact Microchip for support (What if I need more support than what is here? ( see page 48)). If you need someone to assist you in creating a portion of your design, Microchip has design partners that can assist in the portion of your design that you need help with.
Microchip's Accessory Framework for Android(tm) 48 some other reason. Please see the Requirements, Limitations, and Potential Issues ( see page 11) section for other known issues or limitations. • Workaround: Since the Read() request never completes resulting in locked resources, a workaround can be implemented in the application layer.
Microchip's Accessory Framework for Android(tm) 49 (either adding support or removing support). For developing at Microchip, we have used the Nexus S phones, running v2.3.4 and v4.0 as well as a Motorola Xoom running v3.2. The Android market does provide a list of devices that should support a specific released app. The below lists detail the devices specified by the market around the release date of this document. The devices on this list may or may not actually function.
Microchip's Accessory Framework for Android(tm) 50 HTC-PG762(marvelc) HTC_X515E(rider) ISW12HT(shooterk) Incredible 2(vivow) Nexus One(passion) Sensation 4G(pyramid) Wildfire(buzz) Wildfire S(marvel) Huawei u8800(u8800) KT Tech KM-S120(s120) KM-S220(s220) KM-S220H(s220H) KM-S300(s300) KYOCERA corporation C5120(C5120) C5121(C5121) LG Optimus 2X(p990) Pantech IM-A800S(ef39s) IM-A810K(ef40k) IM-A810S(ef40s) MIRACH_J(mirachj) PantechP9060(mini) SEMC Experia Acro(IS11S) Xperia Arc(LT15i) Xperia Arc(SO-01
Microchip's Accessory Framework for Android(tm) 51 Xperia Neo(MT15i) Xperia Play(R800i) Xperia X10 Mini Pro(U20i) Xperia X10 Mini Pro(mimmi) Samsung Droid Charge(SCH-I510) Galaxy A(archer) Galaxy Ace(SHW-M240S) Galaxy Neo(SHW-M220L) Galaxy S(SHW-M110S) Galaxy S(SHW-M130L) Galaxy S(SHW-M190S) Droid Charge(SCH-I510) Galaxy Tab(SHW-M180L) Galaxy Tab(SHW-M180S) Nexus S(crespo) Nexus S(crespo4g) SCH-I405(SCH-I405) SHW-M180W(SHW-M180W) SHW-M290K(SHW-M290K) SHW-M290S(SHW-M290S) Sharp DM010SH(DM010SH) DM011SH(D
Microchip's Accessory Framework for Android(tm) 52 LT18i(LT18i) MK16a(MK16a) MK16i(MK16i) MT11i(MT11i) MT15a(MT15a) S51SE(S51SE) SK17i(SK17i) SO-01D(SO-01D) SO-03C(SO-03C) ST15i(ST15i) ST17i(ST17i) ST18i(ST18i) WT19a(WT19a) WT19i(WT19i) 8.8.2 v3.1+ App Below is a list of devices listed as supported by the Android market for the v3.1+ App as of the release of this document. This list is subject to change and these devices have not been tested by Microchip to verify that they actually do function.
Microchip's Accessory Framework for Android(tm) 53 EeePad Slider SL101(SL101) EeePad Transformer TF101(TF101) Transformer Prime TF201(TF201) Transformer TF101G(TF101G) Dell Dell Streak 10 Pro(Streak10Pro) Dell Streak 7(streak7) Foxconn ViewPad7x(viewpad7x) Fujitsu F-01D(blaze_tablet) HTC ADR6425LVW(vigor) Desire(bravo) Desire S(saga) Droid Incredible(inc) Evo 4G(supersonic) Flyer(flyer) Nexus One(passion) PG41200(express) Puccini(puccinilte) Sensation 4G(pyramid) Hisense M1101AT(TP9102) Huawei HUAWE
Microchip's Accessory Framework for Android(tm) 54 Optimus Pad(v901kr) Optimus Pad(v905r) Optimus Pad(v909) Lenovo Indigo(Indigo) K1(K1) Lenovo Mobile IdeaTab S2007A-F(msm8660_surf) IdeaTabV2007A(sanpaolo) IdeaTabV2010A-W(santiago) ThinkPad Tablet(18382AU) Motorola MZ505(Graham) MZ617(pasteur) XOOM(stingray) XOOM(umts_everest) XOOM(umts_hubble) XOOM(wifi_hubble) XOOM(wingray) XOOM 2 ME(fleming) Panasonic JT-H580VT(H580VT_A) JT-H581VT(H581VT_A) Pantech PantechP4100(pororo) Pegatron Android Tablet PC(
Microchip's Accessory Framework for Android(tm) 55 Philips Electronics PI7000(Tablet_8) Quanta Corporation IGS-1000(nk1) LIFETAB_P9514(LIFETAB_P9514) Nirvana_Tablet(Nirvana_Tablet) OP110(OP110) Samsung GT-P6200(GT-P6200) GT-P6200L(GT-P6200L) GT-P6210(GT-P6210) GT-P6800(GT-P6800) GT-P6810(GT-P6810) GT-P7300B(GT-P7300B) GT-P7500D(GT-P7500D) GT-P7500M(GT-P7500M) GT-P7500R(GT-P7500R) GT-P7501(GT-P7501) GT-P7511(GT-P7511) Galaxy Nexus(maguro) Galaxy Nexus(toro) Galaxy S(GT-I9000) Galaxy S(SGH-I897) Galaxy S(
Microchip's Accessory Framework for Android(tm) 56 SC-01D(SC-01D) SC-02D(SC-02D) SCH-I815(SCH-I815) SGH-I957D(SGH-I957D) SGH-I957M(SGH-I957M) SGH-T859(SGH-T859) SGH-T869(SGH-T869) SHV-E140K(SHV-E140K) SHV-E140L(SHV-E140L) SHV-E140S(SHV-E140S) SHW-M305W(SHW-M305W) SHW-M430W(SHW-M430W) Sharp A01SH(A01SH) EB-A71GJ(EB-A71GJ) Sony Sony Tablet P(nbx02) Tablet S(nbx03) Toshiba AT100(tostab03) ZTE SmartTab10(V11A) SmartTab7(V71A) V55(V55) V66(V66) V68(V68) 8 56
Microchip's Accessory Framework for Android(tm) Index 1 1.01.02 12 1.
Microchip's Accessory Framework for Android(tm) b M V My PIC32 project gets a run time exception. What could be wrong? 46 v2.3.x App 49 N v3.1+ App 52 Version v2.3.x 38 Version v3.