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
TesterHandlers.cpp
Go to the documentation of this file.
1// ======================================================================
2// \title TesterHandlers.cpp
3// \author T. Chieu
4// \brief cpp file for tester handler functions
5//
6// \copyright
7// Copyright (C) 2009-2023 California Institute of Technology.
8// ALL RIGHTS RESERVED. United States Government Sponsorship
9// acknowledged.
10//
11// ======================================================================
12
13#include "test/ut/Tester.hpp"
14
15// ----------------------------------------------------------------------
16// Handlers for typed from ports
17// ----------------------------------------------------------------------
18
19void Tester ::from_arrayArgsOut_handler(const NATIVE_INT_TYPE portNum,
20 const FormalParamArray& a,
21 FormalParamArray& aRef) {
22 this->pushFromPortEntry_arrayArgsOut(a, aRef);
23}
24
25FormalParamArray Tester ::from_arrayReturnOut_handler(const NATIVE_INT_TYPE portNum,
26 const FormalParamArray& a,
27 FormalParamArray& aRef) {
28 this->pushFromPortEntry_arrayReturnOut(a, aRef);
29 return arrayReturnVal.val;
30}
31
32void Tester ::from_enumArgsOut_handler(const NATIVE_INT_TYPE portNum,
33 const FormalParamEnum& en,
34 FormalParamEnum& enRef) {
35 this->pushFromPortEntry_enumArgsOut(en, enRef);
36}
37
38FormalParamEnum Tester ::from_enumReturnOut_handler(const NATIVE_INT_TYPE portNum,
39 const FormalParamEnum& en,
40 FormalParamEnum& enRef) {
41 this->pushFromPortEntry_enumReturnOut(en, enRef);
42 return enumReturnVal.val;
43}
44
45void Tester ::from_noArgsOut_handler(const NATIVE_INT_TYPE portNum) {
46 this->pushFromPortEntry_noArgsOut();
47}
48
49bool Tester ::from_noArgsReturnOut_handler(const NATIVE_INT_TYPE portNum) {
50 this->pushFromPortEntry_noArgsReturnOut();
51 return noParamReturnVal.val;
52}
53
54void Tester ::from_primitiveArgsOut_handler(const NATIVE_INT_TYPE portNum,
55 U32 u32,
56 U32& u32Ref,
57 F32 f32,
58 F32& f32Ref,
59 bool b,
60 bool& bRef) {
61 this->pushFromPortEntry_primitiveArgsOut(u32, u32Ref, f32, f32Ref, b, bRef);
62}
63
64U32 Tester ::from_primitiveReturnOut_handler(const NATIVE_INT_TYPE portNum,
65 U32 u32,
66 U32& u32Ref,
67 F32 f32,
68 F32& f32Ref,
69 bool b,
70 bool& bRef) {
71 this->pushFromPortEntry_primitiveReturnOut(u32, u32Ref, f32, f32Ref, b, bRef);
72 return primitiveReturnVal.val;
73}
74
75void Tester ::from_stringArgsOut_handler(const NATIVE_INT_TYPE portNum,
76 const str80String& str80,
77 str80RefString& str80Ref,
78 const str100String& str100,
79 str100RefString& str100Ref) {
80 this->pushFromPortEntry_stringArgsOut(str80, str80Ref, str100, str100Ref);
81}
82
83void Tester ::from_structArgsOut_handler(const NATIVE_INT_TYPE portNum,
84 const FormalParamStruct& s,
85 FormalParamStruct& sRef) {
86 this->pushFromPortEntry_structArgsOut(s, sRef);
87}
88
89FormalParamStruct Tester ::from_structReturnOut_handler(const NATIVE_INT_TYPE portNum,
90 const FormalParamStruct& s,
91 FormalParamStruct& sRef) {
92 this->pushFromPortEntry_structReturnOut(s, sRef);
93 return structReturnVal.val;
94}
95
96// ----------------------------------------------------------------------
97// Handlers for serial from ports
98// ----------------------------------------------------------------------
99
100void Tester ::from_serialOut_handler(NATIVE_INT_TYPE portNum,
102) {
103 Fw::SerializeStatus status;
104
105 switch (portNum) {
106 case SerialPortIndex::NO_ARGS:
107 status = Fw::FW_SERIALIZE_OK;
108 break;
109
110 case SerialPortIndex::PRIMITIVE:
111 status = Buffer.copyRaw(this->primitiveBuf, Buffer.getBuffCapacity());
112 break;
113
114 case SerialPortIndex::STRING:
115 status = Buffer.copyRaw(this->stringBuf, Buffer.getBuffCapacity());
116 break;
117
118 case SerialPortIndex::ENUM:
119 status = Buffer.copyRaw(this->enumBuf, Buffer.getBuffCapacity());
120 break;
121
122 case SerialPortIndex::ARRAY:
123 status = Buffer.copyRaw(this->arrayBuf, Buffer.getBuffCapacity());
124 break;
125
126 case SerialPortIndex::STRUCT:
127 status = Buffer.copyRaw(this->structBuf, Buffer.getBuffCapacity());
128 break;
129 }
130
131 ASSERT_EQ(status, Fw::FW_SERIALIZE_OK);
132}
133
134// ----------------------------------------------------------------------
135// Handlers for special from ports
136// ----------------------------------------------------------------------
137
138void Tester ::cmdResponseIn(const FwOpcodeType opCode, const U32 cmdSeq, const Fw::CmdResponse response) {
139 this->cmdResp = response;
140}
PlatformIntType NATIVE_INT_TYPE
Definition BasicTypes.h:51
float F32
32-bit floating point
Definition BasicTypes.h:45
U32 FwOpcodeType
Definition FpConfig.h:56
virtual NATIVE_UINT_TYPE getBuffCapacity() const =0
returns capacity, not current size, of buffer
SerializeStatus copyRaw(SerializeBufferBase &dest, NATIVE_UINT_TYPE size)
directly copies buffer without looking for a size in the stream.
SerializeStatus
forward declaration for string
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.