--- yoda/techmodel/TmtcReader.cpp	2004/12/03 22:08:01	2.1
+++ yoda/techmodel/TmtcReader.cpp	2005/05/16 15:36:33	4.2
@@ -1,6 +1,6 @@
 /** @file
  * $Source: /home/cvsmanager/yoda/techmodel/TmtcReader.cpp,v $
- * $Id: TmtcReader.cpp,v 2.0 2004/09/21 20:50:54 kusanagi Exp $
+ * $Id: TmtcReader.cpp,v 4.1 2005/03/07 16:29:55 kusanagi Exp $
  * $Author: kusanagi $
  * 
  * Implementation of the TmtcReader class.
@@ -40,7 +40,7 @@
  */
 std::string TmtcReader::GetVersionInfo(void) const {
   return 
-    "$Header: /home/cvsmanager/yoda/techmodel/TmtcReader.cpp,v 2.0 2004/09/21 20:50:54 kusanagi Exp $\n";
+    "$Header: /home/cvsmanager/yoda/techmodel/TmtcReader.cpp,v 4.1 2005/03/07 16:29:55 kusanagi Exp $\n";
 }
 
 /**
@@ -57,17 +57,6 @@
  */
 void TmtcReader::RunEvent(int EventNumber, long int length) throw (WrongCRCException){
 
-/*
-//Just to test crc
-  char tempbuff[length];
-  InputFile->read(tempbuff, sizeof(tempbuff));
-  UINT16 subCRC = 0;
-  for (int jj = 0; jj < length ; jj++){
-    subCRC = CM_Compute_CRC16(subCRC, (BYTE*)(tempbuff+jj), 1);
-  }
-//Just to test crc
-*/
-
     int i, j;
     char subData[TMTC_SUB_LENGTH];
     char CRCbuff[TMTC_SUBCRC_LENGTH];
@@ -81,40 +70,28 @@
     
     UINT16    partialCRC = 0; //partial CRC updated as mcmd packet is read (to compare with the last two bytes of this event)
     UINT16    readCRC = 0;    //partial CRC updated as mcmd packet is read (to compare with the last two bytes of this event)
-    
-/*    char tempData[length-TMTC_CRC_LENGTH];
-    InputFile->read(tempData, sizeof(tempData));
-    partialCRC = CM_Compute_CRC16(0, (UINT8*)tempData, (length-TMTC_CRC_LENGTH));
-*/
-
-    for(i = 0; i < numRecords; i++) {
+    for(int i = 0; i < numRecords; i++) {
         start = InputFile->tellg();
         InputFile->read(subData, sizeof(subData));
         InputFile->read(CRCbuff, sizeof(CRCbuff));
         
-    /*    for (int jj = 0; jj < TMTC_SUB_LENGTH ; jj++){
-            partialCRC = CM_Compute_CRC16(0, (UINT8*)tempData, (length-TMTC_CRC_LENGTH));
-        }
-    */
-  
         partialCRC = CM_Compute_CRC16(partialCRC, (UINT8*)&subData, TMTC_SUB_LENGTH);
         partialCRC = CM_Compute_CRC16(partialCRC, (UINT8*)&CRCbuff, TMTC_SUBCRC_LENGTH);
 
         //This == CRCBuff is not really parametric take care if have to change the static lengths
         if((UINT8)(CM_Compute_CRC16(0, (UINT8*)&subData, TMTC_SUB_LENGTH)) == (UINT8)CRCbuff[0]){
             rec = new(recs[i]) TmtcRecord(); //add a new TmtcRecord
-            rec->TM_RECORD_OBT = (((UINT32)subData[0]<<24)&0xFF000000) + (((UINT32)subData[1]<<16)&0x00FF0000) +  (((UINT32)subData[2]<<8)&0x0000FF00) + ((UINT32)subData[3])&0x000000FF;
-
-            for(j = 0; j < 16; j++) {
-                rec->TM_DEA_ANA[j]   = (((UINT16)subData[4+j]<<8)&0xFF00) + (((UINT16)subData[5+j])&0x00FF);
-                rec->TM_DEA_ANA_P[j] = (float)(rec->TM_DEA_ANA[j]*0.02);
-
-                rec->TM_TH_ANA[j]    = subData[36+j]; //36 is the size of TM_DEA_ANA + OBT
-                rec->TM_TH_ANA_P[j]  = convert_th(rec->TM_TH_ANA[j]);
+            rec->TM_RECORD_OBT            = (((UINT32)subData[0]<<24)&0xFF000000) + (((UINT32)subData[1]<<16)&0x00FF0000) +  (((UINT32)subData[2]<<8)&0x0000FF00) + (((UINT32)subData[3])&0x000000FF);
+            rec->TM_DIAG_AND_BILEVEL_ACQ  = (((UINT16)subData[4]<<8)&0x0000FF00) + (((UINT16)subData[5])&0x000000FF);
+            
+            for(int j = 0; j < 16; j++) {
+                rec->TM_TH_ANA[j]    = ((((UINT16)subData[6 + 2*j]<<8)&0xFF00) + (((UINT16)subData[7 + 2*j])&0x00FF)); //20 is the size of TM_DEA_ANA(16) + OBT(4)
             }
             
-            rec->TM_BIL_DIAG_ACQ =  subData[53];
-            rec->TM_CC_DIAG_ACQ  =  (((UINT32)subData[54]<<24)&0xFF000000) + (((UINT32)subData[55]<<16)&0x00FF0000) +  (((UINT32)subData[56]<<8)&0x0000FF00) + ((UINT32)subData[57])&0x000000FF;
+            for(int j = 0; j < 6; j++) {
+                rec->TM_DEA_ANA[j]   = subData[30+j];
+            }
+
         } else {
             stringstream oss;
             oss.str("");
@@ -128,7 +105,7 @@
     if(partialCRC != readCRC) throw WrongCRCException(" Wrong Global CRC for TMTC Packet ");
 }
 
-
+/*
 float TmtcReader::convert_th(int TH) {
   float a,q,deltax,deltay;
   static int chiama_fun=0;
@@ -169,3 +146,4 @@
     }
   return (grado);
 }
+*/