working
Dependencies: FreescaleIAP SimpleDMA mbed-rtos mbed
Fork of COM_MNG_TMTC_SIMPLE by
i2c.h@105:5ce0337e7c15, 2016-01-29 (annotated)
- Committer:
- shreeshas95
- Date:
- Fri Jan 29 19:27:28 2016 +0000
- Revision:
- 105:5ce0337e7c15
- Parent:
- 103:b55559925dc1
- Child:
- 130:d5b53088270b
Changed pins from the last version
Who changed what in which revision?
User | Revision | Line number | New 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 |
shreeshas95 | 105:5ce0337e7c15 | 7 | //I2C master(PIN32,PIN31); |
shreeshas95 | 105:5ce0337e7c15 | 8 | I2C master(PTC9,PTC8); |
ee12b079 | 96:4ca92f9775e0 | 9 | //DigitalOut led1(PIN46); |
ee12b079 | 96:4ca92f9775e0 | 10 | //DigitalOut led2(PIN95); |
aniruddhv | 52:0bd68655c651 | 11 | const int addr = 0x20; //slave address |
aniruddhv | 52:0bd68655c651 | 12 | char telecommand[tc_len]; |
aniruddhv | 52:0bd68655c651 | 13 | char telemetry[tm_len]; |
ee12b079 | 96:4ca92f9775e0 | 14 | //Timer test; |
ee12b079 | 96:4ca92f9775e0 | 15 | //Timer t_read; |
aniruddhv | 52:0bd68655c651 | 16 | bool write_ack = true; |
aniruddhv | 52:0bd68655c651 | 17 | bool read_ack = true; |
aniruddhv | 52:0bd68655c651 | 18 | |
aniruddhv | 52:0bd68655c651 | 19 | int count = 0; |
aniruddhv | 52:0bd68655c651 | 20 | |
aniruddhv | 52:0bd68655c651 | 21 | void FCTN_I2C_WRITE(char *data) |
aniruddhv | 52:0bd68655c651 | 22 | { |
aniruddhv | 52:0bd68655c651 | 23 | irpt_2_slv = 1; |
aniruddhv | 52:0bd68655c651 | 24 | //t.start(); |
aniruddhv | 52:0bd68655c651 | 25 | write_ack = master.write(addr|0x00,data,tc_len); |
aniruddhv | 52:0bd68655c651 | 26 | //t.stop(); |
aniruddhv | 52:0bd68655c651 | 27 | //if(write_ack == 0) |
aniruddhv | 69:20f09a0c3fd2 | 28 | //gPC.printf("\n\r data not sent \n"); |
aniruddhv | 52:0bd68655c651 | 29 | |
aniruddhv | 52:0bd68655c651 | 30 | if (write_ack == 1) |
aniruddhv | 52:0bd68655c651 | 31 | { |
ee12b079 | 96:4ca92f9775e0 | 32 | // led2 = 1; |
aniruddhv | 69:20f09a0c3fd2 | 33 | //gPC.printf("\n\r data not sent \n"); |
ee12b079 | 96:4ca92f9775e0 | 34 | // led2 = 0; |
aniruddhv | 52:0bd68655c651 | 35 | } |
aniruddhv | 52:0bd68655c651 | 36 | irpt_2_slv = 0; |
aniruddhv | 69:20f09a0c3fd2 | 37 | //gPC.printf("\n\r %d \n",t.read_us()); |
aniruddhv | 52:0bd68655c651 | 38 | //t.reset(); |
aniruddhv | 52:0bd68655c651 | 39 | } |
aniruddhv | 52:0bd68655c651 | 40 | |
aniruddhv | 52:0bd68655c651 | 41 | |
shreeshas95 | 103:b55559925dc1 | 42 | void FCTN_I2C_READ(char *data,int length) |
aniruddhv | 52:0bd68655c651 | 43 | { |
shreeshas95 | 103:b55559925dc1 | 44 | irpt_2_slv = 1; |
shreeshas95 | 103:b55559925dc1 | 45 | //t_read.start(); |
shreeshas95 | 103:b55559925dc1 | 46 | read_ack = master.read(addr|1,data,length); |
shreeshas95 | 103:b55559925dc1 | 47 | //t_read.stop(); |
shreeshas95 | 103:b55559925dc1 | 48 | |
aniruddhv | 52:0bd68655c651 | 49 | //if(read_ack == 0) |
shreeshas95 | 103:b55559925dc1 | 50 | // printf("\n\rData received from BAE %s \n",data); |
aniruddhv | 52:0bd68655c651 | 51 | if (read_ack == 1) |
aniruddhv | 52:0bd68655c651 | 52 | { |
shreeshas95 | 103:b55559925dc1 | 53 | gLEDR = 1; |
shreeshas95 | 103:b55559925dc1 | 54 | printf("\n \r data not received \n"); |
shreeshas95 | 103:b55559925dc1 | 55 | gLEDR = 0; |
aniruddhv | 52:0bd68655c651 | 56 | } |
aniruddhv | 52:0bd68655c651 | 57 | //if(read_ack == 1) |
shreeshas95 | 103:b55559925dc1 | 58 | //pc.printf("\n \r data not received \n"); |
aniruddhv | 52:0bd68655c651 | 59 | |
aniruddhv | 52:0bd68655c651 | 60 | irpt_2_slv = 0; |
shreeshas95 | 103:b55559925dc1 | 61 | //printf("\n\r %d \n",t.read_us()); |
aniruddhv | 52:0bd68655c651 | 62 | //t.reset(); |
aniruddhv | 52:0bd68655c651 | 63 | } |