├── LICENSE.txt ├── README.txt ├── arduino-gui-help.pd ├── arduino-gui.pd ├── arduino-help.pd ├── arduino.pd ├── includes ├── agop.13.led.pd ├── agop.analog.gop.pd ├── agop.analog.pin.pd ├── agop.device.selector.pd ├── agop.digital.gop.pd ├── agop.digital.pin.pd ├── agop.dummy.pin.pd ├── agop.firmware.check.pd ├── agop.message.recorder.pd ├── agop.power.led.pd ├── agop.refresh.rate.pd ├── agop.rx.led.pd ├── agop.sample.rate.pd ├── agop.symbol2list.pd ├── agop.tx.led.pd └── analog.display.pd └── pduino-meta.pd /LICENSE.txt: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 2, June 1991 3 | 4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. 5 | 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 6 | Everyone is permitted to copy and distribute verbatim copies 7 | of this license document, but changing it is not allowed. 8 | 9 | Preamble 10 | 11 | The licenses for most software are designed to take away your 12 | freedom to share and change it. By contrast, the GNU General Public 13 | License is intended to guarantee your freedom to share and change free 14 | software--to make sure the software is free for all its users. This 15 | General Public License applies to most of the Free Software 16 | Foundation's software and to any other program whose authors commit to 17 | using it. (Some other Free Software Foundation software is covered by 18 | the GNU Library General Public License instead.) You can apply it to 19 | your programs, too. 20 | 21 | When we speak of free software, we are referring to freedom, not 22 | price. Our General Public Licenses are designed to make sure that you 23 | have the freedom to distribute copies of free software (and charge for 24 | this service if you wish), that you receive source code or can get it 25 | if you want it, that you can change the software or use pieces of it 26 | in new free programs; and that you know you can do these things. 27 | 28 | To protect your rights, we need to make restrictions that forbid 29 | anyone to deny you these rights or to ask you to surrender the rights. 30 | These restrictions translate to certain responsibilities for you if you 31 | distribute copies of the software, or if you modify it. 32 | 33 | For example, if you distribute copies of such a program, whether 34 | gratis or for a fee, you must give the recipients all the rights that 35 | you have. You must make sure that they, too, receive or can get the 36 | source code. And you must show them these terms so they know their 37 | rights. 38 | 39 | We protect your rights with two steps: (1) copyright the software, and 40 | (2) offer you this license which gives you legal permission to copy, 41 | distribute and/or modify the software. 42 | 43 | Also, for each author's protection and ours, we want to make certain 44 | that everyone understands that there is no warranty for this free 45 | software. If the software is modified by someone else and passed on, we 46 | want its recipients to know that what they have is not the original, so 47 | that any problems introduced by others will not reflect on the original 48 | authors' reputations. 49 | 50 | Finally, any free program is threatened constantly by software 51 | patents. We wish to avoid the danger that redistributors of a free 52 | program will individually obtain patent licenses, in effect making the 53 | program proprietary. To prevent this, we have made it clear that any 54 | patent must be licensed for everyone's free use or not licensed at all. 55 | 56 | The precise terms and conditions for copying, distribution and 57 | modification follow. 58 | 59 | GNU GENERAL PUBLIC LICENSE 60 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 61 | 62 | 0. This License applies to any program or other work which contains 63 | a notice placed by the copyright holder saying it may be distributed 64 | under the terms of this General Public License. The "Program", below, 65 | refers to any such program or work, and a "work based on the Program" 66 | means either the Program or any derivative work under copyright law: 67 | that is to say, a work containing the Program or a portion of it, 68 | either verbatim or with modifications and/or translated into another 69 | language. (Hereinafter, translation is included without limitation in 70 | the term "modification".) Each licensee is addressed as "you". 71 | 72 | Activities other than copying, distribution and modification are not 73 | covered by this License; they are outside its scope. The act of 74 | running the Program is not restricted, and the output from the Program 75 | is covered only if its contents constitute a work based on the 76 | Program (independent of having been made by running the Program). 77 | Whether that is true depends on what the Program does. 78 | 79 | 1. You may copy and distribute verbatim copies of the Program's 80 | source code as you receive it, in any medium, provided that you 81 | conspicuously and appropriately publish on each copy an appropriate 82 | copyright notice and disclaimer of warranty; keep intact all the 83 | notices that refer to this License and to the absence of any warranty; 84 | and give any other recipients of the Program a copy of this License 85 | along with the Program. 86 | 87 | You may charge a fee for the physical act of transferring a copy, and 88 | you may at your option offer warranty protection in exchange for a fee. 89 | 90 | 2. You may modify your copy or copies of the Program or any portion 91 | of it, thus forming a work based on the Program, and copy and 92 | distribute such modifications or work under the terms of Section 1 93 | above, provided that you also meet all of these conditions: 94 | 95 | a) You must cause the modified files to carry prominent notices 96 | stating that you changed the files and the date of any change. 97 | 98 | b) You must cause any work that you distribute or publish, that in 99 | whole or in part contains or is derived from the Program or any 100 | part thereof, to be licensed as a whole at no charge to all third 101 | parties under the terms of this License. 102 | 103 | c) If the modified program normally reads commands interactively 104 | when run, you must cause it, when started running for such 105 | interactive use in the most ordinary way, to print or display an 106 | announcement including an appropriate copyright notice and a 107 | notice that there is no warranty (or else, saying that you provide 108 | a warranty) and that users may redistribute the program under 109 | these conditions, and telling the user how to view a copy of this 110 | License. (Exception: if the Program itself is interactive but 111 | does not normally print such an announcement, your work based on 112 | the Program is not required to print an announcement.) 113 | 114 | These requirements apply to the modified work as a whole. If 115 | identifiable sections of that work are not derived from the Program, 116 | and can be reasonably considered independent and separate works in 117 | themselves, then this License, and its terms, do not apply to those 118 | sections when you distribute them as separate works. But when you 119 | distribute the same sections as part of a whole which is a work based 120 | on the Program, the distribution of the whole must be on the terms of 121 | this License, whose permissions for other licensees extend to the 122 | entire whole, and thus to each and every part regardless of who wrote it. 123 | 124 | Thus, it is not the intent of this section to claim rights or contest 125 | your rights to work written entirely by you; rather, the intent is to 126 | exercise the right to control the distribution of derivative or 127 | collective works based on the Program. 128 | 129 | In addition, mere aggregation of another work not based on the Program 130 | with the Program (or with a work based on the Program) on a volume of 131 | a storage or distribution medium does not bring the other work under 132 | the scope of this License. 133 | 134 | 3. You may copy and distribute the Program (or a work based on it, 135 | under Section 2) in object code or executable form under the terms of 136 | Sections 1 and 2 above provided that you also do one of the following: 137 | 138 | a) Accompany it with the complete corresponding machine-readable 139 | source code, which must be distributed under the terms of Sections 140 | 1 and 2 above on a medium customarily used for software interchange; or, 141 | 142 | b) Accompany it with a written offer, valid for at least three 143 | years, to give any third party, for a charge no more than your 144 | cost of physically performing source distribution, a complete 145 | machine-readable copy of the corresponding source code, to be 146 | distributed under the terms of Sections 1 and 2 above on a medium 147 | customarily used for software interchange; or, 148 | 149 | c) Accompany it with the information you received as to the offer 150 | to distribute corresponding source code. (This alternative is 151 | allowed only for noncommercial distribution and only if you 152 | received the program in object code or executable form with such 153 | an offer, in accord with Subsection b above.) 154 | 155 | The source code for a work means the preferred form of the work for 156 | making modifications to it. For an executable work, complete source 157 | code means all the source code for all modules it contains, plus any 158 | associated interface definition files, plus the scripts used to 159 | control compilation and installation of the executable. However, as a 160 | special exception, the source code distributed need not include 161 | anything that is normally distributed (in either source or binary 162 | form) with the major components (compiler, kernel, and so on) of the 163 | operating system on which the executable runs, unless that component 164 | itself accompanies the executable. 165 | 166 | If distribution of executable or object code is made by offering 167 | access to copy from a designated place, then offering equivalent 168 | access to copy the source code from the same place counts as 169 | distribution of the source code, even though third parties are not 170 | compelled to copy the source along with the object code. 171 | 172 | 4. You may not copy, modify, sublicense, or distribute the Program 173 | except as expressly provided under this License. Any attempt 174 | otherwise to copy, modify, sublicense or distribute the Program is 175 | void, and will automatically terminate your rights under this License. 176 | However, parties who have received copies, or rights, from you under 177 | this License will not have their licenses terminated so long as such 178 | parties remain in full compliance. 179 | 180 | 5. You are not required to accept this License, since you have not 181 | signed it. However, nothing else grants you permission to modify or 182 | distribute the Program or its derivative works. These actions are 183 | prohibited by law if you do not accept this License. Therefore, by 184 | modifying or distributing the Program (or any work based on the 185 | Program), you indicate your acceptance of this License to do so, and 186 | all its terms and conditions for copying, distributing or modifying 187 | the Program or works based on it. 188 | 189 | 6. Each time you redistribute the Program (or any work based on the 190 | Program), the recipient automatically receives a license from the 191 | original licensor to copy, distribute or modify the Program subject to 192 | these terms and conditions. You may not impose any further 193 | restrictions on the recipients' exercise of the rights granted herein. 194 | You are not responsible for enforcing compliance by third parties to 195 | this License. 196 | 197 | 7. If, as a consequence of a court judgment or allegation of patent 198 | infringement or for any other reason (not limited to patent issues), 199 | conditions are imposed on you (whether by court order, agreement or 200 | otherwise) that contradict the conditions of this License, they do not 201 | excuse you from the conditions of this License. If you cannot 202 | distribute so as to satisfy simultaneously your obligations under this 203 | License and any other pertinent obligations, then as a consequence you 204 | may not distribute the Program at all. For example, if a patent 205 | license would not permit royalty-free redistribution of the Program by 206 | all those who receive copies directly or indirectly through you, then 207 | the only way you could satisfy both it and this License would be to 208 | refrain entirely from distribution of the Program. 209 | 210 | If any portion of this section is held invalid or unenforceable under 211 | any particular circumstance, the balance of the section is intended to 212 | apply and the section as a whole is intended to apply in other 213 | circumstances. 214 | 215 | It is not the purpose of this section to induce you to infringe any 216 | patents or other property right claims or to contest validity of any 217 | such claims; this section has the sole purpose of protecting the 218 | integrity of the free software distribution system, which is 219 | implemented by public license practices. Many people have made 220 | generous contributions to the wide range of software distributed 221 | through that system in reliance on consistent application of that 222 | system; it is up to the author/donor to decide if he or she is willing 223 | to distribute software through any other system and a licensee cannot 224 | impose that choice. 225 | 226 | This section is intended to make thoroughly clear what is believed to 227 | be a consequence of the rest of this License. 228 | 229 | 8. If the distribution and/or use of the Program is restricted in 230 | certain countries either by patents or by copyrighted interfaces, the 231 | original copyright holder who places the Program under this License 232 | may add an explicit geographical distribution limitation excluding 233 | those countries, so that distribution is permitted only in or among 234 | countries not thus excluded. In such case, this License incorporates 235 | the limitation as if written in the body of this License. 236 | 237 | 9. The Free Software Foundation may publish revised and/or new versions 238 | of the General Public License from time to time. Such new versions will 239 | be similar in spirit to the present version, but may differ in detail to 240 | address new problems or concerns. 241 | 242 | Each version is given a distinguishing version number. If the Program 243 | specifies a version number of this License which applies to it and "any 244 | later version", you have the option of following the terms and conditions 245 | either of that version or of any later version published by the Free 246 | Software Foundation. If the Program does not specify a version number of 247 | this License, you may choose any version ever published by the Free Software 248 | Foundation. 249 | 250 | 10. If you wish to incorporate parts of the Program into other free 251 | programs whose distribution conditions are different, write to the author 252 | to ask for permission. For software which is copyrighted by the Free 253 | Software Foundation, write to the Free Software Foundation; we sometimes 254 | make exceptions for this. Our decision will be guided by the two goals 255 | of preserving the free status of all derivatives of our free software and 256 | of promoting the sharing and reuse of software generally. 257 | 258 | NO WARRANTY 259 | 260 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 261 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 262 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 263 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 264 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 265 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 266 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 267 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 268 | REPAIR OR CORRECTION. 269 | 270 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 271 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 272 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 273 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 274 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 275 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 276 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 277 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 278 | POSSIBILITY OF SUCH DAMAGES. 279 | 280 | END OF TERMS AND CONDITIONS 281 | 282 | How to Apply These Terms to Your New Programs 283 | 284 | If you develop a new program, and you want it to be of the greatest 285 | possible use to the public, the best way to achieve this is to make it 286 | free software which everyone can redistribute and change under these terms. 287 | 288 | To do so, attach the following notices to the program. It is safest 289 | to attach them to the start of each source file to most effectively 290 | convey the exclusion of warranty; and each file should have at least 291 | the "copyright" line and a pointer to where the full notice is found. 292 | 293 | 294 | Copyright (C) 295 | 296 | This program is free software; you can redistribute it and/or modify 297 | it under the terms of the GNU General Public License as published by 298 | the Free Software Foundation; either version 2 of the License, or 299 | (at your option) any later version. 300 | 301 | This program is distributed in the hope that it will be useful, 302 | but WITHOUT ANY WARRANTY; without even the implied warranty of 303 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 304 | GNU General Public License for more details. 305 | 306 | You should have received a copy of the GNU General Public License 307 | along with this program; if not, write to the Free Software 308 | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 309 | 310 | 311 | Also add information on how to contact you by electronic and paper mail. 312 | 313 | If the program is interactive, make it output a short notice like this 314 | when it starts in an interactive mode: 315 | 316 | Gnomovision version 69, Copyright (C) year name of author 317 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 318 | This is free software, and you are welcome to redistribute it 319 | under certain conditions; type `show c' for details. 320 | 321 | The hypothetical commands `show w' and `show c' should show the appropriate 322 | parts of the General Public License. Of course, the commands you use may 323 | be called something other than `show w' and `show c'; they could even be 324 | mouse-clicks or menu items--whatever suits your program. 325 | 326 | You should also get your employer (if you work as a programmer) or your 327 | school, if any, to sign a "copyright disclaimer" for the program, if 328 | necessary. Here is a sample; alter the names: 329 | 330 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program 331 | `Gnomovision' (which makes passes at compilers) written by James Hacker. 332 | 333 | , 1 April 1989 334 | Ty Coon, President of Vice 335 | 336 | This General Public License does not permit incorporating your program into 337 | proprietary programs. If your program is a subroutine library, you may 338 | consider it more useful to permit linking proprietary applications with the 339 | library. If this is what you want to do, use the GNU Library General 340 | Public License instead of this License. 341 | -------------------------------------------------------------------------------- /README.txt: -------------------------------------------------------------------------------- 1 | pduino - interface Pd with the world easily 2 | ------------------------------------------- 3 | 4 | [arduino] connects Pd to a real Arduino board and lets you control its pins, 5 | thus enabling Pd to interact with the physical world. You don't even need any 6 | C++ skills, you just need to load the Firmata firmware onto your board. 7 | [arduino] is a Pd implementation of the Firmata protocol as documented on: 8 | 9 | https://github.com/firmata/protocol/blob/master/protocol.md 10 | 11 | [arduino-gui] is graphical faksimile of the most common board layout used 12 | by Leonardo, Uno, Duemilanove, Diecimila, NG (and probably others). Any 13 | user interaction with its pins is translated to direct commands to the board. 14 | Similarly, pin states and state changes are represented graphically. It 15 | should get you started quickly without having to look up all available 16 | commands first. 17 | 18 | 19 | Installation: 20 | 21 | * this pduino package is supposed to live somewhere in Pd's search path 22 | 23 | * You may want to [declare -stdpath pduino] before creating [arduino] or 24 | [arduino-gui] in Pd. 25 | 26 | 27 | Dependencies: 28 | 29 | * comport 30 | 31 | 32 | Prerequisites: 33 | 34 | * Any model of an Arduino (or compatible) board with a serial interface. 35 | 36 | * Some variant of the Firmata (version >= 2.2) firmware on it. 37 | Most common is StandardFirmata 38 | 39 | 40 | How to load the Firmata firmware onto the board: 41 | 42 | * Get the Arduino IDE from: 43 | https://www.arduino.cc/en/Main/Software 44 | 45 | * Start the IDE 46 | 47 | * Connect your Board 48 | 49 | * Load the Firmware: 'File' -> 'Examples' -> 'Firmata' -> 'StandardFirmata' 50 | (You may use another Firmata, if you know what you're doing) 51 | 52 | * Make sure you have the correct port ('Tools' -> 'Port') and the correct 53 | board ('Tools' -> 'Board') selected 54 | 55 | * Upload Firmata by clicking the 'Upload' button (right arrow) 56 | 57 | 58 | HAVE FUN! 59 | 60 | 61 | -------------------------------------------------------------------------------- /arduino-gui-help.pd: -------------------------------------------------------------------------------- 1 | #N canvas 357 106 852 596 10; 2 | #X declare -path .; 3 | #X text 266 94 [arduino-gui]; 4 | #X msg 79 44 open \$1; 5 | #X floatatom 79 19 5 0 0 0 - - -; 6 | #X obj 79 548 print ARDUINO.OUT; 7 | #X msg 347 494; 8 | #X text 363 156 <- select a device; 9 | #X text 364 169 <- set GUI refresh rate; 10 | #X text 360 282 <- set pin mode and change state; 11 | #X text 406 21 A R D U I N O - G U I; 12 | #X text 406 31 =====================; 13 | #X text 365 470 <- record all arduino commands to a message box; 14 | #X obj 133 18 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 15 | 1; 16 | #X obj 596 147 cnv 15 170 210 empty empty empty 20 12 0 14 -224640 17 | -66577 0; 18 | #X text 607 184 * UNO; 19 | #X text 607 198 * Duemilanove; 20 | #X text 607 213 * Diecimila; 21 | #X text 607 226 * NG; 22 | #X text 600 256 Supported Firmware:; 23 | #X msg 133 44 digital 13 \$1; 24 | #X text 405 48 [arduino-gui] is a graphical version of the common [arduino] 25 | class. It is a wrapper with some GUI enhancements that facilitate sending 26 | commands to the arduino board. Those commands can also be recorded 27 | to a message box.; 28 | #X text 685 557 Olsen Wolf; 29 | #X msg 226 44 pinMode 3 \$1; 30 | #X symbolatom 226 19 10 0 0 0 - - -; 31 | #X msg 311 44 port 1 \$1; 32 | #X floatatom 311 19 5 0 0 0 - - -; 33 | #X obj 598 434 arduino; 34 | #X text 398 434 For full reference \, see help of; 35 | #X obj 213 548 print ARDUINO.INFO; 36 | #X text 364 185 <- set analog input refresh rate; 37 | #X text 600 315 Requires:; 38 | #X text 607 333 * Pd >= 0.45; 39 | #X text 607 171 * Leonardo; 40 | #X text 600 155 Supported Models:; 41 | #X obj 79 115 arduino-gui; 42 | #X obj 404 546 declare -path .; 43 | #X text 503 545 <- why?; 44 | #X text 649 543 2021 \, Roman Haefeli; 45 | #X text 607 274 * StandardFirmata >= 2.2; 46 | #X text 615 290 (tested with 2.5); 47 | #X connect 1 0 33 0; 48 | #X connect 2 0 1 0; 49 | #X connect 11 0 18 0; 50 | #X connect 18 0 33 0; 51 | #X connect 21 0 33 0; 52 | #X connect 22 0 21 0; 53 | #X connect 23 0 33 0; 54 | #X connect 24 0 23 0; 55 | #X connect 33 0 3 0; 56 | #X connect 33 1 27 0; 57 | #X connect 33 2 4 0; 58 | -------------------------------------------------------------------------------- /arduino-gui.pd: -------------------------------------------------------------------------------- 1 | #N canvas 109 106 893 507 10; 2 | #X obj 80 65 cnv 15 275 325 empty empty empty 20 12 0 14 -22189 -66577 3 | 0; 4 | #X obj 400 61 inlet; 5 | #X obj 79 451 outlet; 6 | #X obj 209 451 outlet; 7 | #X obj 402 451 s \$0.ARDUINO.OUT; 8 | #X obj 509 451 s \$0.ARDUINO.INFO; 9 | #X obj 402 314 r \$0.ARDUINO.TO; 10 | #X obj 209 415 r \$0.ARDUINO.INFO; 11 | #X obj 400 83 s \$0.ARDUINO.IN; 12 | #X obj 332 199 includes/agop.digital.pin \$0 12; 13 | #X text 303 156 AREF; 14 | #X text 309 170 GND; 15 | #X text 315 359 TX; 16 | #X text 315 373 RX; 17 | #X obj 340 158 includes/agop.dummy.pin; 18 | #X obj 340 171 includes/agop.dummy.pin; 19 | #X obj 340 360 includes/agop.dummy.pin; 20 | #X obj 83 277 includes/agop.dummy.pin; 21 | #X obj 83 263 includes/agop.dummy.pin; 22 | #X obj 83 249 includes/agop.dummy.pin; 23 | #X obj 83 235 includes/agop.dummy.pin; 24 | #X obj 83 221 includes/agop.dummy.pin; 25 | #X obj 83 207 includes/agop.dummy.pin; 26 | #X obj 270 183 includes/agop.tx.led \$0; 27 | #X obj 257 183 includes/agop.rx.led \$0; 28 | #X text 400 175 \$0.ARDUINO.OUT; 29 | #X text 400 202 \$0.ARDUINO.INFO; 30 | #X text 400 229 \$0.ARDUINO.INTERN; 31 | #X text 400 148 \$0.ARDUINO.TO; 32 | #X text 400 121 \$0.ARDUINO.IN; 33 | #X text 518 230 <- GOP-internal Communication; 34 | #X text 518 203 <- Arduino Status Messages (sent to outlet1); 35 | #X text 518 175 <- Arduino Pin Messages (sent to outlet0); 36 | #X text 518 120 <- external commands (modules are listening here); 37 | #X text 518 148 <- Commands sent from modules -> [arduino]; 38 | #X obj 80 20 includes/agop.firmware.check \$0; 39 | #X obj 146 206 cnv 15 28 175 empty empty empty 20 12 0 14 -66577 -66577 40 | 0; 41 | #X text 96 206 RESET; 42 | #X text 96 220 3v3; 43 | #X text 96 234 5V; 44 | #X text 96 248 GND; 45 | #X text 96 262 GND; 46 | #X text 96 276 Vin; 47 | #X obj 175 213 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 48 | 0; 49 | #X obj 175 225 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 50 | 0; 51 | #X obj 175 237 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 52 | 0; 53 | #X obj 175 249 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 54 | 0; 55 | #X obj 175 261 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 56 | 0; 57 | #X obj 175 273 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 58 | 0; 59 | #X obj 175 285 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 60 | 0; 61 | #X obj 175 297 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 62 | 0; 63 | #X obj 175 309 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 64 | 0; 65 | #X obj 175 321 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 66 | 0; 67 | #X obj 175 333 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 68 | 0; 69 | #X obj 175 345 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 70 | 0; 71 | #X obj 175 357 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 72 | 0; 73 | #X obj 175 369 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 74 | 0; 75 | #X obj 144 213 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 76 | 0; 77 | #X obj 144 225 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 78 | 0; 79 | #X obj 144 237 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 80 | 0; 81 | #X obj 144 249 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 82 | 0; 83 | #X obj 144 261 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 84 | 0; 85 | #X obj 144 273 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 86 | 0; 87 | #X obj 144 285 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 88 | 0; 89 | #X obj 144 297 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 90 | 0; 91 | #X obj 144 309 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 92 | 0; 93 | #X obj 144 321 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 94 | 0; 95 | #X obj 144 333 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 96 | 0; 97 | #X obj 144 345 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 98 | 0; 99 | #X obj 144 357 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 100 | 0; 101 | #X obj 144 369 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 102 | 0; 103 | #X obj 254 35 cnv 15 55 70 empty empty empty 20 12 0 14 -191407 -66577 104 | 0; 105 | #X obj 133 65 includes/agop.device.selector \$0; 106 | #X obj 255 65 includes/agop.refresh.rate \$0; 107 | #X obj 95 59 cnv 15 37 60 empty empty empty 20 12 0 14 -33289 -66577 108 | 0; 109 | #X text 254 187 R; 110 | #X text 254 196 X; 111 | #X text 268 196 X; 112 | #X text 268 187 T; 113 | #X obj 296 183 includes/agop.13.led \$0; 114 | #X text 293 187 L; 115 | #X obj 264 358 includes/agop.power.led \$0; 116 | #X text 261 362 PWR; 117 | #X obj 83 303 includes/agop.analog.pin \$0 0; 118 | #X obj 83 317 includes/agop.analog.pin \$0 1; 119 | #X obj 83 331 includes/agop.analog.pin \$0 2; 120 | #X obj 83 345 includes/agop.analog.pin \$0 3; 121 | #X obj 83 359 includes/agop.analog.pin \$0 4; 122 | #X obj 83 373 includes/agop.analog.pin \$0 5; 123 | #X text 104 302 A0; 124 | #X text 104 316 A1; 125 | #X text 104 330 A2; 126 | #X text 104 344 A3; 127 | #X text 104 358 A4; 128 | #X text 104 372 A5; 129 | #X text 309 240 PWM; 130 | #X text 309 212 PWM; 131 | #X text 309 289 PWM; 132 | #X text 309 226 PWM; 133 | #X text 309 303 PWM; 134 | #X text 309 331 PWM; 135 | #X obj 80 20 cnv 1 7 1 empty empty empty 20 12 0 14 -1 -66577 0; 136 | #X obj 80 389 cnv 1 7 1 empty empty empty 20 12 0 14 -1 -66577 0; 137 | #X obj 348 389 cnv 1 7 1 empty empty empty 20 12 0 14 -1 -66577 0; 138 | #X obj 340 451 outlet; 139 | #X obj 214 389 cnv 1 7 1 empty empty empty 20 12 0 14 -1 -66577 0; 140 | #X obj 79 415 r \$0.ARDUINO.OUT; 141 | #X obj 340 374 includes/agop.message.recorder \$0; 142 | #X obj 507 314 r \$0.ARDUINO.IN; 143 | #X obj 507 343 r \$0.ARDUINO.INTERN; 144 | #X obj 402 376 spigot 1; 145 | #X obj 397 407 cnv 25 75 25 empty empty empty 20 12 0 14 -203904 -66577 146 | 0; 147 | #X obj 272 113 cnv 15 18 48 empty empty empty 20 12 0 14 -66577 -66577 148 | 0; 149 | #X obj 292 116 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 150 | 0; 151 | #X obj 292 119 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 152 | 0; 153 | #X obj 292 122 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 154 | 0; 155 | #X obj 292 125 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 156 | 0; 157 | #X obj 292 128 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 158 | 0; 159 | #X obj 292 131 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 160 | 0; 161 | #X obj 292 134 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 162 | 0; 163 | #X obj 292 137 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 164 | 0; 165 | #X obj 292 140 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 166 | 0; 167 | #X obj 292 143 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 168 | 0; 169 | #X obj 292 146 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 170 | 0; 171 | #X obj 292 149 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 172 | 0; 173 | #X obj 265 116 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 174 | 0; 175 | #X obj 265 119 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 176 | 0; 177 | #X obj 265 122 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 178 | 0; 179 | #X obj 265 125 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 180 | 0; 181 | #X obj 265 128 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 182 | 0; 183 | #X obj 265 131 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 184 | 0; 185 | #X obj 265 134 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 186 | 0; 187 | #X obj 265 137 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 188 | 0; 189 | #X obj 265 140 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 190 | 0; 191 | #X obj 265 143 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 192 | 0; 193 | #X obj 265 146 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 194 | 0; 195 | #X obj 265 149 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 196 | 0; 197 | #X obj 292 152 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 198 | 0; 199 | #X obj 292 155 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 200 | 0; 201 | #X obj 265 152 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 202 | 0; 203 | #X obj 265 155 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 204 | 0; 205 | #X obj 292 158 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 206 | 0; 207 | #X obj 265 158 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 208 | 0; 209 | #X obj 255 92 includes/agop.sample.rate \$0; 210 | #X obj 402 411 arduino \$1; 211 | #N canvas 1004 185 333 283 DEBUG 0; 212 | #X obj 13 76 r \$0.ARDUINO.IN; 213 | #X obj 13 96 spigot; 214 | #X obj 13 116 print IN; 215 | #X obj 12 18 inlet; 216 | #X obj 12 38 s \$0.debug; 217 | #X obj 58 96 r \$0.debug; 218 | #X obj 13 159 spigot; 219 | #X obj 58 159 r \$0.debug; 220 | #X obj 13 139 r \$0.ARDUINO.TO; 221 | #X obj 13 179 print TO; 222 | #X obj 13 223 spigot; 223 | #X obj 58 223 r \$0.debug; 224 | #X obj 13 203 r \$0.ARDUINO.OUT; 225 | #X obj 13 243 print OUT; 226 | #X obj 173 96 spigot; 227 | #X obj 218 96 r \$0.debug; 228 | #X obj 173 76 r \$0.ARDUINO.INFO; 229 | #X obj 173 116 print INFO; 230 | #X obj 175 191 spigot; 231 | #X obj 220 191 r \$0.debug; 232 | #X obj 173 140 r \$0.ARDUINO.INTERN; 233 | #X obj 175 211 print INTERN; 234 | #X obj 173 160 route refresh; 235 | #X connect 0 0 1 0; 236 | #X connect 1 0 2 0; 237 | #X connect 3 0 4 0; 238 | #X connect 5 0 1 1; 239 | #X connect 6 0 9 0; 240 | #X connect 7 0 6 1; 241 | #X connect 8 0 6 0; 242 | #X connect 10 0 13 0; 243 | #X connect 11 0 10 1; 244 | #X connect 12 0 10 0; 245 | #X connect 14 0 17 0; 246 | #X connect 15 0 14 1; 247 | #X connect 16 0 14 0; 248 | #X connect 18 0 21 0; 249 | #X connect 19 0 18 1; 250 | #X connect 20 0 22 0; 251 | #X connect 22 1 18 0; 252 | #X restore 692 404 pd DEBUG; 253 | #X obj 692 381 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 254 | 1; 255 | #X text 714 380 enable debug prints; 256 | #N canvas 520 118 498 502 CAPABILITY 0; 257 | #X obj 15 14 r \$0.ARDUINO.INTERN; 258 | #X obj 82 57 == 0; 259 | #X obj 15 79 spigot 1; 260 | #X msg 15 109 capability; 261 | #X obj 15 129 s \$0.ARDUINO.TO; 262 | #X obj 14 179 r \$0.ARDUINO.INFO; 263 | #X obj 14 199 route capability; 264 | #X obj 14 220 route end begin; 265 | #X obj 15 455 table \$0.PINMODE.MATRIX 256; 266 | #N canvas 0 87 288 315 write.to.matrix 0; 267 | #X obj 16 24 inlet; 268 | #X obj 16 254 s \$0.PINMODE.MATRIX; 269 | #X obj 43 180 tabread \$0.PINMODE.MATRIX; 270 | #X obj 16 48 unpack f s f; 271 | #N canvas 436 229 732 217 convert_symbolic_to_numeric 0; 272 | #X obj 10 12 inlet; 273 | #X msg 10 112 0; 274 | #X msg 79 112 1; 275 | #X msg 148 112 2; 276 | #X msg 217 112 3; 277 | #X msg 286 112 4; 278 | #X msg 355 112 5; 279 | #X msg 406 112 6; 280 | #X msg 457 112 7; 281 | #X msg 508 112 8; 282 | #X msg 559 112 9; 283 | #X obj 355 79 select SHIFT I2C ONEWIRE STEPPER ENCODER SERIAL INPUT_PULLUP 284 | ; 285 | #X obj 10 55 select DIGITAL_INPUT DIGITAL_OUTPUT ANALOG_INPUT PWM SERVO 286 | ; 287 | #X msg 610 112 10; 288 | #X msg 661 112 11; 289 | #X obj 10 186 outlet; 290 | #X connect 0 0 12 0; 291 | #X connect 1 0 15 0; 292 | #X connect 2 0 15 0; 293 | #X connect 3 0 15 0; 294 | #X connect 4 0 15 0; 295 | #X connect 5 0 15 0; 296 | #X connect 6 0 15 0; 297 | #X connect 7 0 15 0; 298 | #X connect 8 0 15 0; 299 | #X connect 9 0 15 0; 300 | #X connect 10 0 15 0; 301 | #X connect 11 0 6 0; 302 | #X connect 11 1 7 0; 303 | #X connect 11 2 8 0; 304 | #X connect 11 3 9 0; 305 | #X connect 11 4 10 0; 306 | #X connect 11 5 13 0; 307 | #X connect 11 6 14 0; 308 | #X connect 12 0 1 0; 309 | #X connect 12 1 2 0; 310 | #X connect 12 2 3 0; 311 | #X connect 12 3 4 0; 312 | #X connect 12 4 5 0; 313 | #X connect 12 5 11 0; 314 | #X connect 13 0 15 0; 315 | #X connect 14 0 15 0; 316 | #X restore 50 79 pd convert_symbolic_to_numeric; 317 | #X obj 16 161 t a a; 318 | #X obj 50 138 <<; 319 | #X msg 50 119 1; 320 | #X obj 50 99 t b a; 321 | #X text 91 124 << bitshift; 322 | #X obj 16 231 pack f f; 323 | #X obj 43 201 |; 324 | #X connect 0 0 3 0; 325 | #X connect 2 0 11 0; 326 | #X connect 3 0 5 0; 327 | #X connect 3 1 4 0; 328 | #X connect 4 0 8 0; 329 | #X connect 5 0 10 0; 330 | #X connect 5 1 2 0; 331 | #X connect 6 0 11 1; 332 | #X connect 7 0 6 0; 333 | #X connect 8 0 7 0; 334 | #X connect 8 1 6 1; 335 | #X connect 10 0 1 0; 336 | #X connect 11 0 10 1; 337 | #X restore 101 249 pd write.to.matrix; 338 | #X msg 57 275 const 0; 339 | #X obj 57 295 s \$0.PINMODE.MATRIX; 340 | #X text 255 44 & 1: DIGITAL_INPUT; 341 | #X text 255 80 & 4: ANALOG_INPUT; 342 | #X text 255 62 & 2: DIGITAL_OUTPUT; 343 | #X text 255 98 & 8: PWM; 344 | #X text 249 116 & 16: SERVO; 345 | #X text 249 134 & 32: SHIFT; 346 | #X text 249 152 & 64: I2C; 347 | #X text 243 170 & 128: ONEWIRE; 348 | #X text 243 188 & 256: STEPPER; 349 | #X text 243 206 & 512: ENCODER; 350 | #X text 237 224 & 1024: SERIAL; 351 | #X text 237 242 & 2048: INPUT_PULLUP; 352 | #X text 237 19 MATRIX ENCODING; 353 | #X text 237 26 ---------------; 354 | #X floatatom 239 267 5 0 0 0 - - -; 355 | #X obj 239 301 tabread \$0.PINMODE.MATRIX; 356 | #X obj 239 321 t a a a a a a; 357 | #X obj 239 343 & 1; 358 | #X msg 239 393 input; 359 | #X obj 279 342 & 2; 360 | #X msg 279 393 output; 361 | #X obj 326 342 & 4; 362 | #X obj 372 342 & 8; 363 | #X msg 372 393 pwm; 364 | #X msg 412 393 servo; 365 | #X obj 239 284 t a a; 366 | #X obj 239 437 list prepend; 367 | #X msg 326 393 analog; 368 | #X obj 412 342 & 16; 369 | #X obj 239 369 sel 1; 370 | #X obj 279 368 sel 2; 371 | #X obj 326 368 sel 4; 372 | #X obj 372 368 sel 8; 373 | #X obj 412 368 sel 16; 374 | #X obj 239 457 print MODES; 375 | #X obj 15 34 route connected emulate; 376 | #X obj 14 335 outlet; 377 | #X obj 14 299 bang; 378 | #X connect 0 0 47 0; 379 | #X connect 1 0 2 1; 380 | #X connect 2 0 3 0; 381 | #X connect 3 0 4 0; 382 | #X connect 5 0 6 0; 383 | #X connect 6 0 7 0; 384 | #X connect 7 0 49 0; 385 | #X connect 7 1 10 0; 386 | #X connect 7 2 9 0; 387 | #X connect 10 0 11 0; 388 | #X connect 26 0 37 0; 389 | #X connect 27 0 28 0; 390 | #X connect 28 0 29 0; 391 | #X connect 28 1 31 0; 392 | #X connect 28 2 33 0; 393 | #X connect 28 3 34 0; 394 | #X connect 28 3 40 0; 395 | #X connect 29 0 41 0; 396 | #X connect 30 0 38 0; 397 | #X connect 31 0 42 0; 398 | #X connect 32 0 38 0; 399 | #X connect 33 0 43 0; 400 | #X connect 34 0 44 0; 401 | #X connect 35 0 38 0; 402 | #X connect 36 0 38 0; 403 | #X connect 37 0 27 0; 404 | #X connect 37 1 38 1; 405 | #X connect 38 0 46 0; 406 | #X connect 39 0 38 0; 407 | #X connect 40 0 45 0; 408 | #X connect 41 0 30 0; 409 | #X connect 42 0 32 0; 410 | #X connect 43 0 39 0; 411 | #X connect 44 0 35 0; 412 | #X connect 45 0 36 0; 413 | #X connect 47 0 2 0; 414 | #X connect 47 1 1 0; 415 | #X connect 49 0 48 0; 416 | #X restore 693 284 pd CAPABILITY query; 417 | #X obj 507 386 == 0; 418 | #X obj 507 366 route emulate; 419 | #N canvas 0 50 361 415 ANALOG_MAPPING 0; 420 | #X obj 15 69 s \$0.ARDUINO.TO; 421 | #X obj 14 89 r \$0.ARDUINO.INFO; 422 | #X msg 15 49 analogMapping; 423 | #X obj 14 108 route analogMapping; 424 | #X obj 14 128 route end begin; 425 | #X obj 14 268 s \$0.ARDUINO.INTERN; 426 | #X obj 13 349 table \$0.DIGITAL.ANALOG.MAPPING 256; 427 | #X obj 13 368 table \$0.ANALOG.DIGITAL.MAPPING 256; 428 | #X obj 116 237 s \$0.DIGITAL.ANALOG.MAPPING; 429 | #X obj 143 196 s \$0.ANALOG.DIGITAL.MAPPING; 430 | #X msg 116 216 \$2 \$1; 431 | #X obj 116 148 t a a; 432 | #X obj 15 12 inlet; 433 | #X msg 14 247 ready 1; 434 | #X msg 57 167 const -1; 435 | #X obj 222 81 loadbang; 436 | #X connect 1 0 3 0; 437 | #X connect 2 0 0 0; 438 | #X connect 3 0 4 0; 439 | #X connect 4 0 13 0; 440 | #X connect 4 1 14 0; 441 | #X connect 4 2 11 0; 442 | #X connect 10 0 8 0; 443 | #X connect 11 0 10 0; 444 | #X connect 11 1 9 0; 445 | #X connect 12 0 2 0; 446 | #X connect 13 0 5 0; 447 | #X connect 14 0 9 0; 448 | #X connect 14 0 8 0; 449 | #X connect 15 0 14 0; 450 | #X restore 693 306 pd ANALOG_MAPPING query; 451 | #X text 649 450 Authors: Roman Haefeli & Olsen Wolf; 452 | #N canvas 755 50 484 419 PIN_ALIAS_MAPPING 0; 453 | #X text 18 21 Some boards like the Arduino Leonard report more pin 454 | than they physically have. This is a hand-crafted (a.k.a hard-coded) 455 | table that maps aliases to physical pins.; 456 | #X obj 19 63 loadbang; 457 | #X msg 19 127 4 24 \, 6 25 \, 8 26 \, 9 27 \, 10 28 \, 12 29; 458 | #X floatatom 22 279 5 0 0 0 - - -; 459 | #X floatatom 22 318 5 0 0 0 - - -; 460 | #X obj 22 340 tabread \$0.DIGITAL.ANALOG.MAPPING; 461 | #X floatatom 22 360 5 0 0 0 - - -; 462 | #X obj 46 166 s \$0.PIN.ALIAS.MAPPING; 463 | #X msg 19 185 \$2 \$1; 464 | #X obj 19 206 s \$0.ALIAS.PIN.MAPPING; 465 | #X obj 19 231 table \$0.PIN.ALIAS.MAPPING 256; 466 | #X obj 19 249 table \$0.ALIAS.PIN.MAPPING 256; 467 | #X text 61 277 physical pin; 468 | #X text 64 318 alias; 469 | #X text 64 359 analog #; 470 | #X obj 22 296 tabread \$0.PIN.ALIAS.MAPPING; 471 | #X floatatom 242 279 5 0 0 0 - - -; 472 | #X floatatom 242 318 5 0 0 0 - - -; 473 | #X floatatom 242 360 5 0 0 0 - - -; 474 | #X text 284 318 alias; 475 | #X obj 242 296 tabread \$0.ANALOG.DIGITAL.MAPPING; 476 | #X obj 242 340 tabread \$0.ALIAS.PIN.MAPPING; 477 | #X text 282 277 analog; 478 | #X text 284 359 physical; 479 | #X msg 46 103 const -1; 480 | #X obj 19 147 t a a; 481 | #X obj 19 83 t b b; 482 | #X connect 1 0 26 0; 483 | #X connect 2 0 25 0; 484 | #X connect 3 0 15 0; 485 | #X connect 4 0 5 0; 486 | #X connect 5 0 6 0; 487 | #X connect 8 0 9 0; 488 | #X connect 15 0 4 0; 489 | #X connect 16 0 20 0; 490 | #X connect 17 0 21 0; 491 | #X connect 20 0 17 0; 492 | #X connect 21 0 18 0; 493 | #X connect 24 0 7 0; 494 | #X connect 24 0 9 0; 495 | #X connect 25 0 8 0; 496 | #X connect 25 1 7 0; 497 | #X connect 26 0 2 0; 498 | #X connect 26 1 24 0; 499 | #X restore 693 327 pd PIN_ALIAS_MAPPING; 500 | #X obj 332 346 includes/agop.digital.pin \$0 2; 501 | #X obj 332 332 includes/agop.digital.pin \$0 3; 502 | #X obj 332 318 includes/agop.digital.pin \$0 4; 503 | #X obj 332 304 includes/agop.digital.pin \$0 5; 504 | #X obj 332 290 includes/agop.digital.pin \$0 6; 505 | #X obj 332 276 includes/agop.digital.pin \$0 7; 506 | #X obj 332 255 includes/agop.digital.pin \$0 8; 507 | #X obj 332 241 includes/agop.digital.pin \$0 9; 508 | #X obj 332 227 includes/agop.digital.pin \$0 10; 509 | #X obj 332 213 includes/agop.digital.pin \$0 11; 510 | #X obj 332 185 includes/agop.digital.pin \$0 13; 511 | #X connect 1 0 8 0; 512 | #X connect 6 0 110 0; 513 | #X connect 7 0 3 0; 514 | #X connect 106 0 2 0; 515 | #X connect 107 0 104 0; 516 | #X connect 108 0 110 0; 517 | #X connect 109 0 150 0; 518 | #X connect 110 0 144 0; 519 | #X connect 144 0 4 0; 520 | #X connect 144 1 5 0; 521 | #X connect 146 0 145 0; 522 | #X connect 148 0 151 0; 523 | #X connect 149 0 110 1; 524 | #X connect 150 0 149 0; 525 | #X coords 0 -1 1 1 275 370 2 80 20; 526 | -------------------------------------------------------------------------------- /arduino.pd: -------------------------------------------------------------------------------- 1 | #N canvas 418 119 596 398 10; 2 | #X obj 32 56 inlet; 3 | #X obj 32 334 outlet; 4 | #X obj 515 334 outlet; 5 | #N canvas 214 231 982 332 command 0; 6 | #X obj 24 7 inlet; 7 | #X obj 299 298 outlet; 8 | #N canvas 562 295 547 478 digital-out 0; 9 | #X obj 4 15 inlet; 10 | #X obj 284 440 outlet; 11 | #X msg 373 158 \$1; 12 | #X text 402 157 add channel to command; 13 | #X text 411 201 0x90; 14 | #X obj 373 202 + 144; 15 | #X obj 373 180 div 8; 16 | #X obj 212 391 float; 17 | #X obj 145 391 float; 18 | #X obj 459 16 inlet; 19 | #X text 339 15 state from port-out; 20 | #X msg 157 84 \$2; 21 | #X obj 237 121 <<; 22 | #X msg 237 100 1 \$1; 23 | #X obj 284 242 * 8; 24 | #X obj 172 371 >> 7; 25 | #X obj 239 371 & 127; 26 | #X obj 249 314 &; 27 | #X msg 290 267 255 \$1; 28 | #X obj 290 288 <<; 29 | #X obj 5 55 trigger bang bang bang anything anything anything; 30 | #X obj 157 267 float; 31 | #X obj 255 338 >>; 32 | #X obj 207 197 |; 33 | #X obj 207 165 float; 34 | #X obj 157 159 float; 35 | #X obj 157 115 select 0 1; 36 | #X floatatom 462 49 0 0 0 0 - - -; 37 | #X obj 157 181 * -1; 38 | #X obj 157 210 - 1; 39 | #X obj 157 239 &; 40 | #X connect 0 0 20 0; 41 | #X connect 2 0 6 0; 42 | #X connect 5 0 1 0; 43 | #X connect 6 0 5 0; 44 | #X connect 6 0 14 0; 45 | #X connect 7 0 1 0; 46 | #X connect 8 0 1 0; 47 | #X connect 9 0 23 0; 48 | #X connect 9 0 27 0; 49 | #X connect 11 0 26 0; 50 | #X connect 12 0 24 1; 51 | #X connect 12 0 25 1; 52 | #X connect 13 0 12 0; 53 | #X connect 14 0 18 0; 54 | #X connect 14 0 22 1; 55 | #X connect 15 0 8 1; 56 | #X connect 16 0 7 1; 57 | #X connect 17 0 22 0; 58 | #X connect 18 0 19 0; 59 | #X connect 19 0 17 1; 60 | #X connect 20 0 8 0; 61 | #X connect 20 1 7 0; 62 | #X connect 20 3 11 0; 63 | #X connect 20 4 13 0; 64 | #X connect 20 5 2 0; 65 | #X connect 21 0 23 1; 66 | #X connect 21 0 17 0; 67 | #X connect 21 0 30 1; 68 | #X connect 22 0 16 0; 69 | #X connect 22 0 15 0; 70 | #X connect 23 0 21 0; 71 | #X connect 24 0 23 0; 72 | #X connect 25 0 28 0; 73 | #X connect 26 0 25 0; 74 | #X connect 26 1 24 0; 75 | #X connect 28 0 29 0; 76 | #X connect 29 0 30 0; 77 | #X connect 30 0 21 0; 78 | #X restore 310 114 pd digital-out; 79 | #N canvas 37 230 541 377 pinMode 0; 80 | #X obj 51 8 inlet; 81 | #X obj 51 350 outlet; 82 | #X text 141 54 pin#; 83 | #X text 321 56 mode; 84 | #X obj 174 147 moses 128; 85 | #X msg 51 227 244; 86 | #X text 194 131 do bounds checking to be safe; 87 | #X obj 51 252 pack float float float; 88 | #X obj 279 147 moses 128; 89 | #X obj 225 255 bang; 90 | #X obj 225 320 list trim; 91 | #X obj 225 300 list prepend ERROR:; 92 | #X msg 225 275 pinMode pin# greater than 127; 93 | #X obj 330 213 bang; 94 | #X msg 330 233 pinMode mode greater than 127; 95 | #X obj 225 340 print [arduino]; 96 | #N canvas 577 324 396 304 turn 0; 97 | #X obj 123 21 inlet; 98 | #X obj 43 21 inlet; 99 | #X obj 123 78 select 0; 100 | #X text 178 78 INPUT; 101 | #X obj 215 252 outlet; 102 | #X obj 110 135 spigot; 103 | #X msg 123 109 1; 104 | #X obj 215 180 >> 3; 105 | #X obj 110 158 trigger bang float; 106 | #X msg 152 109 0; 107 | #X text 254 201 0xD0; 108 | #X obj 215 201 + 208; 109 | #X obj 215 228 pack float 1; 110 | #X text 42 202 generate digitalIns message; 111 | #X connect 0 0 2 0; 112 | #X connect 1 0 5 0; 113 | #X connect 2 0 6 0; 114 | #X connect 5 0 8 0; 115 | #X connect 6 0 5 1; 116 | #X connect 7 0 11 0; 117 | #X connect 8 0 9 0; 118 | #X connect 8 1 7 0; 119 | #X connect 9 0 5 1; 120 | #X connect 11 0 12 0; 121 | #X connect 12 0 4 0; 122 | #X restore 174 184 pd turn digital reporting on; 123 | #X obj 51 32 trigger bang anything; 124 | #X obj 309 78 route float symbol; 125 | #N canvas 0 76 450 300 s2f 0; 126 | #X obj 72 14 inlet; 127 | #X obj 72 265 outlet; 128 | #X obj 72 69 select input output analog pwm servo; 129 | #X obj 285 262 outlet; 130 | #X msg 72 95 0; 131 | #X msg 114 95 1; 132 | #X msg 157 95 2; 133 | #X msg 199 95 3; 134 | #X msg 242 95 4; 135 | #X connect 0 0 2 0; 136 | #X connect 2 0 4 0; 137 | #X connect 2 1 5 0; 138 | #X connect 2 2 6 0; 139 | #X connect 2 3 7 0; 140 | #X connect 2 4 8 0; 141 | #X connect 2 5 3 0; 142 | #X connect 4 0 1 0; 143 | #X connect 5 0 1 0; 144 | #X connect 6 0 1 0; 145 | #X connect 7 0 1 0; 146 | #X connect 8 0 1 0; 147 | #X restore 361 99 pd s2f; 148 | #X obj 414 120 list; 149 | #X msg 414 141 unknown pinMode: \$1; 150 | #X obj 174 55 list split 1; 151 | #X connect 0 0 17 0; 152 | #X connect 4 0 7 1; 153 | #X connect 4 0 16 0; 154 | #X connect 4 1 9 0; 155 | #X connect 5 0 7 0; 156 | #X connect 7 0 1 0; 157 | #X connect 8 0 7 2; 158 | #X connect 8 0 16 1; 159 | #X connect 8 1 13 0; 160 | #X connect 9 0 12 0; 161 | #X connect 10 0 15 0; 162 | #X connect 11 0 10 0; 163 | #X connect 12 0 11 0; 164 | #X connect 13 0 14 0; 165 | #X connect 14 0 11 0; 166 | #X connect 16 0 1 0; 167 | #X connect 17 0 5 0; 168 | #X connect 17 1 22 0; 169 | #X connect 18 0 8 0; 170 | #X connect 18 1 19 0; 171 | #X connect 18 2 20 0; 172 | #X connect 19 0 8 0; 173 | #X connect 19 1 20 0; 174 | #X connect 20 0 21 0; 175 | #X connect 21 0 11 0; 176 | #X connect 22 0 4 0; 177 | #X connect 22 1 18 0; 178 | #X restore 237 93 pd pinMode; 179 | #N canvas 300 396 372 380 pwm 0; 180 | #X obj 44 14 inlet; 181 | #X obj 44 312 outlet; 182 | #X obj 44 79 unpack float float; 183 | #X obj 44 124 + 224; 184 | #X text 78 125 0xE0; 185 | #X obj 44 212 pack float float float; 186 | #X obj 149 126 * 255; 187 | #X obj 173 165 >> 7; 188 | #X obj 108 165 & 127; 189 | #X connect 0 0 2 0; 190 | #X connect 2 0 3 0; 191 | #X connect 2 1 6 0; 192 | #X connect 3 0 5 0; 193 | #X connect 5 0 1 0; 194 | #X connect 6 0 7 0; 195 | #X connect 6 0 8 0; 196 | #X connect 7 0 5 2; 197 | #X connect 8 0 5 1; 198 | #X restore 24 94 pd pwm; 199 | #X msg 477 113 249; 200 | #N canvas 0 50 462 312 analogIns 0; 201 | #X obj 64 7 inlet; 202 | #X obj 64 263 outlet; 203 | #X obj 64 65 unpack float float; 204 | #X obj 64 175 pack float float; 205 | #X obj 169 95 select 0; 206 | #X obj 214 118 bang; 207 | #X msg 214 140 1; 208 | #X msg 169 117 0; 209 | #X obj 64 124 + 192; 210 | #X obj 64 95 moses 16; 211 | #X text 100 123 0xC0; 212 | #X connect 0 0 2 0; 213 | #X connect 2 0 9 0; 214 | #X connect 2 1 4 0; 215 | #X connect 3 0 1 0; 216 | #X connect 4 0 7 0; 217 | #X connect 4 1 5 0; 218 | #X connect 5 0 6 0; 219 | #X connect 6 0 3 1; 220 | #X connect 7 0 3 1; 221 | #X connect 8 0 3 0; 222 | #X connect 9 0 8 0; 223 | #X restore 69 94 pd analogIns; 224 | #N canvas 592 114 341 294 digitalIns 0; 225 | #X obj 87 26 inlet; 226 | #X obj 87 250 outlet; 227 | #X text 126 117 0xD0; 228 | #X obj 87 90 unpack float float; 229 | #X obj 87 146 pack float float; 230 | #X obj 87 117 + 208; 231 | #X connect 0 0 3 0; 232 | #X connect 3 0 5 0; 233 | #X connect 3 1 4 1; 234 | #X connect 4 0 1 0; 235 | #X connect 5 0 4 0; 236 | #X restore 150 94 pd digitalIns; 237 | #N canvas 623 398 451 466 sysex 0; 238 | #X obj 62 424 outlet; 239 | #X obj 28 22 inlet; 240 | #X obj 28 145 list split 1; 241 | #X obj 62 321 list prepend; 242 | #X obj 62 177 route bang; 243 | #X text 68 22 sysex; 244 | #X obj 250 22 inlet; 245 | #X text 286 21 string; 246 | #X obj 250 155 trigger anything bang; 247 | #X text 398 176 0x71; 248 | #X msg 373 177 113; 249 | #N canvas 363 261 467 461 split 0; 250 | #X text 87 12 Firmata sends 8-bit chars as two 7-bit bytes; 251 | #X obj 32 12 inlet; 252 | #X obj 32 367 outlet; 253 | #X obj 168 173 list; 254 | #X obj 189 112 route bang; 255 | #X obj 189 137 bang; 256 | #X obj 32 54 trigger bang anything; 257 | #X obj 155 89 list split 1; 258 | #X obj 110 208 trigger bang anything anything; 259 | #X text 256 191 LSB; 260 | #X obj 226 298 % 128; 261 | #X text 267 297 only 7-bits of data allowed; 262 | #X text 204 190 MSB; 263 | #X obj 198 234 >> 7; 264 | #X text 235 137 bang resets once finished; 265 | #N canvas 0 50 313 216 tolist 0; 266 | #X obj 89 50 inlet; 267 | #X obj 179 50 inlet; 268 | #X obj 89 155 outlet; 269 | #N canvas 140 104 344 212 msg 0; 270 | #X obj 12 13 inlet; 271 | #X obj 12 113 outlet; 272 | #X msg 12 33; 273 | #X connect 0 0 2 0; 274 | #X connect 2 0 1 0; 275 | #X restore 89 124 pd msg; 276 | #X msg 179 70 add2 \$1; 277 | #X msg 89 86 bang \, set; 278 | #X connect 0 0 5 0; 279 | #X connect 1 0 4 0; 280 | #X connect 3 0 2 0; 281 | #X connect 4 0 3 0; 282 | #X connect 5 0 3 0; 283 | #X restore 32 344 pd tolist; 284 | #X connect 1 0 6 0; 285 | #X connect 3 0 7 0; 286 | #X connect 4 0 5 0; 287 | #X connect 4 1 3 1; 288 | #X connect 5 0 3 1; 289 | #X connect 6 0 15 0; 290 | #X connect 6 1 7 0; 291 | #X connect 7 0 8 0; 292 | #X connect 7 1 4 0; 293 | #X connect 8 0 3 0; 294 | #X connect 8 1 13 0; 295 | #X connect 8 2 10 0; 296 | #X connect 10 0 15 1; 297 | #X connect 13 0 10 0; 298 | #X connect 15 0 2 0; 299 | #X restore 119 212 pd split into 7-bit bytes; 300 | #X obj 62 344 list prepend 240; 301 | #X text 168 345 0xF0 start_sysex; 302 | #X text 167 366 0xF7 end_sysex; 303 | #X obj 62 366 list append 247; 304 | #X obj 28 66 trigger anything anything; 305 | #X msg 175 87 \$1; 306 | #X connect 1 0 16 0; 307 | #X connect 2 1 4 0; 308 | #X connect 3 0 12 0; 309 | #X connect 4 0 3 0; 310 | #X connect 4 1 11 0; 311 | #X connect 6 0 8 0; 312 | #X connect 8 0 11 0; 313 | #X connect 8 1 10 0; 314 | #X connect 10 0 3 1; 315 | #X connect 11 0 3 0; 316 | #X connect 12 0 15 0; 317 | #X connect 15 0 0 0; 318 | #X connect 16 0 2 0; 319 | #X connect 16 1 17 0; 320 | #X connect 17 0 3 1; 321 | #X restore 860 113 pd sysex; 322 | #N canvas 107 521 569 343 port-out 0; 323 | #X obj 13 15 inlet; 324 | #X obj 167 281 outlet; 325 | #X msg 244 82 \$1; 326 | #X text 343 149 add channel to command; 327 | #X text 309 190 0x90; 328 | #X obj 271 191 + 144; 329 | #X obj 244 129 moses; 330 | #X obj 13 55 trigger bang anything anything anything; 331 | #X obj 271 149 moses 16; 332 | #X obj 353 219 print [arduino]; 333 | #X msg 353 197 ERROR: no such channel: \$1; 334 | #X msg 167 82 \$2; 335 | #X msg 90 82 \$2; 336 | #X obj 167 129 & 127; 337 | #X obj 90 130 & 128; 338 | #X obj 90 151 == 128; 339 | #X obj 21 285 outlet; 340 | #X obj 36 230 * 8; 341 | #X obj 21 251 <<; 342 | #X connect 0 0 7 0; 343 | #X connect 2 0 6 0; 344 | #X connect 5 0 1 0; 345 | #X connect 6 0 10 0; 346 | #X connect 6 1 8 0; 347 | #X connect 7 1 12 0; 348 | #X connect 7 2 11 0; 349 | #X connect 7 3 2 0; 350 | #X connect 8 0 5 0; 351 | #X connect 8 0 17 0; 352 | #X connect 8 1 10 0; 353 | #X connect 10 0 9 0; 354 | #X connect 11 0 13 0; 355 | #X connect 12 0 14 0; 356 | #X connect 12 0 18 0; 357 | #X connect 13 0 1 0; 358 | #X connect 14 0 15 0; 359 | #X connect 15 0 1 0; 360 | #X connect 17 0 18 1; 361 | #X connect 18 0 16 0; 362 | #X restore 403 114 pd port-out; 363 | #N canvas 429 494 450 300 samplingInterval 0; 364 | #X obj 39 252 outlet; 365 | #X obj 38 21 inlet; 366 | #X text 156 54 LSB; 367 | #X obj 39 131 % 128; 368 | #X text 103 54 MSB; 369 | #X obj 39 107 >> 7; 370 | #X obj 39 153 pack float float; 371 | #X obj 132 130 % 128; 372 | #X text 172 129 only 7-bit chunks of data allowed; 373 | #X msg 39 188 240 122 \$2 \$1 247; 374 | #X text 152 189 START_SYSEX 0x7A LSB MSB END_SYSEX; 375 | #X obj 39 71 trigger anything anything; 376 | #X connect 1 0 11 0; 377 | #X connect 3 0 6 0; 378 | #X connect 5 0 3 0; 379 | #X connect 6 0 9 0; 380 | #X connect 7 0 6 1; 381 | #X connect 9 0 0 0; 382 | #X connect 11 0 5 0; 383 | #X connect 11 1 7 0; 384 | #X restore 733 113 pd samplingInterval; 385 | #X obj 24 51 route pwm analog analogIns digitalIns pinMode; 386 | #X obj 952 108 t a; 387 | #X msg 506 143 240 \$1 247; 388 | #X msg 506 113 121; 389 | #X msg 536 113 107; 390 | #N canvas 0 50 421 260 pinState 0; 391 | #X obj 15 20 inlet; 392 | #X obj 15 200 outlet; 393 | #X obj 15 56 route float; 394 | #X obj 15 78 moses 128; 395 | #X obj 99 154 print [arduino]; 396 | #X msg 99 129 ERROR: invalid pin for pinState query: \$1; 397 | #X obj 99 104 list; 398 | #X msg 15 177 240 109 \$1 247; 399 | #X connect 0 0 2 0; 400 | #X connect 2 0 3 0; 401 | #X connect 2 1 6 0; 402 | #X connect 3 0 7 0; 403 | #X connect 3 1 5 0; 404 | #X connect 5 0 4 0; 405 | #X connect 6 0 5 0; 406 | #X connect 7 0 1 0; 407 | #X restore 582 113 pd pinState; 408 | #X obj 310 51 route digital port version firmware capability pinState 409 | ; 410 | #X obj 661 52 route analogMapping samplingInterval sysex string; 411 | #X msg 661 113 105; 412 | #X connect 0 0 11 0; 413 | #X connect 2 0 1 0; 414 | #X connect 3 0 1 0; 415 | #X connect 4 0 1 0; 416 | #X connect 5 0 1 0; 417 | #X connect 6 0 1 0; 418 | #X connect 7 0 1 0; 419 | #X connect 8 0 1 0; 420 | #X connect 9 0 2 1; 421 | #X connect 9 1 1 0; 422 | #X connect 10 0 1 0; 423 | #X connect 11 0 4 0; 424 | #X connect 11 1 4 0; 425 | #X connect 11 2 6 0; 426 | #X connect 11 3 7 0; 427 | #X connect 11 4 3 0; 428 | #X connect 11 5 17 0; 429 | #X connect 12 0 1 0; 430 | #X connect 13 0 1 0; 431 | #X connect 14 0 13 0; 432 | #X connect 15 0 13 0; 433 | #X connect 16 0 1 0; 434 | #X connect 17 0 2 0; 435 | #X connect 17 1 9 0; 436 | #X connect 17 2 5 0; 437 | #X connect 17 3 14 0; 438 | #X connect 17 4 15 0; 439 | #X connect 17 5 16 0; 440 | #X connect 17 6 18 0; 441 | #X connect 18 0 19 0; 442 | #X connect 18 1 10 0; 443 | #X connect 18 2 8 0; 444 | #X connect 18 3 8 1; 445 | #X connect 18 4 12 0; 446 | #X connect 19 0 13 0; 447 | #X restore 32 89 pd command processing; 448 | #X text 28 38 processed input; 449 | #N canvas 590 443 467 421 make 0; 450 | #X obj 28 6 inlet; 451 | #X obj 133 332 outlet; 452 | #X obj 28 52 moses 128; 453 | #X obj 130 100 trigger float float; 454 | #N canvas 459 506 653 358 set 0; 455 | #X obj 26 3 inlet; 456 | #X obj 34 307 outlet; 457 | #X text 85 31 0xF0; 458 | #X obj 26 31 moses 240; 459 | #X text 79 307 length in byte count; 460 | #X msg 283 122 2; 461 | #X obj 26 60 & 240; 462 | #X obj 26 101 select 144 160 176 192 208 224; 463 | #X text 29 86 0x90 0xA0 0xB0 0xC0 0xD0 0xE0; 464 | #X msg 251 122 2; 465 | #X text 282 83 0xF4 0xF9; 466 | #X obj 195 242 print [arduino]_WARNING_currently_unsupported; 467 | #X msg 55 122 160; 468 | #X msg 26 122 2; 469 | #X msg 85 122 176; 470 | #X msg 114 122 1; 471 | #X msg 144 122 1; 472 | #X msg 173 122 2; 473 | #X text 348 69 sysex; 474 | #X msg 315 122 999999; 475 | #X text 362 121 <-- sets sysex size limit; 476 | #X text 62 60 strip channel info; 477 | #X text 342 83 0xF0; 478 | #X obj 251 101 select 244 249 240; 479 | #X connect 0 0 3 0; 480 | #X connect 3 0 6 0; 481 | #X connect 3 1 23 0; 482 | #X connect 5 0 1 0; 483 | #X connect 6 0 7 0; 484 | #X connect 7 0 13 0; 485 | #X connect 7 1 12 0; 486 | #X connect 7 2 14 0; 487 | #X connect 7 3 15 0; 488 | #X connect 7 4 16 0; 489 | #X connect 7 5 17 0; 490 | #X connect 9 0 1 0; 491 | #X connect 12 0 11 0; 492 | #X connect 13 0 1 0; 493 | #X connect 14 0 11 0; 494 | #X connect 15 0 1 0; 495 | #X connect 16 0 1 0; 496 | #X connect 17 0 1 0; 497 | #X connect 19 0 1 0; 498 | #X connect 23 0 9 0; 499 | #X connect 23 1 5 0; 500 | #X connect 23 2 19 0; 501 | #X restore 241 127 pd set message length; 502 | #X obj 79 250 select 0; 503 | #X obj 79 228 float; 504 | #X obj 117 228 - 1; 505 | #X obj 79 178 trigger bang float; 506 | #X text 89 52 only process command bytes; 507 | #X text 140 78 end of sysex; 508 | #X obj 79 79 route 247; 509 | #X obj 79 100 bang; 510 | #N canvas 0 50 313 216 tolist 0; 511 | #X obj 89 50 inlet; 512 | #X obj 179 50 inlet; 513 | #X obj 89 155 outlet; 514 | #N canvas 140 104 344 212 msg 0; 515 | #X obj 12 13 inlet; 516 | #X obj 12 113 outlet; 517 | #X msg 12 33; 518 | #X connect 0 0 2 0; 519 | #X connect 2 0 1 0; 520 | #X restore 89 124 pd msg; 521 | #X msg 179 70 add2 \$1; 522 | #X msg 89 86 bang \, set; 523 | #X connect 0 0 5 0; 524 | #X connect 1 0 4 0; 525 | #X connect 3 0 2 0; 526 | #X connect 4 0 3 0; 527 | #X connect 5 0 3 0; 528 | #X restore 133 308 pd tolist; 529 | #X connect 0 0 2 0; 530 | #X connect 2 0 8 0; 531 | #X connect 2 1 11 0; 532 | #X connect 3 0 8 0; 533 | #X connect 3 1 4 0; 534 | #X connect 4 0 6 1; 535 | #X connect 5 0 13 0; 536 | #X connect 6 0 7 0; 537 | #X connect 6 0 5 0; 538 | #X connect 7 0 6 1; 539 | #X connect 8 0 6 0; 540 | #X connect 8 1 13 1; 541 | #X connect 11 0 12 0; 542 | #X connect 11 1 3 0; 543 | #X connect 12 0 13 0; 544 | #X connect 13 0 1 0; 545 | #X restore 32 199 pd make lists; 546 | #N canvas 0 50 525 269 check 0; 547 | #X obj 47 62 inlet; 548 | #X obj 47 88 route version; 549 | #X obj 47 127 unpack float float; 550 | #X obj 92 171 print [arduino]_WARNING_INCOMPATIBLE_FIRMWARE_VERSION 551 | ; 552 | #X obj 47 149 select 2; 553 | #X text 102 150 <-- sets the protocol major version this is compatible 554 | with; 555 | #X connect 0 0 1 0; 556 | #X connect 1 0 2 0; 557 | #X connect 2 0 4 0; 558 | #X connect 4 1 3 0; 559 | #X restore 215 325 pd check version; 560 | #N canvas 192 246 541 319 convert 0; 561 | #X obj 142 278 outlet; 562 | #N canvas 234 468 335 267 analog 0; 563 | #X obj 65 16 inlet; 564 | #X obj 65 213 outlet; 565 | #X msg 65 150 analog \$1 \$2; 566 | #X obj 65 129 pack float float; 567 | #X obj 158 103 / 1023; 568 | #X text 203 104 scale to 0-1; 569 | #X obj 65 71 unpack float float; 570 | #X connect 0 0 6 0; 571 | #X connect 2 0 1 0; 572 | #X connect 3 0 2 0; 573 | #X connect 4 0 3 1; 574 | #X connect 6 0 3 0; 575 | #X connect 6 1 4 0; 576 | #X restore 342 174 pd analog messages; 577 | #X obj 97 13 inlet; 578 | #N canvas 325 132 888 458 sysex 0; 579 | #X obj 30 11 inlet; 580 | #X obj 30 398 outlet; 581 | #N canvas 990 306 450 300 firmware 0; 582 | #X obj 91 6 inlet; 583 | #X obj 91 272 outlet; 584 | #X obj 91 170 list prepend; 585 | #X obj 91 206 list prepend firmware; 586 | #X obj 91 239 list trim; 587 | #X obj 91 39 list split 2; 588 | #N canvas 736 297 645 461 reassemble 0; 589 | #X text 91 24 Firmata sends 8-bit chars as two 7-bit bytes; 590 | #X obj 36 24 inlet; 591 | #X obj 36 411 outlet; 592 | #X obj 159 131 list split 2; 593 | #X obj 196 206 list; 594 | #X obj 109 256 trigger bang anything; 595 | #X obj 232 280 unpack float float; 596 | #X obj 232 340 +; 597 | #X obj 193 154 route bang; 598 | #X obj 337 303 << 7; 599 | #X obj 193 179 bang; 600 | #X obj 36 106 trigger bang anything; 601 | #X text 249 179 reset the list if end of list or there is a single 602 | byte left over; 603 | #N canvas 0 50 313 216 tolist 0; 604 | #X obj 89 50 inlet; 605 | #X obj 179 50 inlet; 606 | #X obj 89 155 outlet; 607 | #N canvas 140 104 344 212 msg 0; 608 | #X obj 12 13 inlet; 609 | #X obj 12 113 outlet; 610 | #X msg 12 33; 611 | #X connect 0 0 2 0; 612 | #X connect 2 0 1 0; 613 | #X restore 89 124 pd msg; 614 | #X msg 179 70 add2 \$1; 615 | #X msg 89 86 bang \, set; 616 | #X connect 0 0 5 0; 617 | #X connect 1 0 4 0; 618 | #X connect 3 0 2 0; 619 | #X connect 4 0 3 0; 620 | #X connect 5 0 3 0; 621 | #X restore 36 381 pd tolist; 622 | #X connect 1 0 11 0; 623 | #X connect 3 0 5 0; 624 | #X connect 3 1 8 0; 625 | #X connect 3 2 10 0; 626 | #X connect 4 0 3 0; 627 | #X connect 5 0 4 0; 628 | #X connect 5 1 6 0; 629 | #X connect 6 0 7 0; 630 | #X connect 6 1 9 0; 631 | #X connect 7 0 13 1; 632 | #X connect 8 0 10 0; 633 | #X connect 8 1 4 1; 634 | #X connect 9 0 7 1; 635 | #X connect 10 0 4 1; 636 | #X connect 11 0 13 0; 637 | #X connect 11 1 3 0; 638 | #X connect 13 0 2 0; 639 | #X restore 160 79 pd reassemble chars; 640 | #X obj 160 116 list tosymbol; 641 | #X connect 0 0 5 0; 642 | #X connect 2 0 3 0; 643 | #X connect 3 0 4 0; 644 | #X connect 4 0 1 0; 645 | #X connect 5 0 2 0; 646 | #X connect 5 1 6 0; 647 | #X connect 5 2 6 0; 648 | #X connect 6 0 7 0; 649 | #X connect 7 0 2 1; 650 | #X restore 30 220 pd firmware; 651 | #N canvas 830 319 667 494 assemble 0; 652 | #X text 91 24 Firmata sends 8-bit chars as two 7-bit bytes; 653 | #X obj 36 24 inlet; 654 | #X obj 36 408 outlet; 655 | #X obj 159 131 list split 2; 656 | #X obj 196 206 list; 657 | #X obj 109 256 trigger bang anything; 658 | #X obj 232 280 unpack float float; 659 | #X obj 232 323 +; 660 | #X obj 193 154 route bang; 661 | #X obj 337 303 << 7; 662 | #X obj 193 179 bang; 663 | #X obj 36 106 trigger bang anything; 664 | #X text 249 179 reset the list if end of list or there is a single 665 | byte left over; 666 | #N canvas 0 50 313 216 tolist 0; 667 | #X obj 89 50 inlet; 668 | #X obj 179 50 inlet; 669 | #X obj 89 155 outlet; 670 | #N canvas 140 104 344 212 msg 0; 671 | #X obj 12 13 inlet; 672 | #X obj 12 113 outlet; 673 | #X msg 12 33; 674 | #X connect 0 0 2 0; 675 | #X connect 2 0 1 0; 676 | #X restore 89 124 pd msg; 677 | #X msg 179 70 add2 \$1; 678 | #X msg 89 86 bang \, set; 679 | #X connect 0 0 5 0; 680 | #X connect 1 0 4 0; 681 | #X connect 3 0 2 0; 682 | #X connect 4 0 3 0; 683 | #X connect 5 0 3 0; 684 | #X restore 36 366 pd tolist; 685 | #X connect 1 0 11 0; 686 | #X connect 3 0 5 0; 687 | #X connect 3 1 8 0; 688 | #X connect 3 2 10 0; 689 | #X connect 4 0 3 0; 690 | #X connect 5 0 4 0; 691 | #X connect 5 1 6 0; 692 | #X connect 6 0 7 0; 693 | #X connect 6 1 9 0; 694 | #X connect 7 0 13 1; 695 | #X connect 8 0 10 0; 696 | #X connect 8 1 4 1; 697 | #X connect 9 0 7 1; 698 | #X connect 10 0 4 1; 699 | #X connect 11 0 13 0; 700 | #X connect 11 1 3 0; 701 | #X connect 13 0 2 0; 702 | #X restore 115 244 pd assemble 7-bit into 14-bit values; 703 | #X obj 115 293 list prepend; 704 | #X obj 115 314 list trim; 705 | #X msg 275 188 string; 706 | #X msg 184 185 servo_config; 707 | #X text 71 396 data; 708 | #X obj 138 398 outlet; 709 | #X text 184 398 status; 710 | #X obj 30 59 route 121; 711 | #X obj 101 84 route 112; 712 | #X obj 172 104 route 113; 713 | #X obj 101 104 t a b; 714 | #X obj 172 124 t a b; 715 | #X text 95 60 0x79 firmware; 716 | #X obj 388 138 route 108; 717 | #X text 452 139 0x6C Capability; 718 | #X text 237 106 0x71 string; 719 | #X text 162 84 0x70 servo (where is this documented?); 720 | #N canvas 268 50 540 585 capability 0; 721 | #X obj 14 41 t b a a; 722 | #X obj 306 13 table \$0.capability; 723 | #X msg 53 90 resize \$1; 724 | #X obj 53 64 list length; 725 | #X obj 14 19 inlet; 726 | #X obj 53 141 s \$0.capability; 727 | #X obj 33 212 until; 728 | #X obj 14 139 f; 729 | #X obj 33 113 list prepend 0; 730 | #X obj 14 169 t b a b; 731 | #X obj 33 237 f; 732 | #X msg 76 212 0; 733 | #X obj 33 260 t a a; 734 | #X obj 84 248 + 1; 735 | #X obj 33 285 tabread \$0.capability; 736 | #X obj 72 565 outlet; 737 | #X obj 33 310 sel 127; 738 | #X text 84 310 bump pin number; 739 | #X obj 132 378 t a; 740 | #X obj 99 377 == 1; 741 | #X obj 120 337 t b b; 742 | #X msg 120 357 1; 743 | #X obj 72 357 t a b; 744 | #X obj 72 401 list prepend; 745 | #X obj 72 420 route 1 0; 746 | #X obj 72 476 list prepend; 747 | #X obj 72 439 pack f f; 748 | #X obj 198 384 f; 749 | #X obj 198 406 + 1; 750 | #X obj 198 430 t a a; 751 | #N canvas 372 119 398 398 conver_to_human_readable 0; 752 | #X obj 9 10 inlet; 753 | #X obj 9 375 outlet; 754 | #X obj 9 31 unpack f f f; 755 | #X obj 43 53 sel 0 1 2 3 4 5 6 7 8 9 10 11; 756 | #X msg 43 294 DIGITAL_INPUT; 757 | #X msg 57 274 DIGITAL_OUTPUT; 758 | #X msg 71 255 ANALOG_INPUT; 759 | #X msg 85 236 PWM; 760 | #X msg 100 218 SERVO; 761 | #X msg 114 200 SHIFT; 762 | #X msg 128 180 I2C; 763 | #X msg 142 161 ONEWIRE; 764 | #X msg 157 140 STEPPER; 765 | #X msg 171 121 ENCODER; 766 | #X msg 185 101 SERIAL; 767 | #X msg 199 80 INPUT_PULLUP; 768 | #X obj 171 329 list; 769 | #X obj 9 351 pack f s f; 770 | #X connect 0 0 2 0; 771 | #X connect 2 0 17 0; 772 | #X connect 2 1 3 0; 773 | #X connect 2 2 17 2; 774 | #X connect 3 0 4 0; 775 | #X connect 3 1 5 0; 776 | #X connect 3 2 6 0; 777 | #X connect 3 3 7 0; 778 | #X connect 3 4 8 0; 779 | #X connect 3 5 9 0; 780 | #X connect 3 6 10 0; 781 | #X connect 3 7 11 0; 782 | #X connect 3 8 12 0; 783 | #X connect 3 9 13 0; 784 | #X connect 3 10 14 0; 785 | #X connect 3 11 15 0; 786 | #X connect 4 0 16 0; 787 | #X connect 5 0 16 0; 788 | #X connect 6 0 16 0; 789 | #X connect 7 0 16 0; 790 | #X connect 8 0 16 0; 791 | #X connect 9 0 16 0; 792 | #X connect 10 0 16 0; 793 | #X connect 11 0 16 0; 794 | #X connect 12 0 16 0; 795 | #X connect 13 0 16 0; 796 | #X connect 14 0 16 0; 797 | #X connect 15 0 16 0; 798 | #X connect 16 0 17 1; 799 | #X connect 17 0 1 0; 800 | #X restore 72 497 pd conver_to_human_readable; 801 | #X msg 72 458 \$2 \$1; 802 | #X text 177 476 pin# \, mode \, resolution; 803 | #X text 240 404 count pin#; 804 | #X obj 72 522 list prepend capability; 805 | #X obj 72 542 list trim; 806 | #X msg 14 457 end; 807 | #X msg 359 463 begin; 808 | #X connect 0 0 7 0; 809 | #X connect 0 1 8 0; 810 | #X connect 0 2 3 0; 811 | #X connect 2 0 5 0; 812 | #X connect 3 0 2 0; 813 | #X connect 3 0 7 1; 814 | #X connect 4 0 0 0; 815 | #X connect 6 0 10 0; 816 | #X connect 7 0 9 0; 817 | #X connect 8 0 5 0; 818 | #X connect 9 0 36 0; 819 | #X connect 9 1 6 0; 820 | #X connect 9 2 11 0; 821 | #X connect 9 2 37 0; 822 | #X connect 10 0 12 0; 823 | #X connect 11 0 10 1; 824 | #X connect 11 0 29 0; 825 | #X connect 12 0 14 0; 826 | #X connect 12 1 13 0; 827 | #X connect 13 0 10 1; 828 | #X connect 14 0 16 0; 829 | #X connect 16 0 20 0; 830 | #X connect 16 1 22 0; 831 | #X connect 18 0 19 1; 832 | #X connect 19 0 18 0; 833 | #X connect 19 0 23 1; 834 | #X connect 20 0 21 0; 835 | #X connect 20 1 27 0; 836 | #X connect 21 0 19 1; 837 | #X connect 22 0 23 0; 838 | #X connect 22 1 19 0; 839 | #X connect 23 0 24 0; 840 | #X connect 24 0 26 0; 841 | #X connect 24 1 26 1; 842 | #X connect 25 0 30 0; 843 | #X connect 26 0 31 0; 844 | #X connect 27 0 28 0; 845 | #X connect 28 0 29 0; 846 | #X connect 29 0 25 1; 847 | #X connect 29 1 27 1; 848 | #X connect 30 0 34 0; 849 | #X connect 31 0 25 0; 850 | #X connect 34 0 35 0; 851 | #X connect 35 0 15 0; 852 | #X connect 36 0 34 0; 853 | #X connect 37 0 34 0; 854 | #X restore 388 184 pd capability; 855 | #X obj 544 171 route 110; 856 | #X text 607 172 0x6E Pin State; 857 | #N canvas 268 50 386 285 pinState 0; 858 | #X obj 14 19 inlet; 859 | #X obj 14 215 outlet; 860 | #N canvas 0 50 386 373 convert_to_human_readable 0; 861 | #X obj 51 48 sel 0 1 2 3 4 5 6 7 8 9 10 11; 862 | #X msg 51 289 DIGITAL_INPUT; 863 | #X msg 65 269 DIGITAL_OUTPUT; 864 | #X msg 79 250 ANALOG_INPUT; 865 | #X msg 93 231 PWM; 866 | #X msg 108 213 SERVO; 867 | #X msg 122 195 SHIFT; 868 | #X msg 136 175 I2C; 869 | #X msg 150 156 ONEWIRE; 870 | #X msg 165 135 STEPPER; 871 | #X msg 179 116 ENCODER; 872 | #X msg 193 96 SERIAL; 873 | #X msg 207 75 INPUT_PULLUP; 874 | #X obj 179 324 list; 875 | #X obj 51 19 inlet; 876 | #X obj 179 346 outlet; 877 | #X connect 0 0 1 0; 878 | #X connect 0 1 2 0; 879 | #X connect 0 2 3 0; 880 | #X connect 0 3 4 0; 881 | #X connect 0 4 5 0; 882 | #X connect 0 5 6 0; 883 | #X connect 0 6 7 0; 884 | #X connect 0 7 8 0; 885 | #X connect 0 8 9 0; 886 | #X connect 0 9 10 0; 887 | #X connect 0 10 11 0; 888 | #X connect 0 11 12 0; 889 | #X connect 1 0 13 0; 890 | #X connect 2 0 13 0; 891 | #X connect 3 0 13 0; 892 | #X connect 4 0 13 0; 893 | #X connect 5 0 13 0; 894 | #X connect 6 0 13 0; 895 | #X connect 7 0 13 0; 896 | #X connect 8 0 13 0; 897 | #X connect 9 0 13 0; 898 | #X connect 10 0 13 0; 899 | #X connect 11 0 13 0; 900 | #X connect 12 0 13 0; 901 | #X connect 13 0 15 0; 902 | #X connect 14 0 0 0; 903 | #X restore 71 120 pd convert_to_human_readable; 904 | #X obj 14 54 list split 2; 905 | #X obj 14 81 unpack f f; 906 | #X obj 14 161 pack f s f; 907 | #X msg 14 186 pinState \$1 \$2 \$3; 908 | #X msg 135 186 pinState \$1 NOT_PRESENT; 909 | #X connect 0 0 3 0; 910 | #X connect 2 0 5 1; 911 | #X connect 3 0 4 0; 912 | #X connect 3 1 5 2; 913 | #X connect 3 2 7 0; 914 | #X connect 4 0 5 0; 915 | #X connect 4 1 2 0; 916 | #X connect 5 0 6 0; 917 | #X connect 6 0 1 0; 918 | #X connect 7 0 1 0; 919 | #X restore 544 200 pd pinState; 920 | #X obj 639 196 route 106; 921 | #X text 704 195 0x6A Analog Mapping; 922 | #N canvas 288 35 536 407 analogMapping 0; 923 | #X obj 12 7 inlet; 924 | #X obj 70 361 outlet; 925 | #X obj 12 27 t b a a; 926 | #X msg 51 72 resize \$1; 927 | #X obj 51 47 list length; 928 | #X obj 31 165 until; 929 | #X obj 12 119 f; 930 | #X obj 31 90 list prepend 0; 931 | #X obj 12 144 t b a b; 932 | #X obj 31 190 f; 933 | #X msg 74 165 0; 934 | #X obj 92 201 + 1; 935 | #X obj 51 125 s \$0.analogMapping; 936 | #X obj 178 14 table \$0.analogMapping; 937 | #X obj 31 245 tabread \$0.analogMapping; 938 | #X obj 31 265 sel 127; 939 | #X obj 70 288 pack f f; 940 | #X obj 31 213 t a a a; 941 | #X obj 70 318 list prepend analogMapping; 942 | #X obj 70 338 list trim; 943 | #X msg 208 249 begin; 944 | #X msg 12 285 end; 945 | #X connect 0 0 2 0; 946 | #X connect 2 0 6 0; 947 | #X connect 2 1 7 0; 948 | #X connect 2 2 4 0; 949 | #X connect 3 0 12 0; 950 | #X connect 4 0 3 0; 951 | #X connect 4 0 6 1; 952 | #X connect 5 0 9 0; 953 | #X connect 6 0 8 0; 954 | #X connect 7 0 12 0; 955 | #X connect 8 0 21 0; 956 | #X connect 8 1 5 0; 957 | #X connect 8 2 10 0; 958 | #X connect 8 2 20 0; 959 | #X connect 9 0 17 0; 960 | #X connect 10 0 9 1; 961 | #X connect 11 0 9 1; 962 | #X connect 14 0 15 0; 963 | #X connect 15 1 16 0; 964 | #X connect 16 0 18 0; 965 | #X connect 17 0 14 0; 966 | #X connect 17 1 16 1; 967 | #X connect 17 2 11 0; 968 | #X connect 18 0 19 0; 969 | #X connect 19 0 1 0; 970 | #X connect 20 0 18 0; 971 | #X connect 21 0 18 0; 972 | #X restore 639 223 pd analogMapping; 973 | #X connect 0 0 11 0; 974 | #X connect 2 0 9 0; 975 | #X connect 3 0 4 0; 976 | #X connect 4 0 5 0; 977 | #X connect 5 0 1 0; 978 | #X connect 6 0 4 1; 979 | #X connect 7 0 4 1; 980 | #X connect 11 0 2 0; 981 | #X connect 11 1 12 0; 982 | #X connect 12 0 14 0; 983 | #X connect 12 1 13 0; 984 | #X connect 13 0 15 0; 985 | #X connect 13 1 17 0; 986 | #X connect 14 0 3 0; 987 | #X connect 14 1 7 0; 988 | #X connect 15 0 3 0; 989 | #X connect 15 1 6 0; 990 | #X connect 17 0 21 0; 991 | #X connect 17 1 22 0; 992 | #X connect 21 0 9 0; 993 | #X connect 22 0 24 0; 994 | #X connect 22 1 25 0; 995 | #X connect 24 0 9 0; 996 | #X connect 25 0 27 0; 997 | #X connect 27 0 9 0; 998 | #X restore 134 174 pd sysex; 999 | #N canvas 383 77 457 452 route 0; 1000 | #X obj 46 24 inlet; 1001 | #X obj 175 400 outlet; 1002 | #X obj 233 400 outlet; 1003 | #X obj 46 91 trigger anything anything; 1004 | #X obj 292 400 outlet; 1005 | #X obj 175 339 route digital analog; 1006 | #X msg 193 115 \$1; 1007 | #X obj 244 158 moses 224; 1008 | #X text 314 157 0xE0 analog messages; 1009 | #X obj 193 136 moses 144; 1010 | #X text 257 136 0x90 digital messages; 1011 | #X obj 244 209 bang; 1012 | #X obj 295 209 bang; 1013 | #X msg 244 236 digital; 1014 | #X msg 297 236 analog; 1015 | #X text 359 178 0xF0; 1016 | #X obj 346 236 bang; 1017 | #X obj 211 236 bang; 1018 | #N canvas 176 360 335 257 parse 0; 1019 | #X obj 73 18 inlet; 1020 | #X obj 73 215 outlet; 1021 | #X obj 73 161 pack float float; 1022 | #X obj 73 64 unpack float float float; 1023 | #X obj 166 110 +; 1024 | #X obj 214 85 << 7; 1025 | #X obj 73 85 & 15; 1026 | #X connect 0 0 3 0; 1027 | #X connect 2 0 1 0; 1028 | #X connect 3 0 6 0; 1029 | #X connect 3 1 4 0; 1030 | #X connect 3 2 5 0; 1031 | #X connect 4 0 2 1; 1032 | #X connect 5 0 4 1; 1033 | #X connect 6 0 2 0; 1034 | #X restore 46 167 pd parse messages; 1035 | #X obj 295 178 moses 240; 1036 | #X obj 175 279 list prepend; 1037 | #X obj 175 301 list trim; 1038 | #X connect 0 0 3 0; 1039 | #X connect 3 0 18 0; 1040 | #X connect 3 1 6 0; 1041 | #X connect 5 0 1 0; 1042 | #X connect 5 1 2 0; 1043 | #X connect 5 2 4 0; 1044 | #X connect 6 0 9 0; 1045 | #X connect 7 0 11 0; 1046 | #X connect 7 1 19 0; 1047 | #X connect 9 0 17 0; 1048 | #X connect 9 1 7 0; 1049 | #X connect 11 0 13 0; 1050 | #X connect 12 0 14 0; 1051 | #X connect 13 0 20 1; 1052 | #X connect 14 0 20 1; 1053 | #X connect 16 0 20 1; 1054 | #X connect 17 0 20 1; 1055 | #X connect 18 0 20 0; 1056 | #X connect 19 0 12 0; 1057 | #X connect 19 1 16 0; 1058 | #X connect 20 0 21 0; 1059 | #X connect 21 0 5 0; 1060 | #X restore 205 86 pd route digital/analog; 1061 | #X obj 97 75 route 249 240; 1062 | #X text 124 60 0xF9 0xF0; 1063 | #X msg 40 174 version \$1 \$2; 1064 | #X obj 263 277 outlet; 1065 | #X text 312 279 status outlet; 1066 | #X text 184 277 data outlet; 1067 | #N canvas 418 242 444 547 digital_messages 0; 1068 | #X obj 43 26 inlet; 1069 | #X obj 62 416 outlet; 1070 | #X obj 43 67 unpack f f, f 30; 1071 | #X obj 43 92 t a a a; 1072 | #X obj 41 510 table \$0.digital.input.change 16; 1073 | #X obj 82 116 tabread \$0.digital.input.change; 1074 | #X obj 82 141 expr $f1 ^ $f2; 1075 | #X text 181 143 which bits have changed?; 1076 | #N canvas 0 238 288 383 byte2bits 0; 1077 | #X msg 44 78 8; 1078 | #X obj 44 104 until; 1079 | #X obj 44 129 f; 1080 | #X obj 131 133 + 1; 1081 | #X msg 82 105 0; 1082 | #X msg 44 179 2 \$1; 1083 | #X obj 44 202 pow; 1084 | #X obj 44 226 &, f 8; 1085 | #X obj 44 153 t a a a, f 12; 1086 | #X obj 44 28 inlet; 1087 | #X obj 44 52 t b b a; 1088 | #X obj 71 303 outlet; 1089 | #X obj 44 249 sel 0; 1090 | #X obj 71 278 list prepend; 1091 | #X connect 0 0 1 0; 1092 | #X connect 1 0 2 0; 1093 | #X connect 2 0 8 0; 1094 | #X connect 3 0 2 1; 1095 | #X connect 4 0 2 1; 1096 | #X connect 5 0 6 0; 1097 | #X connect 6 0 7 0; 1098 | #X connect 7 0 12 0; 1099 | #X connect 8 0 5 0; 1100 | #X connect 8 1 13 1; 1101 | #X connect 8 2 3 0; 1102 | #X connect 9 0 10 0; 1103 | #X connect 10 0 0 0; 1104 | #X connect 10 1 4 0; 1105 | #X connect 10 2 7 1; 1106 | #X connect 12 1 13 0; 1107 | #X connect 13 0 11 0; 1108 | #X restore 82 174 pd byte2bits; 1109 | #X obj 110 278 &, f 14; 1110 | #X obj 82 227 t a a a, f 10; 1111 | #X msg 110 253 \$2; 1112 | #X obj 110 303 >>; 1113 | #X text 167 173 serialize bits \, limit to those that changed; 1114 | #X obj 62 333 pack f f; 1115 | #X obj 62 276 * 8; 1116 | #X obj 62 304 +, f 4; 1117 | #X text 126 334 digital input (pin \, value); 1118 | #X msg 62 387 digital \$1 \$2; 1119 | #X obj 43 473 s \$0.digital.input.change; 1120 | #X obj 43 448 pack f f, f 30; 1121 | #X text 206 472 cache value for later comparison; 1122 | #X msg 139 254 \$1; 1123 | #X msg 82 253 \$1; 1124 | #X text 87 201 <- bit position and corresponding bit mask; 1125 | #X connect 0 0 2 0; 1126 | #X connect 2 0 3 0; 1127 | #X connect 2 1 6 1; 1128 | #X connect 2 1 9 1; 1129 | #X connect 2 1 20 1; 1130 | #X connect 3 0 20 0; 1131 | #X connect 3 1 15 0; 1132 | #X connect 3 2 5 0; 1133 | #X connect 5 0 6 0; 1134 | #X connect 6 0 8 0; 1135 | #X connect 8 0 10 0; 1136 | #X connect 9 0 12 0; 1137 | #X connect 10 0 23 0; 1138 | #X connect 10 1 11 0; 1139 | #X connect 10 2 22 0; 1140 | #X connect 11 0 9 0; 1141 | #X connect 12 0 14 1; 1142 | #X connect 14 0 18 0; 1143 | #X connect 15 0 16 0; 1144 | #X connect 16 0 14 0; 1145 | #X connect 18 0 1 0; 1146 | #X connect 20 0 19 0; 1147 | #X connect 22 0 12 1; 1148 | #X connect 23 0 16 1; 1149 | #X restore 205 168 pd digital_messages; 1150 | #X obj 340 150 print [arduino]; 1151 | #X obj 340 109 list prepend UNKNOWN_RESPONSE; 1152 | #X obj 340 129 list trim; 1153 | #X connect 1 0 0 0; 1154 | #X connect 2 0 5 0; 1155 | #X connect 3 0 0 0; 1156 | #X connect 3 1 8 0; 1157 | #X connect 4 0 11 0; 1158 | #X connect 4 1 1 0; 1159 | #X connect 4 2 13 0; 1160 | #X connect 5 0 7 0; 1161 | #X connect 5 1 3 0; 1162 | #X connect 5 2 4 0; 1163 | #X connect 7 0 8 0; 1164 | #X connect 11 0 0 0; 1165 | #X connect 13 0 14 0; 1166 | #X connect 14 0 12 0; 1167 | #X restore 32 259 pd convert to symbolic commands; 1168 | #X text 323 361 released under the GNU GPL v2 or later; 1169 | #X obj 257 115 print [arduino]; 1170 | #X obj 257 57 loadbang; 1171 | #X obj 32 171 comport \$1 57600; 1172 | #X text 254 34 supports Firmata v2.X; 1173 | #X text 27 361 (C) Copyright 2006-2012 Free Software Foundation; 1174 | #X msg 257 80 version 0.8; 1175 | #X connect 0 0 3 0; 1176 | #X connect 3 0 11 0; 1177 | #X connect 5 0 7 0; 1178 | #X connect 7 0 1 0; 1179 | #X connect 7 1 2 0; 1180 | #X connect 7 1 6 0; 1181 | #X connect 10 0 14 0; 1182 | #X connect 11 0 5 0; 1183 | #X connect 11 1 2 0; 1184 | #X connect 14 0 9 0; 1185 | -------------------------------------------------------------------------------- /includes/agop.13.led.pd: -------------------------------------------------------------------------------- 1 | #N canvas 581 189 531 425 10; 2 | #X obj 20 20 cnv 5 5 5 empty \$0.led empty 20 12 0 14 -166401 -262144 3 | 0; 4 | #X obj 397 119 << 8; 5 | #X obj 360 143 << 16; 6 | #X obj 361 165 +; 7 | #X obj 397 143 +; 8 | #X obj 361 185 * -1; 9 | #X obj 361 206 - 1; 10 | #X obj 326 76 list split 1; 11 | #X obj 360 98 unpack f f f; 12 | #X obj 326 231 list append; 13 | #X obj 326 252 route 0 1; 14 | #X obj 44 343 f; 15 | #X obj 69 344 f; 16 | #X obj 44 313 sel 0 1; 17 | #X msg 44 372 color \$1 0; 18 | #X obj 44 396 s \$0.led; 19 | #X msg 326 54 0 160 160 0 \, 1 255 255 0; 20 | #X obj 326 31 loadbang; 21 | #X obj 44 287 change -1; 22 | #X obj 59 5 r \$1.ARDUINO.TO; 23 | #X obj 59 72 route 13; 24 | #X obj 96 160 r \$1.ARDUINO.INTERN; 25 | #X obj 96 182 route refresh ready; 26 | #X obj 44 251 f; 27 | #X obj 44 209 b; 28 | #X msg 151 226 0; 29 | #X obj 87 27 r \$1.ARDUINO.IN; 30 | #X obj 59 47 route digital pinMode; 31 | #X obj 120 67 route 13; 32 | #X obj 59 132 spigot 1; 33 | #X msg 120 111 1; 34 | #X msg 184 112 0; 35 | #X obj 151 205 sel 0; 36 | #X obj 120 89 route output 1 input 0; 37 | #X connect 1 0 4 0; 38 | #X connect 2 0 3 0; 39 | #X connect 3 0 5 0; 40 | #X connect 4 0 3 1; 41 | #X connect 5 0 6 0; 42 | #X connect 6 0 9 1; 43 | #X connect 7 0 9 0; 44 | #X connect 7 1 8 0; 45 | #X connect 8 0 2 0; 46 | #X connect 8 1 1 0; 47 | #X connect 8 2 4 1; 48 | #X connect 9 0 10 0; 49 | #X connect 10 0 11 1; 50 | #X connect 10 1 12 1; 51 | #X connect 11 0 14 0; 52 | #X connect 12 0 14 0; 53 | #X connect 13 0 11 0; 54 | #X connect 13 1 12 0; 55 | #X connect 14 0 15 0; 56 | #X connect 16 0 7 0; 57 | #X connect 17 0 16 0; 58 | #X connect 18 0 13 0; 59 | #X connect 19 0 27 0; 60 | #X connect 20 0 29 0; 61 | #X connect 21 0 22 0; 62 | #X connect 22 0 24 0; 63 | #X connect 22 1 32 0; 64 | #X connect 23 0 18 0; 65 | #X connect 24 0 23 0; 66 | #X connect 25 0 23 0; 67 | #X connect 26 0 27 0; 68 | #X connect 27 0 20 0; 69 | #X connect 27 1 28 0; 70 | #X connect 28 0 33 0; 71 | #X connect 29 0 23 1; 72 | #X connect 30 0 29 1; 73 | #X connect 31 0 29 1; 74 | #X connect 31 0 23 1; 75 | #X connect 32 0 25 0; 76 | #X connect 32 1 29 1; 77 | #X connect 33 0 30 0; 78 | #X connect 33 1 30 0; 79 | #X connect 33 2 31 0; 80 | #X connect 33 3 31 0; 81 | #X coords 0 -1 1 1 5 5 2 20 20; 82 | -------------------------------------------------------------------------------- /includes/agop.analog.gop.pd: -------------------------------------------------------------------------------- 1 | #N canvas 305 197 450 300 10; 2 | #X obj 21 22 cnv 2 1 8 empty \$1.bar empty 20 12 0 14 -3056 -66577 3 | 0; 4 | #X obj 21 19 cnv 8 8 8 empty \$1.show.value empty -80 7 0 12 -1 -258113 5 | 0; 6 | #X obj 33 21 vsl 8 9 10 -4 0 0 \$1.selector.s \$1.selector.r empty 7 | 1 5 0 10 -228856 -228856 -1 0 1; 8 | #X obj 42 19 nbx 1 14 0 100 0 0 \$1.nb.s \$1.nb.r empty 0 -8 0 10 -262144 9 | -1 -1 0 256; 10 | #X obj 33 21 vsl 8 9 30 24 0 0 \$1.selector.label.s \$1.selector.label.r 11 | empty 1 5 0 10 -228856 -228856 -1 0 1; 12 | #X obj 21 21 vsl 12 9 0 1 0 0 \$1.sl.s \$1.sl.r empty 1 6 0 9 -233017 13 | -233017 -1 0 1; 14 | #X coords 0 -1 1 1 20 14 2 21 19; 15 | -------------------------------------------------------------------------------- /includes/agop.analog.pin.pd: -------------------------------------------------------------------------------- 1 | #N canvas 78 43 482 435 10; 2 | #X obj 17 61 namecanvas \$0.goparea; 3 | #N canvas 552 82 376 474 mode.selector 0; 4 | #N canvas 278 280 413 391 slider.wrapper 0; 5 | #X obj 20 285 pack f f f; 6 | #X obj 20 263 - 1; 7 | #X obj 20 197 change; 8 | #X obj 20 238 t a a a; 9 | #X obj 77 261 +; 10 | #X msg 20 307 range \$2 \$1 \, set \$3; 11 | #X obj 20 361 s \$0.selector.r; 12 | #X obj 20 175 div 5; 13 | #X obj 20 217 * 5; 14 | #X obj 92 238 mod 5; 15 | #X obj 48 262 + 5; 16 | #X obj 20 78 max 0; 17 | #X obj 20 104 min 1e+37; 18 | #X obj 139 20 inlet; 19 | #X obj 139 42 route range set; 20 | #X obj 139 67 unpack; 21 | #X obj 203 67 r \$0.sens; 22 | #X obj 139 91 *; 23 | #X obj 172 91 *; 24 | #X obj 205 155 div; 25 | #X obj 205 177 change -1e+37; 26 | #X obj 205 270 outlet; 27 | #X obj 182 121 *; 28 | #X obj 20 150 t a a; 29 | #X obj 20 126 t a a; 30 | #X obj 20 4 r \$0.selector.s; 31 | #X obj 250 205 r \$0.ready; 32 | #X obj 205 247 spigot; 33 | #X msg 259 274 range 10 -4 \, set 7; 34 | #X obj 53 27 r \$0.ready; 35 | #X obj 20 51 spigot; 36 | #X obj 259 239 sel 0; 37 | #X connect 0 0 5 0; 38 | #X connect 1 0 0 0; 39 | #X connect 2 0 8 0; 40 | #X connect 3 0 1 0; 41 | #X connect 3 1 10 0; 42 | #X connect 3 2 4 0; 43 | #X connect 4 0 0 2; 44 | #X connect 5 0 6 0; 45 | #X connect 7 0 2 0; 46 | #X connect 8 0 3 0; 47 | #X connect 9 0 4 1; 48 | #X connect 10 0 0 1; 49 | #X connect 11 0 12 0; 50 | #X connect 12 0 24 0; 51 | #X connect 13 0 14 0; 52 | #X connect 14 0 15 0; 53 | #X connect 14 1 22 0; 54 | #X connect 15 0 17 0; 55 | #X connect 15 1 18 0; 56 | #X connect 16 0 18 1; 57 | #X connect 16 0 17 1; 58 | #X connect 16 0 19 1; 59 | #X connect 16 0 22 1; 60 | #X connect 17 0 11 1; 61 | #X connect 18 0 12 1; 62 | #X connect 19 0 20 0; 63 | #X connect 20 0 27 0; 64 | #X connect 22 0 23 0; 65 | #X connect 23 0 7 0; 66 | #X connect 23 1 9 0; 67 | #X connect 24 0 23 0; 68 | #X connect 24 1 19 0; 69 | #X connect 25 0 30 0; 70 | #X connect 26 0 27 1; 71 | #X connect 26 0 31 0; 72 | #X connect 27 0 21 0; 73 | #X connect 28 0 6 0; 74 | #X connect 29 0 30 1; 75 | #X connect 30 0 11 0; 76 | #X connect 31 0 28 0; 77 | #X restore 43 113 pd slider.wrapper; 78 | #X obj 43 34 t a a; 79 | #X obj 43 60 list length; 80 | #N canvas 874 200 385 462 list.selector.fields 0; 81 | #N canvas 1158 434 142 254 counter 0; 82 | #X obj 10 12 inlet; 83 | #X msg 38 61 -2; 84 | #X obj 10 83 until; 85 | #X obj 10 105 f; 86 | #X obj 37 106 + 1; 87 | #X obj 10 38 t b b a; 88 | #X obj 10 202 list prepend; 89 | #X obj 10 224 outlet; 90 | #X obj 10 126 t a a; 91 | #X obj 10 181 list append; 92 | #X obj 51 156 + 21; 93 | #X obj 51 133 * 11; 94 | #X msg 10 61 6; 95 | #X connect 0 0 5 0; 96 | #X connect 1 0 3 1; 97 | #X connect 2 0 3 0; 98 | #X connect 3 0 4 0; 99 | #X connect 3 0 8 0; 100 | #X connect 4 0 3 1; 101 | #X connect 5 0 12 0; 102 | #X connect 5 1 1 0; 103 | #X connect 5 2 6 1; 104 | #X connect 6 0 7 0; 105 | #X connect 8 0 9 0; 106 | #X connect 8 1 11 0; 107 | #X connect 9 0 6 0; 108 | #X connect 10 0 9 1; 109 | #X connect 11 0 10 0; 110 | #X connect 12 0 2 0; 111 | #X restore 5 200 pd counter; 112 | #X obj 5 224 t a a; 113 | #X obj 5 442 s; 114 | #X obj 5 246 list trim; 115 | #X obj 159 49 inlet; 116 | #X obj 32 82 del 600; 117 | #X obj 252 89 inlet; 118 | #X msg 5 107 1; 119 | #X msg 32 107 0; 120 | #X obj 5 288 route 1 0; 121 | #N canvas 752 421 288 441 update.labels 0; 122 | #N canvas 646 355 158 272 counter 0; 123 | #X obj 10 12 inlet; 124 | #X msg 10 57 5; 125 | #X msg 38 57 -2; 126 | #X obj 10 79 until; 127 | #X obj 10 101 f; 128 | #X obj 37 102 + 1; 129 | #X obj 10 124 outlet; 130 | #X obj 10 34 t b b; 131 | #X connect 0 0 7 0; 132 | #X connect 1 0 3 0; 133 | #X connect 2 0 4 1; 134 | #X connect 3 0 4 0; 135 | #X connect 4 0 5 0; 136 | #X connect 4 0 6 0; 137 | #X connect 5 0 4 1; 138 | #X connect 7 0 1 0; 139 | #X connect 7 1 2 0; 140 | #X restore -47 75 pd counter; 141 | #X obj -47 31 t b a; 142 | #X obj -47 97 list append; 143 | #X obj -47 7 inlet; 144 | #X obj 97 9 inlet; 145 | #X obj -47 119 t a a; 146 | #X msg 16 124 \$1 \$2; 147 | #X obj 16 146 +; 148 | #X obj -47 171 list append; 149 | #X obj -47 193 t a a; 150 | #N canvas 781 423 450 300 get.label.from.id 0; 151 | #X obj 68 94 t b a; 152 | #X obj 68 140 list split; 153 | #X obj 68 118 list append; 154 | #X obj 153 227 list split 1; 155 | #X obj 68 66 - 1; 156 | #X obj 29 42 moses 1; 157 | #X msg 125 168 symbol empty; 158 | #X obj 96 201 route bang; 159 | #X obj 153 250 outlet; 160 | #X obj 29 18 inlet; 161 | #X obj 232 28 inlet; 162 | #X connect 0 0 2 0; 163 | #X connect 0 1 1 1; 164 | #X connect 1 1 7 0; 165 | #X connect 1 2 6 0; 166 | #X connect 2 0 1 0; 167 | #X connect 3 0 8 0; 168 | #X connect 4 0 0 0; 169 | #X connect 5 0 6 0; 170 | #X connect 5 1 4 0; 171 | #X connect 6 0 8 0; 172 | #X connect 7 0 6 0; 173 | #X connect 7 1 3 0; 174 | #X connect 9 0 5 0; 175 | #X connect 10 0 2 1; 176 | #X restore -20 241 pd get.label.from.id; 177 | #X obj -47 266 list append; 178 | #X msg -20 218 \$3; 179 | #X obj -20 310 list prepend \$0; 180 | #X msg -20 332 \; \$1.field.\$2.r label \$5; 181 | #X obj -47 288 t a a; 182 | #X obj -47 365 route 0; 183 | #X msg -47 385 symbol \$3; 184 | #X obj -47 407 outlet; 185 | #X connect 0 0 2 0; 186 | #X connect 1 0 0 0; 187 | #X connect 1 1 2 1; 188 | #X connect 2 0 5 0; 189 | #X connect 3 0 1 0; 190 | #X connect 4 0 10 1; 191 | #X connect 5 0 8 0; 192 | #X connect 5 1 6 0; 193 | #X connect 6 0 7 0; 194 | #X connect 7 0 8 1; 195 | #X connect 8 0 9 0; 196 | #X connect 9 0 11 0; 197 | #X connect 9 1 12 0; 198 | #X connect 10 0 11 1; 199 | #X connect 11 0 15 0; 200 | #X connect 12 0 10 0; 201 | #X connect 13 0 14 0; 202 | #X connect 15 0 16 0; 203 | #X connect 15 1 13 0; 204 | #X connect 16 0 17 0; 205 | #X connect 17 0 18 0; 206 | #X restore 159 112 pd update.labels; 207 | #X obj 32 398 list prepend \$0; 208 | #X msg 32 420 symbol \$1.field.\$3.r; 209 | #X obj 5 333 route 3; 210 | #X obj 5 60 t b b; 211 | #X obj 5 129 change; 212 | #X obj 5 5 r \$0.selector.s; 213 | #X obj 159 69 f; 214 | #N canvas 842 395 450 300 init.cnvs 0; 215 | #X obj 15 214 list prepend \$0; 216 | #X msg 120 167 -187246; 217 | #X msg 42 168 -233017; 218 | #X obj 15 127 t a a; 219 | #X obj 15 193 list append; 220 | #X obj 42 147 sel 0 3; 221 | #X msg 92 167 -1; 222 | #X msg 15 105 3 \, -2 \, -1 \, 1 \, 2 \, 0; 223 | #X obj 15 58 spigot 1; 224 | #X msg 93 75 0; 225 | #X obj 15 80 t b b; 226 | #X obj 15 6 r \$0.selector.s; 227 | #X obj 15 270 s \$0.goparea; 228 | #X msg 15 235 obj 34 20 cnv 1 1 1 empty \$1.field.\$2.r empty 1 5 0 229 | 10 \$3 -1 0; 230 | #X connect 0 0 13 0; 231 | #X connect 1 0 4 1; 232 | #X connect 2 0 4 1; 233 | #X connect 3 0 4 0; 234 | #X connect 3 1 5 0; 235 | #X connect 4 0 0 0; 236 | #X connect 5 0 2 0; 237 | #X connect 5 1 6 0; 238 | #X connect 5 2 1 0; 239 | #X connect 6 0 4 1; 240 | #X connect 7 0 3 0; 241 | #X connect 8 0 10 0; 242 | #X connect 9 0 8 1; 243 | #X connect 10 0 7 0; 244 | #X connect 10 1 9 0; 245 | #X connect 11 0 8 0; 246 | #X connect 13 0 12 0; 247 | #X restore 277 12 pd init.cnvs; 248 | #X obj 107 94 sel 1 0; 249 | #X obj 5 150 t a a a; 250 | #X obj 195 221 outlet; 251 | #X obj 126 152 symbol; 252 | #X obj 126 175 select dummy; 253 | #X obj 195 199 t a a; 254 | #X obj 5 27 spigot; 255 | #X obj 60 28 r \$0.ready; 256 | #X msg 39 313 pos 34 20 \, vis_size 1 1 \, label empty \, size 1; 257 | #X msg 44 358 pos 33 \$2 \, vis_size 38 10; 258 | #X msg 5 377 pos 31 -3 \, vis_size 42 58; 259 | #X connect 0 0 1 0; 260 | #X connect 1 0 3 0; 261 | #X connect 1 1 11 0; 262 | #X connect 3 0 9 0; 263 | #X connect 4 0 17 0; 264 | #X connect 5 0 8 0; 265 | #X connect 6 0 10 1; 266 | #X connect 7 0 15 0; 267 | #X connect 8 0 15 0; 268 | #X connect 9 0 13 0; 269 | #X connect 9 1 27 0; 270 | #X connect 10 0 22 1; 271 | #X connect 11 0 12 0; 272 | #X connect 12 0 2 1; 273 | #X connect 13 0 29 0; 274 | #X connect 13 1 28 0; 275 | #X connect 14 0 7 0; 276 | #X connect 14 1 5 0; 277 | #X connect 15 0 20 0; 278 | #X connect 16 0 25 0; 279 | #X connect 17 0 10 0; 280 | #X connect 19 0 17 0; 281 | #X connect 19 1 22 0; 282 | #X connect 20 0 19 0; 283 | #X connect 20 1 0 0; 284 | #X connect 22 0 23 0; 285 | #X connect 23 1 24 0; 286 | #X connect 24 0 21 0; 287 | #X connect 24 1 23 1; 288 | #X connect 25 0 14 0; 289 | #X connect 26 0 25 1; 290 | #X connect 27 0 2 0; 291 | #X connect 28 0 2 0; 292 | #X connect 29 0 2 0; 293 | #X restore 43 146 pd list.selector.fields; 294 | #X msg 43 85 range 1 \$1; 295 | #X msg 153 383 label \$1; 296 | #X obj 153 359 symbol; 297 | #X obj 153 406 s \$0.selector.label.r; 298 | #X obj 42 273 s \$0.mode; 299 | #X obj 43 12 inlet; 300 | #X msg 153 317 I; 301 | #X msg 181 317 O; 302 | #X obj 228 90 r \$0.ready; 303 | #X obj 227 8 loadbang; 304 | #X obj 227 30 \$0; 305 | #X msg 227 52 \; \$1.sens 5 \;; 306 | #X msg 228 145 symbol OFF; 307 | #X msg 210 317 A; 308 | #X msg 295 317 empty; 309 | #X obj 153 263 r \$0.mode; 310 | #X msg 42 215 0; 311 | #X msg 81 215 1; 312 | #X msg 121 215 2; 313 | #X msg 160 215 3; 314 | #X msg 200 215 4; 315 | #X obj 42 189 select INPUT OUTPUT ANALOG PWM SERVO OFF; 316 | #X msg 239 215 -1; 317 | #X obj 153 287 sel 0 1 2 3 4 -1; 318 | #X msg 239 317 P; 319 | #X msg 267 317 S; 320 | #X connect 0 0 3 0; 321 | #X connect 1 0 2 0; 322 | #X connect 1 1 3 1; 323 | #X connect 2 0 4 0; 324 | #X connect 3 0 25 0; 325 | #X connect 4 0 0 0; 326 | #X connect 5 0 7 0; 327 | #X connect 6 0 5 0; 328 | #X connect 9 0 1 0; 329 | #X connect 10 0 6 0; 330 | #X connect 11 0 6 0; 331 | #X connect 12 0 16 0; 332 | #X connect 13 0 14 0; 333 | #X connect 14 0 15 0; 334 | #X connect 16 0 25 0; 335 | #X connect 17 0 6 0; 336 | #X connect 18 0 6 0; 337 | #X connect 19 0 27 0; 338 | #X connect 20 0 8 0; 339 | #X connect 21 0 8 0; 340 | #X connect 22 0 8 0; 341 | #X connect 23 0 8 0; 342 | #X connect 24 0 8 0; 343 | #X connect 25 0 20 0; 344 | #X connect 25 1 21 0; 345 | #X connect 25 2 22 0; 346 | #X connect 25 3 23 0; 347 | #X connect 25 4 24 0; 348 | #X connect 25 5 26 0; 349 | #X connect 26 0 8 0; 350 | #X connect 27 0 10 0; 351 | #X connect 27 1 11 0; 352 | #X connect 27 2 17 0; 353 | #X connect 27 3 28 0; 354 | #X connect 27 4 29 0; 355 | #X connect 27 5 18 0; 356 | #X connect 28 0 6 0; 357 | #X connect 29 0 6 0; 358 | #X restore 17 141 pd mode.selector; 359 | #N canvas 349 167 357 228 pin.no.label 0; 360 | #X obj 18 192 s \$0.sl.r; 361 | #X obj 18 149 makefilename %2d; 362 | #X msg 18 171 label \$1; 363 | #X obj 18 3 r \$0.ready; 364 | #X msg 122 113 label empty; 365 | #X obj 197 31 loadbang; 366 | #X obj 18 25 sel 1 0; 367 | #X obj 18 48 f \$2; 368 | #X obj 45 108 s \$0.pin.no; 369 | #X obj 18 87 t a a; 370 | #X obj 18 67 tabread \$1.ANALOG.DIGITAL.MAPPING; 371 | #X obj 95 21 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 372 | -1; 373 | #X connect 1 0 2 0; 374 | #X connect 2 0 0 0; 375 | #X connect 3 0 6 0; 376 | #X connect 4 0 0 0; 377 | #X connect 5 0 4 0; 378 | #X connect 6 0 7 0; 379 | #X connect 6 1 4 0; 380 | #X connect 7 0 10 0; 381 | #X connect 9 0 1 0; 382 | #X connect 9 1 8 0; 383 | #X connect 10 0 9 0; 384 | #X connect 11 0 7 0; 385 | #X restore 17 163 pd pin.no.label; 386 | #N canvas 195 114 520 484 show.value 0; 387 | #X obj 128 431 s \$0.show.value; 388 | #X obj 168 171 del 1000; 389 | #X obj 99 159 r \$0.mode; 390 | #X obj 214 17 r \$0.toggle; 391 | #X obj 283 34 r \$0.mode; 392 | #X obj 214 55 list prepend; 393 | #X obj 267 216 sel 0 1; 394 | #X msg 267 240 LOW; 395 | #X msg 293 240 HIGH; 396 | #X msg 168 200 empty; 397 | #X obj 241 141 sel 0 1; 398 | #X msg 241 163 PULL_UP_OFF; 399 | #X msg 260 183 PULL_UP_ON; 400 | #X obj 214 77 t b a; 401 | #X obj 241 97 route 0 1; 402 | #X msg 357 278 label_pos \$1 7; 403 | #X obj 241 119 t a b; 404 | #X obj 324 127 t a b; 405 | #X msg 402 213 -31; 406 | #X msg 373 212 -80; 407 | #X obj 206 299 spigot 1; 408 | #X obj 390 323 r \$0.block.send; 409 | #X obj 390 370 sel 1; 410 | #X obj 390 345 t a a; 411 | #X obj 206 321 symbol; 412 | #X obj 102 284 route refresh; 413 | #X obj 102 262 r \$1.ARDUINO.INTERN; 414 | #X obj 102 306 b; 415 | #X obj 102 352 sel _; 416 | #X obj 129 374 t a a; 417 | #X obj 102 330 symbol empty; 418 | #X msg 129 398 label \$1; 419 | #X obj 21 96 * 0.01; 420 | #X obj 21 43 r \$0.nb.s; 421 | #X obj 21 65 t a b; 422 | #X msg 61 201 set 0; 423 | #X obj 61 225 s \$0.nb.r; 424 | #X obj 21 118 makefilename %.2f; 425 | #X obj 373 250 change; 426 | #X connect 1 0 9 0; 427 | #X connect 2 0 9 0; 428 | #X connect 2 0 35 0; 429 | #X connect 3 0 5 0; 430 | #X connect 4 0 5 1; 431 | #X connect 5 0 13 0; 432 | #X connect 6 0 7 0; 433 | #X connect 6 1 8 0; 434 | #X connect 7 0 20 0; 435 | #X connect 8 0 20 0; 436 | #X connect 9 0 20 0; 437 | #X connect 10 0 11 0; 438 | #X connect 10 1 12 0; 439 | #X connect 11 0 20 0; 440 | #X connect 12 0 20 0; 441 | #X connect 13 0 1 0; 442 | #X connect 13 1 14 0; 443 | #X connect 14 0 16 0; 444 | #X connect 14 1 17 0; 445 | #X connect 15 0 0 0; 446 | #X connect 16 0 10 0; 447 | #X connect 16 1 19 0; 448 | #X connect 17 0 6 0; 449 | #X connect 17 1 18 0; 450 | #X connect 18 0 38 0; 451 | #X connect 19 0 38 0; 452 | #X connect 20 0 24 0; 453 | #X connect 21 0 23 0; 454 | #X connect 22 0 9 0; 455 | #X connect 23 0 22 0; 456 | #X connect 23 1 20 1; 457 | #X connect 24 0 30 1; 458 | #X connect 25 0 27 0; 459 | #X connect 26 0 25 0; 460 | #X connect 27 0 30 0; 461 | #X connect 28 1 29 0; 462 | #X connect 29 0 31 0; 463 | #X connect 29 1 28 1; 464 | #X connect 30 0 28 0; 465 | #X connect 31 0 0 0; 466 | #X connect 32 0 37 0; 467 | #X connect 33 0 34 0; 468 | #X connect 34 0 32 0; 469 | #X connect 34 1 1 0; 470 | #X connect 34 1 18 0; 471 | #X connect 35 0 36 0; 472 | #X connect 37 0 20 0; 473 | #X connect 38 0 15 0; 474 | #X restore 17 205 pd show.value; 475 | #N canvas 660 165 406 454 color.indicator 0; 476 | #N canvas 1083 72 231 303 color.blender 0; 477 | #N canvas 1144 153 166 250 blend 0; 478 | #X obj 12 12 inlet; 479 | #X obj 12 207 outlet; 480 | #X obj 67 11 inlet; 481 | #X obj 27 109 -; 482 | #X obj 12 130 *; 483 | #X obj 67 32 t a a; 484 | #X obj 12 176 int; 485 | #X msg 27 87 255 \$1; 486 | #X obj 12 152 +; 487 | #X obj 12 34 * -1; 488 | #X obj 12 56 + 1; 489 | #X connect 0 0 9 0; 490 | #X connect 2 0 5 0; 491 | #X connect 3 0 4 1; 492 | #X connect 4 0 8 0; 493 | #X connect 5 0 7 0; 494 | #X connect 5 1 8 1; 495 | #X connect 6 0 1 0; 496 | #X connect 7 0 3 0; 497 | #X connect 8 0 6 0; 498 | #X connect 9 0 10 0; 499 | #X connect 10 0 4 0; 500 | #X restore 29 104 pd blend; 501 | #N canvas 1144 153 166 250 blend 0; 502 | #X obj 12 12 inlet; 503 | #X obj 12 207 outlet; 504 | #X obj 67 11 inlet; 505 | #X obj 27 109 -; 506 | #X obj 12 130 *; 507 | #X obj 67 32 t a a; 508 | #X obj 12 176 int; 509 | #X msg 27 87 255 \$1; 510 | #X obj 12 152 +; 511 | #X obj 12 34 * -1; 512 | #X obj 12 56 + 1; 513 | #X connect 0 0 9 0; 514 | #X connect 2 0 5 0; 515 | #X connect 3 0 4 1; 516 | #X connect 4 0 8 0; 517 | #X connect 5 0 7 0; 518 | #X connect 5 1 8 1; 519 | #X connect 6 0 1 0; 520 | #X connect 7 0 3 0; 521 | #X connect 8 0 6 0; 522 | #X connect 9 0 10 0; 523 | #X connect 10 0 4 0; 524 | #X restore 86 104 pd blend; 525 | #N canvas 1144 153 166 250 blend 0; 526 | #X obj 12 12 inlet; 527 | #X obj 12 207 outlet; 528 | #X obj 67 11 inlet; 529 | #X obj 27 109 -; 530 | #X obj 12 130 *; 531 | #X obj 67 32 t a a; 532 | #X obj 12 176 int; 533 | #X msg 27 87 255 \$1; 534 | #X obj 12 152 +; 535 | #X obj 12 34 * -1; 536 | #X obj 12 56 + 1; 537 | #X connect 0 0 9 0; 538 | #X connect 2 0 5 0; 539 | #X connect 3 0 4 1; 540 | #X connect 4 0 8 0; 541 | #X connect 5 0 7 0; 542 | #X connect 5 1 8 1; 543 | #X connect 6 0 1 0; 544 | #X connect 7 0 3 0; 545 | #X connect 8 0 6 0; 546 | #X connect 9 0 10 0; 547 | #X connect 10 0 4 0; 548 | #X restore 142 104 pd blend; 549 | #X obj 29 23 inlet; 550 | #X obj 29 264 outlet; 551 | #X obj 118 23 inlet; 552 | #X obj 118 45 unpack f f f; 553 | #X obj 29 53 t a a a; 554 | #X obj 86 143 << 8; 555 | #X obj 29 143 << 16; 556 | #X obj 29 200 +; 557 | #X obj 86 172 +; 558 | #X obj 29 220 * -1; 559 | #X obj 29 241 - 1; 560 | #X connect 0 0 9 0; 561 | #X connect 1 0 8 0; 562 | #X connect 2 0 11 1; 563 | #X connect 3 0 7 0; 564 | #X connect 5 0 6 0; 565 | #X connect 6 0 0 1; 566 | #X connect 6 1 1 1; 567 | #X connect 6 2 2 1; 568 | #X connect 7 0 0 0; 569 | #X connect 7 1 1 0; 570 | #X connect 7 2 2 0; 571 | #X connect 8 0 11 0; 572 | #X connect 9 0 10 0; 573 | #X connect 10 0 12 0; 574 | #X connect 11 0 10 1; 575 | #X connect 12 0 13 0; 576 | #X connect 13 0 4 0; 577 | #X restore 38 238 pd color.blender; 578 | #X obj 38 282 s \$0.sl.r; 579 | #X msg 38 260 color \$1 \$1 -1; 580 | #X obj 159 15 r \$0.mode; 581 | #X obj 2 35 r \$0.toggle; 582 | #X obj 38 189 + 0.1; 583 | #X obj 38 167 * 0.9; 584 | #X msg 186 118 210 0 255; 585 | #X msg 201 143 0 200 0; 586 | #X obj 2 414 s \$0.pull.up.r; 587 | #X obj 2 342 sel 0 1; 588 | #X msg 2 392 pos \$1 20 \, size 1 \, vis_size 4 1; 589 | #X obj 2 319 change; 590 | #X obj 95 324 r \$0.mode; 591 | #X msg 122 367 0; 592 | #X obj 95 346 sel 0; 593 | #X obj 49 115 r \$0.input; 594 | #N canvas 542 727 176 225 rate.limit 0; 595 | #X obj 129 52 inlet; 596 | #X obj 19 150 outlet; 597 | #X obj 19 47 route refresh; 598 | #X obj 19 69 b; 599 | #X obj 19 91 f; 600 | #X obj 19 126 change -1; 601 | #X obj 19 25 r \$1.ARDUINO.INTERN; 602 | #X obj 96 119 r \$0.mode; 603 | #X msg 96 141 set -1; 604 | #X connect 0 0 4 1; 605 | #X connect 2 0 3 0; 606 | #X connect 3 0 4 0; 607 | #X connect 4 0 5 0; 608 | #X connect 5 0 1 0; 609 | #X connect 6 0 2 0; 610 | #X connect 7 0 8 0; 611 | #X connect 8 0 5 0; 612 | #X restore 38 216 pd rate.limit; 613 | #X msg 263 244 224 224 224; 614 | #X msg 129 91 1; 615 | #X msg 156 91 0; 616 | #X obj 159 37 t a a; 617 | #X obj 2 87 route 0 1; 618 | #X obj 2 62 list prepend; 619 | #X msg 33 367 28; 620 | #X msg 2 368 33; 621 | #X msg 217 167 0 190 190; 622 | #X obj 129 69 sel -1; 623 | #X msg 248 217 255 140 0; 624 | #X msg 232 191 0 0 220; 625 | #X obj 186 92 sel 0 1 2 3 4 -1; 626 | #X obj 90 23 r \$0.nb.s; 627 | #X obj 90 45 * 0.01; 628 | #X connect 0 0 2 0; 629 | #X connect 2 0 1 0; 630 | #X connect 3 0 21 0; 631 | #X connect 4 0 23 0; 632 | #X connect 5 0 17 0; 633 | #X connect 6 0 5 0; 634 | #X connect 7 0 0 1; 635 | #X connect 8 0 0 1; 636 | #X connect 10 0 25 0; 637 | #X connect 10 1 24 0; 638 | #X connect 11 0 9 0; 639 | #X connect 12 0 10 0; 640 | #X connect 13 0 15 0; 641 | #X connect 14 0 12 0; 642 | #X connect 15 1 14 0; 643 | #X connect 16 0 6 0; 644 | #X connect 17 0 0 0; 645 | #X connect 18 0 0 1; 646 | #X connect 19 0 6 0; 647 | #X connect 20 0 6 0; 648 | #X connect 21 0 23 1; 649 | #X connect 21 0 27 0; 650 | #X connect 21 1 30 0; 651 | #X connect 22 0 12 0; 652 | #X connect 22 1 6 0; 653 | #X connect 23 0 22 0; 654 | #X connect 24 0 11 0; 655 | #X connect 25 0 11 0; 656 | #X connect 26 0 0 1; 657 | #X connect 27 0 19 0; 658 | #X connect 27 1 20 0; 659 | #X connect 28 0 0 1; 660 | #X connect 29 0 0 1; 661 | #X connect 30 0 7 0; 662 | #X connect 30 1 8 0; 663 | #X connect 30 2 26 0; 664 | #X connect 30 3 29 0; 665 | #X connect 30 4 28 0; 666 | #X connect 30 5 18 0; 667 | #X connect 31 0 32 0; 668 | #X connect 32 0 6 0; 669 | #X restore 17 227 pd color.indicator; 670 | #N canvas 1009 394 271 302 input.output.toggle 0; 671 | #N canvas 1230 291 185 273 slider.click.detection 0; 672 | #X obj 14 49 sel 0 1; 673 | #X obj 14 28 route float; 674 | #X msg 14 169 set 0.5; 675 | #X obj 82 101 t a a; 676 | #X obj 82 144 sel 0; 677 | #X obj 82 166 outlet; 678 | #X obj 24 190 loadbang; 679 | #X msg 24 211 range 0 1 \, set 0.5; 680 | #X obj 82 123 - 0.5; 681 | #X obj 14 6 r \$0.sl.s; 682 | #X obj 14 232 s \$0.sl.r; 683 | #X obj 64 76 f; 684 | #X obj 100 79 + 1; 685 | #X connect 0 0 2 0; 686 | #X connect 0 0 11 0; 687 | #X connect 0 1 2 0; 688 | #X connect 0 1 11 0; 689 | #X connect 0 2 11 0; 690 | #X connect 1 0 0 0; 691 | #X connect 2 0 10 0; 692 | #X connect 3 0 8 1; 693 | #X connect 3 1 8 0; 694 | #X connect 4 0 5 0; 695 | #X connect 6 0 7 0; 696 | #X connect 7 0 10 0; 697 | #X connect 8 0 4 0; 698 | #X connect 9 0 1 0; 699 | #X connect 11 0 12 0; 700 | #X connect 11 0 3 0; 701 | #X connect 12 0 11 1; 702 | #X restore 9 11 pd slider.click.detection; 703 | #X obj 9 234 ==; 704 | #X obj 45 234 t a; 705 | #X obj 73 181 r \$0.mode; 706 | #X msg 73 203 0; 707 | #X obj 9 257 s \$0.toggle; 708 | #X text 99 205 <- reset on mode switch; 709 | #X obj 9 194 spigot; 710 | #X obj 124 96 r \$0.ready; 711 | #X obj 42 160 &&; 712 | #X obj 124 118 t b a; 713 | #X obj 42 42 r \$0.mode; 714 | #X obj 42 64 sel 0 1; 715 | #X msg 42 94 1; 716 | #X msg 81 92 0; 717 | #X connect 0 0 7 0; 718 | #X connect 1 0 2 0; 719 | #X connect 1 0 5 0; 720 | #X connect 2 0 1 1; 721 | #X connect 3 0 4 0; 722 | #X connect 4 0 1 1; 723 | #X connect 7 0 1 0; 724 | #X connect 8 0 10 0; 725 | #X connect 9 0 7 1; 726 | #X connect 10 0 9 0; 727 | #X connect 10 1 9 1; 728 | #X connect 11 0 12 0; 729 | #X connect 12 0 13 0; 730 | #X connect 12 1 13 0; 731 | #X connect 12 2 14 0; 732 | #X connect 13 0 9 0; 733 | #X connect 14 0 9 0; 734 | #X restore 17 249 pd input.output.toggle; 735 | #N canvas 148 273 403 367 resolve.supported.modes 0; 736 | #X obj 4 263 list append; 737 | #X text 48 294 <- list of supported modes; 738 | #X obj 4 293 outlet; 739 | #X obj 4 3 r \$0.pin.no; 740 | #X obj 23 63 tabread \$1.PINMODE.MATRIX; 741 | #X obj 288 186 t b; 742 | #X obj 23 118 & 1; 743 | #X obj 63 117 & 2; 744 | #X obj 113 117 & 4; 745 | #X obj 196 117 & 8; 746 | #X obj 235 117 & 16; 747 | #X obj 23 144 sel 1; 748 | #X obj 63 143 sel 2; 749 | #X obj 113 143 sel 4; 750 | #X obj 196 143 sel 8; 751 | #X obj 235 143 sel 16; 752 | #X msg 23 168 INPUT; 753 | #X msg 63 168 OUTPUT; 754 | #X msg 196 168 PWM; 755 | #X msg 235 168 SERVO; 756 | #X obj 23 83 t a a a a a; 757 | #X obj 4 25 t b a b; 758 | #X obj 23 239 t a a; 759 | #X obj 288 51 t b; 760 | #X obj 23 213 list append; 761 | #X msg 113 168 ANALOG \, OFF; 762 | #X connect 0 0 2 0; 763 | #X connect 3 0 21 0; 764 | #X connect 4 0 20 0; 765 | #X connect 5 0 22 0; 766 | #X connect 6 0 11 0; 767 | #X connect 7 0 12 0; 768 | #X connect 8 0 13 0; 769 | #X connect 9 0 14 0; 770 | #X connect 10 0 15 0; 771 | #X connect 11 0 16 0; 772 | #X connect 12 0 17 0; 773 | #X connect 13 0 25 0; 774 | #X connect 14 0 18 0; 775 | #X connect 15 0 19 0; 776 | #X connect 16 0 24 0; 777 | #X connect 17 0 24 0; 778 | #X connect 18 0 24 0; 779 | #X connect 19 0 24 0; 780 | #X connect 20 0 6 0; 781 | #X connect 20 1 7 0; 782 | #X connect 20 2 8 0; 783 | #X connect 20 3 9 0; 784 | #X connect 20 4 10 0; 785 | #X connect 21 0 0 0; 786 | #X connect 21 1 4 0; 787 | #X connect 21 2 23 0; 788 | #X connect 22 0 0 1; 789 | #X connect 22 1 24 1; 790 | #X connect 23 0 5 0; 791 | #X connect 24 0 22 0; 792 | #X connect 25 0 24 0; 793 | #X restore 17 118 pd resolve.supported.modes; 794 | #N canvas 327 116 629 473 compose.arduino.messages 0; 795 | #X obj 11 9 r \$0.mode; 796 | #X text 68 91 <- don't send initial 'output' (it's the default); 797 | #X msg 11 232 input; 798 | #X msg 26 210 output; 799 | #X msg 73 136 servo; 800 | #X obj 11 315 list trim; 801 | #X obj 256 125 r \$0.toggle; 802 | #X msg 256 211 digital \$1 \$2; 803 | #X obj 80 5 r \$0.ready; 804 | #X obj 80 26 sel 0; 805 | #X msg 42 184 analog; 806 | #X obj 11 385 s \$1.ARDUINO.TO; 807 | #X obj 67 332 r \$0.block.send; 808 | #X obj 11 355 spigot 1; 809 | #X msg 57 160 pwm; 810 | #X obj 11 111 sel 0 1 2 3 4 -1; 811 | #X msg 80 50 set -1; 812 | #X obj 11 90 change -1; 813 | #X obj 289 277 r \$0.pin.no; 814 | #X obj 256 186 list prepend -1; 815 | #X obj 11 263 list prepend -1; 816 | #X obj 11 285 list prepend pinMode; 817 | #X obj 147 192 t a b; 818 | #X msg 174 214 analog; 819 | #X msg 147 236 analogIns \$1 0; 820 | #X obj 147 139 f \$2; 821 | #X obj 360 206 list prepend \$2; 822 | #X obj 360 123 r \$0.nb.s; 823 | #X msg 360 228 analog \$1 \$2; 824 | #X obj 360 184 * 0.01; 825 | #X obj 256 158 spigot; 826 | #X obj 360 155 spigot; 827 | #X obj 429 128 r \$0.ready; 828 | #X connect 0 0 17 0; 829 | #X connect 2 0 20 0; 830 | #X connect 3 0 20 0; 831 | #X connect 4 0 20 0; 832 | #X connect 5 0 13 0; 833 | #X connect 6 0 30 0; 834 | #X connect 7 0 13 0; 835 | #X connect 8 0 9 0; 836 | #X connect 9 0 16 0; 837 | #X connect 10 0 20 0; 838 | #X connect 12 0 13 1; 839 | #X connect 13 0 11 0; 840 | #X connect 14 0 20 0; 841 | #X connect 15 0 2 0; 842 | #X connect 15 1 3 0; 843 | #X connect 15 2 10 0; 844 | #X connect 15 3 14 0; 845 | #X connect 15 4 4 0; 846 | #X connect 15 5 25 0; 847 | #X connect 16 0 17 0; 848 | #X connect 17 0 15 0; 849 | #X connect 18 0 20 1; 850 | #X connect 18 0 19 1; 851 | #X connect 18 0 26 1; 852 | #X connect 19 0 7 0; 853 | #X connect 20 0 21 0; 854 | #X connect 21 0 5 0; 855 | #X connect 22 0 24 0; 856 | #X connect 22 1 23 0; 857 | #X connect 23 0 20 0; 858 | #X connect 24 0 5 0; 859 | #X connect 25 0 22 0; 860 | #X connect 26 0 28 0; 861 | #X connect 27 0 31 0; 862 | #X connect 28 0 13 0; 863 | #X connect 29 0 26 0; 864 | #X connect 30 0 19 0; 865 | #X connect 31 0 29 0; 866 | #X connect 32 0 30 1; 867 | #X connect 32 0 31 1; 868 | #X restore 17 293 pd compose.arduino.messages; 869 | #N canvas 699 459 192 147 ready 0; 870 | #X obj 22 10 r \$1.ARDUINO.INTERN; 871 | #X obj 22 32 route ready; 872 | #X obj 22 109 s \$0.ready; 873 | #X obj 56 53 loadbang; 874 | #X msg 56 75 0; 875 | #X connect 0 0 1 0; 876 | #X connect 1 0 2 0; 877 | #X connect 3 0 4 0; 878 | #X connect 4 0 2 0; 879 | #X restore 17 94 pd ready; 880 | #N canvas 780 237 297 413 bar.display 0; 881 | #X obj 72 59 r \$0.analog; 882 | #X obj 99 385 s \$0.bar; 883 | #X obj 16 102 f; 884 | #X obj 16 5 r \$1.ARDUINO.INTERN; 885 | #X obj 16 27 route refresh; 886 | #X obj 16 49 b; 887 | #X msg 99 271 1 21; 888 | #X obj 16 219 t a a; 889 | #X obj 16 305 pack f f; 890 | #X msg 99 358 vis_size \$1 8 \, pos \$2 22; 891 | #X obj 43 264 * -1; 892 | #X obj 43 242 - 50; 893 | #X obj 16 187 int; 894 | #X obj 43 283 + -33; 895 | #X obj 16 166 * 50; 896 | #X obj 72 81 t a b; 897 | #X obj 99 106 del 200; 898 | #X obj 16 144 change 0; 899 | #X msg 128 139 set -1; 900 | #X msg 60 116 -1; 901 | #X connect 0 0 15 0; 902 | #X connect 2 0 17 0; 903 | #X connect 3 0 4 0; 904 | #X connect 4 0 5 0; 905 | #X connect 5 0 2 0; 906 | #X connect 6 0 9 0; 907 | #X connect 7 0 8 0; 908 | #X connect 7 1 11 0; 909 | #X connect 8 0 9 0; 910 | #X connect 9 0 1 0; 911 | #X connect 10 0 13 0; 912 | #X connect 11 0 10 0; 913 | #X connect 12 0 7 0; 914 | #X connect 13 0 8 1; 915 | #X connect 14 0 12 0; 916 | #X connect 15 0 2 1; 917 | #X connect 15 1 16 0; 918 | #X connect 16 0 6 0; 919 | #X connect 16 0 19 0; 920 | #X connect 16 0 18 0; 921 | #X connect 17 0 14 0; 922 | #X connect 18 0 17 0; 923 | #X connect 19 0 2 1; 924 | #X restore 17 315 pd bar.display; 925 | #N canvas 109 428 392 240 handle.incoming 0; 926 | #N canvas 52 199 642 381 pinMode 0; 927 | #N canvas 265 209 407 276 get.supported.modes 0; 928 | #X obj 306 132 & 1; 929 | #X obj 238 133 & 2; 930 | #X obj 169 133 & 4; 931 | #X obj 98 133 & 8; 932 | #X obj 98 165 sel 8; 933 | #X obj 169 167 sel 4; 934 | #X obj 238 167 sel 2; 935 | #X obj 306 166 sel 1; 936 | #X obj 31 32 b; 937 | #X obj 31 98 t a a a a a; 938 | #X obj 31 133 & 16; 939 | #X msg 169 190 2 analog; 940 | #X msg 31 193 4 servo; 941 | #X msg 98 191 3 pwm; 942 | #X msg 306 189 0 input; 943 | #X obj 31 166 sel 16; 944 | #X msg 238 191 1 output; 945 | #X obj 31 9 inlet; 946 | #X obj 31 236 outlet; 947 | #X obj 31 76 tabread \$1.PINMODE.MATRIX; 948 | #X obj 31 54 f; 949 | #X obj 62 53 r \$0.pin.no; 950 | #X connect 0 0 7 0; 951 | #X connect 1 0 6 0; 952 | #X connect 2 0 5 0; 953 | #X connect 3 0 4 0; 954 | #X connect 4 0 13 0; 955 | #X connect 5 0 11 0; 956 | #X connect 6 0 16 0; 957 | #X connect 7 0 14 0; 958 | #X connect 8 0 20 0; 959 | #X connect 9 0 10 0; 960 | #X connect 9 1 3 0; 961 | #X connect 9 2 2 0; 962 | #X connect 9 3 1 0; 963 | #X connect 9 4 0 0; 964 | #X connect 10 0 15 0; 965 | #X connect 11 0 18 0; 966 | #X connect 12 0 18 0; 967 | #X connect 13 0 18 0; 968 | #X connect 14 0 18 0; 969 | #X connect 15 0 12 0; 970 | #X connect 16 0 18 0; 971 | #X connect 17 0 8 0; 972 | #X connect 19 0 9 0; 973 | #X connect 20 0 19 0; 974 | #X connect 21 0 20 1; 975 | #X restore 10 143 pd get.supported.modes; 976 | #X obj 10 33 route pinMode; 977 | #X obj 10 99 t b a; 978 | #X obj 10 77 list; 979 | #X obj 37 121 route float symbol; 980 | #X obj 10 165 t a a; 981 | #X obj 10 189 unpack f s; 982 | #X obj 100 213 sel _; 983 | #X obj 10 284 f; 984 | #X msg 37 262 \$1; 985 | #X obj 10 213 sel -1; 986 | #X obj 10 235 t b b; 987 | #X msg 164 225 symbol _; 988 | #X obj 100 235 t b b; 989 | #X msg 66 225 -1; 990 | #X obj 10 308 s \$0.mode; 991 | #X obj 10 11 r \$0.incoming; 992 | #X obj 270 18 r \$0.incoming; 993 | #X obj 270 40 route analogIns; 994 | #X obj 270 217 spigot 1; 995 | #X obj 270 239 sel 0 1; 996 | #X msg 297 264 2; 997 | #X msg 270 264 -1; 998 | #X obj 270 312 s \$0.mode; 999 | #X obj 423 42 route pinMode; 1000 | #X obj 423 20 r \$0.incoming; 1001 | #X obj 423 247 s \$0.mode; 1002 | #X msg 423 226 -1; 1003 | #X obj 423 88 list; 1004 | #X obj 330 145 r \$0.mode; 1005 | #X obj 330 167 sel 0 1 2; 1006 | #X msg 364 198 1; 1007 | #X msg 330 199 0; 1008 | #X obj 416 156 sel pwm servo; 1009 | #X obj 504 160 sel 3 4; 1010 | #X obj 417 194 b; 1011 | #X obj 10 55 route -1; 1012 | #X obj 113 59 r \$0.pin.no; 1013 | #X obj 494 67 r \$0.pin.no; 1014 | #X obj 423 64 route -1; 1015 | #X obj 270 136 route \$2; 1016 | #X connect 0 0 5 0; 1017 | #X connect 1 0 36 0; 1018 | #X connect 2 0 0 0; 1019 | #X connect 2 1 4 0; 1020 | #X connect 3 0 2 0; 1021 | #X connect 4 0 10 1; 1022 | #X connect 4 1 7 1; 1023 | #X connect 5 0 6 0; 1024 | #X connect 5 1 9 0; 1025 | #X connect 6 0 10 0; 1026 | #X connect 6 1 7 0; 1027 | #X connect 7 0 13 0; 1028 | #X connect 8 0 15 0; 1029 | #X connect 9 0 8 1; 1030 | #X connect 10 0 11 0; 1031 | #X connect 11 0 8 0; 1032 | #X connect 11 1 12 0; 1033 | #X connect 12 0 7 1; 1034 | #X connect 13 0 8 0; 1035 | #X connect 13 1 14 0; 1036 | #X connect 14 0 10 1; 1037 | #X connect 16 0 1 0; 1038 | #X connect 17 0 18 0; 1039 | #X connect 18 0 40 0; 1040 | #X connect 19 0 20 0; 1041 | #X connect 20 0 22 0; 1042 | #X connect 20 1 21 0; 1043 | #X connect 21 0 23 0; 1044 | #X connect 22 0 23 0; 1045 | #X connect 24 0 39 0; 1046 | #X connect 25 0 24 0; 1047 | #X connect 27 0 26 0; 1048 | #X connect 28 0 33 0; 1049 | #X connect 28 0 34 0; 1050 | #X connect 29 0 30 0; 1051 | #X connect 30 0 32 0; 1052 | #X connect 30 1 32 0; 1053 | #X connect 30 2 31 0; 1054 | #X connect 31 0 19 1; 1055 | #X connect 32 0 19 1; 1056 | #X connect 33 0 35 0; 1057 | #X connect 33 1 35 0; 1058 | #X connect 34 0 35 0; 1059 | #X connect 34 1 35 0; 1060 | #X connect 35 0 32 0; 1061 | #X connect 35 0 27 0; 1062 | #X connect 36 0 3 0; 1063 | #X connect 37 0 36 1; 1064 | #X connect 38 0 39 1; 1065 | #X connect 39 0 28 0; 1066 | #X connect 40 0 19 0; 1067 | #X restore 10 10 pd pinMode; 1068 | #X obj 252 91 s \$0.incoming; 1069 | #X obj 233 16 r \$1.ARDUINO.IN; 1070 | #X obj 233 65 t b a b; 1071 | #X msg 272 121 0; 1072 | #X msg 233 120 1; 1073 | #X obj 233 145 s \$0.block.send; 1074 | #X obj 285 38 r \$0.ready; 1075 | #X obj 233 38 spigot; 1076 | #N canvas 909 414 224 217 digital 0; 1077 | #X obj 10 11 r \$0.incoming; 1078 | #X obj 10 133 spigot 0; 1079 | #X obj 124 62 r \$0.mode; 1080 | #X obj 124 84 sel 0 1; 1081 | #X msg 124 111 1; 1082 | #X msg 163 111 0; 1083 | #X obj 10 157 s \$0.toggle; 1084 | #X obj 10 33 route digital; 1085 | #X obj 10 79 sel 0 1; 1086 | #X msg 10 100 0; 1087 | #X msg 39 100 1; 1088 | #X obj 10 55 route -1; 1089 | #X obj 119 29 r \$0.pin.no; 1090 | #X connect 0 0 7 0; 1091 | #X connect 1 0 6 0; 1092 | #X connect 2 0 3 0; 1093 | #X connect 3 0 4 0; 1094 | #X connect 3 1 4 0; 1095 | #X connect 3 2 5 0; 1096 | #X connect 4 0 1 1; 1097 | #X connect 5 0 1 1; 1098 | #X connect 7 0 11 0; 1099 | #X connect 8 0 9 0; 1100 | #X connect 8 1 10 0; 1101 | #X connect 9 0 1 0; 1102 | #X connect 10 0 1 0; 1103 | #X connect 11 0 8 0; 1104 | #X connect 12 0 11 1; 1105 | #X restore 11 36 pd digital; 1106 | #N canvas 909 519 232 267 analog 0; 1107 | #X obj 10 11 r \$0.incoming; 1108 | #X obj 10 133 spigot 0; 1109 | #X obj 111 49 r \$0.mode; 1110 | #X obj 10 33 route analog; 1111 | #X obj 10 155 clip 0 1; 1112 | #X obj 10 185 * 100; 1113 | #X obj 10 246 s \$0.nb.s; 1114 | #X msg 111 98 1; 1115 | #X msg 150 98 0; 1116 | #X obj 111 71 sel 3 4; 1117 | #X msg 78 223 set \$1; 1118 | #X obj 78 245 s \$0.nb.r; 1119 | #X obj 10 82 route -1; 1120 | #X obj 27 58 r \$0.pin.no; 1121 | #X connect 0 0 3 0; 1122 | #X connect 1 0 4 0; 1123 | #X connect 2 0 9 0; 1124 | #X connect 3 0 12 0; 1125 | #X connect 4 0 5 0; 1126 | #X connect 5 0 6 0; 1127 | #X connect 5 0 10 0; 1128 | #X connect 7 0 1 1; 1129 | #X connect 8 0 1 1; 1130 | #X connect 9 0 7 0; 1131 | #X connect 9 1 7 0; 1132 | #X connect 9 2 8 0; 1133 | #X connect 10 0 11 0; 1134 | #X connect 12 0 1 0; 1135 | #X connect 13 0 12 1; 1136 | #X restore 11 63 pd analog; 1137 | #N canvas 909 442 222 309 port 0; 1138 | #X obj 10 11 r \$0.incoming; 1139 | #X obj 10 193 spigot 0; 1140 | #X obj 104 165 r \$0.mode; 1141 | #X obj 104 187 sel 0 1; 1142 | #X msg 104 214 1; 1143 | #X msg 143 214 0; 1144 | #X obj 10 217 s \$0.toggle; 1145 | #X obj 10 33 route port; 1146 | #X obj 49 82 >> 3; 1147 | #X obj 10 103 route 0; 1148 | #X obj 112 104 & 7; 1149 | #X obj 10 128 >>; 1150 | #X obj 10 151 & 1; 1151 | #X obj 112 23 r \$0.pin.no; 1152 | #X connect 0 0 7 0; 1153 | #X connect 1 0 6 0; 1154 | #X connect 2 0 3 0; 1155 | #X connect 3 0 4 0; 1156 | #X connect 3 1 4 0; 1157 | #X connect 3 2 5 0; 1158 | #X connect 4 0 1 1; 1159 | #X connect 5 0 1 1; 1160 | #X connect 7 0 9 0; 1161 | #X connect 8 0 9 1; 1162 | #X connect 9 0 11 0; 1163 | #X connect 10 0 11 1; 1164 | #X connect 11 0 12 0; 1165 | #X connect 12 0 1 0; 1166 | #X connect 13 0 8 0; 1167 | #X connect 13 0 10 0; 1168 | #X restore 11 92 pd port; 1169 | #X connect 2 0 8 0; 1170 | #X connect 3 0 5 0; 1171 | #X connect 3 1 1 0; 1172 | #X connect 3 2 4 0; 1173 | #X connect 4 0 6 0; 1174 | #X connect 5 0 6 0; 1175 | #X connect 7 0 8 1; 1176 | #X connect 8 0 3 0; 1177 | #X restore 17 338 pd handle.incoming; 1178 | #N canvas 783 179 371 285 digital.analog.output 0; 1179 | #X obj 33 15 r \$1.ARDUINO.OUT; 1180 | #X obj 33 219 s \$0.input; 1181 | #X obj 33 37 route digital analog; 1182 | #X obj 223 100 r \$0.mode; 1183 | #X obj 33 190 spigot; 1184 | #X obj 129 188 spigot; 1185 | #X obj 66 145 sel 0; 1186 | #X msg 66 167 1; 1187 | #X msg 93 167 0; 1188 | #X msg 162 163 1; 1189 | #X msg 189 163 0; 1190 | #X obj 162 141 sel 2; 1191 | #X obj 140 115 s \$0.analog; 1192 | #X obj 185 41 r \$0.pin.no; 1193 | #X obj 33 98 route -1; 1194 | #X obj 129 87 route \$2; 1195 | #X connect 0 0 2 0; 1196 | #X connect 2 0 14 0; 1197 | #X connect 2 1 15 0; 1198 | #X connect 3 0 6 0; 1199 | #X connect 3 0 11 0; 1200 | #X connect 4 0 1 0; 1201 | #X connect 5 0 1 0; 1202 | #X connect 6 0 7 0; 1203 | #X connect 6 1 8 0; 1204 | #X connect 7 0 4 1; 1205 | #X connect 8 0 4 1; 1206 | #X connect 9 0 5 1; 1207 | #X connect 10 0 5 1; 1208 | #X connect 11 0 9 0; 1209 | #X connect 11 1 10 0; 1210 | #X connect 13 0 14 1; 1211 | #X connect 14 0 4 0; 1212 | #X connect 15 0 5 0; 1213 | #X connect 15 0 12 0; 1214 | #X restore 17 271 pd digital.analog.output; 1215 | #N canvas 918 231 312 156 switch.click/number 0; 1216 | #X obj 16 119 s \$0.nb.r; 1217 | #X msg 16 93 pos \$1 \$2; 1218 | #X obj 16 9 r \$0.mode; 1219 | #X text 133 34 INPUT \, OUTPUT -> click; 1220 | #X text 133 50 PWM \, SERVO -> value; 1221 | #X obj 139 84 r \$0.ready; 1222 | #X obj 139 106 sel 0; 1223 | #X obj 16 33 sel 3 4; 1224 | #X msg 16 63 22 19; 1225 | #X msg 55 61 42 19; 1226 | #X connect 1 0 0 0; 1227 | #X connect 2 0 7 0; 1228 | #X connect 5 0 6 0; 1229 | #X connect 6 0 8 0; 1230 | #X connect 7 0 8 0; 1231 | #X connect 7 1 8 0; 1232 | #X connect 7 2 9 0; 1233 | #X connect 8 0 1 0; 1234 | #X connect 9 0 1 0; 1235 | #X restore 17 185 pd switch.click/number; 1236 | #X obj 21 19 includes/agop.analog.gop \$0; 1237 | #N canvas 0 43 474 405 query.state 0; 1238 | #X obj 16 14 r \$0.pin.no; 1239 | #X obj 16 59 s \$1.ARDUINO.TO; 1240 | #X obj 16 91 r \$1.ARDUINO.INFO; 1241 | #X msg 16 37 pinState \$1; 1242 | #X obj 16 115 route pinState; 1243 | #X obj 16 157 route -1; 1244 | #X obj 61 136 r \$0.pin.no; 1245 | #X obj 16 183 list; 1246 | #X obj 92 270 select DIGITAL_INPUT DIGITAL_OUTPUT ANALOG_INPUT PWM 1247 | SERVO; 1248 | #X msg 92 305 0; 1249 | #X msg 161 304 1; 1250 | #X msg 368 304 4; 1251 | #X obj 92 368 s \$0.mode; 1252 | #X obj 73 247 t b a b; 1253 | #X msg 239 157 0; 1254 | #X msg 209 156 1; 1255 | #X obj 209 188 s \$0.block.send; 1256 | #X msg 230 305 -1; 1257 | #X msg 299 306 3; 1258 | #X msg 16 203 \$2 \$1; 1259 | #X obj 16 224 unpack f s; 1260 | #X obj 16 287 s \$0.input; 1261 | #X connect 0 0 3 0; 1262 | #X connect 2 0 4 0; 1263 | #X connect 3 0 1 0; 1264 | #X connect 4 0 5 0; 1265 | #X connect 5 0 7 0; 1266 | #X connect 6 0 5 1; 1267 | #X connect 7 0 19 0; 1268 | #X connect 8 0 9 0; 1269 | #X connect 8 1 10 0; 1270 | #X connect 8 2 17 0; 1271 | #X connect 8 3 18 0; 1272 | #X connect 8 4 11 0; 1273 | #X connect 9 0 12 0; 1274 | #X connect 10 0 12 0; 1275 | #X connect 11 0 12 0; 1276 | #X connect 13 0 15 0; 1277 | #X connect 13 1 8 0; 1278 | #X connect 13 2 14 0; 1279 | #X connect 14 0 16 0; 1280 | #X connect 15 0 16 0; 1281 | #X connect 17 0 12 0; 1282 | #X connect 18 0 12 0; 1283 | #X connect 19 0 20 0; 1284 | #X connect 20 0 21 0; 1285 | #X connect 20 1 13 0; 1286 | #X restore 18 359 pd query.state; 1287 | #X connect 6 0 1 0; 1288 | #X coords 0 -1 1 1 20 14 2 21 19; 1289 | -------------------------------------------------------------------------------- /includes/agop.device.selector.pd: -------------------------------------------------------------------------------- 1 | #N canvas 444 43 741 618 10; 2 | #N canvas 278 280 419 327 slider.wrapper 0; 3 | #X obj 20 255 pack f f f; 4 | #X obj 20 233 - 1; 5 | #X obj 20 167 change; 6 | #X obj 20 208 t a a a; 7 | #X obj 77 231 +; 8 | #X msg 20 277 range \$2 \$1 \, set \$3; 9 | #X obj 20 302 s \$0.selector.r; 10 | #X obj 20 145 div 5; 11 | #X obj 20 187 * 5; 12 | #X obj 92 208 mod 5; 13 | #X obj 48 232 + 5; 14 | #X obj 20 48 max 0; 15 | #X obj 20 74 min 1e+37; 16 | #X obj 139 20 inlet; 17 | #X obj 139 42 route range set; 18 | #X obj 139 67 unpack; 19 | #X obj 203 67 r \$0.sens; 20 | #X obj 139 91 *; 21 | #X obj 172 91 *; 22 | #X obj 172 184 div; 23 | #X obj 172 206 change -1e+37; 24 | #X obj 172 228 outlet; 25 | #X obj 182 121 *; 26 | #X obj 20 120 t a a; 27 | #X obj 20 96 t a a; 28 | #X obj 20 17 r \$0.selector.s; 29 | #X msg 159 278 range 5 -1 \, set 2; 30 | #X obj 159 257 loadbang; 31 | #X connect 0 0 5 0; 32 | #X connect 1 0 0 0; 33 | #X connect 2 0 8 0; 34 | #X connect 3 0 1 0; 35 | #X connect 3 1 10 0; 36 | #X connect 3 2 4 0; 37 | #X connect 4 0 0 2; 38 | #X connect 5 0 6 0; 39 | #X connect 7 0 2 0; 40 | #X connect 8 0 3 0; 41 | #X connect 9 0 4 1; 42 | #X connect 10 0 0 1; 43 | #X connect 11 0 12 0; 44 | #X connect 12 0 24 0; 45 | #X connect 13 0 14 0; 46 | #X connect 14 0 15 0; 47 | #X connect 14 1 22 0; 48 | #X connect 15 0 17 0; 49 | #X connect 15 1 18 0; 50 | #X connect 16 0 18 1; 51 | #X connect 16 0 17 1; 52 | #X connect 16 0 19 1; 53 | #X connect 16 0 22 1; 54 | #X connect 17 0 11 1; 55 | #X connect 18 0 12 1; 56 | #X connect 19 0 20 0; 57 | #X connect 20 0 21 0; 58 | #X connect 22 0 23 0; 59 | #X connect 23 0 7 0; 60 | #X connect 23 1 9 0; 61 | #X connect 24 0 23 0; 62 | #X connect 24 1 19 0; 63 | #X connect 25 0 11 0; 64 | #X connect 26 0 6 0; 65 | #X connect 27 0 26 0; 66 | #X restore 21 237 pd slider.wrapper; 67 | #X obj 20 22 vsl 120 7 5 -1 0 0 \$0.selector.s \$0.selector.r 68 | 2 4 0 10 -228856 -228856 -1 300 1; 69 | #X msg 48 350 label \$1; 70 | #X obj 48 373 s \$0.selector.r; 71 | #X obj 21 166 t a a; 72 | #X obj 21 192 list length; 73 | #N canvas 683 62 385 462 list.selector.fields 0; 74 | #N canvas 1158 378 142 254 counter 0; 75 | #X obj 10 12 inlet; 76 | #X msg 38 61 -2; 77 | #X obj 10 83 until; 78 | #X obj 10 105 f; 79 | #X obj 37 106 + 1; 80 | #X obj 10 38 t b b a; 81 | #X obj 10 202 list prepend; 82 | #X obj 10 224 outlet; 83 | #X obj 10 126 t a a; 84 | #X obj 10 181 list append; 85 | #X obj 51 156 + 21; 86 | #X obj 51 133 * 11; 87 | #X msg 10 61 6; 88 | #X connect 0 0 5 0; 89 | #X connect 1 0 3 1; 90 | #X connect 2 0 3 0; 91 | #X connect 3 0 4 0; 92 | #X connect 3 0 8 0; 93 | #X connect 4 0 3 1; 94 | #X connect 5 0 12 0; 95 | #X connect 5 1 1 0; 96 | #X connect 5 2 6 1; 97 | #X connect 6 0 7 0; 98 | #X connect 8 0 9 0; 99 | #X connect 8 1 11 0; 100 | #X connect 9 0 6 0; 101 | #X connect 10 0 9 1; 102 | #X connect 11 0 10 0; 103 | #X connect 12 0 2 0; 104 | #X restore 5 200 pd counter; 105 | #X obj 5 224 t a a; 106 | #X obj 5 442 s; 107 | #X obj 5 246 list trim; 108 | #X obj 159 49 inlet; 109 | #X obj 32 50 del 600; 110 | #X obj 252 72 inlet; 111 | #X msg 5 75 1; 112 | #X msg 32 75 0; 113 | #X obj 5 288 route 1 0; 114 | #N canvas 752 281 288 441 update.labels 0; 115 | #N canvas 646 299 158 272 counter 0; 116 | #X obj 10 12 inlet; 117 | #X msg 10 57 5; 118 | #X msg 38 57 -2; 119 | #X obj 10 79 until; 120 | #X obj 10 101 f; 121 | #X obj 37 102 + 1; 122 | #X obj 10 124 outlet; 123 | #X obj 10 34 t b b; 124 | #X connect 0 0 7 0; 125 | #X connect 1 0 3 0; 126 | #X connect 2 0 4 1; 127 | #X connect 3 0 4 0; 128 | #X connect 4 0 5 0; 129 | #X connect 4 0 6 0; 130 | #X connect 5 0 4 1; 131 | #X connect 7 0 1 0; 132 | #X connect 7 1 2 0; 133 | #X restore -47 75 pd counter; 134 | #X obj -47 31 t b a; 135 | #X obj -47 97 list append; 136 | #X obj -47 7 inlet; 137 | #X obj 97 9 inlet; 138 | #X obj -47 119 t a a; 139 | #X msg 16 124 \$1 \$2; 140 | #X obj 16 146 +; 141 | #X obj -47 171 list append; 142 | #X obj -47 193 t a a; 143 | #N canvas 781 423 450 300 get.label.from.id 0; 144 | #X obj 68 94 t b a; 145 | #X obj 68 140 list split; 146 | #X obj 68 118 list append; 147 | #X obj 153 227 list split 1; 148 | #X obj 68 66 - 1; 149 | #X obj 29 42 moses 1; 150 | #X msg 125 168 symbol empty; 151 | #X obj 96 201 route bang; 152 | #X obj 153 250 outlet; 153 | #X obj 29 18 inlet; 154 | #X obj 232 28 inlet; 155 | #X connect 0 0 2 0; 156 | #X connect 0 1 1 1; 157 | #X connect 1 1 7 0; 158 | #X connect 1 2 6 0; 159 | #X connect 2 0 1 0; 160 | #X connect 3 0 8 0; 161 | #X connect 4 0 0 0; 162 | #X connect 5 0 6 0; 163 | #X connect 5 1 4 0; 164 | #X connect 6 0 8 0; 165 | #X connect 7 0 6 0; 166 | #X connect 7 1 3 0; 167 | #X connect 9 0 5 0; 168 | #X connect 10 0 2 1; 169 | #X restore -20 241 pd get.label.from.id; 170 | #X obj -47 266 list append; 171 | #X msg -20 218 \$3; 172 | #X obj -20 310 list prepend \$0; 173 | #X msg -20 332 \; \$1.field.\$2.r label \$5; 174 | #X obj -47 288 t a a; 175 | #X obj -47 365 route 0; 176 | #X msg -47 385 symbol \$3; 177 | #X obj -47 407 outlet; 178 | #X connect 0 0 2 0; 179 | #X connect 1 0 0 0; 180 | #X connect 1 1 2 1; 181 | #X connect 2 0 5 0; 182 | #X connect 3 0 1 0; 183 | #X connect 4 0 10 1; 184 | #X connect 5 0 8 0; 185 | #X connect 5 1 6 0; 186 | #X connect 6 0 7 0; 187 | #X connect 7 0 8 1; 188 | #X connect 8 0 9 0; 189 | #X connect 9 0 11 0; 190 | #X connect 9 1 12 0; 191 | #X connect 10 0 11 1; 192 | #X connect 11 0 15 0; 193 | #X connect 12 0 10 0; 194 | #X connect 13 0 14 0; 195 | #X connect 15 0 16 0; 196 | #X connect 15 1 13 0; 197 | #X connect 16 0 17 0; 198 | #X connect 17 0 18 0; 199 | #X restore 159 95 pd update.labels; 200 | #X obj 32 398 list prepend \$0; 201 | #X msg 32 420 symbol \$1.field.\$3.r; 202 | #X obj 5 333 route 3; 203 | #X obj 126 271 outlet; 204 | #X obj 5 28 t b b; 205 | #X obj 5 97 change; 206 | #X obj 5 5 r \$0.selector.s; 207 | #X obj 159 69 f; 208 | #X msg 159 139 symbol empty; 209 | #N canvas 842 395 450 300 init.cnvs 0; 210 | #X obj 15 184 list prepend \$0; 211 | #X msg 120 137 -187246; 212 | #X msg 42 138 -233017; 213 | #X obj 15 97 t a a; 214 | #X obj 15 163 list append; 215 | #X obj 42 117 sel 0 3; 216 | #X msg 92 137 -1; 217 | #X msg 15 75 3 \, -2 \, -1 \, 1 \, 2 \, 0; 218 | #X obj 15 28 spigot 1; 219 | #X msg 93 45 0; 220 | #X obj 15 50 t b b; 221 | #X obj 15 6 r \$0.selector.s; 222 | #X obj 15 240 s \$0.goparea; 223 | #X msg 15 206 obj 138 21 cnv 1 1 1 empty \$1.field.\$2.r empty 1 5 224 | 0 10 \$3 -1 0; 225 | #X connect 0 0 13 0; 226 | #X connect 1 0 4 1; 227 | #X connect 2 0 4 1; 228 | #X connect 3 0 4 0; 229 | #X connect 3 1 5 0; 230 | #X connect 4 0 0 0; 231 | #X connect 5 0 2 0; 232 | #X connect 5 1 6 0; 233 | #X connect 5 2 1 0; 234 | #X connect 6 0 4 1; 235 | #X connect 7 0 3 0; 236 | #X connect 8 0 10 0; 237 | #X connect 9 0 8 1; 238 | #X connect 10 0 7 0; 239 | #X connect 10 1 9 0; 240 | #X connect 11 0 8 0; 241 | #X connect 13 0 12 0; 242 | #X restore 277 12 pd init.cnvs; 243 | #X obj 159 117 select -------; 244 | #X obj 126 162 symbol; 245 | #X obj 107 94 sel 1 0; 246 | #X obj 126 183 t a a; 247 | #X obj 269 217 symbol; 248 | #X msg 269 239 show \$1; 249 | #X msg 126 249 select \$1; 250 | #X obj 242 194 del 0; 251 | #X obj 126 205 sel -------; 252 | #X obj 126 227 t a a; 253 | #X obj 301 72 inlet; 254 | #X obj 242 173 t b b; 255 | #X obj 242 151 r \$0.show.s; 256 | #X obj 5 118 t a a a; 257 | #X obj 44 139 sel 1; 258 | #X obj 23 171 s \$0.refresh; 259 | #X msg 39 313 pos 138 21 \, vis_size 1 1 \, label empty \, size 1; 260 | #X msg 44 358 pos 21 \$2 \, vis_size 118 10; 261 | #X msg 5 377 pos 19 -3 \, vis_size 122 58; 262 | #X msg 278 102 symbol _; 263 | #X connect 0 0 1 0; 264 | #X connect 1 0 3 0; 265 | #X connect 1 1 11 0; 266 | #X connect 3 0 9 0; 267 | #X connect 4 0 18 0; 268 | #X connect 5 0 8 0; 269 | #X connect 6 0 10 1; 270 | #X connect 7 0 16 0; 271 | #X connect 8 0 16 0; 272 | #X connect 9 0 13 0; 273 | #X connect 9 1 37 0; 274 | #X connect 10 0 21 0; 275 | #X connect 11 0 12 0; 276 | #X connect 12 0 2 1; 277 | #X connect 13 0 39 0; 278 | #X connect 13 1 38 0; 279 | #X connect 15 0 7 0; 280 | #X connect 15 1 5 0; 281 | #X connect 16 0 34 0; 282 | #X connect 17 0 15 0; 283 | #X connect 18 0 10 0; 284 | #X connect 19 0 22 1; 285 | #X connect 21 0 19 0; 286 | #X connect 21 1 22 1; 287 | #X connect 22 0 24 0; 288 | #X connect 23 0 18 0; 289 | #X connect 23 1 22 0; 290 | #X connect 24 0 29 0; 291 | #X connect 24 1 25 1; 292 | #X connect 25 0 26 0; 293 | #X connect 26 0 14 0; 294 | #X connect 27 0 14 0; 295 | #X connect 28 0 8 0; 296 | #X connect 29 1 30 0; 297 | #X connect 30 0 27 0; 298 | #X connect 30 1 29 1; 299 | #X connect 31 0 40 0; 300 | #X connect 32 0 28 0; 301 | #X connect 32 1 25 0; 302 | #X connect 33 0 32 0; 303 | #X connect 34 0 23 0; 304 | #X connect 34 1 0 0; 305 | #X connect 34 2 35 0; 306 | #X connect 35 0 36 0; 307 | #X connect 37 0 2 0; 308 | #X connect 38 0 2 0; 309 | #X connect 39 0 2 0; 310 | #X connect 40 0 29 1; 311 | #X restore 21 261 pd list.selector.fields; 312 | #X msg 21 214 range 1 \$1; 313 | #X obj 21 285 route select; 314 | #X obj 21 306 list; 315 | #X obj 21 95 list prepend -------; 316 | #X obj 231 46 namecanvas \$0.goparea; 317 | #N canvas 978 347 154 108 INIT 0; 318 | #X obj 10 10 loadbang; 319 | #X obj 10 32 \$0; 320 | #X msg 10 54 \; \$1.sens 5 \;; 321 | #X connect 0 0 1 0; 322 | #X connect 1 0 2 0; 323 | #X restore 231 24 pd INIT; 324 | #X obj 21 328 t a a; 325 | #N canvas 813 433 239 282 get.device.list 0; 326 | #X obj -102 108 r \$1.ARDUINO.INFO; 327 | #X msg -103 61 ports; 328 | #X obj -122 15 inlet; 329 | #X obj -102 130 route ports; 330 | #X obj -122 37 t b b b; 331 | #X msg -102 152 symbol \$2; 332 | #X obj -102 177 list prepend; 333 | #X obj -10 176 t a; 334 | #X obj -122 206 list append; 335 | #X obj 18 127 t b; 336 | #X obj -122 235 outlet; 337 | #X obj -103 85 s \$1.ARDUINO.TO; 338 | #X connect 0 0 3 0; 339 | #X connect 1 0 11 0; 340 | #X connect 2 0 4 0; 341 | #X connect 3 0 5 0; 342 | #X connect 4 0 8 0; 343 | #X connect 4 1 1 0; 344 | #X connect 4 2 9 0; 345 | #X connect 5 0 6 0; 346 | #X connect 6 0 7 0; 347 | #X connect 6 0 8 1; 348 | #X connect 7 0 6 1; 349 | #X connect 8 0 10 0; 350 | #X connect 9 0 6 1; 351 | #X connect 9 0 8 1; 352 | #X restore 21 71 pd get.device.list; 353 | #X obj 21 47 r \$0.refresh; 354 | #X msg 276 418 devicename \$1; 355 | #X msg 21 425 close; 356 | #X msg 456 511 1; 357 | #X msg 420 514 0; 358 | #X msg 496 540 serial.com \$1; 359 | #X obj 496 577 s \$1.ARDUINO.INTERN; 360 | #X obj 21 553 s \$1.ARDUINO.TO; 361 | #X obj 233 137 s \$0.selector.r; 362 | #X obj 233 88 loadbang; 363 | #X msg 233 114 label ; 364 | #N canvas 919 232 262 586 handle.incoming 0; 365 | #N canvas 813 461 184 226 get.device.list 0; 366 | #X obj -121 90 r \$1.ARDUINO.INFO; 367 | #X msg -122 43 ports; 368 | #X obj -122 15 inlet; 369 | #X obj -121 112 route ports; 370 | #X obj -121 138 outlet; 371 | #X obj -122 67 s \$1.ARDUINO.TO; 372 | #X connect 0 0 3 0; 373 | #X connect 1 0 5 0; 374 | #X connect 2 0 1 0; 375 | #X connect 3 0 4 0; 376 | #X restore 31 186 pd get.device.list; 377 | #X obj 31 230 list prepend 0; 378 | #X obj 14 62 t a b; 379 | #X obj 67 64 t a b; 380 | #X msg 94 86 1; 381 | #X msg 41 86 0; 382 | #X obj 31 250 route 0 1; 383 | #X obj 14 112 list; 384 | #X obj 31 303 sel 0; 385 | #X msg 31 273 \$1; 386 | #X msg 73 279 symbol \$2; 387 | #X obj 73 303 sel _; 388 | #X obj 48 159 route float symbol; 389 | #X obj 31 208 t a a; 390 | #X msg 164 278 symbol \$2; 391 | #X obj 31 334 symbol; 392 | #X msg 58 377 label \$1; 393 | #X obj 58 400 s \$0.selector.r; 394 | #X obj 31 356 t b a; 395 | #X obj 14 18 r \$1.ARDUINO.IN; 396 | #X obj 14 40 route open devicename close; 397 | #X msg 120 428 0; 398 | #X msg 31 397 1; 399 | #X obj 14 458 outlet; 400 | #X obj 14 425 f; 401 | #X obj 14 134 t b b a b; 402 | #X msg 232 279 0; 403 | #X connect 0 0 13 0; 404 | #X connect 1 0 6 0; 405 | #X connect 2 0 7 0; 406 | #X connect 2 1 5 0; 407 | #X connect 3 0 7 0; 408 | #X connect 3 1 4 0; 409 | #X connect 4 0 1 1; 410 | #X connect 5 0 1 1; 411 | #X connect 6 0 9 0; 412 | #X connect 6 1 10 0; 413 | #X connect 7 0 25 0; 414 | #X connect 8 0 15 0; 415 | #X connect 9 0 8 0; 416 | #X connect 10 0 11 0; 417 | #X connect 11 0 15 0; 418 | #X connect 12 0 8 1; 419 | #X connect 12 1 11 1; 420 | #X connect 13 0 1 0; 421 | #X connect 13 1 14 0; 422 | #X connect 14 0 15 1; 423 | #X connect 15 0 18 0; 424 | #X connect 16 0 17 0; 425 | #X connect 18 0 22 0; 426 | #X connect 18 1 16 0; 427 | #X connect 19 0 20 0; 428 | #X connect 20 0 2 0; 429 | #X connect 20 1 3 0; 430 | #X connect 20 2 21 0; 431 | #X connect 21 0 23 0; 432 | #X connect 22 0 24 1; 433 | #X connect 24 0 23 0; 434 | #X connect 25 0 24 0; 435 | #X connect 25 1 0 0; 436 | #X connect 25 2 12 0; 437 | #X connect 25 3 26 0; 438 | #X connect 26 0 24 1; 439 | #X restore 496 199 pd handle.incoming; 440 | #X msg 186 529 emulate \$1; 441 | #X msg 214 503 1; 442 | #X msg 186 503 0; 443 | #X obj 21 448 t a b b; 444 | #X obj 496 376 t a a; 445 | #X obj 523 431 sel 1; 446 | #X obj 276 440 t a b b; 447 | #X obj 496 221 t a b; 448 | #X obj 27 117 list append emulation_(v2.2); 449 | #X obj 27 139 list append emulation_(v2.3); 450 | #X obj 21 395 sel empty emulation_(v2.2) emulation_(v2.3); 451 | #X obj 106 428 t b b b; 452 | #X obj 191 422 t b b b; 453 | #X msg 309 279 2 3; 454 | #X msg 309 308 version \$1 \$2; 455 | #X obj 309 330 s \$1.ARDUINO.INFO; 456 | #X msg 277 279 2 2; 457 | #X connect 0 0 6 0; 458 | #X connect 2 0 3 0; 459 | #X connect 4 0 5 0; 460 | #X connect 4 1 6 1; 461 | #X connect 5 0 7 0; 462 | #X connect 6 0 8 0; 463 | #X connect 7 0 0 0; 464 | #X connect 8 0 9 0; 465 | #X connect 9 0 13 0; 466 | #X connect 10 0 4 0; 467 | #X connect 13 0 37 0; 468 | #X connect 13 1 2 0; 469 | #X connect 14 0 10 0; 470 | #X connect 15 0 14 0; 471 | #X connect 16 0 33 0; 472 | #X connect 17 0 30 0; 473 | #X connect 18 0 20 0; 474 | #X connect 19 0 20 0; 475 | #X connect 20 0 21 0; 476 | #X connect 24 0 25 0; 477 | #X connect 25 0 23 0; 478 | #X connect 26 0 34 0; 479 | #X connect 27 0 21 0; 480 | #X connect 28 0 27 0; 481 | #X connect 29 0 27 0; 482 | #X connect 30 0 22 0; 483 | #X connect 30 1 19 0; 484 | #X connect 30 2 29 0; 485 | #X connect 31 0 20 0; 486 | #X connect 31 1 32 0; 487 | #X connect 32 0 29 0; 488 | #X connect 33 0 22 0; 489 | #X connect 33 1 18 0; 490 | #X connect 33 2 29 0; 491 | #X connect 34 0 31 0; 492 | #X connect 34 1 6 2; 493 | #X connect 35 0 36 0; 494 | #X connect 37 0 17 0; 495 | #X connect 37 1 38 0; 496 | #X connect 37 2 39 0; 497 | #X connect 37 3 16 0; 498 | #X connect 38 0 43 0; 499 | #X connect 38 1 18 0; 500 | #X connect 38 2 28 0; 501 | #X connect 39 0 40 0; 502 | #X connect 39 1 18 0; 503 | #X connect 39 2 28 0; 504 | #X connect 40 0 41 0; 505 | #X connect 41 0 42 0; 506 | #X connect 43 0 41 0; 507 | #X coords 0 -1 1 1 120 12 2 20 20; 508 | -------------------------------------------------------------------------------- /includes/agop.digital.gop.pd: -------------------------------------------------------------------------------- 1 | #N canvas 427 43 295 202 10; 2 | #X obj 21 22 cnv 2 1 8 empty \$1.bar empty 20 12 0 14 -3056 -66577 3 | 0; 4 | #X obj 21 19 cnv 8 8 8 empty \$1.show.value empty 25 7 0 12 -1 -258113 5 | 0; 6 | #X obj 21 21 vsl 8 9 10 -4 0 0 \$1.selector.s \$1.selector.r empty 7 | 1 5 0 10 -228856 -228856 -1 171 1; 8 | #X obj 42 19 nbx 1 14 0 100 0 0 \$1.nb.s \$1.nb.r empty 0 -8 0 10 -262144 9 | -1 -1 0 256; 10 | #X obj 29 21 vsl 12 9 0 1 0 0 \$1.sl.s \$1.sl.r 12 1 6 0 9 -233017 11 | -233017 -1 400 1; 12 | #X obj 21 21 vsl 8 9 30 24 0 0 \$1.selector.label.s \$1.selector.label.r 13 | empty 1 5 0 10 -228856 -228856 -1 0 1; 14 | #X obj 17 66 namecanvas \$1.goparea; 15 | #X coords 0 -1 1 1 20 14 2 21 19; 16 | -------------------------------------------------------------------------------- /includes/agop.digital.pin.pd: -------------------------------------------------------------------------------- 1 | #N canvas 904 43 382 392 10; 2 | #N canvas 873 92 430 435 mode.selector 0; 3 | #N canvas 278 280 413 391 slider.wrapper 0; 4 | #X obj 20 285 pack f f f; 5 | #X obj 20 263 - 1; 6 | #X obj 20 197 change; 7 | #X obj 20 238 t a a a; 8 | #X obj 77 261 +; 9 | #X msg 20 307 range \$2 \$1 \, set \$3; 10 | #X obj 20 361 s \$0.selector.r; 11 | #X obj 20 175 div 5; 12 | #X obj 20 217 * 5; 13 | #X obj 92 238 mod 5; 14 | #X obj 48 262 + 5; 15 | #X obj 20 78 max 0; 16 | #X obj 20 104 min 1e+37; 17 | #X obj 139 20 inlet; 18 | #X obj 139 42 route range set; 19 | #X obj 139 67 unpack; 20 | #X obj 203 67 r \$0.sens; 21 | #X obj 139 91 *; 22 | #X obj 172 91 *; 23 | #X obj 205 155 div; 24 | #X obj 205 177 change -1e+37; 25 | #X obj 205 270 outlet; 26 | #X obj 182 121 *; 27 | #X obj 20 150 t a a; 28 | #X obj 20 126 t a a; 29 | #X obj 20 4 r \$0.selector.s; 30 | #X obj 250 205 r \$0.ready; 31 | #X obj 205 247 spigot; 32 | #X msg 259 274 range 10 -4 \, set 7; 33 | #X obj 53 27 r \$0.ready; 34 | #X obj 20 51 spigot; 35 | #X obj 259 239 sel 0; 36 | #X connect 0 0 5 0; 37 | #X connect 1 0 0 0; 38 | #X connect 2 0 8 0; 39 | #X connect 3 0 1 0; 40 | #X connect 3 1 10 0; 41 | #X connect 3 2 4 0; 42 | #X connect 4 0 0 2; 43 | #X connect 5 0 6 0; 44 | #X connect 7 0 2 0; 45 | #X connect 8 0 3 0; 46 | #X connect 9 0 4 1; 47 | #X connect 10 0 0 1; 48 | #X connect 11 0 12 0; 49 | #X connect 12 0 24 0; 50 | #X connect 13 0 14 0; 51 | #X connect 14 0 15 0; 52 | #X connect 14 1 22 0; 53 | #X connect 15 0 17 0; 54 | #X connect 15 1 18 0; 55 | #X connect 16 0 18 1; 56 | #X connect 16 0 17 1; 57 | #X connect 16 0 19 1; 58 | #X connect 16 0 22 1; 59 | #X connect 17 0 11 1; 60 | #X connect 18 0 12 1; 61 | #X connect 19 0 20 0; 62 | #X connect 20 0 27 0; 63 | #X connect 22 0 23 0; 64 | #X connect 23 0 7 0; 65 | #X connect 23 1 9 0; 66 | #X connect 24 0 23 0; 67 | #X connect 24 1 19 0; 68 | #X connect 25 0 30 0; 69 | #X connect 26 0 27 1; 70 | #X connect 26 0 31 0; 71 | #X connect 27 0 21 0; 72 | #X connect 28 0 6 0; 73 | #X connect 29 0 30 1; 74 | #X connect 30 0 11 0; 75 | #X connect 31 0 28 0; 76 | #X restore 23 124 pd slider.wrapper; 77 | #X obj 23 47 t a a; 78 | #X obj 23 77 list length; 79 | #N canvas 874 200 385 462 list.selector.fields 0; 80 | #N canvas 1158 434 142 254 counter 0; 81 | #X obj 10 12 inlet; 82 | #X msg 38 61 -2; 83 | #X obj 10 83 until; 84 | #X obj 10 105 f; 85 | #X obj 37 106 + 1; 86 | #X obj 10 38 t b b a; 87 | #X obj 10 202 list prepend; 88 | #X obj 10 224 outlet; 89 | #X obj 10 126 t a a; 90 | #X obj 10 181 list append; 91 | #X obj 51 156 + 21; 92 | #X obj 51 133 * 11; 93 | #X msg 10 61 6; 94 | #X connect 0 0 5 0; 95 | #X connect 1 0 3 1; 96 | #X connect 2 0 3 0; 97 | #X connect 3 0 4 0; 98 | #X connect 3 0 8 0; 99 | #X connect 4 0 3 1; 100 | #X connect 5 0 12 0; 101 | #X connect 5 1 1 0; 102 | #X connect 5 2 6 1; 103 | #X connect 6 0 7 0; 104 | #X connect 8 0 9 0; 105 | #X connect 8 1 11 0; 106 | #X connect 9 0 6 0; 107 | #X connect 10 0 9 1; 108 | #X connect 11 0 10 0; 109 | #X connect 12 0 2 0; 110 | #X restore 5 200 pd counter; 111 | #X obj 5 224 t a a; 112 | #X obj 5 442 s; 113 | #X obj 5 246 list trim; 114 | #X obj 159 49 inlet; 115 | #X obj 32 82 del 600; 116 | #X obj 252 89 inlet; 117 | #X msg 5 107 1; 118 | #X msg 32 107 0; 119 | #X obj 5 288 route 1 0; 120 | #N canvas 752 421 288 441 update.labels 0; 121 | #N canvas 646 355 158 272 counter 0; 122 | #X obj 10 12 inlet; 123 | #X msg 10 57 5; 124 | #X msg 38 57 -2; 125 | #X obj 10 79 until; 126 | #X obj 10 101 f; 127 | #X obj 37 102 + 1; 128 | #X obj 10 124 outlet; 129 | #X obj 10 34 t b b; 130 | #X connect 0 0 7 0; 131 | #X connect 1 0 3 0; 132 | #X connect 2 0 4 1; 133 | #X connect 3 0 4 0; 134 | #X connect 4 0 5 0; 135 | #X connect 4 0 6 0; 136 | #X connect 5 0 4 1; 137 | #X connect 7 0 1 0; 138 | #X connect 7 1 2 0; 139 | #X restore -47 75 pd counter; 140 | #X obj -47 31 t b a; 141 | #X obj -47 97 list append; 142 | #X obj -47 7 inlet; 143 | #X obj 97 9 inlet; 144 | #X obj -47 119 t a a; 145 | #X msg 16 124 \$1 \$2; 146 | #X obj 16 146 +; 147 | #X obj -47 171 list append; 148 | #X obj -47 193 t a a; 149 | #N canvas 781 423 450 300 get.label.from.id 0; 150 | #X obj 68 94 t b a; 151 | #X obj 68 140 list split; 152 | #X obj 68 118 list append; 153 | #X obj 153 227 list split 1; 154 | #X obj 68 66 - 1; 155 | #X obj 29 42 moses 1; 156 | #X msg 125 168 symbol empty; 157 | #X obj 96 201 route bang; 158 | #X obj 153 250 outlet; 159 | #X obj 29 18 inlet; 160 | #X obj 232 28 inlet; 161 | #X connect 0 0 2 0; 162 | #X connect 0 1 1 1; 163 | #X connect 1 1 7 0; 164 | #X connect 1 2 6 0; 165 | #X connect 2 0 1 0; 166 | #X connect 3 0 8 0; 167 | #X connect 4 0 0 0; 168 | #X connect 5 0 6 0; 169 | #X connect 5 1 4 0; 170 | #X connect 6 0 8 0; 171 | #X connect 7 0 6 0; 172 | #X connect 7 1 3 0; 173 | #X connect 9 0 5 0; 174 | #X connect 10 0 2 1; 175 | #X restore -20 241 pd get.label.from.id; 176 | #X obj -47 266 list append; 177 | #X msg -20 218 \$3; 178 | #X obj -20 310 list prepend \$0; 179 | #X msg -20 332 \; \$1.field.\$2.r label \$5; 180 | #X obj -47 288 t a a; 181 | #X obj -47 365 route 0; 182 | #X msg -47 385 symbol \$3; 183 | #X obj -47 407 outlet; 184 | #X connect 0 0 2 0; 185 | #X connect 1 0 0 0; 186 | #X connect 1 1 2 1; 187 | #X connect 2 0 5 0; 188 | #X connect 3 0 1 0; 189 | #X connect 4 0 10 1; 190 | #X connect 5 0 8 0; 191 | #X connect 5 1 6 0; 192 | #X connect 6 0 7 0; 193 | #X connect 7 0 8 1; 194 | #X connect 8 0 9 0; 195 | #X connect 9 0 11 0; 196 | #X connect 9 1 12 0; 197 | #X connect 10 0 11 1; 198 | #X connect 11 0 15 0; 199 | #X connect 12 0 10 0; 200 | #X connect 13 0 14 0; 201 | #X connect 15 0 16 0; 202 | #X connect 15 1 13 0; 203 | #X connect 16 0 17 0; 204 | #X connect 17 0 18 0; 205 | #X restore 159 112 pd update.labels; 206 | #X obj 32 398 list prepend \$0; 207 | #X msg 32 420 symbol \$1.field.\$3.r; 208 | #X obj 5 333 route 3; 209 | #X obj 5 60 t b b; 210 | #X obj 5 129 change; 211 | #X obj 5 5 r \$0.selector.s; 212 | #X obj 159 69 f; 213 | #N canvas 842 395 450 300 init.cnvs 0; 214 | #X obj 15 214 list prepend \$0; 215 | #X msg 120 167 -187246; 216 | #X msg 42 168 -233017; 217 | #X obj 15 127 t a a; 218 | #X obj 15 193 list append; 219 | #X obj 42 147 sel 0 3; 220 | #X msg 92 167 -1; 221 | #X msg 15 105 3 \, -2 \, -1 \, 1 \, 2 \, 0; 222 | #X obj 15 58 spigot 1; 223 | #X msg 93 75 0; 224 | #X obj 15 80 t b b; 225 | #X obj 15 6 r \$0.selector.s; 226 | #X obj 15 270 s \$0.goparea; 227 | #X msg 15 235 obj 22 20 cnv 1 1 1 empty \$1.field.\$2.r empty 1 5 0 228 | 10 \$3 -1 0; 229 | #X connect 0 0 13 0; 230 | #X connect 1 0 4 1; 231 | #X connect 2 0 4 1; 232 | #X connect 3 0 4 0; 233 | #X connect 3 1 5 0; 234 | #X connect 4 0 0 0; 235 | #X connect 5 0 2 0; 236 | #X connect 5 1 6 0; 237 | #X connect 5 2 1 0; 238 | #X connect 6 0 4 1; 239 | #X connect 7 0 3 0; 240 | #X connect 8 0 10 0; 241 | #X connect 9 0 8 1; 242 | #X connect 10 0 7 0; 243 | #X connect 10 1 9 0; 244 | #X connect 11 0 8 0; 245 | #X connect 13 0 12 0; 246 | #X restore 277 12 pd init.cnvs; 247 | #X obj 107 94 sel 1 0; 248 | #X obj 5 150 t a a a; 249 | #X msg 44 358 pos 21 \$2 \, vis_size 38 10; 250 | #X msg 5 377 pos 19 -3 \, vis_size 42 58; 251 | #X obj 195 221 outlet; 252 | #X msg 39 313 pos 22 20 \, vis_size 1 1 \, label empty \, size 1; 253 | #X obj 126 152 symbol; 254 | #X obj 126 175 select dummy; 255 | #X obj 195 199 t a a; 256 | #X obj 5 27 spigot; 257 | #X obj 60 28 r \$0.ready; 258 | #X connect 0 0 1 0; 259 | #X connect 1 0 3 0; 260 | #X connect 1 1 11 0; 261 | #X connect 3 0 9 0; 262 | #X connect 4 0 17 0; 263 | #X connect 5 0 8 0; 264 | #X connect 6 0 10 1; 265 | #X connect 7 0 15 0; 266 | #X connect 8 0 15 0; 267 | #X connect 9 0 13 0; 268 | #X connect 9 1 24 0; 269 | #X connect 10 0 25 1; 270 | #X connect 11 0 12 0; 271 | #X connect 12 0 2 1; 272 | #X connect 13 0 22 0; 273 | #X connect 13 1 21 0; 274 | #X connect 14 0 7 0; 275 | #X connect 14 1 5 0; 276 | #X connect 15 0 20 0; 277 | #X connect 16 0 28 0; 278 | #X connect 17 0 10 0; 279 | #X connect 19 0 17 0; 280 | #X connect 19 1 25 0; 281 | #X connect 20 0 19 0; 282 | #X connect 20 1 0 0; 283 | #X connect 21 0 2 0; 284 | #X connect 22 0 2 0; 285 | #X connect 24 0 2 0; 286 | #X connect 25 0 26 0; 287 | #X connect 26 1 27 0; 288 | #X connect 27 0 23 0; 289 | #X connect 27 1 26 1; 290 | #X connect 28 0 14 0; 291 | #X connect 29 0 28 1; 292 | #X restore 23 146 pd list.selector.fields; 293 | #X msg 23 100 range 1 \$1; 294 | #X msg 174 338 label \$1; 295 | #X obj 174 314 symbol; 296 | #X obj 174 361 s \$0.selector.label.r; 297 | #X obj 23 256 s \$0.mode; 298 | #X obj 23 12 inlet; 299 | #X msg 23 203 0; 300 | #X msg 59 203 1; 301 | #X msg 132 203 3; 302 | #X msg 169 203 4; 303 | #X obj 208 90 r \$0.ready; 304 | #X obj 207 8 loadbang; 305 | #X obj 207 30 \$0; 306 | #X msg 207 52 \; \$1.sens 5 \;; 307 | #X obj 208 112 sel 0 1; 308 | #X obj 174 239 r \$0.mode; 309 | #X msg 174 285 I; 310 | #X msg 202 285 O; 311 | #X msg 231 285 A; 312 | #X obj 174 259 sel 0 1 2 3 4 -1; 313 | #X msg 260 285 P; 314 | #X msg 288 285 S; 315 | #X msg 96 202 2; 316 | #X obj 23 182 sel INPUT OUTPUT ANALOG PWM SERVO OFF; 317 | #X msg 205 204 -1; 318 | #X msg 318 286 empty; 319 | #X connect 0 0 3 0; 320 | #X connect 1 0 2 0; 321 | #X connect 1 1 3 1; 322 | #X connect 2 0 4 0; 323 | #X connect 3 0 27 0; 324 | #X connect 4 0 0 0; 325 | #X connect 5 0 7 0; 326 | #X connect 6 0 5 0; 327 | #X connect 9 0 1 0; 328 | #X connect 10 0 8 0; 329 | #X connect 11 0 8 0; 330 | #X connect 12 0 8 0; 331 | #X connect 13 0 8 0; 332 | #X connect 14 0 18 0; 333 | #X connect 15 0 16 0; 334 | #X connect 16 0 17 0; 335 | #X connect 18 1 11 0; 336 | #X connect 19 0 23 0; 337 | #X connect 20 0 6 0; 338 | #X connect 21 0 6 0; 339 | #X connect 22 0 6 0; 340 | #X connect 23 0 20 0; 341 | #X connect 23 1 21 0; 342 | #X connect 23 2 22 0; 343 | #X connect 23 3 24 0; 344 | #X connect 23 4 25 0; 345 | #X connect 23 5 29 0; 346 | #X connect 24 0 6 0; 347 | #X connect 25 0 6 0; 348 | #X connect 26 0 8 0; 349 | #X connect 27 0 10 0; 350 | #X connect 27 1 11 0; 351 | #X connect 27 2 26 0; 352 | #X connect 27 3 12 0; 353 | #X connect 27 4 13 0; 354 | #X connect 27 5 28 0; 355 | #X connect 28 0 8 0; 356 | #X connect 29 0 6 0; 357 | #X restore 17 141 pd mode.selector; 358 | #N canvas 921 241 312 156 switch.click/number 0; 359 | #X obj 16 119 s \$0.nb.r; 360 | #X msg 16 93 pos \$1 \$2; 361 | #X obj 16 9 r \$0.mode; 362 | #X text 133 34 INPUT \, OUTPUT -> click; 363 | #X text 133 50 PWM \, SERVO -> value; 364 | #X obj 139 84 r \$0.ready; 365 | #X obj 139 106 sel 0; 366 | #X obj 16 33 sel 3 4; 367 | #X msg 16 63 22 19; 368 | #X msg 55 61 42 19; 369 | #X connect 1 0 0 0; 370 | #X connect 2 0 7 0; 371 | #X connect 5 0 6 0; 372 | #X connect 6 0 9 0; 373 | #X connect 7 0 8 0; 374 | #X connect 7 1 8 0; 375 | #X connect 7 2 9 0; 376 | #X connect 8 0 1 0; 377 | #X connect 9 0 1 0; 378 | #X restore 17 185 pd switch.click/number; 379 | #N canvas 804 114 411 326 pin.no.label 0; 380 | #X obj 14 105 s \$0.sl.r; 381 | #X obj 14 62 makefilename %2d; 382 | #X msg 14 84 label \$1; 383 | #X obj 14 16 loadbang; 384 | #X obj 14 38 f \$2; 385 | #X msg 78 84 label empty; 386 | #X obj 184 19 r \$0.ready; 387 | #X obj 184 64 f \$2; 388 | #X obj 184 41 sel 1; 389 | #X obj 184 89 tabread \$1.PIN.ALIAS.MAPPING; 390 | #X obj 184 109 t a a; 391 | #X obj 211 128 s \$0.alias.pin.no; 392 | #X obj 184 154 tabread \$1.DIGITAL.ANALOG.MAPPING; 393 | #X obj 184 186 s \$0.analog.pin.no; 394 | #X connect 1 0 2 0; 395 | #X connect 2 0 0 0; 396 | #X connect 3 0 4 0; 397 | #X connect 4 0 1 0; 398 | #X connect 5 0 0 0; 399 | #X connect 6 0 8 0; 400 | #X connect 7 0 9 0; 401 | #X connect 8 0 7 0; 402 | #X connect 9 0 10 0; 403 | #X connect 10 0 12 0; 404 | #X connect 10 1 11 0; 405 | #X connect 12 0 13 0; 406 | #X restore 17 163 pd pin.no.label; 407 | #N canvas 916 177 486 480 show.value 0; 408 | #X obj 21 96 * 0.01; 409 | #X obj 130 43 loadbang; 410 | #X msg 130 65 32; 411 | #X obj 130 87 makefilename %c; 412 | #X obj 21 149 pack f s; 413 | #X obj 58 428 s \$0.show.value; 414 | #X obj 21 43 r \$0.nb.s; 415 | #X obj 21 65 t a b; 416 | #X obj 107 146 del 1000; 417 | #X msg 197 168 set 0; 418 | #X obj 197 146 r \$0.mode; 419 | #X obj 197 192 s \$0.nb.r; 420 | #X obj 325 10 r \$0.toggle; 421 | #X obj 394 50 r \$0.mode; 422 | #X obj 325 71 list prepend; 423 | #X obj 378 212 sel 0 1; 424 | #X msg 378 236 LOW; 425 | #X msg 404 236 HIGH; 426 | #X msg 21 175 \$1\$2; 427 | #X msg 107 175 empty; 428 | #X obj 352 137 sel 0 1; 429 | #X msg 352 159 PULL_UP_OFF; 430 | #X msg 371 179 PULL_UP_ON; 431 | #X obj 325 93 t b a; 432 | #X obj 352 113 route 0 1; 433 | #X obj 324 279 r \$0.block.send; 434 | #X obj 324 326 sel 1; 435 | #X obj 31 293 route refresh; 436 | #X obj 31 271 r \$1.ARDUINO.INTERN; 437 | #X obj 31 315 b; 438 | #X obj 31 361 sel _; 439 | #X obj 58 383 t a a; 440 | #X obj 31 339 symbol empty; 441 | #X msg 58 407 label \$1; 442 | #X obj 170 289 spigot 1; 443 | #X obj 170 311 symbol; 444 | #X obj 324 301 t a a; 445 | #X connect 0 0 4 0; 446 | #X connect 1 0 2 0; 447 | #X connect 2 0 3 0; 448 | #X connect 3 0 4 1; 449 | #X connect 4 0 18 0; 450 | #X connect 6 0 7 0; 451 | #X connect 7 0 0 0; 452 | #X connect 7 1 8 0; 453 | #X connect 8 0 19 0; 454 | #X connect 9 0 11 0; 455 | #X connect 10 0 9 0; 456 | #X connect 10 0 19 0; 457 | #X connect 12 0 14 0; 458 | #X connect 13 0 14 1; 459 | #X connect 14 0 23 0; 460 | #X connect 15 0 16 0; 461 | #X connect 15 1 17 0; 462 | #X connect 16 0 34 0; 463 | #X connect 17 0 34 0; 464 | #X connect 18 0 34 0; 465 | #X connect 19 0 34 0; 466 | #X connect 20 0 21 0; 467 | #X connect 20 1 22 0; 468 | #X connect 21 0 34 0; 469 | #X connect 22 0 34 0; 470 | #X connect 23 0 8 0; 471 | #X connect 23 1 24 0; 472 | #X connect 24 0 20 0; 473 | #X connect 24 1 15 0; 474 | #X connect 25 0 36 0; 475 | #X connect 26 0 19 0; 476 | #X connect 27 0 29 0; 477 | #X connect 28 0 27 0; 478 | #X connect 29 0 32 0; 479 | #X connect 30 1 31 0; 480 | #X connect 31 0 33 0; 481 | #X connect 31 1 30 1; 482 | #X connect 32 0 30 0; 483 | #X connect 33 0 5 0; 484 | #X connect 34 0 35 0; 485 | #X connect 35 0 32 1; 486 | #X connect 36 0 26 0; 487 | #X connect 36 1 34 1; 488 | #X restore 17 207 pd show.value; 489 | #N canvas 1133 258 336 455 color.indicator 0; 490 | #N canvas 1083 93 231 303 color.blender 0; 491 | #N canvas 1144 174 166 250 blend 0; 492 | #X obj 12 12 inlet; 493 | #X obj 12 207 outlet; 494 | #X obj 67 11 inlet; 495 | #X obj 27 109 -; 496 | #X obj 12 130 *; 497 | #X obj 67 32 t a a; 498 | #X obj 12 176 int; 499 | #X msg 27 87 255 \$1; 500 | #X obj 12 152 +; 501 | #X obj 12 34 * -1; 502 | #X obj 12 56 + 1; 503 | #X connect 0 0 9 0; 504 | #X connect 2 0 5 0; 505 | #X connect 3 0 4 1; 506 | #X connect 4 0 8 0; 507 | #X connect 5 0 7 0; 508 | #X connect 5 1 8 1; 509 | #X connect 6 0 1 0; 510 | #X connect 7 0 3 0; 511 | #X connect 8 0 6 0; 512 | #X connect 9 0 10 0; 513 | #X connect 10 0 4 0; 514 | #X restore 29 104 pd blend; 515 | #N canvas 1144 153 166 250 blend 0; 516 | #X obj 12 12 inlet; 517 | #X obj 12 207 outlet; 518 | #X obj 67 11 inlet; 519 | #X obj 27 109 -; 520 | #X obj 12 130 *; 521 | #X obj 67 32 t a a; 522 | #X obj 12 176 int; 523 | #X msg 27 87 255 \$1; 524 | #X obj 12 152 +; 525 | #X obj 12 34 * -1; 526 | #X obj 12 56 + 1; 527 | #X connect 0 0 9 0; 528 | #X connect 2 0 5 0; 529 | #X connect 3 0 4 1; 530 | #X connect 4 0 8 0; 531 | #X connect 5 0 7 0; 532 | #X connect 5 1 8 1; 533 | #X connect 6 0 1 0; 534 | #X connect 7 0 3 0; 535 | #X connect 8 0 6 0; 536 | #X connect 9 0 10 0; 537 | #X connect 10 0 4 0; 538 | #X restore 86 104 pd blend; 539 | #N canvas 1144 153 166 250 blend 0; 540 | #X obj 12 12 inlet; 541 | #X obj 12 207 outlet; 542 | #X obj 67 11 inlet; 543 | #X obj 27 109 -; 544 | #X obj 12 130 *; 545 | #X obj 67 32 t a a; 546 | #X obj 12 176 int; 547 | #X msg 27 87 255 \$1; 548 | #X obj 12 152 +; 549 | #X obj 12 34 * -1; 550 | #X obj 12 56 + 1; 551 | #X connect 0 0 9 0; 552 | #X connect 2 0 5 0; 553 | #X connect 3 0 4 1; 554 | #X connect 4 0 8 0; 555 | #X connect 5 0 7 0; 556 | #X connect 5 1 8 1; 557 | #X connect 6 0 1 0; 558 | #X connect 7 0 3 0; 559 | #X connect 8 0 6 0; 560 | #X connect 9 0 10 0; 561 | #X connect 10 0 4 0; 562 | #X restore 142 104 pd blend; 563 | #X obj 29 23 inlet; 564 | #X obj 29 264 outlet; 565 | #X obj 118 23 inlet; 566 | #X obj 118 45 unpack f f f; 567 | #X obj 29 53 t a a a; 568 | #X obj 86 143 << 8; 569 | #X obj 29 143 << 16; 570 | #X obj 29 200 +; 571 | #X obj 86 172 +; 572 | #X obj 29 220 * -1; 573 | #X obj 29 241 - 1; 574 | #X connect 0 0 9 0; 575 | #X connect 1 0 8 0; 576 | #X connect 2 0 11 1; 577 | #X connect 3 0 7 0; 578 | #X connect 5 0 6 0; 579 | #X connect 6 0 0 1; 580 | #X connect 6 1 1 1; 581 | #X connect 6 2 2 1; 582 | #X connect 7 0 0 0; 583 | #X connect 7 1 1 0; 584 | #X connect 7 2 2 0; 585 | #X connect 8 0 11 0; 586 | #X connect 9 0 10 0; 587 | #X connect 10 0 12 0; 588 | #X connect 11 0 10 1; 589 | #X connect 12 0 13 0; 590 | #X connect 13 0 4 0; 591 | #X restore 38 238 pd color.blender; 592 | #X obj 38 282 s \$0.sl.r; 593 | #X msg 38 260 color \$1 \$1 -1; 594 | #X obj 92 15 r \$0.mode; 595 | #X obj 16 14 r \$0.nb.s; 596 | #X obj 16 36 * 0.01; 597 | #X obj 4 78 r \$0.toggle; 598 | #X obj 38 189 + 0.1; 599 | #X obj 38 167 * 0.9; 600 | #X obj 4 419 s \$0.pull.up.r; 601 | #X msg 35 372 30; 602 | #X obj 4 347 sel 0 1; 603 | #X msg 4 397 pos \$1 20 \, size 1 \, vis_size 4 1; 604 | #X msg 4 373 25; 605 | #X obj 4 108 list prepend; 606 | #X obj 4 324 change; 607 | #X obj 97 329 r \$0.mode; 608 | #X msg 124 372 0; 609 | #X obj 4 130 route 0 1; 610 | #X obj 97 351 sel 0; 611 | #X obj 78 131 r \$0.input; 612 | #X obj 185 239 r \$0.ready; 613 | #X obj 185 261 sel 0; 614 | #X msg 185 304 40; 615 | #X obj 185 283 del 0; 616 | #N canvas 539 716 176 225 rate.limit 0; 617 | #X obj 129 52 inlet; 618 | #X obj 19 150 outlet; 619 | #X obj 19 47 route refresh; 620 | #X obj 19 69 b; 621 | #X obj 19 91 f; 622 | #X obj 19 126 change -1; 623 | #X obj 19 25 r \$1.ARDUINO.INTERN; 624 | #X obj 96 119 r \$0.mode; 625 | #X msg 96 141 set -1; 626 | #X connect 0 0 4 1; 627 | #X connect 2 0 3 0; 628 | #X connect 3 0 4 0; 629 | #X connect 4 0 5 0; 630 | #X connect 5 0 1 0; 631 | #X connect 6 0 2 0; 632 | #X connect 7 0 8 0; 633 | #X connect 8 0 5 0; 634 | #X restore 38 215 pd rate.limit; 635 | #X obj 92 37 t a b a; 636 | #X msg 97 79 0; 637 | #X msg 131 87 210 0 255; 638 | #X msg 146 112 0 200 0; 639 | #X msg 208 213 224 224 224; 640 | #X msg 162 136 0 190 190; 641 | #X msg 193 186 255 140 0; 642 | #X msg 177 160 0 0 220; 643 | #X obj 131 61 sel 0 1 2 3 4 -1; 644 | #X connect 0 0 2 0; 645 | #X connect 2 0 1 0; 646 | #X connect 3 0 26 0; 647 | #X connect 4 0 5 0; 648 | #X connect 5 0 8 0; 649 | #X connect 6 0 14 0; 650 | #X connect 7 0 25 0; 651 | #X connect 8 0 7 0; 652 | #X connect 10 0 12 0; 653 | #X connect 11 0 13 0; 654 | #X connect 11 1 10 0; 655 | #X connect 12 0 9 0; 656 | #X connect 13 0 12 0; 657 | #X connect 14 0 18 0; 658 | #X connect 15 0 11 0; 659 | #X connect 16 0 19 0; 660 | #X connect 17 0 15 0; 661 | #X connect 18 0 15 0; 662 | #X connect 18 1 8 0; 663 | #X connect 19 1 17 0; 664 | #X connect 20 0 8 0; 665 | #X connect 21 0 22 0; 666 | #X connect 22 0 24 0; 667 | #X connect 23 0 2 0; 668 | #X connect 24 0 23 0; 669 | #X connect 25 0 0 0; 670 | #X connect 26 0 14 1; 671 | #X connect 26 1 27 0; 672 | #X connect 26 2 34 0; 673 | #X connect 27 0 8 0; 674 | #X connect 28 0 0 1; 675 | #X connect 29 0 0 1; 676 | #X connect 30 0 0 1; 677 | #X connect 31 0 0 1; 678 | #X connect 32 0 0 1; 679 | #X connect 33 0 0 1; 680 | #X connect 34 0 28 0; 681 | #X connect 34 1 29 0; 682 | #X connect 34 2 31 0; 683 | #X connect 34 3 33 0; 684 | #X connect 34 4 32 0; 685 | #X connect 34 5 30 0; 686 | #X restore 17 229 pd color.indicator; 687 | #N canvas 1012 349 237 184 input.output.toggle 0; 688 | #N canvas 1230 249 185 273 slider.click.detection 0; 689 | #X obj 14 49 sel 0 1; 690 | #X obj 14 28 route float; 691 | #X msg 14 169 set 0.5; 692 | #X obj 82 101 t a a; 693 | #X obj 82 144 sel 0; 694 | #X obj 82 166 outlet; 695 | #X obj 24 190 loadbang; 696 | #X msg 24 211 range 0 1 \, set 0.5; 697 | #X obj 82 123 - 0.5; 698 | #X obj 14 6 r \$0.sl.s; 699 | #X obj 14 232 s \$0.sl.r; 700 | #X obj 64 76 f; 701 | #X obj 100 79 + 1; 702 | #X connect 0 0 2 0; 703 | #X connect 0 0 11 0; 704 | #X connect 0 1 2 0; 705 | #X connect 0 1 11 0; 706 | #X connect 0 2 11 0; 707 | #X connect 1 0 0 0; 708 | #X connect 2 0 10 0; 709 | #X connect 3 0 8 1; 710 | #X connect 3 1 8 0; 711 | #X connect 4 0 5 0; 712 | #X connect 6 0 7 0; 713 | #X connect 7 0 10 0; 714 | #X connect 8 0 4 0; 715 | #X connect 9 0 1 0; 716 | #X connect 11 0 12 0; 717 | #X connect 11 0 3 0; 718 | #X connect 12 0 11 1; 719 | #X restore 9 11 pd slider.click.detection; 720 | #X obj 9 127 ==; 721 | #X obj 39 72 r \$0.mode; 722 | #X msg 39 94 0; 723 | #X obj 9 150 s \$0.toggle; 724 | #X text 65 97 <- reset on mode switch; 725 | #X obj 9 34 spigot; 726 | #X obj 72 34 r \$0.ready; 727 | #X obj 38 118 r \$0.toggle; 728 | #X connect 0 0 6 0; 729 | #X connect 1 0 4 0; 730 | #X connect 2 0 3 0; 731 | #X connect 3 0 1 1; 732 | #X connect 6 0 1 0; 733 | #X connect 7 0 6 1; 734 | #X connect 8 0 1 1; 735 | #X restore 17 251 pd input.output.toggle; 736 | #X text 230 76 0: INPUT; 737 | #X text 230 89 1: OUTPUT (default); 738 | #X text 230 102 2: ANALOG; 739 | #X text 230 116 3: PWM; 740 | #X text 230 129 4: SERVO; 741 | #X text 230 47 Table Of PinModes:; 742 | #X text 230 56 ==================; 743 | #N canvas 844 213 489 418 resolve.supported.modes 0; 744 | #X obj 23 74 f \$2; 745 | #X obj 4 314 list append; 746 | #X text 48 345 <- list of supported modes; 747 | #X obj 4 344 outlet; 748 | #X obj 23 289 t a a; 749 | #X obj 4 52 t b b b; 750 | #X obj 244 78 t b; 751 | #X obj 244 264 t b; 752 | #N canvas 0 50 286 282 merge.alias.modes 0; 753 | #X obj 20 141 tabread \$1.PINMODE.MATRIX; 754 | #X obj 47 78 tabread \$1.PIN.ALIAS.MAPPING; 755 | #X obj 20 19 inlet; 756 | #X obj 47 98 sel -1; 757 | #X obj 20 54 t a a; 758 | #X obj 80 118 tabread \$1.PINMODE.MATRIX; 759 | #X obj 20 166 |; 760 | #X msg 47 118 0; 761 | #X obj 20 191 outlet; 762 | #X connect 0 0 6 0; 763 | #X connect 1 0 3 0; 764 | #X connect 2 0 4 0; 765 | #X connect 3 0 7 0; 766 | #X connect 3 1 5 0; 767 | #X connect 4 0 0 0; 768 | #X connect 4 1 1 0; 769 | #X connect 5 0 6 1; 770 | #X connect 6 0 8 0; 771 | #X connect 7 0 6 1; 772 | #X restore 23 104 pd merge.alias.modes; 773 | #X obj 4 8 r \$0.ready; 774 | #X obj 4 30 sel 1; 775 | #X obj 23 264 list append; 776 | #X obj 23 168 & 1; 777 | #X obj 63 167 & 2; 778 | #X obj 113 167 & 4; 779 | #X obj 196 167 & 8; 780 | #X obj 235 167 & 16; 781 | #X obj 23 194 sel 1; 782 | #X obj 63 193 sel 2; 783 | #X obj 113 193 sel 4; 784 | #X obj 196 193 sel 8; 785 | #X obj 235 193 sel 16; 786 | #X msg 23 218 INPUT; 787 | #X msg 63 218 OUTPUT; 788 | #X msg 196 218 PWM; 789 | #X msg 235 218 SERVO; 790 | #X msg 113 218 ANALOG \, OFF; 791 | #X obj 23 130 t a a a a a; 792 | #X connect 0 0 8 0; 793 | #X connect 1 0 3 0; 794 | #X connect 4 0 1 1; 795 | #X connect 4 1 11 1; 796 | #X connect 5 0 1 0; 797 | #X connect 5 1 0 0; 798 | #X connect 5 2 6 0; 799 | #X connect 6 0 7 0; 800 | #X connect 7 0 4 0; 801 | #X connect 8 0 27 0; 802 | #X connect 9 0 10 0; 803 | #X connect 10 0 5 0; 804 | #X connect 11 0 4 0; 805 | #X connect 12 0 17 0; 806 | #X connect 13 0 18 0; 807 | #X connect 14 0 19 0; 808 | #X connect 15 0 20 0; 809 | #X connect 16 0 21 0; 810 | #X connect 17 0 22 0; 811 | #X connect 18 0 23 0; 812 | #X connect 19 0 26 0; 813 | #X connect 20 0 24 0; 814 | #X connect 21 0 25 0; 815 | #X connect 22 0 11 0; 816 | #X connect 23 0 11 0; 817 | #X connect 24 0 11 0; 818 | #X connect 25 0 11 0; 819 | #X connect 26 0 11 0; 820 | #X connect 27 0 12 0; 821 | #X connect 27 1 13 0; 822 | #X connect 27 2 14 0; 823 | #X connect 27 3 15 0; 824 | #X connect 27 4 16 0; 825 | #X restore 17 118 pd resolve.supported.modes; 826 | #N canvas 760 50 601 585 compose.arduino.messages 0; 827 | #X obj 11 9 r \$0.mode; 828 | #X obj 11 70 change 1; 829 | #X text 68 71 <- don't send initial 'output' (it's the default); 830 | #X msg 11 210 input; 831 | #X msg 26 188 output; 832 | #X msg 41 168 pwm; 833 | #X msg 56 146 servo; 834 | #X obj 11 343 list prepend pinMode \$2; 835 | #X obj 11 365 list trim; 836 | #X obj 11 555 s \$1.ARDUINO.TO; 837 | #X obj 38 406 r \$0.toggle; 838 | #X obj 38 456 list prepend \$2; 839 | #X msg 38 481 digital \$1 \$2; 840 | #X obj 141 476 list prepend \$2; 841 | #X obj 141 393 r \$0.nb.s; 842 | #X msg 141 498 analog \$1 \$2; 843 | #X obj 141 454 * 0.01; 844 | #X obj 38 428 spigot; 845 | #X obj 141 425 spigot; 846 | #X obj 210 398 r \$0.ready; 847 | #X obj 80 5 r \$0.ready; 848 | #X msg 80 50 set 1; 849 | #X obj 80 26 sel 0; 850 | #X obj 72 525 r \$0.block.send; 851 | #X obj 11 525 spigot 1; 852 | #X obj 329 210 r \$0.analog.pin.no; 853 | #X msg 334 154 0; 854 | #X msg 71 243 analog; 855 | #X obj 71 263 t a a; 856 | #X obj 130 275 r \$0.alias.pin.no; 857 | #X obj 98 297 list prepend; 858 | #X obj 98 316 list prepend pinMode; 859 | #X obj 291 238 list prepend; 860 | #X obj 291 258 list prepend analogIns; 861 | #X msg 291 153 1; 862 | #X obj 291 178 change -1; 863 | #X obj 291 198 sel 0; 864 | #X msg 291 218 0; 865 | #X obj 11 90 t a a; 866 | #X obj 11 121 sel 0 1 3 4 2; 867 | #X obj 291 124 sel 2; 868 | #X connect 0 0 1 0; 869 | #X connect 1 0 38 0; 870 | #X connect 3 0 7 0; 871 | #X connect 4 0 7 0; 872 | #X connect 5 0 7 0; 873 | #X connect 6 0 7 0; 874 | #X connect 7 0 8 0; 875 | #X connect 8 0 24 0; 876 | #X connect 10 0 17 0; 877 | #X connect 11 0 12 0; 878 | #X connect 12 0 24 0; 879 | #X connect 13 0 15 0; 880 | #X connect 14 0 18 0; 881 | #X connect 15 0 24 0; 882 | #X connect 16 0 13 0; 883 | #X connect 17 0 11 0; 884 | #X connect 18 0 16 0; 885 | #X connect 19 0 17 1; 886 | #X connect 19 0 18 1; 887 | #X connect 20 0 22 0; 888 | #X connect 21 0 1 0; 889 | #X connect 22 0 21 0; 890 | #X connect 23 0 24 1; 891 | #X connect 24 0 9 0; 892 | #X connect 25 0 32 1; 893 | #X connect 26 0 35 0; 894 | #X connect 27 0 28 0; 895 | #X connect 28 0 7 0; 896 | #X connect 28 1 30 0; 897 | #X connect 29 0 30 1; 898 | #X connect 30 0 31 0; 899 | #X connect 31 0 8 0; 900 | #X connect 32 0 33 0; 901 | #X connect 33 0 8 0; 902 | #X connect 34 0 35 0; 903 | #X connect 35 0 36 0; 904 | #X connect 36 0 37 0; 905 | #X connect 37 0 32 0; 906 | #X connect 38 0 39 0; 907 | #X connect 38 1 40 0; 908 | #X connect 39 0 3 0; 909 | #X connect 39 1 4 0; 910 | #X connect 39 2 5 0; 911 | #X connect 39 3 6 0; 912 | #X connect 39 4 27 0; 913 | #X connect 40 0 34 0; 914 | #X connect 40 1 26 0; 915 | #X restore 17 295 pd compose.arduino.messages; 916 | #N canvas 693 528 205 172 ready 0; 917 | #X obj 27 35 r \$1.ARDUINO.INTERN; 918 | #X obj 27 57 route ready; 919 | #X obj 27 134 s \$0.ready; 920 | #X obj 61 78 loadbang; 921 | #X msg 61 100 0; 922 | #X connect 0 0 1 0; 923 | #X connect 1 0 2 0; 924 | #X connect 3 0 4 0; 925 | #X connect 4 0 2 0; 926 | #X restore 17 96 pd ready; 927 | #N canvas 846 506 392 240 handle.incoming 0; 928 | #N canvas 780 181 583 466 pinMode 0; 929 | #N canvas 1124 201 407 276 get.supported.modes 0; 930 | #X obj 31 9 inlet; 931 | #X obj 31 236 outlet; 932 | #X obj 306 132 & 1; 933 | #X obj 238 133 & 2; 934 | #X obj 169 133 & 4; 935 | #X obj 98 133 & 8; 936 | #X obj 98 165 sel 8; 937 | #X obj 169 167 sel 4; 938 | #X obj 238 167 sel 2; 939 | #X obj 306 166 sel 1; 940 | #X obj 31 98 t a a a a a; 941 | #X obj 31 133 & 16; 942 | #X msg 169 190 2 analog; 943 | #X msg 31 193 4 servo; 944 | #X msg 98 191 3 pwm; 945 | #X msg 306 189 0 input; 946 | #X obj 31 166 sel 16; 947 | #X msg 238 191 1 output; 948 | #X obj 31 76 tabread \$1.PINMODE.MATRIX; 949 | #X connect 0 0 18 0; 950 | #X connect 2 0 9 0; 951 | #X connect 3 0 8 0; 952 | #X connect 4 0 7 0; 953 | #X connect 5 0 6 0; 954 | #X connect 6 0 14 0; 955 | #X connect 7 0 12 0; 956 | #X connect 8 0 17 0; 957 | #X connect 9 0 15 0; 958 | #X connect 10 0 11 0; 959 | #X connect 10 1 5 0; 960 | #X connect 10 2 4 0; 961 | #X connect 10 3 3 0; 962 | #X connect 10 4 2 0; 963 | #X connect 11 0 16 0; 964 | #X connect 12 0 1 0; 965 | #X connect 13 0 1 0; 966 | #X connect 14 0 1 0; 967 | #X connect 15 0 1 0; 968 | #X connect 16 0 13 0; 969 | #X connect 17 0 1 0; 970 | #X connect 18 0 10 0; 971 | #X restore 10 244 pd get.supported.modes; 972 | #X obj 10 33 route pinMode; 973 | #X obj 44 217 route float symbol; 974 | #X obj 10 274 t a a; 975 | #X obj 10 298 unpack f s; 976 | #X obj 100 322 sel _; 977 | #X obj 10 393 f; 978 | #X msg 37 371 \$1; 979 | #X obj 10 322 sel -1; 980 | #X obj 10 344 t b b; 981 | #X msg 164 334 symbol _; 982 | #X obj 100 344 t b b; 983 | #X msg 66 334 -1; 984 | #X obj 10 417 s \$0.mode; 985 | #X obj 10 11 r \$0.incoming; 986 | #X obj 395 21 r \$0.incoming; 987 | #X obj 395 43 route analogIns; 988 | #X obj 395 220 spigot 1; 989 | #X obj 395 242 sel 0 1; 990 | #X msg 422 267 2; 991 | #X msg 395 267 -1; 992 | #X obj 395 315 s \$0.mode; 993 | #X obj 455 148 r \$0.mode; 994 | #X obj 395 140 route -1; 995 | #X obj 10 53 t a a; 996 | #X obj 10 176 list append; 997 | #X obj 10 120 sel \$2; 998 | #X obj 43 141 sel 0; 999 | #X obj 70 119 r \$0.alias.pin.no; 1000 | #X obj 10 196 list split 1; 1001 | #X obj 415 110 r \$0.analog.pin.no; 1002 | #X msg 455 202 1; 1003 | #X msg 500 203 0; 1004 | #X obj 455 170 sel -1 2; 1005 | #X msg 10 73 \$1; 1006 | #X obj 10 93 moses 0; 1007 | #X connect 0 0 3 0; 1008 | #X connect 1 0 24 0; 1009 | #X connect 2 0 8 1; 1010 | #X connect 2 1 5 1; 1011 | #X connect 3 0 4 0; 1012 | #X connect 3 1 7 0; 1013 | #X connect 4 0 8 0; 1014 | #X connect 4 1 5 0; 1015 | #X connect 5 0 11 0; 1016 | #X connect 6 0 13 0; 1017 | #X connect 7 0 6 1; 1018 | #X connect 8 0 9 0; 1019 | #X connect 9 0 6 0; 1020 | #X connect 9 1 10 0; 1021 | #X connect 10 0 5 1; 1022 | #X connect 11 0 6 0; 1023 | #X connect 11 1 12 0; 1024 | #X connect 12 0 8 1; 1025 | #X connect 14 0 1 0; 1026 | #X connect 15 0 16 0; 1027 | #X connect 16 0 23 0; 1028 | #X connect 17 0 18 0; 1029 | #X connect 18 0 20 0; 1030 | #X connect 18 1 19 0; 1031 | #X connect 19 0 21 0; 1032 | #X connect 20 0 21 0; 1033 | #X connect 22 0 33 0; 1034 | #X connect 23 0 17 0; 1035 | #X connect 24 0 34 0; 1036 | #X connect 24 1 25 1; 1037 | #X connect 25 0 29 0; 1038 | #X connect 26 0 25 0; 1039 | #X connect 26 1 27 0; 1040 | #X connect 27 0 25 0; 1041 | #X connect 28 0 27 1; 1042 | #X connect 29 0 0 0; 1043 | #X connect 29 1 2 0; 1044 | #X connect 30 0 23 1; 1045 | #X connect 31 0 17 1; 1046 | #X connect 32 0 17 1; 1047 | #X connect 33 0 31 0; 1048 | #X connect 33 1 31 0; 1049 | #X connect 33 2 32 0; 1050 | #X connect 34 0 35 0; 1051 | #X connect 35 1 26 0; 1052 | #X restore 10 10 pd pinMode; 1053 | #X obj 252 91 s \$0.incoming; 1054 | #X obj 233 16 r \$1.ARDUINO.IN; 1055 | #X obj 233 65 t b a b; 1056 | #X msg 272 121 0; 1057 | #X msg 233 120 1; 1058 | #X obj 233 145 s \$0.block.send; 1059 | #X obj 285 38 r \$0.ready; 1060 | #X obj 233 38 spigot; 1061 | #N canvas 906 403 224 217 digital 0; 1062 | #X obj 10 55 route \$2; 1063 | #X obj 10 11 r \$0.incoming; 1064 | #X obj 10 133 spigot 0; 1065 | #X obj 111 49 r \$0.mode; 1066 | #X obj 111 71 sel 0 1; 1067 | #X msg 111 98 1; 1068 | #X msg 150 98 0; 1069 | #X obj 10 157 s \$0.toggle; 1070 | #X obj 10 33 route digital; 1071 | #X obj 10 79 sel 0 1; 1072 | #X msg 10 100 0; 1073 | #X msg 39 100 1; 1074 | #X connect 0 0 9 0; 1075 | #X connect 1 0 8 0; 1076 | #X connect 2 0 7 0; 1077 | #X connect 3 0 4 0; 1078 | #X connect 4 0 5 0; 1079 | #X connect 4 1 5 0; 1080 | #X connect 4 2 6 0; 1081 | #X connect 5 0 2 1; 1082 | #X connect 6 0 2 1; 1083 | #X connect 8 0 0 0; 1084 | #X connect 9 0 10 0; 1085 | #X connect 9 1 11 0; 1086 | #X connect 10 0 2 0; 1087 | #X connect 11 0 2 0; 1088 | #X restore 11 36 pd digital; 1089 | #N canvas 906 431 232 267 analog 0; 1090 | #X obj 10 55 route \$2; 1091 | #X obj 10 11 r \$0.incoming; 1092 | #X obj 10 133 spigot 0; 1093 | #X obj 111 49 r \$0.mode; 1094 | #X obj 10 33 route analog; 1095 | #X obj 10 155 clip 0 1; 1096 | #X obj 10 185 * 100; 1097 | #X obj 10 246 s \$0.nb.s; 1098 | #X msg 111 98 1; 1099 | #X msg 150 98 0; 1100 | #X obj 111 71 sel 3 4; 1101 | #X msg 78 223 set \$1; 1102 | #X obj 78 245 s \$0.nb.r; 1103 | #X connect 0 0 2 0; 1104 | #X connect 1 0 4 0; 1105 | #X connect 2 0 5 0; 1106 | #X connect 3 0 10 0; 1107 | #X connect 4 0 0 0; 1108 | #X connect 5 0 6 0; 1109 | #X connect 6 0 7 0; 1110 | #X connect 6 0 11 0; 1111 | #X connect 8 0 2 1; 1112 | #X connect 9 0 2 1; 1113 | #X connect 10 0 8 0; 1114 | #X connect 10 1 8 0; 1115 | #X connect 10 2 9 0; 1116 | #X connect 11 0 12 0; 1117 | #X restore 11 63 pd analog; 1118 | #N canvas 906 431 222 309 port 0; 1119 | #X obj 10 11 r \$0.incoming; 1120 | #X obj 10 193 spigot 0; 1121 | #X obj 104 165 r \$0.mode; 1122 | #X obj 104 187 sel 0 1; 1123 | #X msg 104 214 1; 1124 | #X msg 143 214 0; 1125 | #X obj 10 217 s \$0.toggle; 1126 | #X obj 10 33 route port; 1127 | #X obj 49 58 >> 3; 1128 | #X obj 10 82 route 0; 1129 | #X obj 112 11 loadbang; 1130 | #X obj 112 33 f \$2; 1131 | #X obj 112 82 & 7; 1132 | #X obj 10 128 >>; 1133 | #X obj 10 151 & 1; 1134 | #X connect 0 0 7 0; 1135 | #X connect 1 0 6 0; 1136 | #X connect 2 0 3 0; 1137 | #X connect 3 0 4 0; 1138 | #X connect 3 1 4 0; 1139 | #X connect 3 2 5 0; 1140 | #X connect 4 0 1 1; 1141 | #X connect 5 0 1 1; 1142 | #X connect 7 0 9 0; 1143 | #X connect 8 0 9 1; 1144 | #X connect 9 0 13 0; 1145 | #X connect 10 0 11 0; 1146 | #X connect 11 0 8 0; 1147 | #X connect 11 0 12 0; 1148 | #X connect 12 0 13 1; 1149 | #X connect 13 0 14 0; 1150 | #X connect 14 0 1 0; 1151 | #X restore 11 92 pd port; 1152 | #X connect 2 0 8 0; 1153 | #X connect 3 0 5 0; 1154 | #X connect 3 1 1 0; 1155 | #X connect 3 2 4 0; 1156 | #X connect 4 0 6 0; 1157 | #X connect 5 0 6 0; 1158 | #X connect 7 0 8 1; 1159 | #X connect 8 0 3 0; 1160 | #X restore 17 338 pd handle.incoming; 1161 | #X obj 21 19 includes/agop.digital.gop \$0; 1162 | #N canvas 449 400 297 413 bar.display 0; 1163 | #X obj 72 59 r \$0.analog; 1164 | #X obj 99 385 s \$0.bar; 1165 | #X obj 16 102 f; 1166 | #X obj 16 5 r \$1.ARDUINO.INTERN; 1167 | #X obj 16 27 route refresh; 1168 | #X obj 16 49 b; 1169 | #X msg 99 271 1 21; 1170 | #X msg 99 358 vis_size \$1 8 \, pos \$2 22; 1171 | #X obj 16 187 int; 1172 | #X obj 16 166 * 50; 1173 | #X obj 72 81 t a b; 1174 | #X obj 99 106 del 200; 1175 | #X obj 16 144 change 0; 1176 | #X msg 128 139 set -1; 1177 | #X msg 60 116 -1; 1178 | #X msg 16 311 \$1 45; 1179 | #X connect 0 0 10 0; 1180 | #X connect 2 0 12 0; 1181 | #X connect 3 0 4 0; 1182 | #X connect 4 0 5 0; 1183 | #X connect 5 0 2 0; 1184 | #X connect 6 0 7 0; 1185 | #X connect 7 0 1 0; 1186 | #X connect 8 0 15 0; 1187 | #X connect 9 0 8 0; 1188 | #X connect 10 0 2 1; 1189 | #X connect 10 1 11 0; 1190 | #X connect 11 0 6 0; 1191 | #X connect 11 0 14 0; 1192 | #X connect 11 0 13 0; 1193 | #X connect 12 0 9 0; 1194 | #X connect 13 0 12 0; 1195 | #X connect 14 0 2 1; 1196 | #X connect 15 0 7 0; 1197 | #X restore 17 317 pd bar.display; 1198 | #N canvas 774 149 421 263 digital.analog.output 0; 1199 | #X obj 33 15 r \$1.ARDUINO.OUT; 1200 | #X obj 33 219 s \$0.input; 1201 | #X obj 33 37 route digital analog; 1202 | #X obj 223 100 r \$0.mode; 1203 | #X obj 33 190 spigot; 1204 | #X obj 129 188 spigot; 1205 | #X obj 66 145 sel 0; 1206 | #X msg 66 167 1; 1207 | #X msg 93 167 0; 1208 | #X msg 162 163 1; 1209 | #X msg 189 163 0; 1210 | #X obj 162 141 sel 2; 1211 | #X obj 140 115 s \$0.analog; 1212 | #X obj 33 98 route \$2; 1213 | #X obj 33 123 change -1; 1214 | #X obj 189 34 r \$0.analog.pin.no; 1215 | #X obj 129 73 route -1; 1216 | #X connect 0 0 2 0; 1217 | #X connect 2 0 13 0; 1218 | #X connect 2 1 16 0; 1219 | #X connect 3 0 6 0; 1220 | #X connect 3 0 11 0; 1221 | #X connect 4 0 1 0; 1222 | #X connect 5 0 1 0; 1223 | #X connect 6 0 7 0; 1224 | #X connect 6 1 8 0; 1225 | #X connect 7 0 4 1; 1226 | #X connect 8 0 4 1; 1227 | #X connect 9 0 5 1; 1228 | #X connect 10 0 5 1; 1229 | #X connect 11 0 9 0; 1230 | #X connect 11 1 10 0; 1231 | #X connect 13 0 14 0; 1232 | #X connect 14 0 4 0; 1233 | #X connect 15 0 16 1; 1234 | #X connect 16 0 5 0; 1235 | #X connect 16 0 12 0; 1236 | #X restore 17 271 pd digital.analog.output; 1237 | #N canvas 0 50 474 442 query.state 0; 1238 | #X obj 16 91 s \$1.ARDUINO.TO; 1239 | #X obj 16 121 r \$1.ARDUINO.INFO; 1240 | #X msg 16 69 pinState \$1; 1241 | #X obj 16 145 route pinState; 1242 | #X obj 16 191 list; 1243 | #X obj 92 278 select DIGITAL_INPUT DIGITAL_OUTPUT ANALOG_INPUT PWM 1244 | SERVO; 1245 | #X msg 92 313 0; 1246 | #X msg 161 312 1; 1247 | #X msg 368 312 4; 1248 | #X obj 92 376 s \$0.mode; 1249 | #X obj 73 255 t b a b; 1250 | #X msg 239 165 0; 1251 | #X msg 209 164 1; 1252 | #X obj 209 196 s \$0.block.send; 1253 | #X msg 230 313 -1; 1254 | #X msg 299 314 3; 1255 | #X msg 16 211 \$2 \$1; 1256 | #X obj 16 232 unpack f s; 1257 | #X obj 16 295 s \$0.input; 1258 | #X obj 16 5 r \$0.ready; 1259 | #X obj 16 27 sel 1; 1260 | #X obj 16 47 f \$2; 1261 | #X obj 16 165 route \$2; 1262 | #X connect 1 0 3 0; 1263 | #X connect 2 0 0 0; 1264 | #X connect 3 0 22 0; 1265 | #X connect 4 0 16 0; 1266 | #X connect 5 0 6 0; 1267 | #X connect 5 1 7 0; 1268 | #X connect 5 2 14 0; 1269 | #X connect 5 3 15 0; 1270 | #X connect 5 4 8 0; 1271 | #X connect 6 0 9 0; 1272 | #X connect 7 0 9 0; 1273 | #X connect 8 0 9 0; 1274 | #X connect 10 0 12 0; 1275 | #X connect 10 1 5 0; 1276 | #X connect 10 2 11 0; 1277 | #X connect 11 0 13 0; 1278 | #X connect 12 0 13 0; 1279 | #X connect 14 0 9 0; 1280 | #X connect 15 0 9 0; 1281 | #X connect 16 0 17 0; 1282 | #X connect 17 0 18 0; 1283 | #X connect 17 1 10 0; 1284 | #X connect 19 0 20 0; 1285 | #X connect 20 0 21 0; 1286 | #X connect 21 0 2 0; 1287 | #X connect 22 0 4 0; 1288 | #X restore 17 359 pd query.state; 1289 | #X connect 13 0 0 0; 1290 | #X coords 0 -1 1 1 20 14 2 21 19; 1291 | -------------------------------------------------------------------------------- /includes/agop.dummy.pin.pd: -------------------------------------------------------------------------------- 1 | #N canvas 955 96 378 347 10; 2 | #X obj 21 21 vsl 12 9 30 24 0 0 \$0.selector.label.s \$0.selector.label.r 3 | empty 1 5 0 10 -162280 -162280 -1 0 1; 4 | #X coords 0 -1 1 1 12 14 2 21 19; 5 | -------------------------------------------------------------------------------- /includes/agop.firmware.check.pd: -------------------------------------------------------------------------------- 1 | #N canvas 393 50 648 695 10; 2 | #X obj 22 236 sel 1 0; 3 | #X obj 22 75 r \$1.ARDUINO.INTERN; 4 | #X obj 20 375 r \$1.ARDUINO.INFO; 5 | #X msg 209 432 ready \$1; 6 | #X obj 22 210 t a a; 7 | #X msg 209 408 0; 8 | #X obj 46 525 t b b; 9 | #X obj 177 459 s \$1.ARDUINO.INTERN; 10 | #X msg 326 252 stop; 11 | #X obj 353 355 s \$1.ARDUINO.TO; 12 | #X obj 326 312 t b b; 13 | #X obj 326 419 del 500; 14 | #X obj 326 289 del 4500; 15 | #X msg 306 388 stop; 16 | #X obj 20 421 t a b; 17 | #X obj 20 399 route version; 18 | #X obj 20 42 cnv 11 275 22 empty \$0.label.bottom close 7 6 0 10 -262144 19 | -1 0; 20 | #X obj 20 20 cnv 11 275 21 empty \$0.label.top disconnected 7 12 0 21 | 10 -262144 -1 0; 22 | #X msg 245 146 0; 23 | #X msg 212 144 10; 24 | #X obj 22 307 agop.symbol2list; 25 | #X msg 41 262 disconnected; 26 | #X msg 22 286 Waiting for firmware ...; 27 | #X msg 22 329 label \$1; 28 | #X obj 22 350 s \$0.label.top; 29 | #X obj 421 36 r \$0.color; 30 | #X msg 421 60 color \$1 -1; 31 | #X obj 432 83 s \$0.label.top; 32 | #X obj 224 169 s \$0.color; 33 | #X obj 421 105 s \$0.label.bottom; 34 | #X obj 20 609 agop.symbol2list; 35 | #X msg 20 631 label \$1; 36 | #X obj 20 652 s \$0.label.top; 37 | #X msg 73 564 Firmware OK; 38 | #X msg 144 488 6; 39 | #X msg 99 540 Wrong firmware version; 40 | #X obj 144 517 s \$0.color; 41 | #X msg 171 489 3; 42 | #X msg 326 558 No firmware found; 43 | #X obj 346 470 s \$0.color; 44 | #X msg 346 444 3; 45 | #X obj 462 382 r \$1.ARDUINO.INFO; 46 | #X obj 462 406 route firmware; 47 | #X obj 462 461 agop.symbol2list; 48 | #X msg 462 483 label \$1; 49 | #X msg 428 432 symbol empty; 50 | #X obj 462 504 s \$0.label.bottom; 51 | #X obj 517 433 r \$1.ARDUINO.TO; 52 | #X text 163 631 ... trying to win the spaghetti contest ... sorry; 53 | #X obj 22 122 list prepend 0; 54 | #X obj 22 97 route serial.com emulate; 55 | #X obj 22 144 route 0 1; 56 | #N canvas 947 201 190 316 emulation 0; 57 | #X msg 76 66 6; 58 | #X obj 76 87 s \$0.color; 59 | #X obj 42 176 agop.symbol2list; 60 | #X msg 42 197 label \$1; 61 | #X msg 59 111 label empty; 62 | #X obj 25 22 inlet; 63 | #X obj 59 133 s \$0.label.bottom; 64 | #X msg 42 153 Emulation Mode; 65 | #X obj 25 266 s \$1.ARDUINO.INTERN; 66 | #X msg 25 244 ready 1; 67 | #X obj 25 46 t b b b b; 68 | #X obj 42 218 s \$0.label.bottom; 69 | #X connect 0 0 1 0; 70 | #X connect 2 0 3 0; 71 | #X connect 3 0 11 0; 72 | #X connect 4 0 6 0; 73 | #X connect 5 0 10 0; 74 | #X connect 7 0 2 0; 75 | #X connect 9 0 8 0; 76 | #X connect 10 0 9 0; 77 | #X connect 10 1 7 0; 78 | #X connect 10 2 4 0; 79 | #X connect 10 3 0 0; 80 | #X restore 66 189 pd emulation; 81 | #X obj 47 166 sel 0 1; 82 | #X msg 39 189 0; 83 | #X msg 353 335 version \, firmware; 84 | #X obj 386 288 del 500; 85 | #X obj 20 444 route 2; 86 | #X msg 113 489 5; 87 | #X obj 8 525 t b b; 88 | #X msg 35 584 Firmware OK (old); 89 | #X obj 20 466 < 2; 90 | #X obj 20 488 sel 1 0; 91 | #X msg 177 383 connected; 92 | #X connect 0 0 22 0; 93 | #X connect 0 0 12 0; 94 | #X connect 0 0 19 0; 95 | #X connect 0 0 56 0; 96 | #X connect 0 1 21 0; 97 | #X connect 0 1 8 0; 98 | #X connect 0 1 18 0; 99 | #X connect 0 1 45 0; 100 | #X connect 1 0 50 0; 101 | #X connect 2 0 15 0; 102 | #X connect 3 0 7 0; 103 | #X connect 4 0 0 0; 104 | #X connect 4 1 5 0; 105 | #X connect 5 0 3 0; 106 | #X connect 6 0 63 0; 107 | #X connect 6 0 34 0; 108 | #X connect 6 1 33 0; 109 | #X connect 8 0 12 0; 110 | #X connect 8 0 56 0; 111 | #X connect 10 0 11 0; 112 | #X connect 10 1 55 0; 113 | #X connect 11 0 38 0; 114 | #X connect 11 0 40 0; 115 | #X connect 12 0 10 0; 116 | #X connect 13 0 11 0; 117 | #X connect 14 0 57 0; 118 | #X connect 14 1 8 0; 119 | #X connect 14 1 13 0; 120 | #X connect 15 0 14 0; 121 | #X connect 18 0 28 0; 122 | #X connect 19 0 28 0; 123 | #X connect 20 0 23 0; 124 | #X connect 21 0 20 0; 125 | #X connect 22 0 20 0; 126 | #X connect 23 0 24 0; 127 | #X connect 25 0 26 0; 128 | #X connect 26 0 27 0; 129 | #X connect 26 0 29 0; 130 | #X connect 30 0 31 0; 131 | #X connect 31 0 32 0; 132 | #X connect 33 0 30 0; 133 | #X connect 34 0 36 0; 134 | #X connect 35 0 30 0; 135 | #X connect 37 0 36 0; 136 | #X connect 38 0 30 0; 137 | #X connect 40 0 39 0; 138 | #X connect 41 0 42 0; 139 | #X connect 42 0 43 0; 140 | #X connect 43 0 44 0; 141 | #X connect 44 0 46 0; 142 | #X connect 45 0 44 0; 143 | #X connect 47 0 43 0; 144 | #X connect 49 0 51 0; 145 | #X connect 50 0 49 0; 146 | #X connect 50 1 49 1; 147 | #X connect 51 0 4 0; 148 | #X connect 51 1 53 0; 149 | #X connect 53 0 54 0; 150 | #X connect 53 1 52 0; 151 | #X connect 54 0 4 0; 152 | #X connect 55 0 9 0; 153 | #X connect 56 0 55 0; 154 | #X connect 57 0 61 0; 155 | #X connect 57 1 35 0; 156 | #X connect 57 1 37 0; 157 | #X connect 58 0 36 0; 158 | #X connect 59 0 63 0; 159 | #X connect 59 0 58 0; 160 | #X connect 59 1 60 0; 161 | #X connect 60 0 30 0; 162 | #X connect 61 0 62 0; 163 | #X connect 62 0 59 0; 164 | #X connect 62 1 6 0; 165 | #X connect 63 0 7 0; 166 | #X coords 0 -1 1 1 275 44 2 20 20; 167 | -------------------------------------------------------------------------------- /includes/agop.message.recorder.pd: -------------------------------------------------------------------------------- 1 | #N canvas 841 211 382 464 10; 2 | #N canvas 1054 295 300 308 bang.to.toggle 0; 3 | #X obj 16 55 t b b b; 4 | #X msg 55 81 0; 5 | #X msg 16 81 1; 6 | #X obj 12 156 spigot 1; 7 | #X obj 12 179 ==; 8 | #X obj 105 178 t a; 9 | #X obj 35 105 s \$0.bng.r; 10 | #X obj 12 135 r \$0.bng.s; 11 | #X obj 12 201 outlet; 12 | #X msg 105 255 color -1 \$1 -1; 13 | #X obj 105 277 s \$0.bng.r; 14 | #X msg 134 225 13; 15 | #X msg 105 225 23; 16 | #X obj 105 200 sel 0 1; 17 | #X obj 16 10 loadbang; 18 | #X obj 16 33 metro 50; 19 | #X connect 0 0 2 0; 20 | #X connect 0 1 6 0; 21 | #X connect 0 2 1 0; 22 | #X connect 1 0 3 1; 23 | #X connect 2 0 3 1; 24 | #X connect 3 0 4 0; 25 | #X connect 4 0 5 0; 26 | #X connect 4 0 8 0; 27 | #X connect 5 0 4 1; 28 | #X connect 5 0 13 0; 29 | #X connect 7 0 3 0; 30 | #X connect 9 0 10 0; 31 | #X connect 11 0 9 0; 32 | #X connect 12 0 9 0; 33 | #X connect 13 0 12 0; 34 | #X connect 13 1 11 0; 35 | #X connect 14 0 15 0; 36 | #X connect 15 0 0 0; 37 | #X restore 123 17 pd bang.to.toggle; 38 | #X obj 154 214 list prepend add2; 39 | #X obj 154 236 list trim; 40 | #X obj 42 123 route 0 1; 41 | #X obj 42 213 list prepend set; 42 | #X obj 42 235 list trim; 43 | #X obj 42 371 t a; 44 | #X obj 42 89 list prepend 0; 45 | #X obj 288 215 sel 1; 46 | #X msg 288 237 set; 47 | #X obj 154 259 t a b; 48 | #X msg 181 280 1; 49 | #X obj 181 302 sel 0; 50 | #X msg 245 304 1; 51 | #X msg 241 277 0; 52 | #X msg 181 325 addcomma; 53 | #X obj 42 65 r \$1.ARDUINO.TO; 54 | #X obj 42 396 outlet; 55 | #X obj 20 20 cnv 4 12 14 empty empty empty 20 12 0 14 -1 -66577 0; 56 | #X obj 20 21 bng 12 50 10 0 \$0.bng.s \$0.bng.r empty 17 7 0 10 -1 57 | -143491 -1; 58 | #X connect 0 0 7 1; 59 | #X connect 0 0 8 0; 60 | #X connect 1 0 2 0; 61 | #X connect 2 0 10 0; 62 | #X connect 3 0 4 0; 63 | #X connect 3 1 1 0; 64 | #X connect 4 0 5 0; 65 | #X connect 5 0 6 0; 66 | #X connect 6 0 17 0; 67 | #X connect 7 0 3 0; 68 | #X connect 8 0 9 0; 69 | #X connect 8 0 14 0; 70 | #X connect 9 0 6 0; 71 | #X connect 10 0 6 0; 72 | #X connect 10 1 11 0; 73 | #X connect 11 0 12 0; 74 | #X connect 12 0 15 0; 75 | #X connect 12 1 13 0; 76 | #X connect 13 0 12 1; 77 | #X connect 14 0 12 1; 78 | #X connect 15 0 6 0; 79 | #X connect 16 0 7 0; 80 | #X coords 0 -1 1 1 12 14 2 20 20; 81 | -------------------------------------------------------------------------------- /includes/agop.power.led.pd: -------------------------------------------------------------------------------- 1 | #N canvas 667 323 377 378 10; 2 | #X obj 20 20 cnv 5 5 5 empty \$0.led empty 20 12 0 14 -2561 -262144 3 | 0; 4 | #X obj 262 102 << 8; 5 | #X obj 225 126 << 16; 6 | #X obj 226 148 +; 7 | #X obj 262 126 +; 8 | #X obj 226 168 * -1; 9 | #X obj 226 189 - 1; 10 | #X obj 191 59 list split 1; 11 | #X obj 225 81 unpack f f f; 12 | #X obj 191 214 list append; 13 | #X obj 191 235 route 0 1; 14 | #X obj 44 283 f; 15 | #X obj 69 284 f; 16 | #X obj 44 253 sel 0 1; 17 | #X msg 44 312 color \$1 0; 18 | #X obj 44 336 s \$0.led; 19 | #X obj 191 14 loadbang; 20 | #X obj 44 227 change -1; 21 | #X obj 44 169 r \$1.ARDUINO.INTERN; 22 | #X msg 191 37 0 0 160 0 \, 1 0 255 0; 23 | #X obj 44 191 route ready; 24 | #X connect 1 0 4 0; 25 | #X connect 2 0 3 0; 26 | #X connect 3 0 5 0; 27 | #X connect 4 0 3 1; 28 | #X connect 5 0 6 0; 29 | #X connect 6 0 9 1; 30 | #X connect 7 0 9 0; 31 | #X connect 7 1 8 0; 32 | #X connect 8 0 2 0; 33 | #X connect 8 1 1 0; 34 | #X connect 8 2 4 1; 35 | #X connect 9 0 10 0; 36 | #X connect 10 0 11 1; 37 | #X connect 10 1 12 1; 38 | #X connect 11 0 14 0; 39 | #X connect 12 0 14 0; 40 | #X connect 13 0 11 0; 41 | #X connect 13 1 12 0; 42 | #X connect 14 0 15 0; 43 | #X connect 16 0 19 0; 44 | #X connect 17 0 13 0; 45 | #X connect 18 0 20 0; 46 | #X connect 19 0 7 0; 47 | #X connect 20 0 17 0; 48 | #X coords 0 -1 1 1 5 5 2 20 20; 49 | -------------------------------------------------------------------------------- /includes/agop.refresh.rate.pd: -------------------------------------------------------------------------------- 1 | #N canvas 806 309 336 268 10; 2 | #X obj 20 20 nbx 5 12 5 120 0 0 \$0.fps.s \$0.fps.r empty 0 -8 0 10 3 | -262144 -1 -1 60 256; 4 | #X obj 23 20 hsl 48 12 0 127 0 0 \$0.NULL.s \$0.label.r empty 3 6 0 5 | 10 -228856 -228856 -1 0 1; 6 | #X obj 167 37 loadbang; 7 | #X msg 167 59 60; 8 | #X obj 167 81 s \$0.fps.r; 9 | #N canvas 1118 205 272 205 gui.stuff 0; 10 | #X obj 16 171 s \$0.label.r; 11 | #X obj 16 40 makefilename %3d; 12 | #X obj 141 88 makefilename %c; 13 | #X obj 141 43 loadbang; 14 | #X msg 141 65 32; 15 | #X obj 16 71 pack s s; 16 | #X msg 16 96 label \$1\$2fps; 17 | #X obj 16 15 r \$0.fps.s; 18 | #X obj 116 117 inlet; 19 | #X msg 116 139 label empty; 20 | #X connect 1 0 5 0; 21 | #X connect 2 0 5 1; 22 | #X connect 3 0 4 0; 23 | #X connect 4 0 2 0; 24 | #X connect 5 0 6 0; 25 | #X connect 6 0 0 0; 26 | #X connect 7 0 1 0; 27 | #X connect 8 0 9 0; 28 | #X connect 9 0 0 0; 29 | #X restore 160 154 pd gui.stuff; 30 | #X msg 53 123 1000 \$1; 31 | #X obj 53 145 /; 32 | #X obj 53 103 r \$0.fps.s; 33 | #X obj 16 165 metro 16.66; 34 | #X msg 16 187 refresh; 35 | #X obj 16 217 s \$1.ARDUINO.INTERN; 36 | #X obj 16 56 r \$1.ARDUINO.INTERN; 37 | #X obj 16 78 route ready; 38 | #X obj 160 127 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 39 | -1 -1; 40 | #X text 179 126 reset; 41 | #X connect 2 0 3 0; 42 | #X connect 3 0 4 0; 43 | #X connect 6 0 7 0; 44 | #X connect 7 0 9 1; 45 | #X connect 8 0 6 0; 46 | #X connect 9 0 10 0; 47 | #X connect 10 0 11 0; 48 | #X connect 12 0 13 0; 49 | #X connect 13 0 9 0; 50 | #X connect 14 0 5 0; 51 | #X coords 0 -1 1 1 53 12 2 20 20; 52 | -------------------------------------------------------------------------------- /includes/agop.rx.led.pd: -------------------------------------------------------------------------------- 1 | #N canvas 667 323 440 377 10; 2 | #X obj 20 20 cnv 5 5 5 empty \$0.led empty 20 12 0 14 -166401 -262144 3 | 0; 4 | #X obj 264 119 << 8; 5 | #X obj 227 143 << 16; 6 | #X obj 228 165 +; 7 | #X obj 264 143 +; 8 | #X obj 228 185 * -1; 9 | #X obj 228 206 - 1; 10 | #X obj 193 76 list split 1; 11 | #X obj 227 98 unpack f f f; 12 | #X obj 193 231 list append; 13 | #X obj 193 252 route 0 1; 14 | #X obj 59 287 f; 15 | #X obj 84 288 f; 16 | #X obj 59 257 sel 0 1; 17 | #X msg 59 316 color \$1 0; 18 | #X obj 59 340 s \$0.led; 19 | #X msg 193 54 0 160 160 0 \, 1 255 255 0; 20 | #X obj 193 31 loadbang; 21 | #X obj 59 92 t b b; 22 | #X msg 86 142 0; 23 | #X msg 59 162 1; 24 | #X obj 59 188 change -1; 25 | #X obj 86 120 del 50; 26 | #X obj 59 33 r \$1.ARDUINO.TO; 27 | #X obj 65 62 r \$1.ARDUINO.IN; 28 | #X connect 1 0 4 0; 29 | #X connect 2 0 3 0; 30 | #X connect 3 0 5 0; 31 | #X connect 4 0 3 1; 32 | #X connect 5 0 6 0; 33 | #X connect 6 0 9 1; 34 | #X connect 7 0 9 0; 35 | #X connect 7 1 8 0; 36 | #X connect 8 0 2 0; 37 | #X connect 8 1 1 0; 38 | #X connect 8 2 4 1; 39 | #X connect 9 0 10 0; 40 | #X connect 10 0 11 1; 41 | #X connect 10 1 12 1; 42 | #X connect 11 0 14 0; 43 | #X connect 12 0 14 0; 44 | #X connect 13 0 11 0; 45 | #X connect 13 1 12 0; 46 | #X connect 14 0 15 0; 47 | #X connect 16 0 7 0; 48 | #X connect 17 0 16 0; 49 | #X connect 18 0 20 0; 50 | #X connect 18 1 22 0; 51 | #X connect 19 0 21 0; 52 | #X connect 20 0 21 0; 53 | #X connect 21 0 13 0; 54 | #X connect 22 0 19 0; 55 | #X connect 23 0 18 0; 56 | #X connect 24 0 18 0; 57 | #X coords 0 -1 1 1 5 5 2 20 20; 58 | -------------------------------------------------------------------------------- /includes/agop.sample.rate.pd: -------------------------------------------------------------------------------- 1 | #N canvas 806 309 555 462 10; 2 | #X obj 20 20 nbx 5 12 1 100 0 0 \$0.sr.s \$0.sr.r empty 0 -8 0 10 -262144 3 | -1 -1 50 256; 4 | #X obj 23 20 hsl 48 12 0 127 0 0 \$0.NULL.s \$0.label.r empty 3 6 0 5 | 10 -228856 -228856 -1 0 1; 6 | #X obj 184 218 s \$0.sr.r; 7 | #X msg 184 196 set 50; 8 | #X obj 16 56 r \$1.ARDUINO.IN; 9 | #X obj 16 82 route samplingInterval; 10 | #X obj 16 104 clip 10 16384; 11 | #X msg 16 126 1000 \$1; 12 | #X obj 16 148 /; 13 | #X obj 16 191 s \$0.sr.r; 14 | #X msg 16 169 set \$1; 15 | #X obj 189 30 r \$1.ARDUINO.INTERN; 16 | #X obj 189 52 route ready; 17 | #X obj 16 234 r \$0.sr.s; 18 | #X msg 16 255 1000 \$1; 19 | #X obj 16 277 /; 20 | #X obj 16 299 int; 21 | #X msg 16 321 samplingInterval \$1; 22 | #X obj 16 367 s \$1.ARDUINO.TO; 23 | #X obj 16 344 spigot; 24 | #X obj 184 148 sel 1 0; 25 | #X obj 326 244 s \$0.label.r; 26 | #X obj 326 146 makefilename %3d; 27 | #X obj 430 210 makefilename %c; 28 | #X msg 430 187 32; 29 | #X obj 326 184 pack s s; 30 | #X msg 236 195 label empty; 31 | #X obj 326 58 r \$0.sr.s; 32 | #X msg 326 209 label \$1\$2sr; 33 | #X obj 387 59 r \$0.sr.r; 34 | #X obj 387 81 route set; 35 | #X obj 430 166 loadbang; 36 | #X obj 326 125 spigot; 37 | #X obj 189 74 t a a a; 38 | #X connect 3 0 2 0; 39 | #X connect 4 0 5 0; 40 | #X connect 5 0 6 0; 41 | #X connect 6 0 7 0; 42 | #X connect 7 0 8 0; 43 | #X connect 8 0 10 0; 44 | #X connect 10 0 9 0; 45 | #X connect 11 0 12 0; 46 | #X connect 12 0 33 0; 47 | #X connect 13 0 14 0; 48 | #X connect 14 0 15 0; 49 | #X connect 15 0 16 0; 50 | #X connect 16 0 17 0; 51 | #X connect 17 0 19 0; 52 | #X connect 19 0 18 0; 53 | #X connect 20 0 3 0; 54 | #X connect 20 1 26 0; 55 | #X connect 22 0 25 0; 56 | #X connect 23 0 25 1; 57 | #X connect 24 0 23 0; 58 | #X connect 25 0 28 0; 59 | #X connect 26 0 21 0; 60 | #X connect 27 0 32 0; 61 | #X connect 28 0 21 0; 62 | #X connect 29 0 30 0; 63 | #X connect 30 0 32 0; 64 | #X connect 31 0 24 0; 65 | #X connect 32 0 22 0; 66 | #X connect 33 0 19 1; 67 | #X connect 33 1 20 0; 68 | #X connect 33 2 32 1; 69 | #X coords 0 -1 1 1 53 12 2 20 20; 70 | -------------------------------------------------------------------------------- /includes/agop.symbol2list.pd: -------------------------------------------------------------------------------- 1 | #N canvas 542 187 313 399 10; 2 | #X obj 166 172 loadbang; 3 | #X msg 166 194 32; 4 | #X obj 166 216 makefilename %c; 5 | #X obj 103 238 list append; 6 | #X msg 103 260 symbol \$1\$2; 7 | #X obj 40 200 t b a; 8 | #X obj 40 232 symbol; 9 | #X obj 40 282 list append; 10 | #X msg 40 304 symbol \$1\$2; 11 | #X obj 40 157 list split 1; 12 | #X obj 40 113 until; 13 | #X obj 40 135 list append; 14 | #X obj 134 121 b; 15 | #X obj 40 89 t b a; 16 | #X msg 171 113 symbol; 17 | #X obj 21 52 t b a b; 18 | #X obj 21 343 symbol; 19 | #X obj 21 5 inlet; 20 | #X obj 21 365 outlet; 21 | #X obj 21 27 list; 22 | #X connect 0 0 1 0; 23 | #X connect 1 0 2 0; 24 | #X connect 2 0 3 1; 25 | #X connect 3 0 4 0; 26 | #X connect 4 0 7 1; 27 | #X connect 5 0 6 0; 28 | #X connect 5 1 3 0; 29 | #X connect 6 0 7 0; 30 | #X connect 7 0 8 0; 31 | #X connect 8 0 6 1; 32 | #X connect 8 0 16 1; 33 | #X connect 9 0 5 0; 34 | #X connect 9 1 11 1; 35 | #X connect 9 2 12 0; 36 | #X connect 10 0 11 0; 37 | #X connect 11 0 9 0; 38 | #X connect 12 0 10 1; 39 | #X connect 13 0 10 0; 40 | #X connect 13 1 11 1; 41 | #X connect 14 0 6 1; 42 | #X connect 14 0 7 1; 43 | #X connect 15 0 16 0; 44 | #X connect 15 1 13 0; 45 | #X connect 15 2 14 0; 46 | #X connect 16 0 18 0; 47 | #X connect 17 0 19 0; 48 | #X connect 19 0 15 0; 49 | -------------------------------------------------------------------------------- /includes/agop.tx.led.pd: -------------------------------------------------------------------------------- 1 | #N canvas 667 323 440 377 10; 2 | #X obj 20 20 cnv 5 5 5 empty \$0.led empty 20 12 0 14 -166401 -262144 3 | 0; 4 | #X obj 264 119 << 8; 5 | #X obj 227 143 << 16; 6 | #X obj 228 165 +; 7 | #X obj 264 143 +; 8 | #X obj 228 185 * -1; 9 | #X obj 228 206 - 1; 10 | #X obj 193 76 list split 1; 11 | #X obj 227 98 unpack f f f; 12 | #X obj 193 231 list append; 13 | #X obj 193 252 route 0 1; 14 | #X obj 59 287 f; 15 | #X obj 84 288 f; 16 | #X obj 59 257 sel 0 1; 17 | #X msg 59 316 color \$1 0; 18 | #X obj 59 340 s \$0.led; 19 | #X msg 193 54 0 160 160 0 \, 1 255 255 0; 20 | #X obj 193 31 loadbang; 21 | #X obj 59 32 r \$1.ARDUINO.OUT; 22 | #X obj 59 92 t b b; 23 | #X msg 86 142 0; 24 | #X msg 59 162 1; 25 | #X obj 59 188 change -1; 26 | #X obj 86 120 del 50; 27 | #X obj 69 52 r \$1.ARDUINO.INFO; 28 | #X connect 1 0 4 0; 29 | #X connect 2 0 3 0; 30 | #X connect 3 0 5 0; 31 | #X connect 4 0 3 1; 32 | #X connect 5 0 6 0; 33 | #X connect 6 0 9 1; 34 | #X connect 7 0 9 0; 35 | #X connect 7 1 8 0; 36 | #X connect 8 0 2 0; 37 | #X connect 8 1 1 0; 38 | #X connect 8 2 4 1; 39 | #X connect 9 0 10 0; 40 | #X connect 10 0 11 1; 41 | #X connect 10 1 12 1; 42 | #X connect 11 0 14 0; 43 | #X connect 12 0 14 0; 44 | #X connect 13 0 11 0; 45 | #X connect 13 1 12 0; 46 | #X connect 14 0 15 0; 47 | #X connect 16 0 7 0; 48 | #X connect 17 0 16 0; 49 | #X connect 18 0 19 0; 50 | #X connect 19 0 21 0; 51 | #X connect 19 1 23 0; 52 | #X connect 20 0 22 0; 53 | #X connect 21 0 22 0; 54 | #X connect 22 0 13 0; 55 | #X connect 23 0 20 0; 56 | #X connect 24 0 19 0; 57 | #X coords 0 -1 1 1 5 5 2 20 20; 58 | -------------------------------------------------------------------------------- /includes/analog.display.pd: -------------------------------------------------------------------------------- 1 | #N canvas 718 312 193 283 10; 2 | #X obj 21 21 cnv 1 1 6 empty \$0.bar empty 20 12 0 14 -203904 -66577 3 | 0; 4 | #X obj 35 101 inlet; 5 | #X msg 20 212 vis_size \$1 6; 6 | #X obj 20 233 s \$0.bar; 7 | #X obj 20 146 change; 8 | #X obj 20 169 clip 0 1; 9 | #X obj 20 191 * 100; 10 | #X obj 20 57 loadbang; 11 | #X obj 20 79 metro 50; 12 | #X obj 20 123 f; 13 | #X connect 1 0 9 1; 14 | #X connect 2 0 3 0; 15 | #X connect 4 0 5 0; 16 | #X connect 5 0 6 0; 17 | #X connect 6 0 2 0; 18 | #X connect 7 0 8 0; 19 | #X connect 8 0 9 0; 20 | #X connect 9 0 4 0; 21 | #X coords 0 -1 1 1 102 8 2 20 20; 22 | -------------------------------------------------------------------------------- /pduino-meta.pd: -------------------------------------------------------------------------------- 1 | #N canvas 3 141 200 200 10; 2 | #N canvas 20 85 420 300 META 1; 3 | #X text 10 10 VERSION 0.8; 4 | #X text 10 25 AUTHOR Georg Holzmann \, Gerda Strobl \, Hans-Christoph 5 | Steiner \, Olsen Wolf \, Roman Haefeli; 6 | #X text 10 52 NAME pduino; 7 | #N canvas 341 85 450 300 OBJECTS 0; 8 | #X text 15 17 arduino interface Pd to analog and digital input and 9 | output pins of an arduino board; 10 | #X text 14 47 arduino-gui graphic version of the arduino object that 11 | also reflects the boards state; 12 | #X restore 10 75 pd OBJECTS; 13 | #X restore 10 10 pd META; 14 | --------------------------------------------------------------------------------