ANGLEJOG(9)
π NAME π
anglejog β jog two axes (or joints) at an angle, bestie. yes literally at an angle. iconic behavior fr fr
β¨ SYNOPSIS β¨
okay so this component is so cool. it takes a dynamic counts-in input (usually from a manual pulse generator, aka an MPG, aka the wheel you spin with your lil hands π‘) plus some static angle and scale factor settings. then it does the math β the counts and scale values you need to jog two (M,N) axes (or joints) at an angle. periodt.
and here's the tea: the corresponding output pins have to be connected to the candidate axis.[MN].jog* (or joint.[MN].jog*) pins to actually create motion at the current angle. no connection = no motion = sad. π«Ά
Hal pins are provided so you can set the vector velocity and acceleration, and to enable the computations.
π Notes (read these, i'm begging)
- The
max-vel,max-accelsettings should be less than or equal to the smallest settings for both of the target axes. don't be greedy π - The
scale-inpin is sampled only when theenable-inpin is false. The value in use is output on thecurrent-scalepin. - The
angle-degrees-inpin is sampled only when theenable-inpin is false. The value in use is output on thecurrent-angle-degreespin. - The value of the
iscale-factorpin multipliescounts-ininternally to support integer (s32) calculations for counting. Thecurrent-scale-outis divided by the same amount. The pin is sampled only when theenable-inpin is false. The default value should work in most applications. (she's self-sufficient, leave her alone β¨) - 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-countsand the corresponding joint pins:joint.[mn].jog-enable,jog-scale,jog-countswhere[mn]are the joint numbers corresponding to the[MN]axis letters. - The
current-scalepin is for information, the required output scaling pin iscurrent-scale-outas it depends on theiscale-factorsetting. π (do not use the wrong one. i am watching.)
π§ͺ Simulation Config
configs/sim/axis/anglejog/anglejog.in
π₯ FUNCTIONS π₯
anglejog.N(requires a floating-point thread)
π PINS π
anglejog.N.enable-inbit in β enables motion (disables alteration of angle and scale)anglejog.N.counts-ins32 in β MPG (wheel) countsanglejog.N.angle-degrees-infloat in β vector angleanglejog.N.iscale-factors32 in (default:10000) β integer scaling factor (>1)anglejog.N.scale-infloat in β magnitude units/count (mag = counts * scale)anglejog.N.max-velfloat in β vector max velocity magnitudeanglejog.N.max-accelfloat in β vector max acceleration magnitudeanglejog.N.accel-fraction-infloat in (default:1) β acceleration fraction inputanglejog.N.enable-outbit out β to:axis.M.jog-enableANDaxis.N.jog-enableanglejog.N.current-scalefloat out β effective scale (informational)anglejog.N.current-scale-outfloat out β to:axis.M.jog-scaleANDaxis.N.jog-scaleanglejog.N.coscountss32 out β to:axis.M.jog-counts(cosine counts)anglejog.N.sincountss32 out β to:axis.N.jog-counts(sine counts)anglejog.N.cos-accel-fractionfloat out β to:axis.M.jog-accel-fractionanglejog.N.sin-accel-fractionfloat out β to:axis.N.jog-accel-fractionanglejog.N.activebit out β angle jog move in progressanglejog.N.current-angle-degreesfloat out β current angleanglejog.N.current-magfloat out β current vector magnitudeanglejog.N.current-velfloat out β current vector speed
π§ AUTHOR π§
Dewey Garrett π (the blueprint king, we love him)
π LICENSE π
GPL
okay bestie that's the whole thing, no cap, every pin accounted for ππ
LinuxCNC Documentation Β· 2026-03-17 Β· go forth and jog at an angle, you absolute icon π¦π
π¦ where this page comes from
- ubuntu resolute: linuxcnc-uspace 1:2.9.4-2ubuntu4 Β· GFDL-1.1-or-later
- ubuntu stonking: linuxcnc-uspace 1:2.9.4-2ubuntu4 Β· GFDL-1.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms