F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
GpioStatusEnumAc.cpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title GpioStatusEnumAc.cpp
3 // \author Generated by fpp-to-cpp
4 // \brief cpp file for GpioStatus enum
5 // ======================================================================
6 
7 #include <cstring>
8 #include <limits>
9 
10 #include "Fw/Types/Assert.hpp"
12 
13 namespace Drv {
14 
15  // ----------------------------------------------------------------------
16  // Operators
17  // ----------------------------------------------------------------------
18 
19  GpioStatus& GpioStatus ::
21  {
22  this->e = obj.e;
23  return *this;
24  }
25 
28  {
29  this->e = e1;
30  return *this;
31  }
32 
33 #ifdef BUILD_UT
34 
35  std::ostream& operator<<(std::ostream& os, const GpioStatus& obj) {
36  Fw::String s;
37  obj.toString(s);
38  os << s;
39  return os;
40  }
41 
42 #endif
43 
44  // ----------------------------------------------------------------------
45  // Member functions
46  // ----------------------------------------------------------------------
47 
48  bool GpioStatus ::
49  isValid() const
50  {
51  return ((e >= OP_OK) && (e <= UNKNOWN_ERROR));
52  }
53 
56  {
57  const Fw::SerializeStatus status = buffer.serializeFrom(
58  static_cast<SerialType>(this->e)
59  );
60  return status;
61  }
62 
65  {
66  SerialType es;
67  Fw::SerializeStatus status = buffer.deserializeTo(es);
68  if (status == Fw::FW_SERIALIZE_OK) {
69  this->e = static_cast<T>(es);
70  if (!this->isValid()) {
72  }
73  }
74  return status;
75  }
76 
77 #if FW_SERIALIZABLE_TO_STRING
78 
79  void GpioStatus ::
80  toString(Fw::StringBase& sb) const
81  {
82  Fw::String s;
83  switch (e) {
84  case OP_OK:
85  s = "OP_OK";
86  break;
87  case NOT_OPENED:
88  s = "NOT_OPENED";
89  break;
90  case INVALID_MODE:
91  s = "INVALID_MODE";
92  break;
93  case UNKNOWN_ERROR:
94  s = "UNKNOWN_ERROR";
95  break;
96  default:
97  s = "[invalid]";
98  break;
99  }
100  sb.format("%s (%" PRIi32 ")", s.toChar(), e);
101  }
102 
103 #elif FW_ENABLE_TEXT_LOGGING
104 
105  void GpioStatus ::
106  toString(Fw::StringBase& sb) const
107  {
108  sb.format("%" PRIi32 "", e);
109  }
110 
111 #endif
112 
113 }
Serialization/Deserialization operation was successful.
T e
The raw enum value.
const char * toChar() const
Definition: String.hpp:50
Deserialization data had incorrect values (unexpected data types)
Operation succeeded.
SerializeStatus
forward declaration for string
An unknown error occurred.
Operation not permitted with current configuration.
bool isValid() const
Check raw enum value for validity.
FormatStatus format(const CHAR *formatString,...)
write formatted string to buffer
Definition: StringBase.cpp:55
I32 SerialType
The serial representation type.
SerializeStatus serializeFrom(U8 val)
serialize 8-bit unsigned int
GpioStatus & operator=(const GpioStatus &obj)
Copy assignment operator (object)
Fw::SerializeStatus serializeTo(Fw::SerializeBufferBase &buffer) const
Serialize raw enum value to SerialType.
T
The raw enum type.
Fw::SerializeStatus deserializeFrom(Fw::SerializeBufferBase &buffer)
Deserialize raw enum value from SerialType.
Pin was never opened.
SerializeStatus deserializeTo(U8 &val)
deserialize 8-bit unsigned int