pl ack in tmtc

Dependencies:   FreescaleIAP SimpleDMA mbed-rtos mbed

Fork of COM_MNG_TMTC_SIMPLE_pl123 by shubham c

i2c.h

Committer:
ee12b079
Date:
2016-01-07
Revision:
35:3beac900a034
Child:
55:39e59903bc3a
Child:
69:20f09a0c3fd2

File content as of revision 35:3beac900a034:

#define tm_len 134
#define tc_len 135
#define tc_test_len 135

DigitalOut irpt_2_slv(PIN67);                                        //I2C interrupt to CDMS
I2C master(PIN32,PIN31);
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)
        //pc.printf("\n\r data not sent \n");
       
if (write_ack == 1)
    {
        led2 = 1;
        printf("\n\r data not sent \n");
        led2 = 0;    
    }
    irpt_2_slv = 0;
    //pc.printf("\n\r %d \n",t.read_us());
    //t.reset();
}


void FCTN_I2C_READ(char *data)
{
    irpt_2_slv = 1; 
    t_read.start();
    read_ack = master.read(addr|1,data,tm_len);
    t_read.stop();
   
    //if(read_ack == 0)
      //  printf("\n\rData received from BAE %s \n",data);
 if (read_ack == 1)
    {
        led2 = 1;
        printf("\n \r data not received \n");
        led2 = 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();
}