git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5658 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
eb28cc7c13
commit
cdf9aaf51c
|
@ -25,7 +25,7 @@
|
|||
#include "usbcfg.h"
|
||||
|
||||
/* Virtual serial port over USB.*/
|
||||
static SerialUSBDriver SDU1;
|
||||
SerialUSBDriver SDU1;
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Command line related. */
|
||||
|
|
|
@ -16,7 +16,13 @@
|
|||
|
||||
#include "ch.h"
|
||||
#include "hal.h"
|
||||
#include "usb_cdc.h"
|
||||
|
||||
/*
|
||||
* Endpoints to be used for USBD1.
|
||||
*/
|
||||
#define USBD1_DATA_REQUEST_EP 1
|
||||
#define USBD1_DATA_AVAILABLE_EP 1
|
||||
#define USBD1_INTERRUPT_REQUEST_EP 2
|
||||
|
||||
/*
|
||||
* USB Device Descriptor.
|
||||
|
@ -94,7 +100,7 @@ static const uint8_t vcom_configuration_descriptor_data[67] = {
|
|||
USB_DESC_BYTE (0x01), /* bSlaveInterface0 (Data Class
|
||||
Interface). */
|
||||
/* Endpoint 2 Descriptor.*/
|
||||
USB_DESC_ENDPOINT (USB_CDC_INTERRUPT_REQUEST_EP|0x80,
|
||||
USB_DESC_ENDPOINT (USBD1_INTERRUPT_REQUEST_EP|0x80,
|
||||
0x03, /* bmAttributes (Interrupt). */
|
||||
0x0008, /* wMaxPacketSize. */
|
||||
0xFF), /* bInterval. */
|
||||
|
@ -110,12 +116,12 @@ static const uint8_t vcom_configuration_descriptor_data[67] = {
|
|||
4.7). */
|
||||
0x00), /* iInterface. */
|
||||
/* Endpoint 3 Descriptor.*/
|
||||
USB_DESC_ENDPOINT (USB_CDC_DATA_AVAILABLE_EP, /* bEndpointAddress.*/
|
||||
USB_DESC_ENDPOINT (USBD1_DATA_AVAILABLE_EP, /* bEndpointAddress.*/
|
||||
0x02, /* bmAttributes (Bulk). */
|
||||
0x0040, /* wMaxPacketSize. */
|
||||
0x00), /* bInterval. */
|
||||
/* Endpoint 1 Descriptor.*/
|
||||
USB_DESC_ENDPOINT (USB_CDC_DATA_REQUEST_EP|0x80, /* bEndpointAddress.*/
|
||||
USB_DESC_ENDPOINT (USBD1_DATA_REQUEST_EP|0x80, /* bEndpointAddress.*/
|
||||
0x02, /* bmAttributes (Bulk). */
|
||||
0x0040, /* wMaxPacketSize. */
|
||||
0x00) /* bInterval. */
|
||||
|
@ -256,6 +262,7 @@ static const USBEndpointConfig ep2config = {
|
|||
* Handles the USB driver global events.
|
||||
*/
|
||||
static void usb_event(USBDriver *usbp, usbevent_t event) {
|
||||
extern SerialUSBDriver SDU1;
|
||||
|
||||
switch (event) {
|
||||
case USB_EVENT_RESET:
|
||||
|
@ -268,11 +275,11 @@ static void usb_event(USBDriver *usbp, usbevent_t event) {
|
|||
/* Enables the endpoints specified into the configuration.
|
||||
Note, this callback is invoked from an ISR so I-Class functions
|
||||
must be used.*/
|
||||
usbInitEndpointI(usbp, USB_CDC_DATA_REQUEST_EP, &ep1config);
|
||||
usbInitEndpointI(usbp, USB_CDC_INTERRUPT_REQUEST_EP, &ep2config);
|
||||
usbInitEndpointI(usbp, USBD1_DATA_REQUEST_EP, &ep1config);
|
||||
usbInitEndpointI(usbp, USBD1_INTERRUPT_REQUEST_EP, &ep2config);
|
||||
|
||||
/* Resetting the state of the CDC subsystem.*/
|
||||
sduConfigureHookI(usbp);
|
||||
sduConfigureHookI(&SDU1);
|
||||
|
||||
chSysUnlockFromIsr();
|
||||
return;
|
||||
|
@ -300,5 +307,8 @@ const USBConfig usbcfg = {
|
|||
* Serial over USB driver configuration.
|
||||
*/
|
||||
const SerialUSBConfig serusbcfg = {
|
||||
&USBD1
|
||||
&USBD1,
|
||||
USBD1_DATA_REQUEST_EP,
|
||||
USBD1_DATA_AVAILABLE_EP,
|
||||
USBD1_INTERRUPT_REQUEST_EP
|
||||
};
|
||||
|
|
|
@ -284,11 +284,6 @@ struct USBDriver {
|
|||
* @brief Current configuration data.
|
||||
*/
|
||||
const USBConfig *config;
|
||||
/**
|
||||
* @brief Field available to user, it can be used to associate an
|
||||
* application-defined handler to the USB driver.
|
||||
*/
|
||||
void *param;
|
||||
/**
|
||||
* @brief Bit map of the transmitting IN endpoints.
|
||||
*/
|
||||
|
|
|
@ -31,6 +31,13 @@
|
|||
/* USB related stuff. */
|
||||
/*===========================================================================*/
|
||||
|
||||
/*
|
||||
* Endpoints to be used for USBD1.
|
||||
*/
|
||||
#define USBD1_DATA_REQUEST_EP 1
|
||||
#define USBD1_DATA_AVAILABLE_EP 1
|
||||
#define USBD1_INTERRUPT_REQUEST_EP 2
|
||||
|
||||
/*
|
||||
* Serial over USB Driver structure.
|
||||
*/
|
||||
|
@ -290,7 +297,7 @@ static void usb_event(USBDriver *usbp, usbevent_t event) {
|
|||
usbInitEndpointI(usbp, USB_CDC_INTERRUPT_REQUEST_EP, &ep2config);
|
||||
|
||||
/* Resetting the state of the CDC subsystem.*/
|
||||
sduConfigureHookI(usbp);
|
||||
sduConfigureHookI(&SDU1);
|
||||
|
||||
chSysUnlockFromIsr();
|
||||
return;
|
||||
|
@ -318,7 +325,10 @@ static const USBConfig usbcfg = {
|
|||
* Serial over USB driver configuration.
|
||||
*/
|
||||
static const SerialUSBConfig serusbcfg = {
|
||||
&USBD1
|
||||
&USBD1,
|
||||
USBD1_DATA_REQUEST_EP,
|
||||
USBD1_DATA_AVAILABLE_EP,
|
||||
USBD1_INTERRUPT_REQUEST_EP
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue