Machinekit

Machinekit

Machinekit Documentation

HAL Component — ILOWPASSV2

INSTANTIABLE COMPONENTS — General

All instantiable components can be loaded in two manners

Using loadrt with or without count= | names= parameters as per legacy components
Using newinst, which names the instance and allows further parameters and arguments
primarily pincount= which can set the number of pins created for that instance (where applicable)

NAME

ilowpassv2 — Low-pass filter with integer inputs and outputs

SYNOPSIS

ilowpassv2

USAGE SYNOPSIS

loadrt ilowpassv2
OR
newinst ilowpassv2 <newinstname> [ pincount=N | iprefix=prefix ] [instanceparamX=X | argX=X ]

( args in [ ] denote possible args and parameters, may not be used in all components )

DESCRIPTION

While it may find other applications, this component was written to create smoother motion while jogging with an MPG.

In a machine with high acceleration, a short jog can behave almost like a step function. By putting the \fBilowpass\fR component between the MPG encoder \fBcounts\fR output and the axis \fRjog-counts\fR input, this can be smoothed.

Choose \fBscale\fR conservatively so that during a single session there will never be more than about 2e9/\fBscale\fR pulses seen on the MPG. Choose \fBgain\fR according to the smoothing level desired. Divide the \fRaxis.\fIN\fR.jog-scale\fR values by \fBscale\fR.

FUNCTIONS

ilowpassv2.N.funct ( OR <newinstname>.funct (requires a floating-point thread) )

Update the output based on the input and parameters

PINS

AUTHOR

Jeff Epler <jepler@unpythonic.net>

LICENCE

GPL