aboutsummaryrefslogtreecommitdiff
path: root/motionplus_rate2angle.pd
diff options
context:
space:
mode:
Diffstat (limited to 'motionplus_rate2angle.pd')
-rw-r--r--motionplus_rate2angle.pd120
1 files changed, 120 insertions, 0 deletions
diff --git a/motionplus_rate2angle.pd b/motionplus_rate2angle.pd
new file mode 100644
index 0000000..cb4d87d
--- /dev/null
+++ b/motionplus_rate2angle.pd
@@ -0,0 +1,120 @@
+#N canvas 0 0 450 357 10;
+#N canvas 0 0 704 467 anglespeed 0;
+#X obj 149 57 loadbang;
+#X obj 95 108 t l l;
+#X msg 95 85 \$2 \$1;
+#X obj 127 151 route 1;
+#X obj 95 232 unpack;
+#X obj 95 255 pack;
+#X obj 95 277 route 0 1;
+#X obj 95 299 / 4;
+#X obj 95 321 t f;
+#X obj 125 299 / 20;
+#X obj 149 78 t b b;
+#X obj 149 100 f 8063;
+#X obj 134 254 - 8063;
+#X msg 149 122 set \$1;
+#X obj 95 36 inlet <angle_rate> <low_speed>;
+#X obj 95 393 outlet;
+#X obj 127 173 mavg 1000;
+#X obj 346 58 r \$0-reset;
+#X obj 173 223 t f f;
+#X obj 173 201 f 8063;
+#X connect 0 0 10 0;
+#X connect 1 0 4 0;
+#X connect 1 1 3 0;
+#X connect 2 0 1 0;
+#X connect 3 0 16 0;
+#X connect 4 0 5 0;
+#X connect 4 1 12 0;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 6 1 9 0;
+#X connect 7 0 8 0;
+#X connect 8 0 15 0;
+#X connect 9 0 8 0;
+#X connect 10 0 11 0;
+#X connect 10 1 19 0;
+#X connect 11 0 13 0;
+#X connect 12 0 5 1;
+#X connect 13 0 16 0;
+#X connect 14 0 2 0;
+#X connect 16 0 19 1;
+#X connect 17 0 10 0;
+#X connect 18 0 12 1;
+#X connect 18 1 11 1;
+#X connect 19 0 18 0;
+#X restore 51 155 pd anglespeed;
+#N canvas 0 0 450 300 deadzone 0;
+#X obj 90 101 t f;
+#X obj 90 123 moses -0.5;
+#X obj 157 144 moses 0.5;
+#X msg 157 166 0;
+#X obj 158 104 * -1;
+#X obj 157 188 t f;
+#X obj 157 210 outlet;
+#X obj 158 82 t f f;
+#X obj 90 46 inlet dphi;
+#X obj 225 45 r \$0-deadzone;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 1 1 2 0;
+#X connect 2 0 3 0;
+#X connect 2 1 5 0;
+#X connect 3 0 5 0;
+#X connect 4 0 1 1;
+#X connect 5 0 6 0;
+#X connect 7 0 4 0;
+#X connect 7 1 2 1;
+#X connect 8 0 0 0;
+#X connect 9 0 7 0;
+#X restore 51 202 pd deadzone;
+#N canvas 0 0 450 300 accumulate 0;
+#X obj 95 179 t f;
+#X obj 95 201 +;
+#X obj 95 223 t f f;
+#X msg 143 180 0;
+#X obj 95 156 inlet;
+#X obj 95 245 outlet;
+#X obj 143 161 r \$0-reset;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 2 1 1 1;
+#X connect 3 0 1 1;
+#X connect 4 0 0 0;
+#X connect 6 0 3 0;
+#X restore 51 257 pd accumulate;
+#N canvas 0 0 1087 300 pertime 0;
+#X obj 83 53 inlet;
+#X obj 83 75 t f;
+#X obj 83 97 / 100;
+#X obj 83 119 outlet;
+#X text 137 96 <-- currently hardcoded to 10 fps \; LATER make use
+of the timetags in the cwiid message and see whether this helps;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X restore 51 177 pd pertime;
+#X obj 268 137 route reset deadzone;
+#X obj 268 159 t b;
+#X obj 268 181 s \$0-reset;
+#X obj 268 115 inlet control;
+#X obj 51 128 inlet angle_rate;
+#X obj 51 279 outlet angle;
+#X obj 336 212 t f;
+#X obj 336 234 s \$0-deadzone;
+#X obj 183 279 outlet dAngle;
+#X obj 51 229 t f f;
+#X connect 0 0 3 0;
+#X connect 1 0 13 0;
+#X connect 2 0 9 0;
+#X connect 3 0 1 0;
+#X connect 4 0 5 0;
+#X connect 4 1 10 0;
+#X connect 5 0 6 0;
+#X connect 7 0 4 0;
+#X connect 8 0 0 0;
+#X connect 10 0 11 0;
+#X connect 13 0 2 0;
+#X connect 13 1 12 0;