vr1.1
Dependencies: FreescaleIAP mbed-rtos mbed
Fork of CDMS_RTOS_v1_1 by
Diff: main.cpp
- Revision:
- 8:607ae92fa6af
- Parent:
- 7:c270a9e37290
- Child:
- 9:7ff6d75cc09e
--- a/main.cpp Fri Jul 03 08:38:12 2015 +0000 +++ b/main.cpp Sat Jul 04 08:56:34 2015 +0000 @@ -1,49 +1,12 @@ /*Header Files*/ #include "mbed.h" #include "rtos.h" -#include "func_head.h" -#include "i2c.h" -#include "SDCard.h" -#include "hk_cdms.h" -#include "power.h" -/*End*/ - -/*Hash define parameters*/ -#define HK_DATA 25 //Total Hk data that is to be stored in SD card -#define HK_ITER 5 //The iterations after which the HK data will be stored in the SD card -/*End*/ - -Serial pc(USBTX,USBRX); - -/*Configuring pins*/ -InterruptIn pl_sc_data(PTC3); //interrupt from payload to send science data -InterruptIn cdms_rcv_tc(PTC12); //interrupt from comm b4 sending tc -InterruptIn bae_tm_rcv(PTC11); //interrupt from bae b4 sending tm -InterruptIn pl_tm_rcv(PTC10); ////interrupt from bae b4 sending tm +#include "main.h" +#include "Flags.h" +#include "all_funcs.h" /*End*/ -/*Delclaring extern objects*/ -extern I2C master; -extern DigitalOut irpt_2_slv; -extern SPISlave pl_spi ; // mosi, miso, sclk, ssel --> using SPI1 -/*End*/ - -/*Declaring global variables*/ -char i2c_data[25]; -int hk_count=0; -uint8_t hk_data[512]; -uint8_t rtc_data[8]; -uint64_t hk_block_number = 1; -/*End*/ - -/*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; -/*End*/ +Serial pc(USBTX, USBRX); /*All Threads*/ void T_CDMS_RLY_TC(void const *args) @@ -61,7 +24,7 @@ while(1) { Thread::signal_wait(0x3); - pc.printf("in T_CDMS_RLY_TM\r\n"); + pc.printf("\rin T_CDMS_RLY_TM\r\n"); FCTN_CDMS_RLY_TM(); } } @@ -71,50 +34,24 @@ while(1) { Thread::signal_wait(0x1); - pc.printf("in T_PL_RCV_SC_DATA\r\n"); + pc.printf("\rin T_PL_RCV_SC_DATA\r\n"); FCTN_PL_RCV_SC_DATA(); } } /*End*/ /*RTOS Scheduler*/ -void TSC_CDMS_HK_MAIN(void const *args) +void T_SC(void const *args) { - pc.printf("in FCTN_CDMS_HK_MAIN()\r\n"); - FCTN_MASTER_I2C('h' , i2c_data ); //BAE hk data is collected - FCTN_CDMS_RD_RTC(rtc_data); //RTC data is read to the rtc_data. - for(int i=(hk_count%(HK_ITER+1))*(HK_DATA+8);i<(hk_count%(HK_ITER+1))*(HK_DATA+8)+8;i++) - { - hk_data[i] = rtc_data[i-(hk_count%(HK_ITER+1))*(HK_DATA+8)]; - } - for(int i=(hk_count%(HK_ITER+1))*(HK_DATA+8)+8;i<(hk_count%(HK_ITER+1))*(HK_DATA+8)+8+HK_DATA;i++) - { - hk_data[i] = i2c_data[i-(hk_count%(HK_ITER+1))*(HK_DATA+8)+8]; - } - hk_count++; - if(hk_count%HK_ITER==0) + sc_timer++; + if(sc_timer%18==0) { - for(int i=(hk_count%(HK_ITER+1))*(HK_DATA+8)+8+HK_DATA;i<512;i++) - { - hk_data[i] = '/0'; - } - hk_count = 0; - FCTN_WR_SD(hk_data,hk_block_number); // HK data is written to the SD card - for(int i=0;i<512;i++) - { - hk_data[i] = '/0'; - } - FCTN_RD_SD(hk_data,hk_block_number); - hk_block_number++; - printf("\n\r sd card hk data\n"); - for(int i=0;i<512;i++) - { - pc.printf("%d|",hk_data[i]); - } - // FCTN_CDMS_HK_MAIN(); - FCTN_POWER_MODE(80); //to check dummy power algo + FCTN_CDMS_HK_MAIN; } - pc.printf("\n\r hk exited\n"); + if(sc_timer%9==0) + { + FCTN_PL_MAIN; + } } /*End*/ @@ -143,7 +80,7 @@ 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); + RtosTimer TIMER_HK_ACQ(T_SC,osTimerPeriodic); TIMER_HK_ACQ.start(10000); irpt_2_slv = 1; pl_sc_data.rise(&ISR_PL_RCV_SC_DATA);