X-Git-Url: http://git.jankratochvil.net/?p=gnokii.git;a=blobdiff_plain;f=common%2Fprotocol%2Ffbus.c;h=87e98fe911a79814782a673d5c84337baf3a8813;hp=34c0507cb30ecffbdd17b1a878ab2c78a7192aa3;hb=f057c630b49ee9ab91dc55c1ef7706039cdfb352;hpb=5d49fe8eea4e11457b4f9904eb0d5db435679841 diff --git a/common/protocol/fbus.c b/common/protocol/fbus.c index 34c0507..87e98fe 100644 --- a/common/protocol/fbus.c +++ b/common/protocol/fbus.c @@ -60,8 +60,6 @@ u8 MessageBuffer[FBUS_MAX_RECEIVE_LENGTH * 6],MultiMessageBuffer[FBUS_MAX_RECEIV u8 RequestSequenceNumber = 0x00; -int fbus_decoding=0; - #ifdef DEBUG char *N61_PrintDevice(int Device) { @@ -80,12 +78,11 @@ char *N61_PrintDevice(int Device) void N61_RX_DisplayMessage() { #ifdef DEBUG - hexdump(MessageLength-2,MessageBuffer); - fprintf(stdout, _("Msg Dest: %s\n"), N61_PrintDevice(MessageDestination)); fprintf(stdout, _("Msg Source: %s\n"), N61_PrintDevice(MessageSource)); fprintf(stdout, _("Msg Type: %02x\n"), MessageType); - fprintf(stdout, _("Msg Seq: %d\n"), MessageBuffer[MessageLength-1] & 0x0f); + + hexdump(MessageLength-2,MessageBuffer); #endif AppendLog(MessageBuffer,MessageLength-2,true); @@ -210,9 +207,6 @@ int FBUS_SendAck(u8 message_type, u8 message_seq) { unsigned char request[6]; - if (fbus_decoding) - return 0; - request[0] = message_type; request[1] = message_seq; @@ -239,9 +233,7 @@ void FBUS_Terminate(void) void FBUS_RX_StateMachine(unsigned char rx_byte) { -#if 0 static struct timeval time_now, time_last, time_diff; -#endif static int checksum[2]; @@ -271,7 +263,6 @@ void FBUS_RX_StateMachine(unsigned char rx_byte) { case FBUS_RX_Discarding: -#if 0 #ifndef VC6 gettimeofday(&time_now, NULL); timersub(&time_now, &time_last, &time_diff); @@ -281,21 +272,13 @@ void FBUS_RX_StateMachine(unsigned char rx_byte) { } /* else fall through to... */ #endif -#endif - case FBUS_RX_Sync: { -static int discarded=0,discarded55=0; + case FBUS_RX_Sync: if ((CurrentConnectionType==GCT_FBUS && rx_byte == FBUS_FRAME_ID) || ((CurrentConnectionType==GCT_Infrared || CurrentConnectionType==GCT_Tekram) && rx_byte == FBUS_IR_FRAME_ID)) { - if (discarded) { - printf("[discarded %d bytes, %d were NOT 0x55]\n",discarded,discarded-discarded55); - discarded=0; - discarded55=0; - } - BufferCount = 0; RX_State = FBUS_RX_GetDestination; @@ -306,16 +289,11 @@ static int discarded=0,discarded55=0; } else { /* Lost frame sync */ RX_State = FBUS_RX_Discarding; -#if 0 #ifndef VC6 gettimeofday(&time_last, NULL); #endif -#endif - discarded++; - if (rx_byte == 0x55) - discarded55++; } - } break; + break; case FBUS_RX_GetDestination: @@ -407,7 +385,6 @@ static int discarded=0,discarded55=0; /* Is the checksum correct? */ if (checksum[0] == checksum[1]) { -u8 msgseq; if (RX_Multiple) { @@ -429,7 +406,7 @@ u8 msgseq; } MultiMessageLength=MultiMessageLength+MessageLength-2; - msgseq=MessageBuffer[MessageLength-1] & 0x0f; + FBUS_SendAck(MessageType, MessageBuffer[MessageLength-1] & 0x0f); if ((MessageLength > 1) && (MessageBuffer[MessageLength-2] != 0x01)) { @@ -443,22 +420,15 @@ u8 msgseq; /* Do not debug Ack and RLP frames to detail. */ if (MessageType != FBUS_FRTYPE_ACK && MessageType != 0xf1) N61_RX_DisplayMessage(); - else { - if (MessageType == FBUS_FRTYPE_ACK) - puts("[ignoring print of ACK]"); - else - puts("[ignoring print of RLP]"); - } GSM->DispatchMessage(MessageLength-2, MessageBuffer, MessageType); } - FBUS_SendAck(MessageType, msgseq); - } else { /* We do not want to send ACK of ACKs and ACK of RLP frames. */ if (MessageType != FBUS_FRTYPE_ACK && MessageType != 0xf1) { + FBUS_SendAck(MessageType, MessageBuffer[MessageLength-1] & 0x0f); if ((MessageLength > 1) && (MessageBuffer[MessageLength-2] != 0x01)) { @@ -468,16 +438,13 @@ u8 msgseq; #endif RX_State = FBUS_RX_Sync; } - - msgseq=MessageBuffer[MessageLength-1] & 0x0f; - FBUS_SendAck(MessageType, msgseq); } } } else { - msgseq=MessageBuffer[MessageLength-1] & 0x0f; /* We do not want to send ACK of ACKs and ACK of RLP frames. */ if (MessageType != FBUS_FRTYPE_ACK && MessageType != 0xf1) { + FBUS_SendAck(MessageType, MessageBuffer[MessageLength-1] & 0x0f); if ((MessageLength > 1) && (MessageBuffer[MessageLength-2] != 0x01)) { @@ -491,23 +458,17 @@ u8 msgseq; } } - if (!RX_Multiple /* && MessageDestination!=FBUS_DEVICE_PHONE */ ) { + if (!RX_Multiple && MessageDestination!=FBUS_DEVICE_PHONE ) { /* Do not debug Ack and RLP frames to detail. */ if (MessageType != FBUS_FRTYPE_ACK && MessageType != 0xf1) N61_RX_DisplayMessage(); - else { - if (MessageType == FBUS_FRTYPE_ACK) - puts("[ignoring print of ACK]"); - else - puts("[ignoring print of RLP]"); - } GSM->DispatchMessage(MessageLength-2, MessageBuffer, MessageType); } #ifdef DEBUG /* When make debug and message is to phone display it */ - if (MessageDestination==FBUS_DEVICE_PHONE && !fbus_decoding) { + if (MessageDestination==FBUS_DEVICE_PHONE) { for (i=MessageLength;i>=0;i--) MessageBuffer[i+6]=MessageBuffer[i]; MessageBuffer[0]=FBUS_FRAME_ID; @@ -521,12 +482,7 @@ u8 msgseq; NULL_TX_DisplayMessage(MessageLength, MessageBuffer); } #endif - if (MessageType != FBUS_FRTYPE_ACK && MessageType != 0xf1) - FBUS_SendAck(MessageType, msgseq); } -#ifdef DEBUG - putchar('\n'); -#endif } else { #ifdef DEBUG fprintf(stdout, _("Bad checksum %02x (should be %02x), msg len=%i !\n"),checksum[0],checksum[1],MessageLength);