Repository for CDMS code

Dependencies:   SimpleDMA mbed-rtos mbed eeprom

Fork of COM_MNG_TMTC_SIMPLE by Shreesha S

Revision:
290:3159ff1081a2
Parent:
289:9bd62b69874c
Child:
292:61aa2169ea1c
--- a/ThreadsAndFunctions.h	Sat Aug 06 06:34:38 2016 +0000
+++ b/ThreadsAndFunctions.h	Sun Aug 07 10:36:59 2016 +0000
@@ -12,22 +12,31 @@
     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);
+    gPC.printf("\n\rTest...........................");
     gPAY_SPI->bulkRead_init(gPAYLOAD_BUFFER, PAYLOAD_BUFFER_LENGTH, &payload_isr_fun);
     gPAY_SPI->bulkRead_start();
-    //gPAY_SPI->bulkRead_pause();
-    //gPAY_SPI->bulkRead_resume(&payload_isr_fun);
+    gPAY_SPI->bulkRead_pause();
+    gPAY_SPI->bulkRead_resume(&payload_isr_fun);
     while(true){
         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");
         //for(int i =0; i<PAYLOAD_BUFFER_LENGTH; i++)
         //if (gPAYLOAD_BUFFER[i] != 0) gPC.printf("not zero");  
+        //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*/
         if(dma)
-        gPAY_SPI->bulkRead_start();
+        {
+            gPAY_SPI->bulkRead_start();
+            gPAY_SPI->bulkRead_pause();
+            gPAY_SPI->bulkRead_resume(&payload_isr_fun);
+        }
+        /*else
+        gPC.printf("\n\rDMA error");*/
         gMutex.unlock();
     }
 }
@@ -161,7 +170,7 @@
         }
         else if( gFLAGS & NEW_TC_RECEIVED ){
             gPC.puts("NEW TC RECEIVED\r\n");
-            //Thread::wait(10000);
+            Thread::wait(2000);
             gFLAGS = gFLAGS & (~NEW_TC_RECEIVED);
             gFLAGS = gFLAGS | COM_MNG_TMTC_RUNNING_FLAG;
 
@@ -178,7 +187,7 @@
             gFLAGS = gFLAGS & (~COM_RX_FLAG);
             
             //Mutex
-            gMutex.lock();
+            //gMutex.lock();
             
             if( gTOTAL_VALID_TC > 0 ){
                 gPC.printf("valid TC rx: %u\r\n", gTOTAL_VALID_TC);