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.
Fork of TFOX_CDMS_VR_1_0_WORKING by
main.cpp
- Committer:
- sakthipriya
- Date:
- 2015-06-16
- Revision:
- 3:0c3f7c3fabc9
- Parent:
- 2:4c79b3dfef31
- Child:
- 4:cc85cfaa2086
File content as of revision 3:0c3f7c3fabc9:
#include "mbed.h" #include "rtos.h" #include "func_head.h" #include "i2c.h" Serial pc(USBTX,USBRX); extern SPISlave pl_spi ; // mosi, miso, sclk, ssel --> using SPI1 InterruptIn pl_sc_data(PTC3); InterruptIn cdms_rcv_tc(PTC12); InterruptIn bae_tm_rcv(PTC11); InterruptIn pl_tm_rcv(PTC10); extern I2C master; extern DigitalOut irpt_2_slv; char i2c_data[25]; /*****************************************************************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) { uint8_t* rtc_data; pc.printf("in FUNC_CDMS_HK_MAIN()\r\n"); FCTN_MASTER_I2C('h' , i2c_data ); rtc_data = FUNC_CDMS_RD_RTC(); printf("\n\r rtc exited\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() { printf("\n\r CDMS Activated \n"); 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); master.frequency(100000); RtosTimer TIMER_HK_ACQ(TSC_CDMS_HK_MAIN,osTimerPeriodic); TIMER_HK_ACQ.start(20000); irpt_2_slv = 1; 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); FUNC_INIT_RTC(); while(1); }