aadadf

Dependencies:   mbed-rtos mbed

Fork of cdms_rtos_v1_1_test by Team Fox

Committer:
sureshsusurla
Date:
Sat Nov 07 09:55:44 2015 +0000
Revision:
0:4da7c8fdd429
Child:
1:c0c5ac8eac80
cdms_rtos_v1_1_working_01_11_2015;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sureshsusurla 0:4da7c8fdd429 1 #include "mbed.h"
sureshsusurla 0:4da7c8fdd429 2 #include "rtos.h"
sureshsusurla 0:4da7c8fdd429 3 #include "pinconfig.h"
sureshsusurla 0:4da7c8fdd429 4 #include "cdms_sd.h"
sureshsusurla 0:4da7c8fdd429 5
sureshsusurla 0:4da7c8fdd429 6 Serial main1(USBTX,USBRX);
sureshsusurla 0:4da7c8fdd429 7
sureshsusurla 0:4da7c8fdd429 8 Thread *ptr_t_sc_data;
sureshsusurla 0:4da7c8fdd429 9 Thread *ptr_t_tctm;
sureshsusurla 0:4da7c8fdd429 10
sureshsusurla 0:4da7c8fdd429 11 InterruptIn pl_sc_data(PIN81);
sureshsusurla 0:4da7c8fdd429 12
sureshsusurla 0:4da7c8fdd429 13 /* only for sd testing*/
sureshsusurla 0:4da7c8fdd429 14 uint8_t write_to_sd[512];
sureshsusurla 0:4da7c8fdd429 15 uint8_t read_from_sd[512];
sureshsusurla 0:4da7c8fdd429 16 /* end*/
sureshsusurla 0:4da7c8fdd429 17
sureshsusurla 0:4da7c8fdd429 18 void BAE_HK();
sureshsusurla 0:4da7c8fdd429 19 void CDMS_HK();
sureshsusurla 0:4da7c8fdd429 20 void PL_MODE();
sureshsusurla 0:4da7c8fdd429 21 void FCTN_PL_RCV_SC_DATA();
sureshsusurla 0:4da7c8fdd429 22 void FCTN_COM_COMP_SC_DATA();
sureshsusurla 0:4da7c8fdd429 23
sureshsusurla 0:4da7c8fdd429 24 //extern void FCTN_CDMS_INIT_SD();
sureshsusurla 0:4da7c8fdd429 25 //extern int FCTN_CDMS_WR_SD(const uint8_t *, uint64_t);
sureshsusurla 0:4da7c8fdd429 26 //extern int FCTN_CDMS_RD_SD(uint8_t *, uint64_t);
sureshsusurla 0:4da7c8fdd429 27
sureshsusurla 0:4da7c8fdd429 28 //extern void FCTN_CDMS_INIT_SD();
sureshsusurla 0:4da7c8fdd429 29 extern int disk_write(const uint8_t *, uint64_t);
sureshsusurla 0:4da7c8fdd429 30 extern int disk_read(uint8_t *, uint64_t);
sureshsusurla 0:4da7c8fdd429 31 extern int initialise_card();
sureshsusurla 0:4da7c8fdd429 32 extern int disk_initialize();
sureshsusurla 0:4da7c8fdd429 33
sureshsusurla 0:4da7c8fdd429 34 extern void FCTN_CDMS_INIT_RTC();
sureshsusurla 0:4da7c8fdd429 35 extern void FCTN_CDMS_RD_RTC();
sureshsusurla 0:4da7c8fdd429 36
sureshsusurla 0:4da7c8fdd429 37 void TSC_HK_BAE_CDMS_PL_MODE(void const *args)
sureshsusurla 0:4da7c8fdd429 38 {
sureshsusurla 0:4da7c8fdd429 39 BAE_HK();
sureshsusurla 0:4da7c8fdd429 40 CDMS_HK();
sureshsusurla 0:4da7c8fdd429 41 PL_MODE();
sureshsusurla 0:4da7c8fdd429 42 }
sureshsusurla 0:4da7c8fdd429 43
sureshsusurla 0:4da7c8fdd429 44 void BAE_HK()
sureshsusurla 0:4da7c8fdd429 45 {
sureshsusurla 0:4da7c8fdd429 46 main1.printf("\nBAE_HK Function Executed\r\n");
sureshsusurla 0:4da7c8fdd429 47 }
sureshsusurla 0:4da7c8fdd429 48
sureshsusurla 0:4da7c8fdd429 49 void CDMS_HK()
sureshsusurla 0:4da7c8fdd429 50 {
sureshsusurla 0:4da7c8fdd429 51 main1.printf("\nCDMS_HK Function Executed\r\n");
sureshsusurla 0:4da7c8fdd429 52 FCTN_CDMS_RD_RTC();
sureshsusurla 0:4da7c8fdd429 53 disk_write(write_to_sd,4);
sureshsusurla 0:4da7c8fdd429 54 disk_read(read_from_sd,4);
sureshsusurla 0:4da7c8fdd429 55 for(int i=0;i<512;i++)
sureshsusurla 0:4da7c8fdd429 56 {
sureshsusurla 0:4da7c8fdd429 57 main1.printf("%d",read_from_sd[i]);
sureshsusurla 0:4da7c8fdd429 58 }
sureshsusurla 0:4da7c8fdd429 59 }
sureshsusurla 0:4da7c8fdd429 60
sureshsusurla 0:4da7c8fdd429 61 void PL_MODE()
sureshsusurla 0:4da7c8fdd429 62 {
sureshsusurla 0:4da7c8fdd429 63 main1.printf("\nPL_MODE Function Executed\r\n");
sureshsusurla 0:4da7c8fdd429 64 }
sureshsusurla 0:4da7c8fdd429 65
sureshsusurla 0:4da7c8fdd429 66 void T_CDMS_RLY_TCTM(void const *args)
sureshsusurla 0:4da7c8fdd429 67 {
sureshsusurla 0:4da7c8fdd429 68 while(1)
sureshsusurla 0:4da7c8fdd429 69 {
sureshsusurla 0:4da7c8fdd429 70 Thread::signal_wait(0x3);
sureshsusurla 0:4da7c8fdd429 71 main1.printf("in T_CDMS_RLY_TM\r\n");
sureshsusurla 0:4da7c8fdd429 72 //FUNC_CDMS_RLY_TM();
sureshsusurla 0:4da7c8fdd429 73 }
sureshsusurla 0:4da7c8fdd429 74 }
sureshsusurla 0:4da7c8fdd429 75
sureshsusurla 0:4da7c8fdd429 76 void T_PL_RCV_SC_DATA(void const *args)
sureshsusurla 0:4da7c8fdd429 77 {
sureshsusurla 0:4da7c8fdd429 78 while(1)
sureshsusurla 0:4da7c8fdd429 79 {
sureshsusurla 0:4da7c8fdd429 80 Thread::signal_wait(0x1);
sureshsusurla 0:4da7c8fdd429 81 FCTN_PL_RCV_SC_DATA();
sureshsusurla 0:4da7c8fdd429 82 FCTN_COM_COMP_SC_DATA();
sureshsusurla 0:4da7c8fdd429 83 FCTN_CDMS_RD_RTC();
sureshsusurla 0:4da7c8fdd429 84 disk_write(write_to_sd,2);
sureshsusurla 0:4da7c8fdd429 85 disk_read(read_from_sd,2);
sureshsusurla 0:4da7c8fdd429 86 for(int i=0;i<512;i++)
sureshsusurla 0:4da7c8fdd429 87 {
sureshsusurla 0:4da7c8fdd429 88 main1.printf("%d",read_from_sd[i]);
sureshsusurla 0:4da7c8fdd429 89 }
sureshsusurla 0:4da7c8fdd429 90 }
sureshsusurla 0:4da7c8fdd429 91 }
sureshsusurla 0:4da7c8fdd429 92
sureshsusurla 0:4da7c8fdd429 93 void ISR_PL_RCV_SC_DATA()
sureshsusurla 0:4da7c8fdd429 94 {
sureshsusurla 0:4da7c8fdd429 95 ptr_t_sc_data->signal_set(0x1);
sureshsusurla 0:4da7c8fdd429 96 }
sureshsusurla 0:4da7c8fdd429 97
sureshsusurla 0:4da7c8fdd429 98 void FCTN_PL_RCV_SC_DATA()
sureshsusurla 0:4da7c8fdd429 99 {
sureshsusurla 0:4da7c8fdd429 100 main1.printf("\nFCTN_PL_RCV_SC_DATA Function Executed\r\n");
sureshsusurla 0:4da7c8fdd429 101 }
sureshsusurla 0:4da7c8fdd429 102
sureshsusurla 0:4da7c8fdd429 103 void FCTN_COM_COMP_SC_DATA()
sureshsusurla 0:4da7c8fdd429 104 {
sureshsusurla 0:4da7c8fdd429 105 main1.printf("\nFCTN_COM_COMP_SC_DATA Function Executed\r\n");
sureshsusurla 0:4da7c8fdd429 106 }
sureshsusurla 0:4da7c8fdd429 107
sureshsusurla 0:4da7c8fdd429 108 void FCTN_CDMS_WR_SD()
sureshsusurla 0:4da7c8fdd429 109 {
sureshsusurla 0:4da7c8fdd429 110 main1.printf("\nFCTN_CDMS_WR_SD Function Executed\r\n");
sureshsusurla 0:4da7c8fdd429 111 }
sureshsusurla 0:4da7c8fdd429 112
sureshsusurla 0:4da7c8fdd429 113 int main()
sureshsusurla 0:4da7c8fdd429 114 {
sureshsusurla 0:4da7c8fdd429 115 main1.printf("\n\r CDMS Activated \n");
sureshsusurla 0:4da7c8fdd429 116 initialise_card();
sureshsusurla 0:4da7c8fdd429 117 disk_initialize();
sureshsusurla 0:4da7c8fdd429 118 FCTN_CDMS_INIT_RTC();
sureshsusurla 0:4da7c8fdd429 119 for(int i=0;i<512;i++)
sureshsusurla 0:4da7c8fdd429 120 {
sureshsusurla 0:4da7c8fdd429 121 write_to_sd[i] = i;
sureshsusurla 0:4da7c8fdd429 122 }
sureshsusurla 0:4da7c8fdd429 123 RtosTimer TIMER_HK_ACQ(TSC_HK_BAE_CDMS_PL_MODE,osTimerPeriodic);
sureshsusurla 0:4da7c8fdd429 124 TIMER_HK_ACQ.start(10000);
sureshsusurla 0:4da7c8fdd429 125 ptr_t_tctm = new Thread (T_CDMS_RLY_TCTM);
sureshsusurla 0:4da7c8fdd429 126 ptr_t_sc_data = new Thread (T_PL_RCV_SC_DATA);
sureshsusurla 0:4da7c8fdd429 127 pl_sc_data.rise(&ISR_PL_RCV_SC_DATA);
sureshsusurla 0:4da7c8fdd429 128
sureshsusurla 0:4da7c8fdd429 129 while(1);
sureshsusurla 0:4da7c8fdd429 130 }