I've had issues getting an arduino to work right with PD on my Raspberry Pi. Basically PD won't start up right with the arduino plugged in from the command line without some finesse.
I turn the Pi on, start Jack, then start PD-Extended to open a patch. The patch has a load bang to a comport object with the device name and baud rate. This patch has a the CPU load meter set to print, and the value of several pots set to print through the arduino. The first time the patch will freeze:
ccrma@satellite ~ $ pd-extended -nogui -jack -open copy/effectpatch1.pd verbose(5): Using /usr/lib/pd-extended/startup as startup. verbose(4): Loading /usr/lib/pd-extended/startup/0.libdir.pd_linux verbose(3): libdir loader 1.9 verbose(3): compiled on Oct 4 2012 at 15:46:18 verbose(3): compiled against Pd version 0.43.3.extended-20121004 verbose(4): Loading /usr/lib/pd-extended/startup/1.list.pd_linux verbose(4): Loading extra in /usr/lib/pd-extended/startup/extra verbose(3): libdir_loader: added 'extra' to the global objectclass path verbose(14): Loaded libdir 'extra' from '/usr/lib/pd-extended/extra/extra' verbose(4): Loading pdlua in /usr/lib/pd-extended/startup/pdlua verbose(3): pdlua 0.7.1 (GPL) 2012 Martin Peach, based on verbose(3): lua 0.6~svn (GPL) 2008 Claude Heiland-Allen <claudiusmaximus@goto10.orgmailto:claudiusmaximus@goto10.org> verbose(3): pdlua: compiled for pd-0.43 on Oct 4 2012 15:46:20 verbose(4): Loading tclpd in /usr/lib/pd-extended/startup/tclpd verbose(3): tclpd loader v0.3.0 verbose(3): tclpd: trying to load /usr/lib/pd-extended/extra/tclpd/tclpd.tcl... verbose(3): tclpd: loaded /usr/lib/pd-extended/extra/tclpd/tclpd.tcl verbose(4): Loading vanilla in /usr/lib/pd-extended/startup/vanilla verbose(3): libdir_loader: added 'vanilla' to the global objectclass path verbose(14): Loaded libdir 'vanilla' from '/usr/lib/pd-extended/extra/vanilla'
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ the zexy external 2.2.5 @
@ (l) forum::für::umläute @
@ iem @ kug @
@ compiled: May 13 2012 @
@ send me a 'help' message @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
matchbox: OSC-pattern matching code (c) Matt Wright, CNMAT verbose(3): libdir_loader: added 'cyclone' to the global objectclass path verbose(14): Loaded libdir 'cyclone' from '/usr/lib/pd/extra/cyclone' comport - PD external for unix/windows LGPL 1998-2006, Winfried Ritsch and others (see LICENSE.txt) Institute for Electronic Music - Graz expr, expr~, fexpr~ version 0.4 under GNU General Public License get_baud_ratebits: 9600 set_baudrate baudbits: 13
^CPd: signal 2
Until I close it with Control-C. This takes about 60 seconds to close the program. Then I fire it up and the whole thing loads and begins printing the CPU load as I want, but not the pots. At this point I can keep closing and restarting PD and get the same result. Now, if I unplug the arduino and reconnect it, and start PD everything fires right up!
Any ideas why it won't load up from the start? I have tried delaying the comport open for a second, with no luck.
On 2014-02-25 23:11, Allen, Michael wrote:
...
Any ideas why it won't load up from the start? I have tried delaying the comport open for a second, with no luck.
Well without seeing the patch, I can only guess: Does the loadbang hit the baud rate or the open first? Make sure you don't send anything to the arduino for a few seconds or you will invoke the bootloader by mistake.
Martin