working
Dependencies: FreescaleIAP SimpleDMA mbed-rtos mbed
Fork of COM_MNG_TMTC_SIMPLE by
Diff: i2c.h
- Revision:
- 132:d4a4461214ad
- Parent:
- 130:d5b53088270b
- Child:
- 137:6fcbbaf19284
--- a/i2c.h Sat Feb 27 07:12:04 2016 +0000 +++ b/i2c.h Mon Feb 29 13:21:40 2016 +0000 @@ -7,29 +7,24 @@ //I2C master(PTC9,PTC8); const int addr = 0x20; //slave address const int addr_pl = 0x20<<1; //PL slave address -//char telecommand[tc_len]; -//char telemetry[tm_len]; -//Timer test; -//Timer t_read; + bool write_ack = true; bool read_ack = true; -int count = 0; + +char PL_I2C_DATA[134];//Payload i2c array +uint8_t PL_TM_SIZE;//size of data to bev read from i2c void FCTN_I2C_WRITE_PL(char *data2,uint8_t tc_len2) { write_ack = master.write(addr_pl|0x00,data2,tc_len2);//address to be defined in payload - if(write_ack == 0) + if(write_ack == 1) { - #if DEBUG - gPC.printf("\n\r data not sent \n"); - #endif + printf("\n\rdata not sent\n"); } else { - #if DEBUG - gPC.printf("\n\r data sent \n"); - #endif + } } void FCTN_I2C_READ_PL(char *data,int length) @@ -37,15 +32,19 @@ //t_read.start(); read_ack = master.read(addr_pl|1,data,length); //t_read.stop(); + uint8_t len = 0; - //if(read_ack == 0) - // printf("\n\rData received from BAE %s \n",data); - //if (read_ack == 1) -// { + printf("\n\r i2c data : \n\n\r\r"); + while(len != length) printf("%c",data[len]); + printf(" \n\n\r\r"); + if(read_ack == 0) + printf("\n\rData received from PL %s \n",data); + if (read_ack == 1) + { // gLEDR = 1; -// printf("\n \r data not received \n"); + printf("\n \r data not received from PL\n"); // gLEDR = 0; -// } + } //if(read_ack == 1) //pc.printf("\n \r data not received \n"); //printf("\n\r %d \n",t.read_us()); @@ -63,9 +62,7 @@ // printf("\n\rData received from BAE %s \n",data); if (read_ack == 1) { - gLEDR = 1; printf("\n \r data not received \n"); - gLEDR = 0; } //if(read_ack == 1) //pc.printf("\n \r data not received \n"); @@ -93,4 +90,21 @@ irpt_2_slv = 0; //gPC.printf("\n\r %d \n",t.read_us()); //t.reset(); +} + + + + + + + + + + +void isr_pyldtm() +{ + + read_ack = master.read(addr_pl|1,PL_I2C_DATA,134); + gLEDR=!gLEDR; + rcv_isr = 1; } \ No newline at end of file