You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.1 KiB
53 lines
1.1 KiB
8 years ago
|
#ifndef __UPGRADE_H__
|
||
|
#define __UPGRADE_H__
|
||
|
|
||
|
#include <c_types.h>
|
||
|
|
||
|
#define SPI_FLASH_SEC_SIZE 4096
|
||
|
#define LIMIT_ERASE_SIZE 0x10000
|
||
|
|
||
|
#define USER_BIN1 0x00
|
||
|
#define USER_BIN2 0x01
|
||
|
|
||
|
#define UPGRADE_FLAG_IDLE 0x00
|
||
|
#define UPGRADE_FLAG_START 0x01
|
||
|
#define UPGRADE_FLAG_FINISH 0x02
|
||
|
|
||
|
#define UPGRADE_FW_BIN1 0x00
|
||
|
#define UPGRADE_FW_BIN2 0x01
|
||
|
|
||
|
typedef void (*upgrade_states_check_callback)(void * arg);
|
||
|
|
||
|
//#define UPGRADE_SSL_ENABLE
|
||
|
|
||
|
struct upgrade_server_info {
|
||
|
uint8 ip[4];
|
||
|
uint16 port;
|
||
|
|
||
|
uint8 upgrade_flag;
|
||
|
|
||
|
uint8 pre_version[16];
|
||
|
uint8 upgrade_version[16];
|
||
|
|
||
|
uint32 check_times;
|
||
|
uint8 *url;
|
||
|
|
||
|
upgrade_states_check_callback check_cb;
|
||
|
struct espconn *pespconn;
|
||
|
};
|
||
|
|
||
|
#define UPGRADE_FLAG_IDLE 0x00
|
||
|
#define UPGRADE_FLAG_START 0x01
|
||
|
#define UPGRADE_FLAG_FINISH 0x02
|
||
|
|
||
|
void system_upgrade_init();
|
||
|
void system_upgrade_deinit();
|
||
|
bool system_upgrade(uint8 *data, uint16 len);
|
||
|
|
||
|
#ifdef UPGRADE_SSL_ENABLE
|
||
|
bool system_upgrade_start_ssl(struct upgrade_server_info *server); // not supported now
|
||
|
#else
|
||
|
bool system_upgrade_start(struct upgrade_server_info *server);
|
||
|
#endif
|
||
|
#endif
|