CDMS code for testing sbc

Dependencies:   FreescaleIAP SimpleDMA mbed-rtos mbed

Fork of CDMS_CODE by shubham c

Revision:
261:1e54415b34d3
Parent:
245:da9d1bd999da
Child:
266:ae588e75cfa4
--- a/adf.h	Tue Jul 12 17:54:30 2016 +0000
+++ b/adf.h	Thu Jul 14 13:07:30 2016 +0000
@@ -7,38 +7,29 @@
 bool buffer_state;
 bool finish_write_data;
 uint8_t signal = 0x00;
-unsigned char bbram_buffer[66]={0x19,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x00,0xF4,0xC2,0x10,0xC0,0x00,0x30,0x31,0x07,0x00,0x01,0x00,0x7F,0x00,0x0B,0x37,0x00,0x00,0x40,0x0C,0x00,0x05,0x00,0x00,0x18,0x12,0x34,0x56,0x20,0x10,0xC4,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xE0,0x00,0x10,0x04,0x00,0x00,0x00,0x00,0x00};
-bool data_irq_err=0;
-bool data_err= false;
-unsigned char temp_byte=0x00;
-unsigned char data_err1[112];
-unsigned char data_err_cnt=0;
-unsigned int byte_count =0;
-#define DATA_ERR_THRS 20
-bool rolling_buffer_settings_error=true;
-bool bbram_write_success=true;
-int bbram_err_cnt=0;
-int rbp_err_cnt=0;
-bool reset_flag=false;
-#define RBP_THRS 4
-bool quit_configuration=false;
-bool power_reset_flag=false;
-unsigned int power_reset_count=0;
-bool Configuration_done=false;
-#define HW_THRS 2
+unsigned char bbram_buffer[66]={0x19,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x00,0xF4,0xC2,0x10,0xC0,0x00,0x30,0x31,0x07,0x00,0x01,0x00,0x7F,0x00,0x0B,0x37,0x00,0x00,0x40,0x0C,0x00,0x05,0x00,0x00,0x18,0x12,0x34,0x56,0x10,0x10,0xC4,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00};
  
 //int initialise_card();
 //int disk_initialize();
+ 
+#define bbram_write {\
+     SPI_mutex.lock();\
+    gCS_ADF=0;\
+    spi.write(0xB0);\
+    wait_us(300);\
+    gCS_ADF=1;\
+    gCS_ADF=0;\
+    for(int i=0;i<66;i++){\
+        spi.write(bbram_buffer[i]);\
+    }\
+    gCS_ADF=1;\
+    SPI_mutex.unlock();\
+}
 //------------------------------------------------------------------------
 // state checking functions
 //bool assrt_phy_off( int, int, int);
 //bool assrt_phy_on( int,int,int);
 //bool assrt_phy_tx(int,int,int);
-
-#define TRANSMIT_LEN_1 0xFF
-#define TRANSMIT_LEN_2 0xFF
-/***/
-Timer T;
  
 #define START_ADDRESS 0x020;
 #define MISO_PIN PTE3
@@ -54,105 +45,7 @@
 #define CMD_PHY_OFF 0xB0
 #define CMD_PHY_TX 0xB5
 #define CMD_CONFIG_DEV 0xBB
-/**STATES**/
-//=======================
-#define PHY_OFF 0xB1
-#define PHY_ON 0xB2
-#define PHY_TX 0xB4
-#define BUSY 0x00
-//===================================================
-
-unsigned int Adf_data_counter=0;
-unsigned char status =0;
-unsigned int cmd_err_cnt=0;
-unsigned int data_length;
-unsigned int state_err_cnt=0;
-unsigned int miso_err_cnt=0;
-unsigned int hw_reset_err_cnt=0;
-unsigned int counter =0;
-bool temp_return = 0;
-bool bcn_flag=0;
-bool bbram_flag=0;
-
-bool stop_transmission=false;
-
-#define reset_flags {\
-finish_write_data = false;\
-buffer_state = true;\
-last_buffer = false;\
-loop_on = true;\
-ADF_off = false;\
-buffer_state = true;\
-loop_on = true;\
-ADF_off = false;\
-sent_tmfrom_SDcard = false;\
-Adf_data_counter=0;\
-status =0;\
-cmd_err_cnt=0;\
-data_length;\
-state_err_cnt=0;\
-miso_err_cnt=0;\
-hw_reset_err_cnt=0;\
-counter =0;\
-bcn_flag=0;\
-bbram_flag=0;\
-stop_transmission=false;\
-    }
-
-
-int err_arr[64];
-bool bbram_err=false;
-int err_idx=-1;
-int err[64];
-#define bbram_check gCS_ADF=0;\
-    for(int i=0;i<64;i++){\
-        err_arr[i]=0;\
-        }\
-    for(int i=0;i<64;i++){\
-        err[i]=0;\
-        }\
-    bbram_err=false;\
-    gCS_ADF=0;\
-    spi.write(0x39);\
-    spi.write(0x00);\
-    spi.write(0xFF);\
-    for(int i=0;i<64;i++){\
-        err_arr[i]=spi.write(0xFF);\
-        if(err_arr[i]!=bbram_buffer[i+2]){\
-            err[i]=1;\
-            bbram_err=true;\
-            }\
-    }\
-    gCS_ADF=1;\
-    if(!bbram_err)\
-        gPC.printf("BBRAM verified \r\n");\
-    else\
-        gPC.printf("BBRAM error \r\n");\
  
-
-bool tx_loop=1;
-
-#define PRNT_ONCE {\
-    gPC.printf("%d %d lol_ what?\r\n",segment_len,EOS_len);\
-    }
- 
-#define bbram_write {\
-    gCS_ADF=0;\
-    spi.write(0xB0);\
-    wait_us(300);\
-    gCS_ADF=1;\
-    gCS_ADF=0;\
-    for(int i=0;i<66;i++){\
-        spi.write(bbram_buffer[i]);\
-    }\
-    gCS_ADF=1;\
-}
-//------------------------------------------------------------------------
-// state checking functions
-//bool assrt_phy_off( int, int, int);
-//bool assrt_phy_on( int,int,int);
-//bool assrt_phy_tx(int,int,int);
-
 #define check_status {\
     unsigned char stat=0;\
     gCS_ADF=0;\
@@ -161,106 +54,97 @@
     gCS_ADF=1;\
     status = stat;\
 }
-
-/*CMD_VAR*/
-bool cmd_bit=true;
-bool cmd_err_flag=false;
-unsigned char command = 0x00;
-#define CMD(command) {\
-    cmd_err_cnt=0;\
-    cmd_err_flag=false;\
-    while(cmd_err_cnt<3) {\
+ 
+// all three arguments are int
+#define assrt_phy_off(return_this) {\
+    int cmd_err_cnt = 0;\
+    int spi_err_cnt = 0;\
+    int state_err_cnt = 0;\
+    for(int i = 0 ; i < 40 ;i++){\
         check_status;\
-        cmd_bit=status&0x20;\
-        if(cmd_bit) {\
+        if(status == 0xB1){\
+            return_this = 0;\
+            break;\
+        }\
+        else if(cmd_err_cnt>THRS||spi_err_cnt>THRS){\
+            return_this = 1;\
+            break;\
+        }\
+        else if(state_err_cnt>STATE_ERR_THRS){\
+            return_this = 1;\
+            break;\
+        }\
+        else if( (status & 0xA0) == 0xA0 ){\
             gCS_ADF=0;\
-            spi.write(command);\
+            spi.write(CMD_PHY_OFF);\
             gCS_ADF=1;\
-            break;\
-        } else {\
-            wait_us(5);\
+            wait_us(PHY_OFF_EXEC_TIME);\
+            state_err_cnt++;\
+        }\
+        else if(status&0x80==0x00){\
+            wait_ms(5);\
+            spi_err_cnt++;\
+        }\
+        else {\
+            wait_ms(1);\
             cmd_err_cnt++;\
         }\
     }\
-    if(cmd_err_cnt==3) {\
-        cmd_err_flag=true;\
-    }\
 }
-// all three arguments are int\
-#define assrt_phy_off {\
-    int state_err_cnt = 0;\
-    CMD(CMD_PHY_OFF);\
-    if(cmd_err_flag){\
-        temp_return=1;\
+ 
+ 
+#define initial_adf_check {\
+    spi.write(CMD_PHY_OFF);\
+    int tempReturn = 0;\
+    bool flag = false;\
+    while( hw_reset_err_cnt < 2 ){\
+        assrt_phy_off( tempReturn);\
+        if( !tempReturn ){\
+            bbram_write;\
+            bbram_flag=1;\
+            flag = true;\
+            break;\
         }\
-    else{\
-        for(int i = 0 ; i < 40 ;i++){\
-            CMD(CMD_PHY_OFF);\
-            check_status;\
-            if(status == PHY_OFF){\
-                temp_return = 0;\
-            break;\
-            }\
-            else if(state_err_cnt>THRS){\
-                temp_return = 1;\
-            break;\
-            }\
-            else {\
-                wait_ms(1);\
-            }\
+        else{\
+            hardware_reset(0);\
+            hw_reset_err_cnt++;\
+            gPC.puts("Resetting hardware\r\n");\
         }\
     }\
+    if( flag == false ){\
+        gPC.puts("Seems to be SPI problem\r\n");\
+    }\
+    assrt_phy_off(tempReturn);\
+    if(!bbram_flag){\
+        bcn_flag=1;\
+     }\
 }
-
-
-bool hardware_reset(int bcn_call)
-{
-    for(int i= 0; i < 2 ; i++) {
+ 
+unsigned char status =0;
+unsigned int cmd_err_cnt=0;
+unsigned int state_err_cnt=0;
+unsigned int miso_err_cnt=0;
+unsigned int hw_reset_err_cnt=0;
+bool bcn_flag=0;
+bool bbram_flag=0;
+ 
+bool hardware_reset(int bcn_call){
+    for(int i= 0; i < 20 ; i++){
         gCS_ADF=0;
         spi.write(CMD_HW_RESET);
         gCS_ADF=1;
         wait_ms(2);// Typically 1 ms
         int count=0;
-        temp_return = 0;
-        while(count<10 && miso_err_cnt<10) {
-            if(MISO_PIN) {
-//                assrt_phy_off;
-/*asseert_phyoff Starts**/
-{\
-    int state_err_cnt = 0;\
-    CMD(CMD_PHY_OFF);\
-    if(cmd_err_flag){\
-        temp_return=1;\
-        }\
-    else{\
-        for(int i = 0 ; i < 40 ;i++){\
-            CMD(CMD_PHY_OFF);\
-            check_status;\
-            if(status == PHY_OFF){\
-                temp_return = 0;\
-            break;\
-            }\
-            else if(state_err_cnt>THRS){\
-                temp_return = 1;\
-            break;\
-            }\
-            else {\
-                wait_ms(1);\
-            }\
-        }\
-    }\
-}\
-/*Assert_phy_off_ends*/
-
-
-
-
-
+        int temp_return = 0;
+        while(count<10 && miso_err_cnt<10){      
+            if(MISO_PIN){
+                assrt_phy_off(temp_return);
                 if(!temp_return){
                     return 0;
                 }
                 count++;
-            } else {
+            }
+            else{
                 wait_us(50);
                 miso_err_cnt++;
             }
@@ -268,158 +152,46 @@
     }
     return 1;
 }
-//for reseting the transmission call assert function after b5 and b1. after b1 assert_phi_on and after b5 assert_phi_tx.
+ 
+//for reseting the transmission call assert function after b5 and b1. after b1 assert_phi_on and after b5 assert_phi_tx. 
 //----------------------------------------------------------------------------
-unsigned char temp;
-bool reg_err;
-int reg_err_cnt;
-#define REG_ERR_THRS 5
-#define reg_check(addr1,addr2,reg_val){\
- gCS_ADF=0;\
-        reg_err=false;\
-        spi.write(addr1);\
-        spi.write(addr2);\
-        spi.write(0xFF);\
-        temp = spi.write(0xFF);\
-        if(temp==reg_val)\
-            reg_err = false;\
-        else\
-            reg_err=true;\
-    gCS_ADF=1;\
-}
-
-#define initiate {\
+ 
+# define initiate {\
+    SPI_mutex.lock();\
     gCS_ADF=0;\
     spi.write(0xFF);\
     spi.write(0xFF);\
     gCS_ADF=1;\
-    reg_err=true;\
-    for(reg_err_cnt=0;reg_err_cnt<REG_ERR_THRS && reg_err;reg_err_cnt++){\
-        gCS_ADF=0;\
-        spi.write(0x08);\
-        spi.write(0x14);\
-        spi.write(TRANSMIT_LEN_1);\
-        gCS_ADF=1;\
-        reg_check(0x28,0x14,TRANSMIT_LEN_1);\
-    }\
-    if(reg_err)\
-        gPC.printf("Reg_err_ignored %x \r\n",(int)temp);\
-    else\
-        gPC.printf("reg written successful %x \r\n",(int)temp);\
-    reg_err=true;\
-    for(reg_err_cnt=0;reg_err_cnt<REG_ERR_THRS && reg_err;reg_err_cnt++){\
-        gCS_ADF=0;\
-        spi.write(0x08);\
-        spi.write(0x15);\
-        spi.write(TRANSMIT_LEN_2);\
-        gCS_ADF=1;\
-        reg_check(0x28,0x15,TRANSMIT_LEN_2);\
-    }\
-    if(reg_err)\
-        gPC.printf("Reg_err_ignored %x \r\n",(int)temp);\
-    else\
-        gPC.printf("reg written successful %x \r\n",(int)temp);\
-}
-
-#define write_data {\
-    counter++;\
+    gCS_ADF=0;\
+    spi.write(0x08);\
+    spi.write(0x14);\
+    spi.write(0xFF);\
+    gCS_ADF=1;\
     gCS_ADF=0;\
-        spi.write(0x0B);\
-        spi.write(0x36);\
-        spi.write(0xFF);\
+    spi.write(0x08);\
+    spi.write(0x15);\
+    spi.write(0xFF);\
+    gCS_ADF=1;\
+    gCS_ADF=0;\
+    spi.write(0x09);\
+    spi.write(0x24);\
+    spi.write(0x20);\
     gCS_ADF=1;\
-    data_err_cnt=0;\
-    data_err=true;\
-    while(data_err && (data_err_cnt<DATA_ERR_THRS)){\
-        gCS_ADF=0;\
-        if(buffer_state){\
-            spi.write(0x18);\
-            spi.write(0x20);\
-            for(unsigned char i=0; i<112;i++){\
-                if(bypass_adf)\
-                    gPC.putc(buffer_112[i]);\
-                else\
-                    spi.write(buffer_112[i]);\
-                    /*gPC.printf("0x%X,",spi.write(buffer_112[i]));*/\
-            }\
-        }\
-        else{\
-            spi.write(0x18);\
-            spi.write(0x90);\
-            for(unsigned char i=0; i<112;i++){\
-                if(bypass_adf)\
-                    gPC.putc(buffer_112[i]);\
-                else\
-                    spi.write(buffer_112[i]);\
-                /*gPC.printf("0x%X,",spi.write(buffer_112[i]));*/\
-            }\
-        }\
-        gCS_ADF=1;\
-        wait_us(5);\
-        data_err=false;\
-        gCS_ADF=0;\
-        spi.write(0x38);\
-        if(buffer_state){\
-            spi.write(0x20);\
-            }\
-        else{\
-            spi.write(0x90);\
-            }\
-        spi.write(0xFF);\
-        for(unsigned char i=0; i<112;i++){\
-            temp_byte=spi.write(0xFF);\
-            if(buffer_112[i]!=temp_byte){\
-                data_err1[i]=1;\
-                data_err=true;\
-                }\
-        }\
+    gCS_ADF=0;\
+    spi.write(0x09);\
+    spi.write(0x37);\
+    spi.write(0xE0);\
     gCS_ADF=1;\
-    /*SPI_mutex.unlock();*/\
-    if(data_err==false){\
-    buffer_state = !buffer_state;\
-    }\
-    data_err_cnt++;\
-    if(last_buffer){\
-        finish_write_data = true;\
-           /*gPC.puts("adf_off\r\n");*/\
-        }\
-    }\
-}
-
-#define check {\
-    check_status;\
-    /*gPC.printf("I 0x%X\r\n",(int)status);*/\
-    if(IRQ || bypass_adf){\
-        /*gPC.printf("det\r\n");*/\
-        if(!ADF_off) {\
-            if(finish_write_data) {\
-                write_data;\
-                ADF_off=true;\
-            } else {\
-                write_data;\
-                if(sent_tmfrom_SDcard)\
-                send_tm_from_SD_card_fun();\
-                else snd_tm.transmit_data(buffer_112,&last_buffer);\
-            }\
-        } else {\
-            wait_ms(20);\
-            gCS_ADF=0;\
-            spi.write(0xB1);\
-            gCS_ADF=1;\
-            gPC.puts("transmission done\r\n");\
-            loop_on=false;\
-        }\
-    }\
-    else{\
-        if(T.read_us()>98000){\
-                data_irq_err=true;\
-                CMD(CMD_PHY_ON);\
-                gPC.printf("Data_error_detected");\
-                }\        
-        }\
-}
-
-#define send_data {\
+    gCS_ADF=0;\
+    spi.write(0x09);\
+    spi.write(0x36);\
+    spi.write(0x70);\
+    gCS_ADF=1;\
+    gCS_ADF=0;\
+    spi.write(0x09);\
+    spi.write(0x39);\
+    spi.write(0x10);\
+    gCS_ADF=1;\
     gCS_ADF=0;\
     spi.write(0xBB);\
     gCS_ADF=1;\
@@ -427,7 +199,58 @@
     spi.write(0xFF);\
     spi.write(0xFF);\
     gCS_ADF=1;\
-    if(sent_tmfrom_SDcard){\
+    SPI_mutex.unlock();\
+}
+ 
+#define write_data {\
+    SPI_mutex.lock();\
+    gCS_ADF=0;\
+    spi.write(0x0B);\
+    spi.write(0x36);\
+    spi.write(0xFF);\
+    gCS_ADF=1;\
+    gCS_ADF=0;\
+    if(buffer_state){\
+        spi.write(0x18);\
+        spi.write(0x20);\
+        for(unsigned char i=0; i<112;i++){\
+            if(bypass_adf)\
+                gPC.putc(buffer_112[i]);\
+            else\
+                spi.write(buffer_112[i]);\
+            /*gPC.printf("%02X",buffer_112[i])*/;\
+        }\
+    }\
+    else{\
+        spi.write(0x18);\
+        spi.write(0x90);\
+        for(unsigned char i=0; i<112;i++){\
+            if(bypass_adf)\
+                gPC.putc(buffer_112[i]);\
+            else\
+                spi.write(buffer_112[i]);\
+            /*gPC.printf("%02X",buffer_112[i])*/;\
+        }\
+    }\
+    gCS_ADF=1;\
+    SPI_mutex.unlock();\
+    buffer_state = !buffer_state;\
+    if(last_buffer){\
+        finish_write_data = true;\
+        /*gPC.puts("adf_off\r\n");*/\
+    }\
+}
+ 
+/* 
+void check(){   
+    if(IRQ){
+        gCOM_MNG_TMTC_THREAD->signal_set(signal);
+    }
+}*/
+  
+ 
+#define send_data {\
+if(sent_tmfrom_SDcard){\
         send_tm_from_SD_card_fun();\
     }else{\
         snd_tm.transmit_data(buffer_112,&last_buffer);\
@@ -444,6 +267,7 @@
     }else{\
         snd_tm.transmit_data(buffer_112,&last_buffer);\
     }\
+    SPI_mutex.lock();\
     gCS_ADF=0;\
     spi.write(0xB1);\
     gCS_ADF=1;\
@@ -460,114 +284,54 @@
     spi.write(0xFF);\
     spi.write(0xFF);\
     gCS_ADF=1;\
+    SPI_mutex.unlock();\
+    /*ticker.attach_us(&check,32000);*/\
 }
-  
-#define initial_adf_check {\
-    bool Configuration_Done=false;\
-    quit_configuration=false;\
-    bool reset_flag1 = 0;\
-    bool flag = false;\
-    while((hw_reset_err_cnt<HW_THRS)&&(quit_configuration==false)){\
-        while((bbram_err_cnt<2)&&(quit_configuration==false)){\
-            /*assrt_phy_off;*/\
-            /*Assrt_phy_off Begin*/\
-            {\
-    int state_err_cnt = 0;\
-    CMD(CMD_PHY_OFF);\
-    if(cmd_err_flag){\
-        temp_return=1;\
-        }\
-    else{\
-        for(int i = 0 ; i < 40 ;i++){\
-            CMD(CMD_PHY_OFF);\
-            check_status;\
-            if(status == PHY_OFF){\
-                temp_return = 0;\
-            break;\
-            }\
-            else if(state_err_cnt>THRS){\
-                temp_return = 1;\
-            break;\
-            }\
-            else {\
-                wait_ms(1);\
-            }\
-        }\
-    }\
-}\
-            /*Assrt_phy_off end*/\
-            reset_flag1=temp_return;\
-            if(!reset_flag1){\
-                bbram_write;\
-                while((rbp_err_cnt<RBP_THRS)&&(quit_configuration==false)){\
-                    bbram_check;\
-                    if(bbram_err==0){\
-                        bbram_write_success=true;\
-                        bbram_err_cnt=0;\
-                        initiate;\
-                        if(reg_err){\
-                            rbp_err_cnt++;\
-                            }\
-                        else{\
-                            rbp_err_cnt=0;\
-                            gPC.printf("NO Reg err\r\n");\
-                            CMD(CMD_CONFIG_DEV);\
-                            if(cmd_err_flag){\
-                                reset_flag=1;\
-                                gPC.printf("CMD ERR\r\n");\
-                            }\
-                            else{\
-                                reset_flag=0;\
-                                gPC.printf("NO CMD ERR CONFIG_DONE\r\n");\
-                                quit_configuration=true;\
-                            }\
-                        }\
-                    }\
-                    else{\
-                        bbram_write_success=false;\
-                        bbram_err_cnt++;\
-                        break;\
-                    }\
-                }\
-            }\
-            else{\
-                break;\
-            }\
-        }\
-        if(reset_flag1){\
-            hardware_reset(0);\
-            hw_reset_err_cnt++;\
-            gPC.puts("Resetting hardware\r\n");\
-        }\
-    }\
-    if(hw_reset_err_cnt==HW_THRS){\
-        power_reset_flag=1;\
-        power_reset_count++;\
-        }\
-    else{\
-        Configuration_Done=true;\
-        gPC.printf("Configuration_Done\n");\
-        }\
-}
-
+ 
 #define configure_adf {\
-    reset_flags;\
+    finish_write_data = false;\
+    buffer_state = true;\
+    last_buffer = false;\
+    loop_on = true;\
+    ADF_off = false;\
     initial_adf_check;\
-    gPC.puts("Config_part done\r\n");\
+    gPC.puts("initial adf check\r\n");\
+    initiate;\
+    gPC.puts("adf configured\r\n");\
+    /*gLEDR = !gLEDR;*/\
 }
  
 #define transmit_adf {\
     configure_adf;\
+    if(sent_tmfrom_SDcard)\
+    signal = COM_MNG_TMTC_SIGNAL_ADF_SD;\
+    else signal = COM_MNG_TMTC_SIGNAL_ADF_NSD;\
     send_data;\
-    CMD(CMD_PHY_TX);\
-    wait_us(2000);\
     while(loop_on){\
-        wait_us(20);\
-        check;\
-        if(data_irq_err){\
-        break;\
+        wait_ms(COM_TX_TICKER_LIMIT);\
+        if(IRQ || bypass_adf){\
+            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");\
+                    gLEDR = 1;\
+                }\
+                else{\
+                    ADF_off = true;\
+                }\
+            }else{\ 
+                gLEDG = !gLEDG;\  
+                write_data;\
+                if(sent_tmfrom_SDcard)\
+                send_tm_from_SD_card_fun();\
+                else snd_tm.transmit_data(buffer_112,&last_buffer);\ 
+            }\
         }\
     }\
     /*gPC.puts("after while loop\r\n");*/\
-}
-
+}
\ No newline at end of file