metachris / RPIO

RPIO is a GPIO toolbox for the Raspberry Pi.
https://pypi.python.org/pypi/RPIO
GNU Lesser General Public License v3.0
333 stars 147 forks source link

Is this project dead? #77

Open fchorney opened 8 years ago

fchorney commented 8 years ago

It's been a while since I've done Pi development, but it seems to me like this lib is missing code for the zero and the + series? I can't seem to use any of the extended header pins with this library on my zero, and trying to get the info just returns with "KeyError: '900092'"

Just curious if this is still actually being developed, or if I should be looking elsewhere?

chdsbd commented 8 years ago

I gave up on using this project and transferred over to using RPi.GPIO, which provides pretty much the same functionality.

fchorney commented 8 years ago

Yeah that seems to be what I was thinking of doing. It's a shame since this lib has a few things that I liked.

karel-kahula commented 8 years ago

ya me 2

k4p7 commented 8 years ago

+1

alexellis commented 8 years ago

@metachris If this was fixed it would serve a lot of people with PI2s wanting to generate PWM signals - it was perfect for robots (servos, motor drivers, LEDs).

As far as I know it still works on ARMv6 - PI A/A+/B/B+/Zero. An alternative may to be to use a tiny 2 dollar Arduino nano as a co-op board over USB with something like PyFirmata.

The merge looks like a nightmare - with so much alterations between RPIO and the original DMA/PWM code.

chdsbd commented 8 years ago

@alexellis RPi.GPIO provides basically all of the functionality of this library (PWM included) while also being maintained and compatible with the latest Raspberry Pis.

fchorney commented 8 years ago

Not necessarily. One example I can think of is that this lib allows you to set up an interrupt on any edge, and the function it calls actually passes in which edge the interrupt fired on, while in RPi.GPIO you can only choose up, down, or both, but on both it doesn't tell you which it triggered on.

alexellis commented 8 years ago

@chdsbd RPi.GPIO really does not match this library's key feature - which I would say is hardware PWM signals through DMA. Even the front page of "RPi.GPIO" states how this is only covered through software - so much less reliable and prone to jitter / higher CPU loads.

If PWM is not important to your projects, then one of the other libraries should be fine for your purposes.

chdsbd commented 8 years ago

@alexellis I have been using RPi.GPIO to trigger servos without issue, so software PWM is at least reliable enough to control servos. Maybe there would be issues controlling LEDs precisely.

DEvil0000 commented 8 years ago

RPi.GPIO is fine for simple things but for my use cases it is much to slow. I really need the DMA stuff so I will stick with this and fix what I need.

@chdsbd It is just not true to say RPi.GPIO provides the same features or performance.

rdagger commented 8 years ago

Agree that this library provides some useful features not found in others. I looked into fixing it a few months ago and it was not trivial. If I recall correctly, it wasn't a matter of just updating addresses. Fundamental changes related to Mailbox property interfaces were needed.

lurch commented 8 years ago

Even without adding PWM support for the Pi2 / Pi3, it would be great if the version of RPIO on pypy could be updated to support B+ / A+ / PiZero 'out of the box' without having to manually patch the code (see #35).

lurch commented 8 years ago

For anybody looking for accurate PWM, there's also the http://abyz.co.uk/rpi/pigpio/ project, which does work on Pi2 / Pi3 / etc.

JennaSys commented 8 years ago

RPIO is a great clean pythonic library, but without it being maintained for the newer versions of the RasPi it doesn't do much good. I've since moved on to using pigpio which is very full featured. That one requires you to run a daemon on the RasPi, but doing so also lets you do remote calls, making it possible to develop code on another dev machine (like a laptop) while still allowing your code to access the GPIO port on a RasPi.

metachris commented 8 years ago

RPIO has been reactivated and support for Pi 0, 2 and 3 is coming: https://github.com/metachris/RPIO/tree/v2

If everything works, an update is coming to PyPi end of next week.

Thanks for the links and discussion here!

fchorney commented 8 years ago

Thats great to hear. Thanks for chiming in!

rdagger commented 8 years ago

Very cool. Look forward to trying it. Thanks.

lurch commented 8 years ago

That's great news @metachris :-) As you may or may not be aware, GpioZero also provides an (optional) wrapper for RPIO, and the initial plans for the next v1.3 release of GpioZero are now being formed... https://github.com/RPi-Distro/python-gpiozero/issues/350

metachris commented 8 years ago

Thank you for the information! I was not aware that GpioZero has an optional wrapper for RPIO. I'm definitely open for ideas on how to move RPIO forward.

rdagger commented 8 years ago

Just tested 2.0.0-beta1 on Raspberry Pi 3 and PWM is working. Great job. Thanks.

lurch commented 8 years ago

If everything works, an update is coming to PyPi end of next week.

@metachris it looks like this project has stalled again? :-(

TafThorne commented 7 years ago

The testing here looks like it would help verify #82.

@lurch The current maintainer (@metachris) has said that he does not have a lot of time to give to RPIO at the moment. He seems happy to give more people write access to the project if they would like to help with keeping it active. See pull request #82 for details.