GPIO Multiplexing

I am having trouble figuring out how gpio.h maps to the GPIO pins in the hardware references documentation. There is no documentation that I have found that shows how gpio.h primary path, alternate paths, etc., maps to the modes described in the hardware reference.

I keep getting conflicts using gpio.h. For example, I am trying to use timer9 as an extended function PWM output, and use the quadrature decoder. However I get the following error message:

Compiling ./devices/ns9xxx/ns9215/gpio/gpio.c
./devices/ns9xxx/ns9215/gpio/gpio.c:1152:6: error: #error GPIO pin 13 has been configured for more than one function.
./devices/ns9xxx/ns9215/gpio/gpio.c:1153:6: error: #error (BSP_GPIO_MUX_QDC == BSP_GPIO_MUX_USE_PRIMARY_PATH) and (BSP_GPIO_MUX_TIMER_9_OUTPUT == BSP_GPIO_MUX_USE_PRIMARY_PATH) cannot both be true in gpio.h.
./devices/ns9xxx/ns9215/gpio/gpio.c:1168:1: warning: “PIN_13_CONFIG” redefined

But pin 13 is not used for timer 9.


I thought that GPIO pins 94 and 95 would be the primary quadrature pins, and timer9 would be on GPIO pin 93.

I am using the ConnectCore Wi-9P 9215 with NetOS 7.4.

–Simon Desai

DRIVE Robotics Inc.
100 Aurora Ln,
Los Gatos, California, 95032
+1 408-859-4500