Simple version of COM_MNG_TMTC_CODE for IITMSAT.

Dependencies:   mbed-rtos mbed FreescaleIAP SimpleDMA

i2c.h

Committer:
ee12b079
Date:
2016-04-23
Revision:
183:e7332d6bba93
Parent:
171:31bdf83591a1

File content as of revision 183:e7332d6bba93:

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

const int addr = 0x20;                                            //slave address 
bool write_ack = false;
bool read_ack = false;
const int addr_pl = 0x20<<1;  //PL address
const int addr_bae = 0x20; ///bae address
uint8_t rcv_isr = 0;

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)
        {gPC.printf("\n\rData sent to PL \n");}
    if(write_ack == 1)
    {
        gPC.printf("\n\rdata not sent\n");
        }
}

void FCTN_I2C_READ(char *data,int length)
{   
    CDMS_I2C_GPIO = 1;
    //t_read.start();
    read_ack = master.read(addr_bae|1,data,length);
    //t_read.stop();
  
    if(read_ack == 0)
        gPC.printf("\n\rData received from BAE \n");
 if (read_ack == 1)
    {
        gPC.printf("\n \r data not received \n");
    }
//if(read_ack == 1)
//pc.printf("\n \r data not received \n");

    CDMS_I2C_GPIO = 0;
    //printf("\n\r %d \n",t.read_us());
    //t.reset();
}

void FCTN_I2C_WRITE(char *data,uint8_t tc_len2)
{
    CDMS_I2C_GPIO = 1;
    //t.start();
    write_ack = master.write(addr_bae|0x00,data,tc_len2);
    //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;    
    }
    CDMS_I2C_GPIO = 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;
}