LIMIT_AXIS(9)

NAME
limit_axis - Dynamic range based axis limits

SYNOPSIS

loadrt limit_axis [count=N|names=name1[,name2...]] [personality=P1[,P2...]]

DESCRIPTION

Limit axis to certain limits at varying inputs.

For example on a spindle with C rotation, to avoid hitting a gantry when the height is above Z-10.

    • Use Z axis as feedback

    • Use 2 ranges (0,-10) (-10, -40)

    • When Z is above 10, C rotation is limited to range 0

    • When Z is below 10, C rotation is limited to range 1

Usage:

    loadrt limit_axis count=3 personality=2,3,2
    # or
    loadrt limit_axis names=limit_x,limit_y,limit_z personality=2,3,2

The personality argument defines how many ranges are supported by each instance. Note that no spaces can be used in the names= and personality= parameters.

Caveats:

    • Searches ranges from 0 to 9 and will take the first range that matches

    • Ranges are inclusive min_range ≤ feedback ≤ max_range

    • Max can not be less than minimum for any group

    • sticky indicates, to not check other ranges if the feedback is still in the current range

    • enable allows for a range to be turned on/off, for cases such as avoiding a tool changer, but allowing sometimes

FUNCTIONS

limit-axis.N (requires a floating-point thread)

PINS

limit-axis.N.error-no-range bit out
    error pin indicating that no range matches the fb

limit-axis.N.min-output float out
    Minimum limit output

limit-axis.N.max-output float out
    Maximum limit output

limit-axis.N.fb float in
    Feedback pin, the value of this pin determines which range is active

limit-axis.N.current-range u32 out
    Indicates which range is currently active

limit-axis.N.min-limit-MM float in (MM=00..personality)
    The array of minimum limits to select from

limit-axis.N.max-limit-MM float in (MM=00..personality)
    The array of macimum limits

limit-axis.N.min-range-MM float in (MM=00..personality)
    Defines the range of values with which the fb is compared to set the range

limit-axis.N.max-range-MM float in (MM=00..personality)
    Defines the range of values with which the fb is compared to set the range

limit-axis.N.enable-MM bit in (MM=00..personality)
    Used to enable and disable a specific range

limit-axis.N.sticky-MM bit in (MM=00..personality)
    Used to make specific range sticky or not

limit-axis.N.error-range-MM bit out (MM=00..personality) (default: 1)
    Error bit indicating that the fb pin falls outside all ranges

limit-axis.N.error-limit-MM bit out (MM=00..personality) (default: 1)
    Error bit indicating that the max limit is not larger than the min limit

AUTHOR

Chad Woitas

LICENSE

GPL