dbrgn / RPLCD

A Raspberry Pi LCD library for the widely used Hitachi HD44780 controller, written in Python. GPIO (parallel) and I²C modes supported.
https://rplcd.readthedocs.io/en/latest/
MIT License
261 stars 72 forks source link

Add support for busio and digitalio #134

Closed DJ-Dingo closed 1 year ago

DJ-Dingo commented 1 year ago

"Dear RPLCD maintainers,

I want to express my gratitude for the excellent work you have done with the RPLCD library. It has been my go-to choice for controlling LCD modules, both with GPIO (parallel) communication and I2C using an I²C port expander PCF8574. The library has provided stability and reliability for my projects over the years.

Recently, I encountered some limitations due to the number of peripherals connected to my Raspberry Pi. To overcome this, I have started transitioning some of my components to a Raspberry Pi Pico board, utilizing the "u2if firmware". This allows me to connect more devices to my Pi3 project via USB and leverage the Blinka u2if environment in my Python code.

However, to fully utilize the capabilities of the Raspberry Pi Pico board, I2c and GPIO pins, it require support for the busio and digitalio modules in the RPLCD library. The existing options like SMbus, SMbus2, and RPi.GPIO do not meet the specific requirements when using etc. a Pico board with u2if firmware on it.

I kindly request if it would be possible to add support for the busio and digitalio modules in the RPLCD library. This addition would greatly enhance the compatibility and flexibility of the library, allowing users like me to seamlessly also use projects for platforms such as Raspberry Pi Pico board, with for example "u2if firmware" on it.

Thank you once again for your outstanding work. I appreciate your consideration of this request and look forward to any updates or insights you may have regarding this future in the library.

Best regards, Kenneth

dbrgn commented 1 year ago

Hi Kenneth. Thanks for the nice words!

Are you aware of the pigpio integration (http://abyz.me.uk/rpi/pigpio/)? Maybe that has some of the features you need? (The integration was contributed, I don't have any experience with it.) From your description, probably not.

Regarding new integrations: I maintain this project passively and don't plan to add any new major features. If you want support for a new backend, then you'd need to write the integration yourself. If the integration is very simple and doesn't add any maintenance burden, I might consider merging it, but otherwise a fork would probably be the way to go.

DJ-Dingo commented 1 year ago

Okay thanks @dbrgn, i understand. I will take a look at it myself when i get some time, if i come up with something usefull i let you know. I will also check out the pigpio library thx.

Kenneth