Log of "Trying to add dragging Diff Pair"

I’m working on drawing a SoC board with KiCAD, but I find KiCAD does not support dragging a differential pair, so I cloned KiCAD source code to see if I can add it.

I found the dev docs and video, but the dev docs are too simple and not a source code walk through, and the content of video was a bit older (5.x) than latest (7.0) source code

So I have to read through source code directly.

IMO, I can learn from drag tool and tune diff pair tool.

I think I can add a DRAG_MODE in pns_router.h
add static TOOL_ACTION routerDragDiffPair; in pcb_actions.h

I think I can copy most part of length_tuner_tool, but need to change some in pns_router.cpp

I’m happy to hear that you are interested in helping the development of KiCad.

I’ll caution you that jumping into development by building a complex feature like dp dragging is extremely difficult. Not because you lack the C++ chops but rather because there are many, many elements of KiCad development that are not readily apparent in the source code. We typically encourage new contributors to start by fixing a bug or two in the area that they want to work first. This will both help to familiarize you with the KiCad codebase and introduce you to the rest of the team with whom you want to work.

You can find a number of good ideas here: Issues · KiCad / KiCad Source Code / kicad · GitLab

Most of the developers also do not read the forum regularly. If you are planning to do any serious development on KiCad that you’d like integrated into the codebase, please send an e-mail to the developer’s mailing list. You can outline what you want to achieve and give a plan for how you intend to do it.

Of course if you are just planning on doing this on your own and don’t want to merge the code back to KiCad, feel free to disregard this message.

One last item: The development team is pretty friendly and we work very hard to encourage new developers. Please post comments and question in any of the issues on GitLab that you are working on and we’ll help you be as successful as we can!

Thanks for your tips!

I have repost to dev list mailing list

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.