ZPUino default external Arduino-style GPIO pin-mapping


Recommended Posts


Reading the documentation, there's a strong implication that there is some sort of default pin-mapping for GPIO pin operations (bare papilio pins) which is not specifically related to installed Wishbone peripherals. Where is it documented for each board?

The ZPUino tech manual talks about redirecting input and output from slot peripherals to GPIO pins. That's fine, but then it talks about this:

[4.1.4 Software GPIO pins should be manipulated using the Arduino-like functions digitalW rite(), digitalRead() and pinMode().

Additionaly GPIO can be bound to devices using PPS (Peripheral Pin Select). You can also use the following "C" macros if needed. Each pin block is 32-bit wide:

GPIODATA(x) GPIODATA for pin block x GPIOTRIS(x) GPIOTRIS for pin block x]

Short of writing a sketch which "pings" all of the Papilio's Arduino-style pins from inside a sketch (1-128?) and possibly crashing something, is there any way to do this on a default "naked" ZPUino?

So, the real questions is, on a pro, one, duo, etc, running a ZPUino, when I set pin X to output and do a digitalWrite() to that pin, where does it come out, and how do I find that out?

I know that I can tie a <wishbone to registers x 10> library symbol to my ZPUino in ISE, connect those registers to the outside, and maybe do my own WB_digitalWrite() function for it but making the very same physical Papilio pin both an input and an output using that part would need a tristate buffer or latch hung onto the side of it, and a way to control that in code the way Arduino GPIO does.

EDIT: I also see a few examples that re-map the pins, i.e. the MegaWing_Logistart example, and the Flex_Pins example, but is there a default mapping if someone simply starts bit-bashing Arduino I/O lines?

EDIT: Answered my own question...They're in the ZPUino header files \\hardware\zpuino\zpu20\cores\zpuino\board_<something>.h one for each product, for anyone looking for the definitions.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.