projects
/
pub
/
USBasp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
85cf202
)
Loop in the ClassDriver MIDI device/host demos until there are no more incomming...
author
Dean Camera
<dean@fourwalledcubicle.com>
Fri, 5 Nov 2010 03:43:11 +0000
(
03:43
+0000)
committer
Dean Camera
<dean@fourwalledcubicle.com>
Fri, 5 Nov 2010 03:43:11 +0000
(
03:43
+0000)
Demos/Device/ClassDriver/MIDI/MIDI.c
patch
|
blob
|
blame
|
history
Demos/Device/LowLevel/MIDI/MIDI.c
patch
|
blob
|
blame
|
history
Demos/Host/ClassDriver/MIDIHost/MIDIHost.c
patch
|
blob
|
blame
|
history
Demos/Host/LowLevel/MIDIHost/MIDIHost.c
patch
|
blob
|
blame
|
history
diff --git
a/Demos/Device/ClassDriver/MIDI/MIDI.c
b/Demos/Device/ClassDriver/MIDI/MIDI.c
index
217a3a4
..
95a2ddd
100644
(file)
--- a/
Demos/Device/ClassDriver/MIDI/MIDI.c
+++ b/
Demos/Device/ClassDriver/MIDI/MIDI.c
@@
-71,7
+71,7
@@
int main(void)
CheckJoystickMovement();
MIDI_EventPacket_t ReceivedMIDIEvent;
CheckJoystickMovement();
MIDI_EventPacket_t ReceivedMIDIEvent;
-
if
(MIDI_Device_ReceiveEventPacket(&Keyboard_MIDI_Interface, &ReceivedMIDIEvent))
+
while
(MIDI_Device_ReceiveEventPacket(&Keyboard_MIDI_Interface, &ReceivedMIDIEvent))
{
if ((ReceivedMIDIEvent.Command == (MIDI_COMMAND_NOTE_ON >> 4)) && (ReceivedMIDIEvent.Data3 > 0))
LEDs_SetAllLEDs(ReceivedMIDIEvent.Data2 > 64 ? LEDS_LED1 : LEDS_LED2);
{
if ((ReceivedMIDIEvent.Command == (MIDI_COMMAND_NOTE_ON >> 4)) && (ReceivedMIDIEvent.Data3 > 0))
LEDs_SetAllLEDs(ReceivedMIDIEvent.Data2 > 64 ? LEDS_LED1 : LEDS_LED2);
diff --git
a/Demos/Device/LowLevel/MIDI/MIDI.c
b/Demos/Device/LowLevel/MIDI/MIDI.c
index
e436455
..
bfe90b0
100644
(file)
--- a/
Demos/Device/LowLevel/MIDI/MIDI.c
+++ b/
Demos/Device/LowLevel/MIDI/MIDI.c
@@
-204,8
+204,12
@@
void MIDI_Task(void)
LEDs_SetAllLEDs(LEDS_NO_LEDS);
}
LEDs_SetAllLEDs(LEDS_NO_LEDS);
}
- /* Clear the endpoint ready for new packet */
- Endpoint_ClearOUT();
+ /* If the endpoint is now empty, clear the bank */
+ if (!(Endpoint_BytesInEndpoint()))
+ {
+ /* Clear the endpoint ready for new packet */
+ Endpoint_ClearOUT();
+ }
}
}
}
}
diff --git
a/Demos/Host/ClassDriver/MIDIHost/MIDIHost.c
b/Demos/Host/ClassDriver/MIDIHost/MIDIHost.c
index
56daf12
..
eda8272
100644
(file)
--- a/
Demos/Host/ClassDriver/MIDIHost/MIDIHost.c
+++ b/
Demos/Host/ClassDriver/MIDIHost/MIDIHost.c
@@
-109,7
+109,7
@@
int main(void)
CheckJoystickMovement();
MIDI_EventPacket_t MIDIEvent;
CheckJoystickMovement();
MIDI_EventPacket_t MIDIEvent;
-
if
(MIDI_Host_ReceiveEventPacket(&Keyboard_MIDI_Interface, &MIDIEvent))
+
while
(MIDI_Host_ReceiveEventPacket(&Keyboard_MIDI_Interface, &MIDIEvent))
{
bool NoteOnEvent = ((MIDIEvent.Command & 0x0F) == (MIDI_COMMAND_NOTE_ON >> 4));
bool NoteOffEvent = ((MIDIEvent.Command & 0x0F) == (MIDI_COMMAND_NOTE_OFF >> 4));
{
bool NoteOnEvent = ((MIDIEvent.Command & 0x0F) == (MIDI_COMMAND_NOTE_ON >> 4));
bool NoteOffEvent = ((MIDIEvent.Command & 0x0F) == (MIDI_COMMAND_NOTE_OFF >> 4));
diff --git
a/Demos/Host/LowLevel/MIDIHost/MIDIHost.c
b/Demos/Host/LowLevel/MIDIHost/MIDIHost.c
index
b616b67
..
5ff3baa
100644
(file)
--- a/
Demos/Host/LowLevel/MIDIHost/MIDIHost.c
+++ b/
Demos/Host/LowLevel/MIDIHost/MIDIHost.c
@@
-192,19
+192,19
@@
void MIDI_Host_Task(void)
((MIDIEvent.Data1 & 0x0F) + 1),
MIDIEvent.Data2, MIDIEvent.Data3);
}
((MIDIEvent.Data1 & 0x0F) + 1),
MIDIEvent.Data2, MIDIEvent.Data3);
}
-
- Pipe_ClearIN();
+
+ if (!(Pipe_BytesInPipe()))
+ Pipe_ClearIN();
}
Pipe_SelectPipe(MIDI_DATA_OUT_PIPE);
}
Pipe_SelectPipe(MIDI_DATA_OUT_PIPE);
- static uint8_t PrevJoystickStatus;
-
if (Pipe_IsOUTReady())
{
uint8_t MIDICommand = 0;
uint8_t MIDIPitch;
if (Pipe_IsOUTReady())
{
uint8_t MIDICommand = 0;
uint8_t MIDIPitch;
+ static uint8_t PrevJoystickStatus;
uint8_t JoystickStatus = Joystick_GetStatus();
uint8_t JoystickChanges = (JoystickStatus ^ PrevJoystickStatus);
uint8_t JoystickStatus = Joystick_GetStatus();
uint8_t JoystickChanges = (JoystickStatus ^ PrevJoystickStatus);