Fixed MIDI Device Class driver not sending/receiving MIDI packets of the correct size (thanks to Thomas Bleeker).
This commit is contained in:
		
							parent
							
								
									93b24a25df
								
							
						
					
					
						commit
						eee712f769
					
				
					 5 changed files with 6 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -227,7 +227,7 @@ void CDC_Device_SendControlLineStateChange(USB_ClassInfo_CDC_Device_t* const CDC
 | 
			
		|||
			.wLength       = sizeof(CDCInterfaceInfo->State.ControlLineStates.DeviceToHost),
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
	Endpoint_Write_Stream_LE(&Notification, sizeof(Notification), NO_STREAM_CALLBACK);
 | 
			
		||||
	Endpoint_Write_Stream_LE(&Notification, sizeof(USB_Request_Header_t), NO_STREAM_CALLBACK);
 | 
			
		||||
	Endpoint_Write_Stream_LE(&CDCInterfaceInfo->State.ControlLineStates.DeviceToHost,
 | 
			
		||||
	                         sizeof(CDCInterfaceInfo->State.ControlLineStates.DeviceToHost),
 | 
			
		||||
	                         NO_STREAM_CALLBACK);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -81,7 +81,7 @@ uint8_t MIDI_Device_SendEventPacket(USB_ClassInfo_MIDI_Device_t* const MIDIInter
 | 
			
		|||
	{
 | 
			
		||||
		uint8_t ErrorCode;
 | 
			
		||||
 | 
			
		||||
		if ((ErrorCode = Endpoint_Write_Stream_LE(Event, sizeof(Event), NO_STREAM_CALLBACK)) != ENDPOINT_RWSTREAM_NoError)
 | 
			
		||||
		if ((ErrorCode = Endpoint_Write_Stream_LE(Event, sizeof(MIDI_EventPacket_t), NO_STREAM_CALLBACK)) != ENDPOINT_RWSTREAM_NoError)
 | 
			
		||||
		  return ErrorCode;
 | 
			
		||||
 | 
			
		||||
		Endpoint_ClearIN();
 | 
			
		||||
| 
						 | 
				
			
			@ -100,7 +100,7 @@ bool MIDI_Device_ReceiveEventPacket(USB_ClassInfo_MIDI_Device_t* const MIDIInter
 | 
			
		|||
	if (!(Endpoint_IsReadWriteAllowed()))
 | 
			
		||||
	  return false;
 | 
			
		||||
 | 
			
		||||
	Endpoint_Read_Stream_LE(Event, sizeof(Event), NO_STREAM_CALLBACK);
 | 
			
		||||
	Endpoint_Read_Stream_LE(Event, sizeof(MIDI_EventPacket_t), NO_STREAM_CALLBACK);
 | 
			
		||||
	Endpoint_ClearOUT();
 | 
			
		||||
	
 | 
			
		||||
	return true;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -158,7 +158,7 @@ void RNDIS_Device_USBTask(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo
 | 
			
		|||
				.wLength       = 0,
 | 
			
		||||
			};
 | 
			
		||||
		
 | 
			
		||||
		Endpoint_Write_Stream_LE(&Notification, sizeof(Notification), NO_STREAM_CALLBACK);
 | 
			
		||||
		Endpoint_Write_Stream_LE(&Notification, sizeof(USB_Request_Header_t), NO_STREAM_CALLBACK);
 | 
			
		||||
 | 
			
		||||
		Endpoint_ClearIN();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -200,7 +200,7 @@ void CDC_Host_USBTask(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo)
 | 
			
		|||
	if (Pipe_IsINReceived())
 | 
			
		||||
	{
 | 
			
		||||
		USB_Request_Header_t Notification;
 | 
			
		||||
		Pipe_Read_Stream_LE(&Notification, sizeof(Notification), NO_STREAM_CALLBACK);
 | 
			
		||||
		Pipe_Read_Stream_LE(&Notification, sizeof(USB_Request_Header_t), NO_STREAM_CALLBACK);
 | 
			
		||||
		
 | 
			
		||||
		if ((Notification.bRequest      == NOTIF_SerialState) &&
 | 
			
		||||
		    (Notification.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -66,6 +66,7 @@
 | 
			
		|||
  *  - Fixed DFU and CDC class bootloaders on the series 2 USB AVRs, corrected invalid signatures, added support for the new
 | 
			
		||||
  *    ATMEGAxxx2 series 2 variant AVRs to the DFU bootloader
 | 
			
		||||
  *  - Fixed Low Level USBtoSerial demo not storing received characters (thanks to Michael from DirectAid.ca)
 | 
			
		||||
  *  - Fixed MIDI Device Class driver not sending/receiving MIDI packets of the correct size (thanks to Thomas Bleeker)
 | 
			
		||||
  *
 | 
			
		||||
  *
 | 
			
		||||
  *  \section Sec_ChangeLog090810 Version 090810
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue