vr1.1
Dependencies: FreescaleIAP mbed-rtos mbed
Fork of CDMS_RTOS_v1_1 by
Diff: main.cpp
- Revision:
- 0:d6e3d1e21484
- Child:
- 2:4c79b3dfef31
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Jun 15 12:16:59 2015 +0000 @@ -0,0 +1,90 @@ +#include "mbed.h" +#include "rtos.h" +#include "func_head.h" + +Serial pc(USBTX,USBRX); + +SPISlave pl_spi(PTD6, PTD7, PTD5, PTD4 ); // mosi, miso, sclk, ssel --> using SPI1 + +InterruptIn pl_sc_data(PTC3); +InterruptIn cdms_rcv_tc(PTC12); +InterruptIn bae_tm_rcv(PTA4); +InterruptIn pl_tm_rcv(PTA5); + +/*****************************************************************Threads USed*************************************************************************/ +Thread *ptr_t_hk_acq; //pointer:::::::::to read state of one thread from another +Thread *ptr_t_sc_data; +Thread *ptr_t_tc; +Thread *ptr_t_tm; +Thread *ptr_t_fault; +Thread *ptr_t_wdt; + +void T_CDMS_RLY_TC(void const *args) +{ + while(1) + { + Thread::signal_wait(0x2); + pc.printf("in T_CDMS_RLY_TC\r\n"); + FUNC_CDMS_RLY_TC(); + } +} + +void T_CDMS_RLY_TM(void const *args) +{ + while(1) + { + Thread::signal_wait(0x3); + pc.printf("in T_CDMS_RLY_TM\r\n"); + FUNC_CDMS_RLY_TM(); + } +} + +void T_PL_RCV_SC_DATA(void const *args) +{ + while(1) + { + Thread::signal_wait(0x1); + pc.printf("in T_PL_RCV_SC_DATA\r\n"); + FUNC_PL_RCV_SC_DATA(); + } +} + +void TSC_CDMS_HK_MAIN(void const *args) +{ + pc.printf("in FUNC_CDMS_HK_MAIN()\r\n"); +} + +void ISR_PL_RCV_SC_DATA() +{ + ptr_t_sc_data->signal_set(0x1); +} + +void ISR_CDMS_RLY_TC() +{ + ptr_t_tc->signal_set(0x2); +} + +void ISR_CDMS_RLY_TM() +{ + ptr_t_tm->signal_set(0x3); +} + +int main() { + + ptr_t_tc = new Thread (T_CDMS_RLY_TC); + ptr_t_tm = new Thread (T_CDMS_RLY_TM); + ptr_t_sc_data = new Thread (T_PL_RCV_SC_DATA); + + RtosTimer TIMER_HK_ACQ(TSC_CDMS_HK_MAIN,osTimerPeriodic); + TIMER_HK_ACQ.start(18000); + + pl_sc_data.rise(&ISR_PL_RCV_SC_DATA); + cdms_rcv_tc.rise(&ISR_CDMS_RLY_TC); + bae_tm_rcv.rise(&ISR_CDMS_RLY_TM); + pl_tm_rcv.rise(&ISR_CDMS_RLY_TM); + + pl_spi.format(8,3); // SPI format --> 16 bits, mode = 0 + pl_spi.frequency(1000000); + + while(1); +} \ No newline at end of file