= pr2_etherCAT/Reviews/2010-01-13 Doc Review = Reviewer: Rob Wheeler == Instructions for doing a doc review == See [[DocReviewProcess]] for more instructions 1. Does the documentation define the Users of your Package, i.e. for the expected usages of your Stack, which APIs will users engage with? 1. Are all of these APIs documented? 1. Do relevant usages have associated tutorials? (you can ignore this if a Stack-level tutorial covers the relevant usage), and are the indexed in the right places? 1. If there are hardware dependencies of the Package, are these documented? 1. Is it clear to an outside user what the roadmap is for the Package? 1. Is it clear to an outside user what the stability is for the Package? 1. Are concepts introduced by the Package well illustrated? 1. Is the research related to the Package referenced properly? i.e. can users easily get to relevant papers? 1. Are any mathematical formulas in the Package not covered by papers properly documented? == For each launch file in a Package == 1. Is it clear how to run that launch file? 1. Does the launch file start up with no errors when run correctly? 1. Do the Nodes in that launch file correctly use ROS_ERROR/ROS_WARN/ROS_INFO logging levels? == Concerns / issues == * The documentation mentions that ''superuser'' is required. This is no longer strictly true. The old code used to actually check for a ''UID'' of 0, but that check has been removed. What is actually required for running ''pr2_etherCAT'' is the following "capabilities" * '''CAP_IPC_LOCK''' Lock memory (mlockall()) * '''CAP_SYS_NICE''' Set real-time scheduling policies * '''CAP_NET_RAW''' Use raw sockets (for EtherCAT communications) Superuser has these capabilities, but they can also be granted to another executable by setting file system attributes on the executable file. The ''pr2_grant'' program is a setuid-root program which copies ''pr2_etherCAT'' to a part of the filesystem where attributes can be set (/var/tmp), and then grants the necessary capabilities to be able to run ''pr2_etherCAT''. (./) Fixed. * I had completely forgotten about the ''shutdown'' service call until I saw it documented here. That call is no longer used and should probably be removed from both the code and the docs. (./) Fixed (I removed it from the docs, and Rob removed it from the code). == Conclusion == ##PackageReviewCategory