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 
34 
35  public:
37 
44  ActiveRateGroup(const char* compName);
45 
55 
56  void configure(U32 contexts[], FwIndexType numContexts);
57 
61 
63 
64  private:
65 
74 
75  void CycleIn_handler(FwIndexType portNum, Os::RawTime& cycleStart);
76 
84 
85  void CycleIn_preMsgHook(FwIndexType portNum, Os::RawTime& cycleStart);
86 
93 
94  void PingIn_handler(FwIndexType portNum, U32 key);
95 
101 
102  void preamble();
103 
104  U32 m_cycles;
105  U32 m_maxTime;
106  volatile bool m_cycleStarted;
107  U32 m_contexts[CONNECTION_COUNT_MAX];
108  FwIndexType m_numContexts;
109  FwIndexType m_overrunThrottle;
110  U32 m_cycleSlips;
111  };
112 
113 }
114 
115 #endif
ActiveRateGroup(const char *compName)
ActiveRateGroup constructor.
friend class ActiveRateGroupImplTester
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.
PlatformIndexType FwIndexType
RateGroupDivider component implementation.