an conditional for console in
This commit is contained in:
parent
f8d340a9dd
commit
426ace718b
5 changed files with 49 additions and 35 deletions
|
|
@ -208,8 +208,11 @@ typedef struct
|
|||
|
||||
#ifdef CONSOLE_ENABLE
|
||||
# define CONSOLE_IN_EPNUM (RAW_OUT_EPNUM + 1)
|
||||
# define CONSOLE_OUT_EPNUM (RAW_OUT_EPNUM + 2)
|
||||
//# define CONSOLE_OUT_EPNUM (RAW_OUT_EPNUM + 1)
|
||||
# ifdef CONSOLE_IN_ENABLE
|
||||
# define CONSOLE_OUT_EPNUM (RAW_OUT_EPNUM + 2)
|
||||
# else
|
||||
# define CONSOLE_OUT_EPNUM (RAW_OUT_EPNUM + 1)
|
||||
# endif
|
||||
#else
|
||||
# define CONSOLE_OUT_EPNUM RAW_OUT_EPNUM
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -274,41 +274,43 @@ static bool console_flush = false;
|
|||
|
||||
static void Console_Task(void)
|
||||
{
|
||||
|
||||
/* Device must be connected and configured for the task to run */
|
||||
if (USB_DeviceState != DEVICE_STATE_Configured)
|
||||
return;
|
||||
|
||||
|
||||
/* Create a temporary buffer to hold the read in report from the host */
|
||||
uint8_t ConsoleData[CONSOLE_EPSIZE];
|
||||
bool data_read = false;
|
||||
uint8_t ep = Endpoint_GetCurrentEndpoint();
|
||||
|
||||
// TODO: impl receivechar()/recvchar()
|
||||
Endpoint_SelectEndpoint(CONSOLE_OUT_EPNUM);
|
||||
#ifdef CONSOLE_IN_ENABLE
|
||||
/* Create a temporary buffer to hold the read in report from the host */
|
||||
uint8_t ConsoleData[CONSOLE_EPSIZE];
|
||||
bool data_read = false;
|
||||
|
||||
/* Check to see if a packet has been sent from the host */
|
||||
if (Endpoint_IsOUTReceived())
|
||||
{
|
||||
/* Check to see if the packet contains data */
|
||||
if (Endpoint_IsReadWriteAllowed())
|
||||
{
|
||||
// TODO: impl receivechar()/recvchar()
|
||||
Endpoint_SelectEndpoint(CONSOLE_OUT_EPNUM);
|
||||
|
||||
/* Read Console Report Data */
|
||||
Endpoint_Read_Stream_LE(&ConsoleData, sizeof(ConsoleData), NULL);
|
||||
data_read = true;
|
||||
}
|
||||
/* Check to see if a packet has been sent from the host */
|
||||
if (Endpoint_IsOUTReceived())
|
||||
{
|
||||
/* Check to see if the packet contains data */
|
||||
if (Endpoint_IsReadWriteAllowed())
|
||||
{
|
||||
|
||||
/* Finalize the stream transfer to send the last packet */
|
||||
Endpoint_ClearOUT();
|
||||
/* Read Console Report Data */
|
||||
Endpoint_Read_Stream_LE(&ConsoleData, sizeof(ConsoleData), NULL);
|
||||
data_read = true;
|
||||
}
|
||||
|
||||
if (data_read) {
|
||||
/* Process Console Report Data */
|
||||
process_console_data_quantum(ConsoleData, sizeof(ConsoleData));
|
||||
}
|
||||
/* Finalize the stream transfer to send the last packet */
|
||||
Endpoint_ClearOUT();
|
||||
|
||||
}
|
||||
if (data_read) {
|
||||
/* Process Console Report Data */
|
||||
process_console_data_quantum(ConsoleData, sizeof(ConsoleData));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
if (console_flush) {
|
||||
/* IN packet */
|
||||
|
|
@ -454,10 +456,10 @@ void EVENT_USB_Device_ConfigurationChanged(void)
|
|||
/* Setup Console HID Report Endpoints */
|
||||
ConfigSuccess &= ENDPOINT_CONFIG(CONSOLE_IN_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_IN,
|
||||
CONSOLE_EPSIZE, ENDPOINT_BANK_SINGLE);
|
||||
// #if 0
|
||||
#ifdef CONSOLE_IN_ENABLE
|
||||
ConfigSuccess &= ENDPOINT_CONFIG(CONSOLE_OUT_EPNUM, EP_TYPE_INTERRUPT, ENDPOINT_DIR_OUT,
|
||||
CONSOLE_EPSIZE, ENDPOINT_BANK_SINGLE);
|
||||
// #endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef NKRO_ENABLE
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue