ros2_canopen  master
C++ ROS CANopen Library
state.hpp
Go to the documentation of this file.
1 #ifndef CANOPEN_402_DRIVER_STATE_HPP
2 #define CANOPEN_402_DRIVER_STATE_HPP
3 
4 #include <chrono>
5 #include <condition_variable>
6 #include <mutex>
7 
8 namespace ros2_canopen
9 {
10 class State402
11 {
12 public:
14  {
18  SW_Fault = 3,
24  SW_Remote = 9,
31  };
33  {
34  Unknown = 0,
35  Start = 0,
43  Fault = 8,
44  };
46  InternalState read(uint16_t sw);
48  const std::chrono::steady_clock::time_point & abstime, InternalState & state);
49  State402() : state_(Unknown) {}
50 
51 private:
52  std::condition_variable cond_;
53  std::mutex mutex_;
54  InternalState state_;
55 };
56 } // namespace ros2_canopen
57 
58 #endif // CANOPEN_402_DRIVER_STATE_HPP
Definition: state.hpp:11
bool waitForNewState(const std::chrono::steady_clock::time_point &abstime, InternalState &state)
State402()
Definition: state.hpp:49
InternalState getState()
StatusWord
Definition: state.hpp:14
@ SW_Warning
Definition: state.hpp:22
@ SW_Switch_on_disabled
Definition: state.hpp:21
@ SW_Target_reached
Definition: state.hpp:25
@ SW_Operation_enabled
Definition: state.hpp:17
@ SW_Manufacturer_specific0
Definition: state.hpp:23
@ SW_Manufacturer_specific2
Definition: state.hpp:30
@ SW_Quick_stop
Definition: state.hpp:20
@ SW_Voltage_enabled
Definition: state.hpp:19
@ SW_Manufacturer_specific1
Definition: state.hpp:29
@ SW_Internal_limit
Definition: state.hpp:26
@ SW_Operation_mode_specific0
Definition: state.hpp:27
@ SW_Switched_On
Definition: state.hpp:16
@ SW_Remote
Definition: state.hpp:24
@ SW_Operation_mode_specific1
Definition: state.hpp:28
@ SW_Ready_To_Switch_On
Definition: state.hpp:15
@ SW_Fault
Definition: state.hpp:18
InternalState read(uint16_t sw)
InternalState
Definition: state.hpp:33
@ Start
Definition: state.hpp:35
@ Ready_To_Switch_On
Definition: state.hpp:38
@ Operation_Enable
Definition: state.hpp:40
@ Fault_Reaction_Active
Definition: state.hpp:42
@ Fault
Definition: state.hpp:43
@ Unknown
Definition: state.hpp:34
@ Quick_Stop_Active
Definition: state.hpp:41
@ Switched_On
Definition: state.hpp:39
@ Switch_On_Disabled
Definition: state.hpp:37
@ Not_Ready_To_Switch_On
Definition: state.hpp:36
Definition: configuration_manager.hpp:28