publishing to check changes in cdms code
Dependencies: FreescaleIAP SimpleDMA mbed-rtos mbed
Fork of CDMS_CODE_samp_23SEP_DMA_flag by
Diff: i2c.h
- Revision:
- 161:a63672bf4423
- Parent:
- 105:5ce0337e7c15
- Child:
- 162:48fda0b8d573
--- a/i2c.h Mon Apr 11 16:04:55 2016 +0000 +++ b/i2c.h Thu Apr 14 04:14:21 2016 +0000 @@ -2,62 +2,30 @@ #define tc_len 135 #define tc_test_len 135 -InterruptIn irpt_4m_slv(D3); //I2c interrupt from CDMS -DigitalOut irpt_2_slv(D4); //I2C interrupt to CDMS -//I2C master(PIN32,PIN31); -I2C master(PTC9,PTC8); -//DigitalOut led1(PIN46); -//DigitalOut led2(PIN95); const int addr = 0x20; //slave address -char telecommand[tc_len]; -char telemetry[tm_len]; -//Timer test; -//Timer t_read; -bool write_ack = true; -bool read_ack = true; +bool write_ack = false; +bool read_ack = false; +const int addr_pl = 0x20<<1; //PL address +uint8_t rcv_isr = 0; int count = 0; -void FCTN_I2C_WRITE(char *data) +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) { - irpt_2_slv = 1; - //t.start(); - write_ack = master.write(addr|0x00,data,tc_len); - //t.stop(); - //if(write_ack == 0) - //gPC.printf("\n\r data not sent \n"); - -if (write_ack == 1) + write_ack = master.write(addr_pl|0x00,data2,tc_len2);//address to be defined in payload + if(write_ack == 1) { -// led2 = 1; - //gPC.printf("\n\r data not sent \n"); -// led2 = 0; - } - irpt_2_slv = 0; - //gPC.printf("\n\r %d \n",t.read_us()); - //t.reset(); + printf("\n\rdata not sent\n"); + } } - -void FCTN_I2C_READ(char *data,int length) +void isr_pyldtm() { - irpt_2_slv = 1; - //t_read.start(); - read_ack = master.read(addr|1,data,length); - //t_read.stop(); - - //if(read_ack == 0) - // 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"); - irpt_2_slv = 0; - //printf("\n\r %d \n",t.read_us()); - //t.reset(); + read_ack = master.read(addr_pl|1,PL_I2C_DATA,134); + gLEDR=!gLEDR; + rcv_isr = 1; } \ No newline at end of file