LinuxCNC Documentation

SYNOPSIS

loadrt anglejog [count=N|names=name1[,name2…​]]

DESCRIPTION

The anglejog component accepts a dynamic counts-in input (typically from a manual pulse generator (MPG)) and static angle and scale factor settings. It computes the counts and scale values required to jog two (M,N) axes (or joints) at an angle. The corresponding output pins must be connected to the candidate axis.[MN].jog (or joint.[MN].jog) pins to create motion at the current angle. HAL pins are provided to set the vector velocity and acceleration and to enable the computations.

Notes:

  1. The max-vel, max-accel settings should be less than or equal to the smallest settings for both of the target axes.

  2. The scale-in pin is sampled only when the enable-in pin is false. The value in use is output on the current-scale pin.

  3. The angle-degrees-in pin is sampled only when the enable-in pin is false. The value in use is output on the current-angle-degrees pin.

  4. The value of the iscale-factor pin multiplies counts-in internally to support integer (s32) calculations for counting. The current-scale-out is divided by the same amount. The pin is sampled only when the enable-in pin is false. The default value should work in most applications.

  5. For identity kins machines that support both world jogging (axis letter) and joint jogging (joint number), connections are needed for both the axis pins: axis.[MN].jog-enable, jog-scale, jog-counts and the corresponding joint pins: joint.[mn].jog-enable, jog-scale, jog-counts where [mn] are the joint numbers corresponding to the [MN] axis letters.

  6. The current-scale pin is for information, the required output scaling pin is current-scale-out as it depends on the iscale-factor setting.

Simulation Config: configs/sim/axis/anglejog/anglejog.in

FUNCTIONS

anglejog.N

PINS

anglejog.N.enable-in bool in

enables motion (disables alteration of angle and scale)

anglejog.N.counts-in si32 in

MPG (wheel) counts

anglejog.N.angle-degrees-in real in

vector angle

anglejog.N.iscale-factor si32 in (default: 10000)

integer scaling factor (>1)

anglejog.N.scale-in real in

magnitude units/count (mag = counts * scale)

anglejog.N.max-vel real in

vector max velocity magnitude

anglejog.N.max-accel real in

vector max acceleration magnitude

anglejog.N.accel-fraction-in real in (default: 1)

acceleration fraction input

anglejog.N.enable-out bool out

to: axis.M.jog-enable AND axis.N.jog-enable

anglejog.N.current-scale real out

effective scale (informational)

anglejog.N.current-scale-out real out

to: axis.M.jog-scale AND axis.N.jog-scale

anglejog.N.coscounts si32 out

to: axis.M.jog-counts (cosine counts)

anglejog.N.sincounts si32 out

to: axis.N.jog-counts (sine counts)

anglejog.N.cos-accel-fraction real out

to: axis.M.jog-accel-fraction

anglejog.N.sin-accel-fraction real out

to: axis.N.jog-accel-fraction

anglejog.N.active bool out

angle jog move in progress

anglejog.N.current-angle-degrees real out

current angle

anglejog.N.current-mag real out

current vector magnitude

anglejog.N.current-vel real out

current vector speed

AUTHOR

Dewey Garrett

LICENSE

GPL