28 return fWord & 0x03FF;
33 return (
fWord >> 10) & 0x07;
38 return (
fWord >> 13) & 0x07;
60 return static_cast<uint32_t
>(
fWord & 0x00FF) | (
static_cast<uint32_t
>((
fWord & 0xFF00) >> 8) << 8);
76 return (
fWord & 0xFF);
93 default:
return "Unknown";
99 std::ostringstream ss;
100 ss <<
"[0x" << std::hex << std::setw(4) << std::setfill(
'0') <<
fWord <<
"] ";
106 ss <<
" FrameHeader";
107 ss <<
" (Raw: 0x" << std::hex <<
fWord <<
")";
120 default: ss <<
" Unknown";
break;
WordType GetWordType() const
– Type
uint16_t GetPixelAddress() const
— Pixel address data (valid if PixelData)
std::string ToString() const
— For debugging: human readable string
static std::string PrintWordType(WordType type)
bool IsRegionHeader() const
uint8_t GetTrailerFlags() const
bool IsFrameHeader() const
— Frame header helpers
bool IsValidPixelAddress() const
True if pixel address is 0..504.
bool IsFrameTrailer() const
— Frame trailer
uint32_t GetFrameNumber() const
Only valid on the correct header word.
uint8_t GetPEAddress() const
static constexpr uint16_t kMaxPixelAddress
uint8_t GetRegionNumber() const
— Region header (valid if RegionHeader)
@ FrameHeader
0xFE00 - 0xFEFF, part of 8-word frame header
@ PixelData
0x0000 - 0xFBFF, pixel address (0..504 used, up to 0xFBFF)
@ FrameTrailer
0xFF00 - 0xFFFF, trailer (checksum, flags)
@ Spare
0xFC00 - 0xFC7F, unused, reserved (excluding 0xFCAA)
@ Empty
0xFCAA, specific empty word for padding
@ RegionHeader
0xFD00 - 0xFD3F, region header (region # in 6 lsb)