MXP Expansion Pins

I was looking at the docs for the MXP expansion port, and see that some of the pins are labelled for multiple functions.

For example, pin 31 is labelled “DIO 10/PWM 6”. I imagine it can be used as either a PWM or DIO, but what determines which it is?

Where is the reference for how to map Roborio channels to the MXP expansion pins?

Try this page:

http://www.pdocs.kauailabs.com/navx-mxp/installation/io-expansion/

Missed that one; was working off the MXP pinouts. Thanks!

If I do a “new DigitalInput(10)” in my Java code, Navx/MXP port 0 functions as a DIO, and if I do a “new Talon(10)” in the code, if functions as a PWM, and if I do both, I will have a bad debugging session?

I was wondering about a pin being either a DIO, PWM, or SPI/I2C, but I missed the break in numbering in the DIOs; a pin that can be used as a DIO can be also be used as only one of PWM/I2C/SPI, and can only be used as one of those functions (a DIO or the altenative…)

https://github.com/kauailabs/navxmxp/blob/master/roborio/java/navXMXP_ExpansionIO/src/org/usfirst/frc/team2465/robot/Robot.java also helps.