sysIni.c 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. #include "includes.h"
  2. const char invalidIp[]="1.1.1.1";
  3. SYSINI_HS191X_DEF newPara;
  4. int newSysiniIndex=-1;
  5. void testing(void);
  6. void ShowDetail(void);
  7. void newSysIniRead(void)
  8. {
  9. int len;
  10. char needsave=0;
  11. newSysiniIndex=GetFileIndex(SYS_CONFIG);
  12. if(newSysiniIndex<0){
  13. printf("%s not found\r\n",SYS_CONFIG);
  14. return;
  15. }
  16. len=GetFileLen(newSysiniIndex);
  17. if(len<sizeof(SYSINI_HS191X_DEF)){
  18. printf("%s SYS_CONFIG len err\r\n",SYS_CONFIG);
  19. return;
  20. }
  21. ReadFileData(newSysiniIndex, 0, sizeof(SYSINI_HS191X_DEF), (unsigned char *)&newPara);
  22. #if 1
  23. //ShowDetail();
  24. validApnNum = 4;
  25. //要对应有有参数的合法性作判断
  26. if(newPara.serList.defaultuse>SER_US){
  27. newPara.serList.defaultuse=SER_HZ;
  28. needsave=1;
  29. }
  30. if(newPara.apnList.defaultuse>APN_APN4){
  31. newPara.apnList.defaultuse=APN_APN1;
  32. needsave=1;
  33. }
  34. if(newPara.lcdParaDefaultIndex>=5){
  35. newPara.lcdParaDefaultIndex=0;
  36. needsave=1;
  37. }
  38. if(newPara.gpsTimeIndex>=GPS_TABLE_NUM){
  39. newPara.gpsTimeIndex=0;
  40. needsave=1;
  41. }
  42. if(newPara.pwrMode>=PWR_MODE_NUM){
  43. newPara.pwrMode=0;
  44. needsave=1;
  45. }
  46. // if(newPara.SoundMode>1){
  47. // newPara.SoundMode=0;
  48. // needsave=1;
  49. // }
  50. if(newPara.QuickGroup>1){
  51. newPara.QuickGroup=1;
  52. needsave=1;
  53. }
  54. if(newPara.ConfigFlag==0){
  55. sutGpsCtl.reTryAuthTimes=1;
  56. sutGpsCtl.reTryPerSeconds=1;
  57. newPara.QuickGroup=1;//0--打开 1--关闭
  58. memset((void*)newPara.QuickGroupId,0,sizeof(newPara.QuickGroupId));
  59. newPara.ConfigFlag=1;
  60. needsave=1;
  61. }else{
  62. sutGpsCtl.reTryAuthTimes=3;
  63. sutGpsCtl.reTryPerSeconds=15;
  64. }
  65. getGIPAddr();
  66. getPIPAddr();
  67. if(newPara.serverMenuPass!=NULL) memcpy(menu_key, newPara.serverMenuPass,6);
  68. if(needsave != 0) ModifyConfigureFile(0);
  69. #else
  70. testing();
  71. #endif
  72. }
  73. void ShowDetail(void)
  74. {
  75. char buf[30];
  76. int len;
  77. int i;
  78. printf("Len=%d,%d\r\n",len,sizeof(SYSINI_HS191X_DEF));
  79. printf("CFlag:%d,Mode:%d,ttsType:%d,ttsMess:%s\r\n",newPara.ConfigFlag,newPara.Mode,newPara.ttsCodeType,newPara.ttsMessage);
  80. memcpy(buf, newPara.serverMenuPass,6);buf[6]=0;
  81. printf("pass:%s,SmsFlag=%c,SmdAddr:%x,lcd:%d,%d,%d,%d,%d,useLcd=%d,auth:%d\r\n", buf, newPara.messageResetFlag,newPara.messageNewAddr,newPara.lcdParaList[0],newPara.lcdParaList[1],newPara.lcdParaList[2],newPara.lcdParaList[3],newPara.lcdParaList[4],newPara.lcdParaDefaultIndex,newPara.authType);
  82. printf("zh pip:%s,gip:%s\r\n", newPara.serList.zh.pip, newPara.serList.zh.gip);
  83. printf("sd pip:%s,gip:%s\r\n", newPara.serList.sd.pip, newPara.serList.sd.gip);
  84. printf("ur pip:%s,gip:%s\r\n", newPara.serList.ur.pip, newPara.serList.ur.gip);
  85. printf("ipfa:%s\r\n", newPara.serList.ipFenFa);
  86. printf("jiqun:%s\r\n", newPara.serList.jiqun);
  87. printf("server use:%d\r\n", newPara.serList.defaultuse);
  88. for(i=0;i<4;i++){
  89. printf("APN%d acc:%s, pass:%s\r\n", i,newPara.apnList.apnList[i].account, newPara.apnList.apnList[i].pass);
  90. }
  91. printf("APN def=%d, showflag=%d\r\n", newPara.apnList.defaultuse, newPara.apnList.apnShowFlag);
  92. printf("netMode:%d\r\n",newPara.netMode);
  93. }
  94. void tryToModifyData(void)
  95. {
  96. // newPara.lcdParaList[0]=77;
  97. // newPara.lcdParaList[1]=88;
  98. // newPara.lcdParaList[2]=99;
  99. // ModifyConfigureFile();
  100. SUT_FILE_PAGE_HEAD pageinfo;
  101. pageinfo.mark=FILE_HEAD_END;
  102. sFlash_Write((unsigned char *)&pageinfo, g_sutFilesList.FileInfo[g_sutFilesList.FileCount-1].FileAddr, sizeof(SUT_FILE_PAGE_HEAD));
  103. }
  104. void testing(void)
  105. {
  106. ShowDetail();
  107. //tryToModifyData();
  108. while(1){
  109. IWDG_ReloadCounter();
  110. DelayMs(500);
  111. printf("tick\r\n");
  112. }
  113. }
  114. char *getPIPAddr(void)
  115. {
  116. char *retAddr=NULL;
  117. switch(newPara.serList.defaultuse){
  118. case SER_HZ:retAddr=newPara.serList.zh.pip;break;
  119. case SER_SD:retAddr=newPara.serList.sd.pip;break;
  120. case SER_IP:retAddr=(char *)invalidIp;break;
  121. case SER_JIQUN:retAddr=(char *)invalidIp;break;
  122. case SER_US:retAddr=newPara.serList.ur.pip;break;
  123. }
  124. memset(showPIP, 0,sizeof(showPIP));
  125. ///printf("defaultuse==%d,pip=%s,retAddr=%s\r\n",newPara.serList.defaultuse,newPara.serList.ur.pip,retAddr);
  126. strcpy(showPIP, retAddr);
  127. return retAddr;
  128. }
  129. char *getGIPAddr(void)
  130. {
  131. char *retAddr=NULL;
  132. switch(newPara.serList.defaultuse){
  133. case SER_HZ:retAddr=newPara.serList.zh.gip;break;
  134. case SER_SD:retAddr=newPara.serList.sd.gip;break;
  135. case SER_IP:retAddr=(char *)invalidIp; break; //IP分发和集群情况时,GPS地址使用集群或IP分发解析后输出的,这里直接返回NULL
  136. case SER_JIQUN:retAddr=(char *)invalidIp;break;//IP分发和集群情况时,GPS地址使用集群或IP分发解析后输出的,这里直接返回NULL
  137. case SER_US:retAddr=newPara.serList.ur.gip;break;
  138. }
  139. if(retAddr==NULL) showGIP[0]=0;
  140. else strcpy(showGIP, retAddr);
  141. return retAddr;
  142. }
  143. char *getDOMAINAddr(void)
  144. {
  145. char *retAddr=NULL;
  146. switch(newPara.serList.defaultuse){
  147. case SER_HZ:break;
  148. case SER_SD:break;
  149. case SER_IP:retAddr=newPara.serList.ipFenFa;break;
  150. case SER_JIQUN:retAddr=newPara.serList.jiqun;break;
  151. case SER_US:break;
  152. }
  153. return retAddr;
  154. }