|  | @@ -163,10 +163,13 @@ static err_t http_sent(void *arg, struct tcp_pcb *pcb, u16_t len)
 | 
	
		
			
				|  |  |    struct http_state *hs;
 | 
	
		
			
				|  |  |    hs = arg;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  if (hs->left > 0)
 | 
	
		
			
				|  |  | +  if (hs->left > 0){
 | 
	
		
			
				|  |  | +	//  printf("send");
 | 
	
		
			
				|  |  |      send_data(pcb, hs);
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |    else
 | 
	
		
			
				|  |  |    {
 | 
	
		
			
				|  |  | +	  printf("close");
 | 
	
		
			
				|  |  |      close_conn(pcb, hs);
 | 
	
		
			
				|  |  |  	
 | 
	
		
			
				|  |  |      if (htmlpage == UploadDonePage)
 | 
	
	
		
			
				|  | @@ -429,19 +432,21 @@ static err_t http_recv(void *arg, struct tcp_pcb *pcb,  struct pbuf *p, err_t er
 | 
	
		
			
				|  |  |             TotalData -= i;
 | 
	
		
			
				|  |  |             */
 | 
	
		
			
				|  |  |             /* write data in Flash */
 | 
	
		
			
				|  |  | -           if (len)
 | 
	
		
			
				|  |  | -             IAP_HTTP_writedata(ptr,len);
 | 
	
		
			
				|  |  | +        	 if(hw_validated){
 | 
	
		
			
				|  |  | +			   if (len)
 | 
	
		
			
				|  |  | +				 IAP_HTTP_writedata(ptr,len);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -           DataFlag=0;
 | 
	
		
			
				|  |  | -           htmlpage = UploadDonePage;
 | 
	
		
			
				|  |  | +			   DataFlag=0;
 | 
	
		
			
				|  |  | +			   htmlpage = UploadDonePage;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -           PRINT_USART("Tot bytes Received:\n\r");
 | 
	
		
			
				|  |  | -           sprintf(debugMsg, "%d bytes \n\r",TotalData);
 | 
	
		
			
				|  |  | -           PRINT_USART(debugMsg);
 | 
	
		
			
				|  |  | -           PRINT_USART("State: Prog Finished \n\r");
 | 
	
		
			
				|  |  | +			   PRINT_USART("Tot bytes Received:\n\r");
 | 
	
		
			
				|  |  | +			   sprintf(debugMsg, "%d bytes \n\r",TotalData);
 | 
	
		
			
				|  |  | +			   PRINT_USART(debugMsg);
 | 
	
		
			
				|  |  | +			   PRINT_USART("State: Prog Finished \n\r");
 | 
	
		
			
				|  |  | +        	 }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		   /* Проверяем CRC */
 | 
	
		
			
				|  |  | -   		   if (CRC_Read() == CRC_Calcucate()) {
 | 
	
		
			
				|  |  | +   		   if (hw_validated && CRC_Read() == CRC_Calcucate()) {
 | 
	
		
			
				|  |  |   			 fs_open("/success.html", &file);
 | 
	
		
			
				|  |  |               hs->file = file.data;
 | 
	
		
			
				|  |  |               hs->left = file.len;
 | 
	
	
		
			
				|  | @@ -452,7 +457,8 @@ static err_t http_recv(void *arg, struct tcp_pcb *pcb,  struct pbuf *p, err_t er
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		   else
 | 
	
		
			
				|  |  |  		   {
 | 
	
		
			
				|  |  | -			 FLASH_If_Erase(USER_FLASH_FIRST_PAGE_ADDRESS);
 | 
	
		
			
				|  |  | +			 if(hw_validated)
 | 
	
		
			
				|  |  | +				 FLASH_If_Erase(USER_FLASH_FIRST_PAGE_ADDRESS);
 | 
	
		
			
				|  |  |  			 fEraseFlash = false;
 | 
	
		
			
				|  |  |  		     fs_open("/error.html", &file);
 | 
	
		
			
				|  |  |               hs->file = file.data;
 | 
	
	
		
			
				|  | @@ -483,16 +489,17 @@ static err_t http_recv(void *arg, struct tcp_pcb *pcb,  struct pbuf *p, err_t er
 | 
	
		
			
				|  |  |  			  if (strcmp((char *)(ptr + HW_REV_OFFSET), rev) != 0) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -				  DataFlag = 0;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -				 fs_open("/error.html", &file);
 | 
	
		
			
				|  |  | +			//	  DataFlag = 0;
 | 
	
		
			
				|  |  | +				  pbuf_free(p);
 | 
	
		
			
				|  |  | +			/*	 fs_open("/error.html", &file);
 | 
	
		
			
				|  |  |  				 hs->file = file.data;
 | 
	
		
			
				|  |  | -				 hs->left = file.len;
 | 
	
		
			
				|  |  | -				 send_data(pcb, hs);
 | 
	
		
			
				|  |  | -				 tcp_sent(pcb, http_sent);
 | 
	
		
			
				|  |  | -				 htmlpage = UploadErrorPage;
 | 
	
		
			
				|  |  | +				 hs->left = file.len;*/
 | 
	
		
			
				|  |  | +			/*	 send_data(pcb, hs);
 | 
	
		
			
				|  |  | +				 tcp_sent(pcb, http_sent);*/
 | 
	
		
			
				|  |  | +				// printf("start");
 | 
	
		
			
				|  |  | +			//	 htmlpage = UploadErrorPage;
 | 
	
		
			
				|  |  |  				// fErrorReset = 1;
 | 
	
		
			
				|  |  | -				 pbuf_free(p);
 | 
	
		
			
				|  |  | +				// pbuf_free(p);
 | 
	
		
			
				|  |  |  				 //close_conn(pcb, hs);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  				  return ERR_OK;
 |