RokubiminiSerialBusManager.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 // std
4 #include <memory>
5 #include <mutex>
6 
7 // rokubimini
9 
11 #include <utility>
12 namespace rokubimini
13 {
14 namespace serial
15 {
26 {
27 public:
34  RokubiminiSerialBusManager() = delete;
35 
42  explicit RokubiminiSerialBusManager(const std::string& busName, NodeHandlePtr nh)
43  : RokubiminiBusManager(busName, std::move(nh)){ /* do nothing */ };
44 
53  /* do nothing */
54  };
55 
62  ~RokubiminiSerialBusManager() override = default;
63 
78  bool addRokubiminiToBus(const std::shared_ptr<RokubiminiSerial>& rokubimini) const;
79 
86  void setConfigMode() override;
87 
94  void setRunMode() override;
95 
103  bool startupCommunication() override;
104 
116  bool createRokubimini(const std::string& rokubiminiName) override;
117 
124  bool loadBusParameters() override;
125 
132  double loadTimeStep() override;
133 
141  void publishBusManagerRosDiagnostics() override{ /* do nothing */ };
142 
143 protected:
149  std::string serialPort_;
150 
156  uint32_t baudRate_;
157 
163  double timeStep_;
164 
165 private:
172  void fetchTimeStep();
173 };
174 
175 using RokubiminiSerialBusManagerPtr = std::shared_ptr<RokubiminiSerialBusManager>;
176 
177 } // namespace serial
178 } // namespace rokubimini
rokubimini::serial::RokubiminiSerialBusManagerPtr
std::shared_ptr< RokubiminiSerialBusManager > RokubiminiSerialBusManagerPtr
Definition: RokubiminiSerialBusManager.hpp:175
rokubimini::serial::RokubiminiSerialBusManager::loadTimeStep
double loadTimeStep() override
Loads the internal timeStep_ variable.
Definition: RokubiminiSerialBusManager.cpp:8
rokubimini::serial::RokubiminiSerialBusManager::setConfigMode
void setConfigMode() override
Sets all the serial devices in config mode.
Definition: RokubiminiSerialBusManager.cpp:79
rokubimini::serial::RokubiminiSerialBusManager::RokubiminiSerialBusManager
RokubiminiSerialBusManager(const NodeHandlePtr &nh)
Constructor with initialization list for the NodeHandle.
Definition: RokubiminiSerialBusManager.hpp:51
rokubimini::serial::RokubiminiSerialBusManager::~RokubiminiSerialBusManager
~RokubiminiSerialBusManager() override=default
Default Destructor.
Definition: RokubiminiSerialBusManager.hpp:54
bota_node::Node::NodeHandlePtr
std::shared_ptr< ros::NodeHandle > NodeHandlePtr
rokubimini::serial::RokubiminiSerialBusManager::timeStep_
double timeStep_
The time step of publishing loop.
Definition: RokubiminiSerialBusManager.hpp:163
rokubimini::serial::RokubiminiSerialBusManager::startupCommunication
bool startupCommunication() override
Initializes the communication with the serial devices.
Definition: RokubiminiSerialBusManager.cpp:58
rokubimini::serial::RokubiminiSerialBusManager::publishBusManagerRosDiagnostics
void publishBusManagerRosDiagnostics() override
Publish the ROS Diagnostics of the Bus Manager.
Definition: RokubiminiSerialBusManager.hpp:141
rokubimini::serial::RokubiminiSerialBusManager::loadBusParameters
bool loadBusParameters() override
Loads serial bus parameters from parameter server.
Definition: RokubiminiSerialBusManager.cpp:35
rokubimini::serial::RokubiminiSerialBusManager::baudRate_
uint32_t baudRate_
The baud rate of the bus.
Definition: RokubiminiSerialBusManager.hpp:156
rokubimini::serial::RokubiminiSerialBusManager::addRokubiminiToBus
bool addRokubiminiToBus(const std::shared_ptr< RokubiminiSerial > &rokubimini) const
Creates a RokubiminiSerial Implementation object for the.
Definition: RokubiminiSerialBusManager.cpp:50
rokubimini::serial::RokubiminiSerialBusManager::RokubiminiSerialBusManager
RokubiminiSerialBusManager(const std::string &busName, NodeHandlePtr nh)
Constructor with initialization list for the name and NodeHandle.
Definition: RokubiminiSerialBusManager.hpp:42
rokubimini::serial::RokubiminiSerialBusManager
Inherits from RokubiminiBusManager. It's used for managing the serial bus.
Definition: RokubiminiSerialBusManager.hpp:25
rokubimini::serial::RokubiminiSerialBusManager::fetchTimeStep
void fetchTimeStep()
Fetches the 'time_step' from the Parameter Server and stores it in the protected 'timeStep_' variable...
Definition: RokubiminiSerialBusManager.cpp:12
rokubimini::RokubiminiBusManager::addRokubiminiToBus
virtual bool addRokubiminiToBus(const std::shared_ptr< Rokubimini > &rokubimini) const
rokubimini
System dependencies.
RokubiminiSerial.hpp
rokubimini::serial::RokubiminiSerialBusManager::serialPort_
std::string serialPort_
The name of serial port.
Definition: RokubiminiSerialBusManager.hpp:149
rokubimini::serial::RokubiminiSerialBusManager::createRokubimini
bool createRokubimini(const std::string &rokubiminiName) override
Creates an RokubiminiSerial instance.
Definition: RokubiminiSerialBusManager.cpp:22
rokubimini::serial::RokubiminiSerialBusManager::RokubiminiSerialBusManager
RokubiminiSerialBusManager()=delete
Default constructor of RokubiminiSerialBusManager.
std
rokubimini::RokubiminiBusManager
rokubimini::serial::RokubiminiSerialBusManager::setRunMode
void setRunMode() override
Sets all the serial devices in run mode.
Definition: RokubiminiSerialBusManager.cpp:90
BusManager.hpp


rokubimini_serial
Author(s):
autogenerated on Sat Apr 15 2023 02:53:58