pl ack in tmtc

Dependencies:   FreescaleIAP SimpleDMA mbed-rtos mbed

Fork of COM_MNG_TMTC_SIMPLE_pl123 by shubham c

Revision:
132:d4a4461214ad
Parent:
130:d5b53088270b
Child:
137:6fcbbaf19284
--- a/i2c.h	Sat Feb 27 07:12:04 2016 +0000
+++ b/i2c.h	Mon Feb 29 13:21:40 2016 +0000
@@ -7,29 +7,24 @@
 //I2C master(PTC9,PTC8);
 const int addr = 0x20;                                            //slave address 
 const int addr_pl = 0x20<<1;                                            //PL 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;
+
+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)
+    if(write_ack == 1)
     {
-        #if DEBUG
-        gPC.printf("\n\r data not sent \n");
-        #endif
+        printf("\n\rdata not sent\n");
         }
     else
     {
-        #if DEBUG
-        gPC.printf("\n\r data sent \n");
-        #endif
+        
         }
 }
 void FCTN_I2C_READ_PL(char *data,int length)
@@ -37,15 +32,19 @@
     //t_read.start();
     read_ack = master.read(addr_pl|1,data,length);
     //t_read.stop();
+    uint8_t len = 0;
   
-    //if(read_ack == 0)
-      //  printf("\n\rData received from BAE %s \n",data);
- //if (read_ack == 1)
-//    {
+  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 \n");
+        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());
@@ -63,9 +62,7 @@
       //  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");
@@ -93,4 +90,21 @@
     irpt_2_slv = 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;
 }
\ No newline at end of file