TraceMaker
C++ API of the engine
Loading...
Searching...
No Matches
tmk::report Namespace Reference

Enumerations

enum class  Format { Html , Markdown }

Functions

Format format_for_path (const std::string &path)
 Markdown for a path ending in .md or .markdown, else HTML.
std::string value_text (const nlohmann::json &v)
 A JSON value as the report prints it: integers as they are, other numbers to three decimals without trailing zeros, true/false as yes/no, null as n/a, strings as they are.
std::string render (const nlohmann::json &summary, Format format, const std::string &json_name)
 The report of summary. json_name is the summary file the report points at for its sources (shown as written).
nlohmann::json 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 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 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).

Enumeration Type Documentation

◆ Format

enum class tmk::report::Format
strong
Enumerator
Html 
Markdown 

Definition at line 12 of file render.hpp.

Function Documentation

◆ drc_json()

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.

With refill the copper zones of both are refilled first, as kicad-cli pcb drc --refill-zones does (the plane tier is judged that way, doc 10 §4). Counts per type, not the instance matching of bench/drc_judge.py: a type whose count did not grow may still hold a new violation that replaced an old one.

◆ format_for_path()

Format tmk::report::format_for_path ( const std::string & path)

Markdown for a path ending in .md or .markdown, else HTML.

◆ render()

std::string tmk::report::render ( const nlohmann::json & summary,
Format format,
const std::string & json_name )

The report of summary. json_name is the summary file the report points at for its sources (shown as written).

◆ routing_violation()

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).

◆ rules_json()

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).

Rule 6: what is in not_read the route may break.

◆ value_text()

std::string tmk::report::value_text ( const nlohmann::json & v)

A JSON value as the report prints it: integers as they are, other numbers to three decimals without trailing zeros, true/false as yes/no, null as n/a, strings as they are.