TraceMaker
C++ API of the engine
Loading...
Searching...
No Matches
route_job.hpp File Reference

One tracemaker route run as a reusable function, shared by the CLI (src/app/main.cpp) and the Python bindings (bindings/), so both take exactly the same code path (design doc 08 §5). More...

#include <functional>
#include <string>
#include <nlohmann/json.hpp>
#include "analysis/footprint_check.hpp"
#include "analysis/return_path.hpp"
#include "route/bus.hpp"
#include "route/router.hpp"

Go to the source code of this file.

Classes

struct  tmk::app::RouteJob
struct  tmk::app::RouteJobResult

Namespaces

namespace  tmk
namespace  tmk::app

Functions

RouteJobResult tmk::app::run_route_job (RouteJob job)
 Reads the board and its rules, routes (a portfolio when more than one variant runs), writes the requested outputs.
std::vector< route::BusGroup > tmk::app::resolve_buses (const model::Board &b, const model::DesignRules &rules, const std::vector< std::string > &specs, bool detect, double skew_mm, std::vector< std::string > *notes=nullptr)
 Buses (doc 05 §38): the groups specs ("NAME=PATTERN") name on the board, then, with detect, the groups found in the net names that share no net with an earlier group.
nlohmann::json tmk::app::bus_report (const model::Board &b, const model::DesignRules &rules, const std::vector< std::uint8_t > &joined, const route::BusGroup &g, std::string *line=nullptr)
 A group measured on the copper of b (joined: route::nets_joined of the same board), as the JSON object of the route summary's buses array and of tracemaker buses --json; line, if given, gets the one-line text form.
int tmk::app::default_gpu_device (bool use_gpu)
 The GPU device used for cost-to-go fields: the first listed device, or -1 (none, or use_gpu false).

Detailed Description

One tracemaker route run as a reusable function, shared by the CLI (src/app/main.cpp) and the Python bindings (bindings/), so both take exactly the same code path (design doc 08 §5).

Definition in file route_job.hpp.