sd 32 update

Dependencies:   FreescaleIAP mbed-rtos mbed

Fork of COM_MNG_TMTC_SIMPLE by Shreesha S

Revision:
52:0bd68655c651
Parent:
9:e9eaada136c6
Child:
53:18db568f1098
--- a/adf.h	Tue Jan 12 15:08:29 2016 +0000
+++ b/adf.h	Thu Jan 14 06:16:42 2016 +0000
@@ -1,6 +1,6 @@
 //without reset feature , with state checks.
 InterruptIn IRQ(ADF_IRQ);
-Ticker ticker;
+//Ticker ticker;
  
 bool sent_tmfrom_SDcard;
 bool loop_on;
@@ -420,12 +420,12 @@
     }\
 }
  
- 
+/* 
 void check(){   
     if(IRQ){
         gCOM_MNG_TMTC_THREAD->signal_set(signal);
     }
-}
+}*/
   
  
 #define send_data {\
@@ -464,7 +464,7 @@
     spi.write(0xFF);\
     gCS_ADF=1;\
     SPI_mutex.unlock();\
-    ticker.attach_us(&check,32000);\
+    /*ticker.attach_us(&check,32000);*/\
 }
     
     
@@ -486,7 +486,7 @@
         gCOM_MNG_TMTC_THREAD->signal_wait(COM_MNG_TMTC_SIGNAL_ADF_SD);\
         if(ADF_off){\
             SPI_mutex.lock();\
-            ticker.detach();\
+            /*ticker.detach();*/\
             gCS_ADF=0;\
             spi.write(0xB1);\
             gCS_ADF=1;\
@@ -523,55 +523,73 @@
 //    gCOM_MNG_TMTC_THREAD->signal_set(signal);
 //}
  
-void configure_adf(){
-    finish_write_data = false;
-    buffer_state = true;
-    last_buffer = false;
-    loop_on = true;
-    ADF_off = false;
-    /*initial adf check*/
-    initial_adf_check;
-    gPC.puts("initial adf check\r\n");
-    initiate;
-//    gPC.puts("initiate done\r\n");
-    gPC.puts("adf configured\r\n");
+#define configure_adf {\
+    finish_write_data = false;\
+    buffer_state = true;\
+    last_buffer = false;\
+    loop_on = true;\
+    ADF_off = false;\
+    initial_adf_check;\
+    gPC.puts("initial adf check\r\n");\
+    initiate;\
+    gPC.puts("adf configured\r\n");\
+    gLEDR = !gLEDR;\
 }
  
-void adf_not_SDcard(){
-    sent_tmfrom_SDcard = false;
-    configure_adf();
-    signal = COM_MNG_TMTC_SIGNAL_ADF_NSD;
-    send_data;
-    
-//    gPC.puts("Inside adf transmission\r\n");
-//    ADF_non_responsive_timeout.attach(&ADF_non_responsive_fun, 10);
- 
-    while(loop_on){
-        gCOM_MNG_TMTC_THREAD->signal_wait(COM_MNG_TMTC_SIGNAL_ADF_NSD);
+#define adf_not_SDcard {\
+    sent_tmfrom_SDcard = false;\
+    configure_adf;\
+    signal = COM_MNG_TMTC_SIGNAL_ADF_NSD;\
+    send_data;\
+    while(loop_on){\
+        wait_ms(COM_TX_TICKER_LIMIT);\
+        if(IRQ){\
+            if(finish_write_data){\
+                if(ADF_off){\
+                    SPI_mutex.lock();\ 
+                    gCS_ADF=0;\
+                    spi.write(0xB1);\
+                    gCS_ADF=1;\
+                    SPI_mutex.unlock();\
+                    loop_on = false;\
+                    gPC.puts("Transmission done\r\n");\
+                }\
+                else{\
+                    ADF_off = true;\
+                }\
+            }else{\   
+                write_data;\
+                snd_tm.transmit_data(buffer_112,&last_buffer);\
+            }\
+        }\
+    }\
+    gPC.puts("after while loop\r\n");\
+}
 //        if( ADF_non_responsive_flag == false ){
-            if(finish_write_data){
-                if(ADF_off){
-                    SPI_mutex.lock();
-                    ticker.detach(); 
-        //            wait_ms(35); 
-                    gCS_ADF=0;
-                    spi.write(0xB1);
-                    gCS_ADF=1;
-                    SPI_mutex.unlock();
-                    loop_on = false;
-                    gPC.puts("Transmission done\r\n");
-                }
-                else{
-                    ADF_off = true;
-                }
-            }else{   
-                write_data;
-                snd_tm.transmit_data(buffer_112,&last_buffer);
-            }
+//            if(finish_write_data){
+//                if(ADF_off){
+//                    break;
+//                }
+//            }
+//                    SPI_mutex.lock();
+//                    ticker.detach(); 
+//        //            wait_ms(35); 
+//                    gCS_ADF=0;
+//                    spi.write(0xB1);
+//                    gCS_ADF=1;
+//                    SPI_mutex.unlock();
+//                    loop_on = false;
+//                    gPC.puts("Transmission done\r\n");
+//                }
+//                else{
+//                    ADF_off = true;
+//                }
+//            }else{   
+//                write_data;
+//                snd_tm.transmit_data(buffer_112,&last_buffer);
+//            }
 //        }
 //        else{
 //            gPC.puts("ADF non responsive\r\n");
 //            break;
-//        }
-    }
-}
\ No newline at end of file
+//        }
\ No newline at end of file