equal
deleted
inserted
replaced
554 \index{Application interface} |
554 \index{Application interface} |
555 |
555 |
556 % Interface version |
556 % Interface version |
557 % Master Requesting and Releasing |
557 % Master Requesting and Releasing |
558 % Master Locking |
558 % Master Locking |
559 % Slave configuration |
|
560 % Configuring Pdo assignment and mapping |
559 % Configuring Pdo assignment and mapping |
561 % Domains (memory) |
560 % Domains (memory) |
562 % Pdo entry registration |
561 % Pdo entry registration |
563 % Sdo configuration |
562 % Sdo configuration |
564 % Sdo access |
563 % Sdo access |
565 % Cyclic operation |
|
566 |
564 |
567 The application interface provides functions and data structures for |
565 The application interface provides functions and data structures for |
568 applications to access an EtherCAT master. The complete documentation of the |
566 applications to access an EtherCAT master. The complete documentation of the |
569 interface is included as Doxygen~\cite{doxygen} comments in the header file |
567 interface is included as Doxygen~\cite{doxygen} comments in the header file |
570 \textit{include/ecrt.h}. It can either be read directly from the file |
568 \textit{include/ecrt.h}. It can either be read directly from the file |
697 % TODO PDOS endianess |
695 % TODO PDOS endianess |
698 % TODO Datagram injection |
696 % TODO Datagram injection |
699 |
697 |
700 %------------------------------------------------------------------------------ |
698 %------------------------------------------------------------------------------ |
701 |
699 |
702 \section{Concurrent Master Access} % FIXME |
700 \section{Concurrent Master Access} |
703 \label{sec:concurr} |
701 \label{sec:concurr} |
704 \index{Concurrency} |
702 \index{Concurrency} |
705 |
703 |
706 In some cases, one master is used by several instances, for example when an |
704 In some cases, one master is used by several instances, for example when an |
707 application does cyclic process data exchange, and there are EoE-capable |
705 application does cyclic process data exchange, and there are EoE-capable |
730 Figure~\ref{fig:locks} exemplary shows, how two processes share one master: |
728 Figure~\ref{fig:locks} exemplary shows, how two processes share one master: |
731 The application's cyclic task uses the master for process data exchange, while |
729 The application's cyclic task uses the master for process data exchange, while |
732 the master-internal EoE process uses it to communicate with EoE-capable |
730 the master-internal EoE process uses it to communicate with EoE-capable |
733 slaves. Both have to acquire the master lock before access: The application |
731 slaves. Both have to acquire the master lock before access: The application |
734 task can access the lock natively, while the EoE process has to use the |
732 task can access the lock natively, while the EoE process has to use the |
735 callbacks. See the application interface documentation (chap.~\ref{chap:api} |
733 callbacks. See the application interface documentation (chap.~\ref{chap:api}) |
736 of how to use the locking callbacks. |
734 for how to use the locking callbacks. |
737 |
735 |
738 %------------------------------------------------------------------------------ |
736 %------------------------------------------------------------------------------ |
739 |
737 |
740 \chapter{Ethernet Devices} |
738 \chapter{Ethernet Devices} |
741 \label{sec:devices} |
739 \label{sec:devices} |