X-Git-Url: https://git.jankratochvil.net/?p=gnokii.git;a=blobdiff_plain;f=common%2Fnewmodules%2Fn6110.c;h=fcb8ac9179f609a39901ba3364d28b6d02c60c5c;hp=481c92e593f772ee0e1a2752aab5ada0417df81b;hb=30eeeb18e682a0e0f3db298912e284d3122b63a4;hpb=c7dcdfd34d2bed9cc64c5c9603e51ef8c8271951 diff --git a/common/newmodules/n6110.c b/common/newmodules/n6110.c index 481c92e..fcb8ac9 100644 --- a/common/newmodules/n6110.c +++ b/common/newmodules/n6110.c @@ -41,11 +41,6 @@ supported by this model of phone. */ - - - - - /* Here we initialise model specific functions. */ GSM_Functions N6110_Functions = { N6110_Initialise, @@ -54,13 +49,8 @@ GSM_Functions N6110_Functions = { NULL_KeepAlive, N6110_GetMemoryLocation, N6110_WritePhonebookLocation, -#ifndef UCLINUX N6110_GetSpeedDial, N6110_SetSpeedDial, -#else /* UCLINUX */ - NULL, - NULL, -#endif /* UCLINUX */ N6110_GetMemoryStatus, #ifndef UCLINUX N6110_GetSMSStatus, @@ -87,9 +77,16 @@ GSM_Functions N6110_Functions = { N6110_EnterSecurityCode, N6110_GetSecurityCodeStatus, N6110_GetSecurityCode, +#else /* UCLINUX */ + NULL, + NULL, + NULL, + NULL, +#endif /* UCLINUX */ N6110_GetIMEI, N6110_GetRevision, N6110_GetModel, +#ifndef UCLINUX N6110_GetDateTime, N6110_SetDateTime, N6110_GetAlarm, @@ -101,13 +98,6 @@ GSM_Functions N6110_Functions = { NULL, NULL, NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, #endif /* UCLINUX */ N6110_DialData, #ifndef UCLINUX @@ -141,12 +131,11 @@ GSM_Functions N6110_Functions = { #ifndef UCLINUX N6110_GetProfile, N6110_SetProfile, - N6110_SendRLPFrame, #else /* UCLINUX */ NULL, NULL, - NULL, #endif /* UCLINUX */ + N6110_SendRLPFrame, N6110_CancelCall, #ifndef UCLINUX N6110_PressKey, @@ -1903,6 +1892,8 @@ GSM_Error N6110_SetProfile(GSM_Profile *Profile) return (GE_NONE); } +#endif /* UCLINUX */ + bool N6110_SendRLPFrame(RLP_F96Frame *frame, bool out_dtx) { u8 req[60] = { 0x00, 0xd9 }; @@ -1918,6 +1909,8 @@ bool N6110_SendRLPFrame(RLP_F96Frame *frame, bool out_dtx) return (Protocol->SendFrame(32, 0xf0, req)); } +#ifndef UCLINUX + void N6110_ReplyGetCalendarNote(u16 MessageLength, u8 *MessageBuffer, u8 MessageType) { int i, j; @@ -2587,7 +2580,9 @@ GSM_Error N6110_DialData(char *Number, char type, void (* callpassup)(char c)) break; case 1: Protocol->SendMessage(sizeof(req3), 0x01, req3); + usleep(1000000); Protocol->SendMessage(sizeof(req4), 0x01, req4); + usleep(1000000); req_end = req_end1; size = sizeof(req_end1); break; @@ -2608,6 +2603,7 @@ GSM_Error N6110_DialData(char *Number, char type, void (* callpassup)(char c)) memcpy(req + 5 + strlen(Number), req_end, size); Protocol->SendMessage(5 + size + strlen(Number), 0x01, req); + usleep(1000000); if (type != 1) Protocol->SendMessage(26, 0x01, req2); return (GE_NONE); @@ -3108,6 +3104,8 @@ GSM_Error N6110_GetSMSFolders ( GSM_SMSFolders *folders) return GE_NONE; } +#endif /* UCLINUX */ + GSM_Error N6110_GetIMEI(char *imei) { if (strlen(Current_IMEI)>0) { @@ -3129,8 +3127,6 @@ GSM_Error N6110_GetRevision(char *revision) return (GE_TRYAGAIN); } -#endif /* UCLINUX */ - static GSM_Error N6110_GetModel(char *model) { if (strlen(Current_Model)>0) { @@ -3268,8 +3264,13 @@ static void N6110_ReplyGetMemoryLocation(u16 MessageLength, u8 *MessageBuffer, u sleep(1); if (GetModelFeature (FN_PHONEBOOK)==F_PBK33) {//pbk with Unicode +#ifndef UCLINUX DecodeUnicode (CurrentPhonebookEntry->Name, MessageBuffer+6, count/2); CurrentPhonebookEntry->Name[count/2] = 0x00; +#else /* UCLINUX */ + fprintf(stderr,"FATAL ERROR: DecodeUnicode disabled!\n"); + exit(1); +#endif /* UCLINUX */ } else { memcpy(CurrentPhonebookEntry->Name, MessageBuffer + 6, count); CurrentPhonebookEntry->Name[count] = 0x00; @@ -3437,6 +3438,7 @@ GSM_Error N6110_WritePhonebookLocation(GSM_PhonebookEntry *entry) current=7; if (GetModelFeature (FN_PHONEBOOK)==F_PBK33) { +#ifndef UCLINUX req[6] = strlen(entry->Name)*2; @@ -3450,6 +3452,13 @@ GSM_Error N6110_WritePhonebookLocation(GSM_PhonebookEntry *entry) } current+=strlen(entry->Name)*2; + +#else /* UCLINUX */ + + fprintf(stderr,"FATAL ERROR: EncodeUnicode disabled!\n"); + exit(1); + +#endif /* UCLINUX */ } else { req[6] = strlen(entry->Name); @@ -3546,7 +3555,9 @@ GSM_Error N6110_SendDTMF(char *String) (20, &CurrentSendDTMFError, 5+length, 0x01, req); } -void N6110_ReplyGetSpeedDial(u16 MessageLength, u8 *MessageBuffer, u8 MessageType) { +#endif /* UCLINUX */ + +static void N6110_ReplyGetSpeedDial(u16 MessageLength, u8 *MessageBuffer, u8 MessageType) { switch (MessageBuffer[3]) { @@ -3596,7 +3607,7 @@ GSM_Error N6110_GetSpeedDial(GSM_SpeedDial *entry) (20, &CurrentSpeedDialError, 5, 0x03, req); } -void N6110_ReplySetSpeedDial(u16 MessageLength, u8 *MessageBuffer, u8 MessageType) { +static void N6110_ReplySetSpeedDial(u16 MessageLength, u8 *MessageBuffer, u8 MessageType) { switch (MessageBuffer[3]) { @@ -3642,6 +3653,8 @@ GSM_Error N6110_SetSpeedDial(GSM_SpeedDial *entry) (20, &CurrentSpeedDialError, 7, 0x03, req); } +#ifndef UCLINUX + /* This function finds parts of SMS in frame used in new Nokia phones in internal protocols (they're coded according to GSM 03.40), copies them to GSM_ETSISMSMessage and calls GSM_DecodeETSISMS to decode @@ -5220,8 +5233,6 @@ static void N6110_Dispatch0x06Message(u16 MessageLength, u8 *MessageBuffer, u8 M } } -#endif /* UCLINUX */ - static void N6110_Dispatch0x09Message(u16 MessageLength, u8 *MessageBuffer, u8 MessageType) { switch (MessageBuffer[3]) { @@ -5247,8 +5258,6 @@ static void N6110_Dispatch0x09Message(u16 MessageLength, u8 *MessageBuffer, u8 M } } -#ifndef UCLINUX - static void N6110_Dispatch0x13Message(u16 MessageLength, u8 *MessageBuffer, u8 MessageType) { switch(MessageBuffer[3]) { @@ -5584,11 +5593,11 @@ void N6110_DispatchMessage(u16 MessageLength, u8 *MessageBuffer, u8 MessageType) case 0x06:N6110_ReplyWritePhonebookLocation(MessageLength,MessageBuffer,MessageType);break; case 0x08: case 0x09:N6110_ReplyGetMemoryStatus(MessageLength,MessageBuffer,MessageType);break; -#ifndef UCLINUX case 0x17: case 0x18:N6110_ReplyGetSpeedDial(MessageLength,MessageBuffer,MessageType);break; case 0x1a: case 0x1b:N6110_ReplySetSpeedDial(MessageLength,MessageBuffer,MessageType);break; +#ifndef UCLINUX default :N6110_Dispatch0x03Message(MessageLength,MessageBuffer,MessageType);break; #endif /* UCLINUX */ } @@ -5634,7 +5643,6 @@ void N6110_DispatchMessage(u16 MessageLength, u8 *MessageBuffer, u8 MessageType) default :N6110_ReplyEnterSecurityCode (MessageLength,MessageBuffer,MessageType);break; } break; -#endif /* UCLINUX */ /* SIM login */ case 0x09: @@ -5642,7 +5650,6 @@ void N6110_DispatchMessage(u16 MessageLength, u8 *MessageBuffer, u8 MessageType) N6110_Dispatch0x09Message(MessageLength, MessageBuffer, MessageType); break; -#ifndef UCLINUX /* Network info */ case 0x0a: switch (MessageBuffer[3]) {