forked from mfulz_github/qmk_firmware
Add notification endpoint to the incomplete TMC demo.
This commit is contained in:
parent
9274610a48
commit
be520aed52
|
@ -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 =
|
||||||
.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
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -49,9 +49,15 @@
|
||||||
/** 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
|
||||||
* application code, as the configuration descriptor contains several sub-descriptors which
|
* application code, as the configuration descriptor contains several sub-descriptors which
|
||||||
|
@ -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)
|
||||||
{
|
{
|
||||||
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)
|
||||||
{
|
{
|
||||||
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 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** \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 @@
|
||||||
* 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 @@
|
||||||
/* 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
|
||||||
|
|
Loading…
Reference in New Issue