I2C code testing

Dependencies:   FreescaleIAP SimpleDMA mbed-rtos mbed

Fork of COM_MNG_TMTC_SIMPLE_pl123 by Siva ram

i2c.h

Committer:
shreeshas95
Date:
2016-01-29
Revision:
105:5ce0337e7c15
Parent:
103:b55559925dc1
Child:
130:d5b53088270b

File content as of revision 105:5ce0337e7c15:

#define tm_len 134
#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;

int count = 0;

void FCTN_I2C_WRITE(char *data)
{
    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)
    {
//        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();
}


void FCTN_I2C_READ(char *data,int length)
{
    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();
}