F´ Flight Software - C/C++ Documentation NASA-v1.6.0
A framework for building embedded system applications to NASA flight quality standards.
Loading...
Searching...
No Matches
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
6namespace 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
PlatformIntType NATIVE_INT_TYPE
Definition BasicTypes.h:51
PlatformUIntType NATIVE_UINT_TYPE
Definition BasicTypes.h:52
void init(NATIVE_INT_TYPE queueDepth, NATIVE_INT_TYPE instanceId=0)