# LIMIT3

NAME

SYNOPSIS

FUNCTIONS

PINS

LICENSE

## NAME

limit3 −
Follow input signal while obeying limits

## SYNOPSIS

Limit the
output signal to fall between min and max, limit its slew
rate to less than maxv per second, and limit its second
derivative to less than maxa per second squared. When the
signal is a position, this means that the position,
velocity, and acceleration are limited.

## FUNCTIONS

**limit3.***N*

(requires a floating-point
thread)

## PINS

**limit3.***N***.in**

float in

**limit3.***N***.enable**

bit in (default: *1*) 1:
out follows in, 0: out returns to 0 (always per
constraints)

**limit3.***N***.out**

float out

**limit3.***N***.load**

bit in (default: *0*) When
TRUE, immediately set **out to in**, ignoring maxv and
maxa

**limit3.***N***.min**

float in (default:
*-1e20*)

**limit3.***N***.max**

float in (default:
*1e20*)

**limit3.***N***.maxv**

float in (default:
*1e20*)

**limit3.***N***.maxa**

float in (default:
*1e20*)

**limit3.***N***.smooth-steps**

u32 in (default: *2*)
Smooth out acceleration this many periods before reaching
input or max/min limit. Higher values avoid oscillation, but
will accelerate slightly more slowly.

## LICENSE

GPL