F´ Flight Software - C/C++ Documentation  NASA-v1.6.0
A framework for building embedded system applications to NASA flight quality standards.
BlockDriverImpl.hpp
Go to the documentation of this file.
1 #ifndef DRV_BLOCK_DRIVER_IMPL_HPP
2 #define DRV_BLOCK_DRIVER_IMPL_HPP
3 
4 #include <Drv/BlockDriver/BlockDriverComponentAc.hpp>
5 
6 namespace Drv {
7 
8  class BlockDriverImpl : public BlockDriverComponentBase {
9 
10  public:
11 
12  // Only called by derived class
13  BlockDriverImpl(const char* compName);
14 
15  void init(NATIVE_INT_TYPE queueDepth, NATIVE_INT_TYPE instanceId = 0);
17  // a little hack to get the reference running
18  void callIsr();
19 
20  private:
21 
22  // downcalls for input ports
23  void InterruptReport_internalInterfaceHandler(U32 ip);
24  void BufferIn_handler(NATIVE_INT_TYPE portNum, Drv::DataBuffer& buffer);
25  void Sched_handler(NATIVE_INT_TYPE portNum, NATIVE_UINT_TYPE context);
28  void PingIn_handler(
29  const NATIVE_INT_TYPE portNum,
30  U32 key
31  );
32 
33  // static ISR callback
34  static void s_driverISR(void* arg);
35 
36  // cycle count
37  U32 m_cycles;
38 
39  };
40 }
41 
42 #endif
Drv::BlockDriverImpl::init
void init(NATIVE_INT_TYPE queueDepth, NATIVE_INT_TYPE instanceId=0)
Definition: BlockDriverImpl.cpp:13
Drv::DataBuffer
Definition: DataBuffer.hpp:9
Drv::BlockDriverImpl::~BlockDriverImpl
~BlockDriverImpl()
Definition: BlockDriverImpl.cpp:17
Drv
Definition: BlockDriver.hpp:11
Drv::BlockDriverImpl::BlockDriverImpl
BlockDriverImpl(const char *compName)
Definition: BlockDriverImpl.cpp:7
Drv::BlockDriverImpl::callIsr
void callIsr()
Definition: BlockDriverImpl.cpp:40
NATIVE_UINT_TYPE
unsigned int NATIVE_UINT_TYPE
native unsigned integer type declaration
Definition: BasicTypes.hpp:30
NATIVE_INT_TYPE
int NATIVE_INT_TYPE
native integer type declaration
Definition: BasicTypes.hpp:29
Drv::BlockDriverImpl
Definition: BlockDriverImpl.hpp:8