MARCH 9th
Dependencies: FreescaleIAP mbed-rtos mbed
Fork of workinQM_5thJan_azad by
Revision 101:cf1976e16f28, committed 2017-03-28
- Comitter:
- samp1234
- Date:
- Tue Mar 28 08:48:42 2017 +0000
- Parent:
- 100:af43bc82d3eb
- Commit message:
- Fixed and Tested Minmax
Changed in this revision
--- a/BCN.cpp Thu Mar 09 08:08:10 2017 +0000 +++ b/BCN.cpp Tue Mar 28 08:48:42 2017 +0000 @@ -35,7 +35,7 @@ uint8_t BCN_TX_SW_STATUS = 1; uint8_t BCN_FEN = 0; //hardcoding for now //write this value to flash uint8_t BCN_SPND_TX = 0; //hardcoding for now //check where is this variable toggled?? -uint8_t BCN_TMP = 5; // For Temperature +int BCN_TMP = 5; // For Temperature uint8_t ERROR_CHECK = 0; uint8_t BCN_FAIL_COUNT = 0; //Flag for keeping count of no. of times of BCN failure in init or one transmission in 30 secs (failure in spi communication) //This Flag when exceeds a threshold, uC should reset. @@ -72,23 +72,24 @@ SHORT_HK_data[5] = 0x28; SHORT_HK_data[6] = 0x8A; - SHORT_HK_data[7] = (quant_data.voltage_quant[0]/10)<<4; // bat voltage: changed by samp from quant_data.voltage_quant[15] to quant_data.voltage_quant[0] - SHORT_HK_data[7] = (SHORT_HK_data[7] & 0xF0) | (quant_data.current_quant[0]/100); //>>4, solar bus current changed from quant_data.current_quant[1] to quant_data.current_quant[0] + SHORT_HK_data[7] = (quant_data.voltage_quant[0])<<4; // bat voltage: changed by samp from quant_data.voltage_quant[15] to quant_data.voltage_quant[0] + SHORT_HK_data[7] = (SHORT_HK_data[7] & 0xF0) | (quant_data.current_quant[0]); //>>4, solar bus current changed from quant_data.current_quant[1] to quant_data.current_quant[0] //taking only the most significant bits SHORT_HK_data[8] = actual_data.bit_data_acs_mg[0]>>8; + SHORT_HK_data[8] = (SHORT_HK_data[8] & 0xF0) | (BCN_TMP+50)>>3; //SHORT_HK_data[9] = 0xFF; SHORT_HK_data[9] = float_to_uint8(-50,100,EPS_BTRY_TMP_AVG); - SHORT_HK_data[9] = (SHORT_HK_data[9]&0xF0) | BAE_RESET_COUNTER>>4; - + SHORT_HK_data[9] = (SHORT_HK_data[9]&0xF0) | BAE_RESET_COUNTER>>4; // + pc_bcn.printf("\n\n\r acs_mg = %d \n",actual_data.bit_data_acs_mg[0]); //RETURN_UPTIME(BAE_uptime.read(),&days,&hours,&mins); RETURN_UPTIME(BAE_uptime.read(),&days,&hours,&mins); SHORT_HK_data[10] = ~CDMS_OC_FAULT<<7; SHORT_HK_data[10] = (SHORT_HK_data[10]) | 0;//receiver_oc_fault//to be diss - Is it (tc[10]>>1)&0x01 ? - SHORT_HK_data[10] = (SHORT_HK_data[10]) | (((quant_data.voltage_quant[5]/4)<<2)&0x3C); + SHORT_HK_data[10] = (SHORT_HK_data[10]) | (((quant_data.voltage_quant[5])<<2)&0x3C); SHORT_HK_data[10] = (SHORT_HK_data[10]) | ((hours>>2)&0x03);// just for testing purpose change it to days 5 bits ((days>>3)&0x03) SHORT_HK_data[11] = (hours<<6) | (mins&0x3F);//(days<<5) | (hours&0x1F); @@ -102,10 +103,15 @@ SHORT_HK_data[13] = (days<<6) | (mins&0x3F); SHORT_HK_data[14] = crc8_short(); + pc_bcn.printf("\n\n\r hrs = %x\n",days); + pc_bcn.printf("\n\n\r min = %x\n",mins); + #if short_bcn_print pc_bcn.printf("\n\rShort BCN data:\n"); for(int ib = 0;ib<15;ib++) pc_bcn.printf("\n\r%02x",SHORT_HK_data[ib]); + pc_bcn.printf("\n\rsolar Ibits= %d\n",quant_data.current_quant[0]/16); + pc_bcn.printf("\n\rsolar I= %d\n",quant_data.current_quant[0]); pc_bcn.printf("\n\rV_D = %d\n",quant_data.voltage_quant[6]); pc_bcn.printf("V_C = %d\n",quant_data.voltage_quant[5]); pc_bcn.printf("V_C in bits = %x\n",(quant_data.voltage_quant[5])&0x3C); @@ -407,8 +413,8 @@ } } - Read_I_B_IN_BCN(); - wait_ms(70); + // Read_I_B_IN_BCN(); + // wait_ms(70); if( BCN_SW == 1 ) { @@ -466,7 +472,9 @@ } else if(count == 2) { - reset_rfm(1); pc_bcn.printf("reg = 0x%X\n",reg);break; + reset_rfm(1); + pc_bcn.printf("reg = 0x%X\n",reg); + break; } else init_spi(); }
--- a/EPS.cpp Thu Mar 09 08:08:10 2017 +0000 +++ b/EPS.cpp Tue Mar 28 08:48:42 2017 +0000 @@ -43,7 +43,7 @@ extern uint8_t bb_mms[3]; extern uint8_t singularity_flag_mms; extern uint8_t B_SCZ_ANGLE; - +extern uint16_t float_to_uint16(float min,float max,float val); //bcn extern uint8_t BCN_SPND_TX; @@ -64,7 +64,7 @@ extern uint8_t BAE_STANDBY; extern uint16_t BAE_I2C_COUNTER; extern void RETURN_UPTIME(float time, uint8_t *day,uint8_t *hour,uint8_t *min); - +extern uint8_t BAE_MNG_I2C_STATUS; //eps extern uint8_t ACS_INIT_STATUS; extern uint16_t EPS_MAIN_COUNTER; @@ -235,7 +235,7 @@ timer_soc.stop(); - actual_data.Batt_voltage_actual = Batt_voltage.read()*3.3; //1 corresponds to 3.3 scaling factor + actual_data.Batt_voltage_actual = Batt_voltage.read()*3.3*62/11; //1 corresponds to 3.3 scaling factor FCTN_EPS_POWERMODE(actual_data.Batt_gauge_actual[1]); eps_pc.printf("Power Level: %d\n\r", actual_data.power_mode); EPS_BATTERY_GAUGE_STATUS = 1; //set EPS_BATTERY_GAUGE_STATUS @@ -560,16 +560,30 @@ for(Iteration=0;Iteration<16;Iteration++){ - if(Iteration==1)/*consedering 200 mili amp as limit here*/ + if(Iteration==3)/*consedering 200 mili amp as limit here*/ + { + quant_data.current_quant[Iteration] = 10*actual_data.current_actual[Iteration]; + //quantiz(cstart,cstep,actual_data.current_actual[Iteration]); + // quant_data.current_quant[Iteration] = float_to_uint8(0.0,2640,actual_data.current_actual[Iteration]); + // eps_pc.printf("\n\r quan curr1 data[%d] = %d ",Iteration,quant_data.current_quant[Iteration] ); + } + else if(Iteration==4)/*consedering 200 mili amp as limit here*/ { - quant_data.current_quant[Iteration] = actual_data.current_actual[Iteration]; + quant_data.current_quant[Iteration] = 10*actual_data.current_actual[Iteration]; + //quantiz(cstart,cstep,actual_data.current_actual[Iteration]); + // quant_data.current_quant[Iteration] = float_to_uint8(0.0,2640,actual_data.current_actual[Iteration]); + // eps_pc.printf("\n\r quan curr1 data[%d] = %d ",Iteration,quant_data.current_quant[Iteration] ); + } + else if(Iteration==6)/*consedering 200 mili amp as limit here*/ + { + quant_data.current_quant[Iteration] = 10*actual_data.current_actual[Iteration]; //quantiz(cstart,cstep,actual_data.current_actual[Iteration]); // quant_data.current_quant[Iteration] = float_to_uint8(0.0,2640,actual_data.current_actual[Iteration]); // eps_pc.printf("\n\r quan curr1 data[%d] = %d ",Iteration,quant_data.current_quant[Iteration] ); } else if(Iteration<9)/*consedering 200 mili amp as limit here*/ { - quant_data.current_quant[Iteration] = 10*actual_data.current_actual[Iteration]; + quant_data.current_quant[Iteration] = actual_data.current_actual[Iteration]; //quantiz(cstart,cstep,actual_data.current_actual[Iteration]); // quant_data.current_quant[Iteration] = float_to_uint8(0.0,2640,actual_data.current_actual[Iteration]); // eps_pc.printf("\n\r quan curr1 data[%d] = %d ",Iteration,quant_data.current_quant[Iteration] ); @@ -581,7 +595,8 @@ } for(Iteration=0;Iteration<2;Iteration++){ - quant_data.Batt_temp_quant[Iteration] = float_to_uint8(-50,150,actual_data.Batt_temp_actual[Iteration]);//quantiz(tstart,tstep,actual_data.Batt_temp_actual[Iteration]); + // quant_data.Batt_temp_quant[Iteration] = float_to_uint8(-50,150,actual_data.Batt_temp_actual[Iteration]);//quantiz(tstart,tstep,actual_data.Batt_temp_actual[Iteration]); + quant_data.Batt_temp_quant[Iteration] = actual_data.Batt_temp_actual[Iteration] +50; } //to be changed no need to quantized @@ -678,11 +693,11 @@ //BAE RAM PARAMETER LONG_HK_data[1][29] = BAE_INIT_STATUS; - LONG_HK_data[1][29] = (LONG_HK_data[1][29]<<1) | 0;//change it================================ + LONG_HK_data[1][29] = (LONG_HK_data[1][29]<<1) |BAE_MNG_I2C_STATUS;//change it================================ LONG_HK_data[1][29] = (LONG_HK_data[1][29]<<1) | BCN_INIT_STATUS; LONG_HK_data[1][29] = (LONG_HK_data[1][29]<<1) | BCN_TX_MAIN_STATUS; LONG_HK_data[1][29] = (LONG_HK_data[1][29]<<3) | BCN_TX_STATUS; - LONG_HK_data[1][29] = (LONG_HK_data[1][29]<<3) | ACS_INIT_STATUS; + LONG_HK_data[1][29] = (LONG_HK_data[1][29]<<1) | ACS_INIT_STATUS; LONG_HK_data[1][30] = ACS_DATA_ACQ_STATUS; LONG_HK_data[1][30] = (LONG_HK_data[1][30]<<1) | ACS_MAIN_STATUS; @@ -712,14 +727,14 @@ LONG_HK_data[1][40] = actual_data.power_mode; LONG_HK_data[1][41] = HTR_CYCLE_COUNTER;//new to : implement - LONG_HK_data[1][42] = BAE_I2C_COUNTER; - LONG_HK_data[1][43] = BAE_I2C_COUNTER>>8; - LONG_HK_data[1][44] = ACS_MAIN_COUNTER; - LONG_HK_data[1][45] = ACS_MAIN_COUNTER>>8; - LONG_HK_data[1][46] = BCN_TX_MAIN_COUNTER; - LONG_HK_data[1][47] = BCN_TX_MAIN_COUNTER>>8; - LONG_HK_data[1][48] = EPS_MAIN_COUNTER; - LONG_HK_data[1][49] = EPS_MAIN_COUNTER>>8; + LONG_HK_data[1][43] = BAE_I2C_COUNTER; + LONG_HK_data[1][42] = BAE_I2C_COUNTER>>8; + LONG_HK_data[1][45] = ACS_MAIN_COUNTER; + LONG_HK_data[1][44] = ACS_MAIN_COUNTER>>8; + LONG_HK_data[1][47] = BCN_TX_MAIN_COUNTER; + LONG_HK_data[1][46] = BCN_TX_MAIN_COUNTER>>8; + LONG_HK_data[1][49] = EPS_MAIN_COUNTER; + LONG_HK_data[1][48] = EPS_MAIN_COUNTER>>8; uint8_t days,hours,mins; RETURN_UPTIME(BAE_uptime.read(),&days,&hours,&mins); @@ -728,9 +743,28 @@ LONG_HK_data[1][50] = (LONG_HK_data[1][50]) | (hours>>2); LONG_HK_data[1][51] = hours; LONG_HK_data[1][51] = (LONG_HK_data[1][51]<<6) | mins; - - - LONG_HK_data[1][52] = actual_data.bit_data_acs_mm[0]; + uint16_t scaled1; + scaled1 = float_to_uint16(-1000,1000,actual_data.Bvalue_actual[0]); + LONG_HK_data[1][52] = (scaled1>>8); + LONG_HK_data[1][53] = scaled1; + scaled1 = float_to_uint16(-1000,1000,actual_data.Bvalue_actual[1]); + LONG_HK_data[1][54] = (scaled1>>8); + LONG_HK_data[1][55] = scaled1; + scaled1 = float_to_uint16(-1000,1000,actual_data.Bvalue_actual[2]); + LONG_HK_data[1][56] = (scaled1>>8); + LONG_HK_data[1][57] = scaled1; + scaled1 = float_to_uint16(-5000,5000,actual_data.AngularSpeed_actual[0]); + LONG_HK_data[1][58] = (scaled1>>8); + LONG_HK_data[1][59] = scaled1; + scaled1 = float_to_uint16(-5000,5000,actual_data.AngularSpeed_actual[1]); + LONG_HK_data[1][60] = (scaled1>>8); + LONG_HK_data[1][61] = scaled1; + scaled1 = float_to_uint16(-5000,5000,actual_data.AngularSpeed_actual[2]); + LONG_HK_data[1][62] = (scaled1>>8); + LONG_HK_data[1][63] = scaled1; + + /* + LONG_HK_data[1][52] = float_to_uint16(-1000,1000,actual_data.Bvalue_actual[0]);//actual_data.bit_data_acs_mm[0]; LONG_HK_data[1][53] = actual_data.bit_data_acs_mm[0]>>8; LONG_HK_data[1][54] = actual_data.bit_data_acs_mm[1]; LONG_HK_data[1][55] = actual_data.bit_data_acs_mm[1]>>8; @@ -743,23 +777,24 @@ LONG_HK_data[1][61] = actual_data.bit_data_acs_mg[1]>>8; LONG_HK_data[1][62] = actual_data.bit_data_acs_mg[2]; LONG_HK_data[1][63] = actual_data.bit_data_acs_mg[2]>>8; - - LONG_HK_data[1][64] = (~BCN_TX_OC_FAULT); - LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | ACS_TR_XY_ENABLE; - LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | ACS_TR_Z_ENABLE; - LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | (~ACS_TR_XY_OC_FAULT); - LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | (~ACS_TR_Z_OC_FAULT); - LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | (~ACS_TR_XY_FAULT); - LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | (~EPS_CHARGER_FAULT); - LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | EPS_CHARGER_STATUS; + */ + LONG_HK_data[1][64] = (~BCN_TX_OC_FAULT&&0x01); + LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | ACS_TR_XY_ENABLE&&0x01; + LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | ACS_TR_Z_ENABLE&&0x01; + LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | (~ACS_TR_XY_OC_FAULT&&0x01); + LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | (~ACS_TR_Z_OC_FAULT)&&0x01; + LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | (~ACS_TR_XY_FAULT&&0x01); + LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | (~EPS_CHARGER_FAULT&&0x01); + LONG_HK_data[1][64] = (LONG_HK_data[1][64]<<1) | EPS_CHARGER_STATUS&&0x01; LONG_HK_data[1][65] = EPS_BATTERY_GAUGE_ALERT; - LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<1) | (~CDMS_OC_FAULT); - LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<1) | (~ACS_ATS1_OC_FAULT); - LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<1) | (~ACS_ATS2_OC_FAULT); - LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<1) | (~ACS_TR_Z_FAULT); + LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<1) | (~CDMS_OC_FAULT&&0x01); + LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<1) | (~ACS_ATS1_OC_FAULT&&0x01); + LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<1) | (~ACS_ATS2_OC_FAULT&&0x01); + LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<1) | (~ACS_TR_Z_FAULT&&0x01); LONG_HK_data[1][65] = (LONG_HK_data[1][65]<<3); //3 spare + LONG_HK_data[1][66] = ACS_TR_X_PWM; LONG_HK_data[1][67] = ACS_TR_Y_PWM; @@ -802,10 +837,12 @@ eps_pc.printf("Battery SOC in LONG_HK: %d\n\r",LONG_HK_data[1][124]); eps_pc.printf("Battery SOC in eps in float: %f\n\r",soc()); eps_pc.printf("Battery SOC in eps: %d\n\r",(int)soc()); - LONG_HK_data[1][125] = quant_data.Batt_temp_quant[0]; + FCTN_BATT_TEMP_SENSOR_MAIN(actual_data.Batt_temp_actual); // for debugging + + LONG_HK_data[1][125] = actual_data.Batt_temp_actual[0]+50;//quant_data.Batt_temp_quant[0]; //LONG_HK_data[1][125] = actual_data.Batt_temp_actual[0]; //just for debugging eps_pc.printf("Battery TMP1 in LONG_HK: %d\n\r",LONG_HK_data[1][125]); - LONG_HK_data[1][126] = quant_data.Batt_temp_quant[1]; + LONG_HK_data[1][126] = actual_data.Batt_temp_actual[1]+50; //quant_data.Batt_temp_quant[1]; eps_pc.printf("Battery TMP2 in LONG_HK: %d\n\r",LONG_HK_data[1][126]); LONG_HK_data[1][127] = BCN_TMP+50; eps_pc.printf("BCN TMP in LONG_HK: %d\n\r",LONG_HK_data[1][127]);
--- a/TCTM.cpp Thu Mar 09 08:08:10 2017 +0000 +++ b/TCTM.cpp Tue Mar 28 08:48:42 2017 +0000 @@ -428,7 +428,7 @@ telemetry[31] = (telemetry[31]<<1) | EPS_MAIN_STATUS; telemetry[31] = (telemetry[31]<<1) | EPS_BTRY_TMP_STATUS; telemetry[31] = (telemetry[31]<<3) | EPS_STATUS; - telemetry[31] = (telemetry[31]<<2) | CDMS_SW_STATUS; + telemetry[31] = (telemetry[31]<<2) | CDMS_SW_STATUS; // telemetry[30] = (telemetry[30]<<1) | EPS_BTRY_HTR_STATUS;//new to : implement telemetry[32] = EPS_BTRY_HTR; //new to : implement @@ -461,7 +461,7 @@ printf("\n\r the values bae of days,hour,min %d, %d, %d",days,hours,mins); telemetry[50] = days; - RETURN_UPTIME(I2C_last.read(),&days,&hours,&mins); + RETURN_UPTIME(I2C_last.read(),&days,&hours,&mins); telemetry[50] = (telemetry[50]<<3) | (hours>>2); telemetry[51] = hours; telemetry[51] = (telemetry[51]<<6) | mins; @@ -494,21 +494,23 @@ scaled = float_to_uint16(-5000,5000,actual_data.AngularSpeed_actual[2]); telemetry[62] = (scaled>>8); telemetry[63] = scaled; - - telemetry[64] = (~BCN_TX_OC_FAULT); - telemetry[64] = (telemetry[64]<<1) | ACS_TR_XY_ENABLE; - telemetry[64] = (telemetry[64]<<1) | ACS_TR_Z_ENABLE; - telemetry[64] = (telemetry[64]<<1) | (~ACS_TR_XY_OC_FAULT); - telemetry[64] = (telemetry[64]<<1) | (~ACS_TR_Z_OC_FAULT); - telemetry[64] = (telemetry[64]<<1) | (~ACS_TR_XY_FAULT); - telemetry[64] = (telemetry[64]<<1) | (~EPS_CHARGER_FAULT); - telemetry[64] = (telemetry[64]<<1) | EPS_CHARGER_STATUS; - + // printf("\n\r TM64_B %d",telemetry[64]); + telemetry[64]= 0; + telemetry[64] = (~BCN_TX_OC_FAULT&&0x01); + telemetry[64] = (telemetry[64]<<1) | (ACS_TR_XY_ENABLE&&0x01); + telemetry[64] = (telemetry[64]<<1) | ACS_TR_Z_ENABLE&&0x01; + telemetry[64] = (telemetry[64]<<1) | (~ACS_TR_XY_OC_FAULT&&0x01); + telemetry[64] = (telemetry[64]<<1) | (~ACS_TR_Z_OC_FAULT&&0x01); + telemetry[64] = (telemetry[64]<<1) | (~ACS_TR_XY_FAULT&&0x01); + telemetry[64] = (telemetry[64]<<1) | (~EPS_CHARGER_FAULT&&0x01); + telemetry[64] = (telemetry[64]<<1) | EPS_CHARGER_STATUS&&0x01; + printf("\n\r TM64_A %d",telemetry[64]); + telemetry[65] = EPS_BATTERY_GAUGE_ALERT; - telemetry[65] = (telemetry[65]<<1) | (~CDMS_OC_FAULT); - telemetry[65] = (telemetry[65]<<1) | (~ACS_ATS1_OC_FAULT); - telemetry[65] = (telemetry[65]<<1) | (~ACS_ATS2_OC_FAULT); - telemetry[65] = (telemetry[65]<<1) | (~ACS_TR_Z_FAULT); + telemetry[65] = (telemetry[65]<<1) | (~CDMS_OC_FAULT&&0x01); + telemetry[65] = (telemetry[65]<<1) | (~ACS_ATS1_OC_FAULT&&0x01); + telemetry[65] = (telemetry[65]<<1) | (~ACS_ATS2_OC_FAULT&&0x01); + telemetry[65] = (telemetry[65]<<1) | (~ACS_TR_Z_FAULT&&0x01); telemetry[65] = (telemetry[65]<<3); //3 spare @@ -545,9 +547,12 @@ telemetry[122] = quant_data.Batt_voltage_quant;// changed (quant_data.Batt_voltage_quant<<3)+(quant_data.Batt_voltage_quant<<1); telemetry[123] = quant_data.BAE_temp_quant; - telemetry[124] = (uint8_t)(actual_data.Batt_gauge_actual[1]); - telemetry[125] = quant_data.Batt_temp_quant[0]; - telemetry[126] = quant_data.Batt_temp_quant[1]; + telemetry[124] = soc(); //(actual_data.Batt_gauge_actual[1]);//(uint8_t)(actual_data.Batt_gauge_actual[1]); + printf("\n\r SOC_A %d",telemetry[124]); + FCTN_BATT_TEMP_SENSOR_MAIN(actual_data.Batt_temp_actual); + + telemetry[125] = actual_data.Batt_temp_actual[0]+50;//quant_data.Batt_temp_quant[0]; + telemetry[126] = actual_data.Batt_temp_actual[1]+50; telemetry[127] = BCN_TMP+50; @@ -569,7 +574,7 @@ telemetry[2] = ACK_CODE; telemetry[3] = 0x00; - for(int i;i<16;i++) + for(int i=0;i<16;i++) { telemetry[i+4] = (uint8_t)bae_HK_minmax.voltage_max[i];//(bae_HK_minmax.voltage_max[i]<<3)+(bae_HK_minmax.voltage_max[i]<<2); telemetry[i+20] = bae_HK_minmax.current_max[i]; @@ -597,7 +602,7 @@ /*min data*/ - for(int i;i<16;i++) + for(int i=0;i<16;i++) { telemetry[i+54] = (uint8_t)bae_HK_minmax.voltage_min[i];//(bae_HK_minmax.voltage_min[i]<<3)+(bae_HK_minmax.voltage_min[i]<<1); //for(int i;i<16;i++) telemetry[i+70] = bae_HK_minmax.current_min[i];
--- a/main.cpp Thu Mar 09 08:08:10 2017 +0000 +++ b/main.cpp Tue Mar 28 08:48:42 2017 +0000 @@ -817,9 +817,10 @@ timer_FCTN_BATT_TEMP_SENSOR_MAIN.start(); FCTN_BATT_TEMP_SENSOR_MAIN(actual_data.Batt_temp_actual); timer_FCTN_BATT_TEMP_SENSOR_MAIN.stop(); - + pc.printf("Battery temperature %f %f\n\r" ,actual_data.Batt_temp_actual[0], actual_data.Batt_temp_actual[1]); EPS_BTRY_TMP_AVG = ( actual_data.Batt_temp_actual[0] + actual_data.Batt_temp_actual[1] )/2.0; + if(abs(actual_data.Batt_temp_actual[0] - actual_data.Batt_temp_actual[1]) > 10) { EPS_BTRY_TMP_STATUS = 0; //clear EPS_BTRY_TMP_STATUS @@ -937,7 +938,8 @@ while(1) { Thread::signal_wait(0x4); - wait_us(300); + wait_us(300); // restore it + //__disable_irq(); BAE_MNG_I2C_STATUS =1 ;