Skip to content
This repository has been archived by the owner on Nov 10, 2022. It is now read-only.

Commit

Permalink
trying to fix guide.rst
Browse files Browse the repository at this point in the history
  • Loading branch information
Mike Karamousadakis committed Sep 6, 2018
1 parent e8b5b0d commit c9954ea
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions docs/source/guide.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

Guide
======
This guide will solve your problem of where to start with documentation,
Expand Down Expand Up @@ -63,15 +64,15 @@ The author has used only the first configuration parameter and has seen great bo
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1. cd into the etherlab-mercurial folder
2. Run *make ethercatMasterInstallWithAutoStart*. Note that root access is needed. If you use another native driver from e1000e, open the Makefile and change the configure option with your driver version. You can find `here <http://www.etherlab.org/en/ethercat/hardware.php>`_ and `here <http://www.etherlab.org/download/ethercat/ethercat-1.5.2.pdf>`_ (Chapter 9), the supported hardware and the options the command *configure* takes, respectively. If your hardware is not supported or if you don't want the native driver support fuzz, then you should change the *configure* command to enable generic driver support (although I think it defaults to that).
2. Run *make ethercatMasterInstallWithAutoStart*. Note that root access is needed. If you use another native driver from e1000e, open the Makefile and change the configure option with your driver version. You can find `here <http://www.etherlab.org/en/ethercat/hardware.php>`_ and `there <http://www.etherlab.org/download/ethercat/ethercat-1.5.2.pdf>`_ (Chapter 9), the supported hardware and the options the command *configure* takes, respectively. If your hardware is not supported or if you don't want the native driver support fuzz, then you should change the *configure* command to enable generic driver support (although I think it defaults to that).


2. Run the scripts
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1. Because we want to have a process in realtime context, we should change it's priority (done in the code -FIFO policy, 80 priority-). Besides that, the interrupt handler which handles the interrupts generated by the network driver, should have higher priority than the process we develop, so that the EtherCAT datagrams are ready to be sent/received before we process them. For that cause I have written a script, as a sample script, to change the priority of the irq process of the network card.This should be used accordingly to change **your** process's priority. You could check if the priority has changed with the *chrt* command. How-to can be found `here <https://www.cyberciti.biz/faq/howto-set-real-time-scheduling-priority-process>`_.
1. Because we want to have a process in realtime context, we should change it's priority (done in the code -FIFO policy, 80 priority-). Besides that, the interrupt handler which handles the interrupts generated by the network driver, should have higher priority than the process we develop, so that the EtherCAT datagrams are ready to be sent/received before we process them. For that cause I have written a script, as a sample script, to change the priority of the irq process of the network card.This should be used accordingly to change **your** process's priority. You could check if the priority has changed with the *chrt* command. How-to can be found `in this link <https://www.cyberciti.biz/faq/howto-set-real-time-scheduling-priority-process>`_.

2. Aside from the enhancements proposed by the manual, we should also change the throttling of our network driver to 0. This is done in the script also in the *testbench* directory. It is based on my e1000e driver, so use it as a sample script. Documentation for the insertion of the module of the e1000e network driver can be found `here <https://downloadmirror.intel.com/15817/eng/readme.txt>`_.
2. Aside from the enhancements proposed by the manual, we should also change the throttling of our network driver to 0. This is done in the script also in the *testbench* directory. It is based on my e1000e driver, so use it as a sample script. Documentation for the insertion of the module of the e1000e network driver can be found `in here <https://downloadmirror.intel.com/15817/eng/readme.txt>`_.

3. Run the script for changing the permissions of ighm_ros. We set the suid of ighm_ros to be root, so that the ighm_ros can be launched without *sudo*. This will be useful **after** you *catkin_make* the project.

Expand Down

0 comments on commit c9954ea

Please sign in to comment.