Maybe you have an idea to solve my current problem. I just faced it.
I need 5 digital pins for different sensors (dht22, ds18b20…). 2 digital pins (d0, d1) for I2C communication. So for, we have covered D0-D6.
I also have a SPI screen, following library (and the way I connected it) I have covered from A0 to A5:
A0: RESET
A1: DC/RS
A2: CS
A3: SCK
A4: SDO/MISO
A5: SDI/MOSI
Apart from those pins, I need 4 buttons. I have tested them with 4 digital pins as inputs so I can read the value of each one. But as I see the photon, there is just one free pin, D7. Is it possible to use this pin as analog input? So I can use different resistors for each of my buttons and read the current value to determine the button pressed.
I also see ADC pin but it seems to be just an output pin, is this correct? Could I use for my “1 pin-4 buttons” idea?
Any IC which could have 4 inputs (or more) and provide a digital output in one pin with the button pressed? I guess I just could have 2 possible values in one output but not sure about this.
I have a pca9685 in my I2C port. I have some free outputs there, (6 or so). I think I could modify the tft library so reset and cs pins fo through this IC instead of an analaog pin. What is the use of DC/RS? Could I do the same?
I see those 3 pins are used in pinResetFast and pinSetFast functions (core functions?). I don’t see their code to know what to do here.