
publishing to check changes in cdms code
Dependencies: FreescaleIAP SimpleDMA mbed-rtos mbed
Fork of CDMS_CODE_samp_23SEP_DMA_flag by
Revision 303:b49b486a7107, committed 2016-09-05
- Comitter:
- chaithanyarss
- Date:
- Mon Sep 05 11:25:33 2016 +0000
- Parent:
- 301:701ac67649b7
- Child:
- 304:7cc4fe191a54
- Commit message:
- Merged code
Changed in this revision
--- a/CDMS_HK.h Sun Sep 04 11:12:00 2016 +0000 +++ b/CDMS_HK.h Mon Sep 05 11:25:33 2016 +0000 @@ -20,8 +20,14 @@ DigitalOut SelectLinec3 (PIN79); // MSB of Select Lines DigitalOut SelectLinec2 (PIN78); +DigitalOut SelectLinec1 (PIN76); +DigitalOut SelectLinec0 (PIN77); // LSB of Select Lines + +/* +Before SBC. To be restored in FM model DigitalOut SelectLinec1 (PIN77); DigitalOut SelectLinec0 (PIN76); // LSB of Select Lines +*/ Convolution CDMS_HEALTH; Convolution BAE_HEALTH; @@ -57,16 +63,16 @@ FCTN_CDMS_PL_MAIN((void const *)NULL); hk_count = 2; } - gPC.printf("\n\nEntering HK thread\n"); + gPC.printf("\n\rEntering HK thread\n"); if(EN_CDMS_HK == 0x00) continue; CDMS_HK_MAIN_STATUS = 0x01; CDMS_HK_MAIN_COUNTER++; - FCTN_CDMS_HK();//collects temperatures + FCTN_CDMS_HK(); //collects temperatures RSSI_volatge = COMRX_RSSI_volatge.read() * 3.3;//to be checked - gPC.printf("\n%f\n",RSSI_volatge); + gPC.printf("\n\rRSSI voltage = %f",RSSI_volatge); VERIFY_COMRX(); VERIFY_RTC(); HANDLE_HW_FAULTS(); @@ -117,10 +123,12 @@ CDMS_HK_FRAME[1] = FSC_CURRENT[4]+1; CDMS_HK_FRAME[2] = (FSC_CURRENT[4]+1) >> 8; CDMS_HK_FRAME[3] = (FSC_CURRENT[4]+1) >> 16; - - for(int i = 0; i<128; i++) /*Adding actual CDMS Health data to TM frame*/ - CDMS_HK_FRAME[4+i] = CDMS_HEALTH_DATA[i]; - + gPC.printf("\n"); + for(int i = 0; i<128; i++){ /*Adding actual CDMS Health data to TM frame*/ + CDMS_HK_FRAME[i+4] = CDMS_HEALTH_DATA[i]; + gPC.printf("%02x",CDMS_HEALTH_DATA[i]); + } + gPC.printf("\n"); uint16_t crc = crc16_gen(CDMS_HK_FRAME,132); /*Adding CRC to TM frame*/ CDMS_HK_FRAME[133] = crc; CDMS_HK_FRAME[132] = crc >> 8; @@ -249,7 +257,7 @@ void minMaxHkData() { if(firstCount==true) { - for (int i = 0; i < 16; ++i) { + for (int i = 4; i < 16; ++i) { min_max_data.temp_min[i] = quant_data.temp_quant[i]; min_max_data.temp_max[i] = quant_data.temp_quant[i]; } @@ -257,7 +265,7 @@ min_max_data.CDMS_temp_min=quant_data.CDMS_temp_quant; min_max_data.CDMS_temp_max=quant_data.CDMS_temp_quant; } else { - for (int i = 0; i < 16; ++i) { + for (int i = 4; i < 16; ++i) { min_max_data.temp_min[i] = saveMin(min_max_data.temp_min[i],quant_data.temp_quant[i]); min_max_data.temp_max[i] = saveMax(min_max_data.temp_max[i],quant_data.temp_quant[i]); } @@ -278,7 +286,7 @@ SelectLinec1=0; SelectLinec2=0; SelectLinec3=0; - + gPC.printf("\r%d %d %d %d\n",SelectLinec3.read(),SelectLinec2.read(),SelectLinec1.read(),SelectLinec0.read()); for(Iteration=0; Iteration<16; Iteration++) { actual_data.temp_actual[Iteration]=TempInput.read(); @@ -290,35 +298,38 @@ SelectLinec2=!(SelectLinec2); if(Iteration%8==7) SelectLinec3=!(SelectLinec3); + gPC.printf("\r%d %d %d %d\n",SelectLinec3.read(),SelectLinec2.read(),SelectLinec1.read(),SelectLinec0.read()); } actual_data.CDMS_temp_actual=(-90.7*3.3*CDMS_temp_sensor.read())+190.1543; - + + gPC.printf("\rRaw Temp = %f\n",actual_data.temp_actual[15]*3.3); + for(Iteration=0; Iteration<16; Iteration++) { - if(Iteration<14) { - actual_data.temp_actual[Iteration]=actual_data.temp_actual[Iteration]*3.3; - resistance=24000*actual_data.temp_actual[Iteration]/(3.3-actual_data.temp_actual[Iteration]); + if(Iteration<4) + actual_data.temp_actual[Iteration]=actual_data.temp_actual[Iteration]*3.3*2; - if(actual_data.temp_actual[Iteration]>1.47) { + else if(Iteration<14){ + resistance=10000*actual_data.temp_actual[Iteration]*3.3/(3.3-actual_data.temp_actual[Iteration]*3.3); + + if(actual_data.temp_actual[Iteration]*3.3<1.47) //Document says 1.378 .Pls Check actual_data.temp_actual[Iteration]=3694/log(24.032242*resistance); - } else { - + else actual_data.temp_actual[Iteration]=3365.4/log(7.60573*resistance); - } - } else + } + else actual_data.temp_actual[Iteration]=(-90.7*3.3*actual_data.temp_actual[Iteration])+190.1543; } - for(Iteration=0; Iteration<16; Iteration++) { - if(Iteration<14) { - + if(Iteration<4) + quant_data.temp_quant[Iteration]=actual_data.temp_actual[Iteration] * 10; + else if(Iteration<14) quant_data.temp_quant[Iteration]=quantiz(tstart_thermistor,tstep_thermistor,actual_data.temp_actual[Iteration]); - } else + else quant_data.temp_quant[Iteration]=quantiz(tstart,tstep,actual_data.temp_actual[Iteration]); } - quant_data.CDMS_temp_quant=quantiz(tstart,tstep,actual_data.CDMS_temp_actual); minMaxHkData(); @@ -327,34 +338,34 @@ void FUNC_CDMS_GPIO_STATUS() //Polls the status of Input GPIO PINS { //V_A_PGOOD //TRZ EN - GPIO_STATUS=(V_A_PGOOD)?(GPIO_STATUS)||((uint16_t)(0x1<<15)):(GPIO_STATUS)&(~((uint16_t)(0x1<<15))); + GPIO_STATUS=(V_A_PGOOD)?(GPIO_STATUS)|((uint16_t)(0x1<<15)):(GPIO_STATUS)&(~((uint16_t)(0x1<<15))); //V_B_PGOOD_1 //3V3BPGOOD //$ - GPIO_STATUS=(V_B_PGOOD_1)?(GPIO_STATUS)||((uint16_t)(0x1<<14)):(GPIO_STATUS)&(~((uint16_t)(0x1<<14))); + GPIO_STATUS=(V_B_PGOOD_1)?(GPIO_STATUS)|((uint16_t)(0x1<<14)):(GPIO_STATUS)&(~((uint16_t)(0x1<<14))); //V_B_PGOOD_2 //3V3BEN //$ - GPIO_STATUS=(V_B_PGOOD_2)?(GPIO_STATUS)||((uint16_t)(0x1<<13)):(GPIO_STATUS)&(~((uint16_t)(0x1<<13))); + GPIO_STATUS=(V_B_PGOOD_2)?(GPIO_STATUS)|((uint16_t)(0x1<<13)):(GPIO_STATUS)&(~((uint16_t)(0x1<<13))); //V_C_PGOOD //3V3CPGOOD //$ - GPIO_STATUS=(V_C_PGOOD)?(GPIO_STATUS)||((uint16_t)(0x1<<12)):(GPIO_STATUS)&(~((uint16_t)(0x1<<12))); + GPIO_STATUS=(V_C_PGOOD)?(GPIO_STATUS)|((uint16_t)(0x1<<12)):(GPIO_STATUS)&(~((uint16_t)(0x1<<12))); //COMRX_OC_FAULT //$ - GPIO_STATUS=(COMRX_OC_FAULT)?(GPIO_STATUS)||((uint16_t)(0x1<<11)):(GPIO_STATUS)&(~((uint16_t)(0x1<<11))); + GPIO_STATUS=(COMRX_OC_FAULT)?(GPIO_STATUS)|((uint16_t)(0x1<<11)):(GPIO_STATUS)&(~((uint16_t)(0x1<<11))); // COMTX_OC_FAULT //$ - GPIO_STATUS=(COM_TX_OC_FAULT)?(GPIO_STATUS)||((uint16_t)(0x1<<10)):(GPIO_STATUS)&(~((uint16_t)(0x1<<10))); + GPIO_STATUS=(COM_TX_OC_FAULT)?(GPIO_STATUS)|((uint16_t)(0x1<<10)):(GPIO_STATUS)&(~((uint16_t)(0x1<<10))); //BAE_OC_FAULT //$ - GPIO_STATUS=(BAE_OC_FAULT)?(GPIO_STATUS)||((uint16_t)(0x1<<9)):(GPIO_STATUS)&(~((uint16_t)(0x1<<9))); + GPIO_STATUS=(BAE_OC_FAULT)?(GPIO_STATUS)|((uint16_t)(0x1<<9)):(GPIO_STATUS)&(~((uint16_t)(0x1<<9))); //PL_GPIO_1_STATUS //$ - GPIO_STATUS=(PL_GPIO_1_STATUS)?(GPIO_STATUS)||((uint16_t)(0x1<<8)):(GPIO_STATUS)&(~((uint16_t)(0x1<<8))); + GPIO_STATUS=(PL_GPIO_1_STATUS)?(GPIO_STATUS)|((uint16_t)(0x1<<8)):(GPIO_STATUS)&(~((uint16_t)(0x1<<8))); //PL_GPIO_2_STATUS //$ - GPIO_STATUS=(PL_GPIO_2_STATUS)?(GPIO_STATUS)||((uint16_t)(0x1<<7)):(GPIO_STATUS)&(~((uint16_t)(0x1<<7))); + GPIO_STATUS=(PL_GPIO_2_STATUS)?(GPIO_STATUS)|((uint16_t)(0x1<<7)):(GPIO_STATUS)&(~((uint16_t)(0x1<<7))); //PL_GPIO_3_STATUS //$ - GPIO_STATUS=(PL_GPIO_3_STATUS)?(GPIO_STATUS)||((uint16_t)(0x1<<6)):(GPIO_STATUS)&(~((uint16_t)(0x1<<6))); + GPIO_STATUS=(PL_GPIO_3_STATUS)?(GPIO_STATUS)|((uint16_t)(0x1<<6)):(GPIO_STATUS)&(~((uint16_t)(0x1<<6))); //PL_BEE_SW_OC_FAULT //to be verified - GPIO_STATUS=(PL_BEE_SW_OC_FAULT)?(GPIO_STATUS)||((uint16_t)(0x1<<5)):(GPIO_STATUS)&(~((uint16_t)(0x1<<5))); + GPIO_STATUS=(PL_BEE_SW_OC_FAULT)?(GPIO_STATUS)|((uint16_t)(0x1<<5)):(GPIO_STATUS)&(~((uint16_t)(0x1<<5))); //PL_EPS_LATCH_SW_OC_FAULT // to be verified - GPIO_STATUS=(PL_EPS_LATCH_SW_OC_FAULT)?(GPIO_STATUS)||((uint16_t)(0x1<<4)):(GPIO_STATUS)&(~((uint16_t)(0x1<<4))); + GPIO_STATUS=(PL_EPS_LATCH_SW_OC_FAULT)?(GPIO_STATUS)|((uint16_t)(0x1<<4)):(GPIO_STATUS)&(~((uint16_t)(0x1<<4))); //EPS_V_C_EN_STATUS - GPIO_STATUS=(COM_RX_CNTRL)?(GPIO_STATUS)||((uint16_t)(0x1<<3)):(GPIO_STATUS)&(~((uint16_t)(0x1<<3))); + GPIO_STATUS=(COM_RX_CNTRL)?(GPIO_STATUS)|((uint16_t)(0x1<<3)):(GPIO_STATUS)&(~((uint16_t)(0x1<<3))); //EPS_V_D_EN_STATUS - GPIO_STATUS=(COM_TX_CNTRL)?(GPIO_STATUS)||((uint16_t)(0x1<<2)):(GPIO_STATUS)&(~((uint16_t)(0x1<<2))); - + GPIO_STATUS=(COM_TX_CNTRL)?(GPIO_STATUS)|((uint16_t)(0x1<<2)):(GPIO_STATUS)&(~((uint16_t)(0x1<<2))); + gPC.printf("%04x\n",GPIO_STATUS); } void VERIFY_COMRX() @@ -500,7 +511,10 @@ void COLLECT_CDMS_RAM() { - CDMS_RAM[0] = ((PL_INIT_STATUS<<7)&0x80)|((PL_MAIN_status<<6)&0x40)|((PL_LOW_POWER<<5)&0x20)|((PL_STATE<<3)&0x18)|(PL_STATUS&0x07); + CDMS_RAM[0] = ((PL_INIT_STATUS<<7)&0x80)|((PL_MAIN_status<<6)&0x40)|((PL_LOW_power<<5)&0x20)|((PL_STATE<<3)&0x18)|(PL_STATUS&0x07); + gPC.printf("\n\rPL_STATUS : %d",PL_STATUS); + gPC.printf("\n\rPL_STATE : %d",PL_STATE); + gPC.printf("\n\rpl bits = %02x\n",CDMS_RAM[0]); CDMS_RAM[1] = ((PL_RCV_SC_DATA_STATUS<<7)&0x80)|((COM_SESSION<<6)&0x40)|((COM_RX<<5)&0x20)|((RF_SW_STATUS<<4)&0x10)|((COM_TX<<3)&0x08)|((COM_TX_STATUS<<2)&0x04)|((COM_MNG_TMTC<<1)&0x02)|(EN_CDMS_HK&0x01); CDMS_RAM[2] = ((EN_PL<<7)&0x80)|((EN_RCV_SC<<6)&0x40)|((CDMS_INIT_STATUS<<5)&0x20)|((CDMS_HK_MAIN_STATUS<<4)&0x10)|((CDMS_HK_STATUS<<2)&0x0C)|((COM_RX_STATUS<<1)&0x02)|(CDMS_RTC_BL&0x01); CDMS_RAM[3] = CDMS_I2C_ERR_SPEED_COUNTER >> 8; @@ -520,37 +534,36 @@ CDMS_RAM[17] = SD_LIB_WRITES >> 8; CDMS_RAM[18] = SD_LIB_WRITES; for(int i = 0; i<4; i++) - CDMS_RAM[19+i] = TIME_LATEST_RTC >> ((3-i)*8); + CDMS_RAM[19+i] = TIME_LATEST_RTC >> (3-i)*8; for(int i = 0; i<4; i++) - CDMS_RAM[23+i] = TIME_LATEST_I2C_BAE >> ((3-i)*8); + CDMS_RAM[23+i] = TIME_LATEST_I2C_BAE >> (3-i)*8; for(int i = 0; i<4; i++) - CDMS_RAM[27+i] = TIME_LATEST_I2C_SPEED >> ((3-i)*8); + CDMS_RAM[27+i] = TIME_LATEST_I2C_SPEED >> (3-i)*8; for(int i = 0; i<4; i++) - CDMS_RAM[31+i] = TIME_LATEST_SD_WR >> ((3-i)*8); + CDMS_RAM[31+i] = TIME_LATEST_SD_WR >> (3-i)*8; for(int i = 0; i<4; i++) - CDMS_RAM[35+i] = TIME_LATEST_SD_RD >> ((3-i)*8); + CDMS_RAM[35+i] = TIME_LATEST_SD_RD >> (3-i)*8; for(int i = 0; i<4; i++) - CDMS_RAM[39+i] = TIME_LATEST_SPI_SPEED >> ((3-i)*8); + CDMS_RAM[39+i] = TIME_LATEST_SPI_SPEED >> (3-i)*8; for(int i = 0; i<4; i++) - CDMS_RAM[43+i] = FSC_CURRENT[1] >> ((3-i)*8); + CDMS_RAM[43+i] = FSC_CURRENT[1] >> (3-i)*8; for(int i = 0; i<4; i++) - CDMS_RAM[47+i] = FSC_LAST[1] >> ((3-i)*8); + CDMS_RAM[47+i] = FSC_LAST[1] >> (3-i)*8; for(int i = 0; i<4; i++) - CDMS_RAM[51+i] = FSC_CURRENT[2] >> ((3-i)*8); + CDMS_RAM[51+i] = FSC_CURRENT[2] >> (3-i)*8; for(int i = 0; i<4; i++) - CDMS_RAM[55+i] = FSC_LAST[2] >> ((3-i)*8); + CDMS_RAM[55+i] = FSC_LAST[2] >> (3-i)*8; for(int i = 0; i<4; i++) - CDMS_RAM[59+i] = FSC_CURRENT[3] >> ((3-i)*8); + CDMS_RAM[59+i] = FSC_CURRENT[3] >> (3-i)*8; for(int i = 0; i<4; i++) - CDMS_RAM[63+i] = FSC_LAST[3] >> ((3-i)*8); + CDMS_RAM[63+i] = FSC_LAST[3] >> (3-i)*8; for(int i = 0; i<4; i++) - CDMS_RAM[67+i] = FSC_CURRENT[4] >> ((3-i)*8); + CDMS_RAM[67+i] = FSC_CURRENT[4] >> (3-i)*8; for(int i = 0; i<4; i++) - CDMS_RAM[71+i] = FSC_LAST[4] >> ((3-i)*8); + CDMS_RAM[71+i] = FSC_LAST[4] >> (3-i)*8; for(int i = 0; i<4; i++) - CDMS_RAM[75+i] = FSC_CURRENT[5] >> ((3-i)*8); + CDMS_RAM[75+i] = FSC_CURRENT[5] >> (3-i)*8; for(int i = 0; i<4; i++) - CDMS_RAM[79+i] = FSC_LAST[5] >> ((3-i)*8); + CDMS_RAM[79+i] = FSC_LAST[5] >> (3-i)*8; CDMS_RAM[83] = 0x00; - gPC.printf("%d %d %d %d %d\n",FSC_CURRENT[1],FSC_CURRENT[2],FSC_CURRENT[3],FSC_CURRENT[4],FSC_CURRENT[5]); } \ No newline at end of file
--- a/CDMS_PL.h Sun Sep 04 11:12:00 2016 +0000 +++ b/CDMS_PL.h Mon Sep 05 11:25:33 2016 +0000 @@ -199,6 +199,7 @@ gPC.printf("\n\rACK_CODE = 0x%02X",temp); pl_main_flag = pl_main_flag & (~PL_DISABLED); pl_main_flag |= PL_SUCCESS_I2C; + PL_STATUS = 0x04; pl_block[pl_next_index-1] &= (~UNEXECUTED); //changing exec_status pl_block[pl_next_index-1] |= EXECUTED; } @@ -208,6 +209,7 @@ //gPC.printf("\n\rACK_CODE = 0x%02X",temp); pl_main_flag = pl_main_flag & (~PL_DISABLED); pl_main_flag |= PL_ERR_I2C; + PL_STATUS = 0x05; pl_block[pl_next_index-1] &= (~UNEXECUTED); //changing exec_status pl_block[pl_next_index-1] |= RETRY; } @@ -217,6 +219,7 @@ gPC.printf("\n\rShort_TM CRC failed"); pl_main_flag = pl_main_flag & (~PL_DISABLED); pl_main_flag |= PL_ERR_I2C; + PL_STATUS = 0x05; pl_block[pl_next_index-1] &= (~UNEXECUTED); //changing exec_status pl_block[pl_next_index-1] |= RETRY; } @@ -241,6 +244,7 @@ gPC.printf("\n\rACK_CODE = 0x%02X",temp); pl_main_flag = pl_main_flag & (~PL_DISABLED); pl_main_flag |= PL_SUCCESS_I2C; + PL_STATUS = 0x04; pl_block[pl_next_index-1] &= (~UNEXECUTED); //changing exec_status pl_block[pl_next_index-1] |= EXECUTED; } @@ -249,6 +253,7 @@ gPC.printf("\n\rACK_CODE failure (0x%02X)",temp); pl_main_flag = pl_main_flag & (~PL_DISABLED); pl_main_flag |= PL_ERR_I2C; + PL_STATUS = 0x05; pl_block[pl_next_index-1] &= (~UNEXECUTED); //changing exec_status pl_block[pl_next_index-1] |= RETRY; } @@ -257,7 +262,8 @@ { gPC.printf("\n\rLong_TM CRC failed"); pl_main_flag = pl_main_flag & (~PL_DISABLED); - pl_main_flag |= PL_ERR_I2C; + pl_main_flag |= PL_ERR_I2C; + PL_STATUS = 0x05; pl_block[pl_next_index-1] &= (~UNEXECUTED); //changing exec_status pl_block[pl_next_index-1] |= RETRY; } @@ -303,8 +309,10 @@ return; uint8_t temp[3]; pl_main_flag|=PL_MAIN_STATUS; //Setting PL_MAIN_STATUS + PL_MAIN_status = 1; PL_MAIN_COUNTER++; pl_main_flag&=~(PL_LOW_POWER); //Clearing PL_LOW_POWER + PL_LOW_power = 0; temp[0] = (pl_main_flag&STATE_SCIENCE)>>2; temp[1] = (pl_main_flag&PL_DISABLED)>>4; temp[2] = (PL_PREV_STATE & STATE_SCIENCE)>>2; @@ -315,7 +323,9 @@ gPC.printf("\n\rDevice Disabled or OC Fault"); pl_main_flag = pl_main_flag & (~PL_DISABLED); pl_main_flag |= PL_DISABLED; //setting PL_STATUS as PL_DISABLED + PL_STATUS = 0x07; pl_main_flag = pl_main_flag & (~PL_MAIN_STATUS); //Clearing pl_main status + PL_MAIN_status = 0; print_exit(temp); return; } @@ -355,6 +365,7 @@ { pl_main_flag = pl_main_flag & (~STATE_SCIENCE); pl_main_flag |= STATE_HIBERNATE; + PL_STATE = 0x02; } else { @@ -386,27 +397,32 @@ { pl_main_flag = pl_main_flag & (~STATE_SCIENCE); pl_main_flag |= STATE_OFF; + PL_STATE = 0x00; } if((pl_block[pl_next_index-1] & 0x0000000C)==4) { pl_main_flag = pl_main_flag & (~STATE_SCIENCE); pl_main_flag |= STATE_STANDBY; + PL_STATE = 0x01; } if((pl_block[pl_next_index-1] & 0x0000000C)==8) { pl_main_flag = pl_main_flag & (~STATE_SCIENCE); pl_main_flag |= STATE_HIBERNATE; + PL_STATE = 0x02; } if((pl_block[pl_next_index-1] & 0x0000000C)==12) { pl_main_flag = pl_main_flag & (~STATE_SCIENCE); pl_main_flag |= STATE_SCIENCE; + PL_STATE = 0x03; } } else if((pl_block[pl_next_index-1] & UNEXECUTED)==1) { gPC.printf("\n\rElapsed block is executed"); pl_main_flag = pl_main_flag & (~PL_MAIN_STATUS); //Clearing pl_main status + PL_MAIN_status = 0; print_exit(temp); return; } @@ -414,6 +430,7 @@ { gPC.printf("\n\rEmpty Schedule Block"); pl_main_flag = pl_main_flag & (~PL_MAIN_STATUS); //Clearing pl_main status + PL_MAIN_status = 0; print_exit(temp); return; } @@ -432,10 +449,12 @@ PL_STATUS=0; } pl_main_flag = pl_main_flag & (~PL_DISABLED); - pl_main_flag |= PL_OFF; + pl_main_flag |= PL_OFF; + PL_STATUS = 0x00; pl_block[pl_next_index-1] &= (~UNEXECUTED); //changing exec_status pl_block[pl_next_index-1] |= EXECUTED; pl_main_flag = pl_main_flag & (~PL_MAIN_STATUS); //Clearing PL_MAIN_STATUS + PL_MAIN_status = 0; print_processed_block(pl_next_index-1); print_exit(temp); return; @@ -456,8 +475,10 @@ { pl_main_flag = pl_main_flag & (~PL_DISABLED); pl_main_flag |= PL_STANDBY; + PL_STATUS = 0x01; } pl_main_flag = pl_main_flag & (~PL_MAIN_STATUS); //Clearing PL_MAIN_STATUS + PL_MAIN_status = 0; print_processed_block(pl_next_index-1); print_exit(temp); return; @@ -480,12 +501,14 @@ if((pl_main_flag & PL_DISABLED)==PL_SUCCESS_I2C) { pl_main_flag = pl_main_flag & (~PL_DISABLED); - pl_main_flag |= PL_HIBERNATE; + pl_main_flag |= PL_HIBERNATE; + PL_STATUS = 0x02; } } else { pl_main_flag |= PL_LOW_POWER; + PL_LOW_power = 1; if(PL_STATUS==0) { gPC.printf("\n\rPowering on PL_BEE"); @@ -499,14 +522,17 @@ { pl_main_flag = pl_main_flag & (~PL_DISABLED); pl_main_flag |= PL_STANDBY; + PL_STATUS = 0x01; } pl_main_flag = pl_main_flag & (~PL_MAIN_STATUS); //Clearing PL_MAIN_STATUS + PL_MAIN_status = 0; print_processed_block(pl_next_index-1); print_exit(temp); return; //////DELETE THE TM AND TC LATER } pl_main_flag = pl_main_flag & (~PL_MAIN_STATUS); //Clearing PL_MAIN_STATUS + PL_MAIN_status = 0; print_processed_block(pl_next_index-1); print_exit(temp); return; @@ -531,8 +557,10 @@ { pl_main_flag = pl_main_flag & (~PL_DISABLED); pl_main_flag |= PL_SCIENCE; + PL_STATUS = 0x03; } pl_main_flag = pl_main_flag & (~PL_MAIN_STATUS); //Clearing PL_MAIN_STATUS + PL_MAIN_status = 0; print_processed_block(pl_next_index-1); print_exit(temp); return; @@ -541,6 +569,7 @@ { gPC.printf("\n\rPower level = 2,3 or NA"); pl_main_flag |= PL_LOW_POWER; + PL_LOW_power = 1; if(POWER_LEVEL==2 || POWER_LEVEL==3 || POWER_LEVEL==0) { if(PL_STATUS==0) @@ -556,11 +585,13 @@ { pl_main_flag = pl_main_flag & (~PL_DISABLED); pl_main_flag |= PL_HIBERNATE; + PL_STATUS = 0x02; } } else { pl_main_flag |= PL_LOW_POWER; + PL_LOW_power = 1; if(PL_STATUS==0) { gPC.printf("\n\rPowering on PL_BEE"); @@ -574,14 +605,17 @@ { pl_main_flag = pl_main_flag & (~PL_DISABLED); pl_main_flag |= PL_STANDBY; + PL_STATUS = 0x01; } pl_main_flag = pl_main_flag & (~PL_MAIN_STATUS); //Clearing PL_MAIN_STATUS + PL_MAIN_status = 0; print_processed_block(pl_next_index-1); print_exit(temp); return; //////DELETE THE TM AND TC LATER } pl_main_flag = pl_main_flag & (~PL_MAIN_STATUS); //Clearing PL_MAIN_STATUS + PL_MAIN_status = 0; print_processed_block(pl_next_index-1); print_exit(temp); return; @@ -593,9 +627,11 @@ gPC.printf("\n\rInvalid PL_STATE in block at index = %d",pl_next_index-1); pl_main_flag = pl_main_flag & (~PL_DISABLED); pl_main_flag |= PL_INVALID_STATE; + PL_STATUS = 0x06; pl_block[pl_next_index-1] &= (~UNEXECUTED); //changing exec_status pl_block[pl_next_index-1] |= EXECUTED; pl_main_flag = pl_main_flag & (~PL_MAIN_STATUS); //Clearing PL_MAIN_STATUS + PL_MAIN_status = 0; print_processed_block(pl_next_index-1); print_exit(temp); return;
--- a/DefinitionsAndGlobals.h Sun Sep 04 11:12:00 2016 +0000 +++ b/DefinitionsAndGlobals.h Mon Sep 05 11:25:33 2016 +0000 @@ -1,7 +1,7 @@ ///639+................................++.300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002025555. // **************DEFINITIONS********************* -#define dma 0 +#define dma 1 // COM_RX #define RX_TIMEOUT_LIMIT 0.5 @@ -253,7 +253,7 @@ // CDMS HK uint8_t CDMS_STANDBY; uint8_t CDMS_HEALTH_DATA[128]; -uint8_t CDMS_RAM[59]; +uint8_t CDMS_RAM[59] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; uint16_t GPIO_STATUS; uint8_t CDMS_HK_MAIN_STATUS; uint8_t COMRX_STATUS; @@ -332,7 +332,7 @@ //CDMS RAM parameters uint8_t PL_INIT_STATUS = 0; uint8_t PL_MAIN_status; -uint8_t PL_LOW_POWER; +uint8_t PL_LOW_power; uint8_t PL_STATE; uint8_t PL_RCV_SC_DATA_STATUS = 0; uint8_t COM_SESSION;
--- a/FMS_all.h Sun Sep 04 11:12:00 2016 +0000 +++ b/FMS_all.h Mon Sep 05 11:25:33 2016 +0000 @@ -339,5 +339,8 @@ void FCTN_CDMS_RD_L_RAM(Base_tm *tm_pointer) { for(int i=0;i<128;i++) - tm_pointer->TM_string[i+4] = CDMS_HEALTH_DATA[i]; + { + //tm_pointer->TM_string[i] = 0; + tm_pointer->TM_string[i+4] = CDMS_HEALTH_DATA[i]; + } } \ No newline at end of file
--- a/Structures.h Sun Sep 04 11:12:00 2016 +0000 +++ b/Structures.h Mon Sep 05 11:25:33 2016 +0000 @@ -144,8 +144,8 @@ // CDMS HK -#define tstart -40 -#define tstep 1 //to be finalized by thermal team +#define tstart -50 +#define tstep 1 //to be finalized by thermal team #define tstart_thermistor -40 #define tstep_thermistor 1
--- a/ThreadsAndFunctions.h Sun Sep 04 11:12:00 2016 +0000 +++ b/ThreadsAndFunctions.h Mon Sep 05 11:25:33 2016 +0000 @@ -14,7 +14,7 @@ gPAY_SPI->format(8,0); gPC.printf("\n\rTest..........................."); gPAY_SPI->bulkRead_init(gPAYLOAD_BUFFER, PAYLOAD_BUFFER_LENGTH, &payload_isr_fun); - //AY_SPI->bulkRead_start(); + gPAY_SPI->bulkRead_start(); //AY_SPI->bulkRead_pause(); //AY_SPI->bulkRead_resume(&payload_isr_fun); while(true){ @@ -31,6 +31,7 @@ wait(2);/*timeout to be decided*/ if(dma) { + PL_RCV_SC_DATA_COUNTER++; gPAY_SPI->bulkRead_start(); //gPAY_SPI->bulkRead_pause(); //gPAY_SPI->bulkRead_resume(&payload_isr_fun);
--- a/cdms_sd.h Sun Sep 04 11:12:00 2016 +0000 +++ b/cdms_sd.h Mon Sep 05 11:25:33 2016 +0000 @@ -30,7 +30,7 @@ uint32_t SD_HK_ARCH_LAST= 5000; uint32_t LOG_FIRST =5001; uint32_t LOG_LAST=6000; -uint32_t SD_MNG_SECT=7000; +uint32_t SD_MNG_SECT=8000; extern uint8_t SD_INIT_FLAGS; @@ -647,6 +647,7 @@ { // set write address for single block (CMD24) if (cmd(24, block_number * cdv) != 0) { + CDMS_WR_SD_FAULT_COUNTER++; return 1; } @@ -679,6 +680,7 @@ if ((spi.write(0xFF) & 0x1F) != 0x05) { cs_sd = 1; spi.write(0xFF); + CDMS_WR_SD_FAULT_COUNTER++; return 1; }
--- a/i2c.h Sun Sep 04 11:12:00 2016 +0000 +++ b/i2c.h Mon Sep 05 11:25:33 2016 +0000 @@ -55,6 +55,7 @@ } else if (read_ack == 1) { + CDMS_I2C_ERR_SPEED_COUNTER++; I2C_busreset(); } PL_I2C_GPIO = 0; @@ -89,6 +90,7 @@ if (write_ack == 1) { I2C_busreset(); + CDMS_I2C_ERR_SPEED_COUNTER++; } i2c_count = 0; return write_ack; @@ -121,6 +123,8 @@ else if (read_ack == 1) { I2C_busreset(); + CDMS_I2C_ERR_BAE_COUNTER++; + } CDMS_I2C_GPIO = 0; i2c_count = 0; @@ -155,6 +159,7 @@ if (write_ack == 1) { I2C_busreset(); + CDMS_I2C_ERR_BAE_COUNTER++; } CDMS_I2C_GPIO = 0; i2c_count = 0;
--- a/main.cpp Sun Sep 04 11:12:00 2016 +0000 +++ b/main.cpp Mon Sep 05 11:25:33 2016 +0000 @@ -114,8 +114,8 @@ sys_reset_cdms_timer = new RtosTimer(sys_pwr_reset, osTimerPeriodic, (void * )NULL); sys_reset_cdms_timer->start(cdms_reset_timeout); - PL_wo_dma = new RtosTimer(payload_isr_fun_dma, osTimerPeriodic,(void * )NULL); - PL_wo_dma->start(6000); + //PL_wo_dma = new RtosTimer(payload_isr_fun_dma, osTimerPeriodic,(void * )NULL); + //PL_wo_dma->start(6000); //gSCIENCE_THREAD->signal_set(SCIENCE_SIGNAL); /*Timeout flipper;