Loop in the ClassDriver MIDI device/host demos until there are no more incomming events to process. Only clear the endpoint/pipe bank in the LowLevel MIDI device/host demos when the endpoint is empty after an event read.

This commit is contained in:
Dean Camera 2010-11-05 03:43:11 +00:00
parent 85cf202737
commit 99a9e415ef
4 changed files with 12 additions and 8 deletions

View file

@ -192,19 +192,19 @@ void MIDI_Host_Task(void)
((MIDIEvent.Data1 & 0x0F) + 1),
MIDIEvent.Data2, MIDIEvent.Data3);
}
Pipe_ClearIN();
if (!(Pipe_BytesInPipe()))
Pipe_ClearIN();
}
Pipe_SelectPipe(MIDI_DATA_OUT_PIPE);
static uint8_t PrevJoystickStatus;
if (Pipe_IsOUTReady())
{
uint8_t MIDICommand = 0;
uint8_t MIDIPitch;
static uint8_t PrevJoystickStatus;
uint8_t JoystickStatus = Joystick_GetStatus();
uint8_t JoystickChanges = (JoystickStatus ^ PrevJoystickStatus);