F´ Flight Software - C/C++ Documentation NASA-v1.6.0
A framework for building embedded system applications to NASA flight quality standards.
Loading...
Searching...
No Matches
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
18#include <Svc/ActiveRateGroup/ActiveRateGroupComponentAc.hpp>
19
20namespace Svc {
21
30
31 class ActiveRateGroup : public ActiveRateGroupComponentBase {
32 public:
33 static constexpr NATIVE_INT_TYPE CONNECTION_COUNT_MAX = NUM_RATEGROUPMEMBEROUT_OUTPUT_PORTS;
34
41 ActiveRateGroup(const char* compName);
42
50
51 void init(NATIVE_INT_TYPE queueDepth, NATIVE_INT_TYPE instance);
52
62
63 void configure(NATIVE_INT_TYPE contexts[], NATIVE_INT_TYPE numContexts);
64
68
70
71 PRIVATE:
72
81
82 void CycleIn_handler(NATIVE_INT_TYPE portNum, Svc::TimerVal& cycleStart);
83
91
92 void CycleIn_preMsgHook(NATIVE_INT_TYPE portNum, Svc::TimerVal& cycleStart);
93
100
101 void PingIn_handler(NATIVE_INT_TYPE portNum, U32 key);
102
108
109 void preamble();
110
111 U32 m_cycles;
112 U32 m_maxTime;
113 volatile bool m_cycleStarted;
115 NATIVE_INT_TYPE m_numContexts;
116 NATIVE_INT_TYPE m_overrunThrottle;
117 U32 m_cycleSlips;
118 };
119
120}
121
122#endif
PlatformIntType NATIVE_INT_TYPE
Definition BasicTypes.h:51
Executes a set of components as part of a rate group.
static constexpr NATIVE_INT_TYPE CONNECTION_COUNT_MAX
void init(NATIVE_INT_TYPE queueDepth, NATIVE_INT_TYPE instance)
ActiveRateGroup initialization function.
void configure(NATIVE_INT_TYPE contexts[], NATIVE_INT_TYPE numContexts)
ActiveRateGroup configuration function.
~ActiveRateGroup()
ActiveRateGroup destructor.
Serializable class for carrying timer values.
Definition TimerVal.hpp:22