Repository for CDMS code
Dependencies: SimpleDMA mbed-rtos mbed eeprom
Fork of COM_MNG_TMTC_SIMPLE by
Diff: ThreadsAndFunctions.h
- Revision:
- 237:12061b714e47
- Parent:
- 232: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); }