Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: FreescaleIAP SimpleDMA mbed-rtos mbed
Fork of CDMS_CODE by
Diff: ThreadsAndFunctions.h
- Revision:
- 173:f81ded27423d
- Parent:
- 172:c508bbf7e89a
- Child:
- 174:44a6d7c7674c
--- a/ThreadsAndFunctions.h Thu Apr 21 12:45:12 2016 +0000
+++ b/ThreadsAndFunctions.h Fri Apr 22 09:52:38 2016 +0000
@@ -1,3 +1,37 @@
+//Science Thread
+//SPI ISR
+void payload_isr_fun(){
+ gSCIENCE_THREAD->signal_set(SCIENCE_SIGNAL);
+}
+
+#define Init_gPAY_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();\
+ }
+
+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.bulkRead_end();
+ Init_gPAY_SPI;
+
+ while(true){
+ gPC.puts("entering sci\r\n");
+ gSCIENCE_THREAD->signal_wait(SCIENCE_SIGNAL);
+ gPC.puts("sig_set\r\n");
+ srp(gPAYLOAD_BUFFER);
+ gPC.puts("exit_srp\r\n");
+ gPAY_SPI.bulkRead_start();
+ }
+}
+
+//COM THREAD
// UART ISR
void rx_read(){
gRX_CURRENT_DATA_NODE->values[gRX_COUNT] = RX1M.getc();
@@ -163,7 +197,7 @@
reset_all;
gFLAGS = gFLAGS & (~COM_SESSION_VALIDITY);
// PENDING : ENABLE THREADS
- gPAY_SPI.bulkRead_start();
+ Init_gPAY_SPI;
gSESSION_TIMEOUT.detach();
gFLAGS = gFLAGS & (~COM_SESSION_FLAG);
// WARNING: clear COM_MNG_TMTC ?
@@ -216,7 +250,7 @@
gFLAGS = gFLAGS & (~COM_MNG_TMTC_RUNNING_FLAG);
reset_all;
// PENDING : ENABLE THREADS
- gPAY_SPI.bulkRead_start();
+ Init_gPAY_SPI;
gSESSION_TIMEOUT.detach();
gFLAGS = gFLAGS & (~COM_SESSION_FLAG);
}
@@ -256,7 +290,7 @@
/*gPC.puts("session timeout: resetting in main\r\n");*/
COM_POWER_OFF_TX;
/*PENDING : ENABLE THREADS*/
- gPAY_SPI.bulkRead_start();
+
gSESSION_TIMEOUT.detach();
gFLAGS = gFLAGS & (~COM_MNG_TMTC_RUNNING_FLAG);
gFLAGS = gFLAGS & (~COM_SESSION_FLAG);
@@ -268,35 +302,9 @@
COM_POWER_OFF_TX;
reset_all;
// PENDING : ENABLE THREADS
- gPAY_SPI.bulkRead_start();
+ Init_gPAY_SPI;
gSESSION_TIMEOUT.detach();
gFLAGS = gFLAGS & (~COM_SESSION_FLAG);
}
}
-}
-
-void payload_isr_fun(){
- gSCIENCE_THREAD->signal_set(SCIENCE_SIGNAL);
-}
-
-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.bulkRead_end();
- 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);
- gPC.puts("sig_set\r\n");
- srp(gPAYLOAD_BUFFER);
- gPC.puts("exit_srp\r\n");
- gPAY_SPI.bulkRead_start();
- }
}
\ No newline at end of file
