I can’t seem to find any information about which of the 160 PortentaH7 pins are being used by the PortentaVisionShield. If I would like to connect the Portenta with some actuators it would be good to know which PINS are in use and which are available.
This Github configuration file seems to have some of the information but it has not been organized in a useful way for this situation. Are their more pins in use at the moment, are possibly more pins going to be used for Ethernet and the Microphones. Any opinions? Is there a general plan of pins to use and pins to not use. I assume these pins are hardwired so it is fairly important to know what they are wired too.
Any pin defines on the left hand of the column can be named in a string with a MicroPython pin object and it will work.
Arduino hasn’t directed us to work on Servo, Timer, etc. control yet. So, nothing is specially wrapped. However, if you are talking to a processor pin via the processor pin name like PA0 it should be fine. The multi-functions on pins should work.
I’d say everything but the ADC and PWM are well supported with the current MicroPython library. For PWM that’s done via timers. So, you’ll need to grab the processor datasheet here: https://www.st.com/resource/en/datasheet/stm32h743bi.pdf
And see what pins have timers on them and what timer channel is on that pin. PWM in MicroPython works by you picking a free timer, then setting one of the 4 outputs of a timer (which are mapped to a pin) to be enabled. Our PWM examples show this. Similarly, if you want quadrature encoder support it works the same way.
Regarding the ADC… OpenMV has only had one ADC pin ever, the MicroPython library technically supports more channels, but, I don’t know what the state of this is on the Portenta.