Commit be520aed authored by Dean Camera's avatar Dean Camera
Browse files

Add notification endpoint to the incomplete TMC demo.

parent 9274610a
...@@ -106,7 +106,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = ...@@ -106,7 +106,7 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
.InterfaceNumber = 0x00, .InterfaceNumber = 0x00,
.AlternateSetting = 0x00, .AlternateSetting = 0x00,
.TotalEndpoints = 2, .TotalEndpoints = 3,
.Class = 0xFE, .Class = 0xFE,
.SubClass = 0x03, .SubClass = 0x03,
...@@ -133,6 +133,16 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor = ...@@ -133,6 +133,16 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
.Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), .Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = TMC_IO_EPSIZE, .EndpointSize = TMC_IO_EPSIZE,
.PollingIntervalMS = 0x00 .PollingIntervalMS = 0x00
},
.NotificationEndpoint =
{
.Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint},
.EndpointAddress = (ENDPOINT_DESCRIPTOR_DIR_IN | TMC_NOTIFICATION_EPNUM),
.Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = TMC_NOTIFICATION_EPSIZE,
.PollingIntervalMS = 0xFF
} }
}; };
......
...@@ -44,13 +44,19 @@ ...@@ -44,13 +44,19 @@
/* Macros: */ /* Macros: */
/** Endpoint number of the TMC device-to-host data IN endpoint. */ /** Endpoint number of the TMC device-to-host data IN endpoint. */
#define TMC_IN_EPNUM 3 #define TMC_IN_EPNUM 3
/** Endpoint number of the TMC host-to-device data OUT endpoint. */ /** Endpoint number of the TMC host-to-device data OUT endpoint. */
#define TMC_OUT_EPNUM 4 #define TMC_OUT_EPNUM 4
/** Endpoint number of the TMC notification IN endpoint. */
#define TMC_NOTIFICATION_EPNUM 2
/** Size in bytes of the TMC data endpoints. */ /** Size in bytes of the TMC data endpoints. */
#define TMC_IO_EPSIZE 64 #define TMC_IO_EPSIZE 64
/** Size in bytes of the TMC notification endpoint. */
#define TMC_NOTIFICATION_EPSIZE 8
/* Type Defines: */ /* Type Defines: */
/** Type define for the device configuration descriptor structure. This must be defined in the /** Type define for the device configuration descriptor structure. This must be defined in the
...@@ -63,6 +69,7 @@ ...@@ -63,6 +69,7 @@
USB_Descriptor_Interface_t Interface; USB_Descriptor_Interface_t Interface;
USB_Descriptor_Endpoint_t DataOutEndpoint; USB_Descriptor_Endpoint_t DataOutEndpoint;
USB_Descriptor_Endpoint_t DataInEndpoint; USB_Descriptor_Endpoint_t DataInEndpoint;
USB_Descriptor_Endpoint_t NotificationEndpoint;
} USB_Descriptor_Configuration_t; } USB_Descriptor_Configuration_t;
/* Function Prototypes: */ /* Function Prototypes: */
......
...@@ -120,7 +120,7 @@ void EVENT_USB_Device_ConfigurationChanged(void) ...@@ -120,7 +120,7 @@ void EVENT_USB_Device_ConfigurationChanged(void)
{ {
LEDs_SetAllLEDs(LEDMASK_USB_READY); LEDs_SetAllLEDs(LEDMASK_USB_READY);
/* Setup TMC In and Out Endpoints */ /* Setup TMC In, Out and Notification Endpoints */
if (!(Endpoint_ConfigureEndpoint(TMC_IN_EPNUM, EP_TYPE_BULK, if (!(Endpoint_ConfigureEndpoint(TMC_IN_EPNUM, EP_TYPE_BULK,
ENDPOINT_DIR_IN, TMC_IO_EPSIZE, ENDPOINT_DIR_IN, TMC_IO_EPSIZE,
ENDPOINT_BANK_SINGLE))) ENDPOINT_BANK_SINGLE)))
...@@ -134,6 +134,13 @@ void EVENT_USB_Device_ConfigurationChanged(void) ...@@ -134,6 +134,13 @@ void EVENT_USB_Device_ConfigurationChanged(void)
{ {
LEDs_SetAllLEDs(LEDMASK_USB_ERROR); LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
} }
if (!(Endpoint_ConfigureEndpoint(TMC_NOTIFICATION_EPNUM, EP_TYPE_INTERRUPT,
ENDPOINT_DIR_IN, TMC_NOTIFICATION_EPSIZE,
ENDPOINT_BANK_SINGLE)))
{
LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
}
} }
/** Event handler for the USB_UnhandledControlRequest event. This is used to catch standard and class specific /** Event handler for the USB_UnhandledControlRequest event. This is used to catch standard and class specific
......
...@@ -5,6 +5,9 @@ ...@@ -5,6 +5,9 @@
*/ */
/** \page Page_ChangeLog Project Changelog /** \page Page_ChangeLog Project Changelog
*
* \section Sec_ChangeLogXXXXXX Version XXXXXX
* There is currently no changelog information for this release.
* *
* \section Sec_ChangeLog100807 Version 100807 * \section Sec_ChangeLog100807 Version 100807
* <b>New:</b> * <b>New:</b>
......
...@@ -10,6 +10,9 @@ ...@@ -10,6 +10,9 @@
* to the next version released. It does not indicate all new additions to the library in each version change, only * to the next version released. It does not indicate all new additions to the library in each version change, only
* areas relevant to making older projects compatible with the API changes of each new release. * areas relevant to making older projects compatible with the API changes of each new release.
* *
* \section Sec_MigrationXXXXXX Migrating from XXXXXX to XXXXXX
* There is currently no migration information for this release.
*
* \section Sec_Migration100807 Migrating from 100513 to 100807 * \section Sec_Migration100807 Migrating from 100513 to 100807
* *
* <b>Non-USB Library Components</b> * <b>Non-USB Library Components</b>
......
...@@ -43,9 +43,9 @@ ...@@ -43,9 +43,9 @@
/* Public Interface - May be used in end-application: */ /* Public Interface - May be used in end-application: */
/* Macros: */ /* Macros: */
/** Indicates the version number of the library, as an integer. */ /** Indicates the version number of the library, as an integer. */
#define LUFA_VERSION_INTEGER 0x100807 #define LUFA_VERSION_INTEGER 0x000000
/** Indicates the version number of the library, as a string. */ /** Indicates the version number of the library, as a string. */
#define LUFA_VERSION_STRING "100807" #define LUFA_VERSION_STRING "XXXXXX"
#endif #endif
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