|
TraceMaker
C++ API of the engine
|
Why connections stay open on a routed board (M20 C5, doc 05 §55): each open connection is classified by what has to change for the router to route it. More...
#include <cstdint>#include <string>#include <nlohmann/json.hpp>Go to the source code of this file.
Classes | |
| struct | tmk::app::CausesOptions |
Namespaces | |
| namespace | tmk |
| namespace | tmk::app |
Functions | |
| nlohmann::json | tmk::app::classify_open_connections (const std::string &board, const CausesOptions &opt, bool print) |
| Classifies the open connections of board and returns the report (also printed as a table when print). | |
Why connections stay open on a routed board (M20 C5, doc 05 §55): each open connection is classified by what has to change for the router to route it.
The router is run again on copies of the board, its copper locked, with other nets' copper taken away: near the connection's ends only the nets that pass through (no pad on an end's part), then all of it near the ends, then all of it away from them, then everywhere. The first copy on which the connection routes names the cause; one on which it never routes is "no_path_bare". A pin that cannot leave its package under the rules on the bare board (route/escape.hpp) is "pin_cannot_escape", without a run.
Definition in file causes.hpp.