F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
Loading...
Searching...
No Matches
PolyDb.cpp
Go to the documentation of this file.
1/*
2 * PolyDbImpl.cpp
3 *
4 * Created on: May 13, 2014
5 * Author: Timothy Canham
6 */
7
9#include <Fw/Types/Assert.hpp>
10#include <FpConfig.hpp>
11
12namespace Svc {
13 PolyDb::PolyDb(const char* const name) : PolyDbComponentBase(name) {
14 // initialize all entries to stale
15 for (FwIndexType entry = 0; entry < Svc::PolyDbCfg::PolyDbEntry::NUM_CONSTANTS; entry++) {
16 this->m_db[entry].status = MeasurementStatus::STALE;
17 }
18 }
19
20 void PolyDb ::
21 getValue_handler(
22 NATIVE_INT_TYPE portNum,
23 const Svc::PolyDbCfg::PolyDbEntry& entry,
25 Fw::Time& time,
26 Fw::PolyType& val)
27 {
28 FW_ASSERT(entry.isValid(),entry.e);
29 status = this->m_db[entry.e].status;
30 time = this->m_db[entry.e].time;
31 val = this->m_db[entry.e].val;
32 }
33
34 void PolyDb ::
35 setValue_handler(
36 NATIVE_INT_TYPE portNum,
37 const Svc::PolyDbCfg::PolyDbEntry& entry,
39 Fw::Time& time,
40 Fw::PolyType& val)
41 {
42 FW_ASSERT(entry.isValid(),entry.e);
43 this->m_db[entry.e].status = status;
44 this->m_db[entry.e].time = time;
45 this->m_db[entry.e].val = val;
46 }
47
50
51}
#define FW_ASSERT(...)
Definition Assert.hpp:14
PlatformIntType NATIVE_INT_TYPE
Definition BasicTypes.h:55
PlatformIndexType FwIndexType
Definition FpConfig.h:25
C++-compatible configuration header for fprime configuration.
PolyDb is a database for storing telemetry for internal software use.
An enumeration for measurement status.
bool isValid() const
Check raw enum value for validity.
@ NUM_CONSTANTS
The number of enumerated constants.
T e
The raw enum value.
Auto-generated base for PolyDb component.
virtual ~PolyDb()
PolyDbImpl destructor.
Definition PolyDb.cpp:48
PolyDb(const char *const name)
PolyDbImpl constructor.
Definition PolyDb.cpp:13