Simple version of COM_MNG_TMTC_CODE for IITMSAT.

Dependencies:   mbed-rtos mbed FreescaleIAP SimpleDMA

Committer:
ee12b079
Date:
Sat Apr 02 13:54:24 2016 +0000
Revision:
147:7fd1ca3a35a1
Parent:
132:d4a4461214ad
Child:
151:e6c7d4f87704
Integrating with BAE...

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
ee12b079 147:7fd1ca3a35a1 5 const int addr_bae = 0x20; //slave address
ee12b079 130:d5b53088270b 6 const int addr_pl = 0x20<<1; //PL slave address
ee12b079 132:d4a4461214ad 7
aniruddhv 52:0bd68655c651 8 bool write_ack = true;
aniruddhv 52:0bd68655c651 9 bool read_ack = true;
aniruddhv 52:0bd68655c651 10
ee12b079 132:d4a4461214ad 11
ee12b079 132:d4a4461214ad 12 char PL_I2C_DATA[134];//Payload i2c array
ee12b079 132:d4a4461214ad 13 uint8_t PL_TM_SIZE;//size of data to bev read from i2c
aniruddhv 52:0bd68655c651 14
ee12b079 130:d5b53088270b 15 void FCTN_I2C_WRITE_PL(char *data2,uint8_t tc_len2)
aniruddhv 52:0bd68655c651 16 {
ee12b079 130:d5b53088270b 17 write_ack = master.write(addr_pl|0x00,data2,tc_len2);//address to be defined in payload
ee12b079 132:d4a4461214ad 18 if(write_ack == 1)
ee12b079 130:d5b53088270b 19 {
ee12b079 132:d4a4461214ad 20 printf("\n\rdata not sent\n");
ee12b079 130:d5b53088270b 21 }
ee12b079 130:d5b53088270b 22 else
aniruddhv 52:0bd68655c651 23 {
ee12b079 132:d4a4461214ad 24
ee12b079 130:d5b53088270b 25 }
ee12b079 130:d5b53088270b 26 }
ee12b079 147:7fd1ca3a35a1 27
ee12b079 147:7fd1ca3a35a1 28
ee12b079 147:7fd1ca3a35a1 29 void FCTN_I2C_READ(char *data,int length)
ee12b079 130:d5b53088270b 30 {
ee12b079 147:7fd1ca3a35a1 31 master.frequency(100000);
ee12b079 147:7fd1ca3a35a1 32 CDMS_I2C_GPIO = 1;
ee12b079 130:d5b53088270b 33 //t_read.start();
ee12b079 147:7fd1ca3a35a1 34 read_ack = master.read(addr_bae|1,data,length);
shreeshas95 103:b55559925dc1 35 //t_read.stop();
shreeshas95 103:b55559925dc1 36
aniruddhv 52:0bd68655c651 37 //if(read_ack == 0)
shreeshas95 103:b55559925dc1 38 // printf("\n\rData received from BAE %s \n",data);
aniruddhv 52:0bd68655c651 39 if (read_ack == 1)
aniruddhv 52:0bd68655c651 40 {
shreeshas95 103:b55559925dc1 41 printf("\n \r data not received \n");
aniruddhv 52:0bd68655c651 42 }
aniruddhv 52:0bd68655c651 43 //if(read_ack == 1)
shreeshas95 103:b55559925dc1 44 //pc.printf("\n \r data not received \n");
aniruddhv 52:0bd68655c651 45
ee12b079 147:7fd1ca3a35a1 46 CDMS_I2C_GPIO = 0;
shreeshas95 103:b55559925dc1 47 //printf("\n\r %d \n",t.read_us());
aniruddhv 52:0bd68655c651 48 //t.reset();
ee12b079 147:7fd1ca3a35a1 49 master.frequency(400000);
ee12b079 130:d5b53088270b 50 }
ee12b079 130:d5b53088270b 51
ee12b079 147:7fd1ca3a35a1 52 void FCTN_I2C_WRITE(char *data,uint8_t tc_len2)
ee12b079 130:d5b53088270b 53 {
ee12b079 147:7fd1ca3a35a1 54 master.frequency(100000);
ee12b079 147:7fd1ca3a35a1 55 CDMS_I2C_GPIO = 1;
ee12b079 130:d5b53088270b 56 //t.start();
ee12b079 147:7fd1ca3a35a1 57 write_ack = master.write(addr_bae|0x00,data,tc_len2);
ee12b079 130:d5b53088270b 58 //t.stop();
ee12b079 130:d5b53088270b 59 //if(write_ack == 0)
ee12b079 130:d5b53088270b 60 //gPC.printf("\n\r data not sent \n");
ee12b079 130:d5b53088270b 61
ee12b079 147:7fd1ca3a35a1 62 if (write_ack == 1)
ee12b079 130:d5b53088270b 63 {
ee12b079 130:d5b53088270b 64 // led2 = 1;
ee12b079 147:7fd1ca3a35a1 65 gPC.printf("\n\r data not sent \n");
ee12b079 130:d5b53088270b 66 // led2 = 0;
ee12b079 130:d5b53088270b 67 }
ee12b079 147:7fd1ca3a35a1 68 CDMS_I2C_GPIO = 0;
ee12b079 130:d5b53088270b 69 //gPC.printf("\n\r %d \n",t.read_us());
ee12b079 130:d5b53088270b 70 //t.reset();
ee12b079 147:7fd1ca3a35a1 71 master.frequency(400000);
ee12b079 132:d4a4461214ad 72 }
ee12b079 132:d4a4461214ad 73
ee12b079 132:d4a4461214ad 74
ee12b079 132:d4a4461214ad 75
ee12b079 132:d4a4461214ad 76
ee12b079 132:d4a4461214ad 77
ee12b079 132:d4a4461214ad 78
ee12b079 132:d4a4461214ad 79
ee12b079 132:d4a4461214ad 80
ee12b079 132:d4a4461214ad 81
ee12b079 132:d4a4461214ad 82
ee12b079 132:d4a4461214ad 83 void isr_pyldtm()
ee12b079 132:d4a4461214ad 84 {
ee12b079 132:d4a4461214ad 85
ee12b079 132:d4a4461214ad 86 read_ack = master.read(addr_pl|1,PL_I2C_DATA,134);
ee12b079 132:d4a4461214ad 87 gLEDR=!gLEDR;
ee12b079 132:d4a4461214ad 88 rcv_isr = 1;
aniruddhv 52:0bd68655c651 89 }