From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../src/XorayaPluginExecutor/CInterfaceManager.h | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 Master/Masterarbeit/src/XorayaPluginExecutor/CInterfaceManager.h (limited to 'Master/Masterarbeit/src/XorayaPluginExecutor/CInterfaceManager.h') 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 + +/// 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_ */ -- cgit v1.2.3