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
16
#include "
Svc/GenericHub/GenericHubComponentAc.hpp
"
17
18
namespace
Svc
{
19
20
class
GenericHubComponentImpl
:
public
GenericHubComponentBase
{
21
public
:
27
enum
HubType
{
28
HUB_TYPE_PORT
,
29
HUB_TYPE_BUFFER
,
30
HUB_TYPE_EVENT
,
31
HUB_TYPE_CHANNEL
,
32
HUB_TYPE_MAX
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
~GenericHubComponentImpl
();
48
49
PRIVATE:
50
// ----------------------------------------------------------------------
51
// Handler implementations for user-defined typed input ports
52
// ----------------------------------------------------------------------
53
56
void
buffersIn_handler(
const
NATIVE_INT_TYPE
portNum,
57
Fw::Buffer
& fwBuffer);
58
61
void
dataIn_handler(
const
NATIVE_INT_TYPE
portNum,
62
Fw::Buffer
& fwBuffer);
63
66
void
LogRecv_handler(
const
NATIVE_INT_TYPE
portNum,
67
FwEventIdType
id
,
68
Fw::Time
& timeTag,
69
const
Fw::LogSeverity
& severity,
70
Fw::LogBuffer
& args
71
);
72
75
void
TlmRecv_handler(
const
NATIVE_INT_TYPE
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(
NATIVE_INT_TYPE
portNum,
88
Fw::SerializeBufferBase
& Buffer
89
);
90
91
// Helpers and members
92
void
send_data(
const
HubType
type,
const
NATIVE_INT_TYPE
port,
const
U8
* data,
const
U32 size);
93
};
94
95
}
// end namespace Svc
96
97
#endif
NATIVE_INT_TYPE
PlatformIntType NATIVE_INT_TYPE
Definition:
BasicTypes.h:55
U8
uint8_t U8
8-bit unsigned integer
Definition:
BasicTypes.h:30
FwChanIdType
U32 FwChanIdType
Definition:
FpConfig.h:95
FwEventIdType
U32 FwEventIdType
Definition:
FpConfig.h:103
GenericHubComponentAc.hpp
Fw::Buffer
Definition:
Buffer.hpp:43
Fw::LogBuffer
Definition:
LogBuffer.hpp:21
Fw::LogSeverity
Enum representing event severity.
Definition:
LogSeverityEnumAc.hpp:19
Fw::SerializeBufferBase
Definition:
Serializable.hpp:54
Fw::Time
Definition:
Time.hpp:9
Fw::TlmBuffer
Definition:
TlmBuffer.hpp:20
Svc::GenericHubComponentBase
Auto-generated base for GenericHub component.
Definition:
GenericHubComponentAc.hpp:32
Svc::GenericHubComponentImpl
Definition:
GenericHubComponentImpl.hpp:20
Svc::GenericHubComponentImpl::HubType
HubType
Definition:
GenericHubComponentImpl.hpp:27
Svc::GenericHubComponentImpl::HUB_TYPE_EVENT
@ HUB_TYPE_EVENT
Event transmission.
Definition:
GenericHubComponentImpl.hpp:30
Svc::GenericHubComponentImpl::HUB_TYPE_MAX
@ HUB_TYPE_MAX
Definition:
GenericHubComponentImpl.hpp:32
Svc::GenericHubComponentImpl::HUB_TYPE_BUFFER
@ HUB_TYPE_BUFFER
Buffer type transmission.
Definition:
GenericHubComponentImpl.hpp:29
Svc::GenericHubComponentImpl::HUB_TYPE_CHANNEL
@ HUB_TYPE_CHANNEL
Telemetry channel type.
Definition:
GenericHubComponentImpl.hpp:31
Svc::GenericHubComponentImpl::HUB_TYPE_PORT
@ HUB_TYPE_PORT
Port type transmission.
Definition:
GenericHubComponentImpl.hpp:28
Svc::GenericHubComponentImpl::GenericHubComponentImpl
GenericHubComponentImpl(const char *const compName)
Definition:
GenericHubComponentImpl.cpp:27
Svc::GenericHubComponentImpl::GENERIC_HUB_DATA_SIZE
static const U32 GENERIC_HUB_DATA_SIZE
Definition:
GenericHubComponentImpl.hpp:35
Svc::GenericHubComponentImpl::~GenericHubComponentImpl
~GenericHubComponentImpl()
Definition:
GenericHubComponentImpl.cpp:29
Svc
Definition:
ActiveRateGroupCfg.hpp:18
Svc
GenericHub
GenericHubComponentImpl.hpp
Generated by
1.9.1