F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
ActiveRateGroup.hpp
Go to the documentation of this file.
1 /*
2  * \author: Tim Canham
3  * \file:
4  * \brief
5  *
6  * This file implements the ActiveRateGroup component,
7  * which invokes a set of components the comprise the rate group.
8  *
9  * Copyright 2014-2022, by the California Institute of Technology.
10  * ALL RIGHTS RESERVED. United States Government Sponsorship
11  * acknowledged.
12  *
13  */
14 
15 #ifndef SVC_ACTIVERATEGROUP_HPP
16 #define SVC_ACTIVERATEGROUP_HPP
17 
19 #include <Fw/Deprecate.hpp>
21 
22 namespace Svc {
23 
32 
34  friend class ActiveRateGroupTester;
35 
36  public:
38 
41 
48  ActiveRateGroup(const char* compName);
49 
57 
58  void configure(const ContextArray& contexts);
59 
69 
70  DEPRECATED(void configure(const U32 contexts[], const FwIndexType numContexts),
71  "Use configure(const ActiveRateGroup::ContextArray& contexts) instead");
72 
76 
78 
79  private:
88 
89  void CycleIn_handler(FwIndexType portNum, Os::RawTime& cycleStart);
90 
98 
99  void CycleIn_preMsgHook(FwIndexType portNum, Os::RawTime& cycleStart);
100 
107 
108  void PingIn_handler(FwIndexType portNum, U32 key);
109 
115 
116  void preamble();
117 
118  U32 m_cycles;
119  U32 m_maxTime;
120  volatile bool m_cycleStarted;
121  U32 m_contexts[CONNECTION_COUNT_MAX];
122  FwIndexType m_numContexts;
123  FwIndexType m_overrunThrottle;
124  U32 m_cycleSlips;
125 };
126 
127 } // namespace Svc
128 
129 #endif
void configure(const ContextArray &contexts)
ActiveRateGroup configuration function.
ActiveRateGroup(const char *compName)
ActiveRateGroup constructor.
DEPRECATED(void configure(const U32 contexts[], const FwIndexType numContexts), "Use configure(const ActiveRateGroup::ContextArray& contexts) instead")
ActiveRateGroup configuration function.
Executes a set of components as part of a rate group.
~ActiveRateGroup()
ActiveRateGroup destructor.
static constexpr FwIndexType CONNECTION_COUNT_MAX
Auto-generated base for ActiveRateGroup component.
friend class ActiveRateGroupTester
PlatformIndexType FwIndexType
RateGroupDivider component implementation.