CDMS code for testing sbc

Dependencies:   FreescaleIAP SimpleDMA mbed-rtos mbed

Fork of CDMS_CODE by shubham c

Revision:
237:12061b714e47
Parent:
231:b1458c1e9199
Child:
238:4abbc6a3a641
--- a/ThreadsAndFunctions.h	Wed Jul 06 08:09:22 2016 +0000
+++ b/ThreadsAndFunctions.h	Thu Jul 07 16:45:05 2016 +0000
@@ -9,22 +9,19 @@
 }
 
 void SCIENCE_FUN(void const *args){
-    
-    // initialisation of payload spi
-    gPAY_SPI.frequency(1000000);
-    gPAY_SPI.format(8,0);
-    gPAY_SPI.bulkRead_init(gPAYLOAD_BUFFER, PAYLOAD_BUFFER_LENGTH, &payload_isr_fun);
-    gPAY_SPI.bulkRead_start();
-    
+    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->bulkRead_init(gPAYLOAD_BUFFER, PAYLOAD_BUFFER_LENGTH, &payload_isr_fun);
+    gPAY_SPI->bulkRead_start();
     while(true){
         gPC.puts("entering sci\r\n");
         gSCIENCE_THREAD->signal_wait(SCIENCE_SIGNAL);
-        PL_wo_dma->stop();//
         gPC.puts("sig_set\r\n");
         srp(gPAYLOAD_BUFFER);
         gPC.puts("exit_srp\r\n");
-        //gPAY_SPI.bulkRead_start();
-        
+        wait(2);/*timeout to be decided*/
+        gPAY_SPI->bulkRead_start();
     }
 }
 
@@ -110,7 +107,7 @@
             gFLAGS = gFLAGS & (~UART_INT_FLAG);
             if( !(gFLAGS & COM_SESSION_FLAG) ){
                 // PENDING : DISABLE THREADS
-                PL_wo_dma->stop();
+                gPAY_SPI->bulkRead_pause();
                 gFLAGS = gFLAGS | COM_SESSION_FLAG;
                 gSESSION_TIMEOUT.attach(&after_session, SESSION_TIME_LIMIT);
                 gFLAGS = gFLAGS | COM_RX_FLAG;
@@ -194,7 +191,7 @@
                             reset_all;
                             gFLAGS = gFLAGS & (~COM_SESSION_VALIDITY);
                             // PENDING : ENABLE THREADS
-                            /*PL_wo_dma->start(6000);*/
+                            gPAY_SPI->bulkRead_resume(&payload_isr_fun);
                             gSESSION_TIMEOUT.detach();
                             gFLAGS = gFLAGS & (~COM_SESSION_FLAG);
                             // WARNING: clear COM_MNG_TMTC ?
@@ -247,7 +244,7 @@
                 gFLAGS = gFLAGS & (~COM_MNG_TMTC_RUNNING_FLAG);
                 reset_all;
                 // PENDING : ENABLE THREADS
-                /*PL_wo_dma->start(6000);*/
+                gPAY_SPI->bulkRead_resume(&payload_isr_fun);
                 gSESSION_TIMEOUT.detach();
                 gFLAGS = gFLAGS & (~COM_SESSION_FLAG);
             }
@@ -287,7 +284,7 @@
             /*gPC.puts("session timeout: resetting in main\r\n");*/
             COM_POWER_OFF_TX;
             /*PENDING : ENABLE THREADS*/
-            
+            gPAY_SPI->bulkRead_resume(&payload_isr_fun);
             gSESSION_TIMEOUT.detach();
             gFLAGS = gFLAGS & (~COM_MNG_TMTC_RUNNING_FLAG);
             gFLAGS = gFLAGS & (~COM_SESSION_FLAG);
@@ -299,7 +296,7 @@
             COM_POWER_OFF_TX;
             reset_all;
             // PENDING : ENABLE THREADS
-            /*PL_wo_dma->start(6000);*/
+            gPAY_SPI->bulkRead_resume(&payload_isr_fun);
             gSESSION_TIMEOUT.detach();
             gFLAGS = gFLAGS & (~COM_SESSION_FLAG);
         }