|
@@ -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;
|