mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-31 05:12:33 +01:00 
			
		
		
		
	AppConfigHeaders: Merge in latest trunk.
This commit is contained in:
		
						commit
						18d91ece3b
					
				| @ -64,6 +64,7 @@ | ||||
|   *   - Fixed possible deadlock in the CDC device driver if the USB connection is dropped while the CDC_REQ_SetLineEncoding control request is being processed by | ||||
|   *     the stack (thanks to Jonathan Hudgins) | ||||
|   *   - Fixed broken MIDI host driver MIDI_Host_ReceiveEventPacket() function due to not unfreezing the MIDI data IN pipe before use (thanks to Michael Brown) | ||||
|   *   - Fixed swapped Little Endian/Big Endian endpoint and pipe write code for the UC3 devices (thanks to Andrew Chu) | ||||
|   *  - Library Applications: | ||||
|   *   - Fixed error in the AVRISP-MKII programmer when ISP mode is used at 64KHz (thanks to Ben R. Porter) | ||||
|   *   - Fixed AVRISP-MKII programmer project failing to compile for the U4 chips when VTARGET_ADC_CHANNEL is defined to an invalid channel and NO_VTARGET_DETECT is | ||||
|  | ||||
| @ -406,8 +406,7 @@ static bool RNDIS_Device_ProcessNDISSet(USB_ClassInfo_RNDIS_Device_t* const RNDI | ||||
| 	{ | ||||
| 		case OID_GEN_CURRENT_PACKET_FILTER: | ||||
| 			RNDISInterfaceInfo->State.CurrPacketFilter = le32_to_cpu(*((uint32_t*)SetData)); | ||||
| 			RNDISInterfaceInfo->State.CurrRNDISState   = le32_to_cpu((RNDISInterfaceInfo->State.CurrPacketFilter) ? | ||||
| 			                                                         RNDIS_Data_Initialized : RNDIS_Data_Initialized); | ||||
| 			RNDISInterfaceInfo->State.CurrRNDISState   = (RNDISInterfaceInfo->State.CurrPacketFilter) ? RNDIS_Data_Initialized : RNDIS_Initialized; | ||||
| 
 | ||||
| 			return true; | ||||
| 		case OID_802_3_MULTICAST_LIST: | ||||
|  | ||||
| @ -605,8 +605,8 @@ | ||||
| 			static inline void Endpoint_Write_16_LE(const uint16_t Data) ATTR_ALWAYS_INLINE; | ||||
| 			static inline void Endpoint_Write_16_LE(const uint16_t Data) | ||||
| 			{ | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data >> 8); | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data & 0xFF); | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data >> 8); | ||||
| 			} | ||||
| 
 | ||||
| 			/** Writes two bytes to the currently selected endpoint's bank in big endian format, for IN
 | ||||
| @ -619,8 +619,8 @@ | ||||
| 			static inline void Endpoint_Write_16_BE(const uint16_t Data) ATTR_ALWAYS_INLINE; | ||||
| 			static inline void Endpoint_Write_16_BE(const uint16_t Data) | ||||
| 			{ | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data & 0xFF); | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data >> 8); | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data & 0xFF); | ||||
| 			} | ||||
| 
 | ||||
| 			/** Discards two bytes from the currently selected endpoint's bank, for OUT direction endpoints.
 | ||||
| @ -684,10 +684,10 @@ | ||||
| 			static inline void Endpoint_Write_32_LE(const uint32_t Data) ATTR_ALWAYS_INLINE; | ||||
| 			static inline void Endpoint_Write_32_LE(const uint32_t Data) | ||||
| 			{ | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data >> 24); | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data >> 16); | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data >> 8); | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data &  0xFF); | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data >> 8); | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data >> 16); | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data >> 24); | ||||
| 			} | ||||
| 
 | ||||
| 			/** Writes four bytes to the currently selected endpoint's bank in big endian format, for IN
 | ||||
| @ -700,10 +700,10 @@ | ||||
| 			static inline void Endpoint_Write_32_BE(const uint32_t Data) ATTR_ALWAYS_INLINE; | ||||
| 			static inline void Endpoint_Write_32_BE(const uint32_t Data) | ||||
| 			{ | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data &  0xFF); | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data >> 8); | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data >> 16); | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data >> 24); | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data >> 16); | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data >> 8); | ||||
| 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data &  0xFF); | ||||
| 			} | ||||
| 
 | ||||
| 			/** Discards four bytes from the currently selected endpoint's bank, for OUT direction endpoints.
 | ||||
|  | ||||
| @ -515,6 +515,7 @@ | ||||
| 			static inline void Pipe_ClearSETUP(void) | ||||
| 			{ | ||||
| 				(&AVR32_USBB.UPSTA0CLR)[USB_Pipe_SelectedPipe].txstpic = true; | ||||
| 				(&AVR32_USBB.UPCON0CLR)[USB_Pipe_SelectedPipe].fifoconc = true; | ||||
| 				USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe] = &AVR32_USBB_SLAVE[USB_Pipe_SelectedPipe * PIPE_HSB_ADDRESS_SPACE_SIZE]; | ||||
| 			} | ||||
| 
 | ||||
| @ -676,8 +677,8 @@ | ||||
| 			static inline void Pipe_Write_16_LE(const uint16_t Data) ATTR_ALWAYS_INLINE; | ||||
| 			static inline void Pipe_Write_16_LE(const uint16_t Data) | ||||
| 			{ | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data >> 8); | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data & 0xFF); | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data >> 8); | ||||
| 			} | ||||
| 
 | ||||
| 			/** Writes two bytes to the currently selected pipe's bank in big endian format, for IN
 | ||||
| @ -690,8 +691,8 @@ | ||||
| 			static inline void Pipe_Write_16_BE(const uint16_t Data) ATTR_ALWAYS_INLINE; | ||||
| 			static inline void Pipe_Write_16_BE(const uint16_t Data) | ||||
| 			{ | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data & 0xFF); | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data >> 8); | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data & 0xFF); | ||||
| 			} | ||||
| 
 | ||||
| 			/** Discards two bytes from the currently selected pipe's bank, for OUT direction pipes.
 | ||||
| @ -755,10 +756,10 @@ | ||||
| 			static inline void Pipe_Write_32_LE(const uint32_t Data) ATTR_ALWAYS_INLINE; | ||||
| 			static inline void Pipe_Write_32_LE(const uint32_t Data) | ||||
| 			{ | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data >> 24); | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data >> 16); | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data >> 8); | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data &  0xFF); | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data >> 8); | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data >> 16); | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data >> 24); | ||||
| 			} | ||||
| 
 | ||||
| 			/** Writes four bytes to the currently selected pipe's bank in big endian format, for IN
 | ||||
| @ -771,10 +772,10 @@ | ||||
| 			static inline void Pipe_Write_32_BE(const uint32_t Data) ATTR_ALWAYS_INLINE; | ||||
| 			static inline void Pipe_Write_32_BE(const uint32_t Data) | ||||
| 			{ | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data &  0xFF); | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data >> 8); | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data >> 16); | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data >> 24); | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data >> 16); | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data >> 8); | ||||
| 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data &  0xFF); | ||||
| 			} | ||||
| 
 | ||||
| 			/** Discards four bytes from the currently selected pipe's bank, for OUT direction pipes.
 | ||||
|  | ||||
| @ -138,7 +138,7 @@ void USB_ResetInterface(void) | ||||
| 	else if (USB_CurrentMode == USB_MODE_Host) | ||||
| 	{ | ||||
| 		#if defined(INVERTED_VBUS_ENABLE_LINE) | ||||
| 		AVR32_USBB.USBCON.vbuspol = true; | ||||
| 		AVR32_USBB.USBCON.vbuspo = true; | ||||
| 		#endif | ||||
| 		 | ||||
| 		#if defined(USB_CAN_BE_HOST) | ||||
|  | ||||
| @ -274,7 +274,10 @@ | ||||
| 			static inline uint16_t Endpoint_BytesInEndpoint(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE; | ||||
| 			static inline uint16_t Endpoint_BytesInEndpoint(void) | ||||
| 			{ | ||||
| 				return USB_Endpoint_SelectedFIFO->Position; | ||||
| 				if (USB_Endpoint_SelectedEndpoint & ENDPOINT_DIR_IN) | ||||
| 				  return USB_Endpoint_SelectedFIFO->Position; | ||||
| 				else | ||||
| 				  return (USB_Endpoint_SelectedFIFO->Length - USB_Endpoint_SelectedFIFO->Position); | ||||
| 			} | ||||
| 
 | ||||
| 			/** Get the endpoint address of the currently selected endpoint. This is typically used to save
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Dean Camera
						Dean Camera