F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
Loading...
Searching...
No Matches
DpWriter.hpp
Go to the documentation of this file.
1// ======================================================================
2// \title DpWriter.hpp
3// \author bocchino
4// \brief hpp file for DpWriter component implementation class
5// ======================================================================
6
7#ifndef Svc_DpWriter_HPP
8#define Svc_DpWriter_HPP
9
10#include <DpCfg.hpp>
11
12#include "Fw/Dp/DpContainer.hpp"
14#include "Fw/Types/String.hpp"
17
18namespace Svc {
19
21 public:
22 // ----------------------------------------------------------------------
23 // Construction, initialization, and destruction
24 // ----------------------------------------------------------------------
25
28 DpWriter(const char* const compName
29 );
30
33 ~DpWriter();
34
36 void configure(const Fw::StringBase& dpFileNamePrefix
37 );
38
39 PRIVATE:
40 // ----------------------------------------------------------------------
41 // Handler implementations for user-defined typed input ports
42 // ----------------------------------------------------------------------
43
46 void bufferSendIn_handler(const NATIVE_INT_TYPE portNum,
47 Fw::Buffer& fwBuffer
48 ) final;
49
52 void schedIn_handler(const NATIVE_INT_TYPE portNum,
53 U32 context
54 ) final;
55
56 PRIVATE:
57 // ----------------------------------------------------------------------
58 // Handler implementations for commands
59 // ----------------------------------------------------------------------
60
64 void CLEAR_EVENT_THROTTLE_cmdHandler(FwOpcodeType opCode,
65 U32 cmdSeq
66 ) final;
67
68 PRIVATE:
69 // ----------------------------------------------------------------------
70 // Private helper functions
71 // ----------------------------------------------------------------------
72
75 Fw::Success::T deserializePacketHeader(Fw::Buffer& buffer,
76 Fw::DpContainer& container
77 );
78
80 void performProcessing(const Fw::DpContainer& container
81 );
82
85 Fw::Success::T writeFile(const Fw::DpContainer& container,
86 const Fw::FileNameString& fileName,
87 FwSizeType& fileSize
88 );
89
91 void sendNotification(const Fw::DpContainer& container,
92 const Fw::FileNameString& fileName,
93 FwSizeType packetSize
94 );
95
96 PRIVATE:
97 // ----------------------------------------------------------------------
98 // Private member variables
99 // ----------------------------------------------------------------------
100
102 U32 m_numBuffersReceived = 0;
103
105 U64 m_numBytesWritten = 0;
106
108 U32 m_numSuccessfulWrites = 0;
109
111 U32 m_numFailedWrites = 0;
112
114 U32 m_numErrors = 0;
115
119 Fw::FileNameString m_dpFileNamePrefix;
120};
121
122} // end namespace Svc
123
124#endif
PlatformIntType NATIVE_INT_TYPE
Definition BasicTypes.h:55
U32 FwOpcodeType
Definition FpConfig.h:91
PlatformSizeType FwSizeType
Definition FpConfig.h:35
A data product Container.
T
The raw enum type.
Auto-generated base for DpWriter component.
void configure(const Fw::StringBase &dpFileNamePrefix)
Configure writer.
Definition DpWriter.cpp:26
#define U64(C)
Definition sha.h:176