This example demonstrates the reading of the USB Gamepad in the Nucleo.

Dependencies:   mbed

Intro

This example demonstrates the reading of the USB Gamepad in the Nucleo.

Parts

STM32 Nucleo F446RE
USB Connector
LED 2pcs
Register 470 ohm 2pcs
Breadboard
Wires

Wiring diagram

/media/uploads/beaglescout007/nucleo_ex04_usbpad.png This circuit diagram was created by fritzing.

/media/uploads/beaglescout007/usbcon.jpg

USB con.Nucleo
GNDGND
+PA_12
-PA_11
5V5V

https://youtu.be/EYIukjwJSew

Original Library

Committer:
beaglescout007
Date:
Tue Mar 15 11:39:04 2016 +0000
Revision:
0:b5f79b4f741d
Release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
beaglescout007 0:b5f79b4f741d 1 /* mbed USBHost Library
beaglescout007 0:b5f79b4f741d 2 * Copyright (c) 2006-2013 ARM Limited
beaglescout007 0:b5f79b4f741d 3 *
beaglescout007 0:b5f79b4f741d 4 * Licensed under the Apache License, Version 2.0 (the "License");
beaglescout007 0:b5f79b4f741d 5 * you may not use this file except in compliance with the License.
beaglescout007 0:b5f79b4f741d 6 * You may obtain a copy of the License at
beaglescout007 0:b5f79b4f741d 7 *
beaglescout007 0:b5f79b4f741d 8 * http://www.apache.org/licenses/LICENSE-2.0
beaglescout007 0:b5f79b4f741d 9 *
beaglescout007 0:b5f79b4f741d 10 * Unless required by applicable law or agreed to in writing, software
beaglescout007 0:b5f79b4f741d 11 * distributed under the License is distributed on an "AS IS" BASIS,
beaglescout007 0:b5f79b4f741d 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
beaglescout007 0:b5f79b4f741d 13 * See the License for the specific language governing permissions and
beaglescout007 0:b5f79b4f741d 14 * limitations under the License.
beaglescout007 0:b5f79b4f741d 15 */
beaglescout007 0:b5f79b4f741d 16
beaglescout007 0:b5f79b4f741d 17 #ifndef IUSBENUMERATOR_H_
beaglescout007 0:b5f79b4f741d 18 #define IUSBENUMERATOR_H_
beaglescout007 0:b5f79b4f741d 19
beaglescout007 0:b5f79b4f741d 20 #include "stdint.h"
beaglescout007 0:b5f79b4f741d 21 #include "USBEndpoint.h"
beaglescout007 0:b5f79b4f741d 22
beaglescout007 0:b5f79b4f741d 23 /*
beaglescout007 0:b5f79b4f741d 24 Generic interface to implement for "smart" USB enumeration
beaglescout007 0:b5f79b4f741d 25 */
beaglescout007 0:b5f79b4f741d 26
beaglescout007 0:b5f79b4f741d 27 class IUSBEnumerator
beaglescout007 0:b5f79b4f741d 28 {
beaglescout007 0:b5f79b4f741d 29 public:
beaglescout007 0:b5f79b4f741d 30 virtual void setVidPid(uint16_t vid, uint16_t pid) = 0;
beaglescout007 0:b5f79b4f741d 31 virtual bool parseInterface(uint8_t intf_nb, uint8_t intf_class, uint8_t intf_subclass, uint8_t intf_protocol) = 0; //Must return true if the interface should be parsed
beaglescout007 0:b5f79b4f741d 32 virtual bool useEndpoint(uint8_t intf_nb, ENDPOINT_TYPE type, ENDPOINT_DIRECTION dir) = 0; //Must return true if the endpoint will be used
beaglescout007 0:b5f79b4f741d 33 };
beaglescout007 0:b5f79b4f741d 34
beaglescout007 0:b5f79b4f741d 35 #endif /*IUSBENUMERATOR_H_*/
beaglescout007 0:b5f79b4f741d 36
beaglescout007 0:b5f79b4f741d 37