Recently I've been very busy with distributed MRL. But Ray has been having some issues with the RasPi, so I thought I'd do a little work in this area. This is what I currently have working on my local Nixie.
The UI is not fully functional, but the pins are being drawn dynamically based on mrl querying the type of raspi found. So all 32 pin (0 - 31) show up for my RaspberryPi_3B. Some pins also are getting drawn with digital/analog options. It would be nice if Astro & Ray could construct a UI that is better than what I can come up with. I don't think it will take much to make the button operational.
Also Ray said he was having problems with resources using Nixie. Alot has changed.
For my local Nixie I don't need the xwindows desktop, I start it all up in ssh. I don't use the swing ui at all either.
Some feed back :-)
I like the general look of the page in the image above.
Not currently in the latest version availableon this page at the time of writing, and the Alpha version wasn't worky, Just a blank page...
So based on the image above, here are my sugestions.
Some of the GPIO pins have multiple functions like the Arduino.
Pins like GPIO 2 and GPIO 3 are used for the I2C bus 1.
When we connect to these pins with an I2C service, it might be wise to disable these pins from being selected in the interface.
The same would apply to GPIO 9, 10, 11 for any service using the SPI interface, along with GPIO 8 and possible 7 if 2 devices are used..
GPIO pins 0 and 1 are the I2C bus 0, normally used for an SD card/EEPROM.
Currently there are no service in MRL that use the I2S bus on GPIO pins 18, 19, 20 and 21.
Not sure if it's possible to detect is the I2S bus is in use or not, but might be something to look at, You definatly don't want to play with those if your using the I2S bus, could be very noisy :-)
There is a Serial Service in MRL, I haven't played withthat yet, but the hardware serial on the Raspi is on GPIO pins 14 and 15.
To be honnest I didn't think any of the GPIO pins on the Raspi supported analog.
Your image showing GPIO 1 with an analog function suprises me as I was under the impression that was the ID_SC or I2C clock on Bus 0 for the EEPROM/SD card.
At least in the Doc, we should remind users, the pins on the Raspi, all models, are only 3.3V tollerant, so don't send a 5V signal to em unless you want a toasty pi :-)
Ray
GPIO pins 18 to 21
I saw your comment to the pins:
GPIO18 = pin 12 = BCM18 = PWM0 = PCM_CLK
GPIO19 = pin 35 = BCM19 = PCM_FS hardware driven
GPIO20 = pin 38 = BCM20 = SPI0_MOSI
GPIO21 = pin 40 = BCM21 = PWM0
These pins where used in my case for two device: my PCA-Controller AND my soundcard MiniAMP.
Therefore I have the problem in the future to configure other pins with the same functionality. In my case also:
GPIO2 = pin3 = BCM2 = SDA1 hardware driven ; Data
GPIO3 = pin5 = BCM3 = SCL1 hardware driven ; Clock
these pins are used by the soundcard. So from the 34 pins (from 40) are 22 pins real free for new programming. Ofcourse I use a breadboard to do so.
If you think about to "play" with pins for MRL, please notice my comment.