F´ Flight Software - C/C++ Documentation
NASA-v2.0.1
A framework for building embedded system applications to NASA flight quality standards.
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Functions
a
b
c
d
g
h
i
m
r
s
t
v
w
Variables
Typedefs
Enumerations
Enumerator
a
b
f
h
i
n
o
p
s
v
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
~
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
~
Variables
b
d
e
f
g
h
i
l
m
n
p
q
s
t
u
v
w
Typedefs
Enumerations
Enumerator
a
b
c
d
e
f
g
h
l
m
n
o
p
q
r
s
t
w
Related Functions
Files
File List
File Members
All
_
a
b
c
d
f
g
h
i
k
l
m
n
p
r
s
t
u
v
Functions
f
i
m
s
u
Variables
Typedefs
Enumerations
Enumerator
c
d
f
m
p
r
s
t
Macros
a
c
d
f
g
h
i
k
l
m
n
p
r
s
t
u
v
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
TlmChanImplGet.cpp
Go to the documentation of this file.
1
/*
2
* TelemChanImpl.cpp
3
*
4
* Created on: Mar 28, 2014
5
* Author: tcanham
6
*/
7
8
#include <
Svc/TlmChan/TlmChanImpl.hpp
>
9
#include <cstring>
10
#include <
Fw/Types/BasicTypes.hpp
>
11
#include <
Fw/Types/Assert.hpp
>
12
13
#include <stdio.h>
14
15
namespace
Svc
{
16
17
void
TlmChanImpl::TlmGet_handler(
NATIVE_INT_TYPE
portNum,
FwChanIdType
id
,
Fw::Time
&timeTag,
Fw::TlmBuffer
&val) {
18
19
// Compute index for entry
20
21
NATIVE_UINT_TYPE
index = this->
doHash
(
id
);
22
23
// Search to see if channel has been stored
24
TlmEntry *entryToUse = this->m_tlmEntries[this->m_activeBuffer].slots[index];
25
for
(
NATIVE_UINT_TYPE
bucket = 0; bucket < TLMCHAN_HASH_BUCKETS; bucket++) {
26
if
(entryToUse) {
// If bucket exists, check id
27
if
(entryToUse->id ==
id
) {
28
break
;
29
}
else
{
// otherwise go to next bucket
30
entryToUse = entryToUse->next;
31
}
32
}
else
{
// no buckets left to search
33
break
;
34
}
35
}
36
37
if
(entryToUse) {
38
val = entryToUse->buffer;
39
timeTag = entryToUse->lastUpdate;
40
}
else
{
// requested entry may not be written yet; empty buffer
41
val.
resetSer
();
42
}
43
44
}
45
}
Fw::Time
Definition:
Time.hpp:10
TlmChanImpl.hpp
Component that stores telemetry channel values.
Fw::TlmBuffer
Definition:
TlmBuffer.hpp:21
FwChanIdType
#define FwChanIdType
Type representation for a channel id.
Definition:
FpConfig.hpp:66
Fw::SerializeBufferBase::resetSer
void resetSer(void)
reset to beginning of buffer to reuse for serialization
Definition:
Serializable.cpp:565
Assert.hpp
NATIVE_UINT_TYPE
unsigned int NATIVE_UINT_TYPE
native unsigned integer type declaration
Definition:
BasicTypes.hpp:30
Svc
Definition:
ActiveRateGroupImplCfg.hpp:18
BasicTypes.hpp
Declares ISF basic types.
NATIVE_INT_TYPE
int NATIVE_INT_TYPE
native integer type declaration
Definition:
BasicTypes.hpp:29
Svc::TlmChanImpl::doHash
virtual NATIVE_UINT_TYPE doHash(FwChanIdType id)
Definition:
TlmChanImpl.cpp:61
Svc
TlmChan
TlmChanImplGet.cpp
Generated by
1.8.17