6 #ifndef MOTORCORTEX_CORE_ECAT_XML_V2_0_H
7 #define MOTORCORTEX_CORE_ECAT_XML_V2_0_H
20 EcatDomainConfig loadDomainConfig(tinyxml2::XMLElement* domain_xml,
const std::string& path)
const override;
23 static EcatDomainConfig loadDomain(
const tinyxml2::XMLElement* domain_xml,
const std::string& path,
size_t& counter);
25 static std::vector<EcatDeviceConfig> loadDevices(
const tinyxml2::XMLElement* domain_xml,
const std::string& path);
27 static std::vector<EcatSyncInfo> loadSyncManagers(
const tinyxml2::XMLElement* device_element,
30 static std::vector<EcatPdoInfo> loadPdos(
const tinyxml2::XMLElement* device_element, EcatDirection dir,
31 size_t sm_counter,
bool check_sm);
33 static std::vector<ParameterLink> loadLinks(
const tinyxml2::XMLElement* pdo_element, EcatDirection direction);
35 static std::vector<EcatPdoInfo> loadPdoEntries(
const tinyxml2::XMLElement* pdo_element,
const std::string& tag,
36 EcatDirection direction);
38 static EcatDcInfo loadDistributedClock(
const tinyxml2::XMLElement* device_element);
40 static std::vector<EcatSdoConfig> loadServiceDataObjects(
const tinyxml2::XMLElement* device_element,
size_t position);
42 static std::vector<EcatSdoConfig> loadServiceDataEntries(
const tinyxml2::XMLElement* sdo_element, SdoDirection dir,
45 static EcatSdoConfig loadServiceDataEntry(
const tinyxml2::XMLElement* sdo_entry, SdoDirection dir, SdoType type,
48 static EcatDeviceInfo loadDeviceInfo(
const tinyxml2::XMLElement* device_element);
50 static DataTypeDesc getDataType(
const tinyxml2::XMLElement* entry_element);
52 static std::vector<EcatMailbox> loadMailboxes(
const tinyxml2::XMLElement* device_element,
const std::string& path);
54 static std::tuple<bool, EcatMailbox> loadMailbox(
const std::string& path);
56 static std::tuple<bool, EcatMailbox> loadMailbox(
const tinyxml2::XMLElement* mailbox_element);
58 static std::tuple<bool, std::vector<EcatCoe>> loadCoe(
const tinyxml2::XMLElement* mailbox_element);
60 static std::tuple<bool, std::vector<EcatSoe>> loadSoe(
const tinyxml2::XMLElement* mailbox_element);
65 #endif // MOTORCORTEX_CORE_ECAT_XML_V2_0_H