/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package mxgstest.sections; import asim.envsim.dhpu.Tm; import asim.envsim.dhpu.tmutils.ParameterValueEvent; import asim.envsim.dhpu.tmutils.ParameterValueFilter; import java.io.BufferedReader; import java.io.FileReader; import java.util.Arrays; import java.util.List; import java.util.logging.Logger; import mxgs.science.data.*; import mxgsegse.MXGSEGSE; import mxgstest.*; import mxgstest.egse.Basic; import mxgstest.egse.Dausim; import mxgstest.egse.Power; import mxgstest.mxgs.*; /** * * @author stet */ public class Section5_01_old { MXGSEGSE egse; Output output; public Section5_01_old(MXGSEGSE egse, Output output) throws Throwable { this.egse = egse; this.output = output; } Dpu dpu = new Dpu(); Psu psu = new Psu(); Dau dau = new Dau(); Power pow = new Power(); Basic bas = new Basic(); Hk hke = new Hk(); Dausim dausim = new Dausim(); ParameterValueEvent hk17Event; ParameterValueFilter hk17Tm; ParameterValueEvent hk32Event; ParameterValueFilter hk32Tm; ParameterValueEvent hk34Event; ParameterValueFilter hk34Tm; ParameterValueEvent hk35Event; ParameterValueFilter hk35Tm; ParameterValueEvent hk37Event; ParameterValueFilter hk37Tm; ParameterValueEvent hk42Event; ParameterValueFilter hk42Tm; ParameterValueEvent hk47Event; ParameterValueFilter hk47Tm; ParameterValueEvent hk00Event; ParameterValueFilter hk00Tm; ParameterValueEvent hk30160Event; ParameterValueFilter hk30160Tm; ParameterValueEvent hk40050Event; ParameterValueFilter hk40050Tm; ParameterValueEvent hk40260Event; ParameterValueFilter hk40260Tm; ParameterValueEvent hk40270Event; ParameterValueFilter hk40270Tm; public void step5_1_1() throws Throwable { try{ hk17Event = new ParameterValueEvent(egse.dhpu.getMonitoredHkTm(), egse.packetTool, "Private Header.Packet Identification.TM Type", "17", Logger.global); hk17Tm = new ParameterValueFilter(hk17Event, Logger.global); hk32Event = new ParameterValueEvent(egse.dhpu.getNonscienceTm(), egse.packetTool, "Private Header.Packet Identification.TM Type", "32", Logger.global); hk32Tm = new ParameterValueFilter(hk32Event, Logger.global); hk34Event = new ParameterValueEvent(egse.dhpu.getNonscienceTm(), egse.packetTool, "Private Header.Packet Identification.TM Type", "34", Logger.global); hk34Tm = new ParameterValueFilter(hk34Event, Logger.global); hk35Event = new ParameterValueEvent(egse.dhpu.getNonscienceTm(), egse.packetTool, "Private Header.Packet Identification.TM Type", "35", Logger.global); hk35Tm = new ParameterValueFilter(hk35Event, Logger.global); hk37Event = new ParameterValueEvent(egse.dhpu.getNonscienceTm(), egse.packetTool, "Private Header.Packet Identification.TM Type", "37", Logger.global); hk37Tm = new ParameterValueFilter(hk37Event, Logger.global); hk42Event = new ParameterValueEvent(egse.dhpu.getNonscienceTm(), egse.packetTool, "Private Header.Packet Identification.TM Type", "42", Logger.global); hk42Tm = new ParameterValueFilter(hk42Event, Logger.global); hk47Event = new ParameterValueEvent(egse.dhpu.getNonscienceTm(), egse.packetTool, "Private Header.Packet Identification.TM Type", "47", Logger.global); hk47Tm = new ParameterValueFilter(hk47Event, Logger.global); hk00Event = new ParameterValueEvent(egse.dhpu.getNonscienceTm(), egse.packetTool, "Private Header.Packet Identification.TM Type", "0", Logger.global); hk00Tm = new ParameterValueFilter(hk00Event, Logger.global); hk30160Event=new ParameterValueEvent(hk00Tm, egse.packetTool, "Packet Data.Event ID", "30160", Logger.global); hk30160Tm=new ParameterValueFilter(hk30160Event, Logger.global); hk40050Event=new ParameterValueEvent(hk00Tm, egse.packetTool, "Packet Data.Event ID", "40050", Logger.global); hk40050Tm=new ParameterValueFilter(hk40050Event, Logger.global); hk40260Event=new ParameterValueEvent(hk00Tm, egse.packetTool, "Packet Data.Event ID", "40260", Logger.global); hk40260Tm=new ParameterValueFilter(hk40260Event, Logger.global); hk40270Event=new ParameterValueEvent(hk00Tm, egse.packetTool, "Packet Data.Event ID", "40270", Logger.global); hk40270Tm=new ParameterValueFilter(hk40270Event, Logger.global); dausim.telnet_dausim(); egse.dausim.tcp.stop(); dausim.dausimfullCmd("Test21"); egse.dausim.reset(); Thread.sleep(100); output.printStepStart("7.5.1-2", "Set Simulator Configuration"); String[] cmdStr = new String[] { "poke 0x40120008 0x00000001", //RB_Mode = continuous "poke 0x4012001C 0x00000000", //internal TCP generation "poke 0x40120024 0x00000001", //TCP log enable "poke 0x80010014 0x00000000", //DAU internal clock selected "poke 0x4013000C 0x00000001" //Xtrig log enable }; List cmdList = Arrays.asList(cmdStr); dausim.dausimCmd(cmdList); egse.dausim.tcp.start(); output.printSubSectionStart("5.1.1", "DPU Power On"); output.printStepStart("5.1.1-1", "DPU Power On"); pow.powerOnDPU(egse); bas.waitForBoot(egse); pow.verifySupplyDPU(egse, 0.31, 0.10); output.printStepStart("", "Monitored HK"); hke.verifyMonHKReceiving(egse, 5); Thread.sleep(3000); hk17Tm.clear(); hke.dataQueueWaitForSize(egse, 10, 1, hk17Tm); long mytime[]=bas.time(); Basic.sec_start=mytime[1]-Long.valueOf(egse.packetTool.getTmParameter(hk17Tm.getFirst(), "Packet Data.Time.Seconds")); Basic.year_start=mytime[0]-Long.valueOf(egse.packetTool.getTmParameter(hk17Tm.getFirst(), "Packet Data.Time.Year")); hke.verifyMonHKUtcTime(egse); String[][] MonHK = { {"UTC", "0", "0"}, {"Alive Counter", "0", "0"}, {"Boot Status", "67", "0"}, {"SW Mode", "0", "0"}, {"SW Submode", "0", "0"}, {"Errors and Warnings", "0", "0"} }; hke.verifyMonHKarr(egse, 30, MonHK, 7); System.out.println("Verify on console: Boot SW ID = 2.0"); output.printStepStart("", "Boot SW ID"); output.printStepOut("BSW ID", "2.0", "", "", "Verify on console",true); } catch(MxgsTestException e) { output.printStepStatus("5.1.1", false, e.getMessage()); throw e; } output.printStepStatus("5.1.1", true); output.printSubSectionEnd("5.1.1"); } public void step5_1_2() throws Throwable { try{ output.printSubSectionStart("5.1.2", "Read DHPU Temperatures"); output.printStepStart("5.1.2-1", "Read initial DHPU TMONs"); int[] DHPU; int[] DHPUstart; DHPUstart=bas.readDHPU(); hke.verifyValue(DHPUstart[0], "DHPU 1 initial", 0, -99); hke.verifyValue(DHPUstart[1], "DHPU 2 initial", 0, -99); hke.verifyValue(DHPUstart[2], "DHPU 3 initial", 0, -99); hke.verifyValue(DHPUstart[3], "DHPU 4 initial", 0, -99); hke.verifyValue(DHPUstart[4], "DHPU 5 initial", 0, -99); output.printStepStart("5.1.2-2", "Wait 5 minutes"); // Thread.sleep(300000); output.printStepStart("5.1.2-3", "Read new DHPU TMONs"); DHPU=bas.readDHPU(); hke.verifyValue(DHPU[0], "DHPU 1", 0, -99); hke.verifyValue(DHPU[1], "DHPU 2", 0, -99); hke.verifyValue(DHPU[2], "DHPU 3", 0, -99); hke.verifyValue(DHPU[3], "DHPU 4", 0, -99); hke.verifyValue(DHPU[4], "DHPU 5", 0, -99); hke.verifyValue(DHPU[0], "DHPU 1 increasing", DHPUstart[0]+1, -2); hke.verifyValue(DHPU[1], "DHPU 2 unchanged", DHPUstart[1], 10); hke.verifyValue(DHPU[2], "DHPU 3 unchanged", DHPUstart[2], 10); hke.verifyValue(DHPU[3], "DHPU 4 unchanged", DHPUstart[3], 10); hke.verifyValue(DHPU[4], "DHPU 5 unchanged", DHPUstart[4], 10); } catch(MxgsTestException e) { output.printStepStatus("5.1.2", false, e.getMessage()); throw e; } output.printStepStatus("5.1.2", true); output.printSubSectionEnd("5.1.2"); } public void step5_1_3() throws Throwable { try{ output.printSubSectionStart("5.1.3", "PSU Power On"); output.printStepStart("5.1.3-1", "PSU Power On"); pow.powerOnPSU(egse); Thread.sleep(500); pow.verifySupplyPSU(egse, 0.10, 0.02); } catch(MxgsTestException e) { output.printStepStatus("5.1.3", false, e.getMessage()); throw e; } output.printStepStatus("5.1.3", true); output.printSubSectionEnd("5.1.3"); } public void step5_1_4() throws Throwable { try{ output.printSubSectionStart("5.1.4", "Enter Config, Verify Startup, DPU and PSU HK"); output.printStepStart("5.1.4-1", "Still in Boot Mode"); output.printStepStart("", "Monitored HK"); String[][] MonHK = { {"SW Mode", "0", "0"}, {"SW Submode", "0", "0"}, }; Thread.sleep(1000); hke.verifyTMarr(egse, hk17Tm.getLast(), MonHK); output.printStepStart("5.1.4-2","Enter Configuration Mode"); dpu.sendEnterConfigurationModeTc(egse); Thread.sleep(4000); output.printStepStart("", "Monitored HK"); hke.verifyMonHKUtcTime(egse); String[][] MonHK1 = { {"UTC", "0", "0"}, {"Alive Counter", "0", "0"}, {"Boot Status", "67", "0"}, {"SW Mode", "1", "0"}, {"SW Submode", "0", "0"}, {"Errors and Warnings", "0", "0"} }; hke.verifyMonHKarr(egse, 40, MonHK1, 6); output.printStepStart("", "Application SW ID"); output.printStepOut("ASW ID", "As run", "", "", "Verify on console",true); int gp=1; int tmtype=0x21; double wait=5*gp; output.printStepStart("5.1.4-3","Enable Instrument HK","Startup HK ID = "+tmtype); hke.sendEnableInstrumentHKTc(egse, wait, String.valueOf(tmtype), "1", String.valueOf(gp)); hke.verifyHKReceiving(egse, wait, tmtype, gp); output.printStepStart("5.1.4-4","Verify Startup HK"); hke.verifyHKUtcTime(egse,tmtype,gp); String[][] SupHK = { {"UTC", "0", "0"}, {"TCP Count", "0", "0"}, {"Boot Status", "67", "0"}, {"Boot SW ID.Major Version ID", "2", "0"}, {"Boot SW ID.Minor Version ID", "0", "0"}, {"Application SW ID.Major Version ID", "2", "0"}, {"Application SW ID.Minor Version ID", "3", "0"}, {"Application SW ID.Patch Version ID", "0", "0"} }; hke.verifyHKarr(egse, wait*5, tmtype, gp, SupHK, 5); output.printStepStart("5.1.4-5","Disable Instrument HK","Startup HK ID = "+tmtype); hke.sendEnableInstrumentHKTc(egse, wait, String.valueOf(tmtype), "0", "1"); Thread.sleep(1000*gp+2000); hke.verifyHKNotReceiving(egse, wait, tmtype); tmtype=0x24; output.printStepStart("5.1.4-6","Enable Instrument HK","DPU HK ID = "+tmtype); hke.sendEnableInstrumentHKTc(egse, wait, String.valueOf(tmtype), "1", String.valueOf(gp)); hke.verifyHKReceiving(egse, wait, tmtype, gp); output.printStepStart("5.1.4-7","Verify DPU HK"); hke.verifyHKUtcTime(egse,tmtype,gp); String[][] DpuHK = { {"UTC", "0", "0"}, {"TCP Count", "0", "0"}, {"1V Supply Voltage", "1338", "54"}, {"2V5 Supply Voltage", "3349", "134"}, {"3V3 Supply Voltage", "3278", "131"} }; hke.verifyHKarr(egse, wait*6, tmtype, gp, DpuHK, 5); output.printStepStart("5.1.4-8","Disable Instrument HK","DPU HK ID = "+tmtype); hke.sendEnableInstrumentHKTc(egse, wait, String.valueOf(tmtype), "0", "1"); Thread.sleep(1000*gp+2000); hke.verifyHKNotReceiving(egse, wait, tmtype); gp=4; tmtype=0x2F; wait=5*gp; output.printStepStart("5.1.4-9","Enable Instrument HK","PSU HK ID = "+tmtype); hke.sendEnableInstrumentHKTc(egse, wait, String.valueOf(tmtype), "1", String.valueOf(gp)); hke.verifyHKReceiving(egse, wait, tmtype, gp); output.printStepStart("5.1.4-10","Verify PSU HK"); hke.verifyHKUtcTime(egse,tmtype,gp); String[][] PsuHK = { {"UTC", "0", "0"}, {"TCP Count", "0", "0"}, {"PSU Controller.FPGA +1V5 Voltage", "61", "-99"}, {"PSU Controller.+5V Voltage", "203", "-99"}, {"PSU Controller.+3V3 Voltage", "134", "-99"}, {"PSU Controller.ANALOG +15V Voltage", "203", "-99"}, {"PSU Controller.ANALOG -15V Voltage", "203", "-99"}, {"Power Enable Registers.HVPS", "0", "0"}, {"Power Enable Registers.LVPS", "0", "0"}, {"Power Enable Registers.External Relay", "0", "0"}, }; hke.verifyHKarr(egse, wait*5, tmtype, gp, PsuHK, 5); } catch(MxgsTestException e) { output.printStepStatus("5.1.4", false, e.getMessage()); throw e; } output.printStepStatus("5.1.4", true); output.printSubSectionEnd("5.1.4"); } public void step5_1_5() throws Throwable { try{ output.printSubSectionStart("5.1.5", "Other HK"); int gp=1; int tmtype=0x20; double wait=5*gp; output.printStepStart("5.1.5-1","Enable Instrument HK","Instrument Summary HK ID = "+tmtype); hke.sendEnableInstrumentHKTc(egse, wait, String.valueOf(tmtype), "1", String.valueOf(gp)); hke.verifyHKReceiving(egse, wait, tmtype, gp); hk32Tm.clear(); hke.dataQueueWaitForSize(egse, 5, 1, hk32Tm); long mytime1[]=bas.time(); // Basic.sec_start=mytime1[1]-Long.valueOf(egse.packetTool.getTmParameter(hk17Tm.getFirst(), "Packet Data.Time.Seconds")); // Basic.year_start=mytime1[0]-Long.valueOf(egse.packetTool.getTmParameter(hk17Tm.getFirst(), "Packet Data.Time.Year")); Basic.tcp_start=mytime1[1]-Integer.valueOf(egse.packetTool.getTmParameter(hk32Tm.getFirst(), "Packet Data.Acquisition Start Time.TCP Count")); gp=4; tmtype=0x22; wait=5*gp; output.printStepStart("5.1.5-2","Enable Instrument HK","Buffer Resources HK ID = "+tmtype); hke.sendEnableInstrumentHKTc(egse, wait, String.valueOf(tmtype), "1", String.valueOf(gp)); hke.verifyHKReceiving(egse, wait, tmtype, gp); tmtype=0x23; output.printStepStart("5.1.5-3","Enable Instrument HK","Ratemeter HK ID = "+tmtype); hke.sendEnableInstrumentHKTc(egse, wait, String.valueOf(tmtype), "1", String.valueOf(gp)); hke.verifyHKReceiving(egse, wait, tmtype, gp); tmtype=0x25; output.printStepStart("5.1.5-4","Enable Instrument HK","CZT Summary HK ID = "+tmtype); hke.sendEnableInstrumentHKTc(egse, wait, String.valueOf(tmtype), "1", String.valueOf(gp)); hke.verifyHKReceiving(egse, wait, tmtype, gp); tmtype=0x2a; output.printStepStart("5.1.5-5","Enable Instrument HK","BGO Summary HK ID = "+tmtype); hke.sendEnableInstrumentHKTc(egse, wait, String.valueOf(tmtype), "1", String.valueOf(gp)); hke.verifyHKReceiving(egse, wait, tmtype, gp); } catch(MxgsTestException e) { output.printStepStatus("5.1.5", false, e.getMessage()); throw e; } output.printStepStatus("5.1.5", true); output.printSubSectionEnd("5.1.5"); } public void step5_1_6() throws Throwable { try{ output.printSubSectionStart("5.1.6", "Enable Event Reports"); output.printStepStart("5.1.6-1","Enable Event Reports"); String nofevents="3"; String eventids[]={"30160","40050","40270"}; for (int i=0;i2000 | czt2>2000 | czt3>2000 | czt4>2000) & i<100) { while ((czt1>2000 | czt2>2000 | czt3>2000 | czt4>2000) & i<10000) { czt1=Integer.valueOf(egse.packetTool.getTmParameter(hk37Tm.getLast(), "Packet Data.CZT1.DAU.Ratemeter")); czt2=Integer.valueOf(egse.packetTool.getTmParameter(hk37Tm.getLast(), "Packet Data.CZT2.DAU.Ratemeter")); czt3=Integer.valueOf(egse.packetTool.getTmParameter(hk37Tm.getLast(), "Packet Data.CZT3.DAU.Ratemeter")); czt4=Integer.valueOf(egse.packetTool.getTmParameter(hk37Tm.getLast(), "Packet Data.CZT4.DAU.Ratemeter")); i++; System.out.println(egse.packetTool.getTmParameter(hk37Tm.getLast(), "Packet Data.Time.Seconds")+" "+ egse.packetTool.getTmParameter(hk37Tm.getLast(), "Packet Data.CZT1.DAU.Ratemeter")+" "+ egse.packetTool.getTmParameter(hk37Tm.getLast(), "Packet Data.CZT2.DAU.Ratemeter")+" "+ egse.packetTool.getTmParameter(hk37Tm.getLast(), "Packet Data.CZT3.DAU.Ratemeter")+" "+ egse.packetTool.getTmParameter(hk37Tm.getLast(), "Packet Data.CZT4.DAU.Ratemeter") ); // hk37Tm.clear(); // hke.dataQueueWaitForSize(egse, 10, 1, hk37Tm); Thread.sleep(4000); } hk37Tm.clear(); hke.dataQueueWaitForSize(egse, 10, 1, hk37Tm); String [][] CZTHK={ {"CZT1.DAU.Ratemeter", "600", "100"}, {"CZT1.DAU.HV Voltage Monitor", "49", "2"}, {"CZT2.DAU.Ratemeter", "600", "100"}, {"CZT2.DAU.HV Voltage Monitor", "49", "2"}, {"CZT3.DAU.Ratemeter", "600", "100"}, {"CZT3.DAU.HV Voltage Monitor", "49", "2"}, {"CZT4.DAU.Ratemeter", "600", "100"}, {"CZT4.DAU.HV Voltage Monitor", "49", "2"} }; hke.verifyTMarr(egse, hk37Tm.getLast(), CZTHK); output.printStepStart("5.1.17-2", "Verify BGO Summary HK"); hk42Tm.clear(); hke.dataQueueWaitForSize(egse, 10, 1, hk42Tm); String [][] BGOHK={ {"BGO1.Ratemeter", "350", "100"}, {"BGO1.HV Voltage Monitor", "103", "2"}, {"BGO2.Ratemeter", "350", "100"}, {"BGO2.HV Voltage Monitor", "103", "2"}, {"BGO3.Ratemeter", "350", "100"}, {"BGO3.HV Voltage Monitor", "108", "2"}, {"BGO4.Ratemeter", "350", "100"}, {"BGO4.HV Voltage Monitor", "113", "2"} }; hke.verifyTMarr(egse, hk42Tm.getLast(), BGOHK); /* boolean BGO1On=false; int iTry=0; hke.sendEnableInstrumentHKTc(egse, 10, "32", "0", "4"); hke.sendEnableInstrumentHKTc(egse, 10, "35", "0", "4"); while(!BGO1On & iTry<20) { if(Integer.valueOf(egse.packetTool.getTmParameter(hk42Tm.getLast(), "Packet Data.BGO1.Ratemeter"))==0) { hke.sendEnableInstrumentHKTc(egse, 10, "42", "0", "4"); dau.sendSensorSwitchOffTc(egse, 10, 0x4000); Thread.sleep(5000); dau.sendSensorSwitchOnTc(egse, 10, 0x40); Thread.sleep(15000); hke.sendEnableInstrumentHKTc(egse, 10, "42", "1", "4"); hk42Tm.clear(); hke.dataQueueWaitForSize(egse, 10, 1, hk42Tm); iTry++; System.out.println("Tried "+iTry+" times. BGO ratemeter = "+Integer.valueOf(egse.packetTool.getTmParameter(hk42Tm.getLast(), "Packet Data.BGO1.Ratemeter"))); } else { BGO1On=true; } } hke.sendEnableInstrumentHKTc(egse, 10, "32", "1", "4"); hke.sendEnableInstrumentHKTc(egse, 10, "35", "1", "4"); */ } catch(MxgsTestException e) { output.printStepStatus("5.1.17", false, e.getMessage()); throw e; } output.printStepStatus("5.1.17", true); output.printSubSectionEnd("5.1.17"); } public void step5_1_18() throws Throwable { try{ output.printSubSectionStart("5.1.18","Enter Operational Mode"); output.printStepStart("5.1.18-1", "Send Enter Operational Mode"); dpu.sendEnterOperationalModeTc(egse); output.printStepStart("", "Monitored HK"); Thread.sleep(5000); hk17Tm.clear(); hke.dataQueueWaitForSize(egse, 10, 1, hk17Tm); String[][] MonHK = { {"SW Mode", "2", "0"}, {"SW Submode", "2", "0"}, }; hke.verifyTMarr(egse, hk17Tm.getLast(), MonHK); output.printStepStart("5.1.18-2", "Wait 10 TCPs"); Thread.sleep(10000); output.printStepStart("", "Monitored HK"); String[][] MonHK1 = { {"SW Mode", "2", "0"}, {"SW Submode", "1", "0"}, }; hke.verifyTMarr(egse, hk17Tm.getLast(), MonHK1); /* for (int i=0;i<10;i++) { System.out.println(egse.packetTool.getTmParameter(hk37Tm.getLast(), "Packet Data.Time.Seconds")+" "+ egse.packetTool.getTmParameter(hk37Tm.getLast(), "Packet Data.CZT1.DAU.Ratemeter")+" "+ egse.packetTool.getTmParameter(hk37Tm.getLast(), "Packet Data.CZT2.DAU.Ratemeter")+" "+ egse.packetTool.getTmParameter(hk37Tm.getLast(), "Packet Data.CZT3.DAU.Ratemeter")+" "+ egse.packetTool.getTmParameter(hk37Tm.getLast(), "Packet Data.CZT4.DAU.Ratemeter") ); hk37Tm.clear(); hke.dataQueueWaitForSize(egse, 10, 1, hk37Tm); } */ } catch(MxgsTestException e) { output.printStepStatus("5.1.18", false, e.getMessage()); throw e; } output.printStepStatus("5.1.18", true); output.printSubSectionEnd("5.1.18"); } public void step5_1_19() throws Throwable { try{ output.printSubSectionStart("5.1.19","MMIA to MXGS Cross-Trigger"); output.printStepStart("5.1.19-1", "Command Dausim to send trigger"); String tcpStr=dausim.dausimPeek("0x40120040"); long[] mytime=bas.time(); String trigTCP=String.format("0x%08X", Long.valueOf(tcpStr.substring(2, 10),16)+5); String[] cmdStr = new String[] { "poke 0x40131004 "+trigTCP, //Set trigger to TCP+5 "poke 0x40131008 0x0007a120", //+500,000 microsec }; List cmdList = Arrays.asList(cmdStr); dausim.dausimCmd(cmdList); output.printStepStart("5.1.19-2", "Verify Event Report"); hke.dataQueueWaitForSize(egse, 30, 1, hk40050Tm); while(!Boolean.valueOf(egse.packetTool.getTmParameter(hk40050Tm.getFirst(), "Packet Data.Event Data.Trigger Window Flags.Trigger From MMIA Received"))){ System.out.println("Received internal trigger first"); hk40050Tm.removeFirst(); hke.dataQueueWaitForSize(egse, 30, 1, hk40050Tm); } Tm tm=hk40050Tm.getFirst(); hk40050Tm=hke.verifyEventReport(egse, hk40050Tm, 0, 40050, (int)(mytime[0]-Basic.year_start), (int)mytime[2], (int)(mytime[1]+5-Basic.sec_start), (int)(mytime[1]+5-Basic.tcp_start), 192); int dpuTimer =Integer.valueOf(egse.packetTool.getTmParameter(tm, "Packet Data.Event Data.MMIA Trigger Time.Current DPU Timer Value")); hke.verifyValue(dpuTimer, "Current DPU Timer Value", 500000, 10); Thread.sleep(5000); output.printStepStart("5.1.19-3", "Verify Instrument Summary HK"); hk32Tm.clear(); hke.dataQueueWaitForSize(egse, 10, 4, hk32Tm); String[][] ISHK = { {"Triggers From MMIA", "1", "0"}, {"Priority 1 Observation Capture Count","1", "0"} }; hke.verifyTMarr(egse, hk32Tm.getLast(), ISHK); output.printStepStart("5.1.19-4", "Verify TGF Event"); /* TgfObservation tgfObs; int nTGF=Basic.tgfObsCol.completedObservationsCount(); System.out.println("Number of TGF Obs: "+nTGF); int mmiaTime,n,time0,time1,time,nSec; String counts; for(int i=0;i0) { count=scistr.substring(pos+n*16, pos+n*16+part_counts); } while(iCount>0) { science=egse.dhpu.getScienceTm().removeFirst(); siz--; scistr=science.hex().replaceAll("\\s+","").substring(2); if(scistr.substring(6,8).equals("a1")) a1=true; int part_counts_old=part_counts; nBytes=2*Integer.valueOf(scistr.substring(28, 32), 16); if(part_counts_old>0){ count=count+scistr.substring(32, 32+part_counts_old); if(Integer.valueOf(count.substring(11),16)0) { count=scistr.substring(32+part_counts_old+n*16, 32+part_counts_old+n*16+part_counts); } part_counts_old=part_counts; Thread.sleep(1000); siz=egse.dhpu.getScienceTm().size(); } time1=timeStamp+timeN*1000000; output.printStepOut("TGF from MMIA Trigger", "OK", "", true); output.printStepStart("","Observation Time"); hke.verifyValue(dhpuTCP, "TCP from DHPU", (int)(mytime[1]+5-Basic.sec_start), 1); hke.verifyValue(dpuTCP, "TCP from DPU", (int)(mytime[1]+5-Basic.tcp_start), 0); hke.verifyValue(dpuCounter, "DPU Counter", 500000-0x6d, 2); output.printStepStart("","Trigger Window Flags"); hke.verifyValue(flags, "Flags", 0x00c0, 0); output.printStepStart("","MMIA Triggering Time"); hke.verifyValue(mmiaTCP, "TCP from DPU", (int)(mytime[1]+5-Basic.tcp_start), 0); hke.verifyValue(mmiaCounter, "DPU Counter", 500000-0x6d, 2); output.printStepStart("","Detector Count Capture"); hke.verifyValue(time0, "First timestamp", 500000-0x6d-1000000, 100000); hke.verifyValue(time1, "Last timestamp", 500000-0x6d+1000000, 100000); } } } output.printStepStart("", "Receiving TGF Event Observation"); if(a0) { output.printStepOut("Received TM type 0xa0", "OK", "", true); } else { output.printStepOut("Received TM type 0xa0", "Failed", "", false); } if(a1) { output.printStepOut("Received TM type 0xa1", "OK", "", true); } else { output.printStepOut("Received TM type 0xa1", "Failed", "", false); } } catch(MxgsTestException e) { output.printStepStatus("5.1.19", false, e.getMessage()); throw e; } output.printStepStatus("5.1.19", true); output.printSubSectionEnd("5.1.19"); } public void step5_1_20() throws Throwable { try{ output.printSubSectionStart("5.1.19","Return to Configuration Mode"); output.printStepStart("5.1.19-1", "Send Enter Configuration Mode"); dpu.sendEnterConfigurationModeTc(egse); output.printStepStart("", "Monitored HK"); Thread.sleep(5000); hk17Tm.clear(); hke.dataQueueWaitForSize(egse, 10, 1, hk17Tm); String[][] MonHK = { {"SW Mode", "1", "0"}, {"SW Submode", "0", "0"}, }; hke.verifyTMarr(egse, hk17Tm.getLast(), MonHK); } catch(MxgsTestException e) { output.printStepStatus("5.1.20", false, e.getMessage()); throw e; } output.printStepStatus("5.1.20", true); output.printSubSectionEnd("5.1.20"); } public void step5_1_21() throws Throwable { try{ output.printSubSectionStart("5.1.21", "Verify DHPU Temperatures"); output.printStepStart("5.1.21-1", "Read initial DHPU TMONs"); int[] DHPU={0,0,0,0,0}; int[] DHPUstart={0,0,0,0,0}; DHPUstart=bas.readDHPU(); hke.verifyValue(DHPUstart[0], "DHPU 1 initial", 0, -99); hke.verifyValue(DHPUstart[1], "DHPU 2 initial", 0, -99); hke.verifyValue(DHPUstart[2], "DHPU 3 initial", 0, -99); hke.verifyValue(DHPUstart[3], "DHPU 4 initial", 0, -99); hke.verifyValue(DHPUstart[4], "DHPU 5 initial", 0, -99); output.printStepStart("5.1.21-2", "Wait 5 minutes"); // Thread.sleep(300000); output.printStepStart("5.1.21-3", "Read new DHPU TMONs"); DHPU=bas.readDHPU(); hke.verifyValue(DHPU[0], "DHPU 1", 0, -99); hke.verifyValue(DHPU[1], "DHPU 2", 0, -99); hke.verifyValue(DHPU[2], "DHPU 3", 0, -99); hke.verifyValue(DHPU[3], "DHPU 4", 0, -99); hke.verifyValue(DHPU[4], "DHPU 5", 0, -99); output.printStepStart("5.1.21-4", "Verify changes in DHPU TMONs"); hke.verifyValue(DHPU[0], "DHPU 1 unchanged", DHPUstart[0], 10); hke.verifyValue(DHPU[1], "DHPU 2 increasing", DHPUstart[1]+1, -2); hke.verifyValue(DHPU[2], "DHPU 3 unchanged", DHPUstart[2], 10); hke.verifyValue(DHPU[3], "DHPU 4 unchanged", DHPUstart[3], 10); hke.verifyValue(DHPU[4], "DHPU 5 unchanged", DHPUstart[4], 10); } catch(MxgsTestException e) { output.printStepStatus("5.1.21", false, e.getMessage()); throw e; } output.printStepStatus("5.1.21", true); output.printSubSectionEnd("5.1.21"); } }