[Tests] Added sub-PCB test for PCB Variant and PcbDraw

This commit is contained in:
Salvador E. Tropea 2022-12-22 10:15:21 -03:00
parent 7aac98a239
commit 5ecbbc84fd
9 changed files with 10406 additions and 0 deletions

View File

@ -5,3 +5,4 @@ zone-refill.pro
fp-info-cache
*-bak
pcb_parity.xml
batteryPack.kicad_prl

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,439 @@
{
"board": {
"design_settings": {
"defaults": {
"board_outline_line_width": 0.19999999999999998,
"copper_line_width": 0.19999999999999998,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.09999999999999999,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.762,
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.12,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"45_degree_only": false,
"min_clearance": 1.0
}
},
"diff_pair_dimensions": [],
"drc_exclusions": [],
"meta": {
"filename": "board_design_settings.json",
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"copper_edge_clearance": "error",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint_type_mismatch": "error",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "ignore",
"padstack": "error",
"pth_inside_courtyard": "ignore",
"shorting_items": "error",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zone_has_empty_net": "error",
"zones_intersect": "error"
},
"rule_severitieslegacy_courtyards_overlap": true,
"rule_severitieslegacy_no_courtyard_defined": false,
"rules": {
"allow_blind_buried_vias": false,
"allow_microvias": false,
"max_error": 0.005,
"min_clearance": 0.0,
"min_copper_edge_clearance": 0.09999999999999999,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.09999999999999999,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.35,
"use_height_for_length_calcs": true
},
"track_widths": [
0.0,
0.3,
0.5,
2.0
],
"via_dimensions": [
{
"diameter": 0.0,
"drill": 0.0
},
{
"diameter": 0.8,
"drill": 0.4
},
{
"diameter": 1.4,
"drill": 0.8
}
],
"zones_allow_external_fillets": false,
"zones_use_no_outline": true
},
"layer_presets": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_label_syntax": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"similar_labels": "warning",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "batteryPack.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12.0,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6.0
}
],
"meta": {
"version": 2
},
"net_colors": null
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"drawing": {
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.25,
"pin_symbol_size": 0.0,
"text_offset_ratio": 0.08
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "",
"ngspice": {
"fix_include_paths": true,
"fix_passive_vals": false,
"meta": {
"version": 0
},
"model_mode": 0,
"workbook_filename": ""
},
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"866b5b99-f202-4624-b829-b8d6114498e7",
""
]
],
"text_variables": {}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,283 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="19.1mm" height="36.1mm" viewBox="149500.0 149500.0 191000.0 361000.0">
<title>Picture generated by PcbDraw </title>
<desc>Picture generated by PcbDraw</desc>
<defs><clipPath id="cut-off"><path d=" M 340000.000000 480000.000000 m-500.000000 0 a 500.000000 500.000000 0 1 0 1000.0 0 a 500.000000 500.000000 0 1 0 -1000.0 0 M 150000.0 180000.0 A 30000 30000 0 0 1 178480.520255 150038.505022 L 180000.0 150000.0 L 310000.0 150000.0 A 30000 30000 0 0 1 339961.494952 178480.519749 L 340000.0 180000.0 L 340000.0 480000.0 A 30000 30000 0 0 1 311519.470277 509961.495458 L 310000.0 510000.0 L 180000.0 510000.0 A 30000 30000 0 0 1 150038.504516 481519.469771 L 150000.0 480000.0 L 150000.0 180000.0 " style="fill-rule: evenodd;"/></clipPath><mask id="pads-mask"><g style="fill:#ffffff; fill-opacity:0.0; stroke:#ffffff; stroke-width:0.000000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">
<g style="fill:#ffffff; fill-opacity:1.0; stroke:#ffffff; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">
<circle cx="270000.000000" cy="190000.000000" r="16510.000000"/>
</g>
<g style="fill:#ffffff; fill-opacity:1.0; stroke:#ffffff; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">
<circle cx="180000.000000" cy="360000.000000" r="20510.000000"/>
</g>
<g style="fill:#ffffff; fill-opacity:1.0; stroke:#ffffff; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">
<circle cx="270000.000000" cy="470000.000000" r="16510.000000"/>
</g>
<g style="fill:#ffffff; fill-opacity:1.0; stroke:#ffffff; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">
<circle cx="180000.000000" cy="300000.000000" r="20510.000000"/>
</g>
<g style="fill:#ffffff; fill-opacity:1.0; stroke:#ffffff; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">
<path style="fill:#ffffff; fill-opacity:1.0; stroke:#ffffff; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;fill-rule:evenodd;" d="M 267500.000000,398010.000000 267304.830000,397971.180000 267139.380000,397860.620000 267028.820000,397695.170000 266990.000000,397500.000000 266990.000000,367500.000000 267028.820000,367304.830000 267139.380000,367139.380000 267304.830000,367028.820000 267500.000000,366990.000000 327500.000000,366990.000000 327695.170000,367028.820000 327860.620000,367139.380000 327971.180000,367304.830000 328010.000000,367500.000000 328010.000000,397500.000000 327971.180000,397695.170000 327860.620000,397860.620000 327695.170000,397971.180000 327500.000000,398010.000000 Z"/>
<path style="fill:#ffffff; fill-opacity:1.0; stroke:#ffffff; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;fill-rule:evenodd;" d="M 267500.000000,347210.000000 267304.830000,347171.180000 267139.380000,347060.620000 267028.820000,346895.170000 266990.000000,346700.000000 266990.000000,316700.000000 267028.820000,316504.830000 267139.380000,316339.380000 267304.830000,316228.820000 267500.000000,316190.000000 327500.000000,316190.000000 327695.170000,316228.820000 327860.620000,316339.380000 327971.180000,316504.830000 328010.000000,316700.000000 328010.000000,346700.000000 327971.180000,346895.170000 327860.620000,347060.620000 327695.170000,347171.180000 327500.000000,347210.000000 Z"/>
<path style="fill:#ffffff; fill-opacity:1.0; stroke:#ffffff; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;fill-rule:evenodd;" d="M 267500.000000,296410.000000 267304.830000,296371.180000 267139.380000,296260.620000 267028.820000,296095.170000 266990.000000,295900.000000 266990.000000,265900.000000 267028.820000,265704.830000 267139.380000,265539.380000 267304.830000,265428.820000 267500.000000,265390.000000 327500.000000,265390.000000 327695.170000,265428.820000 327860.620000,265539.380000 327971.180000,265704.830000 328010.000000,265900.000000 328010.000000,295900.000000 327971.180000,296095.170000 327860.620000,296260.620000 327695.170000,296371.180000 327500.000000,296410.000000 Z"/>
</g>
<g style="fill:#ffffff; fill-opacity:1.0; stroke:#ffffff; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">
<circle cx="180000.000000" cy="430000.000000" r="20510.000000"/>
</g>
<g style="fill:#ffffff; fill-opacity:1.0; stroke:#ffffff; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">
<circle cx="180000.000000" cy="230000.000000" r="20510.000000"/>
</g>
</g>
</mask><mask id="pads-mask-silkscreen"><rect x="149500.0" y="149500.0" width="191000.0" height="361000.0" fill="white"/><g style="fill:#000000; fill-opacity:0.0; stroke:#000000; stroke-width:0.000000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">
<g style="fill:#000000; fill-opacity:1.0; stroke:#000000; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">
<circle cx="270000.000000" cy="190000.000000" r="16510.000000"/>
</g>
<g style="fill:#000000; fill-opacity:1.0; stroke:#000000; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">
<circle cx="180000.000000" cy="360000.000000" r="20510.000000"/>
</g>
<g style="fill:#000000; fill-opacity:1.0; stroke:#000000; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">
<circle cx="270000.000000" cy="470000.000000" r="16510.000000"/>
</g>
<g style="fill:#000000; fill-opacity:1.0; stroke:#000000; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">
<circle cx="180000.000000" cy="300000.000000" r="20510.000000"/>
</g>
<g style="fill:#000000; fill-opacity:1.0; stroke:#000000; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">
<path style="fill:#000000; fill-opacity:1.0; stroke:#000000; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;fill-rule:evenodd;" d="M 267500.000000,398010.000000 267304.830000,397971.180000 267139.380000,397860.620000 267028.820000,397695.170000 266990.000000,397500.000000 266990.000000,367500.000000 267028.820000,367304.830000 267139.380000,367139.380000 267304.830000,367028.820000 267500.000000,366990.000000 327500.000000,366990.000000 327695.170000,367028.820000 327860.620000,367139.380000 327971.180000,367304.830000 328010.000000,367500.000000 328010.000000,397500.000000 327971.180000,397695.170000 327860.620000,397860.620000 327695.170000,397971.180000 327500.000000,398010.000000 Z"/>
<path style="fill:#000000; fill-opacity:1.0; stroke:#000000; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;fill-rule:evenodd;" d="M 267500.000000,347210.000000 267304.830000,347171.180000 267139.380000,347060.620000 267028.820000,346895.170000 266990.000000,346700.000000 266990.000000,316700.000000 267028.820000,316504.830000 267139.380000,316339.380000 267304.830000,316228.820000 267500.000000,316190.000000 327500.000000,316190.000000 327695.170000,316228.820000 327860.620000,316339.380000 327971.180000,316504.830000 328010.000000,316700.000000 328010.000000,346700.000000 327971.180000,346895.170000 327860.620000,347060.620000 327695.170000,347171.180000 327500.000000,347210.000000 Z"/>
<path style="fill:#000000; fill-opacity:1.0; stroke:#000000; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;fill-rule:evenodd;" d="M 267500.000000,296410.000000 267304.830000,296371.180000 267139.380000,296260.620000 267028.820000,296095.170000 266990.000000,295900.000000 266990.000000,265900.000000 267028.820000,265704.830000 267139.380000,265539.380000 267304.830000,265428.820000 267500.000000,265390.000000 327500.000000,265390.000000 327695.170000,265428.820000 327860.620000,265539.380000 327971.180000,265704.830000 328010.000000,265900.000000 328010.000000,295900.000000 327971.180000,296095.170000 327860.620000,296260.620000 327695.170000,296371.180000 327500.000000,296410.000000 Z"/>
</g>
<g style="fill:#000000; fill-opacity:1.0; stroke:#000000; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">
<circle cx="180000.000000" cy="430000.000000" r="20510.000000"/>
</g>
<g style="fill:#000000; fill-opacity:1.0; stroke:#000000; stroke-width:0.010000; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">
<circle cx="180000.000000" cy="230000.000000" r="20510.000000"/>
</g>
</g>
</mask><mask id="hole-mask"><g><rect x="149500.0" y="149500.0" fill="white" width="191000.0" height="361000.0"/><polyline stroke-linecap="round" stroke="black" stroke-width="32000.0" points="-0.0 0 0.0 0" transform="translate(270000.0 190000.0) rotate(-0.0)"/><polyline stroke-linecap="round" stroke="black" stroke-width="25000.0" points="-0.0 0 0.0 0" transform="translate(180000.0 360000.0) rotate(-0.0)"/><polyline stroke-linecap="round" stroke="black" stroke-width="32000.0" points="-0.0 0 0.0 0" transform="translate(270000.0 470000.0) rotate(-0.0)"/><polyline stroke-linecap="round" stroke="black" stroke-width="25000.0" points="-0.0 0 0.0 0" transform="translate(180000.0 300000.0) rotate(-0.0)"/><polyline stroke-linecap="round" stroke="black" stroke-width="13000.0" points="-0.0 0 0.0 0" transform="translate(297500.0 382500.0) rotate(-90.0)"/><polyline stroke-linecap="round" stroke="black" stroke-width="13000.0" points="-0.0 0 0.0 0" transform="translate(297500.0 331700.0) rotate(-90.0)"/><polyline stroke-linecap="round" stroke="black" stroke-width="13000.0" points="-0.0 0 0.0 0" transform="translate(297500.0 280900.0) rotate(-90.0)"/><polyline stroke-linecap="round" stroke="black" stroke-width="25000.0" points="-0.0 0 0.0 0" transform="translate(180000.0 430000.0) rotate(-0.0)"/><polyline stroke-linecap="round" stroke="black" stroke-width="25000.0" points="-0.0 0 0.0 0" transform="translate(180000.0 230000.0) rotate(-0.0)"/></g></mask></defs><g transform="" id="boardContainer"><g id="substrate" clip-path="url(#cut-off)" mask="url(#hole-mask)"><g id="substrate-board" style="fill:#00406a; stroke:#00406a;"><path d=" M 340000.000000 480000.000000 m-500.000000 0 a 500.000000 500.000000 0 1 0 1000.0 0 a 500.000000 500.000000 0 1 0 -1000.0 0 M 150000.0 180000.0 A 30000 30000 0 0 1 178480.520255 150038.505022 L 180000.0 150000.0 L 310000.0 150000.0 A 30000 30000 0 0 1 339961.494952 178480.519749 L 340000.0 180000.0 L 340000.0 480000.0 A 30000 30000 0 0 1 311519.470277 509961.495458 L 310000.0 510000.0 L 180000.0 510000.0 A 30000 30000 0 0 1 150038.504516 481519.469771 L 150000.0 480000.0 L 150000.0 180000.0 " style="fill-rule: evenodd;"/><g style="fill-opacity: 0.0;stroke-width: 1000.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<path d="M150000 480000 L150000 180000 "/>
<path d="M340000 180000 L340000 480000 "/>
<path d="M178480 150038 L180000 150000 "/>
<path d="M339961 178480 L340000 180000 "/>
<path d="M180000 150000 L310000 150000 "/>
<path d="M150038 481519 L150000 480000 "/>
<path d="M311519 509961 L310000 510000 "/>
<path d="M311519.470277 509961.495458 A30000.000000 30000.000000 0.0 0 0 340000.000000 480000.000000"/>
<path d="M310000 510000 L180000 510000 "/>
<path d="M178480.520255 150038.505022 A30000.000000 30000.000000 0.0 0 0 150000.000000 180000.000000"/>
<path d="M150038.504516 481519.469771 A30000.000000 30000.000000 0.0 0 0 180000.000000 510000.000000"/>
</g>
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<circle cx="340000.000000" cy="480000.000000" r="500.000000"/>
</g>
<g style="fill-opacity: 0.0;stroke-width: 1000.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<path d="M339961.494952 178480.519749 A30000.000000 30000.000000 0.0 0 0 310000.000000 150000.000000"/>
</g>
</g><g id="substrate-clad" style="fill:#332B16; stroke:#332B16;"><g style="fill-opacity: 0.0;stroke-width: 0.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<circle cx="270000.000000" cy="190000.000000" r="16510.000000"/>
</g>
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<circle cx="180000.000000" cy="360000.000000" r="20510.000000"/>
</g>
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<circle cx="270000.000000" cy="470000.000000" r="16510.000000"/>
</g>
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<circle cx="180000.000000" cy="300000.000000" r="20510.000000"/>
</g>
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<path style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round;fill-rule: evenodd" d="M 267500.000000,398010.000000 267304.830000,397971.180000 267139.380000,397860.620000 267028.820000,397695.170000 266990.000000,397500.000000 266990.000000,367500.000000 267028.820000,367304.830000 267139.380000,367139.380000 267304.830000,367028.820000 267500.000000,366990.000000 327500.000000,366990.000000 327695.170000,367028.820000 327860.620000,367139.380000 327971.180000,367304.830000 328010.000000,367500.000000 328010.000000,397500.000000 327971.180000,397695.170000 327860.620000,397860.620000 327695.170000,397971.180000 327500.000000,398010.000000 Z"/>
<path style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round;fill-rule: evenodd" d="M 267500.000000,347210.000000 267304.830000,347171.180000 267139.380000,347060.620000 267028.820000,346895.170000 266990.000000,346700.000000 266990.000000,316700.000000 267028.820000,316504.830000 267139.380000,316339.380000 267304.830000,316228.820000 267500.000000,316190.000000 327500.000000,316190.000000 327695.170000,316228.820000 327860.620000,316339.380000 327971.180000,316504.830000 328010.000000,316700.000000 328010.000000,346700.000000 327971.180000,346895.170000 327860.620000,347060.620000 327695.170000,347171.180000 327500.000000,347210.000000 Z"/>
<path style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round;fill-rule: evenodd" d="M 267500.000000,296410.000000 267304.830000,296371.180000 267139.380000,296260.620000 267028.820000,296095.170000 266990.000000,295900.000000 266990.000000,265900.000000 267028.820000,265704.830000 267139.380000,265539.380000 267304.830000,265428.820000 267500.000000,265390.000000 327500.000000,265390.000000 327695.170000,265428.820000 327860.620000,265539.380000 327971.180000,265704.830000 328010.000000,265900.000000 328010.000000,295900.000000 327971.180000,296095.170000 327860.620000,296260.620000 327695.170000,296371.180000 327500.000000,296410.000000 Z"/>
</g>
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<circle cx="180000.000000" cy="430000.000000" r="20510.000000"/>
</g>
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<circle cx="180000.000000" cy="230000.000000" r="20510.000000"/>
</g>
</g>
</g><g id="substrate-copper" style="fill:#1b1f44; stroke:#1b1f44;"><g style="fill-opacity: 0.0;stroke-width: 0.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<circle cx="180000.000000" cy="360000.000000" r="20000.000000"/>
</g>
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<circle cx="180000.000000" cy="300000.000000" r="20000.000000"/>
</g>
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<path style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round;fill-rule: evenodd" d="M 327500.000000,397500.000000 267500.000000,397500.000000 267500.000000,367500.000000 327500.000000,367500.000000 Z"/>
<path style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round;fill-rule: evenodd" d="M 327500.000000,346700.000000 267500.000000,346700.000000 267500.000000,316700.000000 327500.000000,316700.000000 Z"/>
<path style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round;fill-rule: evenodd" d="M 327500.000000,295900.000000 267500.000000,295900.000000 267500.000000,265900.000000 327500.000000,265900.000000 Z"/>
</g>
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<circle cx="180000.000000" cy="430000.000000" r="20000.000000"/>
</g>
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<circle cx="180000.000000" cy="230000.000000" r="20000.000000"/>
</g>
<g style="fill-opacity: 1.0;stroke-width: 212.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<g style="fill-opacity: 1.0;stroke-width: 2540.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<path style="fill-opacity: 1.0;stroke-width: 2540.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round;fill-rule: evenodd" d="M 253730.000000,360000.000000 253754.400000,360247.760000 253826.670000,360486.010000 253944.030000,360705.570000 254101.970000,360898.030000 254294.430000,361055.970000 254513.990000,361173.330000 254752.240000,361245.600000 255000.000000,361270.000000 327730.010000,361270.000000 327730.010000,398730.000000 162270.000000,398730.000000 162270.000000,331270.000000 253730.000000,331270.000000 Z"/>
</g>
</g>
<g style="fill-opacity: 1.0;stroke-width: 2540.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<g>
<path style="fill-opacity: 1.0;stroke-width: 2540.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round;fill-rule: evenodd" d="M 248730.000000,230594.830000 248730.000000,255000.000000 248754.400000,255247.760000 248826.670000,255486.010000 248944.030000,255705.570000 249101.970000,255898.030000 249294.430000,256055.970000 249513.990000,256173.330000 249752.240000,256245.600000 250000.000000,256270.000000 327730.000000,256270.000000 327730.000000,298730.000000 211270.000000,298730.000000 211270.000000,296920.170000 210068.310000,290878.880000 207711.110000,285188.100000 204288.990000,280066.540000 199933.460000,275711.010000 194811.900000,272288.890000 189121.120000,269931.690000 183079.830000,268730.000000 176920.170000,268730.000000 170878.880000,269931.690000 165188.100000,272288.890000 162270.000000,274238.700000 162270.000000,206270.000000 219540.200000,206270.000000 Z"/>
</g>
</g>
</g>
</g><g id="substrate-pads" style="fill:#cfb96e; stroke:#cfb96e;" mask="url(#pads-mask)"><g style="fill-opacity: 0.0;stroke-width: 0.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<circle cx="180000.000000" cy="360000.000000" r="20000.000000"/>
</g>
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<circle cx="180000.000000" cy="300000.000000" r="20000.000000"/>
</g>
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<path style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round;fill-rule: evenodd" d="M 327500.000000,397500.000000 267500.000000,397500.000000 267500.000000,367500.000000 327500.000000,367500.000000 Z"/>
<path style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round;fill-rule: evenodd" d="M 327500.000000,346700.000000 267500.000000,346700.000000 267500.000000,316700.000000 327500.000000,316700.000000 Z"/>
<path style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round;fill-rule: evenodd" d="M 327500.000000,295900.000000 267500.000000,295900.000000 267500.000000,265900.000000 327500.000000,265900.000000 Z"/>
</g>
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<circle cx="180000.000000" cy="430000.000000" r="20000.000000"/>
</g>
<g style="fill-opacity: 1.0;stroke-width: 0.010000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<circle cx="180000.000000" cy="230000.000000" r="20000.000000"/>
</g>
<g style="fill-opacity: 1.0;stroke-width: 212.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<g style="fill-opacity: 1.0;stroke-width: 2540.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<path style="fill-opacity: 1.0;stroke-width: 2540.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round;fill-rule: evenodd" d="M 253730.000000,360000.000000 253754.400000,360247.760000 253826.670000,360486.010000 253944.030000,360705.570000 254101.970000,360898.030000 254294.430000,361055.970000 254513.990000,361173.330000 254752.240000,361245.600000 255000.000000,361270.000000 327730.010000,361270.000000 327730.010000,398730.000000 162270.000000,398730.000000 162270.000000,331270.000000 253730.000000,331270.000000 Z"/>
</g>
</g>
<g style="fill-opacity: 1.0;stroke-width: 2540.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<g>
<path style="fill-opacity: 1.0;stroke-width: 2540.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round;fill-rule: evenodd" d="M 248730.000000,230594.830000 248730.000000,255000.000000 248754.400000,255247.760000 248826.670000,255486.010000 248944.030000,255705.570000 249101.970000,255898.030000 249294.430000,256055.970000 249513.990000,256173.330000 249752.240000,256245.600000 250000.000000,256270.000000 327730.000000,256270.000000 327730.000000,298730.000000 211270.000000,298730.000000 211270.000000,296920.170000 210068.310000,290878.880000 207711.110000,285188.100000 204288.990000,280066.540000 199933.460000,275711.010000 194811.900000,272288.890000 189121.120000,269931.690000 183079.830000,268730.000000 176920.170000,268730.000000 170878.880000,269931.690000 165188.100000,272288.890000 162270.000000,274238.700000 162270.000000,206270.000000 219540.200000,206270.000000 Z"/>
</g>
</g>
</g>
</g><g id="substrate-silk" style="fill:#d5dce4; stroke:#d5dce4;" mask="url(#pads-mask-silkscreen)"><g style="fill-opacity: 0.0;stroke-width: 4000.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<text x="290000.000000" y="435000.000000" textLength="97233.330000" font-size="26666.660000" lengthAdjust="spacingAndGlyphs" text-anchor="middle" opacity="0">MINUS</text>
<g class="stroked-text"><desc>MINUS</desc>
<path d="M248095 434047 L248095 414047 L254761 428333 L261428 414047 L261428 434047 "/>
<path d="M270952 434047 L270952 414047 "/>
<path d="M280476 434047 L280476 414047 L291904 434047 L291904 414047 "/>
<path d="M301428 414047 L301428 430238 L302380 432142 L303333 433095 L305238 434047 L309047 434047 L310952 433095 L311904 432142 L312857 430238 L312857 414047 "/>
<path d="M321428 433095 L324285 434047 L329047 434047 L330952 433095 L331904 432142 L332857 430238 L332857 428333 L331904 426428 L330952 425476 L329047 424523 L325238 423571 L323333 422619 L322380 421666 L321428 419761 L321428 417857 L322380 415952 L323333 415000 L325238 414047 L330000 414047 L332857 415000 "/>
</g></g>
<g style="fill-opacity: 0.0;stroke-width: 2000.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<g transform="rotate(-270.000000 235465.000000 330000.000000)">
<text x="235465.000000" y="336500.000000" textLength="267676.190000" font-size="17333.330000" lengthAdjust="spacingAndGlyphs" text-anchor="middle" opacity="0">github.com/RoboticsBrno/</text>
</g>
<g class="stroked-text"><desc>github.com/RoboticsBrno/</desc>
<path d="M238250 207428 L227726 207428 L226488 206809 L225869 206190 L225250 204952 L225250 203095 L225869 201857 "/>
<path d="M230203 207428 L229584 206190 L229584 203714 L230203 202476 L230822 201857 L232060 201238 L235774 201238 L237012 201857 L237631 202476 L238250 203714 L238250 206190 L237631 207428 "/>
<path d="M229584 213619 L238250 213619 "/>
<path d="M242584 213619 L241965 213000 L241345 213619 L241965 214238 L242584 213619 L241345 213619 "/>
<path d="M238250 217952 L238250 222904 "/>
<path d="M242584 219809 L231441 219809 L230203 220428 L229584 221666 L229584 222904 "/>
<path d="M229584 227238 L242584 227238 "/>
<path d="M229584 232809 L236393 232809 L237631 232190 L238250 230952 L238250 229095 L237631 227857 L237012 227238 "/>
<path d="M238250 244571 L229584 244571 "/>
<path d="M238250 238999 L231441 238999 L230203 239619 L229584 240857 L229584 242714 L230203 243952 L230822 244571 "/>
<path d="M229584 250761 L242584 250761 "/>
<path d="M237631 250761 L238250 251999 L238250 254476 L237631 255714 L237012 256333 L235774 256952 L232060 256952 L230822 256333 L230203 255714 L229584 254476 L229584 251999 L230203 250761 "/>
<path d="M230822 262523 L230203 263142 L229584 262523 L230203 261904 L230822 262523 L229584 262523 "/>
<path d="M230203 274285 L229584 273047 L229584 270571 L230203 269333 L230822 268714 L232060 268095 L235774 268095 L237012 268714 L237631 269333 L238250 270571 L238250 273047 L237631 274285 "/>
<path d="M229584 281714 L230203 280476 L230822 279857 L232060 279238 L235774 279238 L237012 279857 L237631 280476 L238250 281714 L238250 283571 L237631 284809 L237012 285428 L235774 286047 L232060 286047 L230822 285428 L230203 284809 L229584 283571 L229584 281714 "/>
<path d="M229584 291619 L238250 291619 "/>
<path d="M237012 291619 L237631 292238 L238250 293476 L238250 295333 L237631 296571 L236393 297190 L229584 297190 "/>
<path d="M236393 297190 L237631 297809 L238250 299047 L238250 300904 L237631 302142 L236393 302761 L229584 302761 "/>
<path d="M243203 318238 L226488 307095 "/>
<path d="M229584 329999 L235774 325666 "/>
<path d="M229584 322571 L242584 322571 L242584 327523 L241965 328761 L241345 329380 L240107 329999 L238250 329999 L237012 329380 L236393 328761 L235774 327523 L235774 322571 "/>
<path d="M229584 337428 L230203 336190 L230822 335571 L232060 334952 L235774 334952 L237012 335571 L237631 336190 L238250 337428 L238250 339285 L237631 340523 L237012 341142 L235774 341761 L232060 341761 L230822 341142 L230203 340523 L229584 339285 L229584 337428 "/>
<path d="M229584 347333 L242584 347333 "/>
<path d="M237631 347333 L238250 348571 L238250 351047 L237631 352285 L237012 352904 L235774 353523 L232060 353523 L230822 352904 L230203 352285 L229584 351047 L229584 348571 L230203 347333 "/>
<path d="M229584 360952 L230203 359714 L230822 359095 L232060 358476 L235774 358476 L237012 359095 L237631 359714 L238250 360952 L238250 362809 L237631 364047 L237012 364666 L235774 365285 L232060 365285 L230822 364666 L230203 364047 L229584 362809 L229584 360952 "/>
<path d="M238250 369000 L238250 373952 "/>
<path d="M242584 370857 L231441 370857 L230203 371476 L229584 372714 L229584 373952 "/>
<path d="M229584 378285 L238250 378285 "/>
<path d="M242584 378285 L241965 377666 L241345 378285 L241965 378904 L242584 378285 L241345 378285 "/>
<path d="M230203 390047 L229584 388809 L229584 386333 L230203 385095 L230822 384476 L232060 383857 L235774 383857 L237012 384476 L237631 385095 L238250 386333 L238250 388809 L237631 390047 "/>
<path d="M230203 395000 L229584 396238 L229584 398714 L230203 399952 L231441 400571 L232060 400571 L233298 399952 L233917 398714 L233917 396857 L234536 395619 L235774 395000 L236393 395000 L237631 395619 L238250 396857 L238250 398714 L237631 399952 "/>
<path d="M236393 410476 L235774 412333 L235155 412952 L233917 413571 L232060 413571 L230822 412952 L230203 412333 L229584 411095 L229584 406142 L242584 406142 L242584 410476 L241965 411714 L241345 412333 L240107 412952 L238869 412952 L237631 412333 L237012 411714 L236393 410476 L236393 406142 "/>
<path d="M229584 419142 L238250 419142 "/>
<path d="M235774 419142 L237012 419761 L237631 420380 L238250 421619 L238250 422857 "/>
<path d="M238250 427190 L229584 427190 "/>
<path d="M237012 427190 L237631 427809 L238250 429047 L238250 430904 L237631 432142 L236393 432761 L229584 432761 "/>
<path d="M229584 440809 L230203 439571 L230822 438952 L232060 438333 L235774 438333 L237012 438952 L237631 439571 L238250 440809 L238250 442666 L237631 443904 L237012 444523 L235774 445142 L232060 445142 L230822 444523 L230203 443904 L229584 442666 L229584 440809 "/>
<path d="M243203 460000 L226488 448857 "/>
</g><g transform="rotate(-270.000000 214535.000000 330000.000000)">
<text x="214535.000000" y="336500.000000" textLength="209361.900000" font-size="17333.330000" lengthAdjust="spacingAndGlyphs" text-anchor="middle" opacity="0">RB0002-BatteryPack</text>
</g>
<g class="stroked-text"><desc>RB0002-BatteryPack</desc>
<path d="M208654 237142 L214844 232809 "/>
<path d="M208654 229714 L221654 229714 L221654 234666 L221035 235904 L220415 236523 L219177 237142 L217320 237142 L216082 236523 L215463 235904 L214844 234666 L214844 229714 "/>
<path d="M215463 247047 L214844 248904 L214225 249523 L212987 250142 L211130 250142 L209892 249523 L209273 248904 L208654 247666 L208654 242714 L221654 242714 L221654 247047 L221035 248285 L220415 248904 L219177 249523 L217939 249523 L216701 248904 L216082 248285 L215463 247047 L215463 242714 "/>
<path d="M221654 258190 L221654 259428 L221035 260666 L220415 261285 L219177 261904 L216701 262523 L213606 262523 L211130 261904 L209892 261285 L209273 260666 L208654 259428 L208654 258190 L209273 256952 L209892 256333 L211130 255714 L213606 255095 L216701 255095 L219177 255714 L220415 256333 L221035 256952 L221654 258190 "/>
<path d="M221654 270571 L221654 271809 L221035 273047 L220415 273666 L219177 274285 L216701 274904 L213606 274904 L211130 274285 L209892 273666 L209273 273047 L208654 271809 L208654 270571 L209273 269333 L209892 268714 L211130 268095 L213606 267476 L216701 267476 L219177 268095 L220415 268714 L221035 269333 L221654 270571 "/>
<path d="M221654 282952 L221654 284190 L221035 285428 L220415 286047 L219177 286666 L216701 287285 L213606 287285 L211130 286666 L209892 286047 L209273 285428 L208654 284190 L208654 282952 L209273 281714 L209892 281095 L211130 280476 L213606 279857 L216701 279857 L219177 280476 L220415 281095 L221035 281714 L221654 282952 "/>
<path d="M220415 292238 L221035 292857 L221654 294095 L221654 297190 L221035 298428 L220415 299047 L219177 299666 L217939 299666 L216082 299047 L208654 291619 L208654 299666 "/>
<path d="M213606 305238 L213606 315142 "/>
<path d="M215463 325666 L214844 327523 L214225 328142 L212987 328761 L211130 328761 L209892 328142 L209273 327523 L208654 326285 L208654 321333 L221654 321333 L221654 325666 L221035 326904 L220415 327523 L219177 328142 L217939 328142 L216701 327523 L216082 326904 L215463 325666 L215463 321333 "/>
<path d="M208654 339904 L215463 339904 L216701 339285 L217320 338047 L217320 335571 L216701 334333 "/>
<path d="M209273 339904 L208654 338666 L208654 335571 L209273 334333 L210511 333714 L211749 333714 L212987 334333 L213606 335571 L213606 338666 L214225 339904 "/>
<path d="M217320 344238 L217320 349190 "/>
<path d="M221654 346095 L210511 346095 L209273 346714 L208654 347952 L208654 349190 "/>
<path d="M217320 351666 L217320 356619 "/>
<path d="M221654 353523 L210511 353523 L209273 354142 L208654 355380 L208654 356619 "/>
<path d="M209273 365904 L208654 364666 L208654 362190 L209273 360952 L210511 360333 L215463 360333 L216701 360952 L217320 362190 L217320 364666 L216701 365904 L215463 366523 L214225 366523 L212987 360333 "/>
<path d="M208654 372095 L217320 372095 "/>
<path d="M214844 372095 L216082 372714 L216701 373333 L217320 374571 L217320 375809 "/>
<path d="M217320 378904 L208654 382000 "/>
<path d="M217320 385095 L208654 382000 L205558 380761 L204939 380142 L204320 378904 "/>
<path d="M208654 390047 L221654 390047 L221654 395000 L221035 396238 L220415 396857 L219177 397476 L217320 397476 L216082 396857 L215463 396238 L214844 395000 L214844 390047 "/>
<path d="M208654 408619 L215463 408619 L216701 408000 L217320 406761 L217320 404285 L216701 403047 "/>
<path d="M209273 408619 L208654 407380 L208654 404285 L209273 403047 L210511 402428 L211749 402428 L212987 403047 L213606 404285 L213606 407380 L214225 408619 "/>
<path d="M209273 420380 L208654 419142 L208654 416666 L209273 415428 L209892 414809 L211130 414190 L214844 414190 L216082 414809 L216701 415428 L217320 416666 L217320 419142 L216701 420380 "/>
<path d="M208654 425952 L221654 425952 "/>
<path d="M213606 427190 L208654 430904 "/>
<path d="M217320 430904 L212368 425952 "/>
</g></g>
<g style="fill-opacity: 0.0;stroke-width: 2500.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<g transform="rotate(-270.000000 256370.000000 330370.000000)">
<text x="256370.000000" y="335370.000000" textLength="28790.480000" font-size="13333.330000" lengthAdjust="spacingAndGlyphs" text-anchor="middle" opacity="0">MID</text>
</g>
<g class="stroked-text"><desc>MID</desc>
<path d="M251846 319655 L261846 319655 L254703 322989 L261846 326322 L251846 326322 "/>
<path d="M251846 331084 L261846 331084 "/>
<path d="M251846 335846 L261846 335846 L261846 338227 L261370 339655 L260417 340608 L259465 341084 L257560 341560 L256131 341560 L254227 341084 L253274 340608 L252322 339655 L251846 338227 L251846 335846 "/>
</g></g>
<g style="fill-opacity: 0.0;stroke-width: 4000.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<text x="295000.000000" y="247500.000000" textLength="79440.480000" font-size="26666.660000" lengthAdjust="spacingAndGlyphs" text-anchor="middle" opacity="0">PLUS</text>
<g class="stroked-text"><desc>PLUS</desc>
<path d="M261666 246547 L261666 226547 L269285 226547 L271190 227500 L272142 228452 L273095 230357 L273095 233214 L272142 235119 L271190 236071 L269285 237023 L261666 237023 "/>
<path d="M291190 246547 L281666 246547 L281666 226547 "/>
<path d="M297857 226547 L297857 242738 L298809 244642 L299761 245595 L301666 246547 L305476 246547 L307380 245595 L308333 244642 L309285 242738 L309285 226547 "/>
<path d="M317857 245595 L320714 246547 L325476 246547 L327380 245595 L328333 244642 L329285 242738 L329285 240833 L328333 238928 L327380 237976 L325476 237023 L321666 236071 L319761 235119 L318809 234166 L317857 232261 L317857 230357 L318809 228452 L319761 227500 L321666 226547 L326428 226547 L329285 227500 "/>
</g></g>
<g style="fill-opacity: 0.0;stroke-width: 1500.000000;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<circle cx="180000.000000" cy="360000.000000" r="22500.000000"/>
<circle cx="180000.000000" cy="300000.000000" r="22500.000000"/>
<circle cx="180000.000000" cy="430000.000000" r="22500.000000"/>
<circle cx="180000.000000" cy="230000.000000" r="22500.000000"/>
</g>
</g><g id="substrate-outline" style="fill:#000000; stroke:#000000; stroke-width: 1500.0"><g style="fill-opacity: 0.0;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<path d="M150000 480000 L150000 180000 "/>
<path d="M340000 180000 L340000 480000 "/>
<path d="M178480 150038 L180000 150000 "/>
<path d="M339961 178480 L340000 180000 "/>
<path d="M180000 150000 L310000 150000 "/>
<path d="M150038 481519 L150000 480000 "/>
<path d="M311519 509961 L310000 510000 "/>
<path d="M311519.470277 509961.495458 A30000.000000 30000.000000 0.0 0 0 340000.000000 480000.000000"/>
<path d="M310000 510000 L180000 510000 "/>
<path d="M178480.520255 150038.505022 A30000.000000 30000.000000 0.0 0 0 150000.000000 180000.000000"/>
<path d="M150038.504516 481519.469771 A30000.000000 30000.000000 0.0 0 0 180000.000000 510000.000000"/>
</g>
<g style="fill-opacity: 1.0;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<circle cx="340000.000000" cy="480000.000000" r="500.000000"/>
</g>
<g style="fill-opacity: 0.0;stroke-opacity: 1;stroke-linecap: round;stroke-linejoin: round">
<path d="M339961.494952 178480.519749 A30000.000000 30000.000000 0.0 0 0 310000.000000 150000.000000"/>
</g>
<path d="M -16000.0 0.0 A 16000.0 16000.0 0 1 1 16000.0 0.0 L 16000.0 -0.0 A 16000.0 16000.0 0 1 1 -16000.0 -0.0 Z" transform="translate(270000.0 190000.0) rotate(-0.0)"/><path d="M -12500.0 0.0 A 12500.0 12500.0 0 1 1 12500.0 0.0 L 12500.0 -0.0 A 12500.0 12500.0 0 1 1 -12500.0 -0.0 Z" transform="translate(180000.0 360000.0) rotate(-0.0)"/><path d="M -16000.0 0.0 A 16000.0 16000.0 0 1 1 16000.0 0.0 L 16000.0 -0.0 A 16000.0 16000.0 0 1 1 -16000.0 -0.0 Z" transform="translate(270000.0 470000.0) rotate(-0.0)"/><path d="M -12500.0 0.0 A 12500.0 12500.0 0 1 1 12500.0 0.0 L 12500.0 -0.0 A 12500.0 12500.0 0 1 1 -12500.0 -0.0 Z" transform="translate(180000.0 300000.0) rotate(-0.0)"/><path d="M -6500.0 0.0 A 6500.0 6500.0 0 1 1 6500.0 0.0 L 6500.0 -0.0 A 6500.0 6500.0 0 1 1 -6500.0 -0.0 Z" transform="translate(297500.0 382500.0) rotate(-90.0)"/><path d="M -6500.0 0.0 A 6500.0 6500.0 0 1 1 6500.0 0.0 L 6500.0 -0.0 A 6500.0 6500.0 0 1 1 -6500.0 -0.0 Z" transform="translate(297500.0 331700.0) rotate(-90.0)"/><path d="M -6500.0 0.0 A 6500.0 6500.0 0 1 1 6500.0 0.0 L 6500.0 -0.0 A 6500.0 6500.0 0 1 1 -6500.0 -0.0 Z" transform="translate(297500.0 280900.0) rotate(-90.0)"/><path d="M -12500.0 0.0 A 12500.0 12500.0 0 1 1 12500.0 0.0 L 12500.0 -0.0 A 12500.0 12500.0 0 1 1 -12500.0 -0.0 Z" transform="translate(180000.0 430000.0) rotate(-0.0)"/><path d="M -12500.0 0.0 A 12500.0 12500.0 0 1 1 12500.0 0.0 L 12500.0 -0.0 A 12500.0 12500.0 0 1 1 -12500.0 -0.0 Z" transform="translate(180000.0 230000.0) rotate(-0.0)"/></g></g></g></svg>

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -1519,3 +1519,17 @@ def test_copy_files_2(test_dir):
ctx.search_err(r'WARNING:\(W098\) 2 3D models downloaded') # 2 models are missing and they are downloaded
ctx.search_err(r'WARNING:\(W100\)', invert=True) # 2 models has the same name, but goes to different target
ctx.clean_up()
@pytest.mark.skipif(context.ki5(), reason="KiKit currently supports KiCad 6 only")
def test_sub_pcb_bp(test_dir):
""" Test a multiboard example """
prj = 'batteryPack'
ctx = context.TestContext(test_dir, prj, 'pcb_variant_subpc_bp', '')
ctx.run()
# Check all outputs are there
fname_b = prj+'-variant_'
ctx.expect_out_file(fname_b+'battery.kicad_pcb')
ctx.expect_out_file(fname_b+'charger.kicad_pcb')
ctx.expect_out_file(fname_b+'connector.kicad_pcb')
ctx.clean_up(keep_project=True)

View File

@ -6,6 +6,7 @@ pytest-3 --log-cli-level debug
"""
import coverage
import logging
import pytest
from shutil import which
from os import access
from . import context
@ -178,3 +179,18 @@ def test_pcbdraw_variant_3(test_dir):
ctx.expect_out_file(fname)
ctx.compare_image(fname, fuzz='40%', height='100%')
ctx.clean_up(keep_project=True)
@pytest.mark.skipif(context.ki5(), reason="KiKit currently supports KiCad 6 only")
def test_pcbdraw_sub_pcb_bp(test_dir):
""" Test a multiboard example """
prj = 'batteryPack'
ctx = context.TestContext(test_dir, prj, 'pcbdraw_subpc_bp', '')
ctx.run()
# Check all outputs are there
fname_b = prj+'-top_'
ctx.expect_out_file(fname_b+'battery.svg')
ctx.expect_out_file(fname_b+'charger.svg')
ctx.expect_out_file(fname_b+'connector.svg')
ctx.compare_image(fname_b+'connector.svg', height='100%')
ctx.clean_up(keep_project=True)

View File

@ -0,0 +1,51 @@
# Example KiBot config file
kibot:
version: 1
global:
hide_excluded: true
pcb_finish: ENIG
solder_mask_color: blue
variants:
- name: 'default'
comment: 'Default variant'
type: ibom
sub_pcbs:
- name: charger
tlx: 175
tly: 50
brx: 245
bry: 90
- name: battery
tlx: 20
tly: 20
brx: 90
bry: 118
- name: connector
tlx: 116
tly: 52
brx: 146
bry: 88
outputs:
- name: 'pcb_charger'
comment: "PCB charger"
type: pcb_variant
options:
variant: default[charger]
title: 'Battery pack (%S)'
- name: 'pcb_battery'
comment: "PCB battery"
type: pcb_variant
options:
variant: default[battery]
title: 'Battery pack (%S)'
- name: 'pcb_connector'
comment: "PCB connector"
type: pcb_variant
options:
variant: default[connector]
title: 'Battery pack (%S)'

View File

@ -0,0 +1,48 @@
# Example KiBot config file
kibot:
version: 1
global:
hide_excluded: true
pcb_finish: ENIG
solder_mask_color: blue
variants:
- name: 'default'
comment: 'Default variant'
type: ibom
sub_pcbs:
- name: charger
tlx: 175
tly: 50
brx: 245
bry: 90
- name: battery
tlx: 20
tly: 20
brx: 90
bry: 118
- name: connector
tlx: 116
tly: 52
brx: 146
bry: 88
outputs:
- name: draw_charger
comment: "Draw PCB charger"
type: pcbdraw
options:
variant: default[charger]
- name: draw_battery
comment: "Draw PCB battery"
type: pcbdraw
options:
variant: default[battery]
- name: draw_connector
comment: "Draw PCB connector"
type: pcbdraw
options:
variant: default[connector]