the physical pin is identified by the enum FUNC_GPIOHS3 instead of the first argument to fpioa_set_function. That enum is limited to FUNC_GPIOHS0 - FUNC_GPIOHS31, so pins 32-35 are unusable.
My expectation for how this would work is that the following would turn on pin 35:
Make sure you read and understand this document. Use one of the two templates below and delete the rest.
[ ] BUG REPORT
Expected behavior
We should be able to use all physical pins as GPIOHS pins
Actual behavior
As it stands, only pins 0-31 can be used as GPIOHS. This is because, for whatever reason, in the following code:
the physical pin is identified by the enum
FUNC_GPIOHS3
instead of the first argument tofpioa_set_function
. That enum is limited toFUNC_GPIOHS0
-FUNC_GPIOHS31
, so pins 32-35 are unusable.My expectation for how this would work is that the following would turn on pin 35:
This behavior would allow setting any 32 hardware pins to GPIOHS at a time. Is there a hardware limitation as to why physical pins > 31 can't be used?
Document version
Standalone SDK version 0.5.6
Hardware
Sipeed MAiX BiT
System
What system do you use? Arch Linux, running PlatformIO 4.3.4 with the standalone SDK version 0.5.6