working version

Dependencies:   mbed mbed-rtos SimpleDMA FreescaleIAP eeprom

Fork of CDMS_CODE_FM_28JAN2017 by samp Srinivasan

Revision:
195:6a549c0e9287
Parent:
193:f76b475d7807
Child:
196:c51bf4993f75
--- a/Compression.h	Wed Jun 29 14:24:12 2016 +0000
+++ b/Compression.h	Wed Jun 29 15:23:12 2016 +0000
@@ -73,6 +73,15 @@
     sci_time = 0;
     gPC.puts("enter srp");
     
+    //Call FCTN_SD_MNGR for latest fsc
+    FCTN_SD_MNGR();
+    uint32_t FSC[6];
+    uint8_t sd_stat;
+    
+    for(int i =1; i<6;i++)
+    {
+        FSC[i] = FSC_CURRENT[i];
+    }
     for (int i = 0; i < 52 ; i++){
         scp_bin[i] = 0;
     }
@@ -284,8 +293,8 @@
                 if(id == 1){    //below thereshold
                     space = adjust(1,0,pointer,8);
                     space = adjust(4,3,pointer,space);
-                    //FSC_science = FCTN_SD_MNGR(3);
-                    gPC.printf("SID = 3, FSC = %02X\r\n", FSC_science);
+                    FSC[3]++;
+                    gPC.printf("SID = 3, FSC = %02X\r\n", FSC[3]);
                     frames[id][1] = (FSC_science>>24)&0xff;
                     frames[id][2] = (FSC_science>>16)&0xff;
                     frames[id][3] = (FSC_science>>8)&0xff;
@@ -299,8 +308,8 @@
                     space = adjust(1,0,pointer,8);
                     space = adjust(4,2,pointer,space);
                     //FSC_science = FCTN_SD_MNGR(2);
-                    
-                    gPC.printf("SID = 2, FSC = %02X\r\n", FSC_science);
+                    FSC[2]++;
+                    gPC.printf("SID = 2, FSC = %02X\r\n", FSC[2]);
                     frames[id][1] = (FSC_science>>16)&0xff;
                     frames[id][2] = (FSC_science>>8)&0xff;
                     frames[id][3] = FSC_science&0xff;
@@ -323,12 +332,16 @@
                 interleave(TM_convoluted_data+ 135,TM_interleave_data + 144);
                 
                 if(id == 1){
-                    SD_WRITE(TM_interleave_data,FSC_science,3);
+                    sd_stat = SD_WRITE(TM_interleave_data,FSC[3],3);
                    }
                 else if (id == 2){
-                    SD_WRITE(TM_interleave_data,FSC_science,2);
+                    sd_stat = SD_WRITE(TM_interleave_data,FSC[2],2);
                   }
-                FSC_science++;      //remove this after testing
+                if(sd_stat)
+                {
+                    gPC.puts("sd write failure");
+                    break;
+                    }
                 position_tm_frame[id] = position_tm_starting[id];
                 frames[id][6-id] = (length-1) - j;      // first head pointer.
                 
@@ -583,8 +596,8 @@
                 pointer = frames[id];
                 space = adjust(1,0,pointer,8);
                 space = adjust(4,1,pointer,space);
-                FSC_science = FCTN_SD_MNGR(1);
-                gPC.printf("SID = 1, FSC = %02X\r\n", FSC_science);
+                FSC[1]++;
+                gPC.printf("SID = 1, FSC = %02X\r\n", FSC[1]);
                 frames[id][1] = (FSC_science>>16)&0xff;
                 frames[id][2] = (FSC_science>>8)&0xff;
                 frames[id][3] = (FSC_science)&0xff;
@@ -603,7 +616,12 @@
                 convolution(frames[id]);
                 interleave(TM_convoluted_data,TM_interleave_data);
                 interleave(TM_convoluted_data+ 135,TM_interleave_data + 144);
-                SD_WRITE(TM_interleave_data,FSC_science,1);
+                sd_stat = SD_WRITE(TM_interleave_data,FSC[1],1);
+                if(sd_stat)
+                {
+                    gPC.puts("sd write failure");
+                    break;
+                }
                 position_tm_frame[id] = position_tm_starting[id];
                 frames[id][4] = (length-1) - j;
             }