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 |   *   - 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) |   *     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 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: |   *  - Library Applications: | ||||||
|   *   - Fixed error in the AVRISP-MKII programmer when ISP mode is used at 64KHz (thanks to Ben R. Porter) |   *   - 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 |   *   - 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: | 		case OID_GEN_CURRENT_PACKET_FILTER: | ||||||
| 			RNDISInterfaceInfo->State.CurrPacketFilter = le32_to_cpu(*((uint32_t*)SetData)); | 			RNDISInterfaceInfo->State.CurrPacketFilter = le32_to_cpu(*((uint32_t*)SetData)); | ||||||
| 			RNDISInterfaceInfo->State.CurrRNDISState   = le32_to_cpu((RNDISInterfaceInfo->State.CurrPacketFilter) ? | 			RNDISInterfaceInfo->State.CurrRNDISState   = (RNDISInterfaceInfo->State.CurrPacketFilter) ? RNDIS_Data_Initialized : RNDIS_Initialized; | ||||||
| 			                                                         RNDIS_Data_Initialized : RNDIS_Data_Initialized); |  | ||||||
| 
 | 
 | ||||||
| 			return true; | 			return true; | ||||||
| 		case OID_802_3_MULTICAST_LIST: | 		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) ATTR_ALWAYS_INLINE; | ||||||
| 			static inline void Endpoint_Write_16_LE(const uint16_t Data) | 			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 & 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
 | 			/** 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) ATTR_ALWAYS_INLINE; | ||||||
| 			static inline void Endpoint_Write_16_BE(const uint16_t Data) | 			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 >> 8); | ||||||
|  | 				*(USB_Endpoint_FIFOPos[USB_Endpoint_SelectedEndpoint]++) = (Data & 0xFF); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			/** Discards two bytes from the currently selected endpoint's bank, for OUT direction endpoints.
 | 			/** 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) ATTR_ALWAYS_INLINE; | ||||||
| 			static inline void Endpoint_Write_32_LE(const uint32_t Data) | 			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 &  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
 | 			/** 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) ATTR_ALWAYS_INLINE; | ||||||
| 			static inline void Endpoint_Write_32_BE(const uint32_t Data) | 			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 >> 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.
 | 			/** Discards four bytes from the currently selected endpoint's bank, for OUT direction endpoints.
 | ||||||
|  | |||||||
| @ -515,6 +515,7 @@ | |||||||
| 			static inline void Pipe_ClearSETUP(void) | 			static inline void Pipe_ClearSETUP(void) | ||||||
| 			{ | 			{ | ||||||
| 				(&AVR32_USBB.UPSTA0CLR)[USB_Pipe_SelectedPipe].txstpic = true; | 				(&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]; | 				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) ATTR_ALWAYS_INLINE; | ||||||
| 			static inline void Pipe_Write_16_LE(const uint16_t Data) | 			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 & 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
 | 			/** 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) ATTR_ALWAYS_INLINE; | ||||||
| 			static inline void Pipe_Write_16_BE(const uint16_t Data) | 			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 >> 8); | ||||||
|  | 				*(USB_Pipe_FIFOPos[USB_Pipe_SelectedPipe]++) = (Data & 0xFF); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			/** Discards two bytes from the currently selected pipe's bank, for OUT direction pipes.
 | 			/** 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) ATTR_ALWAYS_INLINE; | ||||||
| 			static inline void Pipe_Write_32_LE(const uint32_t Data) | 			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 &  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
 | 			/** 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) ATTR_ALWAYS_INLINE; | ||||||
| 			static inline void Pipe_Write_32_BE(const uint32_t Data) | 			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 >> 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.
 | 			/** 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) | 	else if (USB_CurrentMode == USB_MODE_Host) | ||||||
| 	{ | 	{ | ||||||
| 		#if defined(INVERTED_VBUS_ENABLE_LINE) | 		#if defined(INVERTED_VBUS_ENABLE_LINE) | ||||||
| 		AVR32_USBB.USBCON.vbuspol = true; | 		AVR32_USBB.USBCON.vbuspo = true; | ||||||
| 		#endif | 		#endif | ||||||
| 		 | 		 | ||||||
| 		#if defined(USB_CAN_BE_HOST) | 		#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) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE; | ||||||
| 			static inline uint16_t Endpoint_BytesInEndpoint(void) | 			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
 | 			/** 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