F´ Flight Software - C/C++ Documentation  devel
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  public:
34 
41  ActiveRateGroup(const char* compName);
42 
52 
53  void configure(NATIVE_INT_TYPE contexts[], NATIVE_INT_TYPE numContexts);
54 
58 
60 
61  PRIVATE:
62 
71 
72  void CycleIn_handler(NATIVE_INT_TYPE portNum, Os::RawTime& cycleStart);
73 
81 
82  void CycleIn_preMsgHook(NATIVE_INT_TYPE portNum, Os::RawTime& cycleStart);
83 
90 
91  void PingIn_handler(NATIVE_INT_TYPE portNum, U32 key);
92 
98 
99  void preamble();
100 
101  U32 m_cycles;
102  U32 m_maxTime;
103  volatile bool m_cycleStarted;
105  NATIVE_INT_TYPE m_numContexts;
106  NATIVE_INT_TYPE m_overrunThrottle;
107  U32 m_cycleSlips;
108  };
109 
110 }
111 
112 #endif
PlatformIntType NATIVE_INT_TYPE
Definition: BasicTypes.h:55
Auto-generated base for ActiveRateGroup component.
Executes a set of components as part of a rate group.
static constexpr NATIVE_INT_TYPE CONNECTION_COUNT_MAX
void configure(NATIVE_INT_TYPE contexts[], NATIVE_INT_TYPE numContexts)
ActiveRateGroup configuration function.
~ActiveRateGroup()
ActiveRateGroup destructor.
ActiveRateGroup(const char *compName)
ActiveRateGroup constructor.