#ifndef _APP_H_ #define _APP_H_ #include "main.h" #define APP_MODULE_TYPE "M5700" #define APP_NAME "RTL271" //不能随便修改,因为这个值对应该服务器差分文件所在的目录文件名 #define APP_VERSION "06028" //05 SDK_T05 017 LTE version #define APP_TEST 0 //0 for released version , else for test version #define APP_CUSTOMER 0 //0 for released version , else for customer version #define EXT_DATA 32 //除去实际数据外的格式数据 #define TUP_DATA_MAX 512 //实际数据长度 #define IMEI_SIZE 15 //IMEI实际大小 #define APP_HARDVERSION 1000 #define APP_DEVICE_TYPE "RTL_RTU" #define APP_AKEY 0x12345678 #define SOFTWARE_BUILD_DATE 0x210728 #define SOFTWARE_BUILD_TIME 0x0001 #define SENSOR_MODEL "UNDEFINE" #pragma pack(push) #pragma pack(1) typedef struct{ T_UINT8 reg; T_UINT8 pdp; T_UINT8 netReayd; T_UINT8 resetPDP; }NET_DEF; typedef enum{ MEDIA_IDLE, MEDIA_PCM, MEDIA_TTS, MEDIA_SHUT_PCM, MEDIA_PCM_PENDING, }MEDIA_ENUM; typedef struct { T_BOOL playVoiceDone; T_BOOL getImeiFlag; T_BOOL paraFileReady; T_BOOL psnFileReady; T_BOOL recordStart; T_BOOL tgMode; T_BOOL tmMode; T_UINT16 wakeupCnt; NET_DEF netWork; MEDIA_ENUM media; T_UINT32 voiceLengthTimeMs; T_INT8 imei[IMEI_SIZE+1]; T_INT8 bubiaoSerVer[4]; T_UINT16 bubiaoSerVerPort; //LSAPI_OSI_Thread_t *threadId; T_INT8 CCID[23]; T_BOOL isRecordFileErr; T_INT32 devSaveIndex;//这几个变量要连接在一起放 T_INT32 devReadIndex; T_INT32 gnssSaveIndex; T_INT32 gnssReadIndex; T_INT32 nearSaveIndex; T_INT32 nearReadIndex; T_INT32 devReadTmp;//记录读出后临时备份的地址,服务器响应成功后更新 T_INT32 gnssReadTmp;//记录读出后临时备份的地址,服务器响应成功后更新 T_INT32 nearReadTmp;//记录读出后临时备份的地址,服务器响应成功后更新 T_INT32 bat; T_UINT8 onWorkZone;//当前是否在工作期间 T_UINT16 devSampleTime; //设备状态收集间隔(秒) 实际使用时间 T_UINT16 gnssSampleTime; //GNSS位置采样间隔(秒) 实际使用时间 T_UINT16 nearSampleTime; //附近设备扫描间隔(秒) 实际使用时间 T_UINT16 dataUploadTime; //数据上传间隔(秒) 实际使用时间 T_UINT8 sysCtl; //0 正常运行 1 通知MCU复位整机 2 通知MCU关机 T_INT8 opVersion[10]; T_INT8 fmVersion[80]; T_BOOL setMicVolDone; T_BOOL recBuChuanFlag; T_INT16 gpsCallBackCnt; T_BOOL gpsPwrStatus;//GPS是否执行了打开操作 T_UINT32 voiceUploadID;//语音上传ID,只有收到语音验证包或连接断开或发送没ACK超时的时候递加 T_BOOL loadVoicePlayAlready;//下载的语音是否已播放过了 T_BOOL isLoadVoiceDisable;//是否禁止语音下载; T_INT32 vcharge;//充电电压 T_UINT8 vBatPersent; T_UINT8 ksos; T_UINT8 krec; T_UINT8 loadVoiceTtsLock;//语音/TTS下载到播放完成的过程,只能是其中一项在进行 T_UINT8 hardWareSta; T_UINT8 plyvoicetype;//播放类型 1 未播放过的,2 已播放过的 T_UINT8 warnStatus;//用于填充在正常保存设备记录时的告警状态 T_INT8 mbtime[30];//模块编译时间 T_BOOL btimeFlag; }APP_DEF; #pragma pack(pop) extern APP_DEF app; void app_init(void); PT_THREAD (ptQueueComReadTask(pt_timer_t *ptPool, struct pt *pt)); PT_THREAD (ptHookTask(pt_timer_t *ptPool, struct pt *pt)); void normalTaskStatus(T_BOOL status); void sysInfoShow(void); #endif