F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
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 
17 
18 namespace Svc {
19 
21  public:
27  enum HubType {
33  };
34 
35  const static U32 GENERIC_HUB_DATA_SIZE = 1024;
36  // ----------------------------------------------------------------------
37  // Construction, initialization, and destruction
38  // ----------------------------------------------------------------------
39 
42  GenericHubComponentImpl(const char* const compName
43  );
44 
47  void init(const NATIVE_INT_TYPE instance = 0
48  );
49 
53 
54  PRIVATE:
55  // ----------------------------------------------------------------------
56  // Handler implementations for user-defined typed input ports
57  // ----------------------------------------------------------------------
58 
61  void buffersIn_handler(const NATIVE_INT_TYPE portNum,
62  Fw::Buffer& fwBuffer);
63 
66  void dataIn_handler(const NATIVE_INT_TYPE portNum,
67  Fw::Buffer& fwBuffer);
68 
71  void LogRecv_handler(const NATIVE_INT_TYPE portNum,
72  FwEventIdType id,
73  Fw::Time& timeTag,
74  const Fw::LogSeverity& severity,
75  Fw::LogBuffer& args
76  );
77 
80  void TlmRecv_handler(const NATIVE_INT_TYPE portNum,
81  FwChanIdType id,
82  Fw::Time& timeTag,
83  Fw::TlmBuffer& val
84  );
85 
86  // ----------------------------------------------------------------------
87  // Handler implementations for user-defined serial input ports
88  // ----------------------------------------------------------------------
89 
92  void portIn_handler(NATIVE_INT_TYPE portNum,
94  );
95 
96  // Helpers and members
97  void send_data(const HubType type, const NATIVE_INT_TYPE port, const U8* data, const U32 size);
98 };
99 
100 } // end namespace Svc
101 
102 #endif
PlatformIntType NATIVE_INT_TYPE
Definition: BasicTypes.h:51
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:26
U32 FwChanIdType
Definition: FpConfig.h:59
U32 FwEventIdType
Definition: FpConfig.h:62
Enum representing event severity.
void init()
Object initializer.
Definition: ObjBase.cpp:27
Definition: Time.hpp:9
Auto-generated base for GenericHub component.
@ HUB_TYPE_BUFFER
Buffer type transmission.
@ HUB_TYPE_CHANNEL
Telemetry channel type.
@ HUB_TYPE_PORT
Port type transmission.
GenericHubComponentImpl(const char *const compName)