GSM_Information N6110_Information = {\r
"3210|3310|3330|5110|5130|5190|6110|6130|6150|6190|8210|8850",\r
/* Supported models in FBUS */\r
- "3210|3310|3330|5110|5130|5190|6110|6130|6150|6190|8210|8850",\r
+ "3210|3310|3330|5110|5130|5190|6110|6130|6150|6190|8210|8850|9210",\r
/* Supported models in MBUS */\r
"6110|6130|6150|8210|8850",\r
/* Supported models in FBUS over infrared */\r
"8210|8850",
/* infrared sockets */
"6110|6130|6150|8210|8850",
- /* Supported models in FBUS over infrared with Tekram device */\r
+ /* Supported models in FBUS over infrared with Tekram device */\r "",
4, /* Max RF Level */\r
0, /* Min RF Level */\r
GRF_Arbitrary, /* RF level units */\r
case 0x02:
-#ifdef DEBUG
- fprintf(stdout, _("Message: Call divert status received\n"));
+#ifdef DEBUG\r
+ fprintf(stdout, _("Message: Call divert status received\n"));\r
fprintf(stdout, _(" Divert type: "));
switch (MessageBuffer[6]) {
case 0x43: fprintf(stdout, _("when busy"));break;
fprintf(stdout, _(" Status : deactivated\n"));
}
#endif /* DEBUG */
-
- switch (MessageBuffer[6]) {
- case 0x43: CurrentCallDivert->DType=GSM_CDV_Busy;break;
- case 0x3d: CurrentCallDivert->DType=GSM_CDV_NoAnswer;break;
- case 0x3e: CurrentCallDivert->DType=GSM_CDV_OutOfReach;break;
- case 0x15: CurrentCallDivert->DType=GSM_CDV_AllTypes;break; //?
- case 0x02: CurrentCallDivert->DType=GSM_CDV_AllTypes;break; //?
- }
- if (MessageBuffer[6]==0x02) //?
- CurrentCallDivert->CType=GSM_CDV_AllCalls;
- else {
- switch (MessageBuffer[8]) {
- case 0x0b: CurrentCallDivert->CType=GSM_CDV_VoiceCalls;break;
- case 0x0d: CurrentCallDivert->CType=GSM_CDV_FaxCalls; break;
- case 0x19: CurrentCallDivert->CType=GSM_CDV_DataCalls; break;
+ if (CurrentCallDivert!=NULL) {
+ switch (MessageBuffer[6]) {
+ case 0x43: CurrentCallDivert->DType=GSM_CDV_Busy;break;
+ case 0x3d: CurrentCallDivert->DType=GSM_CDV_NoAnswer;break;
+ case 0x3e: CurrentCallDivert->DType=GSM_CDV_OutOfReach;break;
+ case 0x15: CurrentCallDivert->DType=GSM_CDV_AllTypes;break; //?
+ case 0x02: CurrentCallDivert->DType=GSM_CDV_AllTypes;break; //?
}
- }
- if (MessageBuffer[10]==0x01) {
- CurrentCallDivert->Enabled=true;
- CurrentCallDivert->Timeout=MessageBuffer[45];
- strcpy(CurrentCallDivert->Number,GSM_UnpackSemiOctetNumber(MessageBuffer+12,true));
- } else {
- CurrentCallDivert->Enabled=false;
- }
+ if (MessageBuffer[6]==0x02) //?
+ CurrentCallDivert->CType=GSM_CDV_AllCalls;
+ else {
+ switch (MessageBuffer[8]) {
+ case 0x0b: CurrentCallDivert->CType=GSM_CDV_VoiceCalls;break;
+ case 0x0d: CurrentCallDivert->CType=GSM_CDV_FaxCalls; break;
+ case 0x19: CurrentCallDivert->CType=GSM_CDV_DataCalls; break;
+ }
+ }
- CurrentCallDivertError=GE_NONE;\r
+ if (MessageBuffer[10]==0x01) {
+ CurrentCallDivert->Enabled=true;
+ CurrentCallDivert->Timeout=MessageBuffer[45];
+ strcpy(CurrentCallDivert->Number,GSM_UnpackSemiOctetNumber(MessageBuffer+12,true));
+ } else {
+ CurrentCallDivert->Enabled=false;
+ }
+ CurrentCallDivertError=GE_NONE;\r
+ }
break;
case 0x03:\r
break;
case 1:
Protocol->SendMessage(sizeof(req3), 0x01, req3);
+ usleep(1000000);\r
Protocol->SendMessage(sizeof(req4), 0x01, req4);
+ usleep(1000000);
req_end = req_end1;
size = sizeof(req_end1);
break;
memcpy(req + 5 + strlen(Number), req_end, size);
- Protocol->SendMessage(5 + size + strlen(Number), 0x01, req);
- if (type != 1) Protocol->SendMessage(26, 0x01, req2);
+ Protocol->SendMessage(5 + size + strlen(Number), 0x01, req);\r
+ usleep(1000000);\r
+\r
+ if (type != 1) {\r
+ Protocol->SendMessage(26, 0x01, req2);
+ usleep(1000000);\r
+ }
return (GE_NONE);
}
while (N6110_GetModel(model) != GE_NONE)\r
sleep(1);\r
\r
- if (GetModelFeature (FN_PHONEBOOK)==F_PBK33) {//pbk with Unicode\r
+ if (GetModelFeature (FN_PHONEBOOK)==F_PBK33SIM ||\r
+ GetModelFeature (FN_PHONEBOOK)==F_PBK33INT) {//pbk with Unicode\r
DecodeUnicode (CurrentPhonebookEntry->Name, MessageBuffer+6, count/2);\r
CurrentPhonebookEntry->Name[count/2] = 0x00;\r
} else {\r
\r
for (tmp=0; tmp <count; tmp++)\r
{\r
- if (GetModelFeature (FN_PHONEBOOK)==F_PBK33) {//pbk with Unicode\r
+ if (GetModelFeature (FN_PHONEBOOK)==F_PBK33INT ||\r
+ GetModelFeature (FN_PHONEBOOK)==F_PBK33SIM) {//pbk with Unicode\r
/* We check only 1'st, 3'rd, ... char */\r
if (tmp%2!=0 && MessageBuffer[6+tmp]==1) CurrentPhonebookEntry->Name[tmp/2]='~'; //enables/disables blinking\r
if (tmp%2!=0 && MessageBuffer[6+tmp]==0) CurrentPhonebookEntry->Name[tmp/2]='`'; //hides rest ot contents\r
\r
current=7;\r
\r
- if (GetModelFeature (FN_PHONEBOOK)==F_PBK33) {\r
+ if (GetModelFeature (FN_PHONEBOOK)==F_PBK33INT ||\r
+ GetModelFeature (FN_PHONEBOOK)==F_PBK33SIM) {\r
\r
req[6] = strlen(entry->Name)*2;\r
\r
fprintf(stdout, _("Message: SMS reading failed\n"));\r
\r
switch (MessageBuffer[4]) {\r
- case 0x02:\r
- fprintf(stdout, _(" Invalid location!\n"));break;\r
- case 0x07:\r
- fprintf(stdout, _(" Empty SMS location.\n"));break;\r
- case 0x0c:\r
- fprintf(stdout, _(" No access to memory (no PIN on card ?)\n"));break;\r
- default: \r
- fprintf(stdout, _(" Error code %i - please report it \n"),MessageBuffer[4]);break;\r
+ case 0x02:fprintf(stdout, _(" Invalid location!\n"));break;\r
+ case 0x07:fprintf(stdout, _(" Empty SMS location.\n"));break;\r
+ case 0x0c:fprintf(stdout, _(" No access to memory (no PIN on card ?)\n"));break;\r
+ default :fprintf(stdout, _(" Error code %i - please report it \n"),MessageBuffer[4]);break;\r
}\r
#endif /* DEBUG */\r
\r
switch (PDU) {
case SMS_Submit:
offset=5;
- for (i=0;i<((ETSI.Number[0]+1)/2+1)+1;i++)
- req[i+12+offset]=ETSI.Number[i];
+ for (i=0;i<((ETSI.Number[0]+1)/2+1)+1;i++) req[i+12+offset]=ETSI.Number[i];
req[10+offset]=ETSI.TPDCS;
req[11+offset]=ETSI.TPUDL;
req[24+offset]=ETSI.TPVP;
// fprintf(stdout,_(" TP-DCS: %02x\n"),ETSI.TPDCS);
#endif
// req[]=ETSI.TPPID;
- for(i=0;i<*length;i++)
- req[i+31+offset]=ETSI.MessageText[i];
+ for(i=0;i<*length;i++) req[i+31+offset]=ETSI.MessageText[i];
break;
case SMS_Deliver:
offset=4;
- for (i=0;i<((ETSI.Number[0]+1)/2+1)+1;i++)
- req[i+12+offset]=ETSI.Number[i];
+ for (i=0;i<((ETSI.Number[0]+1)/2+1)+1;i++) req[i+12+offset]=ETSI.Number[i];
req[10+offset]=ETSI.TPDCS;
req[11+offset]=ETSI.TPUDL;
// req[]=ETSI.TPPID;
- for(i=0;i<*length;i++)
- req[i+31+offset]=ETSI.MessageText[i];
- for (i=0;i<7;i++)
- req[24+offset+i]=ETSI.DeliveryDateTime[i];
+ for(i=0;i<*length;i++) req[i+31+offset]=ETSI.MessageText[i];
+ for (i=0;i<7;i++) req[24+offset+i]=ETSI.DeliveryDateTime[i];
break;
default:
break;
CurrentGetBitmap->width=MessageBuffer[count++];\r
CurrentGetBitmap->height=MessageBuffer[count++];\r
count++;\r
- tmp=CurrentGetBitmap->height*CurrentGetBitmap->width/8;\r
+ tmp=GSM_GetBitmapSize(CurrentGetBitmap);\r
if (CurrentGetBitmap->size>tmp) CurrentGetBitmap->size=tmp;\r
memcpy(CurrentGetBitmap->bitmap,MessageBuffer+count,CurrentGetBitmap->size);\r
CurrentGetBitmapError=GE_NONE;\r
if (CurrentGetBitmap->type==GSM_StartupLogo) {\r
CurrentGetBitmap->height=MessageBuffer[count++];\r
CurrentGetBitmap->width=MessageBuffer[count++];\r
- CurrentGetBitmap->size=CurrentGetBitmap->height*CurrentGetBitmap->width/8;\r
+ CurrentGetBitmap->size=GSM_GetBitmapSize(CurrentGetBitmap);\r
length=CurrentGetBitmap->size;\r
memcpy(CurrentGetBitmap->bitmap,MessageBuffer+count,length);\r
} else {\r
+ //bitmap size\r
length=MessageBuffer[count++];\r
length=length*MessageBuffer[count++]/8;\r
}\r
CurrentGetBitmap->width=MessageBuffer[count++];\r
CurrentGetBitmap->height=MessageBuffer[count++];\r
count++;\r
- tmp=CurrentGetBitmap->height*CurrentGetBitmap->width/8;\r
+ tmp=GSM_GetBitmapSize(CurrentGetBitmap);\r
if (CurrentGetBitmap->size>tmp) CurrentGetBitmap->size=tmp;\r
memcpy(CurrentGetBitmap->bitmap,MessageBuffer+count,CurrentGetBitmap->size);\r
CurrentGetBitmapError=GE_NONE;\r
\r
CurrentGetBitmap->width=MessageBuffer[count+1];\r
CurrentGetBitmap->height=MessageBuffer[count+2]; \r
- CurrentGetBitmap->size=CurrentGetBitmap->height*CurrentGetBitmap->width/8;\r
+ CurrentGetBitmap->size=GSM_GetBitmapSize(CurrentGetBitmap);\r
\r
memcpy(CurrentGetBitmap->bitmap,MessageBuffer+count+4,CurrentGetBitmap->size);\r
\r