Pin mapping, import & export via .csv

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
DaEr_349131
Level 5
Level 5
25 likes received 50 sign-ins 5 comments on KBA

Is there a way or could we get this implemented in psoc creator in the near future?

i.e.

- export a .csv with the current pin-configuration [name, pin/port, ..]

- import back a .csv with an updated pin map

Ultimately this operation should be scriptable / being able to run it as a command line utility completely detached from psoc-creator.

I'd also like to request the peripheral & pin-map source information to be available for all cpu's in a .csv or .yaml format.

that is, the same info that is shown in the "Pins view" in psoc creator, showing if a peripheral can be assigned to a certain pin.

This would greatly improve the workflow as we could write our own utility scripts.

Working with for example Altium, you have a very smart workflow to enable optimal pin-mapping vs layout, see this link:

FPGA Pin Mapper Quick Guide | Online Documentation for Altium Products

best David

0 Likes
1 Solution
AnkitaS_51
Employee
Employee
100 likes received 50 likes received 25 likes received

export/import pinout allocation to CSV feature in creator enhancement request is already present.I can't comment on its timeline for implementation.

View solution in original post

10 Replies
AnkitaS_51
Employee
Employee
100 likes received 50 likes received 25 likes received

export/import pinout allocation to CSV feature in creator enhancement request is already present.I can't comment on its timeline for implementation.

Great to hear that!

In the meantime,

  • Is there an api or command line tool to directly access the pins and/or project configuration !?
  • Which of the project files contains the pin config and pinmux(able) information?
  • Is the format of the project files documented somewhere so that we could write a script to extract the needed information directly from the creator source files?
0 Likes

I am not sure how much this will be useful, but there is SVD file inside .cydsn folder which has all the component used details.

RPT file have the pin details under section "Pin Listing"

0 Likes

@anks thanks!

Let's say I make a script that parses this and push back the pin-swaps needed.

Can you help tell which file(s) are actually read by the project / psoc creator so the changes would be pushed back!?

0 Likes

Hi Ankita,

Just checking in if this has been implemented?

0 Likes

Bump.

I have two projects that differ only by board form factor, hence the Cyp chip pinout is different.  Trying to avoid having two different projects and two different version control repos.

0 Likes
JobinT_31
Employee
Employee
50 solutions authored 25 solutions authored 10 solutions authored

You can try using the control file for forcing the pin assignment. PSoC Creator Help -> Control File.

Thanks

Jobin GT

0 Likes

Interesting! Didn't know about this feature. This prevents us from using the pin-editor completely though.

We could potentially

- use creator to setup all pins

- build

- run a script that parses the .rpt file

- create a control file

- build again

- done...

But I'd rather push back the pin-swap changes to the project-file, just need your help to tell me exactly which file is the source for the "Pins editor"

THX!

0 Likes
JobinT_31
Employee
Employee
50 solutions authored 25 solutions authored 10 solutions authored

CYDWR file contains the pin selection details. Which is not easily readable and modifying this file directly can cause the project to break. So we will not be able to assist in using the CYDWR file outside PSoC Creator, this is not supported.

Thanks

Jobin GT

0 Likes

thanks! looks fairly straight forward.

<Group key="Pin">

      <Data key="0b60b5dd-0505-492e-9593-872bd6170b72" value="MY_BUTTON" />

references port and pin, so should be safe to use this as the transport.

only thing is that we would have to close the project in between.

<Group key="0b60b5dd-0505-492e-9593-872bd6170b72">

      <Group key="0">

        <Data key="Port Format" value="5,7" />

0 Likes