DMA issue to be tested

Dependencies:   FreescaleIAP SimpleDMA mbed-rtos mbed

Fork of CDMS_CODE by shubham c

Files at this revision

API Documentation at this revision

Comitter:
spacelab
Date:
Sun Oct 09 07:08:34 2016 +0000
Parent:
305:beb148fe97dc
Child:
307:6ed5535ac465
Commit message:
23_sep code from samp

Changed in this revision

CDMS_HK.h Show annotated file Show diff for this revision Revisions of this file
CDMS_PL.h Show annotated file Show diff for this revision Revisions of this file
Compression.h Show annotated file Show diff for this revision Revisions of this file
DefinitionsAndGlobals.h Show annotated file Show diff for this revision Revisions of this file
ThreadsAndFunctions.h Show annotated file Show diff for this revision Revisions of this file
cdms_sd.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/CDMS_HK.h	Sat Sep 10 07:06:59 2016 +0000
+++ b/CDMS_HK.h	Sun Oct 09 07:08:34 2016 +0000
@@ -63,8 +63,8 @@
         FCTN_CDMS_PL_MAIN((void const *)NULL);
         hk_count = 2;
     }
-    gPC.printf("\n\rEntering HK thread\n");
-
+  //  gPC.printf("\n\rEntering HK thread\n");
+    gPC.printf("\n\r%d\n",CDMS_WR_SD_FAULT_COUNTER);
     if(EN_CDMS_HK == 0x00)
     continue;
     CDMS_HK_MAIN_STATUS = 0x01;
@@ -72,7 +72,7 @@
 
     FCTN_CDMS_HK();         //collects temperatures
     RSSI_volatge = COMRX_RSSI_volatge.read() * 3.3;//to be checked
-    gPC.printf("\n\rRSSI voltage  = %f",RSSI_volatge);
+    //gPC.printf("\n\rRSSI voltage  = %f",RSSI_volatge);
     VERIFY_COMRX();
     VERIFY_RTC();
     HANDLE_HW_FAULTS();
@@ -117,18 +117,18 @@
     uint64_t time = FCTN_CDMS_RD_RTC() >> 7;             //Reading Time from RTC
     for(int i = 124; i<128; i++)
         CDMS_HEALTH_DATA[i] = time >> i*8;
-    gPC.printf("0x%d\n",time);
-    //FCTN_SD_MNGR();                                 //Adding FSC & TMID to TM frame
+    //gPC.printf("0x%d\n",time);
+    FCTN_SD_MNGR();                                 //Adding FSC & TMID to TM frame
     CDMS_HK_FRAME[0] = 0x20;
     CDMS_HK_FRAME[1] = FSC_CURRENT[4]+1;
     CDMS_HK_FRAME[2] = (FSC_CURRENT[4]+1) >> 8;
     CDMS_HK_FRAME[3] = (FSC_CURRENT[4]+1) >> 16;
-    gPC.printf("\n");
+   // gPC.printf("\n");
     for(int i = 0; i<128; i++){                       /*Adding actual CDMS Health data to TM frame*/
         CDMS_HK_FRAME[i+4] = CDMS_HEALTH_DATA[i];
-        gPC.printf("%02x",CDMS_HEALTH_DATA[i]);
+        //gPC.printf("%02x",CDMS_HEALTH_DATA[i]);
     }
-    gPC.printf("\n");
+ //   gPC.printf("\n");
     uint16_t crc = crc16_gen(CDMS_HK_FRAME,132);      /*Adding CRC to TM frame*/
     CDMS_HK_FRAME[133] = crc;
     CDMS_HK_FRAME[132] = crc >> 8;
@@ -136,27 +136,29 @@
     exor(CDMS_HK_FRAME);
     CDMS_HEALTH.convolutionEncode(CDMS_HK_FRAME , convoluted_CDMS_HK);
     CDMS_HEALTH.convolutionEncode(CDMS_HK_FRAME + 67, convoluted_CDMS_HK + 135);
+    //gPC.printf("\n\r reached here");
     interleave(convoluted_CDMS_HK ,  interleave_CDMS_HK);
     interleave(convoluted_CDMS_HK +135, interleave_CDMS_HK + 144);
+    //gPC.printf("\n\r reached here");
     for(int i=0; i<288; i++)
         CDMS_HEALTH_FINAL[i] = interleave_CDMS_HK[i];
-
+    //gPC.printf("\n\r reached here");
     sd_stat = SD_WRITE(CDMS_HEALTH_FINAL,FSC_CURRENT[4]+1,4);
     if(sd_stat)
     {
-        gPC.puts("sd write failure");
+        gPC.puts("sd write failure $*&^@!~!");
        // break;
         }
-    gPC.printf("Completed CDMS HK\t");
+   // gPC.printf("Completed CDMS HK\t");
 
     /*---------------------------------- BAE HK --------------------------------------------*/
 
     BAE_HK_I2C = FCTN_I2C_READ(BAE_HK,134);
-    gPC.printf("Entering BAE HK\t");
+  //  gPC.printf("Entering BAE HK\t");
     if(BAE_HK_I2C == 0) {
         crc = crc16_gen((unsigned char *)BAE_HK,132);
         if(crc == ((uint16_t)BAE_HK[132] << 8) | (uint16_t)BAE_HK[133]){
-            gPC.printf("BAE HK data recieved through I2C\t");
+            //gPC.printf("BAE HK data recieved through I2C\t");
             TIME_LATEST_I2C_BAE = FCTN_CDMS_RD_RTC() >> 7;
             /*for(int i = 0; i<15; i++)
                 gPC.printf("\r 0x%02X\n",BAE_HK[i]);*/
@@ -191,7 +193,7 @@
         for(int i = 0; i<134; i++)
             BAE_HK[i] = 0;
     }
-    gPC.printf("Completed BAE HK\n");
+   // gPC.printf("Completed BAE HK\n");
 
     /*----------------------------------Beacon message--------------------------------------*/
     
@@ -228,10 +230,10 @@
     bool y;
     y = FCTN_I2C_WRITE((char *)beacon_array,134);
     if(y == 0)
-        gPC.printf("long Bcn sent\n\r");
+       gPC.printf("long Bcn sent\n\r");
         else
         gPC.printf("long Bcn not sent\r\n");
-    gPC.printf("\rCompleted Beacon\n");
+    //gPC.printf("\rCompleted Beacon\n");
     gMutex.unlock();
     }
 }
@@ -280,13 +282,13 @@
 {
 
     int Iteration=0;
-    int resistance;
+    float resistance;
 
     SelectLinec0=0;
     SelectLinec1=0;
     SelectLinec2=0;
     SelectLinec3=0;
-    gPC.printf("\r%d %d %d %d\n",SelectLinec3.read(),SelectLinec2.read(),SelectLinec1.read(),SelectLinec0.read());
+    //gPC.printf("\r%d %d %d %d\n",SelectLinec3.read(),SelectLinec2.read(),SelectLinec1.read(),SelectLinec0.read());
     for(Iteration=0; Iteration<16; Iteration++) {
 
         actual_data.temp_actual[Iteration]=TempInput.read();
@@ -298,25 +300,25 @@
             SelectLinec2=!(SelectLinec2);
         if(Iteration%8==7)
             SelectLinec3=!(SelectLinec3);
-        gPC.printf("\r%d %d %d %d\n",SelectLinec3.read(),SelectLinec2.read(),SelectLinec1.read(),SelectLinec0.read());
+        //gPC.printf("\r%d %d %d %d\n",SelectLinec3.read(),SelectLinec2.read(),SelectLinec1.read(),SelectLinec0.read());
     }
 
     actual_data.CDMS_temp_actual=(-90.7*3.3*CDMS_temp_sensor.read())+190.1543;
     
-    gPC.printf("\rRaw Temp = %f\n",actual_data.temp_actual[15]*3.3);
+//    gPC.printf("\rRaw Temp = %f\n",actual_data.temp_actual[15]*3.3);
     
     for(Iteration=0; Iteration<16; Iteration++) {
 
         if(Iteration<4)
-            actual_data.temp_actual[Iteration]=actual_data.temp_actual[Iteration]*3.3*2;
+            actual_data.temp_actual[Iteration]=actual_data.temp_actual[Iteration]*3.3*20;
             
         else if(Iteration<14){
-            resistance=10000*actual_data.temp_actual[Iteration]*3.3/(3.3-actual_data.temp_actual[Iteration]*3.3);
+            resistance=24300*actual_data.temp_actual[Iteration]*3.3/(3.3-actual_data.temp_actual[Iteration]*3.3);
            
             if(actual_data.temp_actual[Iteration]*3.3<1.47)      //Document says 1.378 .Pls Check
-                actual_data.temp_actual[Iteration]=3694/log(24.032242*resistance);
+                actual_data.temp_actual[Iteration]=3694/log(24.032242*resistance/10);
             else
-                actual_data.temp_actual[Iteration]=3365.4/log(7.60573*resistance);
+                actual_data.temp_actual[Iteration]=3365.4/log(7.60573*resistance/10);
         }
         else
             actual_data.temp_actual[Iteration]=(-90.7*3.3*actual_data.temp_actual[Iteration])+190.1543;
@@ -365,7 +367,7 @@
     GPIO_STATUS=(COM_RX_CNTRL)?(GPIO_STATUS)|((uint16_t)(0x1<<3)):(GPIO_STATUS)&(~((uint16_t)(0x1<<3)));
     //EPS_V_D_EN_STATUS
     GPIO_STATUS=(COM_TX_CNTRL)?(GPIO_STATUS)|((uint16_t)(0x1<<2)):(GPIO_STATUS)&(~((uint16_t)(0x1<<2)));
-    gPC.printf("%04x\n",GPIO_STATUS);
+  //  gPC.printf("%04x\n",GPIO_STATUS);
 }
 
 void VERIFY_COMRX()
@@ -512,9 +514,9 @@
 void COLLECT_CDMS_RAM()
 {
     CDMS_RAM[0] = ((PL_INIT_STATUS<<7)&0x80)|((PL_MAIN_status<<6)&0x40)|((PL_LOW_power<<5)&0x20)|((PL_STATE<<3)&0x18)|(PL_STATUS&0x07);
-    gPC.printf("\n\rPL_STATUS : %d",PL_STATUS);
-    gPC.printf("\n\rPL_STATE : %d",PL_STATE);
-    gPC.printf("\n\rpl bits = %02x\n",CDMS_RAM[0]);
+    //gPC.printf("\n\rPL_STATUS : %d",PL_STATUS);
+    //gPC.printf("\n\rPL_STATE : %d",PL_STATE);
+    //gPC.printf("\n\rpl bits = %02x\n",CDMS_RAM[0]);
     CDMS_RAM[1] = ((PL_RCV_SC_DATA_STATUS<<7)&0x80)|((COM_SESSION<<6)&0x40)|((COM_RX<<5)&0x20)|((RF_SW_STATUS<<4)&0x10)|((COM_TX<<3)&0x08)|((COM_TX_STATUS<<2)&0x04)|((COM_MNG_TMTC<<1)&0x02)|(EN_CDMS_HK&0x01);
     CDMS_RAM[2] = ((EN_PL<<7)&0x80)|((EN_RCV_SC<<6)&0x40)|((CDMS_INIT_STATUS<<5)&0x20)|((CDMS_HK_MAIN_STATUS<<4)&0x10)|((CDMS_HK_STATUS<<2)&0x0C)|((COM_RX_STATUS<<1)&0x02)|(CDMS_RTC_BL&0x01);
     CDMS_RAM[3] = CDMS_I2C_ERR_SPEED_COUNTER >> 8;
--- a/CDMS_PL.h	Sat Sep 10 07:06:59 2016 +0000
+++ b/CDMS_PL.h	Sun Oct 09 07:08:34 2016 +0000
@@ -169,7 +169,7 @@
     temp2[0] = (pl_main_flag&STATE_SCIENCE)>>2;
     temp2[1] = (pl_main_flag&PL_DISABLED)>>4;
     temp2[2] = (PL_PREV_STATE & STATE_SCIENCE)>>2;
-    gPC.printf("\n\rAt exit");
+    //gPC.printf("\n\rAt exit");
     char state[][17] = {"STATE_OFF","STATE_STANDBY","STATE_HIBERNATE","STATE_SCIENCE"};
     char status[][17] = {"PL_OFF","PL_STANDBY","PL_HIBERNATE","PL_SCIENCE","PL_SUCCESS_I2C","PL_ERR_I2C","PL_INVALID_STATE","PL_DISABLED"};
     //gPC.printf("\n\rPL_state:%s -> %s",state[(uint8_t)temp[0]],state[(uint8_t)temp2[0]]);
@@ -348,7 +348,7 @@
     if(pl_time!=0)                             //RTC read successful 
     {
         // run the loop until end of schedule is reached or month and day are both zeros or future block is found
-        gPC.printf("\n\rRTC read success");
+        //gPC.printf("\n\rRTC read success");
         for(i=0;(i<192)&&(((uint16_t)((pl_block[i] & 0x3FE00000)>>21))!=0);i++)     
         {   
             if(((pl_block[i]>>4) & 0x0FFFFFFF)>pl_time)     //Checking for future blocks       
@@ -428,7 +428,7 @@
     }      
     else if((pl_block[pl_next_index-1] & UNEXECUTED)==0)  
     {
-        gPC.printf("\n\rEmpty Schedule Block");        
+        //gPC.printf("\n\rEmpty Schedule Block");        
         pl_main_flag = pl_main_flag & (~PL_MAIN_STATUS);                  //Clearing pl_main status
         PL_MAIN_status = 0;
         print_exit(temp);
--- a/Compression.h	Sat Sep 10 07:06:59 2016 +0000
+++ b/Compression.h	Sun Oct 09 07:08:34 2016 +0000
@@ -1270,6 +1270,6 @@
         position_tm_frame[id] = position_tm_starting[id];
     }
     #endif   
-    gPC.printf("fsc = %d, %d,%d\n\r", FSC_CURRENT[1],FSC_CURRENT[2],FSC_CURRENT[3]);
-    gPC.printf("\n\rEndSRP"); 
+    gPC.printf("fsc = %u, %u,%u\n\r", FSC_CURRENT[1],FSC_CURRENT[2],FSC_CURRENT[3]);
+    //gPC.printf("\n\rEndSRP"); 
 }
\ No newline at end of file
--- a/DefinitionsAndGlobals.h	Sat Sep 10 07:06:59 2016 +0000
+++ b/DefinitionsAndGlobals.h	Sun Oct 09 07:08:34 2016 +0000
@@ -17,8 +17,8 @@
     #define SPI_CLK PTE2
     #define SPI_CS_ADF PTA15
     #define SPI_CS_SDC PIN20
-    //#define SPI_CS_RTC PIN26
-    #define SPI_CS_RTC PIN60
+  //#define SPI_CS_RTC PIN26 // actual
+     #define SPI_CS_RTC PIN60 // sbc with jumper v1.0
     
 // COM_TX
     #define COM_TX_CONFIG_LIMIT 3
@@ -137,7 +137,7 @@
     #define OBOSC_SUB_RESET 0x07
     
 // PAYLOAD or SCIENCE
-    #define PAYLOAD_BUFFER_LENGTH 6723
+    #define PAYLOAD_BUFFER_LENGTH 6723  // 6723
     #define PAY_SPI_MOSI PTE18
     #define PAY_SPI_MISO PTE19
     #define PAY_SPI_CLK PTE17
@@ -306,6 +306,8 @@
 DigitalOut RESET_TO_BAE(PIN93,1);//RESET_BAE_FROM_CDMS
 DigitalOut RESET_TO_PYLD(PIN21,1);//RESET_PYLD
 
+DigitalOut DMA_LED1(PIN61,0);
+
 //SD HK
 uint32_t FSC_CURRENT[6];
 uint32_t FSC_LAST[6];
--- a/ThreadsAndFunctions.h	Sat Sep 10 07:06:59 2016 +0000
+++ b/ThreadsAndFunctions.h	Sun Oct 09 07:08:34 2016 +0000
@@ -10,29 +10,30 @@
 
 void SCIENCE_FUN(void const *args){
     gPAY_SPI = new dmaSPISlave(PAY_SPI_MOSI, PAY_SPI_MISO, PAY_SPI_CLK, PAY_SPI_CS);
-    gPAY_SPI->frequency(1000000);
-    gPAY_SPI->format(8,0);
+   // gPAY_SPI->frequency(1000000);   //1000000
+    gPAY_SPI->format(8,0); 
     gPC.printf("\n\rTest...........................");
     gPAY_SPI->bulkRead_init(gPAYLOAD_BUFFER, PAYLOAD_BUFFER_LENGTH, &payload_isr_fun);
     gPAY_SPI->bulkRead_start();
     //AY_SPI->bulkRead_pause();
     //AY_SPI->bulkRead_resume(&payload_isr_fun);
     while(true){
-        gPC.puts("entering sci\r\n");
+        //gPC.puts("entering sci\r\n");
         gSCIENCE_THREAD->signal_wait(SCIENCE_SIGNAL);
         gMutex.lock();
         PL_RCV_SC_DATA_STATUS = 1;
-        gPC.puts("sig_set\r\n");
+        //gPC.puts("sig_set\r\n");
         //for(int i =0; i<PAYLOAD_BUFFER_LENGTH; i++)
         //if (gPAYLOAD_BUFFER[i] != 0x01) gPC.printf("%d = 0x%02X\n\r",i,gPAYLOAD_BUFFER[i]);  
         //gPAY_SPI->bulkRead_start();
         srp(gPAYLOAD_BUFFER);//skip one apcket when cdms resets
-        gPC.puts("exit_srp\r\n");
-        wait(2);/*timeout to be decided*/
+        //gPC.puts("exit_srp\r\n");
+        //wait(2);/*timeout to be decided*/
         if(dma)
         {
             PL_RCV_SC_DATA_COUNTER++;
             gPAY_SPI->bulkRead_start();
+            DMA_LED1 = !DMA_LED1; // added by samp
             //gPAY_SPI->bulkRead_pause();
             //gPAY_SPI->bulkRead_resume(&payload_isr_fun);
         }
--- a/cdms_sd.h	Sat Sep 10 07:06:59 2016 +0000
+++ b/cdms_sd.h	Sun Oct 09 07:08:34 2016 +0000
@@ -127,8 +127,15 @@
     uint32_t start_fsc;
     int i;
     uint8_t buffer[512];
+    
+    disk_read(buffer,SD_MNG_SECT);
     SD_MNG_SECT += SD_LIB_WRITES/(int)0xFFFF;
     SD_LIB_WRITES = SD_LIB_WRITES%(int)0xFFFF;
+    disk_write(buffer,SD_MNG_SECT);
+ //   gPC.printf("in increment_SD_LIB = %d, %d,%d\n\r", FSC_CURRENT[1],FSC_CURRENT[2],FSC_CURRENT[3]);
+  //  SD_MNG_SECT += SD_LIB_WRITES/(int)0xFFFF;
+  //  SD_LIB_WRITES = SD_LIB_WRITES%(int)0xFFFF;
+ 
     disk_read(buffer,SD_MNG_SECT);
     if(sid==0x01)
     {
@@ -262,13 +269,13 @@
 
 int SD_WRITE(uint8_t* buffer,uint32_t fsc,uint8_t sid)
 {
-    /*uint32_t block_number;
+    uint32_t block_number;
     int result = 10;
     if(SD_STATUS == DEVICE_POWERED){
     if(sid==0x01)
     {
-        //block_number=SD_SCP_FIRST+(fsc%(SD_SCP_LAST-SD_SCP_FIRST+1))-1;
-        block_number=SD_SCP_FIRST+fsc;
+        block_number=SD_SCP_FIRST+(fsc%(SD_SCP_LAST-SD_SCP_FIRST+1))-1;
+        //block_number=SD_SCP_FIRST+fsc;
         result= disk_write(buffer,block_number);
         if(result == 0)
         {
@@ -279,8 +286,8 @@
     }
    if(sid==0x02)
     {
-        //block_number= SD_SFF_AT_FIRST+(fsc%(SD_SFF_AT_LAST - SD_SFF_AT_FIRST+1))-1;
-        block_number= SD_SFF_AT_FIRST+fsc;
+        block_number= SD_SFF_AT_FIRST+(fsc%(SD_SFF_AT_LAST - SD_SFF_AT_FIRST+1))-1;
+        //block_number= SD_SFF_AT_FIRST+fsc;
         result= disk_write(buffer,block_number);
         if(result == 0)
          {
@@ -291,8 +298,8 @@
     }
      if(sid==0x03)
     {
-        //block_number= SD_SFF_BT_FIRST +(fsc%(SD_SFF_BT_LAST - SD_SFF_BT_FIRST +1))-1;
-        block_number= SD_SFF_BT_FIRST +fsc;
+        block_number= SD_SFF_BT_FIRST +(fsc%(SD_SFF_BT_LAST - SD_SFF_BT_FIRST +1))-1;
+        //block_number= SD_SFF_BT_FIRST +fsc;
         result= disk_write(buffer,block_number);
         if(result == 0)
         {
@@ -303,8 +310,8 @@
     }
      if(sid==0x04)
     {
-        //block_number=SD_HK_ARCH_FIRST +(fsc%(SD_HK_ARCH_LAST - SD_HK_ARCH_FIRST +1))-1;
-        block_number=SD_HK_ARCH_FIRST +fsc;
+        block_number=SD_HK_ARCH_FIRST +(fsc%(SD_HK_ARCH_LAST - SD_HK_ARCH_FIRST +1))-1;
+        //block_number=SD_HK_ARCH_FIRST +fsc;
         result= disk_write(buffer,block_number);
         if(result == 0)
         {
@@ -315,8 +322,8 @@
     }
      if(sid==0x05)
     {
-        //block_number= LOG_FIRST +(fsc%(LOG_FIRST - LOG_FIRST +1))-1;
-        block_number= LOG_FIRST +fsc;
+        block_number= LOG_FIRST +(fsc%(LOG_FIRST - LOG_FIRST +1))-1;
+        //block_number= LOG_FIRST +fsc;
         result= disk_write(buffer,block_number);
         if(result == 0)
         {
@@ -325,13 +332,13 @@
         }
         return result;
     }
-    }*/
-    return 1;
+    }
+   // return 1;
 }
 
 uint8_t SD_READ(uint8_t* buffer,uint32_t fsc,uint8_t sid)
 {
-    /*FCTN_SD_MNGR();
+    FCTN_SD_MNGR();
     uint32_t block_number;
     int result;
     //if(SD_SW_EN_DS == 1)
@@ -341,7 +348,7 @@
         if(!(FSC_LAST[1]<=fsc && fsc<=FSC_CURRENT[1])){
             return 0x86;
         }
-        block_number=SD_SCP_FIRST + fsc;
+        block_number=SD_SCP_FIRST+(fsc%(SD_SCP_LAST-SD_SCP_FIRST+1))-1;
         result= disk_read(buffer,block_number);
     }
    else if(sid==0x02)
@@ -349,7 +356,7 @@
         if(!(FSC_LAST[2]<=fsc && fsc<=FSC_CURRENT[2])){
             return 0x86;
         }
-        block_number=SD_SFF_AT_FIRST + fsc;
+        block_number= SD_SFF_AT_FIRST+(fsc%(SD_SFF_AT_LAST - SD_SFF_AT_FIRST+1))-1;
         result= disk_read(buffer,block_number);
     }
     else if(sid==0x03)
@@ -357,7 +364,7 @@
         if(!(FSC_LAST[3]<=fsc && fsc<=FSC_CURRENT[3])){
             return 0x86;
         }
-        block_number=SD_SFF_BT_FIRST + fsc;
+        block_number= SD_SFF_BT_FIRST +(fsc%(SD_SFF_BT_LAST - SD_SFF_BT_FIRST +1))-1;
         result= disk_read(buffer,block_number);
     }
     else if(sid==0x04)
@@ -365,7 +372,7 @@
         if(!(FSC_LAST[4]<=fsc && fsc<=FSC_CURRENT[4])){
             return 0x86;
         }
-        block_number=SD_HK_ARCH_FIRST + fsc;
+        block_number=SD_HK_ARCH_FIRST +(fsc%(SD_HK_ARCH_LAST - SD_HK_ARCH_FIRST +1))-1;
         result= disk_read(buffer,block_number);
     }
     else if(sid==0x05)
@@ -373,7 +380,7 @@
         if(!(FSC_LAST[5]<=fsc && fsc<=FSC_CURRENT[5])){
             return 0x86;
         }
-        block_number=LOG_FIRST +fsc;
+        block_number= LOG_FIRST +(fsc%(LOG_FIRST - LOG_FIRST +1))-1;
         result= disk_read(buffer,block_number);
     }
     else
@@ -383,7 +390,7 @@
     if(result == 0)
         return 0xA0;
     else
-        return 0x88;*/
+        return 0x88;
     return 0xA0;
 }
 
--- a/main.cpp	Sat Sep 10 07:06:59 2016 +0000
+++ b/main.cpp	Sun Oct 09 07:08:34 2016 +0000
@@ -69,17 +69,21 @@
     spi.format(8,0);
     spi.frequency(500000);
 
+    SD_SW_EN_DS = 0; 
+    wait(1);
+    SD_SW_EN_DS = 1;
+    wait(1);
     // SD CARD
     cs_sd = 1;
     gCS_RTC = 1;
     gCS_ADF = 1;
     
     FCTN_CDMS_INIT_RTC();/* rtc initialization*/
-    //FCTN_CDMS_SD_INIT();/* sd card initialization*/
+    FCTN_CDMS_SD_INIT();/* sd card initialization*/
     
     
     uint8_t test[512] = {0};
-    //disk_write(test,7000); //to be used only just before launch
+    disk_write(test,8000); //to be used only just before launch
     
     #if DEBUG
     gPC.puts("welcome to mng_tmtc\r\n");
@@ -93,13 +97,13 @@
     
     // COM_MNG_TMTC THREAD
     gCOM_MNG_TMTC_THREAD = new Thread(COM_MNG_TMTC_FUN);
-    gCOM_MNG_TMTC_THREAD->set_priority(osPriorityHigh);
+    gCOM_MNG_TMTC_THREAD->set_priority(osPriorityRealtime);
     
     gHK_THREAD = new Thread(FCTN_CDMS_HK_MAIN);
     gHK_THREAD->set_priority(osPriorityAboveNormal);
     
     gSCIENCE_THREAD = new Thread(SCIENCE_FUN);
-    gSCIENCE_THREAD->set_priority(osPriorityAboveNormal);
+    gSCIENCE_THREAD->set_priority(osPriorityHigh);
     
     #if DEBUG
     gPC.puts("completed allocating threads\r\n");
@@ -108,7 +112,7 @@
     master.frequency(400000);
     
     HK_counter = new RtosTimer(hk_isr, osTimerPeriodic,(void * )NULL);
-    //gHK_THREAD->signal_set(HK_SIGNAL);
+    gHK_THREAD->signal_set(HK_SIGNAL);
     HK_counter->start(10000);
     
     sys_reset_cdms_timer = new RtosTimer(sys_pwr_reset, osTimerPeriodic, (void * )NULL);