projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Ensure that USB_DEVICE_ONLY or USB_HOST_ONLY is properly set for devices that physica...
[pub/USBasp.git]
/
Demos
/
Host
/
LowLevel
/
MIDIHost
/
MIDIHost.c
diff --git
a/Demos/Host/LowLevel/MIDIHost/MIDIHost.c
b/Demos/Host/LowLevel/MIDIHost/MIDIHost.c
index
31c886f
..
f6b607a
100644
(file)
--- a/
Demos/Host/LowLevel/MIDIHost/MIDIHost.c
+++ b/
Demos/Host/LowLevel/MIDIHost/MIDIHost.c
@@
-1,13
+1,13
@@
/*
LUFA Library
/*
LUFA Library
- Copyright (C) Dean Camera, 201
1
.
+ Copyright (C) Dean Camera, 201
2
.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
- Copyright 201
1
Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 201
2
Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
@@
-167,6
+167,7
@@
void MIDIHost_Task(void)
return;
Pipe_SelectPipe(MIDI_DATA_IN_PIPE);
return;
Pipe_SelectPipe(MIDI_DATA_IN_PIPE);
+ Pipe_Unfreeze();
if (Pipe_IsINReceived())
{
if (Pipe_IsINReceived())
{
@@
-177,8
+178,8
@@
void MIDIHost_Task(void)
if (!(Pipe_BytesInPipe()))
Pipe_ClearIN();
if (!(Pipe_BytesInPipe()))
Pipe_ClearIN();
- bool NoteOnEvent = (
(MIDIEvent.Command & 0x0F) == (MIDI_COMMAND_NOTE_ON >> 4
));
- bool NoteOffEvent = (
(MIDIEvent.Command & 0x0F) == (MIDI_COMMAND_NOTE_OFF >> 4
));
+ bool NoteOnEvent = (
MIDIEvent.Event == MIDI_EVENT(0, MIDI_COMMAND_NOTE_ON
));
+ bool NoteOffEvent = (
MIDIEvent.Event == MIDI_EVENT(0, MIDI_COMMAND_NOTE_OFF
));
if (NoteOnEvent || NoteOffEvent)
{
if (NoteOnEvent || NoteOffEvent)
{
@@
-187,8
+188,11
@@
void MIDIHost_Task(void)
MIDIEvent.Data2, MIDIEvent.Data3);
}
}
MIDIEvent.Data2, MIDIEvent.Data3);
}
}
+
+ Pipe_Freeze();
Pipe_SelectPipe(MIDI_DATA_OUT_PIPE);
Pipe_SelectPipe(MIDI_DATA_OUT_PIPE);
+ Pipe_Unfreeze();
if (Pipe_IsOUTReady())
{
if (Pipe_IsOUTReady())
{
@@
-237,8
+241,7
@@
void MIDIHost_Task(void)
{
MIDI_EventPacket_t MIDIEvent = (MIDI_EventPacket_t)
{
{
MIDI_EventPacket_t MIDIEvent = (MIDI_EventPacket_t)
{
- .CableNumber = 0,
- .Command = (MIDICommand >> 4),
+ .Event = MIDI_EVENT(0, MIDICommand),
.Data1 = MIDICommand | Channel,
.Data2 = MIDIPitch,
.Data1 = MIDICommand | Channel,
.Data2 = MIDIPitch,
@@
-252,6
+255,8
@@
void MIDIHost_Task(void)
Pipe_ClearOUT();
}
Pipe_ClearOUT();
}
+ Pipe_Freeze();
+
/* Save previous joystick value for next joystick change detection */
PrevJoystickStatus = JoystickStatus;
}
/* Save previous joystick value for next joystick change detection */
PrevJoystickStatus = JoystickStatus;
}