/*
*
*/
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