23#include <boost/thread.hpp>
25#include <smacc2_msgs/msg/smacc_status.hpp>
50 template <
typename EventType>
53 boost::intrusive_ptr<EventType> weakPtrEvent = ev;
57 rclcpp::Node::SharedPtr
getNode();
79 rclcpp::Publisher<smacc2_msgs::msg::SmaccStatus>::SharedPtr
statusPub_;
95template <
typename StateMachineType>
105 SmaccFifoScheduler::processor_handle sm =
106 scheduler1.create_processor<StateMachineType>(&signalDetector);
111 scheduler1.initiate_processor(sm);
114 boost::thread otherThread(boost::bind(&sc::fifo_scheduler<>::operator(), &scheduler1, 0));
SmaccFifoScheduler * scheduler_
boost::thread signalDetectorThread_
void postEvent(EventType *ev)
void initialize(ISmaccStateMachine *stateMachine)
SignalDetector(SmaccFifoScheduler *scheduler)
std::atomic< unsigned long > lastState_
std::vector< ISmaccUpdatable * > updatableStateElements_
rclcpp::Logger getLogger()
rclcpp::Node::SharedPtr getNode()
SmaccFifoScheduler::processor_handle processorHandle_
std::vector< ISmaccUpdatable * > updatableClients_
void setProcessorHandle(SmaccFifoScheduler::processor_handle processorHandle)
rclcpp::Publisher< smacc2_msgs::msg::SmaccStatus >::SharedPtr statusPub_
void findUpdatableStateElements(ISmaccState *currentState)
void findUpdatableClientsAndComponents()
ISmaccStateMachine * smaccStateMachine_
std::atomic< bool > initialized_
boost::statechart::fifo_scheduler< SmaccFifoWorker, SmaccAllocator > SmaccFifoScheduler