#include "gsm-api.h"
+#include "newmodules/n3110.h"
#include "newmodules/n6110.h"
#include "newmodules/n7110.h"
#include "newmodules/newat.h"
#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"
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;
}
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();
CurrentRLP_RXCallback = rlp_callback;
CurrentCallPassup=NULL;
+ CurrentCallDivert=NULL;
CurrentPhonebookEntry=NULL;
CurrentNetworkInfo = NULL;
CurrentGetBitmap=NULL;
CurrentRequestTerminate=false;
CurrentDisableKeepAlive=false;
CurrentCalendarNotesInfo.HowMany=2000;
+ CurrentSMSMessage=NULL;
CurrentMagicError = GE_BUSY;
if (!strcmp(model,"auto")) {
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;
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;
+ }
}
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;
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)