diff options
| author | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
|---|---|---|
| committer | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
| commit | 33613a85afc4b1481367fbe92a17ee59c240250b (patch) | |
| tree | 670b842326116b376b505ec2263878912fca97e2 /Master/Masterarbeit/src/XorayaPluginExecutor/CInterfaceManager.h | |
| download | Studium-master.tar.gz Studium-master.tar.bz2 | |
Diffstat (limited to 'Master/Masterarbeit/src/XorayaPluginExecutor/CInterfaceManager.h')
| -rw-r--r-- | Master/Masterarbeit/src/XorayaPluginExecutor/CInterfaceManager.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/Master/Masterarbeit/src/XorayaPluginExecutor/CInterfaceManager.h b/Master/Masterarbeit/src/XorayaPluginExecutor/CInterfaceManager.h new file mode 100644 index 0000000..34cff19 --- /dev/null +++ b/Master/Masterarbeit/src/XorayaPluginExecutor/CInterfaceManager.h @@ -0,0 +1,68 @@ +/*!
+ * \file CInterfaceManager.h
+ * \author S. Eisenhauer
+ * \date 25.10.2011
+ * \brief Header of CInterfaceManager
+ */
+#ifndef CINTERFACEMANAGER_H_
+#define CINTERFACEMANAGER_H_
+
+#include "interface_manager.h"
+#include <x2e/Timer.hpp>
+
+/// number of CAN interfaces on the used XORAYA
+#define nNUMBER_OF_CAN_INTERFACES 8
+
+/// identifier meaning all interfaces
+#define nALL_CAN_INTERFACES 0
+
+/// Implementation of IInterfaceManager
+class CInterfaceManager : public IInterfaceManager
+{
+public:
+ CInterfaceManager();
+ virtual ~CInterfaceManager();
+ virtual x2e::status_t enWriteCanMessage(
+ int32_t i32InterfaceHandle,
+ uint32_t u32MsgId,
+ bool boIsExtended,
+ bool boIsRtrFrame,
+ const uint8_t* pu8Data,
+ uint32_t u32DataLength);
+
+ virtual x2e::status_t enGetQueueFillLevel(x2e::Log::queueFillLevel& stFillLevel);
+
+ virtual x2e::status_t enPeekMessage(
+ x2e::Log::queueFillLevel& stFillLevel,
+ x2e::Log::messageDescription* pstMsgDescr,
+ x2e::Log::framePayload* pstMsgPayload);
+
+ virtual x2e::status_t enEnableInterface(int32_t i32RequestedInterface);
+ virtual x2e::status_t enDisableInterface(int32_t i32RequestedInterface);
+
+ virtual x2e::status_t enEnableAllInterfaces();
+
+ virtual x2e::status_t enGetTimestamp( uint32_t* pu32TsHigh, uint32_t* pu32TsLow );
+
+ virtual x2e::status_t enWait();
+
+ void vDeinit();
+
+
+ virtual int32_t i32GetInterfaceByLogIfId(x2e::Log::InterfaceId::ifid_t u16LogIfId)
+ {
+ return x2e::Log::InterfaceId::getGlobalIfInstanceNumber(u16LogIfId);
+ }
+
+private:
+
+ x2e::System::Driver* m_pxDrv;
+ x2e::System::Timer::hardwareTimer m_enTimer;
+
+ enum m_tenState
+ {
+ nenOff = 0, nenOn = 1
+ };
+};
+
+#endif /* CINTERFACEMANAGER_H_ */
|
