cdms_i2c_hardware_test
Dependencies: FreescaleIAP SimpleDMA mbed-rtos mbed
Fork of standaloneworkingi2c_cdms by
i2c.h@155:80e7c7ff8aaf, 2016-04-16 (annotated)
- Committer:
- prasanthbj05
- Date:
- Sat Apr 16 11:25:38 2016 +0000
- Revision:
- 155:80e7c7ff8aaf
- Parent:
- 154:e808cdb56239
- Child:
- 157:d99f525edc4c
i2c_working;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
prasanthbj05 | 155:80e7c7ff8aaf | 1 | #define tm_len 135 |
prasanthbj05 | 155:80e7c7ff8aaf | 2 | #define tc_len 134 |
aniruddhv | 52:0bd68655c651 | 3 | #define tc_test_len 135 |
aniruddhv | 52:0bd68655c651 | 4 | |
ee12b079 | 146:7fd1ca3a35a1 | 5 | const int addr_bae = 0x20; //slave address |
ee12b079 | 129:d5b53088270b | 6 | const int addr_pl = 0x20<<1; //PL slave address |
ee12b079 | 131:d4a4461214ad | 7 | |
aniruddhv | 52:0bd68655c651 | 8 | bool write_ack = true; |
aniruddhv | 52:0bd68655c651 | 9 | bool read_ack = true; |
aniruddhv | 52:0bd68655c651 | 10 | |
ee12b079 | 131:d4a4461214ad | 11 | |
ee12b079 | 131:d4a4461214ad | 12 | char PL_I2C_DATA[134];//Payload i2c array |
ee12b079 | 131:d4a4461214ad | 13 | uint8_t PL_TM_SIZE;//size of data to bev read from i2c |
aniruddhv | 52:0bd68655c651 | 14 | |
ee12b079 | 129:d5b53088270b | 15 | void FCTN_I2C_WRITE_PL(char *data2,uint8_t tc_len2) |
aniruddhv | 52:0bd68655c651 | 16 | { |
ee12b079 | 129:d5b53088270b | 17 | write_ack = master.write(addr_pl|0x00,data2,tc_len2);//address to be defined in payload |
ee12b079 | 131:d4a4461214ad | 18 | if(write_ack == 1) |
ee12b079 | 129:d5b53088270b | 19 | { |
ee12b079 | 131:d4a4461214ad | 20 | printf("\n\rdata not sent\n"); |
ee12b079 | 129:d5b53088270b | 21 | } |
ee12b079 | 129:d5b53088270b | 22 | else |
aniruddhv | 52:0bd68655c651 | 23 | { |
ee12b079 | 131:d4a4461214ad | 24 | |
ee12b079 | 129:d5b53088270b | 25 | } |
ee12b079 | 129:d5b53088270b | 26 | } |
ee12b079 | 146:7fd1ca3a35a1 | 27 | |
ee12b079 | 146:7fd1ca3a35a1 | 28 | |
ee12b079 | 146:7fd1ca3a35a1 | 29 | void FCTN_I2C_READ(char *data,int length) |
ee12b079 | 129:d5b53088270b | 30 | { |
ee12b079 | 146:7fd1ca3a35a1 | 31 | CDMS_I2C_GPIO = 1; |
ee12b079 | 129:d5b53088270b | 32 | //t_read.start(); |
ee12b079 | 146:7fd1ca3a35a1 | 33 | read_ack = master.read(addr_bae|1,data,length); |
shreeshas95 | 104:b55559925dc1 | 34 | //t_read.stop(); |
shreeshas95 | 104:b55559925dc1 | 35 | |
prasanthbj05 | 155:80e7c7ff8aaf | 36 | if(read_ack == 0) |
prasanthbj05 | 155:80e7c7ff8aaf | 37 | printf("\n\rData received from BAE %s \n",data); |
ee12b079 | 154:e808cdb56239 | 38 | if (read_ack == 1) |
aniruddhv | 52:0bd68655c651 | 39 | { |
shreeshas95 | 104:b55559925dc1 | 40 | printf("\n \r data not received \n"); |
aniruddhv | 52:0bd68655c651 | 41 | } |
aniruddhv | 52:0bd68655c651 | 42 | //if(read_ack == 1) |
shreeshas95 | 104:b55559925dc1 | 43 | //pc.printf("\n \r data not received \n"); |
aniruddhv | 52:0bd68655c651 | 44 | |
ee12b079 | 146:7fd1ca3a35a1 | 45 | CDMS_I2C_GPIO = 0; |
shreeshas95 | 104:b55559925dc1 | 46 | //printf("\n\r %d \n",t.read_us()); |
aniruddhv | 52:0bd68655c651 | 47 | //t.reset(); |
ee12b079 | 129:d5b53088270b | 48 | } |
ee12b079 | 129:d5b53088270b | 49 | |
ee12b079 | 146:7fd1ca3a35a1 | 50 | void FCTN_I2C_WRITE(char *data,uint8_t tc_len2) |
ee12b079 | 129:d5b53088270b | 51 | { |
ee12b079 | 146:7fd1ca3a35a1 | 52 | CDMS_I2C_GPIO = 1; |
ee12b079 | 129:d5b53088270b | 53 | //t.start(); |
ee12b079 | 146:7fd1ca3a35a1 | 54 | write_ack = master.write(addr_bae|0x00,data,tc_len2); |
ee12b079 | 129:d5b53088270b | 55 | //t.stop(); |
prasanthbj05 | 155:80e7c7ff8aaf | 56 | if(write_ack == 0) |
prasanthbj05 | 155:80e7c7ff8aaf | 57 | gPC.printf("\n\r data sent \n"); |
ee12b079 | 129:d5b53088270b | 58 | |
ee12b079 | 146:7fd1ca3a35a1 | 59 | if (write_ack == 1) |
ee12b079 | 129:d5b53088270b | 60 | { |
ee12b079 | 129:d5b53088270b | 61 | // led2 = 1; |
ee12b079 | 146:7fd1ca3a35a1 | 62 | gPC.printf("\n\r data not sent \n"); |
ee12b079 | 129:d5b53088270b | 63 | // led2 = 0; |
ee12b079 | 129:d5b53088270b | 64 | } |
ee12b079 | 146:7fd1ca3a35a1 | 65 | CDMS_I2C_GPIO = 0; |
ee12b079 | 129:d5b53088270b | 66 | //gPC.printf("\n\r %d \n",t.read_us()); |
ee12b079 | 129:d5b53088270b | 67 | //t.reset(); |
ee12b079 | 131:d4a4461214ad | 68 | } |
ee12b079 | 131:d4a4461214ad | 69 | void isr_pyldtm() |
ee12b079 | 131:d4a4461214ad | 70 | { |
ee12b079 | 131:d4a4461214ad | 71 | |
ee12b079 | 131:d4a4461214ad | 72 | read_ack = master.read(addr_pl|1,PL_I2C_DATA,134); |
ee12b079 | 131:d4a4461214ad | 73 | gLEDR=!gLEDR; |
ee12b079 | 131:d4a4461214ad | 74 | rcv_isr = 1; |
aniruddhv | 52:0bd68655c651 | 75 | } |