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

The run report (doc 18 D3, D136): the sections of the route summary that a designer needs to audit a run and that the plain summary does not carry: which rules were read and which were not, and the DRC of the board before and after the route. More...

#include <string>
#include <vector>
#include <nlohmann/json.hpp>
#include "model/board.hpp"
#include "model/rules.hpp"

Go to the source code of this file.

Namespaces

namespace  tmk
namespace  tmk::report

Functions

nlohmann::json tmk::report::rules_json (const std::string &board_path, const model::Board &board, const model::DesignRules &rules, const std::vector< std::string > &engine_warnings)
 What the router took from the board's project (board_path names the .kicad_pcb; the .kicad_pro and .kicad_dru are looked for beside it as io::read_design_rules does): board minimums, net classes with their net counts, custom rules, and everything that could not be read (rules.warnings, the rule engine's engine_warnings and the board reader's board.warnings).
nlohmann::json tmk::report::drc_json (const model::Board &before, const model::Board &after, const model::DesignRules &rules, bool refill)
 TraceMaker's DRC (KiCad's violation names, doc 03 ยง6) of the board the router started from and of the board it wrote, by violation type, with what the route added.
bool tmk::report::routing_violation (const std::string &type)
 True for violation types that routing can cause (bench/drc_judge.py NOT_ROUTING lists the others; unconnected items are counted on their own).

Detailed Description

The run report (doc 18 D3, D136): the sections of the route summary that a designer needs to audit a run and that the plain summary does not carry: which rules were read and which were not, and the DRC of the board before and after the route.

The report file itself is rendered from the summary alone (report/render.hpp), so every number in it is a field of the JSON.

Definition in file run_report.hpp.