first submission

This commit is contained in:
qiyongshuang
2023-02-01 14:19:13 +08:00
parent d534aad004
commit b79c6ac80d
3711 changed files with 745432 additions and 2 deletions
File diff suppressed because it is too large Load Diff
+153
View File
@@ -0,0 +1,153 @@
/********************************** (C) COPYRIGHT *******************************
* File Name : HTTPS.h
* Author : WCH
* Version : V1.0.0
* Date : 2022/05/31
* Description : HTTP related parameters.
*********************************************************************************
* Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd.
* Attention: This software (modified or not) and binary are used for
* microcontroller manufactured by Nanjing Qinheng Microelectronics.
*******************************************************************************/
#ifndef __HTTPS_H__
#define __HTTPS_H__
#include "debug.h"
#include "wchnet.h"
/*Address where configuration
* information is stored*/
#define PAGE_WRITE_START_ADDR ((uint32_t)0x0801FC00) /* Start from 127K */
#define PAGE_WRITE_END_ADDR ((uint32_t)0x08020000) /* End at 128K */
#define FLASH_PAGE_SIZE 256
#define BASIC_CFG_ADDR ((uint32_t)0x0801FC00)
#define PORT_CFG_ADDR ((uint32_t)0x0801FD00)
#define LOGIN_CFG_ADDR ((uint32_t)0x0801FE00)
#define BASIC_CFG_LEN 40
#define PORT_CFG_LEN 40
#define LOGIN_CFG_LEN 40
#define MAX_URL_SIZE 128
#define HTTP_SERVER_PORT 80
/* HTTP请求方法 */
#define METHOD_ERR 0
#define METHOD_GET 1
#define METHOD_HEAD 2
#define METHOD_POST 3
/* HTTP请求类型 */
#define PTYPE_ERR 0
#define PTYPE_HTML 1
#define PTYPE_PNG 2
#define PTYPE_CSS 3
#define PTYPE_GIF 4
/*WCHNET网页通信协议定义*/
#define MODE_TCPSERVER 0
#define MODE_TCPCLIENT 1
/* HTML Doc. for ERROR */
#define RES_HTMLHEAD_OK "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n" //HTML type response message, the last two \r\n must have
#define RES_PNGHEAD_OK "HTTP/1.1 200 OK\r\nContent-Type: image/png\r\n\r\n" //PNG type response message, the last two \r\n must have
#define RES_CSSHEAD_OK "HTTP/1.1 200 OK\r\nContent-Type: text/css\r\n\r\n" //CSS type response message, the last two \r\n must have
#define RES_GIFHEAD_OK "HTTP/1.1 200 OK\r\nContent-Type: image/gif\r\n\r\n" //GIF type response message, the last two \r\n must have
/*-----------------*/
typedef struct Basic_Cfg //Basic configuration parameters
{
u8 flag[2]; //Configuration information verification code: 0x57,0xab
u8 mac[6];
u8 ip[4];
u8 mask[4];
u8 gateway[4];
} *Basic_Cfg;
typedef struct Port_Cfg //Port configuration parameters
{
u8 flag[2]; //Configuration information verification code: 0x57,0xab
u8 mode;
u8 src_port[2];
u8 des_ip[4];
u8 des_port[2];
} *Port_Cfg;
typedef struct Login_Cfg //Login configuration parameters
{
u8 flag[2]; //Configuration information verification code: 0x57,0xab
u8 user[10];
u8 pass[10];
} *Login_Cfg;
typedef struct _st_http_request //Browser request information
{
char METHOD;
char TYPE;
char URL[MAX_URL_SIZE];
}st_http_request;
typedef struct Para_Tab //Configuration information parameter table
{
char *para; //Configuration item name
char value[20]; //Configuration item value
}Parameter;
extern Basic_Cfg Basic_CfgBuf;
extern Login_Cfg Login_CfgBuf;
extern Port_Cfg Port_CfgBuf;
extern st_http_request *http_request;
extern u8 basicbuf[BASIC_CFG_LEN];
extern u8 portbuf[PORT_CFG_LEN];
extern u8 loginbuf[LOGIN_CFG_LEN];
extern u8 Basic_Default[BASIC_CFG_LEN];
extern u8 Login_Default[LOGIN_CFG_LEN];
extern u8 Port_Default[PORT_CFG_LEN];
extern u8 httpweb[200] ;
extern u8 RecvBuffer[];
extern u8 DealDataflag;
extern u8 socket;
extern void ParseHttpRequest(st_http_request *, char *);
extern void ParseURLType(char *, char *);
extern void MakeHttpResponse(unsigned char *, char);
extern char *GetURLName(char* url);
extern char *DataLocate(char *buf,char *name);
extern void copy_flash(const char *html, u32 len);
extern void Init_Para_Tab(void) ;
extern void Web_Server(void);
extern void WEB_ERASE(u32 Page_Address, u32 Length );
extern FLASH_Status WEB_WRITE( u32 StartAddr, u8 *Buffer, u32 Length );
extern void WEB_READ( u32 StartAddr, u8 *Buffer, u32 Length );
#endif