kostepper.pd 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757
  1. #N canvas 927 127 984 626 10;
  2. #X obj 85 172 cnv 15 130 305 empty empty Status 2 8 0 14 -233017 -128992
  3. 0;
  4. #X obj 219 172 cnv 15 79 305 empty empty MANUEL 2 8 0 14 -233017 -128992
  5. 0;
  6. #X obj 302 172 cnv 15 180 305 empty empty Move 2 8 0 14 -233017 -128992
  7. 0;
  8. #X obj 65 9 r /fromOSC;
  9. #X floatatom 145 283 10 0 0 0 - - -, f 10;
  10. #X floatatom 145 311 10 0 0 0 - - -, f 10;
  11. #X floatatom 145 339 10 0 0 0 - - -, f 10;
  12. #X text 105 283 target;
  13. #X text 111 311 speed;
  14. #X text 93 339 maxspeed;
  15. #X obj 110 54 print stepper\$1;
  16. #N canvas 1 55 450 300 filter\$1 0;
  17. #X obj 60 41 t a a;
  18. #X obj 92 89 == \$1;
  19. #X obj 60 132 spigot;
  20. #X msg 92 67 \$1;
  21. #X obj 60 21 inlet;
  22. #X obj 60 153 outlet;
  23. #X connect 0 0 2 0;
  24. #X connect 0 1 3 0;
  25. #X connect 1 0 2 1;
  26. #X connect 2 0 5 0;
  27. #X connect 3 0 1 0;
  28. #X connect 4 0 0 0;
  29. #X restore 65 29 pd filter\$1;
  30. #N canvas 123 519 450 300 conversion 0;
  31. #X obj 97 9 inlet;
  32. #X obj 97 30 unpack f f f f f;
  33. #X obj 97 94 outlet;
  34. #X obj 120 134 outlet;
  35. #X obj 143 174 outlet;
  36. #X obj 166 214 outlet;
  37. #X obj 190 254 outlet;
  38. #X obj 97 75 steps2camrot;
  39. #X obj 120 115 steps2camrot;
  40. #X obj 143 155 steps2camrot;
  41. #X obj 166 195 steps2camrot;
  42. #X obj 190 235 steps2camrot;
  43. #X connect 0 0 1 0;
  44. #X connect 1 0 7 0;
  45. #X connect 1 1 8 0;
  46. #X connect 1 2 9 0;
  47. #X connect 1 3 10 0;
  48. #X connect 1 4 11 0;
  49. #X connect 7 0 2 0;
  50. #X connect 8 0 3 0;
  51. #X connect 9 0 4 0;
  52. #X connect 10 0 5 0;
  53. #X connect 11 0 6 0;
  54. #X restore 65 96 pd conversion;
  55. #X obj 65 74 route /status /onTarget;
  56. #X obj 251 266 vsl 20 175 0.001 2 1 0 /stepper/\$1/manualSpeed /stepper/\$1/manualSpeed
  57. speed -6 185 0 10 -262144 -1 -1 0 1;
  58. #X obj 242 232 hradio 15 1 0 2 /stepper/\$1/manualDirection /stepper/\$1/manualDirection
  59. direction -10 22 0 10 -262144 -1 -1 0;
  60. #X obj 411 295 bng 25 250 50 0 /stepper/\$1/move/go /stepper/\$1/move/go
  61. GO 6 13 0 10 -4034 -1 -1;
  62. #X obj 285 686 list prepend add;
  63. #X obj 285 707 list trim;
  64. #X obj 281 586 ofGetPatchDirectory;
  65. #X obj 281 511 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
  66. -1 -1;
  67. #X text 302 511 get the list of file names in a directory.;
  68. #X msg 282 634 symbol \$1/moves;
  69. #X symbolatom 281 607 50 0 0 0 - - -, f 50;
  70. #X obj 608 582 print;
  71. #X obj 290 664 ofGetDirectoryFileNames move;
  72. #N canvas 421 242 906 607 \$0-osc 0;
  73. #X obj 44 54 kollabs/osc_bi \$2 /stepper/\$1/driveMode;
  74. #X obj 44 164 kollabs/osc_bi \$2 /stepper/\$1/moveTo;
  75. #X obj 44 224 kollabs/osc_bi \$2 /stepper/\$1/setSpeed;
  76. #X obj 44 244 kollabs/osc_bi \$2 /stepper/\$1/setMaxSpeed;
  77. #X obj 44 264 kollabs/osc_bi \$2 /stepper/\$1/acceleration;
  78. #X obj 44 74 kollabs/osc_bi \$2 /stepper/\$1/accMode;
  79. #X obj 44 94 kollabs/osc_bi \$2 /stepper/\$1/manualDrive;
  80. #X obj 44 35 kollabs/osc_bi \$2 /stepper/\$1/updateStatus;
  81. #X obj 44 304 kollabs/osc_bi \$2 /stepper/\$1/sequences/list;
  82. #X obj 44 354 kollabs/osc_bi \$2 /stepper/\$1/pos/current;
  83. #X obj 44 374 kollabs/osc_bi \$2 /stepper/\$1/pos/current/deg;
  84. #X obj 533 37 loadbang;
  85. #X obj 533 58 f \$1;
  86. #X msg 532 79 \; /stepper/\$1/accMode 0 \; /stepper/\$1/manualDrive
  87. 0 \; /stepper/\$1/setSpeed 1 \; /stepper/\$1/setMaxSpeed 1 \; /stepper/\$1/acceleration
  88. 1;
  89. #X obj 44 124 kollabs/osc_bi \$2 /stepper/\$1/move;
  90. #X obj 44 144 kollabs/osc_bi \$2 /stepper/\$1/move/deg;
  91. #X connect 11 0 12 0;
  92. #X connect 12 0 13 0;
  93. #X restore 661 40 pd \$0-osc;
  94. #X obj 240 193 tgl 35 0 /stepper/\$1/manualDrive /stepper/\$1/manualDrive
  95. empty 17 7 0 10 -204800 -33289 -1 0 1;
  96. #X obj 427 350 tgl 15 0 /stepper/\$1/accMode /stepper/\$1/accMode 0/1
  97. 17 7 0 10 -262144 -1 -1 0 1;
  98. #X obj 315 292 nbx 4 14 -1e+37 1e+37 0 0 /stepper/\$1/move /stepper/\$1/move
  99. tours 48 8 0 10 -262144 -1 -1 0 256;
  100. #X obj 227 459 nbx 6 14 -1e+37 1e+37 0 0 /stepper/\$1/manualSpeed /stepper/\$1/manualSpeed
  101. empty 0 -8 0 10 -262144 -1 -1 0.001 256;
  102. #X obj 335 371 vsl 25 60 0 2 0 0 /stepper/\$1/setMaxSpeed /stepper/\$1/setMaxSpeed
  103. speed -4 70 0 10 -262144 -1 -1 2950 1;
  104. #X obj 325 449 nbx 4 14 -1e+37 1e+37 0 0 /stepper/\$1/setMaxSpeed /stepper/\$1/setMaxSpeed
  105. empty 0 -8 0 10 -262144 -1 -1 1 256;
  106. #X obj 424 372 vsl 25 60 0 2 0 0 /stepper/\$1/acceleration /stepper/\$1/acceleration
  107. acc 4 70 0 10 -233017 -233017 -195568 2950 1;
  108. #X obj 415 449 nbx 4 14 -1e+37 1e+37 0 0 /stepper/\$1/acceleration
  109. /stepper/\$1/acceleration empty 0 -8 0 10 -233017 -233017 -195568 1
  110. 256;
  111. #X obj 434 838 cnv 15 180 100 empty empty presets 2 8 0 14 -233017
  112. -128992 0;
  113. #X obj 197 175 bng 15 250 50 0 /stepper/\$1/updateStatus /stepper/\$1/updateStatus
  114. refresh -45 8 0 10 -262144 -1 -1;
  115. #X obj 439 295 bng 25 250 50 0 /stepper/\$1/stop /stepper/\$1/stop
  116. STOP 1 14 0 10 -258113 -1 -1;
  117. #X obj 281 531 t b b;
  118. #X obj 286 765 s /stepper/\$1/sequences/list;
  119. #X msg 309 559 clear \, align 0 \, add none \, set 0;
  120. #X obj 83 127 s /stepper/\$1/pos/current;
  121. #X obj 306 229 nbx 4 14 -1e+37 1e+37 0 0 /stepper/\$1/move/startPos
  122. /stepper/\$1/move/startPos Position_depart 0 -8 0 12 -204800 -1 -1
  123. 0 256;
  124. #X obj 435 229 bng 15 250 50 0 /stepper/\$1/move/gotoStart /stepper/\$1/move/gotoStart
  125. goto 17 7 0 10 -204800 -1 -1;
  126. #X obj 378 229 bng 15 250 50 0 /stepper/\$1/move/setStart /stepper/\$1/move/setStart
  127. set 17 7 0 10 -262144 -1 -1;
  128. #X obj 148 241 nbx 3 14 -1e+37 1e+37 0 0 /stepper/\$1/pos/current/deg
  129. /stepper/\$1/pos/current/deg degrees -50 8 0 10 -262144 -1 -1 0 256
  130. ;
  131. #X obj 148 225 nbx 5 14 -1e+37 1e+37 0 0 /stepper/\$1/pos/current /stepper/\$1/pos/current
  132. turns -45 7 0 10 -262144 -1 -1 0 256;
  133. #X obj 315 308 nbx 4 14 -1e+37 1e+37 0 0 /stepper/\$1/move/deg /stepper/\$1/move/deg
  134. deg 48 8 0 10 -262144 -1 -1 0 256;
  135. #X obj 153 97 s /stepper/\$1/pos/onTarget;
  136. #X obj 383 174 cnv 25 70 25 /stepper/\$1/runningGui /stepper/\$1/runningGui
  137. idle 17 12 0 14 -233017 -195568 0;
  138. #X obj 353 122 r /stepper/\$1/accGUI;
  139. #X text 307 263 Reglages mouvement;
  140. #X obj 487 172 cnv 15 370 305 empty empty Sequence 2 8 0 14 -233017
  141. -128992 0;
  142. #X obj 719 248 bng 15 250 50 0 /stepper/\$1/writeSeq /stepper/\$1/writeSeq
  143. save 17 7 0 10 -262144 -1 -1;
  144. #X text 144 204 CURRENT;
  145. #X obj 172 824 tof/menubutton 100 25 \$0-mbS \$0-mbR 1 grey90 black
  146. grey95 black 0 \, none \, test (autre copie).move \, test.move \, test (3e copie).move
  147. \, test (4e copie).move \, test (copie).move;
  148. #X obj 183 801 r /stepper/\$1/sequences/list;
  149. #X obj 719 228 bng 15 250 50 0 /stepper/\$1/sequencer/open empty choose_sequence
  150. 17 7 0 10 -262144 -1 -1;
  151. #X obj 898 255 nbx 5 14 -1e+37 1e+37 0 0 /stepper/\$1/cue/current /stepper/\$1/cue/current
  152. empty 0 -8 0 10 -262144 -1 -1 0 256;
  153. #X obj 563 229 bng 30 250 50 0 /stepper/\$1/sequencer/go /stepper/\$1/sequencer/go
  154. GO 9 16 0 10 -204786 -1 -1;
  155. #X msg 494 538 1;
  156. #X obj 616 229 tgl 30 0 /stepper/\$1/sequencer/loop /stepper/\$1/sequencer/loop
  157. loop 32 15 0 13 -162280 -1 -1 0 1;
  158. #X obj 891 226 bng 15 250 50 0 /stepper/\$1/sequencer/load /stepper/\$1/sequencer/load
  159. reload 17 7 0 10 -262144 -1 -1;
  160. #X text 495 232 sequence;
  161. #N canvas 594 568 980 300 \$0-gui 0;
  162. #X obj 19 143 loadbang;
  163. #X obj 19 202 s /stepper/\$1/runningGui;
  164. #X msg 77 132 color 14 13 13 \, label running \, label_pos 7 12;
  165. #X msg 19 184 color 10 11 20 \, label idle \, label_pos 17 12;
  166. #X obj 19 164 r /stepper/\$1/pos/onTarget;
  167. #X obj 94 93 r /stepper/\$1/move/gotoStart;
  168. #X text 265 61 GUI COLORS;
  169. #X obj 370 107 r /stepper/\$1/accMode;
  170. #X obj 370 128 route 0 1;
  171. #X msg 370 147 color 10 10 20;
  172. #X msg 395 168 color 0 22 22;
  173. #X obj 370 201 s /stepper/\$1/accGUI;
  174. #X obj 77 113 r /stepper/\$1/move/go;
  175. #X connect 0 0 3 0;
  176. #X connect 2 0 1 0;
  177. #X connect 3 0 1 0;
  178. #X connect 4 0 3 0;
  179. #X connect 5 0 2 0;
  180. #X connect 7 0 8 0;
  181. #X connect 8 0 9 0;
  182. #X connect 8 1 10 0;
  183. #X connect 9 0 11 0;
  184. #X connect 10 0 11 0;
  185. #X connect 12 0 2 0;
  186. #X restore 661 59 pd \$0-gui;
  187. #N canvas 130 127 1010 904 \$0-sequencer 0;
  188. #X obj 463 246 text set \$1-seq;
  189. #X obj 463 187 pack s f;
  190. #X obj 508 167 r /stepper/\$1/move/startPos;
  191. #X obj 450 105 t b b b f;
  192. #X msg 467 129 1;
  193. #X obj 450 84 r /stepper/\$1/writeSeq;
  194. #X obj 439 338 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
  195. -1 -1;
  196. #X msg 467 345 line 0 \, bang;
  197. #X obj 260 139 text define -k \$1-seq;
  198. #A set startPos 0 \; \; CUE 0 \; move 0.0555556 \; setMaxSpeed 1 \;
  199. acceleration 0 \; accMode 0 \; active 1 \; wait 0 \; \; CUE 1 \; move
  200. 0.0555556 \; setMaxSpeed 1 \; acceleration 0 \; accMode 0 \; active
  201. 1 \; wait 5 \; \; CUE 2 \; move 0.0555556 \; setMaxSpeed 1 \; acceleration
  202. 0 \; accMode 0 \; active 1 \; wait 1 \; \; CUE 3 \; move 0 \; setMaxSpeed
  203. 0 \; acceleration 0 \; accMode 1 \; active 0 \; wait 0 \; \;;
  204. #X obj 467 326 r /stepper/\$1/sequencer/load;
  205. #X obj 260 35 r /stepper/\$1/writeSeq;
  206. #X obj 260 56 delay 100;
  207. #X obj 260 97 savepanel;
  208. #X msg 260 77 symbol ./;
  209. #X msg 260 118 write \$1;
  210. #X obj 30 16 r /stepper/\$1/sequencer/open;
  211. #X obj 30 34 openpanel;
  212. #X msg 176 74 read \$1;
  213. #X obj 31 113 s /stepper/\$1/sequencer/load;
  214. #X obj 30 94 bang;
  215. #X obj 30 73 delay 100;
  216. #X obj 30 52 t b a;
  217. #X obj 114 275 r /stepper/\$1/openSeq;
  218. #X obj 114 347 openpanel;
  219. #X msg 114 326 symbol ./;
  220. #X obj 190 626 r /stepper/\$1/cue/current;
  221. #X obj 139 516 r /stepper/\$1/pos/onTarget;
  222. #X obj 79 434 t b b;
  223. #X obj 112 455 f \$1;
  224. #X msg 111 476 \; /stepper/\$1/cue/0/move/go bang;
  225. #X obj 171 442 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
  226. -1 -1;
  227. #X obj 139 787 spigot;
  228. #X obj 190 647 t f f;
  229. #X obj 79 413 r /stepper/\$1/sequencer/go;
  230. #X obj 205 708 r /stepper/\$1/sequencer/loop;
  231. #X obj 190 729 f;
  232. #X obj 190 751 route 0 1;
  233. #X msg 190 772 0;
  234. #X obj 139 828 pack 0 \$1;
  235. #X msg 139 849 \; /stepper/\$2/cue/\$1/move/go bang;
  236. #X obj 275 746 r /stepper/\$1/stop;
  237. #X obj 139 806 f;
  238. #X obj 217 666 + 1;
  239. #X msg 299 786 0;
  240. #X obj 307 657 print;
  241. #X obj 190 688 route 3;
  242. #X obj 467 364 text sequence \$1-seq;
  243. #X obj 467 456 s \$1-cue;
  244. #X obj 622 481 r \$1-cue;
  245. #X obj 663 381 route move setMaxSpeed acceleration accMode active;
  246. #X obj 467 385 route list bang;
  247. #X obj 566 415 list trim;
  248. #X obj 572 520 pack s f f \$1;
  249. #X msg 572 542 \; /stepper/\$4/cue/\$3/\$1 \$2;
  250. #X obj 463 147 symbol startPos;
  251. #X obj 467 435 route CUE startPos;
  252. #X obj 522 456 s /stepper/\$1/move/startPos;
  253. #X obj 139 577 delay 0;
  254. #X obj 305 516 r /stepper/\$1/sequencer/wait;
  255. #X obj 169 598 r /stepper/\$1/cue/next;
  256. #X obj 139 640 bang;
  257. #X text 212 558 if reading sequence \, use wait;
  258. #X obj 22 539 r /stepper/\$1/stop;
  259. #X msg 22 560 stop;
  260. #X obj 139 537 bang;
  261. #X obj 139 558 f;
  262. #X text 309 596 else skip wait;
  263. #X obj 305 537 * 1000;
  264. #X msg 545 603 0;
  265. #X obj 442 599 line;
  266. #X obj 418 762 s /stepper/\$1/sequencer/wait/gui;
  267. #X floatatom 467 544 5 0 0 0 - - -, f 5;
  268. #X msg 442 578 0 \, 100 \$1;
  269. #X obj 458 622 moses 100;
  270. #X msg 510 553 1000;
  271. #X msg 549 703 color \$1 \$1;
  272. #X floatatom 565 675 5 0 0 0 - - -, f 5;
  273. #X msg 517 651 color 10 10;
  274. #X msg 413 728 color 14 14 \, vis_size \$1 5;
  275. #X obj 273 825 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
  276. -1 -1;
  277. #X floatatom 257 653 5 0 0 0 - - -, f 5;
  278. #X obj 10 687 r /stepper/\$1/sequencer/go;
  279. #X msg 10 708 1;
  280. #X connect 1 0 0 0;
  281. #X connect 2 0 1 1;
  282. #X connect 3 0 0 0;
  283. #X connect 3 1 4 0;
  284. #X connect 3 2 54 0;
  285. #X connect 3 3 0 1;
  286. #X connect 4 0 0 1;
  287. #X connect 5 0 3 0;
  288. #X connect 6 0 46 0;
  289. #X connect 7 0 46 0;
  290. #X connect 9 0 7 0;
  291. #X connect 10 0 11 0;
  292. #X connect 11 0 13 0;
  293. #X connect 12 0 14 0;
  294. #X connect 13 0 12 0;
  295. #X connect 14 0 8 0;
  296. #X connect 15 0 16 0;
  297. #X connect 16 0 21 0;
  298. #X connect 17 0 8 0;
  299. #X connect 19 0 18 0;
  300. #X connect 20 0 19 0;
  301. #X connect 21 0 20 0;
  302. #X connect 21 1 17 0;
  303. #X connect 22 0 24 0;
  304. #X connect 24 0 23 0;
  305. #X connect 25 0 32 0;
  306. #X connect 25 0 80 0;
  307. #X connect 26 0 64 0;
  308. #X connect 27 1 28 0;
  309. #X connect 28 0 29 0;
  310. #X connect 30 0 28 0;
  311. #X connect 31 0 41 0;
  312. #X connect 32 0 45 0;
  313. #X connect 32 1 42 0;
  314. #X connect 33 0 27 0;
  315. #X connect 34 0 35 1;
  316. #X connect 35 0 36 0;
  317. #X connect 35 0 44 0;
  318. #X connect 36 0 37 0;
  319. #X connect 36 1 43 0;
  320. #X connect 37 0 31 1;
  321. #X connect 38 0 39 0;
  322. #X connect 40 0 37 0;
  323. #X connect 41 0 38 0;
  324. #X connect 41 0 79 0;
  325. #X connect 42 0 41 1;
  326. #X connect 43 0 41 1;
  327. #X connect 45 0 35 0;
  328. #X connect 46 0 50 0;
  329. #X connect 48 0 52 2;
  330. #X connect 50 0 55 0;
  331. #X connect 52 0 53 0;
  332. #X connect 54 0 1 0;
  333. #X connect 55 0 47 0;
  334. #X connect 55 1 56 0;
  335. #X connect 55 2 52 0;
  336. #X connect 57 0 60 0;
  337. #X connect 58 0 67 0;
  338. #X connect 59 0 60 0;
  339. #X connect 60 0 31 0;
  340. #X connect 62 0 63 0;
  341. #X connect 63 0 57 0;
  342. #X connect 64 0 65 0;
  343. #X connect 65 0 57 0;
  344. #X connect 65 0 72 0;
  345. #X connect 67 0 65 1;
  346. #X connect 68 0 69 0;
  347. #X connect 69 0 78 0;
  348. #X connect 69 0 73 0;
  349. #X connect 71 0 72 0;
  350. #X connect 72 0 69 0;
  351. #X connect 73 1 68 0;
  352. #X connect 73 1 77 0;
  353. #X connect 74 0 72 0;
  354. #X connect 75 0 70 0;
  355. #X connect 76 0 75 0;
  356. #X connect 77 0 70 0;
  357. #X connect 78 0 70 0;
  358. #X connect 81 0 82 0;
  359. #X connect 82 0 31 1;
  360. #X restore 661 78 pd \$0-sequencer;
  361. #N canvas 1 55 894 565 \$0-startposition 0;
  362. #X obj 170 103 r /stepper/\$1/pos/current;
  363. #X obj 170 122 * 360;
  364. #X floatatom 97 134 5 0 0 0 - - -, f 5;
  365. #X obj 145 222 f;
  366. #X obj 145 84 r /stepper/\$1/move/setStart;
  367. #X obj 140 306 r /stepper/\$1/move/gotoStart;
  368. #X obj 145 241 s /stepper/\$1/move/startPos;
  369. #X obj 444 105 r /stepper/\$1/move/startPos;
  370. #X obj 420 146 -;
  371. #X obj 444 125 t b f;
  372. #X text 450 147 distance currentPos->startPos;
  373. #X obj 420 206 moses 180;
  374. #X obj 471 227 - 360;
  375. #X text 517 225 go backward \, quickest path;
  376. #X floatatom 502 166 5 0 0 0 - - -, f 5;
  377. #X obj 140 493 s /toOSC;
  378. #X msg 140 474 /\$1 \$3 \$2;
  379. #X obj 140 345 f \$1;
  380. #X obj 420 314 / 360;
  381. #X obj 170 222 s /stepper/\$1/pos/current/deg;
  382. #X obj 420 84 r /stepper/\$1/pos/current/deg;
  383. #X obj 420 187 abs;
  384. #X obj 420 166 t f f;
  385. #X obj 447 251 moses 0;
  386. #X msg 447 272 360;
  387. #X msg 477 272 -360;
  388. #X obj 170 141 t f f;
  389. #X obj 197 159 div 360;
  390. #X obj 197 180 * 360;
  391. #X obj 170 199 -;
  392. #X text 286 58 START POSITION MANAGEMENT;
  393. #X obj 140 455 list;
  394. #X obj 140 396 pack 0 0 4000 0;
  395. #X text 242 396 stepper ID \, move \, speed \, acc;
  396. #X msg 140 421 driveMode 0 \$1 \, acceleration \$4 \$1 \, maxSpeed
  397. \$3 \$1 \, move \$2 \$1 \, getStatus \$1 \$1;
  398. #X msg 416 461 driveMode 1 \$1 \, maxSpeed \$3 \$1 \, acceleration
  399. move \$2 \$1 \, setSpeed \$3 \$1 \, getStatus \$1 \$1;
  400. #X obj 611 332 / 60;
  401. #X obj 648 356 / 60;
  402. #X obj 648 338 r /stepper/\$1/accLimit;
  403. #X obj 611 314 r /stepper/\$1/speedLimit;
  404. #X obj 351 333 steps2camrot;
  405. #X obj 542 350 steps2camrot;
  406. #X obj 579 374 steps2camrot;
  407. #X connect 0 0 1 0;
  408. #X connect 1 0 26 0;
  409. #X connect 3 0 6 0;
  410. #X connect 4 0 3 0;
  411. #X connect 5 0 17 0;
  412. #X connect 7 0 9 0;
  413. #X connect 8 0 14 0;
  414. #X connect 8 0 22 0;
  415. #X connect 9 0 8 0;
  416. #X connect 9 1 8 1;
  417. #X connect 11 0 18 0;
  418. #X connect 11 1 12 0;
  419. #X connect 12 0 18 0;
  420. #X connect 16 0 15 0;
  421. #X connect 17 0 32 0;
  422. #X connect 18 0 40 1;
  423. #X connect 20 0 8 0;
  424. #X connect 21 0 11 0;
  425. #X connect 22 0 21 0;
  426. #X connect 22 1 23 0;
  427. #X connect 23 0 24 0;
  428. #X connect 23 1 25 0;
  429. #X connect 24 0 18 1;
  430. #X connect 25 0 18 1;
  431. #X connect 26 0 29 0;
  432. #X connect 26 1 27 0;
  433. #X connect 27 0 28 0;
  434. #X connect 28 0 29 1;
  435. #X connect 29 0 2 0;
  436. #X connect 29 0 19 0;
  437. #X connect 29 0 3 1;
  438. #X connect 31 0 16 0;
  439. #X connect 32 0 34 0;
  440. #X connect 34 0 31 0;
  441. #X connect 36 0 41 1;
  442. #X connect 37 0 42 1;
  443. #X connect 38 0 37 0;
  444. #X connect 39 0 36 0;
  445. #X connect 40 0 32 1;
  446. #X connect 41 0 32 2;
  447. #X connect 42 0 32 3;
  448. #X restore 661 97 pd \$0-startposition;
  449. #N canvas 689 84 1211 848 \$0-modes&moves 0;
  450. #X obj 40 108 route 0 1;
  451. #X obj 40 44 r /stepper/\$1/manualDrive;
  452. #X obj 51 131 r /stepper/\$1/accMode;
  453. #X obj 40 85 t f f;
  454. #X obj 40 172 f;
  455. #X msg 65 218 2;
  456. #X obj 40 236 s /stepper/\$1/driveMode;
  457. #X obj 40 193 spigot;
  458. #X obj 73 173 == 0;
  459. #X text 73 11 SET DRIVE MODE;
  460. #X obj 909 276 r /stepper/\$1/driveMode;
  461. #X obj 909 364 pack s f f;
  462. #X obj 966 339 f \$1;
  463. #X obj 966 317 loadbang;
  464. #X obj 909 418 s /toOSC;
  465. #X msg 909 396 /\$1 \$3 \$2;
  466. #X text 929 260 SEND DRIVE MODE;
  467. #X obj 880 190 / 60;
  468. #X obj 811 249 spigot;
  469. #X obj 894 212 r /stepper/\$1/driveMode;
  470. #X obj 894 233 == 2;
  471. #X msg 811 268 setSpeed \$1;
  472. #X obj 51 152 == 0;
  473. #X msg 909 297 driveMode \$1 \, setSpeed 0;
  474. #X text 865 13 MANUAL SPEED;
  475. #X obj 880 166 * 1;
  476. #X obj 895 146 t b f;
  477. #X obj 895 106 route 0 1;
  478. #X msg 895 126 -1;
  479. #X msg 924 126 1;
  480. #X obj 895 88 r /stepper/\$1/manualDirection;
  481. #X obj 880 41 r /stepper/\$1/manualSpeed;
  482. #X obj 215 149 r /stepper/\$1/updateStatus;
  483. #X obj 215 170 f \$1;
  484. #X msg 215 191 /getStatus \$1;
  485. #X obj 215 212 s /toOSC;
  486. #X obj 215 62 f \$1;
  487. #X msg 215 83 /stop \$1;
  488. #X obj 396 43 r /stepper/\$1/move;
  489. #X obj 415 143 s /stepper/\$1/move/deg;
  490. #X obj 396 163 r /stepper/\$1/move/deg;
  491. #X obj 415 263 s /stepper/\$1/move;
  492. #X obj 415 244 / 360;
  493. #X obj 215 103 s /toOSC;
  494. #X text 248 17 STOP;
  495. #X text 405 17 MOVE DEGRES CONVERSION;
  496. #X text 232 131 STATUS;
  497. #X obj 396 204 t b f b;
  498. #X msg 436 223 0;
  499. #X msg 396 224 1;
  500. #X obj 415 124 * 360;
  501. #X obj 396 83 t b f b;
  502. #X msg 436 101 0;
  503. #X msg 396 102 1;
  504. #X obj 215 43 r /stepper/\$1/stop;
  505. #X obj 396 65 spigot 1;
  506. #X obj 396 184 spigot 1;
  507. #X obj 453 474 / 60;
  508. #X obj 453 436 r /stepper/\$1/setMaxSpeed;
  509. #X obj 309 618 list prepend;
  510. #X obj 416 416 r /stepper/\$1/move;
  511. #X obj 309 412 f \$1;
  512. #X obj 491 514 / 60;
  513. #X obj 491 476 r /stepper/\$1/acceleration;
  514. #X obj 309 787 list;
  515. #X obj 309 825 s /toOSC;
  516. #X msg 309 806 /\$1 \$3 \$2;
  517. #X obj 309 391 r /stepper/\$1/move/go;
  518. #X msg 309 718 acceleration \$4 \$1 \, maxSpeed \$3 \$1 \, move \$2
  519. \$1 \, getStatus \$1 \$1;
  520. #X text 333 369 MOVE MANAGEMENT;
  521. #X obj 44 319 r /stepper/\$1/manualDrive;
  522. #X obj 44 342 route 0 1;
  523. #X obj 117 361 r /stepper/\$1/accMode;
  524. #X obj 43 466 s /stepper/\$1/driveMode;
  525. #X msg 84 434 2;
  526. #X text 66 280 SET DRIVE MODE V2;
  527. #X text 43 293 Vconst -> accelerate AQAP;
  528. #X text 95 22 not used;
  529. #X msg 372 781 move \$2 \$1 \, setSpeed \$3 \$1 \, getStatus \$1 \$1
  530. ;
  531. #X msg 334 748 acceleration \$5 \$1 \, maxSpeed \$3 \$1 \, move \$2
  532. \$1 \, getStatus \$1 \$1;
  533. #X obj 569 534 / 60;
  534. #X text 704 494 used if driveMode = 2;
  535. #X obj 569 496 r /stepper/\$1/accLimit;
  536. #X obj 309 576 pack 10 5000 1000 1000 1000;
  537. #X obj 641 41 r /stepper/\$1/manualDrive;
  538. #X msg 641 62 0;
  539. #X text 641 18 Force speed to 0 when manual;
  540. #X obj 641 81 s /stepper/\$1/manualSpeed;
  541. #X msg 44 363 0;
  542. #X obj 378 596 r /stepper/\$1/accMode;
  543. #X obj 309 698 route 1 0;
  544. #N canvas 78 190 450 300 clipValue 0;
  545. #X obj 87 36 inlet;
  546. #X obj 87 117 moses;
  547. #X obj 181 46 inlet;
  548. #X obj 181 67 t f f;
  549. #X obj 114 158 f;
  550. #X obj 96 217 outlet;
  551. #X obj 117 138 bang;
  552. #X connect 0 0 1 0;
  553. #X connect 1 0 5 0;
  554. #X connect 1 1 6 0;
  555. #X connect 2 0 3 0;
  556. #X connect 3 0 1 1;
  557. #X connect 3 1 4 1;
  558. #X connect 4 0 5 0;
  559. #X connect 6 0 4 0;
  560. #X restore 705 587 pd clipValue;
  561. #X obj 342 640 r /stepper/\$1/manualDrive;
  562. #X obj 309 680 spigot;
  563. #X obj 342 661 == 0;
  564. #X floatatom 706 546 5 0 0 0 - - -, f 5;
  565. #X floatatom 716 601 5 0 0 0 - - -, f 5;
  566. #X floatatom 786 551 5 0 0 0 - - -, f 5;
  567. #N canvas 78 190 450 300 clipValue 0;
  568. #X obj 87 36 inlet;
  569. #X obj 87 117 moses;
  570. #X obj 181 46 inlet;
  571. #X obj 181 67 t f f;
  572. #X obj 114 158 f;
  573. #X obj 96 217 outlet;
  574. #X obj 117 138 bang;
  575. #X connect 0 0 1 0;
  576. #X connect 1 0 5 0;
  577. #X connect 1 1 6 0;
  578. #X connect 2 0 3 0;
  579. #X connect 3 0 1 1;
  580. #X connect 3 1 4 1;
  581. #X connect 4 0 5 0;
  582. #X connect 6 0 4 0;
  583. #X restore 453 455 pd clipValue;
  584. #X obj 613 436 r /stepper/\$1/speedLimit;
  585. #N canvas 78 190 450 300 clipValue 0;
  586. #X obj 87 36 inlet;
  587. #X obj 87 117 moses;
  588. #X obj 181 46 inlet;
  589. #X obj 181 67 t f f;
  590. #X obj 114 158 f;
  591. #X obj 96 217 outlet;
  592. #X obj 117 138 bang;
  593. #X connect 0 0 1 0;
  594. #X connect 1 0 5 0;
  595. #X connect 1 1 6 0;
  596. #X connect 2 0 3 0;
  597. #X connect 3 0 1 1;
  598. #X connect 3 1 4 1;
  599. #X connect 4 0 5 0;
  600. #X connect 6 0 4 0;
  601. #X restore 491 495 pd clipValue;
  602. #N canvas 78 190 450 300 clipValue 0;
  603. #X obj 87 36 inlet;
  604. #X obj 87 117 moses;
  605. #X obj 181 46 inlet;
  606. #X obj 181 67 t f f;
  607. #X obj 114 158 f;
  608. #X obj 96 217 outlet;
  609. #X obj 117 138 bang;
  610. #X connect 0 0 1 0;
  611. #X connect 1 0 5 0;
  612. #X connect 1 1 6 0;
  613. #X connect 2 0 3 0;
  614. #X connect 3 0 1 1;
  615. #X connect 3 1 4 1;
  616. #X connect 4 0 5 0;
  617. #X connect 6 0 4 0;
  618. #X restore 880 63 pd clipValue;
  619. #X obj 1040 40 r /stepper/\$1/speedLimit;
  620. #X obj 384 492 steps2camrot;
  621. #X obj 811 212 steps2camrot;
  622. #X obj 422 532 steps2camrot;
  623. #X obj 347 434 steps2camrot;
  624. #X obj 500 552 steps2camrot;
  625. #X connect 0 0 4 0;
  626. #X connect 0 1 5 0;
  627. #X connect 2 0 22 0;
  628. #X connect 3 0 0 0;
  629. #X connect 3 1 8 0;
  630. #X connect 4 0 7 0;
  631. #X connect 5 0 6 0;
  632. #X connect 7 0 6 0;
  633. #X connect 8 0 7 1;
  634. #X connect 10 0 23 0;
  635. #X connect 11 0 15 0;
  636. #X connect 12 0 11 2;
  637. #X connect 13 0 12 0;
  638. #X connect 15 0 14 0;
  639. #X connect 17 0 104 1;
  640. #X connect 18 0 21 0;
  641. #X connect 19 0 20 0;
  642. #X connect 20 0 18 1;
  643. #X connect 21 0 11 0;
  644. #X connect 22 0 4 0;
  645. #X connect 23 0 11 0;
  646. #X connect 25 0 17 0;
  647. #X connect 26 0 25 0;
  648. #X connect 26 1 25 1;
  649. #X connect 27 0 28 0;
  650. #X connect 27 1 29 0;
  651. #X connect 28 0 26 0;
  652. #X connect 29 0 26 0;
  653. #X connect 30 0 27 0;
  654. #X connect 31 0 101 0;
  655. #X connect 32 0 33 0;
  656. #X connect 33 0 34 0;
  657. #X connect 34 0 35 0;
  658. #X connect 36 0 37 0;
  659. #X connect 37 0 43 0;
  660. #X connect 38 0 55 0;
  661. #X connect 40 0 56 0;
  662. #X connect 42 0 41 0;
  663. #X connect 47 0 49 0;
  664. #X connect 47 1 42 0;
  665. #X connect 47 2 48 0;
  666. #X connect 48 0 55 1;
  667. #X connect 49 0 55 1;
  668. #X connect 50 0 39 0;
  669. #X connect 51 0 53 0;
  670. #X connect 51 1 50 0;
  671. #X connect 51 2 52 0;
  672. #X connect 52 0 56 1;
  673. #X connect 53 0 56 1;
  674. #X connect 54 0 36 0;
  675. #X connect 55 0 51 0;
  676. #X connect 56 0 47 0;
  677. #X connect 57 0 103 1;
  678. #X connect 58 0 98 0;
  679. #X connect 59 0 93 0;
  680. #X connect 60 0 106 1;
  681. #X connect 61 0 83 0;
  682. #X connect 62 0 105 1;
  683. #X connect 63 0 100 0;
  684. #X connect 64 0 66 0;
  685. #X connect 66 0 65 0;
  686. #X connect 67 0 61 0;
  687. #X connect 68 0 64 0;
  688. #X connect 70 0 71 0;
  689. #X connect 71 0 88 0;
  690. #X connect 71 1 74 0;
  691. #X connect 74 0 73 0;
  692. #X connect 79 0 64 0;
  693. #X connect 80 0 107 1;
  694. #X connect 82 0 80 0;
  695. #X connect 82 0 100 1;
  696. #X connect 83 0 59 0;
  697. #X connect 84 0 85 0;
  698. #X connect 85 0 87 0;
  699. #X connect 88 0 73 0;
  700. #X connect 89 0 59 1;
  701. #X connect 90 0 68 0;
  702. #X connect 90 1 79 0;
  703. #X connect 91 0 96 0;
  704. #X connect 92 0 94 0;
  705. #X connect 93 0 90 0;
  706. #X connect 94 0 93 1;
  707. #X connect 95 0 91 0;
  708. #X connect 97 0 91 1;
  709. #X connect 98 0 57 0;
  710. #X connect 99 0 98 1;
  711. #X connect 100 0 62 0;
  712. #X connect 101 0 25 0;
  713. #X connect 102 0 101 1;
  714. #X connect 103 0 83 2;
  715. #X connect 104 0 18 0;
  716. #X connect 105 0 83 3;
  717. #X connect 106 0 83 1;
  718. #X connect 107 0 83 4;
  719. #X restore 661 117 pd \$0-modes&moves;
  720. #X obj 596 190 nbx 4 14 -1e+37 1e+37 0 0 /stepper/\$1/move/startPos
  721. /stepper/\$1/move/startPos Position_depart 0 -8 0 12 -204800 -1 -1
  722. 0 256;
  723. #X obj 725 190 bng 15 250 50 0 /stepper/\$1/move/gotoStart /stepper/\$1/move/gotoStart
  724. goto 17 7 0 10 -204800 -1 -1;
  725. #X obj 668 190 bng 15 250 50 0 /stepper/\$1/move/setStart /stepper/\$1/move/setStart
  726. set 17 7 0 10 -262144 -1 -1;
  727. #X obj 492 273 stepperCue \$1 0;
  728. #X obj 492 263 cnv 15 66 5 /stepper/\$1/sequencer/wait/gui /stepper/\$1/sequencer/wait/gui
  729. empty 20 12 0 14 -260818 -99865 0;
  730. #X obj 493 417 stepperCue \$1 3;
  731. #X obj 493 369 stepperCue \$1 2;
  732. #X obj 492 321 stepperCue \$1 1;
  733. #X text 226 281 1 -;
  734. #X connect 3 0 11 0;
  735. #X connect 11 0 10 0;
  736. #X connect 11 0 13 0;
  737. #X connect 12 1 41 0;
  738. #X connect 12 2 4 0;
  739. #X connect 12 3 5 0;
  740. #X connect 12 4 6 0;
  741. #X connect 13 0 12 0;
  742. #X connect 13 1 48 0;
  743. #X connect 17 0 18 0;
  744. #X connect 18 0 39 0;
  745. #X connect 19 0 22 0;
  746. #X connect 19 0 23 0;
  747. #X connect 20 0 38 0;
  748. #X connect 22 0 25 0;
  749. #X connect 25 0 17 0;
  750. #X connect 25 0 24 0;
  751. #X connect 38 0 19 0;
  752. #X connect 38 1 40 0;
  753. #X connect 40 0 39 0;
  754. #X connect 50 0 33 0;
  755. #X connect 50 0 34 0;
  756. #X coords 0 -1 1 1 780 329 1 80 150;