things are working
Dependencies: FreescaleIAP mbed-rtos mbed
Fork of CDMS_DEC_2016_jan by
main.cpp@1:ad3b8a8032e2, 2016-01-21 (annotated)
- Committer:
- pradeepvk2208
- Date:
- Thu Jan 21 14:46:28 2016 +0000
- Revision:
- 1:ad3b8a8032e2
- Parent:
- 0:bcbd76c86cde
- Child:
- 3:23cdab96a05d
cdms_updated
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
cholletisaik777 | 0:bcbd76c86cde | 1 | #include "mbed.h" |
cholletisaik777 | 0:bcbd76c86cde | 2 | #include "rtos.h" |
cholletisaik777 | 0:bcbd76c86cde | 3 | #include "pinconfig.h" |
cholletisaik777 | 0:bcbd76c86cde | 4 | #include "cdms_sd.h" |
cholletisaik777 | 0:bcbd76c86cde | 5 | #include "structure.h" |
cholletisaik777 | 0:bcbd76c86cde | 6 | #include "i2c.h" |
cholletisaik777 | 0:bcbd76c86cde | 7 | #include "cdms_rtc.h" |
cholletisaik777 | 0:bcbd76c86cde | 8 | #include "main_funcs.h" |
pradeepvk2208 | 1:ad3b8a8032e2 | 9 | #include "CDMS_HK.h" |
cholletisaik777 | 0:bcbd76c86cde | 10 | #include "TMTC.h" |
pradeepvk2208 | 1:ad3b8a8032e2 | 11 | #include "main.h" |
pradeepvk2208 | 1:ad3b8a8032e2 | 12 | |
cholletisaik777 | 0:bcbd76c86cde | 13 | |
cholletisaik777 | 0:bcbd76c86cde | 14 | Serial pc(USBTX,USBRX); |
cholletisaik777 | 0:bcbd76c86cde | 15 | |
cholletisaik777 | 0:bcbd76c86cde | 16 | Thread *ptr_t_sc_data; |
cholletisaik777 | 0:bcbd76c86cde | 17 | Thread *ptr_t_tmtc; |
cholletisaik777 | 0:bcbd76c86cde | 18 | |
cholletisaik777 | 0:bcbd76c86cde | 19 | InterruptIn pl_sc_data(PIN81); |
pradeepvk2208 | 1:ad3b8a8032e2 | 20 | InterruptIn cdms_rcv_tc(PIN38); |
pradeepvk2208 | 1:ad3b8a8032e2 | 21 | extern DigitalOut irpt_2_slv; |
pradeepvk2208 | 1:ad3b8a8032e2 | 22 | |
cholletisaik777 | 0:bcbd76c86cde | 23 | |
cholletisaik777 | 0:bcbd76c86cde | 24 | /* only for sd testing*/ |
cholletisaik777 | 0:bcbd76c86cde | 25 | uint8_t write_to_sd[512]; |
cholletisaik777 | 0:bcbd76c86cde | 26 | uint8_t read_from_sd[512]; |
cholletisaik777 | 0:bcbd76c86cde | 27 | /*end*/ |
cholletisaik777 | 0:bcbd76c86cde | 28 | |
cholletisaik777 | 0:bcbd76c86cde | 29 | Base_tc *tc_test = new Long_tc; |
cholletisaik777 | 0:bcbd76c86cde | 30 | Base_tm *tm_test = new Long_tm; |
cholletisaik777 | 0:bcbd76c86cde | 31 | |
pradeepvk2208 | 1:ad3b8a8032e2 | 32 | |
pradeepvk2208 | 1:ad3b8a8032e2 | 33 | |
pradeepvk2208 | 1:ad3b8a8032e2 | 34 | |
cholletisaik777 | 0:bcbd76c86cde | 35 | void TSC_HK_BAE_CDMS_PL_MODE(void const *args) |
cholletisaik777 | 0:bcbd76c86cde | 36 | { |
pradeepvk2208 | 1:ad3b8a8032e2 | 37 | |
pradeepvk2208 | 1:ad3b8a8032e2 | 38 | FCTN_CDMS_HK_MAIN(); |
pradeepvk2208 | 1:ad3b8a8032e2 | 39 | |
cholletisaik777 | 0:bcbd76c86cde | 40 | } |
cholletisaik777 | 0:bcbd76c86cde | 41 | |
cholletisaik777 | 0:bcbd76c86cde | 42 | void BAE_HK() |
cholletisaik777 | 0:bcbd76c86cde | 43 | { |
cholletisaik777 | 0:bcbd76c86cde | 44 | printf("\n\rBAE_HK Function Executed\r\n"); |
cholletisaik777 | 0:bcbd76c86cde | 45 | } |
cholletisaik777 | 0:bcbd76c86cde | 46 | |
pradeepvk2208 | 1:ad3b8a8032e2 | 47 | |
cholletisaik777 | 0:bcbd76c86cde | 48 | |
cholletisaik777 | 0:bcbd76c86cde | 49 | void PL_MODE() |
cholletisaik777 | 0:bcbd76c86cde | 50 | { |
cholletisaik777 | 0:bcbd76c86cde | 51 | printf("\n\rPL_MODE Function Executed\r\n"); |
pradeepvk2208 | 1:ad3b8a8032e2 | 52 | |
cholletisaik777 | 0:bcbd76c86cde | 53 | } |
cholletisaik777 | 0:bcbd76c86cde | 54 | |
cholletisaik777 | 0:bcbd76c86cde | 55 | void T_CDMS_RLY_TMTC(void const *args) |
cholletisaik777 | 0:bcbd76c86cde | 56 | { |
pradeepvk2208 | 1:ad3b8a8032e2 | 57 | |
pradeepvk2208 | 1:ad3b8a8032e2 | 58 | |
pradeepvk2208 | 1:ad3b8a8032e2 | 59 | printf("\rin T_CDMS_RLY_TMTC\r\n"); |
pradeepvk2208 | 1:ad3b8a8032e2 | 60 | printf("\r \n Enter a valid TC \n\r"); |
pradeepvk2208 | 1:ad3b8a8032e2 | 61 | uint8_t read; |
pradeepvk2208 | 1:ad3b8a8032e2 | 62 | /* for(int i=0;i <4 ; i++) |
pradeepvk2208 | 1:ad3b8a8032e2 | 63 | { |
pradeepvk2208 | 1:ad3b8a8032e2 | 64 | scanf("%d",&tc_test->TC_string[i]); |
pradeepvk2208 | 1:ad3b8a8032e2 | 65 | }*/ |
pradeepvk2208 | 1:ad3b8a8032e2 | 66 | |
pradeepvk2208 | 1:ad3b8a8032e2 | 67 | tc_test->TC_string[0] = 43; |
pradeepvk2208 | 1:ad3b8a8032e2 | 68 | tc_test->TC_string[1] = 0x40; |
pradeepvk2208 | 1:ad3b8a8032e2 | 69 | tc_test->TC_string[2] = 0x81; |
pradeepvk2208 | 1:ad3b8a8032e2 | 70 | tc_test->TC_string[3] = 0x13; |
pradeepvk2208 | 1:ad3b8a8032e2 | 71 | |
cholletisaik777 | 0:bcbd76c86cde | 72 | for(int i=4;i < 135 ; i++) |
cholletisaik777 | 0:bcbd76c86cde | 73 | tc_test->TC_string[i] = 43; |
cholletisaik777 | 0:bcbd76c86cde | 74 | printf("%s", tc_test->TC_string); |
cholletisaik777 | 0:bcbd76c86cde | 75 | tm_test = FCTN_CDMS_RLY_TMTC(tc_test); |
cholletisaik777 | 0:bcbd76c86cde | 76 | printf("%s", tm_test->TM_string); |
cholletisaik777 | 0:bcbd76c86cde | 77 | // for(int i =0;i<134;i++)\ |
cholletisaik777 | 0:bcbd76c86cde | 78 | // { |
cholletisaik777 | 0:bcbd76c86cde | 79 | // printf("ack"); |
cholletisaik777 | 0:bcbd76c86cde | 80 | // printf("%c", tm_test->TM_string[i]); |
cholletisaik777 | 0:bcbd76c86cde | 81 | // } |
cholletisaik777 | 0:bcbd76c86cde | 82 | //FUNC_CDMS_RLY_TM(); |
pradeepvk2208 | 1:ad3b8a8032e2 | 83 | |
cholletisaik777 | 0:bcbd76c86cde | 84 | } |
cholletisaik777 | 0:bcbd76c86cde | 85 | |
cholletisaik777 | 0:bcbd76c86cde | 86 | void T_PL_RCV_SC_DATA(void const *args) |
cholletisaik777 | 0:bcbd76c86cde | 87 | { |
cholletisaik777 | 0:bcbd76c86cde | 88 | while(1) |
cholletisaik777 | 0:bcbd76c86cde | 89 | { |
cholletisaik777 | 0:bcbd76c86cde | 90 | Thread::signal_wait(0x1); |
pradeepvk2208 | 1:ad3b8a8032e2 | 91 | //uint8_t* buff=FCTN_PL_RCV_SC_DATA(); |
pradeepvk2208 | 1:ad3b8a8032e2 | 92 | uint8_t* buff; |
cholletisaik777 | 0:bcbd76c86cde | 93 | FCTN_COM_COMP_SC_DATA(); |
cholletisaik777 | 0:bcbd76c86cde | 94 | FCTN_CDMS_RD_RTC(); |
pradeepvk2208 | 1:ad3b8a8032e2 | 95 | uint8_t fsc=FCTN_SD_MNGR(0x0); |
pradeepvk2208 | 1:ad3b8a8032e2 | 96 | SD_WRITE(buff,fsc,0x0); |
pradeepvk2208 | 1:ad3b8a8032e2 | 97 | /*for(int i=0;i<512;i++) |
cholletisaik777 | 0:bcbd76c86cde | 98 | { |
cholletisaik777 | 0:bcbd76c86cde | 99 | printf("%d",read_from_sd[i]); |
pradeepvk2208 | 1:ad3b8a8032e2 | 100 | }*/ |
cholletisaik777 | 0:bcbd76c86cde | 101 | } |
cholletisaik777 | 0:bcbd76c86cde | 102 | } |
cholletisaik777 | 0:bcbd76c86cde | 103 | |
cholletisaik777 | 0:bcbd76c86cde | 104 | void ISR_PL_RCV_SC_DATA() |
cholletisaik777 | 0:bcbd76c86cde | 105 | { |
cholletisaik777 | 0:bcbd76c86cde | 106 | ptr_t_sc_data->signal_set(0x1); |
cholletisaik777 | 0:bcbd76c86cde | 107 | } |
cholletisaik777 | 0:bcbd76c86cde | 108 | |
pradeepvk2208 | 1:ad3b8a8032e2 | 109 | /*uint8_t* FCTN_PL_RCV_SC_DATA() |
cholletisaik777 | 0:bcbd76c86cde | 110 | { |
cholletisaik777 | 0:bcbd76c86cde | 111 | printf("\n\rFCTN_PL_RCV_SC_DATA Function Executed\r\n"); |
pradeepvk2208 | 1:ad3b8a8032e2 | 112 | uint8_t buff[512]; |
pradeepvk2208 | 1:ad3b8a8032e2 | 113 | for(int i=0;i<512;i++) |
pradeepvk2208 | 1:ad3b8a8032e2 | 114 | { |
pradeepvk2208 | 1:ad3b8a8032e2 | 115 | buff[i]=0x32; |
pradeepvk2208 | 1:ad3b8a8032e2 | 116 | } |
pradeepvk2208 | 1:ad3b8a8032e2 | 117 | return buff; |
pradeepvk2208 | 1:ad3b8a8032e2 | 118 | |
pradeepvk2208 | 1:ad3b8a8032e2 | 119 | } */ |
cholletisaik777 | 0:bcbd76c86cde | 120 | |
cholletisaik777 | 0:bcbd76c86cde | 121 | void FCTN_COM_COMP_SC_DATA() |
cholletisaik777 | 0:bcbd76c86cde | 122 | { |
cholletisaik777 | 0:bcbd76c86cde | 123 | printf("\n\rFCTN_COM_COMP_SC_DATA Function Executed\r\n"); |
cholletisaik777 | 0:bcbd76c86cde | 124 | } |
cholletisaik777 | 0:bcbd76c86cde | 125 | |
pradeepvk2208 | 1:ad3b8a8032e2 | 126 | |
pradeepvk2208 | 1:ad3b8a8032e2 | 127 | |
pradeepvk2208 | 1:ad3b8a8032e2 | 128 | void ISR_TMTC_THREAD() |
cholletisaik777 | 0:bcbd76c86cde | 129 | { |
pradeepvk2208 | 1:ad3b8a8032e2 | 130 | ptr_t_tmtc->signal_set(0x3); |
cholletisaik777 | 0:bcbd76c86cde | 131 | } |
pradeepvk2208 | 1:ad3b8a8032e2 | 132 | |
cholletisaik777 | 0:bcbd76c86cde | 133 | |
cholletisaik777 | 0:bcbd76c86cde | 134 | int main() |
cholletisaik777 | 0:bcbd76c86cde | 135 | { |
pradeepvk2208 | 1:ad3b8a8032e2 | 136 | irpt_2_slv=0; |
pradeepvk2208 | 1:ad3b8a8032e2 | 137 | FCTN_CDMS_SD_INIT(); |
cholletisaik777 | 0:bcbd76c86cde | 138 | FCTN_CDMS_INIT_RTC(); |
pradeepvk2208 | 1:ad3b8a8032e2 | 139 | RtosTimer TIMER_HK_ACQ(T_CDMS_RLY_TMTC,osTimerPeriodic); |
pradeepvk2208 | 1:ad3b8a8032e2 | 140 | TIMER_HK_ACQ.start(20000); |
cholletisaik777 | 0:bcbd76c86cde | 141 | ptr_t_tmtc = new Thread (T_CDMS_RLY_TMTC); |
cholletisaik777 | 0:bcbd76c86cde | 142 | ptr_t_sc_data = new Thread (T_PL_RCV_SC_DATA); |
cholletisaik777 | 0:bcbd76c86cde | 143 | pl_sc_data.rise(&ISR_PL_RCV_SC_DATA); |
pradeepvk2208 | 1:ad3b8a8032e2 | 144 | cdms_rcv_tc.rise(&ISR_TMTC_THREAD); |
pradeepvk2208 | 1:ad3b8a8032e2 | 145 | while(1) |
pradeepvk2208 | 1:ad3b8a8032e2 | 146 | { |
pradeepvk2208 | 1:ad3b8a8032e2 | 147 | Thread::wait(10); |
pradeepvk2208 | 1:ad3b8a8032e2 | 148 | |
pradeepvk2208 | 1:ad3b8a8032e2 | 149 | } |
cholletisaik777 | 0:bcbd76c86cde | 150 | } |