F´ Flight Software - C/C++ Documentation  NASA-v2.0.1
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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);
16  ~BlockDriverImpl(void);
17  // a little hack to get the reference running
18  void callIsr(void);
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::DataBuffer
Definition: DataBuffer.hpp:9
Drv::BlockDriverImpl::callIsr
void callIsr(void)
Definition: BlockDriverImpl.cpp:40
Drv
Definition: BlockDriverImpl.cpp:5
Drv::BlockDriverImpl::BlockDriverImpl
BlockDriverImpl(const char *compName)
Definition: BlockDriverImpl.cpp:7
NATIVE_UINT_TYPE
unsigned int NATIVE_UINT_TYPE
native unsigned integer type declaration
Definition: BasicTypes.hpp:30
Drv::BlockDriverImpl::init
void init(NATIVE_INT_TYPE queueDepth)
Definition: BlockDriverImpl.cpp:13
NATIVE_INT_TYPE
int NATIVE_INT_TYPE
native integer type declaration
Definition: BasicTypes.hpp:29
Drv::BlockDriverImpl
Definition: BlockDriverImpl.hpp:8
Drv::BlockDriverImpl::~BlockDriverImpl
~BlockDriverImpl(void)
Definition: BlockDriverImpl.cpp:17