DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
uhallibs
src
formatters.cpp
Go to the documentation of this file.
1
#include "
uhallibs/formatters.hpp
"
2
3
#include <iomanip>
// for pair
4
5
namespace
uhallibs
{
6
7
PacketFmt::PacketFmt
(
const
uint8_t*
const
aPtr,
const
size_t
aNrBytes)
8
:
mData
(1,
std
::pair<const uint8_t*, size_t>(aPtr, aNrBytes))
9
{
10
}
11
12
PacketFmt::PacketFmt
(
const
std::vector<std::pair<const uint8_t*, size_t>>& aData)
13
:
mData
(aData)
14
{
15
}
16
17
PacketFmt::~PacketFmt
() {}
18
19
std::ostream&
20
operator<<
(std::ostream& aStream,
const
PacketFmt
& aPacket)
21
{
22
std::ios::fmtflags lOrigFlags(aStream.flags());
23
24
size_t
lNrBytesWritten = 0;
25
for
(
size_t
i = 0; i < aPacket.
mData
.size(); i++) {
26
for
(
const
uint8_t* lPtr = aPacket.
mData
.at(i).first;
27
lPtr != (aPacket.
mData
.at(i).first + aPacket.
mData
.at(i).second);
28
lPtr++, lNrBytesWritten++) {
29
if
((lNrBytesWritten & 3) == 0)
30
aStream << std::endl <<
" @ "
<< std::setw(3) << std::dec << (lNrBytesWritten >> 2) <<
" : x"
;
31
aStream << std::setw(2) << std::hex << uint16_t(*lPtr) <<
" "
;
32
}
33
}
34
35
aStream.flags(lOrigFlags);
36
return
aStream;
37
}
38
39
DMAFmt::DMAFmt
(
const
uint8_t*
const
aPtr,
const
size_t
aNrBytes)
40
:
mData
(1,
std
::pair<const uint8_t*, size_t>(aPtr, aNrBytes))
41
{
42
}
43
44
DMAFmt::~DMAFmt
() {}
45
46
std::ostream&
47
operator<<
(std::ostream& aStream,
const
DMAFmt
& aPacket)
48
{
49
std::ios::fmtflags lOrigFlags(aStream.flags());
50
51
size_t
lNrBytesWritten = 0;
52
for
(
size_t
i = 0; i < aPacket.
mData
.size(); i++) {
53
for
(
const
uint8_t* lPtr = aPacket.
mData
.at(i).first;
54
lPtr != (aPacket.
mData
.at(i).first + aPacket.
mData
.at(i).second);
55
lPtr++, lNrBytesWritten++) {
56
if
((lNrBytesWritten & 63) == 0)
57
aStream << std::endl <<
" @ "
<< std::setw(3) << std::dec << (lNrBytesWritten >> 2) <<
" : x"
;
58
aStream << std::setw(2) << std::hex << uint16_t(*lPtr) <<
" "
;
59
}
60
}
61
62
aStream.flags(lOrigFlags);
63
return
aStream;
64
}
65
66
}
// namespace uhal
uhallibs::DMAFmt
Definition
formatters.hpp:24
uhallibs::DMAFmt::mData
const std::vector< std::pair< const uint8_t *, size_t > > mData
Definition
formatters.hpp:29
uhallibs::DMAFmt::~DMAFmt
~DMAFmt()
Definition
formatters.cpp:44
uhallibs::DMAFmt::DMAFmt
DMAFmt(const uint8_t *const, const size_t)
Definition
formatters.cpp:39
uhallibs::PacketFmt
Definition
formatters.hpp:12
uhallibs::PacketFmt::mData
const std::vector< std::pair< const uint8_t *, size_t > > mData
Definition
formatters.hpp:18
uhallibs::PacketFmt::~PacketFmt
~PacketFmt()
Definition
formatters.cpp:17
uhallibs::PacketFmt::PacketFmt
PacketFmt(const uint8_t *const, const size_t)
Definition
formatters.cpp:7
formatters.hpp
std
Definition
SchemaUtils.hpp:118
uhallibs
Definition
formatters.hpp:9
uhallibs::operator<<
std::ostream & operator<<(std::ostream &aStream, const PacketFmt &aPacket)
Definition
formatters.cpp:20
Generated on
for DUNE-DAQ by
1.18.0