docs(): Добавлены комментарии к коду EtherCAT
This commit is contained in:
parent
256499f7b4
commit
802b85ae5c
@ -98,6 +98,34 @@ private:
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* EtherCAT Command
|
||||||
|
*
|
||||||
|
* Типы параметров шаблона должны быть struct Type и struct Dir или их синонимы
|
||||||
|
*
|
||||||
|
* Возможные значения первого параметра шаблона (синонимы):
|
||||||
|
*
|
||||||
|
* EcatCommand< AP, ... >
|
||||||
|
* EcatCommand< B, ... >
|
||||||
|
* EcatCommand< FP, ... >
|
||||||
|
* EcatCommand< L, ... >
|
||||||
|
*
|
||||||
|
* Возможные значения второго параметра шаблона (синонимы):
|
||||||
|
*
|
||||||
|
* EcatCommand< ... ,RD >
|
||||||
|
* EcatCommand< ... ,WR >
|
||||||
|
* EcatCommand< ... ,RW >
|
||||||
|
* EcatCommand< ... ,RMW >
|
||||||
|
* EcatCommand< ... ,NO >
|
||||||
|
*
|
||||||
|
* Так же можно использовать готовые синонимы EcatCommand<>:
|
||||||
|
*
|
||||||
|
* APRD, APWR, APRW, ARMW
|
||||||
|
* BRD, BWR, BRW, NOP
|
||||||
|
* FPRD, FPWR, FPRW, FRMW
|
||||||
|
* LRD, LWR, LRW, NOP
|
||||||
|
*
|
||||||
|
*/
|
||||||
template<typename TypeT, typename DirT>
|
template<typename TypeT, typename DirT>
|
||||||
class EcatCommand : public EcatCommandBase {
|
class EcatCommand : public EcatCommandBase {
|
||||||
static_assert(std::is_base_of<TypeBase, TypeT>::value == true, "TypeT should be derived from command::TypeBase");
|
static_assert(std::is_base_of<TypeBase, TypeT>::value == true, "TypeT should be derived from command::TypeBase");
|
||||||
|
@ -110,6 +110,29 @@ private:
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* EtherCAT Datagram
|
||||||
|
*
|
||||||
|
* Первый параметр шаблона должен быть class EcatCommand
|
||||||
|
*
|
||||||
|
* Возможные значения первого параметра шаблона:
|
||||||
|
*
|
||||||
|
* EcatDatagram< BWR, DataType >
|
||||||
|
* или
|
||||||
|
* EcatDatagram< EcatCommand< B, WR >, DataType >
|
||||||
|
*
|
||||||
|
* EcatDatagram< LWR, DataType >
|
||||||
|
* или
|
||||||
|
* EcatDatagram< EcatCommand< L, WR >, DataType >
|
||||||
|
*
|
||||||
|
* Пример:
|
||||||
|
*
|
||||||
|
* datagram::EcatDatagram<command::BWR, DataType > a{ {{broadcast, address}}, expected_wkc, data };
|
||||||
|
* datagram::EcatDatagram<command::LWR, DataType > b{ {{logic, address}}, expected_wkc, data };
|
||||||
|
*
|
||||||
|
* auto queue = a + b;
|
||||||
|
*
|
||||||
|
*/
|
||||||
template<typename CommandT, typename... DataTypes>
|
template<typename CommandT, typename... DataTypes>
|
||||||
class EcatDatagram : public IEcatDatagram {
|
class EcatDatagram : public IEcatDatagram {
|
||||||
static_assert(std::is_base_of<command::EcatCommandBase, CommandT>::value == true, "CommandT should be derived from ECatCommandBase");
|
static_assert(std::is_base_of<command::EcatCommandBase, CommandT>::value == true, "CommandT should be derived from ECatCommandBase");
|
||||||
|
Loading…
Reference in New Issue
Block a user