pax_global_header00006660000000000000000000000064140267145210014514gustar00rootroot0000000000000052 comment=63e6e1f860992b7e55366ec53d493fc949bc0abd pduino-0.8/000077500000000000000000000000001402671452100126615ustar00rootroot00000000000000pduino-0.8/LICENSE.txt000066400000000000000000000431101402671452100145030ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. pduino-0.8/README.txt000066400000000000000000000033571402671452100143670ustar00rootroot00000000000000pduino - interface Pd with the world easily ------------------------------------------- [arduino] connects Pd to a real Arduino board and lets you control its pins, thus enabling Pd to interact with the physical world. You don't even need any C++ skills, you just need to load the Firmata firmware onto your board. [arduino] is a Pd implementation of the Firmata protocol as documented on: https://github.com/firmata/protocol/blob/master/protocol.md [arduino-gui] is graphical faksimile of the most common board layout used by Leonardo, Uno, Duemilanove, Diecimila, NG (and probably others). Any user interaction with its pins is translated to direct commands to the board. Similarly, pin states and state changes are represented graphically. It should get you started quickly without having to look up all available commands first. Installation: * this pduino package is supposed to live somewhere in Pd's search path * You may want to [declare -stdpath pduino] before creating [arduino] or [arduino-gui] in Pd. Dependencies: * comport Prerequisites: * Any model of an Arduino (or compatible) board with a serial interface. * Some variant of the Firmata (version >= 2.2) firmware on it. Most common is StandardFirmata How to load the Firmata firmware onto the board: * Get the Arduino IDE from: https://www.arduino.cc/en/Main/Software * Start the IDE * Connect your Board * Load the Firmware: 'File' -> 'Examples' -> 'Firmata' -> 'StandardFirmata' (You may use another Firmata, if you know what you're doing) * Make sure you have the correct port ('Tools' -> 'Port') and the correct board ('Tools' -> 'Board') selected * Upload Firmata by clicking the 'Upload' button (right arrow) HAVE FUN! pduino-0.8/arduino-gui-help.pd000066400000000000000000000035311402671452100163610ustar00rootroot00000000000000#N canvas 357 106 852 596 10; #X declare -path .; #X text 266 94 [arduino-gui]; #X msg 79 44 open \$1; #X floatatom 79 19 5 0 0 0 - - -; #X obj 79 548 print ARDUINO.OUT; #X msg 347 494; #X text 363 156 <- select a device; #X text 364 169 <- set GUI refresh rate; #X text 360 282 <- set pin mode and change state; #X text 406 21 A R D U I N O - G U I; #X text 406 31 =====================; #X text 365 470 <- record all arduino commands to a message box; #X obj 133 18 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 596 147 cnv 15 170 210 empty empty empty 20 12 0 14 -224640 -66577 0; #X text 607 184 * UNO; #X text 607 198 * Duemilanove; #X text 607 213 * Diecimila; #X text 607 226 * NG; #X text 600 256 Supported Firmware:; #X msg 133 44 digital 13 \$1; #X text 405 48 [arduino-gui] is a graphical version of the common [arduino] class. It is a wrapper with some GUI enhancements that facilitate sending commands to the arduino board. Those commands can also be recorded to a message box.; #X text 685 557 Olsen Wolf; #X msg 226 44 pinMode 3 \$1; #X symbolatom 226 19 10 0 0 0 - - -; #X msg 311 44 port 1 \$1; #X floatatom 311 19 5 0 0 0 - - -; #X obj 598 434 arduino; #X text 398 434 For full reference \, see help of; #X obj 213 548 print ARDUINO.INFO; #X text 364 185 <- set analog input refresh rate; #X text 600 315 Requires:; #X text 607 333 * Pd >= 0.45; #X text 607 171 * Leonardo; #X text 600 155 Supported Models:; #X obj 79 115 arduino-gui; #X obj 404 546 declare -path .; #X text 503 545 <- why?; #X text 649 543 2021 \, Roman Haefeli; #X text 607 274 * StandardFirmata >= 2.2; #X text 615 290 (tested with 2.5); #X connect 1 0 33 0; #X connect 2 0 1 0; #X connect 11 0 18 0; #X connect 18 0 33 0; #X connect 21 0 33 0; #X connect 22 0 21 0; #X connect 23 0 33 0; #X connect 24 0 23 0; #X connect 33 0 3 0; #X connect 33 1 27 0; #X connect 33 2 4 0; pduino-0.8/arduino-gui.pd000066400000000000000000000371331402671452100154400ustar00rootroot00000000000000#N canvas 109 106 893 507 10; #X obj 80 65 cnv 15 275 325 empty empty empty 20 12 0 14 -22189 -66577 0; #X obj 400 61 inlet; #X obj 79 451 outlet; #X obj 209 451 outlet; #X obj 402 451 s \$0.ARDUINO.OUT; #X obj 509 451 s \$0.ARDUINO.INFO; #X obj 402 314 r \$0.ARDUINO.TO; #X obj 209 415 r \$0.ARDUINO.INFO; #X obj 400 83 s \$0.ARDUINO.IN; #X obj 332 199 includes/agop.digital.pin \$0 12; #X text 303 156 AREF; #X text 309 170 GND; #X text 315 359 TX; #X text 315 373 RX; #X obj 340 158 includes/agop.dummy.pin; #X obj 340 171 includes/agop.dummy.pin; #X obj 340 360 includes/agop.dummy.pin; #X obj 83 277 includes/agop.dummy.pin; #X obj 83 263 includes/agop.dummy.pin; #X obj 83 249 includes/agop.dummy.pin; #X obj 83 235 includes/agop.dummy.pin; #X obj 83 221 includes/agop.dummy.pin; #X obj 83 207 includes/agop.dummy.pin; #X obj 270 183 includes/agop.tx.led \$0; #X obj 257 183 includes/agop.rx.led \$0; #X text 400 175 \$0.ARDUINO.OUT; #X text 400 202 \$0.ARDUINO.INFO; #X text 400 229 \$0.ARDUINO.INTERN; #X text 400 148 \$0.ARDUINO.TO; #X text 400 121 \$0.ARDUINO.IN; #X text 518 230 <- GOP-internal Communication; #X text 518 203 <- Arduino Status Messages (sent to outlet1); #X text 518 175 <- Arduino Pin Messages (sent to outlet0); #X text 518 120 <- external commands (modules are listening here); #X text 518 148 <- Commands sent from modules -> [arduino]; #X obj 80 20 includes/agop.firmware.check \$0; #X obj 146 206 cnv 15 28 175 empty empty empty 20 12 0 14 -66577 -66577 0; #X text 96 206 RESET; #X text 96 220 3v3; #X text 96 234 5V; #X text 96 248 GND; #X text 96 262 GND; #X text 96 276 Vin; #X obj 175 213 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 175 225 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 175 237 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 175 249 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 175 261 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 175 273 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 175 285 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 175 297 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 175 309 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 175 321 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 175 333 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 175 345 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 175 357 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 175 369 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 144 213 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 144 225 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 144 237 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 144 249 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 144 261 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 144 273 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 144 285 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 144 297 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 144 309 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 144 321 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 144 333 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 144 345 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 144 357 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 144 369 cnv 1 1 5 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 254 35 cnv 15 55 70 empty empty empty 20 12 0 14 -191407 -66577 0; #X obj 133 65 includes/agop.device.selector \$0; #X obj 255 65 includes/agop.refresh.rate \$0; #X obj 95 59 cnv 15 37 60 empty empty empty 20 12 0 14 -33289 -66577 0; #X text 254 187 R; #X text 254 196 X; #X text 268 196 X; #X text 268 187 T; #X obj 296 183 includes/agop.13.led \$0; #X text 293 187 L; #X obj 264 358 includes/agop.power.led \$0; #X text 261 362 PWR; #X obj 83 303 includes/agop.analog.pin \$0 0; #X obj 83 317 includes/agop.analog.pin \$0 1; #X obj 83 331 includes/agop.analog.pin \$0 2; #X obj 83 345 includes/agop.analog.pin \$0 3; #X obj 83 359 includes/agop.analog.pin \$0 4; #X obj 83 373 includes/agop.analog.pin \$0 5; #X text 104 302 A0; #X text 104 316 A1; #X text 104 330 A2; #X text 104 344 A3; #X text 104 358 A4; #X text 104 372 A5; #X text 309 240 PWM; #X text 309 212 PWM; #X text 309 289 PWM; #X text 309 226 PWM; #X text 309 303 PWM; #X text 309 331 PWM; #X obj 80 20 cnv 1 7 1 empty empty empty 20 12 0 14 -1 -66577 0; #X obj 80 389 cnv 1 7 1 empty empty empty 20 12 0 14 -1 -66577 0; #X obj 348 389 cnv 1 7 1 empty empty empty 20 12 0 14 -1 -66577 0; #X obj 340 451 outlet; #X obj 214 389 cnv 1 7 1 empty empty empty 20 12 0 14 -1 -66577 0; #X obj 79 415 r \$0.ARDUINO.OUT; #X obj 340 374 includes/agop.message.recorder \$0; #X obj 507 314 r \$0.ARDUINO.IN; #X obj 507 343 r \$0.ARDUINO.INTERN; #X obj 402 376 spigot 1; #X obj 397 407 cnv 25 75 25 empty empty empty 20 12 0 14 -203904 -66577 0; #X obj 272 113 cnv 15 18 48 empty empty empty 20 12 0 14 -66577 -66577 0; #X obj 292 116 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 292 119 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 292 122 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 292 125 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 292 128 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 292 131 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 292 134 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 292 137 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 292 140 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 292 143 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 292 146 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 292 149 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 265 116 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 265 119 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 265 122 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 265 125 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 265 128 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 265 131 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 265 134 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 265 137 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 265 140 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 265 143 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 265 146 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 265 149 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 292 152 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 292 155 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 265 152 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 265 155 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 292 158 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 265 158 cnv 1 6 1 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 255 92 includes/agop.sample.rate \$0; #X obj 402 411 arduino \$1; #N canvas 1004 185 333 283 DEBUG 0; #X obj 13 76 r \$0.ARDUINO.IN; #X obj 13 96 spigot; #X obj 13 116 print IN; #X obj 12 18 inlet; #X obj 12 38 s \$0.debug; #X obj 58 96 r \$0.debug; #X obj 13 159 spigot; #X obj 58 159 r \$0.debug; #X obj 13 139 r \$0.ARDUINO.TO; #X obj 13 179 print TO; #X obj 13 223 spigot; #X obj 58 223 r \$0.debug; #X obj 13 203 r \$0.ARDUINO.OUT; #X obj 13 243 print OUT; #X obj 173 96 spigot; #X obj 218 96 r \$0.debug; #X obj 173 76 r \$0.ARDUINO.INFO; #X obj 173 116 print INFO; #X obj 175 191 spigot; #X obj 220 191 r \$0.debug; #X obj 173 140 r \$0.ARDUINO.INTERN; #X obj 175 211 print INTERN; #X obj 173 160 route refresh; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 3 0 4 0; #X connect 5 0 1 1; #X connect 6 0 9 0; #X connect 7 0 6 1; #X connect 8 0 6 0; #X connect 10 0 13 0; #X connect 11 0 10 1; #X connect 12 0 10 0; #X connect 14 0 17 0; #X connect 15 0 14 1; #X connect 16 0 14 0; #X connect 18 0 21 0; #X connect 19 0 18 1; #X connect 20 0 22 0; #X connect 22 1 18 0; #X restore 692 404 pd DEBUG; #X obj 692 381 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X text 714 380 enable debug prints; #N canvas 520 118 498 502 CAPABILITY 0; #X obj 15 14 r \$0.ARDUINO.INTERN; #X obj 82 57 == 0; #X obj 15 79 spigot 1; #X msg 15 109 capability; #X obj 15 129 s \$0.ARDUINO.TO; #X obj 14 179 r \$0.ARDUINO.INFO; #X obj 14 199 route capability; #X obj 14 220 route end begin; #X obj 15 455 table \$0.PINMODE.MATRIX 256; #N canvas 0 87 288 315 write.to.matrix 0; #X obj 16 24 inlet; #X obj 16 254 s \$0.PINMODE.MATRIX; #X obj 43 180 tabread \$0.PINMODE.MATRIX; #X obj 16 48 unpack f s f; #N canvas 436 229 732 217 convert_symbolic_to_numeric 0; #X obj 10 12 inlet; #X msg 10 112 0; #X msg 79 112 1; #X msg 148 112 2; #X msg 217 112 3; #X msg 286 112 4; #X msg 355 112 5; #X msg 406 112 6; #X msg 457 112 7; #X msg 508 112 8; #X msg 559 112 9; #X obj 355 79 select SHIFT I2C ONEWIRE STEPPER ENCODER SERIAL INPUT_PULLUP ; #X obj 10 55 select DIGITAL_INPUT DIGITAL_OUTPUT ANALOG_INPUT PWM SERVO ; #X msg 610 112 10; #X msg 661 112 11; #X obj 10 186 outlet; #X connect 0 0 12 0; #X connect 1 0 15 0; #X connect 2 0 15 0; #X connect 3 0 15 0; #X connect 4 0 15 0; #X connect 5 0 15 0; #X connect 6 0 15 0; #X connect 7 0 15 0; #X connect 8 0 15 0; #X connect 9 0 15 0; #X connect 10 0 15 0; #X connect 11 0 6 0; #X connect 11 1 7 0; #X connect 11 2 8 0; #X connect 11 3 9 0; #X connect 11 4 10 0; #X connect 11 5 13 0; #X connect 11 6 14 0; #X connect 12 0 1 0; #X connect 12 1 2 0; #X connect 12 2 3 0; #X connect 12 3 4 0; #X connect 12 4 5 0; #X connect 12 5 11 0; #X connect 13 0 15 0; #X connect 14 0 15 0; #X restore 50 79 pd convert_symbolic_to_numeric; #X obj 16 161 t a a; #X obj 50 138 <<; #X msg 50 119 1; #X obj 50 99 t b a; #X text 91 124 << bitshift; #X obj 16 231 pack f f; #X obj 43 201 |; #X connect 0 0 3 0; #X connect 2 0 11 0; #X connect 3 0 5 0; #X connect 3 1 4 0; #X connect 4 0 8 0; #X connect 5 0 10 0; #X connect 5 1 2 0; #X connect 6 0 11 1; #X connect 7 0 6 0; #X connect 8 0 7 0; #X connect 8 1 6 1; #X connect 10 0 1 0; #X connect 11 0 10 1; #X restore 101 249 pd write.to.matrix; #X msg 57 275 const 0; #X obj 57 295 s \$0.PINMODE.MATRIX; #X text 255 44 & 1: DIGITAL_INPUT; #X text 255 80 & 4: ANALOG_INPUT; #X text 255 62 & 2: DIGITAL_OUTPUT; #X text 255 98 & 8: PWM; #X text 249 116 & 16: SERVO; #X text 249 134 & 32: SHIFT; #X text 249 152 & 64: I2C; #X text 243 170 & 128: ONEWIRE; #X text 243 188 & 256: STEPPER; #X text 243 206 & 512: ENCODER; #X text 237 224 & 1024: SERIAL; #X text 237 242 & 2048: INPUT_PULLUP; #X text 237 19 MATRIX ENCODING; #X text 237 26 ---------------; #X floatatom 239 267 5 0 0 0 - - -; #X obj 239 301 tabread \$0.PINMODE.MATRIX; #X obj 239 321 t a a a a a a; #X obj 239 343 & 1; #X msg 239 393 input; #X obj 279 342 & 2; #X msg 279 393 output; #X obj 326 342 & 4; #X obj 372 342 & 8; #X msg 372 393 pwm; #X msg 412 393 servo; #X obj 239 284 t a a; #X obj 239 437 list prepend; #X msg 326 393 analog; #X obj 412 342 & 16; #X obj 239 369 sel 1; #X obj 279 368 sel 2; #X obj 326 368 sel 4; #X obj 372 368 sel 8; #X obj 412 368 sel 16; #X obj 239 457 print MODES; #X obj 15 34 route connected emulate; #X obj 14 335 outlet; #X obj 14 299 bang; #X connect 0 0 47 0; #X connect 1 0 2 1; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 5 0 6 0; #X connect 6 0 7 0; #X connect 7 0 49 0; #X connect 7 1 10 0; #X connect 7 2 9 0; #X connect 10 0 11 0; #X connect 26 0 37 0; #X connect 27 0 28 0; #X connect 28 0 29 0; #X connect 28 1 31 0; #X connect 28 2 33 0; #X connect 28 3 34 0; #X connect 28 3 40 0; #X connect 29 0 41 0; #X connect 30 0 38 0; #X connect 31 0 42 0; #X connect 32 0 38 0; #X connect 33 0 43 0; #X connect 34 0 44 0; #X connect 35 0 38 0; #X connect 36 0 38 0; #X connect 37 0 27 0; #X connect 37 1 38 1; #X connect 38 0 46 0; #X connect 39 0 38 0; #X connect 40 0 45 0; #X connect 41 0 30 0; #X connect 42 0 32 0; #X connect 43 0 39 0; #X connect 44 0 35 0; #X connect 45 0 36 0; #X connect 47 0 2 0; #X connect 47 1 1 0; #X connect 49 0 48 0; #X restore 693 284 pd CAPABILITY query; #X obj 507 386 == 0; #X obj 507 366 route emulate; #N canvas 0 50 361 415 ANALOG_MAPPING 0; #X obj 15 69 s \$0.ARDUINO.TO; #X obj 14 89 r \$0.ARDUINO.INFO; #X msg 15 49 analogMapping; #X obj 14 108 route analogMapping; #X obj 14 128 route end begin; #X obj 14 268 s \$0.ARDUINO.INTERN; #X obj 13 349 table \$0.DIGITAL.ANALOG.MAPPING 256; #X obj 13 368 table \$0.ANALOG.DIGITAL.MAPPING 256; #X obj 116 237 s \$0.DIGITAL.ANALOG.MAPPING; #X obj 143 196 s \$0.ANALOG.DIGITAL.MAPPING; #X msg 116 216 \$2 \$1; #X obj 116 148 t a a; #X obj 15 12 inlet; #X msg 14 247 ready 1; #X msg 57 167 const -1; #X obj 222 81 loadbang; #X connect 1 0 3 0; #X connect 2 0 0 0; #X connect 3 0 4 0; #X connect 4 0 13 0; #X connect 4 1 14 0; #X connect 4 2 11 0; #X connect 10 0 8 0; #X connect 11 0 10 0; #X connect 11 1 9 0; #X connect 12 0 2 0; #X connect 13 0 5 0; #X connect 14 0 9 0; #X connect 14 0 8 0; #X connect 15 0 14 0; #X restore 693 306 pd ANALOG_MAPPING query; #X text 649 450 Authors: Roman Haefeli & Olsen Wolf; #N canvas 755 50 484 419 PIN_ALIAS_MAPPING 0; #X text 18 21 Some boards like the Arduino Leonard report more pin than they physically have. This is a hand-crafted (a.k.a hard-coded) table that maps aliases to physical pins.; #X obj 19 63 loadbang; #X msg 19 127 4 24 \, 6 25 \, 8 26 \, 9 27 \, 10 28 \, 12 29; #X floatatom 22 279 5 0 0 0 - - -; #X floatatom 22 318 5 0 0 0 - - -; #X obj 22 340 tabread \$0.DIGITAL.ANALOG.MAPPING; #X floatatom 22 360 5 0 0 0 - - -; #X obj 46 166 s \$0.PIN.ALIAS.MAPPING; #X msg 19 185 \$2 \$1; #X obj 19 206 s \$0.ALIAS.PIN.MAPPING; #X obj 19 231 table \$0.PIN.ALIAS.MAPPING 256; #X obj 19 249 table \$0.ALIAS.PIN.MAPPING 256; #X text 61 277 physical pin; #X text 64 318 alias; #X text 64 359 analog #; #X obj 22 296 tabread \$0.PIN.ALIAS.MAPPING; #X floatatom 242 279 5 0 0 0 - - -; #X floatatom 242 318 5 0 0 0 - - -; #X floatatom 242 360 5 0 0 0 - - -; #X text 284 318 alias; #X obj 242 296 tabread \$0.ANALOG.DIGITAL.MAPPING; #X obj 242 340 tabread \$0.ALIAS.PIN.MAPPING; #X text 282 277 analog; #X text 284 359 physical; #X msg 46 103 const -1; #X obj 19 147 t a a; #X obj 19 83 t b b; #X connect 1 0 26 0; #X connect 2 0 25 0; #X connect 3 0 15 0; #X connect 4 0 5 0; #X connect 5 0 6 0; #X connect 8 0 9 0; #X connect 15 0 4 0; #X connect 16 0 20 0; #X connect 17 0 21 0; #X connect 20 0 17 0; #X connect 21 0 18 0; #X connect 24 0 7 0; #X connect 24 0 9 0; #X connect 25 0 8 0; #X connect 25 1 7 0; #X connect 26 0 2 0; #X connect 26 1 24 0; #X restore 693 327 pd PIN_ALIAS_MAPPING; #X obj 332 346 includes/agop.digital.pin \$0 2; #X obj 332 332 includes/agop.digital.pin \$0 3; #X obj 332 318 includes/agop.digital.pin \$0 4; #X obj 332 304 includes/agop.digital.pin \$0 5; #X obj 332 290 includes/agop.digital.pin \$0 6; #X obj 332 276 includes/agop.digital.pin \$0 7; #X obj 332 255 includes/agop.digital.pin \$0 8; #X obj 332 241 includes/agop.digital.pin \$0 9; #X obj 332 227 includes/agop.digital.pin \$0 10; #X obj 332 213 includes/agop.digital.pin \$0 11; #X obj 332 185 includes/agop.digital.pin \$0 13; #X connect 1 0 8 0; #X connect 6 0 110 0; #X connect 7 0 3 0; #X connect 106 0 2 0; #X connect 107 0 104 0; #X connect 108 0 110 0; #X connect 109 0 150 0; #X connect 110 0 144 0; #X connect 144 0 4 0; #X connect 144 1 5 0; #X connect 146 0 145 0; #X connect 148 0 151 0; #X connect 149 0 110 1; #X connect 150 0 149 0; #X coords 0 -1 1 1 275 370 2 80 20; pduino-0.8/arduino-help.pd000066400000000000000000001451341402671452100156050ustar00rootroot00000000000000#N canvas 357 106 645 579 10; #X obj 2 55 cnv 15 400 210 empty empty empty 12 12 0 10 -233017 -66577 0; #X obj 2 268 cnv 15 400 200 empty empty empty 12 12 0 10 -233017 -66577 0; #X obj 405 55 cnv 15 230 210 empty empty empty 12 12 0 10 -233017 -66577 0; #X obj 405 268 cnv 15 230 200 empty empty empty 12 12 0 10 -233017 -66577 0; #X msg 440 397 digital 13 \$1; #X obj 440 379 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X msg 419 338 pinMode 13 output; #X text 456 376 <- toggle pin 13 on and off; #X text 544 340 output mode; #X text 543 328 set pin 13 to; #X text 527 335 <-; #X obj 469 172 send \$0-arduino-info; #X text 495 130 here's our; #X text 494 142 Arduino object; #X text 479 138 <-; #X obj 2 2 cnv 15 400 50 empty empty empty 12 10 0 10 -233017 -66577 0; #X text 16 373 Pure Data -> World; #X text 188 373 World -> Pure Data; #N canvas 0 50 774 440 OUTPUT_DIGITAL 0; #X obj 129 182 tgl 15 0 empty empty 7 4 -6 1 10 -233017 -1 -1 0 1; #X obj 144 182 tgl 15 0 empty empty 8 4 -6 1 10 -233017 -1 -1 0 1; #X obj 159 182 tgl 15 0 empty empty 9 4 -6 1 10 -233017 -1 -1 0 1; #X obj 174 182 tgl 15 0 empty empty 10 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 189 182 tgl 15 0 empty empty 11 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 204 182 tgl 15 0 empty empty 12 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 219 182 tgl 15 0 empty empty 13 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 54 182 tgl 15 0 empty empty 2 4 -6 1 10 -233017 -1 -1 0 1; #X obj 69 182 tgl 15 0 empty empty 3 4 -6 1 10 -233017 -1 -1 0 1; #X obj 84 182 tgl 15 0 empty empty 4 4 -6 1 10 -233017 -1 -1 0 1; #X obj 99 182 tgl 15 0 empty empty 5 4 -6 1 10 -233017 -1 -1 0 1; #X obj 114 182 tgl 15 0 empty empty 6 4 -6 1 10 -233017 -1 -1 0 1; #X obj 24 182 tgl 15 0 empty empty 0 3 -6 1 10 -260818 -1 -1 0 1; #X obj 39 182 tgl 15 0 empty empty 1 3 -6 1 10 -260818 -1 -1 0 1; #X obj 25 183 cnv 13 13 13 empty empty Rx 0 8 0 10 -128992 -86277 0 ; #X obj 40 183 cnv 13 13 13 empty empty Tx 0 8 0 10 -128992 -13381 0 ; #X text 366 338 You can also send digital messages 8-bits at a time \, called a "port". Microcontrollers like the Arduino are organized around 8-bit ports. This allows you to set 8 pins at the same time with one message; #X obj 249 182 tgl 15 0 empty empty 14 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 264 182 tgl 15 0 empty empty 15 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 279 182 tgl 15 0 empty empty 16 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 294 182 tgl 15 0 empty empty 17 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 309 182 tgl 15 0 empty empty 18 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 324 182 tgl 15 0 empty empty 19 0 -6 1 10 -233017 -1 -1 0 1 ; #X text 248 154 A0; #X text 323 153 A6; #X text 268 152 .......; #X obj 24 36 bng 15 250 50 0 empty empty 0 1 -6 1 10 -99865 -1 -1; #X obj 39 36 bng 15 250 50 0 empty empty 1 1 -6 1 10 -99865 -1 -1; #X obj 54 36 bng 15 250 50 0 empty empty 2 1 -6 1 10 -228856 -1 -1 ; #X obj 69 36 bng 15 250 50 0 empty empty 3 1 -6 1 10 -228856 -1 -1 ; #X obj 84 36 bng 15 250 50 0 empty empty 4 1 -6 1 10 -228856 -1 -1 ; #X obj 99 36 bng 15 250 50 0 empty empty 5 1 -6 1 10 -228856 -1 -1 ; #X obj 114 36 bng 15 250 50 0 empty empty 6 1 -6 1 10 -228856 -1 -1 ; #X obj 144 36 bng 15 250 50 0 empty empty 8 1 -6 1 10 -228856 -1 -1 ; #X obj 159 36 bng 15 250 50 0 empty empty 9 1 -6 1 10 -228856 -1 -1 ; #X obj 174 36 bng 15 250 50 0 empty empty 10 1 -6 1 10 -228856 -1 -1 ; #X obj 189 36 bng 15 250 50 0 empty empty 11 1 -6 1 10 -228856 -1 -1 ; #X obj 204 36 bng 15 250 50 0 empty empty 12 1 -6 1 10 -228856 -1 -1 ; #X obj 219 36 bng 15 250 50 0 empty empty 13 1 -6 1 10 -228856 -1 -1 ; #X obj 249 36 bng 15 250 50 0 empty empty 14 1 -6 1 10 -228856 -1 -1 ; #X obj 264 36 bng 15 250 50 0 empty empty 15 1 -6 1 10 -228856 -1 -1 ; #X obj 279 36 bng 15 250 50 0 empty empty 16 1 -6 1 10 -228856 -1 -1 ; #X obj 294 36 bng 15 250 50 0 empty empty 17 1 -6 1 10 -228856 -1 -1 ; #X obj 309 36 bng 15 250 50 0 empty empty 18 1 -6 1 10 -228856 -1 -1 ; #X obj 324 36 bng 15 250 50 0 empty empty 19 1 -6 1 10 -228856 -1 -1 ; #X obj 129 36 bng 15 250 50 0 empty empty 7 1 -6 1 10 -228856 -1 -1 ; #X text 248 8 A0; #X text 268 6 .......; #X obj 9 139 cnv 1 750 1 empty empty empty 20 12 0 14 -1 -66577 0; #X text 110 234 <-- COMMAND; #X text 134 84 <-- COMMAND; #X text 366 12 SET PIN MODE; #X obj 9 299 cnv 1 750 1 empty empty empty 20 12 0 14 -1 -66577 0; #X text 366 153 SET STATE (PER PIN); #X text 366 313 SET STATE (PER BLOCK); #X msg 24 83; #X msg 24 234; #X text 101 374 <-- COMMAND; #X obj 105 320 hradio 15 1 0 3 empty empty port 50 6 0 10 -228856 -1 -1 0; #X obj 24 321 nbx 3 14 0 255 0 0 empty empty empty 0 -8 0 10 -228856 -1 -1 0 256; #X text 365 70 NOTE:; #X text 365 240 NOTE:; #X text 367 180 Set the individual pins to a 'HIGH' or 'LOW' state. ; #X text 364 85 'output' is the default mode for pins 2 to 13 when turning on the board.; #X text 434 208 0 = 0V = LOW; #X text 433 221 1 = 5V = HIGH; #X msg 24 373; #X text 365 32 To use a pin as a digital output \, you need to set its pin mode to 'output' first.; #X text 366 256 The default state for pins in 'output' mode is 'LOW'. ; #N canvas 101 162 791 311 pinMode______________________________________ 0; #X obj 32 22 inlet; #X obj 288 262 outlet; #X obj 288 235 trigger bang anything; #X obj 68 22 inlet; #X obj 104 22 inlet; #X obj 140 22 inlet; #X obj 176 22 inlet; #X obj 212 22 inlet; #X obj 248 22 inlet; #X obj 284 22 inlet; #X obj 320 22 inlet; #X obj 356 22 inlet; #X obj 392 22 inlet; #X obj 428 22 inlet; #X obj 464 22 inlet; #X obj 500 22 inlet; #X obj 536 22 inlet; #X obj 572 22 inlet; #X obj 608 22 inlet; #X obj 644 22 inlet; #X obj 680 22 inlet; #X obj 716 22 inlet; #X msg 32 53 0; #X msg 68 74 1; #X msg 104 53 2; #X msg 140 74 3; #X msg 176 53 4; #X msg 212 74 5; #X msg 248 53 6; #X msg 284 74 7; #X msg 320 54 8; #X msg 356 74 9; #X msg 392 53 10; #X msg 428 75 11; #X msg 464 53 12; #X msg 500 74 13; #X msg 536 53 14; #X msg 572 74 15; #X msg 608 53 16; #X msg 644 74 17; #X msg 680 53 18; #X msg 716 74 19; #X obj 288 194 t a; #X msg 288 214 set pinMode \$1 output; #X connect 0 0 22 0; #X connect 2 0 1 0; #X connect 2 1 1 0; #X connect 3 0 23 0; #X connect 4 0 24 0; #X connect 5 0 25 0; #X connect 6 0 26 0; #X connect 7 0 27 0; #X connect 8 0 28 0; #X connect 9 0 29 0; #X connect 10 0 30 0; #X connect 11 0 31 0; #X connect 12 0 32 0; #X connect 13 0 33 0; #X connect 14 0 34 0; #X connect 15 0 35 0; #X connect 16 0 36 0; #X connect 17 0 37 0; #X connect 18 0 38 0; #X connect 19 0 39 0; #X connect 20 0 40 0; #X connect 21 0 41 0; #X connect 22 0 42 0; #X connect 23 0 42 0; #X connect 24 0 42 0; #X connect 25 0 42 0; #X connect 26 0 42 0; #X connect 27 0 42 0; #X connect 28 0 42 0; #X connect 29 0 42 0; #X connect 30 0 42 0; #X connect 31 0 42 0; #X connect 32 0 42 0; #X connect 33 0 42 0; #X connect 34 0 42 0; #X connect 35 0 42 0; #X connect 36 0 42 0; #X connect 37 0 42 0; #X connect 38 0 42 0; #X connect 39 0 42 0; #X connect 40 0 42 0; #X connect 41 0 42 0; #X connect 42 0 43 0; #X connect 43 0 2 0; #X restore 24 61 pd pinMode______________________________________; #N canvas 101 162 791 311 digital______________________________________ 0; #X obj 32 22 inlet; #X obj 288 262 outlet; #X obj 288 235 trigger bang anything; #X obj 288 214 list trim; #X obj 288 194 list prepend set digital; #X msg 32 53 0 \$1; #X obj 68 22 inlet; #X msg 68 74 1 \$1; #X obj 104 22 inlet; #X obj 140 22 inlet; #X msg 104 53 2 \$1; #X msg 140 74 3 \$1; #X obj 176 22 inlet; #X obj 212 22 inlet; #X obj 248 22 inlet; #X obj 284 22 inlet; #X msg 176 53 4 \$1; #X msg 212 74 5 \$1; #X msg 248 53 6 \$1; #X msg 284 74 7 \$1; #X obj 320 22 inlet; #X obj 356 22 inlet; #X obj 392 22 inlet; #X obj 428 22 inlet; #X obj 464 22 inlet; #X obj 500 22 inlet; #X obj 536 22 inlet; #X obj 572 22 inlet; #X msg 320 53 8 \$1; #X msg 356 74 9 \$1; #X msg 392 53 10 \$1; #X msg 428 74 11 \$1; #X msg 464 53 12 \$1; #X msg 500 74 13 \$1; #X msg 536 53 14 \$1; #X msg 572 74 15 \$1; #X obj 608 22 inlet; #X obj 644 22 inlet; #X obj 680 22 inlet; #X obj 716 22 inlet; #X msg 608 53 16 \$1; #X msg 644 74 17 \$1; #X msg 680 53 18 \$1; #X msg 716 74 19 \$1; #X connect 0 0 5 0; #X connect 2 0 1 0; #X connect 2 1 1 0; #X connect 3 0 2 0; #X connect 4 0 3 0; #X connect 5 0 4 0; #X connect 6 0 7 0; #X connect 7 0 4 0; #X connect 8 0 10 0; #X connect 9 0 11 0; #X connect 10 0 4 0; #X connect 11 0 4 0; #X connect 12 0 16 0; #X connect 13 0 17 0; #X connect 14 0 18 0; #X connect 15 0 19 0; #X connect 16 0 4 0; #X connect 17 0 4 0; #X connect 18 0 4 0; #X connect 19 0 4 0; #X connect 20 0 28 0; #X connect 21 0 29 0; #X connect 22 0 30 0; #X connect 23 0 31 0; #X connect 24 0 32 0; #X connect 25 0 33 0; #X connect 26 0 34 0; #X connect 27 0 35 0; #X connect 28 0 4 0; #X connect 29 0 4 0; #X connect 30 0 4 0; #X connect 31 0 4 0; #X connect 32 0 4 0; #X connect 33 0 4 0; #X connect 34 0 4 0; #X connect 35 0 4 0; #X connect 36 0 40 0; #X connect 37 0 41 0; #X connect 38 0 42 0; #X connect 39 0 43 0; #X connect 40 0 4 0; #X connect 41 0 4 0; #X connect 42 0 4 0; #X connect 43 0 4 0; #X restore 24 207 pd digital______________________________________ ; #N canvas 745 205 210 188 port_______ 0; #X obj 30 42 inlet; #X obj 98 42 inlet; #X obj 30 118 outlet; #X obj 30 73 pack f f; #X msg 30 96 set port \$2 \$1 \, bang; #X connect 0 0 3 0; #X connect 1 0 3 1; #X connect 3 0 4 0; #X connect 4 0 2 0; #X restore 24 345 pd port_______; #X text 323 7 A5; #X obj 22 107 cnv 15 98 21 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 22 261 cnv 15 98 21 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 22 396 cnv 15 98 21 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 24 263 send \$0-arduino; #X obj 24 398 send \$0-arduino; #X obj 24 109 send \$0-arduino; #X connect 0 0 70 7; #X connect 1 0 70 8; #X connect 2 0 70 9; #X connect 3 0 70 10; #X connect 4 0 70 11; #X connect 5 0 70 12; #X connect 6 0 70 13; #X connect 7 0 70 2; #X connect 8 0 70 3; #X connect 9 0 70 4; #X connect 10 0 70 5; #X connect 11 0 70 6; #X connect 17 0 70 14; #X connect 18 0 70 15; #X connect 19 0 70 16; #X connect 20 0 70 17; #X connect 21 0 70 18; #X connect 22 0 70 19; #X connect 28 0 69 2; #X connect 29 0 69 3; #X connect 30 0 69 4; #X connect 31 0 69 5; #X connect 32 0 69 6; #X connect 33 0 69 8; #X connect 34 0 69 9; #X connect 35 0 69 10; #X connect 36 0 69 11; #X connect 37 0 69 12; #X connect 38 0 69 13; #X connect 39 0 69 14; #X connect 40 0 69 15; #X connect 41 0 69 16; #X connect 42 0 69 17; #X connect 43 0 69 18; #X connect 44 0 69 19; #X connect 45 0 69 7; #X connect 55 0 78 0; #X connect 56 0 76 0; #X connect 58 0 71 1; #X connect 59 0 71 0; #X connect 66 0 77 0; #X connect 69 0 55 0; #X connect 70 0 56 0; #X connect 71 0 66 0; #X restore 18 393 pd OUTPUT_DIGITAL; #N canvas 35 50 785 319 OUTPUT_PWM 0; #X obj 24 36 bng 15 250 50 0 empty empty 0 1 -6 1 10 -99865 -1 -1; #X obj 39 36 bng 15 250 50 0 empty empty 1 1 -6 1 10 -99865 -1 -1; #X obj 54 36 bng 15 250 50 0 empty empty 2 1 -6 1 10 -99865 -1 -1; #X obj 69 36 bng 15 250 50 0 empty empty 3 1 -6 1 10 -228856 -1 -1 ; #X obj 84 36 bng 15 250 50 0 empty empty 4 1 -6 1 10 -99865 -1 -1; #X obj 99 36 bng 15 250 50 0 empty empty 5 1 -6 1 10 -228856 -1 -1 ; #X obj 114 36 bng 15 250 50 0 empty empty 6 1 -6 1 10 -228856 -1 -1 ; #X obj 144 36 bng 15 250 50 0 empty empty 8 1 -6 1 10 -99865 -1 -1 ; #X obj 159 36 bng 15 250 50 0 empty empty 9 1 -6 1 10 -228856 -1 -1 ; #X obj 174 36 bng 15 250 50 0 empty empty 10 1 -6 1 10 -228856 -1 -1 ; #X obj 189 36 bng 15 250 50 0 empty empty 11 1 -6 1 10 -228856 -1 -1 ; #X obj 204 36 bng 15 250 50 0 empty empty 12 1 -6 1 10 -99865 -1 -1 ; #X obj 219 36 bng 15 250 50 0 empty empty 13 1 -6 1 10 -99865 -1 -1 ; #X obj 249 36 bng 15 250 50 0 empty empty 14 1 -6 1 10 -99865 -1 -1 ; #X obj 264 36 bng 15 250 50 0 empty empty 15 1 -6 1 10 -99865 -1 -1 ; #X obj 279 36 bng 15 250 50 0 empty empty 16 1 -6 1 10 -99865 -1 -1 ; #X obj 294 36 bng 15 250 50 0 empty empty 17 1 -6 1 10 -99865 -1 -1 ; #X obj 309 36 bng 15 250 50 0 empty empty 18 1 -6 1 10 -99865 -1 -1 ; #X obj 324 36 bng 15 250 50 0 empty empty 19 1 -6 1 10 -99865 -1 -1 ; #X obj 129 36 bng 15 250 50 0 empty empty 7 1 -6 1 10 -99865 -1 -1 ; #X text 248 8 A0; #X text 268 6 .......; #X obj 9 139 cnv 1 750 1 empty empty empty 20 12 0 14 -1 -66577 0; #X text 109 235 <-- COMMAND; #X text 120 85 <-- COMMAND; #X text 366 12 SET PIN MODE; #X text 365 70 NOTE:; #X text 365 240 NOTE:; #X text 365 32 To use a pin as a pwm/analog output \, you need to set its pin mode to 'pwm' first.; #X obj 27 162 hsl 101 15 0 1 0 0 empty empty value -2 -8 0 10 -228856 -1 -1 0 1; #X obj 117 187 nbx 3 14 -1e+37 1e+37 0 0 empty empty pin_No. 40 6 0 10 -228856 -1 -1 0 256; #X text 367 180 Set the individual pins to a certain value.; #X text 366 153 SET PWM VALUE; #X text 365 89 Only a few pins (the ones colored light-grey) support 'pwm' mode.; #X text 366 256 The default value for pins in 'pwm' mode is 0; #N canvas 101 162 791 311 pinMode______________________________________ 0; #X obj 32 22 inlet; #X obj 288 262 outlet; #X obj 288 235 trigger bang anything; #X obj 68 22 inlet; #X obj 104 22 inlet; #X obj 140 22 inlet; #X obj 176 22 inlet; #X obj 212 22 inlet; #X obj 248 22 inlet; #X obj 284 22 inlet; #X obj 320 22 inlet; #X obj 356 22 inlet; #X obj 392 22 inlet; #X obj 428 22 inlet; #X obj 464 22 inlet; #X obj 500 22 inlet; #X obj 536 22 inlet; #X obj 572 22 inlet; #X obj 608 22 inlet; #X obj 644 22 inlet; #X obj 680 22 inlet; #X obj 716 22 inlet; #X msg 32 53 0; #X msg 68 74 1; #X msg 104 53 2; #X msg 140 74 3; #X msg 176 53 4; #X msg 212 74 5; #X msg 248 53 6; #X msg 284 74 7; #X msg 320 54 8; #X msg 356 74 9; #X msg 392 53 10; #X msg 428 75 11; #X msg 464 53 12; #X msg 500 74 13; #X msg 536 53 14; #X msg 572 74 15; #X msg 608 53 16; #X msg 644 74 17; #X msg 680 53 18; #X msg 716 74 19; #X obj 288 194 t a; #X msg 288 214 set pinMode \$1 pwm; #X connect 0 0 22 0; #X connect 2 0 1 0; #X connect 2 1 1 0; #X connect 3 0 23 0; #X connect 4 0 24 0; #X connect 5 0 25 0; #X connect 6 0 26 0; #X connect 7 0 27 0; #X connect 8 0 28 0; #X connect 9 0 29 0; #X connect 10 0 30 0; #X connect 11 0 31 0; #X connect 12 0 32 0; #X connect 13 0 33 0; #X connect 14 0 34 0; #X connect 15 0 35 0; #X connect 16 0 36 0; #X connect 17 0 37 0; #X connect 18 0 38 0; #X connect 19 0 39 0; #X connect 20 0 40 0; #X connect 21 0 41 0; #X connect 22 0 42 0; #X connect 23 0 42 0; #X connect 24 0 42 0; #X connect 25 0 42 0; #X connect 26 0 42 0; #X connect 27 0 42 0; #X connect 28 0 42 0; #X connect 29 0 42 0; #X connect 30 0 42 0; #X connect 31 0 42 0; #X connect 32 0 42 0; #X connect 33 0 42 0; #X connect 34 0 42 0; #X connect 35 0 42 0; #X connect 36 0 42 0; #X connect 37 0 42 0; #X connect 38 0 42 0; #X connect 39 0 42 0; #X connect 40 0 42 0; #X connect 41 0 42 0; #X connect 42 0 43 0; #X connect 43 0 2 0; #X restore 24 61 pd pinMode______________________________________; #N canvas 101 162 296 179 analog_______ 0; #X obj 32 22 inlet; #X obj 32 121 outlet; #X obj 162 25 inlet; #X obj 32 69 pack f f; #X msg 32 98 set analog \$2 \$1 \, bang; #X connect 0 0 3 0; #X connect 2 0 3 1; #X connect 3 0 4 0; #X connect 4 0 1 0; #X restore 24 207 pd analog_______; #X text 323 7 A5; #X msg 24 234 analog 9 0; #X obj 22 107 cnv 15 98 21 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 22 261 cnv 15 98 21 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 24 263 send \$0-arduino; #X obj 24 109 send \$0-arduino; #X msg 24 83; #X connect 3 0 35 3; #X connect 5 0 35 5; #X connect 6 0 35 6; #X connect 8 0 35 9; #X connect 9 0 35 10; #X connect 10 0 35 11; #X connect 29 0 36 0; #X connect 30 0 36 1; #X connect 35 0 43 0; #X connect 36 0 38 0; #X connect 38 0 41 0; #X connect 43 0 42 0; #X restore 18 416 pd OUTPUT_PWM; #N canvas 73 50 785 319 OUTPUT_SERVO 0; #X obj 24 36 bng 15 250 50 0 empty empty 0 1 -6 1 10 -99865 -1 -1; #X obj 39 36 bng 15 250 50 0 empty empty 1 1 -6 1 10 -99865 -1 -1; #X obj 54 36 bng 15 250 50 0 empty empty 2 1 -6 1 10 -228856 -1 -1 ; #X obj 69 36 bng 15 250 50 0 empty empty 3 1 -6 1 10 -228856 -1 -1 ; #X obj 84 36 bng 15 250 50 0 empty empty 4 1 -6 1 10 -228856 -1 -1 ; #X obj 99 36 bng 15 250 50 0 empty empty 5 1 -6 1 10 -228856 -1 -1 ; #X obj 114 36 bng 15 250 50 0 empty empty 6 1 -6 1 10 -228856 -1 -1 ; #X obj 144 36 bng 15 250 50 0 empty empty 8 1 -6 1 10 -228856 -1 -1 ; #X obj 159 36 bng 15 250 50 0 empty empty 9 1 -6 1 10 -228856 -1 -1 ; #X obj 174 36 bng 15 250 50 0 empty empty 10 1 -6 1 10 -228856 -1 -1 ; #X obj 189 36 bng 15 250 50 0 empty empty 11 1 -6 1 10 -228856 -1 -1 ; #X obj 204 36 bng 15 250 50 0 empty empty 12 1 -6 1 10 -228856 -1 -1 ; #X obj 219 36 bng 15 250 50 0 empty empty 13 1 -6 1 10 -228856 -1 -1 ; #X obj 249 36 bng 15 250 50 0 empty empty 14 1 -6 1 10 -99865 -1 -1 ; #X obj 264 36 bng 15 250 50 0 empty empty 15 1 -6 1 10 -99865 -1 -1 ; #X obj 279 36 bng 15 250 50 0 empty empty 16 1 -6 1 10 -99865 -1 -1 ; #X obj 294 36 bng 15 250 50 0 empty empty 17 1 -6 1 10 -99865 -1 -1 ; #X obj 309 36 bng 15 250 50 0 empty empty 18 1 -6 1 10 -99865 -1 -1 ; #X obj 324 36 bng 15 250 50 0 empty empty 19 1 -6 1 10 -99865 -1 -1 ; #X obj 129 36 bng 15 250 50 0 empty empty 7 1 -6 1 10 -228856 -1 -1 ; #X text 248 8 A0; #X text 268 6 .......; #X obj 9 139 cnv 1 750 1 empty empty empty 20 12 0 14 -1 -66577 0; #X text 115 235 <-- COMMAND; #X text 134 84 <-- COMMAND; #X text 366 12 SET PIN MODE; #X text 365 70 NOTE:; #X text 365 240 NOTE:; #X obj 27 162 hsl 101 15 0 1 0 0 empty empty value -2 -8 0 10 -228856 -1 -1 0 1; #X obj 99 187 nbx 3 14 -1e+37 1e+37 0 0 empty empty pin_No. 40 6 0 10 -228856 -1 -1 0 256; #X text 367 180 Set the individual pins to a certain value.; #X text 366 153 SET SERVO VALUE; #X text 365 32 To use a pin as a servo output \, you need to set its pin mode to 'servo' first.; #X msg 24 234; #X msg 24 83; #X text 365 89 Only the pins from 2 to 13 support 'servo' mode.; #X text 366 256 The default value for pins in 'servo' mode is 0; #N canvas 101 162 791 311 pinMode______________________________________ 0; #X obj 32 22 inlet; #X obj 288 250 outlet; #X obj 68 22 inlet; #X obj 104 22 inlet; #X obj 140 22 inlet; #X obj 176 22 inlet; #X obj 212 22 inlet; #X obj 248 22 inlet; #X obj 284 22 inlet; #X obj 320 22 inlet; #X obj 356 22 inlet; #X obj 392 22 inlet; #X obj 428 22 inlet; #X obj 464 22 inlet; #X obj 500 22 inlet; #X obj 536 22 inlet; #X obj 572 22 inlet; #X obj 608 22 inlet; #X obj 644 22 inlet; #X obj 680 22 inlet; #X obj 716 22 inlet; #X msg 32 53 0; #X msg 68 74 1; #X msg 104 53 2; #X msg 140 74 3; #X msg 176 53 4; #X msg 212 74 5; #X msg 248 53 6; #X msg 284 74 7; #X msg 320 54 8; #X msg 356 74 9; #X msg 392 53 10; #X msg 428 75 11; #X msg 464 53 12; #X msg 500 74 13; #X msg 536 53 14; #X msg 572 74 15; #X msg 608 53 16; #X msg 644 74 17; #X msg 680 53 18; #X msg 716 74 19; #X obj 288 194 t a; #X msg 288 214 set pinMode \$1 servo \, bang; #X connect 0 0 21 0; #X connect 2 0 22 0; #X connect 3 0 23 0; #X connect 4 0 24 0; #X connect 5 0 25 0; #X connect 6 0 26 0; #X connect 7 0 27 0; #X connect 8 0 28 0; #X connect 9 0 29 0; #X connect 10 0 30 0; #X connect 11 0 31 0; #X connect 12 0 32 0; #X connect 13 0 33 0; #X connect 14 0 34 0; #X connect 15 0 35 0; #X connect 16 0 36 0; #X connect 17 0 37 0; #X connect 18 0 38 0; #X connect 19 0 39 0; #X connect 20 0 40 0; #X connect 21 0 41 0; #X connect 22 0 41 0; #X connect 23 0 41 0; #X connect 24 0 41 0; #X connect 25 0 41 0; #X connect 26 0 41 0; #X connect 27 0 41 0; #X connect 28 0 41 0; #X connect 29 0 41 0; #X connect 30 0 41 0; #X connect 31 0 41 0; #X connect 32 0 41 0; #X connect 33 0 41 0; #X connect 34 0 41 0; #X connect 35 0 41 0; #X connect 36 0 41 0; #X connect 37 0 41 0; #X connect 38 0 41 0; #X connect 39 0 41 0; #X connect 40 0 41 0; #X connect 41 0 42 0; #X connect 42 0 1 0; #X restore 24 61 pd pinMode______________________________________; #N canvas 101 162 296 179 analog____ 0; #X obj 32 22 inlet; #X obj 32 121 outlet; #X obj 162 25 inlet; #X obj 32 69 pack f f; #X msg 32 98 set analog \$2 \$1 \, bang; #X connect 0 0 3 0; #X connect 2 0 3 1; #X connect 3 0 4 0; #X connect 4 0 1 0; #X restore 24 207 pd analog____; #X text 323 7 A5; #X obj 22 107 cnv 15 98 21 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 22 261 cnv 15 98 21 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 24 263 send \$0-arduino; #X obj 24 109 send \$0-arduino; #X connect 2 0 37 2; #X connect 3 0 37 3; #X connect 4 0 37 4; #X connect 5 0 37 5; #X connect 6 0 37 6; #X connect 7 0 37 8; #X connect 8 0 37 9; #X connect 9 0 37 10; #X connect 10 0 37 11; #X connect 11 0 37 12; #X connect 12 0 37 13; #X connect 19 0 37 7; #X connect 28 0 38 0; #X connect 29 0 38 1; #X connect 33 0 42 0; #X connect 34 0 43 0; #X connect 37 0 34 0; #X connect 38 0 33 0; #X restore 18 439 pd OUTPUT_SERVO; #N canvas 0 43 775 601 INPUT_DIGITAL 0; #X obj 129 319 tgl 15 0 empty empty 7 4 -6 1 10 -233017 -1 -1 0 1; #X obj 144 319 tgl 15 0 empty empty 8 4 -6 1 10 -233017 -1 -1 0 1; #X obj 159 319 tgl 15 0 empty empty 9 4 -6 1 10 -233017 -1 -1 0 1; #X obj 174 319 tgl 15 0 empty empty 10 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 189 319 tgl 15 0 empty empty 11 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 204 319 tgl 15 0 empty empty 12 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 219 319 tgl 15 0 empty empty 13 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 54 319 tgl 15 0 empty empty 2 4 -6 1 10 -233017 -1 -1 0 1; #X obj 69 319 tgl 15 0 empty empty 3 4 -6 1 10 -233017 -1 -1 0 1; #X obj 84 319 tgl 15 0 empty empty 4 4 -6 1 10 -233017 -1 -1 0 1; #X obj 99 319 tgl 15 0 empty empty 5 4 -6 1 10 -233017 -1 -1 0 1; #X obj 114 319 tgl 15 0 empty empty 6 4 -6 1 10 -233017 -1 -1 0 1; #X obj 24 319 tgl 15 0 empty empty 0 3 -6 1 10 -260818 -1 -1 0 1; #X obj 39 319 tgl 15 0 empty empty 1 3 -6 1 10 -260818 -1 -1 0 1; #X obj 25 320 cnv 13 13 13 empty empty Rx 0 8 0 10 -128992 -86277 0 ; #X obj 40 320 cnv 13 13 13 empty empty Tx 0 8 0 10 -128992 -13381 0 ; #X obj 249 319 tgl 15 0 empty empty 14 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 264 319 tgl 15 0 empty empty 15 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 279 319 tgl 15 0 empty empty 16 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 294 319 tgl 15 0 empty empty 17 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 309 319 tgl 15 0 empty empty 18 0 -6 1 10 -233017 -1 -1 0 1 ; #X obj 324 319 tgl 15 0 empty empty 19 0 -6 1 10 -233017 -1 -1 0 1 ; #X text 248 291 A0; #X text 268 289 .......; #X obj 24 36 bng 15 250 50 0 empty empty 0 1 -6 1 10 -99865 -1 -1; #X obj 39 36 bng 15 250 50 0 empty empty 1 1 -6 1 10 -99865 -1 -1; #X obj 54 36 bng 15 250 50 0 empty empty 2 1 -6 1 10 -228856 -1 -1 ; #X obj 69 36 bng 15 250 50 0 empty empty 3 1 -6 1 10 -228856 -1 -1 ; #X obj 84 36 bng 15 250 50 0 empty empty 4 1 -6 1 10 -228856 -1 -1 ; #X obj 99 36 bng 15 250 50 0 empty empty 5 1 -6 1 10 -228856 -1 -1 ; #X obj 114 36 bng 15 250 50 0 empty empty 6 1 -6 1 10 -228856 -1 -1 ; #X obj 144 36 bng 15 250 50 0 empty empty 8 1 -6 1 10 -228856 -1 -1 ; #X obj 159 36 bng 15 250 50 0 empty empty 9 1 -6 1 10 -228856 -1 -1 ; #X obj 174 36 bng 15 250 50 0 empty empty 10 1 -6 1 10 -228856 -1 -1 ; #X obj 189 36 bng 15 250 50 0 empty empty 11 1 -6 1 10 -228856 -1 -1 ; #X obj 204 36 bng 15 250 50 0 empty empty 12 1 -6 1 10 -228856 -1 -1 ; #X obj 219 36 bng 15 250 50 0 empty empty 13 1 -6 1 10 -228856 -1 -1 ; #X obj 249 36 bng 15 250 50 0 empty empty 14 1 -6 1 10 -228856 -1 -1 ; #X obj 264 36 bng 15 250 50 0 empty empty 15 1 -6 1 10 -228856 -1 -1 ; #X obj 279 36 bng 15 250 50 0 empty empty 16 1 -6 1 10 -228856 -1 -1 ; #X obj 294 36 bng 15 250 50 0 empty empty 17 1 -6 1 10 -228856 -1 -1 ; #X obj 309 36 bng 15 250 50 0 empty empty 18 1 -6 1 10 -228856 -1 -1 ; #X obj 324 36 bng 15 250 50 0 empty empty 19 1 -6 1 10 -228856 -1 -1 ; #X obj 129 36 bng 15 250 50 0 empty empty 7 1 -6 1 10 -228856 -1 -1 ; #X text 248 8 A0; #X text 268 6 .......; #X obj 9 139 cnv 1 750 1 empty empty empty 20 12 0 14 -1 -66577 0; #X text 110 371 <-- COMMAND; #X text 134 84 <-- COMMAND; #X text 366 12 SET PIN MODE; #X obj 9 436 cnv 1 750 1 empty empty empty 20 12 0 14 -1 -66577 0; #X msg 24 371; #X text 121 510 <-- COMMAND; #X obj 99 457 hradio 15 1 0 3 empty empty port 50 6 0 10 -228856 -1 -1 0; #X text 365 517 NOTE:; #X obj 9 276 cnv 1 750 1 empty empty empty 20 12 0 14 -1 -66577 0; #X obj 24 181 route digital; #X obj 129 232 tgl 15 0 empty empty 7 4 25 1 10 -203904 -1 -1 0 1; #X obj 144 232 tgl 15 0 empty empty 8 4 25 1 10 -203904 -1 -1 0 1; #X obj 159 232 tgl 15 0 empty empty 9 4 25 1 10 -203904 -1 -1 0 1; #X obj 174 232 tgl 15 0 empty empty 10 0 25 1 10 -203904 -1 -1 0 1 ; #X obj 189 232 tgl 15 0 empty empty 11 0 25 1 10 -203904 -1 -1 0 1 ; #X obj 204 232 tgl 15 0 empty empty 12 0 25 1 10 -203904 -1 -1 0 1 ; #X obj 219 232 tgl 15 0 empty empty 13 0 25 1 10 -203904 -1 -1 0 1 ; #X obj 54 232 tgl 15 0 empty empty 2 4 25 1 10 -203904 -1 -1 0 1; #X obj 69 232 tgl 15 0 empty empty 3 4 25 1 10 -203904 -1 -1 0 1; #X obj 84 232 tgl 15 0 empty empty 4 4 25 1 10 -203904 -1 -1 0 1; #X obj 99 232 tgl 15 0 empty empty 5 4 25 1 10 -203904 -1 -1 0 1; #X obj 114 232 tgl 15 0 empty empty 6 4 25 1 10 -203904 -1 -1 0 1; #X obj 24 232 tgl 15 0 empty empty 0 3 25 1 10 -260818 -1 -1 0 1; #X obj 39 232 tgl 15 0 empty empty 1 3 25 1 10 -260818 -1 -1 0 1; #X obj 25 233 cnv 13 13 13 empty empty Rx 0 8 0 10 -128992 -86277 0 ; #X obj 40 233 cnv 13 13 13 empty empty Tx 0 8 0 10 -128992 -13381 0 ; #X obj 249 232 tgl 15 0 empty empty 14 0 25 1 10 -203904 -1 -1 0 1 ; #X obj 264 232 tgl 15 0 empty empty 15 0 25 1 10 -203904 -1 -1 0 1 ; #X obj 279 232 tgl 15 0 empty empty 16 0 25 1 10 -203904 -1 -1 0 1 ; #X obj 294 232 tgl 15 0 empty empty 17 0 25 1 10 -203904 -1 -1 0 1 ; #X obj 309 232 tgl 15 0 empty empty 18 0 25 1 10 -203904 -1 -1 0 1 ; #X obj 324 232 tgl 15 0 empty empty 19 0 25 1 10 -203904 -1 -1 0 1 ; #X obj 24 204 route 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19; #X text 366 149 RECEIVE DIGITAL STATES; #X text 397 211 digital <0|1>; #X msg 24 83; #X text 366 290 TURN ON/OFF PULL-UP RESISTOR; #X text 366 450 TURN ON/OFF REPORTING (PER BLOCK); #X text 367 169 Whenever the state changes on a pin currently set to 'input' mode \, the arduino sends a message like this:; #X text 365 311 Each pin has an internal 20kOhm resistor \, that connects to 5V when activated. This can be used to give disconnected inputs a defined state. Otherwise input pins not connected to anything pick up electromagnetic fluctuation from the environment which will often lead to flickering.; #N canvas 745 233 210 188 digitalIns 0; #X obj 30 42 inlet; #X obj 98 42 inlet; #X obj 30 118 outlet; #X obj 30 73 pack f f; #X msg 30 96 set digitalIns \$2 \$1 \, bang; #X connect 0 0 3 0; #X connect 1 0 3 1; #X connect 3 0 4 0; #X connect 4 0 2 0; #X restore 24 482 pd digitalIns; #X obj 24 457 tgl 15 0 empty empty on/off 20 6 0 10 -228856 -1 -1 0 1; #X msg 24 510; #N canvas 101 162 791 311 pinMode______________________________________ 0; #X obj 32 22 inlet; #X obj 288 262 outlet; #X obj 68 22 inlet; #X obj 104 22 inlet; #X obj 140 22 inlet; #X obj 176 22 inlet; #X obj 212 22 inlet; #X obj 248 22 inlet; #X obj 284 22 inlet; #X obj 320 22 inlet; #X obj 356 22 inlet; #X obj 392 22 inlet; #X obj 428 22 inlet; #X obj 464 22 inlet; #X obj 500 22 inlet; #X obj 536 22 inlet; #X obj 572 22 inlet; #X obj 608 22 inlet; #X obj 644 22 inlet; #X obj 680 22 inlet; #X obj 716 22 inlet; #X msg 32 53 0; #X msg 68 74 1; #X msg 104 53 2; #X msg 140 74 3; #X msg 176 53 4; #X msg 212 74 5; #X msg 248 53 6; #X msg 284 74 7; #X msg 320 54 8; #X msg 356 74 9; #X msg 392 53 10; #X msg 428 75 11; #X msg 464 53 12; #X msg 500 74 13; #X msg 536 53 14; #X msg 572 74 15; #X msg 608 53 16; #X msg 644 74 17; #X msg 680 53 18; #X msg 716 74 19; #X obj 288 194 t a; #X msg 288 214 set pinMode \$1 input \, bang; #X connect 0 0 21 0; #X connect 2 0 22 0; #X connect 3 0 23 0; #X connect 4 0 24 0; #X connect 5 0 25 0; #X connect 6 0 26 0; #X connect 7 0 27 0; #X connect 8 0 28 0; #X connect 9 0 29 0; #X connect 10 0 30 0; #X connect 11 0 31 0; #X connect 12 0 32 0; #X connect 13 0 33 0; #X connect 14 0 34 0; #X connect 15 0 35 0; #X connect 16 0 36 0; #X connect 17 0 37 0; #X connect 18 0 38 0; #X connect 19 0 39 0; #X connect 20 0 40 0; #X connect 21 0 41 0; #X connect 22 0 41 0; #X connect 23 0 41 0; #X connect 24 0 41 0; #X connect 25 0 41 0; #X connect 26 0 41 0; #X connect 27 0 41 0; #X connect 28 0 41 0; #X connect 29 0 41 0; #X connect 30 0 41 0; #X connect 31 0 41 0; #X connect 32 0 41 0; #X connect 33 0 41 0; #X connect 34 0 41 0; #X connect 35 0 41 0; #X connect 36 0 41 0; #X connect 37 0 41 0; #X connect 38 0 41 0; #X connect 39 0 41 0; #X connect 40 0 41 0; #X connect 41 0 42 0; #X connect 42 0 1 0; #X restore 24 61 pd pinMode______________________________________; #N canvas 101 162 791 311 digital______________________________________ 0; #X obj 32 22 inlet; #X obj 288 262 outlet; #X obj 288 235 trigger bang anything; #X obj 288 214 list trim; #X obj 288 194 list prepend set digital; #X msg 32 53 0 \$1; #X obj 68 22 inlet; #X msg 68 74 1 \$1; #X obj 104 22 inlet; #X obj 140 22 inlet; #X msg 104 53 2 \$1; #X msg 140 74 3 \$1; #X obj 176 22 inlet; #X obj 212 22 inlet; #X obj 248 22 inlet; #X obj 284 22 inlet; #X msg 176 53 4 \$1; #X msg 212 74 5 \$1; #X msg 248 53 6 \$1; #X msg 284 74 7 \$1; #X obj 320 22 inlet; #X obj 356 22 inlet; #X obj 392 22 inlet; #X obj 428 22 inlet; #X obj 464 22 inlet; #X obj 500 22 inlet; #X obj 536 22 inlet; #X obj 572 22 inlet; #X msg 320 53 8 \$1; #X msg 356 74 9 \$1; #X msg 392 53 10 \$1; #X msg 428 74 11 \$1; #X msg 464 53 12 \$1; #X msg 500 74 13 \$1; #X msg 536 53 14 \$1; #X msg 572 74 15 \$1; #X obj 608 22 inlet; #X obj 644 22 inlet; #X obj 680 22 inlet; #X obj 716 22 inlet; #X msg 608 53 16 \$1; #X msg 644 74 17 \$1; #X msg 680 53 18 \$1; #X msg 716 74 19 \$1; #X connect 0 0 5 0; #X connect 2 0 1 0; #X connect 2 1 1 0; #X connect 3 0 2 0; #X connect 4 0 3 0; #X connect 5 0 4 0; #X connect 6 0 7 0; #X connect 7 0 4 0; #X connect 8 0 10 0; #X connect 9 0 11 0; #X connect 10 0 4 0; #X connect 11 0 4 0; #X connect 12 0 16 0; #X connect 13 0 17 0; #X connect 14 0 18 0; #X connect 15 0 19 0; #X connect 16 0 4 0; #X connect 17 0 4 0; #X connect 18 0 4 0; #X connect 19 0 4 0; #X connect 20 0 28 0; #X connect 21 0 29 0; #X connect 22 0 30 0; #X connect 23 0 31 0; #X connect 24 0 32 0; #X connect 25 0 33 0; #X connect 26 0 34 0; #X connect 27 0 35 0; #X connect 28 0 4 0; #X connect 29 0 4 0; #X connect 30 0 4 0; #X connect 31 0 4 0; #X connect 32 0 4 0; #X connect 33 0 4 0; #X connect 34 0 4 0; #X connect 35 0 4 0; #X connect 36 0 40 0; #X connect 37 0 41 0; #X connect 38 0 42 0; #X connect 39 0 43 0; #X connect 40 0 4 0; #X connect 41 0 4 0; #X connect 42 0 4 0; #X connect 43 0 4 0; #X restore 24 344 pd digital______________________________________ ; #X text 365 32 To use a pin as a digital input \, you need to set its pin mode to 'input'.; #X text 366 470 The reporting of the digital inputs can be turned off (and on). However \, this can only be done in blocks of 8 pins.; #X text 366 533 This command has only effect on pins that are currently set to 'input' mode. Pins set to other modes will silently ignore this command.; #X text 366 573 Pins set to 'input' mode have reporting enabled per default.; #X text 323 7 A5; #X text 323 290 A5; #X obj 22 107 cnv 15 98 21 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 22 533 cnv 15 98 21 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 24 535 send \$0-arduino; #X obj 24 109 send \$0-arduino; #X obj 22 398 cnv 15 98 21 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 24 400 send \$0-arduino; #X obj 22 157 cnv 15 140 21 empty empty empty 20 12 0 14 -203904 -66577 0; #X obj 24 159 receive \$0-arduino-out; #X connect 0 0 91 7; #X connect 1 0 91 8; #X connect 2 0 91 9; #X connect 3 0 91 10; #X connect 4 0 91 11; #X connect 5 0 91 12; #X connect 6 0 91 13; #X connect 7 0 91 2; #X connect 8 0 91 3; #X connect 9 0 91 4; #X connect 10 0 91 5; #X connect 11 0 91 6; #X connect 16 0 91 14; #X connect 17 0 91 15; #X connect 18 0 91 16; #X connect 19 0 91 17; #X connect 20 0 91 18; #X connect 21 0 91 19; #X connect 26 0 90 2; #X connect 27 0 90 3; #X connect 28 0 90 4; #X connect 29 0 90 5; #X connect 30 0 90 6; #X connect 31 0 90 8; #X connect 32 0 90 9; #X connect 33 0 90 10; #X connect 34 0 90 11; #X connect 35 0 90 12; #X connect 36 0 90 13; #X connect 37 0 90 14; #X connect 38 0 90 15; #X connect 39 0 90 16; #X connect 40 0 90 17; #X connect 41 0 90 18; #X connect 42 0 90 19; #X connect 43 0 90 7; #X connect 51 0 103 0; #X connect 53 0 87 1; #X connect 56 0 79 0; #X connect 79 0 64 0; #X connect 79 1 65 0; #X connect 79 2 66 0; #X connect 79 3 67 0; #X connect 79 4 68 0; #X connect 79 5 57 0; #X connect 79 6 58 0; #X connect 79 7 59 0; #X connect 79 8 60 0; #X connect 79 9 61 0; #X connect 79 10 62 0; #X connect 79 11 63 0; #X connect 79 12 73 0; #X connect 79 13 74 0; #X connect 79 14 75 0; #X connect 79 15 76 0; #X connect 79 16 77 0; #X connect 79 17 78 0; #X connect 82 0 101 0; #X connect 87 0 89 0; #X connect 88 0 87 0; #X connect 89 0 100 0; #X connect 90 0 82 0; #X connect 91 0 51 0; #X connect 105 0 56 0; #X restore 189 393 pd INPUT_DIGITAL; #N canvas 49 50 776 666 INPUT_ANALOG 0; #X obj 24 36 bng 15 250 50 0 empty empty 0 1 -6 1 10 -99865 -1 -1; #X obj 39 36 bng 15 250 50 0 empty empty 1 1 -6 1 10 -99865 -1 -1; #X obj 54 36 bng 15 250 50 0 empty empty 2 1 -6 1 10 -99865 -1 -1; #X obj 69 36 bng 15 250 50 0 empty empty 3 1 -6 1 10 -99865 -1 -1; #X obj 84 36 bng 15 250 50 0 empty empty 4 1 -6 1 10 -99865 -1 -1; #X obj 99 36 bng 15 250 50 0 empty empty 5 1 -6 1 10 -99865 -1 -1; #X obj 114 36 bng 15 250 50 0 empty empty 6 1 -6 1 10 -99865 -1 -1 ; #X obj 144 36 bng 15 250 50 0 empty empty 8 1 -6 1 10 -99865 -1 -1 ; #X obj 159 36 bng 15 250 50 0 empty empty 9 1 -6 1 10 -99865 -1 -1 ; #X obj 174 36 bng 15 250 50 0 empty empty 10 1 -6 1 10 -99865 -1 -1 ; #X obj 189 36 bng 15 250 50 0 empty empty 11 1 -6 1 10 -99865 -1 -1 ; #X obj 204 36 bng 15 250 50 0 empty empty 12 1 -6 1 10 -99865 -1 -1 ; #X obj 219 36 bng 15 250 50 0 empty empty 13 1 -6 1 10 -99865 -1 -1 ; #X obj 249 36 bng 15 250 50 0 empty empty 14 1 -6 1 10 -228856 -1 -1 ; #X obj 264 36 bng 15 250 50 0 empty empty 15 1 -6 1 10 -228856 -1 -1 ; #X obj 279 36 bng 15 250 50 0 empty empty 16 1 -6 1 10 -228856 -1 -1 ; #X obj 294 36 bng 15 250 50 0 empty empty 17 1 -6 1 10 -228856 -1 -1 ; #X obj 309 36 bng 15 250 50 0 empty empty 18 1 -6 1 10 -228856 -1 -1 ; #X obj 324 36 bng 15 250 50 0 empty empty 19 1 -6 1 10 -228856 -1 -1 ; #X obj 129 36 bng 15 250 50 0 empty empty 7 1 -6 1 10 -99865 -1 -1 ; #X text 248 8 A0; #X text 268 6 .......; #X obj 9 142 cnv 1 750 1 empty empty empty 20 12 0 14 -1 -66577 0; #X text 134 84 <-- COMMAND; #X text 364 12 SET PIN MODE; #X obj 9 319 cnv 1 750 1 empty empty empty 20 12 0 14 -1 -66577 0; #X text 121 393 <-- COMMAND; #X text 365 393 NOTE:; #X msg 24 83; #N canvas 101 162 791 311 pinMode______________________________________ 0; #X obj 32 22 inlet; #X obj 288 262 outlet; #X obj 68 22 inlet; #X obj 104 22 inlet; #X obj 140 22 inlet; #X obj 176 22 inlet; #X obj 212 22 inlet; #X obj 248 22 inlet; #X obj 284 22 inlet; #X obj 320 22 inlet; #X obj 356 22 inlet; #X obj 392 22 inlet; #X obj 428 22 inlet; #X obj 464 22 inlet; #X obj 500 22 inlet; #X obj 536 22 inlet; #X obj 572 22 inlet; #X obj 608 22 inlet; #X obj 644 22 inlet; #X obj 680 22 inlet; #X obj 716 22 inlet; #X msg 32 53 0; #X msg 68 74 1; #X msg 104 53 2; #X msg 140 74 3; #X msg 176 53 4; #X msg 212 74 5; #X msg 248 53 6; #X msg 284 74 7; #X msg 320 54 8; #X msg 356 74 9; #X msg 392 53 10; #X msg 428 75 11; #X msg 464 53 12; #X msg 500 74 13; #X msg 536 53 14; #X msg 572 74 15; #X msg 608 53 16; #X msg 644 74 17; #X msg 680 53 18; #X msg 716 74 19; #X obj 288 194 t a; #X msg 288 214 set pinMode \$1 analog \, bang; #X connect 0 0 21 0; #X connect 2 0 22 0; #X connect 3 0 23 0; #X connect 4 0 24 0; #X connect 5 0 25 0; #X connect 6 0 26 0; #X connect 7 0 27 0; #X connect 8 0 28 0; #X connect 9 0 29 0; #X connect 10 0 30 0; #X connect 11 0 31 0; #X connect 12 0 32 0; #X connect 13 0 33 0; #X connect 14 0 34 0; #X connect 15 0 35 0; #X connect 16 0 36 0; #X connect 17 0 37 0; #X connect 18 0 38 0; #X connect 19 0 39 0; #X connect 20 0 40 0; #X connect 21 0 41 0; #X connect 22 0 41 0; #X connect 23 0 41 0; #X connect 24 0 41 0; #X connect 25 0 41 0; #X connect 26 0 41 0; #X connect 27 0 41 0; #X connect 28 0 41 0; #X connect 29 0 41 0; #X connect 30 0 41 0; #X connect 31 0 41 0; #X connect 32 0 41 0; #X connect 33 0 41 0; #X connect 34 0 41 0; #X connect 35 0 41 0; #X connect 36 0 41 0; #X connect 37 0 41 0; #X connect 38 0 41 0; #X connect 39 0 41 0; #X connect 40 0 41 0; #X connect 41 0 42 0; #X connect 42 0 1 0; #X restore 24 61 pd pinMode______________________________________; #X text 365 27 To use a pin as a analog input \, you need to set its pin mode to 'analog'.; #X text 365 67 NOTE:; #X text 323 7 A5; #X obj 24 184 route analog; #X obj 24 207 route 0 1 2 3 4 5; #X obj 130 224 includes/analog.display; #X text 232 220 A0; #X text 232 236 A2; #X text 232 252 A4; #X obj 130 232 includes/analog.display; #X obj 130 240 includes/analog.display; #X obj 130 248 includes/analog.display; #X obj 130 256 includes/analog.display; #X obj 130 264 includes/analog.display; #X text 232 227 ---A1; #X text 232 243 ---A3; #X text 232 259 ---A5; #X text 365 152 RECEIVE ANALOG VALUES; #X text 397 220 analog <0...1>; #X text 366 83 Only the pins 14 - 19 (resp. A0 -A5) support 'analog' mode.; #X text 366 98 The default mode of those pins is 'analog' \, but with reporting turned off.; #X text 366 333 TURN ON/OFF REPORTING; #X text 366 172 A pin set to 'analog' mode and reporting turned on measures the voltage at the pin and reports the value at a regular rate with the following message:; #X text 365 245 NOTE:; #X text 366 261 The numbering of the reporting pins differs from the numbering to set the pin mode. The numbering used for reporting corresponds with the printed labels on the board.; #X obj 54 341 tgl 15 0 empty empty 2 4 -6 1 10 -233017 -1 -1 0 1; #X obj 69 341 tgl 15 0 empty empty 3 4 -6 1 10 -233017 -1 -1 0 1; #X obj 84 341 tgl 15 0 empty empty 4 4 -6 1 10 -233017 -1 -1 0 1; #X obj 99 341 tgl 15 0 empty empty 5 4 -6 1 10 -233017 -1 -1 0 1; #X obj 24 341 tgl 15 0 empty empty 0 4 -6 1 10 -233017 -1 -1 0 1; #X obj 39 341 tgl 15 0 empty empty 1 4 -6 1 10 -233017 -1 -1 0 1; #N canvas 745 233 473 189 analogIns_ 0; #X obj 30 12 inlet; #X obj 30 118 outlet; #X msg 30 34 0 \$1; #X obj 80 12 inlet; #X msg 80 34 1 \$1; #X obj 130 12 inlet; #X obj 180 12 inlet; #X obj 230 12 inlet; #X obj 280 12 inlet; #X msg 130 34 2 \$1; #X msg 180 34 3 \$1; #X msg 230 34 4 \$1; #X msg 280 34 5 \$1; #X msg 30 96 set analogIns \$1 \$2 \, bang; #X connect 0 0 2 0; #X connect 2 0 13 0; #X connect 3 0 4 0; #X connect 4 0 13 0; #X connect 5 0 9 0; #X connect 6 0 10 0; #X connect 7 0 11 0; #X connect 8 0 12 0; #X connect 9 0 13 0; #X connect 10 0 13 0; #X connect 11 0 13 0; #X connect 12 0 13 0; #X connect 13 0 1 0; #X restore 24 365 pd analogIns_; #X text 366 353 The reporting of the analog inputs can be turned off (and on).; #X text 366 409 This command has only effect on pins that are currently set to 'analog' mode. Pins set to other modes will silently ignore this command.; #X text 366 449 Pins set to 'analog' mode have reporting enabled per default.; #X text 366 476 Also here \, the numbering differs from the numbering to set the pin mode.; #X obj 9 517 cnv 1 750 1 empty empty empty 20 12 0 14 -1 -66577 0; #X text 165 592 <-- COMMAND; #X text 365 530 SET THE SAMPLING INTERVAL; #N canvas 745 233 339 168 samplingInterval 0; #X obj 30 12 inlet; #X obj 30 118 outlet; #X msg 30 96 set samplingInterval \$1 \, bang; #X connect 0 0 2 0; #X connect 2 0 1 0; #X restore 24 563 pd samplingInterval; #X msg 24 393; #X obj 24 541 nbx 5 14 10 16383 0 0 empty empty empty 0 -8 0 10 -228856 -1 -1 10 256; #X text 84 541 ms; #X msg 24 591; #X text 366 551 You can adjust the rate at which the pins in 'analog' mode report their value. The shorter the interval time \, the higher the rate.; #X text 365 603 NOTE:; #X text 366 619 The default value is 20ms. The mininum interval time is 10ms (eguals 100Hz).; #X obj 22 107 cnv 15 98 21 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 22 160 cnv 15 140 21 empty empty empty 20 12 0 14 -203904 -66577 0; #X obj 22 416 cnv 15 98 21 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 22 614 cnv 15 98 21 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 24 418 send \$0-arduino; #X obj 24 109 send \$0-arduino; #X obj 24 616 send \$0-arduino; #X obj 24 162 receive \$0-arduino-out; #X connect 13 0 29 14; #X connect 14 0 29 15; #X connect 15 0 29 16; #X connect 16 0 29 17; #X connect 17 0 29 18; #X connect 18 0 29 19; #X connect 28 0 82 0; #X connect 29 0 28 0; #X connect 33 0 34 0; #X connect 34 0 35 0; #X connect 34 1 39 0; #X connect 34 2 40 0; #X connect 34 3 41 0; #X connect 34 4 42 0; #X connect 34 5 43 0; #X connect 55 0 61 2; #X connect 56 0 61 3; #X connect 57 0 61 4; #X connect 58 0 61 5; #X connect 59 0 61 0; #X connect 60 0 61 1; #X connect 61 0 70 0; #X connect 69 0 73 0; #X connect 70 0 81 0; #X connect 71 0 69 0; #X connect 73 0 83 0; #X connect 84 0 33 0; #X restore 189 416 pd INPUT_ANALOG; #X text 105 313 <- configure pins for different modes; #X text 6 6 1) Installation; #X text 6 57 2) Serial connection; #X text 6 277 3) Set pins \, send and receive messages; #N canvas 82 43 525 562 PIN_MODES 0; #X text 16 35 Most pins of the Arduino board support different modes. You may need to tell the Arduino in which mode you intend to use a certain pin. This is achieved with the 'pinMode' command:; #X msg 45 111 pinMode ; #X msg 18 252 pinMode 11 output; #X msg 18 229 pinMode 11 input; #X msg 18 275 pinMode 16 analog; #X msg 18 298 pinMode 11 pwm; #X msg 18 321 pinMode 11 servo; #X msg 168 229 pinMode 11 0; #X msg 168 252 pinMode 11 1; #X msg 168 275 pinMode 16 2; #X msg 168 298 pinMode 11 3; #X msg 168 321 pinMode 11 4; #X text 287 229 digital input; #X text 287 253 digital output; #X text 287 276 analog input; #X text 287 299 pulse width modulation (output); #X text 287 321 servo (output); #X text 15 366 SET PIN MODE; #X text 15 13 PIN MODES; #X obj 18 391 vradio 15 1 0 5 empty empty empty 0 -8 0 10 -228856 -1 -1 0; #X text 37 390 input; #X text 37 405 output; #X text 37 420 analog; #X text 37 435 pwm; #X text 37 450 servo; #X text 103 501 <-- COMMAND; #X obj 117 452 nbx 3 14 -1e+37 1e+37 0 0 empty empty pin_No. 40 6 0 10 -228856 -1 -1 0 256; #N canvas 101 162 296 179 pinMode_______ 0; #X obj 32 22 inlet; #X obj 32 121 outlet; #X obj 162 25 inlet; #X obj 32 69 pack f f; #X msg 32 98 set pinMode \$2 \$1 \, bang; #X connect 0 0 3 0; #X connect 2 0 3 1; #X connect 3 0 4 0; #X connect 4 0 1 0; #X restore 18 473 pd pinMode_______; #X text 137 229 ==; #X text 137 253 ==; #X text 137 276 ==; #X text 137 299 ==; #X text 137 321 ==; #X text 15 140 NOTE:; #X obj 9 185 cnv 1 500 1 empty empty empty 20 12 0 14 -1 -66577 0; #X obj 9 354 cnv 1 500 1 empty empty empty 20 12 0 14 -1 -66577 0; #X text 15 198 LIST OF AVAILABLE PIN MODES; #X msg 18 500; #X obj 16 527 cnv 15 98 21 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 18 529 send \$0-arduino; #X text 16 156 Each pin may support only a subset of the available modes.; #X connect 19 0 27 0; #X connect 26 0 27 1; #X connect 27 0 37 0; #X connect 37 0 39 0; #X restore 18 312 pd PIN_MODES; #X text 528 504 Olsen Wolf; #X text 492 519 2006 \, Georg Holzmann; #X text 528 534 Gerda Strobl; #N canvas 697 101 452 364 INSTALL_NOTES 0; #X text 19 143 3 The StandardFirmata firmware is the best place to start.; #X text 20 60 2 You need to install a Firmata firmware. There are a ; #X text 19 173 4 [arduino] needs the following externals:; #X text 19 259 5 If you still have troubles \, mail to the pd list !; #X text 32 30 http://www.arduino.cc; #X text 20 15 1 General information about Arduino:; #X text 34 73 bunch of Firmata firmwares included with the Arduino IDE. Use Firmata >=2.2 \, current version at the time of this writing is 2.5.1. It is shipped with Arduino IDE 1.8.1; #X text 31 186 [comport] \, install through menu 'Help' -> 'Find externals' ; #X text 24 288 This is hosted at:; #X text 24 303 https://github.com/reduzent/pduino; #X restore 18 26 pd INSTALL_NOTES; #X obj 2 471 cnv 15 400 100 empty empty empty 12 12 0 10 -233017 -66577 0; #N canvas 103 43 571 630 REFERENCE 0; #X text 9 14 LIST OF COMMANDS; #X msg 12 207 digital <0|1>; #X msg 12 230 port <0...255>; #X msg 12 276 digitalIns <0|1>; #X msg 12 253 analog <0...1>; #X msg 12 161 pinMode ; #X msg 12 299 analogIns <0|1>; #X msg 12 322 samplingInterval <10...16384>; #X msg 12 46 open ; #X msg 12 69 devicename ; #X msg 12 92 close; #X msg 12 115 version; #X msg 12 138 firmware; #X text 197 46 - connect to Arduino by device number; #X text 197 69 - connect to Arduino by device name; #X text 197 92 - disconnect from Arduino; #X text 197 115 - retrieve protocol version; #X text 197 138 - retrieve Firmware version; #X text 197 161 - set pin mode; #X text 197 184 - set state of digital output pin; #X text 197 230 - set state of 8 digital output pins; #X text 197 276 - turn on/off reporting of 8 digital input pins; #X text 197 207 - turn on/off pull-up resistor for digital input pin ; #X text 197 253 - set value for pwm or servo output pin; #X text 197 299 - turn on/off reporting of analog input pin; #X text 197 322 - set sampling interval of all analog input pins (in ms); #X msg 12 184 digital <0|1>; #X obj 9 418 cnv 1 550 1 empty empty empty 20 12 0 14 -1 -66577 0; #X text 9 426 LIST OF MESSAGES FROM THE ARDUINO; #X msg 12 457 version ; #X text 197 457 - protocol version; #X msg 12 480 firmware ; #X text 197 480 - full firmware specification; #X msg 12 503 digital <0|1>; #X msg 12 526 analog <0...1>; #X text 197 526 - current value of analog input pin; #X text 197 503 - current state of digital input pin; #X msg 12 344 capability; #X text 197 344 - query supported pin modes for all pins; #X msg 12 367 analogMapping; #X text 197 367 - query mapping of analog pin numbers to digial pins ; #X msg 12 390 pinState ; #X text 197 390 - query current mode and state of given pin; #X msg 12 548 analogMapping #digital #analog; #X msg 12 571 capability ; #X text 197 571 - capability response (many messages per pin possible) ; #X text 197 548 - analogMapping response (many messages); #X msg 12 595 pinState pin# mode value; #X text 197 595 - pinState response (one message per requested pin) ; #X restore 18 503 pd REFERENCE; #N canvas 144 347 559 381 PERSISTENT_DEVICENAMES_IN_LINUX 0; #X text 58 326 http://answers.ros.org/answers/101/revisions/; #X text 72 90 $ echo 'SUBSYSTEMS=="usb" \, KERNEL=="ttyUSB[0-9]*" \, ATTRSidVendor=="0403" \, ATTRSidProduct=="6001" \, SYMLINK+="arduino/ftdi_%sserial"' > /etc/udev/rules.d/52-ftdi.rules; #X msg 73 254 open /dev/arduino/ftdi_A9005eBF; #X text 72 231 your open message then looks f.e. like this:; #X obj 73 285 arduino; #X text 54 155 2 reload your udev rules:; #X obj 47 25 cnv 15 430 45 empty empty empty 20 12 0 14 -261234 -66577 0; #X text 51 72 1 execute this command as root:; #X text 53 196 3 you should get a unique symlink of your device in /dev/arduino/ftdi_yourserialddress.; #X text 58 313 info source:; #X text 52 26 how to make shure that various arduinos plugged into one Linux-system are always connected to the same arduino object after unplugging/reboot:; #X text 68 170 $ udevadm control -reload-rules; #X connect 2 0 4 0; #X restore 18 526 pd PERSISTENT_DEVICENAMES_IN_LINUX; #X text 10 477 4) Supplementary information; #X msg 47 152 close; #X msg 18 78 devices; #X msg 60 179 version; #N canvas 126 230 546 358 ver 0; #X obj 250 100 cnv 15 200 17 empty \$0-version_cnv empty 4 10 0 12 -262144 -1 0; #X obj 23 201 send \$0-version_cnv; #X msg 23 176 label \$1; #X obj 48 147 symbol; #X obj 38 121 loadbang; #X msg 96 122 bang; #X obj 23 6 receive \$0-arduino-info; #X obj 104 49 route -1; #X obj 23 93 includes/agop.symbol2list; #X obj 23 29 route firmware; #X msg 104 70 connection closed; #X obj 295 216 print ARDUINO_INFO; #X obj 239 165 r \$0-arduino-out; #X obj 295 192 r \$0-arduino-info; #X obj 239 245 print ARDUINO_OUT; #X connect 2 0 1 0; #X connect 3 0 2 0; #X connect 4 0 3 0; #X connect 5 0 3 0; #X connect 6 0 9 0; #X connect 7 0 10 0; #X connect 8 0 2 0; #X connect 9 0 8 0; #X connect 9 1 7 0; #X connect 10 0 8 0; #X connect 12 0 14 0; #X connect 13 0 11 0; #X coords 0 -1 1 1 200 17 2 250 100; #X restore 127 236 pd ver; #X text 119 178 <- get protocol version; #X msg 60 202 firmware; #X msg 30 127 open \$1; #X floatatom 30 105 5 0 0 0 - - -; #X text 86 112 listed by the 'device' message above; #X text 85 97 enter the number of your serial device; #X text 68 103 <-; #X text 71 79 <- list devices -> check the pd-console output!; #X text 120 203 <- get firmware specification; #X text 423 28 Arduino Interface For Pure Data; #X text 454 13 ::::_ [arduino] _::::; #X text 410 272 EXAMPLE; #X text 411 292 Turn the built-in LED on pin 13 on; #X text 411 307 and off:; #X text 83 130 <- open serial port to Arduino board; #X text 87 152 <- close the serial port; #X obj 416 194 cnv 15 122 21 empty empty empty 20 12 0 14 -203904 -66577 0; #X obj 418 196 send \$0-arduino-out; #X obj 416 88 cnv 15 116 21 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 418 90 receive \$0-arduino; #X obj 16 234 cnv 15 98 21 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 18 236 send \$0-arduino; #X obj 417 422 cnv 15 98 21 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 419 424 send \$0-arduino; #X obj 416 137 cnv 15 62 21 empty empty empty 20 12 0 14 -262144 -66577 0; #X obj 418 139 arduino 1; #X text 492 489 2017 \, Roman Haefeli; #N canvas 420 43 438 181 FIRMWARE_SUPPORT 0; #X text 10 16 IMPORTANT NOTICE; #X text 10 33 This help patch assumes the Firmware StandardFirmata 2.2 or higher to be installed on your Arduino board. Other and older Firmwares are generally supported as well \, but may not support all features covered in this documentation.; #X text 10 99 You may want to use the 'capability' message to query information about the supported pin modes with your combination of firmware version and board.; #X restore 130 26 pd FIRMWARE_SUPPORT; #N canvas 599 106 496 306 SUPPORTED_MODES_/_MAPPINGS 0; #X obj 14 253 send \$0-arduino; #X text 6 10 GET SOME INFORMATION ABOUT YOUR CURRENT SETUP; #X msg 14 37 analogMapping; #X msg 29 88 capability; #X text 109 36 Query information about the mapping of analog pins to digital pin numbers. Depending on firmware version used \, the A0 pin might be mapped to 14 \, 16 \, or 18; #X text 106 88 Query a full report of all supported modes for each pin (physical and virtual). The response contains a message for each supported mode by a certain pin. Also the reported pin numbers might be greater than the actual physical pins on the board. For instance \, Arduino Leonardo supports 12 analog inputs. A6-A11 are mapped to virtual digital pins 24-29 (which are again mapped on physical digital pins); #X floatatom 41 185 5 0 0 0 - - -; #X msg 41 202 pinState \$1; #X text 123 203 Query the current mode and state of a specific pin. ; #X connect 2 0 0 0; #X connect 3 0 0 0; #X connect 6 0 7 0; #X connect 7 0 0 0; #X restore 18 335 pd SUPPORTED_MODES_/_MAPPINGS; #X connect 4 0 63 0; #X connect 5 0 4 0; #X connect 6 0 63 0; #X connect 36 0 61 0; #X connect 37 0 61 0; #X connect 38 0 61 0; #X connect 41 0 61 0; #X connect 42 0 61 0; #X connect 43 0 42 0; #X connect 59 0 65 0; #X connect 65 0 57 0; #X connect 65 1 11 0; pduino-0.8/arduino.pd000066400000000000000000000701611402671452100146540ustar00rootroot00000000000000#N canvas 418 119 596 398 10; #X obj 32 56 inlet; #X obj 32 334 outlet; #X obj 515 334 outlet; #N canvas 214 231 982 332 command 0; #X obj 24 7 inlet; #X obj 299 298 outlet; #N canvas 562 295 547 478 digital-out 0; #X obj 4 15 inlet; #X obj 284 440 outlet; #X msg 373 158 \$1; #X text 402 157 add channel to command; #X text 411 201 0x90; #X obj 373 202 + 144; #X obj 373 180 div 8; #X obj 212 391 float; #X obj 145 391 float; #X obj 459 16 inlet; #X text 339 15 state from port-out; #X msg 157 84 \$2; #X obj 237 121 <<; #X msg 237 100 1 \$1; #X obj 284 242 * 8; #X obj 172 371 >> 7; #X obj 239 371 & 127; #X obj 249 314 &; #X msg 290 267 255 \$1; #X obj 290 288 <<; #X obj 5 55 trigger bang bang bang anything anything anything; #X obj 157 267 float; #X obj 255 338 >>; #X obj 207 197 |; #X obj 207 165 float; #X obj 157 159 float; #X obj 157 115 select 0 1; #X floatatom 462 49 0 0 0 0 - - -; #X obj 157 181 * -1; #X obj 157 210 - 1; #X obj 157 239 &; #X connect 0 0 20 0; #X connect 2 0 6 0; #X connect 5 0 1 0; #X connect 6 0 5 0; #X connect 6 0 14 0; #X connect 7 0 1 0; #X connect 8 0 1 0; #X connect 9 0 23 0; #X connect 9 0 27 0; #X connect 11 0 26 0; #X connect 12 0 24 1; #X connect 12 0 25 1; #X connect 13 0 12 0; #X connect 14 0 18 0; #X connect 14 0 22 1; #X connect 15 0 8 1; #X connect 16 0 7 1; #X connect 17 0 22 0; #X connect 18 0 19 0; #X connect 19 0 17 1; #X connect 20 0 8 0; #X connect 20 1 7 0; #X connect 20 3 11 0; #X connect 20 4 13 0; #X connect 20 5 2 0; #X connect 21 0 23 1; #X connect 21 0 17 0; #X connect 21 0 30 1; #X connect 22 0 16 0; #X connect 22 0 15 0; #X connect 23 0 21 0; #X connect 24 0 23 0; #X connect 25 0 28 0; #X connect 26 0 25 0; #X connect 26 1 24 0; #X connect 28 0 29 0; #X connect 29 0 30 0; #X connect 30 0 21 0; #X restore 310 114 pd digital-out; #N canvas 37 230 541 377 pinMode 0; #X obj 51 8 inlet; #X obj 51 350 outlet; #X text 141 54 pin#; #X text 321 56 mode; #X obj 174 147 moses 128; #X msg 51 227 244; #X text 194 131 do bounds checking to be safe; #X obj 51 252 pack float float float; #X obj 279 147 moses 128; #X obj 225 255 bang; #X obj 225 320 list trim; #X obj 225 300 list prepend ERROR:; #X msg 225 275 pinMode pin# greater than 127; #X obj 330 213 bang; #X msg 330 233 pinMode mode greater than 127; #X obj 225 340 print [arduino]; #N canvas 577 324 396 304 turn 0; #X obj 123 21 inlet; #X obj 43 21 inlet; #X obj 123 78 select 0; #X text 178 78 INPUT; #X obj 215 252 outlet; #X obj 110 135 spigot; #X msg 123 109 1; #X obj 215 180 >> 3; #X obj 110 158 trigger bang float; #X msg 152 109 0; #X text 254 201 0xD0; #X obj 215 201 + 208; #X obj 215 228 pack float 1; #X text 42 202 generate digitalIns message; #X connect 0 0 2 0; #X connect 1 0 5 0; #X connect 2 0 6 0; #X connect 5 0 8 0; #X connect 6 0 5 1; #X connect 7 0 11 0; #X connect 8 0 9 0; #X connect 8 1 7 0; #X connect 9 0 5 1; #X connect 11 0 12 0; #X connect 12 0 4 0; #X restore 174 184 pd turn digital reporting on; #X obj 51 32 trigger bang anything; #X obj 309 78 route float symbol; #N canvas 0 76 450 300 s2f 0; #X obj 72 14 inlet; #X obj 72 265 outlet; #X obj 72 69 select input output analog pwm servo; #X obj 285 262 outlet; #X msg 72 95 0; #X msg 114 95 1; #X msg 157 95 2; #X msg 199 95 3; #X msg 242 95 4; #X connect 0 0 2 0; #X connect 2 0 4 0; #X connect 2 1 5 0; #X connect 2 2 6 0; #X connect 2 3 7 0; #X connect 2 4 8 0; #X connect 2 5 3 0; #X connect 4 0 1 0; #X connect 5 0 1 0; #X connect 6 0 1 0; #X connect 7 0 1 0; #X connect 8 0 1 0; #X restore 361 99 pd s2f; #X obj 414 120 list; #X msg 414 141 unknown pinMode: \$1; #X obj 174 55 list split 1; #X connect 0 0 17 0; #X connect 4 0 7 1; #X connect 4 0 16 0; #X connect 4 1 9 0; #X connect 5 0 7 0; #X connect 7 0 1 0; #X connect 8 0 7 2; #X connect 8 0 16 1; #X connect 8 1 13 0; #X connect 9 0 12 0; #X connect 10 0 15 0; #X connect 11 0 10 0; #X connect 12 0 11 0; #X connect 13 0 14 0; #X connect 14 0 11 0; #X connect 16 0 1 0; #X connect 17 0 5 0; #X connect 17 1 22 0; #X connect 18 0 8 0; #X connect 18 1 19 0; #X connect 18 2 20 0; #X connect 19 0 8 0; #X connect 19 1 20 0; #X connect 20 0 21 0; #X connect 21 0 11 0; #X connect 22 0 4 0; #X connect 22 1 18 0; #X restore 237 93 pd pinMode; #N canvas 300 396 372 380 pwm 0; #X obj 44 14 inlet; #X obj 44 312 outlet; #X obj 44 79 unpack float float; #X obj 44 124 + 224; #X text 78 125 0xE0; #X obj 44 212 pack float float float; #X obj 149 126 * 255; #X obj 173 165 >> 7; #X obj 108 165 & 127; #X connect 0 0 2 0; #X connect 2 0 3 0; #X connect 2 1 6 0; #X connect 3 0 5 0; #X connect 5 0 1 0; #X connect 6 0 7 0; #X connect 6 0 8 0; #X connect 7 0 5 2; #X connect 8 0 5 1; #X restore 24 94 pd pwm; #X msg 477 113 249; #N canvas 0 50 462 312 analogIns 0; #X obj 64 7 inlet; #X obj 64 263 outlet; #X obj 64 65 unpack float float; #X obj 64 175 pack float float; #X obj 169 95 select 0; #X obj 214 118 bang; #X msg 214 140 1; #X msg 169 117 0; #X obj 64 124 + 192; #X obj 64 95 moses 16; #X text 100 123 0xC0; #X connect 0 0 2 0; #X connect 2 0 9 0; #X connect 2 1 4 0; #X connect 3 0 1 0; #X connect 4 0 7 0; #X connect 4 1 5 0; #X connect 5 0 6 0; #X connect 6 0 3 1; #X connect 7 0 3 1; #X connect 8 0 3 0; #X connect 9 0 8 0; #X restore 69 94 pd analogIns; #N canvas 592 114 341 294 digitalIns 0; #X obj 87 26 inlet; #X obj 87 250 outlet; #X text 126 117 0xD0; #X obj 87 90 unpack float float; #X obj 87 146 pack float float; #X obj 87 117 + 208; #X connect 0 0 3 0; #X connect 3 0 5 0; #X connect 3 1 4 1; #X connect 4 0 1 0; #X connect 5 0 4 0; #X restore 150 94 pd digitalIns; #N canvas 623 398 451 466 sysex 0; #X obj 62 424 outlet; #X obj 28 22 inlet; #X obj 28 145 list split 1; #X obj 62 321 list prepend; #X obj 62 177 route bang; #X text 68 22 sysex; #X obj 250 22 inlet; #X text 286 21 string; #X obj 250 155 trigger anything bang; #X text 398 176 0x71; #X msg 373 177 113; #N canvas 363 261 467 461 split 0; #X text 87 12 Firmata sends 8-bit chars as two 7-bit bytes; #X obj 32 12 inlet; #X obj 32 367 outlet; #X obj 168 173 list; #X obj 189 112 route bang; #X obj 189 137 bang; #X obj 32 54 trigger bang anything; #X obj 155 89 list split 1; #X obj 110 208 trigger bang anything anything; #X text 256 191 LSB; #X obj 226 298 % 128; #X text 267 297 only 7-bits of data allowed; #X text 204 190 MSB; #X obj 198 234 >> 7; #X text 235 137 bang resets once finished; #N canvas 0 50 313 216 tolist 0; #X obj 89 50 inlet; #X obj 179 50 inlet; #X obj 89 155 outlet; #N canvas 140 104 344 212 msg 0; #X obj 12 13 inlet; #X obj 12 113 outlet; #X msg 12 33; #X connect 0 0 2 0; #X connect 2 0 1 0; #X restore 89 124 pd msg; #X msg 179 70 add2 \$1; #X msg 89 86 bang \, set; #X connect 0 0 5 0; #X connect 1 0 4 0; #X connect 3 0 2 0; #X connect 4 0 3 0; #X connect 5 0 3 0; #X restore 32 344 pd tolist; #X connect 1 0 6 0; #X connect 3 0 7 0; #X connect 4 0 5 0; #X connect 4 1 3 1; #X connect 5 0 3 1; #X connect 6 0 15 0; #X connect 6 1 7 0; #X connect 7 0 8 0; #X connect 7 1 4 0; #X connect 8 0 3 0; #X connect 8 1 13 0; #X connect 8 2 10 0; #X connect 10 0 15 1; #X connect 13 0 10 0; #X connect 15 0 2 0; #X restore 119 212 pd split into 7-bit bytes; #X obj 62 344 list prepend 240; #X text 168 345 0xF0 start_sysex; #X text 167 366 0xF7 end_sysex; #X obj 62 366 list append 247; #X obj 28 66 trigger anything anything; #X msg 175 87 \$1; #X connect 1 0 16 0; #X connect 2 1 4 0; #X connect 3 0 12 0; #X connect 4 0 3 0; #X connect 4 1 11 0; #X connect 6 0 8 0; #X connect 8 0 11 0; #X connect 8 1 10 0; #X connect 10 0 3 1; #X connect 11 0 3 0; #X connect 12 0 15 0; #X connect 15 0 0 0; #X connect 16 0 2 0; #X connect 16 1 17 0; #X connect 17 0 3 1; #X restore 860 113 pd sysex; #N canvas 107 521 569 343 port-out 0; #X obj 13 15 inlet; #X obj 167 281 outlet; #X msg 244 82 \$1; #X text 343 149 add channel to command; #X text 309 190 0x90; #X obj 271 191 + 144; #X obj 244 129 moses; #X obj 13 55 trigger bang anything anything anything; #X obj 271 149 moses 16; #X obj 353 219 print [arduino]; #X msg 353 197 ERROR: no such channel: \$1; #X msg 167 82 \$2; #X msg 90 82 \$2; #X obj 167 129 & 127; #X obj 90 130 & 128; #X obj 90 151 == 128; #X obj 21 285 outlet; #X obj 36 230 * 8; #X obj 21 251 <<; #X connect 0 0 7 0; #X connect 2 0 6 0; #X connect 5 0 1 0; #X connect 6 0 10 0; #X connect 6 1 8 0; #X connect 7 1 12 0; #X connect 7 2 11 0; #X connect 7 3 2 0; #X connect 8 0 5 0; #X connect 8 0 17 0; #X connect 8 1 10 0; #X connect 10 0 9 0; #X connect 11 0 13 0; #X connect 12 0 14 0; #X connect 12 0 18 0; #X connect 13 0 1 0; #X connect 14 0 15 0; #X connect 15 0 1 0; #X connect 17 0 18 1; #X connect 18 0 16 0; #X restore 403 114 pd port-out; #N canvas 429 494 450 300 samplingInterval 0; #X obj 39 252 outlet; #X obj 38 21 inlet; #X text 156 54 LSB; #X obj 39 131 % 128; #X text 103 54 MSB; #X obj 39 107 >> 7; #X obj 39 153 pack float float; #X obj 132 130 % 128; #X text 172 129 only 7-bit chunks of data allowed; #X msg 39 188 240 122 \$2 \$1 247; #X text 152 189 START_SYSEX 0x7A LSB MSB END_SYSEX; #X obj 39 71 trigger anything anything; #X connect 1 0 11 0; #X connect 3 0 6 0; #X connect 5 0 3 0; #X connect 6 0 9 0; #X connect 7 0 6 1; #X connect 9 0 0 0; #X connect 11 0 5 0; #X connect 11 1 7 0; #X restore 733 113 pd samplingInterval; #X obj 24 51 route pwm analog analogIns digitalIns pinMode; #X obj 952 108 t a; #X msg 506 143 240 \$1 247; #X msg 506 113 121; #X msg 536 113 107; #N canvas 0 50 421 260 pinState 0; #X obj 15 20 inlet; #X obj 15 200 outlet; #X obj 15 56 route float; #X obj 15 78 moses 128; #X obj 99 154 print [arduino]; #X msg 99 129 ERROR: invalid pin for pinState query: \$1; #X obj 99 104 list; #X msg 15 177 240 109 \$1 247; #X connect 0 0 2 0; #X connect 2 0 3 0; #X connect 2 1 6 0; #X connect 3 0 7 0; #X connect 3 1 5 0; #X connect 5 0 4 0; #X connect 6 0 5 0; #X connect 7 0 1 0; #X restore 582 113 pd pinState; #X obj 310 51 route digital port version firmware capability pinState ; #X obj 661 52 route analogMapping samplingInterval sysex string; #X msg 661 113 105; #X connect 0 0 11 0; #X connect 2 0 1 0; #X connect 3 0 1 0; #X connect 4 0 1 0; #X connect 5 0 1 0; #X connect 6 0 1 0; #X connect 7 0 1 0; #X connect 8 0 1 0; #X connect 9 0 2 1; #X connect 9 1 1 0; #X connect 10 0 1 0; #X connect 11 0 4 0; #X connect 11 1 4 0; #X connect 11 2 6 0; #X connect 11 3 7 0; #X connect 11 4 3 0; #X connect 11 5 17 0; #X connect 12 0 1 0; #X connect 13 0 1 0; #X connect 14 0 13 0; #X connect 15 0 13 0; #X connect 16 0 1 0; #X connect 17 0 2 0; #X connect 17 1 9 0; #X connect 17 2 5 0; #X connect 17 3 14 0; #X connect 17 4 15 0; #X connect 17 5 16 0; #X connect 17 6 18 0; #X connect 18 0 19 0; #X connect 18 1 10 0; #X connect 18 2 8 0; #X connect 18 3 8 1; #X connect 18 4 12 0; #X connect 19 0 13 0; #X restore 32 89 pd command processing; #X text 28 38 processed input; #N canvas 590 443 467 421 make 0; #X obj 28 6 inlet; #X obj 133 332 outlet; #X obj 28 52 moses 128; #X obj 130 100 trigger float float; #N canvas 459 506 653 358 set 0; #X obj 26 3 inlet; #X obj 34 307 outlet; #X text 85 31 0xF0; #X obj 26 31 moses 240; #X text 79 307 length in byte count; #X msg 283 122 2; #X obj 26 60 & 240; #X obj 26 101 select 144 160 176 192 208 224; #X text 29 86 0x90 0xA0 0xB0 0xC0 0xD0 0xE0; #X msg 251 122 2; #X text 282 83 0xF4 0xF9; #X obj 195 242 print [arduino]_WARNING_currently_unsupported; #X msg 55 122 160; #X msg 26 122 2; #X msg 85 122 176; #X msg 114 122 1; #X msg 144 122 1; #X msg 173 122 2; #X text 348 69 sysex; #X msg 315 122 999999; #X text 362 121 <-- sets sysex size limit; #X text 62 60 strip channel info; #X text 342 83 0xF0; #X obj 251 101 select 244 249 240; #X connect 0 0 3 0; #X connect 3 0 6 0; #X connect 3 1 23 0; #X connect 5 0 1 0; #X connect 6 0 7 0; #X connect 7 0 13 0; #X connect 7 1 12 0; #X connect 7 2 14 0; #X connect 7 3 15 0; #X connect 7 4 16 0; #X connect 7 5 17 0; #X connect 9 0 1 0; #X connect 12 0 11 0; #X connect 13 0 1 0; #X connect 14 0 11 0; #X connect 15 0 1 0; #X connect 16 0 1 0; #X connect 17 0 1 0; #X connect 19 0 1 0; #X connect 23 0 9 0; #X connect 23 1 5 0; #X connect 23 2 19 0; #X restore 241 127 pd set message length; #X obj 79 250 select 0; #X obj 79 228 float; #X obj 117 228 - 1; #X obj 79 178 trigger bang float; #X text 89 52 only process command bytes; #X text 140 78 end of sysex; #X obj 79 79 route 247; #X obj 79 100 bang; #N canvas 0 50 313 216 tolist 0; #X obj 89 50 inlet; #X obj 179 50 inlet; #X obj 89 155 outlet; #N canvas 140 104 344 212 msg 0; #X obj 12 13 inlet; #X obj 12 113 outlet; #X msg 12 33; #X connect 0 0 2 0; #X connect 2 0 1 0; #X restore 89 124 pd msg; #X msg 179 70 add2 \$1; #X msg 89 86 bang \, set; #X connect 0 0 5 0; #X connect 1 0 4 0; #X connect 3 0 2 0; #X connect 4 0 3 0; #X connect 5 0 3 0; #X restore 133 308 pd tolist; #X connect 0 0 2 0; #X connect 2 0 8 0; #X connect 2 1 11 0; #X connect 3 0 8 0; #X connect 3 1 4 0; #X connect 4 0 6 1; #X connect 5 0 13 0; #X connect 6 0 7 0; #X connect 6 0 5 0; #X connect 7 0 6 1; #X connect 8 0 6 0; #X connect 8 1 13 1; #X connect 11 0 12 0; #X connect 11 1 3 0; #X connect 12 0 13 0; #X connect 13 0 1 0; #X restore 32 199 pd make lists; #N canvas 0 50 525 269 check 0; #X obj 47 62 inlet; #X obj 47 88 route version; #X obj 47 127 unpack float float; #X obj 92 171 print [arduino]_WARNING_INCOMPATIBLE_FIRMWARE_VERSION ; #X obj 47 149 select 2; #X text 102 150 <-- sets the protocol major version this is compatible with; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 2 0 4 0; #X connect 4 1 3 0; #X restore 215 325 pd check version; #N canvas 192 246 541 319 convert 0; #X obj 142 278 outlet; #N canvas 234 468 335 267 analog 0; #X obj 65 16 inlet; #X obj 65 213 outlet; #X msg 65 150 analog \$1 \$2; #X obj 65 129 pack float float; #X obj 158 103 / 1023; #X text 203 104 scale to 0-1; #X obj 65 71 unpack float float; #X connect 0 0 6 0; #X connect 2 0 1 0; #X connect 3 0 2 0; #X connect 4 0 3 1; #X connect 6 0 3 0; #X connect 6 1 4 0; #X restore 342 174 pd analog messages; #X obj 97 13 inlet; #N canvas 325 132 888 458 sysex 0; #X obj 30 11 inlet; #X obj 30 398 outlet; #N canvas 990 306 450 300 firmware 0; #X obj 91 6 inlet; #X obj 91 272 outlet; #X obj 91 170 list prepend; #X obj 91 206 list prepend firmware; #X obj 91 239 list trim; #X obj 91 39 list split 2; #N canvas 736 297 645 461 reassemble 0; #X text 91 24 Firmata sends 8-bit chars as two 7-bit bytes; #X obj 36 24 inlet; #X obj 36 411 outlet; #X obj 159 131 list split 2; #X obj 196 206 list; #X obj 109 256 trigger bang anything; #X obj 232 280 unpack float float; #X obj 232 340 +; #X obj 193 154 route bang; #X obj 337 303 << 7; #X obj 193 179 bang; #X obj 36 106 trigger bang anything; #X text 249 179 reset the list if end of list or there is a single byte left over; #N canvas 0 50 313 216 tolist 0; #X obj 89 50 inlet; #X obj 179 50 inlet; #X obj 89 155 outlet; #N canvas 140 104 344 212 msg 0; #X obj 12 13 inlet; #X obj 12 113 outlet; #X msg 12 33; #X connect 0 0 2 0; #X connect 2 0 1 0; #X restore 89 124 pd msg; #X msg 179 70 add2 \$1; #X msg 89 86 bang \, set; #X connect 0 0 5 0; #X connect 1 0 4 0; #X connect 3 0 2 0; #X connect 4 0 3 0; #X connect 5 0 3 0; #X restore 36 381 pd tolist; #X connect 1 0 11 0; #X connect 3 0 5 0; #X connect 3 1 8 0; #X connect 3 2 10 0; #X connect 4 0 3 0; #X connect 5 0 4 0; #X connect 5 1 6 0; #X connect 6 0 7 0; #X connect 6 1 9 0; #X connect 7 0 13 1; #X connect 8 0 10 0; #X connect 8 1 4 1; #X connect 9 0 7 1; #X connect 10 0 4 1; #X connect 11 0 13 0; #X connect 11 1 3 0; #X connect 13 0 2 0; #X restore 160 79 pd reassemble chars; #X obj 160 116 list tosymbol; #X connect 0 0 5 0; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 4 0 1 0; #X connect 5 0 2 0; #X connect 5 1 6 0; #X connect 5 2 6 0; #X connect 6 0 7 0; #X connect 7 0 2 1; #X restore 30 220 pd firmware; #N canvas 830 319 667 494 assemble 0; #X text 91 24 Firmata sends 8-bit chars as two 7-bit bytes; #X obj 36 24 inlet; #X obj 36 408 outlet; #X obj 159 131 list split 2; #X obj 196 206 list; #X obj 109 256 trigger bang anything; #X obj 232 280 unpack float float; #X obj 232 323 +; #X obj 193 154 route bang; #X obj 337 303 << 7; #X obj 193 179 bang; #X obj 36 106 trigger bang anything; #X text 249 179 reset the list if end of list or there is a single byte left over; #N canvas 0 50 313 216 tolist 0; #X obj 89 50 inlet; #X obj 179 50 inlet; #X obj 89 155 outlet; #N canvas 140 104 344 212 msg 0; #X obj 12 13 inlet; #X obj 12 113 outlet; #X msg 12 33; #X connect 0 0 2 0; #X connect 2 0 1 0; #X restore 89 124 pd msg; #X msg 179 70 add2 \$1; #X msg 89 86 bang \, set; #X connect 0 0 5 0; #X connect 1 0 4 0; #X connect 3 0 2 0; #X connect 4 0 3 0; #X connect 5 0 3 0; #X restore 36 366 pd tolist; #X connect 1 0 11 0; #X connect 3 0 5 0; #X connect 3 1 8 0; #X connect 3 2 10 0; #X connect 4 0 3 0; #X connect 5 0 4 0; #X connect 5 1 6 0; #X connect 6 0 7 0; #X connect 6 1 9 0; #X connect 7 0 13 1; #X connect 8 0 10 0; #X connect 8 1 4 1; #X connect 9 0 7 1; #X connect 10 0 4 1; #X connect 11 0 13 0; #X connect 11 1 3 0; #X connect 13 0 2 0; #X restore 115 244 pd assemble 7-bit into 14-bit values; #X obj 115 293 list prepend; #X obj 115 314 list trim; #X msg 275 188 string; #X msg 184 185 servo_config; #X text 71 396 data; #X obj 138 398 outlet; #X text 184 398 status; #X obj 30 59 route 121; #X obj 101 84 route 112; #X obj 172 104 route 113; #X obj 101 104 t a b; #X obj 172 124 t a b; #X text 95 60 0x79 firmware; #X obj 388 138 route 108; #X text 452 139 0x6C Capability; #X text 237 106 0x71 string; #X text 162 84 0x70 servo (where is this documented?); #N canvas 268 50 540 585 capability 0; #X obj 14 41 t b a a; #X obj 306 13 table \$0.capability; #X msg 53 90 resize \$1; #X obj 53 64 list length; #X obj 14 19 inlet; #X obj 53 141 s \$0.capability; #X obj 33 212 until; #X obj 14 139 f; #X obj 33 113 list prepend 0; #X obj 14 169 t b a b; #X obj 33 237 f; #X msg 76 212 0; #X obj 33 260 t a a; #X obj 84 248 + 1; #X obj 33 285 tabread \$0.capability; #X obj 72 565 outlet; #X obj 33 310 sel 127; #X text 84 310 bump pin number; #X obj 132 378 t a; #X obj 99 377 == 1; #X obj 120 337 t b b; #X msg 120 357 1; #X obj 72 357 t a b; #X obj 72 401 list prepend; #X obj 72 420 route 1 0; #X obj 72 476 list prepend; #X obj 72 439 pack f f; #X obj 198 384 f; #X obj 198 406 + 1; #X obj 198 430 t a a; #N canvas 372 119 398 398 conver_to_human_readable 0; #X obj 9 10 inlet; #X obj 9 375 outlet; #X obj 9 31 unpack f f f; #X obj 43 53 sel 0 1 2 3 4 5 6 7 8 9 10 11; #X msg 43 294 DIGITAL_INPUT; #X msg 57 274 DIGITAL_OUTPUT; #X msg 71 255 ANALOG_INPUT; #X msg 85 236 PWM; #X msg 100 218 SERVO; #X msg 114 200 SHIFT; #X msg 128 180 I2C; #X msg 142 161 ONEWIRE; #X msg 157 140 STEPPER; #X msg 171 121 ENCODER; #X msg 185 101 SERIAL; #X msg 199 80 INPUT_PULLUP; #X obj 171 329 list; #X obj 9 351 pack f s f; #X connect 0 0 2 0; #X connect 2 0 17 0; #X connect 2 1 3 0; #X connect 2 2 17 2; #X connect 3 0 4 0; #X connect 3 1 5 0; #X connect 3 2 6 0; #X connect 3 3 7 0; #X connect 3 4 8 0; #X connect 3 5 9 0; #X connect 3 6 10 0; #X connect 3 7 11 0; #X connect 3 8 12 0; #X connect 3 9 13 0; #X connect 3 10 14 0; #X connect 3 11 15 0; #X connect 4 0 16 0; #X connect 5 0 16 0; #X connect 6 0 16 0; #X connect 7 0 16 0; #X connect 8 0 16 0; #X connect 9 0 16 0; #X connect 10 0 16 0; #X connect 11 0 16 0; #X connect 12 0 16 0; #X connect 13 0 16 0; #X connect 14 0 16 0; #X connect 15 0 16 0; #X connect 16 0 17 1; #X connect 17 0 1 0; #X restore 72 497 pd conver_to_human_readable; #X msg 72 458 \$2 \$1; #X text 177 476 pin# \, mode \, resolution; #X text 240 404 count pin#; #X obj 72 522 list prepend capability; #X obj 72 542 list trim; #X msg 14 457 end; #X msg 359 463 begin; #X connect 0 0 7 0; #X connect 0 1 8 0; #X connect 0 2 3 0; #X connect 2 0 5 0; #X connect 3 0 2 0; #X connect 3 0 7 1; #X connect 4 0 0 0; #X connect 6 0 10 0; #X connect 7 0 9 0; #X connect 8 0 5 0; #X connect 9 0 36 0; #X connect 9 1 6 0; #X connect 9 2 11 0; #X connect 9 2 37 0; #X connect 10 0 12 0; #X connect 11 0 10 1; #X connect 11 0 29 0; #X connect 12 0 14 0; #X connect 12 1 13 0; #X connect 13 0 10 1; #X connect 14 0 16 0; #X connect 16 0 20 0; #X connect 16 1 22 0; #X connect 18 0 19 1; #X connect 19 0 18 0; #X connect 19 0 23 1; #X connect 20 0 21 0; #X connect 20 1 27 0; #X connect 21 0 19 1; #X connect 22 0 23 0; #X connect 22 1 19 0; #X connect 23 0 24 0; #X connect 24 0 26 0; #X connect 24 1 26 1; #X connect 25 0 30 0; #X connect 26 0 31 0; #X connect 27 0 28 0; #X connect 28 0 29 0; #X connect 29 0 25 1; #X connect 29 1 27 1; #X connect 30 0 34 0; #X connect 31 0 25 0; #X connect 34 0 35 0; #X connect 35 0 15 0; #X connect 36 0 34 0; #X connect 37 0 34 0; #X restore 388 184 pd capability; #X obj 544 171 route 110; #X text 607 172 0x6E Pin State; #N canvas 268 50 386 285 pinState 0; #X obj 14 19 inlet; #X obj 14 215 outlet; #N canvas 0 50 386 373 convert_to_human_readable 0; #X obj 51 48 sel 0 1 2 3 4 5 6 7 8 9 10 11; #X msg 51 289 DIGITAL_INPUT; #X msg 65 269 DIGITAL_OUTPUT; #X msg 79 250 ANALOG_INPUT; #X msg 93 231 PWM; #X msg 108 213 SERVO; #X msg 122 195 SHIFT; #X msg 136 175 I2C; #X msg 150 156 ONEWIRE; #X msg 165 135 STEPPER; #X msg 179 116 ENCODER; #X msg 193 96 SERIAL; #X msg 207 75 INPUT_PULLUP; #X obj 179 324 list; #X obj 51 19 inlet; #X obj 179 346 outlet; #X connect 0 0 1 0; #X connect 0 1 2 0; #X connect 0 2 3 0; #X connect 0 3 4 0; #X connect 0 4 5 0; #X connect 0 5 6 0; #X connect 0 6 7 0; #X connect 0 7 8 0; #X connect 0 8 9 0; #X connect 0 9 10 0; #X connect 0 10 11 0; #X connect 0 11 12 0; #X connect 1 0 13 0; #X connect 2 0 13 0; #X connect 3 0 13 0; #X connect 4 0 13 0; #X connect 5 0 13 0; #X connect 6 0 13 0; #X connect 7 0 13 0; #X connect 8 0 13 0; #X connect 9 0 13 0; #X connect 10 0 13 0; #X connect 11 0 13 0; #X connect 12 0 13 0; #X connect 13 0 15 0; #X connect 14 0 0 0; #X restore 71 120 pd convert_to_human_readable; #X obj 14 54 list split 2; #X obj 14 81 unpack f f; #X obj 14 161 pack f s f; #X msg 14 186 pinState \$1 \$2 \$3; #X msg 135 186 pinState \$1 NOT_PRESENT; #X connect 0 0 3 0; #X connect 2 0 5 1; #X connect 3 0 4 0; #X connect 3 1 5 2; #X connect 3 2 7 0; #X connect 4 0 5 0; #X connect 4 1 2 0; #X connect 5 0 6 0; #X connect 6 0 1 0; #X connect 7 0 1 0; #X restore 544 200 pd pinState; #X obj 639 196 route 106; #X text 704 195 0x6A Analog Mapping; #N canvas 288 35 536 407 analogMapping 0; #X obj 12 7 inlet; #X obj 70 361 outlet; #X obj 12 27 t b a a; #X msg 51 72 resize \$1; #X obj 51 47 list length; #X obj 31 165 until; #X obj 12 119 f; #X obj 31 90 list prepend 0; #X obj 12 144 t b a b; #X obj 31 190 f; #X msg 74 165 0; #X obj 92 201 + 1; #X obj 51 125 s \$0.analogMapping; #X obj 178 14 table \$0.analogMapping; #X obj 31 245 tabread \$0.analogMapping; #X obj 31 265 sel 127; #X obj 70 288 pack f f; #X obj 31 213 t a a a; #X obj 70 318 list prepend analogMapping; #X obj 70 338 list trim; #X msg 208 249 begin; #X msg 12 285 end; #X connect 0 0 2 0; #X connect 2 0 6 0; #X connect 2 1 7 0; #X connect 2 2 4 0; #X connect 3 0 12 0; #X connect 4 0 3 0; #X connect 4 0 6 1; #X connect 5 0 9 0; #X connect 6 0 8 0; #X connect 7 0 12 0; #X connect 8 0 21 0; #X connect 8 1 5 0; #X connect 8 2 10 0; #X connect 8 2 20 0; #X connect 9 0 17 0; #X connect 10 0 9 1; #X connect 11 0 9 1; #X connect 14 0 15 0; #X connect 15 1 16 0; #X connect 16 0 18 0; #X connect 17 0 14 0; #X connect 17 1 16 1; #X connect 17 2 11 0; #X connect 18 0 19 0; #X connect 19 0 1 0; #X connect 20 0 18 0; #X connect 21 0 18 0; #X restore 639 223 pd analogMapping; #X connect 0 0 11 0; #X connect 2 0 9 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 1 0; #X connect 6 0 4 1; #X connect 7 0 4 1; #X connect 11 0 2 0; #X connect 11 1 12 0; #X connect 12 0 14 0; #X connect 12 1 13 0; #X connect 13 0 15 0; #X connect 13 1 17 0; #X connect 14 0 3 0; #X connect 14 1 7 0; #X connect 15 0 3 0; #X connect 15 1 6 0; #X connect 17 0 21 0; #X connect 17 1 22 0; #X connect 21 0 9 0; #X connect 22 0 24 0; #X connect 22 1 25 0; #X connect 24 0 9 0; #X connect 25 0 27 0; #X connect 27 0 9 0; #X restore 134 174 pd sysex; #N canvas 383 77 457 452 route 0; #X obj 46 24 inlet; #X obj 175 400 outlet; #X obj 233 400 outlet; #X obj 46 91 trigger anything anything; #X obj 292 400 outlet; #X obj 175 339 route digital analog; #X msg 193 115 \$1; #X obj 244 158 moses 224; #X text 314 157 0xE0 analog messages; #X obj 193 136 moses 144; #X text 257 136 0x90 digital messages; #X obj 244 209 bang; #X obj 295 209 bang; #X msg 244 236 digital; #X msg 297 236 analog; #X text 359 178 0xF0; #X obj 346 236 bang; #X obj 211 236 bang; #N canvas 176 360 335 257 parse 0; #X obj 73 18 inlet; #X obj 73 215 outlet; #X obj 73 161 pack float float; #X obj 73 64 unpack float float float; #X obj 166 110 +; #X obj 214 85 << 7; #X obj 73 85 & 15; #X connect 0 0 3 0; #X connect 2 0 1 0; #X connect 3 0 6 0; #X connect 3 1 4 0; #X connect 3 2 5 0; #X connect 4 0 2 1; #X connect 5 0 4 1; #X connect 6 0 2 0; #X restore 46 167 pd parse messages; #X obj 295 178 moses 240; #X obj 175 279 list prepend; #X obj 175 301 list trim; #X connect 0 0 3 0; #X connect 3 0 18 0; #X connect 3 1 6 0; #X connect 5 0 1 0; #X connect 5 1 2 0; #X connect 5 2 4 0; #X connect 6 0 9 0; #X connect 7 0 11 0; #X connect 7 1 19 0; #X connect 9 0 17 0; #X connect 9 1 7 0; #X connect 11 0 13 0; #X connect 12 0 14 0; #X connect 13 0 20 1; #X connect 14 0 20 1; #X connect 16 0 20 1; #X connect 17 0 20 1; #X connect 18 0 20 0; #X connect 19 0 12 0; #X connect 19 1 16 0; #X connect 20 0 21 0; #X connect 21 0 5 0; #X restore 205 86 pd route digital/analog; #X obj 97 75 route 249 240; #X text 124 60 0xF9 0xF0; #X msg 40 174 version \$1 \$2; #X obj 263 277 outlet; #X text 312 279 status outlet; #X text 184 277 data outlet; #N canvas 418 242 444 547 digital_messages 0; #X obj 43 26 inlet; #X obj 62 416 outlet; #X obj 43 67 unpack f f, f 30; #X obj 43 92 t a a a; #X obj 41 510 table \$0.digital.input.change 16; #X obj 82 116 tabread \$0.digital.input.change; #X obj 82 141 expr $f1 ^ $f2; #X text 181 143 which bits have changed?; #N canvas 0 238 288 383 byte2bits 0; #X msg 44 78 8; #X obj 44 104 until; #X obj 44 129 f; #X obj 131 133 + 1; #X msg 82 105 0; #X msg 44 179 2 \$1; #X obj 44 202 pow; #X obj 44 226 &, f 8; #X obj 44 153 t a a a, f 12; #X obj 44 28 inlet; #X obj 44 52 t b b a; #X obj 71 303 outlet; #X obj 44 249 sel 0; #X obj 71 278 list prepend; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 2 0 8 0; #X connect 3 0 2 1; #X connect 4 0 2 1; #X connect 5 0 6 0; #X connect 6 0 7 0; #X connect 7 0 12 0; #X connect 8 0 5 0; #X connect 8 1 13 1; #X connect 8 2 3 0; #X connect 9 0 10 0; #X connect 10 0 0 0; #X connect 10 1 4 0; #X connect 10 2 7 1; #X connect 12 1 13 0; #X connect 13 0 11 0; #X restore 82 174 pd byte2bits; #X obj 110 278 &, f 14; #X obj 82 227 t a a a, f 10; #X msg 110 253 \$2; #X obj 110 303 >>; #X text 167 173 serialize bits \, limit to those that changed; #X obj 62 333 pack f f; #X obj 62 276 * 8; #X obj 62 304 +, f 4; #X text 126 334 digital input (pin \, value); #X msg 62 387 digital \$1 \$2; #X obj 43 473 s \$0.digital.input.change; #X obj 43 448 pack f f, f 30; #X text 206 472 cache value for later comparison; #X msg 139 254 \$1; #X msg 82 253 \$1; #X text 87 201 <- bit position and corresponding bit mask; #X connect 0 0 2 0; #X connect 2 0 3 0; #X connect 2 1 6 1; #X connect 2 1 9 1; #X connect 2 1 20 1; #X connect 3 0 20 0; #X connect 3 1 15 0; #X connect 3 2 5 0; #X connect 5 0 6 0; #X connect 6 0 8 0; #X connect 8 0 10 0; #X connect 9 0 12 0; #X connect 10 0 23 0; #X connect 10 1 11 0; #X connect 10 2 22 0; #X connect 11 0 9 0; #X connect 12 0 14 1; #X connect 14 0 18 0; #X connect 15 0 16 0; #X connect 16 0 14 0; #X connect 18 0 1 0; #X connect 20 0 19 0; #X connect 22 0 12 1; #X connect 23 0 16 1; #X restore 205 168 pd digital_messages; #X obj 340 150 print [arduino]; #X obj 340 109 list prepend UNKNOWN_RESPONSE; #X obj 340 129 list trim; #X connect 1 0 0 0; #X connect 2 0 5 0; #X connect 3 0 0 0; #X connect 3 1 8 0; #X connect 4 0 11 0; #X connect 4 1 1 0; #X connect 4 2 13 0; #X connect 5 0 7 0; #X connect 5 1 3 0; #X connect 5 2 4 0; #X connect 7 0 8 0; #X connect 11 0 0 0; #X connect 13 0 14 0; #X connect 14 0 12 0; #X restore 32 259 pd convert to symbolic commands; #X text 323 361 released under the GNU GPL v2 or later; #X obj 257 115 print [arduino]; #X obj 257 57 loadbang; #X obj 32 171 comport \$1 57600; #X text 254 34 supports Firmata v2.X; #X text 27 361 (C) Copyright 2006-2012 Free Software Foundation; #X msg 257 80 version 0.8; #X connect 0 0 3 0; #X connect 3 0 11 0; #X connect 5 0 7 0; #X connect 7 0 1 0; #X connect 7 1 2 0; #X connect 7 1 6 0; #X connect 10 0 14 0; #X connect 11 0 5 0; #X connect 11 1 2 0; #X connect 14 0 9 0; pduino-0.8/includes/000077500000000000000000000000001402671452100144675ustar00rootroot00000000000000pduino-0.8/includes/agop.13.led.pd000066400000000000000000000035501402671452100167320ustar00rootroot00000000000000#N canvas 581 189 531 425 10; #X obj 20 20 cnv 5 5 5 empty \$0.led empty 20 12 0 14 -166401 -262144 0; #X obj 397 119 << 8; #X obj 360 143 << 16; #X obj 361 165 +; #X obj 397 143 +; #X obj 361 185 * -1; #X obj 361 206 - 1; #X obj 326 76 list split 1; #X obj 360 98 unpack f f f; #X obj 326 231 list append; #X obj 326 252 route 0 1; #X obj 44 343 f; #X obj 69 344 f; #X obj 44 313 sel 0 1; #X msg 44 372 color \$1 0; #X obj 44 396 s \$0.led; #X msg 326 54 0 160 160 0 \, 1 255 255 0; #X obj 326 31 loadbang; #X obj 44 287 change -1; #X obj 59 5 r \$1.ARDUINO.TO; #X obj 59 72 route 13; #X obj 96 160 r \$1.ARDUINO.INTERN; #X obj 96 182 route refresh ready; #X obj 44 251 f; #X obj 44 209 b; #X msg 151 226 0; #X obj 87 27 r \$1.ARDUINO.IN; #X obj 59 47 route digital pinMode; #X obj 120 67 route 13; #X obj 59 132 spigot 1; #X msg 120 111 1; #X msg 184 112 0; #X obj 151 205 sel 0; #X obj 120 89 route output 1 input 0; #X connect 1 0 4 0; #X connect 2 0 3 0; #X connect 3 0 5 0; #X connect 4 0 3 1; #X connect 5 0 6 0; #X connect 6 0 9 1; #X connect 7 0 9 0; #X connect 7 1 8 0; #X connect 8 0 2 0; #X connect 8 1 1 0; #X connect 8 2 4 1; #X connect 9 0 10 0; #X connect 10 0 11 1; #X connect 10 1 12 1; #X connect 11 0 14 0; #X connect 12 0 14 0; #X connect 13 0 11 0; #X connect 13 1 12 0; #X connect 14 0 15 0; #X connect 16 0 7 0; #X connect 17 0 16 0; #X connect 18 0 13 0; #X connect 19 0 27 0; #X connect 20 0 29 0; #X connect 21 0 22 0; #X connect 22 0 24 0; #X connect 22 1 32 0; #X connect 23 0 18 0; #X connect 24 0 23 0; #X connect 25 0 23 0; #X connect 26 0 27 0; #X connect 27 0 20 0; #X connect 27 1 28 0; #X connect 28 0 33 0; #X connect 29 0 23 1; #X connect 30 0 29 1; #X connect 31 0 29 1; #X connect 31 0 23 1; #X connect 32 0 25 0; #X connect 32 1 29 1; #X connect 33 0 30 0; #X connect 33 1 30 0; #X connect 33 2 31 0; #X connect 33 3 31 0; #X coords 0 -1 1 1 5 5 2 20 20; pduino-0.8/includes/agop.analog.gop.pd000066400000000000000000000011221402671452100177620ustar00rootroot00000000000000#N canvas 305 197 450 300 10; #X obj 21 22 cnv 2 1 8 empty \$1.bar empty 20 12 0 14 -3056 -66577 0; #X obj 21 19 cnv 8 8 8 empty \$1.show.value empty -80 7 0 12 -1 -258113 0; #X obj 33 21 vsl 8 9 10 -4 0 0 \$1.selector.s \$1.selector.r empty 1 5 0 10 -228856 -228856 -1 0 1; #X obj 42 19 nbx 1 14 0 100 0 0 \$1.nb.s \$1.nb.r empty 0 -8 0 10 -262144 -1 -1 0 256; #X obj 33 21 vsl 8 9 30 24 0 0 \$1.selector.label.s \$1.selector.label.r empty 1 5 0 10 -228856 -228856 -1 0 1; #X obj 21 21 vsl 12 9 0 1 0 0 \$1.sl.s \$1.sl.r empty 1 6 0 9 -233017 -233017 -1 0 1; #X coords 0 -1 1 1 20 14 2 21 19; pduino-0.8/includes/agop.analog.pin.pd000066400000000000000000000722431402671452100177770ustar00rootroot00000000000000#N canvas 78 43 482 435 10; #X obj 17 61 namecanvas \$0.goparea; #N canvas 552 82 376 474 mode.selector 0; #N canvas 278 280 413 391 slider.wrapper 0; #X obj 20 285 pack f f f; #X obj 20 263 - 1; #X obj 20 197 change; #X obj 20 238 t a a a; #X obj 77 261 +; #X msg 20 307 range \$2 \$1 \, set \$3; #X obj 20 361 s \$0.selector.r; #X obj 20 175 div 5; #X obj 20 217 * 5; #X obj 92 238 mod 5; #X obj 48 262 + 5; #X obj 20 78 max 0; #X obj 20 104 min 1e+37; #X obj 139 20 inlet; #X obj 139 42 route range set; #X obj 139 67 unpack; #X obj 203 67 r \$0.sens; #X obj 139 91 *; #X obj 172 91 *; #X obj 205 155 div; #X obj 205 177 change -1e+37; #X obj 205 270 outlet; #X obj 182 121 *; #X obj 20 150 t a a; #X obj 20 126 t a a; #X obj 20 4 r \$0.selector.s; #X obj 250 205 r \$0.ready; #X obj 205 247 spigot; #X msg 259 274 range 10 -4 \, set 7; #X obj 53 27 r \$0.ready; #X obj 20 51 spigot; #X obj 259 239 sel 0; #X connect 0 0 5 0; #X connect 1 0 0 0; #X connect 2 0 8 0; #X connect 3 0 1 0; #X connect 3 1 10 0; #X connect 3 2 4 0; #X connect 4 0 0 2; #X connect 5 0 6 0; #X connect 7 0 2 0; #X connect 8 0 3 0; #X connect 9 0 4 1; #X connect 10 0 0 1; #X connect 11 0 12 0; #X connect 12 0 24 0; #X connect 13 0 14 0; #X connect 14 0 15 0; #X connect 14 1 22 0; #X connect 15 0 17 0; #X connect 15 1 18 0; #X connect 16 0 18 1; #X connect 16 0 17 1; #X connect 16 0 19 1; #X connect 16 0 22 1; #X connect 17 0 11 1; #X connect 18 0 12 1; #X connect 19 0 20 0; #X connect 20 0 27 0; #X connect 22 0 23 0; #X connect 23 0 7 0; #X connect 23 1 9 0; #X connect 24 0 23 0; #X connect 24 1 19 0; #X connect 25 0 30 0; #X connect 26 0 27 1; #X connect 26 0 31 0; #X connect 27 0 21 0; #X connect 28 0 6 0; #X connect 29 0 30 1; #X connect 30 0 11 0; #X connect 31 0 28 0; #X restore 43 113 pd slider.wrapper; #X obj 43 34 t a a; #X obj 43 60 list length; #N canvas 874 200 385 462 list.selector.fields 0; #N canvas 1158 434 142 254 counter 0; #X obj 10 12 inlet; #X msg 38 61 -2; #X obj 10 83 until; #X obj 10 105 f; #X obj 37 106 + 1; #X obj 10 38 t b b a; #X obj 10 202 list prepend; #X obj 10 224 outlet; #X obj 10 126 t a a; #X obj 10 181 list append; #X obj 51 156 + 21; #X obj 51 133 * 11; #X msg 10 61 6; #X connect 0 0 5 0; #X connect 1 0 3 1; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 3 0 8 0; #X connect 4 0 3 1; #X connect 5 0 12 0; #X connect 5 1 1 0; #X connect 5 2 6 1; #X connect 6 0 7 0; #X connect 8 0 9 0; #X connect 8 1 11 0; #X connect 9 0 6 0; #X connect 10 0 9 1; #X connect 11 0 10 0; #X connect 12 0 2 0; #X restore 5 200 pd counter; #X obj 5 224 t a a; #X obj 5 442 s; #X obj 5 246 list trim; #X obj 159 49 inlet; #X obj 32 82 del 600; #X obj 252 89 inlet; #X msg 5 107 1; #X msg 32 107 0; #X obj 5 288 route 1 0; #N canvas 752 421 288 441 update.labels 0; #N canvas 646 355 158 272 counter 0; #X obj 10 12 inlet; #X msg 10 57 5; #X msg 38 57 -2; #X obj 10 79 until; #X obj 10 101 f; #X obj 37 102 + 1; #X obj 10 124 outlet; #X obj 10 34 t b b; #X connect 0 0 7 0; #X connect 1 0 3 0; #X connect 2 0 4 1; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 4 0 6 0; #X connect 5 0 4 1; #X connect 7 0 1 0; #X connect 7 1 2 0; #X restore -47 75 pd counter; #X obj -47 31 t b a; #X obj -47 97 list append; #X obj -47 7 inlet; #X obj 97 9 inlet; #X obj -47 119 t a a; #X msg 16 124 \$1 \$2; #X obj 16 146 +; #X obj -47 171 list append; #X obj -47 193 t a a; #N canvas 781 423 450 300 get.label.from.id 0; #X obj 68 94 t b a; #X obj 68 140 list split; #X obj 68 118 list append; #X obj 153 227 list split 1; #X obj 68 66 - 1; #X obj 29 42 moses 1; #X msg 125 168 symbol empty; #X obj 96 201 route bang; #X obj 153 250 outlet; #X obj 29 18 inlet; #X obj 232 28 inlet; #X connect 0 0 2 0; #X connect 0 1 1 1; #X connect 1 1 7 0; #X connect 1 2 6 0; #X connect 2 0 1 0; #X connect 3 0 8 0; #X connect 4 0 0 0; #X connect 5 0 6 0; #X connect 5 1 4 0; #X connect 6 0 8 0; #X connect 7 0 6 0; #X connect 7 1 3 0; #X connect 9 0 5 0; #X connect 10 0 2 1; #X restore -20 241 pd get.label.from.id; #X obj -47 266 list append; #X msg -20 218 \$3; #X obj -20 310 list prepend \$0; #X msg -20 332 \; \$1.field.\$2.r label \$5; #X obj -47 288 t a a; #X obj -47 365 route 0; #X msg -47 385 symbol \$3; #X obj -47 407 outlet; #X connect 0 0 2 0; #X connect 1 0 0 0; #X connect 1 1 2 1; #X connect 2 0 5 0; #X connect 3 0 1 0; #X connect 4 0 10 1; #X connect 5 0 8 0; #X connect 5 1 6 0; #X connect 6 0 7 0; #X connect 7 0 8 1; #X connect 8 0 9 0; #X connect 9 0 11 0; #X connect 9 1 12 0; #X connect 10 0 11 1; #X connect 11 0 15 0; #X connect 12 0 10 0; #X connect 13 0 14 0; #X connect 15 0 16 0; #X connect 15 1 13 0; #X connect 16 0 17 0; #X connect 17 0 18 0; #X restore 159 112 pd update.labels; #X obj 32 398 list prepend \$0; #X msg 32 420 symbol \$1.field.\$3.r; #X obj 5 333 route 3; #X obj 5 60 t b b; #X obj 5 129 change; #X obj 5 5 r \$0.selector.s; #X obj 159 69 f; #N canvas 842 395 450 300 init.cnvs 0; #X obj 15 214 list prepend \$0; #X msg 120 167 -187246; #X msg 42 168 -233017; #X obj 15 127 t a a; #X obj 15 193 list append; #X obj 42 147 sel 0 3; #X msg 92 167 -1; #X msg 15 105 3 \, -2 \, -1 \, 1 \, 2 \, 0; #X obj 15 58 spigot 1; #X msg 93 75 0; #X obj 15 80 t b b; #X obj 15 6 r \$0.selector.s; #X obj 15 270 s \$0.goparea; #X msg 15 235 obj 34 20 cnv 1 1 1 empty \$1.field.\$2.r empty 1 5 0 10 \$3 -1 0; #X connect 0 0 13 0; #X connect 1 0 4 1; #X connect 2 0 4 1; #X connect 3 0 4 0; #X connect 3 1 5 0; #X connect 4 0 0 0; #X connect 5 0 2 0; #X connect 5 1 6 0; #X connect 5 2 1 0; #X connect 6 0 4 1; #X connect 7 0 3 0; #X connect 8 0 10 0; #X connect 9 0 8 1; #X connect 10 0 7 0; #X connect 10 1 9 0; #X connect 11 0 8 0; #X connect 13 0 12 0; #X restore 277 12 pd init.cnvs; #X obj 107 94 sel 1 0; #X obj 5 150 t a a a; #X obj 195 221 outlet; #X obj 126 152 symbol; #X obj 126 175 select dummy; #X obj 195 199 t a a; #X obj 5 27 spigot; #X obj 60 28 r \$0.ready; #X msg 39 313 pos 34 20 \, vis_size 1 1 \, label empty \, size 1; #X msg 44 358 pos 33 \$2 \, vis_size 38 10; #X msg 5 377 pos 31 -3 \, vis_size 42 58; #X connect 0 0 1 0; #X connect 1 0 3 0; #X connect 1 1 11 0; #X connect 3 0 9 0; #X connect 4 0 17 0; #X connect 5 0 8 0; #X connect 6 0 10 1; #X connect 7 0 15 0; #X connect 8 0 15 0; #X connect 9 0 13 0; #X connect 9 1 27 0; #X connect 10 0 22 1; #X connect 11 0 12 0; #X connect 12 0 2 1; #X connect 13 0 29 0; #X connect 13 1 28 0; #X connect 14 0 7 0; #X connect 14 1 5 0; #X connect 15 0 20 0; #X connect 16 0 25 0; #X connect 17 0 10 0; #X connect 19 0 17 0; #X connect 19 1 22 0; #X connect 20 0 19 0; #X connect 20 1 0 0; #X connect 22 0 23 0; #X connect 23 1 24 0; #X connect 24 0 21 0; #X connect 24 1 23 1; #X connect 25 0 14 0; #X connect 26 0 25 1; #X connect 27 0 2 0; #X connect 28 0 2 0; #X connect 29 0 2 0; #X restore 43 146 pd list.selector.fields; #X msg 43 85 range 1 \$1; #X msg 153 383 label \$1; #X obj 153 359 symbol; #X obj 153 406 s \$0.selector.label.r; #X obj 42 273 s \$0.mode; #X obj 43 12 inlet; #X msg 153 317 I; #X msg 181 317 O; #X obj 228 90 r \$0.ready; #X obj 227 8 loadbang; #X obj 227 30 \$0; #X msg 227 52 \; \$1.sens 5 \;; #X msg 228 145 symbol OFF; #X msg 210 317 A; #X msg 295 317 empty; #X obj 153 263 r \$0.mode; #X msg 42 215 0; #X msg 81 215 1; #X msg 121 215 2; #X msg 160 215 3; #X msg 200 215 4; #X obj 42 189 select INPUT OUTPUT ANALOG PWM SERVO OFF; #X msg 239 215 -1; #X obj 153 287 sel 0 1 2 3 4 -1; #X msg 239 317 P; #X msg 267 317 S; #X connect 0 0 3 0; #X connect 1 0 2 0; #X connect 1 1 3 1; #X connect 2 0 4 0; #X connect 3 0 25 0; #X connect 4 0 0 0; #X connect 5 0 7 0; #X connect 6 0 5 0; #X connect 9 0 1 0; #X connect 10 0 6 0; #X connect 11 0 6 0; #X connect 12 0 16 0; #X connect 13 0 14 0; #X connect 14 0 15 0; #X connect 16 0 25 0; #X connect 17 0 6 0; #X connect 18 0 6 0; #X connect 19 0 27 0; #X connect 20 0 8 0; #X connect 21 0 8 0; #X connect 22 0 8 0; #X connect 23 0 8 0; #X connect 24 0 8 0; #X connect 25 0 20 0; #X connect 25 1 21 0; #X connect 25 2 22 0; #X connect 25 3 23 0; #X connect 25 4 24 0; #X connect 25 5 26 0; #X connect 26 0 8 0; #X connect 27 0 10 0; #X connect 27 1 11 0; #X connect 27 2 17 0; #X connect 27 3 28 0; #X connect 27 4 29 0; #X connect 27 5 18 0; #X connect 28 0 6 0; #X connect 29 0 6 0; #X restore 17 141 pd mode.selector; #N canvas 349 167 357 228 pin.no.label 0; #X obj 18 192 s \$0.sl.r; #X obj 18 149 makefilename %2d; #X msg 18 171 label \$1; #X obj 18 3 r \$0.ready; #X msg 122 113 label empty; #X obj 197 31 loadbang; #X obj 18 25 sel 1 0; #X obj 18 48 f \$2; #X obj 45 108 s \$0.pin.no; #X obj 18 87 t a a; #X obj 18 67 tabread \$1.ANALOG.DIGITAL.MAPPING; #X obj 95 21 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X connect 1 0 2 0; #X connect 2 0 0 0; #X connect 3 0 6 0; #X connect 4 0 0 0; #X connect 5 0 4 0; #X connect 6 0 7 0; #X connect 6 1 4 0; #X connect 7 0 10 0; #X connect 9 0 1 0; #X connect 9 1 8 0; #X connect 10 0 9 0; #X connect 11 0 7 0; #X restore 17 163 pd pin.no.label; #N canvas 195 114 520 484 show.value 0; #X obj 128 431 s \$0.show.value; #X obj 168 171 del 1000; #X obj 99 159 r \$0.mode; #X obj 214 17 r \$0.toggle; #X obj 283 34 r \$0.mode; #X obj 214 55 list prepend; #X obj 267 216 sel 0 1; #X msg 267 240 LOW; #X msg 293 240 HIGH; #X msg 168 200 empty; #X obj 241 141 sel 0 1; #X msg 241 163 PULL_UP_OFF; #X msg 260 183 PULL_UP_ON; #X obj 214 77 t b a; #X obj 241 97 route 0 1; #X msg 357 278 label_pos \$1 7; #X obj 241 119 t a b; #X obj 324 127 t a b; #X msg 402 213 -31; #X msg 373 212 -80; #X obj 206 299 spigot 1; #X obj 390 323 r \$0.block.send; #X obj 390 370 sel 1; #X obj 390 345 t a a; #X obj 206 321 symbol; #X obj 102 284 route refresh; #X obj 102 262 r \$1.ARDUINO.INTERN; #X obj 102 306 b; #X obj 102 352 sel _; #X obj 129 374 t a a; #X obj 102 330 symbol empty; #X msg 129 398 label \$1; #X obj 21 96 * 0.01; #X obj 21 43 r \$0.nb.s; #X obj 21 65 t a b; #X msg 61 201 set 0; #X obj 61 225 s \$0.nb.r; #X obj 21 118 makefilename %.2f; #X obj 373 250 change; #X connect 1 0 9 0; #X connect 2 0 9 0; #X connect 2 0 35 0; #X connect 3 0 5 0; #X connect 4 0 5 1; #X connect 5 0 13 0; #X connect 6 0 7 0; #X connect 6 1 8 0; #X connect 7 0 20 0; #X connect 8 0 20 0; #X connect 9 0 20 0; #X connect 10 0 11 0; #X connect 10 1 12 0; #X connect 11 0 20 0; #X connect 12 0 20 0; #X connect 13 0 1 0; #X connect 13 1 14 0; #X connect 14 0 16 0; #X connect 14 1 17 0; #X connect 15 0 0 0; #X connect 16 0 10 0; #X connect 16 1 19 0; #X connect 17 0 6 0; #X connect 17 1 18 0; #X connect 18 0 38 0; #X connect 19 0 38 0; #X connect 20 0 24 0; #X connect 21 0 23 0; #X connect 22 0 9 0; #X connect 23 0 22 0; #X connect 23 1 20 1; #X connect 24 0 30 1; #X connect 25 0 27 0; #X connect 26 0 25 0; #X connect 27 0 30 0; #X connect 28 1 29 0; #X connect 29 0 31 0; #X connect 29 1 28 1; #X connect 30 0 28 0; #X connect 31 0 0 0; #X connect 32 0 37 0; #X connect 33 0 34 0; #X connect 34 0 32 0; #X connect 34 1 1 0; #X connect 34 1 18 0; #X connect 35 0 36 0; #X connect 37 0 20 0; #X connect 38 0 15 0; #X restore 17 205 pd show.value; #N canvas 660 165 406 454 color.indicator 0; #N canvas 1083 72 231 303 color.blender 0; #N canvas 1144 153 166 250 blend 0; #X obj 12 12 inlet; #X obj 12 207 outlet; #X obj 67 11 inlet; #X obj 27 109 -; #X obj 12 130 *; #X obj 67 32 t a a; #X obj 12 176 int; #X msg 27 87 255 \$1; #X obj 12 152 +; #X obj 12 34 * -1; #X obj 12 56 + 1; #X connect 0 0 9 0; #X connect 2 0 5 0; #X connect 3 0 4 1; #X connect 4 0 8 0; #X connect 5 0 7 0; #X connect 5 1 8 1; #X connect 6 0 1 0; #X connect 7 0 3 0; #X connect 8 0 6 0; #X connect 9 0 10 0; #X connect 10 0 4 0; #X restore 29 104 pd blend; #N canvas 1144 153 166 250 blend 0; #X obj 12 12 inlet; #X obj 12 207 outlet; #X obj 67 11 inlet; #X obj 27 109 -; #X obj 12 130 *; #X obj 67 32 t a a; #X obj 12 176 int; #X msg 27 87 255 \$1; #X obj 12 152 +; #X obj 12 34 * -1; #X obj 12 56 + 1; #X connect 0 0 9 0; #X connect 2 0 5 0; #X connect 3 0 4 1; #X connect 4 0 8 0; #X connect 5 0 7 0; #X connect 5 1 8 1; #X connect 6 0 1 0; #X connect 7 0 3 0; #X connect 8 0 6 0; #X connect 9 0 10 0; #X connect 10 0 4 0; #X restore 86 104 pd blend; #N canvas 1144 153 166 250 blend 0; #X obj 12 12 inlet; #X obj 12 207 outlet; #X obj 67 11 inlet; #X obj 27 109 -; #X obj 12 130 *; #X obj 67 32 t a a; #X obj 12 176 int; #X msg 27 87 255 \$1; #X obj 12 152 +; #X obj 12 34 * -1; #X obj 12 56 + 1; #X connect 0 0 9 0; #X connect 2 0 5 0; #X connect 3 0 4 1; #X connect 4 0 8 0; #X connect 5 0 7 0; #X connect 5 1 8 1; #X connect 6 0 1 0; #X connect 7 0 3 0; #X connect 8 0 6 0; #X connect 9 0 10 0; #X connect 10 0 4 0; #X restore 142 104 pd blend; #X obj 29 23 inlet; #X obj 29 264 outlet; #X obj 118 23 inlet; #X obj 118 45 unpack f f f; #X obj 29 53 t a a a; #X obj 86 143 << 8; #X obj 29 143 << 16; #X obj 29 200 +; #X obj 86 172 +; #X obj 29 220 * -1; #X obj 29 241 - 1; #X connect 0 0 9 0; #X connect 1 0 8 0; #X connect 2 0 11 1; #X connect 3 0 7 0; #X connect 5 0 6 0; #X connect 6 0 0 1; #X connect 6 1 1 1; #X connect 6 2 2 1; #X connect 7 0 0 0; #X connect 7 1 1 0; #X connect 7 2 2 0; #X connect 8 0 11 0; #X connect 9 0 10 0; #X connect 10 0 12 0; #X connect 11 0 10 1; #X connect 12 0 13 0; #X connect 13 0 4 0; #X restore 38 238 pd color.blender; #X obj 38 282 s \$0.sl.r; #X msg 38 260 color \$1 \$1 -1; #X obj 159 15 r \$0.mode; #X obj 2 35 r \$0.toggle; #X obj 38 189 + 0.1; #X obj 38 167 * 0.9; #X msg 186 118 210 0 255; #X msg 201 143 0 200 0; #X obj 2 414 s \$0.pull.up.r; #X obj 2 342 sel 0 1; #X msg 2 392 pos \$1 20 \, size 1 \, vis_size 4 1; #X obj 2 319 change; #X obj 95 324 r \$0.mode; #X msg 122 367 0; #X obj 95 346 sel 0; #X obj 49 115 r \$0.input; #N canvas 542 727 176 225 rate.limit 0; #X obj 129 52 inlet; #X obj 19 150 outlet; #X obj 19 47 route refresh; #X obj 19 69 b; #X obj 19 91 f; #X obj 19 126 change -1; #X obj 19 25 r \$1.ARDUINO.INTERN; #X obj 96 119 r \$0.mode; #X msg 96 141 set -1; #X connect 0 0 4 1; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 1 0; #X connect 6 0 2 0; #X connect 7 0 8 0; #X connect 8 0 5 0; #X restore 38 216 pd rate.limit; #X msg 263 244 224 224 224; #X msg 129 91 1; #X msg 156 91 0; #X obj 159 37 t a a; #X obj 2 87 route 0 1; #X obj 2 62 list prepend; #X msg 33 367 28; #X msg 2 368 33; #X msg 217 167 0 190 190; #X obj 129 69 sel -1; #X msg 248 217 255 140 0; #X msg 232 191 0 0 220; #X obj 186 92 sel 0 1 2 3 4 -1; #X obj 90 23 r \$0.nb.s; #X obj 90 45 * 0.01; #X connect 0 0 2 0; #X connect 2 0 1 0; #X connect 3 0 21 0; #X connect 4 0 23 0; #X connect 5 0 17 0; #X connect 6 0 5 0; #X connect 7 0 0 1; #X connect 8 0 0 1; #X connect 10 0 25 0; #X connect 10 1 24 0; #X connect 11 0 9 0; #X connect 12 0 10 0; #X connect 13 0 15 0; #X connect 14 0 12 0; #X connect 15 1 14 0; #X connect 16 0 6 0; #X connect 17 0 0 0; #X connect 18 0 0 1; #X connect 19 0 6 0; #X connect 20 0 6 0; #X connect 21 0 23 1; #X connect 21 0 27 0; #X connect 21 1 30 0; #X connect 22 0 12 0; #X connect 22 1 6 0; #X connect 23 0 22 0; #X connect 24 0 11 0; #X connect 25 0 11 0; #X connect 26 0 0 1; #X connect 27 0 19 0; #X connect 27 1 20 0; #X connect 28 0 0 1; #X connect 29 0 0 1; #X connect 30 0 7 0; #X connect 30 1 8 0; #X connect 30 2 26 0; #X connect 30 3 29 0; #X connect 30 4 28 0; #X connect 30 5 18 0; #X connect 31 0 32 0; #X connect 32 0 6 0; #X restore 17 227 pd color.indicator; #N canvas 1009 394 271 302 input.output.toggle 0; #N canvas 1230 291 185 273 slider.click.detection 0; #X obj 14 49 sel 0 1; #X obj 14 28 route float; #X msg 14 169 set 0.5; #X obj 82 101 t a a; #X obj 82 144 sel 0; #X obj 82 166 outlet; #X obj 24 190 loadbang; #X msg 24 211 range 0 1 \, set 0.5; #X obj 82 123 - 0.5; #X obj 14 6 r \$0.sl.s; #X obj 14 232 s \$0.sl.r; #X obj 64 76 f; #X obj 100 79 + 1; #X connect 0 0 2 0; #X connect 0 0 11 0; #X connect 0 1 2 0; #X connect 0 1 11 0; #X connect 0 2 11 0; #X connect 1 0 0 0; #X connect 2 0 10 0; #X connect 3 0 8 1; #X connect 3 1 8 0; #X connect 4 0 5 0; #X connect 6 0 7 0; #X connect 7 0 10 0; #X connect 8 0 4 0; #X connect 9 0 1 0; #X connect 11 0 12 0; #X connect 11 0 3 0; #X connect 12 0 11 1; #X restore 9 11 pd slider.click.detection; #X obj 9 234 ==; #X obj 45 234 t a; #X obj 73 181 r \$0.mode; #X msg 73 203 0; #X obj 9 257 s \$0.toggle; #X text 99 205 <- reset on mode switch; #X obj 9 194 spigot; #X obj 124 96 r \$0.ready; #X obj 42 160 &&; #X obj 124 118 t b a; #X obj 42 42 r \$0.mode; #X obj 42 64 sel 0 1; #X msg 42 94 1; #X msg 81 92 0; #X connect 0 0 7 0; #X connect 1 0 2 0; #X connect 1 0 5 0; #X connect 2 0 1 1; #X connect 3 0 4 0; #X connect 4 0 1 1; #X connect 7 0 1 0; #X connect 8 0 10 0; #X connect 9 0 7 1; #X connect 10 0 9 0; #X connect 10 1 9 1; #X connect 11 0 12 0; #X connect 12 0 13 0; #X connect 12 1 13 0; #X connect 12 2 14 0; #X connect 13 0 9 0; #X connect 14 0 9 0; #X restore 17 249 pd input.output.toggle; #N canvas 148 273 403 367 resolve.supported.modes 0; #X obj 4 263 list append; #X text 48 294 <- list of supported modes; #X obj 4 293 outlet; #X obj 4 3 r \$0.pin.no; #X obj 23 63 tabread \$1.PINMODE.MATRIX; #X obj 288 186 t b; #X obj 23 118 & 1; #X obj 63 117 & 2; #X obj 113 117 & 4; #X obj 196 117 & 8; #X obj 235 117 & 16; #X obj 23 144 sel 1; #X obj 63 143 sel 2; #X obj 113 143 sel 4; #X obj 196 143 sel 8; #X obj 235 143 sel 16; #X msg 23 168 INPUT; #X msg 63 168 OUTPUT; #X msg 196 168 PWM; #X msg 235 168 SERVO; #X obj 23 83 t a a a a a; #X obj 4 25 t b a b; #X obj 23 239 t a a; #X obj 288 51 t b; #X obj 23 213 list append; #X msg 113 168 ANALOG \, OFF; #X connect 0 0 2 0; #X connect 3 0 21 0; #X connect 4 0 20 0; #X connect 5 0 22 0; #X connect 6 0 11 0; #X connect 7 0 12 0; #X connect 8 0 13 0; #X connect 9 0 14 0; #X connect 10 0 15 0; #X connect 11 0 16 0; #X connect 12 0 17 0; #X connect 13 0 25 0; #X connect 14 0 18 0; #X connect 15 0 19 0; #X connect 16 0 24 0; #X connect 17 0 24 0; #X connect 18 0 24 0; #X connect 19 0 24 0; #X connect 20 0 6 0; #X connect 20 1 7 0; #X connect 20 2 8 0; #X connect 20 3 9 0; #X connect 20 4 10 0; #X connect 21 0 0 0; #X connect 21 1 4 0; #X connect 21 2 23 0; #X connect 22 0 0 1; #X connect 22 1 24 1; #X connect 23 0 5 0; #X connect 24 0 22 0; #X connect 25 0 24 0; #X restore 17 118 pd resolve.supported.modes; #N canvas 327 116 629 473 compose.arduino.messages 0; #X obj 11 9 r \$0.mode; #X text 68 91 <- don't send initial 'output' (it's the default); #X msg 11 232 input; #X msg 26 210 output; #X msg 73 136 servo; #X obj 11 315 list trim; #X obj 256 125 r \$0.toggle; #X msg 256 211 digital \$1 \$2; #X obj 80 5 r \$0.ready; #X obj 80 26 sel 0; #X msg 42 184 analog; #X obj 11 385 s \$1.ARDUINO.TO; #X obj 67 332 r \$0.block.send; #X obj 11 355 spigot 1; #X msg 57 160 pwm; #X obj 11 111 sel 0 1 2 3 4 -1; #X msg 80 50 set -1; #X obj 11 90 change -1; #X obj 289 277 r \$0.pin.no; #X obj 256 186 list prepend -1; #X obj 11 263 list prepend -1; #X obj 11 285 list prepend pinMode; #X obj 147 192 t a b; #X msg 174 214 analog; #X msg 147 236 analogIns \$1 0; #X obj 147 139 f \$2; #X obj 360 206 list prepend \$2; #X obj 360 123 r \$0.nb.s; #X msg 360 228 analog \$1 \$2; #X obj 360 184 * 0.01; #X obj 256 158 spigot; #X obj 360 155 spigot; #X obj 429 128 r \$0.ready; #X connect 0 0 17 0; #X connect 2 0 20 0; #X connect 3 0 20 0; #X connect 4 0 20 0; #X connect 5 0 13 0; #X connect 6 0 30 0; #X connect 7 0 13 0; #X connect 8 0 9 0; #X connect 9 0 16 0; #X connect 10 0 20 0; #X connect 12 0 13 1; #X connect 13 0 11 0; #X connect 14 0 20 0; #X connect 15 0 2 0; #X connect 15 1 3 0; #X connect 15 2 10 0; #X connect 15 3 14 0; #X connect 15 4 4 0; #X connect 15 5 25 0; #X connect 16 0 17 0; #X connect 17 0 15 0; #X connect 18 0 20 1; #X connect 18 0 19 1; #X connect 18 0 26 1; #X connect 19 0 7 0; #X connect 20 0 21 0; #X connect 21 0 5 0; #X connect 22 0 24 0; #X connect 22 1 23 0; #X connect 23 0 20 0; #X connect 24 0 5 0; #X connect 25 0 22 0; #X connect 26 0 28 0; #X connect 27 0 31 0; #X connect 28 0 13 0; #X connect 29 0 26 0; #X connect 30 0 19 0; #X connect 31 0 29 0; #X connect 32 0 30 1; #X connect 32 0 31 1; #X restore 17 293 pd compose.arduino.messages; #N canvas 699 459 192 147 ready 0; #X obj 22 10 r \$1.ARDUINO.INTERN; #X obj 22 32 route ready; #X obj 22 109 s \$0.ready; #X obj 56 53 loadbang; #X msg 56 75 0; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 3 0 4 0; #X connect 4 0 2 0; #X restore 17 94 pd ready; #N canvas 780 237 297 413 bar.display 0; #X obj 72 59 r \$0.analog; #X obj 99 385 s \$0.bar; #X obj 16 102 f; #X obj 16 5 r \$1.ARDUINO.INTERN; #X obj 16 27 route refresh; #X obj 16 49 b; #X msg 99 271 1 21; #X obj 16 219 t a a; #X obj 16 305 pack f f; #X msg 99 358 vis_size \$1 8 \, pos \$2 22; #X obj 43 264 * -1; #X obj 43 242 - 50; #X obj 16 187 int; #X obj 43 283 + -33; #X obj 16 166 * 50; #X obj 72 81 t a b; #X obj 99 106 del 200; #X obj 16 144 change 0; #X msg 128 139 set -1; #X msg 60 116 -1; #X connect 0 0 15 0; #X connect 2 0 17 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 2 0; #X connect 6 0 9 0; #X connect 7 0 8 0; #X connect 7 1 11 0; #X connect 8 0 9 0; #X connect 9 0 1 0; #X connect 10 0 13 0; #X connect 11 0 10 0; #X connect 12 0 7 0; #X connect 13 0 8 1; #X connect 14 0 12 0; #X connect 15 0 2 1; #X connect 15 1 16 0; #X connect 16 0 6 0; #X connect 16 0 19 0; #X connect 16 0 18 0; #X connect 17 0 14 0; #X connect 18 0 17 0; #X connect 19 0 2 1; #X restore 17 315 pd bar.display; #N canvas 109 428 392 240 handle.incoming 0; #N canvas 52 199 642 381 pinMode 0; #N canvas 265 209 407 276 get.supported.modes 0; #X obj 306 132 & 1; #X obj 238 133 & 2; #X obj 169 133 & 4; #X obj 98 133 & 8; #X obj 98 165 sel 8; #X obj 169 167 sel 4; #X obj 238 167 sel 2; #X obj 306 166 sel 1; #X obj 31 32 b; #X obj 31 98 t a a a a a; #X obj 31 133 & 16; #X msg 169 190 2 analog; #X msg 31 193 4 servo; #X msg 98 191 3 pwm; #X msg 306 189 0 input; #X obj 31 166 sel 16; #X msg 238 191 1 output; #X obj 31 9 inlet; #X obj 31 236 outlet; #X obj 31 76 tabread \$1.PINMODE.MATRIX; #X obj 31 54 f; #X obj 62 53 r \$0.pin.no; #X connect 0 0 7 0; #X connect 1 0 6 0; #X connect 2 0 5 0; #X connect 3 0 4 0; #X connect 4 0 13 0; #X connect 5 0 11 0; #X connect 6 0 16 0; #X connect 7 0 14 0; #X connect 8 0 20 0; #X connect 9 0 10 0; #X connect 9 1 3 0; #X connect 9 2 2 0; #X connect 9 3 1 0; #X connect 9 4 0 0; #X connect 10 0 15 0; #X connect 11 0 18 0; #X connect 12 0 18 0; #X connect 13 0 18 0; #X connect 14 0 18 0; #X connect 15 0 12 0; #X connect 16 0 18 0; #X connect 17 0 8 0; #X connect 19 0 9 0; #X connect 20 0 19 0; #X connect 21 0 20 1; #X restore 10 143 pd get.supported.modes; #X obj 10 33 route pinMode; #X obj 10 99 t b a; #X obj 10 77 list; #X obj 37 121 route float symbol; #X obj 10 165 t a a; #X obj 10 189 unpack f s; #X obj 100 213 sel _; #X obj 10 284 f; #X msg 37 262 \$1; #X obj 10 213 sel -1; #X obj 10 235 t b b; #X msg 164 225 symbol _; #X obj 100 235 t b b; #X msg 66 225 -1; #X obj 10 308 s \$0.mode; #X obj 10 11 r \$0.incoming; #X obj 270 18 r \$0.incoming; #X obj 270 40 route analogIns; #X obj 270 217 spigot 1; #X obj 270 239 sel 0 1; #X msg 297 264 2; #X msg 270 264 -1; #X obj 270 312 s \$0.mode; #X obj 423 42 route pinMode; #X obj 423 20 r \$0.incoming; #X obj 423 247 s \$0.mode; #X msg 423 226 -1; #X obj 423 88 list; #X obj 330 145 r \$0.mode; #X obj 330 167 sel 0 1 2; #X msg 364 198 1; #X msg 330 199 0; #X obj 416 156 sel pwm servo; #X obj 504 160 sel 3 4; #X obj 417 194 b; #X obj 10 55 route -1; #X obj 113 59 r \$0.pin.no; #X obj 494 67 r \$0.pin.no; #X obj 423 64 route -1; #X obj 270 136 route \$2; #X connect 0 0 5 0; #X connect 1 0 36 0; #X connect 2 0 0 0; #X connect 2 1 4 0; #X connect 3 0 2 0; #X connect 4 0 10 1; #X connect 4 1 7 1; #X connect 5 0 6 0; #X connect 5 1 9 0; #X connect 6 0 10 0; #X connect 6 1 7 0; #X connect 7 0 13 0; #X connect 8 0 15 0; #X connect 9 0 8 1; #X connect 10 0 11 0; #X connect 11 0 8 0; #X connect 11 1 12 0; #X connect 12 0 7 1; #X connect 13 0 8 0; #X connect 13 1 14 0; #X connect 14 0 10 1; #X connect 16 0 1 0; #X connect 17 0 18 0; #X connect 18 0 40 0; #X connect 19 0 20 0; #X connect 20 0 22 0; #X connect 20 1 21 0; #X connect 21 0 23 0; #X connect 22 0 23 0; #X connect 24 0 39 0; #X connect 25 0 24 0; #X connect 27 0 26 0; #X connect 28 0 33 0; #X connect 28 0 34 0; #X connect 29 0 30 0; #X connect 30 0 32 0; #X connect 30 1 32 0; #X connect 30 2 31 0; #X connect 31 0 19 1; #X connect 32 0 19 1; #X connect 33 0 35 0; #X connect 33 1 35 0; #X connect 34 0 35 0; #X connect 34 1 35 0; #X connect 35 0 32 0; #X connect 35 0 27 0; #X connect 36 0 3 0; #X connect 37 0 36 1; #X connect 38 0 39 1; #X connect 39 0 28 0; #X connect 40 0 19 0; #X restore 10 10 pd pinMode; #X obj 252 91 s \$0.incoming; #X obj 233 16 r \$1.ARDUINO.IN; #X obj 233 65 t b a b; #X msg 272 121 0; #X msg 233 120 1; #X obj 233 145 s \$0.block.send; #X obj 285 38 r \$0.ready; #X obj 233 38 spigot; #N canvas 909 414 224 217 digital 0; #X obj 10 11 r \$0.incoming; #X obj 10 133 spigot 0; #X obj 124 62 r \$0.mode; #X obj 124 84 sel 0 1; #X msg 124 111 1; #X msg 163 111 0; #X obj 10 157 s \$0.toggle; #X obj 10 33 route digital; #X obj 10 79 sel 0 1; #X msg 10 100 0; #X msg 39 100 1; #X obj 10 55 route -1; #X obj 119 29 r \$0.pin.no; #X connect 0 0 7 0; #X connect 1 0 6 0; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 3 1 4 0; #X connect 3 2 5 0; #X connect 4 0 1 1; #X connect 5 0 1 1; #X connect 7 0 11 0; #X connect 8 0 9 0; #X connect 8 1 10 0; #X connect 9 0 1 0; #X connect 10 0 1 0; #X connect 11 0 8 0; #X connect 12 0 11 1; #X restore 11 36 pd digital; #N canvas 909 519 232 267 analog 0; #X obj 10 11 r \$0.incoming; #X obj 10 133 spigot 0; #X obj 111 49 r \$0.mode; #X obj 10 33 route analog; #X obj 10 155 clip 0 1; #X obj 10 185 * 100; #X obj 10 246 s \$0.nb.s; #X msg 111 98 1; #X msg 150 98 0; #X obj 111 71 sel 3 4; #X msg 78 223 set \$1; #X obj 78 245 s \$0.nb.r; #X obj 10 82 route -1; #X obj 27 58 r \$0.pin.no; #X connect 0 0 3 0; #X connect 1 0 4 0; #X connect 2 0 9 0; #X connect 3 0 12 0; #X connect 4 0 5 0; #X connect 5 0 6 0; #X connect 5 0 10 0; #X connect 7 0 1 1; #X connect 8 0 1 1; #X connect 9 0 7 0; #X connect 9 1 7 0; #X connect 9 2 8 0; #X connect 10 0 11 0; #X connect 12 0 1 0; #X connect 13 0 12 1; #X restore 11 63 pd analog; #N canvas 909 442 222 309 port 0; #X obj 10 11 r \$0.incoming; #X obj 10 193 spigot 0; #X obj 104 165 r \$0.mode; #X obj 104 187 sel 0 1; #X msg 104 214 1; #X msg 143 214 0; #X obj 10 217 s \$0.toggle; #X obj 10 33 route port; #X obj 49 82 >> 3; #X obj 10 103 route 0; #X obj 112 104 & 7; #X obj 10 128 >>; #X obj 10 151 & 1; #X obj 112 23 r \$0.pin.no; #X connect 0 0 7 0; #X connect 1 0 6 0; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 3 1 4 0; #X connect 3 2 5 0; #X connect 4 0 1 1; #X connect 5 0 1 1; #X connect 7 0 9 0; #X connect 8 0 9 1; #X connect 9 0 11 0; #X connect 10 0 11 1; #X connect 11 0 12 0; #X connect 12 0 1 0; #X connect 13 0 8 0; #X connect 13 0 10 0; #X restore 11 92 pd port; #X connect 2 0 8 0; #X connect 3 0 5 0; #X connect 3 1 1 0; #X connect 3 2 4 0; #X connect 4 0 6 0; #X connect 5 0 6 0; #X connect 7 0 8 1; #X connect 8 0 3 0; #X restore 17 338 pd handle.incoming; #N canvas 783 179 371 285 digital.analog.output 0; #X obj 33 15 r \$1.ARDUINO.OUT; #X obj 33 219 s \$0.input; #X obj 33 37 route digital analog; #X obj 223 100 r \$0.mode; #X obj 33 190 spigot; #X obj 129 188 spigot; #X obj 66 145 sel 0; #X msg 66 167 1; #X msg 93 167 0; #X msg 162 163 1; #X msg 189 163 0; #X obj 162 141 sel 2; #X obj 140 115 s \$0.analog; #X obj 185 41 r \$0.pin.no; #X obj 33 98 route -1; #X obj 129 87 route \$2; #X connect 0 0 2 0; #X connect 2 0 14 0; #X connect 2 1 15 0; #X connect 3 0 6 0; #X connect 3 0 11 0; #X connect 4 0 1 0; #X connect 5 0 1 0; #X connect 6 0 7 0; #X connect 6 1 8 0; #X connect 7 0 4 1; #X connect 8 0 4 1; #X connect 9 0 5 1; #X connect 10 0 5 1; #X connect 11 0 9 0; #X connect 11 1 10 0; #X connect 13 0 14 1; #X connect 14 0 4 0; #X connect 15 0 5 0; #X connect 15 0 12 0; #X restore 17 271 pd digital.analog.output; #N canvas 918 231 312 156 switch.click/number 0; #X obj 16 119 s \$0.nb.r; #X msg 16 93 pos \$1 \$2; #X obj 16 9 r \$0.mode; #X text 133 34 INPUT \, OUTPUT -> click; #X text 133 50 PWM \, SERVO -> value; #X obj 139 84 r \$0.ready; #X obj 139 106 sel 0; #X obj 16 33 sel 3 4; #X msg 16 63 22 19; #X msg 55 61 42 19; #X connect 1 0 0 0; #X connect 2 0 7 0; #X connect 5 0 6 0; #X connect 6 0 8 0; #X connect 7 0 8 0; #X connect 7 1 8 0; #X connect 7 2 9 0; #X connect 8 0 1 0; #X connect 9 0 1 0; #X restore 17 185 pd switch.click/number; #X obj 21 19 includes/agop.analog.gop \$0; #N canvas 0 43 474 405 query.state 0; #X obj 16 14 r \$0.pin.no; #X obj 16 59 s \$1.ARDUINO.TO; #X obj 16 91 r \$1.ARDUINO.INFO; #X msg 16 37 pinState \$1; #X obj 16 115 route pinState; #X obj 16 157 route -1; #X obj 61 136 r \$0.pin.no; #X obj 16 183 list; #X obj 92 270 select DIGITAL_INPUT DIGITAL_OUTPUT ANALOG_INPUT PWM SERVO; #X msg 92 305 0; #X msg 161 304 1; #X msg 368 304 4; #X obj 92 368 s \$0.mode; #X obj 73 247 t b a b; #X msg 239 157 0; #X msg 209 156 1; #X obj 209 188 s \$0.block.send; #X msg 230 305 -1; #X msg 299 306 3; #X msg 16 203 \$2 \$1; #X obj 16 224 unpack f s; #X obj 16 287 s \$0.input; #X connect 0 0 3 0; #X connect 2 0 4 0; #X connect 3 0 1 0; #X connect 4 0 5 0; #X connect 5 0 7 0; #X connect 6 0 5 1; #X connect 7 0 19 0; #X connect 8 0 9 0; #X connect 8 1 10 0; #X connect 8 2 17 0; #X connect 8 3 18 0; #X connect 8 4 11 0; #X connect 9 0 12 0; #X connect 10 0 12 0; #X connect 11 0 12 0; #X connect 13 0 15 0; #X connect 13 1 8 0; #X connect 13 2 14 0; #X connect 14 0 16 0; #X connect 15 0 16 0; #X connect 17 0 12 0; #X connect 18 0 12 0; #X connect 19 0 20 0; #X connect 20 0 21 0; #X connect 20 1 13 0; #X restore 18 359 pd query.state; #X connect 6 0 1 0; #X coords 0 -1 1 1 20 14 2 21 19; pduino-0.8/includes/agop.device.selector.pd000066400000000000000000000273441402671452100210310ustar00rootroot00000000000000#N canvas 444 43 741 618 10; #N canvas 278 280 419 327 slider.wrapper 0; #X obj 20 255 pack f f f; #X obj 20 233 - 1; #X obj 20 167 change; #X obj 20 208 t a a a; #X obj 77 231 +; #X msg 20 277 range \$2 \$1 \, set \$3; #X obj 20 302 s \$0.selector.r; #X obj 20 145 div 5; #X obj 20 187 * 5; #X obj 92 208 mod 5; #X obj 48 232 + 5; #X obj 20 48 max 0; #X obj 20 74 min 1e+37; #X obj 139 20 inlet; #X obj 139 42 route range set; #X obj 139 67 unpack; #X obj 203 67 r \$0.sens; #X obj 139 91 *; #X obj 172 91 *; #X obj 172 184 div; #X obj 172 206 change -1e+37; #X obj 172 228 outlet; #X obj 182 121 *; #X obj 20 120 t a a; #X obj 20 96 t a a; #X obj 20 17 r \$0.selector.s; #X msg 159 278 range 5 -1 \, set 2; #X obj 159 257 loadbang; #X connect 0 0 5 0; #X connect 1 0 0 0; #X connect 2 0 8 0; #X connect 3 0 1 0; #X connect 3 1 10 0; #X connect 3 2 4 0; #X connect 4 0 0 2; #X connect 5 0 6 0; #X connect 7 0 2 0; #X connect 8 0 3 0; #X connect 9 0 4 1; #X connect 10 0 0 1; #X connect 11 0 12 0; #X connect 12 0 24 0; #X connect 13 0 14 0; #X connect 14 0 15 0; #X connect 14 1 22 0; #X connect 15 0 17 0; #X connect 15 1 18 0; #X connect 16 0 18 1; #X connect 16 0 17 1; #X connect 16 0 19 1; #X connect 16 0 22 1; #X connect 17 0 11 1; #X connect 18 0 12 1; #X connect 19 0 20 0; #X connect 20 0 21 0; #X connect 22 0 23 0; #X connect 23 0 7 0; #X connect 23 1 9 0; #X connect 24 0 23 0; #X connect 24 1 19 0; #X connect 25 0 11 0; #X connect 26 0 6 0; #X connect 27 0 26 0; #X restore 21 237 pd slider.wrapper; #X obj 20 22 vsl 120 7 5 -1 0 0 \$0.selector.s \$0.selector.r 2 4 0 10 -228856 -228856 -1 300 1; #X msg 48 350 label \$1; #X obj 48 373 s \$0.selector.r; #X obj 21 166 t a a; #X obj 21 192 list length; #N canvas 683 62 385 462 list.selector.fields 0; #N canvas 1158 378 142 254 counter 0; #X obj 10 12 inlet; #X msg 38 61 -2; #X obj 10 83 until; #X obj 10 105 f; #X obj 37 106 + 1; #X obj 10 38 t b b a; #X obj 10 202 list prepend; #X obj 10 224 outlet; #X obj 10 126 t a a; #X obj 10 181 list append; #X obj 51 156 + 21; #X obj 51 133 * 11; #X msg 10 61 6; #X connect 0 0 5 0; #X connect 1 0 3 1; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 3 0 8 0; #X connect 4 0 3 1; #X connect 5 0 12 0; #X connect 5 1 1 0; #X connect 5 2 6 1; #X connect 6 0 7 0; #X connect 8 0 9 0; #X connect 8 1 11 0; #X connect 9 0 6 0; #X connect 10 0 9 1; #X connect 11 0 10 0; #X connect 12 0 2 0; #X restore 5 200 pd counter; #X obj 5 224 t a a; #X obj 5 442 s; #X obj 5 246 list trim; #X obj 159 49 inlet; #X obj 32 50 del 600; #X obj 252 72 inlet; #X msg 5 75 1; #X msg 32 75 0; #X obj 5 288 route 1 0; #N canvas 752 281 288 441 update.labels 0; #N canvas 646 299 158 272 counter 0; #X obj 10 12 inlet; #X msg 10 57 5; #X msg 38 57 -2; #X obj 10 79 until; #X obj 10 101 f; #X obj 37 102 + 1; #X obj 10 124 outlet; #X obj 10 34 t b b; #X connect 0 0 7 0; #X connect 1 0 3 0; #X connect 2 0 4 1; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 4 0 6 0; #X connect 5 0 4 1; #X connect 7 0 1 0; #X connect 7 1 2 0; #X restore -47 75 pd counter; #X obj -47 31 t b a; #X obj -47 97 list append; #X obj -47 7 inlet; #X obj 97 9 inlet; #X obj -47 119 t a a; #X msg 16 124 \$1 \$2; #X obj 16 146 +; #X obj -47 171 list append; #X obj -47 193 t a a; #N canvas 781 423 450 300 get.label.from.id 0; #X obj 68 94 t b a; #X obj 68 140 list split; #X obj 68 118 list append; #X obj 153 227 list split 1; #X obj 68 66 - 1; #X obj 29 42 moses 1; #X msg 125 168 symbol empty; #X obj 96 201 route bang; #X obj 153 250 outlet; #X obj 29 18 inlet; #X obj 232 28 inlet; #X connect 0 0 2 0; #X connect 0 1 1 1; #X connect 1 1 7 0; #X connect 1 2 6 0; #X connect 2 0 1 0; #X connect 3 0 8 0; #X connect 4 0 0 0; #X connect 5 0 6 0; #X connect 5 1 4 0; #X connect 6 0 8 0; #X connect 7 0 6 0; #X connect 7 1 3 0; #X connect 9 0 5 0; #X connect 10 0 2 1; #X restore -20 241 pd get.label.from.id; #X obj -47 266 list append; #X msg -20 218 \$3; #X obj -20 310 list prepend \$0; #X msg -20 332 \; \$1.field.\$2.r label \$5; #X obj -47 288 t a a; #X obj -47 365 route 0; #X msg -47 385 symbol \$3; #X obj -47 407 outlet; #X connect 0 0 2 0; #X connect 1 0 0 0; #X connect 1 1 2 1; #X connect 2 0 5 0; #X connect 3 0 1 0; #X connect 4 0 10 1; #X connect 5 0 8 0; #X connect 5 1 6 0; #X connect 6 0 7 0; #X connect 7 0 8 1; #X connect 8 0 9 0; #X connect 9 0 11 0; #X connect 9 1 12 0; #X connect 10 0 11 1; #X connect 11 0 15 0; #X connect 12 0 10 0; #X connect 13 0 14 0; #X connect 15 0 16 0; #X connect 15 1 13 0; #X connect 16 0 17 0; #X connect 17 0 18 0; #X restore 159 95 pd update.labels; #X obj 32 398 list prepend \$0; #X msg 32 420 symbol \$1.field.\$3.r; #X obj 5 333 route 3; #X obj 126 271 outlet; #X obj 5 28 t b b; #X obj 5 97 change; #X obj 5 5 r \$0.selector.s; #X obj 159 69 f; #X msg 159 139 symbol empty; #N canvas 842 395 450 300 init.cnvs 0; #X obj 15 184 list prepend \$0; #X msg 120 137 -187246; #X msg 42 138 -233017; #X obj 15 97 t a a; #X obj 15 163 list append; #X obj 42 117 sel 0 3; #X msg 92 137 -1; #X msg 15 75 3 \, -2 \, -1 \, 1 \, 2 \, 0; #X obj 15 28 spigot 1; #X msg 93 45 0; #X obj 15 50 t b b; #X obj 15 6 r \$0.selector.s; #X obj 15 240 s \$0.goparea; #X msg 15 206 obj 138 21 cnv 1 1 1 empty \$1.field.\$2.r empty 1 5 0 10 \$3 -1 0; #X connect 0 0 13 0; #X connect 1 0 4 1; #X connect 2 0 4 1; #X connect 3 0 4 0; #X connect 3 1 5 0; #X connect 4 0 0 0; #X connect 5 0 2 0; #X connect 5 1 6 0; #X connect 5 2 1 0; #X connect 6 0 4 1; #X connect 7 0 3 0; #X connect 8 0 10 0; #X connect 9 0 8 1; #X connect 10 0 7 0; #X connect 10 1 9 0; #X connect 11 0 8 0; #X connect 13 0 12 0; #X restore 277 12 pd init.cnvs; #X obj 159 117 select -------; #X obj 126 162 symbol; #X obj 107 94 sel 1 0; #X obj 126 183 t a a; #X obj 269 217 symbol; #X msg 269 239 show \$1; #X msg 126 249 select \$1; #X obj 242 194 del 0; #X obj 126 205 sel -------; #X obj 126 227 t a a; #X obj 301 72 inlet; #X obj 242 173 t b b; #X obj 242 151 r \$0.show.s; #X obj 5 118 t a a a; #X obj 44 139 sel 1; #X obj 23 171 s \$0.refresh; #X msg 39 313 pos 138 21 \, vis_size 1 1 \, label empty \, size 1; #X msg 44 358 pos 21 \$2 \, vis_size 118 10; #X msg 5 377 pos 19 -3 \, vis_size 122 58; #X msg 278 102 symbol _; #X connect 0 0 1 0; #X connect 1 0 3 0; #X connect 1 1 11 0; #X connect 3 0 9 0; #X connect 4 0 18 0; #X connect 5 0 8 0; #X connect 6 0 10 1; #X connect 7 0 16 0; #X connect 8 0 16 0; #X connect 9 0 13 0; #X connect 9 1 37 0; #X connect 10 0 21 0; #X connect 11 0 12 0; #X connect 12 0 2 1; #X connect 13 0 39 0; #X connect 13 1 38 0; #X connect 15 0 7 0; #X connect 15 1 5 0; #X connect 16 0 34 0; #X connect 17 0 15 0; #X connect 18 0 10 0; #X connect 19 0 22 1; #X connect 21 0 19 0; #X connect 21 1 22 1; #X connect 22 0 24 0; #X connect 23 0 18 0; #X connect 23 1 22 0; #X connect 24 0 29 0; #X connect 24 1 25 1; #X connect 25 0 26 0; #X connect 26 0 14 0; #X connect 27 0 14 0; #X connect 28 0 8 0; #X connect 29 1 30 0; #X connect 30 0 27 0; #X connect 30 1 29 1; #X connect 31 0 40 0; #X connect 32 0 28 0; #X connect 32 1 25 0; #X connect 33 0 32 0; #X connect 34 0 23 0; #X connect 34 1 0 0; #X connect 34 2 35 0; #X connect 35 0 36 0; #X connect 37 0 2 0; #X connect 38 0 2 0; #X connect 39 0 2 0; #X connect 40 0 29 1; #X restore 21 261 pd list.selector.fields; #X msg 21 214 range 1 \$1; #X obj 21 285 route select; #X obj 21 306 list; #X obj 21 95 list prepend -------; #X obj 231 46 namecanvas \$0.goparea; #N canvas 978 347 154 108 INIT 0; #X obj 10 10 loadbang; #X obj 10 32 \$0; #X msg 10 54 \; \$1.sens 5 \;; #X connect 0 0 1 0; #X connect 1 0 2 0; #X restore 231 24 pd INIT; #X obj 21 328 t a a; #N canvas 813 433 239 282 get.device.list 0; #X obj -102 108 r \$1.ARDUINO.INFO; #X msg -103 61 ports; #X obj -122 15 inlet; #X obj -102 130 route ports; #X obj -122 37 t b b b; #X msg -102 152 symbol \$2; #X obj -102 177 list prepend; #X obj -10 176 t a; #X obj -122 206 list append; #X obj 18 127 t b; #X obj -122 235 outlet; #X obj -103 85 s \$1.ARDUINO.TO; #X connect 0 0 3 0; #X connect 1 0 11 0; #X connect 2 0 4 0; #X connect 3 0 5 0; #X connect 4 0 8 0; #X connect 4 1 1 0; #X connect 4 2 9 0; #X connect 5 0 6 0; #X connect 6 0 7 0; #X connect 6 0 8 1; #X connect 7 0 6 1; #X connect 8 0 10 0; #X connect 9 0 6 1; #X connect 9 0 8 1; #X restore 21 71 pd get.device.list; #X obj 21 47 r \$0.refresh; #X msg 276 418 devicename \$1; #X msg 21 425 close; #X msg 456 511 1; #X msg 420 514 0; #X msg 496 540 serial.com \$1; #X obj 496 577 s \$1.ARDUINO.INTERN; #X obj 21 553 s \$1.ARDUINO.TO; #X obj 233 137 s \$0.selector.r; #X obj 233 88 loadbang; #X msg 233 114 label ; #N canvas 919 232 262 586 handle.incoming 0; #N canvas 813 461 184 226 get.device.list 0; #X obj -121 90 r \$1.ARDUINO.INFO; #X msg -122 43 ports; #X obj -122 15 inlet; #X obj -121 112 route ports; #X obj -121 138 outlet; #X obj -122 67 s \$1.ARDUINO.TO; #X connect 0 0 3 0; #X connect 1 0 5 0; #X connect 2 0 1 0; #X connect 3 0 4 0; #X restore 31 186 pd get.device.list; #X obj 31 230 list prepend 0; #X obj 14 62 t a b; #X obj 67 64 t a b; #X msg 94 86 1; #X msg 41 86 0; #X obj 31 250 route 0 1; #X obj 14 112 list; #X obj 31 303 sel 0; #X msg 31 273 \$1; #X msg 73 279 symbol \$2; #X obj 73 303 sel _; #X obj 48 159 route float symbol; #X obj 31 208 t a a; #X msg 164 278 symbol \$2; #X obj 31 334 symbol; #X msg 58 377 label \$1; #X obj 58 400 s \$0.selector.r; #X obj 31 356 t b a; #X obj 14 18 r \$1.ARDUINO.IN; #X obj 14 40 route open devicename close; #X msg 120 428 0; #X msg 31 397 1; #X obj 14 458 outlet; #X obj 14 425 f; #X obj 14 134 t b b a b; #X msg 232 279 0; #X connect 0 0 13 0; #X connect 1 0 6 0; #X connect 2 0 7 0; #X connect 2 1 5 0; #X connect 3 0 7 0; #X connect 3 1 4 0; #X connect 4 0 1 1; #X connect 5 0 1 1; #X connect 6 0 9 0; #X connect 6 1 10 0; #X connect 7 0 25 0; #X connect 8 0 15 0; #X connect 9 0 8 0; #X connect 10 0 11 0; #X connect 11 0 15 0; #X connect 12 0 8 1; #X connect 12 1 11 1; #X connect 13 0 1 0; #X connect 13 1 14 0; #X connect 14 0 15 1; #X connect 15 0 18 0; #X connect 16 0 17 0; #X connect 18 0 22 0; #X connect 18 1 16 0; #X connect 19 0 20 0; #X connect 20 0 2 0; #X connect 20 1 3 0; #X connect 20 2 21 0; #X connect 21 0 23 0; #X connect 22 0 24 1; #X connect 24 0 23 0; #X connect 25 0 24 0; #X connect 25 1 0 0; #X connect 25 2 12 0; #X connect 25 3 26 0; #X connect 26 0 24 1; #X restore 496 199 pd handle.incoming; #X msg 186 529 emulate \$1; #X msg 214 503 1; #X msg 186 503 0; #X obj 21 448 t a b b; #X obj 496 376 t a a; #X obj 523 431 sel 1; #X obj 276 440 t a b b; #X obj 496 221 t a b; #X obj 27 117 list append emulation_(v2.2); #X obj 27 139 list append emulation_(v2.3); #X obj 21 395 sel empty emulation_(v2.2) emulation_(v2.3); #X obj 106 428 t b b b; #X obj 191 422 t b b b; #X msg 309 279 2 3; #X msg 309 308 version \$1 \$2; #X obj 309 330 s \$1.ARDUINO.INFO; #X msg 277 279 2 2; #X connect 0 0 6 0; #X connect 2 0 3 0; #X connect 4 0 5 0; #X connect 4 1 6 1; #X connect 5 0 7 0; #X connect 6 0 8 0; #X connect 7 0 0 0; #X connect 8 0 9 0; #X connect 9 0 13 0; #X connect 10 0 4 0; #X connect 13 0 37 0; #X connect 13 1 2 0; #X connect 14 0 10 0; #X connect 15 0 14 0; #X connect 16 0 33 0; #X connect 17 0 30 0; #X connect 18 0 20 0; #X connect 19 0 20 0; #X connect 20 0 21 0; #X connect 24 0 25 0; #X connect 25 0 23 0; #X connect 26 0 34 0; #X connect 27 0 21 0; #X connect 28 0 27 0; #X connect 29 0 27 0; #X connect 30 0 22 0; #X connect 30 1 19 0; #X connect 30 2 29 0; #X connect 31 0 20 0; #X connect 31 1 32 0; #X connect 32 0 29 0; #X connect 33 0 22 0; #X connect 33 1 18 0; #X connect 33 2 29 0; #X connect 34 0 31 0; #X connect 34 1 6 2; #X connect 35 0 36 0; #X connect 37 0 17 0; #X connect 37 1 38 0; #X connect 37 2 39 0; #X connect 37 3 16 0; #X connect 38 0 43 0; #X connect 38 1 18 0; #X connect 38 2 28 0; #X connect 39 0 40 0; #X connect 39 1 18 0; #X connect 39 2 28 0; #X connect 40 0 41 0; #X connect 41 0 42 0; #X connect 43 0 41 0; #X coords 0 -1 1 1 120 12 2 20 20; pduino-0.8/includes/agop.digital.gop.pd000066400000000000000000000011661402671452100201460ustar00rootroot00000000000000#N canvas 427 43 295 202 10; #X obj 21 22 cnv 2 1 8 empty \$1.bar empty 20 12 0 14 -3056 -66577 0; #X obj 21 19 cnv 8 8 8 empty \$1.show.value empty 25 7 0 12 -1 -258113 0; #X obj 21 21 vsl 8 9 10 -4 0 0 \$1.selector.s \$1.selector.r empty 1 5 0 10 -228856 -228856 -1 171 1; #X obj 42 19 nbx 1 14 0 100 0 0 \$1.nb.s \$1.nb.r empty 0 -8 0 10 -262144 -1 -1 0 256; #X obj 29 21 vsl 12 9 0 1 0 0 \$1.sl.s \$1.sl.r 12 1 6 0 9 -233017 -233017 -1 400 1; #X obj 21 21 vsl 8 9 30 24 0 0 \$1.selector.label.s \$1.selector.label.r empty 1 5 0 10 -228856 -228856 -1 0 1; #X obj 17 66 namecanvas \$1.goparea; #X coords 0 -1 1 1 20 14 2 21 19; pduino-0.8/includes/agop.digital.pin.pd000066400000000000000000000725241402671452100201550ustar00rootroot00000000000000#N canvas 904 43 382 392 10; #N canvas 873 92 430 435 mode.selector 0; #N canvas 278 280 413 391 slider.wrapper 0; #X obj 20 285 pack f f f; #X obj 20 263 - 1; #X obj 20 197 change; #X obj 20 238 t a a a; #X obj 77 261 +; #X msg 20 307 range \$2 \$1 \, set \$3; #X obj 20 361 s \$0.selector.r; #X obj 20 175 div 5; #X obj 20 217 * 5; #X obj 92 238 mod 5; #X obj 48 262 + 5; #X obj 20 78 max 0; #X obj 20 104 min 1e+37; #X obj 139 20 inlet; #X obj 139 42 route range set; #X obj 139 67 unpack; #X obj 203 67 r \$0.sens; #X obj 139 91 *; #X obj 172 91 *; #X obj 205 155 div; #X obj 205 177 change -1e+37; #X obj 205 270 outlet; #X obj 182 121 *; #X obj 20 150 t a a; #X obj 20 126 t a a; #X obj 20 4 r \$0.selector.s; #X obj 250 205 r \$0.ready; #X obj 205 247 spigot; #X msg 259 274 range 10 -4 \, set 7; #X obj 53 27 r \$0.ready; #X obj 20 51 spigot; #X obj 259 239 sel 0; #X connect 0 0 5 0; #X connect 1 0 0 0; #X connect 2 0 8 0; #X connect 3 0 1 0; #X connect 3 1 10 0; #X connect 3 2 4 0; #X connect 4 0 0 2; #X connect 5 0 6 0; #X connect 7 0 2 0; #X connect 8 0 3 0; #X connect 9 0 4 1; #X connect 10 0 0 1; #X connect 11 0 12 0; #X connect 12 0 24 0; #X connect 13 0 14 0; #X connect 14 0 15 0; #X connect 14 1 22 0; #X connect 15 0 17 0; #X connect 15 1 18 0; #X connect 16 0 18 1; #X connect 16 0 17 1; #X connect 16 0 19 1; #X connect 16 0 22 1; #X connect 17 0 11 1; #X connect 18 0 12 1; #X connect 19 0 20 0; #X connect 20 0 27 0; #X connect 22 0 23 0; #X connect 23 0 7 0; #X connect 23 1 9 0; #X connect 24 0 23 0; #X connect 24 1 19 0; #X connect 25 0 30 0; #X connect 26 0 27 1; #X connect 26 0 31 0; #X connect 27 0 21 0; #X connect 28 0 6 0; #X connect 29 0 30 1; #X connect 30 0 11 0; #X connect 31 0 28 0; #X restore 23 124 pd slider.wrapper; #X obj 23 47 t a a; #X obj 23 77 list length; #N canvas 874 200 385 462 list.selector.fields 0; #N canvas 1158 434 142 254 counter 0; #X obj 10 12 inlet; #X msg 38 61 -2; #X obj 10 83 until; #X obj 10 105 f; #X obj 37 106 + 1; #X obj 10 38 t b b a; #X obj 10 202 list prepend; #X obj 10 224 outlet; #X obj 10 126 t a a; #X obj 10 181 list append; #X obj 51 156 + 21; #X obj 51 133 * 11; #X msg 10 61 6; #X connect 0 0 5 0; #X connect 1 0 3 1; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 3 0 8 0; #X connect 4 0 3 1; #X connect 5 0 12 0; #X connect 5 1 1 0; #X connect 5 2 6 1; #X connect 6 0 7 0; #X connect 8 0 9 0; #X connect 8 1 11 0; #X connect 9 0 6 0; #X connect 10 0 9 1; #X connect 11 0 10 0; #X connect 12 0 2 0; #X restore 5 200 pd counter; #X obj 5 224 t a a; #X obj 5 442 s; #X obj 5 246 list trim; #X obj 159 49 inlet; #X obj 32 82 del 600; #X obj 252 89 inlet; #X msg 5 107 1; #X msg 32 107 0; #X obj 5 288 route 1 0; #N canvas 752 421 288 441 update.labels 0; #N canvas 646 355 158 272 counter 0; #X obj 10 12 inlet; #X msg 10 57 5; #X msg 38 57 -2; #X obj 10 79 until; #X obj 10 101 f; #X obj 37 102 + 1; #X obj 10 124 outlet; #X obj 10 34 t b b; #X connect 0 0 7 0; #X connect 1 0 3 0; #X connect 2 0 4 1; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 4 0 6 0; #X connect 5 0 4 1; #X connect 7 0 1 0; #X connect 7 1 2 0; #X restore -47 75 pd counter; #X obj -47 31 t b a; #X obj -47 97 list append; #X obj -47 7 inlet; #X obj 97 9 inlet; #X obj -47 119 t a a; #X msg 16 124 \$1 \$2; #X obj 16 146 +; #X obj -47 171 list append; #X obj -47 193 t a a; #N canvas 781 423 450 300 get.label.from.id 0; #X obj 68 94 t b a; #X obj 68 140 list split; #X obj 68 118 list append; #X obj 153 227 list split 1; #X obj 68 66 - 1; #X obj 29 42 moses 1; #X msg 125 168 symbol empty; #X obj 96 201 route bang; #X obj 153 250 outlet; #X obj 29 18 inlet; #X obj 232 28 inlet; #X connect 0 0 2 0; #X connect 0 1 1 1; #X connect 1 1 7 0; #X connect 1 2 6 0; #X connect 2 0 1 0; #X connect 3 0 8 0; #X connect 4 0 0 0; #X connect 5 0 6 0; #X connect 5 1 4 0; #X connect 6 0 8 0; #X connect 7 0 6 0; #X connect 7 1 3 0; #X connect 9 0 5 0; #X connect 10 0 2 1; #X restore -20 241 pd get.label.from.id; #X obj -47 266 list append; #X msg -20 218 \$3; #X obj -20 310 list prepend \$0; #X msg -20 332 \; \$1.field.\$2.r label \$5; #X obj -47 288 t a a; #X obj -47 365 route 0; #X msg -47 385 symbol \$3; #X obj -47 407 outlet; #X connect 0 0 2 0; #X connect 1 0 0 0; #X connect 1 1 2 1; #X connect 2 0 5 0; #X connect 3 0 1 0; #X connect 4 0 10 1; #X connect 5 0 8 0; #X connect 5 1 6 0; #X connect 6 0 7 0; #X connect 7 0 8 1; #X connect 8 0 9 0; #X connect 9 0 11 0; #X connect 9 1 12 0; #X connect 10 0 11 1; #X connect 11 0 15 0; #X connect 12 0 10 0; #X connect 13 0 14 0; #X connect 15 0 16 0; #X connect 15 1 13 0; #X connect 16 0 17 0; #X connect 17 0 18 0; #X restore 159 112 pd update.labels; #X obj 32 398 list prepend \$0; #X msg 32 420 symbol \$1.field.\$3.r; #X obj 5 333 route 3; #X obj 5 60 t b b; #X obj 5 129 change; #X obj 5 5 r \$0.selector.s; #X obj 159 69 f; #N canvas 842 395 450 300 init.cnvs 0; #X obj 15 214 list prepend \$0; #X msg 120 167 -187246; #X msg 42 168 -233017; #X obj 15 127 t a a; #X obj 15 193 list append; #X obj 42 147 sel 0 3; #X msg 92 167 -1; #X msg 15 105 3 \, -2 \, -1 \, 1 \, 2 \, 0; #X obj 15 58 spigot 1; #X msg 93 75 0; #X obj 15 80 t b b; #X obj 15 6 r \$0.selector.s; #X obj 15 270 s \$0.goparea; #X msg 15 235 obj 22 20 cnv 1 1 1 empty \$1.field.\$2.r empty 1 5 0 10 \$3 -1 0; #X connect 0 0 13 0; #X connect 1 0 4 1; #X connect 2 0 4 1; #X connect 3 0 4 0; #X connect 3 1 5 0; #X connect 4 0 0 0; #X connect 5 0 2 0; #X connect 5 1 6 0; #X connect 5 2 1 0; #X connect 6 0 4 1; #X connect 7 0 3 0; #X connect 8 0 10 0; #X connect 9 0 8 1; #X connect 10 0 7 0; #X connect 10 1 9 0; #X connect 11 0 8 0; #X connect 13 0 12 0; #X restore 277 12 pd init.cnvs; #X obj 107 94 sel 1 0; #X obj 5 150 t a a a; #X msg 44 358 pos 21 \$2 \, vis_size 38 10; #X msg 5 377 pos 19 -3 \, vis_size 42 58; #X obj 195 221 outlet; #X msg 39 313 pos 22 20 \, vis_size 1 1 \, label empty \, size 1; #X obj 126 152 symbol; #X obj 126 175 select dummy; #X obj 195 199 t a a; #X obj 5 27 spigot; #X obj 60 28 r \$0.ready; #X connect 0 0 1 0; #X connect 1 0 3 0; #X connect 1 1 11 0; #X connect 3 0 9 0; #X connect 4 0 17 0; #X connect 5 0 8 0; #X connect 6 0 10 1; #X connect 7 0 15 0; #X connect 8 0 15 0; #X connect 9 0 13 0; #X connect 9 1 24 0; #X connect 10 0 25 1; #X connect 11 0 12 0; #X connect 12 0 2 1; #X connect 13 0 22 0; #X connect 13 1 21 0; #X connect 14 0 7 0; #X connect 14 1 5 0; #X connect 15 0 20 0; #X connect 16 0 28 0; #X connect 17 0 10 0; #X connect 19 0 17 0; #X connect 19 1 25 0; #X connect 20 0 19 0; #X connect 20 1 0 0; #X connect 21 0 2 0; #X connect 22 0 2 0; #X connect 24 0 2 0; #X connect 25 0 26 0; #X connect 26 1 27 0; #X connect 27 0 23 0; #X connect 27 1 26 1; #X connect 28 0 14 0; #X connect 29 0 28 1; #X restore 23 146 pd list.selector.fields; #X msg 23 100 range 1 \$1; #X msg 174 338 label \$1; #X obj 174 314 symbol; #X obj 174 361 s \$0.selector.label.r; #X obj 23 256 s \$0.mode; #X obj 23 12 inlet; #X msg 23 203 0; #X msg 59 203 1; #X msg 132 203 3; #X msg 169 203 4; #X obj 208 90 r \$0.ready; #X obj 207 8 loadbang; #X obj 207 30 \$0; #X msg 207 52 \; \$1.sens 5 \;; #X obj 208 112 sel 0 1; #X obj 174 239 r \$0.mode; #X msg 174 285 I; #X msg 202 285 O; #X msg 231 285 A; #X obj 174 259 sel 0 1 2 3 4 -1; #X msg 260 285 P; #X msg 288 285 S; #X msg 96 202 2; #X obj 23 182 sel INPUT OUTPUT ANALOG PWM SERVO OFF; #X msg 205 204 -1; #X msg 318 286 empty; #X connect 0 0 3 0; #X connect 1 0 2 0; #X connect 1 1 3 1; #X connect 2 0 4 0; #X connect 3 0 27 0; #X connect 4 0 0 0; #X connect 5 0 7 0; #X connect 6 0 5 0; #X connect 9 0 1 0; #X connect 10 0 8 0; #X connect 11 0 8 0; #X connect 12 0 8 0; #X connect 13 0 8 0; #X connect 14 0 18 0; #X connect 15 0 16 0; #X connect 16 0 17 0; #X connect 18 1 11 0; #X connect 19 0 23 0; #X connect 20 0 6 0; #X connect 21 0 6 0; #X connect 22 0 6 0; #X connect 23 0 20 0; #X connect 23 1 21 0; #X connect 23 2 22 0; #X connect 23 3 24 0; #X connect 23 4 25 0; #X connect 23 5 29 0; #X connect 24 0 6 0; #X connect 25 0 6 0; #X connect 26 0 8 0; #X connect 27 0 10 0; #X connect 27 1 11 0; #X connect 27 2 26 0; #X connect 27 3 12 0; #X connect 27 4 13 0; #X connect 27 5 28 0; #X connect 28 0 8 0; #X connect 29 0 6 0; #X restore 17 141 pd mode.selector; #N canvas 921 241 312 156 switch.click/number 0; #X obj 16 119 s \$0.nb.r; #X msg 16 93 pos \$1 \$2; #X obj 16 9 r \$0.mode; #X text 133 34 INPUT \, OUTPUT -> click; #X text 133 50 PWM \, SERVO -> value; #X obj 139 84 r \$0.ready; #X obj 139 106 sel 0; #X obj 16 33 sel 3 4; #X msg 16 63 22 19; #X msg 55 61 42 19; #X connect 1 0 0 0; #X connect 2 0 7 0; #X connect 5 0 6 0; #X connect 6 0 9 0; #X connect 7 0 8 0; #X connect 7 1 8 0; #X connect 7 2 9 0; #X connect 8 0 1 0; #X connect 9 0 1 0; #X restore 17 185 pd switch.click/number; #N canvas 804 114 411 326 pin.no.label 0; #X obj 14 105 s \$0.sl.r; #X obj 14 62 makefilename %2d; #X msg 14 84 label \$1; #X obj 14 16 loadbang; #X obj 14 38 f \$2; #X msg 78 84 label empty; #X obj 184 19 r \$0.ready; #X obj 184 64 f \$2; #X obj 184 41 sel 1; #X obj 184 89 tabread \$1.PIN.ALIAS.MAPPING; #X obj 184 109 t a a; #X obj 211 128 s \$0.alias.pin.no; #X obj 184 154 tabread \$1.DIGITAL.ANALOG.MAPPING; #X obj 184 186 s \$0.analog.pin.no; #X connect 1 0 2 0; #X connect 2 0 0 0; #X connect 3 0 4 0; #X connect 4 0 1 0; #X connect 5 0 0 0; #X connect 6 0 8 0; #X connect 7 0 9 0; #X connect 8 0 7 0; #X connect 9 0 10 0; #X connect 10 0 12 0; #X connect 10 1 11 0; #X connect 12 0 13 0; #X restore 17 163 pd pin.no.label; #N canvas 916 177 486 480 show.value 0; #X obj 21 96 * 0.01; #X obj 130 43 loadbang; #X msg 130 65 32; #X obj 130 87 makefilename %c; #X obj 21 149 pack f s; #X obj 58 428 s \$0.show.value; #X obj 21 43 r \$0.nb.s; #X obj 21 65 t a b; #X obj 107 146 del 1000; #X msg 197 168 set 0; #X obj 197 146 r \$0.mode; #X obj 197 192 s \$0.nb.r; #X obj 325 10 r \$0.toggle; #X obj 394 50 r \$0.mode; #X obj 325 71 list prepend; #X obj 378 212 sel 0 1; #X msg 378 236 LOW; #X msg 404 236 HIGH; #X msg 21 175 \$1\$2; #X msg 107 175 empty; #X obj 352 137 sel 0 1; #X msg 352 159 PULL_UP_OFF; #X msg 371 179 PULL_UP_ON; #X obj 325 93 t b a; #X obj 352 113 route 0 1; #X obj 324 279 r \$0.block.send; #X obj 324 326 sel 1; #X obj 31 293 route refresh; #X obj 31 271 r \$1.ARDUINO.INTERN; #X obj 31 315 b; #X obj 31 361 sel _; #X obj 58 383 t a a; #X obj 31 339 symbol empty; #X msg 58 407 label \$1; #X obj 170 289 spigot 1; #X obj 170 311 symbol; #X obj 324 301 t a a; #X connect 0 0 4 0; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 3 0 4 1; #X connect 4 0 18 0; #X connect 6 0 7 0; #X connect 7 0 0 0; #X connect 7 1 8 0; #X connect 8 0 19 0; #X connect 9 0 11 0; #X connect 10 0 9 0; #X connect 10 0 19 0; #X connect 12 0 14 0; #X connect 13 0 14 1; #X connect 14 0 23 0; #X connect 15 0 16 0; #X connect 15 1 17 0; #X connect 16 0 34 0; #X connect 17 0 34 0; #X connect 18 0 34 0; #X connect 19 0 34 0; #X connect 20 0 21 0; #X connect 20 1 22 0; #X connect 21 0 34 0; #X connect 22 0 34 0; #X connect 23 0 8 0; #X connect 23 1 24 0; #X connect 24 0 20 0; #X connect 24 1 15 0; #X connect 25 0 36 0; #X connect 26 0 19 0; #X connect 27 0 29 0; #X connect 28 0 27 0; #X connect 29 0 32 0; #X connect 30 1 31 0; #X connect 31 0 33 0; #X connect 31 1 30 1; #X connect 32 0 30 0; #X connect 33 0 5 0; #X connect 34 0 35 0; #X connect 35 0 32 1; #X connect 36 0 26 0; #X connect 36 1 34 1; #X restore 17 207 pd show.value; #N canvas 1133 258 336 455 color.indicator 0; #N canvas 1083 93 231 303 color.blender 0; #N canvas 1144 174 166 250 blend 0; #X obj 12 12 inlet; #X obj 12 207 outlet; #X obj 67 11 inlet; #X obj 27 109 -; #X obj 12 130 *; #X obj 67 32 t a a; #X obj 12 176 int; #X msg 27 87 255 \$1; #X obj 12 152 +; #X obj 12 34 * -1; #X obj 12 56 + 1; #X connect 0 0 9 0; #X connect 2 0 5 0; #X connect 3 0 4 1; #X connect 4 0 8 0; #X connect 5 0 7 0; #X connect 5 1 8 1; #X connect 6 0 1 0; #X connect 7 0 3 0; #X connect 8 0 6 0; #X connect 9 0 10 0; #X connect 10 0 4 0; #X restore 29 104 pd blend; #N canvas 1144 153 166 250 blend 0; #X obj 12 12 inlet; #X obj 12 207 outlet; #X obj 67 11 inlet; #X obj 27 109 -; #X obj 12 130 *; #X obj 67 32 t a a; #X obj 12 176 int; #X msg 27 87 255 \$1; #X obj 12 152 +; #X obj 12 34 * -1; #X obj 12 56 + 1; #X connect 0 0 9 0; #X connect 2 0 5 0; #X connect 3 0 4 1; #X connect 4 0 8 0; #X connect 5 0 7 0; #X connect 5 1 8 1; #X connect 6 0 1 0; #X connect 7 0 3 0; #X connect 8 0 6 0; #X connect 9 0 10 0; #X connect 10 0 4 0; #X restore 86 104 pd blend; #N canvas 1144 153 166 250 blend 0; #X obj 12 12 inlet; #X obj 12 207 outlet; #X obj 67 11 inlet; #X obj 27 109 -; #X obj 12 130 *; #X obj 67 32 t a a; #X obj 12 176 int; #X msg 27 87 255 \$1; #X obj 12 152 +; #X obj 12 34 * -1; #X obj 12 56 + 1; #X connect 0 0 9 0; #X connect 2 0 5 0; #X connect 3 0 4 1; #X connect 4 0 8 0; #X connect 5 0 7 0; #X connect 5 1 8 1; #X connect 6 0 1 0; #X connect 7 0 3 0; #X connect 8 0 6 0; #X connect 9 0 10 0; #X connect 10 0 4 0; #X restore 142 104 pd blend; #X obj 29 23 inlet; #X obj 29 264 outlet; #X obj 118 23 inlet; #X obj 118 45 unpack f f f; #X obj 29 53 t a a a; #X obj 86 143 << 8; #X obj 29 143 << 16; #X obj 29 200 +; #X obj 86 172 +; #X obj 29 220 * -1; #X obj 29 241 - 1; #X connect 0 0 9 0; #X connect 1 0 8 0; #X connect 2 0 11 1; #X connect 3 0 7 0; #X connect 5 0 6 0; #X connect 6 0 0 1; #X connect 6 1 1 1; #X connect 6 2 2 1; #X connect 7 0 0 0; #X connect 7 1 1 0; #X connect 7 2 2 0; #X connect 8 0 11 0; #X connect 9 0 10 0; #X connect 10 0 12 0; #X connect 11 0 10 1; #X connect 12 0 13 0; #X connect 13 0 4 0; #X restore 38 238 pd color.blender; #X obj 38 282 s \$0.sl.r; #X msg 38 260 color \$1 \$1 -1; #X obj 92 15 r \$0.mode; #X obj 16 14 r \$0.nb.s; #X obj 16 36 * 0.01; #X obj 4 78 r \$0.toggle; #X obj 38 189 + 0.1; #X obj 38 167 * 0.9; #X obj 4 419 s \$0.pull.up.r; #X msg 35 372 30; #X obj 4 347 sel 0 1; #X msg 4 397 pos \$1 20 \, size 1 \, vis_size 4 1; #X msg 4 373 25; #X obj 4 108 list prepend; #X obj 4 324 change; #X obj 97 329 r \$0.mode; #X msg 124 372 0; #X obj 4 130 route 0 1; #X obj 97 351 sel 0; #X obj 78 131 r \$0.input; #X obj 185 239 r \$0.ready; #X obj 185 261 sel 0; #X msg 185 304 40; #X obj 185 283 del 0; #N canvas 539 716 176 225 rate.limit 0; #X obj 129 52 inlet; #X obj 19 150 outlet; #X obj 19 47 route refresh; #X obj 19 69 b; #X obj 19 91 f; #X obj 19 126 change -1; #X obj 19 25 r \$1.ARDUINO.INTERN; #X obj 96 119 r \$0.mode; #X msg 96 141 set -1; #X connect 0 0 4 1; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 1 0; #X connect 6 0 2 0; #X connect 7 0 8 0; #X connect 8 0 5 0; #X restore 38 215 pd rate.limit; #X obj 92 37 t a b a; #X msg 97 79 0; #X msg 131 87 210 0 255; #X msg 146 112 0 200 0; #X msg 208 213 224 224 224; #X msg 162 136 0 190 190; #X msg 193 186 255 140 0; #X msg 177 160 0 0 220; #X obj 131 61 sel 0 1 2 3 4 -1; #X connect 0 0 2 0; #X connect 2 0 1 0; #X connect 3 0 26 0; #X connect 4 0 5 0; #X connect 5 0 8 0; #X connect 6 0 14 0; #X connect 7 0 25 0; #X connect 8 0 7 0; #X connect 10 0 12 0; #X connect 11 0 13 0; #X connect 11 1 10 0; #X connect 12 0 9 0; #X connect 13 0 12 0; #X connect 14 0 18 0; #X connect 15 0 11 0; #X connect 16 0 19 0; #X connect 17 0 15 0; #X connect 18 0 15 0; #X connect 18 1 8 0; #X connect 19 1 17 0; #X connect 20 0 8 0; #X connect 21 0 22 0; #X connect 22 0 24 0; #X connect 23 0 2 0; #X connect 24 0 23 0; #X connect 25 0 0 0; #X connect 26 0 14 1; #X connect 26 1 27 0; #X connect 26 2 34 0; #X connect 27 0 8 0; #X connect 28 0 0 1; #X connect 29 0 0 1; #X connect 30 0 0 1; #X connect 31 0 0 1; #X connect 32 0 0 1; #X connect 33 0 0 1; #X connect 34 0 28 0; #X connect 34 1 29 0; #X connect 34 2 31 0; #X connect 34 3 33 0; #X connect 34 4 32 0; #X connect 34 5 30 0; #X restore 17 229 pd color.indicator; #N canvas 1012 349 237 184 input.output.toggle 0; #N canvas 1230 249 185 273 slider.click.detection 0; #X obj 14 49 sel 0 1; #X obj 14 28 route float; #X msg 14 169 set 0.5; #X obj 82 101 t a a; #X obj 82 144 sel 0; #X obj 82 166 outlet; #X obj 24 190 loadbang; #X msg 24 211 range 0 1 \, set 0.5; #X obj 82 123 - 0.5; #X obj 14 6 r \$0.sl.s; #X obj 14 232 s \$0.sl.r; #X obj 64 76 f; #X obj 100 79 + 1; #X connect 0 0 2 0; #X connect 0 0 11 0; #X connect 0 1 2 0; #X connect 0 1 11 0; #X connect 0 2 11 0; #X connect 1 0 0 0; #X connect 2 0 10 0; #X connect 3 0 8 1; #X connect 3 1 8 0; #X connect 4 0 5 0; #X connect 6 0 7 0; #X connect 7 0 10 0; #X connect 8 0 4 0; #X connect 9 0 1 0; #X connect 11 0 12 0; #X connect 11 0 3 0; #X connect 12 0 11 1; #X restore 9 11 pd slider.click.detection; #X obj 9 127 ==; #X obj 39 72 r \$0.mode; #X msg 39 94 0; #X obj 9 150 s \$0.toggle; #X text 65 97 <- reset on mode switch; #X obj 9 34 spigot; #X obj 72 34 r \$0.ready; #X obj 38 118 r \$0.toggle; #X connect 0 0 6 0; #X connect 1 0 4 0; #X connect 2 0 3 0; #X connect 3 0 1 1; #X connect 6 0 1 0; #X connect 7 0 6 1; #X connect 8 0 1 1; #X restore 17 251 pd input.output.toggle; #X text 230 76 0: INPUT; #X text 230 89 1: OUTPUT (default); #X text 230 102 2: ANALOG; #X text 230 116 3: PWM; #X text 230 129 4: SERVO; #X text 230 47 Table Of PinModes:; #X text 230 56 ==================; #N canvas 844 213 489 418 resolve.supported.modes 0; #X obj 23 74 f \$2; #X obj 4 314 list append; #X text 48 345 <- list of supported modes; #X obj 4 344 outlet; #X obj 23 289 t a a; #X obj 4 52 t b b b; #X obj 244 78 t b; #X obj 244 264 t b; #N canvas 0 50 286 282 merge.alias.modes 0; #X obj 20 141 tabread \$1.PINMODE.MATRIX; #X obj 47 78 tabread \$1.PIN.ALIAS.MAPPING; #X obj 20 19 inlet; #X obj 47 98 sel -1; #X obj 20 54 t a a; #X obj 80 118 tabread \$1.PINMODE.MATRIX; #X obj 20 166 |; #X msg 47 118 0; #X obj 20 191 outlet; #X connect 0 0 6 0; #X connect 1 0 3 0; #X connect 2 0 4 0; #X connect 3 0 7 0; #X connect 3 1 5 0; #X connect 4 0 0 0; #X connect 4 1 1 0; #X connect 5 0 6 1; #X connect 6 0 8 0; #X connect 7 0 6 1; #X restore 23 104 pd merge.alias.modes; #X obj 4 8 r \$0.ready; #X obj 4 30 sel 1; #X obj 23 264 list append; #X obj 23 168 & 1; #X obj 63 167 & 2; #X obj 113 167 & 4; #X obj 196 167 & 8; #X obj 235 167 & 16; #X obj 23 194 sel 1; #X obj 63 193 sel 2; #X obj 113 193 sel 4; #X obj 196 193 sel 8; #X obj 235 193 sel 16; #X msg 23 218 INPUT; #X msg 63 218 OUTPUT; #X msg 196 218 PWM; #X msg 235 218 SERVO; #X msg 113 218 ANALOG \, OFF; #X obj 23 130 t a a a a a; #X connect 0 0 8 0; #X connect 1 0 3 0; #X connect 4 0 1 1; #X connect 4 1 11 1; #X connect 5 0 1 0; #X connect 5 1 0 0; #X connect 5 2 6 0; #X connect 6 0 7 0; #X connect 7 0 4 0; #X connect 8 0 27 0; #X connect 9 0 10 0; #X connect 10 0 5 0; #X connect 11 0 4 0; #X connect 12 0 17 0; #X connect 13 0 18 0; #X connect 14 0 19 0; #X connect 15 0 20 0; #X connect 16 0 21 0; #X connect 17 0 22 0; #X connect 18 0 23 0; #X connect 19 0 26 0; #X connect 20 0 24 0; #X connect 21 0 25 0; #X connect 22 0 11 0; #X connect 23 0 11 0; #X connect 24 0 11 0; #X connect 25 0 11 0; #X connect 26 0 11 0; #X connect 27 0 12 0; #X connect 27 1 13 0; #X connect 27 2 14 0; #X connect 27 3 15 0; #X connect 27 4 16 0; #X restore 17 118 pd resolve.supported.modes; #N canvas 760 50 601 585 compose.arduino.messages 0; #X obj 11 9 r \$0.mode; #X obj 11 70 change 1; #X text 68 71 <- don't send initial 'output' (it's the default); #X msg 11 210 input; #X msg 26 188 output; #X msg 41 168 pwm; #X msg 56 146 servo; #X obj 11 343 list prepend pinMode \$2; #X obj 11 365 list trim; #X obj 11 555 s \$1.ARDUINO.TO; #X obj 38 406 r \$0.toggle; #X obj 38 456 list prepend \$2; #X msg 38 481 digital \$1 \$2; #X obj 141 476 list prepend \$2; #X obj 141 393 r \$0.nb.s; #X msg 141 498 analog \$1 \$2; #X obj 141 454 * 0.01; #X obj 38 428 spigot; #X obj 141 425 spigot; #X obj 210 398 r \$0.ready; #X obj 80 5 r \$0.ready; #X msg 80 50 set 1; #X obj 80 26 sel 0; #X obj 72 525 r \$0.block.send; #X obj 11 525 spigot 1; #X obj 329 210 r \$0.analog.pin.no; #X msg 334 154 0; #X msg 71 243 analog; #X obj 71 263 t a a; #X obj 130 275 r \$0.alias.pin.no; #X obj 98 297 list prepend; #X obj 98 316 list prepend pinMode; #X obj 291 238 list prepend; #X obj 291 258 list prepend analogIns; #X msg 291 153 1; #X obj 291 178 change -1; #X obj 291 198 sel 0; #X msg 291 218 0; #X obj 11 90 t a a; #X obj 11 121 sel 0 1 3 4 2; #X obj 291 124 sel 2; #X connect 0 0 1 0; #X connect 1 0 38 0; #X connect 3 0 7 0; #X connect 4 0 7 0; #X connect 5 0 7 0; #X connect 6 0 7 0; #X connect 7 0 8 0; #X connect 8 0 24 0; #X connect 10 0 17 0; #X connect 11 0 12 0; #X connect 12 0 24 0; #X connect 13 0 15 0; #X connect 14 0 18 0; #X connect 15 0 24 0; #X connect 16 0 13 0; #X connect 17 0 11 0; #X connect 18 0 16 0; #X connect 19 0 17 1; #X connect 19 0 18 1; #X connect 20 0 22 0; #X connect 21 0 1 0; #X connect 22 0 21 0; #X connect 23 0 24 1; #X connect 24 0 9 0; #X connect 25 0 32 1; #X connect 26 0 35 0; #X connect 27 0 28 0; #X connect 28 0 7 0; #X connect 28 1 30 0; #X connect 29 0 30 1; #X connect 30 0 31 0; #X connect 31 0 8 0; #X connect 32 0 33 0; #X connect 33 0 8 0; #X connect 34 0 35 0; #X connect 35 0 36 0; #X connect 36 0 37 0; #X connect 37 0 32 0; #X connect 38 0 39 0; #X connect 38 1 40 0; #X connect 39 0 3 0; #X connect 39 1 4 0; #X connect 39 2 5 0; #X connect 39 3 6 0; #X connect 39 4 27 0; #X connect 40 0 34 0; #X connect 40 1 26 0; #X restore 17 295 pd compose.arduino.messages; #N canvas 693 528 205 172 ready 0; #X obj 27 35 r \$1.ARDUINO.INTERN; #X obj 27 57 route ready; #X obj 27 134 s \$0.ready; #X obj 61 78 loadbang; #X msg 61 100 0; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 3 0 4 0; #X connect 4 0 2 0; #X restore 17 96 pd ready; #N canvas 846 506 392 240 handle.incoming 0; #N canvas 780 181 583 466 pinMode 0; #N canvas 1124 201 407 276 get.supported.modes 0; #X obj 31 9 inlet; #X obj 31 236 outlet; #X obj 306 132 & 1; #X obj 238 133 & 2; #X obj 169 133 & 4; #X obj 98 133 & 8; #X obj 98 165 sel 8; #X obj 169 167 sel 4; #X obj 238 167 sel 2; #X obj 306 166 sel 1; #X obj 31 98 t a a a a a; #X obj 31 133 & 16; #X msg 169 190 2 analog; #X msg 31 193 4 servo; #X msg 98 191 3 pwm; #X msg 306 189 0 input; #X obj 31 166 sel 16; #X msg 238 191 1 output; #X obj 31 76 tabread \$1.PINMODE.MATRIX; #X connect 0 0 18 0; #X connect 2 0 9 0; #X connect 3 0 8 0; #X connect 4 0 7 0; #X connect 5 0 6 0; #X connect 6 0 14 0; #X connect 7 0 12 0; #X connect 8 0 17 0; #X connect 9 0 15 0; #X connect 10 0 11 0; #X connect 10 1 5 0; #X connect 10 2 4 0; #X connect 10 3 3 0; #X connect 10 4 2 0; #X connect 11 0 16 0; #X connect 12 0 1 0; #X connect 13 0 1 0; #X connect 14 0 1 0; #X connect 15 0 1 0; #X connect 16 0 13 0; #X connect 17 0 1 0; #X connect 18 0 10 0; #X restore 10 244 pd get.supported.modes; #X obj 10 33 route pinMode; #X obj 44 217 route float symbol; #X obj 10 274 t a a; #X obj 10 298 unpack f s; #X obj 100 322 sel _; #X obj 10 393 f; #X msg 37 371 \$1; #X obj 10 322 sel -1; #X obj 10 344 t b b; #X msg 164 334 symbol _; #X obj 100 344 t b b; #X msg 66 334 -1; #X obj 10 417 s \$0.mode; #X obj 10 11 r \$0.incoming; #X obj 395 21 r \$0.incoming; #X obj 395 43 route analogIns; #X obj 395 220 spigot 1; #X obj 395 242 sel 0 1; #X msg 422 267 2; #X msg 395 267 -1; #X obj 395 315 s \$0.mode; #X obj 455 148 r \$0.mode; #X obj 395 140 route -1; #X obj 10 53 t a a; #X obj 10 176 list append; #X obj 10 120 sel \$2; #X obj 43 141 sel 0; #X obj 70 119 r \$0.alias.pin.no; #X obj 10 196 list split 1; #X obj 415 110 r \$0.analog.pin.no; #X msg 455 202 1; #X msg 500 203 0; #X obj 455 170 sel -1 2; #X msg 10 73 \$1; #X obj 10 93 moses 0; #X connect 0 0 3 0; #X connect 1 0 24 0; #X connect 2 0 8 1; #X connect 2 1 5 1; #X connect 3 0 4 0; #X connect 3 1 7 0; #X connect 4 0 8 0; #X connect 4 1 5 0; #X connect 5 0 11 0; #X connect 6 0 13 0; #X connect 7 0 6 1; #X connect 8 0 9 0; #X connect 9 0 6 0; #X connect 9 1 10 0; #X connect 10 0 5 1; #X connect 11 0 6 0; #X connect 11 1 12 0; #X connect 12 0 8 1; #X connect 14 0 1 0; #X connect 15 0 16 0; #X connect 16 0 23 0; #X connect 17 0 18 0; #X connect 18 0 20 0; #X connect 18 1 19 0; #X connect 19 0 21 0; #X connect 20 0 21 0; #X connect 22 0 33 0; #X connect 23 0 17 0; #X connect 24 0 34 0; #X connect 24 1 25 1; #X connect 25 0 29 0; #X connect 26 0 25 0; #X connect 26 1 27 0; #X connect 27 0 25 0; #X connect 28 0 27 1; #X connect 29 0 0 0; #X connect 29 1 2 0; #X connect 30 0 23 1; #X connect 31 0 17 1; #X connect 32 0 17 1; #X connect 33 0 31 0; #X connect 33 1 31 0; #X connect 33 2 32 0; #X connect 34 0 35 0; #X connect 35 1 26 0; #X restore 10 10 pd pinMode; #X obj 252 91 s \$0.incoming; #X obj 233 16 r \$1.ARDUINO.IN; #X obj 233 65 t b a b; #X msg 272 121 0; #X msg 233 120 1; #X obj 233 145 s \$0.block.send; #X obj 285 38 r \$0.ready; #X obj 233 38 spigot; #N canvas 906 403 224 217 digital 0; #X obj 10 55 route \$2; #X obj 10 11 r \$0.incoming; #X obj 10 133 spigot 0; #X obj 111 49 r \$0.mode; #X obj 111 71 sel 0 1; #X msg 111 98 1; #X msg 150 98 0; #X obj 10 157 s \$0.toggle; #X obj 10 33 route digital; #X obj 10 79 sel 0 1; #X msg 10 100 0; #X msg 39 100 1; #X connect 0 0 9 0; #X connect 1 0 8 0; #X connect 2 0 7 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 4 1 5 0; #X connect 4 2 6 0; #X connect 5 0 2 1; #X connect 6 0 2 1; #X connect 8 0 0 0; #X connect 9 0 10 0; #X connect 9 1 11 0; #X connect 10 0 2 0; #X connect 11 0 2 0; #X restore 11 36 pd digital; #N canvas 906 431 232 267 analog 0; #X obj 10 55 route \$2; #X obj 10 11 r \$0.incoming; #X obj 10 133 spigot 0; #X obj 111 49 r \$0.mode; #X obj 10 33 route analog; #X obj 10 155 clip 0 1; #X obj 10 185 * 100; #X obj 10 246 s \$0.nb.s; #X msg 111 98 1; #X msg 150 98 0; #X obj 111 71 sel 3 4; #X msg 78 223 set \$1; #X obj 78 245 s \$0.nb.r; #X connect 0 0 2 0; #X connect 1 0 4 0; #X connect 2 0 5 0; #X connect 3 0 10 0; #X connect 4 0 0 0; #X connect 5 0 6 0; #X connect 6 0 7 0; #X connect 6 0 11 0; #X connect 8 0 2 1; #X connect 9 0 2 1; #X connect 10 0 8 0; #X connect 10 1 8 0; #X connect 10 2 9 0; #X connect 11 0 12 0; #X restore 11 63 pd analog; #N canvas 906 431 222 309 port 0; #X obj 10 11 r \$0.incoming; #X obj 10 193 spigot 0; #X obj 104 165 r \$0.mode; #X obj 104 187 sel 0 1; #X msg 104 214 1; #X msg 143 214 0; #X obj 10 217 s \$0.toggle; #X obj 10 33 route port; #X obj 49 58 >> 3; #X obj 10 82 route 0; #X obj 112 11 loadbang; #X obj 112 33 f \$2; #X obj 112 82 & 7; #X obj 10 128 >>; #X obj 10 151 & 1; #X connect 0 0 7 0; #X connect 1 0 6 0; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 3 1 4 0; #X connect 3 2 5 0; #X connect 4 0 1 1; #X connect 5 0 1 1; #X connect 7 0 9 0; #X connect 8 0 9 1; #X connect 9 0 13 0; #X connect 10 0 11 0; #X connect 11 0 8 0; #X connect 11 0 12 0; #X connect 12 0 13 1; #X connect 13 0 14 0; #X connect 14 0 1 0; #X restore 11 92 pd port; #X connect 2 0 8 0; #X connect 3 0 5 0; #X connect 3 1 1 0; #X connect 3 2 4 0; #X connect 4 0 6 0; #X connect 5 0 6 0; #X connect 7 0 8 1; #X connect 8 0 3 0; #X restore 17 338 pd handle.incoming; #X obj 21 19 includes/agop.digital.gop \$0; #N canvas 449 400 297 413 bar.display 0; #X obj 72 59 r \$0.analog; #X obj 99 385 s \$0.bar; #X obj 16 102 f; #X obj 16 5 r \$1.ARDUINO.INTERN; #X obj 16 27 route refresh; #X obj 16 49 b; #X msg 99 271 1 21; #X msg 99 358 vis_size \$1 8 \, pos \$2 22; #X obj 16 187 int; #X obj 16 166 * 50; #X obj 72 81 t a b; #X obj 99 106 del 200; #X obj 16 144 change 0; #X msg 128 139 set -1; #X msg 60 116 -1; #X msg 16 311 \$1 45; #X connect 0 0 10 0; #X connect 2 0 12 0; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 5 0 2 0; #X connect 6 0 7 0; #X connect 7 0 1 0; #X connect 8 0 15 0; #X connect 9 0 8 0; #X connect 10 0 2 1; #X connect 10 1 11 0; #X connect 11 0 6 0; #X connect 11 0 14 0; #X connect 11 0 13 0; #X connect 12 0 9 0; #X connect 13 0 12 0; #X connect 14 0 2 1; #X connect 15 0 7 0; #X restore 17 317 pd bar.display; #N canvas 774 149 421 263 digital.analog.output 0; #X obj 33 15 r \$1.ARDUINO.OUT; #X obj 33 219 s \$0.input; #X obj 33 37 route digital analog; #X obj 223 100 r \$0.mode; #X obj 33 190 spigot; #X obj 129 188 spigot; #X obj 66 145 sel 0; #X msg 66 167 1; #X msg 93 167 0; #X msg 162 163 1; #X msg 189 163 0; #X obj 162 141 sel 2; #X obj 140 115 s \$0.analog; #X obj 33 98 route \$2; #X obj 33 123 change -1; #X obj 189 34 r \$0.analog.pin.no; #X obj 129 73 route -1; #X connect 0 0 2 0; #X connect 2 0 13 0; #X connect 2 1 16 0; #X connect 3 0 6 0; #X connect 3 0 11 0; #X connect 4 0 1 0; #X connect 5 0 1 0; #X connect 6 0 7 0; #X connect 6 1 8 0; #X connect 7 0 4 1; #X connect 8 0 4 1; #X connect 9 0 5 1; #X connect 10 0 5 1; #X connect 11 0 9 0; #X connect 11 1 10 0; #X connect 13 0 14 0; #X connect 14 0 4 0; #X connect 15 0 16 1; #X connect 16 0 5 0; #X connect 16 0 12 0; #X restore 17 271 pd digital.analog.output; #N canvas 0 50 474 442 query.state 0; #X obj 16 91 s \$1.ARDUINO.TO; #X obj 16 121 r \$1.ARDUINO.INFO; #X msg 16 69 pinState \$1; #X obj 16 145 route pinState; #X obj 16 191 list; #X obj 92 278 select DIGITAL_INPUT DIGITAL_OUTPUT ANALOG_INPUT PWM SERVO; #X msg 92 313 0; #X msg 161 312 1; #X msg 368 312 4; #X obj 92 376 s \$0.mode; #X obj 73 255 t b a b; #X msg 239 165 0; #X msg 209 164 1; #X obj 209 196 s \$0.block.send; #X msg 230 313 -1; #X msg 299 314 3; #X msg 16 211 \$2 \$1; #X obj 16 232 unpack f s; #X obj 16 295 s \$0.input; #X obj 16 5 r \$0.ready; #X obj 16 27 sel 1; #X obj 16 47 f \$2; #X obj 16 165 route \$2; #X connect 1 0 3 0; #X connect 2 0 0 0; #X connect 3 0 22 0; #X connect 4 0 16 0; #X connect 5 0 6 0; #X connect 5 1 7 0; #X connect 5 2 14 0; #X connect 5 3 15 0; #X connect 5 4 8 0; #X connect 6 0 9 0; #X connect 7 0 9 0; #X connect 8 0 9 0; #X connect 10 0 12 0; #X connect 10 1 5 0; #X connect 10 2 11 0; #X connect 11 0 13 0; #X connect 12 0 13 0; #X connect 14 0 9 0; #X connect 15 0 9 0; #X connect 16 0 17 0; #X connect 17 0 18 0; #X connect 17 1 10 0; #X connect 19 0 20 0; #X connect 20 0 21 0; #X connect 21 0 2 0; #X connect 22 0 4 0; #X restore 17 359 pd query.state; #X connect 13 0 0 0; #X coords 0 -1 1 1 20 14 2 21 19; pduino-0.8/includes/agop.dummy.pin.pd000066400000000000000000000002601402671452100176570ustar00rootroot00000000000000#N canvas 955 96 378 347 10; #X obj 21 21 vsl 12 9 30 24 0 0 \$0.selector.label.s \$0.selector.label.r empty 1 5 0 10 -162280 -162280 -1 0 1; #X coords 0 -1 1 1 12 14 2 21 19; pduino-0.8/includes/agop.firmware.check.pd000066400000000000000000000100621402671452100206300ustar00rootroot00000000000000#N canvas 393 50 648 695 10; #X obj 22 236 sel 1 0; #X obj 22 75 r \$1.ARDUINO.INTERN; #X obj 20 375 r \$1.ARDUINO.INFO; #X msg 209 432 ready \$1; #X obj 22 210 t a a; #X msg 209 408 0; #X obj 46 525 t b b; #X obj 177 459 s \$1.ARDUINO.INTERN; #X msg 326 252 stop; #X obj 353 355 s \$1.ARDUINO.TO; #X obj 326 312 t b b; #X obj 326 419 del 500; #X obj 326 289 del 4500; #X msg 306 388 stop; #X obj 20 421 t a b; #X obj 20 399 route version; #X obj 20 42 cnv 11 275 22 empty \$0.label.bottom close 7 6 0 10 -262144 -1 0; #X obj 20 20 cnv 11 275 21 empty \$0.label.top disconnected 7 12 0 10 -262144 -1 0; #X msg 245 146 0; #X msg 212 144 10; #X obj 22 307 agop.symbol2list; #X msg 41 262 disconnected; #X msg 22 286 Waiting for firmware ...; #X msg 22 329 label \$1; #X obj 22 350 s \$0.label.top; #X obj 421 36 r \$0.color; #X msg 421 60 color \$1 -1; #X obj 432 83 s \$0.label.top; #X obj 224 169 s \$0.color; #X obj 421 105 s \$0.label.bottom; #X obj 20 609 agop.symbol2list; #X msg 20 631 label \$1; #X obj 20 652 s \$0.label.top; #X msg 73 564 Firmware OK; #X msg 144 488 6; #X msg 99 540 Wrong firmware version; #X obj 144 517 s \$0.color; #X msg 171 489 3; #X msg 326 558 No firmware found; #X obj 346 470 s \$0.color; #X msg 346 444 3; #X obj 462 382 r \$1.ARDUINO.INFO; #X obj 462 406 route firmware; #X obj 462 461 agop.symbol2list; #X msg 462 483 label \$1; #X msg 428 432 symbol empty; #X obj 462 504 s \$0.label.bottom; #X obj 517 433 r \$1.ARDUINO.TO; #X text 163 631 ... trying to win the spaghetti contest ... sorry; #X obj 22 122 list prepend 0; #X obj 22 97 route serial.com emulate; #X obj 22 144 route 0 1; #N canvas 947 201 190 316 emulation 0; #X msg 76 66 6; #X obj 76 87 s \$0.color; #X obj 42 176 agop.symbol2list; #X msg 42 197 label \$1; #X msg 59 111 label empty; #X obj 25 22 inlet; #X obj 59 133 s \$0.label.bottom; #X msg 42 153 Emulation Mode; #X obj 25 266 s \$1.ARDUINO.INTERN; #X msg 25 244 ready 1; #X obj 25 46 t b b b b; #X obj 42 218 s \$0.label.bottom; #X connect 0 0 1 0; #X connect 2 0 3 0; #X connect 3 0 11 0; #X connect 4 0 6 0; #X connect 5 0 10 0; #X connect 7 0 2 0; #X connect 9 0 8 0; #X connect 10 0 9 0; #X connect 10 1 7 0; #X connect 10 2 4 0; #X connect 10 3 0 0; #X restore 66 189 pd emulation; #X obj 47 166 sel 0 1; #X msg 39 189 0; #X msg 353 335 version \, firmware; #X obj 386 288 del 500; #X obj 20 444 route 2; #X msg 113 489 5; #X obj 8 525 t b b; #X msg 35 584 Firmware OK (old); #X obj 20 466 < 2; #X obj 20 488 sel 1 0; #X msg 177 383 connected; #X connect 0 0 22 0; #X connect 0 0 12 0; #X connect 0 0 19 0; #X connect 0 0 56 0; #X connect 0 1 21 0; #X connect 0 1 8 0; #X connect 0 1 18 0; #X connect 0 1 45 0; #X connect 1 0 50 0; #X connect 2 0 15 0; #X connect 3 0 7 0; #X connect 4 0 0 0; #X connect 4 1 5 0; #X connect 5 0 3 0; #X connect 6 0 63 0; #X connect 6 0 34 0; #X connect 6 1 33 0; #X connect 8 0 12 0; #X connect 8 0 56 0; #X connect 10 0 11 0; #X connect 10 1 55 0; #X connect 11 0 38 0; #X connect 11 0 40 0; #X connect 12 0 10 0; #X connect 13 0 11 0; #X connect 14 0 57 0; #X connect 14 1 8 0; #X connect 14 1 13 0; #X connect 15 0 14 0; #X connect 18 0 28 0; #X connect 19 0 28 0; #X connect 20 0 23 0; #X connect 21 0 20 0; #X connect 22 0 20 0; #X connect 23 0 24 0; #X connect 25 0 26 0; #X connect 26 0 27 0; #X connect 26 0 29 0; #X connect 30 0 31 0; #X connect 31 0 32 0; #X connect 33 0 30 0; #X connect 34 0 36 0; #X connect 35 0 30 0; #X connect 37 0 36 0; #X connect 38 0 30 0; #X connect 40 0 39 0; #X connect 41 0 42 0; #X connect 42 0 43 0; #X connect 43 0 44 0; #X connect 44 0 46 0; #X connect 45 0 44 0; #X connect 47 0 43 0; #X connect 49 0 51 0; #X connect 50 0 49 0; #X connect 50 1 49 1; #X connect 51 0 4 0; #X connect 51 1 53 0; #X connect 53 0 54 0; #X connect 53 1 52 0; #X connect 54 0 4 0; #X connect 55 0 9 0; #X connect 56 0 55 0; #X connect 57 0 61 0; #X connect 57 1 35 0; #X connect 57 1 37 0; #X connect 58 0 36 0; #X connect 59 0 63 0; #X connect 59 0 58 0; #X connect 59 1 60 0; #X connect 60 0 30 0; #X connect 61 0 62 0; #X connect 62 0 59 0; #X connect 62 1 6 0; #X connect 63 0 7 0; #X coords 0 -1 1 1 275 44 2 20 20; pduino-0.8/includes/agop.message.recorder.pd000066400000000000000000000035411402671452100211740ustar00rootroot00000000000000#N canvas 841 211 382 464 10; #N canvas 1054 295 300 308 bang.to.toggle 0; #X obj 16 55 t b b b; #X msg 55 81 0; #X msg 16 81 1; #X obj 12 156 spigot 1; #X obj 12 179 ==; #X obj 105 178 t a; #X obj 35 105 s \$0.bng.r; #X obj 12 135 r \$0.bng.s; #X obj 12 201 outlet; #X msg 105 255 color -1 \$1 -1; #X obj 105 277 s \$0.bng.r; #X msg 134 225 13; #X msg 105 225 23; #X obj 105 200 sel 0 1; #X obj 16 10 loadbang; #X obj 16 33 metro 50; #X connect 0 0 2 0; #X connect 0 1 6 0; #X connect 0 2 1 0; #X connect 1 0 3 1; #X connect 2 0 3 1; #X connect 3 0 4 0; #X connect 4 0 5 0; #X connect 4 0 8 0; #X connect 5 0 4 1; #X connect 5 0 13 0; #X connect 7 0 3 0; #X connect 9 0 10 0; #X connect 11 0 9 0; #X connect 12 0 9 0; #X connect 13 0 12 0; #X connect 13 1 11 0; #X connect 14 0 15 0; #X connect 15 0 0 0; #X restore 123 17 pd bang.to.toggle; #X obj 154 214 list prepend add2; #X obj 154 236 list trim; #X obj 42 123 route 0 1; #X obj 42 213 list prepend set; #X obj 42 235 list trim; #X obj 42 371 t a; #X obj 42 89 list prepend 0; #X obj 288 215 sel 1; #X msg 288 237 set; #X obj 154 259 t a b; #X msg 181 280 1; #X obj 181 302 sel 0; #X msg 245 304 1; #X msg 241 277 0; #X msg 181 325 addcomma; #X obj 42 65 r \$1.ARDUINO.TO; #X obj 42 396 outlet; #X obj 20 20 cnv 4 12 14 empty empty empty 20 12 0 14 -1 -66577 0; #X obj 20 21 bng 12 50 10 0 \$0.bng.s \$0.bng.r empty 17 7 0 10 -1 -143491 -1; #X connect 0 0 7 1; #X connect 0 0 8 0; #X connect 1 0 2 0; #X connect 2 0 10 0; #X connect 3 0 4 0; #X connect 3 1 1 0; #X connect 4 0 5 0; #X connect 5 0 6 0; #X connect 6 0 17 0; #X connect 7 0 3 0; #X connect 8 0 9 0; #X connect 8 0 14 0; #X connect 9 0 6 0; #X connect 10 0 6 0; #X connect 10 1 11 0; #X connect 11 0 12 0; #X connect 12 0 15 0; #X connect 12 1 13 0; #X connect 13 0 12 1; #X connect 14 0 12 1; #X connect 15 0 6 0; #X connect 16 0 7 0; #X coords 0 -1 1 1 12 14 2 20 20; pduino-0.8/includes/agop.power.led.pd000066400000000000000000000021461402671452100176430ustar00rootroot00000000000000#N canvas 667 323 377 378 10; #X obj 20 20 cnv 5 5 5 empty \$0.led empty 20 12 0 14 -2561 -262144 0; #X obj 262 102 << 8; #X obj 225 126 << 16; #X obj 226 148 +; #X obj 262 126 +; #X obj 226 168 * -1; #X obj 226 189 - 1; #X obj 191 59 list split 1; #X obj 225 81 unpack f f f; #X obj 191 214 list append; #X obj 191 235 route 0 1; #X obj 44 283 f; #X obj 69 284 f; #X obj 44 253 sel 0 1; #X msg 44 312 color \$1 0; #X obj 44 336 s \$0.led; #X obj 191 14 loadbang; #X obj 44 227 change -1; #X obj 44 169 r \$1.ARDUINO.INTERN; #X msg 191 37 0 0 160 0 \, 1 0 255 0; #X obj 44 191 route ready; #X connect 1 0 4 0; #X connect 2 0 3 0; #X connect 3 0 5 0; #X connect 4 0 3 1; #X connect 5 0 6 0; #X connect 6 0 9 1; #X connect 7 0 9 0; #X connect 7 1 8 0; #X connect 8 0 2 0; #X connect 8 1 1 0; #X connect 8 2 4 1; #X connect 9 0 10 0; #X connect 10 0 11 1; #X connect 10 1 12 1; #X connect 11 0 14 0; #X connect 12 0 14 0; #X connect 13 0 11 0; #X connect 13 1 12 0; #X connect 14 0 15 0; #X connect 16 0 19 0; #X connect 17 0 13 0; #X connect 18 0 20 0; #X connect 19 0 7 0; #X connect 20 0 17 0; #X coords 0 -1 1 1 5 5 2 20 20; pduino-0.8/includes/agop.refresh.rate.pd000066400000000000000000000025101402671452100203270ustar00rootroot00000000000000#N canvas 806 309 336 268 10; #X obj 20 20 nbx 5 12 5 120 0 0 \$0.fps.s \$0.fps.r empty 0 -8 0 10 -262144 -1 -1 60 256; #X obj 23 20 hsl 48 12 0 127 0 0 \$0.NULL.s \$0.label.r empty 3 6 0 10 -228856 -228856 -1 0 1; #X obj 167 37 loadbang; #X msg 167 59 60; #X obj 167 81 s \$0.fps.r; #N canvas 1118 205 272 205 gui.stuff 0; #X obj 16 171 s \$0.label.r; #X obj 16 40 makefilename %3d; #X obj 141 88 makefilename %c; #X obj 141 43 loadbang; #X msg 141 65 32; #X obj 16 71 pack s s; #X msg 16 96 label \$1\$2fps; #X obj 16 15 r \$0.fps.s; #X obj 116 117 inlet; #X msg 116 139 label empty; #X connect 1 0 5 0; #X connect 2 0 5 1; #X connect 3 0 4 0; #X connect 4 0 2 0; #X connect 5 0 6 0; #X connect 6 0 0 0; #X connect 7 0 1 0; #X connect 8 0 9 0; #X connect 9 0 0 0; #X restore 160 154 pd gui.stuff; #X msg 53 123 1000 \$1; #X obj 53 145 /; #X obj 53 103 r \$0.fps.s; #X obj 16 165 metro 16.66; #X msg 16 187 refresh; #X obj 16 217 s \$1.ARDUINO.INTERN; #X obj 16 56 r \$1.ARDUINO.INTERN; #X obj 16 78 route ready; #X obj 160 127 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X text 179 126 reset; #X connect 2 0 3 0; #X connect 3 0 4 0; #X connect 6 0 7 0; #X connect 7 0 9 1; #X connect 8 0 6 0; #X connect 9 0 10 0; #X connect 10 0 11 0; #X connect 12 0 13 0; #X connect 13 0 9 0; #X connect 14 0 5 0; #X coords 0 -1 1 1 53 12 2 20 20; pduino-0.8/includes/agop.rx.led.pd000066400000000000000000000024451402671452100171420ustar00rootroot00000000000000#N canvas 667 323 440 377 10; #X obj 20 20 cnv 5 5 5 empty \$0.led empty 20 12 0 14 -166401 -262144 0; #X obj 264 119 << 8; #X obj 227 143 << 16; #X obj 228 165 +; #X obj 264 143 +; #X obj 228 185 * -1; #X obj 228 206 - 1; #X obj 193 76 list split 1; #X obj 227 98 unpack f f f; #X obj 193 231 list append; #X obj 193 252 route 0 1; #X obj 59 287 f; #X obj 84 288 f; #X obj 59 257 sel 0 1; #X msg 59 316 color \$1 0; #X obj 59 340 s \$0.led; #X msg 193 54 0 160 160 0 \, 1 255 255 0; #X obj 193 31 loadbang; #X obj 59 92 t b b; #X msg 86 142 0; #X msg 59 162 1; #X obj 59 188 change -1; #X obj 86 120 del 50; #X obj 59 33 r \$1.ARDUINO.TO; #X obj 65 62 r \$1.ARDUINO.IN; #X connect 1 0 4 0; #X connect 2 0 3 0; #X connect 3 0 5 0; #X connect 4 0 3 1; #X connect 5 0 6 0; #X connect 6 0 9 1; #X connect 7 0 9 0; #X connect 7 1 8 0; #X connect 8 0 2 0; #X connect 8 1 1 0; #X connect 8 2 4 1; #X connect 9 0 10 0; #X connect 10 0 11 1; #X connect 10 1 12 1; #X connect 11 0 14 0; #X connect 12 0 14 0; #X connect 13 0 11 0; #X connect 13 1 12 0; #X connect 14 0 15 0; #X connect 16 0 7 0; #X connect 17 0 16 0; #X connect 18 0 20 0; #X connect 18 1 22 0; #X connect 19 0 21 0; #X connect 20 0 21 0; #X connect 21 0 13 0; #X connect 22 0 19 0; #X connect 23 0 18 0; #X connect 24 0 18 0; #X coords 0 -1 1 1 5 5 2 20 20; pduino-0.8/includes/agop.sample.rate.pd000066400000000000000000000033421402671452100201560ustar00rootroot00000000000000#N canvas 806 309 555 462 10; #X obj 20 20 nbx 5 12 1 100 0 0 \$0.sr.s \$0.sr.r empty 0 -8 0 10 -262144 -1 -1 50 256; #X obj 23 20 hsl 48 12 0 127 0 0 \$0.NULL.s \$0.label.r empty 3 6 0 10 -228856 -228856 -1 0 1; #X obj 184 218 s \$0.sr.r; #X msg 184 196 set 50; #X obj 16 56 r \$1.ARDUINO.IN; #X obj 16 82 route samplingInterval; #X obj 16 104 clip 10 16384; #X msg 16 126 1000 \$1; #X obj 16 148 /; #X obj 16 191 s \$0.sr.r; #X msg 16 169 set \$1; #X obj 189 30 r \$1.ARDUINO.INTERN; #X obj 189 52 route ready; #X obj 16 234 r \$0.sr.s; #X msg 16 255 1000 \$1; #X obj 16 277 /; #X obj 16 299 int; #X msg 16 321 samplingInterval \$1; #X obj 16 367 s \$1.ARDUINO.TO; #X obj 16 344 spigot; #X obj 184 148 sel 1 0; #X obj 326 244 s \$0.label.r; #X obj 326 146 makefilename %3d; #X obj 430 210 makefilename %c; #X msg 430 187 32; #X obj 326 184 pack s s; #X msg 236 195 label empty; #X obj 326 58 r \$0.sr.s; #X msg 326 209 label \$1\$2sr; #X obj 387 59 r \$0.sr.r; #X obj 387 81 route set; #X obj 430 166 loadbang; #X obj 326 125 spigot; #X obj 189 74 t a a a; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 5 0 6 0; #X connect 6 0 7 0; #X connect 7 0 8 0; #X connect 8 0 10 0; #X connect 10 0 9 0; #X connect 11 0 12 0; #X connect 12 0 33 0; #X connect 13 0 14 0; #X connect 14 0 15 0; #X connect 15 0 16 0; #X connect 16 0 17 0; #X connect 17 0 19 0; #X connect 19 0 18 0; #X connect 20 0 3 0; #X connect 20 1 26 0; #X connect 22 0 25 0; #X connect 23 0 25 1; #X connect 24 0 23 0; #X connect 25 0 28 0; #X connect 26 0 21 0; #X connect 27 0 32 0; #X connect 28 0 21 0; #X connect 29 0 30 0; #X connect 30 0 32 0; #X connect 31 0 24 0; #X connect 32 0 22 0; #X connect 33 0 19 1; #X connect 33 1 20 0; #X connect 33 2 32 1; #X coords 0 -1 1 1 53 12 2 20 20; pduino-0.8/includes/agop.symbol2list.pd000066400000000000000000000020561402671452100202270ustar00rootroot00000000000000#N canvas 542 187 313 399 10; #X obj 166 172 loadbang; #X msg 166 194 32; #X obj 166 216 makefilename %c; #X obj 103 238 list append; #X msg 103 260 symbol \$1\$2; #X obj 40 200 t b a; #X obj 40 232 symbol; #X obj 40 282 list append; #X msg 40 304 symbol \$1\$2; #X obj 40 157 list split 1; #X obj 40 113 until; #X obj 40 135 list append; #X obj 134 121 b; #X obj 40 89 t b a; #X msg 171 113 symbol; #X obj 21 52 t b a b; #X obj 21 343 symbol; #X obj 21 5 inlet; #X obj 21 365 outlet; #X obj 21 27 list; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 2 0 3 1; #X connect 3 0 4 0; #X connect 4 0 7 1; #X connect 5 0 6 0; #X connect 5 1 3 0; #X connect 6 0 7 0; #X connect 7 0 8 0; #X connect 8 0 6 1; #X connect 8 0 16 1; #X connect 9 0 5 0; #X connect 9 1 11 1; #X connect 9 2 12 0; #X connect 10 0 11 0; #X connect 11 0 9 0; #X connect 12 0 10 1; #X connect 13 0 10 0; #X connect 13 1 11 1; #X connect 14 0 6 1; #X connect 14 0 7 1; #X connect 15 0 16 0; #X connect 15 1 13 0; #X connect 15 2 14 0; #X connect 16 0 18 0; #X connect 17 0 19 0; #X connect 19 0 15 0; pduino-0.8/includes/agop.tx.led.pd000066400000000000000000000024501402671452100171400ustar00rootroot00000000000000#N canvas 667 323 440 377 10; #X obj 20 20 cnv 5 5 5 empty \$0.led empty 20 12 0 14 -166401 -262144 0; #X obj 264 119 << 8; #X obj 227 143 << 16; #X obj 228 165 +; #X obj 264 143 +; #X obj 228 185 * -1; #X obj 228 206 - 1; #X obj 193 76 list split 1; #X obj 227 98 unpack f f f; #X obj 193 231 list append; #X obj 193 252 route 0 1; #X obj 59 287 f; #X obj 84 288 f; #X obj 59 257 sel 0 1; #X msg 59 316 color \$1 0; #X obj 59 340 s \$0.led; #X msg 193 54 0 160 160 0 \, 1 255 255 0; #X obj 193 31 loadbang; #X obj 59 32 r \$1.ARDUINO.OUT; #X obj 59 92 t b b; #X msg 86 142 0; #X msg 59 162 1; #X obj 59 188 change -1; #X obj 86 120 del 50; #X obj 69 52 r \$1.ARDUINO.INFO; #X connect 1 0 4 0; #X connect 2 0 3 0; #X connect 3 0 5 0; #X connect 4 0 3 1; #X connect 5 0 6 0; #X connect 6 0 9 1; #X connect 7 0 9 0; #X connect 7 1 8 0; #X connect 8 0 2 0; #X connect 8 1 1 0; #X connect 8 2 4 1; #X connect 9 0 10 0; #X connect 10 0 11 1; #X connect 10 1 12 1; #X connect 11 0 14 0; #X connect 12 0 14 0; #X connect 13 0 11 0; #X connect 13 1 12 0; #X connect 14 0 15 0; #X connect 16 0 7 0; #X connect 17 0 16 0; #X connect 18 0 19 0; #X connect 19 0 21 0; #X connect 19 1 23 0; #X connect 20 0 22 0; #X connect 21 0 22 0; #X connect 22 0 13 0; #X connect 23 0 20 0; #X connect 24 0 19 0; #X coords 0 -1 1 1 5 5 2 20 20; pduino-0.8/includes/analog.display.pd000066400000000000000000000007661402671452100177320ustar00rootroot00000000000000#N canvas 718 312 193 283 10; #X obj 21 21 cnv 1 1 6 empty \$0.bar empty 20 12 0 14 -203904 -66577 0; #X obj 35 101 inlet; #X msg 20 212 vis_size \$1 6; #X obj 20 233 s \$0.bar; #X obj 20 146 change; #X obj 20 169 clip 0 1; #X obj 20 191 * 100; #X obj 20 57 loadbang; #X obj 20 79 metro 50; #X obj 20 123 f; #X connect 1 0 9 1; #X connect 2 0 3 0; #X connect 4 0 5 0; #X connect 5 0 6 0; #X connect 6 0 2 0; #X connect 7 0 8 0; #X connect 8 0 9 0; #X connect 9 0 4 0; #X coords 0 -1 1 1 102 8 2 20 20; pduino-0.8/pduino-meta.pd000066400000000000000000000010041402671452100154230ustar00rootroot00000000000000#N canvas 3 141 200 200 10; #N canvas 20 85 420 300 META 1; #X text 10 10 VERSION 0.8; #X text 10 25 AUTHOR Georg Holzmann \, Gerda Strobl \, Hans-Christoph Steiner \, Olsen Wolf \, Roman Haefeli; #X text 10 52 NAME pduino; #N canvas 341 85 450 300 OBJECTS 0; #X text 15 17 arduino interface Pd to analog and digital input and output pins of an arduino board; #X text 14 47 arduino-gui graphic version of the arduino object that also reflects the boards state; #X restore 10 75 pd OBJECTS; #X restore 10 10 pd META;