aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB. Bogart <bbogart@users.sourceforge.net>2009-03-19 18:24:11 +0000
committerB. Bogart <bbogart@users.sourceforge.net>2009-03-19 18:24:11 +0000
commit680bd687e4ee087278bd2860dfe83800dcf9dcd4 (patch)
tree9a19ae9570bb1e5083c60a426f69a1fd56bded5d
parente155e19114e9a0914bc6ba946fdebf668ca24114 (diff)
Added abstraction to control Directed Perception Pan/Tilt units.
svn path=/trunk/abstractions/ptz-camera/; revision=10876
-rw-r--r--dperception-help.pd33
-rw-r--r--dperception.pd260
2 files changed, 293 insertions, 0 deletions
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;