balbekova 7 жил өмнө
parent
commit
6950b2e818

+ 26 - 19
iap/Modules/Ethernet/httpserver.c

@@ -163,10 +163,13 @@ static err_t http_sent(void *arg, struct tcp_pcb *pcb, u16_t len)
   struct http_state *hs;
   struct http_state *hs;
   hs = arg;
   hs = arg;
 
 
-  if (hs->left > 0)
+  if (hs->left > 0){
+	//  printf("send");
     send_data(pcb, hs);
     send_data(pcb, hs);
+  }
   else
   else
   {
   {
+	  printf("close");
     close_conn(pcb, hs);
     close_conn(pcb, hs);
 	
 	
     if (htmlpage == UploadDonePage)
     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;
            TotalData -= i;
            */
            */
            /* write data in Flash */
            /* 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 */
 		   /* Проверяем CRC */
-   		   if (CRC_Read() == CRC_Calcucate()) {
+   		   if (hw_validated && CRC_Read() == CRC_Calcucate()) {
  			 fs_open("/success.html", &file);
  			 fs_open("/success.html", &file);
              hs->file = file.data;
              hs->file = file.data;
              hs->left = file.len;
              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
 		   else
 		   {
 		   {
-			 FLASH_If_Erase(USER_FLASH_FIRST_PAGE_ADDRESS);
+			 if(hw_validated)
+				 FLASH_If_Erase(USER_FLASH_FIRST_PAGE_ADDRESS);
 			 fEraseFlash = false;
 			 fEraseFlash = false;
 		     fs_open("/error.html", &file);
 		     fs_open("/error.html", &file);
              hs->file = file.data;
              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) {
 			  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->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;
 				// fErrorReset = 1;
-				 pbuf_free(p);
+				// pbuf_free(p);
 				 //close_conn(pcb, hs);
 				 //close_conn(pcb, hs);
 
 
 				  return ERR_OK;
 				  return ERR_OK;