/* * */ package mxgstest; import java.io.*; import java.util.Date; import java.util.logging.Level; import java.util.logging.Logger; /** * Provides basic test logging capabilities *

* This class * * @since 2014-04-03 * @version 0.1 * @author Jan Svoboda, DTU Space */ public class Output { static int subSectionErrs; static int sectionErrs; static int testErrs; public static String outname; public static String home; static PrintWriter testout; static boolean logToFile; static final String ANSI_RESET = "\u001B[0m"; static final String ANSI_BLACK = "\u001B[30m"; static final String ANSI_RED = "\u001B[31m"; static final String ANSI_GREEN = "\u001B[32m"; static final String ANSI_YELLOW = "\u001B[33m"; static final String ANSI_BLUE = "\u001B[34m"; static final String ANSI_PURPLE = "\u001B[35m"; static final String ANSI_CYAN = "\u001B[36m"; static final String ANSI_WHITE = "\u001B[37m"; public Output() { logToFile = true; } /** * * @param testName * @param testProcedure * @throws java.io.IOException */ public void printTestStart(String testName, String testProcedure) throws IOException { /* Clears the terminal, but works only on Linux */ //System.out.println("\033[2J\n"); /* Prepare the test start printout */ StringBuilder msg = new StringBuilder(); msg.append("*******************************************************************************\n"); msg.append("* MXGS HW Test *\n"); msg.append("* *\n"); msg.append("* Test Name: ").append(testName); msg.append(fill(Math.max(0, 320 - msg.length() - 2), " ")); msg.append("*\n"); msg.append("* Procedure: ").append(testProcedure); msg.append(fill(Math.max(0, 400 - msg.length() - 2), " ")); msg.append("*\n"); msg.append("* Date: "); Date date = new Date(); msg.append(String.format("%tY-%0) { for(int i=0;i0) { for(int i=0;i0) { for(int i=0;i0) { for(int i=0;i0) { for(int i=0;i0) { w_counts0.write(scistr.substring(pos+n*16, pos+n*16+part_counts[ityp])); } if(init[ityp]) { w_counts0.close(); if(part_counts[ityp]!=0) { System.out.println("part_counts not 0: "+part_counts[ityp]); System.out.println(NofB[ityp]+" "+n+" "+part_counts[ityp]); System.out.println(scistr); } } } else if(scistr.substring(6, 8).equals("a1")) { ityp=0; if(init[ityp]) { System.out.println("Science TM not initial: "+scistr.substring(0, 8)); } else { if(scistr.substring(20, 24).equals("0001")) { init[ityp]=true; } int part_counts_old=part_counts[ityp]; NofB[ityp]=2*Integer.valueOf(scistr.substring(28, 32), 16); if(init[ityp]){ NofB[ityp]=NofB[ityp]-8; } if(part_counts_old>0){ w_counts0.write(scistr.substring(32, 32+part_counts_old)+eol); } NofB[ityp]=NofB[ityp]-part_counts_old; n=NofB[ityp]/16; part_counts[ityp]=NofB[ityp]-16*n; for(int i=0;i0) { w_counts0.write(scistr.substring(32+part_counts_old+n*16, 32+part_counts_old+n*16+part_counts[ityp])); } if(init[ityp]) { w_counts0.close(); if(part_counts[ityp]!=0) { System.out.println("part_counts not 0: "+part_counts[ityp]); System.out.println(NofB[0]+" "+n+" "+part_counts[ityp]); System.out.println(scistr); } } } } else if(scistr.substring(6, 8).equals("a2")) { ityp=1; bytes=Integer.valueOf(scistr.substring(8, 12),16); if(!init[ityp]) { System.out.println("Science initial, previous unfinished: "+scistr.substring(0, 8)); } IofObs++; init[ityp]=false; ObsId=scistr.substring(12, 16); w_head1 = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(thisDir+"Background/"+"Head_"+ObsId+".txt"), "utf-8")); w_head1.write("Head: "+eol+scistr.substring(0,8)+eol); w_head1.flush(); w_head1.write("Observation ID: "+eol+scistr.substring(12,16)+eol); w_head1.flush(); w_head1.write("Internal TMONs: "+eol+Integer.valueOf(scistr.substring(24,28),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(28,32),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(32,36),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(36,40),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(40,44),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(44,48),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(48,52),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(52,56),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(56,60),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(60,64),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(64,68),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(68,72),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(72,76),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(76,80),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(80,84),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(84,88),16)+eol); w_head1.flush(); w_head1.write("Accepted Count Parameters: "+eol+Integer.valueOf(scistr.substring(88,92),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(92,96),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(96,100),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(100,104),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(104,108),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(108,112),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(112,116),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(116,120),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(120,122),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(122,124),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(124,126),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(126,128),16)+eol); w_head1.flush(); w_head1.write("LED Pulse-Height Bin Boundaries: "+eol+Integer.valueOf(scistr.substring(128,132),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(132,136),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(136,140),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(140,144),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(144,148),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(148,152),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(152,156),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(156,160),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(160,164),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(164,168),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(168,172),16)+eol); w_head1.flush(); w_head1.write("HED Pulse-Height Bin Boundaries: "+eol+Integer.valueOf(scistr.substring(172,176),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(176,180),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(180,184),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(184,188),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(188,192),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(192,196),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(196,200),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(200,204),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(204,208),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(208,212),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(212,216),16)+eol); w_head1.flush(); w_head1.write("Trigger Window Durations: "+eol+Integer.valueOf(scistr.substring(216,220),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(220,224),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(224,228),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(228,232),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(232,236),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(236,240),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(240,244),16)+" "); w_head1.write(Integer.valueOf(scistr.substring(244,248),16)+eol); w_head1.flush(); w_head1.close(); w_counts1 = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(thisDir+"Background/"+"Background_"+ObsId+".txt"), "utf-8")); sec=0; scistr0=scistr.substring(248,bytes*2+12); while(scistr0.length()>=600) { sec++; w_counts1.write("Second: "+eol+sec+eol); w_counts1.write("Time of Latest TCP: "+eol+Integer.valueOf(scistr0.substring(0,4),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(4,8),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(8,16),16)+eol); w_counts1.flush(); w_counts1.write("Observation Time: "+eol+Integer.valueOf(scistr0.substring(16,24),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(24,32),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(32,40),16)+eol); w_counts1.flush(); w_counts1.write("SW Mode: "+eol+Integer.valueOf(scistr0.substring(40,41),16)+eol); w_counts1.write("SW Submode: "+eol+Integer.valueOf(scistr0.substring(41,42),16)+eol); w_counts1.write("DECF: "+eol+Integer.valueOf(scistr0.substring(42,44),16)+eol); w_counts1.write("Total Count Ratemeters: "+eol+Integer.valueOf(scistr0.substring(44,52),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(52,60),16)+eol); w_counts1.write("DAU Total Rate: "+eol+Integer.valueOf(scistr0.substring(60,68),16)+eol); w_counts1.flush(); w_counts1.write("Accepted Count Ratemeters: "+eol+Integer.valueOf(scistr0.substring(68,76),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(76,84),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(84,92),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(92,100),16)+eol); w_counts1.flush(); w_counts1.write("Calculated Background Rates: "+eol+Integer.valueOf(scistr0.substring(100,108),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(108,116),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(116,124),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(124,132),16)+eol); w_counts1.flush(); w_counts1.write("Trigger Window Thresholds: "+eol+Integer.valueOf(scistr0.substring(132,134),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(134,136),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(136,138),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(138,142),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(142,144),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(144,146),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(146,148),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(148,152),16)+eol); w_counts1.flush(); w_counts1.write("CZT Current Offset: "+eol); for (int i=0;i<16;i++) { w_counts1.write(Integer.valueOf(scistr0.substring(152+i*4,156+i*1),16)+" "); } w_counts1.write(eol); w_counts1.flush(); w_counts1.write("BGO Current Offset: "+eol); for (int i=0;i<12;i++) { w_counts1.write(Integer.valueOf(scistr0.substring(216+4*i,220+4*i),16)+" "); } w_counts1.write(eol); w_counts1.flush(); w_counts1.write("LED Pulse-height Binned Data: "+eol); for (int i=0;i<10;i++) { w_counts1.write(Integer.valueOf(scistr0.substring(264+4*i,268+4*i),16)+" "); } w_counts1.write(eol); w_counts1.flush(); w_counts1.write("HED Pulse-height Binned Data: "+eol); for (int i=0;i<10;i++) { w_counts1.write(Integer.valueOf(scistr0.substring(304+4*i,308+4*i),16)+" "); } w_counts1.write(eol); w_counts1.flush(); w_counts1.write("LED Time Binned Data: "+eol); for (int i=0;i<31;i++) { w_counts1.write(Integer.valueOf(scistr0.substring(344+4*i,348+4*i),16)+" "); } w_counts1.write(eol); w_counts1.flush(); w_counts1.write("HED Time Binned Data: "+eol); for (int i=0;i<31;i++) { w_counts1.write(Integer.valueOf(scistr0.substring(468+4*i,472+4*i),16)+" "); } w_counts1.write(eol); w_counts1.flush(); w_counts1.write("HED Time Binned Data: "+eol); w_counts1.write(scistr0.substring(592,600)+eol); } } else if(scistr.substring(6, 8).equals("a3")) { ityp=1; if(init[ityp]) { System.out.println("Science TM not initial: "+scistr.substring(0, 8)); } else { if(scistr.substring(20, 24).equals("0001")) { init[ityp]=true; } bytes=Integer.valueOf(scistr.substring(8, 12),16); scistr0=scistr0.concat(scistr.substring(36,bytes*2+12)); while(scistr0.length()>=600) { sec++; w_counts1.write("Second: "+eol+sec+eol); w_counts1.write("Time of Latest TCP: "+eol+Integer.valueOf(scistr0.substring(0,4),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(4,8),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(8,16),16)+eol); w_counts1.flush(); w_counts1.write("Observation Time: "+eol+Integer.valueOf(scistr0.substring(16,24),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(24,32),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(32,40),16)+eol); w_counts1.flush(); w_counts1.write("SW Mode: "+eol+Integer.valueOf(scistr0.substring(40,41),16)+eol); w_counts1.write("SW Submode: "+eol+Integer.valueOf(scistr0.substring(41,42),16)+eol); w_counts1.write("DECF: "+eol+Integer.valueOf(scistr0.substring(42,44),16)+eol); w_counts1.write("Total Count Ratemeters: "+eol+Integer.valueOf(scistr0.substring(44,52),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(52,60),16)+eol); w_counts1.write("DAU Total Rate: "+eol+Integer.valueOf(scistr0.substring(60,68),16)+eol); w_counts1.flush(); w_counts1.write("Accepted Count Ratemeters: "+eol+Integer.valueOf(scistr0.substring(68,76),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(76,84),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(84,92),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(92,100),16)+eol); w_counts1.flush(); w_counts1.write("Calculated Background Rates: "+eol+Integer.valueOf(scistr0.substring(100,108),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(108,116),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(116,124),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(124,132),16)+eol); w_counts1.flush(); w_counts1.write("Trigger Window Thresholds: "+eol+Integer.valueOf(scistr0.substring(132,134),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(134,136),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(136,138),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(138,142),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(142,144),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(144,146),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(146,148),16)+" "); w_counts1.write(Integer.valueOf(scistr0.substring(148,152),16)+eol); w_counts1.flush(); w_counts1.write("CZT Current Offset: "+eol); for (int i=0;i<16;i++) { w_counts1.write(Integer.valueOf(scistr0.substring(152+i*4,156+i*1),16)+" "); } w_counts1.write(eol); w_counts1.flush(); w_counts1.write("BGO Current Offset: "+eol); for (int i=0;i<12;i++) { w_counts1.write(Integer.valueOf(scistr0.substring(216+4*i,220+4*i),16)+" "); } w_counts1.write(eol); w_counts1.flush(); w_counts1.write("LED Pulse-height Binned Data: "+eol); for (int i=0;i<10;i++) { w_counts1.write(Integer.valueOf(scistr0.substring(264+4*i,268+4*i),16)+" "); } w_counts1.write(eol); w_counts1.flush(); w_counts1.write("HED Pulse-height Binned Data: "+eol); for (int i=0;i<10;i++) { w_counts1.write(Integer.valueOf(scistr0.substring(304+4*i,308+4*i),16)+" "); } w_counts1.write(eol); w_counts1.flush(); w_counts1.write("LED Time Binned Data: "+eol); for (int i=0;i<31;i++) { w_counts1.write(Integer.valueOf(scistr0.substring(344+4*i,348+4*i),16)+" "); } w_counts1.write(eol); w_counts1.flush(); w_counts1.write("HED Time Binned Data: "+eol); for (int i=0;i<31;i++) { w_counts1.write(Integer.valueOf(scistr0.substring(468+4*i,472+4*i),16)+" "); } w_counts1.write(eol); w_counts1.flush(); w_counts1.write("HED Time Binned Data: "+eol); w_counts1.write(scistr0.substring(592,600)+eol); } } } else if(scistr.substring(6, 8).equals("a4")) { ityp=2; if(!init[ityp]) { System.out.println("Science initial, previous unfinished: "+scistr.substring(0, 8)); } bytes=Integer.valueOf(scistr.substring(8, 12),16); IofObs++; init[ityp]=false; ObsId=scistr.substring(12, 16); w_head2 = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(thisDir+"Pulseheight/"+"Head_"+ObsId+".txt"), "utf-8")); w_head2.write("Head: "+scistr.substring(0,8)+eol); w_head2.write("Obs.: "+scistr.substring(12,16)+eol); w_head2.write("Time: "+Integer.valueOf(scistr.substring(24,28),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(28,32),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(32,40),16)+eol); w_head2.flush(); w_head2.write("TCP: "+Integer.valueOf(scistr.substring(40,48),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(48,56),16)+eol); w_head2.flush(); w_head2.write("Temp: "+Integer.valueOf(scistr.substring(56,60),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(60,64),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(64,68),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(68,72),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(72,76),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(76,80),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(80,84),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(84,88),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(88,92),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(92,96),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(96,100),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(100,104),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(104,108),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(108,112),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(112,116),16)+" "); w_head2.write(Integer.valueOf(scistr.substring(116,120),16)+eol); w_head2.flush(); w_head2.write("IntP: "+scistr.substring(120,124)+eol); w_head2.flush(); w_head2.write("Type: "+scistr.substring(124,128)+eol); w_head2.flush(); w_head2.close(); } else if(scistr.substring(6, 8).equals("a5")) { ityp=2; if(init[ityp]) { System.out.println("Science TM not initial: "+scistr.substring(0, 8)); } if(scistr.substring(20, 24).equals("0001")) { init[ityp]=true; } } else if(scistr.substring(6, 8).equals("a6")) { ityp=3; bytes=Integer.valueOf(scistr.substring(8, 12),16); System.out.println(bytes); if(!init[ityp]) { System.out.println("Science initial, previous unfinished: "+scistr.substring(0, 8)); } IofObs++; init[ityp]=false; ObsId=scistr.substring(12, 16); w_head3 = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(thisDir+"Sampled/"+"Head_"+ObsId+".txt"), "utf-8")); w_head3.write("Head: "+scistr.substring(0,8)+eol); w_head3.write("Obs.: "+scistr.substring(12,16)+eol); w_head3.write("Temp: "+Integer.valueOf(scistr.substring(24,28),16)+" "); w_head3.write(Integer.valueOf(scistr.substring(28,32),16)+" "); w_head3.write(Integer.valueOf(scistr.substring(32,36),16)+" "); w_head3.write(Integer.valueOf(scistr.substring(36,40),16)+" "); w_head3.write(Integer.valueOf(scistr.substring(40,44),16)+" "); w_head3.write(Integer.valueOf(scistr.substring(44,48),16)+" "); w_head3.write(Integer.valueOf(scistr.substring(48,52),16)+" "); w_head3.write(Integer.valueOf(scistr.substring(52,56),16)+" "); w_head3.write(Integer.valueOf(scistr.substring(56,60),16)+" "); w_head3.write(Integer.valueOf(scistr.substring(60,64),16)+" "); w_head3.write(Integer.valueOf(scistr.substring(64,68),16)+" "); w_head3.write(Integer.valueOf(scistr.substring(68,72),16)+" "); w_head3.write(Integer.valueOf(scistr.substring(72,76),16)+" "); w_head3.write(Integer.valueOf(scistr.substring(76,80),16)+" "); w_head3.write(Integer.valueOf(scistr.substring(80,84),16)+" "); w_head3.write(Integer.valueOf(scistr.substring(84,88),16)+eol); w_head3.flush(); w_head3.close(); w_counts3 = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(thisDir+"Sampled/"+"Counts_"+ObsId+".txt"), "utf-8")); sec=0; scistr0=scistr.substring(88,bytes*2+12); int n_counts=0; boolean more_secs=true; while(more_secs) { if(scistr0.length()>=56) { n_counts=Integer.valueOf(scistr0.substring(48,56),16); } else { more_secs=false; } if(scistr0.length()>=56+n_counts*16) { w_counts3.write("Time: "+Integer.valueOf(scistr0.substring(0,4),16)+" "); w_counts3.write(Integer.valueOf(scistr0.substring(4,8),16)+" "); w_counts3.write(Integer.valueOf(scistr0.substring(8,16),16)+eol); w_counts3.flush(); w_counts3.write("TCP: "+Integer.valueOf(scistr0.substring(16,24),16)+" "); w_counts3.write(Integer.valueOf(scistr0.substring(24,32),16)+" "); w_counts3.write(Integer.valueOf(scistr0.substring(32,40),16)+eol); w_counts3.write("DECF: "+Integer.valueOf(scistr0.substring(40,42),16)+" "); w_counts3.write(Integer.valueOf(scistr0.substring(42,44),16)+eol); w_counts3.write("N: "+Integer.valueOf(scistr0.substring(48,56),16)+eol); w_counts3.flush(); for(int i=0;i=56) { n_counts=Integer.valueOf(scistr0.substring(48,56),16); } else { more_secs=false; } if(scistr0.length()>=56+n_counts*16) { w_counts3.write("Time: "+Integer.valueOf(scistr0.substring(0,4),16)+" "); w_counts3.write(Integer.valueOf(scistr0.substring(4,8),16)+" "); w_counts3.write(Integer.valueOf(scistr0.substring(8,16),16)+eol); w_counts3.flush(); w_counts3.write("TCP: "+Integer.valueOf(scistr0.substring(16,24),16)+" "); w_counts3.write(Integer.valueOf(scistr0.substring(24,32),16)+" "); w_counts3.write(Integer.valueOf(scistr0.substring(32,40),16)+eol); w_counts3.write("DECF: "+Integer.valueOf(scistr0.substring(40,42),16)+" "); w_counts3.write(Integer.valueOf(scistr0.substring(42,44),16)+eol); w_counts3.write("N: "+Integer.valueOf(scistr0.substring(48,56),16)+eol); w_counts3.flush(); for(int i=0;i