SMACC2
Loading...
Searching...
No Matches
smacc2_client_library
cl_mission_tracker
include
cl_mission_tracker
cl_mission_tracker.hpp
Go to the documentation of this file.
1
// Copyright 2025 Robosoft 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
*
17
* Authors: Pablo Inigo Blasco, Brett Aldrich
18
*
19
******************************************************************************************************************/
20
#pragma once
21
22
#include <
smacc2/smacc.hpp
>
23
#include <
smacc2/smacc_client.hpp
>
24
25
#include <
cl_mission_tracker/components/cp_decision_manager.hpp
>
26
27
namespace
cl_mission_tracker
28
{
29
30
// Event: Battery load decision
31
template
<
typename
AsyncCB,
typename
Orthogonal>
32
struct
EvBatteryLoad
:
sc::event
<EvBatteryLoad<AsyncCB, Orthogonal>>
33
{
34
};
35
36
// Event: Radial motion decision
37
template
<
typename
AsyncCB,
typename
Orthogonal>
38
struct
EvRadialMotion
:
sc::event
<EvRadialMotion<AsyncCB, Orthogonal>>
39
{
40
};
41
42
// Event: S-pattern decision
43
template
<
typename
AsyncCB,
typename
Orthogonal>
44
struct
EvSPattern
:
sc::event
<EvSPattern<AsyncCB, Orthogonal>>
45
{
46
};
47
48
// Event: F-pattern decision
49
template
<
typename
AsyncCB,
typename
Orthogonal>
50
struct
EvFPattern
:
sc::event
<EvFPattern<AsyncCB, Orthogonal>>
51
{
52
};
53
65
class
ClMissionTracker
:
public
smacc2::ISmaccClient
66
{
67
public
:
68
ClMissionTracker
() {}
69
70
virtual
~ClMissionTracker
() {}
71
72
template
<
typename
TOrthogonal,
typename
TClient>
73
void
onComponentInitialization
()
74
{
75
// Create decision manager component
76
this->
createComponent<CpDecisionManager, TOrthogonal, ClMissionTracker>
();
77
}
78
};
79
80
}
// namespace cl_mission_tracker
boost::statechart::event
cl_mission_tracker::ClMissionTracker
Client for mission tracking and decision sequencing.
Definition
cl_mission_tracker.hpp:66
cl_mission_tracker::ClMissionTracker::onComponentInitialization
void onComponentInitialization()
Definition
cl_mission_tracker.hpp:73
cl_mission_tracker::ClMissionTracker::~ClMissionTracker
virtual ~ClMissionTracker()
Definition
cl_mission_tracker.hpp:70
cl_mission_tracker::ClMissionTracker::ClMissionTracker
ClMissionTracker()
Definition
cl_mission_tracker.hpp:68
smacc2::ISmaccClient
Definition
smacc_client.hpp:45
smacc2::ISmaccClient::createComponent
SmaccComponentType * createComponent(TArgs... targs)
Definition
smacc_client_impl.hpp:133
cp_decision_manager.hpp
cl_mission_tracker
Definition
cl_mission_tracker.hpp:28
smacc.hpp
smacc_client.hpp
cl_mission_tracker::EvBatteryLoad
Definition
cl_mission_tracker.hpp:33
cl_mission_tracker::EvFPattern
Definition
cl_mission_tracker.hpp:51
cl_mission_tracker::EvRadialMotion
Definition
cl_mission_tracker.hpp:39
cl_mission_tracker::EvSPattern
Definition
cl_mission_tracker.hpp:45
Generated by
1.12.0