123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482 |
- #include "includes.h"
- int g_iPhoneNumFileIndex;
- int g_PhoneNumToUse=0;
- unsigned char g_ucCallPhonePro = 0;
- SUT_NUM_EDIT sutNumEdit;
- int SetPhoneNumFile(const char *filename)
- {
- int FileLen;
- g_iPhoneNumFileIndex=GetFileIndex(filename);
- FileLen=GetFileLen(g_iPhoneNumFileIndex);
- if(FileLen==0)
- {
- g_iPhoneNumFileIndex=-1;
- }
- return g_iPhoneNumFileIndex;
- }
- int GetPhoneNumCount(void)
- {
- int i;
- char number[12];
- g_PhoneNumToUse = 0;
-
- for(i=0;i<PHONE_NUM_MAX;i++){
- ReadFileData(g_iPhoneNumFileIndex,i*13,11,(u8 *)number);
- number[11]=0;
- if(0!=strcmp(number,"00000000000")){
- g_PhoneNumToUse++;
- }
- }
-
- return g_PhoneNumToUse;
- }
- int CheckPhoneNum(char *num)
- {
- int i;
- char number[12];
- for(i=0;i<PHONE_NUM_MAX;i++){
- ReadFileData(g_iPhoneNumFileIndex,i*13,11,(u8 *)number);
- number[11]=0;
- if(0==strcmp(num,number)){
- return i;
- }
- }
- return -1;
- }
- int DeltePhoneNum(char *num)
- {
- int flag;
- int index;
- char number[12];
-
- if(-1==g_iPhoneNumFileIndex)return 0;
- index=CheckPhoneNum(num);
- if(-1==index)return 0;
-
- number[11]=0;
- while(index<(PHONE_NUM_MAX-1)){
-
- if((index % 5) ==0) IWDG_ReloadCounter();
-
- ReadFileData(g_iPhoneNumFileIndex,(index+1)*13,11,(u8 *)number);
- index++;
- if(0==strcmp(number,"00000000000")){
- break;
- }
- }
- return 1;
- }
- int AddPhoneNum(char *num)
- {
- int i;
- int index;
- char number[12];
- if(-1==g_iPhoneNumFileIndex)return 0;
- GetPhoneNumCount();
- index = g_PhoneNumToUse;
- if((index+1)<(PHONE_NUM_MAX-1)){
-
- }else{
-
- ShowMessageBox("电话容量不足");
- uTimerHardDly(50);
- UISetNextStatus(UIS_MENU_MAIN);
- }
- return 1;
- }
- int ChangePhoneNum(char *oldNum,char *newNum)
- {
- int i,w,l;
- int index;
-
- if(-1==g_iPhoneNumFileIndex)return 0;
- index=CheckPhoneNum(oldNum);
- if(-1==index)return 0;
- return 1;
- }
- int CallPhoneNum(char *num)
- {
- char AT[30];
-
- ModemSendAt("AT+ZVCF=2\r");
-
- snprintf(AT, sizeof(AT),"ATD%s;\r",num);
- ModemSendAt(AT);
- SlwTrace(INF,AT,0);
- MicEnable();
- sutPocStatus.Mic=1;
- sutPocStatus.TTS=1;
- SpeakerEnable();
- return 1;
- }
- void CallPhoneGetAllNum(char *NumList)
- {
- int i,j;
- int index;
- char *num;
- GetPhoneNumCount();
- index = g_PhoneNumToUse;
- if(-1==g_iPhoneNumFileIndex)return;
- j=0;
- for(i=0;i<PHONE_NUM_MAX;i++){
- num=NumList+12*j;
- ReadFileData(g_iPhoneNumFileIndex,i*13,11,(u8 *)num);
- num[11]=0;
- if(0!=strcmp(num,"00000000000"))j++;
- }
- memset(num,0,12);
- }
- void CallPhoneShow(int update)
- {
- #if 0
- static unsigned short susCt=0;
- int i;
- static const char *accIconFileName[]={
- "Phone.bmp",
- ""
- };
-
- static char PhonesName[PHONE_NUM_MAX][12];
- static char *pPhonesName[PHONE_NUM_MAX];
- static char PhonesFeatures[PHONE_NUM_MAX];
- static char *ascMsg[]={
- "110",
- "120",
- "119",
- ""
- };
- u16 x,y;
- if(update){
- susCt=0;
- GuiClearAll();
- ShowCaption("电话管理",1);
-
-
- CallPhoneGetAllNum(&PhonesName[0][0]);
- for(i=0;i<PHONE_NUM_MAX;i++)pPhonesName[i]=PhonesName[i];
-
- if(g_PhoneNumToUse>1){
- ListBoxInit(&sutListBox,pPhonesName,0,accIconFileName,PhonesFeatures);
- }else{
- ListBoxInit(&sutListBox,ascMsg,0,accIconFileName,PhonesFeatures);
- }
-
- GuiDrawHLine(0,159,110,1);
- GuiShowStr(0,SUBSCRIPT_LOCATION," [M]呼叫 [S]选项 ",0x01,0);
- return;
- }
-
- #endif
- }
- void CallPhoneResponse(void)
- {
- #if 0
- unsigned long key;
- key=ListBoxResponse(&sutListBox);
-
- switch(key)
- {
- case KEY_PANEL_EXIT:
- UISetNextStatus(UIS_MENU_MAIN);
- break;
- case KEY_PANEL_MENU:
-
-
- UISetNextStatus(UIS_CALL_TO_PHONE);
- break;
- case KEY_OPTION:
- UISetNextStatus(UIS_CALL_PHONE_OPTION);
- break;
- default:
- break;
- }
- #endif
- }
- void CallPhoneOptionShow(int update)
- {
- static const char *apcMenuSysSetup[]=
- {
- "新增","编辑","删除",""
- };
- if(update)
- {
- GuiClearAll();
- ShowCaption("电话选项",1);
-
- GuiDrawHLine(0,159,110,1);
- MenuInit(&sutMenuSysSetup,apcMenuSysSetup);
- GuiDrawHLine(0,159,110,1);
- GuiShowStr(0,SUBSCRIPT_LOCATION,"[M]确定 [EXIT]退出",0x01,0);
- }
- }
- void CallPhoneOptionResponse(void)
- {
- #if 0
- char buf[30];
- unsigned long key;
- key=MenuResponse(&sutMenuSysSetup);
- if(KEY_PANEL_MENU==key)
- {
- switch(sutMenuSysSetup.handle)
- {
- case 0:UISetNextStatus(UIS_CALL_PHONE_INPUT);break;
- case 1:UISetNextStatus(UIS_CALL_PHONE_MODIFY);break;
- case 2:UISetNextStatus(UIS_CALL_PHONE_DELETE);break;
- }
- }
- else if(KEY_PANEL_EXIT==g_ulKeyValue) UISetNextStatus(sutUIstatus.LastStatus);
-
- #endif
- }
- void CallPhoneInputNumShow(int update)
- {
- static unsigned short susCt=0;
- if(update){
- GuiClearAll();
- ShowCaption("新增号码",1);
-
- NumEditInit(&sutNumEdit,38,48,"11111111111");
- NumEditShow(&sutNumEdit);
- GuiDrawHLine(0,159,110,1);
- susCt=0;
-
- GuiShowStr(0,SUBSCRIPT_LOCATION," [上]改值 [下]右移 ",0x01,0);
- }
- }
- void CallPhoneInputNewNumShow(int update)
- {
-
- if(update){
- GuiClearAll();
- ShowCaption("修改号码",1);
-
- NumEditInit(&sutNumEdit,38,48,sutListBox.item[sutListBox.handle]);
- NumEditShow(&sutNumEdit);
- GuiDrawHLine(0,159,110,1);
-
- GuiShowStr(0,SUBSCRIPT_LOCATION," [上]改值 [下]右移 ",0x01,0);
- }
- }
- void CallPhoneDeleteNumShow(int update)
- {
- if(update){
- GuiClearAll();
- ShowCaption("删除号码",1);
-
- NumEditInit(&sutNumEdit,38,48,sutListBox.item[sutListBox.handle]);
-
- NumEditShowNORect(&sutNumEdit);
- GuiDrawHLine(0,159,110,1);
- GuiShowStr(0,SUBSCRIPT_LOCATION,"[M]确定 [EXIT]退出",0x01,0);
- }
- }
- void CallPhoneInputNumResponse(void)
- {
- #if 0
- unsigned long key;
- NumEditResponse(&sutNumEdit);
- if(KEY_PANEL_MENU==g_ulKeyValue){
-
- UISetNextStatus(UIS_CALL_PHONE);
- AddPhoneNum(sutNumEdit.buffer);
- }
-
- if(KEY_PANEL_EXIT==g_ulKeyValue)UISetNextStatus(UIS_CALL_PHONE);
-
- #endif
- }
- void CallPhoneInputNewNumResponse(void)
- {
- #if 0
- unsigned long key;
- NumEditResponse(&sutNumEdit);
- if(KEY_PANEL_MENU==g_ulKeyValue){
- ChangePhoneNum(sutListBox.item[sutListBox.handle],sutNumEdit.buffer);
- UISetNextStatus(UIS_CALL_PHONE);
- }
- if(KEY_PANEL_EXIT==g_ulKeyValue)UISetNextStatus(UIS_CALL_PHONE);
-
- #endif
- }
- void CallPhoneInputDeleNumResponse(void)
- {
- #if 0
- unsigned long key;
- if(KEY_PANEL_MENU==g_ulKeyValue){
- ShowMessageBox("请稍候...");
- DeltePhoneNum(sutNumEdit.buffer);
- UISetNextStatus(UIS_CALL_PHONE);
- }
- if(KEY_PANEL_EXIT==g_ulKeyValue)UISetNextStatus(UIS_CALL_PHONE);
-
- #endif
- }
- void CallToPhoneNum(int update)
- {
- #if 0
- if(update){
- GuiClearAll();
- ShowCaption("拨打电话",1);
-
- NumEditInit(&sutNumEdit,38,48,sutListBox.item[sutListBox.handle]);
-
- NumEditShowNORect(&sutNumEdit);
- GuiDrawHLine(0,159,110,1);
- GuiShowStr(0,SUBSCRIPT_LOCATION,"[M]拨打 [EXIT]挂断",0x01,0);
- }
-
- if(g_ucCallPhonePro == 2)
- {
- ModemSendAt("ATH\r");
- UISetNextStatus(UIS_CALL_PHONE);
- g_ucCallPhonePro = 0;
-
- MicDisable();
- sutPocStatus.Mic=0;
- sutPocStatus.TTS=0;
- SpeakerDisable();
-
- }
- #endif
- }
- void CallToPhoneNumResponse(void)
- {
- #if 0
- char buf[30];
- static int siCt;
- #if 0
- if(KEY_PANEL_MENU==g_ulKeyValue){
- g_ucCallPhonePro = 1;
- ModemSendAt("AT+VGT=1\r");
-
- CallPhoneNum(sutListBox.item[sutListBox.handle]);
- os_dly_wait(30);
- GuiClearRect(0,38,159,38+59);
- GuiShowBmp(40+12,40,"Pickup.bmp");
- }
- #else
- ShowMessageBox("暂不支持");
- IWDG_ReloadCounter();
- uTimerHardDly(100);
- UISetNextStatus(UIS_CALL_PHONE);
- #endif
- if(KEY_PANEL_EXIT==g_ulKeyValue){
- ModemSendAt("ATH\r");
- UISetNextStatus(UIS_CALL_PHONE);
- g_ucCallPhonePro = 0;
-
- MicDisable();
- sutPocStatus.Mic=0;
- sutPocStatus.TTS=0;
- SpeakerDisable();
-
- }
-
- #endif
- }
|