Team Fox / Mbed 2 deprecated BAE_QM_MAR9

Dependencies:   FreescaleIAP mbed-rtos mbed

Fork of workinQM_5thJan_azad by Team Fox

Revision:
56:32b1fb074138
Parent:
54:d6a45982ace1
Child:
57:60e8f00d93c3
--- a/TCTM.cpp	Sat Aug 06 19:05:29 2016 +0000
+++ b/TCTM.cpp	Sun Aug 07 07:49:52 2016 +0000
@@ -230,7 +230,7 @@
     float div=max-min;
     div=(65535.0/div);
     val=((val-min)*div);
-    gpc.printf("\n\r the scale is %x",(uint16_t)val);
+    //gpc.printf("\n\r the scale is %x",(uint16_t)val);
     return (uint16_t)val;
 }
 
@@ -363,6 +363,12 @@
                                                                 telemetry[5] = (telemetry[5]<<1);
                                                                 //now one spares in telemetry[5]
                                                                 telemetry[6] = BAE_RESET_COUNTER;
+                                                                
+                                                                for(int k=0;k<6;k++)
+                                                                {
+                                                                    gpc.printf("\n\rtelemetry[%d]  :  %.02X\r\n", k, telemetry[k]);
+                                                                }
+                                                                
                                                                 telemetry[7] = EPS_SOC_LEVEL_12; 
                                                                 telemetry[8] = EPS_SOC_LEVEL_23;
                                                                 telemetry[9] = ACS_MAG_TIME_DELAY;
@@ -418,6 +424,7 @@
                                                                 // 6 next telemetries value to be given by registers
                                                                 telemetry[32] = ATS1_EVENT_STATUS_RGTR;
                                                                 telemetry[33] = ATS1_SENTRAL_STATUS_RGTR;
+                                                                //printf("SENTRAL_STATUS is  : %.02X\r\n",ATS1_SENTRAL_STATUS_RGTR);
                                                                 telemetry[34] = ATS1_ERROR_RGTR;
                                                                 telemetry[35] = ATS2_EVENT_STATUS_RGTR;
                                                                 telemetry[36] = ATS2_SENTRAL_STATUS_RGTR;
@@ -456,6 +463,8 @@
                                                                 
                                                                 telemetry[57] = actual_data.bit_data_acs_mg[0];
                                                                 telemetry[58] = actual_data.bit_data_acs_mg[0]>>8;
+                                                                printf("MGX0 is  : %.02X \r\n",(uint8_t)actual_data.bit_data_acs_mg[0]);
+                                                                printf("MGX1 is  : %.02X \r\n",(uint8_t)(actual_data.bit_data_acs_mg[0]>>8));
                                                                 telemetry[59] = actual_data.bit_data_acs_mg[1];
                                                                 telemetry[60] = actual_data.bit_data_acs_mg[1]>>8;
                                                                 telemetry[61] = actual_data.bit_data_acs_mg[2];
@@ -530,9 +539,15 @@
                                                                     {
                                                                         telemetry[i] = 0x00;
                                                                     }
+                                                                
                                                                 crc16 = CRC::crc16_gen(telemetry,132);
                                                                 telemetry[132] = (uint8_t)((crc16&0xFF00)>>8);
                                                                 telemetry[133] = (uint8_t)(crc16&0x00FF);
+                                                                //for(int j=0;j<=133;j++)
+                                                                //{
+                                                                    //printf("Telemetry[%d]  : %.02X\r\n",j, telemetry[j]);
+                                                               //}
+                                                               gpc.printf("\n\rCRC  :  %.02X %.02X\r\n", telemetry[132],telemetry[133]);
                                     
                                                                 break;
                                                             }
@@ -1280,6 +1295,29 @@
                                                                 crc16 = CRC::crc16_gen(telemetry,132);
                                                                 telemetry[132] = (uint8_t)((crc16&0xFF00)>>8);
                                                                 telemetry[133] = (uint8_t)(crc16&0x00FF);
+                                                                
+                                                                if(data1 == 0)
+                                                                    {
+                                                                        ATS1_SW_ENABLE = 0;
+                                                                        //wait_ms(5);
+                                                                        ACS_ATS_STATUS = (ACS_ATS_STATUS&0x0F)|0xC0;
+                                                                    }
+                                                                else if(data1==1)
+                                                                    {
+                                                                        ATS1_SW_ENABLE = 1;
+                                                                        ACS_ATS_STATUS = (ACS_ATS_STATUS&0x0F)|0x40;
+                                                                    }
+                                                                else if(data1==2)
+                                                                    {
+                                                                        ATS1_SW_ENABLE = 1;
+                                                                        ACS_ATS_STATUS = (ACS_ATS_STATUS&0x0F)|0x60;
+                                                                    }
+                                                                else if(data1==3)
+                                                                    {
+                                                                        ATS1_SW_ENABLE = 1;
+                                                                        ACS_ATS_STATUS = (ACS_ATS_STATUS&0x0F)|0x70;
+                                                                    }
+                                                                printf("Exited HW\r\n");
                                                                 break;
                                                             }
                                                     case 0xE2: