projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Minor correction to MagStripe demo to fix build problems.
[pub/USBasp.git]
/
LUFA
/
Drivers
/
USB
/
Class
/
Device
/
MIDI.c
diff --git
a/LUFA/Drivers/USB/Class/Device/MIDI.c
b/LUFA/Drivers/USB/Class/Device/MIDI.c
index
9b4cd4b
..
da33bdb
100644
(file)
--- a/
LUFA/Drivers/USB/Class/Device/MIDI.c
+++ b/
LUFA/Drivers/USB/Class/Device/MIDI.c
@@
-28,24
+28,32
@@
this software.
\r
*/
\r
\r
this software.
\r
*/
\r
\r
+#include "../../HighLevel/USBMode.h"
\r
+#if defined(USB_CAN_BE_DEVICE)
\r
+
\r
#include "MIDI.h"
\r
\r
#include "MIDI.h"
\r
\r
-
bool USB_MIDI_ConfigureEndpoints(USB_ClassInfo_MIDI_t*
MIDIInterfaceInfo)
\r
+
void MIDI_Device_ProcessControlPacket(USB_ClassInfo_MIDI_Device_t* const
MIDIInterfaceInfo)
\r
{
\r
{
\r
- if (MIDIInterfaceInfo->DataINEndpointNumber)
\r
+
\r
+}
\r
+
\r
+bool MIDI_Device_ConfigureEndpoints(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo)
\r
+{
\r
+ if (MIDIInterfaceInfo->Config.DataINEndpointNumber)
\r
{
\r
{
\r
- if (!(Endpoint_ConfigureEndpoint(MIDIInterfaceInfo->DataINEndpointNumber, EP_TYPE_BULK,
\r
- ENDPOINT_DIR_IN, MIDIInterfaceInfo->DataINEndpointSize,
\r
+ if (!(Endpoint_ConfigureEndpoint(MIDIInterfaceInfo->
Config.
DataINEndpointNumber, EP_TYPE_BULK,
\r
+ ENDPOINT_DIR_IN, MIDIInterfaceInfo->
Config.
DataINEndpointSize,
\r
ENDPOINT_BANK_SINGLE)))
\r
{
\r
return false;
\r
}
\r
}
\r
\r
ENDPOINT_BANK_SINGLE)))
\r
{
\r
return false;
\r
}
\r
}
\r
\r
- if (MIDIInterfaceInfo->DataOUTEndpointNumber)
\r
+ if (MIDIInterfaceInfo->
Config.
DataOUTEndpointNumber)
\r
{
\r
{
\r
- if (!(Endpoint_ConfigureEndpoint(MIDIInterfaceInfo->DataOUTEndpointNumber, EP_TYPE_BULK,
\r
- ENDPOINT_DIR_OUT, MIDIInterfaceInfo->DataOUTEndpointSize,
\r
+ if (!(Endpoint_ConfigureEndpoint(MIDIInterfaceInfo->
Config.
DataOUTEndpointNumber, EP_TYPE_BULK,
\r
+ ENDPOINT_DIR_OUT, MIDIInterfaceInfo->
Config.
DataOUTEndpointSize,
\r
ENDPOINT_BANK_SINGLE)))
\r
{
\r
return false;
\r
ENDPOINT_BANK_SINGLE)))
\r
{
\r
return false;
\r
@@
-55,50
+63,39
@@
bool USB_MIDI_ConfigureEndpoints(USB_ClassInfo_MIDI_t* MIDIInterfaceInfo)
return true;
\r
}
\r
\r
return true;
\r
}
\r
\r
-void USB_MIDI_SendNoteChange(USB_ClassInfo_MIDI_t* MIDIInterfaceInfo, const uint8_t Pitch, const bool OnOff,
\r
- const uint8_t CableID, const uint8_t Channel)
\r
+void MIDI_Device_USBTask(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo)
\r
{
\r
{
\r
- if (!(USB_IsConnected))
\r
- return;
\r
-
\r
- Endpoint_SelectEndpoint(MIDIInterfaceInfo->DataINEndpointNumber);
\r
- while (!(Endpoint_IsReadWriteAllowed()));
\r
-
\r
- uint8_t Command = ((OnOff)? MIDI_COMMAND_NOTE_ON : MIDI_COMMAND_NOTE_OFF);
\r
\r
\r
- Endpoint_Write_Byte((CableID << 4) | (Command >> 4));
\r
-
\r
- Endpoint_Write_Byte(Command | Channel);
\r
- Endpoint_Write_Byte(Pitch);
\r
- Endpoint_Write_Byte(MIDI_STANDARD_VELOCITY);
\r
-
\r
- Endpoint_ClearIN();
\r
}
\r
\r
}
\r
\r
-void
USB_MIDI_SendEventPacket(USB_ClassInfo_MIDI_t* MIDIInterfaceInfo, USB_MIDI_EventPacket_t*
Event)
\r
+void
MIDI_Device_SendEventPacket(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo, MIDI_EventPacket_t* const
Event)
\r
{
\r
if (!(USB_IsConnected))
\r
return;
\r
\r
{
\r
if (!(USB_IsConnected))
\r
return;
\r
\r
- Endpoint_SelectEndpoint(MIDIInterfaceInfo->DataINEndpointNumber);
\r
- while (!(Endpoint_IsReadWriteAllowed()));
\r
+ Endpoint_SelectEndpoint(MIDIInterfaceInfo->Config.DataINEndpointNumber);
\r
\r
\r
- Endpoint_Write_Stream_LE(Event, sizeof(USB_MIDI_EventPacket_t), NO_STREAM_CALLBACK);
\r
- Endpoint_ClearIN();
\r
+ if (Endpoint_IsReadWriteAllowed());
\r
+ {
\r
+ Endpoint_Write_Stream_LE(Event, sizeof(MIDI_EventPacket_t), NO_STREAM_CALLBACK);
\r
+ Endpoint_ClearIN();
\r
+ }
\r
}
\r
\r
}
\r
\r
-bool
USB_MIDI_ReceiveEventPacket(USB_ClassInfo_MIDI_t* MIDIInterfaceInfo, USB_MIDI_EventPacket_t*
Event)
\r
+bool
MIDI_Device_ReceiveEventPacket(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo, MIDI_EventPacket_t* const
Event)
\r
{
\r
if (!(USB_IsConnected))
\r
return false;
\r
\r
{
\r
if (!(USB_IsConnected))
\r
return false;
\r
\r
- Endpoint_SelectEndpoint(MIDIInterfaceInfo->DataOUTEndpointNumber);
\r
+ Endpoint_SelectEndpoint(MIDIInterfaceInfo->
Config.
DataOUTEndpointNumber);
\r
\r
if (!(Endpoint_IsReadWriteAllowed()))
\r
return false;
\r
\r
\r
if (!(Endpoint_IsReadWriteAllowed()))
\r
return false;
\r
\r
- Endpoint_Read_Stream_LE(Event, sizeof(
USB_
MIDI_EventPacket_t), NO_STREAM_CALLBACK);
\r
+ Endpoint_Read_Stream_LE(Event, sizeof(MIDI_EventPacket_t), NO_STREAM_CALLBACK);
\r
Endpoint_ClearOUT();
\r
\r
return true;
\r
}
\r
Endpoint_ClearOUT();
\r
\r
return true;
\r
}
\r
+
\r
+#endif
\r