andrewdavidmackenzie / pigg

Raspberry Pi GPIO GUI
Apache License 2.0
200 stars 8 forks source link

Add support for additional interfaces on newer devices #49

Open andrewdavidmackenzie opened 5 months ago

andrewdavidmackenzie commented 5 months ago

In the docs, there are descriptions of additional features (e.g. SPI busses) added in newer devices (e.g. 4, 400). https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#serial-peripheral-interface-spi

So, we would need to have separate GPIO_DESCRIPTION for those devices.

Some detection of actual device in the hw specific code.

An ability to either manually switch the target device on the UI, or use the HW detection (above) to show the correct description, unlocking the additional functionality (e.g. additional SPI buses on Pi400).

andrewdavidmackenzie commented 5 months ago

E.g. see datasheet for Pi4 https://datasheets.raspberrypi.com/rpi4/raspberry-pi-4-datasheet.pdf

which has DPI display interface etc.

This might require the hw type detection and loading different Descriptions depending on hw type:

See: https://github.com/andrewdavidmackenzie/pigg/issues/50 and

andrewdavidmackenzie commented 1 week ago

This list of peripherals form the embassy code:

https://docs.rs/embassy-rp/latest/embassy_rp/struct.Peripherals.html

illustrates how a pin can exist as a standalone GPIO pin (say Physical Pin 1, GP0) or form part of a logical peripheral (UART0).