pl ack in tmtc

Dependencies:   FreescaleIAP SimpleDMA mbed-rtos mbed

Fork of COM_MNG_TMTC_SIMPLE_pl123 by shubham c

Committer:
ee12b079
Date:
Sat Feb 27 10:22:40 2016 +0000
Revision:
131:8745e6041ebc
Parent:
130:d5b53088270b
PL not receving data, to be tested; ;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
aniruddhv 52:0bd68655c651 1 #define tm_len 134
aniruddhv 52:0bd68655c651 2 #define tc_len 135
aniruddhv 52:0bd68655c651 3 #define tc_test_len 135
aniruddhv 52:0bd68655c651 4
shreeshas95 105:5ce0337e7c15 5 InterruptIn irpt_4m_slv(D3); //I2c interrupt from CDMS
shreeshas95 105:5ce0337e7c15 6 DigitalOut irpt_2_slv(D4); //I2C interrupt to CDMS
ee12b079 130:d5b53088270b 7 //I2C master(PTC9,PTC8);
aniruddhv 52:0bd68655c651 8 const int addr = 0x20; //slave address
ee12b079 130:d5b53088270b 9 const int addr_pl = 0x20<<1; //PL slave address
ee12b079 130:d5b53088270b 10 //char telecommand[tc_len];
ee12b079 130:d5b53088270b 11 //char telemetry[tm_len];
ee12b079 96:4ca92f9775e0 12 //Timer test;
ee12b079 96:4ca92f9775e0 13 //Timer t_read;
aniruddhv 52:0bd68655c651 14 bool write_ack = true;
aniruddhv 52:0bd68655c651 15 bool read_ack = true;
aniruddhv 52:0bd68655c651 16
aniruddhv 52:0bd68655c651 17 int count = 0;
aniruddhv 52:0bd68655c651 18
ee12b079 130:d5b53088270b 19 void FCTN_I2C_WRITE_PL(char *data2,uint8_t tc_len2)
aniruddhv 52:0bd68655c651 20 {
ee12b079 130:d5b53088270b 21 write_ack = master.write(addr_pl|0x00,data2,tc_len2);//address to be defined in payload
ee12b079 131:8745e6041ebc 22 if(write_ack == 1)
ee12b079 130:d5b53088270b 23 {
ee12b079 130:d5b53088270b 24 #if DEBUG
ee12b079 130:d5b53088270b 25 gPC.printf("\n\r data not sent \n");
ee12b079 130:d5b53088270b 26 #endif
ee12b079 130:d5b53088270b 27 }
ee12b079 130:d5b53088270b 28 else
aniruddhv 52:0bd68655c651 29 {
ee12b079 130:d5b53088270b 30 #if DEBUG
ee12b079 130:d5b53088270b 31 gPC.printf("\n\r data sent \n");
ee12b079 130:d5b53088270b 32 #endif
ee12b079 130:d5b53088270b 33 }
ee12b079 130:d5b53088270b 34 }
ee12b079 130:d5b53088270b 35 void FCTN_I2C_READ_PL(char *data,int length)
ee12b079 130:d5b53088270b 36 {
ee12b079 130:d5b53088270b 37 //t_read.start();
ee12b079 130:d5b53088270b 38 read_ack = master.read(addr_pl|1,data,length);
ee12b079 130:d5b53088270b 39 //t_read.stop();
ee12b079 130:d5b53088270b 40
ee12b079 130:d5b53088270b 41 //if(read_ack == 0)
ee12b079 130:d5b53088270b 42 // printf("\n\rData received from BAE %s \n",data);
ee12b079 130:d5b53088270b 43 //if (read_ack == 1)
ee12b079 130:d5b53088270b 44 // {
ee12b079 130:d5b53088270b 45 // gLEDR = 1;
ee12b079 130:d5b53088270b 46 // printf("\n \r data not received \n");
ee12b079 130:d5b53088270b 47 // gLEDR = 0;
ee12b079 130:d5b53088270b 48 // }
ee12b079 130:d5b53088270b 49 //if(read_ack == 1)
ee12b079 130:d5b53088270b 50 //pc.printf("\n \r data not received \n");
ee12b079 130:d5b53088270b 51 //printf("\n\r %d \n",t.read_us());
aniruddhv 52:0bd68655c651 52 //t.reset();
aniruddhv 52:0bd68655c651 53 }
aniruddhv 52:0bd68655c651 54
ee12b079 130:d5b53088270b 55 void FCTN_I2C_READ(char *data,int length, int addr)
ee12b079 130:d5b53088270b 56 {
shreeshas95 103:b55559925dc1 57 irpt_2_slv = 1;
shreeshas95 103:b55559925dc1 58 //t_read.start();
shreeshas95 103:b55559925dc1 59 read_ack = master.read(addr|1,data,length);
shreeshas95 103:b55559925dc1 60 //t_read.stop();
shreeshas95 103:b55559925dc1 61
aniruddhv 52:0bd68655c651 62 //if(read_ack == 0)
shreeshas95 103:b55559925dc1 63 // printf("\n\rData received from BAE %s \n",data);
aniruddhv 52:0bd68655c651 64 if (read_ack == 1)
aniruddhv 52:0bd68655c651 65 {
shreeshas95 103:b55559925dc1 66 gLEDR = 1;
shreeshas95 103:b55559925dc1 67 printf("\n \r data not received \n");
shreeshas95 103:b55559925dc1 68 gLEDR = 0;
aniruddhv 52:0bd68655c651 69 }
aniruddhv 52:0bd68655c651 70 //if(read_ack == 1)
shreeshas95 103:b55559925dc1 71 //pc.printf("\n \r data not received \n");
aniruddhv 52:0bd68655c651 72
aniruddhv 52:0bd68655c651 73 irpt_2_slv = 0;
shreeshas95 103:b55559925dc1 74 //printf("\n\r %d \n",t.read_us());
aniruddhv 52:0bd68655c651 75 //t.reset();
ee12b079 130:d5b53088270b 76 }
ee12b079 130:d5b53088270b 77
ee12b079 130:d5b53088270b 78 void FCTN_I2C_WRITE(char *data)
ee12b079 130:d5b53088270b 79 {
ee12b079 130:d5b53088270b 80 irpt_2_slv = 1;
ee12b079 130:d5b53088270b 81 //t.start();
ee12b079 130:d5b53088270b 82 write_ack = master.write(addr|0x00,data,tc_len);
ee12b079 130:d5b53088270b 83 //t.stop();
ee12b079 130:d5b53088270b 84 //if(write_ack == 0)
ee12b079 130:d5b53088270b 85 //gPC.printf("\n\r data not sent \n");
ee12b079 130:d5b53088270b 86
ee12b079 130:d5b53088270b 87 if (write_ack == 0)
ee12b079 130:d5b53088270b 88 {
ee12b079 130:d5b53088270b 89 // led2 = 1;
ee12b079 130:d5b53088270b 90 //gPC.printf("\n\r data not sent \n");
ee12b079 130:d5b53088270b 91 // led2 = 0;
ee12b079 130:d5b53088270b 92 }
ee12b079 130:d5b53088270b 93 irpt_2_slv = 0;
ee12b079 130:d5b53088270b 94 //gPC.printf("\n\r %d \n",t.read_us());
ee12b079 130:d5b53088270b 95 //t.reset();
aniruddhv 52:0bd68655c651 96 }