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 {
55  };
56 
58  using t = enum T;
59 
60  public:
61 
62  // ----------------------------------------------------------------------
63  // Constants
64  // ----------------------------------------------------------------------
65 
66  enum {
71  };
72 
73  public:
74 
75  // ----------------------------------------------------------------------
76  // Constructors
77  // ----------------------------------------------------------------------
78 
80  Apid()
81  {
82  this->e = INVALID_UNINITIALIZED;
83  }
84 
87  const enum T e1
88  )
89  {
90  FW_ASSERT(isValid(e1), static_cast<FwAssertArgType>(e1));
91  this->e = e1;
92  }
93 
96  const Apid& obj
97  )
98  {
99  this->e = obj.e;
100 #ifdef BUILD_UT
101  this->m_serializeValueIsSet = obj.m_serializeValueIsSet;
102  this->m_serializeValue = obj.m_serializeValue;
103 #endif
104  }
105 
106  public:
107 
108  // ----------------------------------------------------------------------
109  // Operators
110  // ----------------------------------------------------------------------
111 
113  Apid& operator=(
114  const Apid& obj
115  );
116 
118  Apid& operator=(
119  enum T e1
120  );
121 
123  operator enum T() const
124  {
125  return this->e;
126  }
127 
129  bool operator==(enum T e1) const
130  {
131  return this->e == e1;
132  }
133 
135  bool operator!=(enum T e1) const
136  {
137  return !(*this == e1);
138  }
139 
140 #ifdef BUILD_UT
141 
143  friend std::ostream& operator<<(
144  std::ostream& os,
145  const Apid& obj
146  );
147 
148 #endif
149 
150  public:
151 
152  // ----------------------------------------------------------------------
153  // Member functions
154  // ----------------------------------------------------------------------
155 
157  bool isValid() const;
158 
161  Fw::SerialBufferBase& buffer,
163  ) const;
164 
167  Fw::SerialBufferBase& buffer,
169  );
170 
171 #if FW_SERIALIZABLE_TO_STRING
172 
174  void toString(
175  Fw::StringBase& sb
176  ) const;
177 
178 #endif
179 
180 #ifdef BUILD_UT
181 
183  void setSerializeValue(
184  SerialType serializeValue
185  );
186 
187 #endif
188 
189  public:
190 
191  // ----------------------------------------------------------------------
192  // Static functions
193  // ----------------------------------------------------------------------
194 
196  static bool isValid(
197  SerialType serialTypeValue
198  );
199 
200  public:
201 
202  // ----------------------------------------------------------------------
203  // Public member variables
204  // ----------------------------------------------------------------------
205 
207  enum T e;
208 
209  private:
210 
211  // ----------------------------------------------------------------------
212  // Private member variables
213  // ----------------------------------------------------------------------
214 
215 #ifdef BUILD_UT
216 
222  bool m_serializeValueIsSet = false;
223 
225  SerialType m_serializeValue = 0;
226 
227 #endif
228 
229  };
230 
231 }
232 
233 #endif
Packetized telemetry packet type.
Definition: ApidEnumAc.hpp:42
enum T t
For backwards compatibility.
Definition: ApidEnumAc.hpp:58
bool operator==(enum T e1) const
Equality operator.
Definition: ApidEnumAc.hpp:129
The number of enumerated constants.
Definition: ApidEnumAc.hpp:70
Apid()
Constructor (default value of INVALID_UNINITIALIZED)
Definition: ApidEnumAc.hpp:80
U16 SerialType
The serial representation type.
Definition: ApidEnumAc.hpp:29
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialize raw enum value from SerialType.
Definition: ApidEnumAc.cpp:81
Apid(const Apid &obj)
Copy constructor.
Definition: ApidEnumAc.hpp:95
SerializeStatus
forward declaration for string
The size of the serial representation.
Definition: ApidEnumAc.hpp:68
Fw::SerializeStatus serializeTo(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const
Serialize raw enum value to SerialType.
Definition: ApidEnumAc.cpp:63
F Prime handshake.
Definition: ApidEnumAc.hpp:48
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:135
Apid & operator=(const Apid &obj)
Copy assignment operator (object)
Definition: ApidEnumAc.cpp:19
F Prime unknown packet.
Definition: ApidEnumAc.hpp:50
enum T e
The raw enum value.
Definition: ApidEnumAc.hpp:207
Data Product packet type.
Definition: ApidEnumAc.hpp:44
Anything equal or higher value is invalid and should not be used.
Definition: ApidEnumAc.hpp:54
Apid(const enum T e1)
Constructor (user-provided value)
Definition: ApidEnumAc.hpp:86
bool isValid() const
Check raw enum value for validity.
Definition: ApidEnumAc.cpp:57
Per Space Packet Standard, all 1s (11bits) is reserved for Idle Packets.
Definition: ApidEnumAc.hpp:52
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