From 680bd687e4ee087278bd2860dfe83800dcf9dcd4 Mon Sep 17 00:00:00 2001 From: "B. Bogart" Date: Thu, 19 Mar 2009 18:24:11 +0000 Subject: Added abstraction to control Directed Perception Pan/Tilt units. svn path=/trunk/abstractions/ptz-camera/; revision=10876 --- dperception-help.pd | 33 +++++++ dperception.pd | 260 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 293 insertions(+) create mode 100644 dperception-help.pd create mode 100644 dperception.pd diff --git a/dperception-help.pd b/dperception-help.pd new file mode 100644 index 0000000..7b9afbb --- /dev/null +++ b/dperception-help.pd @@ -0,0 +1,33 @@ +#N canvas 0 0 638 970 10; +#X obj 41 414 dperception 0; +#X text 20 20 dperception is an abstraction to control directed perception +pan/tilt units. Requires zexy and comport.; +#X msg 41 112 pan \$1; +#X text 130 414 0 is the commport ID; +#X msg 92 165 tilt \$1; +#X floatatom 41 90 5 0 0 0 - - -; +#X floatatom 92 141 5 0 0 0 - - -; +#X text 90 108 pan: -3071 to 3071; +#X text 150 164 tilt: -888 to 586; +#X floatatom 106 204 5 0 0 0 - - -; +#X floatatom 157 255 5 0 0 0 - - -; +#X msg 106 226 panspeed \$1; +#X msg 157 279 tiltspeed \$1; +#X text 190 236 pan & tilt: 1 to 4000; +#X msg 174 318 pan -3071 \, tilt -888; +#X msg 174 345 pan 3071 \, tilt 586; +#X msg 174 371 pan 0 \, tilt 0; +#X text 331 372 Centre; +#X text 331 345 Upper Left; +#X text 331 318 Lower Right; +#X connect 2 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 2 0; +#X connect 6 0 4 0; +#X connect 9 0 11 0; +#X connect 10 0 12 0; +#X connect 11 0 0 0; +#X connect 12 0 0 0; +#X connect 14 0 0 0; +#X connect 15 0 0 0; +#X connect 16 0 0 0; diff --git a/dperception.pd b/dperception.pd new file mode 100644 index 0000000..6546f1d --- /dev/null +++ b/dperception.pd @@ -0,0 +1,260 @@ +#N canvas 0 0 638 949 10; +#X obj 102 418 list append 10; +#X obj 35 321 list prepend 112 112; +#X obj 102 442 list trim; +#X obj 102 466 drip; +#X text 170 318 p p; +#X text 199 415 newline; +#X obj 62 59 inlet; +#N canvas 0 0 638 970 int2ascii 0; +#X obj 64 196 symbol2list symbol; +#X msg 169 173 symbol; +#X obj 169 152 loadbang; +#X obj 64 172 makefilename %d; +#X obj 64 270 drip; +#X obj 64 293 expr $f1+48; +#X text 142 293 Dec2Ascii; +#X obj 133 319 list; +#X obj 144 343 list prepend; +#X obj 64 343 list prepend; +#X text 175 381 check for negs; +#X obj 45 381 expr $f1 != abs($f1); +#X obj 64 147 abs; +#X obj 45 402 sel 1 0; +#X obj 45 432 list; +#X obj 81 433 list; +#X obj 45 456 list prepend 45; +#X obj 45 104 t f f b; +#X text 12 9 Convert a signed float into a bytestring suitable for +use with [comport]; +#X obj 45 74 inlet; +#X obj 58 486 outlet; +#X floatatom 90 78 5 0 0 0 - - -; +#X text 290 67 Dec - Char \; 48 - 0 \; 49 - 1 \; 50 - 2 \; 51 - 3 \; +52 - 4 \; 53 - 5 \; 54 - 6 \; 55 - 7 \; 56 - 8 \; 57 - 9; +#X connect 0 0 4 0; +#X connect 1 0 0 1; +#X connect 2 0 1 0; +#X connect 3 0 0 0; +#X connect 4 0 5 0; +#X connect 5 0 9 0; +#X connect 7 0 9 1; +#X connect 8 0 9 1; +#X connect 9 0 8 0; +#X connect 9 0 15 1; +#X connect 9 0 14 1; +#X connect 11 0 13 0; +#X connect 12 0 3 0; +#X connect 13 0 14 0; +#X connect 13 1 15 0; +#X connect 14 0 16 0; +#X connect 15 0 20 0; +#X connect 16 0 20 0; +#X connect 17 0 11 0; +#X connect 17 1 12 0; +#X connect 17 2 7 0; +#X connect 19 0 17 0; +#X connect 21 0 17 0; +#X restore 35 294 pd int2ascii; +#X text 28 219 pan: -3071 to 3071; +#X obj 102 513 sel 42 33; +#X obj 102 560 print dperception; +#X msg 102 537 ACK; +#X msg 132 537 ERROR; +#X obj 23 240 moses -3071; +#X obj 216 320 list prepend 116 112; +#N canvas 0 0 638 970 int2ascii 0; +#X obj 64 196 symbol2list symbol; +#X msg 169 173 symbol; +#X obj 169 152 loadbang; +#X obj 64 172 makefilename %d; +#X obj 64 270 drip; +#X obj 64 293 expr $f1+48; +#X text 142 293 Dec2Ascii; +#X obj 133 319 list; +#X obj 144 343 list prepend; +#X obj 64 343 list prepend; +#X text 175 381 check for negs; +#X obj 45 381 expr $f1 != abs($f1); +#X obj 64 147 abs; +#X obj 45 402 sel 1 0; +#X obj 45 432 list; +#X obj 81 433 list; +#X obj 45 456 list prepend 45; +#X obj 45 104 t f f b; +#X text 12 9 Convert a signed float into a bytestring suitable for +use with [comport]; +#X obj 45 74 inlet; +#X obj 58 486 outlet; +#X floatatom 90 78 5 0 0 0 - - -; +#X connect 0 0 4 0; +#X connect 1 0 0 1; +#X connect 2 0 1 0; +#X connect 3 0 0 0; +#X connect 4 0 5 0; +#X connect 5 0 9 0; +#X connect 7 0 9 1; +#X connect 8 0 9 1; +#X connect 9 0 8 0; +#X connect 9 0 15 1; +#X connect 9 0 14 1; +#X connect 11 0 13 0; +#X connect 12 0 3 0; +#X connect 13 0 14 0; +#X connect 13 1 15 0; +#X connect 14 0 16 0; +#X connect 15 0 20 0; +#X connect 16 0 20 0; +#X connect 17 0 11 0; +#X connect 17 1 12 0; +#X connect 17 2 7 0; +#X connect 19 0 17 0; +#X connect 21 0 17 0; +#X restore 216 296 pd int2ascii; +#X text 341 318 t p; +#X obj 159 243 moses -888; +#X text 164 218 tilt: -888 to 586; +#X text 20 20 Control Directed Perception Pan/Tilt Units \; Tested +on a PTU-D46 with factory limits.; +#X obj 102 488 comport \$1 9600; +#X obj 136 466 inlet; +#X obj 62 87 route pan tilt panspeed tiltspeed; +#N canvas 0 0 638 970 int2ascii 0; +#X obj 64 196 symbol2list symbol; +#X msg 169 173 symbol; +#X obj 169 152 loadbang; +#X obj 64 172 makefilename %d; +#X obj 64 270 drip; +#X obj 64 293 expr $f1+48; +#X text 142 293 Dec2Ascii; +#X obj 133 319 list; +#X obj 144 343 list prepend; +#X obj 64 343 list prepend; +#X text 175 381 check for negs; +#X obj 45 381 expr $f1 != abs($f1); +#X obj 64 147 abs; +#X obj 45 402 sel 1 0; +#X obj 45 432 list; +#X obj 81 433 list; +#X obj 45 456 list prepend 45; +#X obj 45 104 t f f b; +#X text 12 9 Convert a signed float into a bytestring suitable for +use with [comport]; +#X obj 45 74 inlet; +#X obj 58 486 outlet; +#X floatatom 90 78 5 0 0 0 - - -; +#X connect 0 0 4 0; +#X connect 1 0 0 1; +#X connect 2 0 1 0; +#X connect 3 0 0 0; +#X connect 4 0 5 0; +#X connect 5 0 9 0; +#X connect 7 0 9 1; +#X connect 8 0 9 1; +#X connect 9 0 8 0; +#X connect 9 0 15 1; +#X connect 9 0 14 1; +#X connect 11 0 13 0; +#X connect 12 0 3 0; +#X connect 13 0 14 0; +#X connect 13 1 15 0; +#X connect 14 0 16 0; +#X connect 15 0 20 0; +#X connect 16 0 20 0; +#X connect 17 0 11 0; +#X connect 17 1 12 0; +#X connect 17 2 7 0; +#X connect 19 0 17 0; +#X connect 21 0 17 0; +#X restore 549 297 pd int2ascii; +#X obj 549 321 list prepend 116 115; +#X text 677 322 t s; +#N canvas 0 0 638 970 int2ascii 0; +#X obj 64 196 symbol2list symbol; +#X msg 169 173 symbol; +#X obj 169 152 loadbang; +#X obj 64 172 makefilename %d; +#X obj 64 270 drip; +#X obj 64 293 expr $f1+48; +#X text 142 293 Dec2Ascii; +#X obj 133 319 list; +#X obj 144 343 list prepend; +#X obj 64 343 list prepend; +#X text 175 381 check for negs; +#X obj 45 381 expr $f1 != abs($f1); +#X obj 64 147 abs; +#X obj 45 402 sel 1 0; +#X obj 45 432 list; +#X obj 81 433 list; +#X obj 45 456 list prepend 45; +#X obj 45 104 t f f b; +#X text 12 9 Convert a signed float into a bytestring suitable for +use with [comport]; +#X obj 45 74 inlet; +#X obj 58 486 outlet; +#X floatatom 90 78 5 0 0 0 - - -; +#X text 290 67 Dec - Char \; 48 - 0 \; 49 - 1 \; 50 - 2 \; 51 - 3 \; +52 - 4 \; 53 - 5 \; 54 - 6 \; 55 - 7 \; 56 - 8 \; 57 - 9; +#X connect 0 0 4 0; +#X connect 1 0 0 1; +#X connect 2 0 1 0; +#X connect 3 0 0 0; +#X connect 4 0 5 0; +#X connect 5 0 9 0; +#X connect 7 0 9 1; +#X connect 8 0 9 1; +#X connect 9 0 8 0; +#X connect 9 0 15 1; +#X connect 9 0 14 1; +#X connect 11 0 13 0; +#X connect 12 0 3 0; +#X connect 13 0 14 0; +#X connect 13 1 15 0; +#X connect 14 0 16 0; +#X connect 15 0 20 0; +#X connect 16 0 20 0; +#X connect 17 0 11 0; +#X connect 17 1 12 0; +#X connect 17 2 7 0; +#X connect 19 0 17 0; +#X connect 21 0 17 0; +#X restore 379 293 pd int2ascii; +#X text 514 317 p s; +#X obj 379 320 list prepend 112 115; +#X text 327 215 tilt: 1 to 4000; +#X obj 340 246 moses 1; +#X obj 492 244 moses 1; +#X obj 86 266 moses 3072; +#X obj 216 269 moses 587; +#X obj 379 269 moses 4001; +#X obj 549 270 moses 4001; +#X connect 0 0 2 0; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 3 0 20 0; +#X connect 6 0 22 0; +#X connect 7 0 1 0; +#X connect 9 0 11 0; +#X connect 9 1 12 0; +#X connect 11 0 10 0; +#X connect 12 0 10 0; +#X connect 13 1 32 0; +#X connect 14 0 0 0; +#X connect 15 0 14 0; +#X connect 17 1 33 0; +#X connect 20 0 9 0; +#X connect 21 0 20 0; +#X connect 22 0 13 0; +#X connect 22 1 17 0; +#X connect 22 2 30 0; +#X connect 22 3 31 0; +#X connect 23 0 24 0; +#X connect 24 0 0 0; +#X connect 26 0 28 0; +#X connect 28 0 0 0; +#X connect 30 1 34 0; +#X connect 31 1 35 0; +#X connect 32 0 7 0; +#X connect 33 0 15 0; +#X connect 34 0 26 0; +#X connect 35 0 23 0; -- cgit v1.2.1