| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656 |
- /*****************************************************************************
- SetSystemPara.c
- *****************************************************************************/
- #include "includes.h"
- #define APN_NUM (4+1)
- #define WANT_APN_DETAIL 0
- SUT_MENU sutMenuSysSetup;
- SUT_LCDGPS_SEND_DATA sutLcdGpsSendData;
- char ReadApnData(unsigned char *source,unsigned char witchone,char *apnapn,char *apnname,char *apnpass);
- const static unsigned short g_ausTimeOut[5]={10,30,60,300,0};
- int ApnFileIndex;
- /*************************************************************************/
- unsigned int g_uiGpsStat = 1;
- unsigned int g_iLCDFlag=0;
- SUT_LCD_PARAM sutLcdParam;
- unsigned int g_UpdataPocVersion=0;
- unsigned char startUp=0;
- unsigned short g_UpdatePocCount;
- char showApn[3][APN_LEN+1];
- void SetAPNShow(int update)
- {
- int i;
- static unsigned short susCt=0;
- static const char *accIconFileName[]={"APN.bmp","APN1.bmp",""};
- unsigned char buf[300];
- static char NullGroup=0;
- static char GroupsFeatures[APN_NUM];
- static char *APNAPN[APN_NUM];
- char NullPtr[]="";
- if(update){
- susCt=0;
- GuiClearAll();
- ShowCaption("设置APN",1);//
- GuiDrawHLine(0,159,20,1);
- ReadFileData(ApnFileIndex,0,sizeof(buf),buf);
- for(i=0;i<3;i++)
- {//读取三组接入点名称
- if(ReadApnData(buf, i, &showApn[i][0], 0,0))
- {
- return;
- }
- }
- //付给用于显示的指针
- APNAPN[0]=&showApn[0][0];
- APNAPN[1]=&showApn[1][0];
- APNAPN[2]=&showApn[2][0];
- APNAPN[3]=NullPtr;
- APNAPN[4]=NullPtr;
- //----------------------------
- for(i=0;i<APN_NUM;i++){
- GroupsFeatures[i]=0;
- }
-
- //设置Features 将决定选择图标
- if(0==strcmp(sutProductPara.APNApn, APNAPN[0])) GroupsFeatures[0]=1;
- else if(0==strcmp(sutProductPara.APNApn, APNAPN[1])) GroupsFeatures[1]=1;
- else if(0==strcmp(sutProductPara.APNApn, APNAPN[2])) GroupsFeatures[2]=1;
- else{
- //如果以上三种都不是,则认为是用户自定义的了
- APNAPN[3]=sutProductPara.APNApn;
- GroupsFeatures[3]=1;
- }
- ListBoxInit(&sutListBox,APNAPN,0,accIconFileName,GroupsFeatures);
- //----------------------------
- GuiDrawHLine(0,159,104,1);
- #if(WANT_APN_DETAIL==1)
- GuiShowStr(0,110,"[OK]切换 [S]详情 ",0x01);
- #else
- GuiShowStr(0,110,"[OK]切换 ",0x01);
- #endif
- }
- }
-
- void SetSYSResponse(void)
- {
- unsigned long key;
- key=MenuResponse(&sutMenuSysSetup);
- if(KEY_PANEL_OK==key){
- switch(sutMenuSysSetup.handle){
- case 0:
- UISetNextStatus(UIS_SET_APN);
- break;
- case 1:
- UISetNextStatus(UIS_SET_GPS);
- break;
- case 2:
- UISetNextStatus(UIS_SET_LCD);
- break;
- case 3:
- UISetNextStatus(UIS_UP_APPRICATION_VER);
- break;
- case 4:
- // UISetNextStatus(UIS_UP_INTERCOM_VER);
- break;
- }
- }else if(KEY_PANEL_MENU==key){
- UISetNextStatus(UIS_MENU_MAIN);
- }else if(KEY_PANEL_EXIT==key){
- UISetNextStatus(UIS_MENU_MAIN); //UIS_MENU_SYS_SET
- }
- }
- /***************************************
- 注意:CDMA的APN形式跟WCDMA大不相同
- W机子是不需要改来改去的 "IP","UNIM2M.NJM2MAPN","0.0.0.0"
- ****************************************/
- void SetAPNResponse(void)
- {
- unsigned long key;
- unsigned char needSave=0;
- unsigned char buf[300];
- char access[APN_LEN+1];
- char account[APN_LEN+1];
- char passw[APN_LEN+1];
- key=ListBoxResponse(&sutListBox);
- if(KEY_PANEL_OK==key)
- {
- if(sutListBox.handle < 3)
- {
- ReadFileData(ApnFileIndex,0,sizeof(buf),buf);
- if(ReadApnData(buf, sutListBox.handle, access, account, passw))
- strcpy(sutProductPara.APNApn, access);
- strcpy(sutProductPara.APNName,account);
- strcpy(sutProductPara.APNPass,passw);
- sutProductPara.ApnParaIndex=sutListBox.handle;
- needSave=1;
- }else{
- //第4个是本来的设置,更改无效
- return;
- }
- if(needSave)
- {
- ShowCaption("即将重启更新参数",80);
- SaveProductParaToFlash("MENU_SWAPN");
- }
- os_dly_wait(10);
- while(1);
- // ModemSendAT("AT+ZPIDPWD=");
- // ModemSendAT(sutProductPara.APNName);
- // ModemSendAT(",");
- // ModemSendAT(sutProductPara.APNPass);
- // ModemSendAT("\r\n");
- // os_dly_wait(200);
- // ModemInit();
- // UISetNextStatus(UIS_STANDBY);
- }
- if(KEY_PANEL_EXIT==key)UISetNextStatus(UIS_MENU_SYS_SET);
- else if(KEY_PANEL_MENU==key)UISetNextStatus(UIS_MENU_MAIN);
- #if(WANT_APN_DETAIL==1)
- else if(KEY_OPTION==key)UISetNextStatus(UIS_MENU_APN_DETAIL);
- #endif
- }
- #if(WANT_APN_DETAIL==1)
- void SetAPNDetailShow(int update)
- {
- unsigned char buf[300];
- char access[APN_LEN+1];
- char account[APN_LEN+1];
- char passw[APN_LEN+1];
- u16 x,y;
- if(update)
- {
- //sutMenuSysSetup.handle
- GuiClearAll();
- ShowCaption("APN详情",1);//
- GuiDrawHLine(0,159,20,1);
- if(sutListBox.handle < 3)
- {
- ReadFileData(ApnFileIndex,0,sizeof(buf),buf);
- if(ReadApnData(buf, sutListBox.handle, access, account, passw)) return;
- }else{//3
- strncpy(access, sutProductPara.APNApn,sizeof(access));
- strncpy(account, sutProductPara.APNName,sizeof(account));
- strncpy(passw, sutProductPara.APNPass,sizeof(passw));
- }
-
- x=2;
- y=22;
- //显示APN详情
- GuiClearRect(0,y,LCD_WIDTH-1,LCD_HEIGHT-1);
- GuiShowStr(x,y,"接入点,用户名,密码",0x01);
- y+= 20;
- GuiShowStr(x,y,access,0x01);
- y+=20;
- GuiShowStr(x,y,account,0x01);
- y+=20;
- GuiShowStr(x,y,passw, 1);
-
- GuiDrawHLine(0,159,104,1);
- GuiShowStr(0,110,"[OK]返回 ",0x01);
- }
- }
- #endif
- void SetAPNDetailResponse(void)
- {
- if(KEY_PANEL_OK==g_ulKeyValue ||
- KEY_PANEL_EXIT==g_ulKeyValue)
- UISetNextStatus(sutUIstatus.LastStatus);
- else if(KEY_PANEL_MENU==g_ulKeyValue)
- UISetNextStatus(UIS_MENU_MAIN);
- }
- void MakeGpsSendData(void)
- {
- unsigned char *data=(unsigned char *)&sutLcdGpsSendData;
- memset(data, 0, sizeof(SUT_LCDGPS_SEND_DATA));
- data[0] = (sutGpsInfo.latitue>>24)&0xFF;
- data[1] = (sutGpsInfo.latitue>>16)&0xFF;
- data[2] = (sutGpsInfo.latitue>>8)&0xFF;
- data[3] = (sutGpsInfo.latitue)&0xFF;
-
- data[4] = (sutGpsInfo.longitue>>24)&0xFF;
- data[5] = (sutGpsInfo.longitue>>16)&0xFF;
- data[6] = (sutGpsInfo.longitue>>8)&0xFF;
- data[7] = (sutGpsInfo.longitue)&0xFF;
- }
- /*****************************************************
- 深圳北纬22.33 东经114.07
- 经过试验数据比较准确,但是东西南北不知道
- ******************************************************/
- void GetCoordinates(unsigned char type)
- {
- //type 0 UI时调用
- // 1 上传时调用
- char buf[10];
- char buf0[10]={0};
- char buf1[8];
- char buf2[4]={0};
- char temp[3];
- char temp1[3];
- char temp2[5];
- char temp3[5];
- int i,num,num1,w,j;
- double Jnum1,Jnum2,Jnum3;//有小数位 8位有效
- double Wnum1,Wnum2,Wnum3;//有小数位 8位有效
- // char* g_cGetlongitude;
- // char* g_cGetlatitude;
-
- MakeGpsSendData();
- AscStrTurnHexStr((char *)sutLcdGpsSendData.JJJJ,buf1);
- memset(temp, 0, sizeof(temp));
- for(i=0;i<3;i++){
- temp[i]=buf1[i];
- }
- j=atoi(temp);
- memset(temp2, 0, sizeof(temp2));
- for(i=0;i<6;i++){
- temp2[i]=buf1[i+3];
- }
- num=atoi(temp2);
- Jnum1=num/1000;
- Jnum1 /=60;
- Jnum2 = (num%1000)*60;
- Jnum2 /=3600000;
- Jnum3=Jnum1+Jnum2;
- //sutLcdGpsSendData.j=j*1000000+Jnum3*1000000;
- // sutLcdGpsSendData.j = (j+Jnum3)*1000000;
- //Getlongitude;
- //Getlatitude;
- sutGpsInfo.testJD = j*1000000+Jnum3*1000000;//上传时使用
- // if(type == 0){//UI时要显示
- // sprintf(buf,"经度 %s: %d.%05d","W",j,(unsigned int)(Jnum3*100000));
- // GuiShowStr(0,40,buf,0x01);
- // }
- AscStrTurnHexStr((char *)sutLcdGpsSendData.WWWW,buf2);
- for(i=0;i<3;i++){
- temp1[i]=buf2[i];
- }
- w=atoi(temp1);
- for(i=0;i<6;i++){//5
- temp3[i]=buf2[i+3];
- }
- num1=atoi(temp3);
- Wnum1=num1/1000;
- Wnum1 /=60;
- Wnum2 = (num1%1000)*60;
- Wnum2 /=3600000;
- Wnum3=Wnum1+Wnum2;
- sutGpsInfo.testWD = w*1000000+Wnum3*1000000;
- if(type == 0){//UI时要显示
- sprintf(buf0," 纬度 %s: %.3d.%05d","S",w,(unsigned int)(Wnum3*100000));
- GuiShowStr(0,24,buf0,0x01);
- sprintf(buf," 经度 %s: %d.%05d","W",j,(unsigned int)(Jnum3*100000));
- GuiShowStr(0,40,buf,0x01);
-
-
- }
- }
-
- void SetGPSTimeShowDetail(unsigned char timeIndex)
- {
- unsigned short tempTime;
- char buf[10];
- tempTime = GPS_TimeTable[timeIndex];
- if(tempTime==0)
- {
- GuiShowStr(100,56," 关闭 ",0x01);//130
- GuiReverseRect(108,56,16*2,16);
- }else
- {
- sprintf(buf," %02d 秒",tempTime);
- GuiShowStr(100,56,buf,0x01);//130
- GuiReverseRect(108,56,16,16);
- }
- }
-
- /*********************************************************/
- void SetGPSShow(int update)
- {
- static unsigned short susCt=0;
- // char buf[10];
- // char buf0[10]={0};
- // char buf1[8];
- // char buf2[4]={0};
- // char buf3[2];
- // char temp[3];
- // char temp1[3];
- // char temp2[5];
- // char temp3[5];
- // int i,num,num1;
- //AscStrToHexStr
- if(update){
- GuiClearAll();
- ShowCaption("GPS设置",1);//
- GuiShowStr(0,56," GPS上传设置: 秒",0x01); //sutGpsInfo.SendTime
- GuiDrawHLine(0,159,20,1);
- // GuiShowBmp(65,60,"GPS2.bmp");
- GetCoordinates(0);
- sutGpsInfo.GPS_TimeIndexBackup = sutProductPara.m_GPS_TimeIndex;
- SetGPSTimeShowDetail(sutGpsInfo.GPS_TimeIndexBackup);
- GuiDrawHLine(0,159,104,1);
- susCt=0;
- }
- if(susCt==0){
- GuiShowStr(0,110,"[上]选择 [下]选择 ",0x01);
- }else if(susCt==200){
- GuiShowStr(0,110,"[OK]切换 [EXIT]退出",0x01);
- }
- if(++susCt>=400)susCt=0;
- }
-
- void SetGPSResponse(void)
- {
- switch(g_ulKeyValue)
- {
- case KEY_PANEL_UP:
- case KEY_PANEL_DOWN:
- if(g_ulKeyValue==KEY_PANEL_UP)
- {
- if(sutGpsInfo.GPS_TimeIndexBackup<(sizeof(GPS_TimeTable)-1))
- sutGpsInfo.GPS_TimeIndexBackup++;
- else
- sutGpsInfo.GPS_TimeIndexBackup=0;
- }else{
- if(sutGpsInfo.GPS_TimeIndexBackup==0)
- sutGpsInfo.GPS_TimeIndexBackup=sizeof(GPS_TimeTable)-1;
- else
- sutGpsInfo.GPS_TimeIndexBackup--;
- }
- SetGPSTimeShowDetail(sutGpsInfo.GPS_TimeIndexBackup);
- break;
- case KEY_PANEL_OK:
- if(sutGpsInfo.GPS_TimeIndexBackup != sutProductPara.m_GPS_TimeIndex)
- {//changed
- sutProductPara.m_GPS_TimeIndex = sutGpsInfo.GPS_TimeIndexBackup;
- GpsTimeUpdate();
- SaveProductParaToFlash("MENU_SWGPS");
- }
-
- UISetNextStatus(UIS_STANDBY);
- break;
- case KEY_PANEL_EXIT: UISetNextStatus(UIS_MENU_SYS_SET);break;
- case KEY_PANEL_MENU: UISetNextStatus(UIS_MENU_MAIN);break;
- }
- }
- void SetLCDShow(int update)
- {
- static unsigned short susCt=0;
- char buf[6];
- char buf1[6];
- int x=4;//4
- int i;
- if(update==1){
- for(i=0;i<5;i++)sutLcdParam.SetTime[i]=g_ausTimeOut[i];
-
- sutLcdParam.SetTimeIndex=sutLcdParam.OnTimeIndex;
- GuiClearAll();
- ShowCaption("LCD设置",1);//0
- GuiDrawHLine(0,159,20,1);
- GuiShowStr(x,56," 背光时间: 秒",1);
- if(sutLcdParam.SetTimeIndex==4) sprintf(buf,"常亮");
- else sprintf(buf,"%3d",sutLcdParam.SetTime[sutLcdParam.SetTimeIndex]);
- GuiShowStr(x+(16*5),56,buf,1);
- GuiReverseRect(x+(16*5),56,32,16);
- sprintf(buf1,"%3d",sutLcdParam.SetTimeIndex);
- SlwTrace(INF,buf1,1);
- GuiDrawHLine(0,159,104,1);
- susCt=0;
- //return;
- }else if(update == 2){
- if(sutLcdParam.SetTimeIndex==4) sprintf(buf,"常亮");
- else sprintf(buf,"%3d",sutLcdParam.SetTime[sutLcdParam.SetTimeIndex]);
- GuiShowStr(x+(16*5),56,buf,1);
- GuiReverseRect(x+(16*5),56,32,16);
- GuiDrawHLine(0,159,104,1);
- }
-
- if(susCt==0){
- GuiShowStr(0,110,"[上]选择 [下]选择 ",0x01);
- }else if(susCt==200){
- GuiShowStr(0,110,"[OK]切换 [EXIT]退出",0x01);
- }
- if(++susCt>=400)susCt=0;
- }
-
-
- void SetLCDResponse(void)
- {
- int FileIndex;
- unsigned long key;
- char Buf[10];
- int x=4;//4
- //TimeOut[]
- // key=ListBoxResponse(&sutListBox);
-
- switch(g_ulKeyValue){
-
- case KEY_PANEL_UP:
- if(++sutLcdParam.SetTimeIndex>=5)sutLcdParam.SetTimeIndex=0;
- SetLCDShow(2);//0
- break;
- case KEY_PANEL_DOWN:
- if(sutLcdParam.SetTimeIndex>0)sutLcdParam.SetTimeIndex--;
- else sutLcdParam.SetTimeIndex=4;
- SetLCDShow(2);//0
- break;
- case KEY_PANEL_OK:
- g_iLCDFlag=1;
- sutLcdParam.OnTime=sutLcdParam.SetTime[sutLcdParam.SetTimeIndex];
- sutLcdParam.OnTimeIndex=sutLcdParam.SetTimeIndex;
- FileIndex=GetFileIndex("LcdParam.ini");
- ModifyFileData(FileIndex,0,sizeof(SUT_LCD_PARAM),(unsigned char *)&sutLcdParam);
- UISetNextStatus(UIS_MENU_SYS_SET);
- break;
- case KEY_PANEL_EXIT:
- UISetNextStatus(UIS_MENU_SYS_SET);
- break;
- case KEY_PANEL_MENU:
- UISetNextStatus(UIS_MENU_MAIN);
- break;
- }
- // //--
- // if(KEY_PANEL_UP==key){
- // Index++;
- // if(Index==5)Index=0;
- // GuiClearArea(32, 56, 170, 24);
- // sprintf(Buf,"LCD定时:%d秒",TimeOut[Index]);
- // GuiShowStr(32,56,Buf,1);
- // }
- // //--
- // if(KEY_PANEL_DOWN==key){
- // if(Index==0)Index=5;
- // Index--;
- // GuiClearArea(32, 56, 170, 24);
- // sprintf(Buf,"LCD定时:%d秒",TimeOut[Index]);
- // GuiShowStr(32,56,Buf,1);
- // }
- // //--
- // if(KEY_PANEL_OK==key){
- // g_LCDFlag=1;
- // g_LCDTimeCt = TimeOut[Index]+5;
- // g_LCDTemp=TimeOut[Index]+5;
- // }
- // if(KEY_PANEL_EXIT==key)UISetNextStatus(UIS_STANDBY);
- // else if(KEY_PANEL_MENU==key)UISetNextStatus(UIS_MENU_MAIN);
- }
- void SetUpIntercomVerShow(int update)
- {
- char buf[19];
- if(update){
- GuiClearAll();
- ShowCaption("升级对讲版本",1);//
- GuiDrawHLine(0,159,20,1);
- GuiShowStr(32,56,"是否升级?",1);
- GuiDrawHLine(0,159,104,1);
- GuiShowStr(0,110,"[OK]升级 [EXIT]退出",0x01);
- g_UpdataPocVersion =0;
- startUp=0;
- }
- if(g_UpdataPocVersion>0){
- g_UpdatePocCount++;
- if(g_UpdatePocCount >= 130){//1S
- g_UpdatePocCount = 0;
- g_UpdataPocVersion--;
- }else return;
- sprintf(buf, " 请稍候 %d ", g_UpdataPocVersion);
- GuiShowStr(0,110,buf,0x01);
- if(g_UpdataPocVersion==0)
- {
- GuiClearArea(4, 56, 158, 24);
- SpeakerEnable();
- GuiShowStr(10,44," 请重启对讲机! ",0x01);
- GuiShowStr(10,68," 并检查对讲版本号!",0x01);
- GuiShowStr(0,110," 可以重启设备 ",0x01);
- LCD_BL_HIGH;
- SpeakerEnable();
- ModemSendAT("AT+ZTTS=1,\"EF53E54ECD912F54BE8B0759\"\r\n");//可以重启设备
-
- }
- }
- }
-
- void SetUpIntercomVerResponse(void)
- {
- char buf[19];
- if(KEY_PANEL_OK==g_ulKeyValue && !g_UpdataPocVersion && !startUp){
- GuiClearArea(0, 22, 160, 80);
- SpeakerEnable();
- ModemSendAT("AT+ZTTS=1,\"636B28570459067470656E63\"\r");//正在处理数据...
- UpdataPocVersion();
- GuiShowStr(4,44," 正在处理数据... ",0x01);
- GuiShowStr(4,68," 请别断电!!! ",0x01);
- g_UpdataPocVersion=150;
- sprintf(buf, " 请稍候 %d ", g_UpdataPocVersion);
- GuiShowStr(0,110,buf,0x01);
- startUp=1;
- }
-
- if(startUp) return;
- if(KEY_PANEL_EXIT==g_ulKeyValue)UISetNextStatus(UIS_MENU_SYS_SET);
- else if(KEY_PANEL_MENU==g_ulKeyValue)UISetNextStatus(UIS_MENU_MAIN);
- }
- char GetApnPara(unsigned char *source, unsigned char whitchOne,unsigned short *accessP, unsigned short *account,unsigned short *passw)
- {
- unsigned char *ptr=source;
- unsigned char getFlag=0;
-
- unsigned short i,noteAddress[9];//总共3组,共9个;号
-
- if(whitchOne >=3) return 1;//只有3组值
- i=0;
- while(*ptr != 0)
- {
- if(*ptr == ';')
- {
- if(getFlag < 9)
- {
- noteAddress[getFlag++]=i;
- }else{
- //收够了
- break;
- }
- }
- i++;
- ptr++;
- }
- if(getFlag != 9) return 2;//资源文件内容有错误
- switch(whitchOne)
- {
- case 0:*accessP=0;*account=noteAddress[0]+1;*passw=noteAddress[1]+1;break;
- case 1:*accessP=noteAddress[2]+1;*account=noteAddress[3]+1;*passw=noteAddress[4]+1;break;
- case 2:*accessP=noteAddress[5]+1;*account=noteAddress[6]+1;*passw=noteAddress[7]+1;break;
- }
- return 0;
- }
- char ReadApnData(unsigned char *source,unsigned char witchone,char *apnapn,char *apnname,char *apnpass)
- {//从缓存中获取数据段,一次一组
- unsigned char *accessPV,*accountV,*passwV;
- unsigned short accessP,account,passw;
- unsigned short i;
- char buf[30];
- if(GetApnPara(source, witchone, &accessP, &account, &passw))
- {
- SlwTrace(INF, "HGS.apn dataErr",1);//如果初始化失败,则直接使用内存中的了
- return 1;
- }
- accessPV=source+accessP;
- accountV=source+account;
- passwV=source+passw;
- //accesspoint
- if(apnapn != 0)
- {
- if(*accessPV == ';') apnapn[0] = 0;//空数据段
- else{
- for(i=0;i<APN_LEN;i++)
- {
- if(accessPV[i] != ';') apnapn[i]=accessPV[i];
- else{
- apnapn[i]=0;
- break;
- }
- }
- }
- }
- //account name
- if(apnname != 0)
- {
- if(*accountV == ';') apnname[0] = 0;//空数据段
- else{
- for(i=0;i<APN_LEN;i++)
- {
- if(accountV[i] != ';') apnname[i]=accountV[i];
- else{
- apnname[i]=0;
- break;
- }
- }
- }
- }
- //password
- if(apnpass != 0)
- {
- if(*passwV == ';') apnpass[0] = 0;//空数据段
- else{
- for(i=0;i<APN_LEN;i++)
- {
- if(passwV[i] != ';') apnpass[i]=passwV[i];
- else{
- apnpass[i]=0;
- break;
- }
- }
- }
- }
- return 0;
- }
- void APNFileInit(void)
- {
- unsigned char apnTable[300];//3组APN,每组中每参数30个
-
- ApnFileIndex=GetFileIndex("HGS.apn");
- ReadFileData(ApnFileIndex,0,sizeof(apnTable),apnTable);
- if(ReadApnData(apnTable, sutProductPara.ApnParaIndex, sutProductPara.APNApn, sutProductPara.APNName,sutProductPara.APNPass)) return;
- SaveProductParaToFlash("INIT_APN");
- }
|