app.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #ifndef _APP_H_
  2. #define _APP_H_
  3. #include "main.h"
  4. #define APP_MODULE_TYPE "M5700"
  5. #define APP_NAME "RTL271" //不能随便修改,因为这个值对应该服务器差分文件所在的目录文件名
  6. #define APP_VERSION "06028" //05 SDK_T05 017 LTE version
  7. #define APP_TEST 0 //0 for released version , else for test version
  8. #define APP_CUSTOMER 0 //0 for released version , else for customer version
  9. #define EXT_DATA 32 //除去实际数据外的格式数据
  10. #define TUP_DATA_MAX 512 //实际数据长度
  11. #define IMEI_SIZE 15 //IMEI实际大小
  12. #define APP_HARDVERSION 1000
  13. #define APP_DEVICE_TYPE "RTL_RTU"
  14. #define APP_AKEY 0x12345678
  15. #define SOFTWARE_BUILD_DATE 0x210728
  16. #define SOFTWARE_BUILD_TIME 0x0001
  17. #define SENSOR_MODEL "UNDEFINE"
  18. #pragma pack(push)
  19. #pragma pack(1)
  20. typedef struct{
  21. T_UINT8 reg;
  22. T_UINT8 pdp;
  23. T_UINT8 netReayd;
  24. T_UINT8 resetPDP;
  25. }NET_DEF;
  26. typedef enum{
  27. MEDIA_IDLE,
  28. MEDIA_PCM,
  29. MEDIA_TTS,
  30. MEDIA_SHUT_PCM,
  31. MEDIA_PCM_PENDING,
  32. }MEDIA_ENUM;
  33. typedef struct {
  34. T_BOOL playVoiceDone;
  35. T_BOOL getImeiFlag;
  36. T_BOOL paraFileReady;
  37. T_BOOL psnFileReady;
  38. T_BOOL recordStart;
  39. T_BOOL tgMode;
  40. T_BOOL tmMode;
  41. T_UINT16 wakeupCnt;
  42. NET_DEF netWork;
  43. MEDIA_ENUM media;
  44. T_UINT32 voiceLengthTimeMs;
  45. T_INT8 imei[IMEI_SIZE+1];
  46. T_INT8 bubiaoSerVer[4];
  47. T_UINT16 bubiaoSerVerPort;
  48. //LSAPI_OSI_Thread_t *threadId;
  49. T_INT8 CCID[23];
  50. T_BOOL isRecordFileErr;
  51. T_INT32 devSaveIndex;//这几个变量要连接在一起放
  52. T_INT32 devReadIndex;
  53. T_INT32 gnssSaveIndex;
  54. T_INT32 gnssReadIndex;
  55. T_INT32 nearSaveIndex;
  56. T_INT32 nearReadIndex;
  57. T_INT32 devReadTmp;//记录读出后临时备份的地址,服务器响应成功后更新
  58. T_INT32 gnssReadTmp;//记录读出后临时备份的地址,服务器响应成功后更新
  59. T_INT32 nearReadTmp;//记录读出后临时备份的地址,服务器响应成功后更新
  60. T_INT32 bat;
  61. T_UINT8 onWorkZone;//当前是否在工作期间
  62. T_UINT16 devSampleTime; //设备状态收集间隔(秒) 实际使用时间
  63. T_UINT16 gnssSampleTime; //GNSS位置采样间隔(秒) 实际使用时间
  64. T_UINT16 nearSampleTime; //附近设备扫描间隔(秒) 实际使用时间
  65. T_UINT16 dataUploadTime; //数据上传间隔(秒) 实际使用时间
  66. T_UINT8 sysCtl; //0 正常运行 1 通知MCU复位整机 2 通知MCU关机
  67. T_INT8 opVersion[10];
  68. T_INT8 fmVersion[80];
  69. T_BOOL setMicVolDone;
  70. T_BOOL recBuChuanFlag;
  71. T_INT16 gpsCallBackCnt;
  72. T_BOOL gpsPwrStatus;//GPS是否执行了打开操作
  73. T_UINT32 voiceUploadID;//语音上传ID,只有收到语音验证包或连接断开或发送没ACK超时的时候递加
  74. T_BOOL loadVoicePlayAlready;//下载的语音是否已播放过了
  75. T_BOOL isLoadVoiceDisable;//是否禁止语音下载;
  76. T_INT32 vcharge;//充电电压
  77. T_UINT8 vBatPersent;
  78. T_UINT8 ksos;
  79. T_UINT8 krec;
  80. T_UINT8 loadVoiceTtsLock;//语音/TTS下载到播放完成的过程,只能是其中一项在进行
  81. T_UINT8 hardWareSta;
  82. T_UINT8 plyvoicetype;//播放类型 1 未播放过的,2 已播放过的
  83. T_UINT8 warnStatus;//用于填充在正常保存设备记录时的告警状态
  84. T_INT8 mbtime[30];//模块编译时间
  85. T_BOOL btimeFlag;
  86. }APP_DEF;
  87. #pragma pack(pop)
  88. extern APP_DEF app;
  89. void app_init(void);
  90. PT_THREAD (ptQueueComReadTask(pt_timer_t *ptPool, struct pt *pt));
  91. PT_THREAD (ptHookTask(pt_timer_t *ptPool, struct pt *pt));
  92. void normalTaskStatus(T_BOOL status);
  93. void sysInfoShow(void);
  94. #endif