Galaxis Codebase
1.0.0
Team Galaxis software stack for the Carolo Cup 2023 - ROS2 based software
ros_heartbeat.hpp
Go to the documentation of this file.
1
#ifndef ROS_HEARTBEAT_H
2
#define ROS_HEARTBEAT_H
3
4
#include "
node_ros_pubsub_wrapper.hpp
"
5
#include "rclcpp/rclcpp.hpp"
6
#include "
galaxis/messages.hpp
"
7
#include "
galaxis/ServiceState.hpp
"
8
9
#include <string>
10
11
constexpr
unsigned
int
_HEARTBEAT_MAXIMUM_PERIOD_TIME
= 500;
12
13
namespace
galaxis
{
14
class
ROSHeartbeat
{
15
private
:
16
rclcpp::Node*
m_nodePtr
=
nullptr
;
17
rclcpp::Publisher<HeartbeatMessageType>::SharedPtr
m_publisherSPtr
;
18
std::chrono::milliseconds
m_period
;
19
rclcpp::TimerBase::SharedPtr
m_periodicTimer
;
20
::galaxis::serviceStates::State
m_serviceState
=
::galaxis::serviceStates::State::BOOTSTRAP
;
21
std::string
m_nodeName
=
"UNDEFINED"
;
22
23
public
:
24
ROSHeartbeat
() =
delete
;
25
ROSHeartbeat
(rclcpp::Node* p_nodePtr, std::string& p_nodeNameRef,
unsigned
int
p_period);
26
~ROSHeartbeat
();
27
28
void
beat
(
void
);
29
void
set_service_state
(::
galaxis::serviceStates::State
const
p_serviceState);
30
};
31
}
// namespace galaxis
32
33
#endif // !ROS_HEARTBEAT_H
galaxis::ROSHeartbeat::beat
void beat(void)
Definition:
ros_heartbeat.cpp:30
galaxis::ROSHeartbeat::m_periodicTimer
rclcpp::TimerBase::SharedPtr m_periodicTimer
Definition:
ros_heartbeat.hpp:19
galaxis::ROSHeartbeat::m_serviceState
::galaxis::serviceStates::State m_serviceState
Definition:
ros_heartbeat.hpp:20
node_ros_pubsub_wrapper.hpp
galaxis::ROSHeartbeat::ROSHeartbeat
ROSHeartbeat()=delete
_HEARTBEAT_MAXIMUM_PERIOD_TIME
constexpr unsigned int _HEARTBEAT_MAXIMUM_PERIOD_TIME
Definition:
ros_heartbeat.hpp:11
galaxis::ROSHeartbeat
Definition:
ros_heartbeat.hpp:14
galaxis::serviceStates::BOOTSTRAP
@ BOOTSTRAP
Definition:
ServiceState.hpp:10
galaxis::ROSHeartbeat::m_nodePtr
rclcpp::Node * m_nodePtr
Definition:
ros_heartbeat.hpp:16
galaxis::ROSHeartbeat::set_service_state
void set_service_state(::galaxis::serviceStates::State const p_serviceState)
Definition:
ros_heartbeat.cpp:38
galaxis
Definition:
MapClasses.hpp:10
galaxis::ROSHeartbeat::m_nodeName
std::string m_nodeName
Definition:
ros_heartbeat.hpp:21
galaxis::ROSHeartbeat::~ROSHeartbeat
~ROSHeartbeat()
Definition:
ros_heartbeat.cpp:26
ServiceState.hpp
galaxis::ROSHeartbeat::m_publisherSPtr
rclcpp::Publisher< HeartbeatMessageType >::SharedPtr m_publisherSPtr
Definition:
ros_heartbeat.hpp:17
galaxis::ROSHeartbeat::m_period
std::chrono::milliseconds m_period
Definition:
ros_heartbeat.hpp:18
messages.hpp
galaxis::serviceStates::State
State
Definition:
ServiceState.hpp:9
utilities
include
galaxis
ros_heartbeat.hpp
Generated by
1.8.17