Added support for the controlled impedance flag in KiCad 6
This commit is contained in:
parent
b73a2e51d4
commit
d629afcf92
|
|
@ -83,6 +83,9 @@ class Globals(FiltersOptions):
|
||||||
self.copper_thickness = 35
|
self.copper_thickness = 35
|
||||||
""" Copper thickness in micrometers (1 Oz is 35 micrometers).
|
""" Copper thickness in micrometers (1 Oz is 35 micrometers).
|
||||||
KiCad 6: you should set this in the Board Setup -> Physical Stackup """
|
KiCad 6: you should set this in the Board Setup -> Physical Stackup """
|
||||||
|
self.impedance_controlled = False
|
||||||
|
""" The PCB needs specific dielectric characteristics.
|
||||||
|
KiCad 6: you should set this in the Board Setup -> Physical Stackup """
|
||||||
self.set_doc('filters', " [list(dict)] KiBot warnings to be ignored ")
|
self.set_doc('filters', " [list(dict)] KiBot warnings to be ignored ")
|
||||||
self._filter_what = 'KiBot warnings'
|
self._filter_what = 'KiBot warnings'
|
||||||
self._unkown_is_error = True
|
self._unkown_is_error = True
|
||||||
|
|
@ -172,6 +175,9 @@ class Globals(FiltersOptions):
|
||||||
elif name == 'edge_plating':
|
elif name == 'edge_plating':
|
||||||
self.edge_plating = value == 'yes'
|
self.edge_plating = value == 'yes'
|
||||||
logger.debug("- Edge plating: "+value)
|
logger.debug("- Edge plating: "+value)
|
||||||
|
elif name == 'dielectric_constraints':
|
||||||
|
self.impedance_controlled = value == 'yes'
|
||||||
|
logger.debug("- Impedance controlled: "+value)
|
||||||
elif name == 'layer':
|
elif name == 'layer':
|
||||||
ly = PCBLayer.parse(e)
|
ly = PCBLayer.parse(e)
|
||||||
stackup.append(ly)
|
stackup.append(ly)
|
||||||
|
|
|
||||||
|
|
@ -98,6 +98,7 @@ class GS(object):
|
||||||
global_edge_connector = None
|
global_edge_connector = None
|
||||||
global_castellated_pads = None
|
global_castellated_pads = None
|
||||||
global_edge_plating = None
|
global_edge_plating = None
|
||||||
|
global_impedance_controlled = None
|
||||||
test_boolean = True
|
test_boolean = True
|
||||||
stackup = None
|
stackup = None
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -527,6 +527,7 @@ class ReportOptions(BaseOptions):
|
||||||
self.castellated_pads = GS.global_castellated_pads
|
self.castellated_pads = GS.global_castellated_pads
|
||||||
self.edge_plating = GS.global_edge_plating
|
self.edge_plating = GS.global_edge_plating
|
||||||
self.copper_thickness = GS.global_copper_thickness
|
self.copper_thickness = GS.global_copper_thickness
|
||||||
|
self.impedance_controlled = GS.global_impedance_controlled
|
||||||
self.stackup = 'yes' if GS.stackup else ''
|
self.stackup = 'yes' if GS.stackup else ''
|
||||||
self._stackup = GS.stackup if GS.stackup else []
|
self._stackup = GS.stackup if GS.stackup else []
|
||||||
self.collect_data(GS.board)
|
self.collect_data(GS.board)
|
||||||
|
|
|
||||||
|
|
@ -23,12 +23,14 @@ Special features:
|
||||||
|
|
||||||
#?stackup
|
#?stackup
|
||||||
Stackup:
|
Stackup:
|
||||||
|
#?stackup and impedance_controlled
|
||||||
|
Impedance controlled: YES
|
||||||
#?stackup
|
#?stackup
|
||||||
| Name | Type | Color | Thickness | Material | Epsilon_r | Loss tangent |
|
| Name | Type | Color | Thickness | Material | Epsilon_r | Loss tangent |
|
||||||
#?stackup
|
#?stackup
|
||||||
|----------------------|----------------------|----------|-----------|----------|-----------|--------------|
|
|----------------------|----------------------|----------|-----------|-----------------|-----------|--------------|
|
||||||
#?stackup
|
#?stackup
|
||||||
#stackup:| ${%-20s,name} | ${%-20s,type} | ${%-8s,color} | ${%9d,thickness} | ${%-8s,material} | ${%9.1f,epsilon_r} | ${%12.2f,loss_tangent} |
|
#stackup:| ${%-20s,name} | ${%-20s,type} | ${%-8s,color} | ${%9d,thickness} | ${%-15s,material} | ${%9.1f,epsilon_r} | ${%12.2f,loss_tangent} |
|
||||||
#?stackup
|
#?stackup
|
||||||
|
|
||||||
# Important sizes
|
# Important sizes
|
||||||
|
|
|
||||||
|
|
@ -20,12 +20,14 @@ Special features:
|
||||||
|
|
||||||
#?stackup
|
#?stackup
|
||||||
Stackup:
|
Stackup:
|
||||||
|
#?stackup and impedance_controlled
|
||||||
|
Impedance controlled: YES
|
||||||
#?stackup
|
#?stackup
|
||||||
| Name | Type | Color | Thickness | Material | Epsilon_r | Loss tangent |
|
| Name | Type | Color | Thickness | Material | Epsilon_r | Loss tangent |
|
||||||
#?stackup
|
#?stackup
|
||||||
|----------------------|----------------------|----------|-----------|----------|-----------|--------------|
|
|----------------------|----------------------|----------|-----------|-----------------|-----------|--------------|
|
||||||
#?stackup
|
#?stackup
|
||||||
#stackup:| ${%-20s,name} | ${%-20s,type} | ${%-8s,color} | ${%9d,thickness} | ${%-8s,material} | ${%9.1f,epsilon_r} | ${%12.2f,loss_tangent} |
|
#stackup:| ${%-20s,name} | ${%-20s,type} | ${%-8s,color} | ${%9d,thickness} | ${%-15s,material} | ${%9.1f,epsilon_r} | ${%12.2f,loss_tangent} |
|
||||||
#?stackup
|
#?stackup
|
||||||
|
|
||||||
Materials:
|
Materials:
|
||||||
|
|
|
||||||
|
|
@ -37,21 +37,21 @@
|
||||||
|
|
||||||
(setup
|
(setup
|
||||||
(stackup
|
(stackup
|
||||||
(layer "F.SilkS" (type "Top Silk Screen") (color "White"))
|
(layer "F.SilkS" (type "Top Silk Screen") (color "White") (material "Liquid Photo"))
|
||||||
(layer "F.Paste" (type "Top Solder Paste"))
|
(layer "F.Paste" (type "Top Solder Paste"))
|
||||||
(layer "F.Mask" (type "Top Solder Mask") (color "Blue") (thickness 0.01))
|
(layer "F.Mask" (type "Top Solder Mask") (color "Blue") (thickness 0.01) (material "Liquid Ink") (epsilon_r 3.3) (loss_tangent 0))
|
||||||
(layer "F.Cu" (type "copper") (thickness 0.035))
|
(layer "F.Cu" (type "copper") (thickness 0.035))
|
||||||
(layer "dielectric 1" (type "core") (thickness 0.48) (material "FR4") (epsilon_r 4.5) (loss_tangent 0.02))
|
(layer "dielectric 1" (type "prepreg") (thickness 0.48) (material "FR4") (epsilon_r 4.5) (loss_tangent 0.02))
|
||||||
(layer "In1.Cu" (type "copper") (thickness 0.035))
|
(layer "In1.Cu" (type "copper") (thickness 0.035))
|
||||||
(layer "dielectric 2" (type "prepreg") (thickness 0.48) (material "FR4") (epsilon_r 4.5) (loss_tangent 0.02))
|
(layer "dielectric 2" (type "core") (thickness 0.48) (material "FR4") (epsilon_r 4.5) (loss_tangent 0.02))
|
||||||
(layer "In2.Cu" (type "copper") (thickness 0.035))
|
(layer "In2.Cu" (type "copper") (thickness 0.035))
|
||||||
(layer "dielectric 3" (type "core") (thickness 0.48) (material "FR4") (epsilon_r 4.5) (loss_tangent 0.02))
|
(layer "dielectric 3" (type "prepreg") (thickness 0.48) (material "FR4") (epsilon_r 4.5) (loss_tangent 0.02))
|
||||||
(layer "B.Cu" (type "copper") (thickness 0.035))
|
(layer "B.Cu" (type "copper") (thickness 0.035))
|
||||||
(layer "B.Mask" (type "Bottom Solder Mask") (color "Red") (thickness 0.01))
|
(layer "B.Mask" (type "Bottom Solder Mask") (color "Red") (thickness 0.01) (material "Dry Film") (epsilon_r 3.3) (loss_tangent 0))
|
||||||
(layer "B.Paste" (type "Bottom Solder Paste"))
|
(layer "B.Paste" (type "Bottom Solder Paste"))
|
||||||
(layer "B.SilkS" (type "Bottom Silk Screen") (color "Black"))
|
(layer "B.SilkS" (type "Bottom Silk Screen") (color "Black") (material "Direct Printing"))
|
||||||
(copper_finish "ENIG")
|
(copper_finish "ENIG")
|
||||||
(dielectric_constraints no)
|
(dielectric_constraints yes)
|
||||||
(edge_connector bevelled)
|
(edge_connector bevelled)
|
||||||
(castellated_pads yes)
|
(castellated_pads yes)
|
||||||
(edge_plating yes)
|
(edge_plating yes)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue