If you write to 59 Temple Place you're unlikely to get a response.
Let's realign the address with a more up-to-date one from [1].
[1] https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
This is purely a cosmetic change, doesn't affect the meaning of the
license. Done to make rpmlint happy.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Some complicated systems take advantage of the
provisions for synchronizing the final joint homing
moves as controlled by negative [JOINT_N]HOME_SEQUENCE=
ini file items. Candidate systems include gantries
with two motors for an axis, delta robots, hexapods,
etc.
By default, the synchronization provisions also
disallow *joint* jogging prior to homing in order to
prevent jog activity that (unless executed with much
care) can misalign the machine (gantry racking for
example).
System integrators may want to allow *joint* jogging
prior to homing with some hal logic that dynamically
alters the [JOINT_N]HOME_SEQUENCE= items. Such logic
can assert the motion.homing-inhibit pin to ensure
homing is not initiated under certain conditions.
Example: synced joints 0,1 using sequence -1 for
synced homing with a switch (allow_jjog) to select sequence 1 for
*joint* jogging before homing (partial hal code):
setp mux.in0 -1
setp mux.in1 1
net home_seq <= mux.out
net home_seq => ini.0.home_sequence
net home_seq => ini.1.home_sequence
net hsequence_select <= allow_jjog
net hsequence_select => mux_sel
net hsequence_select => motion.homing-inhibit
Note that ini hal pins are not available until milltask
starts so execution of the above hal commands may need
to be deferred using an [APPLICATION]APP= script or a
a postgui halfile.
Thanks to pkmcnc for suggestion.
- Undefine debugging as default
- Add spi_debug to do enable run-time debuging (map-page updated)
- The cookie is 3 words, but we want to read 4 to catch the IDROM offset, subsequently used to read the board's ID
Signed-off-by: Bertho Stultiens <bertho@vagrearg.org>
- Use correct synchronized register access
- Improve driver performance by utilizing the controller's fifos
- Add module parameters to set write/read speed
- Add module parameter to probe different CEs and SPI0/1
- Allow up to 5 boards on SPI0/1 and CEs
- Add pull-up/down enable/disable module parameter
- Use dynamic memory for RPI version detection
- Only use one (io)mmap'ed area for register access
- Update man-page to describe all module parameters and suggested usage
Signed-off-by: Bertho Stultiens <bertho@vagrearg.org>
"man --warn" (run by lintian) let us know that ".R" is not a valid macro.
It was not clear to me what groff macro the author intended there,
so I just removed it. The manpage renders fine and legible to me,
and without warnings.
Signed-off-by: Sebastian Kuzminsky <seb@highlab.com>
1) before this commit, hal pins axis.L.pos-cmd were
only valid for teleop, now update in
control.c/output_to_hal() so pins are valid for
coordinated motion too.
2) rename to conform to actual implementation:
was: axis.L.vel-cmd
is: axis.L.teleop-vel-cmd
Signed-off-by: Dewey Garrett <dgarrett@panix.com>
Multi-turn encoders should never wrap, and a false detection of a wrap may
lead to permanent offsets that can not be removed without a restart
This commit adds an extra flag for SSI BiSS and Fanuc encoders.
Signed-off-by: andypugh <andy@bodgesoc.org>
Eventually all man pages will be asciidoc in docs/src/ and
the troff pages in docs/man/ will be auto-generated. But
that may take a while, and in the meantime troff pages in
docs/src/ aren't usable. When the move comes in the future
this page can move with all the rest.
Signed-off-by: John Kasunich <jmkasunich@fastmail.fm>
Add strut length correction for non-captive screw actuators with
universal (cardanic) joints, provide parameters for joint axes unit
vectors and screw lead, add pins to show correction values.
Update kins.9 manpage.
Signed-off-by: Andrew Kyrychenko <amkyrychenko@gmail.com>
Add spindle-offset pin to facilitate adjusting spindle position.
Convert pins to parameters where possible.
Document new pins.
Signed-off-by: Andrew Kyrychenko <amkyrychenko@gmail.com>
also:
put trivkins first in list (otherwise order alphabetically)
and at least mention all kins available in the distribution
Signed-off-by: Dewey Garrett <dgarrett@panix.com>
Retain man pages for gantrykins,gentrivkins -- add note that these
modules are superseded by trivkins and point to trivkins (kins) man page
Signed-off-by: Dewey Garrett <dgarrett@panix.com>
ini-config.txt update for joints/axes
core-components.txt update motion joints/axes
refer to motion man page instead of
listing pins in two places
iniaxis.cc remove unused items:
[TRAJ]AXES no longer used
[AXIS_n]HOME
inihal.cc remove some refs
Signed-off-by: Dewey Garrett <dgarrett@panix.com>
Unlock pins:
joint.N.unlock
joint.N.is-unlocked
may be needed for locking indexers (typically a rotary joint).
Previously, unlock pins were created based on the convention
for rotary axes (A,B,C).
For joints_axes branch, use a parameter to cause creation
of the unlock pins.
New parameter: unlock_joints_mask=
Example: loadrt motmod ... unlock_joints_mask=0x38
for joints 3,4,5
Signed-off-by: Dewey Garrett <dgarrett@panix.com>
After the removal of heuristic overrun detection, this param's value
was never changed from 0.
As noted clearly in the documentation, this parameter was for debugging
and subject to removal at any time, so we don't need to wait to remove
it.
Signed-off-by: Jeff Epler <jepler@unpythonic.net>
The factoring out of the 7i43/7i90/etc EPP driver code never progressed
beyond a good intention.
Thanks to Andy Pugh for the bug report.
Signed-off-by: Sebastian Kuzminsky <seb@highlab.com>
.. by introducing an extra .#. part of the aliased name when the same
gtag/unit/pin is associated with more than one GPIO.
Signed-off-by: Jeff Epler <jepler@unpythonic.net>
On my test rig, this creates aliases like the following excerpt:
$ halcmd show alias
Parameter Aliases:
Alias Original Name
hm2_7i92.0.pwmgen.00.out0.invert_output hm2_7i92.0.gpio.001.invert_output
hm2_7i92.0.pwmgen.00.out0.is_opendrain hm2_7i92.0.gpio.001.is_opendrain
Where possible, I tried to model the naming after the related software
implementations (stepgen, pwmgen).
I did not cover all gtag and sec_tag combos; the ones that aren't covered
will not create aliases. Mostly the combos not covered were marked
as not supported in hm2_get_pin_secondary_name.
Signed-off-by: Jeff Epler <jepler@unpythonic.net>
.. by tuning the dpll so that it can handle the +-500ppm
changes in the linux CLOCK_MONOTONIC rate that can be caused
by software like ntpd and ntpdate.
Signed-off-by: Jeff Epler <jepler@unpythonic.net>
.. by a new read-request function. This is useful on systems
with more than one hm2_eth card, because the transmission of the
second read request can overlap with the first card processing
and responding to its read request.
This also splits the multiple personalities of "queue_read",
so that the length argument to "queue_read" is no longer
overloaded to select whether to queue / actually send / actually
receive the requested reads.
It also fixes the new functions so that they return success /
failure codes correctly; before, some send/recv failures were
logged via LL_PRINT but not by return value.
It also moves rtapi_delay so that the delay is only taken after a
failed recv(). With multiple cards, this typically removes
the delay for all ethernet cards after the first.
In my hal-test harness, these measures together lowered the typical
thread1.time by >40% with two cards.
Signed-off-by: Jeff Epler <jepler@unpythonic.net>
.. including on a single gigabit ethernet interface with a
gigabit switch between the PC and multiple hostmot2 cards.
Signed-off-by: Jeff Epler <jepler@unpythonic.net>
The encoder comp has no parameters, and the min-velocity-estimate pin
is really called min-speed-estimate (because it's direction-insensitive).
Signed-off-by: Sebastian Kuzminsky <seb@highlab.com>
note: default clock-mode (0) behavior is identical to
prior behavior
Credit to: Slavko Kocjancic
Author's info:
15. November 2014 addition by eslavko
streamer.N.cur-depth, streamer.N.empty and streamer.N.underruns are
now (correctly) updated even if streamer.N.enabled is set to false.
in addition there are two new pins to enable clocking streamer.
by default values the streamer behaviour is as before update.
the new pin is
streamer.N.clock bit input
it's clock input with actions defined by clock_mode pin.
streamer.N.clock-mode s32 input
define behaviour of clock pin.
value 0 (default) freerun at every loop
value 1 means clock by falling edge
value 2 means clock by rising edge
value 3 meand clock by any edge
Signed-off-by: Dewey Garrett <dgarrett@panix.com>
Parameters added for base and platform joints coordinates. Pins added
to control forward iterations. Cleaned from unused code. Manpage updated.
Signed-off-by: Andrew Kyrychenko <amkyrychenko@gmail.com>
Signed-off-by: Sebastian Kuzminsky <seb@highlab.com>
This means there's no need to filter out the skeletons from the manpage
list in the docs/src/Submakefile any more.
Signed-off-by: Sebastian Kuzminsky <seb@highlab.com>
.. for uspace systems with /dev/spidev. This is mildly tested on odroid
u3 with a 7i43 custom firmware and with a real 7i90.
Note that on many systems out there, including odroid, /dev/spidev is lousy
for realtime performance. Some kernel-side changes, available at
https://github.com/jepler/odroid-linux.git in branch odroid-3.8.13-rt
give good performance on my odroid u3 system.
Signed-off-by: Jeff Epler <jepler@unpythonic.net>
This removes mention of the pet_watchdog function from all docs, and
updates some out-of-date information about the watchdog.
But we still export the pet_watchdog function to HAL, for now. It does
nothing but complain about its own obsolescence, watchdog-petting happens
in hm2's write function now. We should remove pet_watchdog before 2.7.
Signed-off-by: Sebastian Kuzminsky <seb@highlab.com>
* Don't require specification of MAC address at all. Instead,
request the hardware address from the attached hostmot2 ethernet
board. (of all the ways to get the MAC address automatically,
this seemed like the best one. Alternate ways involved parsing
/proc/net/arp; or using SIOCGARP which requires correctly filling
in the interface name that the hostmot2 card is connected to, and
also still requires sending a packet to the board)
* When SIOCSARP (set arp entry) fails, report it; this will happen if
you did not "sudo make setuid".
* When an ARP entry was successfully pinned in init_net, delete it
in close_net with SIOCDARP.
This is almost entirely a copy of the 7i43 driver, with a few tiny tweaks.
Should be integrated with the 7i43 driver so they share more code,
but that can happen in the master branch later.
The hm2 driver exports pins called "hm2_BLAH.X.encoder.YY.rawcounts",
but the manpage incorrectly called them ".rawcount". Fix the manpage
to match the existing pin name.
The recent addition of support for table mode to the Hostmot2 stepgen had an unfortunate
and unintended consequence. Some of the existing bitfiles did have wide stepgens included
but this was masked by the driver. Users that have configured these stepgen pins as GPIO
are likely to find that important parts of their machines no longer work.
This patch adds an extra parameter to the hm2 modparams so that system builders
have to actively choose to use the wide stepgens.
Signed-off-by: andy pugh <andy@bodgesoc.org>
ver. 1.0.2
- solved a spindle button issue and included a check so it
is no possible to exceed the limits of the spindle with
override values. i.e. a spindle has a max of 6000 rpm and
the user enters S 5500 M3 now he can increase the spindle
override, but it will be limited by 109 %, because otherwise
he would ask the spindle to run faster than allowed.
This only works for firmwares that offer that facility for more than 2 pins
(which I do not think is any of the ones in the wild)
Signed-off-by: Andy Pugh <andy@bodgesoc.org>
If no format length was specified then the formatting would break for any value with a zero in its representation.
Signed-off-by: Andy Pugh <andy@bodgesoc.org>
Fix some bugs in the lcd component
Signed-off-by: Andy Pugh <andy@bodgesoc.org>