Common
common packages for kyubic
 
Loading...
Searching...
No Matches
button_battery_state.hpp
Go to the documentation of this file.
1
10#ifndef _BUTTON_BATTERY_STATUS_HPP
11#define _BUTTON_BATTERY_STATUS_HPP
12
13#include <cstdint>
14#include <driver_msgs/msg/button_battery_state.hpp>
15#include <mutex>
16#include <proto_files/conversion_driver_msgs__ButtonBatteryState.hpp>
17#include <protolink/client.hpp>
18#include <rclcpp/rclcpp.hpp>
19#include <timer/timeout.hpp>
20
22{
26class ButtonBatteryState : public rclcpp::Node
27{
28public:
29 explicit ButtonBatteryState(const rclcpp::NodeOptions & options);
30
31private:
32 // Network settings
33 uint16_t sub_port;
34 uint64_t timeout_ms;
35
36 protolink::IoContext io_context_;
37 std::shared_ptr<boost::asio::ip::udp::socket> sock_;
38 std::shared_ptr<timer::Timeout> timeout_;
39 std::mutex mutex_;
40
41 using ProtoButtonBatteryState =
42 protolink__driver_msgs__ButtonBatteryState::driver_msgs__ButtonBatteryState;
43 std::shared_ptr<protolink::udp_protocol::Subscriber<ProtoButtonBatteryState>>
44 protolink_subscriber_;
45
46 rclcpp::Publisher<driver_msgs::msg::ButtonBatteryState>::SharedPtr pub_;
47 rclcpp::TimerBase::SharedPtr timer_;
48
49 void protolink_callback(const ProtoButtonBatteryState & _msg);
50};
51
52} // namespace driver::sensors_esp32_driver
53
54#endif
Button Battery State class.
Definition: button_battery_state.hpp:27
driver for sensors_esp32
timeout library