To fix the hang problem

Dependencies:   FreescaleIAP SimpleDMA mbed-rtos mbed

Fork of CDMS_CODE by shubham c

Files at this revision

API Documentation at this revision

Comitter:
ee12b079
Date:
Fri Aug 26 14:40:29 2016 +0000
Parent:
290:3159ff1081a2
Child:
293:442564c72202
Commit message:
Testing , mutex issue solved

Changed in this revision

CDMS_HK.h Show annotated file Show diff for this revision Revisions of this file
COM_MNG_TMTC.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
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/CDMS_HK.h	Sun Aug 07 10:36:59 2016 +0000
+++ b/CDMS_HK.h	Fri Aug 26 14:40:29 2016 +0000
@@ -49,6 +49,7 @@
     {
         FCTN_CDMS_PL_MAIN((void const *)NULL);
         hk_count--;
+        gMutex.unlock();
         continue;       
     }
     else if(hk_count == 0)
--- a/COM_MNG_TMTC.h	Sun Aug 07 10:36:59 2016 +0000
+++ b/COM_MNG_TMTC.h	Fri Aug 26 14:40:29 2016 +0000
@@ -1634,8 +1634,8 @@
         COM_POWER_OFF_TX;\
         reset_all;\
         /*ENABLE THREADS*/\
-        /*gPAY_SPI->bulkRead_resume(&payload_isr_fun)*/;\
-        HK_counter->start(10000);\
+        gPAY_SPI->bulkRead_resume(&payload_isr_fun);\
+        /*HK_counter->start(10000)*/;\
         gSESSION_TIMEOUT.detach();\
         gFLAGS = gFLAGS & (~COM_MNG_TMTC_RUNNING_FLAG);\
         gFLAGS = gFLAGS & (~COM_SESSION_FLAG);\
--- a/ThreadsAndFunctions.h	Sun Aug 07 10:36:59 2016 +0000
+++ b/ThreadsAndFunctions.h	Fri Aug 26 14:40:29 2016 +0000
@@ -32,8 +32,8 @@
         if(dma)
         {
             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);
         }
         /*else
         gPC.printf("\n\rDMA error");*/
@@ -187,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);
--- a/main.cpp	Sun Aug 07 10:36:59 2016 +0000
+++ b/main.cpp	Fri Aug 26 14:40:29 2016 +0000
@@ -109,7 +109,7 @@
     
     HK_counter = new RtosTimer(hk_isr, osTimerPeriodic,(void * )NULL);
     //gHK_THREAD->signal_set(HK_SIGNAL);
-    HK_counter->start(10000);
+    //HK_counter->start(10000);
     
     sys_reset_cdms_timer = new RtosTimer(sys_pwr_reset, osTimerPeriodic, (void * )NULL);
     sys_reset_cdms_timer->start(cdms_reset_timeout);