121 lines
8.6 KiB
C
121 lines
8.6 KiB
C
![]() |
#ifndef __USERAPPx_H
|
|||
|
#define __USERAPPx_H
|
|||
|
|
|||
|
#include <stdbool.h> //bool<6F><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#include <stdint.h>
|
|||
|
#include <stdlib.h>
|
|||
|
#include "mac.h"
|
|||
|
#include "rs232.h"
|
|||
|
#include "rs485.h"
|
|||
|
#include "FreeRTOS.h"
|
|||
|
#include "event_groups.h"
|
|||
|
#include "semphr.h"
|
|||
|
#include "osPort.h"
|
|||
|
|
|||
|
/*********Ӧ<>ò<EFBFBD><C3B2>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>*******************************************************/
|
|||
|
//#include "stm32Temp.h"
|
|||
|
//#include "gate_timer.h"
|
|||
|
/**********************************************************************************/
|
|||
|
|
|||
|
/**********************************************************************************
|
|||
|
**GateApp<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>
|
|||
|
*********************************************************************************/
|
|||
|
|
|||
|
/**********************************************************************************
|
|||
|
**<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*********************************************************************************/
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
char macId[MAC_BYTES_LEN+1] ; //<2F><><EFBFBD><EFBFBD> Ӳ<><D3B2>mac<61><63>ַ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
char appVers[VERSION_LEN+1] ; //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><E6B1BE><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
char bootVers[VERSION_LEN+1] ; //<2F><><EFBFBD><EFBFBD> boot<6F><74><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><E6B1BE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
char rstReason[VERSION_LEN+1] ; //<2F><><EFBFBD><EFBFBD> <20>ϴ<EFBFBD><CFB4>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}Application ; //<2F><><EFBFBD><EFBFBD> Ӧ<>ó<EFBFBD><C3B3><EFBFBD>һд<D2BB><D0B4><EFBFBD><EFBFBD><EFBFBD>Ľṹ<C4BD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
/**********************************************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*********************************************************************************/
|
|||
|
extern Application gateApp ; //gateApp<70><70><EFBFBD><EFBFBD>Ӧ<EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
|
|||
|
#define STATE_OK 1 //<2F><>ʾ<EFBFBD><CABE>־λ<D6BE><CEBB>ӳ<EFBFBD><D3B3>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
#define STATE_ERR 0 //<2F><>ʾ<EFBFBD><CABE>־λ<D6BE><CEBB>ӳ<EFBFBD><D3B3>״̬<D7B4>쳣
|
|||
|
/*OS<4F><53><EFBFBD><EFBFBD>״̬<D7B4>¼<EFBFBD><C2BC><EFBFBD>־λ<D6BE><CEBB><EFBFBD>س<EFBFBD><D8B3><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
extern EventGroupHandle_t osSafeEventHandler ; //OS<4F><53><EFBFBD><EFBFBD>״̬<D7B4>¼<EFBFBD><C2BC><EFBFBD>־<EFBFBD>飨<EFBFBD><E9A3A8>־λOSÿ<53><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define CHECKTASKINTERVAL 180 //180<38><30>(3mins)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define NETBIT_0 (EventBits_t)(1 << 0) //<2F><>־λ0<CEBB><30><EFBFBD><EFBFBD>ӳ"<22><><EFBFBD><EFBFBD>ά<EFBFBD><CEAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"״̬
|
|||
|
#define LTEBIT_1 (EventBits_t)(1 << 1) //<2F><>־λ1<CEBB><31><EFBFBD><EFBFBD>ӳ"LTE<54><45><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"״̬
|
|||
|
#define CAMERABIT_2 (EventBits_t)(1 << 2) //<2F><>־λ2<CEBB><32><EFBFBD><EFBFBD>ӳ"<22><><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"״̬
|
|||
|
#define TCPUPBIT_3 (EventBits_t)(1 << 3) //<2F><>־λ3<CEBB><33><EFBFBD><EFBFBD>ӳ"TCP<43>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>"״̬
|
|||
|
#define TCPHEARTBIT_4 (EventBits_t)(1 << 4) //<2F><>־λ4<CEBB><34><EFBFBD><EFBFBD>ӳ"TCP<43><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"״̬
|
|||
|
#define UCMDBIT_5 (EventBits_t)(1 << 5) //<2F><>־λ5<CEBB><35><EFBFBD><EFBFBD>ӳ"<22>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"״̬
|
|||
|
|
|||
|
#define READOSSAFEEVENT xEventGroupGetBits(osSafeEventHandler) //<2F><>ȡ<EFBFBD><C8A1>־<EFBFBD><D6BE>osSafeEventHandler<65><72>ֵ
|
|||
|
#define GETTASKOSSAFE (((NETBIT_0|LTEBIT_1|CAMERABIT_2|TCPUPBIT_3|TCPHEARTBIT_4|UCMDBIT_5) & xEventGroupGetBits(osSafeEventHandler))\
|
|||
|
== (NETBIT_0|LTEBIT_1|CAMERABIT_2|TCPUPBIT_3|TCPHEARTBIT_4|UCMDBIT_5)) //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>־λ0&<26><>־λ1&<26><>־λ2&<26><>־λ3&<26><>־λ4&<26><>־λ5<CEBB><35>״̬<D7B4><CCAC>
|
|||
|
|
|||
|
#define SETNETTASKOK xEventGroupSetBits(osSafeEventHandler, NETBIT_0) //<2F><><EFBFBD>á<EFBFBD><C3A1><EFBFBD>־λ0<CEBB><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><CEAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ״̬STATE_OK"
|
|||
|
#define SETLTETASKOK xEventGroupSetBits(osSafeEventHandler, LTEBIT_1) //<2F><><EFBFBD>á<EFBFBD><C3A1><EFBFBD>־λ1<CEBB><31>LTE<54><45><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ״̬STATE_OK"
|
|||
|
#define SETCAMERATASKOK xEventGroupSetBits(osSafeEventHandler, CAMERABIT_2) //<2F><><EFBFBD>á<EFBFBD><C3A1><EFBFBD>־λ2<CEBB><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ״̬STATE_OK"
|
|||
|
#define SETTCPUPTASKOK xEventGroupSetBits(osSafeEventHandler, TCPUPBIT_3) //<2F><><EFBFBD>á<EFBFBD><C3A1><EFBFBD>־λ3<CEBB><33>TCP<43>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD> ״̬STATE_OK"
|
|||
|
#define SETTCPHEARTTASKOK xEventGroupSetBits(osSafeEventHandler, TCPHEARTBIT_4) //<2F><><EFBFBD>á<EFBFBD><C3A1><EFBFBD>־λ4<CEBB><34>TCP<43><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ״̬STATE_OK"
|
|||
|
#define SETUCMDTASKOK xEventGroupSetBits(osSafeEventHandler, UCMDBIT_5) //<2F><><EFBFBD>á<EFBFBD><C3A1><EFBFBD>־λ5<CEBB><35><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ״̬STATE_OK"
|
|||
|
#define RESETOSSAFEEVENT xEventGroupClearBits(osSafeEventHandler, NETBIT_0|LTEBIT_1|CAMERABIT_2|TCPUPBIT_3|TCPHEARTBIT_4|UCMDBIT_5) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>־λ
|
|||
|
|
|||
|
/*<2A><><EFBFBD><EFBFBD>״̬<D7B4>¼<EFBFBD><C2BC><EFBFBD>־λ<D6BE><CEBB><EFBFBD>س<EFBFBD><D8B3><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
extern EventGroupHandle_t netEventHandler ; //<2F><><EFBFBD><EFBFBD>״̬<D7B4>¼<EFBFBD><C2BC><EFBFBD>־<EFBFBD>飨<EFBFBD><E9A3A8>־λ<D6BE><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>
|
|||
|
#define MODULEBIT_0 (EventBits_t)(1 << 0) //<2F><>־λ0<CEBB><30><EFBFBD><EFBFBD>ӳEC20 moudle<6C><65>ʼ<EFBFBD><CABC>״̬
|
|||
|
#define NETREGBIT_1 (EventBits_t)(1 << 1) //<2F><>־λ1<CEBB><31><EFBFBD><EFBFBD>ӳEC20 EC20_Net_Reg<65><67>ʼ<EFBFBD><CABC>״̬
|
|||
|
#define TCPBIT_2 (EventBits_t)(1 << 2) //<2F><>־λ2<CEBB><32><EFBFBD><EFBFBD>ӳEC20 TCP״̬
|
|||
|
#define HTTPBIT_3 (EventBits_t)(1 << 3) //<2F><>־λ3<CEBB><33><EFBFBD><EFBFBD>ӳEC20 HTTP<54><50><EFBFBD><EFBFBD>״̬
|
|||
|
|
|||
|
#define GETMODULESTATE ((MODULEBIT_0 & xEventGroupGetBits(netEventHandler)) == MODULEBIT_0) //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>־λ0<CEBB><30>EC20 moudle<6C><65>ʼ<EFBFBD><CABC>״̬"
|
|||
|
#define GETNETREGSTATE ((NETREGBIT_1 & xEventGroupGetBits(netEventHandler)) == NETREGBIT_1) //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>־λ1<CEBB><31>EC20 EC20_Net_Reg<65><67>ʼ<EFBFBD><CABC>״̬<D7B4><CCAC>
|
|||
|
#define GETTCPSTATE ((TCPBIT_2 & xEventGroupGetBits(netEventHandler)) == TCPBIT_2) //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>־λ2<CEBB><32>EC20 TCP״̬<D7B4><CCAC>
|
|||
|
#define GETHTTPSTATE ((HTTPBIT_3 & xEventGroupGetBits(netEventHandler)) == HTTPBIT_3) //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>־λ3<CEBB><33>EC20 HTTP<54><50><EFBFBD><EFBFBD>״̬<D7B4><CCAC>
|
|||
|
#define GETUSERNETSTATE (((MODULEBIT_0|NETREGBIT_1|TCPBIT_2|HTTPBIT_3) & xEventGroupGetBits(netEventHandler)) == (MODULEBIT_0|NETREGBIT_1|TCPBIT_2|HTTPBIT_3)) //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>־λ0&<26><>־λ1&<26><>־λ2&<26><>־λ3<CEBB><33>״̬<D7B4><CCAC>
|
|||
|
|
|||
|
#define SETMODULEOK xEventGroupSetBits(netEventHandler, MODULEBIT_0) //<2F><><EFBFBD>á<EFBFBD><C3A1><EFBFBD>־λ0<CEBB><30>EC20 moudle<6C><65>ʼ<EFBFBD><CABC>״̬ STATE_OK"
|
|||
|
#define SETNETREGOK xEventGroupSetBits(netEventHandler, NETREGBIT_1) //<2F><><EFBFBD>á<EFBFBD><C3A1><EFBFBD>־λ1<CEBB><31>EC20 EC20_Net_Reg<65><67>ʼ<EFBFBD><CABC>״̬ STATE_OK<4F><4B>
|
|||
|
#define SETTCPOK xEventGroupSetBits(netEventHandler, TCPBIT_2) //<2F><><EFBFBD>á<EFBFBD><C3A1><EFBFBD>־λ2<CEBB><32>EC20 TCP״̬ STATE_OK<4F><4B><EFBFBD><EFBFBD>
|
|||
|
#define SETHTTPOK xEventGroupSetBits(netEventHandler, HTTPBIT_3) //<2F><><EFBFBD>á<EFBFBD><C3A1><EFBFBD>־λ3<CEBB><33>EC20 HTTP<54><50><EFBFBD><EFBFBD>״̬ STATE_OK<4F><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#define SETTCPERR xEventGroupClearBits(netEventHandler, TCPBIT_2) //<2F><><EFBFBD>á<EFBFBD><C3A1><EFBFBD>־λ2<CEBB><32>EC20 TCP״̬ STATE_ERR"
|
|||
|
#define SETHTTPERR xEventGroupClearBits(netEventHandler, HTTPBIT_3) //<2F><><EFBFBD>á<EFBFBD><C3A1><EFBFBD>־λ3<CEBB><33>EC20 HTTP<54><50><EFBFBD><EFBFBD>״̬ STATE_ERR<52><52>
|
|||
|
#define SETNETREGERR xEventGroupClearBits(netEventHandler, NETREGBIT_1|TCPBIT_2|HTTPBIT_3) //<2F><><EFBFBD>á<EFBFBD><C3A1><EFBFBD>־λ1<CEBB><31><EFBFBD><EFBFBD>־λ2<CEBB><32><EFBFBD><EFBFBD>־λ3<CEBB><33>״̬ STATE_ERR<52><52>
|
|||
|
#define SETMODULEERR xEventGroupClearBits(netEventHandler, MODULEBIT_0|NETREGBIT_1|TCPBIT_2|HTTPBIT_3) //<2F><><EFBFBD>á<EFBFBD><C3A1><EFBFBD>־λ0<CEBB><30><EFBFBD><EFBFBD>־λ1<CEBB><31><EFBFBD><EFBFBD>־λ2<CEBB><32><EFBFBD><EFBFBD>־λ3<CEBB><33>״̬ STATE_ERR<52><52>
|
|||
|
|
|||
|
/*EC20<32><30>Դ<EFBFBD><D4B4>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
extern SemaphoreHandle_t ec20MutexSemaphore ; //<2F><><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>EC20<32><30>Դ<EFBFBD><D4B4>ռ<EFBFBD><D5BC><EFBFBD>ͷţ<CDB7>
|
|||
|
extern char lastOccupyEc20[30] ; //ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>¼<EFBFBD><C2BC>һ<EFBFBD><D2BB>ռ<EFBFBD><D5BC>EC20<32><30>Դ<EFBFBD><D4B4>__FILE__, __LINE__
|
|||
|
extern char lastReleseEc20[30] ; //ȫ<><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>¼<EFBFBD><C2BC>һ<EFBFBD><D2BB><EFBFBD>ͷ<EFBFBD>EC20<32><30>Դ<EFBFBD><D4B4>__FILE__, __LINE__
|
|||
|
//#define OCCUPY_EC20(t) xSemaphoreTake(ec20MutexSemaphore, t); memset(lastOccupyEc20, 0, 25);\\
|
|||
|
// snprintf( lastOccupyEc20, 25, "\r\n%s %d ռ<><D5BC>EC20<32><30>Դ!", __FILE__, __LINE__) ;
|
|||
|
// UARTx_SendData(UART_DEBUG, lastOccupyEc20, strlen(lastOccupyEc20)) portMAX_DELAY //<2F>ȴ<EFBFBD>ռ<EFBFBD><D5BC>EC20<32><30>Դ һֱ<D2BB>ȴ<EFBFBD><C8B4><EFBFBD>t = portMAX_DELAY
|
|||
|
#define RELESE_EC20(void) xSemaphoreGive(ec20MutexSemaphore); memset(lastReleseEc20, 0, 25);\
|
|||
|
snprintf( lastReleseEc20, 25, "%s %d <20>ͷ<EFBFBD>EC20!", __FILE__, __LINE__) ;\
|
|||
|
AppLogPrintf(lastReleseEc20) ;
|
|||
|
// UARTx_SendData(UART_DEBUG, lastReleseEc20, strlen(lastReleseEc20)) //<2F>ͷ<EFBFBD>EC20<32><30>Դ
|
|||
|
|
|||
|
|
|||
|
/**********************************************************************************
|
|||
|
*<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
***********************************************************************************/
|
|||
|
|
|||
|
/********************************************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿں<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*********************************************************************************/
|
|||
|
extern void OccpyEc20(TickType_t timeout, char* file, int line) ; //<2F><>ȡEC20<32><30>Դ<EFBFBD><D4B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>timeoutû<74>л<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>д<EFBFBD><D0B4>LOGȻ<47><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ
|
|||
|
extern void Board_Init(void) ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܿ<EFBFBD><DCBF><EFBFBD>ʼ<EFBFBD><CABC>
|
|||
|
extern void PrintfDeviceInfo(void) ; //DEBUG<55><47><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>Ϣ
|
|||
|
extern void DeviceRstReason(uint8_t *reason, uint8_t maxLen) ; //<2F><>ȡӲ<C8A1><D3B2><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>
|
|||
|
extern void TcpUpFlashLog(void) ; //ͨ<><CDA8>TCP<43>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>FLASH<53>洢<EFBFBD><E6B4A2>LOG
|
|||
|
extern void Rtc_Alr_Callback(void) ; //RTC<54><43><EFBFBD><EFBFBD><EFBFBD>жϻص<CFBB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ϊ<EFBFBD>ڶ<EFBFBD><DAB6>죬ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD>豸
|
|||
|
extern void InitApplictationState(Application *appPointer); //<2F><>ʼ<EFBFBD><CABC>Application<6F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
extern void SetAppVersion(Application *appPointer, char *version) ; //<2F><><EFBFBD><EFBFBD>Application<6F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>APP<50><50><EFBFBD><EFBFBD><EFBFBD>汾
|
|||
|
extern void SetBootVersion(Application *appPointer, char *version) ;//<2F><><EFBFBD><EFBFBD>Application<6F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>boot<6F><74><EFBFBD><EFBFBD><EFBFBD>汾
|
|||
|
extern void SetMacId(Application *appPointer, char *macId) ; //<2F><><EFBFBD><EFBFBD>Application<6F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>macid
|
|||
|
extern void RefreshOledTime(void) ; //ˢ<><CBA2><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>3<EFBFBD>С<EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD>ʾʱ<CABE><CAB1>
|
|||
|
|
|||
|
|
|||
|
#endif
|