#ifndef __UPGRADE_H__ #define __UPGRADE_H__ #include #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