X-Git-Url: http://git.jankratochvil.net/?p=gnokii.git;a=blobdiff_plain;f=common%2Fgsm-api.c;h=3c090a0d778e0c1519053c9daa500f41a820d773;hp=99b73d79b8d1fcdc031d7119882067f7895e5983;hb=253a25e0c1db3361620a7a14ca8249f072472299;hpb=833e1c7c90e13ceaba3dde8e7a36fcc8dfb1db3c diff --git a/common/gsm-api.c b/common/gsm-api.c index 99b73d7..3c090a0 100644 --- a/common/gsm-api.c +++ b/common/gsm-api.c @@ -30,6 +30,7 @@ #include "gsm-api.h" +#include "newmodules/n3110.h" #include "newmodules/n6110.h" #include "newmodules/n7110.h" #include "newmodules/newat.h" @@ -38,6 +39,7 @@ #endif #include "protocol/fbusirda.h" #include "protocol/fbus.h" +#include "protocol/fbus3110.h" #include "protocol/mbus.h" #include "protocol/at.h" #include "files/cfgreader.h" @@ -247,6 +249,9 @@ bool CheckModel (GSM_Information InfoToCheck, char *model, GSM_ConnectionType co if (strstr(InfoToCheck.TekramModels, model) != NULL) { if (connection==GCT_Tekram) found_match=true; } + if (strstr(InfoToCheck.FBUS3110Models, model) != NULL) { + if (connection==GCT_FBUS3110) found_match=true; + } return found_match; } @@ -298,7 +303,8 @@ GSM_Error TryNewNokia(char *model, char *device, char *initlength, GSM_Connectio while (N6110_GetModel(phonemodel) != GE_NONE) sleep(1); - if (!strcmp(phonemodel,"NPE-3") || !strcmp(phonemodel,"NSE-5")) + if (!strcmp(phonemodel,"NPE-3") || !strcmp(phonemodel,"NSE-5") || + !strcmp(phonemodel,"NHM-3")) { GSM->Terminate(); @@ -327,6 +333,7 @@ GSM_Error GSM_Initialise(char *model, char *device, char *initlength, GSM_Connec CurrentRLP_RXCallback = rlp_callback; CurrentCallPassup=NULL; + CurrentCallDivert=NULL; CurrentPhonebookEntry=NULL; CurrentNetworkInfo = NULL; CurrentGetBitmap=NULL; @@ -337,6 +344,7 @@ GSM_Error GSM_Initialise(char *model, char *device, char *initlength, GSM_Connec CurrentRequestTerminate=false; CurrentDisableKeepAlive=false; CurrentCalendarNotesInfo.HowMany=2000; + CurrentSMSMessage=NULL; CurrentMagicError = GE_BUSY; if (!strcmp(model,"auto")) { @@ -408,39 +416,14 @@ GSM_Error GSM_Initialise(char *model, char *device, char *initlength, GSM_Connec usleep(50); } else { -#ifdef DEBUG - if (CheckModel (Nsniff_Information, model, connection)) { - /* Set pointers to relevant addresses */ - GSM = &Nsniff_Functions; - GSM_Info = &Nsniff_Information; - GSM_LinkOK = &CurrentLinkOK; - found_match=true; - } -#endif - - if (CheckModel (N6110_Information, model, connection)) { - /* Set pointers to relevant addresses */ + if (!strcmp(model,"modelauto")) { + /* For now */ GSM = &N6110_Functions; GSM_Info = &N6110_Information; GSM_LinkOK = &CurrentLinkOK; - found_match=true; - } - if (CheckModel (N7110_Information, model, connection)) { - /* Set pointers to relevant addresses */ - GSM = &N7110_Functions; - GSM_Info = &N7110_Information; - GSM_LinkOK = &CurrentLinkOK; - found_match=true; - } - if (CheckModel (Nat_Information, model, connection)) { - /* Set pointers to relevant addresses */ - GSM = &Nat_Functions; - GSM_Info = &Nat_Information; - GSM_LinkOK = &CurrentLinkOK; - found_match=true; - } - - if (found_match) { +#ifdef DEBUG + fprintf(stdout,_("Trying to find connected model...\n")); +#endif switch (connection) { case GCT_FBUS : Protocol = &FBUS_Functions; break; case GCT_Infrared: Protocol = &FBUS_Functions; break; @@ -449,10 +432,75 @@ GSM_Error GSM_Initialise(char *model, char *device, char *initlength, GSM_Connec case GCT_MBUS : Protocol = &MBUS_Functions; break; case GCT_Irda : Protocol = &FBUSIRDA_Functions;break; case GCT_AT : Protocol = &AT_Functions; break; - case GCT_Default : Protocol = NULL; break; + case GCT_FBUS3110: Protocol = &FBUS3110_Functions;break; + } + CurrentConnectionType=connection; + connection2=connection; + if (TryNewNokia(model,device,initlength,CurrentConnectionType,rlp_callback)==GE_NONE) + { + found_match=true; + } else { + GSM->Terminate(); + } + + if (!found_match) return GE_NOTSUPPORTED; + + usleep(50); + + } else { +#ifdef DEBUG + if (CheckModel (Nsniff_Information, model, connection)) { + /* Set pointers to relevant addresses */ + GSM = &Nsniff_Functions; + GSM_Info = &Nsniff_Information; + GSM_LinkOK = &CurrentLinkOK; + found_match=true; + } +#endif + + if (CheckModel (N3110_Information, model, connection)) { + /* Set pointers to relevant addresses */ + GSM = &N3110_Functions; + GSM_Info = &N3110_Information; + GSM_LinkOK = &CurrentLinkOK; + found_match=true; } - } else - return GE_NOTSUPPORTED; + if (CheckModel (N6110_Information, model, connection)) { + /* Set pointers to relevant addresses */ + GSM = &N6110_Functions; + GSM_Info = &N6110_Information; + GSM_LinkOK = &CurrentLinkOK; + found_match=true; + } + if (CheckModel (N7110_Information, model, connection)) { + /* Set pointers to relevant addresses */ + GSM = &N7110_Functions; + GSM_Info = &N7110_Information; + GSM_LinkOK = &CurrentLinkOK; + found_match=true; + } + if (CheckModel (Nat_Information, model, connection)) { + /* Set pointers to relevant addresses */ + GSM = &Nat_Functions; + GSM_Info = &Nat_Information; + GSM_LinkOK = &CurrentLinkOK; + found_match=true; + } + + if (found_match) { + switch (connection) { + case GCT_FBUS : Protocol = &FBUS_Functions; break; + case GCT_Infrared: Protocol = &FBUS_Functions; break; + case GCT_Tekram : Protocol = &FBUS_Functions; break; + case GCT_DLR3 : Protocol = &FBUS_Functions; break; + case GCT_MBUS : Protocol = &MBUS_Functions; break; + case GCT_Irda : Protocol = &FBUSIRDA_Functions;break; + case GCT_AT : Protocol = &AT_Functions; break; + case GCT_FBUS3110: Protocol = &FBUS3110_Functions;break; + } + } else + return GE_NOTSUPPORTED; + } } @@ -582,6 +630,7 @@ GSM_ConnectionType GetConnectionTypeFromString(char *Connection) { if (!strcmp(Connection, "infrared")) connection=GCT_Infrared; if (!strcmp(Connection, "mbus")) connection=GCT_MBUS; if (!strcmp(Connection, "dlr3")) connection=GCT_DLR3; + if (!strcmp(Connection, "fbus3110")) connection=GCT_FBUS3110; if (!strcmp(Connection, "at")) connection=GCT_AT; if (!strcmp(Connection, "tekram210"))connection=GCT_Tekram; @@ -668,30 +717,30 @@ char *GetMygnokiiVersion() { 1.Name,2.CodeName,3.Calendar,4.Netmonitor,5.Caller groups,6.Phonebook, 7.Authentication 8.Datacalls 9.KeysPressing 10.SMSC Default Recipient 11.SpeedDials 12.ScreenSavers 13.DTMF 14.SMS 15.NoPowerFrame 16.StartUpLogo -17.Profiles 18.Ringtones 19.WAP +17.Profiles 18.Ringtones 19.WAP 20.RIngtonesNumber */ static OnePhoneModel allmodels[] = { -/*1, 2, 3, 4, 5, 6 7 8 9 10 11 12 13 14 15 16 17 18 19 */ -{"3210","NSE-8",{ 0,F_NETMON, 0, 0, 0, 0, 0,F_SMSCDEF,F_SPEED, 0, 0,F_SMS ,F_NOPOWER,F_STANIM,F_PROF51,F_RINGBIN, 0}}, -{"3210","NSE-9",{ 0,F_NETMON, 0, 0, 0, 0, 0,F_SMSCDEF,F_SPEED, 0, 0,F_SMS ,F_NOPOWER,F_STANIM,F_PROF51,F_RINGBIN, 0}}, -{"3310","NHM-5",{F_CAL33,F_NETMON, 0,F_PBK33, 0, 0, 0,F_SMSCDEF,F_SPEED,F_SCRSAV, 0,F_SMS ,F_NOPOWER,F_STANIM,F_PROF33,F_RING_SM, 0}}, -{"3330","NHM-6",{F_CAL33,F_NETMON, 0,F_PBK33, 0, 0,F_KEYB,F_SMSCDEF,F_SPEED,F_SCRSAV, 0,F_SMS , 0,F_STANIM,F_PROF33,F_RING_SM,F_WAP}}, -{"5110","NSE-1",{ 0,F_NETMON, 0, 0,F_AUTH,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0, 0,F_PROF51, 0, 0}}, -{"5130","NSK-1",{ 0,F_NETMON, 0, 0,F_AUTH,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0, 0,F_PROF51, 0, 0}}, -{"5190","NSB-1",{ 0,F_NETMON, 0, 0,F_AUTH,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0, 0,F_PROF51, 0, 0}}, -{"6110","NSE-3",{F_CAL61,F_NETMON,F_CALER61, 0,F_AUTH,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0,F_STA ,F_PROF61,F_RINGBIN, 0}}, -{"6130","NSK-3",{F_CAL61,F_NETMON,F_CALER61, 0,F_AUTH,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0,F_STA ,F_PROF61,F_RINGBIN, 0}}, -{"6150","NSM-1",{F_CAL61,F_NETMON,F_CALER61, 0,F_AUTH,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0,F_STA ,F_PROF61,F_RINGBIN, 0}}, -{"6190","NSB-3",{F_CAL61,F_NETMON,F_CALER61, 0,F_AUTH,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0,F_STA ,F_PROF61,F_RINGBIN, 0}}, -{"6210","NPE-3",{F_CAL71,F_NETMON,F_CALER61,F_PBK71, 0,F_DATA71, 0,F_SMSCDEF,F_SPEED, 0, 0,F_SMS71, 0,F_STA62 ,F_PROF61,F_RINGBIN,F_WAP}}, -{"6250","NHM-3",{F_CAL71,F_NETMON,F_CALER61,F_PBK71, 0,F_DATA71, 0,F_SMSCDEF,F_SPEED, 0, 0,F_SMS71, 0,F_STA62 ,F_PROF61,F_RINGBIN,F_WAP}}, -{"7110","NSE-5",{F_CAL71,F_NETMON,F_CALER61,F_PBK71, 0,F_DATA71, 0,F_SMSCDEF,F_SPEED, 0, 0,F_SMS71, 0,F_STA71 ,F_PROF61,F_RINGBIN,F_WAP}}, -{"8210","NSM-3",{ 0,F_NETMON,F_CALER61, 0, 0,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0,F_STA ,F_PROF61,F_RINGBIN, 0}}, -{"8850","NSM-2",{ 0,F_NETMON,F_CALER61, 0, 0,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0,F_STA ,F_PROF61,F_RINGBIN, 0}}, -{"9210","RAE-3",{ 0,F_NETMON,F_CALER61, 0, 0,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0,F_STA ,F_PROF61,F_RINGBIN, 0}},//quesses only ! -{"" ,"" ,{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}} +/*1, 2, 3, 4, 5, 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 */ +{"3210","NSE-8",{ 0,F_NETMON, 0, 0, 0, 0, 0,F_SMSCDEF,F_SPEED, 0, 0,F_SMS ,F_NOPOWER,F_STANIM,F_PROF51,F_RINGBIN, 0, 2}}, +{"3210","NSE-9",{ 0,F_NETMON, 0, 0, 0, 0, 0,F_SMSCDEF,F_SPEED, 0, 0,F_SMS ,F_NOPOWER,F_STANIM,F_PROF51,F_RINGBIN, 0, 2}}, +{"3310","NHM-5",{F_CAL33,F_NETMON, 0,F_PBK33SIM, 0, 0, 0,F_SMSCDEF,F_SPEED,F_SCRSAV, 0,F_SMS ,F_NOPOWER,F_STANIM,F_PROF33,F_RING_SM, 0, 7}}, +{"3330","NHM-6",{F_CAL33,F_NETMON, 0,F_PBK33INT, 0, 0,F_KEYB,F_SMSCDEF,F_SPEED,F_SCRSAV, 0,F_SMS , 0,F_STANIM,F_PROF33,F_RING_SM,F_WAP, 7}}, +{"5110","NSE-1",{ 0,F_NETMON, 0, 0,F_AUTH,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0, 0,F_PROF51, 0, 0, 0}}, +{"5130","NSK-1",{ 0,F_NETMON, 0, 0,F_AUTH,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0, 0,F_PROF51, 0, 0, 0}}, +{"5190","NSB-1",{ 0,F_NETMON, 0, 0,F_AUTH,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0, 0,F_PROF51, 0, 0, 0}}, +{"6110","NSE-3",{F_CAL61,F_NETMON,F_CALER61,F_PBK61INT,F_AUTH,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0,F_STA ,F_PROF61,F_RINGBIN, 0, 1}}, +{"6130","NSK-3",{F_CAL61,F_NETMON,F_CALER61,F_PBK61INT,F_AUTH,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0,F_STA ,F_PROF61,F_RINGBIN, 0, 1}}, +{"6150","NSM-1",{F_CAL61,F_NETMON,F_CALER61,F_PBK61INT,F_AUTH,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0,F_STA ,F_PROF61,F_RINGBIN, 0, 1}}, +{"6190","NSB-3",{F_CAL61,F_NETMON,F_CALER61,F_PBK61INT,F_AUTH,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0,F_STA ,F_PROF61,F_RINGBIN, 0, 1}}, +{"6210","NPE-3",{F_CAL71,F_NETMON,F_CALER61,F_PBK71INT, 0,F_DATA71, 0,F_SMSCDEF,F_SPEED, 0, 0,F_SMS71, 0,F_STA62 ,F_PROF61,F_RINGBIN,F_WAP, 5}}, +{"6250","NHM-3",{F_CAL71,F_NETMON,F_CALER61,F_PBK71INT, 0,F_DATA71, 0,F_SMSCDEF,F_SPEED, 0, 0,F_SMS71, 0,F_STA62 ,F_PROF61,F_RINGBIN,F_WAP, 5}}, +{"7110","NSE-5",{F_CAL71,F_NETMON,F_CALER61,F_PBK71INT, 0,F_DATA71, 0,F_SMSCDEF,F_SPEED, 0, 0,F_SMS71, 0,F_STA71 ,F_PROF61,F_RINGBIN,F_WAP, 5}}, +{"8210","NSM-3",{ 0,F_NETMON,F_CALER61,F_PBK61INT, 0,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0,F_STA ,F_PROF61,F_RINGBIN, 0, 1}}, +{"8850","NSM-2",{ 0,F_NETMON,F_CALER61,F_PBK61INT, 0,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0,F_STA ,F_PROF61,F_RINGBIN, 0, 1}}, +{"9210","RAE-3",{ 0,F_NETMON,F_CALER61, 0, 0,F_DATA61,F_KEYB,F_SMSCDEF,F_SPEED, 0,F_DTMF,F_SMS , 0,F_STA ,F_PROF61,F_RINGBIN, 0, 0}},//quesses only ! +{"" ,"" ,{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}} }; OnePhoneModel *GetPhoneModelData (const char *num)