public void display_battery(cubeCOMM.down_obc_ST down_info) { String str = ""; //UInt32 p_in_1 = Convert.ToUInt32(down_info.vboost_1 * down_info.curin_1 / 1000.0); //UInt32 p_in_2 = Convert.ToUInt32(down_info.vboost_2 * down_info.curin_2 / 1000.0); //UInt32 p_in_3 = Convert.ToUInt32(down_info.vboost_3 * down_info.curin_3 / 1000.0); //UInt32 p_sun = Convert.ToUInt32(down_info.cursun * down_info.vbatt / 1000.0); //UInt32 p_sys = Convert.ToUInt32(down_info.cursys * down_info.vbatt / 1000.0); ////UInt32 eff_in = 0; //UInt32 eff_in = Convert.ToUInt32((100.0 * (float)p_sun) / ((float)p_in_1 + (float)p_in_2 + (float)p_in_3)); //Int16[] output = new Int16[7]; //output[0] = (Int16)((down_info.status_output) & 0x0001); //output[1] = (Int16)(((down_info.status_output) & 0x0002) >> 1); //output[2] = (Int16)(((down_info.status_output) & 0x0004) >> 2); //output[3] = (Int16)(((down_info.status_output) & 0x0008) >> 3); //output[4] = (Int16)(((down_info.status_output) & 0x0010) >> 4); //output[5] = (Int16)(((down_info.status_output) & 0x0020) >> 5); //output[6] = (Int16)(((down_info.status_output) & 0x0040) >> 6); //// output[7] = (Int16)(((down_info.status_output) & 0x0080) >> 7); //str += " | | I(mA), lup, Ton(s), Toff(s)\r\n"; //str += " +-------------------+ 1 (H1-47) --> EN: " + output[0].ToString("") + " " + "[ " + down_info.curout_1.ToString("D4") + " " // + down_info.latchup_1.ToString("D4") + " " + 0.ToString("D4") + " " + 0.ToString("D4") + "]\r\n"; //str += " 1: | |\r\n"; //str += " " + down_info.vboost_1.ToString("D4") + " mV -> | Voltage | 2 (H1-49) --> EN: " + output[1].ToString() + " " // + "[ " + down_info.curout_2.ToString("D4") + " " + down_info.latchup_2.ToString("D4") + " " + 0.ToString("D4") + " " + 0.ToString("D4") + "]\r\n"; //str += " " + down_info.curin_1.ToString("D4") + " mA -> | " + down_info.vbatt.ToString("D4") + " mV |\r\n"; //str += " " + p_in_1.ToString("D4") + " mW -> | | 3 (H1-51) --> EN: " + output[2].ToString() + " " + "[ " + down_info.curout_3.ToString("D4") // + " " + down_info.latchup_3.ToString("D4") + " " + 0.ToString("D4") + " " + 0.ToString("D4") + "]\r\n"; //str += " 2: | Input |\r\n"; //str += " " + down_info.vboost_2.ToString("D4") + " mV -> | " + down_info.cursun.ToString("D4") + " mA " + p_sun.ToString("D4") + " mW | 4 (H1-48) --> EN: " + output[3].ToString() + " " // + "[ " + down_info.curout_4.ToString("D4") + " " + down_info.latchup_4.ToString("D4") + " " + 0.ToString("D4") + " " + 0.ToString("D4") + "]\r\n"; //str += " " + down_info.curin_2.ToString("D4") + " mA -> | |\r\n"; //str += " " + p_in_2.ToString("D4") + " mW -> | Output | 5 (H1-50) --> EN: " + output[4].ToString() + " " + "[ " // + down_info.curout_5.ToString("D4") + " " + down_info.latchup_5.ToString("D4") + " " + 0.ToString("D4") + " " + 0.ToString("D4") + "]\r\n"; //str += " 3: | " + down_info.cursys.ToString("D4") + " mA " + p_sys.ToString("D4") + " mW |\r\n"; //str += " " + down_info.vboost_3.ToString("D4") + " mV -> | | 6 (H1-52) --> EN: " + output[5].ToString() + " " + "[ " // + down_info.curout_6.ToString("D4") + " " + down_info.latchup_6.ToString("D4") + " " + 0.ToString("D4") + " " + 0.ToString("D4") + "]\r\n"; //str += " " + down_info.curin_3.ToString("D4") + " mA -> | Efficiency: |\r\n"; //str += " " + p_in_3.ToString("D4") + " mW -> | In: " + eff_in.ToString("F1") + " %% | 7 --> EN: " + output[6].ToString() + "\r\n"; //str += " | |\r\n"; str += " +-------------------+\r\n"; tBk_batt_status.Text = str; }
/// <summary> /// 数据流写入文件 /// </summary> /// <param name="buffer">数据流</param> /// <param name="bytes">数据流长度</param> public void WriteObcFrameFile(cubeCOMM.down_obc_ST down_info) { string str = ""; obcFrame_save_cnt++; str = #region CPU obcFrame_save_cnt.ToString() + '\t' + down_info.sat_id.ToString() + '\t' + down_info.reboot_count.ToString() + '\t' + down_info.reset_cause.ToString() + '\t' + down_info.rec_cmd_count.ToString() + '\t' + down_info.down_count.ToString() + '\t' + down_info.last_reset_time.ToString() + '\t' + down_info.work_mode.ToString() + '\t' + down_info.utc_time.ToString() + '\t' + ((down_info.temp_hk * 2030 / 4096.0 - 760.0) / 2.5 + 25).ToString("F2") + '\t' + down_info.on_off_status.ToString() + '\t' + down_info.flash_block.ToString() + '\t' + down_info.flash_index.ToString() + '\t' + down_info.sram_block.ToString() + '\t' + down_info.sram_index.ToString() + '\t' + down_info.file_sd_time_latest.ToString() + '\t' + down_info.sd_card_status.ToString() + '\t' + down_info.sd_saved_cnt.ToString() + '\t' + down_info.camera_time_latest.ToString() + '\t' + down_info.camera_saved_cnt.ToString() + '\t' #endregion #region 电源 + down_info.temp_batt_board[0].ToString() + '\t' + down_info.temp_batt_board[1].ToString() + '\t' + down_info.temp_eps[0].ToString() + '\t' + down_info.temp_eps[1].ToString() + '\t' + down_info.temp_eps[2].ToString() + '\t' + down_info.temp_eps[3].ToString() + '\t' + down_info.sun_c[0].ToString() + '\t' + down_info.sun_c[1].ToString() + '\t' + down_info.sun_c[2].ToString() + '\t' + down_info.sun_c[3].ToString() + '\t' + down_info.sun_c[4].ToString() + '\t' + down_info.sun_c[5].ToString() + '\t' + down_info.sun_v[0].ToString() + '\t' + down_info.sun_v[1].ToString() + '\t' + down_info.sun_v[2].ToString() + '\t' + down_info.sun_v[3].ToString() + '\t' + down_info.sun_v[4].ToString() + '\t' + down_info.sun_v[5].ToString() + '\t' + down_info.out_BusC.ToString() + '\t' + down_info.out_BusV.ToString() + '\t' + down_info.UV_board_C.ToString() + '\t' + down_info.Vol_5_C[0].ToString() + '\t' + down_info.Vol_5_C[1].ToString() + '\t' + down_info.Vol_5_C[2].ToString() + '\t' + down_info.Vol_5_C[3].ToString() + '\t' + down_info.Vol_5_C[4].ToString() + '\t' + down_info.Vol_5_C[5].ToString() + '\t' + down_info.Bus_c[0].ToString() + '\t' + down_info.Bus_c[1].ToString() + '\t' + down_info.Bus_c[2].ToString() + '\t' + down_info.Bus_c[3].ToString() + '\t' + down_info.Bus_c[4].ToString() + '\t' + down_info.eps_switch_status.ToString() + '\t' #endregion ; try { File_obcFrame.WriteLine(str); } catch (Exception e) { Trace.TraceError("OBC文件IO错误:" + e.Message + e.StackTrace); //System.Windows.MessageBox.Show("OBC文件IO错误:" + e.Message); File_obcFrame.Close(); } }
public void displayTemperature(cubeCOMM.down_obc_ST obcInfo) { tBk_temp_uv.Text = obcInfo.temp_batt_board[0].ToString("F2"); tBk_temp_eps.Text = obcInfo.temp_eps[0].ToString("F2"); tBk_temp_hk.Text = ((obcInfo.temp_hk * 2030 / 4096.0 - 760.0) / 2.5 + 25).ToString("F2"); }
public void display_eps_info(cubeCOMM.down_obc_ST eps) { try { tB_sunC_1.Text = (eps.sun_c[0] * 10).ToString(); tB_sunC_2.Text = (eps.sun_c[1] * 10).ToString(); tB_sunC_3.Text = (eps.sun_c[2] * 10).ToString(); tB_sunC_4.Text = (eps.sun_c[3] * 10).ToString(); tB_sunC_5.Text = (eps.sun_c[4] * 10).ToString(); tB_sunC_6.Text = (eps.sun_c[5] * 10).ToString(); tB_sunV_1.Text = (eps.sun_v[0] * 100).ToString(); tB_sunV_2.Text = (eps.sun_v[1] * 100).ToString(); tB_sunV_3.Text = (eps.sun_v[2] * 100).ToString(); tB_sunV_4.Text = (eps.sun_v[3] * 100).ToString(); tB_sunV_5.Text = (eps.sun_v[4] * 100).ToString(); tB_sunV_6.Text = (eps.sun_v[5] * 100).ToString(); tB_BusC.Text = eps.out_BusC.ToString(); tB_BusV.Text = eps.out_BusV.ToString(); tB_outC_1.Text = (eps.Vol_5_C[0] * 10).ToString(); tB_outC_2.Text = (eps.Vol_5_C[1] * 10).ToString(); tB_outC_3.Text = (eps.Vol_5_C[2] * 10).ToString(); tB_outC_4.Text = (eps.Vol_5_C[3] * 10).ToString(); tB_outC_5.Text = (eps.Vol_5_C[4] * 10).ToString(); tB_outC_6.Text = (eps.Vol_5_C[5] * 10).ToString(); tB_outBusC_1.Text = (eps.Bus_c[0] * 10).ToString(); tB_outBusC_2.Text = (eps.Bus_c[1] * 10).ToString(); tB_outBusC_3.Text = (eps.Bus_c[2] * 10).ToString(); tB_outBusC_4.Text = (eps.Bus_c[3] * 10).ToString(); tB_outBusC_5.Text = (eps.Bus_c[4] * 10).ToString(); tB_batt_tempe_1.Text = eps.temp_batt_board[0].ToString(); tB_batt_tempe_2.Text = eps.temp_batt_board[1].ToString(); tB_batt_tempe_3.Text = eps.temp_eps[0].ToString(); tB_batt_tempe_4.Text = eps.temp_eps[1].ToString(); tB_batt_tempe_5.Text = eps.temp_eps[2].ToString(); tB_batt_tempe_6.Text = eps.temp_eps[3].ToString(); tB_5_33V_1.Text = (((eps.eps_switch_status & 0x0001) > 0) ? "1:开" : "0:关").ToString(); tB_5_33V_2.Text = (((eps.eps_switch_status & 0x0002) > 0) ? "1:开" : "0:关").ToString(); tB_5_33V_3.Text = (((eps.eps_switch_status & 0x0004) > 0) ? "1:开" : "0:关").ToString(); tB_5_33V_4.Text = (((eps.eps_switch_status & 0x0008) > 0) ? "1:开" : "0:关").ToString(); tB_5_33V_5.Text = (((eps.eps_switch_status & 0x0010) > 0) ? "1:开" : "0:关").ToString(); tB_5_33V_6.Text = (((eps.eps_switch_status & 0x0020) > 0) ? "1:开" : "0:关").ToString(); tB_7V_1.Text = (((eps.eps_switch_status & 0x0100) > 0) ? "1:开" : "0:关"); tB_7V_2.Text = (((eps.eps_switch_status & 0x0200) > 0) ? "1:开" : "0:关"); tB_7V_3.Text = (((eps.eps_switch_status & 0x0400) > 0) ? "1:开" : "0:关"); tB_7V_4.Text = (((eps.eps_switch_status & 0x0800) > 0) ? "1:开" : "0:关"); tB_7V_5.Text = (((eps.eps_switch_status & 0x1000) > 0) ? "1:开" : "0:关"); } catch (Exception e) { Trace.TraceError("EPS下行数据处理错误:" + e.Message + e.StackTrace); //System.Windows.MessageBox.Show("星务显示错误" + e.Message); } }
public void display_obc_info(cubeCOMM.down_obc_ST down_info) { try { #region CPU tB_sat_id.Text = "NJUST"; tB_reboot_count.Text = down_info.reboot_count.ToString(); tB_rec_cmd_count.Text = down_info.rec_cmd_count.ToString(); tB_rec_cmd_ID.Text = getCmdID(down_info.rec_cmd_ID); tB_rec_cmd_status.Text = down_info.cmd_proc_status.ToString(); tB_down_count.Text = down_info.down_count.ToString(); double seconds = down_info.last_reset_time; double secs = Convert.ToDouble(seconds); DateTime dt = new DateTime( 1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddSeconds(secs); tB_last_reset_time.Text = dt.ToString(); tB_work_mode.Text = wordmode[down_info.work_mode]; seconds = down_info.utc_time; secs = Convert.ToDouble(seconds); dt = new DateTime( 1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddSeconds(secs); tB_utc_time.Text = dt.ToString(); tB_reset_cause.Text = reset_cause[down_info.reset_cause]; tB_tmep_hk.Text = ((down_info.temp_hk * 2030 / 4096.0 - 760.0) / 2.5 + 25).ToString("F2"); #endregion #region 文件系统 tB_flash_index.Text = down_info.flash_index.ToString(); tB_flash_block.Text = down_info.flash_block.ToString(); //tB_sram_index.Text = down_info.sram_index.ToString(); //tB_sram_block.Text = down_info.sram_block.ToString(); tB_file_sd_time.Text = down_info.file_sd_time_latest.ToString(); tB_sd_status.Text = sd_card_error[down_info.sd_card_status]; tB_sd_saved_cnt.Text = down_info.sd_saved_cnt.ToString(); tB_camera_time.Text = down_info.camera_time_latest.ToString(); tB_camera_saved_cnt.Text = down_info.camera_saved_cnt.ToString(); #endregion tB_obc_control_eps.Text = (((down_info.on_off_status & 0x80) > 0) ? "1:开" : "0:关").ToString(); } catch (Exception e) { Trace.TraceError("星务下行数据处理错误:" + e.Message + e.StackTrace); //System.Windows.MessageBox.Show("星务显示错误" + e.Message); } }