F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
BlockDriver.hpp
Go to the documentation of this file.
1 #ifndef REF_BLOCK_DRIVER_IMPL_HPP
2 #define REF_BLOCK_DRIVER_IMPL_HPP
3 
4 #include <Ref/BlockDriver/BlockDriverComponentAc.hpp>
5 
6 #include <atomic>
7 
8 namespace Ref {
9 
10 class BlockDriver final : public BlockDriverComponentBase {
11  public:
12  // Only called by derived class
13  BlockDriver(const char* compName);
14 
15  ~BlockDriver();
16 
17  private:
18  // downcalls for input ports
19  void BufferIn_handler(FwIndexType portNum, Drv::DataBuffer& buffer) override;
20  void Sched_handler(FwIndexType portNum, U32 context) override;
21  void SchedInternal_internalInterfaceHandler() override;
22  void SchedInternal_overflowHook() override;
25  void PingIn_handler(const FwIndexType portNum,
26  U32 key
27  ) override;
28 
29  // cycle count
30  U32 m_cycles;
31  // true while a SchedInternal message is on the queue
32  std::atomic<bool> m_schedQueued;
33 };
34 } // namespace Ref
35 
36 #endif
BlockDriver(const char *compName)
Definition: BlockDriver.cpp:7
PlatformIndexType FwIndexType