F´ Flight Software - C/C++ Documentation  devel
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 
5 
6 namespace Drv {
7 
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, U32 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
PlatformIntType NATIVE_INT_TYPE
Definition: BasicTypes.h:51
Auto-generated base for BlockDriver component.
BlockDriverImpl(const char *compName)
void init()
Object initializer.
Definition: ObjBase.cpp:27