Main Page
Namespaces
Namespace List
Namespace Members
All
b
c
e
g
i
m
s
w
y
Functions
Variables
Enumerations
Classes
Class List
Class Members
All
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
~
Functions
a
b
c
d
e
g
h
i
j
l
m
o
p
q
r
s
t
u
v
~
Variables
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
v
w
Typedefs
Files
File List
File Members
All
Functions
Variables
Macros
src
statistics.cpp
Go to the documentation of this file.
1
34
#include <
multisense_ros/statistics.h
>
35
36
#include <multisense_ros/ChannelStatistics.h>
37
38
namespace
multisense_ros
{
39
40
Statistics::Statistics
(
crl::multisense::Channel
* driver):
41
driver_(driver),
42
device_nh_(
""
),
43
statistics_pub_(),
44
statistics_timer_(),
45
subscribers_(0)
46
{
47
statistics_pub_
=
device_nh_
.
advertise
<multisense_ros::ChannelStatistics>(
"channel_statistics"
, 5,
48
std::bind(&
Statistics::connect
,
this
),
49
std::bind(&
Statistics::disconnect
,
this
));
50
51
statistics_timer_
=
device_nh_
.
createTimer
(
ros::Duration
(1), &
Statistics::queryStatistics
,
this
);
52
}
53
54
Statistics::~Statistics
()
55
{
56
}
57
58
void
Statistics::queryStatistics
(
const
ros::TimerEvent
& event)
59
{
60
(void) event;
61
62
if
(
subscribers_
<= 0)
63
return
;
64
65
if
(NULL !=
driver_
)
66
{
67
crl::multisense::system::ChannelStatistics
statistics =
driver_
->
getStats
();
68
69
multisense_ros::ChannelStatistics statisticsMsg;
70
71
statisticsMsg.header.stamp =
ros::Time::now
();
72
73
statisticsMsg.num_missed_headers = statistics.
numMissedHeaders
;
74
statisticsMsg.num_dropped_assemblers = statistics.
numDroppedAssemblers
;
75
statisticsMsg.num_image_meta_data = statistics.
numImageMetaData
;
76
statisticsMsg.num_dispatched_image = statistics.
numDispatchedImage
;
77
statisticsMsg.num_dispatched_lidar = statistics.
numDispatchedLidar
;
78
statisticsMsg.num_dispatched_pps = statistics.
numDispatchedPps
;
79
statisticsMsg.num_dispatched_imu = statistics.
numDispatchedImu
;
80
statisticsMsg.num_dispatched_compressed_image = statistics.
numDispatchedCompressedImage
;
81
statisticsMsg.num_dispatched_ground_surface_spline = statistics.
numDispatchedGroundSurfaceSpline
;
82
statisticsMsg.num_dispatched_april_tag_detections = statistics.
numDispatchedAprilTagDetections
;
83
84
statistics_pub_
.
publish
(statisticsMsg);
85
}
86
}
87
88
void
Statistics::connect
()
89
{
90
__sync_fetch_and_add(&
subscribers_
, 1);
91
}
92
93
void
Statistics::disconnect
()
94
{
95
__sync_fetch_and_sub(&
subscribers_
, 1);
96
}
97
98
99
}
crl::multisense::system::ChannelStatistics::numDispatchedGroundSurfaceSpline
std::size_t numDispatchedGroundSurfaceSpline
multisense_ros::Statistics::statistics_timer_
ros::Timer statistics_timer_
Definition:
statistics.h:69
multisense_ros::Statistics::subscribers_
int32_t subscribers_
Definition:
statistics.h:80
crl::multisense::system::ChannelStatistics::numDispatchedImu
std::size_t numDispatchedImu
multisense_ros::Statistics::~Statistics
~Statistics()
Definition:
statistics.cpp:54
statistics.h
multisense_ros::Statistics::disconnect
void disconnect()
Definition:
statistics.cpp:93
ros::Publisher::publish
void publish(const boost::shared_ptr< M > &message) const
ros::NodeHandle::advertise
Publisher advertise(AdvertiseOptions &ops)
crl::multisense::system::ChannelStatistics::numMissedHeaders
std::size_t numMissedHeaders
crl::multisense::system::ChannelStatistics::numDispatchedAprilTagDetections
std::size_t numDispatchedAprilTagDetections
crl::multisense::Channel::getStats
virtual system::ChannelStatistics getStats()=0
crl::multisense::system::ChannelStatistics::numDispatchedPps
std::size_t numDispatchedPps
crl::multisense::system::ChannelStatistics::numDispatchedCompressedImage
std::size_t numDispatchedCompressedImage
multisense_ros::Statistics::driver_
crl::multisense::Channel * driver_
Definition:
statistics.h:54
multisense_ros
Definition:
camera.h:58
multisense_ros::Statistics::statistics_pub_
ros::Publisher statistics_pub_
Definition:
statistics.h:64
multisense_ros::Statistics::queryStatistics
void queryStatistics(const ros::TimerEvent &event)
Definition:
statistics.cpp:58
ros::TimerEvent
multisense_ros::Statistics::Statistics
Statistics(crl::multisense::Channel *driver)
Definition:
statistics.cpp:40
crl::multisense::Channel
crl::multisense::system::ChannelStatistics::numImageMetaData
std::size_t numImageMetaData
crl::multisense::system::ChannelStatistics::numDispatchedLidar
std::size_t numDispatchedLidar
multisense_ros::Statistics::connect
void connect()
Definition:
statistics.cpp:88
multisense_ros::Statistics::device_nh_
ros::NodeHandle device_nh_
Definition:
statistics.h:59
ros::NodeHandle::createTimer
Timer createTimer(Duration period, const TimerCallback &callback, bool oneshot=false, bool autostart=true) const
ros::Duration
crl::multisense::system::ChannelStatistics::numDispatchedImage
std::size_t numDispatchedImage
crl::multisense::system::ChannelStatistics::numDroppedAssemblers
std::size_t numDroppedAssemblers
crl::multisense::system::ChannelStatistics
ros::Time::now
static Time now()
multisense_ros
Author(s):
autogenerated on Thu Feb 20 2025 03:51:03