F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GenericHubComponentImpl.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title GenericHubComponentImpl.hpp
3 // \author mstarch
4 // \brief hpp file for GenericHub component implementation class
5 //
6 // \copyright
7 // Copyright 2009-2015, by the California Institute of Technology.
8 // ALL RIGHTS RESERVED. United States Government Sponsorship
9 // acknowledged.
10 //
11 // ======================================================================
12 
13 #ifndef GenericHub_HPP
14 #define GenericHub_HPP
15 
16 #include "Svc/GenericHub/GenericHubComponentAc.hpp"
17 
18 namespace Svc {
19 
20 class GenericHubComponentImpl final : public GenericHubComponentBase {
21  public:
27  enum HubType {
33  };
34 
35  constexpr static FwSizeType GENERIC_HUB_DATA_SIZE = 1024;
36  // ----------------------------------------------------------------------
37  // Construction, initialization, and destruction
38  // ----------------------------------------------------------------------
39 
42  GenericHubComponentImpl(const char* const compName
43  );
44 
48 
49  private:
50  // ----------------------------------------------------------------------
51  // Handler implementations for user-defined typed input ports
52  // ----------------------------------------------------------------------
53 
56  void buffersIn_handler(const FwIndexType portNum,
57  Fw::Buffer& fwBuffer);
58 
61  void dataIn_handler(const FwIndexType portNum,
62  Fw::Buffer& fwBuffer);
63 
66  void LogRecv_handler(const FwIndexType portNum,
67  FwEventIdType id,
68  Fw::Time& timeTag,
69  const Fw::LogSeverity& severity,
70  Fw::LogBuffer& args
71  );
72 
75  void TlmRecv_handler(const FwIndexType portNum,
76  FwChanIdType id,
77  Fw::Time& timeTag,
78  Fw::TlmBuffer& val
79  );
80 
81  // ----------------------------------------------------------------------
82  // Handler implementations for user-defined serial input ports
83  // ----------------------------------------------------------------------
84 
87  void portIn_handler(FwIndexType portNum,
89  );
90 
91  // Helpers and members
92  void send_data(const HubType type, const FwIndexType port, const U8* data, const FwSizeType size);
93 };
94 
95 } // end namespace Svc
96 
97 #endif
PlatformSizeType FwSizeType
FwIdType FwEventIdType
The type of an event identifier.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
Enum representing event severity.
GenericHubComponentImpl(const char *const compName)
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:53
static constexpr FwSizeType GENERIC_HUB_DATA_SIZE
PlatformIndexType FwIndexType
RateGroupDivider component implementation.