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 
20 namespace Svc {
21 
30 
32  friend class ActiveRateGroupTester;
33 
34  public:
36 
43  ActiveRateGroup(const char* compName);
44 
54 
55  void configure(U32 contexts[], FwIndexType numContexts);
56 
60 
62 
63  private:
72 
73  void CycleIn_handler(FwIndexType portNum, Os::RawTime& cycleStart);
74 
82 
83  void CycleIn_preMsgHook(FwIndexType portNum, Os::RawTime& cycleStart);
84 
91 
92  void PingIn_handler(FwIndexType portNum, U32 key);
93 
99 
100  void preamble();
101 
102  U32 m_cycles;
103  U32 m_maxTime;
104  volatile bool m_cycleStarted;
105  U32 m_contexts[CONNECTION_COUNT_MAX];
106  FwIndexType m_numContexts;
107  FwIndexType m_overrunThrottle;
108  U32 m_cycleSlips;
109 };
110 
111 } // namespace Svc
112 
113 #endif
ActiveRateGroup(const char *compName)
ActiveRateGroup constructor.
Executes a set of components as part of a rate group.
~ActiveRateGroup()
ActiveRateGroup destructor.
void configure(U32 contexts[], FwIndexType numContexts)
ActiveRateGroup configuration function.
static constexpr FwIndexType CONNECTION_COUNT_MAX
Auto-generated base for ActiveRateGroup component.
friend class ActiveRateGroupTester
PlatformIndexType FwIndexType
RateGroupDivider component implementation.