Gentle persons:
This message covers editorial issues I found reviewing the HTML files on
http://www.linuxcnc.org/docs/2.5/ concerning the (English) HAL manual.
In this email I shall call them parts. I have titled my comments on each
part according to the link title in index.html and given the linked-to
HTML file name in parentheses.
an overview issue - what is the difference between a "HAL component"
which is defined in the docs and a "HAL module" which is not? The former
term is used more frequently but the latter shows up in many places.
Interestingly, in the part Creating HAL Components with comp
(hal/comp.html), section 2. Definitions declares that a component is a
single, real-time module. Thanks for clearing that up!
---
HAL Introduction (hal/intro.html)
The HAL manual uses "NML" without definition, starting with section 3.1
External Programs with HAL hooks which says of motion "A realtime module
that accepts NML motion commands...."
I think NML ought to be defined in section 2. HAL Concepts (and in the
EMC2 Glossary as well).
---
Basic HAL Info (hal/basic_hal.html)
In later parts of the manual, HAL commands are written in typewriter
font. In this part, they are written in the running-text font, set off
in double quotes, e.g., "loadusr".
In section 1.3. loadusr, the example shows a flag ("-n name") that is
not listed in the preceding command description. I'm away from a working
EMC2. Does this flag work? If so, then other documentation has to be
fixed to match (man page, help loadusr...) and it seems redundant in
function to the -Wn flag.
In section 1.4. net, I would modify the fourth sentence to say "The
optional direction indicators...." to clarify what is meant by "and are
not used by the net command."
In the same section, the second example under Figure 2 seems
inappropriate. Should it not read "net xStep => parport.0.pin-02-out" in
order to illustrate the preceding text?
At the end of the same section is a line that drives me nuts. "The so
called I/O pins like index-enable do not follow this rule." Firstly,
"this rule" refers to much earlier in the section. Secondly, there
aren't many places in all the EMC2 documentation that mention the I/O
pins and the I/O-pin connection rules remain mysterious.
In section 1.7 Obsolete Commands, I believe it would be helpful to
newbies to explain that these commands are deprecated at the moment (so
existing config files continue to work) but should be avoided in new
work because they may be removed in some future version.
In sections 5.1. through 5.4, I believe the syntax examples are made
confusing by using the word "or" instead of the operator "|" (which is
what is used in the corresponding man pages).
In section 6.1. weighted_sum, I think a new third sentence should be
inserted that defines "weight", perhaps merely stating the default
weight of the m-th bit is 2^m.
---
HAL Advanced Tutorial (hal/tutorial.html)
[editor's aside: I really like this tutorial and can appreciate how much
effort it required to compose and illustrate. Nicely done y'all!]
In section 2.1. Loading a realtime component, the user shell prompt is
missing, sort of. I would expect the first two commands to be something
like "~$ cd emc2" and "~/emc2$ halrun" assuming the user is in his/her
home directory and the shell prompt has not been redefined.
In section 2.2 Examining the HAL, only 8 pins are shown for siggen but
the man page says siggen has 9. Missing here and in following sections
is the pin "siggen.0.clock".
In section 3.1. Starting halmeter, the third sentence "Since halmeter is
a GUI app, X must be running" is a bit abrupt for a HAL tutorial.
Perhaps a better approach is to say what you get if X (meaning an X11
server) isn't running. Since the same situation arises with halscope,
perhaps the statement about X11 should precede them both.
In section 5.1. Starting Halscope, I seem to recall that the first
invocation of "loadusr halscope" in a fresh working directory throws a
warning that the file "autosave.halscope" could not be opened (which is
correct, of course, since it doesn't exist until halscope has written it
for the first time). It might be worthwhile warning the newbie that this
is a benign message.
In section 5.4 Vertical Adjustments, the parenthetical "see the
halscope reference in section [sec:Halscope] for details)" is
frustrating since the referenced section doesn't say anything useful.
---
Canonical Devices (hal/canonical-devices.html)
The link to this section cries out to be retitled "Canonical Device
Interfaces" since that is what it is about and that is what the part
itself is titlted.
In section 4.2. Parameters, is the definition of the "scale" parameter
complete and correct? It seems truncated. Does this mean, by the way,
that "offset" is in volts?
---
General Reference (hal/general_ref.html)
In section 1.2. Names, what is meant by "...preceded by their type in
(small caps)..."? The examples don't use "small caps". (aside:
"preceeded' is misspelled.)
It is rather disconcerting that the subsubsection headings (like 3.1.1.
Examples) have an underscore that spans the width of the page. This is a
visual "stop" that seems inappropriate for such subsumed content.
Footnote 2 seems quite stale. This is now version 2.5. Are the
conventions followed now or not. How about a note similar to the one in
the Canonical Devices part (which says "By version 2.1, the HAL drivers
should have all been updated to match these specs. Send an email if you
spot any problems.")
Is footnote 3 still necessary? Was the bug fixed in Version 2.1 as it
promises it will be?
---
HAL Tools (hal/tools.html)
As mentioned previously, section 3. Halscope doesn't say anything useful
(yet).
---
HAL Components (hal/components.html)
It's getting late and I didn't check that all the command, component,
and call entries are correct. I know it's wrong but I'm weak.
---
Realtime Components (hal/rtcomps.html)
In section 1. Stepgen, figures 1 and 2 are missing (the page says it was
last updated 2011-12-28 10:36:09 CDT). The description of the figures in
the preceding text and the figure captions don't seem to be consistent.
The text talks of *three* diagrams---two showing position mode control
and the third velocity mode. The *two* figure captions say "(position
mode)" and "(velocity mode)" respectively. IIRC, the (missing) figures
themselves each contain three diagrams.
In section 1.4. Parameters, I'd suggest modifying the last sentence of
the first full paragraph to read "For more details, including the
contents of the control equation box, consult the stepgen source-code"
to make clear what code is to be consulted.
In section 2.2. Removing, what does "*halcmd" mean? Isn't the asterisk a
typo?
In section 3.4. Parameters, there is no explanation of the four
parameters. Further, isn't there a change in style here, with regard to
trailing parentheticals like "(s32, RW)" ?
---
Hal Examples (hal/hal0examples.html)
No problem that I see and again, nicely done.
---
Creating HAL components with Comp (hal/comp.html)
Creating Userspace Python Components (hal/halmodule.html)
These parts look good in a quick once-over but I didn't check the details.
---
And that's all I have for the HAL manual parts. Nothing profound. Just
the usual Kent-nits.
Regards,
Kent
------------------------------------------------------------------------------
RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!
http://p.sf.net/sfu/rsa-sfdev2dev2
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers