/** ****************************************************************************** * @file RefreshMenu.h * @author Vincent * @version V1.0.0 * @date 23-12-2015 * @brief ****************************************************************************** * @attention * *

© COPYRIGHT(c) 2015 STMicroelectronics

* * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. Neither the name of STMicroelectronics nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __FREFRESHMENU_H #define __FREFRESHMENU_H /* Includes ------------------------------------------------------------------*/ //#include "at32f421.h" #include "ti_msp_dl_config.h" #include "uart_driver.h" #define FLASH_SIZE (1024*(*((uint32_t*)0x1FFFF7E0))) /* read from at32 flash capacity register(unit:byte) */ #define APP_SIZE (64*1024) #define OTA_SIZE (8*1024) #define SRAM_SIZE (16)//(64) /* sram size, unit:kbyte */ /* Define to variables declare---------------------------------------------------*/ typedef enum {DISABLE = 0, ENABLE = !DISABLE} EventStatus, ControlStatus; typedef void (*otafun)(void); /* Private variables declare---------------------------------------------------*/ typedef struct { _Bool wrenable; _Bool finished; uint8_t step; //uint8_t ackcmd; uint16_t userCmd; uint16_t packagecount; //uint32_t vesionold; //uint32_t vesionnew; //uint32_t buff[256]; uint8_t * dataBuff_128B; uint32_t packageSize; uint8_t startUpSendCount; }download_t; typedef struct { _Bool AckEnable; uint8_t UpdateStatus:2; uint16_t TimeCounter_Update; uint16_t TimeCounter_Startup; uint16_t uwTimeThreshold; }updatecount_t; //extern download_t _; //extern updatecount_t __; extern download_t downLoad; extern updatecount_t update; extern uint8_t flag_FlashWR[]; /*Private function declare---------------------------------------------------*/ void User_Manu_Init(void); void User_Main_Manu(void); void Period_Stick(void); void updateAck(USART_Buf_TypeDef* ptUartTx); void startUpAck(void); void timeOutAck(USART_Buf_TypeDef* ptUartTx); void sendUpdateAck(uint16_t cmd, uint16_t packageNum); void sendAck(void); #endif /*__FREFRESHMENU_H */ /*---------------------------- file end -------------------------------------*/