49 const char* AshtechEPB::myId =
"EPB";
52 void AshtechEPB::reallyGetRecord(
FFStream& ffs)
58 string& rawData = stream.
rawData;
62 if (
id ==
"" && rawData.size()>=10 &&
63 rawData.substr(0,7) == preamble)
64 id = rawData.substr(7,3);
68 if (
id ==
"" || !checkId(
id))
75 void AshtechEPB::decode(
const std::string&
data)
82 if (str.length() == 138)
85 header = str.substr(0,11); str.erase(0,11);
86 prn =
asInt(str.substr(0,2));
89 for (
int s=1; s<=3; s++)
90 for (
int w=1; w<=10; w++)
91 word[s][w] = decodeVar<uint32_t>(str);
93 (void)decodeVar<uint16_t>(str);
94 clear(ios_base::goodbit);
106 oss << getName() <<
"0:" <<
" prn:" << prn << endl;
108 oss << setfill(
'0') << hex;
109 for (
int s=1; s<=3; s++)
111 for (
int w=1; w<=10; w++)
114 oss << getName() << s*2+w/5-1 <<
": ";
115 oss << setw(8) << uppercase <<
word[s][w] <<
" ";
121 out << oss.str() << flush;