Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- set runvq to false.
- wait 0.1.
- set runvq to true.
- set vq to queue().
- set vqtime to 5.
- set runvq to true.
- set vlast to lex().
- set vlast["time"] to time:seconds.
- set vlast["speed"] to airspeed.
- set vlast["accel"] to 0.
- set accel to 0.
- set runningacceltotal to 0.
- set vHz to 3.
- on round(time:seconds * vHz) {
- local vdata is lex().
- set vdata["time"] to time:seconds.
- set vdata["speed"] to airspeed.
- set deltatime to vdata:time - vlast:time.
- set deltaspeed to vdata:speed - vlast:speed.
- set vdata["accel"] to deltaspeed / deltatime.
- set vlast to vdata.
- vq:push(vdata).
- set runningacceltotal to runningacceltotal + vdata:accel.
- if (time:seconds - vq:peek():time) > vqtime {
- set runningacceltotal to runningacceltotal - vq:pop():accel.
- }
- set accel to runningacceltotal / vq:length.
- return runvq.
- }
- set autoblade to true.
- set deploystep to 0.1.
- set accelwiggle to 0.1.
- set acHz to 10.
- on round(time:seconds * acHz) {
- if abs(accel) < accelwiggle {
- set deploy to max(9,min(89,deploy + deploystep)).
- set deploystep to (accel / abs(accel))*deploystep.
- }
- return autoblade.
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement