raspberry question

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

raspberry question

Denis Kudriashov
Hi

My question is mostly to Tim Rowledge. 

Can you compare wiringPi library and your set of packages for GPIO? (there is ffi binding to wiringPi at smalltalkhub)

Best regards,
Denis


Reply | Threaded
Open this post in threaded view
|

Re: raspberry question

timrowledge
Hi Denis;

> On 27-04-2017, at 6:17 AM, Denis Kudriashov <[hidden email]> 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; [hidden email]; http://www.rowledge.org/tim
Nostalgia:  The good old days multiplied by a bad memory...



Reply | Threaded
Open this post in threaded view
|

Re: raspberry question

Denis Kudriashov

2017-04-27 18:58 GMT+02:00 tim Rowledge <[hidden email]>:
Hi Denis;

> On 27-04-2017, at 6:17 AM, Denis Kudriashov <[hidden email]> 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



Reply | Threaded
Open this post in threaded view
|

Re: raspberry question

Denis Kudriashov

2017-04-27 20:51 GMT+02:00 Denis Kudriashov <[hidden email]>:
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 


Reply | Threaded
Open this post in threaded view
|

Re: raspberry question

Denis Kudriashov
In reply to this post by Denis Kudriashov

2017-04-27 20:51 GMT+02:00 Denis Kudriashov <[hidden email]>:
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?


Reply | Threaded
Open this post in threaded view
|

Re: raspberry question

timrowledge
In reply to this post by Denis Kudriashov

> On 27-04-2017, at 2:01 PM, Denis Kudriashov <[hidden email]> wrote:
>
>
> 2017-04-27 20:51 GMT+02:00 Denis Kudriashov <[hidden email]>:
> 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; [hidden email]; http://www.rowledge.org/tim
Oxymorons: Act naturally



Reply | Threaded
Open this post in threaded view
|

Re: raspberry question

timrowledge
In reply to this post by Denis Kudriashov

> On 27-04-2017, at 11:51 AM, Denis Kudriashov <[hidden email]> 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 <[hidden email]>:
> 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; [hidden email]; http://www.rowledge.org/tim
Useful random insult:- Suffers from Clue Deficit Disorder.



Reply | Threaded
Open this post in threaded view
|

Re: raspberry question

Ben Coman
 "break baking"   ???

My google fu only turns up  "bread baking"

cheers -ben



Reply | Threaded
Open this post in threaded view
|

Re: raspberry question

timrowledge

> On 27-04-2017, at 7:42 PM, Ben Coman <[hidden email]> wrote:
>
>  "break baking"   ???
>
> My google fu only turns up  "bread baking”

It’s like break-dancing but with yeast.



tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Decafalon (n.): The grueling event of getting through the day consuming only things that are good for you.