@ -174,7 +174,7 @@ const USB_Descriptor_String_t PROGMEM AVRISP_ProductString =
 
			
		
	
		
		
			
				
					
					/** Serial number string. This is a Unicode string containing the device's unique serial number, expressed as a
 /** Serial number string. This is a Unicode string containing the device's unique serial number, expressed as a
  
			
		
	
		
		
			
				
					
					 *   series  of  uppercase  hexadecimal  digits . 
 *   series  of  uppercase  hexadecimal  digits . 
 
			
		
	
		
		
			
				
					
					 */ 
 */ 
 
			
		
	
		
		
			
				
					
					const  USB_Descriptor_String_t  PROGMEM   AVRISP_SerialString  = USB_Descriptor_String_t  AVRISP_SerialString  =  
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					{ {  
			
		
	
		
		
			
				
					
						. Header                  =  { . Size  =  USB_STRING_LEN ( 13 ) ,  . Type  =  DTYPE_String } , 
	. Header                  =  { . Size  =  USB_STRING_LEN ( 13 ) ,  . Type  =  DTYPE_String } , 
 
			
		
	
		
		
			
				
					
						
	
 
			
		
	
	
		
		
			
				
					
						
							
								 
						
						
							
								 
						
						
					 
					@ -233,7 +233,12 @@ uint16_t AVRISP_GetDescriptor(const uint16_t wValue,
 
			
		
	
		
		
			
				
					
										break ; 
					break ; 
 
			
		
	
		
		
			
				
					
									case  0x03 : 
				case  0x03 : 
 
			
		
	
		
		
			
				
					
										Address  =  & AVRISP_SerialString ; 
					Address  =  & AVRISP_SerialString ; 
 
			
		
	
		
		
			
				
					
										Size     =  pgm_read_byte ( & AVRISP_SerialString . Header . Size ) ; 
					Size     =  AVRISP_SerialString . Header . Size ; 
 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
										
 
			
		
	
		
		
			
				
					
										/* Update serial number to have a different serial based on the current endpoint address */ 
 
			
		
	
		
		
			
				
					
										( ( uint16_t * ) & AVRISP_SerialString . UnicodeString ) [ 6 ]  =  cpu_to_le16 ( ' 0 '  +  ( AVRISP_DATA_IN_EPADDR  &  ENDPOINT_EPNUM_MASK ) ) ; 
 
			
		
	
		
		
			
				
					
										
 
			
		
	
		
		
			
				
					
										* DescriptorMemorySpace  =  MEMSPACE_RAM ; 
 
			
		
	
		
		
			
				
					
										break ; 
					break ; 
 
			
		
	
		
		
			
				
					
								} 
			}