This commit was manufactured by cvs2svn to create tag
[gnokii.git] / common / protocol / fbus.c
index 34c0507..87e98fe 100644 (file)
@@ -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);