Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
IxxatCommunicationsDriver.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_COMMS_IXXAT_CCOMMDRIVERIXXAT_HPP_
2#define IV_SRC_COMMS_IXXAT_CCOMMDRIVERIXXAT_HPP_
3
4#include <ECI/ECI_error.h>
5#include <ECI/ECI_hwtype.h>
6
7#undef max
8#undef min
9
15
16#include <string>
17
18namespace iv::comms::ixxat
19{
20
23{
24public:
25 static std::vector<std::string> listDevices(const std::shared_ptr<AbstractProgress> &progress);
26
30
31private:
32 iv::comms::eResponse init() override;
33 iv::comms::eResponse end() override;
35 iv::comms::eResponse start() override;
36 iv::comms::eResponse stop() override;
37
38 iv::comms::eResponse read(std::shared_ptr<CMessageCan> &message) override;
39 iv::comms::eResponse send(const CMessageCan &message) override;
40
41 bool isOnline() override;
42 void configure(const iv::model::comms::NetworkData &commConfig) override;
43
44 ECI_RESULT prvOpenCtrHandle();
45
46 void prvEvaluateStatus();
47 [[nodiscard]] int64_t prvGetStatus() const;
48
53
55
56 mutable std::mutex m_mutex;
58
60 std::string m_hwSerial;
61 uint32_t m_hwPort;
65
66 uint32_t m_dwHwIndex;
67 uint32_t m_dwCtrlIndex;
68 ECI_CTRL_HDL m_dwCtrlHandle;
69
72};
73
74}// namespace iv::comms::ixxat
75
76#endif// IV_SRC_COMMS_IXXAT_CCOMMDRIVERIXXAT_HPP_
Definition CMessageCan.hpp:13
Definition ICommunicationDriver.hpp:13
Definition ICanCommunicationProtocol.hpp:11
Definition IIxxatInterface.hpp:11
Definition IxxatCommunicationsDriver.hpp:23
iv::comms::eResponse end() override
Definition IxxatCommunicationsDriver.cpp:431
iv::core::MonotonicTimer * m_checkOnlineTimer
Definition IxxatCommunicationsDriver.hpp:71
void prvEvaluateStatus()
Definition IxxatCommunicationsDriver.cpp:656
IxxatCommunicationsDriver(const IxxatCommunicationsDriver &other)=delete
iv::comms::eResponse send(const CMessageCan &message) override
Definition IxxatCommunicationsDriver.cpp:777
iv::types::timestamp m_timeLastStart
Definition IxxatCommunicationsDriver.hpp:50
uint16_t m_idSubnetwork
Definition IxxatCommunicationsDriver.hpp:57
uint32_t m_dwCtrlIndex
Definition IxxatCommunicationsDriver.hpp:67
uint8_t m_busTimingRegister0
Definition IxxatCommunicationsDriver.hpp:63
std::mutex m_mutex
Definition IxxatCommunicationsDriver.hpp:56
uint8_t m_operationMode
Definition IxxatCommunicationsDriver.hpp:62
uint32_t m_hwPort
Definition IxxatCommunicationsDriver.hpp:61
std::mutex m_checkOnlineMutex
Definition IxxatCommunicationsDriver.hpp:70
int64_t prvGetStatus() const
Definition IxxatCommunicationsDriver.cpp:610
uint32_t m_dwHwIndex
Definition IxxatCommunicationsDriver.hpp:66
static std::vector< std::string > listDevices(const std::shared_ptr< AbstractProgress > &progress)
Definition IxxatCommunicationsDriver.cpp:327
ECI_CTRL_HDL m_dwCtrlHandle
Definition IxxatCommunicationsDriver.hpp:68
ECI_RESULT prvOpenCtrHandle()
Definition IxxatCommunicationsDriver.cpp:590
iv::comms::eResponse read(std::shared_ptr< CMessageCan > &message) override
Definition IxxatCommunicationsDriver.cpp:716
iv::comms::eResponse stop() override
Definition IxxatCommunicationsDriver.cpp:533
uint8_t m_busTimingRegister1
Definition IxxatCommunicationsDriver.hpp:64
~IxxatCommunicationsDriver() override
Definition IxxatCommunicationsDriver.cpp:377
iv::core::MonotonicTimer * m_timerToReOpen
Definition IxxatCommunicationsDriver.hpp:54
bool m_needReconnect
Definition IxxatCommunicationsDriver.hpp:52
iv::comms::eResponse init() override
Definition IxxatCommunicationsDriver.cpp:384
std::string m_hwSerial
Definition IxxatCommunicationsDriver.hpp:60
iv::comms::eResponse reconnect() override
Definition IxxatCommunicationsDriver.cpp:466
void configure(const iv::model::comms::NetworkData &commConfig) override
Definition IxxatCommunicationsDriver.cpp:833
IxxatCommunicationsDriver()
Definition IxxatCommunicationsDriver.cpp:352
iv::comms::eResponse start() override
Definition IxxatCommunicationsDriver.cpp:497
iv::eState m_state
Definition IxxatCommunicationsDriver.hpp:49
IIxxatInterface * m_interfaceOpt
Definition IxxatCommunicationsDriver.hpp:59
bool isOnline() override
Definition IxxatCommunicationsDriver.cpp:569
bool m_isOnline
Definition IxxatCommunicationsDriver.hpp:51
Definition MonotonicTimer.hpp:12
Definition IIxxatInterface.hpp:8
eResponse
Definition enums.hpp:285
uint64_t timestamp
Definition types.hpp:21
eState
Definition enums.hpp:46
Definition NetworkData.hpp:18