Files
2026-08-20 06:17:39 +08:00

64 lines
1.3 KiB
Plaintext

setexact_for_test_suite_only
loadrt limit3
# These pos/vel/accel limits are just a hair above the limits of the
# input sine wave.
setp limit3.0.min -150
setp limit3.0.max 50
setp limit3.0.maxv 630
setp limit3.0.maxa 4000
loadrt siggen
setp siggen.0.amplitude 50
setp siggen.0.offset -50
loadrt ddt names=ddt.in-accel,ddt.in-vel,ddt.out-accel,ddt.out-vel
loadrt sampler depth=2000 cfg=ffffff
# We use the cosine signal as the input so that the velocity and
# acceleration start out at 0, and we offset it by the negative of the
# amplitude so that position start out at 0 too.
net input <= siggen.0.cosine
net input => limit3.0.in
net input => ddt.in-vel.in
net input => sampler.0.pin.0
net in-vel <= ddt.in-vel.out
net in-vel => ddt.in-accel.in
net in-vel => sampler.0.pin.1
net in-accel <= ddt.in-accel.out
net in-accel => sampler.0.pin.2
net output <= limit3.0.out
net output => ddt.out-vel.in
net output => sampler.0.pin.3
net out-vel <= ddt.out-vel.out
net out-vel => ddt.out-accel.in
net out-vel => sampler.0.pin.4
net out-accel <= ddt.out-accel.out
net out-accel => sampler.0.pin.5
loadrt threads name1=t period1=1000000
addf siggen.0.update t
addf limit3.0 t
addf ddt.in-vel t
addf ddt.in-accel t
addf ddt.out-vel t
addf ddt.out-accel t
addf sampler.0 t
start
loadusr -w halsampler -t -n 4000