Пример #1
0
        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;
        }
Пример #2
0
        /// <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();
            }
        }
Пример #3
0
 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");
 }
Пример #4
0
        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);
            }
        }
Пример #5
0
        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);
            }
        }