NAME

joyhandle - sets nonlinear joypad movements, deadbands and scales

SYNOPSIS

loadrt joyhandle [count= N|names=name1[,name2...]]

DESCRIPTION

The component joyhandle uses the following formula for a non linear joypad movements:
 
y = (scale * (a*x^power + b*x)) + offset
 
The parameters a and b are adjusted in such a way, that the function starts at (deadband,offset) and ends at (1,scale+offset).
 
Negative values will be treated point symmetrically to origin. Values -deadband < x < +deadband will be set to zero.
 
Values x > 1 and x < -1 will be skipped to ±(scale+offset). Invert transforms the function to a progressive movement.
 
With power one can adjust the nonlinearity (default = 2). Default for deadband is 0.
 
Valid values are: power >= 1.0 (reasonable values are 1.x .. 4‐5, take higher power‐values for higher deadbands (>0.5), if you want to start with a nearly horizontal slope), 0 <= deadband < 0.99 (reasonable 0.1).
 
An additional offset component can be set in special cases (default = 0).
 
All values can be adjusted for each instance separately.
 

FUNCTIONS

joyhandle.N (requires a floating-point thread)

PINS

joyhandle.N.in float in
 
joyhandle.N.out float out

PARAMETERS

joyhandle.N.power float rw (default: 2.0)
 
joyhandle.N.deadband float rw (default: 0.)
 
joyhandle.N.scale float rw (default: 1.)
 
joyhandle.N.offset float rw (default: 0.)
 
joyhandle.N.inverse bit rw (default: 0)

AUTHOR

Paul Willutzki

LICENSE

GPL