F´ Flight Software - C/C++ Documentation devel
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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
20namespace Svc {
21
30
32 public:
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
void init()
Object initializer.
Definition ObjBase.cpp:27
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.
Serializable class for carrying timer values.
Definition TimerVal.hpp:22