rendered paste body# ddt module laden
loadrt blocks ddt=6 hypot=2 comp=1
#dann die funktionen aufrufen
addf ddt.0 servo-thread
addf ddt.1 servo-thread
addf ddt.2 servo-thread
addf ddt.3 servo-thread
addf comp.0 servo-thread
newsig Xvel float
linksp Xpos => ddt.0.in
linkps ddt.0.out => Xvel
newsig Yvel float
linksp Ypos => ddt.1.in
linkps ddt.1.out => Yvel
newsig Zvel float
linksp Zpos => ddt.2.in
linkps ddt.2.out => Zvel
#da wir jetzt alle Geschwindigkeiten haben, müssen wir diese kombinieren (Hypot macht das)
newsig XYvel float
linksp Xvel => hypot.0.in0
linksp Yvel => hypot.0.in1
linksp XYvel <= hypot.0.out
newsig XYZvel float
linksp Zvel => hypot.1.in0
linksp XYvel => hypot.1.in1
linksp XYZvel <= hypot.1.out
#jetzt noch die beschleunigung von XYZvel kalkulieren
newsig XYZacc float
linksp XYZvel => ddt.3.in
linksp ddt.3.out => XYZacc
#dann diese mit einer bestimmten größe vergleichen
newsig zero float
sets zero 0.0
linksp XYZacc => comp.0.in0
linksp zero => comp.0.in1
linksp boost => comp.0.out
linksp boost => parport.0.pin-15-out
setp parport.0.pin-15-out-invert