cdms_update

Dependencies:   FreescaleIAP mbed-rtos mbed

Fork of CDMS_SD_MNG_OVERDRIVE by saikiran cholleti

Committer:
pradeepvk2208
Date:
Thu Jan 21 14:46:28 2016 +0000
Revision:
1:ad3b8a8032e2
Parent:
0:bcbd76c86cde
cdms_updated

Who changed what in which revision?

UserRevisionLine numberNew 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 }