#N canvas 335 29 859 661 10; #X text 334 195 coefficients that determine how fast; #X text 334 207 the effect increases in that direction; #X text 334 218 range = [-1 \, 1]; #X text 386 301 width of the dead-zone \, where there is no effect ; #X text 386 326 range is (like the joystick output) [-32768 \, 32767] ; #X text 387 312 one for each axis; #X text 393 424 position of the dead-zone in the joystick range; #X text 393 436 one for each axis; #X text 393 448 range is also [-32768 \, 32767]; #X text 366 526 duration in ms \, 0 is infinite; #X text 531 555 levels \, range = [0 \, 1]; #X text 398 74 these effects set up 2 axis (x and y) and you specify the parameters for each direction.; #X obj 474 556 hsl 40 15 0 1 0 0 empty empty down 5 8 1 11 -261689 -1 -1 0 0; #X obj 420 556 hsl 40 15 0 1 0 0 empty empty up 5 8 1 11 -261689 -1 -1 0 0; #X obj 367 556 hsl 40 15 0 1 0 0 empty empty left 5 8 1 11 -261689 -1 -1 0 0; #X obj 313 556 hsl 40 15 0 1 0 0 empty empty right 5 8 1 11 -261689 -1 -1 0 0; #X msg 297 483 center-y \$1; #X msg 292 429 center-x \$1; #X obj 300 450 hsl 75 15 -32767 32767 0 1 empty empty center-x 5 8 1 11 -228992 -1 -1 5958 0; #X obj 295 396 hsl 75 15 -32767 32767 0 1 empty empty center-x 5 8 1 11 -228992 -1 -1 3700 0; #X obj 285 340 hsl 75 15 -32767 32767 0 1 empty empty deadband-y 5 8 1 11 -225280 -1 -1 3734 0; #X msg 282 373 deadband-y \$1; #X msg 279 317 deadband-x \$1; #X obj 282 284 hsl 75 15 -32767 32767 0 1 empty empty deadband-x 5 8 1 11 -225280 -1 -1 3836 0; #X msg 226 258 down-coeff \$1; #X obj 229 225 hsl 90 15 -1 1 0 1 empty empty down-coeff 5 8 1 11 -257472 -1 -1 0 0; #X obj 223 170 hsl 90 15 -1 1 0 1 empty empty up-coeff 5 7 1 11 -257472 -1 -1 1335 0; #X obj 120 225 hsl 90 15 -1 1 0 0 empty empty left-coeff 5 7 1 11 -257472 -1 -1 0 0; #X obj 103 170 hsl 90 15 -1 1 0 1 empty empty right-coeff 5 7 1 10 -257472 -1 -1 8900 0; #X msg 220 203 up-coeff \$1; #X msg 117 258 left-coeff \$1; #X msg 100 203 right-coeff \$1; #X obj 471 575 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 -233017 -1 -1 0 256; #X obj 417 575 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 -233017 -1 -1 0 256; #X obj 364 575 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 -233017 -1 -1 0 256; #X obj 310 575 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 -233017 -1 -1 0 256; #X obj 312 505 hsl 245 17 0 5000 0 0 empty empty duration 25 9 1 12 -261681 -1 -1 0 0; #X obj 309 527 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 -233017 -1 -1 0 256; #X text 213 14 -- control force-feedback spring effect; #X obj 195 599 ff-spring 0 2000 0.5 0.5 0 0.1; #X msg 93 503 bang; #X msg 84 582 stop; #X text 32 483 start the effect; #X text 37 499 with a; #X obj 85 533 bng 25 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 -1; #X obj 53 533 bng 25 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 -1; #X text 141 140 delay before starting; #X text 111 69 minimum time between triggers; #X obj 24 43 hsl 290 17 0 5000 0 1 empty empty interval 25 9 1 12 -225271 -1 -1 2890 0; #X msg 21 80 interval \$1; #X msg 60 144 delay \$1; #X obj 63 108 hsl 230 17 0 5000 0 1 empty empty delay 25 9 1 12 -228992 -1 -1 1145 0; #X obj 60 128 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 -233017 -1 -1 250 256; #X obj 21 63 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 -233017 -1 -1 500 256; #X obj 100 187 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 -233017 -1 -1 1 256; #X obj 117 242 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 -233017 -1 -1 0 256; #X obj 226 242 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 -233017 -1 -1 -1 256; #X obj 220 187 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 -233017 -1 -1 -0.7 256; #X obj 279 301 nbx 6 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 -233017 -1 -1 1204.41 256; #X obj 282 357 nbx 6 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 -233017 -1 -1 301.102 256; #X obj 292 413 nbx 6 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 -233017 -1 -1 0 256; #X obj 297 467 nbx 6 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 -233017 -1 -1 19996.7 256; #X obj 3 3 cnv 15 850 30 empty empty [ff-spring] 15 15 1 18 -257472 -1 0; #X obj 568 135 pddp_open all_about_haptics; #X text 456 134 For more info:; #X text 415 599 arguments are: device# duration right- left- up- down-level ; #X text 238 619 the outlet gives the effect number on the device or -1 if it is not loaded.; #X floatatom 195 624 5 0 0 0 - - -; #X text 397 58 [ff-spring] is a "conditional effect".; #X text 396 110 [ff-friction] has the same methods; #X msg 36 387 load; #X msg 73 387 unload; #X text 9 369 load/unload effect; #X connect 12 0 32 0; #X connect 13 0 33 0; #X connect 14 0 34 0; #X connect 15 0 35 0; #X connect 16 0 39 0; #X connect 17 0 39 0; #X connect 18 0 61 0; #X connect 19 0 60 0; #X connect 20 0 59 0; #X connect 21 0 39 0; #X connect 22 0 39 0; #X connect 23 0 58 0; #X connect 24 0 39 0; #X connect 25 0 56 0; #X connect 26 0 57 0; #X connect 27 0 55 0; #X connect 28 0 54 0; #X connect 29 0 39 0; #X connect 30 0 39 0; #X connect 31 0 39 0; #X connect 32 0 39 5; #X connect 33 0 39 4; #X connect 34 0 39 3; #X connect 35 0 39 2; #X connect 36 0 37 0; #X connect 37 0 39 1; #X connect 39 0 67 0; #X connect 40 0 39 0; #X connect 41 0 39 0; #X connect 44 0 39 0; #X connect 45 0 41 0; #X connect 48 0 53 0; #X connect 49 0 39 0; #X connect 50 0 39 0; #X connect 51 0 52 0; #X connect 52 0 50 0; #X connect 53 0 49 0; #X connect 54 0 31 0; #X connect 55 0 30 0; #X connect 56 0 24 0; #X connect 57 0 29 0; #X connect 58 0 22 0; #X connect 59 0 21 0; #X connect 60 0 17 0; #X connect 61 0 16 0; #X connect 70 0 39 0; #X connect 71 0 39 0;