Code Monkey home page Code Monkey logo

Comments (10)

andrasfuchs avatar andrasfuchs commented on June 8, 2024 1

@lucasdietrich It's no wonder you didn't realize that that's the reason why the layers are disabled, our UI isn't obvious at all. Sorry about that, I have just added a tooltip for the disabled layers, explaining that power layers are disabled for routing.

@iveyj1 Thank you, but no need, I will rename this issue now and will investigate it in the next few weeks.

from freerouting.

iveyj1 avatar iveyj1 commented on June 8, 2024

I am having a similar problem - no vias, no traces added to backplane, no power plane use, incomplete routing on a small board that should route completely. On the smaller board there is no back plane trace use, but on a larger board, back traces are used, but there are still no connections to the ground or power plane, and many ground and power plane connections are not made. Some signals other than ground and power are also not routed.

Windows 10, freerouting version 1.9.0 There was no improvement when I tried exporting dsn and running freerouting from the command line. Dsn available on request. Thank you.

from freerouting.

andrasfuchs avatar andrasfuchs commented on June 8, 2024

I quickly looked into your DSN file and I think the reason is that your B.Cu layer is defined as "power" type.
Freerouting allows routing only on "signal" types.

Would you expect another behavior? If yes, could you help me find the definition for the signal and power layer types and explain the difference between the two? Should the routing algorithm act differently on these layers?

from freerouting.

iveyj1 avatar iveyj1 commented on June 8, 2024

I was mistaken about my symptoms, there is not a problem with the bottom layer, it is with the power planes. I confirmed that the middle two layers of the board are marked for power.

Using Kicad 8 integration.

I hacked in version 1.7.0 by copying to the plugins directory. It routes as expected - only a few missing traces:

freerouting 1 7

With the identical project, using version 1.9.0 most or all plane connections are missed:

freerouting 1 9 route and DRC window

I couldn't find the .ses and .dsn used by the integration, but I attached a separately-exported .dsn file. If you let me know the location of the files used by the integration I can pass them on.

example dsn.zip

from freerouting.

iveyj1 avatar iveyj1 commented on June 8, 2024

To answer your question, There should not be traces on a power plane (as they disrupt current flow through the plane), but there should be via connections. See for example U302 (the topmost 4-pin component on the board) The center two pins are ground and +3.3V.
Here is the way it should be (1.7.0 behavior), with +3.3 and ground connected through vias to the center planes.
image
And here with those connections left as airwires (1.9.0 behavior).
image

By the way, the only routing parameter I changed was to reduce the via cost from 50 to 5.

from freerouting.

lucasdietrich avatar lucasdietrich commented on June 8, 2024

I quickly looked into your DSN file and I think the reason is that your B.Cu layer is defined as "power" type.
Freerouting allows routing only on "signal" types.

@andrasfuchs You are correct, I mistakenly misconfigured by bottom layer as a power plane. After changing it to "signal", I was able to auto route both sides as expected.

This addresses my initial question, however @iveyj1 seems to have pointed out another issue. Should I keep the issue open ?

from freerouting.

iveyj1 avatar iveyj1 commented on June 8, 2024

from freerouting.

andrasfuchs avatar andrasfuchs commented on June 8, 2024

@iveyj1 I tried to open the file you provided, and I got an error regarding ascii characters. I dig deeper, and it looks like KiCad 8 exported the DSN with an error at line 1844.

(class kicad_default "" +5V +Vin_prot "/0-10_interface/0-10V_PWM_OUT_#1"

The double-quotes at the beginning of the net class definition is incorrectly would mean that there is a net with the name of "". There isn't in the DSN and reading the list of nets fail.

When I remove the "" from before the +5V, it loads correctly, and I think Freerouting can also wire the board as it should.

Could you test it yourself as well to make sure?

from freerouting.

iveyj1 avatar iveyj1 commented on June 8, 2024

It seems to load, route, and complete, however the connections to the planes are still not made.

By the way, it appears I inadvertently attached a DSN file that had already been correctly routed (presumably by an earlier version of freerouting). That one already has the correct connections to the plane. Sorry for the confusion.

I'm not 100% sure I'm invoking freerouting correctly. What I did to test was:
In Kicad 8 PCB, delete traces and vias
Export DSN file
Delete the "" in line 1844 of the DSN
In the plugin directory run:
C:\Users\ivey\Documents\KiCad\8.0\3rdparty\plugins\app_freerouting_kicad-plugin\jar>java -jar freerouting-1.9.0.jar
Then in freerouting, open the modified DSN file and start routing (I'm not sure how to properly invoke to open the file directly).
image
The +3.3 and ground traces are not connected.

from freerouting.

iveyj1 avatar iveyj1 commented on June 8, 2024

I made a much smaller example from scratch using default settings and get the same results. The extra quotes are present, however removing them does not cause correct routing.

This is the result from 1.8.0 and is routed correctly:
min_fr_test_1 8 0_routed

This is the result from 1.9.0 with the quotes removed - ground not routed even though ground plane is available.
min_fr_test_1 9 0_no_quotes_routed

I attached the relevant files, thanks for your help with this.
min_fr_test.zip

from freerouting.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.