[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: What do we have that will save a manpage as we see it on-screen



On Friday 01 October 2021 20:53:26 Greg Wooledge wrote:

> On Fri, Oct 01, 2021 at 05:44:41PM -0700, Fred wrote:
> > man command | col -b > command.txt
>
> Curious.
>
> unicorn:~$ man ls > ls1
> unicorn:~$ man ls | col -b > ls2
> unicorn:~$ ls -l ls1 ls2
> -rw-r--r-- 1 greg greg 8299 Oct  1 20:49 ls1
> -rw-r--r-- 1 greg greg 7745 Oct  1 20:49 ls2
>
> Glancing at the diff -u between the two files, most of the changes
> appear to be whitespace related.
>
> Opening them both in vim, the second one has a bunch of literal tab
> characters, whereas the first one has no tabs at all -- only spaces.
>
> So I guess most (or all?) of the size reduction is groups of spaces
> being replaced by tabs.
The manpage is jogaxisget.9. and they look very close to identical, but 
an ls -l shows:
-rw-r--r--  1 pi   pi        1321 Oct  2 05:38 jogaxisget.text
-rw-r--r--  1 pi   pi        1580 Oct  1 17:00 jogaxisget.txt
either one will do. even for copy/paste as hal treats tabs the same as 
spaces and reads of past looking for the text.

Thank you everybody, problem solved. Now to figure out what to hook it up 
to in a 700+ l.o.c. file containing at least 5000 signal names.

TL;DR unless interested in cnc machinery

The hookup syntax is :

net netname <input-signal >output-1 [output-2] etc etc

and there is not an example line to show how its hooked up to achieve the 
desired logic outputs in the manpage. Only the invocation lines are 
given.
This is what I wanted:

JOGAXISGET(9)								     HAL Component								  JOGAXISGET(9)

NAME
       jogaxisget - determines which axis jogging

SYNOPSIS
       loadrt jogaxisget [count=N|names=name1[,name2...]]

FUNCTIONS
       jogaxisget.N (requires a floating-point thread)

PINS
       jogaxisget.N.Xin0 bit in
	      axis.x.kb-jog-active <-- (edited in) example signal name

       jogaxisget.N.Xin1 bit in
       jogaxisget.N.Yin0 bit in
	      axis.y.kb-jog-active

       jogaxisget.N.Yin1 bit in
       jogaxisget.N.Zin0 bit in
	      axis.z.kb-jog-active

       jogaxisget.N.Zin1 bit in
       jogaxisget.N.Ain0 bit in
	      axis.a.kb-jog-active

       jogaxisget.N.Ain1 bit in
       jogaxisget.N.Xtrigger bit out
       jogaxisget.N.Ytrigger bit out
       jogaxisget.N.Ztrigger bit out
       jogaxisget.N.Atrigger bit out
       jogaxisget.N.activeX bit out
       jogaxisget.N.activeY bit out
       jogaxisget.N.activeZ bit out
       jogaxisget.N.activeA bit out
       jogaxisget.N.Xverify bit in (default: FALSE)
	      axisui.Xisactive

       jogaxisget.N.Yverify bit in (default: FALSE)
	      axisui.Yisactive

       jogaxisget.N.Zverify bit in (default: FALSE)
	      axisui.Zisactive

       jogaxisget.N.Averify bit in (default: FALSE)
	      axisui.Aisactive

LICENSE
       GPL

LinuxCNC Documentation							       2021-09-30								  JOGAXISGET(9)

The idea is to keep a gui's radio buttons up to date with what the 
machine is doing, when signals external to the gui ae used to move the 
machine, in this case a pair of encoder dials that function like the 
hand cranks on a manual machine when it has been converted to cnc 
control. With a per click distance ranging from .0001 inches to 20 
thousanths per click. All this extra is unique to my machine, I wrote 
it.

The dials I have added are very handy when one is finding the positions 
to start a machining operation from, but at present, applying a 
touch-off to establish that point does not update the gui's radio 
buttons, so you find a point, and blindly apply the touch-off, only to 
discover the touch-off has been applied to the wrong axis because the 
radio buttons have not been updated by moving the machine with the 
dials.  This logic module is designed to act the same as a keyboard jog, 
which does update the gui's radio buttons. But its up to me to find the 
right signals to tie together to adhieve that, as they are mutually 
exclusive, only one can be TRUE at a time, the most recent. For a lathe, 
which only has 2 axis's only X and Z pins will be used, but for a mill 
at least 3 need to be "hooked" up. But both of my mills have 4 asises, 
and could have as many as 9. And since this module was written 
the "axis" and "joints" have been divorced for increased versatility, so 
the the subnames on the 2nd line are now duff and the new names will 
have to be found by experimentation. And I'm the first to use this 
module, so I get to write the translation rules.

Since N=69! is the largest that a ti calculator can handle, fun it won't 
be, cuz N is well north of 1000 in this case.

Cheers, Gene Heskett.
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
 - Louis D. Brandeis
Genes Web page <http://geneslinuxbox.net:6309/gene>


Reply to: