Hi
My question is mostly to Tim Rowledge.
Can you compare wiringPi library http://wiringpi.com and your set of packages for GPIO? (there is ffi binding to wiringPi at smalltalkhub)
Best regards, Denis
Hi Denis;
On 27-04-2017, at 6:17 AM, Denis Kudriashov dionisiydk@gmail.com wrote:
Can you compare wiringPi library and your set of packages for GPIO? (there is ffi binding to wiringPi at smalltalkhub)
First question - how did you find a wiringpi package on smalltalkhub? I never seem to be able to find *anything* there, which frequently annoys me.
WiringPi (www.wiringpi.com) is a decent library to make it easier for Ardunio habitués to adapt. It provides a lot of good stuff and I used it for some time in the early days of the ScratchGPIO work. Where it falls down is Gordon’s insistence on rather aggressively exiting the process when errors occur. Eventually that got a bit annoying.
The library I moved over to, and that is used in the HardwarePeripherals package for Pi, is pigpio (http://abyz.co.uk/rpi/pigpio/). It is a fair bit more sophisticated and offers both locally bound and daemon versions of the core - I use the daemon because that avoids the all-too-common problem of ALSA screwing up interrupt handling. It also allows for the daemon to be running on a *different* Pi, giving remote control for free. Pigpio has a lot of clever stuff that gets down to the gpio hardware better than wiringPi. Both are installed by default on Raspbian so it is no problem to choose either for any project you are considering.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Nostalgia: The good old days multiplied by a bad memory...
2017-04-27 18:58 GMT+02:00 tim Rowledge tim@rowledge.org:
Hi Denis;
On 27-04-2017, at 6:17 AM, Denis Kudriashov dionisiydk@gmail.com
wrote:
Can you compare wiringPi library and your set of packages for GPIO?
(there is ffi binding to wiringPi at smalltalkhub)
First question - how did you find a wiringpi package on smalltalkhub? I never seem to be able to find *anything* there, which frequently annoys me.
I asked Jean Baptiste. In past he built CI job for pharo on RPi at Inria
WiringPi (www.wiringpi.com) is a decent library to make it easier for Ardunio habitués to adapt. It provides a lot of good stuff and I used it for some time in the early days of the ScratchGPIO work. Where it falls down is Gordon’s insistence on rather aggressively exiting the process when errors occur. Eventually that got a bit annoying.
Yes, I was also surprized. But there is env variable to disable this behaivour
The library I moved over to, and that is used in the HardwarePeripherals package for Pi, is pigpio (http://abyz.co.uk/rpi/pigpio/). It is a fair bit more sophisticated and offers both locally bound and daemon versions of the core - I use the daemon because that avoids the all-too-common problem of ALSA screwing up interrupt handling. It also allows for the daemon to be running on a *different* Pi, giving remote control for free. Pigpio has a lot of clever stuff that gets down to the gpio hardware better than wiringPi. Both are installed by default on Raspbian so it is no problem to choose either for any project you are considering.
I will look at your code
2017-04-27 20:51 GMT+02:00 Denis Kudriashov dionisiydk@gmail.com:
First question - how did you find a wiringpi package on smalltalkhub? I never seem to be able to find *anything* there, which frequently annoys me.
Probably you expect links: http://smalltalkhub.com/#!/~jeanbaptistearnaud/WiringPi
On 27-04-2017, at 2:01 PM, Denis Kudriashov dionisiydk@gmail.com wrote:
2017-04-27 20:51 GMT+02:00 Denis Kudriashov dionisiydk@gmail.com: First question - how did you find a wiringpi package on smalltalkhub? I never seem to be able to find *anything* there, which frequently annoys me.
Probably you expect links: http://smalltalkhub.com/#!/~jeanbaptistearnaud/WiringPi
No, it’s a different problem that is annoying me - the *only* thing one can do is search; there appears to be no explore capability at all. Searching is great when you have a decent idea of what needs to be found. It is utterly pointless if you want to explore and see what is available!
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Oxymorons: Act naturally
2017-04-27 20:51 GMT+02:00 Denis Kudriashov dionisiydk@gmail.com:
The library I moved over to, and that is used in the HardwarePeripherals package for Pi, is pigpio (http://abyz.co.uk/rpi/pigpio/).
By the way what complexity these libraries solve. GPIO interaction looks like simple file access. Am I wrong?
On 27-04-2017, at 11:51 AM, Denis Kudriashov dionisiydk@gmail.com wrote:
WiringPi (www.wiringpi.com) is a decent library to make it easier for Ardunio habitués to adapt. It provides a lot of good stuff and I used it for some time in the early days of the ScratchGPIO work. Where it falls down is Gordon’s insistence on rather aggressively exiting the process when errors occur. Eventually that got a bit annoying.
Yes, I was also surprized. But there is env variable to disable this behaivour
Well, yes, supposedly. Now it must be at least a year since I looked at the wiringPi code so I’m potentially out of date, but it didn’t actually do what one would need back then.
The library I moved over to, and that is used in the HardwarePeripherals package for Pi, is pigpio (http://abyz.co.uk/rpi/pigpio/). It is a fair bit more sophisticated and offers both locally bound and daemon versions of the core - I use the daemon because that avoids the all-too-common problem of ALSA screwing up interrupt handling. It also allows for the daemon to be running on a *different* Pi, giving remote control for free. Pigpio has a lot of clever stuff that gets down to the gpio hardware better than wiringPi. Both are installed by default on Raspbian so it is no problem to choose either for any project you are considering.
And…
2017-04-27 20:51 GMT+02:00 Denis Kudriashov dionisiydk@gmail.com: The library I moved over to, and that is used in the HardwarePeripherals package for Pi, is pigpio (http://abyz.co.uk/rpi/pigpio/).
By the way what complexity these libraries solve. GPIO interaction looks like simple file access. Am I wrong?
It isn’t horribly complex but it’s not trivial either. There are ways to drive the GPIO pins quite directly via device registers, or via file system calls. The most flexible (and probably slowest, admittedly) is via the pigpiod daemon because you don’t need to use `sudo`. Except, for bizarre reasons no one has been able to explain to me, when using xrdp to access the desktop.
Both libraries provide a lot of helpful support in different ways. WiringPi adds sort of device drivers for popular (read “chips Gordon knows about”) devices so that it is easy to control an ADC etc. Pigpio provides some neat sound output via pins stuff, i2c & SPI handling, pwm driving (useful for servos for your robotics projects) and some event trigger stuff I never got to use. By and large you get faster response to problems and questions from joan than Gordon, largely because the latter has got deep into break baking and has less time to pay attention. Both are good resources, depending upon your needs.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Useful random insult:- Suffers from Clue Deficit Disorder.
On 27-04-2017, at 7:42 PM, Ben Coman btc@openinworld.com wrote:
"break baking" ???
My google fu only turns up "bread baking”
It’s like break-dancing but with yeast.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Decafalon (n.): The grueling event of getting through the day consuming only things that are good for you.
squeak-dev@lists.squeakfoundation.org