SMACC2
sm_coretest_transition_speed_1.hpp
Go to the documentation of this file.
1// Copyright 2021 RobosoftAI Inc.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15//
16// Author: Denis Štogl (template)
17//
18
19#pragma once
20
21#include <memory>
22
23#include "rclcpp/rclcpp.hpp"
24#include "smacc2/smacc.hpp"
25
27{
28//STATES
29struct State1;
30struct State2;
31
32//VARIABLES - shared between states (using "_<name>_"-syntax to make this obvious)
33static unsigned int _counter_ = 1;
34std::shared_ptr<rclcpp::Node> _node_;
35rclcpp::Time _start_time_;
36
37unsigned int _sum_of_iterations_ = 0.0;
39
40//--------------------------------------------------------------------
41//STATE_MACHINE
43: public smacc2::SmaccStateMachineBase<SmCoretestTransitionSpeed1, State1>
44{
45 using SmaccStateMachineBase::SmaccStateMachineBase;
46
47 void onInitialize() override
48 {
49 _node_ = std::make_shared<rclcpp::Node>("sm_coretest_transition_speed_1");
50 _start_time_ = _node_->now();
51 }
52};
53
54} // namespace sm_coretest_transition_speed_1
55
56#include "states/st_state_1.hpp"
57#include "states/st_state_2.hpp"
std::shared_ptr< rclcpp::Node > _node_
void onInitialize() override
this function should be implemented by the user to create the orthogonals