Simple version of COM_MNG_TMTC_CODE for IITMSAT.

Dependencies:   mbed-rtos mbed FreescaleIAP SimpleDMA

Revision:
147:7fd1ca3a35a1
Parent:
132:d4a4461214ad
Child:
151:e6c7d4f87704
--- a/i2c.h	Thu Mar 10 15:26:50 2016 +0000
+++ b/i2c.h	Sat Apr 02 13:54:24 2016 +0000
@@ -2,10 +2,7 @@
 #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(PTC9,PTC8);
-const int addr = 0x20;                                            //slave address 
+const int addr_bae = 0x20;                                            //slave address 
 const int addr_pl = 0x20<<1;                                            //PL slave address
 
 bool write_ack = true;
@@ -27,35 +24,14 @@
         
         }
 }
-void FCTN_I2C_READ_PL(char *data,int length)
+
+
+void FCTN_I2C_READ(char *data,int length)
 {   
+    master.frequency(100000);
+    CDMS_I2C_GPIO = 1;
     //t_read.start();
-    read_ack = master.read(addr_pl|1,data,length);
-    //t_read.stop();
-    uint8_t len = 0;
-  
-  printf("\n\r i2c data : \n\n\r\r");
-  while(len != length) printf("%c",data[len]);
-  printf(" \n\n\r\r"); 
-    if(read_ack == 0)
-      printf("\n\rData received from PL %s \n",data);
- if (read_ack == 1)
-    {
-//        gLEDR = 1;
-        printf("\n \r data not received from PL\n");
-//        gLEDR = 0;
-    }
-//if(read_ack == 1)
-//pc.printf("\n \r data not received \n");
-    //printf("\n\r %d \n",t.read_us());
-    //t.reset();
-}
-
-void FCTN_I2C_READ(char *data,int length, int addr)
-{   
-    irpt_2_slv = 1;
-    //t_read.start();
-    read_ack = master.read(addr|1,data,length);
+    read_ack = master.read(addr_bae|1,data,length);
     //t_read.stop();
   
     //if(read_ack == 0)
@@ -67,29 +43,32 @@
 //if(read_ack == 1)
 //pc.printf("\n \r data not received \n");
 
-    irpt_2_slv = 0;
+    CDMS_I2C_GPIO = 0;
     //printf("\n\r %d \n",t.read_us());
     //t.reset();
+    master.frequency(400000);
 }
 
-void FCTN_I2C_WRITE(char *data)
+void FCTN_I2C_WRITE(char *data,uint8_t tc_len2)
 {
-    irpt_2_slv = 1;
+    master.frequency(100000);
+    CDMS_I2C_GPIO = 1;
     //t.start();
-    write_ack = master.write(addr|0x00,data,tc_len);
+    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 == 0)
+if (write_ack == 1)
     {
 //        led2 = 1;
-        //gPC.printf("\n\r data not sent \n");
+        gPC.printf("\n\r data not sent \n");
 //        led2 = 0;    
     }
-    irpt_2_slv = 0;
+    CDMS_I2C_GPIO = 0;
     //gPC.printf("\n\r %d \n",t.read_us());
     //t.reset();
+    master.frequency(400000);
 }