wiringPi no more..

This is a huge step back for Xojo on the Raspberry, I am so sad to learn about this…

http://wiringpi.com/wiringpi-deprecated/

This is a sad thing people abusing such magnificent development libraries for global fair use.

But there is hope!
Thanks to pigpio and @Ulrich Bogun

https://github.com/UBogun/Xojo-pigpio

Thanks, Derk! I would like to incorporate extensions and bugfixes – if you don’t mind, please use https://gitlab.com/UBogun/Xojo-pigpio instead of Github.

after reading the post linked at the top it is not surprising he is giving it up.

What exactly are the consequences of WiringPi being deprecated? How will this affect future releases of Raspbian? What does this mean for Xojo since Xojo depends on WiringPi?

Does Gordon’s decision mean that WiringPi will be pulled from circulation? Is it even possible for open-source software to be withdrawn at the author’s whim?

Xojo does not depend on Wiring PI

Its just most of the Xojo Wiring examples use Wiring PI. That does not mean they cannot use something else.

[quote=466586:@Björn Eiríksson]Xojo does not depend on Wiring PI

Its just most of the Xojo Wiring examples use Wiring PI. That does not mean they cannot use something else.[/quote]

Can xojo manipulate the raspberry pi gpio without WiringPi installed? If not, then how can you say that xojo does not depend on WiringPi?

Just read again…

“That does not mean they cannot use something else.”

You can use:

  • Pigpio
  • /sys/class/gpio/
    And some other tools.
    Those are even more powerful than wiringpi

I get that there are alternatives available. But I’m still wondering what impact this will have on people like myself (and Xojo) who have come to expect WiringPi to be included in the basic Raspian image. Will Xojo re-write their example code etc. to use a different library? When I say that Xojo “depends” on WiringPi I’m saying that they have chosen to support GPIO access through WiringPi and have produced code, videos etc. that makes it clear that WiringPi is the Xojo approved way to access GPIO on the Raspberry Pi.

Will Raspbian include a different GPIO access library in future releases? Or will we as application developers be expected to install a GPIO support library with our application? I’m trying to understand the impact of Gordon’s decision on Raspbian and Xojo users.

Has Xojo made any announcement on this issue?

Hackaday Article

I-programmer.info Article

pigpio is the standard library installed on current Raspian releases.
Xojo has nothing to do with it.

Ulrich Bogun’s library is the way to go…

[quote=467117:@Hans van Schaick]pigpio is the standard library installed on current Raspian releases.
Xojo has nothing to do with it.

Ulrich Bogun’s library is the way to go…[/quote]

So do we have to now maintain two different versions of our Xojo code to support older and newer versions of Raspbian?

No, pigpio has been around for ages as well.
Different developer and Raspberry.org decided to support that in, I think, the last 3 distros of Raspian.

So one can standardise on pigpio. Even on older releases.
On older releases, you may need to install pigpio manually, but should be available…

pigpio does more, support remote access etc, which is even configurable, from the Raspberry PI standard configuration applet, these day’s.

Cheers

More info at http://abyz.me.uk/rpi/pigpio/

[quote=467111:@Wes Westhaver]I get that there are alternatives available. But I’m still wondering what impact this will have on people like myself (and Xojo) who have come to expect WiringPi to be included in the basic Raspian image. Will Xojo re-write their example code etc. to use a different library?
[/quote]
They may since they are only examples and not built into the framework itself

I wouldnt go so far as to say “approved”
They have put together examples & videos that show how to use it
But, as with anything, they could be come obsolete because of issues far outside Xojo’s control - like the discontinuation of WiringPi

[quote=467111:@Wes Westhaver]Will Raspbian include a different GPIO access library in future releases? Or will we as application developers be expected to install a GPIO support library with our application? I’m trying to understand the impact of Gordon’s decision on Raspbian and Xojo users.
[/quote]
This has more to do with how Raspbian decides to move forward than it does Xojo

[quote=467111:@Wes Westhaver]Has Xojo made any announcement on this issue?
[/quote]
No - why would they ? its not like this is going to affect the framework (say the way they had to deal with apples refusal to permit quicktime based apps in the app store any more or 64 bit code)
Those Xojo HAD to revamp frameworks or the compiler as there was nothing a Xojo developer like yourself could do without these changes
The discontinuation of WiringPi simply means those examples will no longer work but ones based on pigpio will
And that is simply a chngae in YOUR code - nothing in Xojo itself

I am thinking about what to do between the years if I should feel bored.
I think I did not work with the Raspi for about three years now, and so is the state of my pigpiolib. It was built when the Xojo framework was supposed to be the way to go …

Sounds to me like at least a handful of you could need a fresher release.
If so: Could you raise your hand (or just like this comment) please?
Especically if someone should have started to rebuild it for classic/API 2.0.

If somebody takes this on, I tested the pigpiod deamon and I think that would be the way to go. This would allow both Raspian ARM local apps to use GPIO as well as remote linux/macOS apps driving a Raspberry PI. With the advantage that the Xojo apps do not need to run as root (no sudo required to use GPIO).

I tested the pigpio_if2 module compiled on a MacOS Mojave communicating successfully with a Raspberry PI3 running the off the shelf pigpiod deamon.
I tested using the test app x_pigpiod_if2.c compiled on MacOS as well.
(I did make a small change in the distributed module pigpio_if2.c to replace a function time_sleep() which uses a function that is not available on MacOS.)

Either call pigpiod_if2 functions from Xojo (similar to Ulrich’s existing code) or recode pigpiod_if2.c in Xojo. The latter would make it cross platform.

Somewhat busy myself now, otherwise…

Wrote a simple test app driving the pigpiod.
Borrowed a some stuff from Ulrich Bogun.
Should work on the latest Raspian Buster distro after enabling pigpiod

sudo syststemctl enable pigpiod
sudo systemctl start pigpiod

The app can be downloaded here: https://ast-software.nl/download/pigpiodtestapp.zip
No need to run this app as root user.

Not nearly complete, but could be a starting point.
(I am not very experienced with xojo, so I assume there are smarter way to get these things done…)