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 =
.InterfaceNumber = 0x00,
.AlternateSetting = 0x00,
.TotalEndpoints = 2,
.TotalEndpoints = 3,
.Class = 0xFE,
.SubClass = 0x03,
......@@ -133,6 +133,16 @@ USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
.Attributes = (EP_TYPE_BULK | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA),
.EndpointSize = TMC_IO_EPSIZE,
.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
}
};
......
......@@ -49,9 +49,15 @@
/** Endpoint number of the TMC host-to-device data OUT endpoint. */
#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. */
#define TMC_IO_EPSIZE 64
/** Size in bytes of the TMC notification endpoint. */
#define TMC_NOTIFICATION_EPSIZE 8
/* Type Defines: */
/** Type define for the device configuration descriptor structure. This must be defined in the
* application code, as the configuration descriptor contains several sub-descriptors which
......@@ -63,6 +69,7 @@
USB_Descriptor_Interface_t Interface;
USB_Descriptor_Endpoint_t DataOutEndpoint;
USB_Descriptor_Endpoint_t DataInEndpoint;
USB_Descriptor_Endpoint_t NotificationEndpoint;
} USB_Descriptor_Configuration_t;
/* Function Prototypes: */
......
......@@ -120,7 +120,7 @@ void EVENT_USB_Device_ConfigurationChanged(void)
{
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,
ENDPOINT_DIR_IN, TMC_IO_EPSIZE,
ENDPOINT_BANK_SINGLE)))
......@@ -134,6 +134,13 @@ void EVENT_USB_Device_ConfigurationChanged(void)
{
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
......
......@@ -5,6 +5,9 @@
*/
/** \page Page_ChangeLog Project Changelog
*
* \section Sec_ChangeLogXXXXXX Version XXXXXX
* There is currently no changelog information for this release.
*
* \section Sec_ChangeLog100807 Version 100807
* <b>New:</b>
......
......@@ -10,6 +10,9 @@
* 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.
*
* \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
*
* <b>Non-USB Library Components</b>
......
......@@ -43,9 +43,9 @@
/* Public Interface - May be used in end-application: */
/* Macros: */
/** 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. */
#define LUFA_VERSION_STRING "100807"
#define LUFA_VERSION_STRING "XXXXXX"
#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