I ran into the same problem when testing my Internet Radio software on a RPi Model 5. This is because the RPi Model 5 now has a separate chip called RP1 for controlling I/O including the pins on the GPIO header (j8). This means that hundreds of thousands of programs or maybe even millions of programs need to be modified to use one of the newer libraries such as gpiod or lgpio. The RP1 chip also controls USB ports, Gigabyte Ethernet, MIPI Camera Controllers and Low Speed Peripherals compatible with earlier versions of the Raspberry Pi.
My own product also Raspberry Pi Internet Radio is such a program and would have meant a lot of work to convert all the GPIO routines to say GPIOD which does run on the RPi Model 5. So, I decided to write a simple interface called GPIOconverter which converts RPi GPIO calls to one of the newer GPIO interfaces. GPIOD was advocated as the best way forward however I found that GPIOD was poorly documented and there didn’t seem to be any examples of how to handle interrupts. I eventually settled on using the excellent python3-lgpio library for the GPIOconverter software. The architecture of the interface is shown below:
OUTPUT: User Program --> GPIO calls --> GPIOconverter --> LGPIO
INPUT: LGPIO events --> GPIOconverter --> User Program
You can find GPIO converter at https://bobrathbone.com/raspberrypi/gpio_converter.html
I cannot guarantee that it will work for all RPI.GPIO software out there but it is probably worth a try. It is free and licensed under GPL.
My own product also Raspberry Pi Internet Radio is such a program and would have meant a lot of work to convert all the GPIO routines to say GPIOD which does run on the RPi Model 5. So, I decided to write a simple interface called GPIOconverter which converts RPi GPIO calls to one of the newer GPIO interfaces. GPIOD was advocated as the best way forward however I found that GPIOD was poorly documented and there didn’t seem to be any examples of how to handle interrupts. I eventually settled on using the excellent python3-lgpio library for the GPIOconverter software. The architecture of the interface is shown below:
OUTPUT: User Program --> GPIO calls --> GPIOconverter --> LGPIO
INPUT: LGPIO events --> GPIOconverter --> User Program
You can find GPIO converter at https://bobrathbone.com/raspberrypi/gpio_converter.html
I cannot guarantee that it will work for all RPI.GPIO software out there but it is probably worth a try. It is free and licensed under GPL.
Statistics: Posted by bobrathbone — Thu Jan 04, 2024 10:29 am