F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
ApidEnumAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title ApidEnumAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for Apid enum
5 // ======================================================================
6 
7 #ifndef ComCfg_ApidEnumAc_HPP
8 #define ComCfg_ApidEnumAc_HPP
9 
10 #include "Fw/FPrimeBasicTypes.hpp"
11 #include "Fw/Types/Assert.hpp"
13 #include "Fw/Types/String.hpp"
14 
15 namespace ComCfg {
16 
18  class Apid :
19  public Fw::Serializable
20  {
21 
22  public:
23 
24  // ----------------------------------------------------------------------
25  // Types
26  // ----------------------------------------------------------------------
27 
29  using SerialType = U16;
30 
32  enum T {
57  };
58 
60  using t = enum T;
61 
62  public:
63 
64  // ----------------------------------------------------------------------
65  // Constants
66  // ----------------------------------------------------------------------
67 
68  enum {
73  };
74 
75  public:
76 
77  // ----------------------------------------------------------------------
78  // Constructors
79  // ----------------------------------------------------------------------
80 
82  Apid()
83  {
84  this->e = INVALID_UNINITIALIZED;
85  }
86 
89  const enum T e1
90  )
91  {
92  FW_ASSERT(isValid(e1), static_cast<FwAssertArgType>(e1));
93  this->e = e1;
94  }
95 
98  const SerialType e1
99  )
100  {
101  FW_ASSERT(isValid(e1), static_cast<FwAssertArgType>(e1));
102  this->e = static_cast<enum T>(e1);
103  }
104 
107  const Apid& obj
108  )
109  {
110  this->e = obj.e;
111 #ifdef BUILD_UT
112  this->m_serializeValueIsSet = obj.m_serializeValueIsSet;
113  this->m_serializeValue = obj.m_serializeValue;
114 #endif
115  }
116 
117  public:
118 
119  // ----------------------------------------------------------------------
120  // Operators
121  // ----------------------------------------------------------------------
122 
124  Apid& operator=(
125  const Apid& obj
126  );
127 
129  Apid& operator=(
130  SerialType e1
131  );
132 
134  Apid& operator=(
135  enum T e1
136  );
137 
139  operator enum T() const
140  {
141  return this->e;
142  }
143 
145  bool operator==(enum T e1) const
146  {
147  return this->e == e1;
148  }
149 
151  bool operator!=(enum T e1) const
152  {
153  return !(*this == e1);
154  }
155 
156 #ifdef BUILD_UT
157 
159  friend std::ostream& operator<<(
160  std::ostream& os,
161  const Apid& obj
162  );
163 
164 #endif
165 
166  public:
167 
168  // ----------------------------------------------------------------------
169  // Member functions
170  // ----------------------------------------------------------------------
171 
173  bool isValid() const;
174 
177  Fw::SerialBufferBase& buffer,
179  ) const;
180 
183  Fw::SerialBufferBase& buffer,
185  );
186 
187 #if FW_SERIALIZABLE_TO_STRING
188 
190  void toString(
191  Fw::StringBase& sb
192  ) const;
193 
194 #endif
195 
196 #ifdef BUILD_UT
197 
199  void setSerializeValue(
200  SerialType serializeValue
201  );
202 
203 #endif
204 
205  public:
206 
207  // ----------------------------------------------------------------------
208  // Static functions
209  // ----------------------------------------------------------------------
210 
212  static bool isValid(
213  SerialType serialTypeValue
214  );
215 
216  public:
217 
218  // ----------------------------------------------------------------------
219  // Public member variables
220  // ----------------------------------------------------------------------
221 
223  enum T e;
224 
225  private:
226 
227  // ----------------------------------------------------------------------
228  // Private member variables
229  // ----------------------------------------------------------------------
230 
231 #ifdef BUILD_UT
232 
238  bool m_serializeValueIsSet = false;
239 
241  SerialType m_serializeValue = 0;
242 
243 #endif
244 
245  };
246 
247 }
248 
249 #endif
Packetized telemetry packet type.
Definition: ApidEnumAc.hpp:42
enum T t
For backwards compatibility.
Definition: ApidEnumAc.hpp:60
bool operator==(enum T e1) const
Equality operator.
Definition: ApidEnumAc.hpp:145
Apid(const SerialType e1)
Constructor (serial representation value)
Definition: ApidEnumAc.hpp:97
Apid()
Constructor (default value of INVALID_UNINITIALIZED)
Definition: ApidEnumAc.hpp:82
U16 SerialType
The serial representation type.
Definition: ApidEnumAc.hpp:29
The size of the serial representation.
Definition: ApidEnumAc.hpp:70
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialize raw enum value from SerialType.
Definition: ApidEnumAc.cpp:93
Parameter value type - outgoing.
Definition: ApidEnumAc.hpp:48
Apid(const Apid &obj)
Copy constructor.
Definition: ApidEnumAc.hpp:106
SerializeStatus
forward declaration for string
Fw::SerializeStatus serializeTo(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const
Serialize raw enum value to SerialType.
Definition: ApidEnumAc.cpp:75
F Prime handshake.
Definition: ApidEnumAc.hpp:50
The number of enumerated constants.
Definition: ApidEnumAc.hpp:72
T
The raw enum type.
Definition: ApidEnumAc.hpp:32
Telemetry packet type - outgoing.
Definition: ApidEnumAc.hpp:36
bool operator!=(enum T e1) const
Inequality operator.
Definition: ApidEnumAc.hpp:151
Apid & operator=(const Apid &obj)
Copy assignment operator (object)
Definition: ApidEnumAc.cpp:19
F Prime unknown packet.
Definition: ApidEnumAc.hpp:52
enum T e
The raw enum value.
Definition: ApidEnumAc.hpp:223
Data Product packet type.
Definition: ApidEnumAc.hpp:44
Anything equal or higher value is invalid and should not be used.
Definition: ApidEnumAc.hpp:56
Apid(const enum T e1)
Constructor (user-provided value)
Definition: ApidEnumAc.hpp:88
bool isValid() const
Check raw enum value for validity.
Definition: ApidEnumAc.cpp:69
Per Space Packet Standard, all 1s (11bits) is reserved for Idle Packets.
Definition: ApidEnumAc.hpp:54
File type - incoming and outgoing.
Definition: ApidEnumAc.hpp:40
Endianness
#define FW_ASSERT(...)
Definition: Assert.hpp:14
APIDs are 11 bits in the Space Packet protocol, so we use U16. Max value 7FF.
Definition: ApidEnumAc.hpp:18
Big endian serialization.
Log type - outgoing.
Definition: ApidEnumAc.hpp:38
Command packet type - incoming.
Definition: ApidEnumAc.hpp:34