pd-l2ork / pd

L2Ork version of Pure-Data real-time digital signal processing language developed and maintained at DISIS, Virginia Tech
http://l2ork.music.vt.edu
127 stars 63 forks source link

disis_gpio needs to be updated to account for changes in wiringPi #33

Closed bltzr closed 8 years ago

bltzr commented 8 years ago

Hi ! I've been trying to build disis_gpio from source, and encountered problems when having more than one instance of it. Pd crashes and says: wiringPiSetup*: You must only call this once per program run. This is a fatal error. Please fix your code.

Apparently that comes from a change in wiringPi, that prevents wiringPi from being setup several times, see: https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=134191&p=893432

My workaround was to create a disis_gpio_setup object by tweaking the code a little.... but that doesn't sound very clean nor future-proof... Unfortunately my C-programming skills are not sufficient for me to change the code so that it calls this function only the first time a disis_gpio external is instanciated... but I guess that would be the way to go... right ?

Cheers !

bltzr commented 8 years ago

adding @avilleret as a follower

pd-l2ork commented 8 years ago

Thank you for the report. I will check into this and will let you know. Hope this helps.

Best,

Ivica Ico Bukvic, D.M.A. Associate Professor Computer Music ICAT Senior Fellow Director -- DISIS, L2Ork Virginia Tech School of Performing Arts – 0141 Blacksburg, VA 24061 (540) 231-6139 ico@vt.edu www.performingarts.vt.edu disis.icat.vt.edu l2ork.icat.vt.edu ico.bukvic.net

Hi ! I've been trying to build disis_gpio from source, and encountered problems when having more than one instance of it. Pd crashes and says: wiringPiSetup*: You must only call this once per program run. This is a fatal error. Please fix your code.

Apparently that comes from a change in wiringPi, that prevents wiringPi from being setup several times, see: https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=134191&p=893432

My workaround was to create a disis_gpio_setup object by tweaking the code a little.... but that doesn't sound very clean nor future-proof... Unfortunately my C-programming skills are not sufficient for me to change the code so that it calls this function only the first time a disis_gpio external is instanciated... but I guess that would be the way to go... right ?

Cheers !

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/pd-l2ork/pd/issues/33

bltzr commented 8 years ago

thanks!

pd-l2ork commented 8 years ago

The latest commit to disis_gpio aims to address this problem. Would you please test the new disis_gpio external and report whether it has solved the problem you had, so that I can close the bug report? Thank you.

bltzr commented 8 years ago

Yes, that solved the problem, thanks a lot !

(It also fixed the build script, but I guess that’s related…)