Simple version of COM_MNG_TMTC_CODE for IITMSAT.

Dependencies:   mbed-rtos mbed FreescaleIAP SimpleDMA

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