FM
Dependencies: SimpleDMA eeprom mbed-rtos mbed FreescaleIAP
Fork of CDMS_CODE by
Diff: ThreadsAndFunctions.h
- 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);