From 15882deed67a0dbf8434199a8dffb187e97fb257 Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Mon, 23 Jun 2025 00:11:04 -0700 Subject: [PATCH 01/19] rework examples --- edg/BoardCompiler.py | 3 --- edg/electronics_model/SvgPcbTemplateBlock.py | 25 ++++++++++++++++--- edg/parts/LedMatrix.py | 18 +++++++------ edg/parts/Neopixel.py | 13 +++++----- edg/parts/SwitchMatrix.py | 18 +++++++------ .../BasicKeyboard/BasicKeyboard.svgpcb.js | 8 +++--- examples/LedMatrix/LedMatrix.svgpcb.js | 8 +++--- 7 files changed, 57 insertions(+), 36 deletions(-) diff --git a/edg/BoardCompiler.py b/edg/BoardCompiler.py index 6f901c3a9..c3bf8e422 100644 --- a/edg/BoardCompiler.py +++ b/edg/BoardCompiler.py @@ -19,7 +19,6 @@ def compile_board(design: Type[Block], target_dir_name: Optional[Tuple[str, str] design_filename = os.path.join(target_dir, f'{target_name}.edg') netlist_filename = os.path.join(target_dir, f'{target_name}.net') - netlist_refdes_filename = os.path.join(target_dir, f'{target_name}.ref.net') bom_filename = os.path.join(target_dir, f'{target_name}.csv') svgpcb_filename = os.path.join(target_dir, f'{target_name}.svgpcb.js') @@ -27,8 +26,6 @@ def compile_board(design: Type[Block], target_dir_name: Optional[Tuple[str, str] os.remove(design_filename) with suppress(FileNotFoundError): os.remove(netlist_filename) - with suppress(FileNotFoundError): - os.remove(netlist_refdes_filename) with suppress(FileNotFoundError): os.remove(bom_filename) with suppress(FileNotFoundError): diff --git a/edg/electronics_model/SvgPcbTemplateBlock.py b/edg/electronics_model/SvgPcbTemplateBlock.py index 2ff670a9a..97d21dbc2 100644 --- a/edg/electronics_model/SvgPcbTemplateBlock.py +++ b/edg/electronics_model/SvgPcbTemplateBlock.py @@ -1,4 +1,4 @@ -from typing import Optional, Any, List +from typing import Optional, Any, List, Tuple from abc import abstractmethod from ..core import * @@ -45,6 +45,20 @@ def _svgpcb_get(self, param: ConstraintExpr[Any, Any]) -> Optional[str]: # TODO structure the output to be JS-friendly return str(param_val) + def _svgpcb_refdes_of(self, block_ref: List[str]) -> Tuple[str, int]: + """Returns the refdes of a block, as a tuple of prefix and number, + or crashes if the block is not valid.""" + footprint_path = self._svgpcb_footprint_block_path_of(block_ref) + refdes_path = footprint_path.append_param('fp_refdes') + refdes = self._svgpcb_design.get_value(refdes_path.to_local_path()) + assert refdes is not None + for i in reversed(range(len(refdes))): + if refdes[i].isalpha(): + if i == len(refdes) - 1: + return refdes, -1 # fallback if no numeric portion + return refdes[:i+1], int(refdes[i+1:]) + return "", int(refdes) + def _svgpcb_footprint_block_path_of(self, block_ref: List[str]) -> Optional[TransformUtil.Path]: """Infrastructure method, given the name of a container block, returns the block path of the footprint block if there is exactly one. Otherwise, returns None.""" @@ -63,10 +77,11 @@ def _svgpcb_footprint_of(self, path: TransformUtil.Path) -> str: assert len(candidate_blocks) == 1 return self._svgpcb_footprint_to_svgpcb(candidate_blocks[0].footprint) - def _svgpcb_pin_of(self, block_ref: List[str], pin_ref: List[str], footprint_path: TransformUtil.Path) -> Optional[str]: + def _svgpcb_pin_of(self, block_ref: List[str], pin_ref: List[str]) -> Optional[str]: """Infrastructure method, given a footprint path from _svgpcb_footprint_block_path_of and a port that should be connected to one of its pins, returns the footprint pin that the port is connected to, if any.""" - port_path = self._svgpcb_pathname_data.append_block(*block_ref).append_port(*pin_ref) + footprint_path = self._svgpcb_footprint_block_path_of(block_ref) + port_path = footprint_path.append_port(*pin_ref) candidate_nets = [net for net in self._svgpcb_netlist.nets if port_path in net.ports] if len(candidate_nets) != 1: @@ -90,6 +105,10 @@ def _svgpcb_fn_name(self) -> str: else: return f"""{self.__class__.__name__}_{self._svgpcb_pathname()}""" + def _svgpcb_bbox(self) -> Tuple[float, float, float, float]: + """Returns the bounding box (xmin, ymin, xmax, ymax) in mm of the svgpcb layout with default parameters.""" + return 0.0, 0.0, 1.0, 1.0 + @abstractmethod def _svgpcb_template(self) -> str: """IMPLEMENT ME. Returns the SVGPCB layout template code as JS function named _svgpcb_fn_name. diff --git a/edg/parts/LedMatrix.py b/edg/parts/LedMatrix.py index 63c251635..ec6a28fa9 100644 --- a/edg/parts/LedMatrix.py +++ b/edg/parts/LedMatrix.py @@ -15,13 +15,15 @@ def _svgpcb_fn_name_adds(self) -> Optional[str]: def _svgpcb_template(self) -> str: led_block = self._svgpcb_footprint_block_path_of(['led[0_0]']) res_block = self._svgpcb_footprint_block_path_of(['res[0]']) + led_reftype, led_refnum = self._svgpcb_refdes_of(['led[0_0]']) + res_reftype, res_refnum = self._svgpcb_refdes_of(['res[0]']) assert led_block is not None and res_block is not None led_footprint = self._svgpcb_footprint_of(led_block) - led_a_pin = self._svgpcb_pin_of(['led[0_0]'], ['a'], led_block) - led_k_pin = self._svgpcb_pin_of(['led[0_0]'], ['k'], led_block) + led_a_pin = self._svgpcb_pin_of(['led[0_0]'], ['a']) + led_k_pin = self._svgpcb_pin_of(['led[0_0]'], ['k']) res_footprint = self._svgpcb_footprint_of(res_block) - res_a_pin = self._svgpcb_pin_of(['res[0]'], ['a'], res_block) - res_b_pin = self._svgpcb_pin_of(['res[0]'], ['b'], res_block) + res_a_pin = self._svgpcb_pin_of(['res[0]'], ['a']) + res_b_pin = self._svgpcb_pin_of(['res[0]'], ['b']) assert all([pin is not None for pin in [led_a_pin, led_k_pin, res_a_pin, res_b_pin]]) return f"""\ @@ -51,9 +53,9 @@ def _svgpcb_template(self) -> str: for (let xIndex=0; xIndex < kXCount; xIndex++) {{ ledPos = [xy[0] + colSpacing * xIndex, xy[1] + rowSpacing * yIndex] - obj.footprints[`led[${{yIndex}}_${{xIndex}}]`] = led = board.add({led_footprint}, {{ + obj.footprints[`{led_reftype}${{{led_refnum} + yIndex + xIndex * kXCount}}`] = led = board.add({led_footprint}, {{ translate: ledPos, - id: `{self._svgpcb_pathname()}_led_${{yIndex}}_${{xIndex}}_` + id: `{led_reftype}${{{led_refnum} + yIndex + xIndex * kXCount}}` }}) rowLeds.push(led) @@ -98,9 +100,9 @@ def _svgpcb_template(self) -> str: allResistors = [] for (let xIndex=0; xIndex < kXCount; xIndex++) {{ const resPos = [xy[0] + colSpacing * xIndex, xy[1] + rowSpacing * kYCount] - obj.footprints[`res[${{xIndex + 1}}]`] = res = board.add({res_footprint}, {{ + obj.footprints[`{res_reftype}${{{res_refnum} + xIndex + 1}}`] = res = board.add({res_footprint}, {{ translate: resPos, - id: `{self._svgpcb_pathname()}_res_${{xIndex + 1}}_` + id: `{res_reftype}${{{res_refnum} + xIndex + 1}}` }}) allResistors.push(res) diff --git a/edg/parts/Neopixel.py b/edg/parts/Neopixel.py index ea6d72417..4383f61ef 100644 --- a/edg/parts/Neopixel.py +++ b/edg/parts/Neopixel.py @@ -191,12 +191,13 @@ def _svgpcb_fn_name_adds(self) -> Optional[str]: def _svgpcb_template(self) -> str: led_block = self._svgpcb_footprint_block_path_of(['led[0]']) + led_reftype, led_refnum = self._svgpcb_refdes_of(['led[0]']) assert led_block is not None led_footprint = self._svgpcb_footprint_of(led_block) - led_vdd_pin = self._svgpcb_pin_of(['led[0]'], ['vdd'], led_block) - led_gnd_pin = self._svgpcb_pin_of(['led[0]'], ['gnd'], led_block) - led_din_pin = self._svgpcb_pin_of(['led[0]'], ['din'], led_block) - led_dout_pin = self._svgpcb_pin_of(['led[0]'], ['dout'], led_block) + led_vdd_pin = self._svgpcb_pin_of(['led[0]'], ['vdd']) + led_gnd_pin = self._svgpcb_pin_of(['led[0]'], ['gnd']) + led_din_pin = self._svgpcb_pin_of(['led[0]'], ['din']) + led_dout_pin = self._svgpcb_pin_of(['led[0]'], ['dout']) assert all([pin is not None for pin in [led_vdd_pin, led_gnd_pin, led_din_pin, led_dout_pin]]) return f"""\ @@ -269,10 +270,10 @@ def _svgpcb_template(self) -> str: for (i=0; i Optional[str]: def _svgpcb_template(self) -> str: switch_block = self._svgpcb_footprint_block_path_of(['sw[0,0]']) diode_block = self._svgpcb_footprint_block_path_of(['d[0,0]']) + switch_reftype, switch_refnum = self._svgpcb_refdes_of(['sw[0,0]']) + diode_reftype, diode_refnum = self._svgpcb_refdes_of(['d[0,0]']) assert switch_block is not None and diode_block is not None switch_footprint = self._svgpcb_footprint_of(switch_block) - switch_sw_pin = self._svgpcb_pin_of(['sw[0,0]'], ['sw'], switch_block) - switch_com_pin = self._svgpcb_pin_of(['sw[0,0]'], ['com'], switch_block) + switch_sw_pin = self._svgpcb_pin_of(['sw[0,0]'], ['sw']) + switch_com_pin = self._svgpcb_pin_of(['sw[0,0]'], ['com']) diode_footprint = self._svgpcb_footprint_of(diode_block) - diode_a_pin = self._svgpcb_pin_of(['d[0,0]'], ['anode'], diode_block) - diode_k_pin = self._svgpcb_pin_of(['d[0,0]'], ['cathode'], diode_block) + diode_a_pin = self._svgpcb_pin_of(['d[0,0]'], ['anode']) + diode_k_pin = self._svgpcb_pin_of(['d[0,0]'], ['cathode']) assert all([pin is not None for pin in [switch_sw_pin, switch_com_pin, diode_a_pin, diode_k_pin]]) return f"""\ @@ -55,19 +57,19 @@ def _svgpcb_template(self) -> str: index = yIndex * ncols + xIndex + 1 buttonPos = [xy[0] + colSpacing * xIndex, xy[1] + rowSpacing * yIndex] - obj.footprints[`sw[${{xIndex}},${{yIndex}}]`] = button = board.add( + obj.footprints[`{switch_reftype}${{{switch_refnum} + xIndex * nrows + yIndex}}`] = button = board.add( {switch_footprint}, {{ translate: buttonPos, rotate: 0, - id: `{self._svgpcb_pathname()}_sw_${{xIndex}}_${{yIndex}}_` + id: `{switch_reftype}${{{switch_refnum} + xIndex * nrows + yIndex}}` }}) diodePos = [buttonPos[0] + diodeOffset[0], buttonPos[1] + diodeOffset[1]] - obj[`d[${{xIndex}},${{yIndex}}]`] = diode = board.add( + obj[`{diode_reftype}${{{diode_refnum} + xIndex * nrows + yIndex}}`] = diode = board.add( {diode_footprint}, {{ translate: diodePos, rotate: 90, - id: `{self._svgpcb_pathname()}_d_${{xIndex}}_${{yIndex}}_` + id: `{diode_reftype}${{{diode_refnum} + xIndex * nrows + yIndex}}` }}) // create stub wire for button -> column common line diff --git a/examples/BasicKeyboard/BasicKeyboard.svgpcb.js b/examples/BasicKeyboard/BasicKeyboard.svgpcb.js index ddaeaedd2..62997939c 100644 --- a/examples/BasicKeyboard/BasicKeyboard.svgpcb.js +++ b/examples/BasicKeyboard/BasicKeyboard.svgpcb.js @@ -69,19 +69,19 @@ function SwitchMatrix_2_3_sw(xy, colSpacing=1, rowSpacing=1, diodeOffset=[0.25, index = yIndex * ncols + xIndex + 1 buttonPos = [xy[0] + colSpacing * xIndex, xy[1] + rowSpacing * yIndex] - obj.footprints[`sw[${xIndex},${yIndex}]`] = button = board.add( + obj.footprints[`SW{1 + xIndex * nrows + yIndex}`] = button = board.add( SW_Hotswap_Kailh_MX, { translate: buttonPos, rotate: 0, - id: `sw_sw_${xIndex}_${yIndex}_` + id: `SW{1 + xIndex * nrows + yIndex}` }) diodePos = [buttonPos[0] + diodeOffset[0], buttonPos[1] + diodeOffset[1]] - obj[`d[${xIndex},${yIndex}]`] = diode = board.add( + obj[`D{1 + xIndex * nrows + yIndex}`] = diode = board.add( D_SOD_323, { translate: diodePos, rotate: 90, - id: `sw_d_${xIndex}_${yIndex}_` + id: `D{1 + xIndex * nrows + yIndex}` }) // create stub wire for button -> column common line diff --git a/examples/LedMatrix/LedMatrix.svgpcb.js b/examples/LedMatrix/LedMatrix.svgpcb.js index 8fabe62d1..297667a88 100644 --- a/examples/LedMatrix/LedMatrix.svgpcb.js +++ b/examples/LedMatrix/LedMatrix.svgpcb.js @@ -150,9 +150,9 @@ function CharlieplexedLedMatrix_5_6_matrix(xy, colSpacing=1, rowSpacing=1) { for (let xIndex=0; xIndex < kXCount; xIndex++) { ledPos = [xy[0] + colSpacing * xIndex, xy[1] + rowSpacing * yIndex] - obj.footprints[`led[${yIndex}_${xIndex}]`] = led = board.add(LED_0603_1608Metric, { + obj.footprints[`D${2 + yIndex + xIndex * kXCount}`] = led = board.add(LED_0603_1608Metric, { translate: ledPos, - id: `matrix_led_${yIndex}_${xIndex}_` + id: `D${2 + yIndex + xIndex * kXCount}` }) rowLeds.push(led) @@ -197,9 +197,9 @@ function CharlieplexedLedMatrix_5_6_matrix(xy, colSpacing=1, rowSpacing=1) { allResistors = [] for (let xIndex=0; xIndex < kXCount; xIndex++) { const resPos = [xy[0] + colSpacing * xIndex, xy[1] + rowSpacing * kYCount] - obj.footprints[`res[${xIndex + 1}]`] = res = board.add(R_0603_1608Metric, { + obj.footprints[`R${4 + xIndex + 1}`] = res = board.add(R_0603_1608Metric, { translate: resPos, - id: `matrix_res_${xIndex + 1}_` + id: `R${4 + xIndex + 1}` }) allResistors.push(res) From e4fb8531296ce4c9f17965ea7369c98e2f937766 Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Mon, 23 Jun 2025 00:13:05 -0700 Subject: [PATCH 02/19] Update SvgPcbBackend.py --- edg/electronics_model/SvgPcbBackend.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/edg/electronics_model/SvgPcbBackend.py b/edg/electronics_model/SvgPcbBackend.py index 0bffd75bb..5f7cf9956 100644 --- a/edg/electronics_model/SvgPcbBackend.py +++ b/edg/electronics_model/SvgPcbBackend.py @@ -185,9 +185,9 @@ def filter_blocks_by_pathname(blocks: List[NetBlock], exclude_prefixes: List[Tup for block in other_blocks: x_pos, y_pos = pos_dict.get(block.full_path, (0, 0)) # in mm, need to convert to in below block_code = f"""\ -const {SvgPcbTemplateBlock._svgpcb_pathname_to_svgpcb(block.full_path)} = board.add({SvgPcbTemplateBlock._svgpcb_footprint_to_svgpcb(block.footprint)}, {{ +const {block.refdes} = board.add({SvgPcbTemplateBlock._svgpcb_footprint_to_svgpcb(block.footprint)}, {{ translate: pt({x_pos/25.4:.3f}, {y_pos/25.4:.3f}), rotate: 0, - id: '{SvgPcbTemplateBlock._svgpcb_pathname_to_svgpcb(block.full_path)}' + id: '{block.refdes}' }})""" other_block_instantiations.append(block_code) From 9c5a43fcc4269d949cec70fd3c4de64447fd607b Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Mon, 23 Jun 2025 00:18:49 -0700 Subject: [PATCH 03/19] wip plumbing through bbox --- edg/electronics_model/SvgPcbTemplateBlock.py | 10 +++++++++- edg/parts/LedMatrix.py | 13 ++++++++----- edg/parts/Neopixel.py | 4 ++-- edg/parts/SwitchMatrix.py | 6 +++--- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/edg/electronics_model/SvgPcbTemplateBlock.py b/edg/electronics_model/SvgPcbTemplateBlock.py index 97d21dbc2..6b5a75bc5 100644 --- a/edg/electronics_model/SvgPcbTemplateBlock.py +++ b/edg/electronics_model/SvgPcbTemplateBlock.py @@ -33,7 +33,15 @@ def _svgpcb_pathname(self) -> str: """Infrastructure method, returns the pathname for this Block as a JS-code-friendly string.""" return self._svgpcb_pathname_to_svgpcb(self._svgpcb_pathname_data) - def _svgpcb_get(self, param: ConstraintExpr[Any, Any]) -> Optional[str]: + def _svgpcb_get(self, param: ConstraintExpr[Any, Any]) -> Any: + """Infrastructure method, returns the value of the ConstraintExpr. Asserts out if the value isn't available""" + param_path = self._svgpcb_ref_map.get(param, None) + assert param_path is not None + param_val = self._svgpcb_design.get_value(param_path) + assert param_val is not None: + return param_val + + def _svgpcb_get_js(self, param: ConstraintExpr[Any, Any]) -> Optional[str]: """Infrastructure method, returns the value of the ConstraintExpr as a JS literal. Ranges are mapped to a two-element list.""" param_path = self._svgpcb_ref_map.get(param, None) diff --git a/edg/parts/LedMatrix.py b/edg/parts/LedMatrix.py index ec6a28fa9..e83648bfc 100644 --- a/edg/parts/LedMatrix.py +++ b/edg/parts/LedMatrix.py @@ -1,5 +1,5 @@ from ..abstract_parts import * -from typing import Dict, Optional +from typing import Dict, Optional, Tuple class CharlieplexedLedMatrix(Light, GeneratorBlock, SvgPcbTemplateBlock): @@ -10,7 +10,7 @@ class CharlieplexedLedMatrix(Light, GeneratorBlock, SvgPcbTemplateBlock): A generalization of https://en.wikipedia.org/wiki/Charlieplexing#/media/File:3-pin_Charlieplexing_matrix_with_common_resistors.svg """ def _svgpcb_fn_name_adds(self) -> Optional[str]: - return f"{self._svgpcb_get(self.ncols)}_{self._svgpcb_get(self.nrows)}" + return f"{self._svgpcb_get_js(self.ncols)}_{self._svgpcb_get_js(self.nrows)}" def _svgpcb_template(self) -> str: led_block = self._svgpcb_footprint_block_path_of(['led[0_0]']) @@ -27,9 +27,9 @@ def _svgpcb_template(self) -> str: assert all([pin is not None for pin in [led_a_pin, led_k_pin, res_a_pin, res_b_pin]]) return f"""\ -function {self._svgpcb_fn_name()}(xy, colSpacing=1, rowSpacing=1) {{ - const kXCount = {self._svgpcb_get(self.ncols)} // number of columns (x dimension) - const kYCount = {self._svgpcb_get(self.nrows)} // number of rows (y dimension) +function {self._svgpcb_fn_name()}(xy, colSpacing=0.2, rowSpacing=0.2) {{ + const kXCount = {self._svgpcb_get_js(self.ncols)} // number of columns (x dimension) + const kYCount = {self._svgpcb_get_js(self.nrows)} // number of rows (y dimension) // Global params const traceSize = 0.015 @@ -160,6 +160,9 @@ def _svgpcb_template(self) -> str: }} """ + def _svgpcb_bbox(self) -> Tuple[float, float, float, float]: + return 0.0, 0.0, self._svgpcb_get(self.ncols) * .2 * 25.4, (self._svgpcb_get(self.nrows) + 1) * .2 * 25.4 + @init_in_parent def __init__(self, nrows: IntLike, ncols: IntLike, color: LedColorLike = Led.Any, current_draw: RangeLike = (1, 10)*mAmp): diff --git a/edg/parts/Neopixel.py b/edg/parts/Neopixel.py index 4383f61ef..ca4ef6e71 100644 --- a/edg/parts/Neopixel.py +++ b/edg/parts/Neopixel.py @@ -187,7 +187,7 @@ def generate(self): class NeopixelArrayCircular(NeopixelArray, SvgPcbTemplateBlock): """An array of Neopixels, with a circular layout template""" def _svgpcb_fn_name_adds(self) -> Optional[str]: - return f"{self._svgpcb_get(self.count)}" + return f"{self._svgpcb_get_js(self.count)}" def _svgpcb_template(self) -> str: led_block = self._svgpcb_footprint_block_path_of(['led[0]']) @@ -202,7 +202,7 @@ def _svgpcb_template(self) -> str: return f"""\ function {self._svgpcb_fn_name()}(xy, rot=90, radius=1, startAngle=0, endAngle=360, powerRadiusOffset=0.2) {{ - const kCount = {self._svgpcb_get(self.count)} + const kCount = {self._svgpcb_get_js(self.count)} // Global params const traceWidth = 0.015 diff --git a/edg/parts/SwitchMatrix.py b/edg/parts/SwitchMatrix.py index 337286d6d..a9dd05f1e 100644 --- a/edg/parts/SwitchMatrix.py +++ b/edg/parts/SwitchMatrix.py @@ -15,7 +15,7 @@ class SwitchMatrix(HumanInterface, GeneratorBlock, SvgPcbTemplateBlock): Diode anodes are attached to the rows, while cathodes go through each switch to the cols. """ def _svgpcb_fn_name_adds(self) -> Optional[str]: - return f"{self._svgpcb_get(self.ncols)}_{self._svgpcb_get(self.nrows)}" + return f"{self._svgpcb_get_js(self.ncols)}_{self._svgpcb_get_js(self.nrows)}" def _svgpcb_template(self) -> str: switch_block = self._svgpcb_footprint_block_path_of(['sw[0,0]']) @@ -34,8 +34,8 @@ def _svgpcb_template(self) -> str: return f"""\ function {self._svgpcb_fn_name()}(xy, colSpacing=1, rowSpacing=1, diodeOffset=[0.25, 0]) {{ // Circuit generator params - const ncols = {self._svgpcb_get(self.ncols)} - const nrows = {self._svgpcb_get(self.nrows)} + const ncols = {self._svgpcb_get_js(self.ncols)} + const nrows = {self._svgpcb_get_js(self.nrows)} // Global params const traceSize = 0.015 From 903d59e28faf711c2ef090a566d79e7cfd6d6bd9 Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Mon, 23 Jun 2025 00:31:18 -0700 Subject: [PATCH 04/19] wip cleaning --- edg/electronics_model/SvgPcbBackend.py | 16 +++++++++++----- edg/electronics_model/SvgPcbTemplateBlock.py | 2 +- edg/electronics_model/test_partplacer.py | 16 ++++------------ 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/edg/electronics_model/SvgPcbBackend.py b/edg/electronics_model/SvgPcbBackend.py index 5f7cf9956..a246dc9c1 100644 --- a/edg/electronics_model/SvgPcbBackend.py +++ b/edg/electronics_model/SvgPcbBackend.py @@ -19,7 +19,8 @@ class PlacedBlock(NamedTuple): width: float -def arrange_netlist(netlist: Netlist) -> PlacedBlock: +def arrange_blocks(blocks: List[NetBlock], + additional_blocks: List[Tuple[TransformUtil.Path, Tuple[float, float, float, float]]] = []) -> PlacedBlock: FOOTPRINT_BORDER = 1 # mm BLOCK_BORDER = 2 # mm @@ -28,7 +29,7 @@ def arrange_netlist(netlist: Netlist) -> PlacedBlock: block_footprints: Dict[Tuple[str, ...], List[NetBlock]] = {} # for here, we only group one level deep - for block in netlist.blocks: + for block in blocks: containing_path = block.full_path.blocks[0:min(len(block.full_path.blocks) - 1, 1)] block_footprints.setdefault(containing_path, []).append(block) for i in range(len(containing_path)): @@ -115,6 +116,7 @@ class SvgPcbGeneratedBlock(NamedTuple): path: TransformUtil.Path fn_name: str svgpcb_code: str + bbox: Tuple[float, float, float, float] class SvgPcbTransform(TransformUtil.Transform): @@ -138,7 +140,7 @@ def visit_block(self, context: TransformUtil.TransformContext, block: edgir.Bloc generator_obj = cls() generator_obj._svgpcb_init(context.path, self.design, self.netlist) self._svgpcb_blocks.append(SvgPcbGeneratedBlock( - context.path, generator_obj._svgpcb_fn_name(), generator_obj._svgpcb_template() + context.path, generator_obj._svgpcb_fn_name(), generator_obj._svgpcb_template(), generator_obj._svgpcb_bbox() )) else: pass @@ -168,11 +170,15 @@ def filter_blocks_by_pathname(blocks: List[NetBlock], exclude_prefixes: List[Tup return [block for block in blocks if not block_matches_prefixes(block, exclude_prefixes)] + # handle blocks with svgpcb templates svgpcb_blocks = SvgPcbTransform(design, netlist).run() - svgpcb_block_prefixes = [block.path.to_tuple() for block in svgpcb_blocks] + svgpcb_block_bboxes = [(block.path, block.bbox) for block in svgpcb_blocks] + + # handle footprints netlist = NetlistTransform(design).run() + svgpcb_block_prefixes = [block.path.to_tuple() for block in svgpcb_blocks] other_blocks = filter_blocks_by_pathname(netlist.blocks, svgpcb_block_prefixes) - arranged_blocks = arrange_netlist(netlist) + arranged_blocks = arrange_blocks(other_blocks, svgpcb_block_bboxes) pos_dict = flatten_packed_block(arranged_blocks) svgpcb_block_instantiations = [ diff --git a/edg/electronics_model/SvgPcbTemplateBlock.py b/edg/electronics_model/SvgPcbTemplateBlock.py index 6b5a75bc5..cf87a8fdc 100644 --- a/edg/electronics_model/SvgPcbTemplateBlock.py +++ b/edg/electronics_model/SvgPcbTemplateBlock.py @@ -38,7 +38,7 @@ def _svgpcb_get(self, param: ConstraintExpr[Any, Any]) -> Any: param_path = self._svgpcb_ref_map.get(param, None) assert param_path is not None param_val = self._svgpcb_design.get_value(param_path) - assert param_val is not None: + assert param_val is not None return param_val def _svgpcb_get_js(self, param: ConstraintExpr[Any, Any]) -> Optional[str]: diff --git a/edg/electronics_model/test_partplacer.py b/edg/electronics_model/test_partplacer.py index 9d8e1a0ef..3e45a4a82 100644 --- a/edg/electronics_model/test_partplacer.py +++ b/edg/electronics_model/test_partplacer.py @@ -1,8 +1,8 @@ import unittest from . import TransformUtil -from .NetlistGenerator import Netlist, NetBlock -from .SvgPcbBackend import arrange_netlist, flatten_packed_block, PlacedBlock +from .NetlistGenerator import NetBlock +from .SvgPcbBackend import arrange_blocks, flatten_packed_block, PlacedBlock class PartPlacerTestCase(unittest.TestCase): @@ -19,11 +19,7 @@ def test_placement(self): footprint="Resistor_SMD:R_0603_1608Metric", refdes="R2", part="", value="", full_path=TransformUtil.Path.empty().append_block("R2"), path=[], class_path=[] ) - netlist = Netlist( - blocks=[u1, r1, r2], - nets=[] - ) - arranged = arrange_netlist(netlist) + arranged = arrange_blocks([u1, r1, r2]) self.assertAlmostEqual(arranged.elts["U1"][1][0], 5.15, places=2) self.assertAlmostEqual(arranged.elts["U1"][1][1], 5.15, places=2) self.assertAlmostEqual(arranged.elts["R1"][1][0], 12.78, places=2) @@ -48,11 +44,7 @@ def test_placement_hierarchical(self): footprint="Resistor_SMD:R_0603_1608Metric", refdes="R3", part="", value="", full_path=TransformUtil.Path.empty().append_block('B').append_block("R3"), path=[], class_path=[] ) - netlist = Netlist( - blocks=[u1, r1, r2, r3], - nets=[] - ) - arranged = arrange_netlist(netlist) + arranged = arrange_blocks([u1, r1, r2, r3]) self.assertAlmostEqual(arranged.elts['A'][1][0], 0, places=2) self.assertAlmostEqual(arranged.elts['A'][1][1], 0, places=2) From 0a76a96f6a7cf0237c7d7038aded3ace48fed4ad Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Mon, 23 Jun 2025 00:45:21 -0700 Subject: [PATCH 05/19] not really sure about new arrange --- edg/electronics_model/SvgPcbBackend.py | 31 +++++++++++++++++++------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/edg/electronics_model/SvgPcbBackend.py b/edg/electronics_model/SvgPcbBackend.py index a246dc9c1..063120358 100644 --- a/edg/electronics_model/SvgPcbBackend.py +++ b/edg/electronics_model/SvgPcbBackend.py @@ -26,7 +26,7 @@ def arrange_blocks(blocks: List[NetBlock], # create list of blocks by path block_subblocks: Dict[Tuple[str, ...], Set[str]] = {} - block_footprints: Dict[Tuple[str, ...], List[NetBlock]] = {} + block_footprints: Dict[Tuple[str, ...], List[Union[NetBlock, Tuple[float, float, float, float]]]] = {} # for here, we only group one level deep for block in blocks: @@ -35,6 +35,12 @@ def arrange_blocks(blocks: List[NetBlock], for i in range(len(containing_path)): block_subblocks.setdefault(tuple(containing_path[:i]), set()).add(containing_path[i]) + for path, bbox in additional_blocks: + containing_path = path.blocks[0:min(len(path.blocks) - 1, 1)] + block_footprints.setdefault(containing_path, []).append(bbox) + for i in range(len(containing_path)): + block_subblocks.setdefault(tuple(containing_path[:i]), set()).add(containing_path[i]) + def arrange_hierarchy(root: Tuple[str, ...]) -> PlacedBlock: """Recursively arranges the immediate components of a hierarchy, treating each element as a bounding box rectangle, and trying to maintain some aspect ratio.""" @@ -47,11 +53,19 @@ def arrange_hierarchy(root: Tuple[str, ...]) -> PlacedBlock: sub_placed.append((subblock, subplaced.width + BLOCK_BORDER, subplaced.height + BLOCK_BORDER, subplaced)) for footprint in block_footprints.get(root, []): - bbox = FootprintDataTable.bbox_of(footprint.footprint) or (1, 1, 1, 1) + if isinstance(footprint, NetBlock): + bbox = FootprintDataTable.bbox_of(footprint.footprint) or (1, 1, 1, 1) + key = footprint.refdes + entry = footprint + elif isinstance(footprint, tuple): + bbox = footprint + key = + else: + raise TypeError() width = bbox[2] - bbox[0] + FOOTPRINT_BORDER height = bbox[3] - bbox[1] + FOOTPRINT_BORDER # use refdes as key so it's globally unique, for when this is run with blocks grouped together - sub_placed.append((footprint.refdes, width, height, footprint)) + sub_placed.append((key, width, height, entry)) total_area = sum(width * height for _, width, height, _ in sub_placed) max_width = math.sqrt(total_area * ASPECT_RATIO) @@ -181,12 +195,13 @@ def filter_blocks_by_pathname(blocks: List[NetBlock], exclude_prefixes: List[Tup arranged_blocks = arrange_blocks(other_blocks, svgpcb_block_bboxes) pos_dict = flatten_packed_block(arranged_blocks) - svgpcb_block_instantiations = [ - f"const {SvgPcbTemplateBlock._svgpcb_pathname_to_svgpcb(block.path)} = {block.fn_name}(pt(0, 0))" - for block in svgpcb_blocks - ] + # note, dimensions in inches, divide by 25.4 to convert from mm + svgpcb_block_instantiations = [] + for block in svgpcb_blocks: + x_pos, y_pos = pos_dict.get(block.path, (0, 0)) # in mm, need to convert to in below + block_code = f"const {SvgPcbTemplateBlock._svgpcb_pathname_to_svgpcb(block.path)} = {block.fn_name}(pt({x_pos/25.4:.3f}, {y_pos/25.4:.3f}))" + svgpcb_block_instantiations.append(block_code) - # note, dimensions in inches other_block_instantiations = [] for block in other_blocks: x_pos, y_pos = pos_dict.get(block.full_path, (0, 0)) # in mm, need to convert to in below From 03f379e4b08796094e78b3ad8293b00ca5195586 Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Tue, 24 Jun 2025 21:23:53 -0700 Subject: [PATCH 06/19] pruning --- edg/electronics_model/SvgPcbBackend.py | 23 +++++++------- edg/electronics_model/test_partplacer.py | 40 ++++++++++++------------ 2 files changed, 31 insertions(+), 32 deletions(-) diff --git a/edg/electronics_model/SvgPcbBackend.py b/edg/electronics_model/SvgPcbBackend.py index 063120358..f42b98d6f 100644 --- a/edg/electronics_model/SvgPcbBackend.py +++ b/edg/electronics_model/SvgPcbBackend.py @@ -14,7 +14,7 @@ class PlacedBlock(NamedTuple): """A placement of a hierarchical block, including the coordinates of its immediate elements. Elements are placed in local space, with (0, 0) as the origin and elements moved as a group. Elements are indexed by name.""" - elts: Dict[str, Tuple[Union['PlacedBlock', TransformUtil.Path], Tuple[float, float]]] # name -> elt, (x, y) + elts: List[Tuple[Union['PlacedBlock', TransformUtil.Path], Tuple[float, float]]] # name -> elt, (x, y) height: float width: float @@ -47,35 +47,34 @@ def arrange_hierarchy(root: Tuple[str, ...]) -> PlacedBlock: # TODO don't count borders as part of a block's width / height ASPECT_RATIO = 16 / 9 - sub_placed: List[Tuple[str, float, float, Union[PlacedBlock, NetBlock]]] = [] # (name, width, height, PlacedBlock or footprint) + sub_placed: List[Tuple[float, float, Union[PlacedBlock, NetBlock]]] = [] # (width, height, PlacedBlock or footprint) for subblock in block_subblocks.get(root, set()): subplaced = arrange_hierarchy(root + (subblock,)) - sub_placed.append((subblock, subplaced.width + BLOCK_BORDER, subplaced.height + BLOCK_BORDER, subplaced)) + sub_placed.append((subplaced.width + BLOCK_BORDER, subplaced.height + BLOCK_BORDER, subplaced)) for footprint in block_footprints.get(root, []): if isinstance(footprint, NetBlock): bbox = FootprintDataTable.bbox_of(footprint.footprint) or (1, 1, 1, 1) - key = footprint.refdes entry = footprint elif isinstance(footprint, tuple): bbox = footprint - key = + # key = else: raise TypeError() width = bbox[2] - bbox[0] + FOOTPRINT_BORDER height = bbox[3] - bbox[1] + FOOTPRINT_BORDER # use refdes as key so it's globally unique, for when this is run with blocks grouped together - sub_placed.append((key, width, height, entry)) + sub_placed.append((width, height, entry)) - total_area = sum(width * height for _, width, height, _ in sub_placed) + total_area = sum(width * height for width, height, _ in sub_placed) max_width = math.sqrt(total_area * ASPECT_RATIO) x_max = 0.0 y_max = 0.0 # track the y limits and y position of the prior elements x_stack: List[Tuple[float, float, float]] = [] # [(x pos of next, y pos, y limit)] - elts: Dict[str, Tuple[Union[PlacedBlock, TransformUtil.Path], Tuple[float, float]]] = {} - for name, width, height, entry in sorted(sub_placed, key=lambda x: -x[2]): # by height + elts: List[Tuple[Union[PlacedBlock, TransformUtil.Path], Tuple[float, float]]] = [] + for width, height, entry in sorted(sub_placed, key=lambda x: -x[1]): # by height if not x_stack: # only on first component next_y = 0.0 else: @@ -98,10 +97,10 @@ def arrange_hierarchy(root: Tuple[str, ...]) -> PlacedBlock: next_x = x_stack[-1][0] if isinstance(entry, PlacedBlock): # assumed (0, 0) at top left - elts[name] = (entry, (next_x, next_y)) + elts.append((entry, (next_x, next_y))) elif isinstance(entry, NetBlock): # account for footprint origin, flipping y-axis bbox = FootprintDataTable.bbox_of(entry.footprint) or (0, 0, 0, 0) - elts[name] = (entry.full_path, (next_x - bbox[0], next_y + bbox[3])) + elts.append((entry.full_path, (next_x - bbox[0], next_y + bbox[3]))) x_stack.append((next_x + width, next_y, next_y + height)) x_max = max(x_max, next_x + width) y_max = max(y_max, next_y + height) @@ -115,7 +114,7 @@ def flatten_packed_block(block: PlacedBlock) -> Dict[TransformUtil.Path, Tuple[f """Flatten a packed_block to a dict of individual components.""" flattened: Dict[TransformUtil.Path, Tuple[float, float]] = {} def walk_group(block: PlacedBlock, x_pos: float, y_pos: float) -> None: - for _, (elt, (elt_x, elt_y)) in block.elts.items(): + for elt, (elt_x, elt_y) in block.elts: if isinstance(elt, PlacedBlock): walk_group(elt, x_pos + elt_x, y_pos + elt_y) elif isinstance(elt, TransformUtil.Path): diff --git a/edg/electronics_model/test_partplacer.py b/edg/electronics_model/test_partplacer.py index 3e45a4a82..51619bf76 100644 --- a/edg/electronics_model/test_partplacer.py +++ b/edg/electronics_model/test_partplacer.py @@ -20,12 +20,12 @@ def test_placement(self): full_path=TransformUtil.Path.empty().append_block("R2"), path=[], class_path=[] ) arranged = arrange_blocks([u1, r1, r2]) - self.assertAlmostEqual(arranged.elts["U1"][1][0], 5.15, places=2) - self.assertAlmostEqual(arranged.elts["U1"][1][1], 5.15, places=2) - self.assertAlmostEqual(arranged.elts["R1"][1][0], 12.78, places=2) - self.assertAlmostEqual(arranged.elts["R1"][1][1], 0.73, places=2) - self.assertAlmostEqual(arranged.elts["R2"][1][0], 12.78, places=2) - self.assertAlmostEqual(arranged.elts["R2"][1][1], 3.19, places=2) + self.assertAlmostEqual(arranged.elts[0][1][0], 5.15, places=2) + self.assertAlmostEqual(arranged.elts[0][1][1], 5.15, places=2) + self.assertAlmostEqual(arranged.elts[1][1][0], 12.78, places=2) + self.assertAlmostEqual(arranged.elts[1][1][1], 0.73, places=2) + self.assertAlmostEqual(arranged.elts[2][1][0], 12.78, places=2) + self.assertAlmostEqual(arranged.elts[2][1][1], 3.19, places=2) def test_placement_hierarchical(self): u1 = NetBlock( @@ -46,21 +46,21 @@ def test_placement_hierarchical(self): ) arranged = arrange_blocks([u1, r1, r2, r3]) - self.assertAlmostEqual(arranged.elts['A'][1][0], 0, places=2) - self.assertAlmostEqual(arranged.elts['A'][1][1], 0, places=2) - assert isinstance(arranged.elts['A'][0], PlacedBlock) - self.assertAlmostEqual(arranged.elts['A'][0].elts["U1"][1][0], 5.15, places=2) - self.assertAlmostEqual(arranged.elts['A'][0].elts["U1"][1][1], 5.15, places=2) - self.assertAlmostEqual(arranged.elts['A'][0].elts["R1"][1][0], 12.78, places=2) - self.assertAlmostEqual(arranged.elts['A'][0].elts["R1"][1][1], 0.73, places=2) - self.assertAlmostEqual(arranged.elts['A'][0].elts["R2"][1][0], 12.78, places=2) - self.assertAlmostEqual(arranged.elts['A'][0].elts["R2"][1][1], 3.19, places=2) + self.assertAlmostEqual(arranged.elts[0][1][0], 0, places=2) + self.assertAlmostEqual(arranged.elts[0][1][1], 0, places=2) + assert isinstance(arranged.elts[0][0], PlacedBlock) + self.assertAlmostEqual(arranged.elts[0][0].elts[0][1][0], 5.15, places=2) + self.assertAlmostEqual(arranged.elts[0][0].elts[0][1][1], 5.15, places=2) + self.assertAlmostEqual(arranged.elts[0][0].elts[1][1][0], 12.78, places=2) + self.assertAlmostEqual(arranged.elts[0][0].elts[1][1][1], 0.73, places=2) + self.assertAlmostEqual(arranged.elts[0][0].elts[2][1][0], 12.78, places=2) + self.assertAlmostEqual(arranged.elts[0][0].elts[2][1][1], 3.19, places=2) - self.assertAlmostEqual(arranged.elts['B'][1][0], 0, places=2) - self.assertAlmostEqual(arranged.elts['B'][1][1], 13.3, places=2) - assert isinstance(arranged.elts['B'][0], PlacedBlock) - self.assertAlmostEqual(arranged.elts['B'][0].elts["R3"][1][0], 1.48, places=2) - self.assertAlmostEqual(arranged.elts['B'][0].elts["R3"][1][1], 0.73, places=2) + self.assertAlmostEqual(arranged.elts[1][1][0], 0, places=2) + self.assertAlmostEqual(arranged.elts[1][1][1], 13.3, places=2) + assert isinstance(arranged.elts[1][0], PlacedBlock) + self.assertAlmostEqual(arranged.elts[1][0].elts[0][1][0], 1.48, places=2) + self.assertAlmostEqual(arranged.elts[1][0].elts[0][1][1], 0.73, places=2) flattened = flatten_packed_block(arranged) self.assertAlmostEqual(flattened[TransformUtil.Path.empty().append_block('A').append_block('U1')][0], 5.15, places=2) From 1cab7d3d2f0d322c7f5468f187bad7b957c56d17 Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Tue, 24 Jun 2025 21:29:39 -0700 Subject: [PATCH 07/19] Update SvgPcbBackend.py --- edg/electronics_model/SvgPcbBackend.py | 43 ++++++++++++++++---------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/edg/electronics_model/SvgPcbBackend.py b/edg/electronics_model/SvgPcbBackend.py index f42b98d6f..7080d45f3 100644 --- a/edg/electronics_model/SvgPcbBackend.py +++ b/edg/electronics_model/SvgPcbBackend.py @@ -19,14 +19,19 @@ class PlacedBlock(NamedTuple): width: float +class BlackBoxBlock(NamedTuple): + path: TransformUtil.Path + bbox: Tuple[float, float, float, float] + + def arrange_blocks(blocks: List[NetBlock], - additional_blocks: List[Tuple[TransformUtil.Path, Tuple[float, float, float, float]]] = []) -> PlacedBlock: + additional_blocks: List[BlackBoxBlock] = []) -> PlacedBlock: FOOTPRINT_BORDER = 1 # mm BLOCK_BORDER = 2 # mm # create list of blocks by path block_subblocks: Dict[Tuple[str, ...], Set[str]] = {} - block_footprints: Dict[Tuple[str, ...], List[Union[NetBlock, Tuple[float, float, float, float]]]] = {} + block_footprints: Dict[Tuple[str, ...], List[Union[NetBlock, BlackBoxBlock]]] = {} # for here, we only group one level deep for block in blocks: @@ -35,9 +40,9 @@ def arrange_blocks(blocks: List[NetBlock], for i in range(len(containing_path)): block_subblocks.setdefault(tuple(containing_path[:i]), set()).add(containing_path[i]) - for path, bbox in additional_blocks: - containing_path = path.blocks[0:min(len(path.blocks) - 1, 1)] - block_footprints.setdefault(containing_path, []).append(bbox) + for blackbox in additional_blocks: + containing_path = blackbox.path.blocks[0:min(len(blackbox.path.blocks) - 1, 1)] + block_footprints.setdefault(containing_path, []).append(blackbox) for i in range(len(containing_path)): block_subblocks.setdefault(tuple(containing_path[:i]), set()).add(containing_path[i]) @@ -47,7 +52,7 @@ def arrange_hierarchy(root: Tuple[str, ...]) -> PlacedBlock: # TODO don't count borders as part of a block's width / height ASPECT_RATIO = 16 / 9 - sub_placed: List[Tuple[float, float, Union[PlacedBlock, NetBlock]]] = [] # (width, height, PlacedBlock or footprint) + sub_placed: List[Tuple[float, float, Union[PlacedBlock, NetBlock, BlackBoxBlock]]] = [] # (width, height, entry) for subblock in block_subblocks.get(root, set()): subplaced = arrange_hierarchy(root + (subblock,)) sub_placed.append((subplaced.width + BLOCK_BORDER, subplaced.height + BLOCK_BORDER, subplaced)) @@ -55,10 +60,10 @@ def arrange_hierarchy(root: Tuple[str, ...]) -> PlacedBlock: for footprint in block_footprints.get(root, []): if isinstance(footprint, NetBlock): bbox = FootprintDataTable.bbox_of(footprint.footprint) or (1, 1, 1, 1) + entry: Union[PlacedBlock, NetBlock, BlackBoxBlock] = footprint + elif isinstance(footprint, BlackBoxBlock): + bbox = footprint.bbox entry = footprint - elif isinstance(footprint, tuple): - bbox = footprint - # key = else: raise TypeError() width = bbox[2] - bbox[0] + FOOTPRINT_BORDER @@ -101,6 +106,9 @@ def arrange_hierarchy(root: Tuple[str, ...]) -> PlacedBlock: elif isinstance(entry, NetBlock): # account for footprint origin, flipping y-axis bbox = FootprintDataTable.bbox_of(entry.footprint) or (0, 0, 0, 0) elts.append((entry.full_path, (next_x - bbox[0], next_y + bbox[3]))) + elif isinstance(entry, BlackBoxBlock): # account for footprint origin, flipping y-axis + bbox = entry.bbox + elts.append((entry.path, (next_x - bbox[0], next_y + bbox[3]))) x_stack.append((next_x + width, next_y, next_y + height)) x_max = max(x_max, next_x + width) y_max = max(y_max, next_y + height) @@ -185,7 +193,7 @@ def filter_blocks_by_pathname(blocks: List[NetBlock], exclude_prefixes: List[Tup # handle blocks with svgpcb templates svgpcb_blocks = SvgPcbTransform(design, netlist).run() - svgpcb_block_bboxes = [(block.path, block.bbox) for block in svgpcb_blocks] + svgpcb_block_bboxes = [BlackBoxBlock(block.path, block.bbox) for block in svgpcb_blocks] # handle footprints netlist = NetlistTransform(design).run() @@ -196,18 +204,19 @@ def filter_blocks_by_pathname(blocks: List[NetBlock], exclude_prefixes: List[Tup # note, dimensions in inches, divide by 25.4 to convert from mm svgpcb_block_instantiations = [] - for block in svgpcb_blocks: - x_pos, y_pos = pos_dict.get(block.path, (0, 0)) # in mm, need to convert to in below - block_code = f"const {SvgPcbTemplateBlock._svgpcb_pathname_to_svgpcb(block.path)} = {block.fn_name}(pt({x_pos/25.4:.3f}, {y_pos/25.4:.3f}))" + for svgpcb_block in svgpcb_blocks: + x_pos, y_pos = pos_dict.get(svgpcb_block.path, (0, 0)) # in mm, need to convert to in below + block_code = f"const {SvgPcbTemplateBlock._svgpcb_pathname_to_svgpcb(svgpcb_block.path)} = {svgpcb_block.fn_name}(pt({x_pos/25.4:.3f}, {y_pos/25.4:.3f}))" svgpcb_block_instantiations.append(block_code) other_block_instantiations = [] - for block in other_blocks: - x_pos, y_pos = pos_dict.get(block.full_path, (0, 0)) # in mm, need to convert to in below + for net_block in other_blocks: + x_pos, y_pos = pos_dict.get(net_block.full_path, (0, 0)) # in mm, need to convert to in below block_code = f"""\ -const {block.refdes} = board.add({SvgPcbTemplateBlock._svgpcb_footprint_to_svgpcb(block.footprint)}, {{ +// {net_block.path} +const {net_block.refdes} = board.add({SvgPcbTemplateBlock._svgpcb_footprint_to_svgpcb(net_block.footprint)}, {{ translate: pt({x_pos/25.4:.3f}, {y_pos/25.4:.3f}), rotate: 0, - id: '{block.refdes}' + id: '{net_block.refdes}' }})""" other_block_instantiations.append(block_code) From bf4299adb7fc5f429eca31db4b48e2e826dfe4c9 Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Tue, 24 Jun 2025 21:34:15 -0700 Subject: [PATCH 08/19] with tests --- edg/electronics_model/test_partplacer.py | 30 +++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/edg/electronics_model/test_partplacer.py b/edg/electronics_model/test_partplacer.py index 51619bf76..b0a9838c8 100644 --- a/edg/electronics_model/test_partplacer.py +++ b/edg/electronics_model/test_partplacer.py @@ -2,7 +2,7 @@ from . import TransformUtil from .NetlistGenerator import NetBlock -from .SvgPcbBackend import arrange_blocks, flatten_packed_block, PlacedBlock +from .SvgPcbBackend import arrange_blocks, flatten_packed_block, PlacedBlock, BlackBoxBlock class PartPlacerTestCase(unittest.TestCase): @@ -20,10 +20,13 @@ def test_placement(self): full_path=TransformUtil.Path.empty().append_block("R2"), path=[], class_path=[] ) arranged = arrange_blocks([u1, r1, r2]) + self.assertEqual(arranged.elts[0][0], TransformUtil.Path.empty().append_block("U1")) self.assertAlmostEqual(arranged.elts[0][1][0], 5.15, places=2) self.assertAlmostEqual(arranged.elts[0][1][1], 5.15, places=2) + self.assertEqual(arranged.elts[1][0], TransformUtil.Path.empty().append_block("R1")) self.assertAlmostEqual(arranged.elts[1][1][0], 12.78, places=2) self.assertAlmostEqual(arranged.elts[1][1][1], 0.73, places=2) + self.assertEqual(arranged.elts[2][0], TransformUtil.Path.empty().append_block("R2")) self.assertAlmostEqual(arranged.elts[2][1][0], 12.78, places=2) self.assertAlmostEqual(arranged.elts[2][1][1], 3.19, places=2) @@ -49,16 +52,20 @@ def test_placement_hierarchical(self): self.assertAlmostEqual(arranged.elts[0][1][0], 0, places=2) self.assertAlmostEqual(arranged.elts[0][1][1], 0, places=2) assert isinstance(arranged.elts[0][0], PlacedBlock) + self.assertEqual(arranged.elts[0][0].elts[0][0], TransformUtil.Path.empty().append_block("A").append_block("U1")) self.assertAlmostEqual(arranged.elts[0][0].elts[0][1][0], 5.15, places=2) self.assertAlmostEqual(arranged.elts[0][0].elts[0][1][1], 5.15, places=2) + self.assertEqual(arranged.elts[0][0].elts[1][0], TransformUtil.Path.empty().append_block("A").append_block("R1")) self.assertAlmostEqual(arranged.elts[0][0].elts[1][1][0], 12.78, places=2) self.assertAlmostEqual(arranged.elts[0][0].elts[1][1][1], 0.73, places=2) + self.assertEqual(arranged.elts[0][0].elts[2][0], TransformUtil.Path.empty().append_block("A").append_block("R2")) self.assertAlmostEqual(arranged.elts[0][0].elts[2][1][0], 12.78, places=2) self.assertAlmostEqual(arranged.elts[0][0].elts[2][1][1], 3.19, places=2) self.assertAlmostEqual(arranged.elts[1][1][0], 0, places=2) self.assertAlmostEqual(arranged.elts[1][1][1], 13.3, places=2) assert isinstance(arranged.elts[1][0], PlacedBlock) + self.assertEqual(arranged.elts[1][0].elts[0][0], TransformUtil.Path.empty().append_block("B").append_block("R3")) self.assertAlmostEqual(arranged.elts[1][0].elts[0][1][0], 1.48, places=2) self.assertAlmostEqual(arranged.elts[1][0].elts[0][1][1], 0.73, places=2) @@ -69,3 +76,24 @@ def test_placement_hierarchical(self): self.assertAlmostEqual(flattened[TransformUtil.Path.empty().append_block('A').append_block('R1')][1], 0.73, places=2) self.assertAlmostEqual(flattened[TransformUtil.Path.empty().append_block('B').append_block('R3')][0], 1.48, places=2) self.assertAlmostEqual(flattened[TransformUtil.Path.empty().append_block('B').append_block('R3')][1], 14.03, places=2) + + def test_placement_bbox(self): + r1 = NetBlock( + footprint="Resistor_SMD:R_0603_1608Metric", refdes="R1", part="", value="", + full_path=TransformUtil.Path.empty().append_block("R1"), path=[], class_path=[] + ) + r2 = NetBlock( + footprint="Resistor_SMD:R_0603_1608Metric", refdes="R2", part="", value="", + full_path=TransformUtil.Path.empty().append_block("R2"), path=[], class_path=[] + ) + arranged = arrange_blocks([r1, r2], + [BlackBoxBlock(TransformUtil.Path.empty().append_block("box"), (-5, -5, 5, 5))]) + self.assertEqual(arranged.elts[0][0], TransformUtil.Path.empty().append_block("box")) + self.assertAlmostEqual(arranged.elts[0][1][0], 5, places=2) + self.assertAlmostEqual(arranged.elts[0][1][1], 5, places=2) + self.assertEqual(arranged.elts[1][0], TransformUtil.Path.empty().append_block("R1")) + self.assertAlmostEqual(arranged.elts[1][1][0], 12.48, places=2) + self.assertAlmostEqual(arranged.elts[1][1][1], 0.73, places=2) + self.assertEqual(arranged.elts[2][0], TransformUtil.Path.empty().append_block("R2")) + self.assertAlmostEqual(arranged.elts[2][1][0], 12.48, places=2) + self.assertAlmostEqual(arranged.elts[2][1][1], 3.19, places=2) \ No newline at end of file From 8d43cced385f891aab2a3ada19670edfb8fc053f Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Tue, 24 Jun 2025 21:40:26 -0700 Subject: [PATCH 09/19] wip --- edg/electronics_model/SvgPcbTemplateBlock.py | 3 +++ edg/parts/Neopixel.py | 5 ++++- edg/parts/SwitchMatrix.py | 7 +++++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/edg/electronics_model/SvgPcbTemplateBlock.py b/edg/electronics_model/SvgPcbTemplateBlock.py index cf87a8fdc..aa4df5750 100644 --- a/edg/electronics_model/SvgPcbTemplateBlock.py +++ b/edg/electronics_model/SvgPcbTemplateBlock.py @@ -57,8 +57,10 @@ def _svgpcb_refdes_of(self, block_ref: List[str]) -> Tuple[str, int]: """Returns the refdes of a block, as a tuple of prefix and number, or crashes if the block is not valid.""" footprint_path = self._svgpcb_footprint_block_path_of(block_ref) + assert footprint_path is not None refdes_path = footprint_path.append_param('fp_refdes') refdes = self._svgpcb_design.get_value(refdes_path.to_local_path()) + assert isinstance(refdes, str) assert refdes is not None for i in reversed(range(len(refdes))): if refdes[i].isalpha(): @@ -89,6 +91,7 @@ def _svgpcb_pin_of(self, block_ref: List[str], pin_ref: List[str]) -> Optional[s """Infrastructure method, given a footprint path from _svgpcb_footprint_block_path_of and a port that should be connected to one of its pins, returns the footprint pin that the port is connected to, if any.""" footprint_path = self._svgpcb_footprint_block_path_of(block_ref) + assert footprint_path is not None port_path = footprint_path.append_port(*pin_ref) candidate_nets = [net for net in self._svgpcb_netlist.nets if port_path in net.ports] diff --git a/edg/parts/Neopixel.py b/edg/parts/Neopixel.py index ca4ef6e71..4848b2f06 100644 --- a/edg/parts/Neopixel.py +++ b/edg/parts/Neopixel.py @@ -1,4 +1,4 @@ -from typing import Optional +from typing import Optional, Tuple from ..abstract_parts import * from .JlcPart import JlcPart @@ -312,3 +312,6 @@ def _svgpcb_template(self) -> str: return obj }} """ + + def _svgpcb_bbox(self) -> Tuple[float, float, float, float]: + return -1.0, -1.0, 1.0, 1.0 diff --git a/edg/parts/SwitchMatrix.py b/edg/parts/SwitchMatrix.py index a9dd05f1e..3f992550a 100644 --- a/edg/parts/SwitchMatrix.py +++ b/edg/parts/SwitchMatrix.py @@ -1,4 +1,4 @@ -from typing import cast, Optional +from typing import cast, Optional, Tuple from ..abstract_parts import * @@ -32,7 +32,7 @@ def _svgpcb_template(self) -> str: assert all([pin is not None for pin in [switch_sw_pin, switch_com_pin, diode_a_pin, diode_k_pin]]) return f"""\ -function {self._svgpcb_fn_name()}(xy, colSpacing=1, rowSpacing=1, diodeOffset=[0.25, 0]) {{ +function {self._svgpcb_fn_name()}(xy, colSpacing=0.5, rowSpacing=0.5, diodeOffset=[0.25, 0]) {{ // Circuit generator params const ncols = {self._svgpcb_get_js(self.ncols)} const nrows = {self._svgpcb_get_js(self.nrows)} @@ -103,6 +103,9 @@ def _svgpcb_template(self) -> str: }} """ + def _svgpcb_bbox(self) -> Tuple[float, float, float, float]: + return 0.0, 0.0, self._svgpcb_get(self.ncols) * 0.5 * 25.4, (self._svgpcb_get(self.nrows) + 1) * .5 * 25.4 + @init_in_parent def __init__(self, nrows: IntLike, ncols: IntLike, voltage_drop: RangeLike = (0, 0.7)*Volt): super().__init__() From d891cd9e5d6aa4736ce47cc30163381d566cb226 Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Tue, 24 Jun 2025 21:51:03 -0700 Subject: [PATCH 10/19] fixes --- edg/electronics_model/SvgPcbBackend.py | 4 ++-- edg/parts/LedMatrix.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/edg/electronics_model/SvgPcbBackend.py b/edg/electronics_model/SvgPcbBackend.py index 7080d45f3..10ecebd34 100644 --- a/edg/electronics_model/SvgPcbBackend.py +++ b/edg/electronics_model/SvgPcbBackend.py @@ -108,7 +108,7 @@ def arrange_hierarchy(root: Tuple[str, ...]) -> PlacedBlock: elts.append((entry.full_path, (next_x - bbox[0], next_y + bbox[3]))) elif isinstance(entry, BlackBoxBlock): # account for footprint origin, flipping y-axis bbox = entry.bbox - elts.append((entry.path, (next_x - bbox[0], next_y + bbox[3]))) + elts.append((entry.path, (next_x - bbox[0], next_y - bbox[0]))) x_stack.append((next_x + width, next_y, next_y + height)) x_max = max(x_max, next_x + width) y_max = max(y_max, next_y + height) @@ -213,7 +213,7 @@ def filter_blocks_by_pathname(blocks: List[NetBlock], exclude_prefixes: List[Tup for net_block in other_blocks: x_pos, y_pos = pos_dict.get(net_block.full_path, (0, 0)) # in mm, need to convert to in below block_code = f"""\ -// {net_block.path} +// {net_block.full_path} const {net_block.refdes} = board.add({SvgPcbTemplateBlock._svgpcb_footprint_to_svgpcb(net_block.footprint)}, {{ translate: pt({x_pos/25.4:.3f}, {y_pos/25.4:.3f}), rotate: 0, id: '{net_block.refdes}' diff --git a/edg/parts/LedMatrix.py b/edg/parts/LedMatrix.py index e83648bfc..89ec86178 100644 --- a/edg/parts/LedMatrix.py +++ b/edg/parts/LedMatrix.py @@ -53,9 +53,9 @@ def _svgpcb_template(self) -> str: for (let xIndex=0; xIndex < kXCount; xIndex++) {{ ledPos = [xy[0] + colSpacing * xIndex, xy[1] + rowSpacing * yIndex] - obj.footprints[`{led_reftype}${{{led_refnum} + yIndex + xIndex * kXCount}}`] = led = board.add({led_footprint}, {{ + obj.footprints[`{led_reftype}${{{led_refnum} + yIndex + xIndex * kYCount}}`] = led = board.add({led_footprint}, {{ translate: ledPos, - id: `{led_reftype}${{{led_refnum} + yIndex + xIndex * kXCount}}` + id: `{led_reftype}${{{led_refnum} + yIndex + xIndex * kYCount}}` }}) rowLeds.push(led) From ab2f674797abf5b24a1c79ed84b903f3d7e5c5b8 Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Tue, 24 Jun 2025 21:54:06 -0700 Subject: [PATCH 11/19] boundaries --- edg/parts/LedMatrix.py | 3 ++- edg/parts/Neopixel.py | 2 +- edg/parts/SwitchMatrix.py | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/edg/parts/LedMatrix.py b/edg/parts/LedMatrix.py index 89ec86178..7b043023a 100644 --- a/edg/parts/LedMatrix.py +++ b/edg/parts/LedMatrix.py @@ -161,7 +161,8 @@ def _svgpcb_template(self) -> str: """ def _svgpcb_bbox(self) -> Tuple[float, float, float, float]: - return 0.0, 0.0, self._svgpcb_get(self.ncols) * .2 * 25.4, (self._svgpcb_get(self.nrows) + 1) * .2 * 25.4 + return (-1.0, -1.0, + self._svgpcb_get(self.ncols) * .2 * 25.4 + 1.0, (self._svgpcb_get(self.nrows) + 1) * .2 * 25.4 + 1.0) @init_in_parent def __init__(self, nrows: IntLike, ncols: IntLike, diff --git a/edg/parts/Neopixel.py b/edg/parts/Neopixel.py index 4848b2f06..b74868b7b 100644 --- a/edg/parts/Neopixel.py +++ b/edg/parts/Neopixel.py @@ -314,4 +314,4 @@ def _svgpcb_template(self) -> str: """ def _svgpcb_bbox(self) -> Tuple[float, float, float, float]: - return -1.0, -1.0, 1.0, 1.0 + return -25.4 - 1.0, -25.4 - 1.0, 25.4 + 1.0, 25.4 + 1.0 diff --git a/edg/parts/SwitchMatrix.py b/edg/parts/SwitchMatrix.py index 3f992550a..dae314f57 100644 --- a/edg/parts/SwitchMatrix.py +++ b/edg/parts/SwitchMatrix.py @@ -104,7 +104,8 @@ def _svgpcb_template(self) -> str: """ def _svgpcb_bbox(self) -> Tuple[float, float, float, float]: - return 0.0, 0.0, self._svgpcb_get(self.ncols) * 0.5 * 25.4, (self._svgpcb_get(self.nrows) + 1) * .5 * 25.4 + return (-1.0, -1.0, + self._svgpcb_get(self.ncols) * 0.5 * 25.4 + 1.0, (self._svgpcb_get(self.nrows) + 1) * .5 * 25.4 + 1.0) @init_in_parent def __init__(self, nrows: IntLike, ncols: IntLike, voltage_drop: RangeLike = (0, 0.7)*Volt): From 51a8b02ffe76f30f8e3f22dd0bf055442183a8e7 Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Tue, 24 Jun 2025 22:06:04 -0700 Subject: [PATCH 12/19] Update SvgPcbBackend.py --- edg/electronics_model/SvgPcbBackend.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/edg/electronics_model/SvgPcbBackend.py b/edg/electronics_model/SvgPcbBackend.py index 10ecebd34..905927aac 100644 --- a/edg/electronics_model/SvgPcbBackend.py +++ b/edg/electronics_model/SvgPcbBackend.py @@ -220,12 +220,22 @@ def filter_blocks_by_pathname(blocks: List[NetBlock], exclude_prefixes: List[Tup }})""" other_block_instantiations.append(block_code) + net_blocks_by_path = {net_block.full_path: net_block for net_block in netlist.blocks} + netlist_code_entries = [] + for net in netlist.nets: + pads_code = [f"""["{net_blocks_by_path[pin.block_path].refdes}", "{pin.pin_name}"]""" for pin in net.pins] + netlist_code_entries.append(f""" {{name: "{net.name}", pads: [{', '.join(pads_code)}]}}""") + NEWLINE = '\n' full_code = f"""\ const board = new PCB(); {NEWLINE.join(svgpcb_block_instantiations + other_block_instantiations)} +board.setNetlist([ +{NEWLINE.join(netlist_code_entries)} +]) + const limit0 = pt(-{2/25.4}, -{2/25.4}); const limit1 = pt({arranged_blocks.width/25.4}, {arranged_blocks.height/25.4}); const xMin = Math.min(limit0[0], limit1[0]); From 8436ad47b8fc37c99b39c125dc51cc07737269bd Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Tue, 24 Jun 2025 22:09:27 -0700 Subject: [PATCH 13/19] Update LedMatrix.py --- edg/parts/LedMatrix.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edg/parts/LedMatrix.py b/edg/parts/LedMatrix.py index 7b043023a..a7a9e4bb8 100644 --- a/edg/parts/LedMatrix.py +++ b/edg/parts/LedMatrix.py @@ -102,7 +102,7 @@ def _svgpcb_template(self) -> str: const resPos = [xy[0] + colSpacing * xIndex, xy[1] + rowSpacing * kYCount] obj.footprints[`{res_reftype}${{{res_refnum} + xIndex + 1}}`] = res = board.add({res_footprint}, {{ translate: resPos, - id: `{res_reftype}${{{res_refnum} + xIndex + 1}}` + id: `{res_reftype}${{{res_refnum} + xIndex}}` }}) allResistors.push(res) From d1a8e0c549a536097e56af8922bcaf1bf6cc8bbf Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Tue, 24 Jun 2025 22:13:01 -0700 Subject: [PATCH 14/19] fix netcode --- edg/electronics_model/SvgPcbBackend.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/edg/electronics_model/SvgPcbBackend.py b/edg/electronics_model/SvgPcbBackend.py index 905927aac..defd16c72 100644 --- a/edg/electronics_model/SvgPcbBackend.py +++ b/edg/electronics_model/SvgPcbBackend.py @@ -224,7 +224,7 @@ def filter_blocks_by_pathname(blocks: List[NetBlock], exclude_prefixes: List[Tup netlist_code_entries = [] for net in netlist.nets: pads_code = [f"""["{net_blocks_by_path[pin.block_path].refdes}", "{pin.pin_name}"]""" for pin in net.pins] - netlist_code_entries.append(f""" {{name: "{net.name}", pads: [{', '.join(pads_code)}]}}""") + netlist_code_entries.append(f"""{{name: "{net.name}", pads: [{', '.join(pads_code)}]}}""") NEWLINE = '\n' full_code = f"""\ @@ -233,7 +233,7 @@ def filter_blocks_by_pathname(blocks: List[NetBlock], exclude_prefixes: List[Tup {NEWLINE.join(svgpcb_block_instantiations + other_block_instantiations)} board.setNetlist([ -{NEWLINE.join(netlist_code_entries)} + {("," + NEWLINE + " ").join(netlist_code_entries)} ]) const limit0 = pt(-{2/25.4}, -{2/25.4}); From 59fdb51c6d80bac7616f8c9b7e5fa4895b647cfa Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Tue, 24 Jun 2025 22:19:48 -0700 Subject: [PATCH 15/19] update generated --- .../BasicKeyboard/BasicKeyboard.svgpcb.js | 38 +- .../BldcController/BldcController.svgpcb.js | 533 +++--- examples/CanAdapter/CanAdapter.svgpcb.js | 297 ++-- examples/Datalogger/Datalogger.svgpcb.js | 664 ++++--- .../DeskController/DeskController.svgpcb.js | 569 +++--- examples/EspLora/EspLora.svgpcb.js | 627 ++++--- .../EspProgrammer/EspProgrammer.svgpcb.js | 147 +- examples/Fcml/Fcml.svgpcb.js | 1032 +++++++---- examples/HighSwitch/HighSwitch.svgpcb.js | 598 ++++--- examples/IotDisplay/IotDisplay.svgpcb.js | 462 +++-- examples/IotFan/IotFan.svgpcb.js | 469 +++-- examples/IotIron/IotIron.svgpcb.js | 599 ++++--- examples/IotKnob/IotKnob.svgpcb.js | 714 +++++--- examples/IotLedDriver/IotLedDriver.svgpcb.js | 473 +++-- .../IotThermalCamera.svgpcb.js | 322 ++-- .../JacdacKeyswitch/JacdacKeyswitch.svgpcb.js | 232 ++- examples/Keyboard/Keyboard.svgpcb.js | 204 ++- examples/Multimeter/Multimeter.svgpcb.js | 672 ++++--- examples/PcbBot/PcbBot.svgpcb.js | 656 ++++--- examples/PicoProbe/PicoProbe.svgpcb.js | 267 ++- .../ProtectedCharger.svgpcb.js | 125 +- examples/RobotCrawler/RobotCrawler.svgpcb.js | 697 +++++--- examples/RobotDriver/RobotDriver.svgpcb.js | 516 ++++-- examples/RobotOwl/RobotOwl.svgpcb.js | 287 +-- examples/SevenSegment/SevenSegment.svgpcb.js | 808 +++++---- examples/Simon/Simon.svgpcb.js | 275 +-- examples/SwdDebugger/SwdDebugger.svgpcb.js | 260 ++- .../TestBlinkyArray/TestBlinkyArray.svgpcb.js | 162 +- .../TestBlinkyBasic/TestBlinkyBasic.svgpcb.js | 23 +- .../TestBlinkyBasicBattery.svgpcb.js | 47 +- .../TestBlinkyChain/TestBlinkyChain.svgpcb.js | 177 +- .../TestBlinkyComplete.svgpcb.js | 127 +- .../TestBlinkyEmpty/TestBlinkyEmpty.svgpcb.js | 4 + .../TestBlinkyExpanded.svgpcb.js | 177 +- .../TestBlinkyImplicit.svgpcb.js | 177 +- .../TestBlinkyMicro/TestBlinkyMicro.svgpcb.js | 170 +- .../TestBlinkyPacked.svgpcb.js | 147 +- .../TestBlinkyWithLibrary.svgpcb.js | 181 +- .../TestBlinkyWithLibraryExport.svgpcb.js | 181 +- ...BlinkyWithModeledSchematicImport.svgpcb.js | 174 +- .../TestBlinkyWithSchematicImport.svgpcb.js | 174 +- examples/TofArray/TofArray.svgpcb.js | 427 +++-- .../UsbFpgaProgrammer.svgpcb.js | 229 ++- examples/UsbKey/UsbKey.svgpcb.js | 113 +- .../UsbSourceMeasure.svgpcb.js | 1552 +++++++++++------ examples/UsbUart/UsbUart.svgpcb.js | 112 +- 46 files changed, 10871 insertions(+), 6026 deletions(-) diff --git a/examples/BasicKeyboard/BasicKeyboard.svgpcb.js b/examples/BasicKeyboard/BasicKeyboard.svgpcb.js index 62997939c..18fddb8af 100644 --- a/examples/BasicKeyboard/BasicKeyboard.svgpcb.js +++ b/examples/BasicKeyboard/BasicKeyboard.svgpcb.js @@ -1,13 +1,31 @@ const board = new PCB(); -const sw = SwitchMatrix_2_3_sw(pt(0, 0)) -const mcu = board.add(XIAO_RP2040_SMD, { - translate: pt(0.348, 1.824), rotate: 0, - id: 'mcu' +const sw = SwitchMatrix_2_3_sw(pt(0.039, 0.039)) +// mcu +const U1 = board.add(XIAO_RP2040_SMD, { + translate: pt(1.466, 0.410), rotate: 0, + id: 'U1' }) +board.setNetlist([ + {name: "mcu.gpio.0_0", pads: [["U1", "7"], ["SW1", "2"], ["SW2", "2"], ["SW3", "2"]]}, + {name: "mcu.gpio.0_1", pads: [["U1", "8"], ["SW4", "2"], ["SW5", "2"], ["SW6", "2"]]}, + {name: "mcu.gpio.1_0", pads: [["U1", "9"], ["D1", "2"], ["D4", "2"]]}, + {name: "mcu.gpio.1_1", pads: [["U1", "11"], ["D2", "2"], ["D5", "2"]]}, + {name: "mcu.gpio.1_2", pads: [["U1", "10"], ["D3", "2"], ["D6", "2"]]}, + {name: "mcu.pwr_out", pads: [["U1", "12"]]}, + {name: "mcu.gnd", pads: [["U1", "13"]]}, + {name: "mcu.vusb_out", pads: [["U1", "14"]]}, + {name: "sw.d[0,0].cathode", pads: [["D1", "1"], ["SW1", "1"]]}, + {name: "sw.d[0,1].cathode", pads: [["D2", "1"], ["SW2", "1"]]}, + {name: "sw.d[0,2].cathode", pads: [["D3", "1"], ["SW3", "1"]]}, + {name: "sw.d[1,0].cathode", pads: [["D4", "1"], ["SW4", "1"]]}, + {name: "sw.d[1,1].cathode", pads: [["D5", "1"], ["SW5", "1"]]}, + {name: "sw.d[1,2].cathode", pads: [["D6", "1"], ["SW6", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); -const limit1 = pt(2.039370078740158, 2.3332677165354334); +const limit1 = pt(1.85748031496063, 2.1181102362204722); const xMin = Math.min(limit0[0], limit1[0]); const xMax = Math.max(limit0[0], limit1[0]); const yMin = Math.min(limit0[1], limit1[1]); @@ -44,7 +62,7 @@ renderPCB({ mmPerUnit: 25.4 }) -function SwitchMatrix_2_3_sw(xy, colSpacing=1, rowSpacing=1, diodeOffset=[0.25, 0]) { +function SwitchMatrix_2_3_sw(xy, colSpacing=0.5, rowSpacing=0.5, diodeOffset=[0.25, 0]) { // Circuit generator params const ncols = 2 const nrows = 3 @@ -69,19 +87,19 @@ function SwitchMatrix_2_3_sw(xy, colSpacing=1, rowSpacing=1, diodeOffset=[0.25, index = yIndex * ncols + xIndex + 1 buttonPos = [xy[0] + colSpacing * xIndex, xy[1] + rowSpacing * yIndex] - obj.footprints[`SW{1 + xIndex * nrows + yIndex}`] = button = board.add( + obj.footprints[`SW${1 + xIndex * nrows + yIndex}`] = button = board.add( SW_Hotswap_Kailh_MX, { translate: buttonPos, rotate: 0, - id: `SW{1 + xIndex * nrows + yIndex}` + id: `SW${1 + xIndex * nrows + yIndex}` }) diodePos = [buttonPos[0] + diodeOffset[0], buttonPos[1] + diodeOffset[1]] - obj[`D{1 + xIndex * nrows + yIndex}`] = diode = board.add( + obj[`D${1 + xIndex * nrows + yIndex}`] = diode = board.add( D_SOD_323, { translate: diodePos, rotate: 90, - id: `D{1 + xIndex * nrows + yIndex}` + id: `D${1 + xIndex * nrows + yIndex}` }) // create stub wire for button -> column common line diff --git a/examples/BldcController/BldcController.svgpcb.js b/examples/BldcController/BldcController.svgpcb.js index dba6eb50d..fe8a5ec2d 100644 --- a/examples/BldcController/BldcController.svgpcb.js +++ b/examples/BldcController/BldcController.svgpcb.js @@ -1,304 +1,429 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { - translate: pt(0.235, 1.763), rotate: 0, - id: 'jlc_th_th1' -}) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { - translate: pt(0.274, 1.763), rotate: 0, - id: 'jlc_th_th2' -}) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { - translate: pt(0.235, 1.802), rotate: 0, - id: 'jlc_th_th3' -}) -const mcu = board.add(FEATHERWING_NODIM, { - translate: pt(0.392, 1.763), rotate: 0, - id: 'mcu' -}) -const motor_pwr_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(0.096, 1.286), rotate: 0, - id: 'motor_pwr_conn' +// jlc_th.th1 +const H1 = board.add(JlcToolingHole_1_152mm, { + translate: pt(0.735, 1.763), rotate: 0, + id: 'H1' +}) +// jlc_th.th2 +const H2 = board.add(JlcToolingHole_1_152mm, { + translate: pt(0.775, 1.763), rotate: 0, + id: 'H2' +}) +// jlc_th.th3 +const H3 = board.add(JlcToolingHole_1_152mm, { + translate: pt(0.735, 1.803), rotate: 0, + id: 'H3' +}) +// mcu +const U1 = board.add(FEATHERWING_NODIM, { + translate: pt(0.893, 1.763), rotate: 0, + id: 'U1' +}) +// motor_pwr.conn +const J1 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { + translate: pt(1.112, 1.286), rotate: 0, + id: 'J1' }) -const sw1_package = board.add(SW_SPST_SKQG_WithoutStem, { +// sw1.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(1.753, 0.919), rotate: 0, - id: 'sw1_package' -}) -const ledr_package = board.add(LED_0603_1608Metric, { - translate: pt(1.872, 1.185), rotate: 0, - id: 'ledr_package' + id: 'SW1' }) -const ledr_res = board.add(R_0603_1608Metric, { - translate: pt(1.872, 1.282), rotate: 0, - id: 'ledr_res' -}) -const ledg_package = board.add(LED_0603_1608Metric, { - translate: pt(2.342, 1.185), rotate: 0, - id: 'ledg_package' -}) -const ledg_res = board.add(R_0603_1608Metric, { - translate: pt(2.341, 1.282), rotate: 0, - id: 'ledg_res' -}) -const ledb_package = board.add(LED_0603_1608Metric, { - translate: pt(2.107, 1.185), rotate: 0, - id: 'ledb_package' -}) -const ledb_res = board.add(R_0603_1608Metric, { - translate: pt(2.106, 1.282), rotate: 0, - id: 'ledb_res' -}) -const i2c_pull_scl_res_res = board.add(R_0603_1608Metric, { +// ledr.package +const D1 = board.add(LED_0603_1608Metric, { translate: pt(0.293, 1.519), rotate: 0, - id: 'i2c_pull_scl_res_res' + id: 'D1' }) -const i2c_pull_sda_res_res = board.add(R_0603_1608Metric, { - translate: pt(0.293, 1.616), rotate: 0, - id: 'i2c_pull_sda_res_res' +// ledr.res +const R1 = board.add(R_0603_1608Metric, { + translate: pt(0.293, 1.617), rotate: 0, + id: 'R1' }) -const i2c_tp_tp_scl_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.629, 1.193), rotate: 0, - id: 'i2c_tp_tp_scl_tp' +// ledg.package +const D2 = board.add(LED_0603_1608Metric, { + translate: pt(2.340, 1.185), rotate: 0, + id: 'D2' }) -const i2c_tp_tp_sda_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.629, 1.307), rotate: 0, - id: 'i2c_tp_tp_sda_tp' +// ledg.res +const R2 = board.add(R_0603_1608Metric, { + translate: pt(2.340, 1.282), rotate: 0, + id: 'R2' }) -const i2c_conn = board.add(JST_PH_B4B_PH_K_1x04_P2_00mm_Vertical, { - translate: pt(1.112, 1.286), rotate: 0, - id: 'i2c_conn' +// ledb.package +const D3 = board.add(LED_0603_1608Metric, { + translate: pt(0.058, 1.519), rotate: 0, + id: 'D3' +}) +// ledb.res +const R3 = board.add(R_0603_1608Metric, { + translate: pt(0.058, 1.617), rotate: 0, + id: 'R3' +}) +// i2c_pull.scl_res.res +const R4 = board.add(R_0603_1608Metric, { + translate: pt(0.763, 1.519), rotate: 0, + id: 'R4' +}) +// i2c_pull.sda_res.res +const R5 = board.add(R_0603_1608Metric, { + translate: pt(0.763, 1.616), rotate: 0, + id: 'R5' +}) +// i2c_tp.tp_scl.tp +const TP1 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.098, 1.193), rotate: 0, + id: 'TP1' +}) +// i2c_tp.tp_sda.tp +const TP2 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.098, 1.307), rotate: 0, + id: 'TP2' +}) +// i2c.conn +const J2 = board.add(JST_PH_B4B_PH_K_1x04_P2_00mm_Vertical, { + translate: pt(0.096, 1.286), rotate: 0, + id: 'J2' }) -const ref_div_div_top_res = board.add(R_0603_1608Metric, { +// ref_div.div.top_res +const R6 = board.add(R_0603_1608Metric, { translate: pt(0.528, 1.519), rotate: 0, - id: 'ref_div_div_top_res' + id: 'R6' }) -const ref_div_div_bottom_res = board.add(R_0603_1608Metric, { +// ref_div.div.bottom_res +const R7 = board.add(R_0603_1608Metric, { translate: pt(0.528, 1.616), rotate: 0, - id: 'ref_div_div_bottom_res' + id: 'R7' }) -const ref_buf_amp_ic = board.add(SOT_23_5, { +// ref_buf.amp.ic +const U2 = board.add(SOT_23_5, { translate: pt(0.952, 0.874), rotate: 0, - id: 'ref_buf_amp_ic' + id: 'U2' }) -const ref_buf_amp_vdd_cap_cap = board.add(C_0603_1608Metric, { +// ref_buf.amp.vdd_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(0.929, 1.009), rotate: 0, - id: 'ref_buf_amp_vdd_cap_cap' + id: 'C1' }) -const ref_tp_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.271, 1.528), rotate: 0, - id: 'ref_tp_tp' +// ref_tp.tp +const TP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.066, 1.801), rotate: 0, + id: 'TP3' }) -const hall_conn = board.add(JST_PH_B5B_PH_K_1x05_P2_00mm_Vertical, { - translate: pt(0.486, 1.286), rotate: 0, - id: 'hall_conn' +// hall.conn +const J3 = board.add(JST_PH_B5B_PH_K_1x05_P2_00mm_Vertical, { + translate: pt(1.502, 1.286), rotate: 0, + id: 'J3' }) -const hall_pull_res_u__res = board.add(R_0603_1608Metric, { +// hall_pull.res[u].res +const R8 = board.add(R_0603_1608Metric, { translate: pt(2.376, 0.029), rotate: 0, - id: 'hall_pull_res_u__res' + id: 'R8' }) -const hall_pull_res_v__res = board.add(R_0603_1608Metric, { +// hall_pull.res[v].res +const R9 = board.add(R_0603_1608Metric, { translate: pt(2.376, 0.126), rotate: 0, - id: 'hall_pull_res_v__res' + id: 'R9' }) -const hall_pull_res_w__res = board.add(R_0603_1608Metric, { +// hall_pull.res[w].res +const R10 = board.add(R_0603_1608Metric, { translate: pt(2.376, 0.222), rotate: 0, - id: 'hall_pull_res_w__res' + id: 'R10' }) -const hall_tp_tp_u__tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.134, 0.037), rotate: 0, - id: 'hall_tp_tp_u__tp' +// hall_tp.tp[u].tp +const TP4 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.883, 0.037), rotate: 0, + id: 'TP4' }) -const hall_tp_tp_v__tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.134, 0.152), rotate: 0, - id: 'hall_tp_tp_v__tp' +// hall_tp.tp[v].tp +const TP5 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.883, 0.152), rotate: 0, + id: 'TP5' }) -const hall_tp_tp_w__tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.134, 0.266), rotate: 0, - id: 'hall_tp_tp_w__tp' +// hall_tp.tp[w].tp +const TP6 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.883, 0.266), rotate: 0, + id: 'TP6' }) -const vsense_div_top_res = board.add(R_0603_1608Metric, { - translate: pt(0.058, 1.519), rotate: 0, - id: 'vsense_div_top_res' +// vsense.div.top_res +const R11 = board.add(R_0603_1608Metric, { + translate: pt(0.997, 1.519), rotate: 0, + id: 'R11' }) -const vsense_div_bottom_res = board.add(R_0603_1608Metric, { - translate: pt(0.058, 1.616), rotate: 0, - id: 'vsense_div_bottom_res' +// vsense.div.bottom_res +const R12 = board.add(R_0603_1608Metric, { + translate: pt(0.997, 1.616), rotate: 0, + id: 'R12' }) -const vsense_tp_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.521, 1.528), rotate: 0, - id: 'vsense_tp_tp' +// vsense_tp.tp +const TP7 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.991, 1.528), rotate: 0, + id: 'TP7' }) -const isense_sense_res_res = board.add(R_1206_3216Metric, { +// isense.sense.res.res +const R13 = board.add(R_1206_3216Metric, { translate: pt(1.359, 0.044), rotate: 0, - id: 'isense_sense_res_res' + id: 'R13' }) -const isense_amp_amp_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// isense.amp.amp.ic +const U3 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(1.084, 0.106), rotate: 0, - id: 'isense_amp_amp_ic' + id: 'U3' }) -const isense_amp_amp_vdd_cap_cap = board.add(C_0805_2012Metric, { +// isense.amp.amp.vdd_cap.cap +const C2 = board.add(C_0805_2012Metric, { translate: pt(1.336, 0.166), rotate: 0, - id: 'isense_amp_amp_vdd_cap_cap' + id: 'C2' }) -const isense_amp_r1 = board.add(R_0603_1608Metric, { +// isense.amp.r1 +const R14 = board.add(R_0603_1608Metric, { translate: pt(0.997, 0.281), rotate: 0, - id: 'isense_amp_r1' + id: 'R14' }) -const isense_amp_r2 = board.add(R_0603_1608Metric, { +// isense.amp.r2 +const R15 = board.add(R_0603_1608Metric, { translate: pt(1.153, 0.281), rotate: 0, - id: 'isense_amp_r2' + id: 'R15' }) -const isense_amp_rf = board.add(R_0603_1608Metric, { +// isense.amp.rf +const R16 = board.add(R_0603_1608Metric, { translate: pt(1.309, 0.281), rotate: 0, - id: 'isense_amp_rf' + id: 'R16' }) -const isense_amp_rg = board.add(R_0603_1608Metric, { +// isense.amp.rg +const R17 = board.add(R_0603_1608Metric, { translate: pt(0.997, 0.378), rotate: 0, - id: 'isense_amp_rg' + id: 'R17' }) -const isense_tp_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.272, 1.528), rotate: 0, - id: 'isense_tp_tp' +// isense_tp.tp +const TP8 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.741, 1.528), rotate: 0, + id: 'TP8' }) -const isense_clamp_res = board.add(R_0603_1608Metric, { - translate: pt(0.058, 1.792), rotate: 0, - id: 'isense_clamp_res' +// isense_clamp.res +const R18 = board.add(R_0603_1608Metric, { + translate: pt(0.559, 1.792), rotate: 0, + id: 'R18' }) -const bldc_drv_ic = board.add(HTSSOP_28_1EP_4_4x9_7mm_P0_65mm_EP2_85x5_4mm_ThermalVias, { +// bldc_drv.ic +const U4 = board.add(HTSSOP_28_1EP_4_4x9_7mm_P0_65mm_EP2_85x5_4mm_ThermalVias, { translate: pt(0.152, 0.201), rotate: 0, - id: 'bldc_drv_ic' + id: 'U4' }) -const bldc_drv_vm_cap_bulk_cap = board.add(C_0805_2012Metric, { +// bldc_drv.vm_cap_bulk.cap +const C3 = board.add(C_0805_2012Metric, { translate: pt(0.407, 0.480), rotate: 0, - id: 'bldc_drv_vm_cap_bulk_cap' + id: 'C3' }) -const bldc_drv_vm_cap1_cap = board.add(C_0805_2012Metric, { +// bldc_drv.vm_cap1.cap +const C4 = board.add(C_0805_2012Metric, { translate: pt(0.580, 0.480), rotate: 0, - id: 'bldc_drv_vm_cap1_cap' + id: 'C4' }) -const bldc_drv_vm_cap2_cap = board.add(C_0805_2012Metric, { +// bldc_drv.vm_cap2.cap +const C5 = board.add(C_0805_2012Metric, { translate: pt(0.754, 0.480), rotate: 0, - id: 'bldc_drv_vm_cap2_cap' + id: 'C5' }) -const bldc_drv_v3p3_cap_cap = board.add(C_0603_1608Metric, { +// bldc_drv.v3p3_cap.cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(0.058, 0.660), rotate: 0, - id: 'bldc_drv_v3p3_cap_cap' + id: 'C6' }) -const bldc_drv_cp_cap = board.add(C_0603_1608Metric, { +// bldc_drv.cp_cap +const C7 = board.add(C_0603_1608Metric, { translate: pt(0.214, 0.660), rotate: 0, - id: 'bldc_drv_cp_cap' + id: 'C7' }) -const bldc_drv_vcp_cap = board.add(C_0603_1608Metric, { +// bldc_drv.vcp_cap +const C8 = board.add(C_0603_1608Metric, { translate: pt(0.370, 0.660), rotate: 0, - id: 'bldc_drv_vcp_cap' + id: 'C8' }) -const bldc_drv_pgnd_res_1__res_res = board.add(R_2512_6332Metric, { +// bldc_drv.pgnd_res[1].res.res +const R19 = board.add(R_2512_6332Metric, { translate: pt(0.493, 0.076), rotate: 0, - id: 'bldc_drv_pgnd_res_1__res_res' + id: 'R19' }) -const bldc_drv_pgnd_res_2__res_res = board.add(R_2512_6332Metric, { +// bldc_drv.pgnd_res[2].res.res +const R20 = board.add(R_2512_6332Metric, { translate: pt(0.493, 0.266), rotate: 0, - id: 'bldc_drv_pgnd_res_2__res_res' + id: 'R20' }) -const bldc_drv_pgnd_res_3__res_res = board.add(R_2512_6332Metric, { +// bldc_drv.pgnd_res[3].res.res +const R21 = board.add(R_2512_6332Metric, { translate: pt(0.150, 0.517), rotate: 0, - id: 'bldc_drv_pgnd_res_3__res_res' -}) -const bldc_fault_tp_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.020, 1.528), rotate: 0, - id: 'bldc_fault_tp_tp' -}) -const bldc_en_tp_tp_1__tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.633, 0.037), rotate: 0, - id: 'bldc_en_tp_tp_1__tp' + id: 'R21' }) -const bldc_en_tp_tp_2__tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.633, 0.152), rotate: 0, - id: 'bldc_en_tp_tp_2__tp' +// bldc_fault_tp.tp +const TP9 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.241, 1.528), rotate: 0, + id: 'TP9' }) -const bldc_en_tp_tp_3__tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.633, 0.266), rotate: 0, - id: 'bldc_en_tp_tp_3__tp' -}) -const bldc_in_tp_tp_1__tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.883, 0.037), rotate: 0, - id: 'bldc_in_tp_tp_1__tp' -}) -const bldc_in_tp_tp_2__tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.883, 0.152), rotate: 0, - id: 'bldc_in_tp_tp_2__tp' -}) -const bldc_in_tp_tp_3__tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.883, 0.266), rotate: 0, - id: 'bldc_in_tp_tp_3__tp' +// bldc_en_tp.tp[1].tp +const TP10 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.134, 0.037), rotate: 0, + id: 'TP10' }) -const bldc_conn = board.add(JST_PH_B3B_PH_K_1x03_P2_00mm_Vertical, { - translate: pt(2.135, 0.937), rotate: 0, - id: 'bldc_conn' +// bldc_en_tp.tp[2].tp +const TP11 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.134, 0.152), rotate: 0, + id: 'TP11' }) -const curr_amp_1__amp_ic = board.add(SOT_23_5, { - translate: pt(0.081, 0.874), rotate: 0, - id: 'curr_amp_1__amp_ic' +// bldc_en_tp.tp[3].tp +const TP12 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.134, 0.266), rotate: 0, + id: 'TP12' }) -const curr_amp_1__amp_vdd_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(0.259, 0.836), rotate: 0, - id: 'curr_amp_1__amp_vdd_cap_cap' +// bldc_in_tp.tp[1].tp +const TP13 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.633, 0.037), rotate: 0, + id: 'TP13' }) -const curr_amp_1__r1 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 1.009), rotate: 0, - id: 'curr_amp_1__r1' +// bldc_in_tp.tp[2].tp +const TP14 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.633, 0.152), rotate: 0, + id: 'TP14' }) -const curr_amp_1__r2 = board.add(R_0603_1608Metric, { - translate: pt(0.214, 1.009), rotate: 0, - id: 'curr_amp_1__r2' +// bldc_in_tp.tp[3].tp +const TP15 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.633, 0.266), rotate: 0, + id: 'TP15' }) -const curr_tp_1__tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.772, 1.528), rotate: 0, - id: 'curr_tp_1__tp' +// bldc.conn +const J4 = board.add(JST_PH_B3B_PH_K_1x03_P2_00mm_Vertical, { + translate: pt(0.644, 1.286), rotate: 0, + id: 'J4' }) -const curr_amp_2__amp_ic = board.add(SOT_23_5, { +// curr_amp[1].amp.ic +const U5 = board.add(SOT_23_5, { translate: pt(1.231, 0.874), rotate: 0, - id: 'curr_amp_2__amp_ic' + id: 'U5' }) -const curr_amp_2__amp_vdd_cap_cap = board.add(C_0603_1608Metric, { +// curr_amp[1].amp.vdd_cap.cap +const C9 = board.add(C_0603_1608Metric, { translate: pt(1.409, 0.836), rotate: 0, - id: 'curr_amp_2__amp_vdd_cap_cap' + id: 'C9' }) -const curr_amp_2__r1 = board.add(R_0603_1608Metric, { +// curr_amp[1].r1 +const R22 = board.add(R_0603_1608Metric, { translate: pt(1.209, 1.009), rotate: 0, - id: 'curr_amp_2__r1' + id: 'R22' }) -const curr_amp_2__r2 = board.add(R_0603_1608Metric, { +// curr_amp[1].r2 +const R23 = board.add(R_0603_1608Metric, { translate: pt(1.365, 1.009), rotate: 0, - id: 'curr_amp_2__r2' + id: 'R23' }) -const curr_tp_2__tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.770, 1.528), rotate: 0, - id: 'curr_tp_2__tp' +// curr_tp[1].tp +const TP16 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.490, 1.528), rotate: 0, + id: 'TP16' }) -const curr_amp_3__amp_ic = board.add(SOT_23_5, { +// curr_amp[2].amp.ic +const U6 = board.add(SOT_23_5, { translate: pt(0.516, 0.874), rotate: 0, - id: 'curr_amp_3__amp_ic' + id: 'U6' }) -const curr_amp_3__amp_vdd_cap_cap = board.add(C_0603_1608Metric, { +// curr_amp[2].amp.vdd_cap.cap +const C10 = board.add(C_0603_1608Metric, { translate: pt(0.694, 0.836), rotate: 0, - id: 'curr_amp_3__amp_vdd_cap_cap' + id: 'C10' }) -const curr_amp_3__r1 = board.add(R_0603_1608Metric, { +// curr_amp[2].r1 +const R24 = board.add(R_0603_1608Metric, { translate: pt(0.494, 1.009), rotate: 0, - id: 'curr_amp_3__r1' + id: 'R24' }) -const curr_amp_3__r2 = board.add(R_0603_1608Metric, { +// curr_amp[2].r2 +const R25 = board.add(R_0603_1608Metric, { translate: pt(0.650, 1.009), rotate: 0, - id: 'curr_amp_3__r2' + id: 'R25' +}) +// curr_tp[2].tp +const TP17 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.317, 1.801), rotate: 0, + id: 'TP17' }) -const curr_tp_3__tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.022, 1.528), rotate: 0, - id: 'curr_tp_3__tp' +// curr_amp[3].amp.ic +const U7 = board.add(SOT_23_5, { + translate: pt(0.081, 0.874), rotate: 0, + id: 'U7' +}) +// curr_amp[3].amp.vdd_cap.cap +const C11 = board.add(C_0603_1608Metric, { + translate: pt(0.259, 0.836), rotate: 0, + id: 'C11' }) +// curr_amp[3].r1 +const R26 = board.add(R_0603_1608Metric, { + translate: pt(0.058, 1.009), rotate: 0, + id: 'R26' +}) +// curr_amp[3].r2 +const R27 = board.add(R_0603_1608Metric, { + translate: pt(0.214, 1.009), rotate: 0, + id: 'R27' +}) +// curr_tp[3].tp +const TP18 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.240, 1.528), rotate: 0, + id: 'TP18' +}) + +board.setNetlist([ + {name: "vusb", pads: [["U1", "26"], ["J3", "1"]]}, + {name: "v3v3", pads: [["U1", "2"], ["J2", "2"], ["U2", "5"], ["R6", "1"], ["U5", "5"], ["U6", "5"], ["U7", "5"], ["R4", "1"], ["R5", "1"], ["R8", "1"], ["R9", "1"], ["R10", "1"], ["C1", "1"], ["C9", "1"], ["C10", "1"], ["C11", "1"]]}, + {name: "gnd", pads: [["U1", "4"], ["J1", "1"], ["SW1", "2"], ["R1", "2"], ["R2", "2"], ["R3", "2"], ["J2", "1"], ["J3", "5"], ["U4", "12"], ["U4", "13"], ["U4", "14"], ["U4", "19"], ["U4", "20"], ["U4", "21"], ["U4", "28"], ["U4", "29"], ["R7", "2"], ["U2", "2"], ["R12", "2"], ["U3", "4"], ["R23", "2"], ["R25", "2"], ["R27", "2"], ["C3", "2"], ["C4", "2"], ["C5", "2"], ["C6", "2"], ["U5", "2"], ["U6", "2"], ["U7", "2"], ["C1", "2"], ["C2", "2"], ["R19", "1"], ["R20", "1"], ["R21", "1"], ["C9", "2"], ["C10", "2"], ["C11", "2"]]}, + {name: "sw1.out", pads: [["U1", "20"], ["SW1", "1"]]}, + {name: "ledr.signal", pads: [["U1", "16"], ["D1", "2"]]}, + {name: "ledg.signal", pads: [["U1", "7"], ["D2", "2"]]}, + {name: "ledb.signal", pads: [["U1", "3"], ["D3", "2"]]}, + {name: "i2c_pull.i2c.scl", pads: [["U1", "22"], ["R4", "2"], ["TP1", "1"], ["J2", "4"]]}, + {name: "i2c_pull.i2c.sda", pads: [["U1", "21"], ["J2", "3"], ["R5", "2"], ["TP2", "1"]]}, + {name: "ref_div.output", pads: [["U2", "1"], ["R6", "2"], ["R7", "1"]]}, + {name: "ref_buf.output", pads: [["U2", "3"], ["TP3", "1"], ["R17", "1"], ["U2", "4"]]}, + {name: "hall.phases.u", pads: [["U1", "23"], ["J3", "2"], ["R8", "2"], ["TP4", "1"]]}, + {name: "hall.phases.v", pads: [["U1", "24"], ["J3", "3"], ["R9", "2"], ["TP5", "1"]]}, + {name: "hall.phases.w", pads: [["U1", "25"], ["J3", "4"], ["R10", "2"], ["TP6", "1"]]}, + {name: "motor_pwr.pwr", pads: [["J1", "2"], ["R11", "1"], ["U3", "7"], ["R13", "1"], ["C2", "1"], ["R15", "1"]]}, + {name: "vsense.output", pads: [["U1", "6"], ["TP7", "1"], ["R11", "2"], ["R12", "1"]]}, + {name: "isense.out", pads: [["TP8", "1"], ["R18", "1"], ["R16", "1"], ["U3", "6"]]}, + {name: "isense_clamp.signal_out", pads: [["U1", "5"], ["R18", "2"]]}, + {name: "isense.pwr_out", pads: [["U4", "4"], ["U4", "11"], ["R13", "2"], ["C8", "2"], ["C3", "1"], ["C4", "1"], ["C5", "1"], ["R14", "1"]]}, + {name: "bldc_drv.nreset", pads: [["U1", "18"], ["U4", "16"]]}, + {name: "bldc_drv.nfault", pads: [["U1", "19"], ["U4", "18"], ["TP9", "1"]]}, + {name: "mcu.gpio.bldc_en_1", pads: [["U1", "12"], ["U4", "26"], ["TP10", "1"]]}, + {name: "mcu.gpio.bldc_en_2", pads: [["U1", "14"], ["U4", "24"], ["TP11", "1"]]}, + {name: "mcu.gpio.bldc_en_3", pads: [["U1", "17"], ["U4", "22"], ["TP12", "1"]]}, + {name: "mcu.gpio.bldc_in_1", pads: [["U1", "11"], ["U4", "27"], ["TP13", "1"]]}, + {name: "mcu.gpio.bldc_in_2", pads: [["U1", "13"], ["U4", "25"], ["TP14", "1"]]}, + {name: "mcu.gpio.bldc_in_3", pads: [["U1", "15"], ["U4", "23"], ["TP15", "1"]]}, + {name: "bldc_drv.outs.1", pads: [["U4", "5"], ["J4", "1"]]}, + {name: "bldc_drv.outs.2", pads: [["U4", "8"], ["J4", "2"]]}, + {name: "bldc_drv.outs.3", pads: [["U4", "9"], ["J4", "3"]]}, + {name: "curr_amp[1].input", pads: [["U5", "1"], ["R19", "2"], ["U4", "6"]]}, + {name: "curr_amp[1].output", pads: [["U1", "10"], ["TP16", "1"], ["R22", "1"], ["U5", "4"]]}, + {name: "curr_amp[2].input", pads: [["U6", "1"], ["R20", "2"], ["U4", "7"]]}, + {name: "curr_amp[2].output", pads: [["U1", "9"], ["TP17", "1"], ["R24", "1"], ["U6", "4"]]}, + {name: "curr_amp[3].input", pads: [["U7", "1"], ["R21", "2"], ["U4", "10"]]}, + {name: "curr_amp[3].output", pads: [["U1", "8"], ["TP18", "1"], ["R26", "1"], ["U7", "4"]]}, + {name: "ledr.res.a", pads: [["R1", "1"], ["D1", "1"]]}, + {name: "ledg.res.a", pads: [["R2", "1"], ["D2", "1"]]}, + {name: "ledb.res.a", pads: [["R3", "1"], ["D3", "1"]]}, + {name: "isense.amp.r2.b", pads: [["R15", "2"], ["U3", "3"], ["R17", "2"]]}, + {name: "isense.amp.r1.b", pads: [["R14", "2"], ["U3", "2"], ["R16", "2"]]}, + {name: "bldc_drv.ic.v3p3", pads: [["U4", "15"], ["C6", "1"], ["U4", "17"]]}, + {name: "bldc_drv.cp_cap.pos", pads: [["C7", "1"], ["U4", "2"]]}, + {name: "bldc_drv.cp_cap.neg", pads: [["C7", "2"], ["U4", "1"]]}, + {name: "bldc_drv.vcp_cap.pos", pads: [["C8", "1"], ["U4", "3"]]}, + {name: "curr_amp[1].r2.a", pads: [["R23", "1"], ["U5", "3"], ["R22", "2"]]}, + {name: "curr_amp[2].r2.a", pads: [["R25", "1"], ["U6", "3"], ["R24", "2"]]}, + {name: "curr_amp[3].r2.a", pads: [["R27", "1"], ["U7", "3"], ["R26", "2"]]} +]) const limit0 = pt(-0.07874015748031496, -0.07874015748031496); -const limit1 = pt(2.552755905511811, 1.9385826771653545); +const limit1 = pt(2.552755905511811, 1.9562992125984253); const xMin = Math.min(limit0[0], limit1[0]); const xMax = Math.max(limit0[0], limit1[0]); const yMin = Math.min(limit0[1], limit1[1]); diff --git a/examples/CanAdapter/CanAdapter.svgpcb.js b/examples/CanAdapter/CanAdapter.svgpcb.js index e7a27235e..998bbe9c5 100644 --- a/examples/CanAdapter/CanAdapter.svgpcb.js +++ b/examples/CanAdapter/CanAdapter.svgpcb.js @@ -1,202 +1,299 @@ const board = new PCB(); -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(0.209, 1.055), rotate: 0, - id: 'usb_conn' + id: 'J1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(0.058, 1.310), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'R1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(0.214, 1.310), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'R2' }) -const usb_reg_ic = board.add(SOT_23_5, { +// usb_reg.ic +const U1 = board.add(SOT_23_5, { translate: pt(1.541, 0.957), rotate: 0, - id: 'usb_reg_ic' + id: 'U1' }) -const usb_reg_in_cap_cap = board.add(C_0603_1608Metric, { +// usb_reg.in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(1.692, 1.093), rotate: 0, - id: 'usb_reg_in_cap_cap' + id: 'C1' }) -const usb_reg_out_cap_cap = board.add(C_0805_2012Metric, { +// usb_reg.out_cap.cap +const C2 = board.add(C_0805_2012Metric, { translate: pt(1.528, 1.102), rotate: 0, - id: 'usb_reg_out_cap_cap' + id: 'C2' }) -const mcu_swd_conn = board.add(Tag_Connect_TC2050_IDC_NL_2x05_P1_27mm_Vertical, { +// mcu.swd.conn +const J2 = board.add(Tag_Connect_TC2050_IDC_NL_2x05_P1_27mm_Vertical, { translate: pt(0.690, 0.133), rotate: 0, - id: 'mcu_swd_conn' + id: 'J2' }) -const mcu_ic = board.add(LQFP_48_7x7mm_P0_5mm, { +// mcu.ic +const U2 = board.add(LQFP_48_7x7mm_P0_5mm, { translate: pt(0.203, 0.203), rotate: 0, - id: 'mcu_ic' + id: 'U2' }) -const mcu_swd_pull_swdio_res = board.add(R_0603_1608Metric, { +// mcu.swd_pull.swdio.res +const R3 = board.add(R_0603_1608Metric, { translate: pt(0.609, 0.474), rotate: 0, - id: 'mcu_swd_pull_swdio_res' + id: 'R3' }) -const mcu_swd_pull_swclk_res = board.add(R_0603_1608Metric, { +// mcu.swd_pull.swclk.res +const R4 = board.add(R_0603_1608Metric, { translate: pt(0.765, 0.474), rotate: 0, - id: 'mcu_swd_pull_swclk_res' + id: 'R4' }) -const mcu_pwr_cap_0__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[0].cap +const C3 = board.add(C_0603_1608Metric, { translate: pt(0.921, 0.474), rotate: 0, - id: 'mcu_pwr_cap_0__cap' + id: 'C3' }) -const mcu_pwr_cap_1__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[1].cap +const C4 = board.add(C_0603_1608Metric, { translate: pt(0.058, 0.647), rotate: 0, - id: 'mcu_pwr_cap_1__cap' + id: 'C4' }) -const mcu_pwr_cap_2__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[2].cap +const C5 = board.add(C_0603_1608Metric, { translate: pt(0.214, 0.647), rotate: 0, - id: 'mcu_pwr_cap_2__cap' + id: 'C5' }) -const mcu_pwr_cap_3__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[3].cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(0.370, 0.647), rotate: 0, - id: 'mcu_pwr_cap_3__cap' + id: 'C6' }) -const mcu_pwr_cap_4__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[4].cap +const C7 = board.add(C_0603_1608Metric, { translate: pt(0.526, 0.647), rotate: 0, - id: 'mcu_pwr_cap_4__cap' + id: 'C7' }) -const mcu_pwr_cap_5__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[5].cap +const C8 = board.add(C_0603_1608Metric, { translate: pt(0.682, 0.647), rotate: 0, - id: 'mcu_pwr_cap_5__cap' + id: 'C8' }) -const mcu_vbat_cap_cap = board.add(C_0603_1608Metric, { +// mcu.vbat_cap.cap +const C9 = board.add(C_0603_1608Metric, { translate: pt(0.838, 0.647), rotate: 0, - id: 'mcu_vbat_cap_cap' + id: 'C9' }) -const mcu_pwra_cap_0__cap = board.add(C_0603_1608Metric, { +// mcu.pwra_cap[0].cap +const C10 = board.add(C_0603_1608Metric, { translate: pt(0.058, 0.744), rotate: 0, - id: 'mcu_pwra_cap_0__cap' + id: 'C10' }) -const mcu_pwra_cap_1__cap = board.add(C_0805_2012Metric, { +// mcu.pwra_cap[1].cap +const C11 = board.add(C_0805_2012Metric, { translate: pt(0.272, 0.483), rotate: 0, - id: 'mcu_pwra_cap_1__cap' + id: 'C11' }) -const mcu_vref_cap_0__cap = board.add(C_0603_1608Metric, { +// mcu.vref_cap[0].cap +const C12 = board.add(C_0603_1608Metric, { translate: pt(0.214, 0.744), rotate: 0, - id: 'mcu_vref_cap_0__cap' + id: 'C12' }) -const mcu_vref_cap_1__cap = board.add(C_0603_1608Metric, { +// mcu.vref_cap[1].cap +const C13 = board.add(C_0603_1608Metric, { translate: pt(0.370, 0.744), rotate: 0, - id: 'mcu_vref_cap_1__cap' + id: 'C13' }) -const mcu_vref_cap_2__cap = board.add(C_0805_2012Metric, { +// mcu.vref_cap[2].cap +const C14 = board.add(C_0805_2012Metric, { translate: pt(0.445, 0.483), rotate: 0, - id: 'mcu_vref_cap_2__cap' + id: 'C14' }) -const mcu_crystal_package = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { +// mcu.crystal.package +const X1 = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { translate: pt(0.083, 0.512), rotate: 0, - id: 'mcu_crystal_package' + id: 'X1' }) -const mcu_crystal_cap_a = board.add(C_0603_1608Metric, { +// mcu.crystal.cap_a +const C15 = board.add(C_0603_1608Metric, { translate: pt(0.526, 0.744), rotate: 0, - id: 'mcu_crystal_cap_a' + id: 'C15' }) -const mcu_crystal_cap_b = board.add(C_0603_1608Metric, { +// mcu.crystal.cap_b +const C16 = board.add(C_0603_1608Metric, { translate: pt(0.682, 0.744), rotate: 0, - id: 'mcu_crystal_cap_b' + id: 'C16' }) -const usb_esd = board.add(SOT_23, { +// usb_esd +const U3 = board.add(SOT_23, { translate: pt(1.761, 1.524), rotate: 0, - id: 'usb_esd' + id: 'U3' }) -const xcvr_ic = board.add(SOP_8_6_62x9_15mm_P2_54mm, { +// xcvr.ic +const U4 = board.add(SOP_8_6_62x9_15mm_P2_54mm, { translate: pt(1.332, 0.190), rotate: 0, - id: 'xcvr_ic' + id: 'U4' }) -const xcvr_logic_cap_cap = board.add(C_0603_1608Metric, { +// xcvr.logic_cap.cap +const C17 = board.add(C_0603_1608Metric, { translate: pt(1.156, 0.448), rotate: 0, - id: 'xcvr_logic_cap_cap' + id: 'C17' }) -const xcvr_can_cap_cap = board.add(C_0603_1608Metric, { +// xcvr.can_cap.cap +const C18 = board.add(C_0603_1608Metric, { translate: pt(1.312, 0.448), rotate: 0, - id: 'xcvr_can_cap_cap' + id: 'C18' }) -const sw_usb_package = board.add(SW_SPST_EVQP7C, { - translate: pt(1.224, 1.550), rotate: 0, - id: 'sw_usb_package' -}) -const sw_can_package = board.add(SW_SPST_EVQP7C, { +// sw_usb.package +const SW1 = board.add(SW_SPST_EVQP7C, { translate: pt(0.889, 1.550), rotate: 0, - id: 'sw_can_package' + id: 'SW1' }) -const lcd_device_conn = board.add(Hirose_FH12_8S_0_5SH_1x08_1MP_P0_50mm_Horizontal, { +// sw_can.package +const SW2 = board.add(SW_SPST_EVQP7C, { + translate: pt(1.224, 1.550), rotate: 0, + id: 'SW2' +}) +// lcd.device.conn +const J3 = board.add(Hirose_FH12_8S_0_5SH_1x08_1MP_P0_50mm_Horizontal, { translate: pt(0.736, 1.083), rotate: 0, - id: 'lcd_device_conn' + id: 'J3' }) -const lcd_led_res = board.add(R_0603_1608Metric, { +// lcd.led_res +const R5 = board.add(R_0603_1608Metric, { translate: pt(0.595, 1.270), rotate: 0, - id: 'lcd_led_res' + id: 'R5' }) -const lcd_vdd_cap_cap = board.add(C_0603_1608Metric, { +// lcd.vdd_cap.cap +const C19 = board.add(C_0603_1608Metric, { translate: pt(0.751, 1.270), rotate: 0, - id: 'lcd_vdd_cap_cap' + id: 'C19' }) -const rgb_usb_package = board.add(LED_LiteOn_LTST_C19HE1WT, { +// rgb_usb.package +const D1 = board.add(LED_LiteOn_LTST_C19HE1WT, { translate: pt(0.041, 1.512), rotate: 0, - id: 'rgb_usb_package' + id: 'D1' }) -const rgb_usb_red_res = board.add(R_0603_1608Metric, { +// rgb_usb.red_res +const R6 = board.add(R_0603_1608Metric, { translate: pt(0.180, 1.486), rotate: 0, - id: 'rgb_usb_red_res' + id: 'R6' }) -const rgb_usb_green_res = board.add(R_0603_1608Metric, { +// rgb_usb.green_res +const R7 = board.add(R_0603_1608Metric, { translate: pt(0.058, 1.635), rotate: 0, - id: 'rgb_usb_green_res' + id: 'R7' }) -const rgb_usb_blue_res = board.add(R_0603_1608Metric, { +// rgb_usb.blue_res +const R8 = board.add(R_0603_1608Metric, { translate: pt(0.214, 1.635), rotate: 0, - id: 'rgb_usb_blue_res' + id: 'R8' }) -const rgb_can_package = board.add(LED_LiteOn_LTST_C19HE1WT, { +// rgb_can.package +const D2 = board.add(LED_LiteOn_LTST_C19HE1WT, { translate: pt(0.432, 1.512), rotate: 0, - id: 'rgb_can_package' + id: 'D2' }) -const rgb_can_red_res = board.add(R_0603_1608Metric, { +// rgb_can.red_res +const R9 = board.add(R_0603_1608Metric, { translate: pt(0.571, 1.486), rotate: 0, - id: 'rgb_can_red_res' + id: 'R9' }) -const rgb_can_green_res = board.add(R_0603_1608Metric, { +// rgb_can.green_res +const R10 = board.add(R_0603_1608Metric, { translate: pt(0.449, 1.635), rotate: 0, - id: 'rgb_can_green_res' + id: 'R10' }) -const rgb_can_blue_res = board.add(R_0603_1608Metric, { +// rgb_can.blue_res +const R11 = board.add(R_0603_1608Metric, { translate: pt(0.605, 1.635), rotate: 0, - id: 'rgb_can_blue_res' + id: 'R11' }) -const can = board.add(Molex_DuraClik_502352_1x05_P2_00mm_Horizontal, { +// can +const J4 = board.add(Molex_DuraClik_502352_1x05_P2_00mm_Horizontal, { translate: pt(2.066, 1.457), rotate: 0, - id: 'can' + id: 'J4' }) -const can_reg_ic = board.add(SOT_23_5, { +// can_reg.ic +const U5 = board.add(SOT_23_5, { translate: pt(1.133, 0.957), rotate: 0, - id: 'can_reg_ic' + id: 'U5' }) -const can_reg_in_cap_cap = board.add(C_0603_1608Metric, { +// can_reg.in_cap.cap +const C20 = board.add(C_0603_1608Metric, { translate: pt(1.284, 1.093), rotate: 0, - id: 'can_reg_in_cap_cap' + id: 'C20' }) -const can_reg_out_cap_cap = board.add(C_0805_2012Metric, { +// can_reg.out_cap.cap +const C21 = board.add(C_0805_2012Metric, { translate: pt(1.120, 1.102), rotate: 0, - id: 'can_reg_out_cap_cap' + id: 'C21' }) -const led_can_package = board.add(LED_0603_1608Metric, { +// led_can.package +const D3 = board.add(LED_0603_1608Metric, { translate: pt(1.509, 1.486), rotate: 0, - id: 'led_can_package' + id: 'D3' }) -const led_can_res = board.add(R_0603_1608Metric, { +// led_can.res +const R12 = board.add(R_0603_1608Metric, { translate: pt(1.509, 1.583), rotate: 0, - id: 'led_can_res' + id: 'R12' }) -const can_esd = board.add(SOT_23, { +// can_esd +const U6 = board.add(SOT_23, { translate: pt(1.951, 1.524), rotate: 0, - id: 'can_esd' + id: 'U6' }) +board.setNetlist([ + {name: "vusb", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["U1", "1"], ["U1", "3"], ["C1", "1"]]}, + {name: "gnd", pads: [["U3", "3"], ["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["U1", "2"], ["U2", "17"], ["U2", "11"], ["U2", "20"], ["U2", "40"], ["U2", "41"], ["U4", "4"], ["SW1", "2"], ["SW2", "2"], ["J1", "S1"], ["C1", "2"], ["C2", "2"], ["C3", "2"], ["C4", "2"], ["C5", "2"], ["C6", "2"], ["C7", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["C11", "2"], ["C12", "2"], ["C13", "2"], ["C14", "2"], ["X1", "2"], ["X1", "4"], ["C17", "2"], ["J3", "2"], ["C19", "2"], ["R4", "1"], ["R1", "1"], ["R2", "1"], ["J2", "2"], ["J2", "3"], ["J2", "5"], ["C15", "2"], ["C16", "2"]]}, + {name: "v3v3", pads: [["U1", "5"], ["U2", "16"], ["U2", "10"], ["U2", "14"], ["U2", "30"], ["U2", "27"], ["U2", "39"], ["U2", "42"], ["U4", "1"], ["D1", "2"], ["D2", "2"], ["C2", "1"], ["J2", "1"], ["C3", "1"], ["C4", "1"], ["C5", "1"], ["C6", "1"], ["C7", "1"], ["C8", "1"], ["C9", "1"], ["C10", "1"], ["C11", "1"], ["C12", "1"], ["C13", "1"], ["C14", "1"], ["C17", "1"], ["J3", "7"], ["C19", "1"], ["R3", "1"]]}, + {name: "can_vcan", pads: [["J4", "2"], ["U5", "1"], ["U5", "3"], ["C20", "1"]]}, + {name: "can_gnd", pads: [["J4", "3"], ["U6", "3"], ["U5", "2"], ["R12", "2"], ["U4", "5"], ["C20", "2"], ["C21", "2"], ["C18", "2"]]}, + {name: "can_v5v", pads: [["U5", "5"], ["D3", "2"], ["U4", "8"], ["C21", "1"], ["C18", "1"]]}, + {name: "usb.usb.dp", pads: [["J1", "A6"], ["J1", "B6"], ["U3", "2"], ["U2", "35"]]}, + {name: "usb.usb.dm", pads: [["J1", "A7"], ["J1", "B7"], ["U3", "1"], ["U2", "36"]]}, + {name: "can_chain_0.txd", pads: [["U2", "8"], ["U4", "3"]]}, + {name: "can_chain_0.rxd", pads: [["U2", "12"], ["U4", "2"]]}, + {name: "sw_usb.out", pads: [["U2", "28"], ["SW1", "1"]]}, + {name: "sw_can.out", pads: [["U2", "48"], ["SW2", "1"]]}, + {name: "lcd.led", pads: [["U2", "23"], ["R5", "1"]]}, + {name: "lcd.reset", pads: [["U2", "13"], ["J3", "3"]]}, + {name: "lcd.rs", pads: [["U2", "15"], ["J3", "4"]]}, + {name: "lcd.spi.sck", pads: [["U2", "21"], ["J3", "6"]]}, + {name: "lcd.spi.mosi", pads: [["U2", "18"], ["J3", "5"]]}, + {name: "lcd.cs", pads: [["U2", "22"], ["J3", "8"]]}, + {name: "mcu.gpio.rgb_usb_red", pads: [["U2", "2"], ["R6", "2"]]}, + {name: "mcu.gpio.rgb_usb_green", pads: [["U2", "1"], ["R7", "2"]]}, + {name: "mcu.gpio.rgb_usb_blue", pads: [["U2", "3"], ["R8", "2"]]}, + {name: "mcu.gpio.rgb_can_red", pads: [["U2", "6"], ["R9", "2"]]}, + {name: "mcu.gpio.rgb_can_green", pads: [["U2", "4"], ["R10", "2"]]}, + {name: "mcu.gpio.rgb_can_blue", pads: [["U2", "7"], ["R11", "2"]]}, + {name: "xcvr.can.canh", pads: [["U4", "7"], ["U6", "2"], ["J4", "4"]]}, + {name: "xcvr.can.canl", pads: [["U4", "6"], ["U6", "1"], ["J4", "5"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "mcu.xtal_node.xi", pads: [["U2", "26"], ["X1", "1"], ["C15", "1"]]}, + {name: "mcu.xtal_node.xo", pads: [["U2", "25"], ["X1", "3"], ["C16", "1"]]}, + {name: "mcu.swd_node.swdio", pads: [["U2", "33"], ["J2", "10"], ["R3", "2"]]}, + {name: "mcu.swd_node.swclk", pads: [["U2", "29"], ["J2", "9"], ["R4", "2"]]}, + {name: "mcu.reset_node", pads: [["U2", "34"], ["J2", "6"]]}, + {name: "mcu.swd.swo", pads: [["U2", "9"], ["J2", "8"]]}, + {name: "mcu.swd.tdi", pads: [["J2", "7"]]}, + {name: "mcu.ic.xtal_rtc.xtal_in", pads: [["U2", "31"]]}, + {name: "mcu.ic.xtal_rtc.xtal_out", pads: [["U2", "32"]]}, + {name: "lcd.led_res.b", pads: [["R5", "2"], ["J3", "1"]]}, + {name: "rgb_usb.red_res.a", pads: [["R6", "1"], ["D1", "3"]]}, + {name: "rgb_usb.green_res.a", pads: [["R7", "1"], ["D1", "4"]]}, + {name: "rgb_usb.blue_res.a", pads: [["R8", "1"], ["D1", "1"]]}, + {name: "rgb_can.red_res.a", pads: [["R9", "1"], ["D2", "3"]]}, + {name: "rgb_can.green_res.a", pads: [["R10", "1"], ["D2", "4"]]}, + {name: "rgb_can.blue_res.a", pads: [["R11", "1"], ["D2", "1"]]}, + {name: "led_can.res.a", pads: [["R12", "1"], ["D3", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(2.1057086614173235, 1.7822834645669294); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/Datalogger/Datalogger.svgpcb.js b/examples/Datalogger/Datalogger.svgpcb.js index bb0a03991..7b9721fc6 100644 --- a/examples/Datalogger/Datalogger.svgpcb.js +++ b/examples/Datalogger/Datalogger.svgpcb.js @@ -1,429 +1,633 @@ const board = new PCB(); -const pwr_conn = board.add(Molex_DuraClik_vert_3pin, { +// pwr_conn +const J1 = board.add(Molex_DuraClik_vert_3pin, { translate: pt(3.367, 2.356), rotate: 0, - id: 'pwr_conn' + id: 'J1' }) -const usb_conn_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb_conn.conn +const J2 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(1.843, 1.867), rotate: 0, - id: 'usb_conn_conn' + id: 'J2' }) -const usb_conn_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb_conn.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(1.692, 2.122), rotate: 0, - id: 'usb_conn_cc_pull_cc1_res' + id: 'R1' }) -const usb_conn_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb_conn.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(1.848, 2.122), rotate: 0, - id: 'usb_conn_cc_pull_cc2_res' + id: 'R2' }) -const bat = board.add(BatteryHolder_Keystone_106_1x20mm, { +// bat +const U1 = board.add(BatteryHolder_Keystone_106_1x20mm, { translate: pt(2.492, 0.369), rotate: 0, - id: 'bat' + id: 'U1' }) -const pwr_5v_ic = board.add(SOT_23_6, { +// pwr_5v.ic +const U2 = board.add(SOT_23_6, { translate: pt(2.511, 1.770), rotate: 0, - id: 'pwr_5v_ic' + id: 'U2' }) -const pwr_5v_fb_div_top_res = board.add(R_0603_1608Metric, { +// pwr_5v.fb.div.top_res +const R3 = board.add(R_0603_1608Metric, { translate: pt(2.576, 1.987), rotate: 0, - id: 'pwr_5v_fb_div_top_res' + id: 'R3' }) -const pwr_5v_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// pwr_5v.fb.div.bottom_res +const R4 = board.add(R_0603_1608Metric, { translate: pt(2.229, 2.104), rotate: 0, - id: 'pwr_5v_fb_div_bottom_res' + id: 'R4' }) -const pwr_5v_hf_in_cap_cap = board.add(C_0603_1608Metric, { +// pwr_5v.hf_in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(2.385, 2.104), rotate: 0, - id: 'pwr_5v_hf_in_cap_cap' + id: 'C1' }) -const pwr_5v_vbst_cap = board.add(C_0603_1608Metric, { +// pwr_5v.vbst_cap +const C2 = board.add(C_0603_1608Metric, { translate: pt(2.541, 2.104), rotate: 0, - id: 'pwr_5v_vbst_cap' + id: 'C2' }) -const pwr_5v_power_path_inductor = board.add(L_Taiyo_Yuden_NR_50xx, { +// pwr_5v.power_path.inductor +const L1 = board.add(L_Taiyo_Yuden_NR_50xx, { translate: pt(2.281, 1.811), rotate: 0, - id: 'pwr_5v_power_path_inductor' + id: 'L1' }) -const pwr_5v_power_path_in_cap_cap = board.add(C_0805_2012Metric, { +// pwr_5v.power_path.in_cap.cap +const C3 = board.add(C_0805_2012Metric, { translate: pt(2.238, 1.997), rotate: 0, - id: 'pwr_5v_power_path_in_cap_cap' + id: 'C3' }) -const pwr_5v_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// pwr_5v.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { translate: pt(2.411, 1.997), rotate: 0, - id: 'pwr_5v_power_path_out_cap_cap' + id: 'C4' }) -const buffer_sense = board.add(R_0603_1608Metric, { +// buffer.sense +const R5 = board.add(R_0603_1608Metric, { translate: pt(1.881, 1.364), rotate: 0, - id: 'buffer_sense' + id: 'R5' }) -const buffer_fet = board.add(SOT_223_3_TabPin2, { +// buffer.fet +const Q1 = board.add(SOT_223_3_TabPin2, { translate: pt(1.996, 0.981), rotate: 0, - id: 'buffer_fet' + id: 'Q1' }) -const buffer_diode = board.add(D_SOD_323, { +// buffer.diode +const D1 = board.add(D_SOD_323, { translate: pt(2.087, 1.200), rotate: 0, - id: 'buffer_diode' + id: 'D1' }) -const buffer_set_div_top_res = board.add(R_0603_1608Metric, { +// buffer.set.div.top_res +const R6 = board.add(R_0603_1608Metric, { translate: pt(2.037, 1.364), rotate: 0, - id: 'buffer_set_div_top_res' + id: 'R6' }) -const buffer_set_div_bottom_res = board.add(R_0603_1608Metric, { +// buffer.set.div.bottom_res +const R7 = board.add(R_0603_1608Metric, { translate: pt(1.263, 1.465), rotate: 0, - id: 'buffer_set_div_bottom_res' + id: 'R7' }) -const buffer_amp_ic = board.add(SOT_23_6, { +// buffer.amp.ic +const U3 = board.add(SOT_23_6, { translate: pt(1.904, 1.229), rotate: 0, - id: 'buffer_amp_ic' + id: 'U3' }) -const buffer_amp_vdd_cap_cap = board.add(C_0603_1608Metric, { +// buffer.amp.vdd_cap.cap +const C5 = board.add(C_0603_1608Metric, { translate: pt(1.419, 1.465), rotate: 0, - id: 'buffer_amp_vdd_cap_cap' + id: 'C5' }) -const buffer_cap = board.add(CP_Radial_D14_0mm_P5_00mm, { +// buffer.cap +const C6 = board.add(CP_Radial_D14_0mm_P5_00mm, { translate: pt(1.406, 1.118), rotate: 0, - id: 'buffer_cap' + id: 'C6' }) -const pwr_3v3_ic = board.add(SOT_223_3_TabPin2, { +// pwr_3v3.ic +const U4 = board.add(SOT_223_3_TabPin2, { translate: pt(2.925, 1.844), rotate: 0, - id: 'pwr_3v3_ic' + id: 'U4' }) -const pwr_3v3_in_cap_cap = board.add(C_0603_1608Metric, { +// pwr_3v3.in_cap.cap +const C7 = board.add(C_0603_1608Metric, { translate: pt(2.983, 2.054), rotate: 0, - id: 'pwr_3v3_in_cap_cap' + id: 'C7' }) -const pwr_3v3_out_cap_cap = board.add(C_0805_2012Metric, { +// pwr_3v3.out_cap.cap +const C8 = board.add(C_0805_2012Metric, { translate: pt(2.819, 2.064), rotate: 0, - id: 'pwr_3v3_out_cap_cap' + id: 'C8' }) -const mcu_swd_conn = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { +// mcu.swd.conn +const J3 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { translate: pt(1.941, 0.146), rotate: 0, - id: 'mcu_swd_conn' + id: 'J3' }) -const mcu_ic = board.add(LQFP_64_10x10mm_P0_5mm, { +// mcu.ic +const U5 = board.add(LQFP_64_10x10mm_P0_5mm, { translate: pt(1.469, 0.264), rotate: 0, - id: 'mcu_ic' + id: 'U5' }) -const mcu_swd_pull_swdio_res = board.add(R_0603_1608Metric, { +// mcu.swd_pull.swdio.res +const R8 = board.add(R_0603_1608Metric, { translate: pt(1.263, 0.596), rotate: 0, - id: 'mcu_swd_pull_swdio_res' + id: 'R8' }) -const mcu_swd_pull_swclk_res = board.add(R_0603_1608Metric, { +// mcu.swd_pull.swclk.res +const R9 = board.add(R_0603_1608Metric, { translate: pt(1.419, 0.596), rotate: 0, - id: 'mcu_swd_pull_swclk_res' + id: 'R9' }) -const mcu_pwr_cap_0__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[0].cap +const C9 = board.add(C_0603_1608Metric, { translate: pt(1.575, 0.596), rotate: 0, - id: 'mcu_pwr_cap_0__cap' + id: 'C9' }) -const mcu_pwr_cap_1__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[1].cap +const C10 = board.add(C_0603_1608Metric, { translate: pt(1.731, 0.596), rotate: 0, - id: 'mcu_pwr_cap_1__cap' + id: 'C10' }) -const mcu_pwr_cap_2__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[2].cap +const C11 = board.add(C_0603_1608Metric, { translate: pt(1.887, 0.596), rotate: 0, - id: 'mcu_pwr_cap_2__cap' + id: 'C11' }) -const mcu_pwr_cap_3__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[3].cap +const C12 = board.add(C_0603_1608Metric, { translate: pt(2.043, 0.596), rotate: 0, - id: 'mcu_pwr_cap_3__cap' + id: 'C12' }) -const mcu_pwr_cap_4__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[4].cap +const C13 = board.add(C_0603_1608Metric, { translate: pt(2.198, 0.596), rotate: 0, - id: 'mcu_pwr_cap_4__cap' + id: 'C13' }) -const mcu_pwr_cap_5__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[5].cap +const C14 = board.add(C_0603_1608Metric, { translate: pt(1.263, 0.693), rotate: 0, - id: 'mcu_pwr_cap_5__cap' + id: 'C14' }) -const mcu_vbat_cap_cap = board.add(C_0603_1608Metric, { +// mcu.vbat_cap.cap +const C15 = board.add(C_0603_1608Metric, { translate: pt(1.419, 0.693), rotate: 0, - id: 'mcu_vbat_cap_cap' + id: 'C15' }) -const mcu_pwra_cap_0__cap = board.add(C_0603_1608Metric, { +// mcu.pwra_cap[0].cap +const C16 = board.add(C_0603_1608Metric, { translate: pt(1.575, 0.693), rotate: 0, - id: 'mcu_pwra_cap_0__cap' + id: 'C16' }) -const mcu_pwra_cap_1__cap = board.add(C_0805_2012Metric, { +// mcu.pwra_cap[1].cap +const C17 = board.add(C_0805_2012Metric, { translate: pt(2.043, 0.369), rotate: 0, - id: 'mcu_pwra_cap_1__cap' + id: 'C17' }) -const mcu_vref_cap_0__cap = board.add(C_0603_1608Metric, { +// mcu.vref_cap[0].cap +const C18 = board.add(C_0603_1608Metric, { translate: pt(1.731, 0.693), rotate: 0, - id: 'mcu_vref_cap_0__cap' + id: 'C18' }) -const mcu_vref_cap_1__cap = board.add(C_0603_1608Metric, { +// mcu.vref_cap[1].cap +const C19 = board.add(C_0603_1608Metric, { translate: pt(1.887, 0.693), rotate: 0, - id: 'mcu_vref_cap_1__cap' + id: 'C19' }) -const mcu_vref_cap_2__cap = board.add(C_0805_2012Metric, { +// mcu.vref_cap[2].cap +const C20 = board.add(C_0805_2012Metric, { translate: pt(2.217, 0.369), rotate: 0, - id: 'mcu_vref_cap_2__cap' + id: 'C20' }) -const mcu_crystal_package = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { +// mcu.crystal.package +const X1 = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { translate: pt(1.854, 0.398), rotate: 0, - id: 'mcu_crystal_package' + id: 'X1' }) -const mcu_crystal_cap_a = board.add(C_0603_1608Metric, { +// mcu.crystal.cap_a +const C21 = board.add(C_0603_1608Metric, { translate: pt(2.043, 0.693), rotate: 0, - id: 'mcu_crystal_cap_a' + id: 'C21' }) -const mcu_crystal_cap_b = board.add(C_0603_1608Metric, { +// mcu.crystal.cap_b +const C22 = board.add(C_0603_1608Metric, { translate: pt(2.198, 0.693), rotate: 0, - id: 'mcu_crystal_cap_b' + id: 'C22' }) -const can_conn = board.add(Molex_DuraClik_vert_5pin, { +// can.conn +const J4 = board.add(Molex_DuraClik_vert_5pin, { translate: pt(0.000, 2.238), rotate: 0, - id: 'can_conn' + id: 'J4' }) -const can_can_fuse_fuse = board.add(R_0603_1608Metric, { +// can.can_fuse.fuse +const F1 = board.add(R_0603_1608Metric, { translate: pt(0.231, 2.150), rotate: 0, - id: 'can_can_fuse_fuse' + id: 'F1' }) -const can_reg_ic = board.add(SOT_23_5, { +// can.reg.ic +const U6 = board.add(SOT_23_5, { translate: pt(0.589, 1.770), rotate: 0, - id: 'can_reg_ic' + id: 'U6' }) -const can_reg_in_cap_cap = board.add(C_0603_1608Metric, { +// can.reg.in_cap.cap +const C23 = board.add(C_0603_1608Metric, { translate: pt(0.387, 2.150), rotate: 0, - id: 'can_reg_in_cap_cap' + id: 'C23' }) -const can_reg_out_cap_cap = board.add(C_0805_2012Metric, { +// can.reg.out_cap.cap +const C24 = board.add(C_0805_2012Metric, { translate: pt(0.067, 2.160), rotate: 0, - id: 'can_reg_out_cap_cap' + id: 'C24' }) -const can_esd = board.add(SOT_23, { +// can.esd +const U7 = board.add(SOT_23, { translate: pt(0.583, 1.943), rotate: 0, - id: 'can_esd' + id: 'U7' }) -const can_transceiver_ic = board.add(SOP_8_6_62x9_15mm_P2_54mm, { +// can.transceiver.ic +const U8 = board.add(SOP_8_6_62x9_15mm_P2_54mm, { translate: pt(0.234, 1.893), rotate: 0, - id: 'can_transceiver_ic' + id: 'U8' }) -const can_transceiver_logic_cap_cap = board.add(C_0603_1608Metric, { +// can.transceiver.logic_cap.cap +const C25 = board.add(C_0603_1608Metric, { translate: pt(0.543, 2.150), rotate: 0, - id: 'can_transceiver_logic_cap_cap' + id: 'C25' }) -const can_transceiver_can_cap_cap = board.add(C_0603_1608Metric, { +// can.transceiver.can_cap.cap +const C26 = board.add(C_0603_1608Metric, { translate: pt(0.699, 2.150), rotate: 0, - id: 'can_transceiver_can_cap_cap' + id: 'C26' }) -const sd = board.add(SD_Kyocera_145638009511859+, { +// sd +const J5 = board.add(SD_Kyocera_145638009511859+, { translate: pt(0.565, 1.122), rotate: 0, - id: 'sd' + id: 'J5' }) -const cd_pull_res = board.add(R_0603_1608Metric, { +// cd_pull.res +const R10 = board.add(R_0603_1608Metric, { translate: pt(2.956, 2.385), rotate: 0, - id: 'cd_pull_res' + id: 'R10' }) -const xbee_ic = board.add(XBEE, { - translate: pt(1.876, 2.453), rotate: 0, - id: 'xbee_ic' +// xbee.ic +const U9 = board.add(XBEE, { + translate: pt(1.641, 2.453), rotate: 0, + id: 'U9' }) -const xbee_vdd_cap_0_cap = board.add(C_0603_1608Metric, { - translate: pt(1.778, 2.385), rotate: 0, - id: 'xbee_vdd_cap_0_cap' +// xbee.vdd_cap_0.cap +const C27 = board.add(C_0603_1608Metric, { + translate: pt(1.544, 2.385), rotate: 0, + id: 'C27' }) -const xbee_vdd_cap_1_cap = board.add(C_0603_1608Metric, { - translate: pt(1.778, 2.482), rotate: 0, - id: 'xbee_vdd_cap_1_cap' +// xbee.vdd_cap_1.cap +const C28 = board.add(C_0603_1608Metric, { + translate: pt(1.544, 2.482), rotate: 0, + id: 'C28' }) -const xbee_assoc_package = board.add(LED_0603_1608Metric, { +// xbee_assoc.package +const D2 = board.add(LED_0603_1608Metric, { translate: pt(0.840, 2.385), rotate: 0, - id: 'xbee_assoc_package' + id: 'D2' }) -const xbee_assoc_res = board.add(R_0603_1608Metric, { +// xbee_assoc.res +const R11 = board.add(R_0603_1608Metric, { translate: pt(0.839, 2.482), rotate: 0, - id: 'xbee_assoc_res' + id: 'R11' }) -const rtc_ic = board.add(SOIC_16W_7_5x10_3mm_P1_27mm, { +// rtc.ic +const U10 = board.add(SOIC_16W_7_5x10_3mm_P1_27mm, { translate: pt(1.109, 1.915), rotate: 0, - id: 'rtc_ic' + id: 'U10' }) -const rtc_vdd_res_res = board.add(R_0603_1608Metric, { +// rtc.vdd_res.res +const R12 = board.add(R_0603_1608Metric, { translate: pt(1.440, 1.848), rotate: 0, - id: 'rtc_vdd_res_res' + id: 'R12' }) -const rtc_vdd_cap_0_cap = board.add(C_0603_1608Metric, { +// rtc.vdd_cap_0.cap +const C29 = board.add(C_0603_1608Metric, { translate: pt(1.440, 1.945), rotate: 0, - id: 'rtc_vdd_cap_0_cap' + id: 'C29' }) -const rtc_vdd_cap_1_cap = board.add(C_0805_2012Metric, { +// rtc.vdd_cap_1.cap +const C30 = board.add(C_0805_2012Metric, { translate: pt(1.449, 1.741), rotate: 0, - id: 'rtc_vdd_cap_1_cap' + id: 'C30' }) -const rtc_vbat_cap_cap = board.add(C_0603_1608Metric, { +// rtc.vbat_cap.cap +const C31 = board.add(C_0603_1608Metric, { translate: pt(1.440, 2.042), rotate: 0, - id: 'rtc_vbat_cap_cap' + id: 'C31' }) -const rtc_bbs_cap_cap = board.add(C_0603_1608Metric, { +// rtc.bbs_cap.cap +const C32 = board.add(C_0603_1608Metric, { translate: pt(0.934, 2.196), rotate: 0, - id: 'rtc_bbs_cap_cap' + id: 'C32' }) -const eink_ic = board.add(Hirose_FH12_24S_0_5SH_1x24_1MP_P0_50mm_Horizontal, { +// eink.ic +const U11 = board.add(Hirose_FH12_24S_0_5SH_1x24_1MP_P0_50mm_Horizontal, { translate: pt(2.644, 1.032), rotate: 0, - id: 'eink_ic' + id: 'U11' }) -const eink_boost_sw = board.add(SOT_23, { +// eink.boost_sw +const Q2 = board.add(SOT_23, { translate: pt(3.115, 0.906), rotate: 0, - id: 'eink_boost_sw' + id: 'Q2' }) -const eink_boost_ind = board.add(L_0805_2012Metric, { +// eink.boost_ind +const L2 = board.add(L_0805_2012Metric, { translate: pt(2.979, 1.223), rotate: 0, - id: 'eink_boost_ind' + id: 'L2' }) -const eink_boost_res = board.add(R_0603_1608Metric, { +// eink.boost_res +const R13 = board.add(R_0603_1608Metric, { translate: pt(3.146, 1.219), rotate: 0, - id: 'eink_boost_res' + id: 'R13' }) -const eink_boot_cap = board.add(C_0805_2012Metric, { +// eink.boot_cap +const C33 = board.add(C_0805_2012Metric, { translate: pt(2.804, 1.228), rotate: 0, - id: 'eink_boot_cap' + id: 'C33' }) -const eink_vdd_cap0_cap = board.add(C_0603_1608Metric, { +// eink.vdd_cap0.cap +const C34 = board.add(C_0603_1608Metric, { translate: pt(2.346, 1.348), rotate: 0, - id: 'eink_vdd_cap0_cap' + id: 'C34' }) -const eink_vdd_cap1_cap = board.add(C_0603_1608Metric, { +// eink.vdd_cap1.cap +const C35 = board.add(C_0603_1608Metric, { translate: pt(2.502, 1.348), rotate: 0, - id: 'eink_vdd_cap1_cap' + id: 'C35' }) -const eink_vslr_cap = board.add(C_0603_1608Metric, { +// eink.vslr_cap +const C36 = board.add(C_0603_1608Metric, { translate: pt(2.658, 1.348), rotate: 0, - id: 'eink_vslr_cap' + id: 'C36' }) -const eink_vdhr_cap = board.add(C_0603_1608Metric, { +// eink.vdhr_cap +const C37 = board.add(C_0603_1608Metric, { translate: pt(2.813, 1.348), rotate: 0, - id: 'eink_vdhr_cap' + id: 'C37' }) -const eink_vddd_cap = board.add(C_0603_1608Metric, { +// eink.vddd_cap +const C38 = board.add(C_0603_1608Metric, { translate: pt(2.969, 1.348), rotate: 0, - id: 'eink_vddd_cap' + id: 'C38' }) -const eink_vdh_cap = board.add(C_0603_1608Metric, { +// eink.vdh_cap +const C39 = board.add(C_0603_1608Metric, { translate: pt(3.125, 1.348), rotate: 0, - id: 'eink_vdh_cap' + id: 'C39' }) -const eink_vgh_cap = board.add(C_0603_1608Metric, { +// eink.vgh_cap +const C40 = board.add(C_0603_1608Metric, { translate: pt(2.346, 1.445), rotate: 0, - id: 'eink_vgh_cap' + id: 'C40' }) -const eink_vdl_cap = board.add(C_0603_1608Metric, { +// eink.vdl_cap +const C41 = board.add(C_0603_1608Metric, { translate: pt(2.502, 1.445), rotate: 0, - id: 'eink_vdl_cap' + id: 'C41' }) -const eink_vgl_cap = board.add(C_0603_1608Metric, { +// eink.vgl_cap +const C42 = board.add(C_0603_1608Metric, { translate: pt(2.658, 1.445), rotate: 0, - id: 'eink_vgl_cap' + id: 'C42' }) -const eink_vcom_cap = board.add(C_0603_1608Metric, { +// eink.vcom_cap +const C43 = board.add(C_0603_1608Metric, { translate: pt(2.813, 1.445), rotate: 0, - id: 'eink_vcom_cap' + id: 'C43' }) -const eink_boost_dio = board.add(D_SOD_123, { +// eink.boost_dio +const D3 = board.add(D_SOD_123, { translate: pt(3.132, 1.058), rotate: 0, - id: 'eink_boost_dio' + id: 'D3' }) -const eink_vgl_dio = board.add(D_SOD_123, { +// eink.vgl_dio +const D4 = board.add(D_SOD_123, { translate: pt(2.380, 1.235), rotate: 0, - id: 'eink_vgl_dio' + id: 'D4' }) -const eink_boot_dio = board.add(D_SOD_123, { +// eink.boot_dio +const D5 = board.add(D_SOD_123, { translate: pt(2.605, 1.235), rotate: 0, - id: 'eink_boot_dio' + id: 'D5' }) -const ext = board.add(PinHeader_1x06_P2_54mm_Vertical, { +// ext +const U12 = board.add(PinHeader_1x06_P2_54mm_Vertical, { translate: pt(3.414, 1.410), rotate: 0, - id: 'ext' + id: 'U12' }) -const rgb1_package = board.add(LED_LiteOn_LTST_C19HE1WT, { +// rgb1.package +const D6 = board.add(LED_LiteOn_LTST_C19HE1WT, { translate: pt(0.041, 2.411), rotate: 0, - id: 'rgb1_package' + id: 'D6' }) -const rgb1_red_res = board.add(R_0603_1608Metric, { +// rgb1.red_res +const R14 = board.add(R_0603_1608Metric, { translate: pt(0.180, 2.385), rotate: 0, - id: 'rgb1_red_res' + id: 'R14' }) -const rgb1_green_res = board.add(R_0603_1608Metric, { +// rgb1.green_res +const R15 = board.add(R_0603_1608Metric, { translate: pt(0.058, 2.535), rotate: 0, - id: 'rgb1_green_res' + id: 'R15' }) -const rgb1_blue_res = board.add(R_0603_1608Metric, { +// rgb1.blue_res +const R16 = board.add(R_0603_1608Metric, { translate: pt(0.214, 2.535), rotate: 0, - id: 'rgb1_blue_res' -}) -const rgb2_package = board.add(LED_LiteOn_LTST_C19HE1WT, { - translate: pt(3.258, 1.758), rotate: 0, - id: 'rgb2_package' -}) -const rgb2_red_res = board.add(R_0603_1608Metric, { - translate: pt(3.397, 1.731), rotate: 0, - id: 'rgb2_red_res' -}) -const rgb2_green_res = board.add(R_0603_1608Metric, { - translate: pt(3.275, 1.881), rotate: 0, - id: 'rgb2_green_res' + id: 'R16' }) -const rgb2_blue_res = board.add(R_0603_1608Metric, { - translate: pt(3.431, 1.881), rotate: 0, - id: 'rgb2_blue_res' -}) -const rgb3_package = board.add(LED_LiteOn_LTST_C19HE1WT, { +// rgb2.package +const D7 = board.add(LED_LiteOn_LTST_C19HE1WT, { translate: pt(0.432, 2.411), rotate: 0, - id: 'rgb3_package' + id: 'D7' }) -const rgb3_red_res = board.add(R_0603_1608Metric, { +// rgb2.red_res +const R17 = board.add(R_0603_1608Metric, { translate: pt(0.571, 2.385), rotate: 0, - id: 'rgb3_red_res' + id: 'R17' }) -const rgb3_green_res = board.add(R_0603_1608Metric, { +// rgb2.green_res +const R18 = board.add(R_0603_1608Metric, { translate: pt(0.449, 2.535), rotate: 0, - id: 'rgb3_green_res' + id: 'R18' }) -const rgb3_blue_res = board.add(R_0603_1608Metric, { +// rgb2.blue_res +const R19 = board.add(R_0603_1608Metric, { translate: pt(0.605, 2.535), rotate: 0, - id: 'rgb3_blue_res' + id: 'R19' }) -const sw1_package = board.add(SW_Push_SPST_NO_Alps_SKRK, { - translate: pt(2.437, 2.423), rotate: 0, - id: 'sw1_package' +// rgb3.package +const D8 = board.add(LED_LiteOn_LTST_C19HE1WT, { + translate: pt(3.258, 1.758), rotate: 0, + id: 'D8' }) -const sw1_pull_res = board.add(R_0603_1608Metric, { - translate: pt(3.191, 2.385), rotate: 0, - id: 'sw1_pull_res' +// rgb3.red_res +const R20 = board.add(R_0603_1608Metric, { + translate: pt(3.397, 1.731), rotate: 0, + id: 'R20' }) -const sw2_package = board.add(SW_Push_SPST_NO_Alps_SKRK, { - translate: pt(2.102, 2.423), rotate: 0, - id: 'sw2_package' +// rgb3.green_res +const R21 = board.add(R_0603_1608Metric, { + translate: pt(3.275, 1.881), rotate: 0, + id: 'R21' }) -const sw2_pull_res = board.add(R_0603_1608Metric, { +// rgb3.blue_res +const R22 = board.add(R_0603_1608Metric, { + translate: pt(3.431, 1.881), rotate: 0, + id: 'R22' +}) +// sw1.package +const SW1 = board.add(SW_Push_SPST_NO_Alps_SKRK, { + translate: pt(2.437, 2.423), rotate: 0, + id: 'SW1' +}) +// sw1_pull.res +const R23 = board.add(R_0603_1608Metric, { translate: pt(2.721, 2.385), rotate: 0, - id: 'sw2_pull_res' + id: 'R23' }) -const v12sense_div_top_res = board.add(R_0603_1608Metric, { - translate: pt(1.309, 2.385), rotate: 0, - id: 'v12sense_div_top_res' +// sw2.package +const SW2 = board.add(SW_Push_SPST_NO_Alps_SKRK, { + translate: pt(2.102, 2.423), rotate: 0, + id: 'SW2' }) -const v12sense_div_bottom_res = board.add(R_0603_1608Metric, { - translate: pt(1.309, 2.482), rotate: 0, - id: 'v12sense_div_bottom_res' +// sw2_pull.res +const R24 = board.add(R_0603_1608Metric, { + translate: pt(3.191, 2.385), rotate: 0, + id: 'R24' }) -const v5sense_div_top_res = board.add(R_0603_1608Metric, { - translate: pt(1.544, 2.385), rotate: 0, - id: 'v5sense_div_top_res' +// v12sense.div.top_res +const R25 = board.add(R_0603_1608Metric, { + translate: pt(1.818, 2.385), rotate: 0, + id: 'R25' }) -const v5sense_div_bottom_res = board.add(R_0603_1608Metric, { - translate: pt(1.544, 2.482), rotate: 0, - id: 'v5sense_div_bottom_res' +// v12sense.div.bottom_res +const R26 = board.add(R_0603_1608Metric, { + translate: pt(1.818, 2.482), rotate: 0, + id: 'R26' }) -const vscsense_div_top_res = board.add(R_0603_1608Metric, { +// v5sense.div.top_res +const R27 = board.add(R_0603_1608Metric, { translate: pt(1.074, 2.385), rotate: 0, - id: 'vscsense_div_top_res' + id: 'R27' }) -const vscsense_div_bottom_res = board.add(R_0603_1608Metric, { +// v5sense.div.bottom_res +const R28 = board.add(R_0603_1608Metric, { translate: pt(1.074, 2.482), rotate: 0, - id: 'vscsense_div_bottom_res' + id: 'R28' +}) +// vscsense.div.top_res +const R29 = board.add(R_0603_1608Metric, { + translate: pt(1.309, 2.385), rotate: 0, + id: 'R29' }) +// vscsense.div.bottom_res +const R30 = board.add(R_0603_1608Metric, { + translate: pt(1.309, 2.482), rotate: 0, + id: 'R30' +}) + +board.setNetlist([ + {name: "gnd", pads: [["J1", "1"], ["J1", "3"], ["U1", "2"], ["J5", "3"], ["J5", "6"], ["J5", "SH"], ["U12", "3"], ["J2", "A1"], ["J2", "B12"], ["J2", "B1"], ["J2", "A12"], ["U2", "1"], ["C6", "2"], ["U4", "1"], ["U5", "21"], ["U5", "14"], ["U5", "26"], ["U5", "27"], ["U5", "55"], ["U5", "56"], ["U9", "10"], ["U9", "14"], ["R11", "2"], ["U10", "5"], ["U10", "8"], ["U11", "17"], ["U11", "8"], ["SW1", "2"], ["SW2", "2"], ["U8", "4"], ["R26", "2"], ["R28", "2"], ["R30", "2"], ["J2", "S1"], ["R13", "2"], ["C36", "2"], ["C37", "2"], ["C38", "2"], ["C39", "2"], ["C40", "2"], ["C41", "2"], ["C42", "2"], ["C43", "2"], ["D5", "1"], ["C1", "2"], ["U3", "2"], ["C7", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["C11", "2"], ["C12", "2"], ["C13", "2"], ["C14", "2"], ["C15", "2"], ["C16", "2"], ["C17", "2"], ["C18", "2"], ["C19", "2"], ["C20", "2"], ["X1", "2"], ["X1", "4"], ["C27", "2"], ["C28", "2"], ["C29", "2"], ["C30", "2"], ["C31", "2"], ["C32", "2"], ["C34", "2"], ["C35", "2"], ["R4", "2"], ["R7", "2"], ["R9", "1"], ["C25", "2"], ["R1", "1"], ["R2", "1"], ["J3", "3"], ["J3", "5"], ["J3", "9"], ["C21", "2"], ["C22", "2"], ["C3", "2"], ["C4", "2"], ["C5", "2"]]}, + {name: "vin", pads: [["J1", "2"], ["U2", "3"], ["R25", "1"], ["U2", "5"], ["C1", "1"], ["C3", "1"]]}, + {name: "v5", pads: [["R27", "1"], ["J2", "A4"], ["J2", "B9"], ["J2", "B4"], ["J2", "A9"], ["R5", "1"], ["U3", "5"], ["U3", "6"], ["R6", "1"], ["R3", "1"], ["D1", "1"], ["U4", "3"], ["C5", "1"], ["C7", "1"], ["L1", "2"], ["C4", "1"]]}, + {name: "v3v3", pads: [["J5", "4"], ["U12", "2"], ["U4", "2"], ["U5", "20"], ["U5", "13"], ["U5", "18"], ["U5", "41"], ["U5", "22"], ["U5", "37"], ["U5", "52"], ["U5", "57"], ["R10", "1"], ["U9", "1"], ["U11", "10"], ["U11", "9"], ["D6", "2"], ["D7", "2"], ["D8", "2"], ["R23", "1"], ["R24", "1"], ["U8", "1"], ["R12", "1"], ["C8", "1"], ["L2", "1"], ["J3", "1"], ["C9", "1"], ["C10", "1"], ["C11", "1"], ["C12", "1"], ["C13", "1"], ["C14", "1"], ["C15", "1"], ["C16", "1"], ["C17", "1"], ["C18", "1"], ["C19", "1"], ["C20", "1"], ["C27", "1"], ["C28", "1"], ["C34", "1"], ["C35", "1"], ["R8", "1"], ["C25", "1"]]}, + {name: "usb_conn.usb.dp", pads: [["U5", "47"], ["J2", "A6"], ["J2", "B6"]]}, + {name: "usb_conn.usb.dm", pads: [["U5", "48"], ["J2", "A7"], ["J2", "B7"]]}, + {name: "can.controller.txd", pads: [["U5", "51"], ["U8", "3"]]}, + {name: "can.controller.rxd", pads: [["U5", "53"], ["U8", "2"]]}, + {name: "sd.spi.sck", pads: [["U5", "17"], ["J5", "5"]]}, + {name: "sd.spi.mosi", pads: [["U5", "15"], ["J5", "2"]]}, + {name: "sd.spi.miso", pads: [["U5", "19"], ["J5", "7"]]}, + {name: "sd.cs", pads: [["U5", "11"], ["J5", "1"]]}, + {name: "cd_pull.io", pads: [["U5", "16"], ["J5", "10"], ["R10", "2"]]}, + {name: "xbee.data.rx", pads: [["U5", "58"], ["U9", "3"]]}, + {name: "xbee.data.tx", pads: [["U5", "50"], ["U9", "2"]]}, + {name: "xbee.associate", pads: [["U9", "15"], ["D2", "2"]]}, + {name: "rtc.spi.sck", pads: [["U5", "5"], ["U10", "1"], ["U11", "12"]]}, + {name: "rtc.spi.mosi", pads: [["U5", "6"], ["U10", "2"], ["U11", "11"]]}, + {name: "rtc.spi.miso", pads: [["U5", "7"], ["U10", "3"]]}, + {name: "rtc.cs", pads: [["U5", "64"], ["U10", "4"]]}, + {name: "bat.pwr", pads: [["U1", "1"], ["U10", "15"], ["C31", "1"]]}, + {name: "eink.busy", pads: [["U5", "1"], ["U11", "16"]]}, + {name: "eink.reset", pads: [["U5", "2"], ["U11", "15"]]}, + {name: "eink.dc", pads: [["U5", "3"], ["U11", "14"]]}, + {name: "eink.cs", pads: [["U5", "4"], ["U11", "13"]]}, + {name: "ext.data.rx", pads: [["U5", "60"], ["U12", "5"]]}, + {name: "ext.data.tx", pads: [["U5", "61"], ["U12", "4"]]}, + {name: "ext.cts", pads: [["U5", "62"], ["U12", "1"]]}, + {name: "ext.rts", pads: [["U5", "59"], ["U12", "6"]]}, + {name: "mcu.gpio.rgb1_red", pads: [["U5", "31"], ["R14", "2"]]}, + {name: "mcu.gpio.rgb1_green", pads: [["U5", "32"], ["R15", "2"]]}, + {name: "mcu.gpio.rgb1_blue", pads: [["U5", "30"], ["R16", "2"]]}, + {name: "mcu.gpio.rgb2_red", pads: [["U5", "28"], ["R17", "2"]]}, + {name: "mcu.gpio.rgb2_green", pads: [["U5", "29"], ["R18", "2"]]}, + {name: "mcu.gpio.rgb2_blue", pads: [["U5", "25"], ["R19", "2"]]}, + {name: "mcu.gpio.rgb3_red", pads: [["U5", "46"], ["R20", "2"]]}, + {name: "mcu.gpio.rgb3_green", pads: [["U5", "39"], ["R21", "2"]]}, + {name: "mcu.gpio.rgb3_blue", pads: [["U5", "34"], ["R22", "2"]]}, + {name: "sw1.out", pads: [["U5", "33"], ["SW1", "1"], ["R23", "2"]]}, + {name: "sw2.out", pads: [["U5", "23"], ["SW2", "1"], ["R24", "2"]]}, + {name: "v12sense.output", pads: [["U5", "10"], ["R25", "2"], ["R26", "1"]]}, + {name: "v5sense.output", pads: [["U5", "9"], ["R27", "2"], ["R28", "1"]]}, + {name: "buffer.sc_out", pads: [["C6", "1"], ["R29", "1"], ["Q1", "2"], ["D1", "2"]]}, + {name: "vscsense.output", pads: [["U5", "8"], ["R29", "2"], ["R30", "1"]]}, + {name: "usb_conn.conn.cc.cc1", pads: [["J2", "A5"], ["R1", "2"]]}, + {name: "usb_conn.conn.cc.cc2", pads: [["J2", "B5"], ["R2", "2"]]}, + {name: "pwr_5v.fb.output", pads: [["U2", "4"], ["R3", "2"], ["R4", "1"]]}, + {name: "pwr_5v.vbst_cap.neg", pads: [["C2", "2"], ["U2", "2"], ["L1", "1"]]}, + {name: "pwr_5v.vbst_cap.pos", pads: [["C2", "1"], ["U2", "6"]]}, + {name: "buffer.fet.source", pads: [["Q1", "3"], ["R5", "2"], ["U3", "4"]]}, + {name: "buffer.set.output", pads: [["U3", "3"], ["R6", "2"], ["R7", "1"]]}, + {name: "buffer.fet.gate", pads: [["Q1", "1"], ["U3", "1"]]}, + {name: "mcu.xtal_node.xi", pads: [["U5", "36"], ["X1", "1"], ["C21", "1"]]}, + {name: "mcu.xtal_node.xo", pads: [["U5", "35"], ["X1", "3"], ["C22", "1"]]}, + {name: "mcu.swd_node.swdio", pads: [["U5", "44"], ["J3", "2"], ["R8", "2"]]}, + {name: "mcu.swd_node.swclk", pads: [["U5", "40"], ["J3", "4"], ["R9", "2"]]}, + {name: "mcu.reset_node", pads: [["U5", "45"], ["J3", "10"]]}, + {name: "mcu.swd.swo", pads: [["U5", "12"], ["J3", "6"]]}, + {name: "mcu.swd.tdi", pads: [["J3", "8"]]}, + {name: "mcu.ic.xtal_rtc.xtal_in", pads: [["U5", "42"]]}, + {name: "mcu.ic.xtal_rtc.xtal_out", pads: [["U5", "43"]]}, + {name: "can.can.canh", pads: [["J4", "4"], ["U7", "2"], ["U8", "7"]]}, + {name: "can.can.canl", pads: [["J4", "5"], ["U7", "1"], ["U8", "6"]]}, + {name: "can.conn.pwr", pads: [["J4", "2"], ["F1", "1"]]}, + {name: "can.can_fuse.pwr_out", pads: [["F1", "2"], ["U6", "1"], ["U6", "3"], ["C23", "1"]]}, + {name: "can.conn.gnd", pads: [["J4", "3"], ["U7", "3"], ["U6", "2"], ["U8", "5"], ["C23", "2"], ["C24", "2"], ["C26", "2"]]}, + {name: "can.transceiver.can_pwr", pads: [["U8", "8"], ["U6", "5"], ["C26", "1"], ["C24", "1"]]}, + {name: "sd.wp", pads: [["J5", "11"]]}, + {name: "xbee.rssi", pads: [["U9", "6"]]}, + {name: "xbee_assoc.res.a", pads: [["R11", "1"], ["D2", "1"]]}, + {name: "rtc.clkout", pads: [["U10", "7"]]}, + {name: "rtc.int", pads: [["U10", "13"]]}, + {name: "rtc.ic.pwr", pads: [["U10", "16"], ["R12", "2"], ["C29", "1"], ["C30", "1"]]}, + {name: "rtc.ic.bbs", pads: [["U10", "14"], ["C32", "1"]]}, + {name: "eink.boost_ind.b", pads: [["L2", "2"], ["Q2", "3"], ["C33", "1"], ["D3", "2"]]}, + {name: "eink.boost_sw.gate", pads: [["Q2", "1"], ["U11", "23"]]}, + {name: "eink.boost_sw.source", pads: [["Q2", "2"], ["R13", "1"], ["U11", "22"]]}, + {name: "eink.ic.vslr", pads: [["U11", "21"], ["C36", "1"]]}, + {name: "eink.ic.vdhr", pads: [["U11", "20"], ["C37", "1"]]}, + {name: "eink.ic.vddd", pads: [["U11", "7"], ["C38", "1"]]}, + {name: "eink.ic.vdh", pads: [["U11", "5"], ["C39", "1"]]}, + {name: "eink.ic.vgh", pads: [["U11", "4"], ["C40", "1"], ["D3", "1"]]}, + {name: "eink.ic.vdl", pads: [["U11", "3"], ["C41", "1"]]}, + {name: "eink.ic.vgl", pads: [["U11", "2"], ["C42", "1"], ["D4", "2"]]}, + {name: "eink.ic.vcom", pads: [["U11", "1"], ["C43", "1"]]}, + {name: "eink.vgl_dio.cathode", pads: [["D4", "1"], ["C33", "2"], ["D5", "2"]]}, + {name: "rgb1.red_res.a", pads: [["R14", "1"], ["D6", "3"]]}, + {name: "rgb1.green_res.a", pads: [["R15", "1"], ["D6", "4"]]}, + {name: "rgb1.blue_res.a", pads: [["R16", "1"], ["D6", "1"]]}, + {name: "rgb2.red_res.a", pads: [["R17", "1"], ["D7", "3"]]}, + {name: "rgb2.green_res.a", pads: [["R18", "1"], ["D7", "4"]]}, + {name: "rgb2.blue_res.a", pads: [["R19", "1"], ["D7", "1"]]}, + {name: "rgb3.red_res.a", pads: [["R20", "1"], ["D8", "3"]]}, + {name: "rgb3.green_res.a", pads: [["R21", "1"], ["D8", "4"]]}, + {name: "rgb3.blue_res.a", pads: [["R22", "1"], ["D8", "1"]]} +]) const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(3.6070866141732285, 2.6814960629921263); diff --git a/examples/DeskController/DeskController.svgpcb.js b/examples/DeskController/DeskController.svgpcb.js index 88325f2bf..4df60cd41 100644 --- a/examples/DeskController/DeskController.svgpcb.js +++ b/examples/DeskController/DeskController.svgpcb.js @@ -1,233 +1,342 @@ const board = new PCB(); -const sw = SwitchMatrix_2_3_sw(pt(0, 0)) -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { - translate: pt(1.737, 2.535), rotate: 0, - id: 'jlc_th_th1' -}) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { - translate: pt(1.776, 2.535), rotate: 0, - id: 'jlc_th_th2' -}) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { - translate: pt(1.737, 2.575), rotate: 0, - id: 'jlc_th_th3' -}) -const conn_conn = board.add(JST_PH_B6B_PH_K_1x06_P2_00mm_Vertical, { - translate: pt(1.666, 1.543), rotate: 0, - id: 'conn_conn' -}) -const conn_dtx_shift_fet = board.add(SOT_23, { - translate: pt(1.645, 1.736), rotate: 0, - id: 'conn_dtx_shift_fet' -}) -const conn_dtx_shift_lv_pu_res = board.add(R_0603_1608Metric, { - translate: pt(2.009, 1.698), rotate: 0, - id: 'conn_dtx_shift_lv_pu_res' -}) -const conn_htx_shift_fet = board.add(SOT_23, { - translate: pt(1.835, 1.736), rotate: 0, - id: 'conn_htx_shift_fet' -}) -const conn_htx_shift_lv_pu_res = board.add(R_0603_1608Metric, { - translate: pt(1.628, 1.871), rotate: 0, - id: 'conn_htx_shift_lv_pu_res' -}) -const tp_gnd_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.545, 2.056), rotate: 0, - id: 'tp_gnd_tp' -}) -const choke_fb = board.add(L_0805_2012Metric, { - translate: pt(1.315, 2.569), rotate: 0, - id: 'choke_fb' -}) -const tp_pwr_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.317, 2.573), rotate: 0, - id: 'tp_pwr_tp' -}) -const reg_3v3_ic = board.add(SOT_223_3_TabPin2, { - translate: pt(3.180, 1.555), rotate: 0, - id: 'reg_3v3_ic' -}) -const reg_3v3_in_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(3.238, 1.765), rotate: 0, - id: 'reg_3v3_in_cap_cap' -}) -const reg_3v3_out_cap_cap = board.add(C_0805_2012Metric, { - translate: pt(3.073, 1.775), rotate: 0, - id: 'reg_3v3_out_cap_cap' -}) -const tp_3v3_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.062, 2.573), rotate: 0, - id: 'tp_3v3_tp' -}) -const prot_3v3_diode = board.add(D_SOD_323, { - translate: pt(0.564, 2.573), rotate: 0, - id: 'prot_3v3_diode' -}) -const mcu_ic = board.add(ESP_WROOM_02, { - translate: pt(0.561, 1.695), rotate: 0, - id: 'mcu_ic' -}) -const mcu_vcc_cap0_cap = board.add(C_0805_2012Metric, { - translate: pt(1.228, 1.649), rotate: 0, - id: 'mcu_vcc_cap0_cap' -}) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { - translate: pt(1.393, 1.639), rotate: 0, - id: 'mcu_vcc_cap1_cap' -}) -const mcu_prog_conn = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { - translate: pt(1.299, 1.492), rotate: 0, - id: 'mcu_prog_conn' -}) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { - translate: pt(1.220, 1.756), rotate: 0, - id: 'mcu_en_pull_rc_r' -}) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { - translate: pt(1.376, 1.756), rotate: 0, - id: 'mcu_en_pull_rc_c' -}) -const ledr_package = board.add(LED_0603_1608Metric, { - translate: pt(2.833, 2.047), rotate: 0, - id: 'ledr_package' -}) -const ledr_res = board.add(R_0603_1608Metric, { - translate: pt(2.833, 2.144), rotate: 0, - id: 'ledr_res' -}) -const oled_device_conn_conn = board.add(TE_3_1734839_0_1x30_1MP_P0_5mm_Horizontal, { - translate: pt(2.461, 1.028), rotate: 0, - id: 'oled_device_conn_conn' -}) -const oled_lcd = board.add(Lcd_Er_Oled0_96_1_1_Outline, { - translate: pt(2.565, 0.516), rotate: 0, - id: 'oled_lcd' -}) -const oled_c1_cap = board.add(C_0603_1608Metric, { - translate: pt(3.328, 0.889), rotate: 0, - id: 'oled_c1_cap' -}) -const oled_c2_cap = board.add(C_0603_1608Metric, { - translate: pt(2.981, 1.006), rotate: 0, - id: 'oled_c2_cap' -}) -const oled_iref_res = board.add(R_0603_1608Metric, { - translate: pt(3.137, 1.006), rotate: 0, - id: 'oled_iref_res' -}) -const oled_vcomh_cap_cap = board.add(C_0805_2012Metric, { - translate: pt(2.990, 0.899), rotate: 0, - id: 'oled_vcomh_cap_cap' -}) -const oled_vdd_cap1_cap = board.add(C_0603_1608Metric, { - translate: pt(3.293, 1.006), rotate: 0, - id: 'oled_vdd_cap1_cap' -}) -const oled_vbat_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(3.449, 1.006), rotate: 0, - id: 'oled_vbat_cap_cap' -}) -const oled_vcc_cap_cap = board.add(C_0805_2012Metric, { - translate: pt(3.163, 0.899), rotate: 0, - id: 'oled_vcc_cap_cap' -}) -const i2c_pull_scl_res_res = board.add(R_0603_1608Metric, { - translate: pt(3.303, 2.047), rotate: 0, - id: 'i2c_pull_scl_res_res' -}) -const i2c_pull_sda_res_res = board.add(R_0603_1608Metric, { - translate: pt(3.303, 2.144), rotate: 0, - id: 'i2c_pull_sda_res_res' -}) -const io8_pu_res = board.add(R_0603_1608Metric, { - translate: pt(1.560, 2.564), rotate: 0, - id: 'io8_pu_res' -}) -const spk_dac_rc_r = board.add(R_0603_1608Metric, { - translate: pt(3.068, 2.047), rotate: 0, - id: 'spk_dac_rc_r' -}) -const spk_dac_rc_c = board.add(C_0603_1608Metric, { - translate: pt(3.068, 2.144), rotate: 0, - id: 'spk_dac_rc_c' -}) -const spk_tp_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.811, 2.573), rotate: 0, - id: 'spk_tp_tp' -}) -const spk_drv_ic = board.add(MSOP_8_1EP_3x3mm_P0_65mm_EP1_68x1_88mm_ThermalVias, { - translate: pt(1.692, 2.087), rotate: 0, - id: 'spk_drv_ic' -}) -const spk_drv_pwr_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(1.628, 2.224), rotate: 0, - id: 'spk_drv_pwr_cap_cap' -}) -const spk_drv_bulk_cap_cap = board.add(C_0805_2012Metric, { - translate: pt(1.921, 2.057), rotate: 0, - id: 'spk_drv_bulk_cap_cap' -}) -const spk_drv_inp_res = board.add(R_0603_1608Metric, { - translate: pt(1.783, 2.224), rotate: 0, - id: 'spk_drv_inp_res' -}) -const spk_drv_inp_cap = board.add(C_0603_1608Metric, { - translate: pt(1.939, 2.224), rotate: 0, - id: 'spk_drv_inp_cap' -}) -const spk_drv_inn_res = board.add(R_0603_1608Metric, { - translate: pt(1.628, 2.321), rotate: 0, - id: 'spk_drv_inn_res' -}) -const spk_drv_inn_cap = board.add(C_0603_1608Metric, { - translate: pt(1.783, 2.321), rotate: 0, - id: 'spk_drv_inn_cap' -}) -const spk_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(2.481, 2.148), rotate: 0, - id: 'spk_conn' -}) -const npx_shift_fet = board.add(SOT_23, { - translate: pt(2.191, 2.085), rotate: 0, - id: 'npx_shift_fet' -}) -const npx_shift_hv_pu_res = board.add(R_0603_1608Metric, { - translate: pt(2.174, 2.220), rotate: 0, - id: 'npx_shift_hv_pu_res' -}) -const npx_tp_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.066, 2.573), rotate: 0, - id: 'npx_tp_tp' -}) -const npx_led_0_ = board.add(LED_SK6812MINI_E, { - translate: pt(2.418, 1.478), rotate: 0, - id: 'npx_led_0_' -}) -const npx_led_1_ = board.add(LED_SK6812MINI_E, { - translate: pt(2.744, 1.478), rotate: 0, - id: 'npx_led_1_' -}) -const npx_led_2_ = board.add(LED_SK6812MINI_E, { - translate: pt(2.418, 1.648), rotate: 0, - id: 'npx_led_2_' -}) -const npx_led_3_ = board.add(LED_SK6812MINI_E, { - translate: pt(2.744, 1.648), rotate: 0, - id: 'npx_led_3_' -}) -const npx_led_4_ = board.add(LED_SK6812MINI_E, { - translate: pt(2.418, 1.817), rotate: 0, - id: 'npx_led_4_' -}) -const npx_led_5_ = board.add(LED_SK6812MINI_E, { - translate: pt(2.744, 1.817), rotate: 0, - id: 'npx_led_5_' +const sw = SwitchMatrix_2_3_sw(pt(0.039, 0.039)) +// jlc_th.th1 +const DH1 = board.add(JlcToolingHole_1_152mm, { + translate: pt(1.737, 3.240), rotate: 0, + id: 'DH1' +}) +// jlc_th.th2 +const DH2 = board.add(JlcToolingHole_1_152mm, { + translate: pt(1.776, 3.240), rotate: 0, + id: 'DH2' +}) +// jlc_th.th3 +const DH3 = board.add(JlcToolingHole_1_152mm, { + translate: pt(1.737, 3.280), rotate: 0, + id: 'DH3' +}) +// conn.conn +const DJ1 = board.add(JST_PH_B6B_PH_K_1x06_P2_00mm_Vertical, { + translate: pt(1.666, 2.248), rotate: 0, + id: 'DJ1' +}) +// conn.dtx_shift.fet +const DQ1 = board.add(SOT_23, { + translate: pt(1.645, 2.441), rotate: 0, + id: 'DQ1' +}) +// conn.dtx_shift.lv_pu.res +const DR1 = board.add(R_0603_1608Metric, { + translate: pt(2.009, 2.403), rotate: 0, + id: 'DR1' +}) +// conn.htx_shift.fet +const DQ2 = board.add(SOT_23, { + translate: pt(1.835, 2.441), rotate: 0, + id: 'DQ2' +}) +// conn.htx_shift.lv_pu.res +const DR2 = board.add(R_0603_1608Metric, { + translate: pt(1.628, 2.576), rotate: 0, + id: 'DR2' +}) +// tp_gnd.tp +const DTP1 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(3.545, 2.760), rotate: 0, + id: 'DTP1' +}) +// choke.fb +const DFB1 = board.add(L_0805_2012Metric, { + translate: pt(1.315, 3.274), rotate: 0, + id: 'DFB1' +}) +// tp_pwr.tp +const DTP2 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.317, 3.278), rotate: 0, + id: 'DTP2' +}) +// reg_3v3.ic +const DU1 = board.add(SOT_223_3_TabPin2, { + translate: pt(3.180, 2.260), rotate: 0, + id: 'DU1' +}) +// reg_3v3.in_cap.cap +const DC1 = board.add(C_0603_1608Metric, { + translate: pt(3.238, 2.470), rotate: 0, + id: 'DC1' +}) +// reg_3v3.out_cap.cap +const DC2 = board.add(C_0805_2012Metric, { + translate: pt(3.073, 2.480), rotate: 0, + id: 'DC2' +}) +// tp_3v3.tp +const DTP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.567, 3.278), rotate: 0, + id: 'DTP3' +}) +// prot_3v3.diode +const DD1 = board.add(D_SOD_323, { + translate: pt(0.815, 3.278), rotate: 0, + id: 'DD1' +}) +// mcu.ic +const DU2 = board.add(ESP_WROOM_02, { + translate: pt(0.561, 2.400), rotate: 0, + id: 'DU2' +}) +// mcu.vcc_cap0.cap +const DC3 = board.add(C_0805_2012Metric, { + translate: pt(1.228, 2.354), rotate: 0, + id: 'DC3' +}) +// mcu.vcc_cap1.cap +const DC4 = board.add(C_0603_1608Metric, { + translate: pt(1.393, 2.344), rotate: 0, + id: 'DC4' +}) +// mcu.prog.conn +const DJ2 = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { + translate: pt(1.299, 2.197), rotate: 0, + id: 'DJ2' +}) +// mcu.en_pull.rc.r +const DR3 = board.add(R_0603_1608Metric, { + translate: pt(1.220, 2.460), rotate: 0, + id: 'DR3' +}) +// mcu.en_pull.rc.c +const DC5 = board.add(C_0603_1608Metric, { + translate: pt(1.376, 2.460), rotate: 0, + id: 'DC5' +}) +// ledr.package +const DD8 = board.add(LED_0603_1608Metric, { + translate: pt(2.833, 2.752), rotate: 0, + id: 'DD8' +}) +// ledr.res +const DR4 = board.add(R_0603_1608Metric, { + translate: pt(2.833, 2.849), rotate: 0, + id: 'DR4' +}) +// oled.device.conn.conn +const DJ3 = board.add(TE_3_1734839_0_1x30_1MP_P0_5mm_Horizontal, { + translate: pt(1.540, 1.028), rotate: 0, + id: 'DJ3' +}) +// oled.lcd +const DU3 = board.add(Lcd_Er_Oled0_96_1_1_Outline, { + translate: pt(1.644, 0.516), rotate: 0, + id: 'DU3' +}) +// oled.c1_cap +const DC6 = board.add(C_0603_1608Metric, { + translate: pt(2.406, 0.889), rotate: 0, + id: 'DC6' +}) +// oled.c2_cap +const DC7 = board.add(C_0603_1608Metric, { + translate: pt(2.060, 1.006), rotate: 0, + id: 'DC7' +}) +// oled.iref_res +const DR5 = board.add(R_0603_1608Metric, { + translate: pt(2.216, 1.006), rotate: 0, + id: 'DR5' +}) +// oled.vcomh_cap.cap +const DC8 = board.add(C_0805_2012Metric, { + translate: pt(2.069, 0.899), rotate: 0, + id: 'DC8' +}) +// oled.vdd_cap1.cap +const DC9 = board.add(C_0603_1608Metric, { + translate: pt(2.372, 1.006), rotate: 0, + id: 'DC9' +}) +// oled.vbat_cap.cap +const DC10 = board.add(C_0603_1608Metric, { + translate: pt(2.528, 1.006), rotate: 0, + id: 'DC10' +}) +// oled.vcc_cap.cap +const DC11 = board.add(C_0805_2012Metric, { + translate: pt(2.242, 0.899), rotate: 0, + id: 'DC11' +}) +// i2c_pull.scl_res.res +const DR6 = board.add(R_0603_1608Metric, { + translate: pt(3.303, 2.752), rotate: 0, + id: 'DR6' +}) +// i2c_pull.sda_res.res +const DR7 = board.add(R_0603_1608Metric, { + translate: pt(3.303, 2.848), rotate: 0, + id: 'DR7' +}) +// io8_pu.res +const DR8 = board.add(R_0603_1608Metric, { + translate: pt(1.560, 3.269), rotate: 0, + id: 'DR8' +}) +// spk_dac.rc.r +const DR9 = board.add(R_0603_1608Metric, { + translate: pt(3.068, 2.752), rotate: 0, + id: 'DR9' +}) +// spk_dac.rc.c +const DC12 = board.add(C_0603_1608Metric, { + translate: pt(3.068, 2.848), rotate: 0, + id: 'DC12' +}) +// spk_tp.tp +const DTP4 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.066, 3.278), rotate: 0, + id: 'DTP4' +}) +// spk_drv.ic +const DU4 = board.add(MSOP_8_1EP_3x3mm_P0_65mm_EP1_68x1_88mm_ThermalVias, { + translate: pt(1.692, 2.792), rotate: 0, + id: 'DU4' +}) +// spk_drv.pwr_cap.cap +const DC13 = board.add(C_0603_1608Metric, { + translate: pt(1.628, 2.929), rotate: 0, + id: 'DC13' +}) +// spk_drv.bulk_cap.cap +const DC14 = board.add(C_0805_2012Metric, { + translate: pt(1.921, 2.761), rotate: 0, + id: 'DC14' +}) +// spk_drv.inp_res +const DR10 = board.add(R_0603_1608Metric, { + translate: pt(1.783, 2.929), rotate: 0, + id: 'DR10' +}) +// spk_drv.inp_cap +const DC15 = board.add(C_0603_1608Metric, { + translate: pt(1.939, 2.929), rotate: 0, + id: 'DC15' +}) +// spk_drv.inn_res +const DR11 = board.add(R_0603_1608Metric, { + translate: pt(1.628, 3.026), rotate: 0, + id: 'DR11' +}) +// spk_drv.inn_cap +const DC16 = board.add(C_0603_1608Metric, { + translate: pt(1.783, 3.026), rotate: 0, + id: 'DC16' +}) +// spk.conn +const DJ4 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { + translate: pt(2.481, 2.853), rotate: 0, + id: 'DJ4' +}) +// npx_shift.fet +const DQ3 = board.add(SOT_23, { + translate: pt(2.191, 2.790), rotate: 0, + id: 'DQ3' +}) +// npx_shift.hv_pu.res +const DR12 = board.add(R_0603_1608Metric, { + translate: pt(2.174, 2.925), rotate: 0, + id: 'DR12' +}) +// npx_tp.tp +const DTP5 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.062, 3.278), rotate: 0, + id: 'DTP5' +}) +// npx.led[0] +const DD9 = board.add(LED_SK6812MINI_E, { + translate: pt(2.418, 2.183), rotate: 0, + id: 'DD9' +}) +// npx.led[1] +const DD10 = board.add(LED_SK6812MINI_E, { + translate: pt(2.744, 2.183), rotate: 0, + id: 'DD10' +}) +// npx.led[2] +const DD11 = board.add(LED_SK6812MINI_E, { + translate: pt(2.418, 2.352), rotate: 0, + id: 'DD11' +}) +// npx.led[3] +const DD12 = board.add(LED_SK6812MINI_E, { + translate: pt(2.744, 2.352), rotate: 0, + id: 'DD12' +}) +// npx.led[4] +const DD13 = board.add(LED_SK6812MINI_E, { + translate: pt(2.418, 2.522), rotate: 0, + id: 'DD13' +}) +// npx.led[5] +const DD14 = board.add(LED_SK6812MINI_E, { + translate: pt(2.744, 2.522), rotate: 0, + id: 'DD14' }) +board.setNetlist([ + {name: "Dgnd", pads: [["DJ1", "2"], ["DTP1", "1"], ["DU1", "1"], ["DD1", "2"], ["DU2", "9"], ["DU2", "19"], ["DR4", "2"], ["DU4", "7"], ["DU4", "9"], ["DD9", "3"], ["DD10", "3"], ["DD11", "3"], ["DD12", "3"], ["DD13", "3"], ["DD14", "3"], ["DC12", "2"], ["DR5", "2"], ["DC16", "2"], ["DC1", "2"], ["DC2", "2"], ["DC3", "2"], ["DC4", "2"], ["DJ2", "5"], ["DC8", "2"], ["DC9", "2"], ["DC10", "2"], ["DC11", "2"], ["DC13", "2"], ["DC14", "2"], ["DC5", "2"], ["DJ3", "23"], ["DJ3", "30"], ["DJ3", "1"], ["DJ3", "2"], ["DJ3", "14"], ["DJ3", "15"], ["DJ3", "10"], ["DJ3", "9"], ["DJ3", "8"], ["DJ3", "7"], ["DJ3", "6"], ["DJ3", "19"], ["DJ3", "21"], ["DJ3", "16"], ["DJ3", "18"]]}, + {name: "Dpwr", pads: [["DFB1", "2"], ["DTP2", "1"], ["DU1", "3"], ["DU4", "1"], ["DU4", "6"], ["DD9", "1"], ["DD10", "1"], ["DD11", "1"], ["DD12", "1"], ["DD13", "1"], ["DD14", "1"], ["DR12", "1"], ["DC1", "1"], ["DC13", "1"], ["DC14", "1"]]}, + {name: "Dv3v3", pads: [["DU1", "2"], ["DTP3", "1"], ["DD1", "1"], ["DU2", "1"], ["DR8", "1"], ["DQ3", "1"], ["DC2", "1"], ["DC3", "1"], ["DC4", "1"], ["DJ2", "1"], ["DC9", "1"], ["DC10", "1"], ["DR6", "1"], ["DR7", "1"], ["DR3", "1"], ["DJ3", "22"], ["DJ3", "25"], ["DQ1", "1"], ["DQ2", "1"], ["DR1", "1"], ["DR2", "1"], ["DJ3", "20"]]}, + {name: "Dconn.pwr", pads: [["DFB1", "1"], ["DJ1", "4"]]}, + {name: "Dconn.uart.rx", pads: [["DU2", "4"], ["DQ2", "2"], ["DR2", "2"]]}, + {name: "Dconn.uart.tx", pads: [["DU2", "3"], ["DQ1", "2"], ["DR1", "2"]]}, + {name: "Dmcu.gpio.swc_0", pads: [["DU2", "5"], ["DSW1", "2"], ["DSW2", "2"], ["DSW3", "2"]]}, + {name: "Dmcu.gpio.swc_1", pads: [["DU2", "15"], ["DSW4", "2"], ["DSW5", "2"], ["DSW6", "2"]]}, + {name: "Dmcu.gpio.swr_0", pads: [["DU2", "14"], ["DD2", "2"], ["DD5", "2"]]}, + {name: "Dmcu.gpio.swr_1", pads: [["DU2", "13"], ["DD3", "2"], ["DD6", "2"]]}, + {name: "Dmcu.gpio.swr_2", pads: [["DU2", "10"], ["DD4", "2"], ["DD7", "2"]]}, + {name: "Dmcu.program_boot_node", pads: [["DU2", "8"], ["DD8", "2"], ["DJ2", "2"]]}, + {name: "Di2c_pull.i2c.scl", pads: [["DU2", "17"], ["DR6", "2"], ["DJ3", "13"]]}, + {name: "Di2c_pull.i2c.sda", pads: [["DU2", "18"], ["DR7", "2"], ["DJ3", "12"], ["DJ3", "11"]]}, + {name: "Doled.reset", pads: [["DU2", "16"], ["DJ3", "17"]]}, + {name: "Dspk_chain_0", pads: [["DU2", "7"], ["DR8", "2"], ["DR9", "1"]]}, + {name: "Dspk_chain_1", pads: [["DTP4", "1"], ["DC15", "2"], ["DR9", "2"], ["DC12", "1"]]}, + {name: "Dspk_chain_2.a", pads: [["DU4", "8"], ["DJ4", "1"]]}, + {name: "Dspk_chain_2.b", pads: [["DU4", "5"], ["DJ4", "2"]]}, + {name: "Dnpx_shift.lv_io", pads: [["DU2", "6"], ["DQ3", "2"]]}, + {name: "Dnpx_shift.hv_io", pads: [["DD9", "4"], ["DTP5", "1"], ["DQ3", "3"], ["DR12", "2"]]}, + {name: "Dconn.dtx_shift.hv_io", pads: [["DJ1", "3"], ["DQ1", "3"]]}, + {name: "Dconn.htx_shift.hv_io", pads: [["DJ1", "5"], ["DQ2", "3"]]}, + {name: "Dmcu.program_uart_node.a_tx", pads: [["DU2", "12"], ["DJ2", "3"]]}, + {name: "Dmcu.program_uart_node.b_tx", pads: [["DU2", "11"], ["DJ2", "4"]]}, + {name: "Dmcu.program_en_node", pads: [["DU2", "2"], ["DJ2", "6"], ["DR3", "2"], ["DC5", "1"]]}, + {name: "Dsw.d[0,0].cathode", pads: [["DD2", "1"], ["DSW1", "1"]]}, + {name: "Dsw.d[0,1].cathode", pads: [["DD3", "1"], ["DSW2", "1"]]}, + {name: "Dsw.d[0,2].cathode", pads: [["DD4", "1"], ["DSW3", "1"]]}, + {name: "Dsw.d[1,0].cathode", pads: [["DD5", "1"], ["DSW4", "1"]]}, + {name: "Dsw.d[1,1].cathode", pads: [["DD6", "1"], ["DSW5", "1"]]}, + {name: "Dsw.d[1,2].cathode", pads: [["DD7", "1"], ["DSW6", "1"]]}, + {name: "Dledr.res.a", pads: [["DR4", "1"], ["DD8", "1"]]}, + {name: "Doled.c1_cap.pos", pads: [["DC6", "1"], ["DJ3", "27"]]}, + {name: "Doled.c1_cap.neg", pads: [["DC6", "2"], ["DJ3", "26"]]}, + {name: "Doled.c2_cap.pos", pads: [["DC7", "1"], ["DJ3", "29"]]}, + {name: "Doled.c2_cap.neg", pads: [["DC7", "2"], ["DJ3", "28"]]}, + {name: "Doled.iref_res.a", pads: [["DR5", "1"], ["DJ3", "5"]]}, + {name: "Doled.device.vcomh", pads: [["DJ3", "4"], ["DC8", "1"]]}, + {name: "Doled.device.vcc", pads: [["DJ3", "3"], ["DC11", "1"]]}, + {name: "Dspk_drv.inp_cap.pos", pads: [["DC15", "1"], ["DR10", "1"]]}, + {name: "Dspk_drv.inp_res.b", pads: [["DR10", "2"], ["DU4", "4"]]}, + {name: "Dspk_drv.inn_cap.pos", pads: [["DC16", "1"], ["DR11", "1"]]}, + {name: "Dspk_drv.inn_res.b", pads: [["DR11", "2"], ["DU4", "3"]]}, + {name: "Dnpx.led[0].dout", pads: [["DD9", "2"], ["DD10", "4"]]}, + {name: "Dnpx.led[1].dout", pads: [["DD10", "2"], ["DD11", "4"]]}, + {name: "Dnpx.led[2].dout", pads: [["DD11", "2"], ["DD12", "4"]]}, + {name: "Dnpx.led[3].dout", pads: [["DD12", "2"], ["DD13", "4"]]}, + {name: "Dnpx.led[4].dout", pads: [["DD13", "2"], ["DD14", "4"]]}, + {name: "Dnpx.dout", pads: [["DD14", "2"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); -const limit1 = pt(3.729330708661417, 2.728346456692914); +const limit1 = pt(3.729330708661417, 3.4330708661417324); const xMin = Math.min(limit0[0], limit1[0]); const xMax = Math.max(limit0[0], limit1[0]); const yMin = Math.min(limit0[1], limit1[1]); @@ -264,7 +373,7 @@ renderPCB({ mmPerUnit: 25.4 }) -function SwitchMatrix_2_3_sw(xy, colSpacing=1, rowSpacing=1, diodeOffset=[0.25, 0]) { +function SwitchMatrix_2_3_sw(xy, colSpacing=0.5, rowSpacing=0.5, diodeOffset=[0.25, 0]) { // Circuit generator params const ncols = 2 const nrows = 3 @@ -289,19 +398,19 @@ function SwitchMatrix_2_3_sw(xy, colSpacing=1, rowSpacing=1, diodeOffset=[0.25, index = yIndex * ncols + xIndex + 1 buttonPos = [xy[0] + colSpacing * xIndex, xy[1] + rowSpacing * yIndex] - obj.footprints[`sw[${xIndex},${yIndex}]`] = button = board.add( + obj.footprints[`DSW${1 + xIndex * nrows + yIndex}`] = button = board.add( SW_Hotswap_Kailh_MX, { translate: buttonPos, rotate: 0, - id: `sw_sw_${xIndex}_${yIndex}_` + id: `DSW${1 + xIndex * nrows + yIndex}` }) diodePos = [buttonPos[0] + diodeOffset[0], buttonPos[1] + diodeOffset[1]] - obj[`d[${xIndex},${yIndex}]`] = diode = board.add( + obj[`DD${2 + xIndex * nrows + yIndex}`] = diode = board.add( D_SOD_323, { translate: diodePos, rotate: 90, - id: `sw_d_${xIndex}_${yIndex}_` + id: `DD${2 + xIndex * nrows + yIndex}` }) // create stub wire for button -> column common line diff --git a/examples/EspLora/EspLora.svgpcb.js b/examples/EspLora/EspLora.svgpcb.js index fa91d848e..3a4ce51d4 100644 --- a/examples/EspLora/EspLora.svgpcb.js +++ b/examples/EspLora/EspLora.svgpcb.js @@ -1,426 +1,611 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const LH1 = board.add(JlcToolingHole_1_152mm, { translate: pt(4.100, 2.597), rotate: 0, - id: 'jlc_th_th1' + id: 'LH1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const LH2 = board.add(JlcToolingHole_1_152mm, { translate: pt(4.140, 2.597), rotate: 0, - id: 'jlc_th_th2' + id: 'LH2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const LH3 = board.add(JlcToolingHole_1_152mm, { translate: pt(4.100, 2.636), rotate: 0, - id: 'jlc_th_th3' + id: 'LH3' }) -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const LJ1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(2.899, 1.905), rotate: 0, - id: 'usb_conn' + id: 'LJ1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc1.res +const LR1 = board.add(R_0603_1608Metric, { translate: pt(2.748, 2.160), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'LR1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc2.res +const LR2 = board.add(R_0603_1608Metric, { translate: pt(2.904, 2.160), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'LR2' }) -const tp_gnd_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_gnd.tp +const LTP1 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.525, 2.634), rotate: 0, - id: 'tp_gnd_tp' + id: 'LTP1' }) -const choke_fb = board.add(L_0603_1608Metric, { - translate: pt(3.733, 2.626), rotate: 0, - id: 'choke_fb' +// choke.fb +const LFB1 = board.add(L_0603_1608Metric, { + translate: pt(3.264, 2.626), rotate: 0, + id: 'LFB1' }) -const tp_pwr_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_pwr.tp +const LTP2 = board.add(TestPoint_TE_RCT_0805, { translate: pt(2.026, 2.634), rotate: 0, - id: 'tp_pwr_tp' + id: 'LTP2' }) -const reg_3v3_ic = board.add(SOT_223_3_TabPin2, { +// reg_3v3.ic +const LU1 = board.add(SOT_223_3_TabPin2, { translate: pt(3.400, 1.882), rotate: 0, - id: 'reg_3v3_ic' + id: 'LU1' }) -const reg_3v3_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_3v3.in_cap.cap +const LC1 = board.add(C_0603_1608Metric, { translate: pt(3.458, 2.092), rotate: 0, - id: 'reg_3v3_in_cap_cap' + id: 'LC1' }) -const reg_3v3_out_cap_cap = board.add(C_0805_2012Metric, { +// reg_3v3.out_cap.cap +const LC2 = board.add(C_0805_2012Metric, { translate: pt(3.294, 2.102), rotate: 0, - id: 'reg_3v3_out_cap_cap' + id: 'LC2' }) -const tp_3v3_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.021, 2.634), rotate: 0, - id: 'tp_3v3_tp' +// tp_3v3.tp +const LTP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.276, 2.634), rotate: 0, + id: 'LTP3' }) -const prot_3v3_diode = board.add(D_SOD_323, { - translate: pt(2.273, 2.634), rotate: 0, - id: 'prot_3v3_diode' +// prot_3v3.diode +const LD1 = board.add(D_SOD_323, { + translate: pt(2.524, 2.634), rotate: 0, + id: 'LD1' }) -const mcu_ic = board.add(ESP32_S3_WROOM_1, { +// mcu.ic +const LU2 = board.add(ESP32_S3_WROOM_1, { translate: pt(0.945, 0.530), rotate: 0, - id: 'mcu_ic' + id: 'LU2' }) -const mcu_vcc_cap0_cap = board.add(C_1206_3216Metric, { +// mcu.vcc_cap0.cap +const LC3 = board.add(C_1206_3216Metric, { translate: pt(2.020, 0.683), rotate: 0, - id: 'mcu_vcc_cap0_cap' + id: 'LC3' }) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// mcu.vcc_cap1.cap +const LC4 = board.add(C_0603_1608Metric, { translate: pt(2.208, 0.667), rotate: 0, - id: 'mcu_vcc_cap1_cap' + id: 'LC4' }) -const mcu_prog_conn = board.add(Tag_Connect_TC2030_IDC_FP_2x03_P1_27mm_Vertical, { +// mcu.prog.conn +const LJ2 = board.add(Tag_Connect_TC2030_IDC_FP_2x03_P1_27mm_Vertical, { translate: pt(2.096, 0.167), rotate: 0, - id: 'mcu_prog_conn' + id: 'LJ2' }) -const mcu_boot_package = board.add(SW_SPST_SKQG_WithoutStem, { +// mcu.boot.package +const LSW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(2.096, 0.486), rotate: 0, - id: 'mcu_boot_package' + id: 'LSW1' }) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { +// mcu.en_pull.rc.r +const LR3 = board.add(R_0603_1608Metric, { translate: pt(2.364, 0.667), rotate: 0, - id: 'mcu_en_pull_rc_r' + id: 'LR3' }) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { +// mcu.en_pull.rc.c +const LC5 = board.add(C_0603_1608Metric, { translate: pt(1.987, 0.796), rotate: 0, - id: 'mcu_en_pull_rc_c' + id: 'LC5' }) -const usb_esd = board.add(SOT_23, { +// usb_esd +const LU3 = board.add(SOT_23, { translate: pt(3.985, 2.664), rotate: 0, - id: 'usb_esd' -}) -const ledr_package = board.add(LED_0603_1608Metric, { - translate: pt(0.058, 2.626), rotate: 0, - id: 'ledr_package' + id: 'LU3' }) -const ledr_res = board.add(R_0603_1608Metric, { - translate: pt(0.058, 2.723), rotate: 0, - id: 'ledr_res' -}) -const ledg_package = board.add(LED_0603_1608Metric, { +// ledr.package +const LD2 = board.add(LED_0603_1608Metric, { translate: pt(0.528, 2.626), rotate: 0, - id: 'ledg_package' + id: 'LD2' }) -const ledg_res = board.add(R_0603_1608Metric, { +// ledr.res +const LR4 = board.add(R_0603_1608Metric, { translate: pt(0.528, 2.723), rotate: 0, - id: 'ledg_res' + id: 'LR4' }) -const ledb_package = board.add(LED_0603_1608Metric, { +// ledg.package +const LD3 = board.add(LED_0603_1608Metric, { + translate: pt(0.058, 2.626), rotate: 0, + id: 'LD3' +}) +// ledg.res +const LR5 = board.add(R_0603_1608Metric, { + translate: pt(0.058, 2.723), rotate: 0, + id: 'LR5' +}) +// ledb.package +const LD4 = board.add(LED_0603_1608Metric, { translate: pt(0.293, 2.626), rotate: 0, - id: 'ledb_package' + id: 'LD4' }) -const ledb_res = board.add(R_0603_1608Metric, { +// ledb.res +const LR6 = board.add(R_0603_1608Metric, { translate: pt(0.293, 2.723), rotate: 0, - id: 'ledb_res' + id: 'LR6' }) -const lora_ic = board.add(QFN_24_1EP_4x4mm_P0_5mm_EP2_6x2_6mm, { +// lora.ic +const LU4 = board.add(QFN_24_1EP_4x4mm_P0_5mm_EP2_6x2_6mm, { translate: pt(0.480, 1.843), rotate: 0, - id: 'lora_ic' + id: 'LU4' }) -const lora_xtal = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { +// lora.xtal +const LX1 = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { translate: pt(0.705, 1.807), rotate: 0, - id: 'lora_xtal' + id: 'LX1' }) -const lora_vreg_cap_cap = board.add(C_0603_1608Metric, { +// lora.vreg_cap.cap +const LC6 = board.add(C_0603_1608Metric, { translate: pt(0.436, 2.013), rotate: 0, - id: 'lora_vreg_cap_cap' + id: 'LC6' }) -const lora_vbat_cap_cap = board.add(C_0603_1608Metric, { +// lora.vbat_cap.cap +const LC7 = board.add(C_0603_1608Metric, { translate: pt(0.592, 2.013), rotate: 0, - id: 'lora_vbat_cap_cap' + id: 'LC7' }) -const lora_vdd_cap_cap = board.add(C_0603_1608Metric, { +// lora.vdd_cap.cap +const LC8 = board.add(C_0603_1608Metric, { translate: pt(0.748, 2.013), rotate: 0, - id: 'lora_vdd_cap_cap' + id: 'LC8' }) -const lora_vrpa_cap0_cap = board.add(C_0603_1608Metric, { +// lora.vrpa_cap0.cap +const LC9 = board.add(C_0603_1608Metric, { translate: pt(0.904, 2.013), rotate: 0, - id: 'lora_vrpa_cap0_cap' + id: 'LC9' }) -const lora_vrpa_cap1_cap = board.add(C_0603_1608Metric, { +// lora.vrpa_cap1.cap +const LC10 = board.add(C_0603_1608Metric, { translate: pt(0.436, 2.110), rotate: 0, - id: 'lora_vrpa_cap1_cap' + id: 'LC10' }) -const lora_dcc_l = board.add(L_0603_1608Metric, { +// lora.dcc_l +const LL1 = board.add(L_0603_1608Metric, { translate: pt(0.592, 2.110), rotate: 0, - id: 'lora_dcc_l' + id: 'LL1' }) -const lora_rf_sw_ic = board.add(SOT_363_SC_70_6, { +// lora.rf_sw.ic +const LU5 = board.add(SOT_363_SC_70_6, { translate: pt(0.890, 1.795), rotate: 0, - id: 'lora_rf_sw_ic' + id: 'LU5' }) -const lora_rf_sw_vdd_res = board.add(R_0603_1608Metric, { +// lora.rf_sw.vdd_res +const LR7 = board.add(R_0603_1608Metric, { translate: pt(0.748, 2.110), rotate: 0, - id: 'lora_rf_sw_vdd_res' + id: 'LR7' }) -const lora_rf_sw_ctrl_res = board.add(R_0603_1608Metric, { +// lora.rf_sw.ctrl_res +const LR8 = board.add(R_0603_1608Metric, { translate: pt(0.904, 2.110), rotate: 0, - id: 'lora_rf_sw_ctrl_res' + id: 'LR8' }) -const lora_tx_dcblock = board.add(C_0603_1608Metric, { +// lora.tx_dcblock +const LC11 = board.add(C_0603_1608Metric, { translate: pt(0.436, 2.207), rotate: 0, - id: 'lora_tx_dcblock' + id: 'LC11' }) -const lora_rfc_dcblock = board.add(C_0603_1608Metric, { +// lora.rfc_dcblock +const LC12 = board.add(C_0603_1608Metric, { translate: pt(0.592, 2.207), rotate: 0, - id: 'lora_rfc_dcblock' + id: 'LC12' }) -const lora_vrpa_choke = board.add(L_0603_1608Metric, { +// lora.vrpa_choke +const LL2 = board.add(L_0603_1608Metric, { translate: pt(0.748, 2.207), rotate: 0, - id: 'lora_vrpa_choke' + id: 'LL2' }) -const lora_tx_l_l = board.add(L_0603_1608Metric, { +// lora.tx_l.l +const LL3 = board.add(L_0603_1608Metric, { translate: pt(0.904, 2.207), rotate: 0, - id: 'lora_tx_l_l' + id: 'LL3' }) -const lora_tx_l_c_lc = board.add(C_0603_1608Metric, { +// lora.tx_l.c_lc +const LC13 = board.add(C_0603_1608Metric, { translate: pt(0.436, 2.304), rotate: 0, - id: 'lora_tx_l_c_lc' + id: 'LC13' }) -const lora_tx_pi_c2 = board.add(C_0603_1608Metric, { +// lora.tx_pi.c2 +const LC14 = board.add(C_0603_1608Metric, { translate: pt(0.592, 2.304), rotate: 0, - id: 'lora_tx_pi_c2' + id: 'LC14' }) -const lora_tx_pi_l = board.add(L_0603_1608Metric, { +// lora.tx_pi.l +const LL4 = board.add(L_0603_1608Metric, { translate: pt(0.748, 2.304), rotate: 0, - id: 'lora_tx_pi_l' + id: 'LL4' }) -const lora_balun_l = board.add(L_0603_1608Metric, { +// lora.balun.l +const LL5 = board.add(L_0603_1608Metric, { translate: pt(0.904, 2.304), rotate: 0, - id: 'lora_balun_l' + id: 'LL5' }) -const lora_balun_c = board.add(C_0603_1608Metric, { +// lora.balun.c +const LC15 = board.add(C_0603_1608Metric, { translate: pt(0.058, 2.450), rotate: 0, - id: 'lora_balun_c' + id: 'LC15' }) -const lora_balun_c_p = board.add(C_0603_1608Metric, { +// lora.balun.c_p +const LC16 = board.add(C_0603_1608Metric, { translate: pt(0.214, 2.450), rotate: 0, - id: 'lora_balun_c_p' + id: 'LC16' }) -const lora_ant_pi_c1 = board.add(C_0603_1608Metric, { +// lora.ant_pi.c1 +const LC17 = board.add(C_0603_1608Metric, { translate: pt(0.370, 2.450), rotate: 0, - id: 'lora_ant_pi_c1' + id: 'LC17' }) -const lora_ant_pi_c2 = board.add(C_0603_1608Metric, { +// lora.ant_pi.c2 +const LC18 = board.add(C_0603_1608Metric, { translate: pt(0.526, 2.450), rotate: 0, - id: 'lora_ant_pi_c2' + id: 'LC18' }) -const lora_ant_pi_l = board.add(L_0603_1608Metric, { +// lora.ant_pi.l +const LL6 = board.add(L_0603_1608Metric, { translate: pt(0.682, 2.450), rotate: 0, - id: 'lora_ant_pi_l' + id: 'LL6' }) -const lora_ant_conn = board.add(SMA_Amphenol_901_143_Horizontal, { +// lora.ant.conn +const LJ3 = board.add(SMA_Amphenol_901_143_Horizontal, { translate: pt(0.169, 1.909), rotate: 0, - id: 'lora_ant_conn' + id: 'LJ3' }) -const tp_lora_spi_tp_sck_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_lora_spi.tp_sck.tp +const LTP4 = board.add(TestPoint_TE_RCT_0805, { translate: pt(3.757, 1.778), rotate: 0, - id: 'tp_lora_spi_tp_sck_tp' + id: 'LTP4' }) -const tp_lora_spi_tp_mosi_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_lora_spi.tp_mosi.tp +const LTP5 = board.add(TestPoint_TE_RCT_0805, { translate: pt(3.757, 1.892), rotate: 0, - id: 'tp_lora_spi_tp_mosi_tp' + id: 'LTP5' }) -const tp_lora_spi_tp_miso_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_lora_spi.tp_miso.tp +const LTP6 = board.add(TestPoint_TE_RCT_0805, { translate: pt(3.757, 2.006), rotate: 0, - id: 'tp_lora_spi_tp_miso_tp' + id: 'LTP6' }) -const tp_lora_cs_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.275, 2.634), rotate: 0, - id: 'tp_lora_cs_tp' +// tp_lora_cs.tp +const LTP7 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(3.021, 2.634), rotate: 0, + id: 'LTP7' }) -const tp_lora_rst_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_lora_rst.tp +const LTP8 = board.add(TestPoint_TE_RCT_0805, { translate: pt(2.771, 2.634), rotate: 0, - id: 'tp_lora_rst_tp' + id: 'LTP8' }) -const tp_lora_dio_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_lora_dio.tp +const LTP9 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.775, 2.634), rotate: 0, - id: 'tp_lora_dio_tp' + id: 'LTP9' }) -const tp_lora_busy_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.521, 2.634), rotate: 0, - id: 'tp_lora_busy_tp' +// tp_lora_busy.tp +const LTP10 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.275, 2.634), rotate: 0, + id: 'LTP10' }) -const i2c_pull_scl_res_res = board.add(R_0603_1608Metric, { +// i2c_pull.scl_res.res +const LR9 = board.add(R_0603_1608Metric, { translate: pt(0.763, 2.626), rotate: 0, - id: 'i2c_pull_scl_res_res' + id: 'LR9' }) -const i2c_pull_sda_res_res = board.add(R_0603_1608Metric, { +// i2c_pull.sda_res.res +const LR10 = board.add(R_0603_1608Metric, { translate: pt(0.763, 2.722), rotate: 0, - id: 'i2c_pull_sda_res_res' + id: 'LR10' }) -const i2c_tp_tp_scl_tp = board.add(TestPoint_TE_RCT_0805, { +// i2c_tp.tp_scl.tp +const LTP11 = board.add(TestPoint_TE_RCT_0805, { translate: pt(4.008, 1.778), rotate: 0, - id: 'i2c_tp_tp_scl_tp' + id: 'LTP11' }) -const i2c_tp_tp_sda_tp = board.add(TestPoint_TE_RCT_0805, { +// i2c_tp.tp_sda.tp +const LTP12 = board.add(TestPoint_TE_RCT_0805, { translate: pt(4.008, 1.892), rotate: 0, - id: 'i2c_tp_tp_sda_tp' + id: 'LTP12' }) -const oled_device_conn = board.add(Hirose_FH12_30S_0_5SH_1x30_1MP_P0_50mm_Horizontal, { +// oled.device.conn +const LJ4 = board.add(Hirose_FH12_30S_0_5SH_1x30_1MP_P0_50mm_Horizontal, { translate: pt(2.956, 1.054), rotate: 0, - id: 'oled_device_conn' + id: 'LJ4' }) -const oled_lcd = board.add(Lcd_Er_Oled0_96_1_1_Outline, { +// oled.lcd +const LU6 = board.add(Lcd_Er_Oled0_96_1_1_Outline, { translate: pt(3.066, 0.516), rotate: 0, - id: 'oled_lcd' + id: 'LU6' }) -const oled_c1_cap = board.add(C_0603_1608Metric, { +// oled.c1_cap +const LC19 = board.add(C_0603_1608Metric, { translate: pt(3.815, 0.889), rotate: 0, - id: 'oled_c1_cap' + id: 'LC19' }) -const oled_c2_cap = board.add(C_0603_1608Metric, { +// oled.c2_cap +const LC20 = board.add(C_0603_1608Metric, { translate: pt(3.971, 0.889), rotate: 0, - id: 'oled_c2_cap' + id: 'LC20' }) -const oled_iref_res = board.add(R_0603_1608Metric, { +// oled.iref_res +const LR11 = board.add(R_0603_1608Metric, { translate: pt(3.469, 1.006), rotate: 0, - id: 'oled_iref_res' + id: 'LR11' }) -const oled_vcomh_cap_cap = board.add(C_0805_2012Metric, { +// oled.vcomh_cap.cap +const LC21 = board.add(C_0805_2012Metric, { translate: pt(3.477, 0.899), rotate: 0, - id: 'oled_vcomh_cap_cap' + id: 'LC21' }) -const oled_vdd_cap1_cap = board.add(C_0603_1608Metric, { +// oled.vdd_cap1.cap +const LC22 = board.add(C_0603_1608Metric, { translate: pt(3.624, 1.006), rotate: 0, - id: 'oled_vdd_cap1_cap' + id: 'LC22' }) -const oled_vbat_cap_cap = board.add(C_0603_1608Metric, { +// oled.vbat_cap.cap +const LC23 = board.add(C_0603_1608Metric, { translate: pt(3.780, 1.006), rotate: 0, - id: 'oled_vbat_cap_cap' + id: 'LC23' }) -const oled_vcc_cap_cap = board.add(C_0805_2012Metric, { +// oled.vcc_cap.cap +const LC24 = board.add(C_0805_2012Metric, { translate: pt(3.650, 0.899), rotate: 0, - id: 'oled_vcc_cap_cap' + id: 'LC24' }) -const oled_rst_ic = board.add(SOT_23, { +// oled_rst.ic +const LU7 = board.add(SOT_23, { translate: pt(1.015, 2.664), rotate: 0, - id: 'oled_rst_ic' + id: 'LU7' }) -const oled_pull_res = board.add(R_0603_1608Metric, { - translate: pt(3.499, 2.626), rotate: 0, - id: 'oled_pull_res' +// oled_pull.res +const LR12 = board.add(R_0603_1608Metric, { + translate: pt(3.733, 2.626), rotate: 0, + id: 'LR12' }) -const sd = board.add(microSD_HC_Molex_104031_0811, { +// sd +const LJ5 = board.add(microSD_HC_Molex_104031_0811, { translate: pt(2.381, 1.998), rotate: 0, - id: 'sd' + id: 'LJ5' }) -const nfc_ic = board.add(HVQFN_40_1EP_6x6mm_P0_5mm_EP4_1x4_1mm, { +// nfc.ic +const LU8 = board.add(HVQFN_40_1EP_6x6mm_P0_5mm_EP4_1x4_1mm, { translate: pt(1.223, 1.883), rotate: 0, - id: 'nfc_ic' + id: 'LU8' }) -const nfc_cvddup_cap = board.add(C_0805_2012Metric, { +// nfc.cvddup.cap +const LC25 = board.add(C_0805_2012Metric, { translate: pt(1.677, 1.779), rotate: 0, - id: 'nfc_cvddup_cap' + id: 'LC25' }) -const nfc_cvbat_cap = board.add(C_0805_2012Metric, { +// nfc.cvbat.cap +const LC26 = board.add(C_0805_2012Metric, { translate: pt(1.850, 1.779), rotate: 0, - id: 'nfc_cvbat_cap' + id: 'LC26' }) -const nfc_cvbat1_cap = board.add(C_0603_1608Metric, { +// nfc.cvbat1.cap +const LC27 = board.add(C_0603_1608Metric, { translate: pt(1.312, 2.094), rotate: 0, - id: 'nfc_cvbat1_cap' + id: 'LC27' }) -const nfc_cvdd1_cap = board.add(C_0805_2012Metric, { +// nfc.cvdd1.cap +const LC28 = board.add(C_0805_2012Metric, { translate: pt(1.472, 1.952), rotate: 0, - id: 'nfc_cvdd1_cap' + id: 'LC28' }) -const nfc_cvdd2_cap = board.add(C_0805_2012Metric, { +// nfc.cvdd2.cap +const LC29 = board.add(C_0805_2012Metric, { translate: pt(1.646, 1.952), rotate: 0, - id: 'nfc_cvdd2_cap' + id: 'LC29' }) -const nfc_ctvdd1_cap = board.add(C_0805_2012Metric, { +// nfc.ctvdd1.cap +const LC30 = board.add(C_0805_2012Metric, { translate: pt(1.819, 1.952), rotate: 0, - id: 'nfc_ctvdd1_cap' + id: 'LC30' }) -const nfc_ctvdd2_cap = board.add(C_0805_2012Metric, { +// nfc.ctvdd2.cap +const LC31 = board.add(C_0805_2012Metric, { translate: pt(1.147, 2.104), rotate: 0, - id: 'nfc_ctvdd2_cap' + id: 'LC31' }) -const nfc_cvddpad_cap = board.add(C_0603_1608Metric, { +// nfc.cvddpad.cap +const LC32 = board.add(C_0603_1608Metric, { translate: pt(1.468, 2.094), rotate: 0, - id: 'nfc_cvddpad_cap' + id: 'LC32' }) -const nfc_cvddmid_cap = board.add(C_0603_1608Metric, { +// nfc.cvddmid.cap +const LC33 = board.add(C_0603_1608Metric, { translate: pt(1.624, 2.094), rotate: 0, - id: 'nfc_cvddmid_cap' + id: 'LC33' }) -const nfc_xtal_package = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { +// nfc.xtal.package +const LX2 = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { translate: pt(1.488, 1.807), rotate: 0, - id: 'nfc_xtal_package' + id: 'LX2' }) -const nfc_xtal_cap_a = board.add(C_0603_1608Metric, { +// nfc.xtal.cap_a +const LC34 = board.add(C_0603_1608Metric, { translate: pt(1.780, 2.094), rotate: 0, - id: 'nfc_xtal_cap_a' + id: 'LC34' }) -const nfc_xtal_cap_b = board.add(C_0603_1608Metric, { +// nfc.xtal.cap_b +const LC35 = board.add(C_0603_1608Metric, { translate: pt(1.935, 2.094), rotate: 0, - id: 'nfc_xtal_cap_b' + id: 'LC35' }) -const nfc_rx_rrx1 = board.add(R_0603_1608Metric, { +// nfc.rx.rrx1 +const LR13 = board.add(R_0603_1608Metric, { translate: pt(1.139, 2.211), rotate: 0, - id: 'nfc_rx_rrx1' + id: 'LR13' }) -const nfc_rx_rrx2 = board.add(R_0603_1608Metric, { +// nfc.rx.rrx2 +const LR14 = board.add(R_0603_1608Metric, { translate: pt(1.294, 2.211), rotate: 0, - id: 'nfc_rx_rrx2' + id: 'LR14' }) -const nfc_rx_crx1 = board.add(C_0603_1608Metric, { +// nfc.rx.crx1 +const LC36 = board.add(C_0603_1608Metric, { translate: pt(1.450, 2.211), rotate: 0, - id: 'nfc_rx_crx1' + id: 'LC36' }) -const nfc_rx_crx2 = board.add(C_0603_1608Metric, { +// nfc.rx.crx2 +const LC37 = board.add(C_0603_1608Metric, { translate: pt(1.606, 2.211), rotate: 0, - id: 'nfc_rx_crx2' + id: 'LC37' }) -const nfc_emc_l1 = board.add(L_0603_1608Metric, { +// nfc.emc.l1 +const LL7 = board.add(L_0603_1608Metric, { translate: pt(1.762, 2.211), rotate: 0, - id: 'nfc_emc_l1' + id: 'LL7' }) -const nfc_emc_l2 = board.add(L_0603_1608Metric, { +// nfc.emc.l2 +const LL8 = board.add(L_0603_1608Metric, { translate: pt(1.918, 2.211), rotate: 0, - id: 'nfc_emc_l2' + id: 'LL8' }) -const nfc_emc_c1 = board.add(C_0603_1608Metric, { +// nfc.emc.c1 +const LC38 = board.add(C_0603_1608Metric, { translate: pt(1.139, 2.307), rotate: 0, - id: 'nfc_emc_c1' + id: 'LC38' }) -const nfc_emc_c2 = board.add(C_0603_1608Metric, { +// nfc.emc.c2 +const LC39 = board.add(C_0603_1608Metric, { translate: pt(1.294, 2.307), rotate: 0, - id: 'nfc_emc_c2' + id: 'LC39' }) -const nfc_ant = board.add(an13219, { +// nfc.ant +const LANT1 = board.add(an13219, { translate: pt(1.392, 2.376), rotate: 0, - id: 'nfc_ant' + id: 'LANT1' }) -const nfc_damp_r1 = board.add(R_0603_1608Metric, { +// nfc.damp.r1 +const LR15 = board.add(R_0603_1608Metric, { translate: pt(1.450, 2.307), rotate: 0, - id: 'nfc_damp_r1' + id: 'LR15' }) -const nfc_damp_r2 = board.add(R_0603_1608Metric, { +// nfc.damp.r2 +const LR16 = board.add(R_0603_1608Metric, { translate: pt(1.606, 2.307), rotate: 0, - id: 'nfc_damp_r2' + id: 'LR16' }) -const nfc_match_cs1 = board.add(C_0603_1608Metric, { +// nfc.match.cs1 +const LC40 = board.add(C_0603_1608Metric, { translate: pt(1.762, 2.307), rotate: 0, - id: 'nfc_match_cs1' + id: 'LC40' }) -const nfc_match_cs2 = board.add(C_0603_1608Metric, { +// nfc.match.cs2 +const LC41 = board.add(C_0603_1608Metric, { translate: pt(1.918, 2.307), rotate: 0, - id: 'nfc_match_cs2' + id: 'LC41' }) -const nfc_match_cp1 = board.add(C_0603_1608Metric, { +// nfc.match.cp1 +const LC42 = board.add(C_0603_1608Metric, { translate: pt(1.139, 2.404), rotate: 0, - id: 'nfc_match_cp1' + id: 'LC42' }) -const nfc_match_cp2 = board.add(C_0603_1608Metric, { +// nfc.match.cp2 +const LC43 = board.add(C_0603_1608Metric, { translate: pt(1.294, 2.404), rotate: 0, - id: 'nfc_match_cp2' + id: 'LC43' }) -const tx_cpack_cap = board.add(C_0603_1608Metric, { - translate: pt(3.264, 2.626), rotate: 0, - id: 'tx_cpack_cap' +// tx_cpack.cap +const LC44 = board.add(C_0603_1608Metric, { + translate: pt(3.499, 2.626), rotate: 0, + id: 'LC44' }) +board.setNetlist([ + {name: "Lgnd", pads: [["LU3", "3"], ["LJ5", "6"], ["LJ5", "11"], ["LU7", "1"], ["LJ1", "A1"], ["LJ1", "B12"], ["LJ1", "B1"], ["LJ1", "A12"], ["LTP1", "1"], ["LU1", "1"], ["LD1", "2"], ["LU2", "1"], ["LU2", "40"], ["LU2", "41"], ["LR4", "2"], ["LR5", "2"], ["LR6", "2"], ["LU4", "2"], ["LU4", "5"], ["LU4", "8"], ["LU4", "20"], ["LU4", "25"], ["LX1", "2"], ["LX1", "4"], ["LU8", "1"], ["LU8", "3"], ["LU8", "4"], ["LU8", "9"], ["LU8", "20"], ["LU8", "41"], ["LU5", "2"], ["LJ3", "2"], ["LJ1", "S1"], ["LR11", "2"], ["LC1", "2"], ["LC2", "2"], ["LC3", "2"], ["LC4", "2"], ["LJ2", "5"], ["LSW1", "2"], ["LC6", "2"], ["LC7", "2"], ["LC8", "2"], ["LC9", "2"], ["LC10", "2"], ["LC16", "2"], ["LC21", "2"], ["LC22", "2"], ["LC23", "2"], ["LC24", "2"], ["LC25", "2"], ["LC26", "2"], ["LC27", "2"], ["LC28", "2"], ["LC29", "2"], ["LC30", "2"], ["LC31", "2"], ["LC32", "2"], ["LC33", "2"], ["LX2", "2"], ["LX2", "4"], ["LC5", "2"], ["LR1", "1"], ["LR2", "1"], ["LC14", "2"], ["LC17", "2"], ["LC18", "2"], ["LJ4", "8"], ["LJ4", "1"], ["LJ4", "30"], ["LJ4", "29"], ["LJ4", "17"], ["LJ4", "16"], ["LJ4", "21"], ["LJ4", "22"], ["LJ4", "23"], ["LJ4", "24"], ["LJ4", "25"], ["LJ4", "12"], ["LJ4", "10"], ["LJ4", "15"], ["LJ4", "13"], ["LC34", "2"], ["LC35", "2"], ["LC38", "2"], ["LC39", "2"], ["LC42", "2"], ["LC43", "2"], ["LC44", "2"]]}, + {name: "Lpwr", pads: [["LFB1", "2"], ["LTP2", "1"], ["LU1", "3"], ["LU8", "12"], ["LU8", "28"], ["LU8", "13"], ["LC1", "1"], ["LC25", "1"], ["LC26", "1"], ["LC27", "1"]]}, + {name: "Lv3v3", pads: [["LJ5", "4"], ["LU7", "3"], ["LU1", "2"], ["LTP3", "1"], ["LD1", "1"], ["LU2", "2"], ["LU4", "1"], ["LU4", "10"], ["LU4", "11"], ["LR12", "1"], ["LU8", "6"], ["LC2", "1"], ["LC3", "1"], ["LC4", "1"], ["LJ2", "1"], ["LC7", "1"], ["LC8", "1"], ["LR7", "1"], ["LR9", "1"], ["LR10", "1"], ["LJ4", "9"], ["LJ4", "6"], ["LC22", "1"], ["LC23", "1"], ["LC32", "1"], ["LR3", "1"], ["LJ4", "11"]]}, + {name: "Lusb.pwr", pads: [["LJ1", "A4"], ["LJ1", "B9"], ["LJ1", "B4"], ["LJ1", "A9"], ["LFB1", "1"]]}, + {name: "Lusb_chain_0.d_P", pads: [["LJ1", "A6"], ["LJ1", "B6"], ["LU3", "2"], ["LU2", "14"]]}, + {name: "Lusb_chain_0.d_N", pads: [["LJ1", "A7"], ["LJ1", "B7"], ["LU3", "1"], ["LU2", "13"]]}, + {name: "Lledr.signal", pads: [["LU2", "34"], ["LD2", "2"]]}, + {name: "Lledg.signal", pads: [["LU2", "35"], ["LD3", "2"]]}, + {name: "Lledb.signal", pads: [["LU2", "39"], ["LD4", "2"]]}, + {name: "Ltp_lora_spi.io.sck", pads: [["LU2", "5"], ["LU4", "18"], ["LTP4", "1"]]}, + {name: "Ltp_lora_spi.io.mosi", pads: [["LU2", "6"], ["LU4", "17"], ["LTP5", "1"]]}, + {name: "Ltp_lora_spi.io.miso", pads: [["LU2", "15"], ["LU4", "16"], ["LTP6", "1"]]}, + {name: "Ltp_lora_cs.io", pads: [["LU2", "7"], ["LU4", "19"], ["LTP7", "1"]]}, + {name: "Ltp_lora_rst.io", pads: [["LU2", "12"], ["LU4", "15"], ["LTP8", "1"]]}, + {name: "Ltp_lora_dio.io", pads: [["LU2", "31"], ["LU4", "13"], ["LTP9", "1"]]}, + {name: "Llora.busy", pads: [["LU2", "33"], ["LU4", "14"], ["LTP10", "1"]]}, + {name: "Li2c_pull.i2c.scl", pads: [["LU2", "10"], ["LU8", "7"], ["LR9", "2"], ["LTP11", "1"], ["LJ4", "18"]]}, + {name: "Li2c_pull.i2c.sda", pads: [["LU2", "11"], ["LU8", "5"], ["LR10", "2"], ["LTP12", "1"], ["LJ4", "19"], ["LJ4", "20"]]}, + {name: "Loled_rst.nreset", pads: [["LU7", "2"], ["LR12", "2"], ["LJ4", "14"]]}, + {name: "Lsd.spi.sck", pads: [["LU2", "22"], ["LJ5", "5"]]}, + {name: "Lsd.spi.mosi", pads: [["LU2", "19"], ["LJ5", "3"]]}, + {name: "Lsd.spi.miso", pads: [["LU2", "38"], ["LJ5", "7"]]}, + {name: "Lsd.cs", pads: [["LU2", "21"], ["LJ5", "2"]]}, + {name: "Lnfc.reset", pads: [["LU8", "10"], ["LU2", "32"]]}, + {name: "Lnfc.irq", pads: [["LU8", "8"], ["LU2", "24"]]}, + {name: "Ltx_cpack.pos.0", pads: [["LL3", "2"], ["LC13", "1"], ["LC44", "1"], ["LL4", "1"]]}, + {name: "Lusb.conn.cc.cc1", pads: [["LJ1", "A5"], ["LR1", "2"]]}, + {name: "Lusb.conn.cc.cc2", pads: [["LJ1", "B5"], ["LR2", "2"]]}, + {name: "Lmcu.program_uart_node.a_tx", pads: [["LU2", "37"], ["LJ2", "3"]]}, + {name: "Lmcu.program_uart_node.b_tx", pads: [["LU2", "36"], ["LJ2", "4"]]}, + {name: "Lmcu.program_en_node", pads: [["LU2", "3"], ["LJ2", "6"], ["LR3", "2"], ["LC5", "1"]]}, + {name: "Lmcu.program_boot_node", pads: [["LU2", "27"], ["LSW1", "1"], ["LJ2", "2"]]}, + {name: "Lledr.res.a", pads: [["LR4", "1"], ["LD2", "1"]]}, + {name: "Lledg.res.a", pads: [["LR5", "1"], ["LD3", "1"]]}, + {name: "Lledb.res.a", pads: [["LR6", "1"], ["LD4", "1"]]}, + {name: "Llora.xtal.crystal.xtal_in", pads: [["LX1", "1"], ["LU4", "3"]]}, + {name: "Llora.xtal.crystal.xtal_out", pads: [["LX1", "3"], ["LU4", "4"]]}, + {name: "Llora.ic.vreg", pads: [["LU4", "7"], ["LL1", "2"], ["LC6", "1"]]}, + {name: "Llora.ic.vr_pa", pads: [["LU4", "24"], ["LL2", "1"], ["LC9", "1"], ["LC10", "1"]]}, + {name: "Llora.dcc_l.a", pads: [["LL1", "1"], ["LU4", "9"]]}, + {name: "Llora.rf_sw.ctrl", pads: [["LU4", "12"], ["LR8", "1"]]}, + {name: "Llora.tx_dcblock.pos", pads: [["LC11", "1"], ["LU5", "1"]]}, + {name: "Llora.rfc_dcblock.neg", pads: [["LC12", "2"], ["LU5", "5"]]}, + {name: "Llora.ic.rfo", pads: [["LU4", "23"], ["LL2", "2"], ["LL3", "1"], ["LC13", "2"]]}, + {name: "Llora.tx_pi.output", pads: [["LC11", "2"], ["LL4", "2"], ["LC14", "1"]]}, + {name: "Llora.balun.input", pads: [["LC15", "1"], ["LU5", "3"]]}, + {name: "Llora.balun.rfi_n", pads: [["LU4", "22"], ["LC15", "2"], ["LL5", "1"]]}, + {name: "Llora.balun.rfi_p", pads: [["LU4", "21"], ["LC16", "1"], ["LL5", "2"]]}, + {name: "Llora.rfc_dcblock.pos", pads: [["LC12", "1"], ["LC17", "1"], ["LL6", "1"]]}, + {name: "Llora.ant_pi.output", pads: [["LJ3", "1"], ["LL6", "2"], ["LC18", "1"]]}, + {name: "Llora.ic.dio3", pads: [["LU4", "6"]]}, + {name: "Llora.rf_sw.vdd_res.b", pads: [["LR7", "2"], ["LU5", "6"]]}, + {name: "Llora.rf_sw.ctrl_res.b", pads: [["LR8", "2"], ["LU5", "4"]]}, + {name: "Loled.c1_cap.pos", pads: [["LC19", "1"], ["LJ4", "4"]]}, + {name: "Loled.c1_cap.neg", pads: [["LC19", "2"], ["LJ4", "5"]]}, + {name: "Loled.c2_cap.pos", pads: [["LC20", "1"], ["LJ4", "2"]]}, + {name: "Loled.c2_cap.neg", pads: [["LC20", "2"], ["LJ4", "3"]]}, + {name: "Loled.iref_res.a", pads: [["LR11", "1"], ["LJ4", "26"]]}, + {name: "Loled.device.vcomh", pads: [["LJ4", "27"], ["LC21", "1"]]}, + {name: "Loled.device.vcc", pads: [["LJ4", "28"], ["LC24", "1"]]}, + {name: "Lnfc.ic.vdd", pads: [["LU8", "26"], ["LU8", "27"], ["LU8", "31"], ["LC28", "1"], ["LC29", "1"]]}, + {name: "Lnfc.ic.vddtx", pads: [["LU8", "14"], ["LU8", "18"], ["LU8", "22"], ["LC30", "1"], ["LC31", "1"]]}, + {name: "Lnfc.ic.vddmid", pads: [["LU8", "17"], ["LC33", "1"]]}, + {name: "Lnfc.ic.xtal.xtal_in", pads: [["LU8", "30"], ["LX2", "1"], ["LC34", "1"]]}, + {name: "Lnfc.ic.xtal.xtal_out", pads: [["LU8", "29"], ["LX2", "3"], ["LC35", "1"]]}, + {name: "Lnfc.ic.rxp", pads: [["LU8", "16"], ["LC36", "2"]]}, + {name: "Lnfc.ic.rxn", pads: [["LU8", "15"], ["LC37", "2"]]}, + {name: "Lnfc.ic.tx1", pads: [["LU8", "21"], ["LL7", "1"]]}, + {name: "Lnfc.ic.tx2", pads: [["LU8", "19"], ["LL8", "1"]]}, + {name: "Lnfc.damp.ant1", pads: [["LR15", "2"], ["LANT1", "1"]]}, + {name: "Lnfc.damp.ant2", pads: [["LR16", "2"], ["LANT1", "2"]]}, + {name: "Lnfc.emc.out1", pads: [["LC40", "1"], ["LR13", "1"], ["LL7", "2"], ["LC38", "1"]]}, + {name: "Lnfc.emc.out2", pads: [["LC41", "1"], ["LR14", "1"], ["LL8", "2"], ["LC39", "1"]]}, + {name: "Lnfc.match.out1", pads: [["LR15", "1"], ["LC40", "2"], ["LC42", "1"]]}, + {name: "Lnfc.match.out2", pads: [["LR16", "1"], ["LC41", "2"], ["LC43", "1"]]}, + {name: "Lnfc.rx.rrx1.b", pads: [["LR13", "2"], ["LC36", "1"]]}, + {name: "Lnfc.rx.rrx2.b", pads: [["LR14", "2"], ["LC37", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(4.25767716535433, 2.8696850393700797); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/EspProgrammer/EspProgrammer.svgpcb.js b/examples/EspProgrammer/EspProgrammer.svgpcb.js index 4105b1434..22ea3889a 100644 --- a/examples/EspProgrammer/EspProgrammer.svgpcb.js +++ b/examples/EspProgrammer/EspProgrammer.svgpcb.js @@ -1,102 +1,153 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const UH1 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.670, 1.198), rotate: 0, - id: 'jlc_th_th1' + id: 'UH1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const UH2 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.709, 1.198), rotate: 0, - id: 'jlc_th_th2' + id: 'UH2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const UH3 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.670, 1.237), rotate: 0, - id: 'jlc_th_th3' + id: 'UH3' }) -const usb_uart_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb_uart.conn +const UJ1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(0.857, 0.165), rotate: 0, - id: 'usb_uart_conn' + id: 'UJ1' }) -const usb_uart_cc_pull_cc1_res = board.add(R_0402_1005Metric, { +// usb_uart.cc_pull.cc1.res +const UR1 = board.add(R_0402_1005Metric, { translate: pt(1.142, 0.019), rotate: 0, - id: 'usb_uart_cc_pull_cc1_res' + id: 'UR1' }) -const usb_uart_cc_pull_cc2_res = board.add(R_0402_1005Metric, { +// usb_uart.cc_pull.cc2.res +const UR2 = board.add(R_0402_1005Metric, { translate: pt(1.142, 0.095), rotate: 0, - id: 'usb_uart_cc_pull_cc2_res' + id: 'UR2' }) -const vusb_protect_diode = board.add(D_SOD_323, { +// vusb_protect.diode +const UD1 = board.add(D_SOD_323, { translate: pt(0.298, 1.235), rotate: 0, - id: 'vusb_protect_diode' + id: 'UD1' }) -const usbconv_ic = board.add(QFN_28_1EP_5x5mm_P0_5mm_EP3_35x3_35mm, { +// usbconv.ic +const UU1 = board.add(QFN_28_1EP_5x5mm_P0_5mm_EP3_35x3_35mm, { translate: pt(0.850, 0.881), rotate: 0, - id: 'usbconv_ic' + id: 'UU1' }) -const usbconv_regin_cap0_cap = board.add(C_0402_1005Metric, { +// usbconv.regin_cap0.cap +const UC1 = board.add(C_0402_1005Metric, { translate: pt(1.047, 0.778), rotate: 0, - id: 'usbconv_regin_cap0_cap' + id: 'UC1' }) -const usbconv_regin_cap1_cap = board.add(C_0402_1005Metric, { +// usbconv.regin_cap1.cap +const UC2 = board.add(C_0402_1005Metric, { translate: pt(1.047, 0.853), rotate: 0, - id: 'usbconv_regin_cap1_cap' + id: 'UC2' }) -const usbconv_vdd_cap_cap = board.add(C_0402_1005Metric, { +// usbconv.vdd_cap.cap +const UC3 = board.add(C_0402_1005Metric, { translate: pt(1.047, 0.929), rotate: 0, - id: 'usbconv_vdd_cap_cap' + id: 'UC3' }) -const usb_esd = board.add(SOT_23, { +// usb_esd +const UU2 = board.add(SOT_23, { translate: pt(0.555, 1.265), rotate: 0, - id: 'usb_esd' + id: 'UU2' }) -const reg_3v3_ic = board.add(SOT_23_5, { +// reg_3v3.ic +const UU3 = board.add(SOT_23_5, { translate: pt(0.445, 0.826), rotate: 0, - id: 'reg_3v3_ic' + id: 'UU3' }) -const reg_3v3_in_cap_cap = board.add(C_0402_1005Metric, { +// reg_3v3.in_cap.cap +const UC4 = board.add(C_0402_1005Metric, { translate: pt(0.574, 0.951), rotate: 0, - id: 'reg_3v3_in_cap_cap' + id: 'UC4' }) -const reg_3v3_out_cap_cap = board.add(C_0805_2012Metric, { +// reg_3v3.out_cap.cap +const UC5 = board.add(C_0805_2012Metric, { translate: pt(0.431, 0.971), rotate: 0, - id: 'reg_3v3_out_cap_cap' + id: 'UC5' }) -const out_conn = board.add(PinHeader_2x03_P2_54mm_EdgeInline, { +// out.conn +const UJ2 = board.add(PinHeader_2x03_P2_54mm_EdgeInline, { translate: pt(0.159, 0.321), rotate: 0, - id: 'out_conn' + id: 'UJ2' }) -const auto_q_en = board.add(SOT_323_SC_70, { +// auto.q_en +const UQ1 = board.add(SOT_323_SC_70, { translate: pt(0.067, 0.811), rotate: 0, - id: 'auto_q_en' + id: 'UQ1' }) -const auto_q_boot = board.add(SOT_323_SC_70, { +// auto.q_boot +const UQ2 = board.add(SOT_323_SC_70, { translate: pt(0.067, 0.952), rotate: 0, - id: 'auto_q_boot' + id: 'UQ2' }) -const auto_dtr_res = board.add(R_0402_1005Metric, { +// auto.dtr_res +const UR3 = board.add(R_0402_1005Metric, { translate: pt(0.210, 0.920), rotate: 0, - id: 'auto_dtr_res' + id: 'UR3' }) -const auto_rts_res = board.add(R_0402_1005Metric, { +// auto.rts_res +const UR4 = board.add(R_0402_1005Metric, { translate: pt(0.037, 1.061), rotate: 0, - id: 'auto_rts_res' + id: 'UR4' }) -const led_package = board.add(LED_0603_1608Metric, { +// led.package +const UD2 = board.add(LED_0603_1608Metric, { translate: pt(1.259, 0.788), rotate: 0, - id: 'led_package' + id: 'UD2' }) -const led_res = board.add(R_0402_1005Metric, { +// led.res +const UR5 = board.add(R_0402_1005Metric, { translate: pt(1.237, 0.875), rotate: 0, - id: 'led_res' + id: 'UR5' }) -const led_en_package = board.add(LED_0603_1608Metric, { +// led_en.package +const UD3 = board.add(LED_0603_1608Metric, { translate: pt(0.058, 1.227), rotate: 0, - id: 'led_en_package' + id: 'UD3' }) -const led_en_res = board.add(R_0402_1005Metric, { +// led_en.res +const UR6 = board.add(R_0402_1005Metric, { translate: pt(0.037, 1.314), rotate: 0, - id: 'led_en_res' + id: 'UR6' }) +board.setNetlist([ + {name: "Uvusb", pads: [["UJ1", "A4"], ["UJ1", "B9"], ["UJ1", "B4"], ["UJ1", "A9"], ["UD1", "1"], ["UU1", "7"], ["UU1", "8"], ["UU3", "1"], ["UU3", "3"], ["UC1", "1"], ["UC2", "1"], ["UC4", "1"]]}, + {name: "Ugnd", pads: [["UU2", "3"], ["UJ1", "A1"], ["UJ1", "B12"], ["UJ1", "B1"], ["UJ1", "A12"], ["UD1", "2"], ["UU1", "3"], ["UU1", "29"], ["UU3", "2"], ["UJ2", "5"], ["UJ1", "S1"], ["UC1", "2"], ["UC2", "2"], ["UC3", "2"], ["UC4", "2"], ["UC5", "2"], ["UR1", "1"], ["UR2", "1"]]}, + {name: "Uv3v3", pads: [["UU3", "5"], ["UJ2", "1"], ["UD2", "2"], ["UD3", "2"], ["UC5", "1"]]}, + {name: "Uusb_chain_0.d_P", pads: [["UJ1", "A6"], ["UJ1", "B6"], ["UU2", "2"], ["UU1", "4"]]}, + {name: "Uusb_chain_0.d_N", pads: [["UJ1", "A7"], ["UJ1", "B7"], ["UU2", "1"], ["UU1", "5"]]}, + {name: "Uusbconv.uart.tx", pads: [["UU1", "26"], ["UJ2", "4"]]}, + {name: "Uusbconv.uart.rx", pads: [["UU1", "25"], ["UJ2", "3"]]}, + {name: "Uusbconv.dtr", pads: [["UU1", "28"], ["UR3", "1"], ["UQ2", "2"]]}, + {name: "Uusbconv.rts", pads: [["UU1", "24"], ["UR4", "1"], ["UQ1", "2"], ["UR6", "2"]]}, + {name: "Uauto.en", pads: [["UQ1", "3"], ["UJ2", "6"]]}, + {name: "Uauto.boot", pads: [["UQ2", "3"], ["UJ2", "2"]]}, + {name: "Uusbconv.suspend", pads: [["UU1", "12"], ["UR5", "2"]]}, + {name: "Uusb_uart.conn.cc.cc1", pads: [["UJ1", "A5"], ["UR1", "2"]]}, + {name: "Uusb_uart.conn.cc.cc2", pads: [["UJ1", "B5"], ["UR2", "2"]]}, + {name: "Uusbconv.nsuspend", pads: [["UU1", "11"]]}, + {name: "Uusbconv.ri", pads: [["UU1", "2"]]}, + {name: "Uusbconv.dcd", pads: [["UU1", "1"]]}, + {name: "Uusbconv.dsr", pads: [["UU1", "27"]]}, + {name: "Uusbconv.cts", pads: [["UU1", "23"]]}, + {name: "Uusbconv.ic.vdd", pads: [["UU1", "6"], ["UU1", "9"], ["UC3", "1"]]}, + {name: "Uauto.dtr_res.b", pads: [["UR3", "2"], ["UQ1", "1"]]}, + {name: "Uauto.rts_res.b", pads: [["UR4", "2"], ["UQ2", "1"]]}, + {name: "Uled.res.a", pads: [["UR5", "1"], ["UD2", "1"]]}, + {name: "Uled_en.res.a", pads: [["UR6", "1"], ["UD3", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(1.4356299212598427, 1.4503937007874017); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/Fcml/Fcml.svgpcb.js b/examples/Fcml/Fcml.svgpcb.js index c1027e83d..37f2d68bb 100644 --- a/examples/Fcml/Fcml.svgpcb.js +++ b/examples/Fcml/Fcml.svgpcb.js @@ -1,705 +1,993 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const H1 = board.add(JlcToolingHole_1_152mm, { translate: pt(3.599, 2.702), rotate: 0, - id: 'jlc_th_th1' + id: 'H1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const H2 = board.add(JlcToolingHole_1_152mm, { translate: pt(3.638, 2.702), rotate: 0, - id: 'jlc_th_th2' + id: 'H2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const H3 = board.add(JlcToolingHole_1_152mm, { translate: pt(3.599, 2.742), rotate: 0, - id: 'jlc_th_th3' + id: 'H3' }) -const usb_mcu_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { - translate: pt(1.774, 1.501), rotate: 0, - id: 'usb_mcu_conn' -}) -const usb_mcu_cc_pull_cc1_res = board.add(R_0603_1608Metric, { - translate: pt(1.623, 1.756), rotate: 0, - id: 'usb_mcu_cc_pull_cc1_res' -}) -const usb_mcu_cc_pull_cc2_res = board.add(R_0603_1608Metric, { - translate: pt(1.779, 1.756), rotate: 0, - id: 'usb_mcu_cc_pull_cc2_res' -}) -const usb_fpga_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb_mcu.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(1.237, 1.501), rotate: 0, - id: 'usb_fpga_conn' + id: 'J1' }) -const usb_fpga_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb_mcu.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(1.086, 1.756), rotate: 0, - id: 'usb_fpga_cc_pull_cc1_res' + id: 'R1' }) -const usb_fpga_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb_mcu.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(1.242, 1.756), rotate: 0, - id: 'usb_fpga_cc_pull_cc2_res' + id: 'R2' }) -const conv_in_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(2.596, 2.365), rotate: 0, - id: 'conv_in_conn' +// usb_fpga.conn +const J2 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { + translate: pt(1.774, 1.501), rotate: 0, + id: 'J2' +}) +// usb_fpga.cc_pull.cc1.res +const R3 = board.add(R_0603_1608Metric, { + translate: pt(1.623, 1.756), rotate: 0, + id: 'R3' }) -const tp_vusb_tp = board.add(TestPoint_TE_RCT_0805, { +// usb_fpga.cc_pull.cc2.res +const R4 = board.add(R_0603_1608Metric, { + translate: pt(1.779, 1.756), rotate: 0, + id: 'R4' +}) +// conv_in.conn +const J3 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { + translate: pt(2.986, 2.365), rotate: 0, + id: 'J3' +}) +// tp_vusb.tp +const TP1 = board.add(TestPoint_TE_RCT_0805, { translate: pt(2.783, 2.740), rotate: 0, - id: 'tp_vusb_tp' + id: 'TP1' }) -const tp_gnd_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_gnd.tp +const TP2 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.036, 2.740), rotate: 0, - id: 'tp_gnd_tp' + id: 'TP2' }) -const reg_3v3_ic = board.add(SOT_223_3_TabPin2, { +// reg_3v3.ic +const U1 = board.add(SOT_223_3_TabPin2, { translate: pt(2.275, 1.478), rotate: 0, - id: 'reg_3v3_ic' + id: 'U1' }) -const reg_3v3_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_3v3.in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(2.333, 1.688), rotate: 0, - id: 'reg_3v3_in_cap_cap' + id: 'C1' }) -const reg_3v3_out_cap_cap = board.add(C_0805_2012Metric, { +// reg_3v3.out_cap.cap +const C2 = board.add(C_0805_2012Metric, { translate: pt(2.169, 1.698), rotate: 0, - id: 'reg_3v3_out_cap_cap' + id: 'C2' }) -const tp_3v3_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.282, 2.740), rotate: 0, - id: 'tp_3v3_tp' +// tp_3v3.tp +const TP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.537, 2.740), rotate: 0, + id: 'TP3' }) -const prot_3v3_diode = board.add(D_SOD_323, { - translate: pt(1.284, 2.740), rotate: 0, - id: 'prot_3v3_diode' +// prot_3v3.diode +const D1 = board.add(D_SOD_323, { + translate: pt(1.785, 2.740), rotate: 0, + id: 'D1' }) -const reg_vgate_ic = board.add(SOT_23_5, { +// reg_vgate.ic +const U2 = board.add(SOT_23_5, { translate: pt(2.828, 1.403), rotate: 0, - id: 'reg_vgate_ic' + id: 'U2' }) -const reg_vgate_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg_vgate.fb.div.top_res +const R5 = board.add(R_0603_1608Metric, { translate: pt(2.624, 1.659), rotate: 0, - id: 'reg_vgate_fb_div_top_res' + id: 'R5' }) -const reg_vgate_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg_vgate.fb.div.bottom_res +const R6 = board.add(R_0603_1608Metric, { translate: pt(2.780, 1.659), rotate: 0, - id: 'reg_vgate_fb_div_bottom_res' + id: 'R6' }) -const reg_vgate_power_path_inductor = board.add(L_Sunlord_SWPA3012S, { +// reg_vgate.power_path.inductor +const L1 = board.add(L_Sunlord_SWPA3012S, { translate: pt(2.637, 1.406), rotate: 0, - id: 'reg_vgate_power_path_inductor' + id: 'L1' }) -const reg_vgate_power_path_in_cap_cap = board.add(C_0805_2012Metric, { +// reg_vgate.power_path.in_cap.cap +const C3 = board.add(C_0805_2012Metric, { translate: pt(2.633, 1.553), rotate: 0, - id: 'reg_vgate_power_path_in_cap_cap' + id: 'C3' }) -const reg_vgate_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg_vgate.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { translate: pt(2.806, 1.553), rotate: 0, - id: 'reg_vgate_power_path_out_cap_cap' + id: 'C4' }) -const reg_vgate_rect = board.add(D_SOD_323, { +// reg_vgate.rect +const D2 = board.add(D_SOD_323, { translate: pt(2.976, 1.552), rotate: 0, - id: 'reg_vgate_rect' + id: 'D2' }) -const tp_vgate_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.531, 2.740), rotate: 0, - id: 'tp_vgate_tp' +// tp_vgate.tp +const TP4 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.287, 2.740), rotate: 0, + id: 'TP4' }) -const conv_power_path_inductor = board.add(L_Sunlord_SWRB1207S, { +// conv.power_path.inductor +const L2 = board.add(L_Sunlord_SWRB1207S, { translate: pt(0.262, 0.256), rotate: 0, - id: 'conv_power_path_inductor' + id: 'L2' }) -const conv_power_path_in_cap_cap_c_0_ = board.add(C_1206_3216Metric, { +// conv.power_path.in_cap.cap.c[0] +const C5 = board.add(C_1206_3216Metric, { translate: pt(1.484, 0.597), rotate: 0, - id: 'conv_power_path_in_cap_cap_c_0_' + id: 'C5' }) -const conv_power_path_in_cap_cap_c_1_ = board.add(C_1206_3216Metric, { +// conv.power_path.in_cap.cap.c[1] +const C6 = board.add(C_1206_3216Metric, { translate: pt(1.705, 0.597), rotate: 0, - id: 'conv_power_path_in_cap_cap_c_1_' + id: 'C6' }) -const conv_power_path_in_cap_cap_c_2_ = board.add(C_1206_3216Metric, { +// conv.power_path.in_cap.cap.c[2] +const C7 = board.add(C_1206_3216Metric, { translate: pt(0.091, 0.849), rotate: 0, - id: 'conv_power_path_in_cap_cap_c_2_' + id: 'C7' }) -const conv_power_path_in_cap_cap_c_3_ = board.add(C_1206_3216Metric, { +// conv.power_path.in_cap.cap.c[3] +const C8 = board.add(C_1206_3216Metric, { translate: pt(0.311, 0.849), rotate: 0, - id: 'conv_power_path_in_cap_cap_c_3_' + id: 'C8' }) -const conv_power_path_in_cap_cap_c_4_ = board.add(C_1206_3216Metric, { +// conv.power_path.in_cap.cap.c[4] +const C9 = board.add(C_1206_3216Metric, { translate: pt(0.531, 0.849), rotate: 0, - id: 'conv_power_path_in_cap_cap_c_4_' + id: 'C9' }) -const conv_power_path_out_cap_cap_c_0_ = board.add(C_1206_3216Metric, { +// conv.power_path.out_cap.cap.c[0] +const C10 = board.add(C_1206_3216Metric, { translate: pt(0.752, 0.849), rotate: 0, - id: 'conv_power_path_out_cap_cap_c_0_' + id: 'C10' }) -const conv_power_path_out_cap_cap_c_1_ = board.add(C_1206_3216Metric, { +// conv.power_path.out_cap.cap.c[1] +const C11 = board.add(C_1206_3216Metric, { translate: pt(0.972, 0.849), rotate: 0, - id: 'conv_power_path_out_cap_cap_c_1_' + id: 'C11' }) -const conv_power_path_out_cap_cap_c_2_ = board.add(C_1206_3216Metric, { +// conv.power_path.out_cap.cap.c[2] +const C12 = board.add(C_1206_3216Metric, { translate: pt(1.193, 0.849), rotate: 0, - id: 'conv_power_path_out_cap_cap_c_2_' + id: 'C12' }) -const conv_sw_0__driver_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// conv.sw[0].driver.ic +const U3 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(0.709, 0.106), rotate: 0, - id: 'conv_sw_0__driver_ic' + id: 'U3' }) -const conv_sw_0__driver_cap_cap = board.add(C_0603_1608Metric, { +// conv.sw[0].driver.cap.cap +const C13 = board.add(C_0603_1608Metric, { translate: pt(1.769, 0.963), rotate: 0, - id: 'conv_sw_0__driver_cap_cap' + id: 'C13' }) -const conv_sw_0__driver_high_cap_cap = board.add(C_0603_1608Metric, { +// conv.sw[0].driver.high_cap.cap +const C14 = board.add(C_0603_1608Metric, { translate: pt(0.058, 1.093), rotate: 0, - id: 'conv_sw_0__driver_high_cap_cap' + id: 'C14' }) -const conv_sw_0__high_gate_res = board.add(R_0603_1608Metric, { +// conv.sw[0].high_gate_res +const R7 = board.add(R_0603_1608Metric, { translate: pt(0.214, 1.093), rotate: 0, - id: 'conv_sw_0__high_gate_res' + id: 'R7' }) -const conv_sw_0__low_gate_res = board.add(R_0603_1608Metric, { +// conv.sw[0].low_gate_res +const R8 = board.add(R_0603_1608Metric, { translate: pt(0.370, 1.093), rotate: 0, - id: 'conv_sw_0__low_gate_res' + id: 'R8' }) -const conv_sw_0__high_fet = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// conv.sw[0].high_fet +const Q1 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(1.039, 0.106), rotate: 0, - id: 'conv_sw_0__high_fet' + id: 'Q1' }) -const conv_sw_0__low_fet = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// conv.sw[0].low_fet +const Q2 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(1.370, 0.106), rotate: 0, - id: 'conv_sw_0__low_fet' + id: 'Q2' }) -const conv_sw_0__high_boot_cap = board.add(C_0603_1608Metric, { +// conv.sw[0].high_boot_cap +const C15 = board.add(C_0603_1608Metric, { translate: pt(0.526, 1.093), rotate: 0, - id: 'conv_sw_0__high_boot_cap' + id: 'C15' }) -const conv_sw_0__high_boot_diode_diode = board.add(D_SOD_323, { +// conv.sw[0].high_boot_diode.diode +const D3 = board.add(D_SOD_323, { translate: pt(0.945, 0.971), rotate: 0, - id: 'conv_sw_0__high_boot_diode_diode' + id: 'D3' }) -const conv_sw_1__ldo_ic = board.add(SOT_23_5, { +// conv.sw[1].ldo.ic +const U4 = board.add(SOT_23_5, { translate: pt(1.073, 0.619), rotate: 0, - id: 'conv_sw_1__ldo_ic' + id: 'U4' }) -const conv_sw_1__ldo_in_cap_cap = board.add(C_0603_1608Metric, { +// conv.sw[1].ldo.in_cap.cap +const C16 = board.add(C_0603_1608Metric, { translate: pt(0.682, 1.093), rotate: 0, - id: 'conv_sw_1__ldo_in_cap_cap' + id: 'C16' }) -const conv_sw_1__ldo_out_cap_cap = board.add(C_1206_3216Metric, { +// conv.sw[1].ldo.out_cap.cap +const C17 = board.add(C_1206_3216Metric, { translate: pt(1.413, 0.849), rotate: 0, - id: 'conv_sw_1__ldo_out_cap_cap' + id: 'C17' }) -const conv_sw_1__iso_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// conv.sw[1].iso.ic +const U5 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(1.701, 0.106), rotate: 0, - id: 'conv_sw_1__iso_ic' + id: 'U5' }) -const conv_sw_1__iso_cap_a_cap = board.add(C_0603_1608Metric, { +// conv.sw[1].iso.cap_a.cap +const C18 = board.add(C_0603_1608Metric, { translate: pt(0.838, 1.093), rotate: 0, - id: 'conv_sw_1__iso_cap_a_cap' + id: 'C18' }) -const conv_sw_1__iso_cap_b_cap = board.add(C_0603_1608Metric, { +// conv.sw[1].iso.cap_b.cap +const C19 = board.add(C_0603_1608Metric, { translate: pt(0.994, 1.093), rotate: 0, - id: 'conv_sw_1__iso_cap_b_cap' + id: 'C19' }) -const conv_sw_1__driver_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// conv.sw[1].driver.ic +const U6 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(0.709, 0.358), rotate: 0, - id: 'conv_sw_1__driver_ic' + id: 'U6' }) -const conv_sw_1__driver_cap_cap = board.add(C_0603_1608Metric, { +// conv.sw[1].driver.cap.cap +const C20 = board.add(C_0603_1608Metric, { translate: pt(1.150, 1.093), rotate: 0, - id: 'conv_sw_1__driver_cap_cap' + id: 'C20' }) -const conv_sw_1__driver_high_cap_cap = board.add(C_0603_1608Metric, { +// conv.sw[1].driver.high_cap.cap +const C21 = board.add(C_0603_1608Metric, { translate: pt(1.306, 1.093), rotate: 0, - id: 'conv_sw_1__driver_high_cap_cap' + id: 'C21' }) -const conv_sw_1__high_gate_res = board.add(R_0603_1608Metric, { +// conv.sw[1].high_gate_res +const R9 = board.add(R_0603_1608Metric, { translate: pt(1.461, 1.093), rotate: 0, - id: 'conv_sw_1__high_gate_res' + id: 'R9' }) -const conv_sw_1__cap_c_0_ = board.add(C_1206_3216Metric, { +// conv.sw[1].cap.c[0] +const C22 = board.add(C_1206_3216Metric, { translate: pt(1.634, 0.849), rotate: 0, - id: 'conv_sw_1__cap_c_0_' + id: 'C22' }) -const conv_sw_1__cap_c_1_ = board.add(C_1206_3216Metric, { +// conv.sw[1].cap.c[1] +const C23 = board.add(C_1206_3216Metric, { translate: pt(0.091, 0.979), rotate: 0, - id: 'conv_sw_1__cap_c_1_' + id: 'C23' }) -const conv_sw_1__low_gate_res = board.add(R_0603_1608Metric, { +// conv.sw[1].low_gate_res +const R10 = board.add(R_0603_1608Metric, { translate: pt(1.617, 1.093), rotate: 0, - id: 'conv_sw_1__low_gate_res' + id: 'R10' }) -const conv_sw_1__high_fet = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// conv.sw[1].high_fet +const Q3 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(1.039, 0.358), rotate: 0, - id: 'conv_sw_1__high_fet' + id: 'Q3' }) -const conv_sw_1__low_fet = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// conv.sw[1].low_fet +const Q4 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(1.370, 0.358), rotate: 0, - id: 'conv_sw_1__low_fet' + id: 'Q4' }) -const conv_sw_1__low_boot_diode_diode = board.add(D_SOD_323, { +// conv.sw[1].low_boot_diode.diode +const D4 = board.add(D_SOD_323, { translate: pt(1.111, 0.971), rotate: 0, - id: 'conv_sw_1__low_boot_diode_diode' + id: 'D4' }) -const conv_sw_1__high_boot_cap = board.add(C_0603_1608Metric, { +// conv.sw[1].high_boot_cap +const C24 = board.add(C_0603_1608Metric, { translate: pt(1.773, 1.093), rotate: 0, - id: 'conv_sw_1__high_boot_cap' + id: 'C24' }) -const conv_sw_1__low_boot_cap = board.add(C_0603_1608Metric, { +// conv.sw[1].low_boot_cap +const C25 = board.add(C_0603_1608Metric, { translate: pt(0.058, 1.189), rotate: 0, - id: 'conv_sw_1__low_boot_cap' + id: 'C25' }) -const conv_sw_1__high_boot_diode_diode = board.add(D_SOD_323, { +// conv.sw[1].high_boot_diode.diode +const D5 = board.add(D_SOD_323, { translate: pt(1.277, 0.971), rotate: 0, - id: 'conv_sw_1__high_boot_diode_diode' + id: 'D5' }) -const conv_sw_2__ldo_ic = board.add(SOT_23_5, { +// conv.sw[2].ldo.ic +const U7 = board.add(SOT_23_5, { translate: pt(1.274, 0.619), rotate: 0, - id: 'conv_sw_2__ldo_ic' + id: 'U7' }) -const conv_sw_2__ldo_in_cap_cap = board.add(C_0603_1608Metric, { +// conv.sw[2].ldo.in_cap.cap +const C26 = board.add(C_0603_1608Metric, { translate: pt(0.214, 1.189), rotate: 0, - id: 'conv_sw_2__ldo_in_cap_cap' + id: 'C26' }) -const conv_sw_2__ldo_out_cap_cap = board.add(C_1206_3216Metric, { +// conv.sw[2].ldo.out_cap.cap +const C27 = board.add(C_1206_3216Metric, { translate: pt(0.311, 0.979), rotate: 0, - id: 'conv_sw_2__ldo_out_cap_cap' + id: 'C27' }) -const conv_sw_2__iso_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// conv.sw[2].iso.ic +const U8 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(1.701, 0.358), rotate: 0, - id: 'conv_sw_2__iso_ic' + id: 'U8' }) -const conv_sw_2__iso_cap_a_cap = board.add(C_0603_1608Metric, { +// conv.sw[2].iso.cap_a.cap +const C28 = board.add(C_0603_1608Metric, { translate: pt(0.370, 1.189), rotate: 0, - id: 'conv_sw_2__iso_cap_a_cap' + id: 'C28' }) -const conv_sw_2__iso_cap_b_cap = board.add(C_0603_1608Metric, { +// conv.sw[2].iso.cap_b.cap +const C29 = board.add(C_0603_1608Metric, { translate: pt(0.526, 1.189), rotate: 0, - id: 'conv_sw_2__iso_cap_b_cap' + id: 'C29' }) -const conv_sw_2__driver_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// conv.sw[2].driver.ic +const U9 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(0.146, 0.658), rotate: 0, - id: 'conv_sw_2__driver_ic' + id: 'U9' }) -const conv_sw_2__driver_cap_cap = board.add(C_0603_1608Metric, { +// conv.sw[2].driver.cap.cap +const C30 = board.add(C_0603_1608Metric, { translate: pt(0.682, 1.189), rotate: 0, - id: 'conv_sw_2__driver_cap_cap' + id: 'C30' }) -const conv_sw_2__driver_high_cap_cap = board.add(C_0603_1608Metric, { +// conv.sw[2].driver.high_cap.cap +const C31 = board.add(C_0603_1608Metric, { translate: pt(0.838, 1.189), rotate: 0, - id: 'conv_sw_2__driver_high_cap_cap' + id: 'C31' }) -const conv_sw_2__high_gate_res = board.add(R_0603_1608Metric, { +// conv.sw[2].high_gate_res +const R11 = board.add(R_0603_1608Metric, { translate: pt(0.994, 1.189), rotate: 0, - id: 'conv_sw_2__high_gate_res' + id: 'R11' }) -const conv_sw_2__cap_c_0_ = board.add(C_1206_3216Metric, { +// conv.sw[2].cap.c[0] +const C32 = board.add(C_1206_3216Metric, { translate: pt(0.531, 0.979), rotate: 0, - id: 'conv_sw_2__cap_c_0_' + id: 'C32' }) -const conv_sw_2__cap_c_1_ = board.add(C_1206_3216Metric, { +// conv.sw[2].cap.c[1] +const C33 = board.add(C_1206_3216Metric, { translate: pt(0.752, 0.979), rotate: 0, - id: 'conv_sw_2__cap_c_1_' + id: 'C33' }) -const conv_sw_2__low_gate_res = board.add(R_0603_1608Metric, { +// conv.sw[2].low_gate_res +const R12 = board.add(R_0603_1608Metric, { translate: pt(1.150, 1.189), rotate: 0, - id: 'conv_sw_2__low_gate_res' + id: 'R12' }) -const conv_sw_2__high_fet = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// conv.sw[2].high_fet +const Q5 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(0.476, 0.658), rotate: 0, - id: 'conv_sw_2__high_fet' + id: 'Q5' }) -const conv_sw_2__low_fet = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// conv.sw[2].low_fet +const Q6 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(0.807, 0.658), rotate: 0, - id: 'conv_sw_2__low_fet' + id: 'Q6' }) -const conv_sw_2__low_boot_diode_diode = board.add(D_SOD_323, { +// conv.sw[2].low_boot_diode.diode +const D6 = board.add(D_SOD_323, { translate: pt(1.443, 0.971), rotate: 0, - id: 'conv_sw_2__low_boot_diode_diode' + id: 'D6' }) -const conv_sw_2__high_boot_cap = board.add(C_0603_1608Metric, { +// conv.sw[2].high_boot_cap +const C34 = board.add(C_0603_1608Metric, { translate: pt(1.306, 1.189), rotate: 0, - id: 'conv_sw_2__high_boot_cap' + id: 'C34' }) -const conv_sw_2__low_boot_cap = board.add(C_0603_1608Metric, { +// conv.sw[2].low_boot_cap +const C35 = board.add(C_0603_1608Metric, { translate: pt(1.461, 1.189), rotate: 0, - id: 'conv_sw_2__low_boot_cap' + id: 'C35' }) -const conv_sw_2__high_boot_diode_diode = board.add(D_SOD_323, { +// conv.sw[2].high_boot_diode.diode +const D7 = board.add(D_SOD_323, { translate: pt(1.608, 0.971), rotate: 0, - id: 'conv_sw_2__high_boot_diode_diode' + id: 'D7' }) -const conv_out_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(2.986, 2.365), rotate: 0, - id: 'conv_out_conn' +// conv_out.conn +const J4 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { + translate: pt(2.596, 2.365), rotate: 0, + id: 'J4' }) -const tp_conv_out_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.033, 2.740), rotate: 0, - id: 'tp_conv_out_tp' +// tp_conv_out.tp +const TP5 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.282, 2.740), rotate: 0, + id: 'TP5' }) -const tp_conv_gnd_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.535, 2.740), rotate: 0, - id: 'tp_conv_gnd_tp' +// tp_conv_gnd.tp +const TP6 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.786, 2.740), rotate: 0, + id: 'TP6' }) -const fpga_ic = board.add(QFN_48_1EP_7x7mm_P0_5mm_EP5_3x5_3mm, { +// fpga.ic +const U10 = board.add(QFN_48_1EP_7x7mm_P0_5mm_EP5_3x5_3mm, { translate: pt(0.161, 1.498), rotate: 0, - id: 'fpga_ic' + id: 'U10' }) -const fpga_vcc_reg_ic = board.add(SOT_23_5, { +// fpga.vcc_reg.ic +const U11 = board.add(SOT_23_5, { translate: pt(0.486, 1.765), rotate: 0, - id: 'fpga_vcc_reg_ic' + id: 'U11' }) -const fpga_vcc_reg_in_cap_cap = board.add(C_0603_1608Metric, { +// fpga.vcc_reg.in_cap.cap +const C36 = board.add(C_0603_1608Metric, { translate: pt(0.058, 1.992), rotate: 0, - id: 'fpga_vcc_reg_in_cap_cap' + id: 'C36' }) -const fpga_vcc_reg_out_cap_cap = board.add(C_0603_1608Metric, { +// fpga.vcc_reg.out_cap.cap +const C37 = board.add(C_0603_1608Metric, { translate: pt(0.214, 1.992), rotate: 0, - id: 'fpga_vcc_reg_out_cap_cap' + id: 'C37' }) -const fpga_reset_pu_res = board.add(R_0603_1608Metric, { +// fpga.reset_pu.res +const R13 = board.add(R_0603_1608Metric, { translate: pt(0.370, 1.992), rotate: 0, - id: 'fpga_reset_pu_res' + id: 'R13' }) -const fpga_mem_ic = board.add(SOIC_8_5_23x5_23mm_P1_27mm, { +// fpga.mem.ic +const U12 = board.add(SOIC_8_5_23x5_23mm_P1_27mm, { translate: pt(0.183, 1.811), rotate: 0, - id: 'fpga_mem_ic' + id: 'U12' }) -const fpga_mem_vcc_cap_cap = board.add(C_0603_1608Metric, { +// fpga.mem.vcc_cap.cap +const C38 = board.add(C_0603_1608Metric, { translate: pt(0.526, 1.992), rotate: 0, - id: 'fpga_mem_vcc_cap_cap' + id: 'C38' }) -const fpga_prog_conn = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { +// fpga.prog.conn +const J5 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { translate: pt(0.531, 1.482), rotate: 0, - id: 'fpga_prog_conn' + id: 'J5' }) -const fpga_cs_jmp_device = board.add(SolderJumper_2_P1_3mm_Open_TrianglePad1_0x1_5mm, { +// fpga.cs_jmp.device +const JP1 = board.add(SolderJumper_2_P1_3mm_Open_TrianglePad1_0x1_5mm, { translate: pt(0.671, 1.748), rotate: 0, - id: 'fpga_cs_jmp_device' + id: 'JP1' }) -const fpga_mem_pu_res = board.add(R_0603_1608Metric, { +// fpga.mem_pu.res +const R14 = board.add(R_0603_1608Metric, { translate: pt(0.682, 1.992), rotate: 0, - id: 'fpga_mem_pu_res' + id: 'R14' }) -const fpga_vio_cap0_cap = board.add(C_0603_1608Metric, { +// fpga.vio_cap0.cap +const C39 = board.add(C_0603_1608Metric, { translate: pt(0.838, 1.992), rotate: 0, - id: 'fpga_vio_cap0_cap' + id: 'C39' }) -const fpga_vio_cap1_cap = board.add(C_0603_1608Metric, { +// fpga.vio_cap1.cap +const C40 = board.add(C_0603_1608Metric, { translate: pt(0.058, 2.089), rotate: 0, - id: 'fpga_vio_cap1_cap' + id: 'C40' }) -const fpga_vio_cap2_cap = board.add(C_0603_1608Metric, { +// fpga.vio_cap2.cap +const C41 = board.add(C_0603_1608Metric, { translate: pt(0.214, 2.089), rotate: 0, - id: 'fpga_vio_cap2_cap' + id: 'C41' }) -const fpga_vpp_cap_cap = board.add(C_0603_1608Metric, { +// fpga.vpp_cap.cap +const C42 = board.add(C_0603_1608Metric, { translate: pt(0.370, 2.089), rotate: 0, - id: 'fpga_vpp_cap_cap' + id: 'C42' }) -const fpga_pll_res_res = board.add(R_0603_1608Metric, { +// fpga.pll_res.res +const R15 = board.add(R_0603_1608Metric, { translate: pt(0.526, 2.089), rotate: 0, - id: 'fpga_pll_res_res' + id: 'R15' }) -const fpga_vcc_cap_cap = board.add(C_0603_1608Metric, { +// fpga.vcc_cap.cap +const C43 = board.add(C_0603_1608Metric, { translate: pt(0.682, 2.089), rotate: 0, - id: 'fpga_vcc_cap_cap' + id: 'C43' }) -const fpga_pll_lf_cap = board.add(C_0805_2012Metric, { +// fpga.pll_lf.cap +const C44 = board.add(C_0805_2012Metric, { translate: pt(0.843, 1.737), rotate: 0, - id: 'fpga_pll_lf_cap' + id: 'C44' }) -const fpga_pll_hf_cap = board.add(C_0603_1608Metric, { +// fpga.pll_hf.cap +const C45 = board.add(C_0603_1608Metric, { translate: pt(0.838, 2.089), rotate: 0, - id: 'fpga_pll_hf_cap' + id: 'C45' }) -const cdone_package = board.add(LED_0603_1608Metric, { +// cdone.package +const D8 = board.add(LED_0603_1608Metric, { translate: pt(3.590, 2.264), rotate: 0, - id: 'cdone_package' + id: 'D8' }) -const cdone_res = board.add(R_0603_1608Metric, { +// cdone.res +const R16 = board.add(R_0603_1608Metric, { translate: pt(3.589, 2.361), rotate: 0, - id: 'cdone_res' + id: 'R16' }) -const fpga_osc_device = board.add(Crystal_SMD_2520_4Pin_2_5x2_0mm, { +// fpga_osc.device +const X1 = board.add(Crystal_SMD_2520_4Pin_2_5x2_0mm, { translate: pt(3.346, 2.294), rotate: 0, - id: 'fpga_osc_device' + id: 'X1' }) -const fpga_osc_cap_cap = board.add(C_0603_1608Metric, { +// fpga_osc.cap.cap +const C46 = board.add(C_0603_1608Metric, { translate: pt(3.337, 2.422), rotate: 0, - id: 'fpga_osc_cap_cap' + id: 'C46' }) -const fpga_sw_package = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(1.761, 2.348), rotate: 0, - id: 'fpga_sw_package' +// fpga_sw.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(2.214, 2.348), rotate: 0, + id: 'SW1' }) -const fpga_led_led_0__package = board.add(LED_0603_1608Metric, { +// fpga_led.led[0].package +const D9 = board.add(LED_0603_1608Metric, { translate: pt(3.216, 1.365), rotate: 0, - id: 'fpga_led_led_0__package' + id: 'D9' }) -const fpga_led_led_0__res = board.add(R_0603_1608Metric, { +// fpga_led.led[0].res +const R17 = board.add(R_0603_1608Metric, { translate: pt(3.215, 1.559), rotate: 0, - id: 'fpga_led_led_0__res' + id: 'R17' }) -const fpga_led_led_1__package = board.add(LED_0603_1608Metric, { +// fpga_led.led[1].package +const D10 = board.add(LED_0603_1608Metric, { translate: pt(3.372, 1.365), rotate: 0, - id: 'fpga_led_led_1__package' + id: 'D10' }) -const fpga_led_led_1__res = board.add(R_0603_1608Metric, { +// fpga_led.led[1].res +const R18 = board.add(R_0603_1608Metric, { translate: pt(3.371, 1.559), rotate: 0, - id: 'fpga_led_led_1__res' + id: 'R18' }) -const fpga_led_led_2__package = board.add(LED_0603_1608Metric, { +// fpga_led.led[2].package +const D11 = board.add(LED_0603_1608Metric, { translate: pt(3.216, 1.462), rotate: 0, - id: 'fpga_led_led_2__package' + id: 'D11' }) -const fpga_led_led_2__res = board.add(R_0603_1608Metric, { +// fpga_led.led[2].res +const R19 = board.add(R_0603_1608Metric, { translate: pt(3.215, 1.656), rotate: 0, - id: 'fpga_led_led_2__res' + id: 'R19' }) -const fpga_led_led_3__package = board.add(LED_0603_1608Metric, { +// fpga_led.led[3].package +const D12 = board.add(LED_0603_1608Metric, { translate: pt(3.372, 1.462), rotate: 0, - id: 'fpga_led_led_3__package' + id: 'D12' }) -const fpga_led_led_3__res = board.add(R_0603_1608Metric, { +// fpga_led.led[3].res +const R20 = board.add(R_0603_1608Metric, { translate: pt(3.371, 1.656), rotate: 0, - id: 'fpga_led_led_3__res' + id: 'R20' }) -const usb_fpga_bitbang_dp_pull_res = board.add(R_0603_1608Metric, { +// usb_fpga_bitbang.dp_pull_res +const R21 = board.add(R_0603_1608Metric, { translate: pt(1.418, 2.264), rotate: 0, - id: 'usb_fpga_bitbang_dp_pull_res' + id: 'R21' }) -const usb_fpga_bitbang_dp_res = board.add(R_0603_1608Metric, { +// usb_fpga_bitbang.dp_res +const R22 = board.add(R_0603_1608Metric, { translate: pt(1.418, 2.361), rotate: 0, - id: 'usb_fpga_bitbang_dp_res' + id: 'R22' }) -const usb_fpga_bitbang_dm_res = board.add(R_0603_1608Metric, { +// usb_fpga_bitbang.dm_res +const R23 = board.add(R_0603_1608Metric, { translate: pt(1.418, 2.458), rotate: 0, - id: 'usb_fpga_bitbang_dm_res' + id: 'R23' }) -const usb_fpga_esd = board.add(SOT_23, { +// usb_fpga_esd +const U13 = board.add(SOT_23, { translate: pt(3.293, 2.769), rotate: 0, - id: 'usb_fpga_esd' + id: 'U13' }) -const mcu_swd_conn = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { +// mcu.swd.conn +const J6 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { translate: pt(2.498, 0.146), rotate: 0, - id: 'mcu_swd_conn' + id: 'J6' }) -const mcu_ic = board.add(QFN_56_1EP_7x7mm_P0_4mm_EP3_2x3_2mm, { +// mcu.ic +const U14 = board.add(QFN_56_1EP_7x7mm_P0_4mm_EP3_2x3_2mm, { translate: pt(2.127, 0.163), rotate: 0, - id: 'mcu_ic' + id: 'U14' }) -const mcu_iovdd_cap_0__cap = board.add(C_0603_1608Metric, { +// mcu.iovdd_cap[0].cap +const C47 = board.add(C_0603_1608Metric, { translate: pt(2.633, 0.393), rotate: 0, - id: 'mcu_iovdd_cap_0__cap' + id: 'C47' }) -const mcu_iovdd_cap_1__cap = board.add(C_0603_1608Metric, { +// mcu.iovdd_cap[1].cap +const C48 = board.add(C_0603_1608Metric, { translate: pt(2.789, 0.393), rotate: 0, - id: 'mcu_iovdd_cap_1__cap' + id: 'C48' }) -const mcu_iovdd_cap_2__cap = board.add(C_0603_1608Metric, { +// mcu.iovdd_cap[2].cap +const C49 = board.add(C_0603_1608Metric, { translate: pt(2.023, 0.658), rotate: 0, - id: 'mcu_iovdd_cap_2__cap' + id: 'C49' }) -const mcu_iovdd_cap_3__cap = board.add(C_0603_1608Metric, { +// mcu.iovdd_cap[3].cap +const C50 = board.add(C_0603_1608Metric, { translate: pt(2.179, 0.658), rotate: 0, - id: 'mcu_iovdd_cap_3__cap' + id: 'C50' }) -const mcu_iovdd_cap_4__cap = board.add(C_0603_1608Metric, { +// mcu.iovdd_cap[4].cap +const C51 = board.add(C_0603_1608Metric, { translate: pt(2.335, 0.658), rotate: 0, - id: 'mcu_iovdd_cap_4__cap' + id: 'C51' }) -const mcu_iovdd_cap_5__cap = board.add(C_0603_1608Metric, { +// mcu.iovdd_cap[5].cap +const C52 = board.add(C_0603_1608Metric, { translate: pt(2.491, 0.658), rotate: 0, - id: 'mcu_iovdd_cap_5__cap' + id: 'C52' }) -const mcu_avdd_cap_cap = board.add(C_0603_1608Metric, { +// mcu.avdd_cap.cap +const C53 = board.add(C_0603_1608Metric, { translate: pt(2.646, 0.658), rotate: 0, - id: 'mcu_avdd_cap_cap' + id: 'C53' }) -const mcu_vreg_in_cap_cap = board.add(C_0603_1608Metric, { +// mcu.vreg_in_cap.cap +const C54 = board.add(C_0603_1608Metric, { translate: pt(2.802, 0.658), rotate: 0, - id: 'mcu_vreg_in_cap_cap' + id: 'C54' }) -const mcu_mem_ic = board.add(SOIC_8_5_23x5_23mm_P1_27mm, { +// mcu.mem.ic +const U15 = board.add(SOIC_8_5_23x5_23mm_P1_27mm, { translate: pt(2.148, 0.477), rotate: 0, - id: 'mcu_mem_ic' + id: 'U15' }) -const mcu_mem_vcc_cap_cap = board.add(C_0603_1608Metric, { +// mcu.mem.vcc_cap.cap +const C55 = board.add(C_0603_1608Metric, { translate: pt(2.023, 0.755), rotate: 0, - id: 'mcu_mem_vcc_cap_cap' + id: 'C55' }) -const mcu_dvdd_cap_0__cap = board.add(C_0603_1608Metric, { +// mcu.dvdd_cap[0].cap +const C56 = board.add(C_0603_1608Metric, { translate: pt(2.179, 0.755), rotate: 0, - id: 'mcu_dvdd_cap_0__cap' + id: 'C56' }) -const mcu_dvdd_cap_1__cap = board.add(C_0603_1608Metric, { +// mcu.dvdd_cap[1].cap +const C57 = board.add(C_0603_1608Metric, { translate: pt(2.335, 0.755), rotate: 0, - id: 'mcu_dvdd_cap_1__cap' + id: 'C57' }) -const mcu_vreg_out_cap_cap = board.add(C_0603_1608Metric, { +// mcu.vreg_out_cap.cap +const C58 = board.add(C_0603_1608Metric, { translate: pt(2.491, 0.755), rotate: 0, - id: 'mcu_vreg_out_cap_cap' + id: 'C58' }) -const mcu_usb_res_dp_res = board.add(R_0603_1608Metric, { +// mcu.usb_res.dp_res +const R24 = board.add(R_0603_1608Metric, { translate: pt(2.646, 0.755), rotate: 0, - id: 'mcu_usb_res_dp_res' + id: 'R24' }) -const mcu_usb_res_dm_res = board.add(R_0603_1608Metric, { +// mcu.usb_res.dm_res +const R25 = board.add(R_0603_1608Metric, { translate: pt(2.802, 0.755), rotate: 0, - id: 'mcu_usb_res_dm_res' + id: 'R25' }) -const mcu_crystal_package = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { +// mcu.crystal.package +const X2 = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { translate: pt(2.453, 0.431), rotate: 0, - id: 'mcu_crystal_package' + id: 'X2' }) -const mcu_crystal_cap_a = board.add(C_0603_1608Metric, { +// mcu.crystal.cap_a +const C59 = board.add(C_0603_1608Metric, { translate: pt(2.023, 0.852), rotate: 0, - id: 'mcu_crystal_cap_a' + id: 'C59' }) -const mcu_crystal_cap_b = board.add(C_0603_1608Metric, { +// mcu.crystal.cap_b +const C60 = board.add(C_0603_1608Metric, { translate: pt(2.179, 0.852), rotate: 0, - id: 'mcu_crystal_cap_b' + id: 'C60' }) -const mcu_sw_package = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(2.214, 2.348), rotate: 0, - id: 'mcu_sw_package' +// mcu_sw.package +const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(1.761, 2.348), rotate: 0, + id: 'SW2' }) -const mcu_leds_led_0__package = board.add(LED_0603_1608Metric, { +// mcu_leds.led[0].package +const D13 = board.add(LED_0603_1608Metric, { translate: pt(0.058, 2.264), rotate: 0, - id: 'mcu_leds_led_0__package' + id: 'D13' }) -const mcu_leds_led_0__res = board.add(R_0603_1608Metric, { +// mcu_leds.led[0].res +const R26 = board.add(R_0603_1608Metric, { translate: pt(0.058, 2.459), rotate: 0, - id: 'mcu_leds_led_0__res' + id: 'R26' }) -const mcu_leds_led_1__package = board.add(LED_0603_1608Metric, { +// mcu_leds.led[1].package +const D14 = board.add(LED_0603_1608Metric, { translate: pt(0.215, 2.264), rotate: 0, - id: 'mcu_leds_led_1__package' + id: 'D14' }) -const mcu_leds_led_1__res = board.add(R_0603_1608Metric, { +// mcu_leds.led[1].res +const R27 = board.add(R_0603_1608Metric, { translate: pt(0.214, 2.459), rotate: 0, - id: 'mcu_leds_led_1__res' + id: 'R27' }) -const mcu_leds_led_2__package = board.add(LED_0603_1608Metric, { +// mcu_leds.led[2].package +const D15 = board.add(LED_0603_1608Metric, { translate: pt(0.058, 2.362), rotate: 0, - id: 'mcu_leds_led_2__package' + id: 'D15' }) -const mcu_leds_led_2__res = board.add(R_0603_1608Metric, { +// mcu_leds.led[2].res +const R28 = board.add(R_0603_1608Metric, { translate: pt(0.058, 2.556), rotate: 0, - id: 'mcu_leds_led_2__res' + id: 'R28' }) -const mcu_leds_led_3__package = board.add(LED_0603_1608Metric, { +// mcu_leds.led[3].package +const D16 = board.add(LED_0603_1608Metric, { translate: pt(0.215, 2.362), rotate: 0, - id: 'mcu_leds_led_3__package' + id: 'D16' }) -const mcu_leds_led_3__res = board.add(R_0603_1608Metric, { +// mcu_leds.led[3].res +const R29 = board.add(R_0603_1608Metric, { translate: pt(0.214, 2.556), rotate: 0, - id: 'mcu_leds_led_3__res' + id: 'R29' }) -const usb_mcu_esd = board.add(SOT_23, { +// usb_mcu_esd +const U16 = board.add(SOT_23, { translate: pt(3.484, 2.769), rotate: 0, - id: 'usb_mcu_esd' + id: 'U16' }) -const tp_fpga_0__tp = board.add(TestPoint_TE_RCT_0805, { +// tp_fpga[0].tp +const TP7 = board.add(TestPoint_TE_RCT_0805, { translate: pt(2.032, 2.740), rotate: 0, - id: 'tp_fpga_0__tp' + id: 'TP7' }) -const tp_fpga_1__tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.781, 2.740), rotate: 0, - id: 'tp_fpga_1__tp' +// tp_fpga[1].tp +const TP8 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(3.033, 2.740), rotate: 0, + id: 'TP8' }) -const tp_fpga_2__tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.533, 2.740), rotate: 0, - id: 'tp_fpga_2__tp' +// tp_fpga[2].tp +const TP9 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.535, 2.740), rotate: 0, + id: 'TP9' }) -const tp_fpga_3__tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.786, 2.740), rotate: 0, - id: 'tp_fpga_3__tp' +// tp_fpga[3].tp +const TP10 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.533, 2.740), rotate: 0, + id: 'TP10' }) -const pwm_filter_tp_0L__tp = board.add(TestPoint_TE_RCT_0805, { +// pwm_filter.tp[0L].tp +const TP11 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.004, 2.273), rotate: 0, - id: 'pwm_filter_tp_0L__tp' + id: 'TP11' }) -const pwm_filter_tp_0H__tp = board.add(TestPoint_TE_RCT_0805, { +// pwm_filter.tp[0H].tp +const TP12 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.175, 2.273), rotate: 0, - id: 'pwm_filter_tp_0H__tp' + id: 'TP12' }) -const pwm_filter_tp_1L__tp = board.add(TestPoint_TE_RCT_0805, { +// pwm_filter.tp[1L].tp +const TP13 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.004, 2.387), rotate: 0, - id: 'pwm_filter_tp_1L__tp' + id: 'TP13' }) -const pwm_filter_tp_1H__tp = board.add(TestPoint_TE_RCT_0805, { +// pwm_filter.tp[1H].tp +const TP14 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.175, 2.387), rotate: 0, - id: 'pwm_filter_tp_1H__tp' + id: 'TP14' }) -const pwm_filter_tp_2L__tp = board.add(TestPoint_TE_RCT_0805, { +// pwm_filter.tp[2L].tp +const TP15 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.004, 2.501), rotate: 0, - id: 'pwm_filter_tp_2L__tp' + id: 'TP15' }) -const pwm_filter_tp_2H__tp = board.add(TestPoint_TE_RCT_0805, { +// pwm_filter.tp[2H].tp +const TP16 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.175, 2.501), rotate: 0, - id: 'pwm_filter_tp_2H__tp' + id: 'TP16' }) -const tp_pwm_elts_0L__rc_r = board.add(R_0603_1608Metric, { +// tp_pwm.elts[0L].rc.r +const R30 = board.add(R_0603_1608Metric, { translate: pt(0.449, 2.264), rotate: 0, - id: 'tp_pwm_elts_0L__rc_r' + id: 'R30' }) -const tp_pwm_elts_0L__rc_c = board.add(C_0603_1608Metric, { +// tp_pwm.elts[0L].rc.c +const C61 = board.add(C_0603_1608Metric, { translate: pt(0.605, 2.264), rotate: 0, - id: 'tp_pwm_elts_0L__rc_c' + id: 'C61' }) -const tp_pwm_elts_0H__rc_r = board.add(R_0603_1608Metric, { +// tp_pwm.elts[0H].rc.r +const R31 = board.add(R_0603_1608Metric, { translate: pt(0.761, 2.264), rotate: 0, - id: 'tp_pwm_elts_0H__rc_r' + id: 'R31' }) -const tp_pwm_elts_0H__rc_c = board.add(C_0603_1608Metric, { +// tp_pwm.elts[0H].rc.c +const C62 = board.add(C_0603_1608Metric, { translate: pt(0.449, 2.361), rotate: 0, - id: 'tp_pwm_elts_0H__rc_c' + id: 'C62' }) -const tp_pwm_elts_1L__rc_r = board.add(R_0603_1608Metric, { +// tp_pwm.elts[1L].rc.r +const R32 = board.add(R_0603_1608Metric, { translate: pt(0.605, 2.361), rotate: 0, - id: 'tp_pwm_elts_1L__rc_r' + id: 'R32' }) -const tp_pwm_elts_1L__rc_c = board.add(C_0603_1608Metric, { +// tp_pwm.elts[1L].rc.c +const C63 = board.add(C_0603_1608Metric, { translate: pt(0.761, 2.361), rotate: 0, - id: 'tp_pwm_elts_1L__rc_c' + id: 'C63' }) -const tp_pwm_elts_1H__rc_r = board.add(R_0603_1608Metric, { +// tp_pwm.elts[1H].rc.r +const R33 = board.add(R_0603_1608Metric, { translate: pt(0.449, 2.458), rotate: 0, - id: 'tp_pwm_elts_1H__rc_r' + id: 'R33' }) -const tp_pwm_elts_1H__rc_c = board.add(C_0603_1608Metric, { +// tp_pwm.elts[1H].rc.c +const C64 = board.add(C_0603_1608Metric, { translate: pt(0.605, 2.458), rotate: 0, - id: 'tp_pwm_elts_1H__rc_c' + id: 'C64' }) -const tp_pwm_elts_2L__rc_r = board.add(R_0603_1608Metric, { +// tp_pwm.elts[2L].rc.r +const R34 = board.add(R_0603_1608Metric, { translate: pt(0.761, 2.458), rotate: 0, - id: 'tp_pwm_elts_2L__rc_r' + id: 'R34' }) -const tp_pwm_elts_2L__rc_c = board.add(C_0603_1608Metric, { +// tp_pwm.elts[2L].rc.c +const C65 = board.add(C_0603_1608Metric, { translate: pt(0.449, 2.555), rotate: 0, - id: 'tp_pwm_elts_2L__rc_c' + id: 'C65' }) -const tp_pwm_elts_2H__rc_r = board.add(R_0603_1608Metric, { +// tp_pwm.elts[2H].rc.r +const R35 = board.add(R_0603_1608Metric, { translate: pt(0.605, 2.555), rotate: 0, - id: 'tp_pwm_elts_2H__rc_r' + id: 'R35' }) -const tp_pwm_elts_2H__rc_c = board.add(C_0603_1608Metric, { +// tp_pwm.elts[2H].rc.c +const C66 = board.add(C_0603_1608Metric, { translate: pt(0.761, 2.555), rotate: 0, - id: 'tp_pwm_elts_2H__rc_c' + id: 'C66' }) -const conv_in_sense_div_top_res = board.add(R_0603_1608Metric, { - translate: pt(0.293, 2.731), rotate: 0, - id: 'conv_in_sense_div_top_res' -}) -const conv_in_sense_div_bottom_res = board.add(R_0603_1608Metric, { - translate: pt(0.293, 2.828), rotate: 0, - id: 'conv_in_sense_div_bottom_res' -}) -const conv_out_sense_div_top_res = board.add(R_0603_1608Metric, { +// conv_in_sense.div.top_res +const R36 = board.add(R_0603_1608Metric, { translate: pt(0.058, 2.731), rotate: 0, - id: 'conv_out_sense_div_top_res' + id: 'R36' }) -const conv_out_sense_div_bottom_res = board.add(R_0603_1608Metric, { +// conv_in_sense.div.bottom_res +const R37 = board.add(R_0603_1608Metric, { translate: pt(0.058, 2.828), rotate: 0, - id: 'conv_out_sense_div_bottom_res' + id: 'R37' }) +// conv_out_sense.div.top_res +const R38 = board.add(R_0603_1608Metric, { + translate: pt(0.293, 2.731), rotate: 0, + id: 'R38' +}) +// conv_out_sense.div.bottom_res +const R39 = board.add(R_0603_1608Metric, { + translate: pt(0.293, 2.828), rotate: 0, + id: 'R39' +}) + +board.setNetlist([ + {name: "vusb", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["J2", "A4"], ["J2", "B9"], ["J2", "B4"], ["J2", "A9"], ["TP1", "1"], ["U1", "3"], ["U2", "5"], ["U2", "4"], ["C1", "1"], ["L1", "1"], ["C3", "1"]]}, + {name: "gnd", pads: [["U13", "3"], ["U16", "3"], ["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["J2", "A1"], ["J2", "B12"], ["J2", "B1"], ["J2", "A12"], ["J3", "1"], ["TP2", "1"], ["U1", "1"], ["D1", "2"], ["U2", "2"], ["J4", "1"], ["TP6", "1"], ["U10", "49"], ["R16", "2"], ["X1", "2"], ["SW1", "2"], ["U14", "19"], ["U14", "57"], ["SW2", "2"], ["R37", "2"], ["R39", "2"], ["J1", "S1"], ["J2", "S1"], ["C1", "2"], ["C2", "2"], ["U11", "2"], ["U12", "4"], ["C39", "2"], ["C40", "2"], ["C41", "2"], ["C42", "2"], ["C43", "2"], ["C44", "2"], ["C45", "2"], ["C46", "2"], ["R17", "2"], ["R18", "2"], ["R19", "2"], ["R20", "2"], ["C47", "2"], ["C48", "2"], ["C49", "2"], ["C50", "2"], ["C51", "2"], ["C52", "2"], ["C53", "2"], ["C54", "2"], ["U15", "4"], ["C56", "2"], ["C57", "2"], ["C58", "2"], ["X2", "2"], ["X2", "4"], ["R26", "2"], ["R27", "2"], ["R28", "2"], ["R29", "2"], ["R6", "2"], ["U5", "4"], ["U8", "4"], ["C61", "2"], ["C62", "2"], ["C63", "2"], ["C64", "2"], ["C65", "2"], ["C66", "2"], ["R1", "1"], ["R2", "1"], ["Q2", "1"], ["Q2", "2"], ["Q2", "3"], ["J5", "3"], ["J5", "5"], ["J5", "9"], ["J6", "3"], ["J6", "5"], ["J6", "9"], ["C59", "2"], ["C60", "2"], ["R3", "1"], ["R4", "1"], ["C3", "2"], ["C4", "2"], ["U3", "4"], ["C36", "2"], ["C37", "2"], ["C38", "2"], ["C55", "2"], ["C18", "2"], ["C28", "2"], ["C5", "2"], ["C6", "2"], ["C7", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["C11", "2"], ["C12", "2"], ["C13", "2"]]}, + {name: "v3v3", pads: [["U1", "2"], ["TP3", "1"], ["D1", "1"], ["U10", "22"], ["U10", "33"], ["U10", "1"], ["U10", "24"], ["X1", "1"], ["X1", "4"], ["U14", "1"], ["U14", "10"], ["U14", "22"], ["U14", "33"], ["U14", "42"], ["U14", "49"], ["U14", "44"], ["U14", "43"], ["U14", "48"], ["C2", "1"], ["U11", "1"], ["R13", "1"], ["U12", "8"], ["J5", "1"], ["R14", "1"], ["C39", "1"], ["C40", "1"], ["C41", "1"], ["C42", "1"], ["C46", "1"], ["J6", "1"], ["C47", "1"], ["C48", "1"], ["C49", "1"], ["C50", "1"], ["C51", "1"], ["C52", "1"], ["C53", "1"], ["C54", "1"], ["U15", "8"], ["U5", "1"], ["U8", "1"], ["U11", "3"], ["U12", "3"], ["U12", "7"], ["C36", "1"], ["C38", "1"], ["C55", "1"], ["C18", "1"], ["C28", "1"]]}, + {name: "vgate", pads: [["TP4", "1"], ["D2", "1"], ["R5", "1"], ["C4", "1"], ["U3", "1"], ["C13", "1"], ["D4", "2"]]}, + {name: "conv.pwr_in", pads: [["J3", "2"], ["R36", "1"], ["Q1", "5"], ["Q1", "6"], ["Q1", "7"], ["Q1", "8"], ["C5", "1"], ["C6", "1"], ["C7", "1"], ["C8", "1"], ["C9", "1"]]}, + {name: "conv.pwr_out", pads: [["J4", "2"], ["TP5", "1"], ["R38", "1"], ["L2", "2"], ["C10", "1"], ["C11", "1"], ["C12", "1"]]}, + {name: "fpga.cdone", pads: [["U10", "7"], ["D8", "2"]]}, + {name: "fpga_osc.out", pads: [["X1", "3"], ["U10", "37"]]}, + {name: "fpga_sw.out", pads: [["U10", "32"], ["SW1", "1"]]}, + {name: "fpga.gpio.led_0", pads: [["U10", "21"], ["D9", "2"]]}, + {name: "fpga.gpio.led_1", pads: [["U10", "20"], ["D10", "2"]]}, + {name: "fpga.gpio.led_2", pads: [["U10", "19"], ["D11", "2"]]}, + {name: "fpga.gpio.led_3", pads: [["U10", "18"], ["D12", "2"]]}, + {name: "usb_fpga_bitbang.dp_pull", pads: [["U10", "27"], ["R21", "1"]]}, + {name: "usb_fpga_bitbang.dp", pads: [["U10", "26"], ["R22", "1"]]}, + {name: "usb_fpga_bitbang.dm", pads: [["U10", "25"], ["R23", "1"]]}, + {name: "usb_fpga_chain_0.d_P", pads: [["U13", "2"], ["J2", "A6"], ["J2", "B6"], ["R22", "2"], ["R21", "2"]]}, + {name: "usb_fpga_chain_0.d_N", pads: [["U13", "1"], ["J2", "A7"], ["J2", "B7"], ["R23", "2"]]}, + {name: "mcu_sw.out", pads: [["U14", "29"], ["SW2", "1"]]}, + {name: "mcu.gpio.led_0", pads: [["U14", "34"], ["D13", "2"]]}, + {name: "mcu.gpio.led_1", pads: [["U14", "35"], ["D14", "2"]]}, + {name: "mcu.gpio.led_2", pads: [["U14", "36"], ["D15", "2"]]}, + {name: "mcu.gpio.led_3", pads: [["U14", "37"], ["D16", "2"]]}, + {name: "usb_mcu_chain_0.d_P", pads: [["U16", "2"], ["J1", "A6"], ["J1", "B6"], ["R24", "2"]]}, + {name: "usb_mcu_chain_0.d_N", pads: [["U16", "1"], ["J1", "A7"], ["J1", "B7"], ["R25", "2"]]}, + {name: "tp_fpga[0].io", pads: [["U14", "14"], ["U10", "2"], ["TP7", "1"]]}, + {name: "tp_fpga[1].io", pads: [["U14", "13"], ["U10", "3"], ["TP8", "1"]]}, + {name: "tp_fpga[2].io", pads: [["U14", "12"], ["U10", "4"], ["TP9", "1"]]}, + {name: "tp_fpga[3].io", pads: [["U14", "11"], ["U10", "6"], ["TP10", "1"]]}, + {name: "fpga.gpio.pwm_0L", pads: [["U10", "47"], ["TP11", "1"], ["R30", "1"]]}, + {name: "fpga.gpio.pwm_0H", pads: [["U10", "48"], ["TP12", "1"], ["R31", "1"]]}, + {name: "fpga.gpio.pwm_1L", pads: [["U10", "45"], ["TP13", "1"], ["R32", "1"]]}, + {name: "fpga.gpio.pwm_1H", pads: [["U10", "46"], ["TP14", "1"], ["R33", "1"]]}, + {name: "fpga.gpio.pwm_2L", pads: [["U10", "43"], ["TP15", "1"], ["R34", "1"]]}, + {name: "fpga.gpio.pwm_2H", pads: [["U10", "44"], ["TP16", "1"], ["R35", "1"]]}, + {name: "tp_pwm.output.0L", pads: [["U3", "3"], ["R30", "2"], ["C61", "1"]]}, + {name: "tp_pwm.output.0H", pads: [["U3", "2"], ["R31", "2"], ["C62", "1"]]}, + {name: "tp_pwm.output.1L", pads: [["U5", "3"], ["R32", "2"], ["C63", "1"]]}, + {name: "tp_pwm.output.1H", pads: [["U5", "2"], ["R33", "2"], ["C64", "1"]]}, + {name: "tp_pwm.output.2L", pads: [["U8", "3"], ["R34", "2"], ["C65", "1"]]}, + {name: "tp_pwm.output.2H", pads: [["U8", "2"], ["R35", "2"], ["C66", "1"]]}, + {name: "conv_in_sense.output", pads: [["U14", "38"], ["R36", "2"], ["R37", "1"]]}, + {name: "conv_out_sense.output", pads: [["U14", "39"], ["R38", "2"], ["R39", "1"]]}, + {name: "usb_mcu.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb_mcu.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "usb_fpga.conn.cc.cc1", pads: [["J2", "A5"], ["R3", "2"]]}, + {name: "usb_fpga.conn.cc.cc2", pads: [["J2", "B5"], ["R4", "2"]]}, + {name: "reg_vgate.fb.output", pads: [["U2", "3"], ["R5", "2"], ["R6", "1"]]}, + {name: "reg_vgate.power_path.switch", pads: [["U2", "1"], ["L1", "2"], ["D2", "2"]]}, + {name: "conv.sw[0].low_out", pads: [["Q2", "5"], ["Q2", "6"], ["Q2", "7"], ["Q2", "8"], ["Q4", "1"], ["Q4", "2"], ["Q4", "3"], ["C25", "2"], ["U4", "2"], ["U5", "5"], ["U6", "4"], ["C22", "2"], ["C23", "2"], ["C16", "2"], ["C17", "2"], ["C19", "2"], ["C20", "2"]]}, + {name: "conv.sw[1].high_in", pads: [["Q3", "5"], ["Q3", "6"], ["Q3", "7"], ["Q3", "8"], ["C22", "1"], ["C23", "1"], ["Q1", "1"], ["Q1", "2"], ["Q1", "3"], ["C15", "2"], ["U3", "6"], ["C14", "2"]]}, + {name: "conv.sw[1].high_boot_out", pads: [["D3", "2"], ["C24", "1"], ["D5", "1"], ["U6", "8"], ["C21", "1"]]}, + {name: "conv.sw[1].low_out", pads: [["Q4", "5"], ["Q4", "6"], ["Q4", "7"], ["Q4", "8"], ["Q6", "1"], ["Q6", "2"], ["Q6", "3"], ["C35", "2"], ["U7", "2"], ["U8", "5"], ["U9", "4"], ["C32", "2"], ["C33", "2"], ["C26", "2"], ["C27", "2"], ["C29", "2"], ["C30", "2"]]}, + {name: "conv.sw[2].high_in", pads: [["Q5", "5"], ["Q5", "6"], ["Q5", "7"], ["Q5", "8"], ["C32", "1"], ["C33", "1"], ["Q3", "1"], ["Q3", "2"], ["Q3", "3"], ["C24", "2"], ["U6", "6"], ["C21", "2"]]}, + {name: "conv.sw[2].low_boot_in", pads: [["D6", "2"], ["C25", "1"], ["D4", "1"], ["U4", "1"], ["U6", "1"], ["U4", "3"], ["C16", "1"], ["C20", "1"]]}, + {name: "conv.sw[2].high_boot_out", pads: [["D5", "2"], ["C34", "1"], ["D7", "1"], ["U9", "8"], ["C31", "1"]]}, + {name: "conv.sw[2].low_boot_out", pads: [["D7", "2"], ["C35", "1"], ["D6", "1"], ["U7", "1"], ["U9", "1"], ["U7", "3"], ["C26", "1"], ["C30", "1"]]}, + {name: "conv.sw_merge", pads: [["Q6", "5"], ["Q6", "6"], ["Q6", "7"], ["Q6", "8"], ["L2", "1"], ["Q5", "1"], ["Q5", "2"], ["Q5", "3"], ["C34", "2"], ["U9", "6"], ["C31", "2"]]}, + {name: "conv.sw[0].high_gate_res.a", pads: [["R7", "1"], ["U3", "7"]]}, + {name: "conv.sw[0].high_gate_res.b", pads: [["R7", "2"], ["Q1", "4"]]}, + {name: "conv.sw[0].low_gate_res.a", pads: [["R8", "1"], ["U3", "5"]]}, + {name: "conv.sw[0].low_gate_res.b", pads: [["R8", "2"], ["Q2", "4"]]}, + {name: "conv.sw[0].high_boot_cap.pos", pads: [["C15", "1"], ["D3", "1"], ["U3", "8"], ["C14", "1"]]}, + {name: "conv.sw[1].iso.pwr_b", pads: [["U5", "8"], ["U4", "5"], ["C19", "1"], ["C17", "1"]]}, + {name: "conv.sw[1].driver.high_in", pads: [["U6", "2"], ["U5", "7"]]}, + {name: "conv.sw[1].driver.low_in", pads: [["U6", "3"], ["U5", "6"]]}, + {name: "conv.sw[1].high_gate_res.a", pads: [["R9", "1"], ["U6", "7"]]}, + {name: "conv.sw[1].high_gate_res.b", pads: [["R9", "2"], ["Q3", "4"]]}, + {name: "conv.sw[1].low_gate_res.a", pads: [["R10", "1"], ["U6", "5"]]}, + {name: "conv.sw[1].low_gate_res.b", pads: [["R10", "2"], ["Q4", "4"]]}, + {name: "conv.sw[2].iso.pwr_b", pads: [["U8", "8"], ["U7", "5"], ["C29", "1"], ["C27", "1"]]}, + {name: "conv.sw[2].driver.high_in", pads: [["U9", "2"], ["U8", "7"]]}, + {name: "conv.sw[2].driver.low_in", pads: [["U9", "3"], ["U8", "6"]]}, + {name: "conv.sw[2].high_gate_res.a", pads: [["R11", "1"], ["U9", "7"]]}, + {name: "conv.sw[2].high_gate_res.b", pads: [["R11", "2"], ["Q5", "4"]]}, + {name: "conv.sw[2].low_gate_res.a", pads: [["R12", "1"], ["U9", "5"]]}, + {name: "conv.sw[2].low_gate_res.b", pads: [["R12", "2"], ["Q6", "4"]]}, + {name: "fpga.ic.creset_b", pads: [["U10", "8"], ["R13", "2"], ["J5", "10"]]}, + {name: "fpga.ic.spi_config.sck", pads: [["U10", "15"], ["U12", "6"], ["J5", "4"]]}, + {name: "fpga.ic.spi_config.mosi", pads: [["U10", "14"], ["U12", "5"], ["J5", "6"]]}, + {name: "fpga.ic.spi_config.miso", pads: [["U10", "17"], ["U12", "2"], ["J5", "8"]]}, + {name: "fpga.ic.spi_config_cs", pads: [["U10", "16"], ["J5", "2"], ["JP1", "1"]]}, + {name: "fpga.cs_jmp.output", pads: [["JP1", "2"], ["R14", "2"], ["U12", "1"]]}, + {name: "fpga.vcc_reg.pwr_out", pads: [["U10", "5"], ["U10", "30"], ["U11", "5"], ["R15", "1"], ["C43", "1"], ["C37", "1"]]}, + {name: "fpga.pll_res.pwr_out", pads: [["U10", "29"], ["R15", "2"], ["C44", "1"], ["C45", "1"]]}, + {name: "cdone.res.a", pads: [["R16", "1"], ["D8", "1"]]}, + {name: "fpga_led.led[0].res.a", pads: [["R17", "1"], ["D9", "1"]]}, + {name: "fpga_led.led[1].res.a", pads: [["R18", "1"], ["D10", "1"]]}, + {name: "fpga_led.led[2].res.a", pads: [["R19", "1"], ["D11", "1"]]}, + {name: "fpga_led.led[3].res.a", pads: [["R20", "1"], ["D12", "1"]]}, + {name: "mcu.xtal_node.xi", pads: [["U14", "20"], ["X2", "1"], ["C59", "1"]]}, + {name: "mcu.xtal_node.xo", pads: [["U14", "21"], ["X2", "3"], ["C60", "1"]]}, + {name: "mcu.swd_node.swdio", pads: [["U14", "25"], ["J6", "2"]]}, + {name: "mcu.swd_node.swclk", pads: [["U14", "24"], ["J6", "4"]]}, + {name: "mcu.reset_node", pads: [["U14", "26"], ["J6", "10"]]}, + {name: "mcu.ic.qspi.sck", pads: [["U14", "52"], ["U15", "6"]]}, + {name: "mcu.ic.qspi.mosi", pads: [["U14", "53"], ["U15", "5"]]}, + {name: "mcu.ic.qspi.miso", pads: [["U14", "55"], ["U15", "2"]]}, + {name: "mcu.ic.qspi_cs", pads: [["U14", "56"], ["U15", "1"]]}, + {name: "mcu.ic.qspi_sd2", pads: [["U14", "54"], ["U15", "3"]]}, + {name: "mcu.ic.qspi_sd3", pads: [["U14", "51"], ["U15", "7"]]}, + {name: "mcu.ic.vreg_vout", pads: [["U14", "45"], ["U14", "23"], ["U14", "50"], ["C56", "1"], ["C57", "1"], ["C58", "1"]]}, + {name: "mcu.usb_chain_0.d_P", pads: [["U14", "47"], ["R24", "1"]]}, + {name: "mcu.usb_chain_0.d_N", pads: [["U14", "46"], ["R25", "1"]]}, + {name: "mcu.swd.swo", pads: [["U14", "2"], ["J6", "6"]]}, + {name: "mcu.swd.tdi", pads: [["U14", "3"], ["J6", "8"]]}, + {name: "mcu_leds.led[0].res.a", pads: [["R26", "1"], ["D13", "1"]]}, + {name: "mcu_leds.led[1].res.a", pads: [["R27", "1"], ["D14", "1"]]}, + {name: "mcu_leds.led[2].res.a", pads: [["R28", "1"], ["D15", "1"]]}, + {name: "mcu_leds.led[3].res.a", pads: [["R29", "1"], ["D16", "1"]]} +]) const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(3.7659448818897645, 2.9748031496062994); diff --git a/examples/HighSwitch/HighSwitch.svgpcb.js b/examples/HighSwitch/HighSwitch.svgpcb.js index 2b3a71046..eab29a9c8 100644 --- a/examples/HighSwitch/HighSwitch.svgpcb.js +++ b/examples/HighSwitch/HighSwitch.svgpcb.js @@ -1,361 +1,525 @@ const board = new PCB(); -const pwr_conn = board.add(Molex_DuraClik_vert_3pin, { +// pwr_conn +const J1 = board.add(Molex_DuraClik_vert_3pin, { translate: pt(2.459, 1.764), rotate: 0, - id: 'pwr_conn' + id: 'J1' }) -const pwr_ic = board.add(SOT_23_6, { +// pwr.ic +const U1 = board.add(SOT_23_6, { translate: pt(0.956, 1.831), rotate: 0, - id: 'pwr_ic' + id: 'U1' }) -const pwr_fb_div_top_res = board.add(R_0603_1608Metric, { +// pwr.fb.div.top_res +const R1 = board.add(R_0603_1608Metric, { translate: pt(1.111, 1.966), rotate: 0, - id: 'pwr_fb_div_top_res' + id: 'R1' }) -const pwr_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// pwr.fb.div.bottom_res +const R2 = board.add(R_0603_1608Metric, { translate: pt(1.267, 1.966), rotate: 0, - id: 'pwr_fb_div_bottom_res' + id: 'R2' }) -const pwr_hf_in_cap_cap = board.add(C_0603_1608Metric, { +// pwr.hf_in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(0.934, 2.072), rotate: 0, - id: 'pwr_hf_in_cap_cap' + id: 'C1' }) -const pwr_vbst_cap = board.add(C_0603_1608Metric, { +// pwr.vbst_cap +const C2 = board.add(C_0603_1608Metric, { translate: pt(1.090, 2.072), rotate: 0, - id: 'pwr_vbst_cap' + id: 'C2' }) -const pwr_power_path_inductor = board.add(L_0805_2012Metric, { +// pwr.power_path.inductor +const L1 = board.add(L_0805_2012Metric, { translate: pt(0.944, 1.970), rotate: 0, - id: 'pwr_power_path_inductor' + id: 'L1' }) -const pwr_power_path_in_cap_cap = board.add(C_0603_1608Metric, { +// pwr.power_path.in_cap.cap +const C3 = board.add(C_0603_1608Metric, { translate: pt(1.246, 2.072), rotate: 0, - id: 'pwr_power_path_in_cap_cap' + id: 'C3' }) -const pwr_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// pwr.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { translate: pt(1.143, 1.802), rotate: 0, - id: 'pwr_power_path_out_cap_cap' + id: 'C4' }) -const mcu_swd_conn = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { +// mcu.swd.conn +const J2 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { translate: pt(2.106, 1.028), rotate: 0, - id: 'mcu_swd_conn' + id: 'J2' }) -const mcu_ic = board.add(LQFP_48_7x7mm_P0_5mm, { +// mcu.ic +const U2 = board.add(LQFP_48_7x7mm_P0_5mm, { translate: pt(1.694, 1.085), rotate: 0, - id: 'mcu_ic' + id: 'U2' }) -const mcu_swd_pull_swdio_res = board.add(R_0603_1608Metric, { +// mcu.swd_pull.swdio.res +const R3 = board.add(R_0603_1608Metric, { translate: pt(1.723, 1.356), rotate: 0, - id: 'mcu_swd_pull_swdio_res' + id: 'R3' }) -const mcu_swd_pull_swclk_res = board.add(R_0603_1608Metric, { +// mcu.swd_pull.swclk.res +const R4 = board.add(R_0603_1608Metric, { translate: pt(1.879, 1.356), rotate: 0, - id: 'mcu_swd_pull_swclk_res' + id: 'R4' }) -const mcu_pwr_cap_0__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[0].cap +const C5 = board.add(C_0603_1608Metric, { translate: pt(2.035, 1.356), rotate: 0, - id: 'mcu_pwr_cap_0__cap' + id: 'C5' }) -const mcu_pwr_cap_1__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[1].cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(2.191, 1.356), rotate: 0, - id: 'mcu_pwr_cap_1__cap' + id: 'C6' }) -const mcu_pwr_cap_2__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[2].cap +const C7 = board.add(C_0603_1608Metric, { translate: pt(2.346, 1.356), rotate: 0, - id: 'mcu_pwr_cap_2__cap' + id: 'C7' }) -const mcu_pwr_cap_3__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[3].cap +const C8 = board.add(C_0603_1608Metric, { translate: pt(1.550, 1.472), rotate: 0, - id: 'mcu_pwr_cap_3__cap' + id: 'C8' }) -const mcu_pwr_cap_4__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[4].cap +const C9 = board.add(C_0603_1608Metric, { translate: pt(1.706, 1.472), rotate: 0, - id: 'mcu_pwr_cap_4__cap' + id: 'C9' }) -const mcu_pwr_cap_5__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[5].cap +const C10 = board.add(C_0603_1608Metric, { translate: pt(1.861, 1.472), rotate: 0, - id: 'mcu_pwr_cap_5__cap' + id: 'C10' }) -const mcu_vbat_cap_cap = board.add(C_0603_1608Metric, { +// mcu.vbat_cap.cap +const C11 = board.add(C_0603_1608Metric, { translate: pt(2.017, 1.472), rotate: 0, - id: 'mcu_vbat_cap_cap' + id: 'C11' }) -const mcu_pwra_cap_0__cap = board.add(C_0603_1608Metric, { +// mcu.pwra_cap[0].cap +const C12 = board.add(C_0603_1608Metric, { translate: pt(2.173, 1.472), rotate: 0, - id: 'mcu_pwra_cap_0__cap' + id: 'C12' }) -const mcu_pwra_cap_1__cap = board.add(C_0805_2012Metric, { +// mcu.pwra_cap[1].cap +const C13 = board.add(C_0805_2012Metric, { translate: pt(2.381, 1.094), rotate: 0, - id: 'mcu_pwra_cap_1__cap' + id: 'C13' }) -const mcu_vref_cap_0__cap = board.add(C_0603_1608Metric, { +// mcu.vref_cap[0].cap +const C14 = board.add(C_0603_1608Metric, { translate: pt(2.329, 1.472), rotate: 0, - id: 'mcu_vref_cap_0__cap' + id: 'C14' }) -const mcu_vref_cap_1__cap = board.add(C_0603_1608Metric, { +// mcu.vref_cap[1].cap +const C15 = board.add(C_0603_1608Metric, { translate: pt(1.550, 1.569), rotate: 0, - id: 'mcu_vref_cap_1__cap' + id: 'C15' }) -const mcu_vref_cap_2__cap = board.add(C_0805_2012Metric, { +// mcu.vref_cap[2].cap +const C16 = board.add(C_0805_2012Metric, { translate: pt(1.558, 1.365), rotate: 0, - id: 'mcu_vref_cap_2__cap' + id: 'C16' }) -const mcu_crystal_package = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { +// mcu.crystal.package +const X1 = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { translate: pt(2.397, 0.949), rotate: 0, - id: 'mcu_crystal_package' + id: 'X1' }) -const mcu_crystal_cap_a = board.add(C_0603_1608Metric, { +// mcu.crystal.cap_a +const C17 = board.add(C_0603_1608Metric, { translate: pt(1.706, 1.569), rotate: 0, - id: 'mcu_crystal_cap_a' + id: 'C17' }) -const mcu_crystal_cap_b = board.add(C_0603_1608Metric, { +// mcu.crystal.cap_b +const C18 = board.add(C_0603_1608Metric, { translate: pt(1.861, 1.569), rotate: 0, - id: 'mcu_crystal_cap_b' + id: 'C18' }) -const can_conn = board.add(Molex_DuraClik_vert_5pin, { +// can.conn +const J3 = board.add(Molex_DuraClik_vert_5pin, { translate: pt(0.000, 2.299), rotate: 0, - id: 'can_conn' + id: 'J3' }) -const can_can_fuse_fuse = board.add(R_0603_1608Metric, { +// can.can_fuse.fuse +const F1 = board.add(R_0603_1608Metric, { translate: pt(0.231, 2.211), rotate: 0, - id: 'can_can_fuse_fuse' + id: 'F1' }) -const can_reg_ic = board.add(SOT_23_5, { +// can.reg.ic +const U3 = board.add(SOT_23_5, { translate: pt(0.589, 1.831), rotate: 0, - id: 'can_reg_ic' + id: 'U3' }) -const can_reg_in_cap_cap = board.add(C_0603_1608Metric, { +// can.reg.in_cap.cap +const C19 = board.add(C_0603_1608Metric, { translate: pt(0.387, 2.211), rotate: 0, - id: 'can_reg_in_cap_cap' + id: 'C19' }) -const can_reg_out_cap_cap = board.add(C_0805_2012Metric, { +// can.reg.out_cap.cap +const C20 = board.add(C_0805_2012Metric, { translate: pt(0.067, 2.221), rotate: 0, - id: 'can_reg_out_cap_cap' + id: 'C20' }) -const can_esd = board.add(SOT_23, { +// can.esd +const U4 = board.add(SOT_23, { translate: pt(0.583, 2.004), rotate: 0, - id: 'can_esd' + id: 'U4' }) -const can_transceiver_ic = board.add(SOP_8_6_62x9_15mm_P2_54mm, { +// can.transceiver.ic +const U5 = board.add(SOP_8_6_62x9_15mm_P2_54mm, { translate: pt(0.234, 1.954), rotate: 0, - id: 'can_transceiver_ic' + id: 'U5' }) -const can_transceiver_logic_cap_cap = board.add(C_0603_1608Metric, { +// can.transceiver.logic_cap.cap +const C21 = board.add(C_0603_1608Metric, { translate: pt(0.543, 2.211), rotate: 0, - id: 'can_transceiver_logic_cap_cap' + id: 'C21' }) -const can_transceiver_can_cap_cap = board.add(C_0603_1608Metric, { +// can.transceiver.can_cap.cap +const C22 = board.add(C_0603_1608Metric, { translate: pt(0.699, 2.211), rotate: 0, - id: 'can_transceiver_can_cap_cap' + id: 'C22' }) -const vsense_div_top_res = board.add(R_0603_1608Metric, { +// vsense.div.top_res +const R5 = board.add(R_0603_1608Metric, { translate: pt(2.283, 1.793), rotate: 0, - id: 'vsense_div_top_res' + id: 'R5' }) -const vsense_div_bottom_res = board.add(R_0603_1608Metric, { +// vsense.div.bottom_res +const R6 = board.add(R_0603_1608Metric, { translate: pt(2.283, 1.889), rotate: 0, - id: 'vsense_div_bottom_res' + id: 'R6' }) -const rgb1_package = board.add(LED_LiteOn_LTST_C19HE1WT, { - translate: pt(1.485, 1.819), rotate: 0, - id: 'rgb1_package' -}) -const rgb1_red_res = board.add(R_0603_1608Metric, { - translate: pt(1.624, 1.793), rotate: 0, - id: 'rgb1_red_res' -}) -const rgb1_green_res = board.add(R_0603_1608Metric, { - translate: pt(1.502, 1.942), rotate: 0, - id: 'rgb1_green_res' -}) -const rgb1_blue_res = board.add(R_0603_1608Metric, { - translate: pt(1.657, 1.942), rotate: 0, - id: 'rgb1_blue_res' -}) -const rgb2_package = board.add(LED_LiteOn_LTST_C19HE1WT, { +// rgb1.package +const D1 = board.add(LED_LiteOn_LTST_C19HE1WT, { translate: pt(1.875, 1.819), rotate: 0, - id: 'rgb2_package' + id: 'D1' }) -const rgb2_red_res = board.add(R_0603_1608Metric, { +// rgb1.red_res +const R7 = board.add(R_0603_1608Metric, { translate: pt(2.014, 1.793), rotate: 0, - id: 'rgb2_red_res' + id: 'R7' }) -const rgb2_green_res = board.add(R_0603_1608Metric, { +// rgb1.green_res +const R8 = board.add(R_0603_1608Metric, { translate: pt(1.892, 1.942), rotate: 0, - id: 'rgb2_green_res' + id: 'R8' }) -const rgb2_blue_res = board.add(R_0603_1608Metric, { +// rgb1.blue_res +const R9 = board.add(R_0603_1608Metric, { translate: pt(2.048, 1.942), rotate: 0, - id: 'rgb2_blue_res' -}) -const light_0__conn = board.add(Molex_DuraClik_vert_4pin, { - translate: pt(0.502, 1.512), rotate: 0, - id: 'light_0__conn' -}) -const light_0__drv_0__pre = board.add(SOT_23, { - translate: pt(0.552, 1.264), rotate: 0, - id: 'light_0__drv_0__pre' -}) -const light_0__drv_0__pull = board.add(R_0603_1608Metric, { - translate: pt(0.249, 1.541), rotate: 0, - id: 'light_0__drv_0__pull' -}) -const light_0__drv_0__drv = board.add(TO_252_2, { - translate: pt(0.252, 1.020), rotate: 0, - id: 'light_0__drv_0__drv' -}) -const light_0__drv_1__pre = board.add(SOT_23, { - translate: pt(0.076, 1.579), rotate: 0, - id: 'light_0__drv_1__pre' -}) -const light_0__drv_1__pull = board.add(R_0603_1608Metric, { - translate: pt(0.405, 1.541), rotate: 0, - id: 'light_0__drv_1__pull' + id: 'R9' }) -const light_0__drv_1__drv = board.add(TO_252_2, { - translate: pt(0.252, 1.335), rotate: 0, - id: 'light_0__drv_1__drv' -}) -const light_1__conn = board.add(Molex_DuraClik_vert_4pin, { - translate: pt(1.248, 1.512), rotate: 0, - id: 'light_1__conn' -}) -const light_1__drv_0__pre = board.add(SOT_23, { - translate: pt(1.298, 1.264), rotate: 0, - id: 'light_1__drv_0__pre' -}) -const light_1__drv_0__pull = board.add(R_0603_1608Metric, { - translate: pt(0.994, 1.541), rotate: 0, - id: 'light_1__drv_0__pull' -}) -const light_1__drv_0__drv = board.add(TO_252_2, { - translate: pt(0.997, 1.020), rotate: 0, - id: 'light_1__drv_0__drv' +// rgb2.package +const D2 = board.add(LED_LiteOn_LTST_C19HE1WT, { + translate: pt(1.485, 1.819), rotate: 0, + id: 'D2' }) -const light_1__drv_1__pre = board.add(SOT_23, { - translate: pt(0.821, 1.579), rotate: 0, - id: 'light_1__drv_1__pre' +// rgb2.red_res +const R10 = board.add(R_0603_1608Metric, { + translate: pt(1.624, 1.793), rotate: 0, + id: 'R10' }) -const light_1__drv_1__pull = board.add(R_0603_1608Metric, { - translate: pt(1.150, 1.541), rotate: 0, - id: 'light_1__drv_1__pull' +// rgb2.green_res +const R11 = board.add(R_0603_1608Metric, { + translate: pt(1.502, 1.942), rotate: 0, + id: 'R11' }) -const light_1__drv_1__drv = board.add(TO_252_2, { - translate: pt(0.997, 1.335), rotate: 0, - id: 'light_1__drv_1__drv' +// rgb2.blue_res +const R12 = board.add(R_0603_1608Metric, { + translate: pt(1.657, 1.942), rotate: 0, + id: 'R12' }) -const light_2__conn = board.add(Molex_DuraClik_vert_4pin, { +// light[0].conn +const J4 = board.add(Molex_DuraClik_vert_4pin, { translate: pt(1.248, 0.630), rotate: 0, - id: 'light_2__conn' + id: 'J4' }) -const light_2__drv_0__pre = board.add(SOT_23, { +// light[0].drv[0].pre +const Q1 = board.add(SOT_23, { translate: pt(1.298, 0.382), rotate: 0, - id: 'light_2__drv_0__pre' + id: 'Q1' }) -const light_2__drv_0__pull = board.add(R_0603_1608Metric, { +// light[0].drv[0].pull +const R13 = board.add(R_0603_1608Metric, { translate: pt(0.994, 0.659), rotate: 0, - id: 'light_2__drv_0__pull' + id: 'R13' }) -const light_2__drv_0__drv = board.add(TO_252_2, { +// light[0].drv[0].drv +const Q2 = board.add(TO_252_2, { translate: pt(0.997, 0.138), rotate: 0, - id: 'light_2__drv_0__drv' + id: 'Q2' }) -const light_2__drv_1__pre = board.add(SOT_23, { +// light[0].drv[1].pre +const Q3 = board.add(SOT_23, { translate: pt(0.821, 0.697), rotate: 0, - id: 'light_2__drv_1__pre' + id: 'Q3' }) -const light_2__drv_1__pull = board.add(R_0603_1608Metric, { +// light[0].drv[1].pull +const R14 = board.add(R_0603_1608Metric, { translate: pt(1.150, 0.659), rotate: 0, - id: 'light_2__drv_1__pull' + id: 'R14' }) -const light_2__drv_1__drv = board.add(TO_252_2, { +// light[0].drv[1].drv +const Q4 = board.add(TO_252_2, { translate: pt(0.997, 0.453), rotate: 0, - id: 'light_2__drv_1__drv' + id: 'Q4' }) -const light_3__conn = board.add(Molex_DuraClik_vert_4pin, { +// light[1].conn +const J5 = board.add(Molex_DuraClik_vert_4pin, { translate: pt(0.502, 0.630), rotate: 0, - id: 'light_3__conn' + id: 'J5' }) -const light_3__drv_0__pre = board.add(SOT_23, { +// light[1].drv[0].pre +const Q5 = board.add(SOT_23, { translate: pt(0.552, 0.382), rotate: 0, - id: 'light_3__drv_0__pre' + id: 'Q5' }) -const light_3__drv_0__pull = board.add(R_0603_1608Metric, { +// light[1].drv[0].pull +const R15 = board.add(R_0603_1608Metric, { translate: pt(0.249, 0.659), rotate: 0, - id: 'light_3__drv_0__pull' + id: 'R15' }) -const light_3__drv_0__drv = board.add(TO_252_2, { +// light[1].drv[0].drv +const Q6 = board.add(TO_252_2, { translate: pt(0.252, 0.138), rotate: 0, - id: 'light_3__drv_0__drv' + id: 'Q6' }) -const light_3__drv_1__pre = board.add(SOT_23, { +// light[1].drv[1].pre +const Q7 = board.add(SOT_23, { translate: pt(0.076, 0.697), rotate: 0, - id: 'light_3__drv_1__pre' + id: 'Q7' }) -const light_3__drv_1__pull = board.add(R_0603_1608Metric, { +// light[1].drv[1].pull +const R16 = board.add(R_0603_1608Metric, { translate: pt(0.405, 0.659), rotate: 0, - id: 'light_3__drv_1__pull' + id: 'R16' }) -const light_3__drv_1__drv = board.add(TO_252_2, { +// light[1].drv[1].drv +const Q8 = board.add(TO_252_2, { translate: pt(0.252, 0.453), rotate: 0, - id: 'light_3__drv_1__drv' + id: 'Q8' }) -const light_4__conn = board.add(Molex_DuraClik_vert_4pin, { - translate: pt(2.739, 0.630), rotate: 0, - id: 'light_4__conn' +// light[2].conn +const J6 = board.add(Molex_DuraClik_vert_4pin, { + translate: pt(1.248, 1.512), rotate: 0, + id: 'J6' }) -const light_4__drv_0__pre = board.add(SOT_23, { - translate: pt(2.789, 0.382), rotate: 0, - id: 'light_4__drv_0__pre' +// light[2].drv[0].pre +const Q9 = board.add(SOT_23, { + translate: pt(1.298, 1.264), rotate: 0, + id: 'Q9' }) -const light_4__drv_0__pull = board.add(R_0603_1608Metric, { - translate: pt(2.486, 0.659), rotate: 0, - id: 'light_4__drv_0__pull' +// light[2].drv[0].pull +const R17 = board.add(R_0603_1608Metric, { + translate: pt(0.994, 1.541), rotate: 0, + id: 'R17' }) -const light_4__drv_0__drv = board.add(TO_252_2, { - translate: pt(2.489, 0.138), rotate: 0, - id: 'light_4__drv_0__drv' +// light[2].drv[0].drv +const Q10 = board.add(TO_252_2, { + translate: pt(0.997, 1.020), rotate: 0, + id: 'Q10' }) -const light_4__drv_1__pre = board.add(SOT_23, { - translate: pt(2.313, 0.697), rotate: 0, - id: 'light_4__drv_1__pre' +// light[2].drv[1].pre +const Q11 = board.add(SOT_23, { + translate: pt(0.821, 1.579), rotate: 0, + id: 'Q11' }) -const light_4__drv_1__pull = board.add(R_0603_1608Metric, { - translate: pt(2.642, 0.659), rotate: 0, - id: 'light_4__drv_1__pull' +// light[2].drv[1].pull +const R18 = board.add(R_0603_1608Metric, { + translate: pt(1.150, 1.541), rotate: 0, + id: 'R18' }) -const light_4__drv_1__drv = board.add(TO_252_2, { - translate: pt(2.489, 0.453), rotate: 0, - id: 'light_4__drv_1__drv' +// light[2].drv[1].drv +const Q12 = board.add(TO_252_2, { + translate: pt(0.997, 1.335), rotate: 0, + id: 'Q12' }) -const light_5__conn = board.add(Molex_DuraClik_vert_4pin, { +// light[3].conn +const J7 = board.add(Molex_DuraClik_vert_4pin, { translate: pt(1.994, 0.630), rotate: 0, - id: 'light_5__conn' + id: 'J7' }) -const light_5__drv_0__pre = board.add(SOT_23, { +// light[3].drv[0].pre +const Q13 = board.add(SOT_23, { translate: pt(2.043, 0.382), rotate: 0, - id: 'light_5__drv_0__pre' + id: 'Q13' }) -const light_5__drv_0__pull = board.add(R_0603_1608Metric, { +// light[3].drv[0].pull +const R19 = board.add(R_0603_1608Metric, { translate: pt(1.740, 0.659), rotate: 0, - id: 'light_5__drv_0__pull' + id: 'R19' }) -const light_5__drv_0__drv = board.add(TO_252_2, { +// light[3].drv[0].drv +const Q14 = board.add(TO_252_2, { translate: pt(1.743, 0.138), rotate: 0, - id: 'light_5__drv_0__drv' + id: 'Q14' }) -const light_5__drv_1__pre = board.add(SOT_23, { +// light[3].drv[1].pre +const Q15 = board.add(SOT_23, { translate: pt(1.567, 0.697), rotate: 0, - id: 'light_5__drv_1__pre' + id: 'Q15' }) -const light_5__drv_1__pull = board.add(R_0603_1608Metric, { +// light[3].drv[1].pull +const R20 = board.add(R_0603_1608Metric, { translate: pt(1.896, 0.659), rotate: 0, - id: 'light_5__drv_1__pull' + id: 'R20' }) -const light_5__drv_1__drv = board.add(TO_252_2, { +// light[3].drv[1].drv +const Q16 = board.add(TO_252_2, { translate: pt(1.743, 0.453), rotate: 0, - id: 'light_5__drv_1__drv' + id: 'Q16' +}) +// light[4].conn +const J8 = board.add(Molex_DuraClik_vert_4pin, { + translate: pt(2.739, 0.630), rotate: 0, + id: 'J8' +}) +// light[4].drv[0].pre +const Q17 = board.add(SOT_23, { + translate: pt(2.789, 0.382), rotate: 0, + id: 'Q17' +}) +// light[4].drv[0].pull +const R21 = board.add(R_0603_1608Metric, { + translate: pt(2.486, 0.659), rotate: 0, + id: 'R21' +}) +// light[4].drv[0].drv +const Q18 = board.add(TO_252_2, { + translate: pt(2.489, 0.138), rotate: 0, + id: 'Q18' +}) +// light[4].drv[1].pre +const Q19 = board.add(SOT_23, { + translate: pt(2.313, 0.697), rotate: 0, + id: 'Q19' }) +// light[4].drv[1].pull +const R22 = board.add(R_0603_1608Metric, { + translate: pt(2.642, 0.659), rotate: 0, + id: 'R22' +}) +// light[4].drv[1].drv +const Q20 = board.add(TO_252_2, { + translate: pt(2.489, 0.453), rotate: 0, + id: 'Q20' +}) +// light[5].conn +const J9 = board.add(Molex_DuraClik_vert_4pin, { + translate: pt(0.502, 1.512), rotate: 0, + id: 'J9' +}) +// light[5].drv[0].pre +const Q21 = board.add(SOT_23, { + translate: pt(0.552, 1.264), rotate: 0, + id: 'Q21' +}) +// light[5].drv[0].pull +const R23 = board.add(R_0603_1608Metric, { + translate: pt(0.249, 1.541), rotate: 0, + id: 'R23' +}) +// light[5].drv[0].drv +const Q22 = board.add(TO_252_2, { + translate: pt(0.252, 1.020), rotate: 0, + id: 'Q22' +}) +// light[5].drv[1].pre +const Q23 = board.add(SOT_23, { + translate: pt(0.076, 1.579), rotate: 0, + id: 'Q23' +}) +// light[5].drv[1].pull +const R24 = board.add(R_0603_1608Metric, { + translate: pt(0.405, 1.541), rotate: 0, + id: 'R24' +}) +// light[5].drv[1].drv +const Q24 = board.add(TO_252_2, { + translate: pt(0.252, 1.335), rotate: 0, + id: 'Q24' +}) + +board.setNetlist([ + {name: "vin", pads: [["J1", "2"], ["U1", "3"], ["R5", "1"], ["U1", "5"], ["J4", "1"], ["J5", "1"], ["J6", "1"], ["J7", "1"], ["J8", "1"], ["J9", "1"], ["C1", "1"], ["C3", "1"], ["R13", "1"], ["Q2", "3"], ["R14", "1"], ["Q4", "3"], ["R15", "1"], ["Q6", "3"], ["R16", "1"], ["Q8", "3"], ["R17", "1"], ["Q10", "3"], ["R18", "1"], ["Q12", "3"], ["R19", "1"], ["Q14", "3"], ["R20", "1"], ["Q16", "3"], ["R21", "1"], ["Q18", "3"], ["R22", "1"], ["Q20", "3"], ["R23", "1"], ["Q22", "3"], ["R24", "1"], ["Q24", "3"]]}, + {name: "gnd", pads: [["J1", "1"], ["J1", "3"], ["U1", "1"], ["U2", "17"], ["U2", "11"], ["U2", "20"], ["U2", "40"], ["U2", "41"], ["J4", "4"], ["J5", "4"], ["J6", "4"], ["J7", "4"], ["J8", "4"], ["J9", "4"], ["U5", "4"], ["R6", "2"], ["C1", "2"], ["C5", "2"], ["C6", "2"], ["C7", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["C11", "2"], ["C12", "2"], ["C13", "2"], ["C14", "2"], ["C15", "2"], ["C16", "2"], ["X1", "2"], ["X1", "4"], ["Q1", "2"], ["Q3", "2"], ["Q5", "2"], ["Q7", "2"], ["Q9", "2"], ["Q11", "2"], ["Q13", "2"], ["Q15", "2"], ["Q17", "2"], ["Q19", "2"], ["Q21", "2"], ["Q23", "2"], ["R2", "2"], ["R4", "1"], ["C21", "2"], ["J2", "3"], ["J2", "5"], ["J2", "9"], ["C17", "2"], ["C18", "2"], ["C3", "2"], ["C4", "2"]]}, + {name: "v3v3", pads: [["U2", "16"], ["U2", "10"], ["U2", "14"], ["U2", "30"], ["U2", "27"], ["U2", "39"], ["U2", "42"], ["D1", "2"], ["D2", "2"], ["U5", "1"], ["R1", "1"], ["J2", "1"], ["C5", "1"], ["C6", "1"], ["C7", "1"], ["C8", "1"], ["C9", "1"], ["C10", "1"], ["C11", "1"], ["C12", "1"], ["C13", "1"], ["C14", "1"], ["C15", "1"], ["C16", "1"], ["R3", "1"], ["C21", "1"], ["L1", "2"], ["C4", "1"]]}, + {name: "can_chain_0.txd", pads: [["U2", "43"], ["U5", "3"]]}, + {name: "can_chain_0.rxd", pads: [["U2", "44"], ["U5", "2"]]}, + {name: "vsense.output", pads: [["U2", "21"], ["R5", "2"], ["R6", "1"]]}, + {name: "mcu.gpio.rgb1_red", pads: [["U2", "28"], ["R7", "2"]]}, + {name: "mcu.gpio.rgb1_green", pads: [["U2", "23"], ["R8", "2"]]}, + {name: "mcu.gpio.rgb1_blue", pads: [["U2", "22"], ["R9", "2"]]}, + {name: "mcu.gpio.rgb2_red", pads: [["U2", "18"], ["R10", "2"]]}, + {name: "mcu.gpio.rgb2_green", pads: [["U2", "15"], ["R11", "2"]]}, + {name: "mcu.gpio.rgb2_blue", pads: [["U2", "13"], ["R12", "2"]]}, + {name: "light[0].control[0]", pads: [["U2", "12"], ["Q1", "1"]]}, + {name: "light[0].control[1]", pads: [["U2", "8"], ["Q3", "1"]]}, + {name: "light[1].control[0]", pads: [["U2", "7"], ["Q5", "1"]]}, + {name: "light[1].control[1]", pads: [["U2", "6"], ["Q7", "1"]]}, + {name: "light[2].control[0]", pads: [["U2", "4"], ["Q9", "1"]]}, + {name: "light[2].control[1]", pads: [["U2", "3"], ["Q11", "1"]]}, + {name: "light[3].control[0]", pads: [["U2", "2"], ["Q13", "1"]]}, + {name: "light[3].control[1]", pads: [["U2", "1"], ["Q15", "1"]]}, + {name: "light[4].control[0]", pads: [["U2", "48"], ["Q17", "1"]]}, + {name: "light[4].control[1]", pads: [["U2", "47"], ["Q19", "1"]]}, + {name: "light[5].control[0]", pads: [["U2", "46"], ["Q21", "1"]]}, + {name: "light[5].control[1]", pads: [["U2", "45"], ["Q23", "1"]]}, + {name: "pwr.fb.output", pads: [["U1", "4"], ["R1", "2"], ["R2", "1"]]}, + {name: "pwr.vbst_cap.neg", pads: [["C2", "2"], ["U1", "2"], ["L1", "1"]]}, + {name: "pwr.vbst_cap.pos", pads: [["C2", "1"], ["U1", "6"]]}, + {name: "mcu.xtal_node.xi", pads: [["U2", "26"], ["X1", "1"], ["C17", "1"]]}, + {name: "mcu.xtal_node.xo", pads: [["U2", "25"], ["X1", "3"], ["C18", "1"]]}, + {name: "mcu.swd_node.swdio", pads: [["U2", "33"], ["J2", "2"], ["R3", "2"]]}, + {name: "mcu.swd_node.swclk", pads: [["U2", "29"], ["J2", "4"], ["R4", "2"]]}, + {name: "mcu.reset_node", pads: [["U2", "34"], ["J2", "10"]]}, + {name: "mcu.swd.swo", pads: [["U2", "9"], ["J2", "6"]]}, + {name: "mcu.swd.tdi", pads: [["J2", "8"]]}, + {name: "mcu.ic.xtal_rtc.xtal_in", pads: [["U2", "31"]]}, + {name: "mcu.ic.xtal_rtc.xtal_out", pads: [["U2", "32"]]}, + {name: "can.can.canh", pads: [["J3", "4"], ["U4", "2"], ["U5", "7"]]}, + {name: "can.can.canl", pads: [["J3", "5"], ["U4", "1"], ["U5", "6"]]}, + {name: "can.conn.pwr", pads: [["J3", "2"], ["F1", "1"]]}, + {name: "can.can_fuse.pwr_out", pads: [["F1", "2"], ["U3", "1"], ["U3", "3"], ["C19", "1"]]}, + {name: "can.conn.gnd", pads: [["J3", "3"], ["U4", "3"], ["U3", "2"], ["U5", "5"], ["C19", "2"], ["C20", "2"], ["C22", "2"]]}, + {name: "can.transceiver.can_pwr", pads: [["U5", "8"], ["U3", "5"], ["C22", "1"], ["C20", "1"]]}, + {name: "rgb1.red_res.a", pads: [["R7", "1"], ["D1", "3"]]}, + {name: "rgb1.green_res.a", pads: [["R8", "1"], ["D1", "4"]]}, + {name: "rgb1.blue_res.a", pads: [["R9", "1"], ["D1", "1"]]}, + {name: "rgb2.red_res.a", pads: [["R10", "1"], ["D2", "3"]]}, + {name: "rgb2.green_res.a", pads: [["R11", "1"], ["D2", "4"]]}, + {name: "rgb2.blue_res.a", pads: [["R12", "1"], ["D2", "1"]]}, + {name: "light[0].drv[0].output", pads: [["J4", "2"], ["Q2", "2"]]}, + {name: "light[0].drv[1].output", pads: [["J4", "3"], ["Q4", "2"]]}, + {name: "light[0].drv[0].pre.drain", pads: [["Q1", "3"], ["R13", "2"], ["Q2", "1"]]}, + {name: "light[0].drv[1].pre.drain", pads: [["Q3", "3"], ["R14", "2"], ["Q4", "1"]]}, + {name: "light[1].drv[0].output", pads: [["J5", "2"], ["Q6", "2"]]}, + {name: "light[1].drv[1].output", pads: [["J5", "3"], ["Q8", "2"]]}, + {name: "light[1].drv[0].pre.drain", pads: [["Q5", "3"], ["R15", "2"], ["Q6", "1"]]}, + {name: "light[1].drv[1].pre.drain", pads: [["Q7", "3"], ["R16", "2"], ["Q8", "1"]]}, + {name: "light[2].drv[0].output", pads: [["J6", "2"], ["Q10", "2"]]}, + {name: "light[2].drv[1].output", pads: [["J6", "3"], ["Q12", "2"]]}, + {name: "light[2].drv[0].pre.drain", pads: [["Q9", "3"], ["R17", "2"], ["Q10", "1"]]}, + {name: "light[2].drv[1].pre.drain", pads: [["Q11", "3"], ["R18", "2"], ["Q12", "1"]]}, + {name: "light[3].drv[0].output", pads: [["J7", "2"], ["Q14", "2"]]}, + {name: "light[3].drv[1].output", pads: [["J7", "3"], ["Q16", "2"]]}, + {name: "light[3].drv[0].pre.drain", pads: [["Q13", "3"], ["R19", "2"], ["Q14", "1"]]}, + {name: "light[3].drv[1].pre.drain", pads: [["Q15", "3"], ["R20", "2"], ["Q16", "1"]]}, + {name: "light[4].drv[0].output", pads: [["J8", "2"], ["Q18", "2"]]}, + {name: "light[4].drv[1].output", pads: [["J8", "3"], ["Q20", "2"]]}, + {name: "light[4].drv[0].pre.drain", pads: [["Q17", "3"], ["R21", "2"], ["Q18", "1"]]}, + {name: "light[4].drv[1].pre.drain", pads: [["Q19", "3"], ["R22", "2"], ["Q20", "1"]]}, + {name: "light[5].drv[0].output", pads: [["J9", "2"], ["Q22", "2"]]}, + {name: "light[5].drv[1].output", pads: [["J9", "3"], ["Q24", "2"]]}, + {name: "light[5].drv[0].pre.drain", pads: [["Q21", "3"], ["R23", "2"], ["Q22", "1"]]}, + {name: "light[5].drv[1].pre.drain", pads: [["Q23", "3"], ["R24", "2"], ["Q24", "1"]]} +]) const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(2.9826771653543305, 2.4173228346456694); diff --git a/examples/IotDisplay/IotDisplay.svgpcb.js b/examples/IotDisplay/IotDisplay.svgpcb.js index 15b244b81..c3c725c23 100644 --- a/examples/IotDisplay/IotDisplay.svgpcb.js +++ b/examples/IotDisplay/IotDisplay.svgpcb.js @@ -1,306 +1,442 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const H1 = board.add(JlcToolingHole_1_152mm, { translate: pt(3.002, 2.210), rotate: 0, - id: 'jlc_th_th1' + id: 'H1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const H2 = board.add(JlcToolingHole_1_152mm, { translate: pt(3.041, 2.210), rotate: 0, - id: 'jlc_th_th2' + id: 'H2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const H3 = board.add(JlcToolingHole_1_152mm, { translate: pt(3.002, 2.249), rotate: 0, - id: 'jlc_th_th3' + id: 'H3' }) -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(0.209, 1.905), rotate: 0, - id: 'usb_conn' + id: 'J1' }) -const batt_conn = board.add(JST_PH_S2B_PH_K_1x02_P2_00mm_Horizontal, { +// batt.conn +const J2 = board.add(JST_PH_S2B_PH_K_1x02_P2_00mm_Horizontal, { translate: pt(0.633, 2.006), rotate: 0, - id: 'batt_conn' + id: 'J2' }) -const tp_pwr_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.625, 2.247), rotate: 0, - id: 'tp_pwr_tp' +// tp_pwr.tp +const TP1 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.876, 2.247), rotate: 0, + id: 'TP1' }) -const tp_gnd_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.375, 2.247), rotate: 0, - id: 'tp_gnd_tp' +// tp_gnd.tp +const TP2 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.124, 2.247), rotate: 0, + id: 'TP2' }) -const vbat_prot_fet = board.add(SOT_23, { +// vbat_prot.fet +const Q1 = board.add(SOT_23, { translate: pt(0.614, 2.277), rotate: 0, - id: 'vbat_prot_fet' + id: 'Q1' }) -const reg_3v3_ic = board.add(SOT_23_6, { +// reg_3v3.ic +const U1 = board.add(SOT_23_6, { translate: pt(3.419, 0.952), rotate: 0, - id: 'reg_3v3_ic' + id: 'U1' }) -const reg_3v3_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg_3v3.fb.div.top_res +const R1 = board.add(R_0603_1608Metric, { translate: pt(3.570, 1.131), rotate: 0, - id: 'reg_3v3_fb_div_top_res' + id: 'R1' }) -const reg_3v3_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg_3v3.fb.div.bottom_res +const R2 = board.add(R_0603_1608Metric, { translate: pt(3.176, 1.261), rotate: 0, - id: 'reg_3v3_fb_div_bottom_res' + id: 'R2' }) -const reg_3v3_hf_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_3v3.hf_in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(3.332, 1.261), rotate: 0, - id: 'reg_3v3_hf_in_cap_cap' + id: 'C1' }) -const reg_3v3_boot_cap = board.add(C_0603_1608Metric, { +// reg_3v3.boot_cap +const C2 = board.add(C_0603_1608Metric, { translate: pt(3.488, 1.261), rotate: 0, - id: 'reg_3v3_boot_cap' + id: 'C2' }) -const reg_3v3_power_path_inductor = board.add(L_Sunlord_SWPA4030S, { +// reg_3v3.power_path.inductor +const L1 = board.add(L_Sunlord_SWPA4030S, { translate: pt(3.209, 0.974), rotate: 0, - id: 'reg_3v3_power_path_inductor' + id: 'L1' }) -const reg_3v3_power_path_in_cap_cap = board.add(C_1206_3216Metric, { +// reg_3v3.power_path.in_cap.cap +const C3 = board.add(C_1206_3216Metric, { translate: pt(3.209, 1.147), rotate: 0, - id: 'reg_3v3_power_path_in_cap_cap' + id: 'C3' }) -const reg_3v3_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg_3v3.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { translate: pt(3.406, 1.141), rotate: 0, - id: 'reg_3v3_power_path_out_cap_cap' + id: 'C4' }) -const reg_3v3_en_res = board.add(R_0603_1608Metric, { +// reg_3v3.en_res +const R3 = board.add(R_0603_1608Metric, { translate: pt(3.176, 1.357), rotate: 0, - id: 'reg_3v3_en_res' + id: 'R3' }) -const tp_3v3_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.376, 2.247), rotate: 0, - id: 'tp_3v3_tp' +// tp_3v3.tp +const TP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.126, 2.247), rotate: 0, + id: 'TP3' }) -const vbat_sense_gate_pre = board.add(SOT_23, { +// vbat_sense_gate.pre +const Q2 = board.add(SOT_23, { translate: pt(1.487, 1.807), rotate: 0, - id: 'vbat_sense_gate_pre' + id: 'Q2' }) -const vbat_sense_gate_pull = board.add(R_0603_1608Metric, { +// vbat_sense_gate.pull +const R4 = board.add(R_0603_1608Metric, { translate: pt(1.660, 1.942), rotate: 0, - id: 'vbat_sense_gate_pull' + id: 'R4' }) -const vbat_sense_gate_drv = board.add(SOT_23, { +// vbat_sense_gate.drv +const Q3 = board.add(SOT_23, { translate: pt(1.487, 1.980), rotate: 0, - id: 'vbat_sense_gate_drv' + id: 'Q3' }) -const mcu_ic = board.add(ESP32_S3_WROOM_1, { +// mcu.ic +const U2 = board.add(ESP32_S3_WROOM_1, { translate: pt(0.945, 0.530), rotate: 0, - id: 'mcu_ic' + id: 'U2' }) -const mcu_vcc_cap0_cap = board.add(C_1206_3216Metric, { +// mcu.vcc_cap0.cap +const C5 = board.add(C_1206_3216Metric, { translate: pt(2.020, 0.683), rotate: 0, - id: 'mcu_vcc_cap0_cap' + id: 'C5' }) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// mcu.vcc_cap1.cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(2.208, 0.667), rotate: 0, - id: 'mcu_vcc_cap1_cap' + id: 'C6' }) -const mcu_prog_conn = board.add(Tag_Connect_TC2030_IDC_FP_2x03_P1_27mm_Vertical, { +// mcu.prog.conn +const J3 = board.add(Tag_Connect_TC2030_IDC_FP_2x03_P1_27mm_Vertical, { translate: pt(2.096, 0.167), rotate: 0, - id: 'mcu_prog_conn' + id: 'J3' }) -const mcu_boot_package = board.add(SW_SPST_SKQG_WithoutStem, { +// mcu.boot.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(2.096, 0.486), rotate: 0, - id: 'mcu_boot_package' + id: 'SW1' }) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { +// mcu.en_pull.rc.r +const R5 = board.add(R_0603_1608Metric, { translate: pt(2.364, 0.667), rotate: 0, - id: 'mcu_en_pull_rc_r' + id: 'R5' }) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { +// mcu.en_pull.rc.c +const C7 = board.add(C_0603_1608Metric, { translate: pt(1.987, 0.796), rotate: 0, - id: 'mcu_en_pull_rc_c' + id: 'C7' }) -const usb_esd = board.add(SOT_23, { +// usb_esd +const U3 = board.add(SOT_23, { translate: pt(2.887, 2.277), rotate: 0, - id: 'usb_esd' -}) -const ledr_package = board.add(LED_0603_1608Metric, { - translate: pt(2.848, 1.769), rotate: 0, - id: 'ledr_package' -}) -const ledr_res = board.add(R_0603_1608Metric, { - translate: pt(2.848, 1.866), rotate: 0, - id: 'ledr_res' + id: 'U3' }) -const ledg_package = board.add(LED_0603_1608Metric, { +// ledr.package +const D1 = board.add(LED_0603_1608Metric, { translate: pt(3.318, 1.769), rotate: 0, - id: 'ledg_package' + id: 'D1' }) -const ledg_res = board.add(R_0603_1608Metric, { +// ledr.res +const R6 = board.add(R_0603_1608Metric, { translate: pt(3.318, 1.866), rotate: 0, - id: 'ledg_res' + id: 'R6' +}) +// ledg.package +const D2 = board.add(LED_0603_1608Metric, { + translate: pt(2.848, 1.769), rotate: 0, + id: 'D2' +}) +// ledg.res +const R7 = board.add(R_0603_1608Metric, { + translate: pt(2.848, 1.866), rotate: 0, + id: 'R7' }) -const ledb_package = board.add(LED_0603_1608Metric, { +// ledb.package +const D3 = board.add(LED_0603_1608Metric, { translate: pt(3.083, 1.769), rotate: 0, - id: 'ledb_package' + id: 'D3' }) -const ledb_res = board.add(R_0603_1608Metric, { +// ledb.res +const R8 = board.add(R_0603_1608Metric, { translate: pt(3.083, 1.866), rotate: 0, - id: 'ledb_res' + id: 'R8' }) -const sw_package = board.add(SW_SPST_SKQG_WithoutStem, { +// sw.package +const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(2.504, 1.852), rotate: 0, - id: 'sw_package' + id: 'SW2' }) -const vbat_sense_div_top_res = board.add(R_0603_1608Metric, { +// vbat_sense.div.top_res +const R9 = board.add(R_0603_1608Metric, { translate: pt(3.553, 1.769), rotate: 0, - id: 'vbat_sense_div_top_res' + id: 'R9' }) -const vbat_sense_div_bottom_res = board.add(R_0603_1608Metric, { +// vbat_sense.div.bottom_res +const R10 = board.add(R_0603_1608Metric, { translate: pt(3.553, 1.866), rotate: 0, - id: 'vbat_sense_div_bottom_res' + id: 'R10' }) -const touch_duck = board.add(Symbol_DucklingSolid, { +// touch_duck +const U4 = board.add(Symbol_DucklingSolid, { translate: pt(3.159, 2.210), rotate: 0, - id: 'touch_duck' + id: 'U4' }) -const touch_lemur = board.add(Symbol_LemurSolid, { +// touch_lemur +const U5 = board.add(Symbol_LemurSolid, { translate: pt(3.198, 2.210), rotate: 0, - id: 'touch_lemur' + id: 'U5' }) -const epd_gate_drv = board.add(SOT_23, { - translate: pt(0.076, 2.277), rotate: 0, - id: 'epd_gate_drv' -}) -const mem_gate_drv = board.add(SOT_23, { +// epd_gate.drv +const Q4 = board.add(SOT_23, { translate: pt(0.345, 2.277), rotate: 0, - id: 'mem_gate_drv' + id: 'Q4' +}) +// mem_gate.drv +const Q5 = board.add(SOT_23, { + translate: pt(0.076, 2.277), rotate: 0, + id: 'Q5' }) -const epd_device_conn_conn = board.add(TE_2_1734839_4_1x24_1MP_P0_5mm_Horizontal, { +// epd.device.conn.conn +const J4 = board.add(TE_2_1734839_4_1x24_1MP_P0_5mm_Horizontal, { translate: pt(2.903, 0.167), rotate: 0, - id: 'epd_device_conn_conn' + id: 'J4' }) -const epd_vdd_cap_cap = board.add(C_0603_1608Metric, { +// epd.vdd_cap.cap +const C8 = board.add(C_0603_1608Metric, { translate: pt(2.930, 0.624), rotate: 0, - id: 'epd_vdd_cap_cap' + id: 'C8' }) -const epd_vdd1v8_cap_cap = board.add(C_0603_1608Metric, { +// epd.vdd1v8_cap.cap +const C9 = board.add(C_0603_1608Metric, { translate: pt(3.086, 0.624), rotate: 0, - id: 'epd_vdd1v8_cap_cap' + id: 'C9' }) -const epd_vgl_cap_cap = board.add(C_0603_1608Metric, { +// epd.vgl_cap.cap +const C10 = board.add(C_0603_1608Metric, { translate: pt(3.242, 0.624), rotate: 0, - id: 'epd_vgl_cap_cap' + id: 'C10' }) -const epd_vgh_cap_cap = board.add(C_1206_3216Metric, { +// epd.vgh_cap.cap +const C11 = board.add(C_1206_3216Metric, { translate: pt(2.850, 0.346), rotate: 0, - id: 'epd_vgh_cap_cap' + id: 'C11' }) -const epd_vsh_cap_cap = board.add(C_1206_3216Metric, { +// epd.vsh_cap.cap +const C12 = board.add(C_1206_3216Metric, { translate: pt(3.070, 0.346), rotate: 0, - id: 'epd_vsh_cap_cap' + id: 'C12' }) -const epd_vsl_cap_cap = board.add(C_1206_3216Metric, { +// epd.vsl_cap.cap +const C13 = board.add(C_1206_3216Metric, { translate: pt(3.291, 0.346), rotate: 0, - id: 'epd_vsl_cap_cap' + id: 'C13' }) -const epd_vcom_cap_cap = board.add(C_0603_1608Metric, { +// epd.vcom_cap.cap +const C14 = board.add(C_0603_1608Metric, { translate: pt(3.398, 0.624), rotate: 0, - id: 'epd_vcom_cap_cap' + id: 'C14' }) -const epd_boost_fet = board.add(SOT_23, { +// epd.boost.fet +const Q6 = board.add(SOT_23, { translate: pt(3.381, 0.067), rotate: 0, - id: 'epd_boost_fet' + id: 'Q6' }) -const epd_boost_inductor = board.add(L_1210_3225Metric, { +// epd.boost.inductor +const L2 = board.add(L_1210_3225Metric, { translate: pt(2.630, 0.363), rotate: 0, - id: 'epd_boost_inductor' + id: 'L2' }) -const epd_boost_sense = board.add(R_0603_1608Metric, { +// epd.boost.sense +const R11 = board.add(R_0603_1608Metric, { translate: pt(2.598, 0.738), rotate: 0, - id: 'epd_boost_sense' + id: 'R11' }) -const epd_boost_in_cap_cap = board.add(C_0805_2012Metric, { +// epd.boost.in_cap.cap +const C15 = board.add(C_0805_2012Metric, { translate: pt(3.269, 0.504), rotate: 0, - id: 'epd_boost_in_cap_cap' + id: 'C15' }) -const epd_boost_diode = board.add(D_SOD_323, { +// epd.boost.diode +const D4 = board.add(D_SOD_323, { translate: pt(3.438, 0.502), rotate: 0, - id: 'epd_boost_diode' + id: 'D4' }) -const epd_boost_boot_neg_diode = board.add(D_SOD_323, { +// epd.boost.boot_neg_diode +const D5 = board.add(D_SOD_323, { translate: pt(2.604, 0.632), rotate: 0, - id: 'epd_boost_boot_neg_diode' + id: 'D5' }) -const epd_boost_boot_gnd_diode = board.add(D_SOD_323, { +// epd.boost.boot_gnd_diode +const D6 = board.add(D_SOD_323, { translate: pt(2.769, 0.632), rotate: 0, - id: 'epd_boost_boot_gnd_diode' + id: 'D6' }) -const epd_boost_boot_cap = board.add(C_1206_3216Metric, { +// epd.boost.boot_cap +const C16 = board.add(C_1206_3216Metric, { translate: pt(2.631, 0.510), rotate: 0, - id: 'epd_boost_boot_cap' + id: 'C16' }) -const epd_boost_out_cap_cap = board.add(C_1206_3216Metric, { +// epd.boost.out_cap.cap +const C17 = board.add(C_1206_3216Metric, { translate: pt(2.851, 0.510), rotate: 0, - id: 'epd_boost_out_cap_cap' + id: 'C17' }) -const epd_boost_neg_out_cap_cap = board.add(C_1206_3216Metric, { +// epd.boost.neg_out_cap.cap +const C18 = board.add(C_1206_3216Metric, { translate: pt(3.072, 0.510), rotate: 0, - id: 'epd_boost_neg_out_cap_cap' + id: 'C18' }) -const epd_gate_pdr = board.add(R_0603_1608Metric, { +// epd.gate_pdr +const R12 = board.add(R_0603_1608Metric, { translate: pt(2.754, 0.738), rotate: 0, - id: 'epd_gate_pdr' + id: 'R12' }) -const tp_epd_tp_sck_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_epd.tp_sck.tp +const TP4 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.902, 1.778), rotate: 0, - id: 'tp_epd_tp_sck_tp' + id: 'TP4' }) -const tp_epd_tp_mosi_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_epd.tp_mosi.tp +const TP5 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.902, 1.892), rotate: 0, - id: 'tp_epd_tp_mosi_tp' + id: 'TP5' }) -const tp_epd_tp_miso_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_epd.tp_miso.tp +const TP6 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.902, 2.006), rotate: 0, - id: 'tp_epd_tp_miso_tp' + id: 'TP6' }) -const tp_erst_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.124, 2.247), rotate: 0, - id: 'tp_erst_tp' +// tp_erst.tp +const TP7 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.625, 2.247), rotate: 0, + id: 'TP7' }) -const tp_dc_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.126, 2.247), rotate: 0, - id: 'tp_dc_tp' +// tp_dc.tp +const TP8 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.627, 2.247), rotate: 0, + id: 'TP8' }) -const tp_epd_cs_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_epd_cs.tp +const TP9 = board.add(TestPoint_TE_RCT_0805, { translate: pt(0.874, 2.247), rotate: 0, - id: 'tp_epd_cs_tp' + id: 'TP9' }) -const tp_busy_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.627, 2.247), rotate: 0, - id: 'tp_busy_tp' +// tp_busy.tp +const TP10 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.375, 2.247), rotate: 0, + id: 'TP10' }) -const sd = board.add(microSD_HC_Molex_104031_0811, { +// sd +const J5 = board.add(microSD_HC_Molex_104031_0811, { translate: pt(2.809, 1.143), rotate: 0, - id: 'sd' + id: 'J5' }) -const flash_ic = board.add(SOIC_8_5_23x5_23mm_P1_27mm, { +// flash.ic +const U6 = board.add(SOIC_8_5_23x5_23mm_P1_27mm, { translate: pt(1.110, 1.853), rotate: 0, - id: 'flash_ic' + id: 'U6' }) -const flash_vcc_cap_cap = board.add(C_0603_1608Metric, { +// flash.vcc_cap.cap +const C19 = board.add(C_0603_1608Metric, { translate: pt(0.985, 2.033), rotate: 0, - id: 'flash_vcc_cap_cap' + id: 'C19' }) -const tp_sd_tp_sck_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_sd.tp_sck.tp +const TP11 = board.add(TestPoint_TE_RCT_0805, { translate: pt(2.153, 1.778), rotate: 0, - id: 'tp_sd_tp_sck_tp' + id: 'TP11' }) -const tp_sd_tp_mosi_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_sd.tp_mosi.tp +const TP12 = board.add(TestPoint_TE_RCT_0805, { translate: pt(2.153, 1.892), rotate: 0, - id: 'tp_sd_tp_mosi_tp' + id: 'TP12' }) -const tp_sd_tp_miso_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_sd.tp_miso.tp +const TP13 = board.add(TestPoint_TE_RCT_0805, { translate: pt(2.153, 2.006), rotate: 0, - id: 'tp_sd_tp_miso_tp' + id: 'TP13' }) -const tp_sd_cs_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.876, 2.247), rotate: 0, - id: 'tp_sd_cs_tp' +// tp_sd_cs.tp +const TP14 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.376, 2.247), rotate: 0, + id: 'TP14' }) +board.setNetlist([ + {name: "gnd", pads: [["U3", "3"], ["J5", "6"], ["J5", "11"], ["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["J2", "1"], ["TP2", "1"], ["Q1", "1"], ["U1", "1"], ["Q2", "2"], ["U2", "1"], ["U2", "40"], ["U2", "41"], ["R6", "2"], ["R7", "2"], ["R8", "2"], ["SW2", "2"], ["U6", "4"], ["R10", "2"], ["J1", "S1"], ["R12", "2"], ["C1", "2"], ["C5", "2"], ["C6", "2"], ["J3", "5"], ["SW1", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["C11", "2"], ["C12", "2"], ["C13", "2"], ["C14", "2"], ["C19", "2"], ["R2", "2"], ["C7", "2"], ["J4", "8"], ["R11", "2"], ["D6", "1"], ["C3", "2"], ["C4", "2"], ["C15", "2"], ["C17", "2"], ["C18", "2"], ["J4", "17"]]}, + {name: "vbat", pads: [["Q1", "2"], ["U1", "3"], ["R4", "1"], ["Q3", "2"], ["R3", "1"], ["C1", "1"], ["C3", "1"]]}, + {name: "v3v3", pads: [["TP3", "1"], ["U2", "2"], ["Q4", "2"], ["Q5", "2"], ["R1", "1"], ["C5", "1"], ["C6", "1"], ["J3", "1"], ["R5", "1"], ["L1", "2"], ["C4", "1"]]}, + {name: "batt.pwr", pads: [["J2", "2"], ["TP1", "1"], ["Q1", "3"]]}, + {name: "usb_chain_0.d_P", pads: [["J1", "A6"], ["J1", "B6"], ["U3", "2"], ["U2", "14"]]}, + {name: "usb_chain_0.d_N", pads: [["J1", "A7"], ["J1", "B7"], ["U3", "1"], ["U2", "13"]]}, + {name: "ledr.signal", pads: [["U2", "39"], ["D1", "2"]]}, + {name: "ledg.signal", pads: [["U2", "38"], ["D2", "2"]]}, + {name: "ledb.signal", pads: [["U2", "4"], ["D3", "2"]]}, + {name: "sw.out", pads: [["U2", "5"], ["SW2", "1"]]}, + {name: "vbat_sense_gate.control", pads: [["U2", "6"], ["Q2", "1"]]}, + {name: "vbat_sense_gate.output", pads: [["Q3", "3"], ["R9", "1"]]}, + {name: "vbat_sense.output", pads: [["U2", "7"], ["R9", "2"], ["R10", "1"]]}, + {name: "touch_duck.pad", pads: [["U2", "21"], ["U4", "1"]]}, + {name: "touch_lemur.pad", pads: [["U2", "22"], ["U5", "1"]]}, + {name: "epd_gate.control", pads: [["U2", "10"], ["Q4", "1"]]}, + {name: "mem_gate.control", pads: [["U2", "23"], ["Q5", "1"]]}, + {name: "epd_gate.output", pads: [["Q4", "3"], ["C8", "1"], ["J4", "9"], ["J4", "10"], ["L2", "1"], ["C15", "1"]]}, + {name: "tp_epd.io.sck", pads: [["U2", "33"], ["TP4", "1"], ["J4", "12"]]}, + {name: "tp_epd.io.mosi", pads: [["U2", "35"], ["TP5", "1"], ["J4", "11"]]}, + {name: "tp_epd.io.miso", pads: [["TP6", "1"]]}, + {name: "tp_erst.io", pads: [["U2", "8"], ["TP7", "1"], ["J4", "15"]]}, + {name: "tp_dc.io", pads: [["U2", "31"], ["TP8", "1"], ["J4", "14"]]}, + {name: "tp_epd_cs.io", pads: [["U2", "32"], ["TP9", "1"], ["J4", "13"]]}, + {name: "tp_busy.io", pads: [["U2", "9"], ["TP10", "1"], ["J4", "16"]]}, + {name: "mem_gate.output", pads: [["J5", "4"], ["Q5", "3"], ["U6", "8"], ["U6", "3"], ["U6", "7"], ["C19", "1"]]}, + {name: "tp_sd.io.sck", pads: [["U2", "17"], ["J5", "5"], ["U6", "6"], ["TP11", "1"]]}, + {name: "tp_sd.io.mosi", pads: [["U2", "18"], ["J5", "3"], ["U6", "5"], ["TP12", "1"]]}, + {name: "tp_sd.io.miso", pads: [["U2", "15"], ["J5", "7"], ["U6", "2"], ["TP13", "1"]]}, + {name: "tp_sd_cs.io", pads: [["U2", "19"], ["J5", "2"], ["TP14", "1"]]}, + {name: "flash.cs", pads: [["U2", "20"], ["U6", "1"]]}, + {name: "usb.pwr", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"]]}, + {name: "reg_3v3.fb.output", pads: [["U1", "4"], ["R1", "2"], ["R2", "1"]]}, + {name: "reg_3v3.boot_cap.neg", pads: [["C2", "2"], ["U1", "2"], ["L1", "1"]]}, + {name: "reg_3v3.boot_cap.pos", pads: [["C2", "1"], ["U1", "6"]]}, + {name: "reg_3v3.en_res.b", pads: [["R3", "2"], ["U1", "5"]]}, + {name: "vbat_sense_gate.pre.drain", pads: [["Q2", "3"], ["R4", "2"], ["Q3", "1"]]}, + {name: "mcu.program_uart_node.a_tx", pads: [["U2", "37"], ["J3", "3"]]}, + {name: "mcu.program_uart_node.b_tx", pads: [["U2", "36"], ["J3", "4"]]}, + {name: "mcu.program_en_node", pads: [["U2", "3"], ["J3", "6"], ["R5", "2"], ["C7", "1"]]}, + {name: "mcu.program_boot_node", pads: [["U2", "27"], ["SW1", "1"], ["J3", "2"]]}, + {name: "ledr.res.a", pads: [["R6", "1"], ["D1", "1"]]}, + {name: "ledg.res.a", pads: [["R7", "1"], ["D2", "1"]]}, + {name: "ledb.res.a", pads: [["R8", "1"], ["D3", "1"]]}, + {name: "epd.device.vdd1v8", pads: [["J4", "7"], ["C9", "1"]]}, + {name: "epd.device.vgl", pads: [["J4", "21"], ["C10", "1"]]}, + {name: "epd.device.vgh", pads: [["J4", "20"], ["C11", "1"]]}, + {name: "epd.device.vsh", pads: [["J4", "5"], ["C12", "1"]]}, + {name: "epd.device.vsl", pads: [["J4", "3"], ["C13", "1"]]}, + {name: "epd.device.vcom", pads: [["J4", "1"], ["C14", "1"]]}, + {name: "epd.device.gdr", pads: [["J4", "23"], ["R12", "1"], ["Q6", "1"]]}, + {name: "epd.device.rese", pads: [["J4", "22"], ["Q6", "2"], ["R11", "1"]]}, + {name: "epd.boost.pos_out", pads: [["J4", "4"], ["D4", "1"], ["C17", "1"]]}, + {name: "epd.boost.neg_out", pads: [["J4", "2"], ["D5", "2"], ["C18", "1"]]}, + {name: "epd.boost.inductor.b", pads: [["L2", "2"], ["Q6", "3"], ["D4", "2"], ["C16", "1"]]}, + {name: "epd.boost.boot_cap.neg", pads: [["C16", "2"], ["D5", "1"], ["D6", "2"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(3.746456692913387, 2.4618110236220474); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/IotFan/IotFan.svgpcb.js b/examples/IotFan/IotFan.svgpcb.js index 95c511436..063a4f1e2 100644 --- a/examples/IotFan/IotFan.svgpcb.js +++ b/examples/IotFan/IotFan.svgpcb.js @@ -1,308 +1,439 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { - translate: pt(0.751, 1.742), rotate: 0, - id: 'jlc_th_th1' -}) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { - translate: pt(0.791, 1.742), rotate: 0, - id: 'jlc_th_th2' -}) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { - translate: pt(0.751, 1.781), rotate: 0, - id: 'jlc_th_th3' -}) -const pwr = board.add(BarrelJack_CUI_PJ_036AH_SMT_Horizontal, { +// jlc_th.th1 +const FH1 = board.add(JlcToolingHole_1_152mm, { + translate: pt(0.745, 1.742), rotate: 0, + id: 'FH1' +}) +// jlc_th.th2 +const FH2 = board.add(JlcToolingHole_1_152mm, { + translate: pt(0.785, 1.742), rotate: 0, + id: 'FH2' +}) +// jlc_th.th3 +const FH3 = board.add(JlcToolingHole_1_152mm, { + translate: pt(0.745, 1.781), rotate: 0, + id: 'FH3' +}) +// pwr +const FJ1 = board.add(BarrelJack_CUI_PJ_036AH_SMT_Horizontal, { translate: pt(1.256, 0.413), rotate: 0, - id: 'pwr' + id: 'FJ1' }) -const tp_pwr_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.271, 1.464), rotate: 0, - id: 'tp_pwr_tp' +// tp_pwr.tp +const FTP1 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.561, 1.779), rotate: 0, + id: 'FTP1' }) -const tp_gnd_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.567, 1.779), rotate: 0, - id: 'tp_gnd_tp' +// tp_gnd.tp +const FTP2 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.027, 1.464), rotate: 0, + id: 'FTP2' }) -const reg_5v_ic = board.add(SOT_23_6, { +// reg_5v.ic +const FU1 = board.add(SOT_23_6, { translate: pt(0.301, 0.874), rotate: 0, - id: 'reg_5v_ic' + id: 'FU1' }) -const reg_5v_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg_5v.fb.div.top_res +const FR1 = board.add(R_0603_1608Metric, { translate: pt(0.452, 1.053), rotate: 0, - id: 'reg_5v_fb_div_top_res' + id: 'FR1' }) -const reg_5v_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg_5v.fb.div.bottom_res +const FR2 = board.add(R_0603_1608Metric, { translate: pt(0.058, 1.183), rotate: 0, - id: 'reg_5v_fb_div_bottom_res' + id: 'FR2' }) -const reg_5v_hf_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_5v.hf_in_cap.cap +const FC1 = board.add(C_0603_1608Metric, { translate: pt(0.214, 1.183), rotate: 0, - id: 'reg_5v_hf_in_cap_cap' + id: 'FC1' }) -const reg_5v_boot_cap = board.add(C_0603_1608Metric, { +// reg_5v.boot_cap +const FC2 = board.add(C_0603_1608Metric, { translate: pt(0.370, 1.183), rotate: 0, - id: 'reg_5v_boot_cap' + id: 'FC2' }) -const reg_5v_power_path_inductor = board.add(L_Sunlord_SWPA4030S, { +// reg_5v.power_path.inductor +const FL1 = board.add(L_Sunlord_SWPA4030S, { translate: pt(0.091, 0.896), rotate: 0, - id: 'reg_5v_power_path_inductor' + id: 'FL1' }) -const reg_5v_power_path_in_cap_cap = board.add(C_1206_3216Metric, { +// reg_5v.power_path.in_cap.cap +const FC3 = board.add(C_1206_3216Metric, { translate: pt(0.091, 1.070), rotate: 0, - id: 'reg_5v_power_path_in_cap_cap' + id: 'FC3' }) -const reg_5v_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg_5v.power_path.out_cap.cap +const FC4 = board.add(C_0805_2012Metric, { translate: pt(0.287, 1.063), rotate: 0, - id: 'reg_5v_power_path_out_cap_cap' + id: 'FC4' }) -const reg_5v_en_res = board.add(R_0603_1608Metric, { +// reg_5v.en_res +const FR3 = board.add(R_0603_1608Metric, { translate: pt(0.058, 1.280), rotate: 0, - id: 'reg_5v_en_res' + id: 'FR3' }) -const tp_5v_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.066, 1.779), rotate: 0, - id: 'tp_5v_tp' +// tp_5v.tp +const FTP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.311, 1.779), rotate: 0, + id: 'FTP3' }) -const prot_5v_diode = board.add(D_SOD_323, { - translate: pt(2.024, 1.464), rotate: 0, - id: 'prot_5v_diode' +// prot_5v.diode +const FD1 = board.add(D_SOD_323, { + translate: pt(0.063, 1.779), rotate: 0, + id: 'FD1' }) -const reg_3v3_ic = board.add(SOT_89_3, { +// reg_3v3.ic +const FU2 = board.add(SOT_89_3, { translate: pt(2.260, 0.906), rotate: 0, - id: 'reg_3v3_ic' + id: 'FU2' }) -const reg_3v3_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_3v3.in_cap.cap +const FC5 = board.add(C_0603_1608Metric, { translate: pt(2.206, 1.072), rotate: 0, - id: 'reg_3v3_in_cap_cap' + id: 'FC5' }) -const reg_3v3_out_cap_cap = board.add(C_0603_1608Metric, { +// reg_3v3.out_cap.cap +const FC6 = board.add(C_0603_1608Metric, { translate: pt(2.362, 1.072), rotate: 0, - id: 'reg_3v3_out_cap_cap' + id: 'FC6' }) -const tp_3v3_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.317, 1.779), rotate: 0, - id: 'tp_3v3_tp' +// tp_3v3.tp +const FTP4 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.277, 1.464), rotate: 0, + id: 'FTP4' }) -const prot_3v3_diode = board.add(D_SOD_323, { - translate: pt(2.519, 1.464), rotate: 0, - id: 'prot_3v3_diode' +// prot_3v3.diode +const FD2 = board.add(D_SOD_323, { + translate: pt(2.525, 1.464), rotate: 0, + id: 'FD2' }) -const mcu_ic = board.add(QFN_32_1EP_5x5mm_P0_5mm_EP3_65x3_65mm, { +// mcu.ic +const FU3 = board.add(QFN_32_1EP_5x5mm_P0_5mm_EP3_65x3_65mm, { translate: pt(1.768, 0.122), rotate: 0, - id: 'mcu_ic' + id: 'FU3' }) -const mcu_vdd_bulk_cap_cap = board.add(C_0805_2012Metric, { +// mcu.vdd_bulk_cap.cap +const FC7 = board.add(C_0805_2012Metric, { translate: pt(1.932, 0.322), rotate: 0, - id: 'mcu_vdd_bulk_cap_cap' + id: 'FC7' }) -const mcu_vdda_cap0_cap = board.add(C_0603_1608Metric, { +// mcu.vdda_cap0.cap +const FC8 = board.add(C_0603_1608Metric, { translate: pt(2.096, 0.312), rotate: 0, - id: 'mcu_vdda_cap0_cap' + id: 'FC8' }) -const mcu_vdda_cap1_cap = board.add(C_0603_1608Metric, { +// mcu.vdda_cap1.cap +const FC9 = board.add(C_0603_1608Metric, { translate: pt(2.252, 0.312), rotate: 0, - id: 'mcu_vdda_cap1_cap' + id: 'FC9' }) -const mcu_vddrtc_cap_cap = board.add(C_0603_1608Metric, { +// mcu.vddrtc_cap.cap +const FC10 = board.add(C_0603_1608Metric, { translate: pt(2.408, 0.312), rotate: 0, - id: 'mcu_vddrtc_cap_cap' + id: 'FC10' }) -const mcu_vddcpu_cap_cap = board.add(C_0603_1608Metric, { +// mcu.vddcpu_cap.cap +const FC11 = board.add(C_0603_1608Metric, { translate: pt(1.704, 0.441), rotate: 0, - id: 'mcu_vddcpu_cap_cap' + id: 'FC11' }) -const mcu_vddspi_cap_cap = board.add(C_0603_1608Metric, { +// mcu.vddspi_cap.cap +const FC12 = board.add(C_0603_1608Metric, { translate: pt(1.860, 0.441), rotate: 0, - id: 'mcu_vddspi_cap_cap' + id: 'FC12' }) -const mcu_ant = board.add(D_1206_3216Metric, { +// mcu.ant +const FANT1 = board.add(D_1206_3216Metric, { translate: pt(1.736, 0.328), rotate: 0, - id: 'mcu_ant' + id: 'FANT1' }) -const mcu_pi_c1 = board.add(C_0603_1608Metric, { +// mcu.pi.c1 +const FC13 = board.add(C_0603_1608Metric, { translate: pt(2.016, 0.441), rotate: 0, - id: 'mcu_pi_c1' + id: 'FC13' }) -const mcu_pi_c2 = board.add(C_0603_1608Metric, { +// mcu.pi.c2 +const FC14 = board.add(C_0603_1608Metric, { translate: pt(2.172, 0.441), rotate: 0, - id: 'mcu_pi_c2' + id: 'FC14' }) -const mcu_pi_l = board.add(L_0603_1608Metric, { +// mcu.pi.l +const FL2 = board.add(L_0603_1608Metric, { translate: pt(2.328, 0.441), rotate: 0, - id: 'mcu_pi_l' + id: 'FL2' }) -const mcu_vdd3p3_l_cap_cap = board.add(C_0603_1608Metric, { +// mcu.vdd3p3_l_cap.cap +const FC15 = board.add(C_0603_1608Metric, { translate: pt(1.704, 0.538), rotate: 0, - id: 'mcu_vdd3p3_l_cap_cap' + id: 'FC15' }) -const mcu_vdd3p3_cap_cap = board.add(C_0603_1608Metric, { +// mcu.vdd3p3_cap.cap +const FC16 = board.add(C_0603_1608Metric, { translate: pt(1.860, 0.538), rotate: 0, - id: 'mcu_vdd3p3_cap_cap' + id: 'FC16' }) -const mcu_vdd3p3_l_ind = board.add(L_0603_1608Metric, { +// mcu.vdd3p3_l.ind +const FL3 = board.add(L_0603_1608Metric, { translate: pt(2.016, 0.538), rotate: 0, - id: 'mcu_vdd3p3_l_ind' + id: 'FL3' }) -const mcu_crystal_package = board.add(Crystal_SMD_2520_4Pin_2_5x2_0mm, { +// mcu.crystal.package +const FX1 = board.add(Crystal_SMD_2520_4Pin_2_5x2_0mm, { translate: pt(2.311, 0.059), rotate: 0, - id: 'mcu_crystal_package' + id: 'FX1' }) -const mcu_crystal_cap_a = board.add(C_0603_1608Metric, { +// mcu.crystal.cap_a +const FC17 = board.add(C_0603_1608Metric, { translate: pt(2.172, 0.538), rotate: 0, - id: 'mcu_crystal_cap_a' + id: 'FC17' }) -const mcu_crystal_cap_b = board.add(C_0603_1608Metric, { +// mcu.crystal.cap_b +const FC18 = board.add(C_0603_1608Metric, { translate: pt(2.328, 0.538), rotate: 0, - id: 'mcu_crystal_cap_b' + id: 'FC18' }) -const mcu_prog_conn = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { +// mcu.prog.conn +const FJ2 = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { translate: pt(2.067, 0.079), rotate: 0, - id: 'mcu_prog_conn' + id: 'FJ2' }) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { +// mcu.en_pull.rc.r +const FR4 = board.add(R_0603_1608Metric, { translate: pt(1.704, 0.635), rotate: 0, - id: 'mcu_en_pull_rc_r' + id: 'FR4' }) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { +// mcu.en_pull.rc.c +const FC19 = board.add(C_0603_1608Metric, { translate: pt(1.860, 0.635), rotate: 0, - id: 'mcu_en_pull_rc_c' + id: 'FC19' }) -const ledr_package = board.add(LED_0603_1608Metric, { +// ledr.package +const FD3 = board.add(LED_0603_1608Metric, { translate: pt(1.011, 1.456), rotate: 0, - id: 'ledr_package' + id: 'FD3' }) -const ledr_res = board.add(R_0603_1608Metric, { +// ledr.res +const FR5 = board.add(R_0603_1608Metric, { translate: pt(1.011, 1.553), rotate: 0, - id: 'ledr_res' + id: 'FR5' }) -const enc_package = board.add(RotaryEncoder_Alps_EC11J15_Switch, { +// enc.package +const FSW1 = board.add(RotaryEncoder_Alps_EC11J15_Switch, { translate: pt(0.394, 0.344), rotate: 0, - id: 'enc_package' + id: 'FSW1' }) -const v12_sense_div_top_res = board.add(R_0603_1608Metric, { +// v12_sense.div.top_res +const FR6 = board.add(R_0603_1608Metric, { translate: pt(1.246, 1.456), rotate: 0, - id: 'v12_sense_div_top_res' + id: 'FR6' }) -const v12_sense_div_bottom_res = board.add(R_0603_1608Metric, { +// v12_sense.div.bottom_res +const FR7 = board.add(R_0603_1608Metric, { translate: pt(1.246, 1.552), rotate: 0, - id: 'v12_sense_div_bottom_res' + id: 'FR7' }) -const rgb_ring_led_0_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[0] +const FD4 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(0.668, 0.846), rotate: 0, - id: 'rgb_ring_led_0_' + id: 'FD4' }) -const rgb_ring_led_1_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[1] +const FD5 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(0.786, 0.846), rotate: 0, - id: 'rgb_ring_led_1_' + id: 'FD5' }) -const rgb_ring_led_2_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[2] +const FD6 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(0.904, 0.846), rotate: 0, - id: 'rgb_ring_led_2_' + id: 'FD6' }) -const rgb_ring_led_3_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[3] +const FD7 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(1.022, 0.846), rotate: 0, - id: 'rgb_ring_led_3_' + id: 'FD7' }) -const rgb_ring_led_4_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[4] +const FD8 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(1.140, 0.846), rotate: 0, - id: 'rgb_ring_led_4_' + id: 'FD8' }) -const rgb_ring_led_5_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[5] +const FD9 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(0.668, 0.965), rotate: 0, - id: 'rgb_ring_led_5_' + id: 'FD9' }) -const rgb_ring_led_6_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[6] +const FD10 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(0.786, 0.965), rotate: 0, - id: 'rgb_ring_led_6_' + id: 'FD10' }) -const rgb_ring_led_7_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[7] +const FD11 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(0.904, 0.965), rotate: 0, - id: 'rgb_ring_led_7_' + id: 'FD11' }) -const rgb_ring_led_8_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[8] +const FD12 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(1.022, 0.965), rotate: 0, - id: 'rgb_ring_led_8_' + id: 'FD12' }) -const rgb_ring_led_9_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[9] +const FD13 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(1.140, 0.965), rotate: 0, - id: 'rgb_ring_led_9_' + id: 'FD13' }) -const rgb_ring_led_10_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[10] +const FD14 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(0.668, 1.083), rotate: 0, - id: 'rgb_ring_led_10_' + id: 'FD14' }) -const rgb_ring_led_11_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[11] +const FD15 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(0.786, 1.083), rotate: 0, - id: 'rgb_ring_led_11_' + id: 'FD15' }) -const rgb_ring_led_12_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[12] +const FD16 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(0.904, 1.083), rotate: 0, - id: 'rgb_ring_led_12_' + id: 'FD16' }) -const rgb_ring_led_13_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[13] +const FD17 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(1.022, 1.083), rotate: 0, - id: 'rgb_ring_led_13_' + id: 'FD17' }) -const rgb_ring_led_14_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[14] +const FD18 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(1.140, 1.083), rotate: 0, - id: 'rgb_ring_led_14_' + id: 'FD18' }) -const rgb_ring_led_15_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[15] +const FD19 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(0.668, 1.201), rotate: 0, - id: 'rgb_ring_led_15_' + id: 'FD19' }) -const rgb_ring_led_16_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[16] +const FD20 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(0.786, 1.201), rotate: 0, - id: 'rgb_ring_led_16_' + id: 'FD20' }) -const rgb_ring_led_17_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// rgb_ring.led[17] +const FD21 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(0.904, 1.201), rotate: 0, - id: 'rgb_ring_led_17_' + id: 'FD21' }) -const fan_0_ = board.add(FanPinHeader_1x04_P2_54mm_Vertical, { +// fan[0] +const FJ3 = board.add(FanPinHeader_1x04_P2_54mm_Vertical, { translate: pt(0.069, 1.576), rotate: 0, - id: 'fan_0_' + id: 'FJ3' }) -const fan_drv_0__pre = board.add(SOT_23, { - translate: pt(1.798, 1.126), rotate: 0, - id: 'fan_drv_0__pre' +// fan_drv[0].pre +const FQ1 = board.add(SOT_23, { + translate: pt(1.373, 1.126), rotate: 0, + id: 'FQ1' }) -const fan_drv_0__pull = board.add(R_0603_1608Metric, { - translate: pt(1.972, 1.088), rotate: 0, - id: 'fan_drv_0__pull' +// fan_drv[0].pull +const FR8 = board.add(R_0603_1608Metric, { + translate: pt(1.546, 1.088), rotate: 0, + id: 'FR8' }) -const fan_drv_0__drv = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(1.869, 0.913), rotate: 0, - id: 'fan_drv_0__drv' +// fan_drv[0].drv +const FQ2 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(1.443, 0.913), rotate: 0, + id: 'FQ2' }) -const fan_ctl_0__drv = board.add(SOT_23, { +// fan_ctl[0].drv +const FQ3 = board.add(SOT_23, { translate: pt(1.498, 1.494), rotate: 0, - id: 'fan_ctl_0__drv' + id: 'FQ3' }) -const fan_1_ = board.add(FanPinHeader_1x04_P2_54mm_Vertical, { +// fan[1] +const FJ4 = board.add(FanPinHeader_1x04_P2_54mm_Vertical, { translate: pt(0.545, 1.576), rotate: 0, - id: 'fan_1_' + id: 'FJ4' }) -const fan_drv_1__pre = board.add(SOT_23, { - translate: pt(1.373, 1.126), rotate: 0, - id: 'fan_drv_1__pre' +// fan_drv[1].pre +const FQ4 = board.add(SOT_23, { + translate: pt(1.798, 1.126), rotate: 0, + id: 'FQ4' }) -const fan_drv_1__pull = board.add(R_0603_1608Metric, { - translate: pt(1.546, 1.088), rotate: 0, - id: 'fan_drv_1__pull' +// fan_drv[1].pull +const FR9 = board.add(R_0603_1608Metric, { + translate: pt(1.972, 1.088), rotate: 0, + id: 'FR9' }) -const fan_drv_1__drv = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(1.443, 0.913), rotate: 0, - id: 'fan_drv_1__drv' +// fan_drv[1].drv +const FQ5 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(1.869, 0.913), rotate: 0, + id: 'FQ5' }) -const fan_ctl_1__drv = board.add(SOT_23, { +// fan_ctl[1].drv +const FQ6 = board.add(SOT_23, { translate: pt(1.767, 1.494), rotate: 0, - id: 'fan_ctl_1__drv' + id: 'FQ6' }) +board.setNetlist([ + {name: "Fv12", pads: [["FJ1", "1"], ["FTP1", "1"], ["FU1", "3"], ["FR8", "1"], ["FQ2", "1"], ["FQ2", "2"], ["FQ2", "3"], ["FR9", "1"], ["FQ5", "1"], ["FQ5", "2"], ["FQ5", "3"], ["FR6", "1"], ["FR3", "1"], ["FC1", "1"], ["FC3", "1"]]}, + {name: "Fgnd", pads: [["FJ1", "2"], ["FJ3", "1"], ["FJ4", "1"], ["FTP2", "1"], ["FU1", "1"], ["FD1", "2"], ["FU2", "1"], ["FD2", "2"], ["FU3", "33"], ["FSW1", "C"], ["FSW1", "S2"], ["FD4", "4"], ["FD5", "4"], ["FD6", "4"], ["FD7", "4"], ["FD8", "4"], ["FD9", "4"], ["FD10", "4"], ["FD11", "4"], ["FD12", "4"], ["FD13", "4"], ["FD14", "4"], ["FD15", "4"], ["FD16", "4"], ["FD17", "4"], ["FD18", "4"], ["FD19", "4"], ["FD20", "4"], ["FD21", "4"], ["FQ1", "2"], ["FQ3", "2"], ["FQ4", "2"], ["FQ6", "2"], ["FR7", "2"], ["FC1", "2"], ["FC5", "2"], ["FC6", "2"], ["FC7", "2"], ["FC8", "2"], ["FC9", "2"], ["FC10", "2"], ["FC11", "2"], ["FC12", "2"], ["FC15", "2"], ["FC16", "2"], ["FX1", "2"], ["FX1", "4"], ["FJ2", "5"], ["FR2", "2"], ["FC19", "2"], ["FC13", "2"], ["FC14", "2"], ["FC17", "2"], ["FC18", "2"], ["FC3", "2"], ["FC4", "2"]]}, + {name: "Fv5", pads: [["FTP3", "1"], ["FD1", "1"], ["FU2", "2"], ["FD4", "2"], ["FD5", "2"], ["FD6", "2"], ["FD7", "2"], ["FD8", "2"], ["FD9", "2"], ["FD10", "2"], ["FD11", "2"], ["FD12", "2"], ["FD13", "2"], ["FD14", "2"], ["FD15", "2"], ["FD16", "2"], ["FD17", "2"], ["FD18", "2"], ["FD19", "2"], ["FD20", "2"], ["FD21", "2"], ["FR1", "1"], ["FC5", "1"], ["FL1", "2"], ["FC4", "1"]]}, + {name: "Fv3v3", pads: [["FU2", "3"], ["FTP4", "1"], ["FD2", "1"], ["FU3", "31"], ["FU3", "32"], ["FU3", "11"], ["FU3", "17"], ["FU3", "18"], ["FD3", "2"], ["FC6", "1"], ["FU3", "14"], ["FC7", "1"], ["FC8", "1"], ["FC9", "1"], ["FC10", "1"], ["FC11", "1"], ["FC12", "1"], ["FC15", "1"], ["FL3", "1"], ["FJ2", "1"], ["FR4", "1"]]}, + {name: "Fmcu.program_boot_node", pads: [["FR5", "2"], ["FU3", "15"], ["FJ2", "2"]]}, + {name: "Fenc.a", pads: [["FU3", "26"], ["FSW1", "A"]]}, + {name: "Fenc.b", pads: [["FU3", "16"], ["FSW1", "B"]]}, + {name: "Fenc.sw", pads: [["FU3", "25"], ["FSW1", "S1"]]}, + {name: "Fv12_sense.output", pads: [["FU3", "4"], ["FR6", "2"], ["FR7", "1"]]}, + {name: "Frgb_ring.din", pads: [["FU3", "6"], ["FD4", "1"]]}, + {name: "Ffan[0].pwr", pads: [["FJ3", "2"], ["FQ2", "5"], ["FQ2", "6"], ["FQ2", "7"], ["FQ2", "8"]]}, + {name: "Ffan_drv[0].control", pads: [["FU3", "5"], ["FQ1", "1"]]}, + {name: "Ffan[0].sense", pads: [["FJ3", "3"], ["FU3", "9"]]}, + {name: "Ffan_ctl[0].control", pads: [["FU3", "8"], ["FQ3", "1"]]}, + {name: "Ffan_ctl[0].output", pads: [["FJ3", "4"], ["FQ3", "3"]]}, + {name: "Ffan[1].pwr", pads: [["FJ4", "2"], ["FQ5", "5"], ["FQ5", "6"], ["FQ5", "7"], ["FQ5", "8"]]}, + {name: "Ffan_drv[1].control", pads: [["FU3", "10"], ["FQ4", "1"]]}, + {name: "Ffan[1].sense", pads: [["FJ4", "3"], ["FU3", "12"]]}, + {name: "Ffan_ctl[1].control", pads: [["FU3", "13"], ["FQ6", "1"]]}, + {name: "Ffan_ctl[1].output", pads: [["FJ4", "4"], ["FQ6", "3"]]}, + {name: "Freg_5v.fb.output", pads: [["FU1", "4"], ["FR1", "2"], ["FR2", "1"]]}, + {name: "Freg_5v.boot_cap.neg", pads: [["FC2", "2"], ["FU1", "2"], ["FL1", "1"]]}, + {name: "Freg_5v.boot_cap.pos", pads: [["FC2", "1"], ["FU1", "6"]]}, + {name: "Freg_5v.en_res.b", pads: [["FR3", "2"], ["FU1", "5"]]}, + {name: "Fmcu.xtal_node.xi", pads: [["FU3", "30"], ["FX1", "1"], ["FC17", "1"]]}, + {name: "Fmcu.xtal_node.xo", pads: [["FU3", "29"], ["FX1", "3"], ["FC18", "1"]]}, + {name: "Fmcu.program_uart_node.a_tx", pads: [["FU3", "28"], ["FJ2", "3"]]}, + {name: "Fmcu.program_uart_node.b_tx", pads: [["FU3", "27"], ["FJ2", "4"]]}, + {name: "Fmcu.program_en_node", pads: [["FU3", "7"], ["FJ2", "6"], ["FR4", "2"], ["FC19", "1"]]}, + {name: "Fmcu.ic.lna_in", pads: [["FU3", "1"], ["FC13", "1"], ["FL2", "1"]]}, + {name: "Fmcu.pi.output", pads: [["FANT1", "1"], ["FL2", "2"], ["FC14", "1"]]}, + {name: "Fmcu.ic.vdd3p3", pads: [["FU3", "2"], ["FU3", "3"], ["FL3", "2"], ["FC16", "1"]]}, + {name: "Fledr.res.a", pads: [["FR5", "1"], ["FD3", "1"]]}, + {name: "Frgb_ring.led[0].dout", pads: [["FD4", "3"], ["FD5", "1"]]}, + {name: "Frgb_ring.led[1].dout", pads: [["FD5", "3"], ["FD6", "1"]]}, + {name: "Frgb_ring.led[2].dout", pads: [["FD6", "3"], ["FD7", "1"]]}, + {name: "Frgb_ring.led[3].dout", pads: [["FD7", "3"], ["FD8", "1"]]}, + {name: "Frgb_ring.led[4].dout", pads: [["FD8", "3"], ["FD9", "1"]]}, + {name: "Frgb_ring.led[5].dout", pads: [["FD9", "3"], ["FD10", "1"]]}, + {name: "Frgb_ring.led[6].dout", pads: [["FD10", "3"], ["FD11", "1"]]}, + {name: "Frgb_ring.led[7].dout", pads: [["FD11", "3"], ["FD12", "1"]]}, + {name: "Frgb_ring.led[8].dout", pads: [["FD12", "3"], ["FD13", "1"]]}, + {name: "Frgb_ring.led[9].dout", pads: [["FD13", "3"], ["FD14", "1"]]}, + {name: "Frgb_ring.led[10].dout", pads: [["FD14", "3"], ["FD15", "1"]]}, + {name: "Frgb_ring.led[11].dout", pads: [["FD15", "3"], ["FD16", "1"]]}, + {name: "Frgb_ring.led[12].dout", pads: [["FD16", "3"], ["FD17", "1"]]}, + {name: "Frgb_ring.led[13].dout", pads: [["FD17", "3"], ["FD18", "1"]]}, + {name: "Frgb_ring.led[14].dout", pads: [["FD18", "3"], ["FD19", "1"]]}, + {name: "Frgb_ring.led[15].dout", pads: [["FD19", "3"], ["FD20", "1"]]}, + {name: "Frgb_ring.led[16].dout", pads: [["FD20", "3"], ["FD21", "1"]]}, + {name: "Frgb_ring.dout", pads: [["FD21", "3"]]}, + {name: "Ffan_drv[0].pre.drain", pads: [["FQ1", "3"], ["FR8", "2"], ["FQ2", "4"]]}, + {name: "Ffan_drv[1].pre.drain", pads: [["FQ4", "3"], ["FR9", "2"], ["FQ5", "4"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); -const limit1 = pt(2.7001968503937013, 1.9346456692913387); +const limit1 = pt(2.7061023622047244, 1.9346456692913387); const xMin = Math.min(limit0[0], limit1[0]); const xMax = Math.max(limit0[0], limit1[0]); const yMin = Math.min(limit0[1], limit1[1]); diff --git a/examples/IotIron/IotIron.svgpcb.js b/examples/IotIron/IotIron.svgpcb.js index 71a6f5cc7..0f2da9471 100644 --- a/examples/IotIron/IotIron.svgpcb.js +++ b/examples/IotIron/IotIron.svgpcb.js @@ -1,382 +1,539 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const IH1 = board.add(JlcToolingHole_1_152mm, { translate: pt(3.408, 3.059), rotate: 0, - id: 'jlc_th_th1' + id: 'IH1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const IH2 = board.add(JlcToolingHole_1_152mm, { translate: pt(3.448, 3.059), rotate: 0, - id: 'jlc_th_th2' + id: 'IH2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const IH3 = board.add(JlcToolingHole_1_152mm, { translate: pt(3.408, 3.099), rotate: 0, - id: 'jlc_th_th3' + id: 'IH3' }) -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const IJ1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(3.321, 1.905), rotate: 0, - id: 'usb_conn' + id: 'IJ1' }) -const tp_pwr_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.068, 3.097), rotate: 0, - id: 'tp_pwr_tp' +// tp_pwr.tp +const ITP1 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.318, 3.097), rotate: 0, + id: 'ITP1' }) -const tp_gnd_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_gnd.tp +const ITP2 = board.add(TestPoint_TE_RCT_0805, { translate: pt(0.817, 3.097), rotate: 0, - id: 'tp_gnd_tp' + id: 'ITP2' }) -const reg_3v3_ic = board.add(SOT_23_6, { +// reg_3v3.ic +const IU1 = board.add(SOT_23_6, { translate: pt(2.331, 1.807), rotate: 0, - id: 'reg_3v3_ic' + id: 'IU1' }) -const reg_3v3_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg_3v3.fb.div.top_res +const IR1 = board.add(R_0603_1608Metric, { translate: pt(2.049, 2.156), rotate: 0, - id: 'reg_3v3_fb_div_top_res' + id: 'IR1' }) -const reg_3v3_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg_3v3.fb.div.bottom_res +const IR2 = board.add(R_0603_1608Metric, { translate: pt(2.205, 2.156), rotate: 0, - id: 'reg_3v3_fb_div_bottom_res' + id: 'IR2' }) -const reg_3v3_hf_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_3v3.hf_in_cap.cap +const IC1 = board.add(C_0603_1608Metric, { translate: pt(2.361, 2.156), rotate: 0, - id: 'reg_3v3_hf_in_cap_cap' + id: 'IC1' }) -const reg_3v3_boot_cap = board.add(C_0603_1608Metric, { +// reg_3v3.boot_cap +const IC2 = board.add(C_0603_1608Metric, { translate: pt(2.517, 2.156), rotate: 0, - id: 'reg_3v3_boot_cap' + id: 'IC2' }) -const reg_3v3_power_path_inductor = board.add(L_Sunlord_SWPA5040S, { +// reg_3v3.power_path.inductor +const IL1 = board.add(L_Sunlord_SWPA5040S, { translate: pt(2.101, 1.849), rotate: 0, - id: 'reg_3v3_power_path_inductor' + id: 'IL1' }) -const reg_3v3_power_path_in_cap_cap_c_0_ = board.add(C_1206_3216Metric, { +// reg_3v3.power_path.in_cap.cap.c[0] +const IC3 = board.add(C_1206_3216Metric, { translate: pt(2.081, 2.042), rotate: 0, - id: 'reg_3v3_power_path_in_cap_cap_c_0_' + id: 'IC3' }) -const reg_3v3_power_path_in_cap_cap_c_1_ = board.add(C_1206_3216Metric, { +// reg_3v3.power_path.in_cap.cap.c[1] +const IC4 = board.add(C_1206_3216Metric, { translate: pt(2.302, 2.042), rotate: 0, - id: 'reg_3v3_power_path_in_cap_cap_c_1_' + id: 'IC4' }) -const reg_3v3_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg_3v3.power_path.out_cap.cap +const IC5 = board.add(C_0805_2012Metric, { translate: pt(2.498, 2.035), rotate: 0, - id: 'reg_3v3_power_path_out_cap_cap' + id: 'IC5' }) -const reg_3v3_en_res = board.add(R_0603_1608Metric, { +// reg_3v3.en_res +const IR3 = board.add(R_0603_1608Metric, { translate: pt(2.049, 2.252), rotate: 0, - id: 'reg_3v3_en_res' + id: 'IR3' }) -const tp_3v3_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.813, 3.097), rotate: 0, - id: 'tp_3v3_tp' +// tp_3v3.tp +const ITP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.569, 3.097), rotate: 0, + id: 'ITP3' }) -const prot_3v3_diode = board.add(D_SOD_323, { - translate: pt(1.315, 3.097), rotate: 0, - id: 'prot_3v3_diode' +// prot_3v3.diode +const ID1 = board.add(D_SOD_323, { + translate: pt(1.816, 3.097), rotate: 0, + id: 'ID1' }) -const reg_gate_ic = board.add(SOT_89_3, { +// reg_gate.ic +const IU2 = board.add(SOT_89_3, { translate: pt(3.761, 1.839), rotate: 0, - id: 'reg_gate_ic' + id: 'IU2' }) -const reg_gate_in_cap_cap = board.add(C_0805_2012Metric, { +// reg_gate.in_cap.cap +const IC6 = board.add(C_0805_2012Metric, { translate: pt(3.716, 2.015), rotate: 0, - id: 'reg_gate_in_cap_cap' + id: 'IC6' }) -const reg_gate_out_cap_cap = board.add(C_0603_1608Metric, { +// reg_gate.out_cap.cap +const IC7 = board.add(C_0603_1608Metric, { translate: pt(3.880, 2.005), rotate: 0, - id: 'reg_gate_out_cap_cap' + id: 'IC7' }) -const tp_gate_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.066, 3.097), rotate: 0, - id: 'tp_gate_tp' +// tp_gate.tp +const ITP4 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.567, 3.097), rotate: 0, + id: 'ITP4' }) -const mcu_ic = board.add(ESP32_S3_WROOM_1, { +// mcu.ic +const IU3 = board.add(ESP32_S3_WROOM_1, { translate: pt(0.945, 0.530), rotate: 0, - id: 'mcu_ic' + id: 'IU3' }) -const mcu_vcc_cap0_cap = board.add(C_1206_3216Metric, { +// mcu.vcc_cap0.cap +const IC8 = board.add(C_1206_3216Metric, { translate: pt(2.020, 0.242), rotate: 0, - id: 'mcu_vcc_cap0_cap' + id: 'IC8' }) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// mcu.vcc_cap1.cap +const IC9 = board.add(C_0603_1608Metric, { translate: pt(2.208, 0.226), rotate: 0, - id: 'mcu_vcc_cap1_cap' + id: 'IC9' }) -const mcu_prog_conn = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { +// mcu.prog.conn +const IJ2 = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { translate: pt(2.067, 0.079), rotate: 0, - id: 'mcu_prog_conn' + id: 'IJ2' }) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { +// mcu.en_pull.rc.r +const IR4 = board.add(R_0603_1608Metric, { translate: pt(1.987, 0.356), rotate: 0, - id: 'mcu_en_pull_rc_r' + id: 'IR4' }) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { +// mcu.en_pull.rc.c +const IC10 = board.add(C_0603_1608Metric, { translate: pt(2.143, 0.356), rotate: 0, - id: 'mcu_en_pull_rc_c' + id: 'IC10' }) -const i2c_pull_scl_res_res = board.add(R_0603_1608Metric, { - translate: pt(2.880, 2.661), rotate: 0, - id: 'i2c_pull_scl_res_res' +// i2c_pull.scl_res.res +const IR5 = board.add(R_0603_1608Metric, { + translate: pt(3.036, 2.661), rotate: 0, + id: 'IR5' }) -const i2c_pull_sda_res_res = board.add(R_0603_1608Metric, { - translate: pt(2.880, 2.757), rotate: 0, - id: 'i2c_pull_sda_res_res' +// i2c_pull.sda_res.res +const IR6 = board.add(R_0603_1608Metric, { + translate: pt(3.036, 2.757), rotate: 0, + id: 'IR6' }) -const pd_ic = board.add(WQFN_14_1EP_2_5x2_5mm_P0_5mm_EP1_45x1_45mm, { +// pd.ic +const IU4 = board.add(WQFN_14_1EP_2_5x2_5mm_P0_5mm_EP1_45x1_45mm, { translate: pt(0.890, 2.705), rotate: 0, - id: 'pd_ic' + id: 'IU4' }) -const pd_vdd_cap_0__cap = board.add(C_0603_1608Metric, { +// pd.vdd_cap[0].cap +const IC11 = board.add(C_0603_1608Metric, { translate: pt(1.049, 2.846), rotate: 0, - id: 'pd_vdd_cap_0__cap' + id: 'IC11' }) -const pd_vdd_cap_1__cap = board.add(C_0805_2012Metric, { +// pd.vdd_cap[1].cap +const IC12 = board.add(C_0805_2012Metric, { translate: pt(0.884, 2.856), rotate: 0, - id: 'pd_vdd_cap_1__cap' + id: 'IC12' }) -const usb_esd = board.add(SOT_23, { +// usb_esd +const IU5 = board.add(SOT_23, { translate: pt(3.293, 3.126), rotate: 0, - id: 'usb_esd' + id: 'IU5' }) -const vusb_sense_div_top_res = board.add(R_0603_1608Metric, { - translate: pt(3.818, 2.661), rotate: 0, - id: 'vusb_sense_div_top_res' +// vusb_sense.div.top_res +const IR7 = board.add(R_0603_1608Metric, { + translate: pt(2.566, 2.661), rotate: 0, + id: 'IR7' }) -const vusb_sense_div_bottom_res = board.add(R_0603_1608Metric, { - translate: pt(3.818, 2.757), rotate: 0, - id: 'vusb_sense_div_bottom_res' +// vusb_sense.div.bottom_res +const IR8 = board.add(R_0603_1608Metric, { + translate: pt(2.566, 2.757), rotate: 0, + id: 'IR8' }) -const temp_ic = board.add(WSON_6_1EP_3x3mm_P0_95mm, { +// temp.ic +const IU6 = board.add(WSON_6_1EP_3x3mm_P0_95mm, { translate: pt(1.300, 2.705), rotate: 0, - id: 'temp_ic' + id: 'IU6' }) -const temp_vdd_cap_cap = board.add(C_0603_1608Metric, { +// temp.vdd_cap.cap +const IC13 = board.add(C_0603_1608Metric, { translate: pt(1.283, 2.846), rotate: 0, - id: 'temp_vdd_cap_cap' + id: 'IC13' }) -const enc_package = board.add(RotaryEncoder_Alps_EC11J15_Switch, { +// enc.package +const ISW1 = board.add(RotaryEncoder_Alps_EC11J15_Switch, { translate: pt(1.479, 2.085), rotate: 0, - id: 'enc_package' + id: 'ISW1' }) -const oled_device_conn = board.add(Hirose_FH12_30S_0_5SH_1x30_1MP_P0_50mm_Horizontal, { +// oled.device.conn +const IJ3 = board.add(Hirose_FH12_30S_0_5SH_1x30_1MP_P0_50mm_Horizontal, { translate: pt(2.800, 1.054), rotate: 0, - id: 'oled_device_conn' + id: 'IJ3' }) -const oled_lcd = board.add(Lcd_Er_Oled0_96_1_1_Outline, { +// oled.lcd +const IU7 = board.add(Lcd_Er_Oled0_96_1_1_Outline, { translate: pt(2.910, 0.516), rotate: 0, - id: 'oled_lcd' + id: 'IU7' }) -const oled_c1_cap = board.add(C_0603_1608Metric, { +// oled.c1_cap +const IC14 = board.add(C_0603_1608Metric, { translate: pt(3.659, 0.889), rotate: 0, - id: 'oled_c1_cap' + id: 'IC14' }) -const oled_c2_cap = board.add(C_0603_1608Metric, { +// oled.c2_cap +const IC15 = board.add(C_0603_1608Metric, { translate: pt(3.815, 0.889), rotate: 0, - id: 'oled_c2_cap' + id: 'IC15' }) -const oled_iref_res = board.add(R_0603_1608Metric, { +// oled.iref_res +const IR9 = board.add(R_0603_1608Metric, { translate: pt(3.313, 1.006), rotate: 0, - id: 'oled_iref_res' + id: 'IR9' }) -const oled_vcomh_cap_cap = board.add(C_0805_2012Metric, { +// oled.vcomh_cap.cap +const IC16 = board.add(C_0805_2012Metric, { translate: pt(3.321, 0.899), rotate: 0, - id: 'oled_vcomh_cap_cap' + id: 'IC16' }) -const oled_vdd_cap1_cap = board.add(C_0603_1608Metric, { +// oled.vdd_cap1.cap +const IC17 = board.add(C_0603_1608Metric, { translate: pt(3.469, 1.006), rotate: 0, - id: 'oled_vdd_cap1_cap' + id: 'IC17' }) -const oled_vbat_cap_cap = board.add(C_0603_1608Metric, { +// oled.vbat_cap.cap +const IC18 = board.add(C_0603_1608Metric, { translate: pt(3.624, 1.006), rotate: 0, - id: 'oled_vbat_cap_cap' + id: 'IC18' }) -const oled_vcc_cap_cap = board.add(C_0805_2012Metric, { +// oled.vcc_cap.cap +const IC19 = board.add(C_0805_2012Metric, { translate: pt(3.494, 0.899), rotate: 0, - id: 'oled_vcc_cap_cap' + id: 'IC19' }) -const spk_drv_ic = board.add(QFN_16_1EP_3x3mm_P0_5mm_EP1_45x1_45mm, { +// spk_drv.ic +const IU8 = board.add(QFN_16_1EP_3x3mm_P0_5mm_EP1_45x1_45mm, { translate: pt(0.493, 2.716), rotate: 0, - id: 'spk_drv_ic' + id: 'IU8' }) -const spk_drv_pwr_cap0_cap = board.add(C_0603_1608Metric, { +// spk_drv.pwr_cap0.cap +const IC20 = board.add(C_0603_1608Metric, { translate: pt(0.641, 2.868), rotate: 0, - id: 'spk_drv_pwr_cap0_cap' + id: 'IC20' }) -const spk_drv_pwr_cap1_cap = board.add(C_0805_2012Metric, { +// spk_drv.pwr_cap1.cap +const IC21 = board.add(C_0805_2012Metric, { translate: pt(0.476, 2.878), rotate: 0, - id: 'spk_drv_pwr_cap1_cap' + id: 'IC21' }) -const spk_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { +// spk.conn +const IJ4 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { translate: pt(1.589, 2.762), rotate: 0, - id: 'spk_conn' + id: 'IJ4' }) -const ledr_package = board.add(LED_0603_1608Metric, { +// ledr.package +const ID2 = board.add(LED_0603_1608Metric, { translate: pt(1.941, 2.661), rotate: 0, - id: 'ledr_package' + id: 'ID2' }) -const ledr_res = board.add(R_0603_1608Metric, { +// ledr.res +const IR10 = board.add(R_0603_1608Metric, { translate: pt(1.941, 2.758), rotate: 0, - id: 'ledr_res' + id: 'IR10' }) -const conv_power_path_inductor = board.add(L_TDK_SLF12575, { +// conv.power_path.inductor +const IL2 = board.add(L_TDK_SLF12575, { translate: pt(0.280, 1.996), rotate: 0, - id: 'conv_power_path_inductor' + id: 'IL2' }) -const conv_power_path_in_cap_cap_c_0_ = board.add(C_0805_2012Metric, { +// conv.power_path.in_cap.cap.c[0] +const IC22 = board.add(C_0805_2012Metric, { translate: pt(0.398, 2.340), rotate: 0, - id: 'conv_power_path_in_cap_cap_c_0_' + id: 'IC22' }) -const conv_power_path_in_cap_cap_c_1_ = board.add(C_0805_2012Metric, { +// conv.power_path.in_cap.cap.c[1] +const IC23 = board.add(C_0805_2012Metric, { translate: pt(0.571, 2.340), rotate: 0, - id: 'conv_power_path_in_cap_cap_c_1_' + id: 'IC23' }) -const conv_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// conv.power_path.out_cap.cap +const IC24 = board.add(C_0805_2012Metric, { translate: pt(0.744, 2.340), rotate: 0, - id: 'conv_power_path_out_cap_cap' + id: 'IC24' }) -const conv_sw_driver_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// conv.sw.driver.ic +const IU9 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(0.744, 1.846), rotate: 0, - id: 'conv_sw_driver_ic' + id: 'IU9' }) -const conv_sw_driver_cap_cap = board.add(C_0603_1608Metric, { +// conv.sw.driver.cap.cap +const IC25 = board.add(C_0603_1608Metric, { translate: pt(0.909, 2.330), rotate: 0, - id: 'conv_sw_driver_cap_cap' + id: 'IC25' }) -const conv_sw_driver_boot_cap_cap = board.add(C_0603_1608Metric, { +// conv.sw.driver.boot_cap.cap +const IC26 = board.add(C_0603_1608Metric, { translate: pt(0.389, 2.446), rotate: 0, - id: 'conv_sw_driver_boot_cap_cap' + id: 'IC26' }) -const conv_sw_low_fet = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// conv.sw.low_fet +const IQ1 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(0.744, 2.098), rotate: 0, - id: 'conv_sw_low_fet' + id: 'IQ1' }) -const conv_sw_low_gate_res = board.add(R_0603_1608Metric, { +// conv.sw.low_gate_res +const IR11 = board.add(R_0603_1608Metric, { translate: pt(0.545, 2.446), rotate: 0, - id: 'conv_sw_low_gate_res' + id: 'IR11' }) -const conv_sw_high_fet = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// conv.sw.high_fet +const IQ2 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(0.146, 2.407), rotate: 0, - id: 'conv_sw_high_fet' + id: 'IQ2' }) -const conv_sw_high_gate_res = board.add(R_0603_1608Metric, { +// conv.sw.high_gate_res +const IR12 = board.add(R_0603_1608Metric, { translate: pt(0.701, 2.446), rotate: 0, - id: 'conv_sw_high_gate_res' + id: 'IR12' }) -const tp_conv_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_conv.tp +const ITP5 = board.add(TestPoint_TE_RCT_0805, { translate: pt(2.314, 3.097), rotate: 0, - id: 'tp_conv_tp' + id: 'ITP5' }) -const low_pull_res = board.add(R_0603_1608Metric, { +// low_pull.res +const IR13 = board.add(R_0603_1608Metric, { translate: pt(2.807, 3.088), rotate: 0, - id: 'low_pull_res' + id: 'IR13' }) -const low_rc_rc_r = board.add(R_0603_1608Metric, { - translate: pt(2.176, 2.661), rotate: 0, - id: 'low_rc_rc_r' +// low_rc.rc.r +const IR14 = board.add(R_0603_1608Metric, { + translate: pt(3.740, 2.661), rotate: 0, + id: 'IR14' }) -const low_rc_rc_c = board.add(C_0603_1608Metric, { - translate: pt(2.176, 2.757), rotate: 0, - id: 'low_rc_rc_c' +// low_rc.rc.c +const IC27 = board.add(C_0603_1608Metric, { + translate: pt(3.740, 2.757), rotate: 0, + id: 'IC27' }) -const high_pull_res = board.add(R_0603_1608Metric, { +// high_pull.res +const IR15 = board.add(R_0603_1608Metric, { translate: pt(3.041, 3.088), rotate: 0, - id: 'high_pull_res' + id: 'IR15' }) -const high_rc_rc_r = board.add(R_0603_1608Metric, { - translate: pt(3.114, 2.661), rotate: 0, - id: 'high_rc_rc_r' +// high_rc.rc.r +const IR16 = board.add(R_0603_1608Metric, { + translate: pt(3.270, 2.661), rotate: 0, + id: 'IR16' }) -const high_rc_rc_c = board.add(C_0603_1608Metric, { - translate: pt(3.114, 2.757), rotate: 0, - id: 'high_rc_rc_c' +// high_rc.rc.c +const IC28 = board.add(C_0603_1608Metric, { + translate: pt(3.270, 2.757), rotate: 0, + id: 'IC28' }) -const tp_pwm_l_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.063, 3.097), rotate: 0, - id: 'tp_pwm_l_tp' +// tp_pwm_l.tp +const ITP6 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.317, 3.097), rotate: 0, + id: 'ITP6' }) -const tp_pwm_h_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_pwm_h.tp +const ITP7 = board.add(TestPoint_TE_RCT_0805, { translate: pt(2.564, 3.097), rotate: 0, - id: 'tp_pwm_h_tp' + id: 'ITP7' }) -const touch_sink = board.add(Symbol_DucklingSolid, { +// touch_sink +const IU10 = board.add(Symbol_DucklingSolid, { translate: pt(3.566, 3.059), rotate: 0, - id: 'touch_sink' + id: 'IU10' }) -const iron_conn = board.add(PinHeader_1x03_P2_54mm_Vertical, { +// iron.conn +const IJ5 = board.add(PinHeader_1x03_P2_54mm_Vertical, { translate: pt(2.764, 2.010), rotate: 0, - id: 'iron_conn' + id: 'IJ5' }) -const iron_isense_res_res_res = board.add(R_2512_6332Metric, { +// iron.isense_res.res.res +const IR17 = board.add(R_2512_6332Metric, { translate: pt(2.843, 2.196), rotate: 0, - id: 'iron_isense_res_res_res' -}) -const vsense_div_top_res = board.add(R_0603_1608Metric, { - translate: pt(2.410, 2.661), rotate: 0, - id: 'vsense_div_top_res' -}) -const vsense_div_bottom_res = board.add(R_0603_1608Metric, { - translate: pt(2.410, 2.757), rotate: 0, - id: 'vsense_div_bottom_res' -}) -const tp_v_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.317, 3.097), rotate: 0, - id: 'tp_v_tp' -}) -const vfilt_rc_r = board.add(R_0603_1608Metric, { - translate: pt(3.584, 2.661), rotate: 0, - id: 'vfilt_rc_r' + id: 'IR17' }) -const vfilt_rc_c = board.add(C_0603_1608Metric, { - translate: pt(3.584, 2.757), rotate: 0, - id: 'vfilt_rc_c' +// vsense.div.top_res +const IR18 = board.add(R_0603_1608Metric, { + translate: pt(3.505, 2.661), rotate: 0, + id: 'IR18' }) -const ifilt_r1 = board.add(R_0603_1608Metric, { - translate: pt(2.645, 2.661), rotate: 0, - id: 'ifilt_r1' +// vsense.div.bottom_res +const IR19 = board.add(R_0603_1608Metric, { + translate: pt(3.505, 2.757), rotate: 0, + id: 'IR19' }) -const ifilt_r2 = board.add(R_0603_1608Metric, { - translate: pt(2.645, 2.757), rotate: 0, - id: 'ifilt_r2' -}) -const tp_i_rc_r = board.add(R_0603_1608Metric, { - translate: pt(3.349, 2.661), rotate: 0, - id: 'tp_i_rc_r' +// tp_v.tp +const ITP8 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.068, 3.097), rotate: 0, + id: 'ITP8' +}) +// vfilt.rc.r +const IR20 = board.add(R_0603_1608Metric, { + translate: pt(2.801, 2.661), rotate: 0, + id: 'IR20' +}) +// vfilt.rc.c +const IC29 = board.add(C_0603_1608Metric, { + translate: pt(2.801, 2.757), rotate: 0, + id: 'IC29' +}) +// ifilt.r1 +const IR21 = board.add(R_0603_1608Metric, { + translate: pt(3.974, 2.661), rotate: 0, + id: 'IR21' +}) +// ifilt.r2 +const IR22 = board.add(R_0603_1608Metric, { + translate: pt(3.974, 2.757), rotate: 0, + id: 'IR22' +}) +// tp_i.rc.r +const IR23 = board.add(R_0603_1608Metric, { + translate: pt(4.209, 2.661), rotate: 0, + id: 'IR23' }) -const tp_i_rc_c = board.add(C_0603_1608Metric, { - translate: pt(3.349, 2.757), rotate: 0, - id: 'tp_i_rc_c' +// tp_i.rc.c +const IC30 = board.add(C_0603_1608Metric, { + translate: pt(4.209, 2.757), rotate: 0, + id: 'IC30' }) -const iamp_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.567, 3.097), rotate: 0, - id: 'iamp_tp' +// iamp.tp +const ITP9 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.066, 3.097), rotate: 0, + id: 'ITP9' }) -const tamp_r1 = board.add(R_0603_1608Metric, { - translate: pt(4.053, 2.661), rotate: 0, - id: 'tamp_r1' +// tamp.r1 +const IR24 = board.add(R_0603_1608Metric, { + translate: pt(2.176, 2.661), rotate: 0, + id: 'IR24' }) -const tamp_r2 = board.add(R_0603_1608Metric, { - translate: pt(4.209, 2.661), rotate: 0, - id: 'tamp_r2' +// tamp.r2 +const IR25 = board.add(R_0603_1608Metric, { + translate: pt(2.332, 2.661), rotate: 0, + id: 'IR25' }) -const tamp_rf = board.add(R_0603_1608Metric, { - translate: pt(4.053, 2.757), rotate: 0, - id: 'tamp_rf' +// tamp.rf +const IR26 = board.add(R_0603_1608Metric, { + translate: pt(2.176, 2.757), rotate: 0, + id: 'IR26' }) -const tamp_rg = board.add(R_0603_1608Metric, { - translate: pt(4.209, 2.757), rotate: 0, - id: 'tamp_rg' +// tamp.rg +const IR27 = board.add(R_0603_1608Metric, { + translate: pt(2.332, 2.757), rotate: 0, + id: 'IR27' }) -const tp_t_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.563, 3.097), rotate: 0, - id: 'tp_t_tp' +// tp_t.tp +const ITP10 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.063, 3.097), rotate: 0, + id: 'ITP10' }) -const packed_opamp_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// packed_opamp.ic +const IU11 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(0.146, 2.738), rotate: 0, - id: 'packed_opamp_ic' + id: 'IU11' }) -const packed_opamp_vdd_cap_cap = board.add(C_0603_1608Metric, { +// packed_opamp.vdd_cap.cap +const IC31 = board.add(C_0603_1608Metric, { translate: pt(0.058, 2.913), rotate: 0, - id: 'packed_opamp_vdd_cap_cap' + id: 'IC31' }) +board.setNetlist([ + {name: "Ivusb", pads: [["IJ1", "A4"], ["IJ1", "B9"], ["IJ1", "B4"], ["IJ1", "A9"], ["IU4", "2"], ["ITP1", "1"], ["IU1", "3"], ["IU2", "3"], ["IR7", "1"], ["IR3", "1"], ["IC1", "1"], ["IC6", "1"], ["IC3", "1"], ["IC4", "1"], ["IQ2", "5"], ["IQ2", "6"], ["IQ2", "7"], ["IQ2", "8"], ["IC22", "1"], ["IC23", "1"]]}, + {name: "Ignd", pads: [["IU5", "3"], ["IJ1", "A1"], ["IJ1", "B12"], ["IJ1", "B1"], ["IJ1", "A12"], ["ITP2", "1"], ["IU1", "1"], ["ID1", "2"], ["IU2", "2"], ["IU3", "1"], ["IU3", "40"], ["IU3", "41"], ["IU4", "8"], ["IU4", "9"], ["IU4", "15"], ["IU6", "2"], ["ISW1", "C"], ["ISW1", "S2"], ["IU8", "3"], ["IU8", "11"], ["IU8", "15"], ["IU8", "17"], ["IR13", "1"], ["IR15", "1"], ["IR8", "2"], ["IC27", "2"], ["IC28", "2"], ["IR19", "2"], ["IC29", "2"], ["IC30", "2"], ["IJ1", "S1"], ["IR9", "2"], ["IR22", "2"], ["IC1", "2"], ["IC6", "2"], ["IC7", "2"], ["IC8", "2"], ["IC9", "2"], ["IJ2", "5"], ["IC11", "2"], ["IC12", "2"], ["IC13", "2"], ["IC16", "2"], ["IC17", "2"], ["IC18", "2"], ["IC19", "2"], ["IC20", "2"], ["IC21", "2"], ["IU11", "4"], ["IR2", "2"], ["IC10", "2"], ["IR17", "1"], ["IR27", "1"], ["IJ3", "8"], ["IJ3", "1"], ["IJ3", "30"], ["IJ3", "29"], ["IJ3", "17"], ["IJ3", "16"], ["IJ3", "21"], ["IJ3", "22"], ["IJ3", "23"], ["IJ3", "24"], ["IJ3", "25"], ["IJ3", "12"], ["IJ3", "10"], ["IJ3", "15"], ["IJ3", "13"], ["IQ1", "1"], ["IQ1", "2"], ["IQ1", "3"], ["IC5", "2"], ["IC24", "2"], ["IU9", "7"], ["IC31", "2"], ["IC3", "2"], ["IC4", "2"], ["IC22", "2"], ["IC23", "2"], ["IC25", "2"]]}, + {name: "Iv3v3", pads: [["ITP3", "1"], ["ID1", "1"], ["IU3", "2"], ["IU4", "3"], ["IU4", "4"], ["IU6", "5"], ["IU8", "4"], ["IU8", "7"], ["IU8", "8"], ["ID2", "2"], ["IU11", "8"], ["IR1", "1"], ["IC8", "1"], ["IC9", "1"], ["IJ2", "1"], ["IR5", "1"], ["IR6", "1"], ["IC11", "1"], ["IC12", "1"], ["IC13", "1"], ["IJ3", "9"], ["IJ3", "6"], ["IC17", "1"], ["IC18", "1"], ["IC20", "1"], ["IC21", "1"], ["IR4", "1"], ["IC31", "1"], ["IJ3", "11"], ["IL1", "2"], ["IC5", "1"]]}, + {name: "Ivgate", pads: [["IU2", "1"], ["ITP4", "1"], ["IU9", "1"], ["IC7", "1"], ["IC25", "1"]]}, + {name: "Iconv_out", pads: [["ITP5", "1"], ["IJ5", "2"], ["IR18", "1"], ["IL2", "2"], ["IC24", "1"]]}, + {name: "Ii2c_pull.i2c.scl", pads: [["IU3", "35"], ["IU4", "6"], ["IU6", "6"], ["IR5", "2"], ["IJ3", "18"]]}, + {name: "Ii2c_pull.i2c.sda", pads: [["IU3", "34"], ["IU4", "7"], ["IU6", "1"], ["IR6", "2"], ["IJ3", "19"], ["IJ3", "20"]]}, + {name: "Iusb.cc.cc1", pads: [["IJ1", "A5"], ["IU4", "10"], ["IU4", "11"]]}, + {name: "Iusb.cc.cc2", pads: [["IJ1", "B5"], ["IU4", "1"], ["IU4", "14"]]}, + {name: "Ipd.int", pads: [["IU3", "38"], ["IU4", "5"]]}, + {name: "Iusb_chain_0.d_P", pads: [["IJ1", "A6"], ["IJ1", "B6"], ["IU5", "2"], ["IU3", "14"]]}, + {name: "Iusb_chain_0.d_N", pads: [["IJ1", "A7"], ["IJ1", "B7"], ["IU5", "1"], ["IU3", "13"]]}, + {name: "Ivusb_sense.output", pads: [["IU3", "39"], ["IR7", "2"], ["IR8", "1"]]}, + {name: "Ienc.a", pads: [["IU3", "10"], ["ISW1", "A"]]}, + {name: "Ienc.b", pads: [["IU3", "9"], ["ISW1", "B"]]}, + {name: "Ienc.sw", pads: [["IU3", "8"], ["ISW1", "S1"]]}, + {name: "Ioled.reset", pads: [["IU3", "11"], ["IJ3", "14"]]}, + {name: "Ispk_drv.i2s.sck", pads: [["IU3", "32"], ["IU8", "16"]]}, + {name: "Ispk_drv.i2s.ws", pads: [["IU3", "31"], ["IU8", "14"]]}, + {name: "Ispk_drv.i2s.sd", pads: [["IU3", "33"], ["IU8", "1"]]}, + {name: "Ispk_drv.out.a", pads: [["IU8", "9"], ["IJ4", "1"]]}, + {name: "Ispk_drv.out.b", pads: [["IU8", "10"], ["IJ4", "2"]]}, + {name: "Imcu.program_boot_node", pads: [["IR10", "2"], ["IU3", "27"], ["IJ2", "2"]]}, + {name: "Ilow_pull.io", pads: [["IU3", "4"], ["IR13", "2"], ["IR14", "1"]]}, + {name: "Ilow_rc.output", pads: [["IU9", "6"], ["ITP6", "1"], ["IR14", "2"], ["IC27", "1"]]}, + {name: "Ihigh_pull.io", pads: [["IU3", "5"], ["IR15", "2"], ["IR16", "1"]]}, + {name: "Ihigh_rc.output", pads: [["IU9", "5"], ["ITP7", "1"], ["IR16", "2"], ["IC28", "1"]]}, + {name: "Itouch_sink.pad", pads: [["IU3", "15"], ["IU10", "1"]]}, + {name: "Ivsense.output", pads: [["ITP8", "1"], ["IR20", "1"], ["IR18", "2"], ["IR19", "1"]]}, + {name: "Ivfilt.output", pads: [["IU3", "6"], ["IR20", "2"], ["IC29", "1"]]}, + {name: "Iiron.isense", pads: [["IU11", "3"], ["IR24", "1"], ["IR17", "2"], ["IJ5", "1"]]}, + {name: "Iifilt.output", pads: [["IR23", "1"], ["IR21", "1"], ["IU11", "1"]]}, + {name: "Itp_i.output", pads: [["IU3", "7"], ["ITP9", "1"], ["IR23", "2"], ["IC30", "1"]]}, + {name: "Itamp.input_positive", pads: [["IR25", "1"], ["IJ5", "3"], ["ITP10", "1"]]}, + {name: "Itamp.output", pads: [["IU3", "12"], ["IR26", "1"], ["IU11", "7"]]}, + {name: "Ipacked_opamp.inn.0", pads: [["IU11", "2"], ["IR21", "2"], ["IR22", "1"]]}, + {name: "Ipacked_opamp.inp.1", pads: [["IU11", "5"], ["IR25", "2"], ["IR27", "2"]]}, + {name: "Ipacked_opamp.inn.1", pads: [["IU11", "6"], ["IR24", "2"], ["IR26", "2"]]}, + {name: "Ireg_3v3.fb.output", pads: [["IU1", "4"], ["IR1", "2"], ["IR2", "1"]]}, + {name: "Ireg_3v3.boot_cap.neg", pads: [["IC2", "2"], ["IU1", "2"], ["IL1", "1"]]}, + {name: "Ireg_3v3.boot_cap.pos", pads: [["IC2", "1"], ["IU1", "6"]]}, + {name: "Ireg_3v3.en_res.b", pads: [["IR3", "2"], ["IU1", "5"]]}, + {name: "Imcu.program_uart_node.a_tx", pads: [["IU3", "37"], ["IJ2", "3"]]}, + {name: "Imcu.program_uart_node.b_tx", pads: [["IU3", "36"], ["IJ2", "4"]]}, + {name: "Imcu.program_en_node", pads: [["IU3", "3"], ["IJ2", "6"], ["IR4", "2"], ["IC10", "1"]]}, + {name: "Ipd.ic.vconn", pads: [["IU4", "12"], ["IU4", "13"]]}, + {name: "Ioled.c1_cap.pos", pads: [["IC14", "1"], ["IJ3", "4"]]}, + {name: "Ioled.c1_cap.neg", pads: [["IC14", "2"], ["IJ3", "5"]]}, + {name: "Ioled.c2_cap.pos", pads: [["IC15", "1"], ["IJ3", "2"]]}, + {name: "Ioled.c2_cap.neg", pads: [["IC15", "2"], ["IJ3", "3"]]}, + {name: "Ioled.iref_res.a", pads: [["IR9", "1"], ["IJ3", "26"]]}, + {name: "Ioled.device.vcomh", pads: [["IJ3", "27"], ["IC16", "1"]]}, + {name: "Ioled.device.vcc", pads: [["IJ3", "28"], ["IC19", "1"]]}, + {name: "Iledr.res.a", pads: [["IR10", "1"], ["ID2", "1"]]}, + {name: "Iconv.sw_out_force", pads: [["IQ1", "5"], ["IQ1", "6"], ["IQ1", "7"], ["IQ1", "8"], ["IQ2", "1"], ["IQ2", "2"], ["IQ2", "3"], ["IL2", "1"], ["IU9", "4"], ["IC26", "2"]]}, + {name: "Iconv.sw.low_gate_res.a", pads: [["IR11", "1"], ["IU9", "8"]]}, + {name: "Iconv.sw.low_gate_res.b", pads: [["IR11", "2"], ["IQ1", "4"]]}, + {name: "Iconv.sw.high_gate_res.a", pads: [["IR12", "1"], ["IU9", "3"]]}, + {name: "Iconv.sw.high_gate_res.b", pads: [["IR12", "2"], ["IQ2", "4"]]}, + {name: "Iconv.sw.driver.ic.hb", pads: [["IU9", "2"], ["IC26", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(4.385236220472439, 3.2523622047244096); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/IotKnob/IotKnob.svgpcb.js b/examples/IotKnob/IotKnob.svgpcb.js index 42cf418d2..72846ba00 100644 --- a/examples/IotKnob/IotKnob.svgpcb.js +++ b/examples/IotKnob/IotKnob.svgpcb.js @@ -1,283 +1,433 @@ const board = new PCB(); -const rgb_knob = NeopixelArrayCircular_4_rgb_knob(pt(0, 0)) -const rgb_ring = NeopixelArrayCircular_24_rgb_ring(pt(0, 0)) -const rgb_sw = NeopixelArrayCircular_6_rgb_sw(pt(0, 0)) -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { - translate: pt(3.095, 2.890), rotate: 0, - id: 'jlc_th_th1' -}) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { - translate: pt(3.135, 2.890), rotate: 0, - id: 'jlc_th_th2' -}) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { - translate: pt(3.095, 2.929), rotate: 0, - id: 'jlc_th_th3' -}) -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { - translate: pt(1.115, 1.905), rotate: 0, - id: 'usb_conn' -}) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { - translate: pt(0.964, 2.160), rotate: 0, - id: 'usb_cc_pull_cc1_res' -}) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { - translate: pt(1.120, 2.160), rotate: 0, - id: 'usb_cc_pull_cc2_res' -}) -const tp_pwr_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.741, 2.927), rotate: 0, - id: 'tp_pwr_tp' -}) -const tp_gnd_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.240, 2.927), rotate: 0, - id: 'tp_gnd_tp' -}) -const reg_3v3_ic = board.add(SOT_223_3_TabPin2, { - translate: pt(2.403, 1.882), rotate: 0, - id: 'reg_3v3_ic' -}) -const reg_3v3_in_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(2.461, 2.092), rotate: 0, - id: 'reg_3v3_in_cap_cap' -}) -const reg_3v3_out_cap_cap = board.add(C_0805_2012Metric, { - translate: pt(2.297, 2.102), rotate: 0, - id: 'reg_3v3_out_cap_cap' -}) -const tp_3v3_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.486, 2.927), rotate: 0, - id: 'tp_3v3_tp' -}) -const prot_3v3_diode = board.add(D_SOD_323, { - translate: pt(1.988, 2.927), rotate: 0, - id: 'prot_3v3_diode' -}) -const mcu_ic = board.add(ESP32_S3_WROOM_1, { - translate: pt(0.945, 0.530), rotate: 0, - id: 'mcu_ic' -}) -const mcu_vcc_cap0_cap = board.add(C_1206_3216Metric, { - translate: pt(2.020, 0.419), rotate: 0, - id: 'mcu_vcc_cap0_cap' -}) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { - translate: pt(2.208, 0.403), rotate: 0, - id: 'mcu_vcc_cap1_cap' -}) -const mcu_prog_conn = board.add(Tag_Connect_TC2030_IDC_FP_2x03_P1_27mm_Vertical, { - translate: pt(2.096, 0.167), rotate: 0, - id: 'mcu_prog_conn' -}) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { - translate: pt(2.364, 0.403), rotate: 0, - id: 'mcu_en_pull_rc_r' -}) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { - translate: pt(1.987, 0.533), rotate: 0, - id: 'mcu_en_pull_rc_c' -}) -const i2c_pull_scl_res_res = board.add(R_0603_1608Metric, { - translate: pt(0.763, 2.919), rotate: 0, - id: 'i2c_pull_scl_res_res' -}) -const i2c_pull_sda_res_res = board.add(R_0603_1608Metric, { - translate: pt(0.763, 3.015), rotate: 0, - id: 'i2c_pull_sda_res_res' -}) -const i2c_tp_tp_scl_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.702, 2.585), rotate: 0, - id: 'i2c_tp_tp_scl_tp' -}) -const i2c_tp_tp_sda_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.702, 2.699), rotate: 0, - id: 'i2c_tp_tp_sda_tp' -}) -const usb_esd = board.add(SOT_23, { - translate: pt(2.980, 2.957), rotate: 0, - id: 'usb_esd' -}) -const ledr_package = board.add(LED_0603_1608Metric, { - translate: pt(0.058, 2.919), rotate: 0, - id: 'ledr_package' -}) -const ledr_res = board.add(R_0603_1608Metric, { - translate: pt(0.058, 3.016), rotate: 0, - id: 'ledr_res' -}) -const ledy_package = board.add(LED_0603_1608Metric, { - translate: pt(0.293, 2.919), rotate: 0, - id: 'ledy_package' -}) -const ledy_res = board.add(R_0603_1608Metric, { - translate: pt(0.293, 3.016), rotate: 0, - id: 'ledy_res' -}) -const enc_package = board.add(RotaryEncoder_Alps_EC11J15_Switch, { - translate: pt(0.394, 2.085), rotate: 0, - id: 'enc_package' -}) -const sw_0__package = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(0.620, 2.659), rotate: 0, - id: 'sw_0__package' -}) -const sw_1__package = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(3.957, 1.852), rotate: 0, - id: 'sw_1__package' -}) -const sw_2__package = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(1.073, 2.659), rotate: 0, - id: 'sw_2__package' -}) -const sw_3__package = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(0.167, 2.659), rotate: 0, - id: 'sw_3__package' -}) -const sw_4__package = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(1.978, 2.659), rotate: 0, - id: 'sw_4__package' -}) -const sw_5__package = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(1.526, 2.659), rotate: 0, - id: 'sw_5__package' -}) -const als_ic = board.add(HVSOF6, { - translate: pt(3.956, 2.589), rotate: 0, - id: 'als_ic' -}) -const als_vcc_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(4.122, 2.576), rotate: 0, - id: 'als_vcc_cap_cap' -}) -const als_dvi_res = board.add(R_0603_1608Metric, { - translate: pt(3.945, 2.698), rotate: 0, - id: 'als_dvi_res' -}) -const als_dvi_cap = board.add(C_0603_1608Metric, { - translate: pt(4.101, 2.698), rotate: 0, - id: 'als_dvi_cap' -}) -const dist_ic = board.add(ST_VL53L0X, { - translate: pt(3.478, 1.798), rotate: 0, - id: 'dist_ic' -}) -const dist_vdd_cap_0__cap = board.add(C_0603_1608Metric, { - translate: pt(3.613, 1.922), rotate: 0, - id: 'dist_vdd_cap_0__cap' -}) -const dist_vdd_cap_1__cap = board.add(C_0805_2012Metric, { - translate: pt(3.449, 1.932), rotate: 0, - id: 'dist_vdd_cap_1__cap' -}) -const env_ic = board.add(Sensirion_DFN_4_1EP_2x2mm_P1mm_EP0_7x1_6mm, { - translate: pt(3.459, 2.596), rotate: 0, - id: 'env_ic' -}) -const env_vdd_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(3.460, 2.714), rotate: 0, - id: 'env_vdd_cap_cap' -}) -const oled_device_conn = board.add(Hirose_FH12_30S_0_5SH_1x30_1MP_P0_50mm_Horizontal, { - translate: pt(2.956, 1.054), rotate: 0, - id: 'oled_device_conn' -}) -const oled_lcd = board.add(Lcd_Er_Oled0_96_1_1_Outline, { - translate: pt(3.066, 0.516), rotate: 0, - id: 'oled_lcd' -}) -const oled_c1_cap = board.add(C_0603_1608Metric, { - translate: pt(3.815, 0.889), rotate: 0, - id: 'oled_c1_cap' -}) -const oled_c2_cap = board.add(C_0603_1608Metric, { - translate: pt(3.971, 0.889), rotate: 0, - id: 'oled_c2_cap' -}) -const oled_iref_res = board.add(R_0603_1608Metric, { - translate: pt(3.469, 1.006), rotate: 0, - id: 'oled_iref_res' -}) -const oled_vcomh_cap_cap = board.add(C_0805_2012Metric, { - translate: pt(3.477, 0.899), rotate: 0, - id: 'oled_vcomh_cap_cap' -}) -const oled_vdd_cap1_cap = board.add(C_0603_1608Metric, { - translate: pt(3.624, 1.006), rotate: 0, - id: 'oled_vdd_cap1_cap' -}) -const oled_vbat_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(3.780, 1.006), rotate: 0, - id: 'oled_vbat_cap_cap' -}) -const oled_vcc_cap_cap = board.add(C_0805_2012Metric, { - translate: pt(3.650, 0.899), rotate: 0, - id: 'oled_vcc_cap_cap' -}) -const rgb_shift_ic = board.add(SOT_23_5, { - translate: pt(3.183, 1.807), rotate: 0, - id: 'rgb_shift_ic' -}) -const rgb_shift_vdd_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(3.161, 1.942), rotate: 0, - id: 'rgb_shift_vdd_cap_cap' -}) -const rgb_tp_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.490, 2.927), rotate: 0, - id: 'rgb_tp_tp' -}) -const io8_pur_res = board.add(R_0603_1608Metric, { - translate: pt(2.728, 2.919), rotate: 0, - id: 'io8_pur_res' -}) -const spk_dac_rc_r = board.add(R_0603_1608Metric, { - translate: pt(0.528, 2.919), rotate: 0, - id: 'spk_dac_rc_r' -}) -const spk_dac_rc_c = board.add(C_0603_1608Metric, { - translate: pt(0.528, 3.015), rotate: 0, - id: 'spk_dac_rc_c' -}) -const spk_tp_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.235, 2.927), rotate: 0, - id: 'spk_tp_tp' -}) -const spk_drv_ic = board.add(MSOP_8_3x3mm_P0_65mm, { - translate: pt(2.820, 1.809), rotate: 0, - id: 'spk_drv_ic' -}) -const spk_drv_pwr_cap0_cap = board.add(C_0603_1608Metric, { - translate: pt(2.926, 1.946), rotate: 0, - id: 'spk_drv_pwr_cap0_cap' -}) -const spk_drv_pwr_cap1_cap = board.add(C_0805_2012Metric, { - translate: pt(2.761, 1.956), rotate: 0, - id: 'spk_drv_pwr_cap1_cap' -}) -const spk_drv_inp_cap = board.add(C_0603_1608Metric, { - translate: pt(2.753, 2.063), rotate: 0, - id: 'spk_drv_inp_cap' -}) -const spk_drv_inn_cap = board.add(C_0603_1608Metric, { - translate: pt(2.909, 2.063), rotate: 0, - id: 'spk_drv_inn_cap' -}) -const spk_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(2.360, 2.677), rotate: 0, - id: 'spk_conn' -}) -const v5v_sense_div_top_res = board.add(R_0603_1608Metric, { - translate: pt(0.997, 2.919), rotate: 0, - id: 'v5v_sense_div_top_res' -}) -const v5v_sense_div_bottom_res = board.add(R_0603_1608Metric, { - translate: pt(0.997, 3.015), rotate: 0, - id: 'v5v_sense_div_bottom_res' -}) +const rgb_knob = NeopixelArrayCircular_4_rgb_knob(pt(1.039, 1.039)) +const rgb_ring = NeopixelArrayCircular_24_rgb_ring(pt(3.157, 1.039)) +const rgb_sw = NeopixelArrayCircular_6_rgb_sw(pt(5.276, 1.039)) +// jlc_th.th1 +const KH1 = board.add(JlcToolingHole_1_152mm, { + translate: pt(1.922, 3.858), rotate: 0, + id: 'KH1' +}) +// jlc_th.th2 +const KH2 = board.add(JlcToolingHole_1_152mm, { + translate: pt(1.961, 3.858), rotate: 0, + id: 'KH2' +}) +// jlc_th.th3 +const KH3 = board.add(JlcToolingHole_1_152mm, { + translate: pt(1.922, 3.898), rotate: 0, + id: 'KH3' +}) +// usb.conn +const KJ1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { + translate: pt(5.262, 2.283), rotate: 0, + id: 'KJ1' +}) +// usb.cc_pull.cc1.res +const KR1 = board.add(R_0603_1608Metric, { + translate: pt(5.111, 2.538), rotate: 0, + id: 'KR1' +}) +// usb.cc_pull.cc2.res +const KR2 = board.add(R_0603_1608Metric, { + translate: pt(5.267, 2.538), rotate: 0, + id: 'KR2' +}) +// tp_pwr.tp +const KTP1 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.567, 3.896), rotate: 0, + id: 'KTP1' +}) +// tp_gnd.tp +const KTP2 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.066, 3.896), rotate: 0, + id: 'KTP2' +}) +// reg_3v3.ic +const KU1 = board.add(SOT_223_3_TabPin2, { + translate: pt(5.763, 2.260), rotate: 0, + id: 'KU1' +}) +// reg_3v3.in_cap.cap +const KC1 = board.add(C_0603_1608Metric, { + translate: pt(5.821, 2.470), rotate: 0, + id: 'KC1' +}) +// reg_3v3.out_cap.cap +const KC2 = board.add(C_0805_2012Metric, { + translate: pt(5.657, 2.480), rotate: 0, + id: 'KC2' +}) +// tp_3v3.tp +const KTP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.817, 3.896), rotate: 0, + id: 'KTP3' +}) +// prot_3v3.diode +const KD1 = board.add(D_SOD_323, { + translate: pt(1.065, 3.896), rotate: 0, + id: 'KD1' +}) +// mcu.ic +const KU2 = board.add(ESP32_S3_WROOM_1, { + translate: pt(0.945, 2.648), rotate: 0, + id: 'KU2' +}) +// mcu.vcc_cap0.cap +const KC3 = board.add(C_1206_3216Metric, { + translate: pt(2.020, 2.537), rotate: 0, + id: 'KC3' +}) +// mcu.vcc_cap1.cap +const KC4 = board.add(C_0603_1608Metric, { + translate: pt(2.208, 2.521), rotate: 0, + id: 'KC4' +}) +// mcu.prog.conn +const KJ2 = board.add(Tag_Connect_TC2030_IDC_FP_2x03_P1_27mm_Vertical, { + translate: pt(2.096, 2.285), rotate: 0, + id: 'KJ2' +}) +// mcu.en_pull.rc.r +const KR3 = board.add(R_0603_1608Metric, { + translate: pt(2.364, 2.521), rotate: 0, + id: 'KR3' +}) +// mcu.en_pull.rc.c +const KC5 = board.add(C_0603_1608Metric, { + translate: pt(1.987, 2.651), rotate: 0, + id: 'KC5' +}) +// i2c_pull.scl_res.res +const KR4 = board.add(R_0603_1608Metric, { + translate: pt(5.948, 3.437), rotate: 0, + id: 'KR4' +}) +// i2c_pull.sda_res.res +const KR5 = board.add(R_0603_1608Metric, { + translate: pt(5.948, 3.533), rotate: 0, + id: 'KR5' +}) +// i2c_tp.tp_scl.tp +const KTP4 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(4.589, 3.445), rotate: 0, + id: 'KTP4' +}) +// i2c_tp.tp_sda.tp +const KTP5 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(4.589, 3.559), rotate: 0, + id: 'KTP5' +}) +// usb_esd +const KU3 = board.add(SOT_23, { + translate: pt(1.807, 3.925), rotate: 0, + id: 'KU3' +}) +// ledr.package +const KD2 = board.add(LED_0603_1608Metric, { + translate: pt(5.478, 3.437), rotate: 0, + id: 'KD2' +}) +// ledr.res +const KR6 = board.add(R_0603_1608Metric, { + translate: pt(5.478, 3.534), rotate: 0, + id: 'KR6' +}) +// ledy.package +const KD3 = board.add(LED_0603_1608Metric, { + translate: pt(5.244, 3.437), rotate: 0, + id: 'KD3' +}) +// ledy.res +const KR7 = board.add(R_0603_1608Metric, { + translate: pt(5.243, 3.534), rotate: 0, + id: 'KR7' +}) +// enc.package +const KSW1 = board.add(RotaryEncoder_Alps_EC11J15_Switch, { + translate: pt(4.541, 2.463), rotate: 0, + id: 'KSW1' +}) +// sw[0].package +const KSW2 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(5.455, 3.037), rotate: 0, + id: 'KSW2' +}) +// sw[1].package +const KSW3 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(3.613, 3.520), rotate: 0, + id: 'KSW3' +}) +// sw[2].package +const KSW4 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(5.002, 3.037), rotate: 0, + id: 'KSW4' +}) +// sw[3].package +const KSW5 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(3.160, 3.520), rotate: 0, + id: 'KSW5' +}) +// sw[4].package +const KSW6 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(2.707, 3.520), rotate: 0, + id: 'KSW6' +}) +// sw[5].package +const KSW7 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(5.907, 3.037), rotate: 0, + id: 'KSW7' +}) +// als.ic +const KU4 = board.add(HVSOF6, { + translate: pt(4.842, 3.449), rotate: 0, + id: 'KU4' +}) +// als.vcc_cap.cap +const KC6 = board.add(C_0603_1608Metric, { + translate: pt(5.009, 3.437), rotate: 0, + id: 'KC6' +}) +// als.dvi_res +const KR8 = board.add(R_0603_1608Metric, { + translate: pt(4.831, 3.559), rotate: 0, + id: 'KR8' +}) +// als.dvi_cap +const KC7 = board.add(C_0603_1608Metric, { + translate: pt(4.987, 3.559), rotate: 0, + id: 'KC7' +}) +// dist.ic +const KU5 = board.add(ST_VL53L0X, { + translate: pt(4.244, 2.983), rotate: 0, + id: 'KU5' +}) +// dist.vdd_cap[0].cap +const KC8 = board.add(C_0603_1608Metric, { + translate: pt(4.379, 3.107), rotate: 0, + id: 'KC8' +}) +// dist.vdd_cap[1].cap +const KC9 = board.add(C_0805_2012Metric, { + translate: pt(4.214, 3.117), rotate: 0, + id: 'KC9' +}) +// env.ic +const KU6 = board.add(Sensirion_DFN_4_1EP_2x2mm_P1mm_EP0_7x1_6mm, { + translate: pt(4.345, 3.457), rotate: 0, + id: 'KU6' +}) +// env.vdd_cap.cap +const KC10 = board.add(C_0603_1608Metric, { + translate: pt(4.346, 3.574), rotate: 0, + id: 'KC10' +}) +// oled.device.conn +const KJ3 = board.add(Hirose_FH12_30S_0_5SH_1x30_1MP_P0_50mm_Horizontal, { + translate: pt(2.956, 3.172), rotate: 0, + id: 'KJ3' +}) +// oled.lcd +const KU7 = board.add(Lcd_Er_Oled0_96_1_1_Outline, { + translate: pt(3.066, 2.634), rotate: 0, + id: 'KU7' +}) +// oled.c1_cap +const KC11 = board.add(C_0603_1608Metric, { + translate: pt(3.815, 3.007), rotate: 0, + id: 'KC11' +}) +// oled.c2_cap +const KC12 = board.add(C_0603_1608Metric, { + translate: pt(3.971, 3.007), rotate: 0, + id: 'KC12' +}) +// oled.iref_res +const KR9 = board.add(R_0603_1608Metric, { + translate: pt(3.469, 3.124), rotate: 0, + id: 'KR9' +}) +// oled.vcomh_cap.cap +const KC13 = board.add(C_0805_2012Metric, { + translate: pt(3.477, 3.017), rotate: 0, + id: 'KC13' +}) +// oled.vdd_cap1.cap +const KC14 = board.add(C_0603_1608Metric, { + translate: pt(3.624, 3.124), rotate: 0, + id: 'KC14' +}) +// oled.vbat_cap.cap +const KC15 = board.add(C_0603_1608Metric, { + translate: pt(3.780, 3.124), rotate: 0, + id: 'KC15' +}) +// oled.vcc_cap.cap +const KC16 = board.add(C_0805_2012Metric, { + translate: pt(3.650, 3.017), rotate: 0, + id: 'KC16' +}) +// rgb_shift.ic +const KU8 = board.add(SOT_23_5, { + translate: pt(4.636, 2.992), rotate: 0, + id: 'KU8' +}) +// rgb_shift.vdd_cap.cap +const KC17 = board.add(C_0603_1608Metric, { + translate: pt(4.613, 3.127), rotate: 0, + id: 'KC17' +}) +// rgb_tp.tp +const KTP6 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.312, 3.896), rotate: 0, + id: 'KTP6' +}) +// io8_pur.res +const KR10 = board.add(R_0603_1608Metric, { + translate: pt(1.555, 3.887), rotate: 0, + id: 'KR10' +}) +// spk_dac.rc.r +const KR11 = board.add(R_0603_1608Metric, { + translate: pt(5.713, 3.437), rotate: 0, + id: 'KR11' +}) +// spk_dac.rc.c +const KC18 = board.add(C_0603_1608Metric, { + translate: pt(5.713, 3.533), rotate: 0, + id: 'KC18' +}) +// spk_tp.tp +const KTP7 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.317, 3.896), rotate: 0, + id: 'KTP7' +}) +// spk_drv.ic +const KU9 = board.add(MSOP_8_3x3mm_P0_65mm, { + translate: pt(6.180, 2.187), rotate: 0, + id: 'KU9' +}) +// spk_drv.pwr_cap0.cap +const KC19 = board.add(C_0603_1608Metric, { + translate: pt(6.286, 2.324), rotate: 0, + id: 'KC19' +}) +// spk_drv.pwr_cap1.cap +const KC20 = board.add(C_0805_2012Metric, { + translate: pt(6.121, 2.334), rotate: 0, + id: 'KC20' +}) +// spk_drv.inp_cap +const KC21 = board.add(C_0603_1608Metric, { + translate: pt(6.113, 2.441), rotate: 0, + id: 'KC21' +}) +// spk_drv.inn_cap +const KC22 = board.add(C_0603_1608Metric, { + translate: pt(6.269, 2.441), rotate: 0, + id: 'KC22' +}) +// spk.conn +const KJ4 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { + translate: pt(3.995, 3.538), rotate: 0, + id: 'KJ4' +}) +// v5v_sense.div.top_res +const KR12 = board.add(R_0603_1608Metric, { + translate: pt(6.182, 3.437), rotate: 0, + id: 'KR12' +}) +// v5v_sense.div.bottom_res +const KR13 = board.add(R_0603_1608Metric, { + translate: pt(6.182, 3.533), rotate: 0, + id: 'KR13' +}) + +board.setNetlist([ + {name: "Kvusb", pads: [["KJ1", "A4"], ["KJ1", "B9"], ["KJ1", "B4"], ["KJ1", "A9"], ["KTP1", "1"], ["KU1", "3"], ["KU8", "5"], ["KD4", "2"], ["KD5", "2"], ["KD6", "2"], ["KD7", "2"], ["KD8", "2"], ["KD9", "2"], ["KD10", "2"], ["KD11", "2"], ["KD12", "2"], ["KD13", "2"], ["KD14", "2"], ["KD15", "2"], ["KD16", "2"], ["KD17", "2"], ["KD18", "2"], ["KD19", "2"], ["KD20", "2"], ["KD21", "2"], ["KD22", "2"], ["KD23", "2"], ["KD24", "2"], ["KD25", "2"], ["KD26", "2"], ["KD27", "2"], ["KD28", "2"], ["KD29", "2"], ["KD30", "2"], ["KD31", "2"], ["KD32", "2"], ["KD33", "2"], ["KD34", "2"], ["KD35", "2"], ["KD36", "2"], ["KD37", "2"], ["KU9", "1"], ["KU9", "6"], ["KR12", "1"], ["KC1", "1"], ["KC17", "1"], ["KC19", "1"], ["KC20", "1"]]}, + {name: "Kgnd", pads: [["KU3", "3"], ["KJ1", "A1"], ["KJ1", "B12"], ["KJ1", "B1"], ["KJ1", "A12"], ["KTP2", "1"], ["KU1", "1"], ["KD1", "2"], ["KU2", "1"], ["KU2", "40"], ["KU2", "41"], ["KR6", "2"], ["KR7", "2"], ["KSW1", "C"], ["KSW1", "S2"], ["KSW2", "2"], ["KSW3", "2"], ["KSW4", "2"], ["KSW5", "2"], ["KSW6", "2"], ["KSW7", "2"], ["KU4", "2"], ["KU4", "3"], ["KU5", "2"], ["KU5", "3"], ["KU5", "4"], ["KU5", "6"], ["KU5", "12"], ["KU6", "4"], ["KU6", "5"], ["KU8", "1"], ["KU8", "3"], ["KD4", "4"], ["KD5", "4"], ["KD6", "4"], ["KD7", "4"], ["KD8", "4"], ["KD9", "4"], ["KD10", "4"], ["KD11", "4"], ["KD12", "4"], ["KD13", "4"], ["KD14", "4"], ["KD15", "4"], ["KD16", "4"], ["KD17", "4"], ["KD18", "4"], ["KD19", "4"], ["KD20", "4"], ["KD21", "4"], ["KD22", "4"], ["KD23", "4"], ["KD24", "4"], ["KD25", "4"], ["KD26", "4"], ["KD27", "4"], ["KD28", "4"], ["KD29", "4"], ["KD30", "4"], ["KD31", "4"], ["KD32", "4"], ["KD33", "4"], ["KD34", "4"], ["KD35", "4"], ["KD36", "4"], ["KD37", "4"], ["KU9", "7"], ["KC18", "2"], ["KR13", "2"], ["KJ1", "S1"], ["KC7", "2"], ["KR9", "2"], ["KC22", "2"], ["KC1", "2"], ["KC2", "2"], ["KC3", "2"], ["KC4", "2"], ["KJ2", "5"], ["KC6", "2"], ["KC8", "2"], ["KC9", "2"], ["KC10", "2"], ["KC13", "2"], ["KC14", "2"], ["KC15", "2"], ["KC16", "2"], ["KC17", "2"], ["KC19", "2"], ["KC20", "2"], ["KC5", "2"], ["KR1", "1"], ["KR2", "1"], ["KJ3", "8"], ["KJ3", "1"], ["KJ3", "30"], ["KJ3", "29"], ["KJ3", "17"], ["KJ3", "16"], ["KJ3", "21"], ["KJ3", "22"], ["KJ3", "23"], ["KJ3", "24"], ["KJ3", "25"], ["KJ3", "12"], ["KJ3", "10"], ["KJ3", "15"], ["KJ3", "13"]]}, + {name: "Kv3v3", pads: [["KU1", "2"], ["KTP3", "1"], ["KD1", "1"], ["KU2", "2"], ["KU4", "1"], ["KU5", "1"], ["KU5", "11"], ["KU6", "1"], ["KR10", "1"], ["KC2", "1"], ["KR8", "1"], ["KU5", "5"], ["KC3", "1"], ["KC4", "1"], ["KJ2", "1"], ["KR4", "1"], ["KR5", "1"], ["KC6", "1"], ["KC8", "1"], ["KC9", "1"], ["KC10", "1"], ["KJ3", "9"], ["KJ3", "6"], ["KC14", "1"], ["KC15", "1"], ["KR3", "1"], ["KJ3", "11"]]}, + {name: "Ki2c_chain_0.scl", pads: [["KU2", "33"], ["KU4", "6"], ["KU5", "10"], ["KU6", "2"], ["KR4", "2"], ["KTP4", "1"], ["KJ3", "18"]]}, + {name: "Ki2c_chain_0.sda", pads: [["KU2", "32"], ["KU4", "4"], ["KU5", "9"], ["KU6", "3"], ["KR5", "2"], ["KTP5", "1"], ["KJ3", "19"], ["KJ3", "20"]]}, + {name: "Kusb_chain_0.d_P", pads: [["KJ1", "A6"], ["KJ1", "B6"], ["KU3", "2"], ["KU2", "14"]]}, + {name: "Kusb_chain_0.d_N", pads: [["KJ1", "A7"], ["KJ1", "B7"], ["KU3", "1"], ["KU2", "13"]]}, + {name: "Kledr.signal", pads: [["KU2", "25"], ["KD2", "2"]]}, + {name: "Kledy.signal", pads: [["KU2", "24"], ["KD3", "2"]]}, + {name: "Kenc.a", pads: [["KU2", "12"], ["KSW1", "A"]]}, + {name: "Kenc.b", pads: [["KU2", "11"], ["KSW1", "B"]]}, + {name: "Kenc.sw", pads: [["KU2", "31"], ["KSW1", "S1"]]}, + {name: "Ksw[0].out", pads: [["KU2", "4"], ["KSW2", "1"]]}, + {name: "Ksw[1].out", pads: [["KU2", "6"], ["KSW3", "1"]]}, + {name: "Ksw[2].out", pads: [["KU2", "7"], ["KSW4", "1"]]}, + {name: "Ksw[3].out", pads: [["KU2", "35"], ["KSW5", "1"]]}, + {name: "Ksw[4].out", pads: [["KU2", "38"], ["KSW6", "1"]]}, + {name: "Ksw[5].out", pads: [["KU2", "39"], ["KSW7", "1"]]}, + {name: "Koled.reset", pads: [["KU2", "8"], ["KJ3", "14"]]}, + {name: "Kio8_pur.io", pads: [["KU2", "10"], ["KU8", "2"], ["KR10", "2"]]}, + {name: "Krgb_shift.output", pads: [["KU8", "4"], ["KD4", "1"], ["KTP6", "1"]]}, + {name: "Krgb_knob.dout", pads: [["KD7", "3"], ["KD8", "1"]]}, + {name: "Krgb_ring.dout", pads: [["KD31", "3"], ["KD32", "1"]]}, + {name: "Kspk_dac.input", pads: [["KU2", "9"], ["KR11", "1"]]}, + {name: "Kspk_dac.output", pads: [["KTP7", "1"], ["KC21", "2"], ["KR11", "2"], ["KC18", "1"]]}, + {name: "Kspk_drv.spk.a", pads: [["KU9", "5"], ["KJ4", "1"]]}, + {name: "Kspk_drv.spk.b", pads: [["KU9", "8"], ["KJ4", "2"]]}, + {name: "Kv5v_sense.output", pads: [["KU2", "5"], ["KR12", "2"], ["KR13", "1"]]}, + {name: "Kusb.conn.cc.cc1", pads: [["KJ1", "A5"], ["KR1", "2"]]}, + {name: "Kusb.conn.cc.cc2", pads: [["KJ1", "B5"], ["KR2", "2"]]}, + {name: "Kmcu.program_uart_node.a_tx", pads: [["KU2", "37"], ["KJ2", "3"]]}, + {name: "Kmcu.program_uart_node.b_tx", pads: [["KU2", "36"], ["KJ2", "4"]]}, + {name: "Kmcu.program_en_node", pads: [["KU2", "3"], ["KJ2", "6"], ["KR3", "2"], ["KC5", "1"]]}, + {name: "Kmcu.program_boot_node", pads: [["KU2", "27"], ["KJ2", "2"]]}, + {name: "Kledr.res.a", pads: [["KR6", "1"], ["KD2", "1"]]}, + {name: "Kledy.res.a", pads: [["KR7", "1"], ["KD3", "1"]]}, + {name: "Kals.dvi_res.b", pads: [["KR8", "2"], ["KU4", "5"], ["KC7", "1"]]}, + {name: "Kdist.ic.gpio1", pads: [["KU5", "7"]]}, + {name: "Koled.c1_cap.pos", pads: [["KC11", "1"], ["KJ3", "4"]]}, + {name: "Koled.c1_cap.neg", pads: [["KC11", "2"], ["KJ3", "5"]]}, + {name: "Koled.c2_cap.pos", pads: [["KC12", "1"], ["KJ3", "2"]]}, + {name: "Koled.c2_cap.neg", pads: [["KC12", "2"], ["KJ3", "3"]]}, + {name: "Koled.iref_res.a", pads: [["KR9", "1"], ["KJ3", "26"]]}, + {name: "Koled.device.vcomh", pads: [["KJ3", "27"], ["KC13", "1"]]}, + {name: "Koled.device.vcc", pads: [["KJ3", "28"], ["KC16", "1"]]}, + {name: "Krgb_knob.led[0].dout", pads: [["KD4", "3"], ["KD5", "1"]]}, + {name: "Krgb_knob.led[1].dout", pads: [["KD5", "3"], ["KD6", "1"]]}, + {name: "Krgb_knob.led[2].dout", pads: [["KD6", "3"], ["KD7", "1"]]}, + {name: "Krgb_ring.led[0].dout", pads: [["KD8", "3"], ["KD9", "1"]]}, + {name: "Krgb_ring.led[1].dout", pads: [["KD9", "3"], ["KD10", "1"]]}, + {name: "Krgb_ring.led[2].dout", pads: [["KD10", "3"], ["KD11", "1"]]}, + {name: "Krgb_ring.led[3].dout", pads: [["KD11", "3"], ["KD12", "1"]]}, + {name: "Krgb_ring.led[4].dout", pads: [["KD12", "3"], ["KD13", "1"]]}, + {name: "Krgb_ring.led[5].dout", pads: [["KD13", "3"], ["KD14", "1"]]}, + {name: "Krgb_ring.led[6].dout", pads: [["KD14", "3"], ["KD15", "1"]]}, + {name: "Krgb_ring.led[7].dout", pads: [["KD15", "3"], ["KD16", "1"]]}, + {name: "Krgb_ring.led[8].dout", pads: [["KD16", "3"], ["KD17", "1"]]}, + {name: "Krgb_ring.led[9].dout", pads: [["KD17", "3"], ["KD18", "1"]]}, + {name: "Krgb_ring.led[10].dout", pads: [["KD18", "3"], ["KD19", "1"]]}, + {name: "Krgb_ring.led[11].dout", pads: [["KD19", "3"], ["KD20", "1"]]}, + {name: "Krgb_ring.led[12].dout", pads: [["KD20", "3"], ["KD21", "1"]]}, + {name: "Krgb_ring.led[13].dout", pads: [["KD21", "3"], ["KD22", "1"]]}, + {name: "Krgb_ring.led[14].dout", pads: [["KD22", "3"], ["KD23", "1"]]}, + {name: "Krgb_ring.led[15].dout", pads: [["KD23", "3"], ["KD24", "1"]]}, + {name: "Krgb_ring.led[16].dout", pads: [["KD24", "3"], ["KD25", "1"]]}, + {name: "Krgb_ring.led[17].dout", pads: [["KD25", "3"], ["KD26", "1"]]}, + {name: "Krgb_ring.led[18].dout", pads: [["KD26", "3"], ["KD27", "1"]]}, + {name: "Krgb_ring.led[19].dout", pads: [["KD27", "3"], ["KD28", "1"]]}, + {name: "Krgb_ring.led[20].dout", pads: [["KD28", "3"], ["KD29", "1"]]}, + {name: "Krgb_ring.led[21].dout", pads: [["KD29", "3"], ["KD30", "1"]]}, + {name: "Krgb_ring.led[22].dout", pads: [["KD30", "3"], ["KD31", "1"]]}, + {name: "Krgb_sw.led[0].dout", pads: [["KD32", "3"], ["KD33", "1"]]}, + {name: "Krgb_sw.led[1].dout", pads: [["KD33", "3"], ["KD34", "1"]]}, + {name: "Krgb_sw.led[2].dout", pads: [["KD34", "3"], ["KD35", "1"]]}, + {name: "Krgb_sw.led[3].dout", pads: [["KD35", "3"], ["KD36", "1"]]}, + {name: "Krgb_sw.led[4].dout", pads: [["KD36", "3"], ["KD37", "1"]]}, + {name: "Krgb_sw.dout", pads: [["KD37", "3"]]}, + {name: "Kspk_drv.inp_cap.pos", pads: [["KC21", "1"], ["KU9", "3"]]}, + {name: "Kspk_drv.inn_cap.pos", pads: [["KC22", "1"], ["KU9", "4"]]} +]) const limit0 = pt(-0.07874015748031496, -0.07874015748031496); -const limit1 = pt(4.298425196850395, 3.162598425196851); +const limit1 = pt(6.4622047244094505, 4.0511811023622055); const xMin = Math.min(limit0[0], limit1[0]); const xMax = Math.max(limit0[0], limit1[0]); const yMin = Math.min(limit0[1], limit1[1]); @@ -383,10 +533,10 @@ function NeopixelArrayCircular_4_rgb_knob(xy, rot=90, radius=1, startAngle=0, en for (i=0; i column common line diff --git a/examples/Multimeter/Multimeter.svgpcb.js b/examples/Multimeter/Multimeter.svgpcb.js index f67808c80..75f86e823 100644 --- a/examples/Multimeter/Multimeter.svgpcb.js +++ b/examples/Multimeter/Multimeter.svgpcb.js @@ -1,434 +1,634 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const H1 = board.add(JlcToolingHole_1_152mm, { translate: pt(2.913, 2.557), rotate: 0, - id: 'jlc_th_th1' + id: 'H1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const H2 = board.add(JlcToolingHole_1_152mm, { translate: pt(2.952, 2.557), rotate: 0, - id: 'jlc_th_th2' + id: 'H2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const H3 = board.add(JlcToolingHole_1_152mm, { translate: pt(2.913, 2.597), rotate: 0, - id: 'jlc_th_th3' + id: 'H3' }) -const bat = board.add(BatteryHolder_Keystone_2460_1xAA, { +// bat +const U1 = board.add(BatteryHolder_Keystone_2460_1xAA, { translate: pt(1.063, 0.343), rotate: 0, - id: 'bat' + id: 'U1' }) -const data_usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// data_usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(2.365, 1.237), rotate: 0, - id: 'data_usb_conn' + id: 'J1' }) -const data_usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// data_usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(2.213, 1.492), rotate: 0, - id: 'data_usb_cc_pull_cc1_res' + id: 'R1' }) -const data_usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// data_usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(2.369, 1.492), rotate: 0, - id: 'data_usb_cc_pull_cc2_res' + id: 'R2' }) -const gate_pwr_gate_pull_res = board.add(R_0603_1608Metric, { +// gate.pwr_gate.pull_res +const R3 = board.add(R_0603_1608Metric, { translate: pt(3.316, 0.466), rotate: 0, - id: 'gate_pwr_gate_pull_res' + id: 'R3' }) -const gate_pwr_gate_pwr_fet = board.add(SOT_23, { +// gate.pwr_gate.pwr_fet +const Q1 = board.add(SOT_23, { translate: pt(3.707, 0.067), rotate: 0, - id: 'gate_pwr_gate_pwr_fet' + id: 'Q1' }) -const gate_pwr_gate_amp_res = board.add(R_0603_1608Metric, { +// gate.pwr_gate.amp_res +const R4 = board.add(R_0603_1608Metric, { translate: pt(3.472, 0.466), rotate: 0, - id: 'gate_pwr_gate_amp_res' + id: 'R4' }) -const gate_pwr_gate_amp_fet = board.add(SOT_23, { +// gate.pwr_gate.amp_fet +const Q2 = board.add(SOT_23, { translate: pt(3.333, 0.331), rotate: 0, - id: 'gate_pwr_gate_amp_fet' + id: 'Q2' }) -const gate_pwr_gate_ctl_diode = board.add(D_SOD_323, { +// gate.pwr_gate.ctl_diode +const D1 = board.add(D_SOD_323, { translate: pt(3.512, 0.301), rotate: 0, - id: 'gate_pwr_gate_ctl_diode' + id: 'D1' }) -const gate_pwr_gate_btn_diode = board.add(D_SOD_323, { +// gate.pwr_gate.btn_diode +const D2 = board.add(D_SOD_323, { translate: pt(3.677, 0.301), rotate: 0, - id: 'gate_pwr_gate_btn_diode' + id: 'D2' }) -const gate_btn_package = board.add(SW_SPST_SKQG_WithoutStem, { +// gate.btn.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(3.425, 0.112), rotate: 0, - id: 'gate_btn_package' + id: 'SW1' }) -const reg_5v_ic = board.add(SOT_23_5, { +// reg_5v.ic +const U2 = board.add(SOT_23_5, { translate: pt(2.770, 1.752), rotate: 0, - id: 'reg_5v_ic' + id: 'U2' }) -const reg_5v_power_path_inductor = board.add(L_0603_1608Metric, { +// reg_5v.power_path.inductor +const L1 = board.add(L_0603_1608Metric, { translate: pt(2.920, 1.887), rotate: 0, - id: 'reg_5v_power_path_inductor' + id: 'L1' }) -const reg_5v_power_path_in_cap_cap = board.add(C_0805_2012Metric, { +// reg_5v.power_path.in_cap.cap +const C1 = board.add(C_0805_2012Metric, { translate: pt(2.957, 1.724), rotate: 0, - id: 'reg_5v_power_path_in_cap_cap' + id: 'C1' }) -const reg_5v_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg_5v.power_path.out_cap.cap +const C2 = board.add(C_0805_2012Metric, { translate: pt(2.756, 1.897), rotate: 0, - id: 'reg_5v_power_path_out_cap_cap' + id: 'C2' }) -const reg_5v_ce_res_res = board.add(R_0603_1608Metric, { +// reg_5v.ce_res.res +const R5 = board.add(R_0603_1608Metric, { translate: pt(2.747, 2.004), rotate: 0, - id: 'reg_5v_ce_res_res' + id: 'R5' }) -const tp_5v_tp = board.add(TestPoint_Keystone_5015_Micro_Minature, { +// tp_5v.tp +const TP1 = board.add(TestPoint_Keystone_5015_Micro_Minature, { translate: pt(1.704, 2.611), rotate: 0, - id: 'tp_5v_tp' + id: 'TP1' }) -const prot_5v_diode = board.add(D_MiniMELF, { +// prot_5v.diode +const D3 = board.add(D_MiniMELF, { translate: pt(2.011, 2.601), rotate: 0, - id: 'prot_5v_diode' + id: 'D3' }) -const reg_3v3_ic = board.add(SOT_23_5, { +// reg_3v3.ic +const U3 = board.add(SOT_23_5, { translate: pt(1.030, 2.276), rotate: 0, - id: 'reg_3v3_ic' + id: 'U3' }) -const reg_3v3_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_3v3.in_cap.cap +const C3 = board.add(C_0603_1608Metric, { translate: pt(1.008, 2.411), rotate: 0, - id: 'reg_3v3_in_cap_cap' + id: 'C3' }) -const reg_3v3_out_cap_cap = board.add(C_0603_1608Metric, { +// reg_3v3.out_cap.cap +const C4 = board.add(C_0603_1608Metric, { translate: pt(1.164, 2.411), rotate: 0, - id: 'reg_3v3_out_cap_cap' + id: 'C4' }) -const tp_3v3_tp = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(1.129, 2.611), rotate: 0, - id: 'tp_3v3_tp' +// tp_3v3.tp +const TP2 = board.add(TestPoint_Keystone_5015_Micro_Minature, { + translate: pt(0.841, 2.611), rotate: 0, + id: 'TP2' }) -const prot_3v3_diode = board.add(D_SOD_323, { - translate: pt(2.297, 2.595), rotate: 0, - id: 'prot_3v3_diode' +// prot_3v3.diode +const D4 = board.add(D_SOD_323, { + translate: pt(2.541, 2.595), rotate: 0, + id: 'D4' }) -const reg_analog_ic = board.add(SOT_23_5, { - translate: pt(0.360, 2.276), rotate: 0, - id: 'reg_analog_ic' +// reg_analog.ic +const U4 = board.add(SOT_23_5, { + translate: pt(0.640, 2.276), rotate: 0, + id: 'U4' }) -const reg_analog_in_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(0.338, 2.411), rotate: 0, - id: 'reg_analog_in_cap_cap' +// reg_analog.in_cap.cap +const C5 = board.add(C_0603_1608Metric, { + translate: pt(0.617, 2.411), rotate: 0, + id: 'C5' }) -const reg_analog_out_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(0.494, 2.411), rotate: 0, - id: 'reg_analog_out_cap_cap' +// reg_analog.out_cap.cap +const C6 = board.add(C_0603_1608Metric, { + translate: pt(0.773, 2.411), rotate: 0, + id: 'C6' }) -const tp_analog_tp = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(0.841, 2.611), rotate: 0, - id: 'tp_analog_tp' +// tp_analog.tp +const TP3 = board.add(TestPoint_Keystone_5015_Micro_Minature, { + translate: pt(1.416, 2.611), rotate: 0, + id: 'TP3' }) -const prot_analog_diode = board.add(D_SOD_323, { - translate: pt(2.541, 2.595), rotate: 0, - id: 'prot_analog_diode' +// prot_analog.diode +const D5 = board.add(D_SOD_323, { + translate: pt(2.297, 2.595), rotate: 0, + id: 'D5' }) -const mcu_ic = board.add(Raytac_MDBT50Q, { +// mcu.ic +const U5 = board.add(Raytac_MDBT50Q, { translate: pt(0.226, 0.325), rotate: 0, - id: 'mcu_ic' + id: 'U5' }) -const mcu_swd_conn = board.add(Tag_Connect_TC2050_IDC_NL_2x05_P1_27mm_Vertical, { +// mcu.swd.conn +const J2 = board.add(Tag_Connect_TC2050_IDC_NL_2x05_P1_27mm_Vertical, { translate: pt(0.245, 0.822), rotate: 0, - id: 'mcu_swd_conn' + id: 'J2' }) -const mcu_vcc_cap_cap = board.add(C_0805_2012Metric, { +// mcu.vcc_cap.cap +const C7 = board.add(C_0805_2012Metric, { translate: pt(0.596, 0.728), rotate: 0, - id: 'mcu_vcc_cap_cap' + id: 'C7' }) -const mcu_usb_res_res_dp = board.add(R_0603_1608Metric, { +// mcu.usb_res.res_dp +const R6 = board.add(R_0603_1608Metric, { translate: pt(0.588, 0.834), rotate: 0, - id: 'mcu_usb_res_res_dp' + id: 'R6' }) -const mcu_usb_res_res_dm = board.add(R_0603_1608Metric, { +// mcu.usb_res.res_dm +const R7 = board.add(R_0603_1608Metric, { translate: pt(0.744, 0.834), rotate: 0, - id: 'mcu_usb_res_res_dm' + id: 'R7' }) -const mcu_vbus_cap_cap = board.add(C_0805_2012Metric, { +// mcu.vbus_cap.cap +const C8 = board.add(C_0805_2012Metric, { translate: pt(0.770, 0.728), rotate: 0, - id: 'mcu_vbus_cap_cap' + id: 'C8' }) -const vbatsense_div_top_res = board.add(R_0603_1608Metric, { - translate: pt(3.628, 2.237), rotate: 0, - id: 'vbatsense_div_top_res' +// vbatsense.div.top_res +const R8 = board.add(R_0603_1608Metric, { + translate: pt(0.058, 2.586), rotate: 0, + id: 'R8' }) -const vbatsense_div_bottom_res = board.add(R_0603_1608Metric, { - translate: pt(3.628, 2.334), rotate: 0, - id: 'vbatsense_div_bottom_res' +// vbatsense.div.bottom_res +const R9 = board.add(R_0603_1608Metric, { + translate: pt(0.058, 2.683), rotate: 0, + id: 'R9' }) -const usb_esd = board.add(SOT_23, { +// usb_esd +const U6 = board.add(SOT_23, { translate: pt(2.798, 2.624), rotate: 0, - id: 'usb_esd' + id: 'U6' }) -const rgb_package = board.add(LED_LiteOn_LTST_C19HE1WT, { - translate: pt(2.921, 2.264), rotate: 0, - id: 'rgb_package' +// rgb.package +const D6 = board.add(LED_LiteOn_LTST_C19HE1WT, { + translate: pt(2.677, 2.264), rotate: 0, + id: 'D6' }) -const rgb_red_res = board.add(R_0603_1608Metric, { - translate: pt(3.060, 2.237), rotate: 0, - id: 'rgb_red_res' +// rgb.red_res +const R10 = board.add(R_0603_1608Metric, { + translate: pt(2.816, 2.237), rotate: 0, + id: 'R10' }) -const rgb_green_res = board.add(R_0603_1608Metric, { - translate: pt(2.938, 2.387), rotate: 0, - id: 'rgb_green_res' +// rgb.green_res +const R11 = board.add(R_0603_1608Metric, { + translate: pt(2.694, 2.387), rotate: 0, + id: 'R11' }) -const rgb_blue_res = board.add(R_0603_1608Metric, { - translate: pt(3.094, 2.387), rotate: 0, - id: 'rgb_blue_res' +// rgb.blue_res +const R12 = board.add(R_0603_1608Metric, { + translate: pt(2.850, 2.387), rotate: 0, + id: 'R12' }) -const sw1_package = board.add(SW_SPST_SKQG_WithoutStem, { +// sw1.package +const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(1.960, 2.321), rotate: 0, - id: 'sw1_package' + id: 'SW2' }) -const sw2_package = board.add(SW_SPST_SKQG_WithoutStem, { +// sw2.package +const SW3 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(1.507, 2.321), rotate: 0, - id: 'sw2_package' + id: 'SW3' }) -const lcd_device_conn = board.add(Hirose_FH12_8S_0_5SH_1x08_1MP_P0_50mm_Horizontal, { +// lcd.device.conn +const J3 = board.add(Hirose_FH12_8S_0_5SH_1x08_1MP_P0_50mm_Horizontal, { translate: pt(2.891, 1.265), rotate: 0, - id: 'lcd_device_conn' + id: 'J3' }) -const lcd_led_res = board.add(R_0603_1608Metric, { +// lcd.led_res +const R13 = board.add(R_0603_1608Metric, { translate: pt(2.750, 1.452), rotate: 0, - id: 'lcd_led_res' + id: 'R13' }) -const lcd_vdd_cap_cap = board.add(C_0603_1608Metric, { +// lcd.vdd_cap.cap +const C9 = board.add(C_0603_1608Metric, { translate: pt(2.906, 1.452), rotate: 0, - id: 'lcd_vdd_cap_cap' + id: 'C9' }) -const spk_dac_rc_r = board.add(R_0603_1608Metric, { - translate: pt(0.058, 2.586), rotate: 0, - id: 'spk_dac_rc_r' +// spk_dac.rc.r +const R14 = board.add(R_0603_1608Metric, { + translate: pt(0.293, 2.586), rotate: 0, + id: 'R14' }) -const spk_dac_rc_c = board.add(C_0603_1608Metric, { - translate: pt(0.058, 2.683), rotate: 0, - id: 'spk_dac_rc_c' +// spk_dac.rc.c +const C10 = board.add(C_0603_1608Metric, { + translate: pt(0.293, 2.683), rotate: 0, + id: 'C10' }) -const spk_tp_tp = board.add(TestPoint_Keystone_5015_Micro_Minature, { +// spk_tp.tp +const TP4 = board.add(TestPoint_Keystone_5015_Micro_Minature, { translate: pt(0.554, 2.611), rotate: 0, - id: 'spk_tp_tp' + id: 'TP4' }) -const spk_drv_ic = board.add(MSOP_8_1EP_3x3mm_P0_65mm_EP1_68x1_88mm_ThermalVias, { +// spk_drv.ic +const U7 = board.add(MSOP_8_1EP_3x3mm_P0_65mm_EP1_68x1_88mm_ThermalVias, { translate: pt(3.265, 1.754), rotate: 0, - id: 'spk_drv_ic' + id: 'U7' }) -const spk_drv_pwr_cap_cap = board.add(C_0603_1608Metric, { +// spk_drv.pwr_cap.cap +const C11 = board.add(C_0603_1608Metric, { translate: pt(3.200, 1.891), rotate: 0, - id: 'spk_drv_pwr_cap_cap' + id: 'C11' }) -const spk_drv_bulk_cap_cap = board.add(C_0805_2012Metric, { +// spk_drv.bulk_cap.cap +const C12 = board.add(C_0805_2012Metric, { translate: pt(3.494, 1.724), rotate: 0, - id: 'spk_drv_bulk_cap_cap' + id: 'C12' }) -const spk_drv_inp_res = board.add(R_0603_1608Metric, { +// spk_drv.inp_res +const R15 = board.add(R_0603_1608Metric, { translate: pt(3.356, 1.891), rotate: 0, - id: 'spk_drv_inp_res' + id: 'R15' }) -const spk_drv_inp_cap = board.add(C_0603_1608Metric, { +// spk_drv.inp_cap +const C13 = board.add(C_0603_1608Metric, { translate: pt(3.512, 1.891), rotate: 0, - id: 'spk_drv_inp_cap' + id: 'C13' }) -const spk_drv_inn_res = board.add(R_0603_1608Metric, { +// spk_drv.inn_res +const R16 = board.add(R_0603_1608Metric, { translate: pt(3.200, 1.988), rotate: 0, - id: 'spk_drv_inn_res' + id: 'R16' }) -const spk_drv_inn_cap = board.add(C_0603_1608Metric, { +// spk_drv.inn_cap +const C14 = board.add(C_0603_1608Metric, { translate: pt(3.356, 1.988), rotate: 0, - id: 'spk_drv_inn_cap' + id: 'C14' }) -const spk_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { +// spk.conn +const J4 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { translate: pt(2.342, 2.339), rotate: 0, - id: 'spk_conn' + id: 'J4' }) -const ref_div_div_top_res = board.add(R_0603_1608Metric, { - translate: pt(0.293, 2.586), rotate: 0, - id: 'ref_div_div_top_res' +// ref_div.div.top_res +const R17 = board.add(R_0603_1608Metric, { + translate: pt(3.628, 2.237), rotate: 0, + id: 'R17' }) -const ref_div_div_bottom_res = board.add(R_0603_1608Metric, { - translate: pt(0.293, 2.683), rotate: 0, - id: 'ref_div_div_bottom_res' +// ref_div.div.bottom_res +const R18 = board.add(R_0603_1608Metric, { + translate: pt(3.628, 2.334), rotate: 0, + id: 'R18' }) -const ref_buf_amp_ic = board.add(SOT_23_6, { - translate: pt(0.751, 2.276), rotate: 0, - id: 'ref_buf_amp_ic' +// ref_buf.amp.ic +const U8 = board.add(SOT_23_6, { + translate: pt(0.360, 2.276), rotate: 0, + id: 'U8' }) -const ref_buf_amp_vdd_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(0.728, 2.411), rotate: 0, - id: 'ref_buf_amp_vdd_cap_cap' +// ref_buf.amp.vdd_cap.cap +const C15 = board.add(C_0603_1608Metric, { + translate: pt(0.338, 2.411), rotate: 0, + id: 'C15' }) -const inn = board.add(CLIFF_FCR7350, { +// inn +const J5 = board.add(CLIFF_FCR7350, { translate: pt(1.083, 1.927), rotate: 0, - id: 'inn' + id: 'J5' }) -const inn_mux_device_ic = board.add(SOT_363_SC_70_6, { - translate: pt(2.698, 2.264), rotate: 0, - id: 'inn_mux_device_ic' +// inn_mux.device.ic +const U9 = board.add(SOT_363_SC_70_6, { + translate: pt(3.089, 2.264), rotate: 0, + id: 'U9' }) -const inn_mux_device_vdd_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(2.694, 2.387), rotate: 0, - id: 'inn_mux_device_vdd_cap_cap' +// inn_mux.device.vdd_cap.cap +const C16 = board.add(C_0603_1608Metric, { + translate: pt(3.084, 2.387), rotate: 0, + id: 'C16' }) -const inp = board.add(CLIFF_FCR7350, { +// inp +const J6 = board.add(CLIFF_FCR7350, { translate: pt(2.427, 1.927), rotate: 0, - id: 'inp' + id: 'J6' }) -const measure_res = board.add(R_2512_6332Metric, { +// measure.res +const R19 = board.add(R_2512_6332Metric, { translate: pt(0.150, 1.148), rotate: 0, - id: 'measure_res' + id: 'R19' }) -const measure_range_switch_sw_0_0__ic = board.add(SOT_363_SC_70_6, { +// measure.range.switch.sw[0_0].ic +const U10 = board.add(SOT_363_SC_70_6, { translate: pt(0.403, 1.128), rotate: 0, - id: 'measure_range_switch_sw_0_0__ic' + id: 'U10' }) -const measure_range_switch_sw_0_0__vdd_cap_cap = board.add(C_0603_1608Metric, { +// measure.range.switch.sw[0_0].vdd_cap.cap +const C17 = board.add(C_0603_1608Metric, { translate: pt(0.389, 1.292), rotate: 0, - id: 'measure_range_switch_sw_0_0__vdd_cap_cap' + id: 'C17' }) -const measure_range_switch_sw_0_1__ic = board.add(SOT_363_SC_70_6, { +// measure.range.switch.sw[0_1].ic +const U11 = board.add(SOT_363_SC_70_6, { translate: pt(0.063, 1.318), rotate: 0, - id: 'measure_range_switch_sw_0_1__ic' + id: 'U11' }) -const measure_range_switch_sw_0_1__vdd_cap_cap = board.add(C_0603_1608Metric, { +// measure.range.switch.sw[0_1].vdd_cap.cap +const C18 = board.add(C_0603_1608Metric, { translate: pt(0.058, 1.441), rotate: 0, - id: 'measure_range_switch_sw_0_1__vdd_cap_cap' + id: 'C18' }) -const measure_range_switch_sw_1_0__ic = board.add(SOT_363_SC_70_6, { +// measure.range.switch.sw[1_0].ic +const U12 = board.add(SOT_363_SC_70_6, { translate: pt(0.228, 1.318), rotate: 0, - id: 'measure_range_switch_sw_1_0__ic' + id: 'U12' }) -const measure_range_switch_sw_1_0__vdd_cap_cap = board.add(C_0603_1608Metric, { +// measure.range.switch.sw[1_0].vdd_cap.cap +const C19 = board.add(C_0603_1608Metric, { translate: pt(0.214, 1.441), rotate: 0, - id: 'measure_range_switch_sw_1_0__vdd_cap_cap' + id: 'C19' }) -const measure_range_res_0_ = board.add(R_0603_1608Metric, { +// measure.range.res[0] +const R20 = board.add(R_0603_1608Metric, { translate: pt(0.370, 1.441), rotate: 0, - id: 'measure_range_res_0_' + id: 'R20' }) -const measure_range_res_1_ = board.add(R_0603_1608Metric, { +// measure.range.res[1] +const R21 = board.add(R_0603_1608Metric, { translate: pt(0.526, 1.441), rotate: 0, - id: 'measure_range_res_1_' + id: 'R21' }) -const measure_range_res_2_ = board.add(R_0603_1608Metric, { +// measure.range.res[2] +const R22 = board.add(R_0603_1608Metric, { translate: pt(0.058, 1.538), rotate: 0, - id: 'measure_range_res_2_' + id: 'R22' }) -const measure_buffer_amp_ic = board.add(SOT_23_6, { +// measure_buffer.amp.ic +const U13 = board.add(SOT_23_6, { translate: pt(0.081, 2.276), rotate: 0, - id: 'measure_buffer_amp_ic' + id: 'U13' }) -const measure_buffer_amp_vdd_cap_cap = board.add(C_0603_1608Metric, { +// measure_buffer.amp.vdd_cap.cap +const C20 = board.add(C_0603_1608Metric, { translate: pt(0.058, 2.411), rotate: 0, - id: 'measure_buffer_amp_vdd_cap_cap' + id: 'C20' }) -const tp_measure_tp = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(1.416, 2.611), rotate: 0, - id: 'tp_measure_tp' +// tp_measure.tp +const TP5 = board.add(TestPoint_Keystone_5015_Micro_Minature, { + translate: pt(1.129, 2.611), rotate: 0, + id: 'TP5' }) -const adc_ic = board.add(TSSOP_20_4_4x6_5mm_P0_65mm, { +// adc.ic +const U14 = board.add(TSSOP_20_4_4x6_5mm_P0_65mm, { translate: pt(1.712, 1.210), rotate: 0, - id: 'adc_ic' + id: 'U14' }) -const adc_avdd_res_res = board.add(R_0603_1608Metric, { +// adc.avdd_res.res +const R23 = board.add(R_0603_1608Metric, { translate: pt(1.961, 1.218), rotate: 0, - id: 'adc_avdd_res_res' + id: 'R23' }) -const adc_dvdd_res_res = board.add(R_0603_1608Metric, { +// adc.dvdd_res.res +const R24 = board.add(R_0603_1608Metric, { translate: pt(1.961, 1.315), rotate: 0, - id: 'adc_dvdd_res_res' + id: 'R24' }) -const adc_avdd_cap_0_cap = board.add(C_0603_1608Metric, { +// adc.avdd_cap_0.cap +const C21 = board.add(C_0603_1608Metric, { translate: pt(1.619, 1.416), rotate: 0, - id: 'adc_avdd_cap_0_cap' + id: 'C21' }) -const adc_avdd_cap_1_cap = board.add(C_0603_1608Metric, { +// adc.avdd_cap_1.cap +const C22 = board.add(C_0603_1608Metric, { translate: pt(1.775, 1.416), rotate: 0, - id: 'adc_avdd_cap_1_cap' + id: 'C22' }) -const adc_dvdd_cap_0_cap = board.add(C_0603_1608Metric, { +// adc.dvdd_cap_0.cap +const C23 = board.add(C_0603_1608Metric, { translate: pt(1.931, 1.416), rotate: 0, - id: 'adc_dvdd_cap_0_cap' + id: 'C23' }) -const adc_dvdd_cap_1_cap = board.add(C_0603_1608Metric, { +// adc.dvdd_cap_1.cap +const C24 = board.add(C_0603_1608Metric, { translate: pt(1.619, 1.513), rotate: 0, - id: 'adc_dvdd_cap_1_cap' + id: 'C24' }) -const adc_vref_cap_cap = board.add(C_0805_2012Metric, { +// adc.vref_cap.cap +const C25 = board.add(C_0805_2012Metric, { translate: pt(1.970, 1.111), rotate: 0, - id: 'adc_vref_cap_cap' + id: 'C25' }) -const driver_fet = board.add(SOT_23, { +// driver.fet +const Q3 = board.add(SOT_23, { translate: pt(1.093, 1.139), rotate: 0, - id: 'driver_fet' + id: 'Q3' }) -const driver_amp_ic = board.add(SOT_23_6, { +// driver.amp.ic +const U15 = board.add(SOT_23_6, { translate: pt(1.289, 1.139), rotate: 0, - id: 'driver_amp_ic' + id: 'U15' }) -const driver_amp_vdd_cap_cap = board.add(C_0603_1608Metric, { +// driver.amp.vdd_cap.cap +const C26 = board.add(C_0603_1608Metric, { translate: pt(0.761, 1.428), rotate: 0, - id: 'driver_amp_vdd_cap_cap' + id: 'C26' }) -const driver_range_switch_sw_0_0__ic = board.add(SOT_363_SC_70_6, { +// driver.range.switch.sw[0_0].ic +const U16 = board.add(SOT_363_SC_70_6, { translate: pt(0.765, 1.305), rotate: 0, - id: 'driver_range_switch_sw_0_0__ic' + id: 'U16' }) -const driver_range_switch_sw_0_0__vdd_cap_cap = board.add(C_0603_1608Metric, { +// driver.range.switch.sw[0_0].vdd_cap.cap +const C27 = board.add(C_0603_1608Metric, { translate: pt(0.917, 1.428), rotate: 0, - id: 'driver_range_switch_sw_0_0__vdd_cap_cap' + id: 'C27' }) -const driver_range_switch_sw_0_1__ic = board.add(SOT_363_SC_70_6, { +// driver.range.switch.sw[0_1].ic +const U17 = board.add(SOT_363_SC_70_6, { translate: pt(0.931, 1.305), rotate: 0, - id: 'driver_range_switch_sw_0_1__ic' + id: 'U17' }) -const driver_range_switch_sw_0_1__vdd_cap_cap = board.add(C_0603_1608Metric, { +// driver.range.switch.sw[0_1].vdd_cap.cap +const C28 = board.add(C_0603_1608Metric, { translate: pt(1.072, 1.428), rotate: 0, - id: 'driver_range_switch_sw_0_1__vdd_cap_cap' + id: 'C28' }) -const driver_range_switch_sw_1_0__ic = board.add(SOT_363_SC_70_6, { +// driver.range.switch.sw[1_0].ic +const U18 = board.add(SOT_363_SC_70_6, { translate: pt(1.096, 1.305), rotate: 0, - id: 'driver_range_switch_sw_1_0__ic' + id: 'U18' }) -const driver_range_switch_sw_1_0__vdd_cap_cap = board.add(C_0603_1608Metric, { +// driver.range.switch.sw[1_0].vdd_cap.cap +const C29 = board.add(C_0603_1608Metric, { translate: pt(1.228, 1.428), rotate: 0, - id: 'driver_range_switch_sw_1_0__vdd_cap_cap' + id: 'C29' }) -const driver_range_res_0_ = board.add(R_0603_1608Metric, { +// driver.range.res[0] +const R25 = board.add(R_0603_1608Metric, { translate: pt(1.384, 1.428), rotate: 0, - id: 'driver_range_res_0_' + id: 'R25' }) -const driver_range_res_1_ = board.add(R_0603_1608Metric, { +// driver.range.res[1] +const R26 = board.add(R_0603_1608Metric, { translate: pt(0.761, 1.525), rotate: 0, - id: 'driver_range_res_1_' + id: 'R26' }) -const driver_range_res_2_ = board.add(R_0603_1608Metric, { +// driver.range.res[2] +const R27 = board.add(R_0603_1608Metric, { translate: pt(0.917, 1.525), rotate: 0, - id: 'driver_range_res_2_' + id: 'R27' }) -const driver_range_res_3_ = board.add(R_0603_1608Metric, { +// driver.range.res[3] +const R28 = board.add(R_0603_1608Metric, { translate: pt(1.072, 1.525), rotate: 0, - id: 'driver_range_res_3_' + id: 'R28' }) -const driver_sw_device_ic = board.add(SOT_363_SC_70_6, { +// driver.sw.device.ic +const U19 = board.add(SOT_363_SC_70_6, { translate: pt(1.261, 1.305), rotate: 0, - id: 'driver_sw_device_ic' + id: 'U19' }) -const driver_sw_device_vdd_cap_cap = board.add(C_0603_1608Metric, { +// driver.sw.device.vdd_cap.cap +const C30 = board.add(C_0603_1608Metric, { translate: pt(1.228, 1.525), rotate: 0, - id: 'driver_sw_device_vdd_cap_cap' + id: 'C30' }) -const driver_diode = board.add(D_SMA, { +// driver.diode +const D7 = board.add(D_SMA, { translate: pt(0.841, 1.141), rotate: 0, - id: 'driver_diode' + id: 'D7' }) -const driver_dac_rc_r = board.add(R_0603_1608Metric, { +// driver_dac.rc.r +const R29 = board.add(R_0603_1608Metric, { translate: pt(3.328, 2.367), rotate: 0, - id: 'driver_dac_rc_r' + id: 'R29' }) -const driver_dac_rc_c = board.add(C_1206_3216Metric, { +// driver_dac.rc.c +const C31 = board.add(C_1206_3216Metric, { translate: pt(3.361, 2.254), rotate: 0, - id: 'driver_dac_rc_c' + id: 'C31' }) +board.setNetlist([ + {name: "gnd", pads: [["U1", "2"], ["U6", "3"], ["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["U2", "2"], ["D3", "2"], ["U3", "2"], ["D4", "2"], ["U4", "2"], ["D5", "2"], ["U5", "1"], ["U5", "2"], ["U5", "15"], ["U5", "33"], ["U5", "55"], ["SW2", "2"], ["SW3", "2"], ["U7", "7"], ["U7", "9"], ["U14", "2"], ["U14", "3"], ["U14", "19"], ["R9", "2"], ["C10", "2"], ["R18", "2"], ["U8", "2"], ["U9", "2"], ["U13", "2"], ["C31", "2"], ["J1", "S1"], ["C14", "2"], ["R4", "1"], ["Q2", "2"], ["SW1", "2"], ["C3", "2"], ["C4", "2"], ["C5", "2"], ["C6", "2"], ["C7", "2"], ["C8", "2"], ["J3", "2"], ["C9", "2"], ["C11", "2"], ["C12", "2"], ["U9", "3"], ["C21", "2"], ["C22", "2"], ["C23", "2"], ["C24", "2"], ["C25", "2"], ["U15", "2"], ["C15", "2"], ["C16", "2"], ["C20", "2"], ["U19", "2"], ["U10", "2"], ["U11", "2"], ["U12", "2"], ["J2", "2"], ["J2", "3"], ["J2", "5"], ["R1", "1"], ["R2", "1"], ["C1", "2"], ["C2", "2"], ["C26", "2"], ["U16", "2"], ["U17", "2"], ["U18", "2"], ["C30", "2"], ["C17", "2"], ["C18", "2"], ["C19", "2"], ["C27", "2"], ["C28", "2"], ["C29", "2"]]}, + {name: "vbat", pads: [["U1", "1"], ["R3", "1"], ["Q1", "2"]]}, + {name: "v5v", pads: [["U2", "4"], ["TP1", "1"], ["D3", "1"], ["U3", "1"], ["U4", "1"], ["C2", "1"], ["U3", "3"], ["U4", "3"], ["U7", "1"], ["U7", "6"], ["C3", "1"], ["C5", "1"], ["C11", "1"], ["C12", "1"]]}, + {name: "v3v3", pads: [["U3", "5"], ["TP2", "1"], ["D4", "1"], ["U5", "28"], ["U5", "30"], ["D6", "2"], ["R24", "1"], ["C4", "1"], ["R13", "1"], ["J2", "1"], ["C7", "1"], ["J3", "7"], ["C9", "1"]]}, + {name: "vanalog", pads: [["U4", "5"], ["TP3", "1"], ["D5", "1"], ["U8", "5"], ["U8", "6"], ["R17", "1"], ["U9", "5"], ["U13", "5"], ["U13", "6"], ["R23", "1"], ["C6", "1"], ["U15", "5"], ["U15", "6"], ["C15", "1"], ["C16", "1"], ["C20", "1"], ["U19", "5"], ["U10", "5"], ["U11", "5"], ["U12", "5"], ["R25", "1"], ["R26", "1"], ["R27", "1"], ["R28", "1"], ["C26", "1"], ["C30", "1"], ["U16", "5"], ["U17", "5"], ["U18", "5"], ["C17", "1"], ["C18", "1"], ["C19", "1"], ["C27", "1"], ["C28", "1"], ["C29", "1"]]}, + {name: "vcenter", pads: [["U8", "4"], ["U9", "1"], ["U8", "1"]]}, + {name: "gate.pwr_out", pads: [["Q1", "3"], ["U2", "3"], ["R8", "1"], ["R5", "1"], ["L1", "1"], ["C1", "1"]]}, + {name: "vbatsense.output", pads: [["U5", "9"], ["R8", "2"], ["R9", "1"]]}, + {name: "data_usb.usb.dp", pads: [["J1", "A6"], ["J1", "B6"], ["U6", "2"], ["R6", "2"]]}, + {name: "data_usb.usb.dm", pads: [["J1", "A7"], ["J1", "B7"], ["U6", "1"], ["R7", "2"]]}, + {name: "mcu.pwr_usb", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["U5", "32"], ["C8", "1"]]}, + {name: "gate.btn_out", pads: [["U5", "50"], ["D2", "2"]]}, + {name: "gate.control", pads: [["U5", "49"], ["R4", "2"], ["Q2", "1"]]}, + {name: "mcu.gpio.rgb_red", pads: [["U5", "4"], ["R10", "2"]]}, + {name: "mcu.gpio.rgb_green", pads: [["U5", "5"], ["R11", "2"]]}, + {name: "mcu.gpio.rgb_blue", pads: [["U5", "6"], ["R12", "2"]]}, + {name: "sw1.out", pads: [["U5", "16"], ["SW2", "1"]]}, + {name: "sw2.out", pads: [["U5", "3"], ["SW3", "1"]]}, + {name: "lcd.reset", pads: [["U5", "8"], ["J3", "3"]]}, + {name: "lcd.rs", pads: [["U5", "10"], ["J3", "4"]]}, + {name: "lcd.spi.sck", pads: [["U5", "18"], ["J3", "6"]]}, + {name: "lcd.spi.mosi", pads: [["U5", "19"], ["J3", "5"]]}, + {name: "lcd.cs", pads: [["U5", "17"], ["J3", "8"]]}, + {name: "spk_chain_0", pads: [["U5", "36"], ["R14", "1"]]}, + {name: "spk_chain_1", pads: [["TP4", "1"], ["C13", "2"], ["R14", "2"], ["C10", "1"]]}, + {name: "spk_chain_2.a", pads: [["U7", "8"], ["J4", "1"]]}, + {name: "spk_chain_2.b", pads: [["U7", "5"], ["J4", "2"]]}, + {name: "ref_div.output", pads: [["U8", "3"], ["R17", "2"], ["R18", "1"]]}, + {name: "inn_merge", pads: [["J5", "1"], ["U14", "6"], ["U9", "4"], ["U12", "4"]]}, + {name: "mcu.gpio.inn_control_0", pads: [["U5", "41"], ["U9", "6"]]}, + {name: "inp.port", pads: [["J6", "1"], ["R19", "1"], ["D7", "1"]]}, + {name: "meas_chain_0", pads: [["U13", "3"], ["R19", "2"], ["R20", "1"], ["R21", "1"], ["R22", "1"]]}, + {name: "meas_chain_1", pads: [["U14", "5"], ["U13", "4"], ["TP5", "1"], ["U13", "1"]]}, + {name: "adc.spi.sck", pads: [["U14", "14"], ["U5", "37"]]}, + {name: "adc.spi.mosi", pads: [["U14", "15"], ["U5", "26"]]}, + {name: "adc.spi.miso", pads: [["U14", "16"], ["U5", "24"]]}, + {name: "mcu.gpio.measure_select_0_0", pads: [["U5", "42"], ["U10", "6"], ["U11", "6"]]}, + {name: "mcu.gpio.measure_select_1_0", pads: [["U5", "43"], ["U12", "6"]]}, + {name: "adc.cs", pads: [["U5", "39"], ["U14", "13"]]}, + {name: "driver_dac.input", pads: [["U5", "45"], ["R29", "1"]]}, + {name: "driver_dac.output", pads: [["U15", "3"], ["R29", "2"], ["C31", "1"]]}, + {name: "mcu.gpio.driver_select_0_0", pads: [["U5", "46"], ["U16", "6"], ["U17", "6"]]}, + {name: "mcu.gpio.driver_select_1_0", pads: [["U5", "44"], ["U18", "6"]]}, + {name: "driver.enable", pads: [["U5", "48"], ["U19", "6"]]}, + {name: "data_usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "data_usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "gate.pwr_gate.btn_in", pads: [["D2", "1"], ["D1", "1"], ["SW1", "1"]]}, + {name: "gate.pwr_gate.pull_res.b", pads: [["R3", "2"], ["D1", "2"], ["Q1", "1"], ["Q2", "3"]]}, + {name: "reg_5v.power_path.switch", pads: [["U2", "5"], ["L1", "2"]]}, + {name: "reg_5v.ic.ce", pads: [["U2", "1"], ["R5", "2"]]}, + {name: "mcu.swd_node.swdio", pads: [["U5", "51"], ["J2", "10"]]}, + {name: "mcu.swd_node.swclk", pads: [["U5", "53"], ["J2", "9"]]}, + {name: "mcu.reset_node", pads: [["U5", "40"], ["J2", "6"]]}, + {name: "mcu.usb_chain_0.d_P", pads: [["U5", "35"], ["R6", "1"]]}, + {name: "mcu.usb_chain_0.d_N", pads: [["U5", "34"], ["R7", "1"]]}, + {name: "mcu.swd.swo", pads: [["U5", "47"], ["J2", "8"]]}, + {name: "mcu.swd.tdi", pads: [["J2", "7"]]}, + {name: "rgb.red_res.a", pads: [["R10", "1"], ["D6", "3"]]}, + {name: "rgb.green_res.a", pads: [["R11", "1"], ["D6", "4"]]}, + {name: "rgb.blue_res.a", pads: [["R12", "1"], ["D6", "1"]]}, + {name: "lcd.led_res.b", pads: [["R13", "2"], ["J3", "1"]]}, + {name: "spk_drv.inp_cap.pos", pads: [["C13", "1"], ["R15", "1"]]}, + {name: "spk_drv.inp_res.b", pads: [["R15", "2"], ["U7", "4"]]}, + {name: "spk_drv.inn_cap.pos", pads: [["C14", "1"], ["R16", "1"]]}, + {name: "spk_drv.inn_res.b", pads: [["R16", "2"], ["U7", "3"]]}, + {name: "measure.range.res[0].b", pads: [["R20", "2"], ["U10", "3"]]}, + {name: "measure.range.res[1].b", pads: [["R21", "2"], ["U10", "1"]]}, + {name: "measure.range.res[2].b", pads: [["R22", "2"], ["U11", "3"]]}, + {name: "measure.range.dummy.io", pads: [["U11", "1"]]}, + {name: "measure.range.switch.sw[0_0].com", pads: [["U12", "3"], ["U10", "4"]]}, + {name: "measure.range.switch.sw[0_1].com", pads: [["U12", "1"], ["U11", "4"]]}, + {name: "adc.vins.2", pads: [["U14", "7"]]}, + {name: "adc.vins.3", pads: [["U14", "8"]]}, + {name: "adc.vins.4", pads: [["U14", "9"]]}, + {name: "adc.vins.5", pads: [["U14", "10"]]}, + {name: "adc.vins.6", pads: [["U14", "11"]]}, + {name: "adc.vins.7", pads: [["U14", "12"]]}, + {name: "adc.ic.avdd", pads: [["U14", "1"], ["R23", "2"], ["C21", "1"], ["C22", "1"]]}, + {name: "adc.ic.dvdd", pads: [["U14", "20"], ["R24", "2"], ["C23", "1"], ["C24", "1"]]}, + {name: "adc.ic.vrefp", pads: [["U14", "4"], ["C25", "1"]]}, + {name: "driver.fet.source", pads: [["Q3", "2"], ["U15", "4"], ["U19", "3"], ["U18", "4"]]}, + {name: "driver.amp.out", pads: [["U15", "1"], ["U19", "1"]]}, + {name: "driver.fet.gate", pads: [["Q3", "1"], ["U19", "4"]]}, + {name: "driver.fet.drain", pads: [["Q3", "3"], ["D7", "2"]]}, + {name: "driver.range.res[0].b", pads: [["R25", "2"], ["U16", "3"]]}, + {name: "driver.range.res[1].b", pads: [["R26", "2"], ["U16", "1"]]}, + {name: "driver.range.res[2].b", pads: [["R27", "2"], ["U17", "3"]]}, + {name: "driver.range.res[3].b", pads: [["R28", "2"], ["U17", "1"]]}, + {name: "driver.range.switch.sw[0_0].com", pads: [["U18", "3"], ["U16", "4"]]}, + {name: "driver.range.switch.sw[0_1].com", pads: [["U18", "1"], ["U17", "4"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(3.9010236220472447, 2.82992125984252); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/PcbBot/PcbBot.svgpcb.js b/examples/PcbBot/PcbBot.svgpcb.js index fe8bab963..dcbbf9e20 100644 --- a/examples/PcbBot/PcbBot.svgpcb.js +++ b/examples/PcbBot/PcbBot.svgpcb.js @@ -1,434 +1,638 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const H1 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.327, 3.717), rotate: 0, - id: 'jlc_th_th1' + id: 'H1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const H2 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.366, 3.717), rotate: 0, - id: 'jlc_th_th2' + id: 'H2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const H3 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.327, 3.757), rotate: 0, - id: 'jlc_th_th3' + id: 'H3' }) -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(3.766, 1.905), rotate: 0, - id: 'usb_conn' + id: 'J1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(3.615, 2.160), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'R1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(3.771, 2.160), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'R2' }) -const batt_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { +// batt.conn +const J2 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { translate: pt(1.268, 3.498), rotate: 0, - id: 'batt_conn' + id: 'J2' }) -const tp_gnd_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.759, 3.406), rotate: 0, - id: 'tp_gnd_tp' +// tp_gnd.tp +const TP1 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(3.509, 3.406), rotate: 0, + id: 'TP1' }) -const fuse_fuse = board.add(R_1206_3216Metric, { +// fuse.fuse +const F1 = board.add(R_1206_3216Metric, { translate: pt(3.235, 3.413), rotate: 0, - id: 'fuse_fuse' + id: 'F1' }) -const gate_pwr_gate_pull_res = board.add(R_0603_1608Metric, { +// gate.pwr_gate.pull_res +const R3 = board.add(R_0603_1608Metric, { translate: pt(2.972, 2.206), rotate: 0, - id: 'gate_pwr_gate_pull_res' + id: 'R3' }) -const gate_pwr_gate_pwr_fet = board.add(SOT_23, { +// gate.pwr_gate.pwr_fet +const Q1 = board.add(SOT_23, { translate: pt(3.363, 1.807), rotate: 0, - id: 'gate_pwr_gate_pwr_fet' + id: 'Q1' }) -const gate_pwr_gate_amp_res = board.add(R_0603_1608Metric, { +// gate.pwr_gate.amp_res +const R4 = board.add(R_0603_1608Metric, { translate: pt(3.128, 2.206), rotate: 0, - id: 'gate_pwr_gate_amp_res' + id: 'R4' }) -const gate_pwr_gate_amp_fet = board.add(SOT_23, { +// gate.pwr_gate.amp_fet +const Q2 = board.add(SOT_23, { translate: pt(2.989, 2.071), rotate: 0, - id: 'gate_pwr_gate_amp_fet' + id: 'Q2' }) -const gate_pwr_gate_ctl_diode = board.add(D_SOD_323, { +// gate.pwr_gate.ctl_diode +const D1 = board.add(D_SOD_323, { translate: pt(3.167, 2.041), rotate: 0, - id: 'gate_pwr_gate_ctl_diode' + id: 'D1' }) -const gate_pwr_gate_btn_diode = board.add(D_SOD_323, { +// gate.pwr_gate.btn_diode +const D2 = board.add(D_SOD_323, { translate: pt(3.333, 2.041), rotate: 0, - id: 'gate_pwr_gate_btn_diode' + id: 'D2' }) -const gate_btn_package = board.add(SW_SPST_SKQG_WithoutStem, { +// gate.btn.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(3.081, 1.852), rotate: 0, - id: 'gate_btn_package' + id: 'SW1' }) -const prot_batt_diode = board.add(D_SMA, { +// prot_batt.diode +const D3 = board.add(D_SMA, { translate: pt(2.889, 3.437), rotate: 0, - id: 'prot_batt_diode' + id: 'D3' }) -const tp_batt_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.509, 3.406), rotate: 0, - id: 'tp_batt_tp' +// tp_batt.tp +const TP2 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(4.254, 3.406), rotate: 0, + id: 'TP2' }) -const pwr_or_pdr = board.add(R_0603_1608Metric, { +// pwr_or.pdr +const R5 = board.add(R_0603_1608Metric, { translate: pt(3.977, 3.044), rotate: 0, - id: 'pwr_or_pdr' + id: 'R5' }) -const pwr_or_diode = board.add(D_SOD_323, { +// pwr_or.diode +const D4 = board.add(D_SOD_323, { translate: pt(3.816, 3.053), rotate: 0, - id: 'pwr_or_diode' + id: 'D4' }) -const pwr_or_fet = board.add(SOT_23, { +// pwr_or.fet +const Q3 = board.add(SOT_23, { translate: pt(3.828, 2.909), rotate: 0, - id: 'pwr_or_fet' + id: 'Q3' }) -const reg_3v3_ic = board.add(SOT_223_3_TabPin2, { +// reg_3v3.ic +const U1 = board.add(SOT_223_3_TabPin2, { translate: pt(1.004, 2.984), rotate: 0, - id: 'reg_3v3_ic' + id: 'U1' }) -const reg_3v3_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_3v3.in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(1.062, 3.194), rotate: 0, - id: 'reg_3v3_in_cap_cap' + id: 'C1' }) -const reg_3v3_out_cap_cap = board.add(C_0805_2012Metric, { +// reg_3v3.out_cap.cap +const C2 = board.add(C_0805_2012Metric, { translate: pt(0.898, 3.204), rotate: 0, - id: 'reg_3v3_out_cap_cap' + id: 'C2' }) -const prot_3v3_diode = board.add(D_SOD_323, { - translate: pt(4.007, 3.406), rotate: 0, - id: 'prot_3v3_diode' +// prot_3v3.diode +const D5 = board.add(D_SOD_323, { + translate: pt(3.756, 3.406), rotate: 0, + id: 'D5' }) -const tp_3v3_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(4.254, 3.406), rotate: 0, - id: 'tp_3v3_tp' +// tp_3v3.tp +const TP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(4.004, 3.406), rotate: 0, + id: 'TP3' }) -const charger_ic = board.add(SOT_23_5, { +// charger.ic +const U2 = board.add(SOT_23_5, { translate: pt(3.381, 2.909), rotate: 0, - id: 'charger_ic' + id: 'U2' }) -const charger_vdd_cap_cap = board.add(C_0805_2012Metric, { +// charger.vdd_cap.cap +const C3 = board.add(C_0805_2012Metric, { translate: pt(3.568, 2.881), rotate: 0, - id: 'charger_vdd_cap_cap' + id: 'C3' }) -const charger_vbat_cap_cap = board.add(C_0805_2012Metric, { +// charger.vbat_cap.cap +const C4 = board.add(C_0805_2012Metric, { translate: pt(3.367, 3.054), rotate: 0, - id: 'charger_vbat_cap_cap' + id: 'C4' }) -const charger_prog_res = board.add(R_0603_1608Metric, { +// charger.prog_res +const R6 = board.add(R_0603_1608Metric, { translate: pt(3.531, 3.044), rotate: 0, - id: 'charger_prog_res' + id: 'R6' }) -const charge_led_package = board.add(LED_0603_1608Metric, { +// charge_led.package +const D6 = board.add(LED_0603_1608Metric, { translate: pt(2.105, 3.397), rotate: 0, - id: 'charge_led_package' + id: 'D6' }) -const charge_led_res = board.add(R_0603_1608Metric, { +// charge_led.res +const R7 = board.add(R_0603_1608Metric, { translate: pt(2.105, 3.494), rotate: 0, - id: 'charge_led_res' + id: 'R7' }) -const mcu_ic = board.add(ESP32_S3_WROOM_1, { +// mcu.ic +const U3 = board.add(ESP32_S3_WROOM_1, { translate: pt(0.945, 0.530), rotate: 0, - id: 'mcu_ic' + id: 'U3' }) -const mcu_vcc_cap0_cap = board.add(C_1206_3216Metric, { +// mcu.vcc_cap0.cap +const C5 = board.add(C_1206_3216Metric, { translate: pt(2.020, 0.789), rotate: 0, - id: 'mcu_vcc_cap0_cap' + id: 'C5' }) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// mcu.vcc_cap1.cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(2.208, 0.773), rotate: 0, - id: 'mcu_vcc_cap1_cap' + id: 'C6' }) -const mcu_prog_conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// mcu.prog.conn +const J3 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(2.000, 0.370), rotate: 0, - id: 'mcu_prog_conn' + id: 'J3' }) -const mcu_boot_package = board.add(SW_SPST_SKQG_WithoutStem, { +// mcu.boot.package +const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(2.096, 0.593), rotate: 0, - id: 'mcu_boot_package' + id: 'SW2' }) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { +// mcu.en_pull.rc.r +const R8 = board.add(R_0603_1608Metric, { translate: pt(2.364, 0.773), rotate: 0, - id: 'mcu_en_pull_rc_r' + id: 'R8' }) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { +// mcu.en_pull.rc.c +const C7 = board.add(C_0603_1608Metric, { translate: pt(1.987, 0.903), rotate: 0, - id: 'mcu_en_pull_rc_c' + id: 'C7' }) -const usb_esd = board.add(SOT_23, { +// usb_esd +const U4 = board.add(SOT_23, { translate: pt(4.514, 3.435), rotate: 0, - id: 'usb_esd' + id: 'U4' }) -const led_package = board.add(LED_0603_1608Metric, { +// led.package +const D7 = board.add(LED_0603_1608Metric, { translate: pt(1.870, 3.397), rotate: 0, - id: 'led_package' + id: 'D7' }) -const led_res = board.add(R_0603_1608Metric, { +// led.res +const R9 = board.add(R_0603_1608Metric, { translate: pt(1.870, 3.494), rotate: 0, - id: 'led_res' + id: 'R9' }) -const tof_elt_0_ = board.add(PinSocket_1x06_P2_54mm_Vertical, { +// tof.elt[0] +const J4 = board.add(PinSocket_1x06_P2_54mm_Vertical, { translate: pt(1.457, 2.309), rotate: 0, - id: 'tof_elt_0_' + id: 'J4' }) -const tof_elt_1_ = board.add(PinSocket_1x06_P2_54mm_Vertical, { +// tof.elt[1] +const J5 = board.add(PinSocket_1x06_P2_54mm_Vertical, { translate: pt(1.636, 2.309), rotate: 0, - id: 'tof_elt_1_' + id: 'J5' }) -const tof_elt_2_ = board.add(PinSocket_1x06_P2_54mm_Vertical, { +// tof.elt[2] +const J6 = board.add(PinSocket_1x06_P2_54mm_Vertical, { translate: pt(1.815, 2.309), rotate: 0, - id: 'tof_elt_2_' + id: 'J6' }) -const tof_elt_3_ = board.add(PinSocket_1x06_P2_54mm_Vertical, { +// tof.elt[3] +const J7 = board.add(PinSocket_1x06_P2_54mm_Vertical, { translate: pt(1.994, 2.309), rotate: 0, - id: 'tof_elt_3_' + id: 'J7' }) -const i2c_pull_scl_res_res = board.add(R_0603_1608Metric, { - translate: pt(2.340, 3.397), rotate: 0, - id: 'i2c_pull_scl_res_res' +// i2c_pull.scl_res.res +const R10 = board.add(R_0603_1608Metric, { + translate: pt(2.574, 3.397), rotate: 0, + id: 'R10' }) -const i2c_pull_sda_res_res = board.add(R_0603_1608Metric, { - translate: pt(2.340, 3.494), rotate: 0, - id: 'i2c_pull_sda_res_res' +// i2c_pull.sda_res.res +const R11 = board.add(R_0603_1608Metric, { + translate: pt(2.574, 3.494), rotate: 0, + id: 'R11' }) -const i2c_tp_tp_scl_tp = board.add(TestPoint_TE_RCT_0805, { +// i2c_tp.tp_scl.tp +const TP4 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.628, 3.406), rotate: 0, - id: 'i2c_tp_tp_scl_tp' + id: 'TP4' }) -const i2c_tp_tp_sda_tp = board.add(TestPoint_TE_RCT_0805, { +// i2c_tp.tp_sda.tp +const TP5 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.628, 3.520), rotate: 0, - id: 'i2c_tp_tp_sda_tp' + id: 'TP5' }) -const imu_ic = board.add(Bosch_LGA_14_3x2_5mm_P0_5mm, { +// imu.ic +const U5 = board.add(Bosch_LGA_14_3x2_5mm_P0_5mm, { translate: pt(0.854, 3.431), rotate: 0, - id: 'imu_ic' + id: 'U5' }) -const imu_vdd_cap_cap = board.add(C_0603_1608Metric, { +// imu.vdd_cap.cap +const C8 = board.add(C_0603_1608Metric, { translate: pt(0.839, 3.563), rotate: 0, - id: 'imu_vdd_cap_cap' + id: 'C8' }) -const imu_vddio_cap_cap = board.add(C_0603_1608Metric, { +// imu.vddio_cap.cap +const C9 = board.add(C_0603_1608Metric, { translate: pt(0.995, 3.563), rotate: 0, - id: 'imu_vddio_cap_cap' + id: 'C9' }) -const mag_ic = board.add(LGA_16_3x3mm_P0_5mm, { +// mag.ic +const U6 = board.add(LGA_16_3x3mm_P0_5mm, { translate: pt(4.222, 2.911), rotate: 0, - id: 'mag_ic' + id: 'U6' }) -const mag_vdd_cap_cap = board.add(C_0603_1608Metric, { +// mag.vdd_cap.cap +const C10 = board.add(C_0603_1608Metric, { translate: pt(4.211, 3.048), rotate: 0, - id: 'mag_vdd_cap_cap' + id: 'C10' }) -const mag_set_cap = board.add(C_0603_1608Metric, { +// mag.set_cap +const C11 = board.add(C_0603_1608Metric, { translate: pt(4.367, 3.048), rotate: 0, - id: 'mag_set_cap' + id: 'C11' }) -const mag_c1 = board.add(C_0805_2012Metric, { +// mag.c1 +const C12 = board.add(C_0805_2012Metric, { translate: pt(4.397, 2.881), rotate: 0, - id: 'mag_c1' + id: 'C12' }) -const expander_ic = board.add(TSSOP_16_4_4x5mm_P0_65mm, { +// expander.ic +const U7 = board.add(TSSOP_16_4_4x5mm_P0_65mm, { translate: pt(2.486, 2.951), rotate: 0, - id: 'expander_ic' + id: 'U7' }) -const expander_vdd_cap_cap = board.add(C_0603_1608Metric, { +// expander.vdd_cap.cap +const C13 = board.add(C_0603_1608Metric, { translate: pt(2.393, 3.127), rotate: 0, - id: 'expander_vdd_cap_cap' + id: 'C13' }) -const rgb_package = board.add(LED_D5_0mm_4_RGB_Staggered_Pins, { +// rgb.package +const D8 = board.add(LED_D5_0mm_4_RGB_Staggered_Pins, { translate: pt(2.796, 3.000), rotate: 0, - id: 'rgb_package' + id: 'D8' }) -const rgb_red_res = board.add(R_0603_1608Metric, { +// rgb.red_res +const R12 = board.add(R_0603_1608Metric, { translate: pt(3.124, 2.871), rotate: 0, - id: 'rgb_red_res' + id: 'R12' }) -const rgb_green_res = board.add(R_0603_1608Metric, { +// rgb.green_res +const R13 = board.add(R_0603_1608Metric, { translate: pt(3.124, 2.968), rotate: 0, - id: 'rgb_green_res' + id: 'R13' }) -const rgb_blue_res = board.add(R_0603_1608Metric, { +// rgb.blue_res +const R14 = board.add(R_0603_1608Metric, { translate: pt(3.124, 3.065), rotate: 0, - id: 'rgb_blue_res' + id: 'R14' }) -const oled_device_conn = board.add(Hirose_FH12_30S_0_5SH_1x30_1MP_P0_50mm_Horizontal, { +// oled.device.conn +const J8 = board.add(Hirose_FH12_30S_0_5SH_1x30_1MP_P0_50mm_Horizontal, { translate: pt(2.956, 1.054), rotate: 0, - id: 'oled_device_conn' + id: 'J8' }) -const oled_lcd = board.add(Lcd_Er_Oled0_96_1_1_Outline, { +// oled.lcd +const U8 = board.add(Lcd_Er_Oled0_96_1_1_Outline, { translate: pt(3.066, 0.516), rotate: 0, - id: 'oled_lcd' + id: 'U8' }) -const oled_c1_cap = board.add(C_0603_1608Metric, { +// oled.c1_cap +const C14 = board.add(C_0603_1608Metric, { translate: pt(3.815, 0.889), rotate: 0, - id: 'oled_c1_cap' + id: 'C14' }) -const oled_c2_cap = board.add(C_0603_1608Metric, { +// oled.c2_cap +const C15 = board.add(C_0603_1608Metric, { translate: pt(3.971, 0.889), rotate: 0, - id: 'oled_c2_cap' + id: 'C15' }) -const oled_iref_res = board.add(R_0603_1608Metric, { +// oled.iref_res +const R15 = board.add(R_0603_1608Metric, { translate: pt(3.469, 1.006), rotate: 0, - id: 'oled_iref_res' + id: 'R15' }) -const oled_vcomh_cap_cap = board.add(C_0805_2012Metric, { +// oled.vcomh_cap.cap +const C16 = board.add(C_0805_2012Metric, { translate: pt(3.477, 0.899), rotate: 0, - id: 'oled_vcomh_cap_cap' + id: 'C16' }) -const oled_vdd_cap1_cap = board.add(C_0603_1608Metric, { +// oled.vdd_cap1.cap +const C17 = board.add(C_0603_1608Metric, { translate: pt(3.624, 1.006), rotate: 0, - id: 'oled_vdd_cap1_cap' + id: 'C17' }) -const oled_vbat_cap_cap = board.add(C_0603_1608Metric, { +// oled.vbat_cap.cap +const C18 = board.add(C_0603_1608Metric, { translate: pt(3.780, 1.006), rotate: 0, - id: 'oled_vbat_cap_cap' + id: 'C18' }) -const oled_vcc_cap_cap = board.add(C_0805_2012Metric, { +// oled.vcc_cap.cap +const C19 = board.add(C_0805_2012Metric, { translate: pt(3.650, 0.899), rotate: 0, - id: 'oled_vcc_cap_cap' + id: 'C19' }) -const batt_sense_div_top_res = board.add(R_0603_1608Metric, { - translate: pt(2.574, 3.397), rotate: 0, - id: 'batt_sense_div_top_res' -}) -const batt_sense_div_bottom_res = board.add(R_0603_1608Metric, { - translate: pt(2.574, 3.494), rotate: 0, - id: 'batt_sense_div_bottom_res' +// batt_sense.div.top_res +const R16 = board.add(R_0603_1608Metric, { + translate: pt(2.340, 3.397), rotate: 0, + id: 'R16' }) -const servo_0__conn = board.add(PinHeader_1x03_P2_54mm_Vertical, { - translate: pt(1.886, 3.112), rotate: 0, - id: 'servo_0__conn' +// batt_sense.div.bottom_res +const R17 = board.add(R_0603_1608Metric, { + translate: pt(2.340, 3.494), rotate: 0, + id: 'R17' }) -const servo_1__conn = board.add(PinHeader_1x03_P2_54mm_Vertical, { - translate: pt(1.626, 3.112), rotate: 0, - id: 'servo_1__conn' +// servo[0].conn +const J9 = board.add(PinHeader_1x03_P2_54mm_Vertical, { + translate: pt(2.146, 3.112), rotate: 0, + id: 'J9' }) -const servo_2__conn = board.add(PinHeader_1x03_P2_54mm_Vertical, { +// servo[1].conn +const J10 = board.add(PinHeader_1x03_P2_54mm_Vertical, { translate: pt(1.366, 3.112), rotate: 0, - id: 'servo_2__conn' + id: 'J10' }) -const servo_3__conn = board.add(PinHeader_1x03_P2_54mm_Vertical, { - translate: pt(2.146, 3.112), rotate: 0, - id: 'servo_3__conn' +// servo[2].conn +const J11 = board.add(PinHeader_1x03_P2_54mm_Vertical, { + translate: pt(1.886, 3.112), rotate: 0, + id: 'J11' }) -const npx_led_0_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// servo[3].conn +const J12 = board.add(PinHeader_1x03_P2_54mm_Vertical, { + translate: pt(1.626, 3.112), rotate: 0, + id: 'J12' +}) +// npx.led[0] +const D9 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.144, 1.848), rotate: 0, - id: 'npx_led_0_' + id: 'D9' }) -const npx_led_1_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// npx.led[1] +const D10 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.470, 1.848), rotate: 0, - id: 'npx_led_1_' + id: 'D10' }) -const npx_led_2_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// npx.led[2] +const D11 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.797, 1.848), rotate: 0, - id: 'npx_led_2_' + id: 'D11' }) -const npx_led_3_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// npx.led[3] +const D12 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(1.124, 1.848), rotate: 0, - id: 'npx_led_3_' + id: 'D12' }) -const npx_led_4_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// npx.led[4] +const D13 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.144, 2.104), rotate: 0, - id: 'npx_led_4_' + id: 'D13' }) -const npx_led_5_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// npx.led[5] +const D14 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.470, 2.104), rotate: 0, - id: 'npx_led_5_' + id: 'D14' }) -const npx_led_6_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// npx.led[6] +const D15 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.797, 2.104), rotate: 0, - id: 'npx_led_6_' + id: 'D15' }) -const npx_led_7_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// npx.led[7] +const D16 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(1.124, 2.104), rotate: 0, - id: 'npx_led_7_' + id: 'D16' }) -const npx_led_8_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// npx.led[8] +const D17 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.144, 2.360), rotate: 0, - id: 'npx_led_8_' + id: 'D17' }) -const npx_led_9_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// npx.led[9] +const D18 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.470, 2.360), rotate: 0, - id: 'npx_led_9_' + id: 'D18' }) -const npx_led_10_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// npx.led[10] +const D19 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.797, 2.360), rotate: 0, - id: 'npx_led_10_' + id: 'D19' }) -const npx_led_11_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// npx.led[11] +const D20 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(1.124, 2.360), rotate: 0, - id: 'npx_led_11_' + id: 'D20' }) -const npx_led_12_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// npx.led[12] +const D21 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.144, 2.616), rotate: 0, - id: 'npx_led_12_' + id: 'D21' }) -const npx_led_13_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// npx.led[13] +const D22 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.470, 2.616), rotate: 0, - id: 'npx_led_13_' + id: 'D22' }) -const npx_led_14_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// npx.led[14] +const D23 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.797, 2.616), rotate: 0, - id: 'npx_led_14_' + id: 'D23' }) -const npx_led_15_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// npx.led[15] +const D24 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(1.124, 2.616), rotate: 0, - id: 'npx_led_15_' + id: 'D24' }) -const npx_key = board.add(LED_SK6812MINI_E, { +// npx_key +const D25 = board.add(LED_SK6812MINI_E, { translate: pt(0.144, 3.782), rotate: 0, - id: 'npx_key' + id: 'D25' }) -const reg_2v5_ic = board.add(SOT_23, { +// reg_2v5.ic +const U9 = board.add(SOT_23, { translate: pt(0.466, 3.435), rotate: 0, - id: 'reg_2v5_ic' + id: 'U9' }) -const reg_2v5_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_2v5.in_cap.cap +const C20 = board.add(C_0603_1608Metric, { translate: pt(0.449, 3.570), rotate: 0, - id: 'reg_2v5_in_cap_cap' + id: 'C20' }) -const reg_2v5_out_cap_cap = board.add(C_0603_1608Metric, { +// reg_2v5.out_cap.cap +const C21 = board.add(C_0603_1608Metric, { translate: pt(0.605, 3.570), rotate: 0, - id: 'reg_2v5_out_cap_cap' + id: 'C21' }) -const reg_1v2_ic = board.add(SOT_23, { +// reg_1v2.ic +const U10 = board.add(SOT_23, { translate: pt(0.076, 3.435), rotate: 0, - id: 'reg_1v2_ic' + id: 'U10' }) -const reg_1v2_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_1v2.in_cap.cap +const C22 = board.add(C_0603_1608Metric, { translate: pt(0.058, 3.570), rotate: 0, - id: 'reg_1v2_in_cap_cap' + id: 'C22' }) -const reg_1v2_out_cap_cap = board.add(C_0603_1608Metric, { +// reg_1v2.out_cap.cap +const C23 = board.add(C_0603_1608Metric, { translate: pt(0.214, 3.570), rotate: 0, - id: 'reg_1v2_out_cap_cap' + id: 'C23' }) -const cam_device_conn = board.add(Hirose_FH12_24S_0_5SH_1x24_1MP_P0_50mm_Horizontal, { +// cam.device.conn +const J13 = board.add(Hirose_FH12_24S_0_5SH_1x24_1MP_P0_50mm_Horizontal, { translate: pt(0.356, 3.035), rotate: 0, - id: 'cam_device_conn' + id: 'J13' }) -const cam_dovdd_cap_cap = board.add(C_0603_1608Metric, { +// cam.dovdd_cap.cap +const C24 = board.add(C_0603_1608Metric, { translate: pt(0.058, 3.222), rotate: 0, - id: 'cam_dovdd_cap_cap' + id: 'C24' }) -const cam_reset_cap = board.add(C_0603_1608Metric, { +// cam.reset_cap +const C25 = board.add(C_0603_1608Metric, { translate: pt(0.214, 3.222), rotate: 0, - id: 'cam_reset_cap' + id: 'C25' }) -const cam_pclk_cap = board.add(C_0603_1608Metric, { +// cam.pclk_cap +const C26 = board.add(C_0603_1608Metric, { translate: pt(0.370, 3.222), rotate: 0, - id: 'cam_pclk_cap' + id: 'C26' }) -const cam_reset_pull_res = board.add(R_0603_1608Metric, { +// cam.reset_pull.res +const R18 = board.add(R_0603_1608Metric, { translate: pt(0.526, 3.222), rotate: 0, - id: 'cam_reset_pull_res' + id: 'R18' }) -const switch_package = board.add(SW_Hotswap_Kailh_MX, { +// switch.package +const SW3 = board.add(SW_Hotswap_Kailh_MX, { translate: pt(2.488, 2.026), rotate: 0, - id: 'switch_package' + id: 'SW3' }) +board.setNetlist([ + {name: "vusb", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["R5", "1"], ["D4", "2"], ["Q3", "1"], ["U2", "4"], ["D6", "2"], ["C3", "1"]]}, + {name: "gnd", pads: [["U4", "3"], ["D25", "3"], ["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["J2", "1"], ["TP1", "1"], ["D3", "2"], ["R5", "2"], ["U1", "1"], ["D5", "2"], ["U2", "2"], ["U3", "1"], ["U3", "40"], ["U3", "41"], ["R9", "2"], ["J4", "2"], ["J5", "2"], ["J6", "2"], ["J7", "2"], ["U5", "1"], ["U5", "2"], ["U5", "3"], ["U5", "6"], ["U5", "7"], ["U6", "9"], ["U6", "11"], ["U7", "1"], ["U7", "2"], ["U7", "3"], ["U7", "8"], ["J9", "3"], ["J10", "3"], ["J11", "3"], ["J12", "3"], ["D9", "3"], ["D10", "3"], ["D11", "3"], ["D12", "3"], ["D13", "3"], ["D14", "3"], ["D15", "3"], ["D16", "3"], ["D17", "3"], ["D18", "3"], ["D19", "3"], ["D20", "3"], ["D21", "3"], ["D22", "3"], ["D23", "3"], ["D24", "3"], ["U9", "1"], ["U10", "1"], ["SW3", "2"], ["R17", "2"], ["J1", "S1"], ["R6", "2"], ["C12", "2"], ["R15", "2"], ["C25", "2"], ["C26", "2"], ["R4", "1"], ["Q2", "2"], ["SW1", "2"], ["C1", "2"], ["C2", "2"], ["C3", "2"], ["C4", "2"], ["C5", "2"], ["C6", "2"], ["J3", "4"], ["SW2", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["C13", "2"], ["C16", "2"], ["C17", "2"], ["C18", "2"], ["C19", "2"], ["C20", "2"], ["C21", "2"], ["C22", "2"], ["C23", "2"], ["J13", "10"], ["J13", "23"], ["C24", "2"], ["C7", "2"], ["R1", "1"], ["R2", "1"], ["J8", "8"], ["J8", "1"], ["J8", "30"], ["J8", "29"], ["J8", "17"], ["J8", "16"], ["J8", "21"], ["J8", "22"], ["J8", "23"], ["J8", "24"], ["J8", "25"], ["J8", "12"], ["J8", "10"], ["J8", "15"], ["J8", "13"], ["J13", "17"]]}, + {name: "vbatt", pads: [["D25", "1"], ["Q1", "3"], ["D3", "1"], ["TP2", "1"], ["Q3", "3"], ["J9", "2"], ["J10", "2"], ["J11", "2"], ["J12", "2"], ["D9", "1"], ["D10", "1"], ["D11", "1"], ["D12", "1"], ["D13", "1"], ["D14", "1"], ["D15", "1"], ["D16", "1"], ["D17", "1"], ["D18", "1"], ["D19", "1"], ["D20", "1"], ["D21", "1"], ["D22", "1"], ["D23", "1"], ["D24", "1"], ["R16", "1"]]}, + {name: "pwr", pads: [["Q3", "2"], ["D4", "1"], ["U1", "3"], ["U9", "3"], ["U10", "3"], ["C1", "1"], ["C20", "1"], ["C22", "1"]]}, + {name: "v3v3", pads: [["U1", "2"], ["D5", "1"], ["TP3", "1"], ["U3", "2"], ["J4", "1"], ["J5", "1"], ["J6", "1"], ["J7", "1"], ["U5", "5"], ["U5", "12"], ["U5", "8"], ["U6", "2"], ["U6", "4"], ["U6", "13"], ["U7", "16"], ["D8", "2"], ["C2", "1"], ["C5", "1"], ["C6", "1"], ["J3", "1"], ["J4", "6"], ["R10", "1"], ["R11", "1"], ["C9", "1"], ["C8", "1"], ["C10", "1"], ["C13", "1"], ["J8", "9"], ["J8", "6"], ["C17", "1"], ["C18", "1"], ["J13", "14"], ["C24", "1"], ["R18", "1"], ["R8", "1"], ["J8", "11"]]}, + {name: "v2v5", pads: [["U9", "2"], ["J13", "21"], ["C21", "1"]]}, + {name: "v1v2", pads: [["U10", "2"], ["J13", "15"], ["C23", "1"]]}, + {name: "batt.pwr", pads: [["J2", "2"], ["F1", "1"], ["U2", "3"], ["C4", "1"]]}, + {name: "fuse.pwr_out", pads: [["F1", "2"], ["R3", "1"], ["Q1", "2"]]}, + {name: "charge_led.signal", pads: [["U2", "1"], ["R7", "2"]]}, + {name: "usb_chain_0.d_P", pads: [["J1", "A6"], ["J1", "B6"], ["U4", "2"], ["U3", "14"]]}, + {name: "usb_chain_0.d_N", pads: [["J1", "A7"], ["J1", "B7"], ["U4", "1"], ["U3", "13"]]}, + {name: "mcu.program_boot_node", pads: [["U3", "27"], ["D7", "2"], ["SW2", "1"]]}, + {name: "touch_0", pads: [["U3", "7"]]}, + {name: "i2c_chain_0.scl", pads: [["U3", "38"], ["U5", "13"], ["U6", "1"], ["U7", "14"], ["R10", "2"], ["TP4", "1"], ["J8", "18"], ["J4", "3"], ["J5", "3"], ["J6", "3"], ["J7", "3"], ["J13", "20"]]}, + {name: "i2c_chain_0.sda", pads: [["U3", "4"], ["U5", "14"], ["U6", "16"], ["U7", "15"], ["R11", "2"], ["J13", "22"], ["J4", "4"], ["J5", "4"], ["J6", "4"], ["J7", "4"], ["TP5", "1"], ["J8", "19"], ["J8", "20"]]}, + {name: "expander.io.tof_reset_1", pads: [["U7", "4"], ["J5", "6"]]}, + {name: "expander.io.tof_reset_2", pads: [["U7", "5"], ["J6", "6"]]}, + {name: "expander.io.tof_reset_3", pads: [["U7", "6"], ["J7", "6"]]}, + {name: "expander.io.rgb_red", pads: [["U7", "7"], ["R12", "2"]]}, + {name: "expander.io.rgb_green", pads: [["U7", "9"], ["R13", "2"]]}, + {name: "expander.io.rgb_blue", pads: [["U7", "10"], ["R14", "2"]]}, + {name: "oled.reset", pads: [["U3", "31"], ["J8", "14"]]}, + {name: "batt_sense.output", pads: [["U3", "39"], ["R16", "2"], ["R17", "1"]]}, + {name: "gate.btn_out", pads: [["U3", "32"], ["D2", "2"]]}, + {name: "gate.control", pads: [["U3", "33"], ["R4", "2"], ["Q2", "1"]]}, + {name: "servo[0].pwm", pads: [["U3", "5"], ["J9", "1"]]}, + {name: "servo[1].pwm", pads: [["U3", "6"], ["J10", "1"]]}, + {name: "servo[2].pwm", pads: [["U3", "8"], ["J11", "1"]]}, + {name: "servo[3].pwm", pads: [["U3", "10"], ["J12", "1"]]}, + {name: "npx.din", pads: [["U3", "9"], ["D9", "4"]]}, + {name: "npx.dout", pads: [["D24", "2"], ["D25", "4"]]}, + {name: "cam.dvp8.xclk", pads: [["U3", "17"], ["J13", "12"]]}, + {name: "cam.dvp8.pclk", pads: [["U3", "20"], ["C26", "1"], ["J13", "8"]]}, + {name: "cam.dvp8.href", pads: [["U3", "12"], ["J13", "16"]]}, + {name: "cam.dvp8.vsync", pads: [["U3", "11"], ["J13", "18"]]}, + {name: "cam.dvp8.y0", pads: [["U3", "22"], ["J13", "6"]]}, + {name: "cam.dvp8.y1", pads: [["U3", "24"], ["J13", "4"]]}, + {name: "cam.dvp8.y2", pads: [["U3", "25"], ["J13", "3"]]}, + {name: "cam.dvp8.y3", pads: [["U3", "23"], ["J13", "5"]]}, + {name: "cam.dvp8.y4", pads: [["U3", "21"], ["J13", "7"]]}, + {name: "cam.dvp8.y5", pads: [["U3", "19"], ["J13", "9"]]}, + {name: "cam.dvp8.y6", pads: [["U3", "18"], ["J13", "11"]]}, + {name: "cam.dvp8.y7", pads: [["U3", "15"], ["J13", "13"]]}, + {name: "switch.out", pads: [["U3", "34"], ["SW3", "1"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "gate.pwr_gate.btn_in", pads: [["D2", "1"], ["D1", "1"], ["SW1", "1"]]}, + {name: "gate.pwr_gate.pull_res.b", pads: [["R3", "2"], ["D1", "2"], ["Q1", "1"], ["Q2", "3"]]}, + {name: "charger.prog_res.a", pads: [["R6", "1"], ["U2", "5"]]}, + {name: "charge_led.res.a", pads: [["R7", "1"], ["D6", "1"]]}, + {name: "mcu.program_uart_node.a_tx", pads: [["U3", "37"], ["J3", "2"]]}, + {name: "mcu.program_uart_node.b_tx", pads: [["U3", "36"], ["J3", "3"]]}, + {name: "mcu.program_en_node", pads: [["U3", "3"], ["R8", "2"], ["C7", "1"]]}, + {name: "led.res.a", pads: [["R9", "1"], ["D7", "1"]]}, + {name: "tof.elt[0].ic.gpio1", pads: [["J4", "5"]]}, + {name: "tof.elt[1].ic.gpio1", pads: [["J5", "5"]]}, + {name: "tof.elt[2].ic.gpio1", pads: [["J6", "5"]]}, + {name: "tof.elt[3].ic.gpio1", pads: [["J7", "5"]]}, + {name: "imu.int1", pads: [["U5", "4"]]}, + {name: "imu.int2", pads: [["U5", "9"]]}, + {name: "mag.drdy", pads: [["U6", "15"]]}, + {name: "mag.set_cap.pos", pads: [["C11", "1"], ["U6", "8"]]}, + {name: "mag.set_cap.neg", pads: [["C11", "2"], ["U6", "12"]]}, + {name: "mag.c1.pos", pads: [["C12", "1"], ["U6", "10"]]}, + {name: "rgb.red_res.a", pads: [["R12", "1"], ["D8", "1"]]}, + {name: "rgb.green_res.a", pads: [["R13", "1"], ["D8", "3"]]}, + {name: "rgb.blue_res.a", pads: [["R14", "1"], ["D8", "4"]]}, + {name: "oled.c1_cap.pos", pads: [["C14", "1"], ["J8", "4"]]}, + {name: "oled.c1_cap.neg", pads: [["C14", "2"], ["J8", "5"]]}, + {name: "oled.c2_cap.pos", pads: [["C15", "1"], ["J8", "2"]]}, + {name: "oled.c2_cap.neg", pads: [["C15", "2"], ["J8", "3"]]}, + {name: "oled.iref_res.a", pads: [["R15", "1"], ["J8", "26"]]}, + {name: "oled.device.vcomh", pads: [["J8", "27"], ["C16", "1"]]}, + {name: "oled.device.vcc", pads: [["J8", "28"], ["C19", "1"]]}, + {name: "npx.led[0].dout", pads: [["D9", "2"], ["D10", "4"]]}, + {name: "npx.led[1].dout", pads: [["D10", "2"], ["D11", "4"]]}, + {name: "npx.led[2].dout", pads: [["D11", "2"], ["D12", "4"]]}, + {name: "npx.led[3].dout", pads: [["D12", "2"], ["D13", "4"]]}, + {name: "npx.led[4].dout", pads: [["D13", "2"], ["D14", "4"]]}, + {name: "npx.led[5].dout", pads: [["D14", "2"], ["D15", "4"]]}, + {name: "npx.led[6].dout", pads: [["D15", "2"], ["D16", "4"]]}, + {name: "npx.led[7].dout", pads: [["D16", "2"], ["D17", "4"]]}, + {name: "npx.led[8].dout", pads: [["D17", "2"], ["D18", "4"]]}, + {name: "npx.led[9].dout", pads: [["D18", "2"], ["D19", "4"]]}, + {name: "npx.led[10].dout", pads: [["D19", "2"], ["D20", "4"]]}, + {name: "npx.led[11].dout", pads: [["D20", "2"], ["D21", "4"]]}, + {name: "npx.led[12].dout", pads: [["D21", "2"], ["D22", "4"]]}, + {name: "npx.led[13].dout", pads: [["D22", "2"], ["D23", "4"]]}, + {name: "npx.led[14].dout", pads: [["D23", "2"], ["D24", "4"]]}, + {name: "npx_key.dout", pads: [["D25", "2"]]}, + {name: "cam.reset_cap.pos", pads: [["C25", "1"], ["R18", "2"], ["J13", "19"]]}, + {name: "cam.device.y.0", pads: [["J13", "1"]]}, + {name: "cam.device.y.1", pads: [["J13", "2"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(4.6287401574803155, 3.8866141732283466); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/PicoProbe/PicoProbe.svgpcb.js b/examples/PicoProbe/PicoProbe.svgpcb.js index b32253dee..838d7eace 100644 --- a/examples/PicoProbe/PicoProbe.svgpcb.js +++ b/examples/PicoProbe/PicoProbe.svgpcb.js @@ -1,174 +1,253 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const SH1 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.861, 1.261), rotate: 0, - id: 'jlc_th_th1' + id: 'SH1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const SH2 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.901, 1.261), rotate: 0, - id: 'jlc_th_th2' + id: 'SH2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const SH3 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.861, 1.300), rotate: 0, - id: 'jlc_th_th3' + id: 'SH3' }) -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const SJ1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(0.209, 0.956), rotate: 0, - id: 'usb_conn' + id: 'SJ1' }) -const usb_cc_pull_cc1_res = board.add(R_0402_1005Metric, { +// usb.cc_pull.cc1.res +const SR1 = board.add(R_0402_1005Metric, { translate: pt(0.495, 0.810), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'SR1' }) -const usb_cc_pull_cc2_res = board.add(R_0402_1005Metric, { +// usb.cc_pull.cc2.res +const SR2 = board.add(R_0402_1005Metric, { translate: pt(0.495, 0.886), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'SR2' }) -const vusb_protect_diode = board.add(D_SOD_323, { +// vusb_protect.diode +const SD1 = board.add(D_SOD_323, { translate: pt(0.490, 1.298), rotate: 0, - id: 'vusb_protect_diode' + id: 'SD1' }) -const usb_reg_ic = board.add(SOT_23_5, { - translate: pt(1.093, 0.858), rotate: 0, - id: 'usb_reg_ic' -}) -const usb_reg_in_cap_cap = board.add(C_0402_1005Metric, { - translate: pt(1.222, 0.983), rotate: 0, - id: 'usb_reg_in_cap_cap' -}) -const usb_reg_out_cap_cap = board.add(C_0805_2012Metric, { - translate: pt(1.080, 1.003), rotate: 0, - id: 'usb_reg_out_cap_cap' -}) -const target_reg_ic = board.add(SOT_23_5, { +// usb_reg.ic +const SU1 = board.add(SOT_23_5, { translate: pt(0.730, 0.858), rotate: 0, - id: 'target_reg_ic' + id: 'SU1' }) -const target_reg_in_cap_cap = board.add(C_0402_1005Metric, { +// usb_reg.in_cap.cap +const SC1 = board.add(C_0402_1005Metric, { translate: pt(0.859, 0.983), rotate: 0, - id: 'target_reg_in_cap_cap' + id: 'SC1' }) -const target_reg_out_cap_cap = board.add(C_0805_2012Metric, { +// usb_reg.out_cap.cap +const SC2 = board.add(C_0805_2012Metric, { translate: pt(0.717, 1.003), rotate: 0, - id: 'target_reg_out_cap_cap' + id: 'SC2' }) -const mcu_swd_conn = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { +// target_reg.ic +const SU2 = board.add(SOT_23_5, { + translate: pt(1.093, 0.858), rotate: 0, + id: 'SU2' +}) +// target_reg.in_cap.cap +const SC3 = board.add(C_0402_1005Metric, { + translate: pt(1.222, 0.983), rotate: 0, + id: 'SC3' +}) +// target_reg.out_cap.cap +const SC4 = board.add(C_0805_2012Metric, { + translate: pt(1.080, 1.003), rotate: 0, + id: 'SC4' +}) +// mcu.swd.conn +const SJ2 = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { translate: pt(0.138, 0.443), rotate: 0, - id: 'mcu_swd_conn' + id: 'SJ2' }) -const mcu_ic = board.add(QFN_56_1EP_7x7mm_P0_4mm_EP3_2x3_2mm, { +// mcu.ic +const SU3 = board.add(QFN_56_1EP_7x7mm_P0_4mm_EP3_2x3_2mm, { translate: pt(0.163, 0.163), rotate: 0, - id: 'mcu_ic' + id: 'SU3' }) -const mcu_iovdd_cap_0__cap = board.add(C_0402_1005Metric, { +// mcu.iovdd_cap[0].cap +const SC5 = board.add(C_0402_1005Metric, { translate: pt(0.036, 0.580), rotate: 0, - id: 'mcu_iovdd_cap_0__cap' + id: 'SC5' }) -const mcu_iovdd_cap_1__cap = board.add(C_0402_1005Metric, { +// mcu.iovdd_cap[1].cap +const SC6 = board.add(C_0402_1005Metric, { translate: pt(0.147, 0.580), rotate: 0, - id: 'mcu_iovdd_cap_1__cap' + id: 'SC6' }) -const mcu_iovdd_cap_2__cap = board.add(C_0402_1005Metric, { +// mcu.iovdd_cap[2].cap +const SC7 = board.add(C_0402_1005Metric, { translate: pt(0.258, 0.580), rotate: 0, - id: 'mcu_iovdd_cap_2__cap' + id: 'SC7' }) -const mcu_iovdd_cap_3__cap = board.add(C_0402_1005Metric, { +// mcu.iovdd_cap[3].cap +const SC8 = board.add(C_0402_1005Metric, { translate: pt(0.369, 0.580), rotate: 0, - id: 'mcu_iovdd_cap_3__cap' + id: 'SC8' }) -const mcu_iovdd_cap_4__cap = board.add(C_0402_1005Metric, { +// mcu.iovdd_cap[4].cap +const SC9 = board.add(C_0402_1005Metric, { translate: pt(0.480, 0.580), rotate: 0, - id: 'mcu_iovdd_cap_4__cap' + id: 'SC9' }) -const mcu_iovdd_cap_5__cap = board.add(C_0402_1005Metric, { +// mcu.iovdd_cap[5].cap +const SC10 = board.add(C_0402_1005Metric, { translate: pt(0.591, 0.580), rotate: 0, - id: 'mcu_iovdd_cap_5__cap' + id: 'SC10' }) -const mcu_avdd_cap_cap = board.add(C_0402_1005Metric, { +// mcu.avdd_cap.cap +const SC11 = board.add(C_0402_1005Metric, { translate: pt(0.702, 0.580), rotate: 0, - id: 'mcu_avdd_cap_cap' + id: 'SC11' }) -const mcu_vreg_in_cap_cap = board.add(C_0402_1005Metric, { +// mcu.vreg_in_cap.cap +const SC12 = board.add(C_0402_1005Metric, { translate: pt(0.813, 0.580), rotate: 0, - id: 'mcu_vreg_in_cap_cap' + id: 'SC12' }) -const mcu_mem_ic = board.add(SOIC_8_5_23x5_23mm_P1_27mm, { +// mcu.mem.ic +const SU4 = board.add(SOIC_8_5_23x5_23mm_P1_27mm, { translate: pt(0.548, 0.113), rotate: 0, - id: 'mcu_mem_ic' + id: 'SU4' }) -const mcu_mem_vcc_cap_cap = board.add(C_0402_1005Metric, { +// mcu.mem.vcc_cap.cap +const SC13 = board.add(C_0402_1005Metric, { translate: pt(0.036, 0.655), rotate: 0, - id: 'mcu_mem_vcc_cap_cap' + id: 'SC13' }) -const mcu_dvdd_cap_0__cap = board.add(C_0402_1005Metric, { +// mcu.dvdd_cap[0].cap +const SC14 = board.add(C_0402_1005Metric, { translate: pt(0.147, 0.655), rotate: 0, - id: 'mcu_dvdd_cap_0__cap' + id: 'SC14' }) -const mcu_dvdd_cap_1__cap = board.add(C_0402_1005Metric, { +// mcu.dvdd_cap[1].cap +const SC15 = board.add(C_0402_1005Metric, { translate: pt(0.258, 0.655), rotate: 0, - id: 'mcu_dvdd_cap_1__cap' + id: 'SC15' }) -const mcu_vreg_out_cap_cap = board.add(C_0402_1005Metric, { +// mcu.vreg_out_cap.cap +const SC16 = board.add(C_0402_1005Metric, { translate: pt(0.369, 0.655), rotate: 0, - id: 'mcu_vreg_out_cap_cap' + id: 'SC16' }) -const mcu_usb_res_dp_res = board.add(R_0603_1608Metric, { +// mcu.usb_res.dp_res +const SR3 = board.add(R_0603_1608Metric, { translate: pt(0.562, 0.393), rotate: 0, - id: 'mcu_usb_res_dp_res' + id: 'SR3' }) -const mcu_usb_res_dm_res = board.add(R_0603_1608Metric, { +// mcu.usb_res.dm_res +const SR4 = board.add(R_0603_1608Metric, { translate: pt(0.718, 0.393), rotate: 0, - id: 'mcu_usb_res_dm_res' + id: 'SR4' }) -const mcu_crystal = board.add(Resonator_SMD_Murata_CSTxExxV_3Pin_3_0x1_1mm, { +// mcu.crystal +const SU5 = board.add(Resonator_SMD_Murata_CSTxExxV_3Pin_3_0x1_1mm, { translate: pt(0.394, 0.428), rotate: 0, - id: 'mcu_crystal' + id: 'SU5' }) -const usb_esd = board.add(SOT_23, { +// usb_esd +const SU6 = board.add(SOT_23, { translate: pt(0.746, 1.328), rotate: 0, - id: 'usb_esd' + id: 'SU6' }) -const led_tgt_package = board.add(LED_0603_1608Metric, { - translate: pt(0.058, 1.290), rotate: 0, - id: 'led_tgt_package' +// led_tgt.package +const SD2 = board.add(LED_0603_1608Metric, { + translate: pt(1.669, 0.820), rotate: 0, + id: 'SD2' }) -const led_tgt_res = board.add(R_0402_1005Metric, { - translate: pt(0.037, 1.377), rotate: 0, - id: 'led_tgt_res' +// led_tgt.res +const SR5 = board.add(R_0402_1005Metric, { + translate: pt(1.647, 0.907), rotate: 0, + id: 'SR5' }) -const led_usb_package = board.add(LED_0603_1608Metric, { +// led_usb.package +const SD3 = board.add(LED_0603_1608Metric, { translate: pt(1.434, 0.820), rotate: 0, - id: 'led_usb_package' + id: 'SD3' }) -const led_usb_res = board.add(R_0402_1005Metric, { +// led_usb.res +const SR6 = board.add(R_0402_1005Metric, { translate: pt(1.412, 0.907), rotate: 0, - id: 'led_usb_res' + id: 'SR6' }) -const en_pull_res = board.add(R_0402_1005Metric, { +// en_pull.res +const SR7 = board.add(R_0402_1005Metric, { translate: pt(1.055, 1.280), rotate: 0, - id: 'en_pull_res' + id: 'SR7' }) -const target_conn = board.add(PinHeader_2x03_P2_54mm_EdgeInline, { +// target.conn +const SJ3 = board.add(PinHeader_2x03_P2_54mm_EdgeInline, { translate: pt(1.126, 0.321), rotate: 0, - id: 'target_conn' + id: 'SJ3' }) -const led_target_package = board.add(LED_0603_1608Metric, { - translate: pt(1.669, 0.820), rotate: 0, - id: 'led_target_package' +// led_target.package +const SD4 = board.add(LED_0603_1608Metric, { + translate: pt(0.058, 1.290), rotate: 0, + id: 'SD4' }) -const led_target_res = board.add(R_0402_1005Metric, { - translate: pt(1.647, 0.907), rotate: 0, - id: 'led_target_res' +// led_target.res +const SR8 = board.add(R_0402_1005Metric, { + translate: pt(0.037, 1.377), rotate: 0, + id: 'SR8' }) -const target_sense_div_top_res = board.add(R_0402_1005Metric, { +// target_sense.div.top_res +const SR9 = board.add(R_0402_1005Metric, { translate: pt(0.271, 1.280), rotate: 0, - id: 'target_sense_div_top_res' + id: 'SR9' }) -const target_sense_div_bottom_res = board.add(R_0402_1005Metric, { +// target_sense.div.bottom_res +const SR10 = board.add(R_0402_1005Metric, { translate: pt(0.271, 1.356), rotate: 0, - id: 'target_sense_div_bottom_res' + id: 'SR10' }) +board.setNetlist([ + {name: "Svusb", pads: [["SJ1", "A4"], ["SJ1", "B9"], ["SJ1", "B4"], ["SJ1", "A9"], ["SD1", "1"], ["SU1", "1"], ["SU2", "1"], ["SU1", "3"], ["SC1", "1"], ["SC3", "1"]]}, + {name: "Sgnd", pads: [["SU6", "3"], ["SJ1", "A1"], ["SJ1", "B12"], ["SJ1", "B1"], ["SJ1", "A12"], ["SD1", "2"], ["SU1", "2"], ["SU2", "2"], ["SU3", "19"], ["SU3", "57"], ["SU5", "2"], ["SR5", "2"], ["SR6", "2"], ["SJ3", "5"], ["SR8", "2"], ["SR10", "2"], ["SJ1", "S1"], ["SC1", "2"], ["SC2", "2"], ["SC3", "2"], ["SC4", "2"], ["SJ2", "5"], ["SC5", "2"], ["SC6", "2"], ["SC7", "2"], ["SC8", "2"], ["SC9", "2"], ["SC10", "2"], ["SC11", "2"], ["SC12", "2"], ["SU4", "4"], ["SC14", "2"], ["SC15", "2"], ["SC16", "2"], ["SR1", "1"], ["SR2", "1"], ["SC13", "2"]]}, + {name: "Sv3v3", pads: [["SU1", "5"], ["SU3", "1"], ["SU3", "10"], ["SU3", "22"], ["SU3", "33"], ["SU3", "42"], ["SU3", "49"], ["SU3", "44"], ["SU3", "43"], ["SU3", "48"], ["SR7", "1"], ["SC2", "1"], ["SJ2", "1"], ["SC5", "1"], ["SC6", "1"], ["SC7", "1"], ["SC8", "1"], ["SC9", "1"], ["SC10", "1"], ["SC11", "1"], ["SC12", "1"], ["SU4", "8"], ["SC13", "1"]]}, + {name: "Svtarget", pads: [["SU2", "5"], ["SJ3", "1"], ["SD4", "2"], ["SR9", "1"], ["SC4", "1"]]}, + {name: "Susb_chain_0.d_P", pads: [["SJ1", "A6"], ["SJ1", "B6"], ["SU6", "2"], ["SR3", "2"]]}, + {name: "Susb_chain_0.d_N", pads: [["SJ1", "A7"], ["SJ1", "B7"], ["SU6", "1"], ["SR4", "2"]]}, + {name: "Sled_tgt.signal", pads: [["SU3", "27"], ["SD2", "2"]]}, + {name: "Sled_usb.signal", pads: [["SU3", "37"], ["SD3", "2"]]}, + {name: "Sen_pull.io", pads: [["SU3", "17"], ["SU2", "3"], ["SR7", "2"]]}, + {name: "Starget_drv.swclk", pads: [["SU3", "4"], ["SJ3", "4"]]}, + {name: "Starget_drv.swdio", pads: [["SU3", "5"], ["SJ3", "2"]]}, + {name: "Starget.swo", pads: [["SU3", "3"], ["SJ3", "6"]]}, + {name: "Starget.reset", pads: [["SU3", "7"], ["SJ3", "3"]]}, + {name: "Starget_sense.output", pads: [["SU3", "40"], ["SR9", "2"], ["SR10", "1"]]}, + {name: "Susb.conn.cc.cc1", pads: [["SJ1", "A5"], ["SR1", "2"]]}, + {name: "Susb.conn.cc.cc2", pads: [["SJ1", "B5"], ["SR2", "2"]]}, + {name: "Smcu.xtal_node.xi", pads: [["SU3", "20"], ["SU5", "1"]]}, + {name: "Smcu.xtal_node.xo", pads: [["SU3", "21"], ["SU5", "3"]]}, + {name: "Smcu.swd_node.swdio", pads: [["SU3", "25"], ["SJ2", "2"]]}, + {name: "Smcu.swd_node.swclk", pads: [["SU3", "24"], ["SJ2", "4"]]}, + {name: "Smcu.reset_node", pads: [["SU3", "26"], ["SJ2", "3"]]}, + {name: "Smcu.ic.qspi.sck", pads: [["SU3", "52"], ["SU4", "6"]]}, + {name: "Smcu.ic.qspi.mosi", pads: [["SU3", "53"], ["SU4", "5"]]}, + {name: "Smcu.ic.qspi.miso", pads: [["SU3", "55"], ["SU4", "2"]]}, + {name: "Smcu.ic.qspi_cs", pads: [["SU3", "56"], ["SU4", "1"]]}, + {name: "Smcu.ic.qspi_sd2", pads: [["SU3", "54"], ["SU4", "3"]]}, + {name: "Smcu.ic.qspi_sd3", pads: [["SU3", "51"], ["SU4", "7"]]}, + {name: "Smcu.ic.vreg_vout", pads: [["SU3", "45"], ["SU3", "23"], ["SU3", "50"], ["SC14", "1"], ["SC15", "1"], ["SC16", "1"]]}, + {name: "Smcu.usb_chain_0.d_P", pads: [["SU3", "47"], ["SR3", "1"]]}, + {name: "Smcu.usb_chain_0.d_N", pads: [["SU3", "46"], ["SR4", "1"]]}, + {name: "Smcu.swd.swo", pads: [["SU3", "15"], ["SJ2", "6"]]}, + {name: "Sled_tgt.res.a", pads: [["SR5", "1"], ["SD2", "1"]]}, + {name: "Sled_usb.res.a", pads: [["SR6", "1"], ["SD3", "1"]]}, + {name: "Sled_target.res.a", pads: [["SR8", "1"], ["SD4", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(1.8452755905511813, 1.5133858267716536); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/ProtectedCharger/ProtectedCharger.svgpcb.js b/examples/ProtectedCharger/ProtectedCharger.svgpcb.js index 207125f81..98ab9cc10 100644 --- a/examples/ProtectedCharger/ProtectedCharger.svgpcb.js +++ b/examples/ProtectedCharger/ProtectedCharger.svgpcb.js @@ -1,90 +1,127 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const H1 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.501, 0.935), rotate: 0, - id: 'jlc_th_th1' + id: 'H1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const H2 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.540, 0.935), rotate: 0, - id: 'jlc_th_th2' + id: 'H2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const H3 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.501, 0.974), rotate: 0, - id: 'jlc_th_th3' + id: 'H3' }) -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(0.209, 0.165), rotate: 0, - id: 'usb_conn' + id: 'J1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(0.058, 0.420), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'R1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(0.214, 0.420), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'R2' }) -const batt_conn = board.add(JST_PH_S2B_PH_K_1x02_P2_00mm_Horizontal, { +// batt.conn +const J2 = board.add(JST_PH_S2B_PH_K_1x02_P2_00mm_Horizontal, { translate: pt(0.633, 0.266), rotate: 0, - id: 'batt_conn' + id: 'J2' }) -const tp_gnd_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.317, 0.972), rotate: 0, - id: 'tp_gnd_tp' -}) -const tp_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_gnd.tp +const TP1 = board.add(TestPoint_TE_RCT_0805, { translate: pt(0.066, 0.972), rotate: 0, - id: 'tp_tp' + id: 'TP1' }) -const pmos_r1 = board.add(R_0603_1608Metric, { +// tp.tp +const TP2 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.317, 0.972), rotate: 0, + id: 'TP2' +}) +// pmos.r1 +const R3 = board.add(R_0603_1608Metric, { translate: pt(0.511, 0.769), rotate: 0, - id: 'pmos_r1' + id: 'R3' }) -const pmos_r2 = board.add(R_0603_1608Metric, { +// pmos.r2 +const R4 = board.add(R_0603_1608Metric, { translate: pt(0.667, 0.769), rotate: 0, - id: 'pmos_r2' + id: 'R4' }) -const pmos_mp1 = board.add(SOT_23, { +// pmos.mp1 +const Q1 = board.add(SOT_23, { translate: pt(0.528, 0.633), rotate: 0, - id: 'pmos_mp1' + id: 'Q1' }) -const pmos_mp2 = board.add(SOT_23, { +// pmos.mp2 +const Q2 = board.add(SOT_23, { translate: pt(0.719, 0.633), rotate: 0, - id: 'pmos_mp2' + id: 'Q2' }) -const charger_ic = board.add(SOT_23_5, { +// charger.ic +const U1 = board.add(SOT_23_5, { translate: pt(0.081, 0.633), rotate: 0, - id: 'charger_ic' + id: 'U1' }) -const charger_vdd_cap_cap = board.add(C_0805_2012Metric, { +// charger.vdd_cap.cap +const C1 = board.add(C_0805_2012Metric, { translate: pt(0.268, 0.605), rotate: 0, - id: 'charger_vdd_cap_cap' + id: 'C1' }) -const charger_vbat_cap_cap = board.add(C_0805_2012Metric, { +// charger.vbat_cap.cap +const C2 = board.add(C_0805_2012Metric, { translate: pt(0.067, 0.778), rotate: 0, - id: 'charger_vbat_cap_cap' + id: 'C2' }) -const charger_prog_res = board.add(R_0603_1608Metric, { +// charger.prog_res +const R5 = board.add(R_0603_1608Metric, { translate: pt(0.231, 0.769), rotate: 0, - id: 'charger_prog_res' + id: 'R5' }) -const charge_led_package = board.add(LED_0603_1608Metric, { +// charge_led.package +const D1 = board.add(LED_0603_1608Metric, { translate: pt(0.971, 0.595), rotate: 0, - id: 'charge_led_package' + id: 'D1' }) -const charge_led_res = board.add(R_0603_1608Metric, { +// charge_led.res +const R6 = board.add(R_0603_1608Metric, { translate: pt(0.971, 0.693), rotate: 0, - id: 'charge_led_res' + id: 'R6' }) -const pmos_load_fet = board.add(SOT_23, { +// pmos_load.fet +const Q3 = board.add(SOT_23, { translate: pt(1.223, 0.633), rotate: 0, - id: 'pmos_load_fet' + id: 'Q3' }) -const pwr_pins = board.add(JST_PH_S3B_PH_K_1x03_P2_00mm_Horizontal, { +// pwr_pins +const J3 = board.add(JST_PH_S3B_PH_K_1x03_P2_00mm_Horizontal, { translate: pt(1.023, 0.266), rotate: 0, - id: 'pwr_pins' + id: 'J3' }) +board.setNetlist([ + {name: "vusb", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["U1", "4"], ["D1", "2"], ["C1", "1"]]}, + {name: "gnd", pads: [["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["J3", "1"], ["J3", "3"], ["J2", "1"], ["TP1", "1"], ["R3", "2"], ["U1", "2"], ["Q3", "1"], ["J1", "S1"], ["R5", "2"], ["C1", "2"], ["C2", "2"], ["R1", "1"], ["R2", "1"]]}, + {name: "batt.pwr", pads: [["J2", "2"], ["TP2", "1"], ["R4", "2"], ["Q1", "1"], ["Q2", "3"]]}, + {name: "charger.pwr_bat", pads: [["U1", "3"], ["Q1", "2"], ["Q2", "2"], ["R4", "1"], ["C2", "1"], ["Q3", "3"]]}, + {name: "charge_led.signal", pads: [["U1", "1"], ["R6", "2"]]}, + {name: "pmos_load.pwr_out", pads: [["J3", "2"], ["Q3", "2"]]}, + {name: "usb.usb.dp", pads: [["J1", "A6"], ["J1", "B6"]]}, + {name: "usb.usb.dm", pads: [["J1", "A7"], ["J1", "B7"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "pmos.r1.a", pads: [["R3", "1"], ["Q1", "3"], ["Q2", "1"]]}, + {name: "charger.prog_res.a", pads: [["R5", "1"], ["U1", "5"]]}, + {name: "charge_led.res.a", pads: [["R6", "1"], ["D1", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(1.416732283464567, 1.1279527559055118); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/RobotCrawler/RobotCrawler.svgpcb.js b/examples/RobotCrawler/RobotCrawler.svgpcb.js index b35e01468..c4302aa48 100644 --- a/examples/RobotCrawler/RobotCrawler.svgpcb.js +++ b/examples/RobotCrawler/RobotCrawler.svgpcb.js @@ -1,454 +1,677 @@ const board = new PCB(); -const batt_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { +// batt.conn +const RJ1 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { translate: pt(0.487, 3.263), rotate: 0, - id: 'batt_conn' + id: 'RJ1' }) -const servos_0__conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(3.864, 2.110), rotate: 0, - id: 'servos_0__conn' +// servos[0].conn +const RJ2 = board.add(PinHeader_1x04_P2_54mm_Vertical, { + translate: pt(0.591, 2.944), rotate: 0, + id: 'RJ2' }) -const servos_1__conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(3.604, 2.110), rotate: 0, - id: 'servos_1__conn' +// servos[1].conn +const RJ3 = board.add(PinHeader_1x04_P2_54mm_Vertical, { + translate: pt(2.045, 2.110), rotate: 0, + id: 'RJ3' }) -const servos_2__conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(3.084, 2.110), rotate: 0, - id: 'servos_2__conn' +// servos[2].conn +const RJ4 = board.add(PinHeader_1x04_P2_54mm_Vertical, { + translate: pt(0.071, 2.944), rotate: 0, + id: 'RJ4' }) -const servos_3__conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// servos[3].conn +const RJ5 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(0.331, 2.944), rotate: 0, - id: 'servos_3__conn' + id: 'RJ5' }) -const servos_4__conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(2.824, 2.110), rotate: 0, - id: 'servos_4__conn' +// servos[4].conn +const RJ6 = board.add(PinHeader_1x04_P2_54mm_Vertical, { + translate: pt(3.864, 2.110), rotate: 0, + id: 'RJ6' }) -const servos_5__conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(0.071, 2.944), rotate: 0, - id: 'servos_5__conn' +// servos[5].conn +const RJ7 = board.add(PinHeader_1x04_P2_54mm_Vertical, { + translate: pt(4.124, 2.110), rotate: 0, + id: 'RJ7' }) -const servos_6__conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// servos[6].conn +const RJ8 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(2.305, 2.110), rotate: 0, - id: 'servos_6__conn' + id: 'RJ8' }) -const servos_7__conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(4.124, 2.110), rotate: 0, - id: 'servos_7__conn' -}) -const servos_8__conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// servos[7].conn +const RJ9 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(3.344, 2.110), rotate: 0, - id: 'servos_8__conn' + id: 'RJ9' }) -const servos_9__conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(2.045, 2.110), rotate: 0, - id: 'servos_9__conn' +// servos[8].conn +const RJ10 = board.add(PinHeader_1x04_P2_54mm_Vertical, { + translate: pt(2.565, 2.110), rotate: 0, + id: 'RJ10' }) -const servos_10__conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// servos[9].conn +const RJ11 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(0.850, 2.944), rotate: 0, - id: 'servos_10__conn' + id: 'RJ11' }) -const servos_11__conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// servos[10].conn +const RJ12 = board.add(PinHeader_1x04_P2_54mm_Vertical, { + translate: pt(3.084, 2.110), rotate: 0, + id: 'RJ12' +}) +// servos[11].conn +const RJ13 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(1.785, 2.110), rotate: 0, - id: 'servos_11__conn' + id: 'RJ13' }) -const imu_ic = board.add(Bosch_LGA_14_3x2_5mm_P0_5mm, { +// imu.ic +const RU1 = board.add(Bosch_LGA_14_3x2_5mm_P0_5mm, { translate: pt(0.073, 3.196), rotate: 0, - id: 'imu_ic' + id: 'RU1' }) -const imu_vdd_cap_cap = board.add(C_0603_1608Metric, { +// imu.vdd_cap.cap +const RC1 = board.add(C_0603_1608Metric, { translate: pt(0.058, 3.327), rotate: 0, - id: 'imu_vdd_cap_cap' + id: 'RC1' }) -const imu_vddio_cap_cap = board.add(C_0603_1608Metric, { +// imu.vddio_cap.cap +const RC2 = board.add(C_0603_1608Metric, { translate: pt(0.214, 3.327), rotate: 0, - id: 'imu_vddio_cap_cap' + id: 'RC2' }) -const servos_cam_0__conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(0.591, 2.944), rotate: 0, - id: 'servos_cam_0__conn' +// servos_cam[0].conn +const RJ14 = board.add(PinHeader_1x04_P2_54mm_Vertical, { + translate: pt(2.824, 2.110), rotate: 0, + id: 'RJ14' }) -const servos_cam_1__conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(2.565, 2.110), rotate: 0, - id: 'servos_cam_1__conn' +// servos_cam[1].conn +const RJ15 = board.add(PinHeader_1x04_P2_54mm_Vertical, { + translate: pt(3.604, 2.110), rotate: 0, + id: 'RJ15' }) -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const RH1 = board.add(JlcToolingHole_1_152mm, { translate: pt(2.737, 3.133), rotate: 0, - id: 'jlc_th_th1' + id: 'RH1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const RH2 = board.add(JlcToolingHole_1_152mm, { translate: pt(2.776, 3.133), rotate: 0, - id: 'jlc_th_th2' + id: 'RH2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const RH3 = board.add(JlcToolingHole_1_152mm, { translate: pt(2.737, 3.172), rotate: 0, - id: 'jlc_th_th3' + id: 'RH3' }) -const tp_vbatt_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.052, 3.170), rotate: 0, - id: 'tp_vbatt_tp' +// tp_vbatt.tp +const RTP1 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.552, 3.170), rotate: 0, + id: 'RTP1' }) -const tp_gnd_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_gnd.tp +const RTP2 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.801, 3.170), rotate: 0, - id: 'tp_gnd_tp' + id: 'RTP2' }) -const reg_3v3_ic = board.add(SOT_89_3, { +// reg_3v3.ic +const RU2 = board.add(SOT_89_3, { translate: pt(3.500, 2.672), rotate: 0, - id: 'reg_3v3_ic' + id: 'RU2' }) -const reg_3v3_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_3v3.in_cap.cap +const RC3 = board.add(C_0603_1608Metric, { translate: pt(3.446, 2.839), rotate: 0, - id: 'reg_3v3_in_cap_cap' + id: 'RC3' }) -const reg_3v3_out_cap_cap = board.add(C_0603_1608Metric, { +// reg_3v3.out_cap.cap +const RC4 = board.add(C_0603_1608Metric, { translate: pt(3.602, 2.839), rotate: 0, - id: 'reg_3v3_out_cap_cap' + id: 'RC4' }) -const tp_3v3_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.552, 3.170), rotate: 0, - id: 'tp_3v3_tp' +// tp_3v3.tp +const RTP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.302, 3.170), rotate: 0, + id: 'RTP3' }) -const reg_14v_ic = board.add(SOT_23_5, { +// reg_14v.ic +const RU3 = board.add(SOT_23_5, { translate: pt(1.951, 2.641), rotate: 0, - id: 'reg_14v_ic' + id: 'RU3' }) -const reg_14v_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg_14v.fb.div.top_res +const RR1 = board.add(R_0603_1608Metric, { translate: pt(1.928, 2.906), rotate: 0, - id: 'reg_14v_fb_div_top_res' + id: 'RR1' }) -const reg_14v_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg_14v.fb.div.bottom_res +const RR2 = board.add(R_0603_1608Metric, { translate: pt(2.084, 2.906), rotate: 0, - id: 'reg_14v_fb_div_bottom_res' + id: 'RR2' }) -const reg_14v_cff = board.add(C_0603_1608Metric, { +// reg_14v.cff +const RC5 = board.add(C_0603_1608Metric, { translate: pt(2.240, 2.906), rotate: 0, - id: 'reg_14v_cff' + id: 'RC5' }) -const reg_14v_inductor = board.add(L_1210_3225Metric, { +// reg_14v.inductor +const RL1 = board.add(L_1210_3225Metric, { translate: pt(2.161, 2.636), rotate: 0, - id: 'reg_14v_inductor' + id: 'RL1' }) -const reg_14v_rect = board.add(D_SOD_323, { +// reg_14v.rect +const RD1 = board.add(D_SOD_323, { translate: pt(2.327, 2.785), rotate: 0, - id: 'reg_14v_rect' + id: 'RD1' }) -const reg_14v_in_cap_cap = board.add(C_0805_2012Metric, { +// reg_14v.in_cap.cap +const RC6 = board.add(C_0805_2012Metric, { translate: pt(2.157, 2.786), rotate: 0, - id: 'reg_14v_in_cap_cap' + id: 'RC6' }) -const reg_14v_out_cap_cap = board.add(C_1206_3216Metric, { +// reg_14v.out_cap.cap +const RC7 = board.add(C_1206_3216Metric, { translate: pt(1.961, 2.793), rotate: 0, - id: 'reg_14v_out_cap_cap' + id: 'RC7' }) -const tp_14v_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.302, 3.170), rotate: 0, - id: 'tp_14v_tp' +// tp_14v.tp +const RTP4 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.052, 3.170), rotate: 0, + id: 'RTP4' }) -const reg_2v5_ic = board.add(SOT_23, { +// reg_2v5.ic +const RU4 = board.add(SOT_23, { translate: pt(4.244, 2.641), rotate: 0, - id: 'reg_2v5_ic' + id: 'RU4' }) -const reg_2v5_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_2v5.in_cap.cap +const RC8 = board.add(C_0603_1608Metric, { translate: pt(4.227, 2.776), rotate: 0, - id: 'reg_2v5_in_cap_cap' + id: 'RC8' }) -const reg_2v5_out_cap_cap = board.add(C_0603_1608Metric, { +// reg_2v5.out_cap.cap +const RC9 = board.add(C_0603_1608Metric, { translate: pt(4.383, 2.776), rotate: 0, - id: 'reg_2v5_out_cap_cap' + id: 'RC9' }) -const reg_1v2_ic = board.add(SOT_23, { +// reg_1v2.ic +const RU5 = board.add(SOT_23, { translate: pt(3.854, 2.641), rotate: 0, - id: 'reg_1v2_ic' + id: 'RU5' }) -const reg_1v2_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_1v2.in_cap.cap +const RC10 = board.add(C_0603_1608Metric, { translate: pt(3.836, 2.776), rotate: 0, - id: 'reg_1v2_in_cap_cap' + id: 'RC10' }) -const reg_1v2_out_cap_cap = board.add(C_0603_1608Metric, { +// reg_1v2.out_cap.cap +const RC11 = board.add(C_0603_1608Metric, { translate: pt(3.992, 2.776), rotate: 0, - id: 'reg_1v2_out_cap_cap' + id: 'RC11' }) -const mcu_ic = board.add(ESP32_S3_WROOM_1, { +// mcu.ic +const RU6 = board.add(ESP32_S3_WROOM_1, { translate: pt(0.945, 0.530), rotate: 0, - id: 'mcu_ic' + id: 'RU6' }) -const mcu_vcc_cap0_cap = board.add(C_1206_3216Metric, { +// mcu.vcc_cap0.cap +const RC12 = board.add(C_1206_3216Metric, { translate: pt(2.020, 0.419), rotate: 0, - id: 'mcu_vcc_cap0_cap' + id: 'RC12' }) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// mcu.vcc_cap1.cap +const RC13 = board.add(C_0603_1608Metric, { translate: pt(2.208, 0.403), rotate: 0, - id: 'mcu_vcc_cap1_cap' + id: 'RC13' }) -const mcu_prog_conn = board.add(Tag_Connect_TC2030_IDC_FP_2x03_P1_27mm_Vertical, { +// mcu.prog.conn +const RJ16 = board.add(Tag_Connect_TC2030_IDC_FP_2x03_P1_27mm_Vertical, { translate: pt(2.096, 0.167), rotate: 0, - id: 'mcu_prog_conn' + id: 'RJ16' }) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { +// mcu.en_pull.rc.r +const RR3 = board.add(R_0603_1608Metric, { translate: pt(2.364, 0.403), rotate: 0, - id: 'mcu_en_pull_rc_r' + id: 'RR3' }) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { +// mcu.en_pull.rc.c +const RC14 = board.add(C_0603_1608Metric, { translate: pt(1.987, 0.533), rotate: 0, - id: 'mcu_en_pull_rc_c' + id: 'RC14' }) -const mcu_servo_swd_conn = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { +// mcu_servo.swd.conn +const RJ17 = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { translate: pt(1.444, 1.819), rotate: 0, - id: 'mcu_servo_swd_conn' + id: 'RJ17' }) -const mcu_servo_ic = board.add(LQFP_48_7x7mm_P0_5mm, { +// mcu_servo.ic +const RU7 = board.add(LQFP_48_7x7mm_P0_5mm, { translate: pt(1.064, 1.943), rotate: 0, - id: 'mcu_servo_ic' + id: 'RU7' }) -const mcu_servo_pwr_cap_0__cap = board.add(C_0805_2012Metric, { +// mcu_servo.pwr_cap[0].cap +const RC15 = board.add(C_0805_2012Metric, { translate: pt(1.373, 1.976), rotate: 0, - id: 'mcu_servo_pwr_cap_0__cap' + id: 'RC15' }) -const mcu_servo_pwr_cap_1__cap = board.add(C_0603_1608Metric, { +// mcu_servo.pwr_cap[1].cap +const RC16 = board.add(C_0603_1608Metric, { translate: pt(1.538, 1.966), rotate: 0, - id: 'mcu_servo_pwr_cap_1__cap' + id: 'RC16' }) -const mcu_servo_pwr_cap_2__cap = board.add(C_0603_1608Metric, { +// mcu_servo.pwr_cap[2].cap +const RC17 = board.add(C_0603_1608Metric, { translate: pt(1.365, 2.082), rotate: 0, - id: 'mcu_servo_pwr_cap_2__cap' + id: 'RC17' }) -const mcu_servo_pwr_cap_3__cap = board.add(C_0603_1608Metric, { +// mcu_servo.pwr_cap[3].cap +const RC18 = board.add(C_0603_1608Metric, { translate: pt(1.520, 2.082), rotate: 0, - id: 'mcu_servo_pwr_cap_3__cap' + id: 'RC18' }) -const mcu_servo_vdda_cap_0_cap = board.add(C_0603_1608Metric, { +// mcu_servo.vdda_cap_0.cap +const RC19 = board.add(C_0603_1608Metric, { translate: pt(0.920, 2.214), rotate: 0, - id: 'mcu_servo_vdda_cap_0_cap' + id: 'RC19' }) -const mcu_servo_vdda_cap_1_cap = board.add(C_0603_1608Metric, { +// mcu_servo.vdda_cap_1.cap +const RC20 = board.add(C_0603_1608Metric, { translate: pt(1.076, 2.214), rotate: 0, - id: 'mcu_servo_vdda_cap_1_cap' + id: 'RC20' }) -const mcu_test_swd_conn = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { +// mcu_test.swd.conn +const RJ18 = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { translate: pt(0.138, 2.183), rotate: 0, - id: 'mcu_test_swd_conn' + id: 'RJ18' }) -const mcu_test_ic = board.add(QFN_56_1EP_7x7mm_P0_4mm_EP3_2x3_2mm, { +// mcu_test.ic +const RU8 = board.add(QFN_56_1EP_7x7mm_P0_4mm_EP3_2x3_2mm, { translate: pt(0.163, 1.903), rotate: 0, - id: 'mcu_test_ic' + id: 'RU8' }) -const mcu_test_iovdd_cap_0__cap = board.add(C_0603_1608Metric, { +// mcu_test.iovdd_cap[0].cap +const RC21 = board.add(C_0603_1608Metric, { translate: pt(0.373, 2.133), rotate: 0, - id: 'mcu_test_iovdd_cap_0__cap' + id: 'RC21' }) -const mcu_test_iovdd_cap_1__cap = board.add(C_0603_1608Metric, { +// mcu_test.iovdd_cap[1].cap +const RC22 = board.add(C_0603_1608Metric, { translate: pt(0.529, 2.133), rotate: 0, - id: 'mcu_test_iovdd_cap_1__cap' + id: 'RC22' }) -const mcu_test_iovdd_cap_2__cap = board.add(C_0603_1608Metric, { +// mcu_test.iovdd_cap[2].cap +const RC23 = board.add(C_0603_1608Metric, { translate: pt(0.685, 2.133), rotate: 0, - id: 'mcu_test_iovdd_cap_2__cap' + id: 'RC23' }) -const mcu_test_iovdd_cap_3__cap = board.add(C_0603_1608Metric, { +// mcu_test.iovdd_cap[3].cap +const RC24 = board.add(C_0603_1608Metric, { translate: pt(0.373, 2.230), rotate: 0, - id: 'mcu_test_iovdd_cap_3__cap' + id: 'RC24' }) -const mcu_test_iovdd_cap_4__cap = board.add(C_0603_1608Metric, { +// mcu_test.iovdd_cap[4].cap +const RC25 = board.add(C_0603_1608Metric, { translate: pt(0.529, 2.230), rotate: 0, - id: 'mcu_test_iovdd_cap_4__cap' + id: 'RC25' }) -const mcu_test_iovdd_cap_5__cap = board.add(C_0603_1608Metric, { +// mcu_test.iovdd_cap[5].cap +const RC26 = board.add(C_0603_1608Metric, { translate: pt(0.685, 2.230), rotate: 0, - id: 'mcu_test_iovdd_cap_5__cap' + id: 'RC26' }) -const mcu_test_avdd_cap_cap = board.add(C_0603_1608Metric, { +// mcu_test.avdd_cap.cap +const RC27 = board.add(C_0603_1608Metric, { translate: pt(0.058, 2.330), rotate: 0, - id: 'mcu_test_avdd_cap_cap' + id: 'RC27' }) -const mcu_test_vreg_in_cap_cap = board.add(C_0603_1608Metric, { +// mcu_test.vreg_in_cap.cap +const RC28 = board.add(C_0603_1608Metric, { translate: pt(0.214, 2.330), rotate: 0, - id: 'mcu_test_vreg_in_cap_cap' + id: 'RC28' }) -const mcu_test_mem_ic = board.add(SOIC_8_5_23x5_23mm_P1_27mm, { +// mcu_test.mem.ic +const RU9 = board.add(SOIC_8_5_23x5_23mm_P1_27mm, { translate: pt(0.548, 1.853), rotate: 0, - id: 'mcu_test_mem_ic' + id: 'RU9' }) -const mcu_test_mem_vcc_cap_cap = board.add(C_0603_1608Metric, { +// mcu_test.mem.vcc_cap.cap +const RC29 = board.add(C_0603_1608Metric, { translate: pt(0.370, 2.330), rotate: 0, - id: 'mcu_test_mem_vcc_cap_cap' + id: 'RC29' }) -const mcu_test_dvdd_cap_0__cap = board.add(C_0603_1608Metric, { +// mcu_test.dvdd_cap[0].cap +const RC30 = board.add(C_0603_1608Metric, { translate: pt(0.526, 2.330), rotate: 0, - id: 'mcu_test_dvdd_cap_0__cap' + id: 'RC30' }) -const mcu_test_dvdd_cap_1__cap = board.add(C_0603_1608Metric, { +// mcu_test.dvdd_cap[1].cap +const RC31 = board.add(C_0603_1608Metric, { translate: pt(0.682, 2.330), rotate: 0, - id: 'mcu_test_dvdd_cap_1__cap' + id: 'RC31' }) -const mcu_test_vreg_out_cap_cap = board.add(C_0603_1608Metric, { +// mcu_test.vreg_out_cap.cap +const RC32 = board.add(C_0603_1608Metric, { translate: pt(0.058, 2.427), rotate: 0, - id: 'mcu_test_vreg_out_cap_cap' + id: 'RC32' }) -const i2c_pull_scl_res_res = board.add(R_0603_1608Metric, { +// i2c_pull.scl_res.res +const RR4 = board.add(R_0603_1608Metric, { translate: pt(1.559, 3.162), rotate: 0, - id: 'i2c_pull_scl_res_res' + id: 'RR4' }) -const i2c_pull_sda_res_res = board.add(R_0603_1608Metric, { +// i2c_pull.sda_res.res +const RR5 = board.add(R_0603_1608Metric, { translate: pt(1.559, 3.259), rotate: 0, - id: 'i2c_pull_sda_res_res' + id: 'RR5' }) -const i2c_tp_tp_scl_tp = board.add(TestPoint_TE_RCT_0805, { +// i2c_tp.tp_scl.tp +const RTP5 = board.add(TestPoint_TE_RCT_0805, { translate: pt(0.846, 3.170), rotate: 0, - id: 'i2c_tp_tp_scl_tp' + id: 'RTP5' }) -const i2c_tp_tp_sda_tp = board.add(TestPoint_TE_RCT_0805, { +// i2c_tp.tp_sda.tp +const RTP6 = board.add(TestPoint_TE_RCT_0805, { translate: pt(0.846, 3.285), rotate: 0, - id: 'i2c_tp_tp_sda_tp' + id: 'RTP6' }) -const led_package = board.add(LED_0603_1608Metric, { +// led.package +const RD2 = board.add(LED_0603_1608Metric, { translate: pt(1.089, 3.162), rotate: 0, - id: 'led_package' + id: 'RD2' }) -const led_res = board.add(R_0603_1608Metric, { +// led.res +const RR6 = board.add(R_0603_1608Metric, { translate: pt(1.089, 3.259), rotate: 0, - id: 'led_res' + id: 'RR6' }) -const servo_led_package = board.add(LED_0603_1608Metric, { +// servo_led.package +const RD3 = board.add(LED_0603_1608Metric, { translate: pt(1.324, 3.162), rotate: 0, - id: 'servo_led_package' + id: 'RD3' }) -const servo_led_res = board.add(R_0603_1608Metric, { +// servo_led.res +const RR7 = board.add(R_0603_1608Metric, { translate: pt(1.324, 3.259), rotate: 0, - id: 'servo_led_res' + id: 'RR7' }) -const test_led_led_0__package = board.add(LED_0603_1608Metric, { +// test_led.led[0].package +const RD4 = board.add(LED_0603_1608Metric, { translate: pt(3.055, 2.603), rotate: 0, - id: 'test_led_led_0__package' + id: 'RD4' }) -const test_led_led_0__res = board.add(R_0603_1608Metric, { +// test_led.led[0].res +const RR8 = board.add(R_0603_1608Metric, { translate: pt(3.055, 2.797), rotate: 0, - id: 'test_led_led_0__res' + id: 'RR8' }) -const test_led_led_1__package = board.add(LED_0603_1608Metric, { +// test_led.led[1].package +const RD5 = board.add(LED_0603_1608Metric, { translate: pt(3.211, 2.603), rotate: 0, - id: 'test_led_led_1__package' + id: 'RD5' }) -const test_led_led_1__res = board.add(R_0603_1608Metric, { +// test_led.led[1].res +const RR9 = board.add(R_0603_1608Metric, { translate: pt(3.211, 2.797), rotate: 0, - id: 'test_led_led_1__res' + id: 'RR9' }) -const test_led_led_2__package = board.add(LED_0603_1608Metric, { +// test_led.led[2].package +const RD6 = board.add(LED_0603_1608Metric, { translate: pt(3.055, 2.700), rotate: 0, - id: 'test_led_led_2__package' + id: 'RD6' }) -const test_led_led_2__res = board.add(R_0603_1608Metric, { +// test_led.led[2].res +const RR10 = board.add(R_0603_1608Metric, { translate: pt(3.055, 2.894), rotate: 0, - id: 'test_led_led_2__res' + id: 'RR10' }) -const test_led_led_3__package = board.add(LED_0603_1608Metric, { +// test_led.led[3].package +const RD7 = board.add(LED_0603_1608Metric, { translate: pt(3.211, 2.700), rotate: 0, - id: 'test_led_led_3__package' + id: 'RD7' }) -const test_led_led_3__res = board.add(R_0603_1608Metric, { +// test_led.led[3].res +const RR11 = board.add(R_0603_1608Metric, { translate: pt(3.211, 2.894), rotate: 0, - id: 'test_led_led_3__res' + id: 'RR11' }) -const oled_device_conn = board.add(Hirose_FH35C_31S_0_3SHW_1x31_1MP_P0_30mm_Horizontal, { +// oled.device.conn +const RJ19 = board.add(Hirose_FH35C_31S_0_3SHW_1x31_1MP_P0_30mm_Horizontal, { translate: pt(2.631, 0.865), rotate: 0, - id: 'oled_device_conn' + id: 'RJ19' }) -const oled_lcd = board.add(Lcd_Er_Oled0_96_1c_Outline, { +// oled.lcd +const RU10 = board.add(Lcd_Er_Oled0_96_1c_Outline, { translate: pt(3.254, 0.293), rotate: 0, - id: 'oled_lcd' + id: 'RU10' }) -const oled_iref_res = board.add(R_0603_1608Metric, { +// oled.iref_res +const RR12 = board.add(R_0603_1608Metric, { translate: pt(3.571, 0.653), rotate: 0, - id: 'oled_iref_res' + id: 'RR12' }) -const oled_vcomh_cap_cap = board.add(C_0805_2012Metric, { +// oled.vcomh_cap.cap +const RC33 = board.add(C_0805_2012Metric, { translate: pt(3.075, 0.663), rotate: 0, - id: 'oled_vcomh_cap_cap' + id: 'RC33' }) -const oled_vp_cap_cap = board.add(C_0603_1608Metric, { +// oled.vp_cap.cap +const RC34 = board.add(C_0603_1608Metric, { translate: pt(3.727, 0.653), rotate: 0, - id: 'oled_vp_cap_cap' + id: 'RC34' }) -const oled_vdd_cap_cap = board.add(C_0603_1608Metric, { +// oled.vdd_cap.cap +const RC35 = board.add(C_0603_1608Metric, { translate: pt(2.846, 0.783), rotate: 0, - id: 'oled_vdd_cap_cap' + id: 'RC35' }) -const oled_vcc_cap_cap = board.add(C_1206_3216Metric, { +// oled.vcc_cap.cap +const RC36 = board.add(C_1206_3216Metric, { translate: pt(2.878, 0.670), rotate: 0, - id: 'oled_vcc_cap_cap' + id: 'RC36' }) -const oled_vsl_res = board.add(R_0603_1608Metric, { +// oled.vsl_res +const RR13 = board.add(R_0603_1608Metric, { translate: pt(3.002, 0.783), rotate: 0, - id: 'oled_vsl_res' + id: 'RR13' }) -const oled_vsl_d1 = board.add(D_SOD_323, { +// oled.vsl_d1 +const RD8 = board.add(D_SOD_323, { translate: pt(3.244, 0.662), rotate: 0, - id: 'oled_vsl_d1' + id: 'RD8' }) -const oled_vsl_d2 = board.add(D_SOD_323, { +// oled.vsl_d2 +const RD9 = board.add(D_SOD_323, { translate: pt(3.410, 0.662), rotate: 0, - id: 'oled_vsl_d2' + id: 'RD9' }) -const cam_device_conn = board.add(Hirose_FH12_24S_0_5SH_1x24_1MP_P0_50mm_Horizontal, { +// cam.device.conn +const RJ20 = board.add(Hirose_FH12_24S_0_5SH_1x24_1MP_P0_50mm_Horizontal, { translate: pt(1.396, 2.767), rotate: 0, - id: 'cam_device_conn' + id: 'RJ20' }) -const cam_dovdd_cap_cap = board.add(C_0603_1608Metric, { +// cam.dovdd_cap.cap +const RC37 = board.add(C_0603_1608Metric, { translate: pt(1.098, 2.953), rotate: 0, - id: 'cam_dovdd_cap_cap' + id: 'RC37' }) -const cam_reset_cap = board.add(C_0603_1608Metric, { +// cam.reset_cap +const RC38 = board.add(C_0603_1608Metric, { translate: pt(1.254, 2.953), rotate: 0, - id: 'cam_reset_cap' + id: 'RC38' }) -const cam_pclk_cap = board.add(C_0603_1608Metric, { +// cam.pclk_cap +const RC39 = board.add(C_0603_1608Metric, { translate: pt(1.409, 2.953), rotate: 0, - id: 'cam_pclk_cap' + id: 'RC39' }) -const cam_reset_pull_res = board.add(R_0603_1608Metric, { +// cam.reset_pull.res +const RR14 = board.add(R_0603_1608Metric, { translate: pt(1.565, 2.953), rotate: 0, - id: 'cam_reset_pull_res' + id: 'RR14' }) -const rgbs_led_0_ = board.add(LED_SK6812_SIDE_A, { +// rgbs.led[0] +const RD10 = board.add(LED_SK6812_SIDE_A, { translate: pt(2.591, 2.609), rotate: 0, - id: 'rgbs_led_0_' + id: 'RD10' }) -const rgbs_led_1_ = board.add(LED_SK6812_SIDE_A, { +// rgbs.led[1] +const RD11 = board.add(LED_SK6812_SIDE_A, { translate: pt(2.796, 2.609), rotate: 0, - id: 'rgbs_led_1_' + id: 'RD11' }) -const rgbs_led_2_ = board.add(LED_SK6812_SIDE_A, { +// rgbs.led[2] +const RD12 = board.add(LED_SK6812_SIDE_A, { translate: pt(2.591, 2.688), rotate: 0, - id: 'rgbs_led_2_' + id: 'RD12' }) -const rgbs_led_3_ = board.add(LED_SK6812_SIDE_A, { +// rgbs.led[3] +const RD13 = board.add(LED_SK6812_SIDE_A, { translate: pt(2.796, 2.688), rotate: 0, - id: 'rgbs_led_3_' + id: 'RD13' }) -const rgbs_led_4_ = board.add(LED_SK6812_SIDE_A, { +// rgbs.led[4] +const RD14 = board.add(LED_SK6812_SIDE_A, { translate: pt(2.591, 2.767), rotate: 0, - id: 'rgbs_led_4_' + id: 'RD14' }) -const rgbs_led_5_ = board.add(LED_SK6812_SIDE_A, { +// rgbs.led[5] +const RD15 = board.add(LED_SK6812_SIDE_A, { translate: pt(2.796, 2.767), rotate: 0, - id: 'rgbs_led_5_' + id: 'RD15' }) -const rgbs_led_6_ = board.add(LED_SK6812_SIDE_A, { +// rgbs.led[6] +const RD16 = board.add(LED_SK6812_SIDE_A, { translate: pt(2.591, 2.846), rotate: 0, - id: 'rgbs_led_6_' + id: 'RD16' }) -const rgbs_led_7_ = board.add(LED_SK6812_SIDE_A, { +// rgbs.led[7] +const RD17 = board.add(LED_SK6812_SIDE_A, { translate: pt(2.796, 2.846), rotate: 0, - id: 'rgbs_led_7_' + id: 'RD17' }) -const rgbs_led_8_ = board.add(LED_SK6812_SIDE_A, { +// rgbs.led[8] +const RD18 = board.add(LED_SK6812_SIDE_A, { translate: pt(2.591, 2.924), rotate: 0, - id: 'rgbs_led_8_' + id: 'RD18' }) -const rgbs_led_9_ = board.add(LED_SK6812_SIDE_A, { +// rgbs.led[9] +const RD19 = board.add(LED_SK6812_SIDE_A, { translate: pt(2.796, 2.924), rotate: 0, - id: 'rgbs_led_9_' + id: 'RD19' }) +board.setNetlist([ + {name: "Rvbatt", pads: [["RJ1", "2"], ["RTP1", "1"], ["RU2", "2"], ["RU3", "5"], ["RU4", "3"], ["RU5", "3"], ["RJ2", "2"], ["RJ3", "2"], ["RJ4", "2"], ["RJ5", "2"], ["RJ6", "2"], ["RJ7", "2"], ["RJ8", "2"], ["RJ9", "2"], ["RJ10", "2"], ["RJ11", "2"], ["RJ12", "2"], ["RJ13", "2"], ["RJ14", "2"], ["RJ15", "2"], ["RD10", "2"], ["RD11", "2"], ["RD12", "2"], ["RD13", "2"], ["RD14", "2"], ["RD15", "2"], ["RD16", "2"], ["RD17", "2"], ["RD18", "2"], ["RD19", "2"], ["RL1", "1"], ["RU3", "4"], ["RC3", "1"], ["RC6", "1"], ["RC8", "1"], ["RC10", "1"]]}, + {name: "Rgnd", pads: [["RJ1", "1"], ["RTP2", "1"], ["RU2", "1"], ["RU3", "2"], ["RU4", "1"], ["RU5", "1"], ["RU6", "1"], ["RU6", "40"], ["RU6", "41"], ["RU7", "8"], ["RU7", "23"], ["RU7", "35"], ["RU7", "47"], ["RU7", "44"], ["RU8", "19"], ["RU8", "57"], ["RU1", "1"], ["RU1", "2"], ["RU1", "3"], ["RU1", "6"], ["RU1", "7"], ["RR6", "2"], ["RR7", "2"], ["RJ2", "3"], ["RJ3", "3"], ["RJ4", "3"], ["RJ5", "3"], ["RJ6", "3"], ["RJ7", "3"], ["RJ8", "3"], ["RJ9", "3"], ["RJ10", "3"], ["RJ11", "3"], ["RJ12", "3"], ["RJ13", "3"], ["RJ14", "3"], ["RJ15", "3"], ["RD10", "4"], ["RD11", "4"], ["RD12", "4"], ["RD13", "4"], ["RD14", "4"], ["RD15", "4"], ["RD16", "4"], ["RD17", "4"], ["RD18", "4"], ["RD19", "4"], ["RR12", "2"], ["RD9", "1"], ["RC38", "2"], ["RC39", "2"], ["RC3", "2"], ["RC4", "2"], ["RC6", "2"], ["RC7", "2"], ["RC8", "2"], ["RC9", "2"], ["RC10", "2"], ["RC11", "2"], ["RC12", "2"], ["RC13", "2"], ["RJ16", "5"], ["RJ17", "5"], ["RC15", "2"], ["RC16", "2"], ["RC17", "2"], ["RC18", "2"], ["RC19", "2"], ["RC20", "2"], ["RJ18", "5"], ["RC21", "2"], ["RC22", "2"], ["RC23", "2"], ["RC24", "2"], ["RC25", "2"], ["RC26", "2"], ["RC27", "2"], ["RC28", "2"], ["RU9", "4"], ["RC30", "2"], ["RC31", "2"], ["RC32", "2"], ["RC1", "2"], ["RC2", "2"], ["RR8", "2"], ["RR9", "2"], ["RR10", "2"], ["RR11", "2"], ["RC33", "2"], ["RC34", "2"], ["RC35", "2"], ["RC36", "2"], ["RJ20", "10"], ["RJ20", "23"], ["RC37", "2"], ["RR2", "2"], ["RC14", "2"], ["RJ19", "7"], ["RJ19", "1"], ["RJ19", "31"], ["RJ19", "26"], ["RJ19", "16"], ["RJ19", "15"], ["RJ19", "21"], ["RJ19", "22"], ["RJ19", "23"], ["RJ19", "24"], ["RJ19", "25"], ["RJ19", "12"], ["RJ19", "14"], ["RJ19", "10"], ["RJ19", "11"], ["RJ20", "17"], ["RC29", "2"]]}, + {name: "Rv3v3", pads: [["RU2", "3"], ["RTP3", "1"], ["RU6", "2"], ["RU7", "1"], ["RU7", "9"], ["RU7", "24"], ["RU7", "36"], ["RU7", "48"], ["RU8", "1"], ["RU8", "10"], ["RU8", "22"], ["RU8", "33"], ["RU8", "42"], ["RU8", "49"], ["RU8", "44"], ["RU8", "43"], ["RU8", "48"], ["RU1", "5"], ["RU1", "12"], ["RU1", "8"], ["RC4", "1"], ["RC12", "1"], ["RC13", "1"], ["RJ16", "1"], ["RJ17", "1"], ["RC15", "1"], ["RC16", "1"], ["RC17", "1"], ["RC18", "1"], ["RC19", "1"], ["RC20", "1"], ["RJ18", "1"], ["RC21", "1"], ["RC22", "1"], ["RC23", "1"], ["RC24", "1"], ["RC25", "1"], ["RC26", "1"], ["RC27", "1"], ["RC28", "1"], ["RU9", "8"], ["RR4", "1"], ["RR5", "1"], ["RC2", "1"], ["RC1", "1"], ["RC35", "1"], ["RJ20", "14"], ["RC37", "1"], ["RR14", "1"], ["RR3", "1"], ["RJ19", "8"], ["RJ19", "17"], ["RJ19", "13"], ["RC29", "1"]]}, + {name: "Rv14", pads: [["RTP4", "1"], ["RD1", "1"], ["RC5", "1"], ["RC7", "1"], ["RR1", "1"], ["RJ19", "5"], ["RJ19", "27"], ["RC36", "1"]]}, + {name: "Rv2v5", pads: [["RU4", "2"], ["RJ20", "21"], ["RC9", "1"]]}, + {name: "Rv1v2", pads: [["RU5", "2"], ["RJ20", "15"], ["RC11", "1"]]}, + {name: "Rmcu_servo.reset_node", pads: [["RU6", "12"], ["RU7", "7"], ["RJ17", "3"]]}, + {name: "Ri2c_chain_0.scl", pads: [["RU6", "10"], ["RU1", "13"], ["RU7", "21"], ["RU8", "37"], ["RR4", "2"], ["RTP5", "1"], ["RJ19", "18"], ["RJ20", "20"]]}, + {name: "Ri2c_chain_0.sda", pads: [["RU6", "9"], ["RU1", "14"], ["RU7", "22"], ["RU8", "36"], ["RR5", "2"], ["RJ20", "22"], ["RTP6", "1"], ["RJ19", "19"], ["RJ19", "20"]]}, + {name: "Rled.signal", pads: [["RU6", "33"], ["RD2", "2"]]}, + {name: "Rservo_led.signal", pads: [["RU7", "33"], ["RD3", "2"]]}, + {name: "Rmcu_test.gpio.led_0", pads: [["RU8", "4"], ["RD4", "2"]]}, + {name: "Rmcu_test.gpio.led_1", pads: [["RU8", "12"], ["RD5", "2"]]}, + {name: "Rmcu_test.gpio.led_2", pads: [["RU8", "14"], ["RD6", "2"]]}, + {name: "Rmcu_test.gpio.led_3", pads: [["RU8", "16"], ["RD7", "2"]]}, + {name: "Roled.reset", pads: [["RU6", "8"], ["RJ19", "9"]]}, + {name: "Rcam.dvp8.xclk", pads: [["RU6", "17"], ["RJ20", "12"]]}, + {name: "Rcam.dvp8.pclk", pads: [["RU6", "20"], ["RC39", "1"], ["RJ20", "8"]]}, + {name: "Rcam.dvp8.href", pads: [["RU6", "14"], ["RJ20", "16"]]}, + {name: "Rcam.dvp8.vsync", pads: [["RU6", "13"], ["RJ20", "18"]]}, + {name: "Rcam.dvp8.y0", pads: [["RU6", "22"], ["RJ20", "6"]]}, + {name: "Rcam.dvp8.y1", pads: [["RU6", "24"], ["RJ20", "4"]]}, + {name: "Rcam.dvp8.y2", pads: [["RU6", "25"], ["RJ20", "3"]]}, + {name: "Rcam.dvp8.y3", pads: [["RU6", "23"], ["RJ20", "5"]]}, + {name: "Rcam.dvp8.y4", pads: [["RU6", "21"], ["RJ20", "7"]]}, + {name: "Rcam.dvp8.y5", pads: [["RU6", "19"], ["RJ20", "9"]]}, + {name: "Rcam.dvp8.y6", pads: [["RU6", "18"], ["RJ20", "11"]]}, + {name: "Rcam.dvp8.y7", pads: [["RU6", "15"], ["RJ20", "13"]]}, + {name: "Rservos[0].pwm", pads: [["RU6", "34"], ["RJ2", "1"]]}, + {name: "Rservos[0].fb", pads: [["RU6", "38"], ["RJ2", "4"]]}, + {name: "Rservos[1].pwm", pads: [["RU6", "35"], ["RJ3", "1"]]}, + {name: "Rservos[1].fb", pads: [["RU6", "39"], ["RJ3", "4"]]}, + {name: "Rservos[2].pwm", pads: [["RU6", "4"], ["RJ4", "1"]]}, + {name: "Rservos[2].fb", pads: [["RU6", "5"], ["RJ4", "4"]]}, + {name: "Rservos[3].pwm", pads: [["RU6", "6"], ["RJ5", "1"]]}, + {name: "Rservos[3].fb", pads: [["RU6", "7"], ["RJ5", "4"]]}, + {name: "Rservos[4].pwm", pads: [["RU7", "41"], ["RJ6", "1"]]}, + {name: "Rservos[4].fb", pads: [["RU7", "10"], ["RJ6", "4"]]}, + {name: "Rservos[5].pwm", pads: [["RU7", "43"], ["RJ7", "1"]]}, + {name: "Rservos[5].fb", pads: [["RU7", "11"], ["RJ7", "4"]]}, + {name: "Rservos[6].pwm", pads: [["RU7", "45"], ["RJ8", "1"]]}, + {name: "Rservos[6].fb", pads: [["RU7", "12"], ["RJ8", "4"]]}, + {name: "Rservos[7].pwm", pads: [["RU7", "26"], ["RJ9", "1"]]}, + {name: "Rservos[7].fb", pads: [["RU7", "14"], ["RJ9", "4"]]}, + {name: "Rservos[8].pwm", pads: [["RU7", "32"], ["RJ10", "1"]]}, + {name: "Rservos[8].fb", pads: [["RU7", "19"], ["RJ10", "4"]]}, + {name: "Rservos[9].pwm", pads: [["RU7", "31"], ["RJ11", "1"]]}, + {name: "Rservos[9].fb", pads: [["RU7", "18"], ["RJ11", "4"]]}, + {name: "Rservos[10].pwm", pads: [["RU7", "30"], ["RJ12", "1"]]}, + {name: "Rservos[10].fb", pads: [["RU7", "17"], ["RJ12", "4"]]}, + {name: "Rservos[11].pwm", pads: [["RU7", "28"], ["RJ13", "1"]]}, + {name: "Rservos[11].fb", pads: [["RU7", "15"], ["RJ13", "4"]]}, + {name: "Rservos_cam[0].pwm", pads: [["RU7", "46"], ["RJ14", "1"]]}, + {name: "Rservos_cam[0].fb", pads: [["RU7", "13"], ["RJ14", "4"]]}, + {name: "Rservos_cam[1].pwm", pads: [["RU7", "29"], ["RJ15", "1"]]}, + {name: "Rservos_cam[1].fb", pads: [["RU7", "16"], ["RJ15", "4"]]}, + {name: "Rrgbs.din", pads: [["RU6", "32"], ["RD10", "1"]]}, + {name: "Rimu.int1", pads: [["RU1", "4"]]}, + {name: "Rimu.int2", pads: [["RU1", "9"]]}, + {name: "Rreg_14v.fb.output", pads: [["RU3", "3"], ["RC5", "2"], ["RR1", "2"], ["RR2", "1"]]}, + {name: "Rreg_14v.inductor.b", pads: [["RL1", "2"], ["RU3", "1"], ["RD1", "2"]]}, + {name: "Rmcu.program_uart_node.a_tx", pads: [["RU6", "37"], ["RJ16", "3"]]}, + {name: "Rmcu.program_uart_node.b_tx", pads: [["RU6", "36"], ["RJ16", "4"]]}, + {name: "Rmcu.program_en_node", pads: [["RU6", "3"], ["RJ16", "6"], ["RR3", "2"], ["RC14", "1"]]}, + {name: "Rmcu.program_boot_node", pads: [["RU6", "27"], ["RJ16", "2"]]}, + {name: "Rmcu_servo.swd_node.swdio", pads: [["RU7", "34"], ["RJ17", "2"]]}, + {name: "Rmcu_servo.swd_node.swclk", pads: [["RU7", "37"], ["RJ17", "4"]]}, + {name: "Rmcu_servo.swd.swo", pads: [["RU7", "42"], ["RJ17", "6"]]}, + {name: "Rmcu_servo.ic.osc.xtal_in", pads: [["RU7", "5"]]}, + {name: "Rmcu_servo.ic.osc.xtal_out", pads: [["RU7", "6"]]}, + {name: "Rmcu_test.swd_node.swdio", pads: [["RU8", "25"], ["RJ18", "2"]]}, + {name: "Rmcu_test.swd_node.swclk", pads: [["RU8", "24"], ["RJ18", "4"]]}, + {name: "Rmcu_test.reset_node", pads: [["RU8", "26"], ["RJ18", "3"]]}, + {name: "Rmcu_test.ic.qspi.sck", pads: [["RU8", "52"], ["RU9", "6"]]}, + {name: "Rmcu_test.ic.qspi.mosi", pads: [["RU8", "53"], ["RU9", "5"]]}, + {name: "Rmcu_test.ic.qspi.miso", pads: [["RU8", "55"], ["RU9", "2"]]}, + {name: "Rmcu_test.ic.qspi_cs", pads: [["RU8", "56"], ["RU9", "1"]]}, + {name: "Rmcu_test.ic.qspi_sd2", pads: [["RU8", "54"], ["RU9", "3"]]}, + {name: "Rmcu_test.ic.qspi_sd3", pads: [["RU8", "51"], ["RU9", "7"]]}, + {name: "Rmcu_test.ic.vreg_vout", pads: [["RU8", "45"], ["RU8", "23"], ["RU8", "50"], ["RC30", "1"], ["RC31", "1"], ["RC32", "1"]]}, + {name: "Rmcu_test.swd.swo", pads: [["RU8", "27"], ["RJ18", "6"]]}, + {name: "Rmcu_test.ic.xosc.xtal_in", pads: [["RU8", "20"]]}, + {name: "Rmcu_test.ic.xosc.xtal_out", pads: [["RU8", "21"]]}, + {name: "Rled.res.a", pads: [["RR6", "1"], ["RD2", "1"]]}, + {name: "Rservo_led.res.a", pads: [["RR7", "1"], ["RD3", "1"]]}, + {name: "Rtest_led.led[0].res.a", pads: [["RR8", "1"], ["RD4", "1"]]}, + {name: "Rtest_led.led[1].res.a", pads: [["RR9", "1"], ["RD5", "1"]]}, + {name: "Rtest_led.led[2].res.a", pads: [["RR10", "1"], ["RD6", "1"]]}, + {name: "Rtest_led.led[3].res.a", pads: [["RR11", "1"], ["RD7", "1"]]}, + {name: "Roled.iref_res.a", pads: [["RR12", "1"], ["RJ19", "6"]]}, + {name: "Roled.device.vcomh", pads: [["RC33", "1"], ["RJ19", "3"], ["RJ19", "29"]]}, + {name: "Roled.device.vp", pads: [["RC34", "1"], ["RJ19", "4"], ["RJ19", "28"]]}, + {name: "Roled.device.vsl", pads: [["RR13", "1"], ["RJ19", "2"], ["RJ19", "30"]]}, + {name: "Roled.vsl_res.b", pads: [["RR13", "2"], ["RD8", "2"]]}, + {name: "Roled.vsl_d1.cathode", pads: [["RD8", "1"], ["RD9", "2"]]}, + {name: "Rcam.reset_cap.pos", pads: [["RC38", "1"], ["RR14", "2"], ["RJ20", "19"]]}, + {name: "Rcam.device.y.0", pads: [["RJ20", "1"]]}, + {name: "Rcam.device.y.1", pads: [["RJ20", "2"]]}, + {name: "Rrgbs.led[0].dout", pads: [["RD10", "3"], ["RD11", "1"]]}, + {name: "Rrgbs.led[1].dout", pads: [["RD11", "3"], ["RD12", "1"]]}, + {name: "Rrgbs.led[2].dout", pads: [["RD12", "3"], ["RD13", "1"]]}, + {name: "Rrgbs.led[3].dout", pads: [["RD13", "3"], ["RD14", "1"]]}, + {name: "Rrgbs.led[4].dout", pads: [["RD14", "3"], ["RD15", "1"]]}, + {name: "Rrgbs.led[5].dout", pads: [["RD15", "3"], ["RD16", "1"]]}, + {name: "Rrgbs.led[6].dout", pads: [["RD16", "3"], ["RD17", "1"]]}, + {name: "Rrgbs.led[7].dout", pads: [["RD17", "3"], ["RD18", "1"]]}, + {name: "Rrgbs.led[8].dout", pads: [["RD18", "3"], ["RD19", "1"]]}, + {name: "Rrgbs.dout", pads: [["RD19", "3"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(4.559055118110236, 3.474015748031496); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/RobotDriver/RobotDriver.svgpcb.js b/examples/RobotDriver/RobotDriver.svgpcb.js index a6a56491b..7ff08f6d2 100644 --- a/examples/RobotDriver/RobotDriver.svgpcb.js +++ b/examples/RobotDriver/RobotDriver.svgpcb.js @@ -1,338 +1,502 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const H1 = board.add(JlcToolingHole_1_152mm, { translate: pt(2.673, 3.040), rotate: 0, - id: 'jlc_th_th1' + id: 'H1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const H2 = board.add(JlcToolingHole_1_152mm, { translate: pt(2.713, 3.040), rotate: 0, - id: 'jlc_th_th2' + id: 'H2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const H3 = board.add(JlcToolingHole_1_152mm, { translate: pt(2.673, 3.079), rotate: 0, - id: 'jlc_th_th3' + id: 'H3' }) -const batt_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(2.394, 2.719), rotate: 0, - id: 'batt_conn' +// batt.conn +const J1 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { + translate: pt(2.004, 2.719), rotate: 0, + id: 'J1' }) -const isense_sense_res_res = board.add(R_2512_6332Metric, { +// isense.sense.res.res +const R1 = board.add(R_2512_6332Metric, { translate: pt(2.693, 1.818), rotate: 0, - id: 'isense_sense_res_res' + id: 'R1' }) -const isense_amp_amp_ic = board.add(SOT_23_5, { +// isense.amp.amp.ic +const U1 = board.add(SOT_23_5, { translate: pt(2.963, 1.809), rotate: 0, - id: 'isense_amp_amp_ic' + id: 'U1' }) -const isense_amp_amp_vdd_cap_cap = board.add(C_0603_1608Metric, { +// isense.amp.amp.vdd_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(2.600, 1.961), rotate: 0, - id: 'isense_amp_amp_vdd_cap_cap' + id: 'C1' }) -const isense_amp_r1 = board.add(R_0603_1608Metric, { +// isense.amp.r1 +const R2 = board.add(R_0603_1608Metric, { translate: pt(2.756, 1.961), rotate: 0, - id: 'isense_amp_r1' + id: 'R2' }) -const isense_amp_r2 = board.add(R_0603_1608Metric, { +// isense.amp.r2 +const R3 = board.add(R_0603_1608Metric, { translate: pt(2.912, 1.961), rotate: 0, - id: 'isense_amp_r2' + id: 'R3' }) -const isense_amp_rf = board.add(R_0603_1608Metric, { +// isense.amp.rf +const R4 = board.add(R_0603_1608Metric, { translate: pt(2.600, 2.058), rotate: 0, - id: 'isense_amp_rf' + id: 'R4' }) -const isense_amp_rg = board.add(R_0603_1608Metric, { +// isense.amp.rg +const R5 = board.add(R_0603_1608Metric, { translate: pt(2.756, 2.058), rotate: 0, - id: 'isense_amp_rg' + id: 'R5' }) -const tp_vbatt_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.827, 3.077), rotate: 0, - id: 'tp_vbatt_tp' +// tp_vbatt.tp +const TP1 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.328, 3.077), rotate: 0, + id: 'TP1' }) -const tp_gnd_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_gnd.tp +const TP2 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.332, 3.077), rotate: 0, - id: 'tp_gnd_tp' + id: 'TP2' }) -const reg_3v3_ic = board.add(SOT_23_5, { +// reg_3v3.ic +const U2 = board.add(SOT_23_5, { translate: pt(2.170, 1.809), rotate: 0, - id: 'reg_3v3_ic' + id: 'U2' }) -const reg_3v3_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg_3v3.fb.div.top_res +const R6 = board.add(R_0603_1608Metric, { translate: pt(2.321, 1.944), rotate: 0, - id: 'reg_3v3_fb_div_top_res' + id: 'R6' }) -const reg_3v3_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg_3v3.fb.div.bottom_res +const R7 = board.add(R_0603_1608Metric, { translate: pt(2.148, 2.061), rotate: 0, - id: 'reg_3v3_fb_div_bottom_res' + id: 'R7' }) -const reg_3v3_power_path_inductor = board.add(L_0603_1608Metric, { +// reg_3v3.power_path.inductor +const L1 = board.add(L_0603_1608Metric, { translate: pt(2.304, 2.061), rotate: 0, - id: 'reg_3v3_power_path_inductor' + id: 'L1' }) -const reg_3v3_power_path_in_cap_cap = board.add(C_0805_2012Metric, { +// reg_3v3.power_path.in_cap.cap +const C2 = board.add(C_0805_2012Metric, { translate: pt(2.357, 1.781), rotate: 0, - id: 'reg_3v3_power_path_in_cap_cap' + id: 'C2' }) -const reg_3v3_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg_3v3.power_path.out_cap.cap +const C3 = board.add(C_0805_2012Metric, { translate: pt(2.156, 1.954), rotate: 0, - id: 'reg_3v3_power_path_out_cap_cap' + id: 'C3' }) -const tp_3v3_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.328, 3.077), rotate: 0, - id: 'tp_3v3_tp' +// tp_3v3.tp +const TP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.833, 3.077), rotate: 0, + id: 'TP3' }) -const prot_3v3_diode = board.add(D_SOD_323, { - translate: pt(1.580, 3.077), rotate: 0, - id: 'prot_3v3_diode' +// prot_3v3.diode +const D1 = board.add(D_SOD_323, { + translate: pt(2.080, 3.077), rotate: 0, + id: 'D1' }) -const mcu_ic = board.add(ESP32_WROOM_32, { +// mcu.ic +const U3 = board.add(ESP32_WROOM_32, { translate: pt(0.945, 0.414), rotate: 0, - id: 'mcu_ic' + id: 'U3' }) -const mcu_vcc_cap0_cap = board.add(C_1206_3216Metric, { +// mcu.vcc_cap0.cap +const C4 = board.add(C_1206_3216Metric, { translate: pt(2.020, 0.789), rotate: 0, - id: 'mcu_vcc_cap0_cap' + id: 'C4' }) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// mcu.vcc_cap1.cap +const C5 = board.add(C_0603_1608Metric, { translate: pt(2.208, 0.773), rotate: 0, - id: 'mcu_vcc_cap1_cap' + id: 'C5' }) -const mcu_prog_conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// mcu.prog.conn +const J2 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(2.000, 0.370), rotate: 0, - id: 'mcu_prog_conn' + id: 'J2' }) -const mcu_boot_package = board.add(SW_SPST_SKQG_WithoutStem, { +// mcu.boot.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(2.096, 0.593), rotate: 0, - id: 'mcu_boot_package' + id: 'SW1' }) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { +// mcu.en_pull.rc.r +const R8 = board.add(R_0603_1608Metric, { translate: pt(2.364, 0.773), rotate: 0, - id: 'mcu_en_pull_rc_r' + id: 'R8' }) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { +// mcu.en_pull.rc.c +const C6 = board.add(C_0603_1608Metric, { translate: pt(1.987, 0.903), rotate: 0, - id: 'mcu_en_pull_rc_c' + id: 'C6' }) -const tof_elt_0_ = board.add(PinSocket_1x06_P2_54mm_Vertical, { +// tof.elt[0] +const J3 = board.add(PinSocket_1x06_P2_54mm_Vertical, { translate: pt(0.803, 2.311), rotate: 0, - id: 'tof_elt_0_' + id: 'J3' }) -const tof_elt_1_ = board.add(PinSocket_1x06_P2_54mm_Vertical, { +// tof.elt[1] +const J4 = board.add(PinSocket_1x06_P2_54mm_Vertical, { translate: pt(0.982, 2.311), rotate: 0, - id: 'tof_elt_1_' + id: 'J4' }) -const tof_elt_2_ = board.add(PinSocket_1x06_P2_54mm_Vertical, { +// tof.elt[2] +const J5 = board.add(PinSocket_1x06_P2_54mm_Vertical, { translate: pt(1.161, 2.311), rotate: 0, - id: 'tof_elt_2_' + id: 'J5' }) -const i2c_pull_scl_res_res = board.add(R_0603_1608Metric, { +// i2c_pull.scl_res.res +const R9 = board.add(R_0603_1608Metric, { translate: pt(1.089, 3.069), rotate: 0, - id: 'i2c_pull_scl_res_res' + id: 'R9' }) -const i2c_pull_sda_res_res = board.add(R_0603_1608Metric, { +// i2c_pull.sda_res.res +const R10 = board.add(R_0603_1608Metric, { translate: pt(1.089, 3.165), rotate: 0, - id: 'i2c_pull_sda_res_res' + id: 'R10' }) -const i2c_tp_tp_scl_tp = board.add(TestPoint_TE_RCT_0805, { +// i2c_tp.tp_scl.tp +const TP4 = board.add(TestPoint_TE_RCT_0805, { translate: pt(0.456, 3.077), rotate: 0, - id: 'i2c_tp_tp_scl_tp' + id: 'TP4' }) -const i2c_tp_tp_sda_tp = board.add(TestPoint_TE_RCT_0805, { +// i2c_tp.tp_sda.tp +const TP5 = board.add(TestPoint_TE_RCT_0805, { translate: pt(0.456, 3.191), rotate: 0, - id: 'i2c_tp_tp_sda_tp' + id: 'TP5' }) -const lcd_device_conn = board.add(Hirose_FH12_15S_0_5SH_1x15_1MP_P0_50mm_Horizontal, { +// lcd.device.conn +const J6 = board.add(Hirose_FH12_15S_0_5SH_1x15_1MP_P0_50mm_Horizontal, { translate: pt(2.808, 0.685), rotate: 0, - id: 'lcd_device_conn' + id: 'J6' }) -const lcd_lcd = board.add(Lcd_Er_Oled0_91_3_Outline, { +// lcd.lcd +const U4 = board.add(Lcd_Er_Oled0_91_3_Outline, { translate: pt(3.064, 0.260), rotate: 0, - id: 'lcd_lcd' + id: 'U4' }) -const lcd_c1_cap = board.add(C_0603_1608Metric, { +// lcd.c1_cap +const C7 = board.add(C_0603_1608Metric, { translate: pt(3.693, 0.521), rotate: 0, - id: 'lcd_c1_cap' + id: 'C7' }) -const lcd_c2_cap = board.add(C_0603_1608Metric, { +// lcd.c2_cap +const C8 = board.add(C_0603_1608Metric, { translate: pt(3.173, 0.637), rotate: 0, - id: 'lcd_c2_cap' + id: 'C8' }) -const lcd_iref_res = board.add(R_0603_1608Metric, { +// lcd.iref_res +const R11 = board.add(R_0603_1608Metric, { translate: pt(3.329, 0.637), rotate: 0, - id: 'lcd_iref_res' + id: 'R11' }) -const lcd_vcomh_cap_cap = board.add(C_0805_2012Metric, { +// lcd.vcomh_cap.cap +const C9 = board.add(C_0805_2012Metric, { translate: pt(3.182, 0.531), rotate: 0, - id: 'lcd_vcomh_cap_cap' + id: 'C9' }) -const lcd_vdd_cap1_cap = board.add(C_0603_1608Metric, { +// lcd.vdd_cap1.cap +const C10 = board.add(C_0603_1608Metric, { translate: pt(3.485, 0.637), rotate: 0, - id: 'lcd_vdd_cap1_cap' + id: 'C10' }) -const lcd_vdd_cap2_cap = board.add(C_0805_2012Metric, { +// lcd.vdd_cap2.cap +const C11 = board.add(C_0805_2012Metric, { translate: pt(3.355, 0.531), rotate: 0, - id: 'lcd_vdd_cap2_cap' + id: 'C11' }) -const lcd_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// lcd.vcc_cap1.cap +const C12 = board.add(C_0603_1608Metric, { translate: pt(3.641, 0.637), rotate: 0, - id: 'lcd_vcc_cap1_cap' + id: 'C12' }) -const lcd_vcc_cap2_cap = board.add(C_0805_2012Metric, { +// lcd.vcc_cap2.cap +const C13 = board.add(C_0805_2012Metric, { translate: pt(3.528, 0.531), rotate: 0, - id: 'lcd_vcc_cap2_cap' + id: 'C13' }) -const imu_ic = board.add(Bosch_LGA_14_3x2_5mm_P0_5mm, { +// imu.ic +const U5 = board.add(Bosch_LGA_14_3x2_5mm_P0_5mm, { translate: pt(1.200, 2.652), rotate: 0, - id: 'imu_ic' + id: 'U5' }) -const imu_vdd_cap_cap = board.add(C_0603_1608Metric, { +// imu.vdd_cap.cap +const C14 = board.add(C_0603_1608Metric, { translate: pt(1.186, 2.783), rotate: 0, - id: 'imu_vdd_cap_cap' + id: 'C14' }) -const imu_vddio_cap_cap = board.add(C_0603_1608Metric, { +// imu.vddio_cap.cap +const C15 = board.add(C_0603_1608Metric, { translate: pt(1.342, 2.783), rotate: 0, - id: 'imu_vddio_cap_cap' + id: 'C15' }) -const expander_ic = board.add(SOIC_16W_7_5x10_3mm_P1_27mm, { +// expander.ic +const U6 = board.add(SOIC_16W_7_5x10_3mm_P1_27mm, { translate: pt(1.582, 1.955), rotate: 0, - id: 'expander_ic' + id: 'U6' }) -const expander_vdd_cap_cap = board.add(C_0603_1608Metric, { +// expander.vdd_cap.cap +const C16 = board.add(C_0603_1608Metric, { translate: pt(1.913, 1.771), rotate: 0, - id: 'expander_vdd_cap_cap' + id: 'C16' }) -const leds_led_0__package = board.add(LED_0603_1608Metric, { +// leds.led[0].package +const D2 = board.add(LED_0603_1608Metric, { translate: pt(0.699, 3.069), rotate: 0, - id: 'leds_led_0__package' + id: 'D2' }) -const leds_led_1__package = board.add(LED_0603_1608Metric, { +// leds.led[1].package +const D3 = board.add(LED_0603_1608Metric, { translate: pt(0.855, 3.069), rotate: 0, - id: 'leds_led_1__package' + id: 'D3' }) -const leds_led_2__package = board.add(LED_0603_1608Metric, { +// leds.led[2].package +const D4 = board.add(LED_0603_1608Metric, { translate: pt(0.699, 3.166), rotate: 0, - id: 'leds_led_2__package' + id: 'D4' }) -const leds_led_3__package = board.add(LED_0603_1608Metric, { +// leds.led[3].package +const D5 = board.add(LED_0603_1608Metric, { translate: pt(0.855, 3.166), rotate: 0, - id: 'leds_led_3__package' + id: 'D5' }) -const spk_tp_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.077, 3.077), rotate: 0, - id: 'spk_tp_tp' +// spk_tp.tp +const TP6 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.582, 3.077), rotate: 0, + id: 'TP6' }) -const spk_drv_ic = board.add(MSOP_8_1EP_3x3mm_P0_65mm_EP1_68x1_88mm_ThermalVias, { +// spk_drv.ic +const U7 = board.add(MSOP_8_1EP_3x3mm_P0_65mm_EP1_68x1_88mm_ThermalVias, { translate: pt(0.704, 2.657), rotate: 0, - id: 'spk_drv_ic' + id: 'U7' }) -const spk_drv_pwr_cap_cap = board.add(C_0603_1608Metric, { +// spk_drv.pwr_cap.cap +const C17 = board.add(C_0603_1608Metric, { translate: pt(0.639, 2.794), rotate: 0, - id: 'spk_drv_pwr_cap_cap' + id: 'C17' }) -const spk_drv_bulk_cap_cap = board.add(C_0805_2012Metric, { +// spk_drv.bulk_cap.cap +const C18 = board.add(C_0805_2012Metric, { translate: pt(0.933, 2.627), rotate: 0, - id: 'spk_drv_bulk_cap_cap' + id: 'C18' }) -const spk_drv_inp_res = board.add(R_0603_1608Metric, { +// spk_drv.inp_res +const R12 = board.add(R_0603_1608Metric, { translate: pt(0.795, 2.794), rotate: 0, - id: 'spk_drv_inp_res' + id: 'R12' }) -const spk_drv_inp_cap = board.add(C_0603_1608Metric, { +// spk_drv.inp_cap +const C19 = board.add(C_0603_1608Metric, { translate: pt(0.951, 2.794), rotate: 0, - id: 'spk_drv_inp_cap' + id: 'C19' }) -const spk_drv_inn_res = board.add(R_0603_1608Metric, { +// spk_drv.inn_res +const R13 = board.add(R_0603_1608Metric, { translate: pt(0.639, 2.891), rotate: 0, - id: 'spk_drv_inn_res' + id: 'R13' }) -const spk_drv_inn_cap = board.add(C_0603_1608Metric, { +// spk_drv.inn_cap +const C20 = board.add(C_0603_1608Metric, { translate: pt(0.795, 2.891), rotate: 0, - id: 'spk_drv_inn_cap' + id: 'C20' }) -const spk_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(0.096, 3.170), rotate: 0, - id: 'spk_conn' +// spk.conn +const J7 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { + translate: pt(2.394, 2.719), rotate: 0, + id: 'J7' }) -const ws2812bArray_led_0_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// ws2812bArray.led[0] +const D6 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.144, 1.850), rotate: 0, - id: 'ws2812bArray_led_0_' + id: 'D6' }) -const ws2812bArray_led_1_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// ws2812bArray.led[1] +const D7 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.470, 1.850), rotate: 0, - id: 'ws2812bArray_led_1_' + id: 'D7' }) -const ws2812bArray_led_2_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// ws2812bArray.led[2] +const D8 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.144, 2.106), rotate: 0, - id: 'ws2812bArray_led_2_' + id: 'D8' }) -const ws2812bArray_led_3_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// ws2812bArray.led[3] +const D9 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.470, 2.106), rotate: 0, - id: 'ws2812bArray_led_3_' + id: 'D9' }) -const ws2812bArray_led_4_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// ws2812bArray.led[4] +const D10 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.144, 2.362), rotate: 0, - id: 'ws2812bArray_led_4_' + id: 'D10' }) -const led_pixel_conn = board.add(JST_PH_B3B_PH_K_1x03_P2_00mm_Vertical, { - translate: pt(3.174, 2.719), rotate: 0, - id: 'led_pixel_conn' +// led_pixel.conn +const J8 = board.add(JST_PH_B3B_PH_K_1x03_P2_00mm_Vertical, { + translate: pt(3.563, 2.719), rotate: 0, + id: 'J8' }) -const motor_driver1_ic = board.add(TSSOP_16_1EP_4_4x5mm_P0_65mm_EP3x3mm_ThermalVias, { +// motor_driver1.ic +const U8 = board.add(TSSOP_16_1EP_4_4x5mm_P0_65mm_EP3x3mm_ThermalVias, { translate: pt(0.154, 2.697), rotate: 0, - id: 'motor_driver1_ic' + id: 'U8' }) -const motor_driver1_vm_cap_cap = board.add(C_0805_2012Metric, { +// motor_driver1.vm_cap.cap +const C21 = board.add(C_0805_2012Metric, { translate: pt(0.067, 2.883), rotate: 0, - id: 'motor_driver1_vm_cap_cap' + id: 'C21' }) -const motor_driver1_vint_cap_cap = board.add(C_0805_2012Metric, { +// motor_driver1.vint_cap.cap +const C22 = board.add(C_0805_2012Metric, { translate: pt(0.240, 2.883), rotate: 0, - id: 'motor_driver1_vint_cap_cap' + id: 'C22' }) -const motor_driver1_vcp_cap = board.add(C_0603_1608Metric, { +// motor_driver1.vcp_cap +const C23 = board.add(C_0603_1608Metric, { translate: pt(0.405, 2.873), rotate: 0, - id: 'motor_driver1_vcp_cap' + id: 'C23' }) -const m1_a_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(3.642, 2.719), rotate: 0, - id: 'm1_a_conn' +// m1_a.conn +const J9 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { + translate: pt(1.615, 2.719), rotate: 0, + id: 'J9' }) -const m1_b_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { +// m1_b.conn +const J10 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { translate: pt(2.784, 2.719), rotate: 0, - id: 'm1_b_conn' + id: 'J10' }) -const motor_driver2_ic = board.add(TSSOP_16_1EP_4_4x5mm_P0_65mm_EP3x3mm_ThermalVias, { +// motor_driver2.ic +const U9 = board.add(TSSOP_16_1EP_4_4x5mm_P0_65mm_EP3x3mm_ThermalVias, { translate: pt(3.575, 1.850), rotate: 0, - id: 'motor_driver2_ic' + id: 'U9' }) -const motor_driver2_vm_cap_cap = board.add(C_0805_2012Metric, { +// motor_driver2.vm_cap.cap +const C24 = board.add(C_0805_2012Metric, { translate: pt(3.489, 2.037), rotate: 0, - id: 'motor_driver2_vm_cap_cap' + id: 'C24' }) -const motor_driver2_vint_cap_cap = board.add(C_0805_2012Metric, { +// motor_driver2.vint_cap.cap +const C25 = board.add(C_0805_2012Metric, { translate: pt(3.662, 2.037), rotate: 0, - id: 'motor_driver2_vint_cap_cap' + id: 'C25' }) -const motor_driver2_vcp_cap = board.add(C_0603_1608Metric, { +// motor_driver2.vcp_cap +const C26 = board.add(C_0603_1608Metric, { translate: pt(3.826, 2.027), rotate: 0, - id: 'motor_driver2_vcp_cap' + id: 'C26' }) -const m2_a_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(2.004, 2.719), rotate: 0, - id: 'm2_a_conn' +// m2_a.conn +const J11 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { + translate: pt(3.174, 2.719), rotate: 0, + id: 'J11' }) -const m2_b_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(1.615, 2.719), rotate: 0, - id: 'm2_b_conn' +// m2_b.conn +const J12 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { + translate: pt(0.096, 3.170), rotate: 0, + id: 'J12' }) -const servo_conn = board.add(PinHeader_1x03_P2_54mm_Vertical, { +// servo.conn +const J13 = board.add(PinHeader_1x03_P2_54mm_Vertical, { translate: pt(3.233, 2.012), rotate: 0, - id: 'servo_conn' + id: 'J13' }) -const led_res = board.add(R_Array_Concave_4x0603, { +// led_res +const RN1 = board.add(R_Array_Concave_4x0603, { translate: pt(2.573, 3.113), rotate: 0, - id: 'led_res' + id: 'RN1' }) +board.setNetlist([ + {name: "vbatt", pads: [["TP1", "1"], ["U2", "4"], ["U7", "1"], ["U7", "6"], ["D6", "1"], ["D7", "1"], ["D8", "1"], ["D9", "1"], ["D10", "1"], ["J8", "1"], ["U8", "12"], ["U9", "12"], ["U8", "1"], ["U9", "1"], ["J13", "2"], ["R1", "2"], ["U2", "1"], ["C23", "2"], ["C26", "2"], ["C17", "1"], ["C18", "1"], ["C21", "1"], ["C24", "1"], ["C2", "1"], ["R2", "1"]]}, + {name: "gnd", pads: [["J1", "1"], ["TP2", "1"], ["U2", "2"], ["D1", "2"], ["U3", "1"], ["U3", "15"], ["U3", "38"], ["U3", "39"], ["J3", "2"], ["J4", "2"], ["J5", "2"], ["U5", "1"], ["U5", "2"], ["U5", "3"], ["U5", "6"], ["U5", "7"], ["U6", "1"], ["U6", "2"], ["U6", "3"], ["U6", "8"], ["U7", "7"], ["U7", "9"], ["D6", "3"], ["D7", "3"], ["D8", "3"], ["D9", "3"], ["D10", "3"], ["J8", "3"], ["U8", "3"], ["U8", "6"], ["U8", "13"], ["U8", "17"], ["U9", "3"], ["U9", "6"], ["U9", "13"], ["U9", "17"], ["J13", "3"], ["U1", "2"], ["R11", "2"], ["C20", "2"], ["C4", "2"], ["C5", "2"], ["J2", "4"], ["SW1", "2"], ["J6", "6"], ["C9", "2"], ["C10", "2"], ["C11", "2"], ["C12", "2"], ["C13", "2"], ["C14", "2"], ["C15", "2"], ["R5", "1"], ["C16", "2"], ["C17", "2"], ["C18", "2"], ["C21", "2"], ["C22", "2"], ["C24", "2"], ["C25", "2"], ["R7", "2"], ["C6", "2"], ["C1", "2"], ["C2", "2"], ["C3", "2"]]}, + {name: "v3v3", pads: [["TP3", "1"], ["D1", "1"], ["U3", "2"], ["J3", "1"], ["J4", "1"], ["J5", "1"], ["U5", "5"], ["U5", "12"], ["U5", "8"], ["U6", "16"], ["U1", "5"], ["R6", "1"], ["C4", "1"], ["C5", "1"], ["J2", "1"], ["R9", "1"], ["R10", "1"], ["J6", "7"], ["J6", "5"], ["C10", "1"], ["C11", "1"], ["C15", "1"], ["C14", "1"], ["C16", "1"], ["D2", "2"], ["D3", "2"], ["D4", "2"], ["D5", "2"], ["R8", "1"], ["C1", "1"], ["L1", "2"], ["C3", "1"]]}, + {name: "isense.pwr_in", pads: [["J1", "2"], ["R1", "1"], ["R3", "1"]]}, + {name: "i2c_chain_0.scl", pads: [["U3", "16"], ["U5", "13"], ["U6", "14"], ["R9", "2"], ["TP4", "1"], ["J3", "3"], ["J4", "3"], ["J5", "3"]]}, + {name: "i2c_chain_0.sda", pads: [["U3", "14"], ["U5", "14"], ["U6", "15"], ["R10", "2"], ["J3", "4"], ["J4", "4"], ["J5", "4"], ["TP5", "1"]]}, + {name: "lcd.spi.sck", pads: [["U3", "9"], ["J6", "11"]]}, + {name: "lcd.spi.mosi", pads: [["U3", "8"], ["J6", "12"]]}, + {name: "lcd.cs", pads: [["U3", "13"], ["J6", "8"]]}, + {name: "lcd.reset", pads: [["U3", "12"], ["J6", "9"]]}, + {name: "lcd.dc", pads: [["U3", "10"], ["J6", "10"]]}, + {name: "isense.out", pads: [["U3", "4"], ["R4", "1"], ["U1", "4"]]}, + {name: "expander.io.tof_reset_0", pads: [["U6", "10"], ["J3", "6"]]}, + {name: "expander.io.tof_reset_1", pads: [["U6", "11"], ["J4", "6"]]}, + {name: "expander.io.tof_reset_2", pads: [["U6", "12"], ["J5", "6"]]}, + {name: "expander.io.led_0", pads: [["U6", "4"], ["RN1", "8"]]}, + {name: "expander.io.led_1", pads: [["U6", "5"], ["RN1", "7"]]}, + {name: "expander.io.led_2", pads: [["U6", "6"], ["RN1", "6"]]}, + {name: "expander.io.led_3", pads: [["U6", "7"], ["RN1", "5"]]}, + {name: "spk_chain_0", pads: [["U3", "11"], ["TP6", "1"], ["C19", "2"]]}, + {name: "spk_chain_1.a", pads: [["U7", "8"], ["J7", "1"]]}, + {name: "spk_chain_1.b", pads: [["U7", "5"], ["J7", "2"]]}, + {name: "ws2812bArray.din", pads: [["U3", "23"], ["D6", "4"]]}, + {name: "ws2812bArray.dout", pads: [["D10", "2"], ["J8", "2"]]}, + {name: "motor_driver1.ain1", pads: [["U3", "30"], ["U8", "16"]]}, + {name: "motor_driver1.ain2", pads: [["U3", "31"], ["U8", "15"]]}, + {name: "motor_driver1.bin1", pads: [["U3", "36"], ["U8", "9"]]}, + {name: "motor_driver1.bin2", pads: [["U3", "33"], ["U8", "10"]]}, + {name: "m1_a.a", pads: [["U8", "2"], ["J9", "2"]]}, + {name: "m1_a.b", pads: [["U8", "4"], ["J9", "1"]]}, + {name: "m1_b.a", pads: [["U8", "7"], ["J10", "2"]]}, + {name: "m1_b.b", pads: [["U8", "5"], ["J10", "1"]]}, + {name: "motor_driver2.ain1", pads: [["U3", "26"], ["U9", "16"]]}, + {name: "motor_driver2.ain2", pads: [["U3", "27"], ["U9", "15"]]}, + {name: "motor_driver2.bin1", pads: [["U3", "29"], ["U9", "9"]]}, + {name: "motor_driver2.bin2", pads: [["U3", "28"], ["U9", "10"]]}, + {name: "m2_a.a", pads: [["U9", "2"], ["J11", "2"]]}, + {name: "m2_a.b", pads: [["U9", "4"], ["J11", "1"]]}, + {name: "m2_b.a", pads: [["U9", "7"], ["J12", "2"]]}, + {name: "m2_b.b", pads: [["U9", "5"], ["J12", "1"]]}, + {name: "servo.pwm", pads: [["U3", "37"], ["J13", "1"]]}, + {name: "led_res.a.0", pads: [["RN1", "1"], ["D2", "1"]]}, + {name: "led_res.a.1", pads: [["RN1", "2"], ["D3", "1"]]}, + {name: "led_res.a.2", pads: [["RN1", "3"], ["D4", "1"]]}, + {name: "led_res.a.3", pads: [["RN1", "4"], ["D5", "1"]]}, + {name: "isense.amp.r2.b", pads: [["R3", "2"], ["U1", "1"], ["R5", "2"]]}, + {name: "isense.amp.r1.b", pads: [["R2", "2"], ["U1", "3"], ["R4", "2"]]}, + {name: "reg_3v3.fb.output", pads: [["U2", "5"], ["R6", "2"], ["R7", "1"]]}, + {name: "reg_3v3.power_path.switch", pads: [["U2", "3"], ["L1", "1"]]}, + {name: "mcu.program_uart_node.a_tx", pads: [["U3", "35"], ["J2", "2"]]}, + {name: "mcu.program_uart_node.b_tx", pads: [["U3", "34"], ["J2", "3"]]}, + {name: "mcu.program_en_node", pads: [["U3", "3"], ["R8", "2"], ["C6", "1"]]}, + {name: "mcu.program_boot_node", pads: [["U3", "25"], ["SW1", "1"]]}, + {name: "mcu.ic.io2", pads: [["U3", "24"]]}, + {name: "tof.elt[0].ic.gpio1", pads: [["J3", "5"]]}, + {name: "tof.elt[1].ic.gpio1", pads: [["J4", "5"]]}, + {name: "tof.elt[2].ic.gpio1", pads: [["J5", "5"]]}, + {name: "lcd.c1_cap.pos", pads: [["C7", "1"], ["J6", "3"]]}, + {name: "lcd.c1_cap.neg", pads: [["C7", "2"], ["J6", "4"]]}, + {name: "lcd.c2_cap.pos", pads: [["C8", "1"], ["J6", "1"]]}, + {name: "lcd.c2_cap.neg", pads: [["C8", "2"], ["J6", "2"]]}, + {name: "lcd.iref_res.a", pads: [["R11", "1"], ["J6", "13"]]}, + {name: "lcd.device.vcomh", pads: [["J6", "14"], ["C9", "1"]]}, + {name: "lcd.device.vcc", pads: [["J6", "15"], ["C12", "1"], ["C13", "1"]]}, + {name: "imu.int1", pads: [["U5", "4"]]}, + {name: "imu.int2", pads: [["U5", "9"]]}, + {name: "spk_drv.inp_cap.pos", pads: [["C19", "1"], ["R12", "1"]]}, + {name: "spk_drv.inp_res.b", pads: [["R12", "2"], ["U7", "4"]]}, + {name: "spk_drv.inn_cap.pos", pads: [["C20", "1"], ["R13", "1"]]}, + {name: "spk_drv.inn_res.b", pads: [["R13", "2"], ["U7", "3"]]}, + {name: "ws2812bArray.led[0].dout", pads: [["D6", "2"], ["D7", "4"]]}, + {name: "ws2812bArray.led[1].dout", pads: [["D7", "2"], ["D8", "4"]]}, + {name: "ws2812bArray.led[2].dout", pads: [["D8", "2"], ["D9", "4"]]}, + {name: "ws2812bArray.led[3].dout", pads: [["D9", "2"], ["D10", "4"]]}, + {name: "motor_driver1.ic.vint", pads: [["U8", "14"], ["C22", "1"]]}, + {name: "motor_driver1.vcp_cap.pos", pads: [["C23", "1"], ["U8", "11"]]}, + {name: "motor_driver2.ic.vint", pads: [["U9", "14"], ["C25", "1"]]}, + {name: "motor_driver2.vcp_cap.pos", pads: [["C26", "1"], ["U9", "11"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(4.002755905511811, 3.374409448818898); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/RobotOwl/RobotOwl.svgpcb.js b/examples/RobotOwl/RobotOwl.svgpcb.js index 7798399a2..1bf840529 100644 --- a/examples/RobotOwl/RobotOwl.svgpcb.js +++ b/examples/RobotOwl/RobotOwl.svgpcb.js @@ -1,198 +1,283 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const H1 = board.add(JlcToolingHole_1_152mm, { translate: pt(4.146, 2.762), rotate: 0, - id: 'jlc_th_th1' + id: 'H1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const H2 = board.add(JlcToolingHole_1_152mm, { translate: pt(4.185, 2.762), rotate: 0, - id: 'jlc_th_th2' + id: 'H2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const H3 = board.add(JlcToolingHole_1_152mm, { translate: pt(4.146, 2.801), rotate: 0, - id: 'jlc_th_th3' + id: 'H3' }) -const mcu = board.add(Freenove_ESP32S3_WROOM_Expansion, { +// mcu +const U1 = board.add(Freenove_ESP32S3_WROOM_Expansion, { translate: pt(0.160, 1.960), rotate: 0, - id: 'mcu' + id: 'U1' }) -const tp_gnd_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.727, 2.799), rotate: 0, - id: 'tp_gnd_tp' -}) -const tp_usb_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_gnd.tp +const TP1 = board.add(TestPoint_TE_RCT_0805, { translate: pt(2.976, 2.799), rotate: 0, - id: 'tp_usb_tp' + id: 'TP1' }) -const tp_3v3_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_usb.tp +const TP2 = board.add(TestPoint_TE_RCT_0805, { translate: pt(3.477, 2.799), rotate: 0, - id: 'tp_3v3_tp' + id: 'TP2' +}) +// tp_3v3.tp +const TP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(3.226, 2.799), rotate: 0, + id: 'TP3' }) -const reg_12v_ic = board.add(SOT_23_5, { +// reg_12v.ic +const U2 = board.add(SOT_23_5, { translate: pt(1.467, 2.363), rotate: 0, - id: 'reg_12v_ic' + id: 'U2' }) -const reg_12v_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg_12v.fb.div.top_res +const R1 = board.add(R_0603_1608Metric, { translate: pt(1.444, 2.615), rotate: 0, - id: 'reg_12v_fb_div_top_res' + id: 'R1' }) -const reg_12v_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg_12v.fb.div.bottom_res +const R2 = board.add(R_0603_1608Metric, { translate: pt(1.600, 2.615), rotate: 0, - id: 'reg_12v_fb_div_bottom_res' + id: 'R2' }) -const reg_12v_power_path_inductor = board.add(L_1210_3225Metric, { +// reg_12v.power_path.inductor +const L1 = board.add(L_1210_3225Metric, { translate: pt(1.676, 2.359), rotate: 0, - id: 'reg_12v_power_path_inductor' + id: 'L1' }) -const reg_12v_power_path_in_cap_cap = board.add(C_0805_2012Metric, { +// reg_12v.power_path.in_cap.cap +const C1 = board.add(C_0805_2012Metric, { translate: pt(1.453, 2.508), rotate: 0, - id: 'reg_12v_power_path_in_cap_cap' + id: 'C1' }) -const reg_12v_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg_12v.power_path.out_cap.cap +const C2 = board.add(C_0805_2012Metric, { translate: pt(1.626, 2.508), rotate: 0, - id: 'reg_12v_power_path_out_cap_cap' + id: 'C2' }) -const reg_12v_rect = board.add(D_SOD_323, { +// reg_12v.rect +const D1 = board.add(D_SOD_323, { translate: pt(1.796, 2.507), rotate: 0, - id: 'reg_12v_rect' + id: 'D1' }) -const tp_12v_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.226, 2.799), rotate: 0, - id: 'tp_12v_tp' +// tp_12v.tp +const TP4 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(3.727, 2.799), rotate: 0, + id: 'TP4' }) -const mic_ic = board.add(Knowles_LGA_5_3_5x2_65mm, { +// mic.ic +const U3 = board.add(Knowles_LGA_5_3_5x2_65mm, { translate: pt(1.448, 2.841), rotate: 0, - id: 'mic_ic' + id: 'U3' }) -const mic_pwr_cap_cap = board.add(C_0603_1608Metric, { +// mic.pwr_cap.cap +const C3 = board.add(C_0603_1608Metric, { translate: pt(1.444, 2.987), rotate: 0, - id: 'mic_pwr_cap_cap' + id: 'C3' }) -const photodiode_r = board.add(R_0603_1608Metric, { +// photodiode.r +const R3 = board.add(R_0603_1608Metric, { translate: pt(3.848, 2.542), rotate: 0, - id: 'photodiode_r' + id: 'R3' }) -const photodiode_pd = board.add(Osram_BPW34S_SMD, { +// photodiode.pd +const D2 = board.add(Osram_BPW34S_SMD, { translate: pt(3.947, 2.385), rotate: 0, - id: 'photodiode_pd' + id: 'D2' }) -const oled22_device_conn = board.add(Hirose_FH12_24S_0_5SH_1x24_1MP_P0_50mm_Horizontal, { +// oled22.device.conn +const J1 = board.add(Hirose_FH12_24S_0_5SH_1x24_1MP_P0_50mm_Horizontal, { translate: pt(1.715, 1.577), rotate: 0, - id: 'oled22_device_conn' + id: 'J1' }) -const oled22_lcd = board.add(Lcd_Er_Oled022_1_Outline, { +// oled22.lcd +const U4 = board.add(Lcd_Er_Oled022_1_Outline, { translate: pt(2.580, 0.607), rotate: 0, - id: 'oled22_lcd' + id: 'U4' }) -const oled22_iref_res = board.add(R_0603_1608Metric, { +// oled22.iref_res +const R4 = board.add(R_0603_1608Metric, { translate: pt(2.736, 1.413), rotate: 0, - id: 'oled22_iref_res' + id: 'R4' }) -const oled22_vcomh_cap_cap = board.add(C_1206_3216Metric, { +// oled22.vcomh_cap.cap +const C4 = board.add(C_1206_3216Metric, { translate: pt(2.202, 1.430), rotate: 0, - id: 'oled22_vcomh_cap_cap' + id: 'C4' }) -const oled22_vdd_cap1_cap = board.add(C_0603_1608Metric, { +// oled22.vdd_cap1.cap +const C5 = board.add(C_0603_1608Metric, { translate: pt(2.892, 1.413), rotate: 0, - id: 'oled22_vdd_cap1_cap' + id: 'C5' }) -const oled22_vdd_cap2_cap = board.add(C_0805_2012Metric, { +// oled22.vdd_cap2.cap +const C6 = board.add(C_0805_2012Metric, { translate: pt(2.398, 1.423), rotate: 0, - id: 'oled22_vdd_cap2_cap' + id: 'C6' }) -const oled22_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// oled22.vcc_cap1.cap +const C7 = board.add(C_0603_1608Metric, { translate: pt(3.048, 1.413), rotate: 0, - id: 'oled22_vcc_cap1_cap' + id: 'C7' }) -const oled22_vcc_cap2_cap = board.add(C_0805_2012Metric, { +// oled22.vcc_cap2.cap +const C8 = board.add(C_0805_2012Metric, { translate: pt(2.572, 1.423), rotate: 0, - id: 'oled22_vcc_cap2_cap' + id: 'C8' }) -const oled_rst_ic = board.add(SOT_23, { +// oled_rst.ic +const U5 = board.add(SOT_23, { translate: pt(2.716, 2.829), rotate: 0, - id: 'oled_rst_ic' + id: 'U5' }) -const oled_pull_res = board.add(R_0603_1608Metric, { +// oled_pull.res +const R5 = board.add(R_0603_1608Metric, { translate: pt(3.970, 2.791), rotate: 0, - id: 'oled_pull_res' + id: 'R5' }) -const spk_drv_ic = board.add(Maxim_WLP_9_1_595x1_415_Layout3x3_P0_4mm_Ball0_27mm_Pad0_25mm_NSMD, { +// spk_drv.ic +const U6 = board.add(Maxim_WLP_9_1_595x1_415_Layout3x3_P0_4mm_Ball0_27mm_Pad0_25mm_NSMD, { translate: pt(1.699, 2.829), rotate: 0, - id: 'spk_drv_ic' + id: 'U6' }) -const spk_drv_pwr_cap0_cap = board.add(C_0603_1608Metric, { +// spk_drv.pwr_cap0.cap +const C9 = board.add(C_0603_1608Metric, { translate: pt(1.860, 2.964), rotate: 0, - id: 'spk_drv_pwr_cap0_cap' + id: 'C9' }) -const spk_drv_pwr_cap1_cap = board.add(C_0805_2012Metric, { +// spk_drv.pwr_cap1.cap +const C10 = board.add(C_0805_2012Metric, { translate: pt(1.695, 2.974), rotate: 0, - id: 'spk_drv_pwr_cap1_cap' + id: 'C10' }) -const spk_conn = board.add(PinHeader_1x02_P2_54mm_Horizontal, { +// spk.conn +const J2 = board.add(PinHeader_1x02_P2_54mm_Horizontal, { translate: pt(2.107, 2.933), rotate: 0, - id: 'spk_conn' + id: 'J2' }) -const servo_0__conn = board.add(PinHeader_1x03_P2_54mm_Horizontal, { - translate: pt(3.256, 2.566), rotate: 0, - id: 'servo_0__conn' +// servo[0].conn +const J3 = board.add(PinHeader_1x03_P2_54mm_Horizontal, { + translate: pt(2.048, 2.566), rotate: 0, + id: 'J3' }) -const servo_1__conn = board.add(PinHeader_1x03_P2_54mm_Horizontal, { +// servo[1].conn +const J4 = board.add(PinHeader_1x03_P2_54mm_Horizontal, { translate: pt(2.652, 2.566), rotate: 0, - id: 'servo_1__conn' + id: 'J4' }) -const ws2812bArray_led_0_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// ws2812bArray.led[0] +const D3 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.144, 2.405), rotate: 0, - id: 'ws2812bArray_led_0_' + id: 'D3' }) -const ws2812bArray_led_1_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// ws2812bArray.led[1] +const D4 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.470, 2.405), rotate: 0, - id: 'ws2812bArray_led_1_' + id: 'D4' }) -const ws2812bArray_led_2_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// ws2812bArray.led[2] +const D5 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.797, 2.405), rotate: 0, - id: 'ws2812bArray_led_2_' + id: 'D5' }) -const ws2812bArray_led_3_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// ws2812bArray.led[3] +const D6 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(1.124, 2.405), rotate: 0, - id: 'ws2812bArray_led_3_' + id: 'D6' }) -const ws2812bArray_led_4_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// ws2812bArray.led[4] +const D7 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.144, 2.661), rotate: 0, - id: 'ws2812bArray_led_4_' + id: 'D7' }) -const ws2812bArray_led_5_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// ws2812bArray.led[5] +const D8 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.470, 2.661), rotate: 0, - id: 'ws2812bArray_led_5_' + id: 'D8' }) -const ws2812bArray_led_6_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// ws2812bArray.led[6] +const D9 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.797, 2.661), rotate: 0, - id: 'ws2812bArray_led_6_' + id: 'D9' }) -const ws2812bArray_led_7_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// ws2812bArray.led[7] +const D10 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(1.124, 2.661), rotate: 0, - id: 'ws2812bArray_led_7_' + id: 'D10' }) -const ws2812bArray_led_8_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// ws2812bArray.led[8] +const D11 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.144, 2.917), rotate: 0, - id: 'ws2812bArray_led_8_' + id: 'D11' }) -const ws2812bArray_led_9_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// ws2812bArray.led[9] +const D12 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.470, 2.917), rotate: 0, - id: 'ws2812bArray_led_9_' + id: 'D12' }) -const ws2812bArray_led_10_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// ws2812bArray.led[10] +const D13 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(0.797, 2.917), rotate: 0, - id: 'ws2812bArray_led_10_' + id: 'D13' }) -const ws2812bArray_led_11_ = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { +// ws2812bArray.led[11] +const D14 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { translate: pt(1.124, 2.917), rotate: 0, - id: 'ws2812bArray_led_11_' + id: 'D14' }) -const extNeopixels_conn = board.add(PinHeader_1x03_P2_54mm_Horizontal, { - translate: pt(2.048, 2.566), rotate: 0, - id: 'extNeopixels_conn' +// extNeopixels.conn +const J5 = board.add(PinHeader_1x03_P2_54mm_Horizontal, { + translate: pt(3.256, 2.566), rotate: 0, + id: 'J5' }) +board.setNetlist([ + {name: "gnd", pads: [["U1", "21"], ["U5", "1"], ["TP1", "1"], ["U2", "2"], ["U3", "3"], ["D2", "2"], ["U6", "C2"], ["J3", "3"], ["J4", "3"], ["D3", "3"], ["D4", "3"], ["D5", "3"], ["D6", "3"], ["D7", "3"], ["D8", "3"], ["D9", "3"], ["D10", "3"], ["D11", "3"], ["D12", "3"], ["D13", "3"], ["D14", "3"], ["J5", "3"], ["U3", "2"], ["R4", "2"], ["C3", "2"], ["J1", "3"], ["J1", "1"], ["J1", "24"], ["J1", "2"], ["J1", "12"], ["J1", "11"], ["J1", "16"], ["J1", "17"], ["J1", "18"], ["J1", "19"], ["J1", "20"], ["C4", "2"], ["C5", "2"], ["C6", "2"], ["C7", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["R2", "2"], ["J1", "7"], ["J1", "10"], ["J1", "8"], ["C1", "2"], ["C2", "2"]]}, + {name: "vusb", pads: [["U1", "20"], ["TP2", "1"], ["U2", "5"], ["U6", "A1"], ["U6", "A2"], ["J3", "2"], ["J4", "2"], ["D3", "1"], ["D4", "1"], ["D5", "1"], ["D6", "1"], ["D7", "1"], ["D8", "1"], ["D9", "1"], ["D10", "1"], ["D11", "1"], ["D12", "1"], ["D13", "1"], ["D14", "1"], ["J5", "1"], ["U2", "4"], ["C9", "1"], ["C10", "1"], ["L1", "1"], ["C1", "1"]]}, + {name: "v3v3", pads: [["U1", "1"], ["U5", "3"], ["TP3", "1"], ["U3", "5"], ["R3", "1"], ["R5", "1"], ["C3", "1"], ["J1", "5"], ["C5", "1"], ["C6", "1"], ["J1", "6"]]}, + {name: "v12", pads: [["TP4", "1"], ["D1", "1"], ["R1", "1"], ["C2", "1"], ["J1", "23"], ["C7", "1"], ["C8", "1"]]}, + {name: "mic.clk", pads: [["U3", "4"], ["U1", "12"]]}, + {name: "mic.data", pads: [["U3", "1"], ["U1", "19"]]}, + {name: "photodiode.out", pads: [["U1", "38"], ["R3", "2"], ["D2", "1"]]}, + {name: "oled22.i2c.scl", pads: [["U1", "4"], ["J1", "13"]]}, + {name: "oled22.i2c.sda", pads: [["U1", "3"], ["J1", "14"], ["J1", "15"]]}, + {name: "oled_rst.nreset", pads: [["U5", "2"], ["R5", "2"], ["J1", "9"]]}, + {name: "spk_drv.i2s.sck", pads: [["U1", "35"], ["U6", "C1"]]}, + {name: "spk_drv.i2s.ws", pads: [["U1", "37"], ["U6", "C3"]]}, + {name: "spk_drv.i2s.sd", pads: [["U1", "36"], ["U6", "B1"]]}, + {name: "spk_drv.out.a", pads: [["U6", "A3"], ["J2", "1"]]}, + {name: "spk_drv.out.b", pads: [["U6", "B3"], ["J2", "2"]]}, + {name: "servo[0].pwm", pads: [["U1", "25"], ["J3", "1"]]}, + {name: "servo[1].pwm", pads: [["U1", "24"], ["J4", "1"]]}, + {name: "ws2812bArray.din", pads: [["U1", "26"], ["D3", "4"]]}, + {name: "ws2812bArray.dout", pads: [["D14", "2"], ["J5", "2"]]}, + {name: "reg_12v.fb.output", pads: [["U2", "3"], ["R1", "2"], ["R2", "1"]]}, + {name: "reg_12v.power_path.switch", pads: [["U2", "1"], ["L1", "2"], ["D1", "2"]]}, + {name: "oled22.iref_res.a", pads: [["R4", "1"], ["J1", "21"]]}, + {name: "oled22.device.vcomh", pads: [["J1", "22"], ["C4", "1"]]}, + {name: "ws2812bArray.led[0].dout", pads: [["D3", "2"], ["D4", "4"]]}, + {name: "ws2812bArray.led[1].dout", pads: [["D4", "2"], ["D5", "4"]]}, + {name: "ws2812bArray.led[2].dout", pads: [["D5", "2"], ["D6", "4"]]}, + {name: "ws2812bArray.led[3].dout", pads: [["D6", "2"], ["D7", "4"]]}, + {name: "ws2812bArray.led[4].dout", pads: [["D7", "2"], ["D8", "4"]]}, + {name: "ws2812bArray.led[5].dout", pads: [["D8", "2"], ["D9", "4"]]}, + {name: "ws2812bArray.led[6].dout", pads: [["D9", "2"], ["D10", "4"]]}, + {name: "ws2812bArray.led[7].dout", pads: [["D10", "2"], ["D11", "4"]]}, + {name: "ws2812bArray.led[8].dout", pads: [["D11", "2"], ["D12", "4"]]}, + {name: "ws2812bArray.led[9].dout", pads: [["D12", "2"], ["D13", "4"]]}, + {name: "ws2812bArray.led[10].dout", pads: [["D13", "2"], ["D14", "4"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(4.303543307086614, 3.142913385826772); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/SevenSegment/SevenSegment.svgpcb.js b/examples/SevenSegment/SevenSegment.svgpcb.js index 7fa240fbc..4f1708aef 100644 --- a/examples/SevenSegment/SevenSegment.svgpcb.js +++ b/examples/SevenSegment/SevenSegment.svgpcb.js @@ -1,462 +1,670 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const CH1 = board.add(JlcToolingHole_1_152mm, { translate: pt(3.246, 2.093), rotate: 0, - id: 'jlc_th_th1' + id: 'CH1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const CH2 = board.add(JlcToolingHole_1_152mm, { translate: pt(3.285, 2.093), rotate: 0, - id: 'jlc_th_th2' + id: 'CH2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const CH3 = board.add(JlcToolingHole_1_152mm, { translate: pt(3.246, 2.132), rotate: 0, - id: 'jlc_th_th3' + id: 'CH3' }) -const pwr_conn_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(0.767, 1.870), rotate: 0, - id: 'pwr_conn_conn' +// pwr_conn.conn +const CJ1 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { + translate: pt(1.156, 1.870), rotate: 0, + id: 'CJ1' }) -const tp_pwr_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_pwr.tp +const CTP1 = board.add(TestPoint_TE_RCT_0805, { translate: pt(2.316, 2.130), rotate: 0, - id: 'tp_pwr_tp' + id: 'CTP1' }) -const tp_gnd_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_gnd.tp +const CTP2 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.816, 2.130), rotate: 0, - id: 'tp_gnd_tp' + id: 'CTP2' }) -const reg_3v3_ic = board.add(SOT_223_3_TabPin2, { +// reg_3v3.ic +const CU1 = board.add(SOT_223_3_TabPin2, { translate: pt(2.713, 1.244), rotate: 0, - id: 'reg_3v3_ic' + id: 'CU1' }) -const reg_3v3_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_3v3.in_cap.cap +const CC1 = board.add(C_0603_1608Metric, { translate: pt(2.772, 1.454), rotate: 0, - id: 'reg_3v3_in_cap_cap' + id: 'CC1' }) -const reg_3v3_out_cap_cap = board.add(C_0805_2012Metric, { +// reg_3v3.out_cap.cap +const CC2 = board.add(C_0805_2012Metric, { translate: pt(2.607, 1.464), rotate: 0, - id: 'reg_3v3_out_cap_cap' + id: 'CC2' }) -const tp_3v3_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.062, 2.130), rotate: 0, - id: 'tp_3v3_tp' +// tp_3v3.tp +const CTP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.567, 2.130), rotate: 0, + id: 'CTP3' }) -const prot_3v3_diode = board.add(D_SOD_323, { - translate: pt(2.564, 2.130), rotate: 0, - id: 'prot_3v3_diode' +// prot_3v3.diode +const CD1 = board.add(D_SOD_323, { + translate: pt(2.814, 2.130), rotate: 0, + id: 'CD1' }) -const mcu_ic = board.add(ESP32_S3_WROOM_1, { +// mcu.ic +const CU2 = board.add(ESP32_S3_WROOM_1, { translate: pt(0.945, 0.530), rotate: 0, - id: 'mcu_ic' + id: 'CU2' }) -const mcu_vcc_cap0_cap = board.add(C_1206_3216Metric, { +// mcu.vcc_cap0.cap +const CC3 = board.add(C_1206_3216Metric, { translate: pt(2.020, 0.419), rotate: 0, - id: 'mcu_vcc_cap0_cap' + id: 'CC3' }) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// mcu.vcc_cap1.cap +const CC4 = board.add(C_0603_1608Metric, { translate: pt(2.208, 0.403), rotate: 0, - id: 'mcu_vcc_cap1_cap' + id: 'CC4' }) -const mcu_prog_conn = board.add(Tag_Connect_TC2030_IDC_FP_2x03_P1_27mm_Vertical, { +// mcu.prog.conn +const CJ2 = board.add(Tag_Connect_TC2030_IDC_FP_2x03_P1_27mm_Vertical, { translate: pt(2.096, 0.167), rotate: 0, - id: 'mcu_prog_conn' + id: 'CJ2' }) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { +// mcu.en_pull.rc.r +const CR1 = board.add(R_0603_1608Metric, { translate: pt(2.364, 0.403), rotate: 0, - id: 'mcu_en_pull_rc_r' + id: 'CR1' }) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { +// mcu.en_pull.rc.c +const CC5 = board.add(C_0603_1608Metric, { translate: pt(1.987, 0.533), rotate: 0, - id: 'mcu_en_pull_rc_c' -}) -const ledr_package = board.add(LED_0603_1608Metric, { - translate: pt(0.399, 2.122), rotate: 0, - id: 'ledr_package' + id: 'CC5' }) -const ledr_res = board.add(R_0603_1608Metric, { - translate: pt(0.399, 2.219), rotate: 0, - id: 'ledr_res' -}) -const ledg_package = board.add(LED_0603_1608Metric, { +// ledr.package +const CD2 = board.add(LED_0603_1608Metric, { translate: pt(0.869, 2.122), rotate: 0, - id: 'ledg_package' + id: 'CD2' }) -const ledg_res = board.add(R_0603_1608Metric, { +// ledr.res +const CR2 = board.add(R_0603_1608Metric, { translate: pt(0.869, 2.219), rotate: 0, - id: 'ledg_res' + id: 'CR2' +}) +// ledg.package +const CD3 = board.add(LED_0603_1608Metric, { + translate: pt(0.399, 2.122), rotate: 0, + id: 'CD3' }) -const ledb_package = board.add(LED_0603_1608Metric, { +// ledg.res +const CR3 = board.add(R_0603_1608Metric, { + translate: pt(0.399, 2.219), rotate: 0, + id: 'CR3' +}) +// ledb.package +const CD4 = board.add(LED_0603_1608Metric, { translate: pt(0.634, 2.122), rotate: 0, - id: 'ledb_package' + id: 'CD4' }) -const ledb_res = board.add(R_0603_1608Metric, { +// ledb.res +const CR4 = board.add(R_0603_1608Metric, { translate: pt(0.634, 2.219), rotate: 0, - id: 'ledb_res' + id: 'CR4' }) -const sw_0__package = board.add(SW_Push_1P1T_MP_NO_Horizontal_Alps_SKRTLAE010, { - translate: pt(3.299, 1.831), rotate: 0, - id: 'sw_0__package' -}) -const sw_1__package = board.add(SW_Push_1P1T_MP_NO_Horizontal_Alps_SKRTLAE010, { - translate: pt(2.617, 1.831), rotate: 0, - id: 'sw_1__package' +// sw[0].package +const CSW1 = board.add(SW_Push_1P1T_MP_NO_Horizontal_Alps_SKRTLAE010, { + translate: pt(2.958, 1.831), rotate: 0, + id: 'CSW1' }) -const sw_2__package = board.add(SW_Push_1P1T_MP_NO_Horizontal_Alps_SKRTLAE010, { +// sw[1].package +const CSW2 = board.add(SW_Push_1P1T_MP_NO_Horizontal_Alps_SKRTLAE010, { translate: pt(0.111, 2.183), rotate: 0, - id: 'sw_2__package' + id: 'CSW2' }) -const sw_3__package = board.add(SW_Push_1P1T_MP_NO_Horizontal_Alps_SKRTLAE010, { - translate: pt(2.958, 1.831), rotate: 0, - id: 'sw_3__package' +// sw[2].package +const CSW3 = board.add(SW_Push_1P1T_MP_NO_Horizontal_Alps_SKRTLAE010, { + translate: pt(2.617, 1.831), rotate: 0, + id: 'CSW3' +}) +// sw[3].package +const CSW4 = board.add(SW_Push_1P1T_MP_NO_Horizontal_Alps_SKRTLAE010, { + translate: pt(3.299, 1.831), rotate: 0, + id: 'CSW4' }) -const i2c_pull_scl_res_res = board.add(R_0603_1608Metric, { +// i2c_pull.scl_res.res +const CR5 = board.add(R_0603_1608Metric, { translate: pt(1.338, 2.122), rotate: 0, - id: 'i2c_pull_scl_res_res' + id: 'CR5' }) -const i2c_pull_sda_res_res = board.add(R_0603_1608Metric, { +// i2c_pull.sda_res.res +const CR6 = board.add(R_0603_1608Metric, { translate: pt(1.338, 2.219), rotate: 0, - id: 'i2c_pull_sda_res_res' + id: 'CR6' }) -const i2c_tp_tp_scl_tp = board.add(TestPoint_TE_RCT_0805, { +// i2c_tp.tp_scl.tp +const CTP4 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.909, 1.778), rotate: 0, - id: 'i2c_tp_tp_scl_tp' + id: 'CTP4' }) -const i2c_tp_tp_sda_tp = board.add(TestPoint_TE_RCT_0805, { +// i2c_tp.tp_sda.tp +const CTP5 = board.add(TestPoint_TE_RCT_0805, { translate: pt(1.909, 1.892), rotate: 0, - id: 'i2c_tp_tp_sda_tp' + id: 'CTP5' }) -const env_ic = board.add(Bosch_LGA_8_3x3mm_P0_8mm_ClockwisePinNumbering, { +// env.ic +const CU3 = board.add(Bosch_LGA_8_3x3mm_P0_8mm_ClockwisePinNumbering, { translate: pt(0.069, 1.809), rotate: 0, - id: 'env_ic' + id: 'CU3' }) -const env_vdd_cap_cap = board.add(C_0603_1608Metric, { +// env.vdd_cap.cap +const CC6 = board.add(C_0603_1608Metric, { translate: pt(0.058, 1.946), rotate: 0, - id: 'env_vdd_cap_cap' + id: 'CC6' }) -const env_vddio_cap_cap = board.add(C_0603_1608Metric, { +// env.vddio_cap.cap +const CC7 = board.add(C_0603_1608Metric, { translate: pt(0.214, 1.946), rotate: 0, - id: 'env_vddio_cap_cap' + id: 'CC7' }) -const als_ic = board.add(HVSOF6, { +// als.ic +const CU4 = board.add(HVSOF6, { translate: pt(2.163, 1.781), rotate: 0, - id: 'als_ic' + id: 'CU4' }) -const als_vcc_cap_cap = board.add(C_0603_1608Metric, { +// als.vcc_cap.cap +const CC8 = board.add(C_0603_1608Metric, { translate: pt(2.329, 1.769), rotate: 0, - id: 'als_vcc_cap_cap' + id: 'CC8' }) -const als_dvi_res = board.add(R_0603_1608Metric, { +// als.dvi_res +const CR7 = board.add(R_0603_1608Metric, { translate: pt(2.152, 1.891), rotate: 0, - id: 'als_dvi_res' + id: 'CR7' }) -const als_dvi_cap = board.add(C_0603_1608Metric, { +// als.dvi_cap +const CC9 = board.add(C_0603_1608Metric, { translate: pt(2.308, 1.891), rotate: 0, - id: 'als_dvi_cap' + id: 'CC9' }) -const rgb_shift_ic = board.add(SOT_23_5, { +// rgb_shift.ic +const CU5 = board.add(SOT_23_5, { translate: pt(0.471, 1.807), rotate: 0, - id: 'rgb_shift_ic' + id: 'CU5' }) -const rgb_shift_vdd_cap_cap = board.add(C_0603_1608Metric, { +// rgb_shift.vdd_cap.cap +const CC10 = board.add(C_0603_1608Metric, { translate: pt(0.449, 1.942), rotate: 0, - id: 'rgb_shift_vdd_cap_cap' -}) -const rgb_tp_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.066, 2.130), rotate: 0, - id: 'rgb_tp_tp' -}) -const digit_0__led_0_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.580, 0.039), rotate: 0, - id: 'digit_0__led_0_' -}) -const digit_0__led_1_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.698, 0.039), rotate: 0, - id: 'digit_0__led_1_' -}) -const digit_0__led_2_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.816, 0.039), rotate: 0, - id: 'digit_0__led_2_' + id: 'CC10' }) -const digit_0__led_3_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.934, 0.039), rotate: 0, - id: 'digit_0__led_3_' -}) -const digit_0__led_4_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.580, 0.157), rotate: 0, - id: 'digit_0__led_4_' -}) -const digit_0__led_5_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.698, 0.157), rotate: 0, - id: 'digit_0__led_5_' -}) -const digit_0__led_6_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.816, 0.157), rotate: 0, - id: 'digit_0__led_6_' -}) -const digit_0__led_7_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.934, 0.157), rotate: 0, - id: 'digit_0__led_7_' -}) -const digit_0__led_8_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.580, 0.276), rotate: 0, - id: 'digit_0__led_8_' -}) -const digit_0__led_9_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.698, 0.276), rotate: 0, - id: 'digit_0__led_9_' -}) -const digit_0__led_10_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.816, 0.276), rotate: 0, - id: 'digit_0__led_10_' -}) -const digit_0__led_11_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.934, 0.276), rotate: 0, - id: 'digit_0__led_11_' -}) -const digit_0__led_12_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.580, 0.394), rotate: 0, - id: 'digit_0__led_12_' -}) -const digit_0__led_13_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.698, 0.394), rotate: 0, - id: 'digit_0__led_13_' +// rgb_tp.tp +const CTP6 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(3.062, 2.130), rotate: 0, + id: 'CTP6' }) -const digit_1__led_0_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.580, 0.591), rotate: 0, - id: 'digit_1__led_0_' +// digit[0].led[0] +const CD5 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(3.131, 0.039), rotate: 0, + id: 'CD5' }) -const digit_1__led_1_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.698, 0.591), rotate: 0, - id: 'digit_1__led_1_' +// digit[0].led[1] +const CD6 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(3.249, 0.039), rotate: 0, + id: 'CD6' }) -const digit_1__led_2_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.816, 0.591), rotate: 0, - id: 'digit_1__led_2_' +// digit[0].led[2] +const CD7 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(3.367, 0.039), rotate: 0, + id: 'CD7' }) -const digit_1__led_3_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.934, 0.591), rotate: 0, - id: 'digit_1__led_3_' +// digit[0].led[3] +const CD8 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(3.485, 0.039), rotate: 0, + id: 'CD8' }) -const digit_1__led_4_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.580, 0.709), rotate: 0, - id: 'digit_1__led_4_' +// digit[0].led[4] +const CD9 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(3.131, 0.157), rotate: 0, + id: 'CD9' }) -const digit_1__led_5_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.698, 0.709), rotate: 0, - id: 'digit_1__led_5_' +// digit[0].led[5] +const CD10 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(3.249, 0.157), rotate: 0, + id: 'CD10' }) -const digit_1__led_6_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.816, 0.709), rotate: 0, - id: 'digit_1__led_6_' +// digit[0].led[6] +const CD11 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(3.367, 0.157), rotate: 0, + id: 'CD11' }) -const digit_1__led_7_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.934, 0.709), rotate: 0, - id: 'digit_1__led_7_' +// digit[0].led[7] +const CD12 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(3.485, 0.157), rotate: 0, + id: 'CD12' }) -const digit_1__led_8_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.580, 0.827), rotate: 0, - id: 'digit_1__led_8_' +// digit[0].led[8] +const CD13 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(3.131, 0.276), rotate: 0, + id: 'CD13' }) -const digit_1__led_9_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.698, 0.827), rotate: 0, - id: 'digit_1__led_9_' +// digit[0].led[9] +const CD14 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(3.249, 0.276), rotate: 0, + id: 'CD14' }) -const digit_1__led_10_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.816, 0.827), rotate: 0, - id: 'digit_1__led_10_' +// digit[0].led[10] +const CD15 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(3.367, 0.276), rotate: 0, + id: 'CD15' }) -const digit_1__led_11_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.934, 0.827), rotate: 0, - id: 'digit_1__led_11_' +// digit[0].led[11] +const CD16 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(3.485, 0.276), rotate: 0, + id: 'CD16' }) -const digit_1__led_12_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.580, 0.945), rotate: 0, - id: 'digit_1__led_12_' +// digit[0].led[12] +const CD17 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(3.131, 0.394), rotate: 0, + id: 'CD17' }) -const digit_1__led_13_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.698, 0.945), rotate: 0, - id: 'digit_1__led_13_' +// digit[0].led[13] +const CD18 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(3.249, 0.394), rotate: 0, + id: 'CD18' }) -const digit_2__led_0_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// digit[1].led[0] +const CD19 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(3.131, 0.591), rotate: 0, - id: 'digit_2__led_0_' + id: 'CD19' }) -const digit_2__led_1_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// digit[1].led[1] +const CD20 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(3.249, 0.591), rotate: 0, - id: 'digit_2__led_1_' + id: 'CD20' }) -const digit_2__led_2_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// digit[1].led[2] +const CD21 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(3.367, 0.591), rotate: 0, - id: 'digit_2__led_2_' + id: 'CD21' }) -const digit_2__led_3_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// digit[1].led[3] +const CD22 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(3.485, 0.591), rotate: 0, - id: 'digit_2__led_3_' + id: 'CD22' }) -const digit_2__led_4_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// digit[1].led[4] +const CD23 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(3.131, 0.709), rotate: 0, - id: 'digit_2__led_4_' + id: 'CD23' }) -const digit_2__led_5_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// digit[1].led[5] +const CD24 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(3.249, 0.709), rotate: 0, - id: 'digit_2__led_5_' + id: 'CD24' }) -const digit_2__led_6_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// digit[1].led[6] +const CD25 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(3.367, 0.709), rotate: 0, - id: 'digit_2__led_6_' + id: 'CD25' }) -const digit_2__led_7_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// digit[1].led[7] +const CD26 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(3.485, 0.709), rotate: 0, - id: 'digit_2__led_7_' + id: 'CD26' }) -const digit_2__led_8_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// digit[1].led[8] +const CD27 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(3.131, 0.827), rotate: 0, - id: 'digit_2__led_8_' + id: 'CD27' }) -const digit_2__led_9_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// digit[1].led[9] +const CD28 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(3.249, 0.827), rotate: 0, - id: 'digit_2__led_9_' + id: 'CD28' }) -const digit_2__led_10_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// digit[1].led[10] +const CD29 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(3.367, 0.827), rotate: 0, - id: 'digit_2__led_10_' + id: 'CD29' }) -const digit_2__led_11_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// digit[1].led[11] +const CD30 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(3.485, 0.827), rotate: 0, - id: 'digit_2__led_11_' + id: 'CD30' }) -const digit_2__led_12_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// digit[1].led[12] +const CD31 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(3.131, 0.945), rotate: 0, - id: 'digit_2__led_12_' + id: 'CD31' }) -const digit_2__led_13_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// digit[1].led[13] +const CD32 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(3.249, 0.945), rotate: 0, - id: 'digit_2__led_13_' + id: 'CD32' }) -const digit_3__led_0_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.131, 0.039), rotate: 0, - id: 'digit_3__led_0_' +// digit[2].led[0] +const CD33 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.580, 0.039), rotate: 0, + id: 'CD33' }) -const digit_3__led_1_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.249, 0.039), rotate: 0, - id: 'digit_3__led_1_' +// digit[2].led[1] +const CD34 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.698, 0.039), rotate: 0, + id: 'CD34' }) -const digit_3__led_2_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.367, 0.039), rotate: 0, - id: 'digit_3__led_2_' +// digit[2].led[2] +const CD35 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.816, 0.039), rotate: 0, + id: 'CD35' }) -const digit_3__led_3_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.485, 0.039), rotate: 0, - id: 'digit_3__led_3_' +// digit[2].led[3] +const CD36 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.934, 0.039), rotate: 0, + id: 'CD36' }) -const digit_3__led_4_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.131, 0.157), rotate: 0, - id: 'digit_3__led_4_' +// digit[2].led[4] +const CD37 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.580, 0.157), rotate: 0, + id: 'CD37' }) -const digit_3__led_5_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.249, 0.157), rotate: 0, - id: 'digit_3__led_5_' +// digit[2].led[5] +const CD38 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.698, 0.157), rotate: 0, + id: 'CD38' }) -const digit_3__led_6_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.367, 0.157), rotate: 0, - id: 'digit_3__led_6_' +// digit[2].led[6] +const CD39 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.816, 0.157), rotate: 0, + id: 'CD39' }) -const digit_3__led_7_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.485, 0.157), rotate: 0, - id: 'digit_3__led_7_' +// digit[2].led[7] +const CD40 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.934, 0.157), rotate: 0, + id: 'CD40' }) -const digit_3__led_8_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.131, 0.276), rotate: 0, - id: 'digit_3__led_8_' +// digit[2].led[8] +const CD41 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.580, 0.276), rotate: 0, + id: 'CD41' }) -const digit_3__led_9_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.249, 0.276), rotate: 0, - id: 'digit_3__led_9_' +// digit[2].led[9] +const CD42 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.698, 0.276), rotate: 0, + id: 'CD42' }) -const digit_3__led_10_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.367, 0.276), rotate: 0, - id: 'digit_3__led_10_' +// digit[2].led[10] +const CD43 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.816, 0.276), rotate: 0, + id: 'CD43' }) -const digit_3__led_11_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.485, 0.276), rotate: 0, - id: 'digit_3__led_11_' +// digit[2].led[11] +const CD44 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.934, 0.276), rotate: 0, + id: 'CD44' }) -const digit_3__led_12_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.131, 0.394), rotate: 0, - id: 'digit_3__led_12_' +// digit[2].led[12] +const CD45 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.580, 0.394), rotate: 0, + id: 'CD45' }) -const digit_3__led_13_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.249, 0.394), rotate: 0, - id: 'digit_3__led_13_' +// digit[2].led[13] +const CD46 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.698, 0.394), rotate: 0, + id: 'CD46' }) -const center_led_0_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(1.686, 1.780), rotate: 0, - id: 'center_led_0_' +// digit[3].led[0] +const CD47 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.580, 0.591), rotate: 0, + id: 'CD47' }) -const center_led_1_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(1.686, 1.898), rotate: 0, - id: 'center_led_1_' +// digit[3].led[1] +const CD48 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.698, 0.591), rotate: 0, + id: 'CD48' +}) +// digit[3].led[2] +const CD49 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.816, 0.591), rotate: 0, + id: 'CD49' +}) +// digit[3].led[3] +const CD50 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.934, 0.591), rotate: 0, + id: 'CD50' +}) +// digit[3].led[4] +const CD51 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.580, 0.709), rotate: 0, + id: 'CD51' }) -const meta_led_0_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// digit[3].led[5] +const CD52 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.698, 0.709), rotate: 0, + id: 'CD52' +}) +// digit[3].led[6] +const CD53 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.816, 0.709), rotate: 0, + id: 'CD53' +}) +// digit[3].led[7] +const CD54 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.934, 0.709), rotate: 0, + id: 'CD54' +}) +// digit[3].led[8] +const CD55 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.580, 0.827), rotate: 0, + id: 'CD55' +}) +// digit[3].led[9] +const CD56 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.698, 0.827), rotate: 0, + id: 'CD56' +}) +// digit[3].led[10] +const CD57 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.816, 0.827), rotate: 0, + id: 'CD57' +}) +// digit[3].led[11] +const CD58 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.934, 0.827), rotate: 0, + id: 'CD58' +}) +// digit[3].led[12] +const CD59 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.580, 0.945), rotate: 0, + id: 'CD59' +}) +// digit[3].led[13] +const CD60 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(2.698, 0.945), rotate: 0, + id: 'CD60' +}) +// center.led[0] +const CD61 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(1.489, 1.780), rotate: 0, - id: 'meta_led_0_' + id: 'CD61' }) -const meta_led_1_ = board.add(LED_SK6812_EC15_1_5x1_5mm, { +// center.led[1] +const CD62 = board.add(LED_SK6812_EC15_1_5x1_5mm, { translate: pt(1.489, 1.898), rotate: 0, - id: 'meta_led_1_' + id: 'CD62' }) -const spk_dac_rc_r = board.add(R_0603_1608Metric, { +// meta.led[0] +const CD63 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(1.686, 1.780), rotate: 0, + id: 'CD63' +}) +// meta.led[1] +const CD64 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(1.686, 1.898), rotate: 0, + id: 'CD64' +}) +// spk_dac.rc.r +const CR8 = board.add(R_0603_1608Metric, { translate: pt(1.104, 2.122), rotate: 0, - id: 'spk_dac_rc_r' + id: 'CR8' }) -const spk_dac_rc_c = board.add(C_0603_1608Metric, { +// spk_dac.rc.c +const CC11 = board.add(C_0603_1608Metric, { translate: pt(1.104, 2.219), rotate: 0, - id: 'spk_dac_rc_c' + id: 'CC11' }) -const spk_tp_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.811, 2.130), rotate: 0, - id: 'spk_tp_tp' +// spk_tp.tp +const CTP7 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.066, 2.130), rotate: 0, + id: 'CTP7' }) -const spk_drv_ic = board.add(MSOP_8_1EP_3x3mm_P0_65mm_EP1_68x1_88mm_ThermalVias, { +// spk_drv.ic +const CU6 = board.add(MSOP_8_1EP_3x3mm_P0_65mm_EP1_68x1_88mm_ThermalVias, { translate: pt(3.128, 1.171), rotate: 0, - id: 'spk_drv_ic' + id: 'CU6' }) -const spk_drv_pwr_cap_cap = board.add(C_0603_1608Metric, { +// spk_drv.pwr_cap.cap +const CC12 = board.add(C_0603_1608Metric, { translate: pt(3.063, 1.308), rotate: 0, - id: 'spk_drv_pwr_cap_cap' + id: 'CC12' }) -const spk_drv_bulk_cap_cap = board.add(C_0805_2012Metric, { +// spk_drv.bulk_cap.cap +const CC13 = board.add(C_0805_2012Metric, { translate: pt(3.357, 1.141), rotate: 0, - id: 'spk_drv_bulk_cap_cap' + id: 'CC13' }) -const spk_drv_inp_res = board.add(R_0603_1608Metric, { +// spk_drv.inp_res +const CR9 = board.add(R_0603_1608Metric, { translate: pt(3.219, 1.308), rotate: 0, - id: 'spk_drv_inp_res' + id: 'CR9' }) -const spk_drv_inp_cap = board.add(C_0603_1608Metric, { +// spk_drv.inp_cap +const CC14 = board.add(C_0603_1608Metric, { translate: pt(3.375, 1.308), rotate: 0, - id: 'spk_drv_inp_cap' + id: 'CC14' }) -const spk_drv_inn_res = board.add(R_0603_1608Metric, { +// spk_drv.inn_res +const CR10 = board.add(R_0603_1608Metric, { translate: pt(3.063, 1.405), rotate: 0, - id: 'spk_drv_inn_res' + id: 'CR10' }) -const spk_drv_inn_cap = board.add(C_0603_1608Metric, { +// spk_drv.inn_cap +const CC15 = board.add(C_0603_1608Metric, { translate: pt(3.219, 1.405), rotate: 0, - id: 'spk_drv_inn_cap' + id: 'CC15' }) -const spk_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(1.156, 1.870), rotate: 0, - id: 'spk_conn' +// spk.conn +const CJ3 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { + translate: pt(0.767, 1.870), rotate: 0, + id: 'CJ3' }) -const v5v_sense_div_top_res = board.add(R_0603_1608Metric, { +// v5v_sense.div.top_res +const CR11 = board.add(R_0603_1608Metric, { translate: pt(1.573, 2.122), rotate: 0, - id: 'v5v_sense_div_top_res' + id: 'CR11' }) -const v5v_sense_div_bottom_res = board.add(R_0603_1608Metric, { +// v5v_sense.div.bottom_res +const CR12 = board.add(R_0603_1608Metric, { translate: pt(1.573, 2.219), rotate: 0, - id: 'v5v_sense_div_bottom_res' + id: 'CR12' }) +board.setNetlist([ + {name: "Cpwr", pads: [["CJ1", "2"], ["CTP1", "1"], ["CU1", "3"], ["CU5", "5"], ["CD5", "2"], ["CD6", "2"], ["CD7", "2"], ["CD8", "2"], ["CD9", "2"], ["CD10", "2"], ["CD11", "2"], ["CD12", "2"], ["CD13", "2"], ["CD14", "2"], ["CD15", "2"], ["CD16", "2"], ["CD17", "2"], ["CD18", "2"], ["CD19", "2"], ["CD20", "2"], ["CD21", "2"], ["CD22", "2"], ["CD23", "2"], ["CD24", "2"], ["CD25", "2"], ["CD26", "2"], ["CD27", "2"], ["CD28", "2"], ["CD29", "2"], ["CD30", "2"], ["CD31", "2"], ["CD32", "2"], ["CD33", "2"], ["CD34", "2"], ["CD35", "2"], ["CD36", "2"], ["CD37", "2"], ["CD38", "2"], ["CD39", "2"], ["CD40", "2"], ["CD41", "2"], ["CD42", "2"], ["CD43", "2"], ["CD44", "2"], ["CD45", "2"], ["CD46", "2"], ["CD47", "2"], ["CD48", "2"], ["CD49", "2"], ["CD50", "2"], ["CD51", "2"], ["CD52", "2"], ["CD53", "2"], ["CD54", "2"], ["CD55", "2"], ["CD56", "2"], ["CD57", "2"], ["CD58", "2"], ["CD59", "2"], ["CD60", "2"], ["CD61", "2"], ["CD62", "2"], ["CD63", "2"], ["CD64", "2"], ["CU6", "1"], ["CU6", "6"], ["CR11", "1"], ["CC1", "1"], ["CC10", "1"], ["CC12", "1"], ["CC13", "1"]]}, + {name: "Cgnd", pads: [["CJ1", "1"], ["CTP2", "1"], ["CU1", "1"], ["CD1", "2"], ["CU2", "1"], ["CU2", "40"], ["CU2", "41"], ["CR2", "2"], ["CR3", "2"], ["CR4", "2"], ["CSW1", "1"], ["CSW2", "1"], ["CSW3", "1"], ["CSW4", "1"], ["CU3", "1"], ["CU3", "5"], ["CU3", "7"], ["CU4", "2"], ["CU4", "3"], ["CU5", "1"], ["CU5", "3"], ["CD5", "4"], ["CD6", "4"], ["CD7", "4"], ["CD8", "4"], ["CD9", "4"], ["CD10", "4"], ["CD11", "4"], ["CD12", "4"], ["CD13", "4"], ["CD14", "4"], ["CD15", "4"], ["CD16", "4"], ["CD17", "4"], ["CD18", "4"], ["CD19", "4"], ["CD20", "4"], ["CD21", "4"], ["CD22", "4"], ["CD23", "4"], ["CD24", "4"], ["CD25", "4"], ["CD26", "4"], ["CD27", "4"], ["CD28", "4"], ["CD29", "4"], ["CD30", "4"], ["CD31", "4"], ["CD32", "4"], ["CD33", "4"], ["CD34", "4"], ["CD35", "4"], ["CD36", "4"], ["CD37", "4"], ["CD38", "4"], ["CD39", "4"], ["CD40", "4"], ["CD41", "4"], ["CD42", "4"], ["CD43", "4"], ["CD44", "4"], ["CD45", "4"], ["CD46", "4"], ["CD47", "4"], ["CD48", "4"], ["CD49", "4"], ["CD50", "4"], ["CD51", "4"], ["CD52", "4"], ["CD53", "4"], ["CD54", "4"], ["CD55", "4"], ["CD56", "4"], ["CD57", "4"], ["CD58", "4"], ["CD59", "4"], ["CD60", "4"], ["CD61", "4"], ["CD62", "4"], ["CD63", "4"], ["CD64", "4"], ["CU6", "7"], ["CU6", "9"], ["CC11", "2"], ["CR12", "2"], ["CC9", "2"], ["CC15", "2"], ["CC1", "2"], ["CC2", "2"], ["CC3", "2"], ["CC4", "2"], ["CJ2", "5"], ["CC6", "2"], ["CC7", "2"], ["CC8", "2"], ["CC10", "2"], ["CC12", "2"], ["CC13", "2"], ["CC5", "2"]]}, + {name: "Cv3v3", pads: [["CU1", "2"], ["CTP3", "1"], ["CD1", "1"], ["CU2", "2"], ["CU3", "2"], ["CU3", "6"], ["CU3", "8"], ["CU4", "1"], ["CC2", "1"], ["CR7", "1"], ["CC3", "1"], ["CC4", "1"], ["CJ2", "1"], ["CR5", "1"], ["CR6", "1"], ["CC7", "1"], ["CC6", "1"], ["CC8", "1"], ["CR1", "1"]]}, + {name: "Cledr.signal", pads: [["CU2", "4"], ["CD2", "2"]]}, + {name: "Cledg.signal", pads: [["CU2", "5"], ["CD3", "2"]]}, + {name: "Cledb.signal", pads: [["CU2", "6"], ["CD4", "2"]]}, + {name: "Csw[0].out", pads: [["CU2", "32"], ["CSW1", "2"]]}, + {name: "Csw[1].out", pads: [["CU2", "33"], ["CSW2", "2"]]}, + {name: "Csw[2].out", pads: [["CU2", "34"], ["CSW3", "2"]]}, + {name: "Csw[3].out", pads: [["CU2", "35"], ["CSW4", "2"]]}, + {name: "Ci2c_chain_0.scl", pads: [["CU2", "9"], ["CU3", "4"], ["CU4", "6"], ["CR5", "2"], ["CTP4", "1"]]}, + {name: "Ci2c_chain_0.sda", pads: [["CU2", "8"], ["CU3", "3"], ["CU4", "4"], ["CR6", "2"], ["CTP5", "1"]]}, + {name: "Crgb_shift.input", pads: [["CU2", "12"], ["CU5", "2"]]}, + {name: "Crgb_shift.output", pads: [["CU5", "4"], ["CD5", "1"], ["CTP6", "1"]]}, + {name: "Cdigit[0].dout", pads: [["CD18", "3"], ["CD19", "1"]]}, + {name: "Cdigit[1].dout", pads: [["CD32", "3"], ["CD63", "1"]]}, + {name: "Cmeta.dout", pads: [["CD64", "3"], ["CD61", "1"]]}, + {name: "Ccenter.dout", pads: [["CD62", "3"], ["CD33", "1"]]}, + {name: "Cdigit[2].dout", pads: [["CD46", "3"], ["CD47", "1"]]}, + {name: "Cspk_chain_0", pads: [["CU2", "31"], ["CR8", "1"]]}, + {name: "Cspk_chain_1", pads: [["CTP7", "1"], ["CC14", "2"], ["CR8", "2"], ["CC11", "1"]]}, + {name: "Cspk_chain_2.a", pads: [["CU6", "8"], ["CJ3", "1"]]}, + {name: "Cspk_chain_2.b", pads: [["CU6", "5"], ["CJ3", "2"]]}, + {name: "Cv5v_sense.output", pads: [["CU2", "7"], ["CR11", "2"], ["CR12", "1"]]}, + {name: "Cmcu.program_uart_node.a_tx", pads: [["CU2", "37"], ["CJ2", "3"]]}, + {name: "Cmcu.program_uart_node.b_tx", pads: [["CU2", "36"], ["CJ2", "4"]]}, + {name: "Cmcu.program_en_node", pads: [["CU2", "3"], ["CJ2", "6"], ["CR1", "2"], ["CC5", "1"]]}, + {name: "Cmcu.program_boot_node", pads: [["CU2", "27"], ["CJ2", "2"]]}, + {name: "Cledr.res.a", pads: [["CR2", "1"], ["CD2", "1"]]}, + {name: "Cledg.res.a", pads: [["CR3", "1"], ["CD3", "1"]]}, + {name: "Cledb.res.a", pads: [["CR4", "1"], ["CD4", "1"]]}, + {name: "Cals.dvi_res.b", pads: [["CR7", "2"], ["CU4", "5"], ["CC9", "1"]]}, + {name: "Cdigit[0].led[0].dout", pads: [["CD5", "3"], ["CD6", "1"]]}, + {name: "Cdigit[0].led[1].dout", pads: [["CD6", "3"], ["CD7", "1"]]}, + {name: "Cdigit[0].led[2].dout", pads: [["CD7", "3"], ["CD8", "1"]]}, + {name: "Cdigit[0].led[3].dout", pads: [["CD8", "3"], ["CD9", "1"]]}, + {name: "Cdigit[0].led[4].dout", pads: [["CD9", "3"], ["CD10", "1"]]}, + {name: "Cdigit[0].led[5].dout", pads: [["CD10", "3"], ["CD11", "1"]]}, + {name: "Cdigit[0].led[6].dout", pads: [["CD11", "3"], ["CD12", "1"]]}, + {name: "Cdigit[0].led[7].dout", pads: [["CD12", "3"], ["CD13", "1"]]}, + {name: "Cdigit[0].led[8].dout", pads: [["CD13", "3"], ["CD14", "1"]]}, + {name: "Cdigit[0].led[9].dout", pads: [["CD14", "3"], ["CD15", "1"]]}, + {name: "Cdigit[0].led[10].dout", pads: [["CD15", "3"], ["CD16", "1"]]}, + {name: "Cdigit[0].led[11].dout", pads: [["CD16", "3"], ["CD17", "1"]]}, + {name: "Cdigit[0].led[12].dout", pads: [["CD17", "3"], ["CD18", "1"]]}, + {name: "Cdigit[1].led[0].dout", pads: [["CD19", "3"], ["CD20", "1"]]}, + {name: "Cdigit[1].led[1].dout", pads: [["CD20", "3"], ["CD21", "1"]]}, + {name: "Cdigit[1].led[2].dout", pads: [["CD21", "3"], ["CD22", "1"]]}, + {name: "Cdigit[1].led[3].dout", pads: [["CD22", "3"], ["CD23", "1"]]}, + {name: "Cdigit[1].led[4].dout", pads: [["CD23", "3"], ["CD24", "1"]]}, + {name: "Cdigit[1].led[5].dout", pads: [["CD24", "3"], ["CD25", "1"]]}, + {name: "Cdigit[1].led[6].dout", pads: [["CD25", "3"], ["CD26", "1"]]}, + {name: "Cdigit[1].led[7].dout", pads: [["CD26", "3"], ["CD27", "1"]]}, + {name: "Cdigit[1].led[8].dout", pads: [["CD27", "3"], ["CD28", "1"]]}, + {name: "Cdigit[1].led[9].dout", pads: [["CD28", "3"], ["CD29", "1"]]}, + {name: "Cdigit[1].led[10].dout", pads: [["CD29", "3"], ["CD30", "1"]]}, + {name: "Cdigit[1].led[11].dout", pads: [["CD30", "3"], ["CD31", "1"]]}, + {name: "Cdigit[1].led[12].dout", pads: [["CD31", "3"], ["CD32", "1"]]}, + {name: "Cdigit[2].led[0].dout", pads: [["CD33", "3"], ["CD34", "1"]]}, + {name: "Cdigit[2].led[1].dout", pads: [["CD34", "3"], ["CD35", "1"]]}, + {name: "Cdigit[2].led[2].dout", pads: [["CD35", "3"], ["CD36", "1"]]}, + {name: "Cdigit[2].led[3].dout", pads: [["CD36", "3"], ["CD37", "1"]]}, + {name: "Cdigit[2].led[4].dout", pads: [["CD37", "3"], ["CD38", "1"]]}, + {name: "Cdigit[2].led[5].dout", pads: [["CD38", "3"], ["CD39", "1"]]}, + {name: "Cdigit[2].led[6].dout", pads: [["CD39", "3"], ["CD40", "1"]]}, + {name: "Cdigit[2].led[7].dout", pads: [["CD40", "3"], ["CD41", "1"]]}, + {name: "Cdigit[2].led[8].dout", pads: [["CD41", "3"], ["CD42", "1"]]}, + {name: "Cdigit[2].led[9].dout", pads: [["CD42", "3"], ["CD43", "1"]]}, + {name: "Cdigit[2].led[10].dout", pads: [["CD43", "3"], ["CD44", "1"]]}, + {name: "Cdigit[2].led[11].dout", pads: [["CD44", "3"], ["CD45", "1"]]}, + {name: "Cdigit[2].led[12].dout", pads: [["CD45", "3"], ["CD46", "1"]]}, + {name: "Cdigit[3].led[0].dout", pads: [["CD47", "3"], ["CD48", "1"]]}, + {name: "Cdigit[3].led[1].dout", pads: [["CD48", "3"], ["CD49", "1"]]}, + {name: "Cdigit[3].led[2].dout", pads: [["CD49", "3"], ["CD50", "1"]]}, + {name: "Cdigit[3].led[3].dout", pads: [["CD50", "3"], ["CD51", "1"]]}, + {name: "Cdigit[3].led[4].dout", pads: [["CD51", "3"], ["CD52", "1"]]}, + {name: "Cdigit[3].led[5].dout", pads: [["CD52", "3"], ["CD53", "1"]]}, + {name: "Cdigit[3].led[6].dout", pads: [["CD53", "3"], ["CD54", "1"]]}, + {name: "Cdigit[3].led[7].dout", pads: [["CD54", "3"], ["CD55", "1"]]}, + {name: "Cdigit[3].led[8].dout", pads: [["CD55", "3"], ["CD56", "1"]]}, + {name: "Cdigit[3].led[9].dout", pads: [["CD56", "3"], ["CD57", "1"]]}, + {name: "Cdigit[3].led[10].dout", pads: [["CD57", "3"], ["CD58", "1"]]}, + {name: "Cdigit[3].led[11].dout", pads: [["CD58", "3"], ["CD59", "1"]]}, + {name: "Cdigit[3].led[12].dout", pads: [["CD59", "3"], ["CD60", "1"]]}, + {name: "Cdigit[3].dout", pads: [["CD60", "3"]]}, + {name: "Ccenter.led[0].dout", pads: [["CD61", "3"], ["CD62", "1"]]}, + {name: "Cmeta.led[0].dout", pads: [["CD63", "3"], ["CD64", "1"]]}, + {name: "Cspk_drv.inp_cap.pos", pads: [["CC14", "1"], ["CR9", "1"]]}, + {name: "Cspk_drv.inp_res.b", pads: [["CR9", "2"], ["CU6", "4"]]}, + {name: "Cspk_drv.inn_cap.pos", pads: [["CC15", "1"], ["CR10", "1"]]}, + {name: "Cspk_drv.inn_res.b", pads: [["CR10", "2"], ["CU6", "3"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(3.6425196850393706, 2.3822834645669295); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/Simon/Simon.svgpcb.js b/examples/Simon/Simon.svgpcb.js index 0eab6866f..4aeafafe1 100644 --- a/examples/Simon/Simon.svgpcb.js +++ b/examples/Simon/Simon.svgpcb.js @@ -1,170 +1,249 @@ const board = new PCB(); -const mcu = board.add(Nucleo32, { +// mcu +const U1 = board.add(Nucleo32, { translate: pt(0.365, 0.990), rotate: 0, - id: 'mcu' + id: 'U1' }) -const spk_drv_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// spk_drv.ic +const U2 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(0.915, 1.240), rotate: 0, - id: 'spk_drv_ic' + id: 'U2' }) -const spk_drv_in_cap_cap = board.add(C_0603_1608Metric, { +// spk_drv.in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(1.158, 1.163), rotate: 0, - id: 'spk_drv_in_cap_cap' + id: 'C1' }) -const spk_drv_byp_cap = board.add(C_0603_1608Metric, { +// spk_drv.byp_cap +const C2 = board.add(C_0603_1608Metric, { translate: pt(1.158, 1.259), rotate: 0, - id: 'spk_drv_byp_cap' + id: 'C2' }) -const spk_drv_sig_cap = board.add(C_0603_1608Metric, { +// spk_drv.sig_cap +const C3 = board.add(C_0603_1608Metric, { translate: pt(0.828, 1.415), rotate: 0, - id: 'spk_drv_sig_cap' + id: 'C3' }) -const spk_drv_sig_res = board.add(R_0603_1608Metric, { +// spk_drv.sig_res +const R1 = board.add(R_0603_1608Metric, { translate: pt(0.983, 1.415), rotate: 0, - id: 'spk_drv_sig_res' + id: 'R1' }) -const spk_drv_fb_res = board.add(R_0603_1608Metric, { +// spk_drv.fb_res +const R2 = board.add(R_0603_1608Metric, { translate: pt(1.139, 1.415), rotate: 0, - id: 'spk_drv_fb_res' + id: 'R2' }) -const spk_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { +// spk.conn +const J1 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { translate: pt(1.431, 1.264), rotate: 0, - id: 'spk_conn' + id: 'J1' }) -const rgb_package = board.add(LED_LiteOn_LTST_C19HE1WT, { +// rgb.package +const D1 = board.add(LED_LiteOn_LTST_C19HE1WT, { translate: pt(1.766, 1.189), rotate: 0, - id: 'rgb_package' + id: 'D1' }) -const rgb_red_res = board.add(R_0603_1608Metric, { +// rgb.red_res +const R3 = board.add(R_0603_1608Metric, { translate: pt(1.905, 1.163), rotate: 0, - id: 'rgb_red_res' + id: 'R3' }) -const rgb_green_res = board.add(R_0603_1608Metric, { +// rgb.green_res +const R4 = board.add(R_0603_1608Metric, { translate: pt(1.783, 1.312), rotate: 0, - id: 'rgb_green_res' + id: 'R4' }) -const rgb_blue_res = board.add(R_0603_1608Metric, { +// rgb.blue_res +const R5 = board.add(R_0603_1608Metric, { translate: pt(1.939, 1.312), rotate: 0, - id: 'rgb_blue_res' + id: 'R5' }) -const sw_package = board.add(SW_Push_SPST_NO_Alps_SKRK, { +// sw.package +const SW1 = board.add(SW_Push_SPST_NO_Alps_SKRK, { translate: pt(2.223, 1.201), rotate: 0, - id: 'sw_package' + id: 'SW1' }) -const sw_pull_res = board.add(R_0603_1608Metric, { - translate: pt(1.062, 1.590), rotate: 0, - id: 'sw_pull_res' +// sw_pull.res +const R6 = board.add(R_0603_1608Metric, { + translate: pt(0.828, 1.590), rotate: 0, + id: 'R6' }) -const btn_0_ = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// btn[0] +const J2 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(1.395, 0.937), rotate: 0, - id: 'btn_0_' + id: 'J2' }) -const btn_pull_0__res = board.add(R_0603_1608Metric, { - translate: pt(0.828, 1.590), rotate: 0, - id: 'btn_pull_0__res' +// btn_pull[0].res +const R7 = board.add(R_0603_1608Metric, { + translate: pt(1.062, 1.590), rotate: 0, + id: 'R7' }) -const btn_1_ = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// btn[1] +const J3 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(1.576, 0.937), rotate: 0, - id: 'btn_1_' + id: 'J3' }) -const btn_pull_1__res = board.add(R_0603_1608Metric, { - translate: pt(1.531, 1.590), rotate: 0, - id: 'btn_pull_1__res' +// btn_pull[1].res +const R8 = board.add(R_0603_1608Metric, { + translate: pt(2.508, 1.163), rotate: 0, + id: 'R8' }) -const btn_2_ = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// btn[2] +const J4 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(1.757, 0.937), rotate: 0, - id: 'btn_2_' + id: 'J4' }) -const btn_pull_2__res = board.add(R_0603_1608Metric, { +// btn_pull[2].res +const R9 = board.add(R_0603_1608Metric, { translate: pt(1.297, 1.590), rotate: 0, - id: 'btn_pull_2__res' + id: 'R9' }) -const btn_3_ = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// btn[3] +const J5 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(1.939, 0.937), rotate: 0, - id: 'btn_3_' + id: 'J5' }) -const btn_pull_3__res = board.add(R_0603_1608Metric, { - translate: pt(2.508, 1.163), rotate: 0, - id: 'btn_pull_3__res' +// btn_pull[3].res +const R10 = board.add(R_0603_1608Metric, { + translate: pt(1.531, 1.590), rotate: 0, + id: 'R10' }) -const pwr_ic = board.add(SOT_23_5, { +// pwr.ic +const U3 = board.add(SOT_23_5, { translate: pt(2.130, 0.634), rotate: 0, - id: 'pwr_ic' + id: 'U3' }) -const pwr_fb_div_top_res = board.add(R_0603_1608Metric, { +// pwr.fb.div.top_res +const R11 = board.add(R_0603_1608Metric, { translate: pt(2.284, 0.769), rotate: 0, - id: 'pwr_fb_div_top_res' + id: 'R11' }) -const pwr_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// pwr.fb.div.bottom_res +const R12 = board.add(R_0603_1608Metric, { translate: pt(2.107, 0.875), rotate: 0, - id: 'pwr_fb_div_bottom_res' + id: 'R12' }) -const pwr_power_path_inductor = board.add(L_0805_2012Metric, { +// pwr.power_path.inductor +const L1 = board.add(L_0805_2012Metric, { translate: pt(2.118, 0.774), rotate: 0, - id: 'pwr_power_path_inductor' + id: 'L1' }) -const pwr_power_path_in_cap_cap = board.add(C_0603_1608Metric, { +// pwr.power_path.in_cap.cap +const C4 = board.add(C_0603_1608Metric, { translate: pt(2.263, 0.875), rotate: 0, - id: 'pwr_power_path_in_cap_cap' + id: 'C4' }) -const pwr_power_path_out_cap_cap = board.add(C_0603_1608Metric, { +// pwr.power_path.out_cap.cap +const C5 = board.add(C_0603_1608Metric, { translate: pt(2.419, 0.875), rotate: 0, - id: 'pwr_power_path_out_cap_cap' + id: 'C5' }) -const pwr_rect = board.add(D_SOD_323, { +// pwr.rect +const D2 = board.add(D_SOD_323, { translate: pt(2.313, 0.604), rotate: 0, - id: 'pwr_rect' + id: 'D2' }) -const btn_drv_0__pre = board.add(SOT_23, { - translate: pt(1.955, 0.382), rotate: 0, - id: 'btn_drv_0__pre' -}) -const btn_drv_0__pull = board.add(R_0603_1608Metric, { - translate: pt(2.128, 0.344), rotate: 0, - id: 'btn_drv_0__pull' -}) -const btn_drv_0__drv = board.add(TO_252_2, { - translate: pt(2.131, 0.138), rotate: 0, - id: 'btn_drv_0__drv' -}) -const btn_drv_1__pre = board.add(SOT_23, { - translate: pt(0.845, 0.949), rotate: 0, - id: 'btn_drv_1__pre' +// btn_drv[0].pre +const Q1 = board.add(SOT_23, { + translate: pt(1.400, 0.382), rotate: 0, + id: 'Q1' }) -const btn_drv_1__pull = board.add(R_0603_1608Metric, { - translate: pt(1.018, 0.911), rotate: 0, - id: 'btn_drv_1__pull' +// btn_drv[0].pull +const R13 = board.add(R_0603_1608Metric, { + translate: pt(1.573, 0.344), rotate: 0, + id: 'R13' }) -const btn_drv_1__drv = board.add(TO_252_2, { - translate: pt(1.021, 0.705), rotate: 0, - id: 'btn_drv_1__drv' +// btn_drv[0].drv +const Q2 = board.add(TO_252_2, { + translate: pt(1.576, 0.138), rotate: 0, + id: 'Q2' }) -const btn_drv_2__pre = board.add(SOT_23, { +// btn_drv[1].pre +const Q3 = board.add(SOT_23, { translate: pt(0.845, 0.382), rotate: 0, - id: 'btn_drv_2__pre' + id: 'Q3' }) -const btn_drv_2__pull = board.add(R_0603_1608Metric, { +// btn_drv[1].pull +const R14 = board.add(R_0603_1608Metric, { translate: pt(1.018, 0.344), rotate: 0, - id: 'btn_drv_2__pull' + id: 'R14' }) -const btn_drv_2__drv = board.add(TO_252_2, { +// btn_drv[1].drv +const Q4 = board.add(TO_252_2, { translate: pt(1.021, 0.138), rotate: 0, - id: 'btn_drv_2__drv' + id: 'Q4' }) -const btn_drv_3__pre = board.add(SOT_23, { - translate: pt(1.400, 0.382), rotate: 0, - id: 'btn_drv_3__pre' +// btn_drv[2].pre +const Q5 = board.add(SOT_23, { + translate: pt(0.845, 0.949), rotate: 0, + id: 'Q5' }) -const btn_drv_3__pull = board.add(R_0603_1608Metric, { - translate: pt(1.573, 0.344), rotate: 0, - id: 'btn_drv_3__pull' +// btn_drv[2].pull +const R15 = board.add(R_0603_1608Metric, { + translate: pt(1.018, 0.911), rotate: 0, + id: 'R15' }) -const btn_drv_3__drv = board.add(TO_252_2, { - translate: pt(1.576, 0.138), rotate: 0, - id: 'btn_drv_3__drv' +// btn_drv[2].drv +const Q6 = board.add(TO_252_2, { + translate: pt(1.021, 0.705), rotate: 0, + id: 'Q6' +}) +// btn_drv[3].pre +const Q7 = board.add(SOT_23, { + translate: pt(1.955, 0.382), rotate: 0, + id: 'Q7' +}) +// btn_drv[3].pull +const R16 = board.add(R_0603_1608Metric, { + translate: pt(2.128, 0.344), rotate: 0, + id: 'R16' +}) +// btn_drv[3].drv +const Q8 = board.add(TO_252_2, { + translate: pt(2.131, 0.138), rotate: 0, + id: 'Q8' }) +board.setNetlist([ + {name: "v5v", pads: [["U1", "19"], ["U2", "6"], ["U3", "5"], ["U3", "4"], ["C1", "1"], ["L1", "1"], ["C4", "1"]]}, + {name: "v3v3", pads: [["U1", "29"], ["D1", "2"], ["R6", "1"], ["R7", "1"], ["R8", "1"], ["R9", "1"], ["R10", "1"]]}, + {name: "gnd", pads: [["U1", "4"], ["U1", "17"], ["J2", "2"], ["J2", "4"], ["J3", "2"], ["J3", "4"], ["J4", "2"], ["J4", "4"], ["J5", "2"], ["J5", "4"], ["U2", "1"], ["U2", "7"], ["SW1", "2"], ["U3", "2"], ["Q1", "2"], ["Q3", "2"], ["Q5", "2"], ["Q7", "2"], ["C2", "2"], ["C1", "2"], ["R12", "2"], ["C4", "2"], ["C5", "2"]]}, + {name: "v12", pads: [["R13", "1"], ["Q2", "3"], ["R14", "1"], ["Q4", "3"], ["R15", "1"], ["Q6", "3"], ["R16", "1"], ["Q8", "3"], ["D2", "1"], ["R11", "1"], ["C5", "1"]]}, + {name: "spk_drv.sig", pads: [["U1", "24"], ["C3", "2"]]}, + {name: "spk_drv.spk.a", pads: [["U2", "5"], ["J1", "1"], ["R2", "2"]]}, + {name: "spk_drv.spk.b", pads: [["U2", "8"], ["J1", "2"]]}, + {name: "mcu.gpio.rgb_red", pads: [["U1", "15"], ["R3", "2"]]}, + {name: "mcu.gpio.rgb_green", pads: [["U1", "14"], ["R4", "2"]]}, + {name: "mcu.gpio.rgb_blue", pads: [["U1", "13"], ["R5", "2"]]}, + {name: "sw.out", pads: [["U1", "27"], ["SW1", "1"], ["R6", "2"]]}, + {name: "btn_pull[0].io", pads: [["J2", "3"], ["U1", "6"], ["R7", "2"]]}, + {name: "btn_pull[1].io", pads: [["J3", "3"], ["U1", "8"], ["R8", "2"]]}, + {name: "btn_pull[2].io", pads: [["J4", "3"], ["U1", "10"], ["R9", "2"]]}, + {name: "btn_pull[3].io", pads: [["J5", "3"], ["U1", "12"], ["R10", "2"]]}, + {name: "btn_drv[0].control", pads: [["U1", "5"], ["Q1", "1"]]}, + {name: "btn_drv[0].output", pads: [["Q2", "2"], ["J2", "1"]]}, + {name: "btn_drv[1].control", pads: [["U1", "7"], ["Q3", "1"]]}, + {name: "btn_zeroed_current[1]", pads: [["Q4", "2"], ["J3", "1"]]}, + {name: "btn_drv[2].control", pads: [["U1", "9"], ["Q5", "1"]]}, + {name: "btn_zeroed_current[2]", pads: [["Q6", "2"], ["J4", "1"]]}, + {name: "btn_drv[3].control", pads: [["U1", "11"], ["Q7", "1"]]}, + {name: "btn_zeroed_current[3]", pads: [["Q8", "2"], ["J5", "1"]]}, + {name: "spk_drv.sig_cap.pos", pads: [["C3", "1"], ["R1", "1"]]}, + {name: "spk_drv.sig_res.b", pads: [["R1", "2"], ["R2", "1"], ["U2", "4"]]}, + {name: "spk_drv.byp_cap.pos", pads: [["C2", "1"], ["U2", "3"], ["U2", "2"]]}, + {name: "rgb.red_res.a", pads: [["R3", "1"], ["D1", "3"]]}, + {name: "rgb.green_res.a", pads: [["R4", "1"], ["D1", "4"]]}, + {name: "rgb.blue_res.a", pads: [["R5", "1"], ["D1", "1"]]}, + {name: "pwr.fb.output", pads: [["U3", "3"], ["R11", "2"], ["R12", "1"]]}, + {name: "pwr.power_path.switch", pads: [["U3", "1"], ["L1", "2"], ["D2", "2"]]}, + {name: "btn_drv[0].pre.drain", pads: [["Q1", "3"], ["R13", "2"], ["Q2", "1"]]}, + {name: "btn_drv[1].pre.drain", pads: [["Q3", "3"], ["R14", "2"], ["Q4", "1"]]}, + {name: "btn_drv[2].pre.drain", pads: [["Q5", "3"], ["R15", "2"], ["Q6", "1"]]}, + {name: "btn_drv[3].pre.drain", pads: [["Q7", "3"], ["R16", "2"], ["Q8", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(2.6842519685039368, 2.0192913385826774); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/SwdDebugger/SwdDebugger.svgpcb.js b/examples/SwdDebugger/SwdDebugger.svgpcb.js index cf87d1300..e0e209da1 100644 --- a/examples/SwdDebugger/SwdDebugger.svgpcb.js +++ b/examples/SwdDebugger/SwdDebugger.svgpcb.js @@ -1,170 +1,246 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const SH1 = board.add(JlcToolingHole_1_152mm, { translate: pt(1.635, 1.158), rotate: 0, - id: 'jlc_th_th1' + id: 'SH1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const SH2 = board.add(JlcToolingHole_1_152mm, { translate: pt(1.674, 1.158), rotate: 0, - id: 'jlc_th_th2' + id: 'SH2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const SH3 = board.add(JlcToolingHole_1_152mm, { translate: pt(1.635, 1.198), rotate: 0, - id: 'jlc_th_th3' + id: 'SH3' }) -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const SJ1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(1.111, 0.165), rotate: 0, - id: 'usb_conn' + id: 'SJ1' }) -const usb_cc_pull_cc1_res = board.add(R_0402_1005Metric, { +// usb.cc_pull.cc1.res +const SR1 = board.add(R_0402_1005Metric, { translate: pt(1.396, 0.019), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'SR1' }) -const usb_cc_pull_cc2_res = board.add(R_0402_1005Metric, { +// usb.cc_pull.cc2.res +const SR2 = board.add(R_0402_1005Metric, { translate: pt(1.396, 0.095), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'SR2' }) -const vusb_protect_diode = board.add(D_SOD_323, { +// vusb_protect.diode +const SD1 = board.add(D_SOD_323, { translate: pt(1.263, 1.196), rotate: 0, - id: 'vusb_protect_diode' + id: 'SD1' }) -const usb_reg_ic = board.add(SOT_23_5, { - translate: pt(0.900, 0.816), rotate: 0, - id: 'usb_reg_ic' -}) -const usb_reg_in_cap_cap = board.add(C_0402_1005Metric, { - translate: pt(1.029, 0.940), rotate: 0, - id: 'usb_reg_in_cap_cap' -}) -const usb_reg_out_cap_cap = board.add(C_0805_2012Metric, { - translate: pt(0.887, 0.961), rotate: 0, - id: 'usb_reg_out_cap_cap' -}) -const target_reg_ic = board.add(SOT_23_5, { +// usb_reg.ic +const SU1 = board.add(SOT_23_5, { translate: pt(0.537, 0.816), rotate: 0, - id: 'target_reg_ic' + id: 'SU1' }) -const target_reg_in_cap_cap = board.add(C_0402_1005Metric, { +// usb_reg.in_cap.cap +const SC1 = board.add(C_0402_1005Metric, { translate: pt(0.666, 0.940), rotate: 0, - id: 'target_reg_in_cap_cap' + id: 'SC1' }) -const target_reg_out_cap_cap = board.add(C_0805_2012Metric, { +// usb_reg.out_cap.cap +const SC2 = board.add(C_0805_2012Metric, { translate: pt(0.524, 0.961), rotate: 0, - id: 'target_reg_out_cap_cap' + id: 'SC2' }) -const mcu_swd_conn = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { +// target_reg.ic +const SU2 = board.add(SOT_23_5, { + translate: pt(0.900, 0.816), rotate: 0, + id: 'SU2' +}) +// target_reg.in_cap.cap +const SC3 = board.add(C_0402_1005Metric, { + translate: pt(1.029, 0.940), rotate: 0, + id: 'SC3' +}) +// target_reg.out_cap.cap +const SC4 = board.add(C_0805_2012Metric, { + translate: pt(0.887, 0.961), rotate: 0, + id: 'SC4' +}) +// mcu.swd.conn +const SJ2 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { translate: pt(0.614, 0.146), rotate: 0, - id: 'mcu_swd_conn' + id: 'SJ2' }) -const mcu_ic = board.add(LQFP_48_7x7mm_P0_5mm, { +// mcu.ic +const SU3 = board.add(LQFP_48_7x7mm_P0_5mm, { translate: pt(0.203, 0.203), rotate: 0, - id: 'mcu_ic' + id: 'SU3' }) -const mcu_pwr_cap_0__cap = board.add(C_0805_2012Metric, { +// mcu.pwr_cap[0].cap +const SC5 = board.add(C_0805_2012Metric, { translate: pt(0.256, 0.483), rotate: 0, - id: 'mcu_pwr_cap_0__cap' + id: 'SC5' }) -const mcu_pwr_cap_1__cap = board.add(C_0402_1005Metric, { +// mcu.pwr_cap[1].cap +const SC6 = board.add(C_0402_1005Metric, { translate: pt(0.511, 0.463), rotate: 0, - id: 'mcu_pwr_cap_1__cap' + id: 'SC6' }) -const mcu_pwr_cap_2__cap = board.add(C_0402_1005Metric, { +// mcu.pwr_cap[2].cap +const SC7 = board.add(C_0402_1005Metric, { translate: pt(0.622, 0.463), rotate: 0, - id: 'mcu_pwr_cap_2__cap' + id: 'SC7' }) -const mcu_pwr_cap_3__cap = board.add(C_0402_1005Metric, { +// mcu.pwr_cap[3].cap +const SC8 = board.add(C_0402_1005Metric, { translate: pt(0.733, 0.463), rotate: 0, - id: 'mcu_pwr_cap_3__cap' + id: 'SC8' }) -const mcu_vdda_cap_0_cap = board.add(C_0402_1005Metric, { +// mcu.vdda_cap_0.cap +const SC9 = board.add(C_0402_1005Metric, { translate: pt(0.036, 0.613), rotate: 0, - id: 'mcu_vdda_cap_0_cap' + id: 'SC9' }) -const mcu_vdda_cap_1_cap = board.add(C_0402_1005Metric, { +// mcu.vdda_cap_1.cap +const SC10 = board.add(C_0402_1005Metric, { translate: pt(0.147, 0.613), rotate: 0, - id: 'mcu_vdda_cap_1_cap' + id: 'SC10' }) -const mcu_usb_pull_dp = board.add(R_0402_1005Metric, { +// mcu.usb_pull.dp +const SR3 = board.add(R_0402_1005Metric, { translate: pt(0.399, 0.463), rotate: 0, - id: 'mcu_usb_pull_dp' + id: 'SR3' }) -const mcu_crystal = board.add(Resonator_SMD_Murata_CSTxExxV_3Pin_3_0x1_1mm, { +// mcu.crystal +const SU4 = board.add(Resonator_SMD_Murata_CSTxExxV_3Pin_3_0x1_1mm, { translate: pt(0.079, 0.508), rotate: 0, - id: 'mcu_crystal' + id: 'SU4' }) -const usb_esd = board.add(SOT_23, { +// usb_esd +const SU5 = board.add(SOT_23, { translate: pt(1.520, 1.225), rotate: 0, - id: 'usb_esd' + id: 'SU5' }) -const led_tgt_package = board.add(LED_0603_1608Metric, { - translate: pt(0.832, 1.187), rotate: 0, - id: 'led_tgt_package' +// led_tgt.package +const SD2 = board.add(LED_0603_1608Metric, { + translate: pt(0.597, 1.187), rotate: 0, + id: 'SD2' }) -const led_tgt_res = board.add(R_0402_1005Metric, { - translate: pt(0.810, 1.274), rotate: 0, - id: 'led_tgt_res' +// led_tgt.res +const SR4 = board.add(R_0402_1005Metric, { + translate: pt(0.575, 1.274), rotate: 0, + id: 'SR4' }) -const led_usb_package = board.add(LED_0603_1608Metric, { +// led_usb.package +const SD3 = board.add(LED_0603_1608Metric, { translate: pt(0.362, 1.187), rotate: 0, - id: 'led_usb_package' + id: 'SD3' }) -const led_usb_res = board.add(R_0402_1005Metric, { +// led_usb.res +const SR5 = board.add(R_0402_1005Metric, { translate: pt(0.341, 1.274), rotate: 0, - id: 'led_usb_res' + id: 'SR5' }) -const en_pull_res = board.add(R_0402_1005Metric, { +// en_pull.res +const SR6 = board.add(R_0402_1005Metric, { translate: pt(0.228, 1.485), rotate: 0, - id: 'en_pull_res' + id: 'SR6' }) -const target_drv_swclk_res = board.add(R_0402_1005Metric, { +// target_drv.swclk_res +const SR7 = board.add(R_0402_1005Metric, { translate: pt(0.037, 1.177), rotate: 0, - id: 'target_drv_swclk_res' + id: 'SR7' }) -const target_drv_swdio_res = board.add(R_0402_1005Metric, { +// target_drv.swdio_res +const SR8 = board.add(R_0402_1005Metric, { translate: pt(0.149, 1.177), rotate: 0, - id: 'target_drv_swdio_res' + id: 'SR8' }) -const target_drv_swdio_drv_res = board.add(R_0402_1005Metric, { +// target_drv.swdio_drv_res +const SR9 = board.add(R_0402_1005Metric, { translate: pt(0.037, 1.253), rotate: 0, - id: 'target_drv_swdio_drv_res' + id: 'SR9' }) -const target_drv_reset_res = board.add(R_0402_1005Metric, { +// target_drv.reset_res +const SR10 = board.add(R_0402_1005Metric, { translate: pt(0.149, 1.253), rotate: 0, - id: 'target_drv_reset_res' + id: 'SR10' }) -const target_drv_swo_res = board.add(R_0402_1005Metric, { +// target_drv.swo_res +const SR11 = board.add(R_0402_1005Metric, { translate: pt(0.037, 1.330), rotate: 0, - id: 'target_drv_swo_res' + id: 'SR11' }) -const reset_pull_res = board.add(R_0402_1005Metric, { +// reset_pull.res +const SR12 = board.add(R_0402_1005Metric, { translate: pt(0.037, 1.485), rotate: 0, - id: 'reset_pull_res' + id: 'SR12' }) -const reset_sw_package = board.add(SW_SPST_SKQG_WithoutStem, { +// reset_sw.package +const SSW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(1.350, 0.861), rotate: 0, - id: 'reset_sw_package' + id: 'SSW1' }) -const target_conn = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { +// target.conn +const SJ3 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { translate: pt(0.169, 0.894), rotate: 0, - id: 'target_conn' + id: 'SJ3' }) -const led_target_package = board.add(LED_0603_1608Metric, { - translate: pt(0.597, 1.187), rotate: 0, - id: 'led_target_package' +// led_target.package +const SD4 = board.add(LED_0603_1608Metric, { + translate: pt(0.832, 1.187), rotate: 0, + id: 'SD4' }) -const led_target_res = board.add(R_0402_1005Metric, { - translate: pt(0.575, 1.274), rotate: 0, - id: 'led_target_res' +// led_target.res +const SR13 = board.add(R_0402_1005Metric, { + translate: pt(0.810, 1.274), rotate: 0, + id: 'SR13' }) -const target_sense_div_top_res = board.add(R_0402_1005Metric, { +// target_sense.div.top_res +const SR14 = board.add(R_0402_1005Metric, { translate: pt(1.045, 1.177), rotate: 0, - id: 'target_sense_div_top_res' + id: 'SR14' }) -const target_sense_div_bottom_res = board.add(R_0402_1005Metric, { +// target_sense.div.bottom_res +const SR15 = board.add(R_0402_1005Metric, { translate: pt(1.045, 1.253), rotate: 0, - id: 'target_sense_div_bottom_res' + id: 'SR15' }) +board.setNetlist([ + {name: "Svusb", pads: [["SJ1", "A4"], ["SJ1", "B9"], ["SJ1", "B4"], ["SJ1", "A9"], ["SD1", "1"], ["SU1", "1"], ["SU2", "1"], ["SU1", "3"], ["SC1", "1"], ["SC3", "1"]]}, + {name: "Sgnd", pads: [["SU5", "3"], ["SJ1", "A1"], ["SJ1", "B12"], ["SJ1", "B1"], ["SJ1", "A12"], ["SD1", "2"], ["SU1", "2"], ["SU2", "2"], ["SU3", "8"], ["SU3", "23"], ["SU3", "35"], ["SU3", "47"], ["SU3", "44"], ["SU4", "2"], ["SR4", "2"], ["SR5", "2"], ["SSW1", "2"], ["SR13", "2"], ["SR15", "2"], ["SJ1", "S1"], ["SJ3", "3"], ["SJ3", "5"], ["SJ3", "9"], ["SC1", "2"], ["SC2", "2"], ["SC3", "2"], ["SC4", "2"], ["SC5", "2"], ["SC6", "2"], ["SC7", "2"], ["SC8", "2"], ["SC9", "2"], ["SC10", "2"], ["SR1", "1"], ["SR2", "1"], ["SJ2", "3"], ["SJ2", "5"], ["SJ2", "9"]]}, + {name: "Sv3v3", pads: [["SU1", "5"], ["SU3", "1"], ["SU3", "9"], ["SU3", "24"], ["SU3", "36"], ["SU3", "48"], ["SR6", "1"], ["SR12", "1"], ["SC2", "1"], ["SJ2", "1"], ["SC5", "1"], ["SC6", "1"], ["SC7", "1"], ["SC8", "1"], ["SC9", "1"], ["SC10", "1"], ["SR3", "1"]]}, + {name: "Svtarget", pads: [["SU2", "5"], ["SJ3", "1"], ["SD4", "2"], ["SR14", "1"], ["SC4", "1"]]}, + {name: "Susb_chain_0.d_P", pads: [["SJ1", "A6"], ["SJ1", "B6"], ["SU5", "2"], ["SU3", "33"], ["SR3", "2"]]}, + {name: "Susb_chain_0.d_N", pads: [["SJ1", "A7"], ["SJ1", "B7"], ["SU5", "1"], ["SU3", "32"]]}, + {name: "Sled_tgt.signal", pads: [["SU3", "30"], ["SD2", "2"]]}, + {name: "Sled_usb.signal", pads: [["SU3", "42"], ["SD3", "2"]]}, + {name: "Sen_pull.io", pads: [["SU3", "28"], ["SU2", "3"], ["SR6", "2"]]}, + {name: "Starget_drv.swclk_in", pads: [["SU3", "26"], ["SR7", "1"]]}, + {name: "Starget_drv.swdio_out", pads: [["SU3", "27"], ["SR8", "1"], ["SR9", "2"]]}, + {name: "Starget_drv.swdio_in", pads: [["SU3", "25"], ["SR9", "1"]]}, + {name: "Sreset_pull.io", pads: [["SU3", "18"], ["SR12", "2"], ["SSW1", "1"], ["SR10", "1"]]}, + {name: "Starget_drv.swo_out", pads: [["SU3", "31"], ["SR11", "1"]]}, + {name: "Starget_drv.swd.swdio", pads: [["SJ3", "2"], ["SR8", "2"]]}, + {name: "Starget_drv.swd.swclk", pads: [["SR7", "2"], ["SJ3", "4"]]}, + {name: "Starget_drv.swo_in", pads: [["SR11", "2"], ["SJ3", "6"]]}, + {name: "Starget_drv.reset_out", pads: [["SR10", "2"], ["SJ3", "10"]]}, + {name: "Starget_sense.output", pads: [["SU3", "10"], ["SR14", "2"], ["SR15", "1"]]}, + {name: "Susb.conn.cc.cc1", pads: [["SJ1", "A5"], ["SR1", "2"]]}, + {name: "Susb.conn.cc.cc2", pads: [["SJ1", "B5"], ["SR2", "2"]]}, + {name: "Smcu.xtal_node.xi", pads: [["SU3", "5"], ["SU4", "1"]]}, + {name: "Smcu.xtal_node.xo", pads: [["SU3", "6"], ["SU4", "3"]]}, + {name: "Smcu.swd_node.swdio", pads: [["SU3", "34"], ["SJ2", "2"]]}, + {name: "Smcu.swd_node.swclk", pads: [["SU3", "37"], ["SJ2", "4"]]}, + {name: "Smcu.reset_node", pads: [["SU3", "7"], ["SJ2", "10"]]}, + {name: "Smcu.swd.swo", pads: [["SU3", "39"], ["SJ2", "6"]]}, + {name: "Smcu.swd.tdi", pads: [["SJ2", "8"]]}, + {name: "Sled_tgt.res.a", pads: [["SR4", "1"], ["SD2", "1"]]}, + {name: "Sled_usb.res.a", pads: [["SR5", "1"], ["SD3", "1"]]}, + {name: "Starget.tdi", pads: [["SJ3", "8"]]}, + {name: "Sled_target.res.a", pads: [["SR13", "1"], ["SD4", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(1.792322834645669, 1.6212598425196851); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/TestBlinkyArray/TestBlinkyArray.svgpcb.js b/examples/TestBlinkyArray/TestBlinkyArray.svgpcb.js index 2744a14df..41ef228ab 100644 --- a/examples/TestBlinkyArray/TestBlinkyArray.svgpcb.js +++ b/examples/TestBlinkyArray/TestBlinkyArray.svgpcb.js @@ -1,114 +1,168 @@ const board = new PCB(); -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(2.750, 0.165), rotate: 0, - id: 'usb_conn' + id: 'J1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(2.598, 0.420), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'R1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(2.754, 0.420), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'R2' }) -const reg_ic = board.add(SOT_23_6, { +// reg.ic +const U1 = board.add(SOT_23_6, { translate: pt(0.081, 1.809), rotate: 0, - id: 'reg_ic' + id: 'U1' }) -const reg_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg.fb.div.top_res +const R3 = board.add(R_0603_1608Metric, { translate: pt(0.409, 1.944), rotate: 0, - id: 'reg_fb_div_top_res' + id: 'R3' }) -const reg_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg.fb.div.bottom_res +const R4 = board.add(R_0603_1608Metric, { translate: pt(0.058, 2.061), rotate: 0, - id: 'reg_fb_div_bottom_res' + id: 'R4' }) -const reg_hf_in_cap_cap = board.add(C_0603_1608Metric, { +// reg.hf_in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(0.214, 2.061), rotate: 0, - id: 'reg_hf_in_cap_cap' + id: 'C1' }) -const reg_vbst_cap = board.add(C_0603_1608Metric, { +// reg.vbst_cap +const C2 = board.add(C_0603_1608Metric, { translate: pt(0.370, 2.061), rotate: 0, - id: 'reg_vbst_cap' + id: 'C2' }) -const reg_power_path_inductor = board.add(L_0805_2012Metric, { +// reg.power_path.inductor +const L1 = board.add(L_0805_2012Metric, { translate: pt(0.242, 1.949), rotate: 0, - id: 'reg_power_path_inductor' + id: 'L1' }) -const reg_power_path_in_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.in_cap.cap +const C3 = board.add(C_0805_2012Metric, { translate: pt(0.268, 1.781), rotate: 0, - id: 'reg_power_path_in_cap_cap' + id: 'C3' }) -const reg_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { translate: pt(0.067, 1.954), rotate: 0, - id: 'reg_power_path_out_cap_cap' + id: 'C4' }) -const mcu_ic = board.add(ESP32_WROOM_32, { +// mcu.ic +const U2 = board.add(ESP32_WROOM_32, { translate: pt(0.945, 0.414), rotate: 0, - id: 'mcu_ic' + id: 'U2' }) -const mcu_vcc_cap0_cap = board.add(C_1206_3216Metric, { +// mcu.vcc_cap0.cap +const C5 = board.add(C_1206_3216Metric, { translate: pt(2.020, 0.789), rotate: 0, - id: 'mcu_vcc_cap0_cap' + id: 'C5' }) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// mcu.vcc_cap1.cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(2.208, 0.773), rotate: 0, - id: 'mcu_vcc_cap1_cap' + id: 'C6' }) -const mcu_prog_conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// mcu.prog.conn +const J2 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(2.000, 0.370), rotate: 0, - id: 'mcu_prog_conn' + id: 'J2' }) -const mcu_boot_package = board.add(SW_SPST_SKQG_WithoutStem, { +// mcu.boot.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(2.096, 0.593), rotate: 0, - id: 'mcu_boot_package' + id: 'SW1' }) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { +// mcu.en_pull.rc.r +const R5 = board.add(R_0603_1608Metric, { translate: pt(2.364, 0.773), rotate: 0, - id: 'mcu_en_pull_rc_r' + id: 'R5' }) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { +// mcu.en_pull.rc.c +const C7 = board.add(C_0603_1608Metric, { translate: pt(1.987, 0.903), rotate: 0, - id: 'mcu_en_pull_rc_c' + id: 'C7' }) -const sw_package = board.add(SW_SPST_SKQG_WithoutStem, { +// sw.package +const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(0.752, 1.854), rotate: 0, - id: 'sw_package' + id: 'SW2' }) -const led_led_0__package = board.add(LED_0603_1608Metric, { +// led.led[0].package +const D1 = board.add(LED_0603_1608Metric, { translate: pt(2.599, 0.595), rotate: 0, - id: 'led_led_0__package' + id: 'D1' }) -const led_led_0__res = board.add(R_0603_1608Metric, { +// led.led[0].res +const R6 = board.add(R_0603_1608Metric, { translate: pt(2.598, 0.790), rotate: 0, - id: 'led_led_0__res' + id: 'R6' }) -const led_led_1__package = board.add(LED_0603_1608Metric, { +// led.led[1].package +const D2 = board.add(LED_0603_1608Metric, { translate: pt(2.755, 0.595), rotate: 0, - id: 'led_led_1__package' + id: 'D2' }) -const led_led_1__res = board.add(R_0603_1608Metric, { +// led.led[1].res +const R7 = board.add(R_0603_1608Metric, { translate: pt(2.754, 0.790), rotate: 0, - id: 'led_led_1__res' + id: 'R7' }) -const led_led_2__package = board.add(LED_0603_1608Metric, { +// led.led[2].package +const D3 = board.add(LED_0603_1608Metric, { translate: pt(2.599, 0.693), rotate: 0, - id: 'led_led_2__package' + id: 'D3' }) -const led_led_2__res = board.add(R_0603_1608Metric, { +// led.led[2].res +const R8 = board.add(R_0603_1608Metric, { translate: pt(2.598, 0.887), rotate: 0, - id: 'led_led_2__res' + id: 'R8' }) -const led_led_3__package = board.add(LED_0603_1608Metric, { +// led.led[3].package +const D4 = board.add(LED_0603_1608Metric, { translate: pt(2.755, 0.693), rotate: 0, - id: 'led_led_3__package' + id: 'D4' }) -const led_led_3__res = board.add(R_0603_1608Metric, { +// led.led[3].res +const R9 = board.add(R_0603_1608Metric, { translate: pt(2.754, 0.887), rotate: 0, - id: 'led_led_3__res' + id: 'R9' }) +board.setNetlist([ + {name: "usb.gnd", pads: [["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["U1", "1"], ["U2", "1"], ["U2", "15"], ["U2", "38"], ["U2", "39"], ["SW2", "2"], ["J1", "S1"], ["C1", "2"], ["C5", "2"], ["C6", "2"], ["J2", "4"], ["SW1", "2"], ["R6", "2"], ["R7", "2"], ["R8", "2"], ["R9", "2"], ["R4", "2"], ["C7", "2"], ["R1", "1"], ["R2", "1"], ["C3", "2"], ["C4", "2"]]}, + {name: "usb.pwr", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["U1", "3"], ["U1", "5"], ["C1", "1"], ["C3", "1"]]}, + {name: "reg.pwr_out", pads: [["U2", "2"], ["R3", "1"], ["C5", "1"], ["C6", "1"], ["J2", "1"], ["R5", "1"], ["L1", "2"], ["C4", "1"]]}, + {name: "sw.out", pads: [["U2", "8"], ["SW2", "1"]]}, + {name: "mcu.gpio.led_0", pads: [["U2", "26"], ["D1", "2"]]}, + {name: "mcu.gpio.led_1", pads: [["U2", "27"], ["D2", "2"]]}, + {name: "mcu.gpio.led_2", pads: [["U2", "28"], ["D3", "2"]]}, + {name: "mcu.gpio.led_3", pads: [["U2", "29"], ["D4", "2"]]}, + {name: "usb.usb.dp", pads: [["J1", "A6"], ["J1", "B6"]]}, + {name: "usb.usb.dm", pads: [["J1", "A7"], ["J1", "B7"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "reg.fb.output", pads: [["U1", "4"], ["R3", "2"], ["R4", "1"]]}, + {name: "reg.vbst_cap.neg", pads: [["C2", "2"], ["U1", "2"], ["L1", "1"]]}, + {name: "reg.vbst_cap.pos", pads: [["C2", "1"], ["U1", "6"]]}, + {name: "mcu.program_uart_node.a_tx", pads: [["U2", "35"], ["J2", "2"]]}, + {name: "mcu.program_uart_node.b_tx", pads: [["U2", "34"], ["J2", "3"]]}, + {name: "mcu.program_en_node", pads: [["U2", "3"], ["R5", "2"], ["C7", "1"]]}, + {name: "mcu.program_boot_node", pads: [["U2", "25"], ["SW1", "1"]]}, + {name: "mcu.ic.io2", pads: [["U2", "24"]]}, + {name: "led.led[0].res.a", pads: [["R6", "1"], ["D1", "1"]]}, + {name: "led.led[1].res.a", pads: [["R7", "1"], ["D2", "1"]]}, + {name: "led.led[2].res.a", pads: [["R8", "1"], ["D3", "1"]]}, + {name: "led.led[3].res.a", pads: [["R9", "1"], ["D4", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(3.077165354330709, 2.20748031496063); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/TestBlinkyBasic/TestBlinkyBasic.svgpcb.js b/examples/TestBlinkyBasic/TestBlinkyBasic.svgpcb.js index a53e0603c..67f88cd82 100644 --- a/examples/TestBlinkyBasic/TestBlinkyBasic.svgpcb.js +++ b/examples/TestBlinkyBasic/TestBlinkyBasic.svgpcb.js @@ -1,18 +1,29 @@ const board = new PCB(); -const mcu = board.add(Nucleo32, { +// mcu +const U1 = board.add(Nucleo32, { translate: pt(0.365, 0.990), rotate: 0, - id: 'mcu' + id: 'U1' }) -const led_package = board.add(LED_0603_1608Metric, { +// led.package +const D1 = board.add(LED_0603_1608Metric, { translate: pt(0.828, 0.029), rotate: 0, - id: 'led_package' + id: 'D1' }) -const led_res = board.add(R_0603_1608Metric, { +// led.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(0.828, 0.126), rotate: 0, - id: 'led_res' + id: 'R1' }) +board.setNetlist([ + {name: "led.signal", pads: [["U1", "10"], ["D1", "2"]]}, + {name: "mcu.gnd", pads: [["U1", "4"], ["U1", "17"], ["R1", "2"]]}, + {name: "mcu.pwr_out", pads: [["U1", "29"]]}, + {name: "mcu.vusb_out", pads: [["U1", "19"]]}, + {name: "led.res.a", pads: [["R1", "1"], ["D1", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(1.0041338582677166, 2.0192913385826774); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/TestBlinkyBasicBattery/TestBlinkyBasicBattery.svgpcb.js b/examples/TestBlinkyBasicBattery/TestBlinkyBasicBattery.svgpcb.js index 0de534117..fb188449d 100644 --- a/examples/TestBlinkyBasicBattery/TestBlinkyBasicBattery.svgpcb.js +++ b/examples/TestBlinkyBasicBattery/TestBlinkyBasicBattery.svgpcb.js @@ -1,34 +1,53 @@ const board = new PCB(); -const bat_cell_0_ = board.add(BatteryHolder_Keystone_2460_1xAA, { +// bat.cell[0] +const U1 = board.add(BatteryHolder_Keystone_2460_1xAA, { translate: pt(0.108, 0.343), rotate: 0, - id: 'bat_cell_0_' + id: 'U1' }) -const bat_cell_1_ = board.add(BatteryHolder_Keystone_2460_1xAA, { +// bat.cell[1] +const U2 = board.add(BatteryHolder_Keystone_2460_1xAA, { translate: pt(0.108, 1.067), rotate: 0, - id: 'bat_cell_1_' + id: 'U2' }) -const bat_cell_2_ = board.add(BatteryHolder_Keystone_2460_1xAA, { +// bat.cell[2] +const U3 = board.add(BatteryHolder_Keystone_2460_1xAA, { translate: pt(0.108, 1.791), rotate: 0, - id: 'bat_cell_2_' + id: 'U3' }) -const bat_cell_3_ = board.add(BatteryHolder_Keystone_2460_1xAA, { +// bat.cell[3] +const U4 = board.add(BatteryHolder_Keystone_2460_1xAA, { translate: pt(0.108, 2.516), rotate: 0, - id: 'bat_cell_3_' + id: 'U4' }) -const mcu = board.add(XIAO_RP2040_SMD, { +// mcu +const U5 = board.add(XIAO_RP2040_SMD, { translate: pt(2.730, 0.410), rotate: 0, - id: 'mcu' + id: 'U5' }) -const led_package = board.add(LED_0603_1608Metric, { +// led.package +const D1 = board.add(LED_0603_1608Metric, { translate: pt(3.180, 0.029), rotate: 0, - id: 'led_package' + id: 'D1' }) -const led_res = board.add(R_0603_1608Metric, { +// led.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(3.180, 0.126), rotate: 0, - id: 'led_res' + id: 'R1' }) +board.setNetlist([ + {name: "mcu.pwr_vin", pads: [["U4", "1"]]}, + {name: "mcu.gnd", pads: [["U5", "13"], ["U1", "2"], ["R1", "2"]]}, + {name: "led.signal", pads: [["U5", "7"], ["D1", "2"]]}, + {name: "bat.cell[0].pwr", pads: [["U1", "1"], ["U2", "2"]]}, + {name: "bat.cell[1].pwr", pads: [["U2", "1"], ["U3", "2"]]}, + {name: "bat.cell[2].pwr", pads: [["U3", "1"], ["U4", "2"]]}, + {name: "mcu.pwr_out", pads: [["U5", "12"]]}, + {name: "mcu.vusb_out", pads: [["U5", "14"]]}, + {name: "led.res.a", pads: [["R1", "1"], ["D1", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(3.356102362204725, 2.9763779527559056); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/TestBlinkyChain/TestBlinkyChain.svgpcb.js b/examples/TestBlinkyChain/TestBlinkyChain.svgpcb.js index 9c1444026..ba2346d72 100644 --- a/examples/TestBlinkyChain/TestBlinkyChain.svgpcb.js +++ b/examples/TestBlinkyChain/TestBlinkyChain.svgpcb.js @@ -1,117 +1,174 @@ const board = new PCB(); -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(1.111, 0.165), rotate: 0, - id: 'usb_conn' + id: 'J1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(0.960, 0.420), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'R1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(1.116, 0.420), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'R2' }) -const reg_ic = board.add(SOT_23_6, { +// reg.ic +const U1 = board.add(SOT_23_6, { translate: pt(0.081, 0.804), rotate: 0, - id: 'reg_ic' + id: 'U1' }) -const reg_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg.fb.div.top_res +const R3 = board.add(R_0603_1608Metric, { translate: pt(0.058, 0.939), rotate: 0, - id: 'reg_fb_div_top_res' + id: 'R3' }) -const reg_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg.fb.div.bottom_res +const R4 = board.add(R_0603_1608Metric, { translate: pt(0.214, 0.939), rotate: 0, - id: 'reg_fb_div_bottom_res' + id: 'R4' }) -const reg_hf_in_cap_cap = board.add(C_0603_1608Metric, { +// reg.hf_in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(0.370, 0.939), rotate: 0, - id: 'reg_hf_in_cap_cap' + id: 'C1' }) -const reg_vbst_cap = board.add(C_0603_1608Metric, { +// reg.vbst_cap +const C2 = board.add(C_0603_1608Metric, { translate: pt(0.058, 1.036), rotate: 0, - id: 'reg_vbst_cap' + id: 'C2' }) -const reg_power_path_inductor = board.add(L_0603_1608Metric, { +// reg.power_path.inductor +const L1 = board.add(L_0603_1608Metric, { translate: pt(0.214, 1.036), rotate: 0, - id: 'reg_power_path_inductor' + id: 'L1' }) -const reg_power_path_in_cap_cap = board.add(C_0603_1608Metric, { +// reg.power_path.in_cap.cap +const C3 = board.add(C_0603_1608Metric, { translate: pt(0.370, 1.036), rotate: 0, - id: 'reg_power_path_in_cap_cap' + id: 'C3' }) -const reg_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { translate: pt(0.268, 0.776), rotate: 0, - id: 'reg_power_path_out_cap_cap' + id: 'C4' }) -const mcu_swd_conn = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { +// mcu.swd.conn +const J2 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { translate: pt(0.614, 0.146), rotate: 0, - id: 'mcu_swd_conn' + id: 'J2' }) -const mcu_ic = board.add(LQFP_48_7x7mm_P0_5mm, { +// mcu.ic +const U2 = board.add(LQFP_48_7x7mm_P0_5mm, { translate: pt(0.203, 0.203), rotate: 0, - id: 'mcu_ic' + id: 'U2' }) -const mcu_pwr_cap_0__cap = board.add(C_0805_2012Metric, { +// mcu.pwr_cap[0].cap +const C5 = board.add(C_0805_2012Metric, { translate: pt(0.067, 0.483), rotate: 0, - id: 'mcu_pwr_cap_0__cap' + id: 'C5' }) -const mcu_pwr_cap_1__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[1].cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(0.231, 0.474), rotate: 0, - id: 'mcu_pwr_cap_1__cap' + id: 'C6' }) -const mcu_pwr_cap_2__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[2].cap +const C7 = board.add(C_0603_1608Metric, { translate: pt(0.387, 0.474), rotate: 0, - id: 'mcu_pwr_cap_2__cap' + id: 'C7' }) -const mcu_pwr_cap_3__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[3].cap +const C8 = board.add(C_0603_1608Metric, { translate: pt(0.543, 0.474), rotate: 0, - id: 'mcu_pwr_cap_3__cap' + id: 'C8' }) -const mcu_vdda_cap_0_cap = board.add(C_0603_1608Metric, { +// mcu.vdda_cap_0.cap +const C9 = board.add(C_0603_1608Metric, { translate: pt(0.699, 0.474), rotate: 0, - id: 'mcu_vdda_cap_0_cap' + id: 'C9' }) -const mcu_vdda_cap_1_cap = board.add(C_0603_1608Metric, { +// mcu.vdda_cap_1.cap +const C10 = board.add(C_0603_1608Metric, { translate: pt(0.058, 0.590), rotate: 0, - id: 'mcu_vdda_cap_1_cap' + id: 'C10' }) -const sw_package = board.add(SW_SPST_SKQG_WithoutStem, { +// sw.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(0.714, 0.849), rotate: 0, - id: 'sw_package' + id: 'SW1' }) -const led_0__package = board.add(LED_0603_1608Metric, { +// led[0].package +const D1 = board.add(LED_0603_1608Metric, { translate: pt(0.058, 1.212), rotate: 0, - id: 'led_0__package' + id: 'D1' }) -const led_0__res = board.add(R_0603_1608Metric, { +// led[0].res +const R5 = board.add(R_0603_1608Metric, { translate: pt(0.058, 1.309), rotate: 0, - id: 'led_0__res' + id: 'R5' }) -const led_1__package = board.add(LED_0603_1608Metric, { +// led[1].package +const D2 = board.add(LED_0603_1608Metric, { translate: pt(1.058, 0.766), rotate: 0, - id: 'led_1__package' + id: 'D2' }) -const led_1__res = board.add(R_0603_1608Metric, { +// led[1].res +const R6 = board.add(R_0603_1608Metric, { translate: pt(1.057, 0.863), rotate: 0, - id: 'led_1__res' + id: 'R6' }) -const led_2__package = board.add(LED_0603_1608Metric, { - translate: pt(0.293, 1.212), rotate: 0, - id: 'led_2__package' -}) -const led_2__res = board.add(R_0603_1608Metric, { - translate: pt(0.293, 1.309), rotate: 0, - id: 'led_2__res' -}) -const led_3__package = board.add(LED_0603_1608Metric, { +// led[2].package +const D3 = board.add(LED_0603_1608Metric, { translate: pt(1.293, 0.766), rotate: 0, - id: 'led_3__package' + id: 'D3' }) -const led_3__res = board.add(R_0603_1608Metric, { +// led[2].res +const R7 = board.add(R_0603_1608Metric, { translate: pt(1.292, 0.863), rotate: 0, - id: 'led_3__res' + id: 'R7' }) +// led[3].package +const D4 = board.add(LED_0603_1608Metric, { + translate: pt(0.293, 1.212), rotate: 0, + id: 'D4' +}) +// led[3].res +const R8 = board.add(R_0603_1608Metric, { + translate: pt(0.293, 1.309), rotate: 0, + id: 'R8' +}) + +board.setNetlist([ + {name: "usb.gnd", pads: [["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["U1", "1"], ["U2", "8"], ["U2", "23"], ["U2", "35"], ["U2", "47"], ["U2", "44"], ["SW1", "2"], ["R5", "2"], ["R6", "2"], ["R7", "2"], ["R8", "2"], ["J1", "S1"], ["C1", "2"], ["C5", "2"], ["C6", "2"], ["C7", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["R4", "2"], ["R1", "1"], ["R2", "1"], ["J2", "3"], ["J2", "5"], ["J2", "9"], ["C3", "2"], ["C4", "2"]]}, + {name: "usb.pwr", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["U1", "3"], ["U1", "5"], ["C1", "1"], ["C3", "1"]]}, + {name: "reg.pwr_out", pads: [["U2", "1"], ["U2", "9"], ["U2", "24"], ["U2", "36"], ["U2", "48"], ["R3", "1"], ["J2", "1"], ["C5", "1"], ["C6", "1"], ["C7", "1"], ["C8", "1"], ["C9", "1"], ["C10", "1"], ["L1", "2"], ["C4", "1"]]}, + {name: "sw.out", pads: [["U2", "10"], ["SW1", "1"]]}, + {name: "led[0].signal", pads: [["U2", "11"], ["D1", "2"]]}, + {name: "led[1].signal", pads: [["U2", "12"], ["D2", "2"]]}, + {name: "led[2].signal", pads: [["U2", "13"], ["D3", "2"]]}, + {name: "led[3].signal", pads: [["U2", "14"], ["D4", "2"]]}, + {name: "usb.usb.dp", pads: [["J1", "A6"], ["J1", "B6"]]}, + {name: "usb.usb.dm", pads: [["J1", "A7"], ["J1", "B7"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "reg.fb.output", pads: [["U1", "4"], ["R3", "2"], ["R4", "1"]]}, + {name: "reg.vbst_cap.neg", pads: [["C2", "2"], ["U1", "2"], ["L1", "1"]]}, + {name: "reg.vbst_cap.pos", pads: [["C2", "1"], ["U1", "6"]]}, + {name: "mcu.swd_node.swdio", pads: [["U2", "34"], ["J2", "2"]]}, + {name: "mcu.swd_node.swclk", pads: [["U2", "37"], ["J2", "4"]]}, + {name: "mcu.reset_node", pads: [["U2", "7"], ["J2", "10"]]}, + {name: "mcu.swd.swo", pads: [["J2", "6"]]}, + {name: "mcu.swd.tdi", pads: [["J2", "8"]]}, + {name: "mcu.ic.osc.xtal_in", pads: [["U2", "5"]]}, + {name: "mcu.ic.osc.xtal_out", pads: [["U2", "6"]]}, + {name: "led[0].res.a", pads: [["R5", "1"], ["D1", "1"]]}, + {name: "led[1].res.a", pads: [["R6", "1"], ["D2", "1"]]}, + {name: "led[2].res.a", pads: [["R7", "1"], ["D3", "1"]]}, + {name: "led[3].res.a", pads: [["R8", "1"], ["D4", "1"]]} +]) const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(1.4688976377952758, 1.455511811023622); diff --git a/examples/TestBlinkyComplete/TestBlinkyComplete.svgpcb.js b/examples/TestBlinkyComplete/TestBlinkyComplete.svgpcb.js index 0d64099fb..ffdadc517 100644 --- a/examples/TestBlinkyComplete/TestBlinkyComplete.svgpcb.js +++ b/examples/TestBlinkyComplete/TestBlinkyComplete.svgpcb.js @@ -1,90 +1,133 @@ const board = new PCB(); -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(1.111, 0.165), rotate: 0, - id: 'usb_conn' + id: 'J1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(0.960, 0.420), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'R1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(1.116, 0.420), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'R2' }) -const reg_ic = board.add(SOT_23_6, { +// reg.ic +const U1 = board.add(SOT_23_6, { translate: pt(0.081, 0.804), rotate: 0, - id: 'reg_ic' + id: 'U1' }) -const reg_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg.fb.div.top_res +const R3 = board.add(R_0603_1608Metric, { translate: pt(0.058, 0.939), rotate: 0, - id: 'reg_fb_div_top_res' + id: 'R3' }) -const reg_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg.fb.div.bottom_res +const R4 = board.add(R_0603_1608Metric, { translate: pt(0.214, 0.939), rotate: 0, - id: 'reg_fb_div_bottom_res' + id: 'R4' }) -const reg_hf_in_cap_cap = board.add(C_0603_1608Metric, { +// reg.hf_in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(0.370, 0.939), rotate: 0, - id: 'reg_hf_in_cap_cap' + id: 'C1' }) -const reg_vbst_cap = board.add(C_0603_1608Metric, { +// reg.vbst_cap +const C2 = board.add(C_0603_1608Metric, { translate: pt(0.058, 1.036), rotate: 0, - id: 'reg_vbst_cap' + id: 'C2' }) -const reg_power_path_inductor = board.add(L_0603_1608Metric, { +// reg.power_path.inductor +const L1 = board.add(L_0603_1608Metric, { translate: pt(0.214, 1.036), rotate: 0, - id: 'reg_power_path_inductor' + id: 'L1' }) -const reg_power_path_in_cap_cap = board.add(C_0603_1608Metric, { +// reg.power_path.in_cap.cap +const C3 = board.add(C_0603_1608Metric, { translate: pt(0.370, 1.036), rotate: 0, - id: 'reg_power_path_in_cap_cap' + id: 'C3' }) -const reg_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { translate: pt(0.268, 0.776), rotate: 0, - id: 'reg_power_path_out_cap_cap' + id: 'C4' }) -const mcu_swd_conn = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { +// mcu.swd.conn +const J2 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { translate: pt(0.614, 0.146), rotate: 0, - id: 'mcu_swd_conn' + id: 'J2' }) -const mcu_ic = board.add(LQFP_48_7x7mm_P0_5mm, { +// mcu.ic +const U2 = board.add(LQFP_48_7x7mm_P0_5mm, { translate: pt(0.203, 0.203), rotate: 0, - id: 'mcu_ic' + id: 'U2' }) -const mcu_pwr_cap_0__cap = board.add(C_0805_2012Metric, { +// mcu.pwr_cap[0].cap +const C5 = board.add(C_0805_2012Metric, { translate: pt(0.067, 0.483), rotate: 0, - id: 'mcu_pwr_cap_0__cap' + id: 'C5' }) -const mcu_pwr_cap_1__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[1].cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(0.231, 0.474), rotate: 0, - id: 'mcu_pwr_cap_1__cap' + id: 'C6' }) -const mcu_pwr_cap_2__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[2].cap +const C7 = board.add(C_0603_1608Metric, { translate: pt(0.387, 0.474), rotate: 0, - id: 'mcu_pwr_cap_2__cap' + id: 'C7' }) -const mcu_pwr_cap_3__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[3].cap +const C8 = board.add(C_0603_1608Metric, { translate: pt(0.543, 0.474), rotate: 0, - id: 'mcu_pwr_cap_3__cap' + id: 'C8' }) -const mcu_vdda_cap_0_cap = board.add(C_0603_1608Metric, { +// mcu.vdda_cap_0.cap +const C9 = board.add(C_0603_1608Metric, { translate: pt(0.699, 0.474), rotate: 0, - id: 'mcu_vdda_cap_0_cap' + id: 'C9' }) -const mcu_vdda_cap_1_cap = board.add(C_0603_1608Metric, { +// mcu.vdda_cap_1.cap +const C10 = board.add(C_0603_1608Metric, { translate: pt(0.058, 0.590), rotate: 0, - id: 'mcu_vdda_cap_1_cap' + id: 'C10' }) -const led_package = board.add(LED_0603_1608Metric, { +// led.package +const D1 = board.add(LED_0603_1608Metric, { translate: pt(0.605, 0.766), rotate: 0, - id: 'led_package' + id: 'D1' }) -const led_res = board.add(R_0603_1608Metric, { +// led.res +const R5 = board.add(R_0603_1608Metric, { translate: pt(0.605, 0.863), rotate: 0, - id: 'led_res' + id: 'R5' }) +board.setNetlist([ + {name: "usb.gnd", pads: [["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["U1", "1"], ["U2", "8"], ["U2", "23"], ["U2", "35"], ["U2", "47"], ["U2", "44"], ["R5", "2"], ["J1", "S1"], ["C1", "2"], ["C5", "2"], ["C6", "2"], ["C7", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["R4", "2"], ["R1", "1"], ["R2", "1"], ["J2", "3"], ["J2", "5"], ["J2", "9"], ["C3", "2"], ["C4", "2"]]}, + {name: "usb.pwr", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["U1", "3"], ["U1", "5"], ["C1", "1"], ["C3", "1"]]}, + {name: "reg.pwr_out", pads: [["U2", "1"], ["U2", "9"], ["U2", "24"], ["U2", "36"], ["U2", "48"], ["R3", "1"], ["J2", "1"], ["C5", "1"], ["C6", "1"], ["C7", "1"], ["C8", "1"], ["C9", "1"], ["C10", "1"], ["L1", "2"], ["C4", "1"]]}, + {name: "led.signal", pads: [["U2", "10"], ["D1", "2"]]}, + {name: "usb.usb.dp", pads: [["J1", "A6"], ["J1", "B6"]]}, + {name: "usb.usb.dm", pads: [["J1", "A7"], ["J1", "B7"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "reg.fb.output", pads: [["U1", "4"], ["R3", "2"], ["R4", "1"]]}, + {name: "reg.vbst_cap.neg", pads: [["C2", "2"], ["U1", "2"], ["L1", "1"]]}, + {name: "reg.vbst_cap.pos", pads: [["C2", "1"], ["U1", "6"]]}, + {name: "mcu.swd_node.swdio", pads: [["U2", "34"], ["J2", "2"]]}, + {name: "mcu.swd_node.swclk", pads: [["U2", "37"], ["J2", "4"]]}, + {name: "mcu.reset_node", pads: [["U2", "7"], ["J2", "10"]]}, + {name: "mcu.swd.swo", pads: [["J2", "6"]]}, + {name: "mcu.swd.tdi", pads: [["J2", "8"]]}, + {name: "mcu.ic.osc.xtal_in", pads: [["U2", "5"]]}, + {name: "mcu.ic.osc.xtal_out", pads: [["U2", "6"]]}, + {name: "led.res.a", pads: [["R5", "1"], ["D1", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(1.4385826771653545, 1.1826771653543309); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/TestBlinkyEmpty/TestBlinkyEmpty.svgpcb.js b/examples/TestBlinkyEmpty/TestBlinkyEmpty.svgpcb.js index f3c464aaa..9f7986908 100644 --- a/examples/TestBlinkyEmpty/TestBlinkyEmpty.svgpcb.js +++ b/examples/TestBlinkyEmpty/TestBlinkyEmpty.svgpcb.js @@ -2,6 +2,10 @@ const board = new PCB(); +board.setNetlist([ + +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(0.0, 0.0); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/TestBlinkyExpanded/TestBlinkyExpanded.svgpcb.js b/examples/TestBlinkyExpanded/TestBlinkyExpanded.svgpcb.js index 9c1444026..ba2346d72 100644 --- a/examples/TestBlinkyExpanded/TestBlinkyExpanded.svgpcb.js +++ b/examples/TestBlinkyExpanded/TestBlinkyExpanded.svgpcb.js @@ -1,117 +1,174 @@ const board = new PCB(); -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(1.111, 0.165), rotate: 0, - id: 'usb_conn' + id: 'J1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(0.960, 0.420), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'R1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(1.116, 0.420), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'R2' }) -const reg_ic = board.add(SOT_23_6, { +// reg.ic +const U1 = board.add(SOT_23_6, { translate: pt(0.081, 0.804), rotate: 0, - id: 'reg_ic' + id: 'U1' }) -const reg_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg.fb.div.top_res +const R3 = board.add(R_0603_1608Metric, { translate: pt(0.058, 0.939), rotate: 0, - id: 'reg_fb_div_top_res' + id: 'R3' }) -const reg_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg.fb.div.bottom_res +const R4 = board.add(R_0603_1608Metric, { translate: pt(0.214, 0.939), rotate: 0, - id: 'reg_fb_div_bottom_res' + id: 'R4' }) -const reg_hf_in_cap_cap = board.add(C_0603_1608Metric, { +// reg.hf_in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(0.370, 0.939), rotate: 0, - id: 'reg_hf_in_cap_cap' + id: 'C1' }) -const reg_vbst_cap = board.add(C_0603_1608Metric, { +// reg.vbst_cap +const C2 = board.add(C_0603_1608Metric, { translate: pt(0.058, 1.036), rotate: 0, - id: 'reg_vbst_cap' + id: 'C2' }) -const reg_power_path_inductor = board.add(L_0603_1608Metric, { +// reg.power_path.inductor +const L1 = board.add(L_0603_1608Metric, { translate: pt(0.214, 1.036), rotate: 0, - id: 'reg_power_path_inductor' + id: 'L1' }) -const reg_power_path_in_cap_cap = board.add(C_0603_1608Metric, { +// reg.power_path.in_cap.cap +const C3 = board.add(C_0603_1608Metric, { translate: pt(0.370, 1.036), rotate: 0, - id: 'reg_power_path_in_cap_cap' + id: 'C3' }) -const reg_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { translate: pt(0.268, 0.776), rotate: 0, - id: 'reg_power_path_out_cap_cap' + id: 'C4' }) -const mcu_swd_conn = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { +// mcu.swd.conn +const J2 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { translate: pt(0.614, 0.146), rotate: 0, - id: 'mcu_swd_conn' + id: 'J2' }) -const mcu_ic = board.add(LQFP_48_7x7mm_P0_5mm, { +// mcu.ic +const U2 = board.add(LQFP_48_7x7mm_P0_5mm, { translate: pt(0.203, 0.203), rotate: 0, - id: 'mcu_ic' + id: 'U2' }) -const mcu_pwr_cap_0__cap = board.add(C_0805_2012Metric, { +// mcu.pwr_cap[0].cap +const C5 = board.add(C_0805_2012Metric, { translate: pt(0.067, 0.483), rotate: 0, - id: 'mcu_pwr_cap_0__cap' + id: 'C5' }) -const mcu_pwr_cap_1__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[1].cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(0.231, 0.474), rotate: 0, - id: 'mcu_pwr_cap_1__cap' + id: 'C6' }) -const mcu_pwr_cap_2__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[2].cap +const C7 = board.add(C_0603_1608Metric, { translate: pt(0.387, 0.474), rotate: 0, - id: 'mcu_pwr_cap_2__cap' + id: 'C7' }) -const mcu_pwr_cap_3__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[3].cap +const C8 = board.add(C_0603_1608Metric, { translate: pt(0.543, 0.474), rotate: 0, - id: 'mcu_pwr_cap_3__cap' + id: 'C8' }) -const mcu_vdda_cap_0_cap = board.add(C_0603_1608Metric, { +// mcu.vdda_cap_0.cap +const C9 = board.add(C_0603_1608Metric, { translate: pt(0.699, 0.474), rotate: 0, - id: 'mcu_vdda_cap_0_cap' + id: 'C9' }) -const mcu_vdda_cap_1_cap = board.add(C_0603_1608Metric, { +// mcu.vdda_cap_1.cap +const C10 = board.add(C_0603_1608Metric, { translate: pt(0.058, 0.590), rotate: 0, - id: 'mcu_vdda_cap_1_cap' + id: 'C10' }) -const sw_package = board.add(SW_SPST_SKQG_WithoutStem, { +// sw.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(0.714, 0.849), rotate: 0, - id: 'sw_package' + id: 'SW1' }) -const led_0__package = board.add(LED_0603_1608Metric, { +// led[0].package +const D1 = board.add(LED_0603_1608Metric, { translate: pt(0.058, 1.212), rotate: 0, - id: 'led_0__package' + id: 'D1' }) -const led_0__res = board.add(R_0603_1608Metric, { +// led[0].res +const R5 = board.add(R_0603_1608Metric, { translate: pt(0.058, 1.309), rotate: 0, - id: 'led_0__res' + id: 'R5' }) -const led_1__package = board.add(LED_0603_1608Metric, { +// led[1].package +const D2 = board.add(LED_0603_1608Metric, { translate: pt(1.058, 0.766), rotate: 0, - id: 'led_1__package' + id: 'D2' }) -const led_1__res = board.add(R_0603_1608Metric, { +// led[1].res +const R6 = board.add(R_0603_1608Metric, { translate: pt(1.057, 0.863), rotate: 0, - id: 'led_1__res' + id: 'R6' }) -const led_2__package = board.add(LED_0603_1608Metric, { - translate: pt(0.293, 1.212), rotate: 0, - id: 'led_2__package' -}) -const led_2__res = board.add(R_0603_1608Metric, { - translate: pt(0.293, 1.309), rotate: 0, - id: 'led_2__res' -}) -const led_3__package = board.add(LED_0603_1608Metric, { +// led[2].package +const D3 = board.add(LED_0603_1608Metric, { translate: pt(1.293, 0.766), rotate: 0, - id: 'led_3__package' + id: 'D3' }) -const led_3__res = board.add(R_0603_1608Metric, { +// led[2].res +const R7 = board.add(R_0603_1608Metric, { translate: pt(1.292, 0.863), rotate: 0, - id: 'led_3__res' + id: 'R7' }) +// led[3].package +const D4 = board.add(LED_0603_1608Metric, { + translate: pt(0.293, 1.212), rotate: 0, + id: 'D4' +}) +// led[3].res +const R8 = board.add(R_0603_1608Metric, { + translate: pt(0.293, 1.309), rotate: 0, + id: 'R8' +}) + +board.setNetlist([ + {name: "usb.gnd", pads: [["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["U1", "1"], ["U2", "8"], ["U2", "23"], ["U2", "35"], ["U2", "47"], ["U2", "44"], ["SW1", "2"], ["R5", "2"], ["R6", "2"], ["R7", "2"], ["R8", "2"], ["J1", "S1"], ["C1", "2"], ["C5", "2"], ["C6", "2"], ["C7", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["R4", "2"], ["R1", "1"], ["R2", "1"], ["J2", "3"], ["J2", "5"], ["J2", "9"], ["C3", "2"], ["C4", "2"]]}, + {name: "usb.pwr", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["U1", "3"], ["U1", "5"], ["C1", "1"], ["C3", "1"]]}, + {name: "reg.pwr_out", pads: [["U2", "1"], ["U2", "9"], ["U2", "24"], ["U2", "36"], ["U2", "48"], ["R3", "1"], ["J2", "1"], ["C5", "1"], ["C6", "1"], ["C7", "1"], ["C8", "1"], ["C9", "1"], ["C10", "1"], ["L1", "2"], ["C4", "1"]]}, + {name: "sw.out", pads: [["U2", "10"], ["SW1", "1"]]}, + {name: "led[0].signal", pads: [["U2", "11"], ["D1", "2"]]}, + {name: "led[1].signal", pads: [["U2", "12"], ["D2", "2"]]}, + {name: "led[2].signal", pads: [["U2", "13"], ["D3", "2"]]}, + {name: "led[3].signal", pads: [["U2", "14"], ["D4", "2"]]}, + {name: "usb.usb.dp", pads: [["J1", "A6"], ["J1", "B6"]]}, + {name: "usb.usb.dm", pads: [["J1", "A7"], ["J1", "B7"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "reg.fb.output", pads: [["U1", "4"], ["R3", "2"], ["R4", "1"]]}, + {name: "reg.vbst_cap.neg", pads: [["C2", "2"], ["U1", "2"], ["L1", "1"]]}, + {name: "reg.vbst_cap.pos", pads: [["C2", "1"], ["U1", "6"]]}, + {name: "mcu.swd_node.swdio", pads: [["U2", "34"], ["J2", "2"]]}, + {name: "mcu.swd_node.swclk", pads: [["U2", "37"], ["J2", "4"]]}, + {name: "mcu.reset_node", pads: [["U2", "7"], ["J2", "10"]]}, + {name: "mcu.swd.swo", pads: [["J2", "6"]]}, + {name: "mcu.swd.tdi", pads: [["J2", "8"]]}, + {name: "mcu.ic.osc.xtal_in", pads: [["U2", "5"]]}, + {name: "mcu.ic.osc.xtal_out", pads: [["U2", "6"]]}, + {name: "led[0].res.a", pads: [["R5", "1"], ["D1", "1"]]}, + {name: "led[1].res.a", pads: [["R6", "1"], ["D2", "1"]]}, + {name: "led[2].res.a", pads: [["R7", "1"], ["D3", "1"]]}, + {name: "led[3].res.a", pads: [["R8", "1"], ["D4", "1"]]} +]) const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(1.4688976377952758, 1.455511811023622); diff --git a/examples/TestBlinkyImplicit/TestBlinkyImplicit.svgpcb.js b/examples/TestBlinkyImplicit/TestBlinkyImplicit.svgpcb.js index 9c1444026..ba2346d72 100644 --- a/examples/TestBlinkyImplicit/TestBlinkyImplicit.svgpcb.js +++ b/examples/TestBlinkyImplicit/TestBlinkyImplicit.svgpcb.js @@ -1,117 +1,174 @@ const board = new PCB(); -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(1.111, 0.165), rotate: 0, - id: 'usb_conn' + id: 'J1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(0.960, 0.420), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'R1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(1.116, 0.420), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'R2' }) -const reg_ic = board.add(SOT_23_6, { +// reg.ic +const U1 = board.add(SOT_23_6, { translate: pt(0.081, 0.804), rotate: 0, - id: 'reg_ic' + id: 'U1' }) -const reg_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg.fb.div.top_res +const R3 = board.add(R_0603_1608Metric, { translate: pt(0.058, 0.939), rotate: 0, - id: 'reg_fb_div_top_res' + id: 'R3' }) -const reg_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg.fb.div.bottom_res +const R4 = board.add(R_0603_1608Metric, { translate: pt(0.214, 0.939), rotate: 0, - id: 'reg_fb_div_bottom_res' + id: 'R4' }) -const reg_hf_in_cap_cap = board.add(C_0603_1608Metric, { +// reg.hf_in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(0.370, 0.939), rotate: 0, - id: 'reg_hf_in_cap_cap' + id: 'C1' }) -const reg_vbst_cap = board.add(C_0603_1608Metric, { +// reg.vbst_cap +const C2 = board.add(C_0603_1608Metric, { translate: pt(0.058, 1.036), rotate: 0, - id: 'reg_vbst_cap' + id: 'C2' }) -const reg_power_path_inductor = board.add(L_0603_1608Metric, { +// reg.power_path.inductor +const L1 = board.add(L_0603_1608Metric, { translate: pt(0.214, 1.036), rotate: 0, - id: 'reg_power_path_inductor' + id: 'L1' }) -const reg_power_path_in_cap_cap = board.add(C_0603_1608Metric, { +// reg.power_path.in_cap.cap +const C3 = board.add(C_0603_1608Metric, { translate: pt(0.370, 1.036), rotate: 0, - id: 'reg_power_path_in_cap_cap' + id: 'C3' }) -const reg_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { translate: pt(0.268, 0.776), rotate: 0, - id: 'reg_power_path_out_cap_cap' + id: 'C4' }) -const mcu_swd_conn = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { +// mcu.swd.conn +const J2 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { translate: pt(0.614, 0.146), rotate: 0, - id: 'mcu_swd_conn' + id: 'J2' }) -const mcu_ic = board.add(LQFP_48_7x7mm_P0_5mm, { +// mcu.ic +const U2 = board.add(LQFP_48_7x7mm_P0_5mm, { translate: pt(0.203, 0.203), rotate: 0, - id: 'mcu_ic' + id: 'U2' }) -const mcu_pwr_cap_0__cap = board.add(C_0805_2012Metric, { +// mcu.pwr_cap[0].cap +const C5 = board.add(C_0805_2012Metric, { translate: pt(0.067, 0.483), rotate: 0, - id: 'mcu_pwr_cap_0__cap' + id: 'C5' }) -const mcu_pwr_cap_1__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[1].cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(0.231, 0.474), rotate: 0, - id: 'mcu_pwr_cap_1__cap' + id: 'C6' }) -const mcu_pwr_cap_2__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[2].cap +const C7 = board.add(C_0603_1608Metric, { translate: pt(0.387, 0.474), rotate: 0, - id: 'mcu_pwr_cap_2__cap' + id: 'C7' }) -const mcu_pwr_cap_3__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[3].cap +const C8 = board.add(C_0603_1608Metric, { translate: pt(0.543, 0.474), rotate: 0, - id: 'mcu_pwr_cap_3__cap' + id: 'C8' }) -const mcu_vdda_cap_0_cap = board.add(C_0603_1608Metric, { +// mcu.vdda_cap_0.cap +const C9 = board.add(C_0603_1608Metric, { translate: pt(0.699, 0.474), rotate: 0, - id: 'mcu_vdda_cap_0_cap' + id: 'C9' }) -const mcu_vdda_cap_1_cap = board.add(C_0603_1608Metric, { +// mcu.vdda_cap_1.cap +const C10 = board.add(C_0603_1608Metric, { translate: pt(0.058, 0.590), rotate: 0, - id: 'mcu_vdda_cap_1_cap' + id: 'C10' }) -const sw_package = board.add(SW_SPST_SKQG_WithoutStem, { +// sw.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(0.714, 0.849), rotate: 0, - id: 'sw_package' + id: 'SW1' }) -const led_0__package = board.add(LED_0603_1608Metric, { +// led[0].package +const D1 = board.add(LED_0603_1608Metric, { translate: pt(0.058, 1.212), rotate: 0, - id: 'led_0__package' + id: 'D1' }) -const led_0__res = board.add(R_0603_1608Metric, { +// led[0].res +const R5 = board.add(R_0603_1608Metric, { translate: pt(0.058, 1.309), rotate: 0, - id: 'led_0__res' + id: 'R5' }) -const led_1__package = board.add(LED_0603_1608Metric, { +// led[1].package +const D2 = board.add(LED_0603_1608Metric, { translate: pt(1.058, 0.766), rotate: 0, - id: 'led_1__package' + id: 'D2' }) -const led_1__res = board.add(R_0603_1608Metric, { +// led[1].res +const R6 = board.add(R_0603_1608Metric, { translate: pt(1.057, 0.863), rotate: 0, - id: 'led_1__res' + id: 'R6' }) -const led_2__package = board.add(LED_0603_1608Metric, { - translate: pt(0.293, 1.212), rotate: 0, - id: 'led_2__package' -}) -const led_2__res = board.add(R_0603_1608Metric, { - translate: pt(0.293, 1.309), rotate: 0, - id: 'led_2__res' -}) -const led_3__package = board.add(LED_0603_1608Metric, { +// led[2].package +const D3 = board.add(LED_0603_1608Metric, { translate: pt(1.293, 0.766), rotate: 0, - id: 'led_3__package' + id: 'D3' }) -const led_3__res = board.add(R_0603_1608Metric, { +// led[2].res +const R7 = board.add(R_0603_1608Metric, { translate: pt(1.292, 0.863), rotate: 0, - id: 'led_3__res' + id: 'R7' }) +// led[3].package +const D4 = board.add(LED_0603_1608Metric, { + translate: pt(0.293, 1.212), rotate: 0, + id: 'D4' +}) +// led[3].res +const R8 = board.add(R_0603_1608Metric, { + translate: pt(0.293, 1.309), rotate: 0, + id: 'R8' +}) + +board.setNetlist([ + {name: "usb.gnd", pads: [["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["U1", "1"], ["U2", "8"], ["U2", "23"], ["U2", "35"], ["U2", "47"], ["U2", "44"], ["SW1", "2"], ["R5", "2"], ["R6", "2"], ["R7", "2"], ["R8", "2"], ["J1", "S1"], ["C1", "2"], ["C5", "2"], ["C6", "2"], ["C7", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["R4", "2"], ["R1", "1"], ["R2", "1"], ["J2", "3"], ["J2", "5"], ["J2", "9"], ["C3", "2"], ["C4", "2"]]}, + {name: "usb.pwr", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["U1", "3"], ["U1", "5"], ["C1", "1"], ["C3", "1"]]}, + {name: "reg.pwr_out", pads: [["U2", "1"], ["U2", "9"], ["U2", "24"], ["U2", "36"], ["U2", "48"], ["R3", "1"], ["J2", "1"], ["C5", "1"], ["C6", "1"], ["C7", "1"], ["C8", "1"], ["C9", "1"], ["C10", "1"], ["L1", "2"], ["C4", "1"]]}, + {name: "sw.out", pads: [["U2", "10"], ["SW1", "1"]]}, + {name: "led[0].signal", pads: [["U2", "11"], ["D1", "2"]]}, + {name: "led[1].signal", pads: [["U2", "12"], ["D2", "2"]]}, + {name: "led[2].signal", pads: [["U2", "13"], ["D3", "2"]]}, + {name: "led[3].signal", pads: [["U2", "14"], ["D4", "2"]]}, + {name: "usb.usb.dp", pads: [["J1", "A6"], ["J1", "B6"]]}, + {name: "usb.usb.dm", pads: [["J1", "A7"], ["J1", "B7"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "reg.fb.output", pads: [["U1", "4"], ["R3", "2"], ["R4", "1"]]}, + {name: "reg.vbst_cap.neg", pads: [["C2", "2"], ["U1", "2"], ["L1", "1"]]}, + {name: "reg.vbst_cap.pos", pads: [["C2", "1"], ["U1", "6"]]}, + {name: "mcu.swd_node.swdio", pads: [["U2", "34"], ["J2", "2"]]}, + {name: "mcu.swd_node.swclk", pads: [["U2", "37"], ["J2", "4"]]}, + {name: "mcu.reset_node", pads: [["U2", "7"], ["J2", "10"]]}, + {name: "mcu.swd.swo", pads: [["J2", "6"]]}, + {name: "mcu.swd.tdi", pads: [["J2", "8"]]}, + {name: "mcu.ic.osc.xtal_in", pads: [["U2", "5"]]}, + {name: "mcu.ic.osc.xtal_out", pads: [["U2", "6"]]}, + {name: "led[0].res.a", pads: [["R5", "1"], ["D1", "1"]]}, + {name: "led[1].res.a", pads: [["R6", "1"], ["D2", "1"]]}, + {name: "led[2].res.a", pads: [["R7", "1"], ["D3", "1"]]}, + {name: "led[3].res.a", pads: [["R8", "1"], ["D4", "1"]]} +]) const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(1.4688976377952758, 1.455511811023622); diff --git a/examples/TestBlinkyMicro/TestBlinkyMicro.svgpcb.js b/examples/TestBlinkyMicro/TestBlinkyMicro.svgpcb.js index 7d20c0054..d775eef75 100644 --- a/examples/TestBlinkyMicro/TestBlinkyMicro.svgpcb.js +++ b/examples/TestBlinkyMicro/TestBlinkyMicro.svgpcb.js @@ -1,113 +1,167 @@ const board = new PCB(); -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(2.750, 0.165), rotate: 0, - id: 'usb_conn' + id: 'J1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(2.598, 0.420), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'R1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(2.754, 0.420), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'R2' }) -const reg_ic = board.add(SOT_23_6, { +// reg.ic +const U1 = board.add(SOT_23_6, { translate: pt(0.081, 1.809), rotate: 0, - id: 'reg_ic' + id: 'U1' }) -const reg_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg.fb.div.top_res +const R3 = board.add(R_0603_1608Metric, { translate: pt(0.409, 1.944), rotate: 0, - id: 'reg_fb_div_top_res' + id: 'R3' }) -const reg_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg.fb.div.bottom_res +const R4 = board.add(R_0603_1608Metric, { translate: pt(0.058, 2.061), rotate: 0, - id: 'reg_fb_div_bottom_res' + id: 'R4' }) -const reg_hf_in_cap_cap = board.add(C_0603_1608Metric, { +// reg.hf_in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(0.214, 2.061), rotate: 0, - id: 'reg_hf_in_cap_cap' + id: 'C1' }) -const reg_vbst_cap = board.add(C_0603_1608Metric, { +// reg.vbst_cap +const C2 = board.add(C_0603_1608Metric, { translate: pt(0.370, 2.061), rotate: 0, - id: 'reg_vbst_cap' + id: 'C2' }) -const reg_power_path_inductor = board.add(L_0805_2012Metric, { +// reg.power_path.inductor +const L1 = board.add(L_0805_2012Metric, { translate: pt(0.242, 1.949), rotate: 0, - id: 'reg_power_path_inductor' + id: 'L1' }) -const reg_power_path_in_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.in_cap.cap +const C3 = board.add(C_0805_2012Metric, { translate: pt(0.268, 1.781), rotate: 0, - id: 'reg_power_path_in_cap_cap' + id: 'C3' }) -const reg_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { translate: pt(0.067, 1.954), rotate: 0, - id: 'reg_power_path_out_cap_cap' + id: 'C4' }) -const mcu_ic = board.add(ESP32_WROOM_32, { +// mcu.ic +const U2 = board.add(ESP32_WROOM_32, { translate: pt(0.945, 0.414), rotate: 0, - id: 'mcu_ic' + id: 'U2' }) -const mcu_vcc_cap0_cap = board.add(C_1206_3216Metric, { +// mcu.vcc_cap0.cap +const C5 = board.add(C_1206_3216Metric, { translate: pt(2.020, 0.789), rotate: 0, - id: 'mcu_vcc_cap0_cap' + id: 'C5' }) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// mcu.vcc_cap1.cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(2.208, 0.773), rotate: 0, - id: 'mcu_vcc_cap1_cap' + id: 'C6' }) -const mcu_prog_conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// mcu.prog.conn +const J2 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(2.000, 0.370), rotate: 0, - id: 'mcu_prog_conn' + id: 'J2' }) -const mcu_boot_package = board.add(SW_SPST_SKQG_WithoutStem, { +// mcu.boot.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(2.096, 0.593), rotate: 0, - id: 'mcu_boot_package' + id: 'SW1' }) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { +// mcu.en_pull.rc.r +const R5 = board.add(R_0603_1608Metric, { translate: pt(2.364, 0.773), rotate: 0, - id: 'mcu_en_pull_rc_r' + id: 'R5' }) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { +// mcu.en_pull.rc.c +const C7 = board.add(C_0603_1608Metric, { translate: pt(1.987, 0.903), rotate: 0, - id: 'mcu_en_pull_rc_c' + id: 'C7' }) -const sw_package = board.add(SW_SPST_SKQG_WithoutStem, { +// sw.package +const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(0.752, 1.854), rotate: 0, - id: 'sw_package' + id: 'SW2' }) -const led_0__package = board.add(LED_0603_1608Metric, { +// led[0].package +const D1 = board.add(LED_0603_1608Metric, { translate: pt(1.566, 1.771), rotate: 0, - id: 'led_0__package' + id: 'D1' }) -const led_0__res = board.add(R_0603_1608Metric, { +// led[0].res +const R6 = board.add(R_0603_1608Metric, { translate: pt(1.566, 1.868), rotate: 0, - id: 'led_0__res' + id: 'R6' }) -const led_1__package = board.add(LED_0603_1608Metric, { +// led[1].package +const D2 = board.add(LED_0603_1608Metric, { translate: pt(1.096, 1.771), rotate: 0, - id: 'led_1__package' + id: 'D2' }) -const led_1__res = board.add(R_0603_1608Metric, { +// led[1].res +const R7 = board.add(R_0603_1608Metric, { translate: pt(1.096, 1.868), rotate: 0, - id: 'led_1__res' + id: 'R7' }) -const led_2__package = board.add(LED_0603_1608Metric, { - translate: pt(1.801, 1.771), rotate: 0, - id: 'led_2__package' -}) -const led_2__res = board.add(R_0603_1608Metric, { - translate: pt(1.801, 1.868), rotate: 0, - id: 'led_2__res' -}) -const led_3__package = board.add(LED_0603_1608Metric, { +// led[2].package +const D3 = board.add(LED_0603_1608Metric, { translate: pt(1.331, 1.771), rotate: 0, - id: 'led_3__package' + id: 'D3' }) -const led_3__res = board.add(R_0603_1608Metric, { +// led[2].res +const R8 = board.add(R_0603_1608Metric, { translate: pt(1.331, 1.868), rotate: 0, - id: 'led_3__res' + id: 'R8' }) +// led[3].package +const D4 = board.add(LED_0603_1608Metric, { + translate: pt(1.801, 1.771), rotate: 0, + id: 'D4' +}) +// led[3].res +const R9 = board.add(R_0603_1608Metric, { + translate: pt(1.801, 1.868), rotate: 0, + id: 'R9' +}) + +board.setNetlist([ + {name: "usb.gnd", pads: [["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["U1", "1"], ["U2", "1"], ["U2", "15"], ["U2", "38"], ["U2", "39"], ["SW2", "2"], ["R6", "2"], ["R7", "2"], ["R8", "2"], ["R9", "2"], ["J1", "S1"], ["C1", "2"], ["C5", "2"], ["C6", "2"], ["J2", "4"], ["SW1", "2"], ["R4", "2"], ["C7", "2"], ["R1", "1"], ["R2", "1"], ["C3", "2"], ["C4", "2"]]}, + {name: "usb.pwr", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["U1", "3"], ["U1", "5"], ["C1", "1"], ["C3", "1"]]}, + {name: "reg.pwr_out", pads: [["U2", "2"], ["R3", "1"], ["C5", "1"], ["C6", "1"], ["J2", "1"], ["R5", "1"], ["L1", "2"], ["C4", "1"]]}, + {name: "sw.out", pads: [["U2", "8"], ["SW2", "1"]]}, + {name: "led[0].signal", pads: [["U2", "26"], ["D1", "2"]]}, + {name: "led[1].signal", pads: [["U2", "27"], ["D2", "2"]]}, + {name: "led[2].signal", pads: [["U2", "28"], ["D3", "2"]]}, + {name: "led[3].signal", pads: [["U2", "29"], ["D4", "2"]]}, + {name: "usb.usb.dp", pads: [["J1", "A6"], ["J1", "B6"]]}, + {name: "usb.usb.dm", pads: [["J1", "A7"], ["J1", "B7"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "reg.fb.output", pads: [["U1", "4"], ["R3", "2"], ["R4", "1"]]}, + {name: "reg.vbst_cap.neg", pads: [["C2", "2"], ["U1", "2"], ["L1", "1"]]}, + {name: "reg.vbst_cap.pos", pads: [["C2", "1"], ["U1", "6"]]}, + {name: "mcu.program_uart_node.a_tx", pads: [["U2", "35"], ["J2", "2"]]}, + {name: "mcu.program_uart_node.b_tx", pads: [["U2", "34"], ["J2", "3"]]}, + {name: "mcu.program_en_node", pads: [["U2", "3"], ["R5", "2"], ["C7", "1"]]}, + {name: "mcu.program_boot_node", pads: [["U2", "25"], ["SW1", "1"]]}, + {name: "mcu.ic.io2", pads: [["U2", "24"]]}, + {name: "led[0].res.a", pads: [["R6", "1"], ["D1", "1"]]}, + {name: "led[1].res.a", pads: [["R7", "1"], ["D2", "1"]]}, + {name: "led[2].res.a", pads: [["R8", "1"], ["D3", "1"]]}, + {name: "led[3].res.a", pads: [["R9", "1"], ["D4", "1"]]} +]) const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(3.077165354330709, 2.20748031496063); diff --git a/examples/TestBlinkyPacked/TestBlinkyPacked.svgpcb.js b/examples/TestBlinkyPacked/TestBlinkyPacked.svgpcb.js index 3df3a407c..8c8beac41 100644 --- a/examples/TestBlinkyPacked/TestBlinkyPacked.svgpcb.js +++ b/examples/TestBlinkyPacked/TestBlinkyPacked.svgpcb.js @@ -1,102 +1,153 @@ const board = new PCB(); -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(0.209, 1.907), rotate: 0, - id: 'usb_conn' + id: 'J1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(0.058, 2.162), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'R1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(0.214, 2.162), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'R2' }) -const reg_ic = board.add(SOT_23_6, { +// reg.ic +const U1 = board.add(SOT_23_6, { translate: pt(0.618, 1.809), rotate: 0, - id: 'reg_ic' + id: 'U1' }) -const reg_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg.fb.div.top_res +const R3 = board.add(R_0603_1608Metric, { translate: pt(0.946, 1.944), rotate: 0, - id: 'reg_fb_div_top_res' + id: 'R3' }) -const reg_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg.fb.div.bottom_res +const R4 = board.add(R_0603_1608Metric, { translate: pt(0.595, 2.061), rotate: 0, - id: 'reg_fb_div_bottom_res' + id: 'R4' }) -const reg_hf_in_cap_cap = board.add(C_0603_1608Metric, { +// reg.hf_in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(0.751, 2.061), rotate: 0, - id: 'reg_hf_in_cap_cap' + id: 'C1' }) -const reg_vbst_cap = board.add(C_0603_1608Metric, { +// reg.vbst_cap +const C2 = board.add(C_0603_1608Metric, { translate: pt(0.907, 2.061), rotate: 0, - id: 'reg_vbst_cap' + id: 'C2' }) -const reg_power_path_inductor = board.add(L_0805_2012Metric, { +// reg.power_path.inductor +const L1 = board.add(L_0805_2012Metric, { translate: pt(0.779, 1.949), rotate: 0, - id: 'reg_power_path_inductor' + id: 'L1' }) -const reg_power_path_in_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.in_cap.cap +const C3 = board.add(C_0805_2012Metric, { translate: pt(0.805, 1.781), rotate: 0, - id: 'reg_power_path_in_cap_cap' + id: 'C3' }) -const reg_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { translate: pt(0.604, 1.954), rotate: 0, - id: 'reg_power_path_out_cap_cap' + id: 'C4' }) -const mcu_ic = board.add(ESP32_WROOM_32, { +// mcu.ic +const U2 = board.add(ESP32_WROOM_32, { translate: pt(0.945, 0.414), rotate: 0, - id: 'mcu_ic' + id: 'U2' }) -const mcu_vcc_cap0_cap = board.add(C_1206_3216Metric, { +// mcu.vcc_cap0.cap +const C5 = board.add(C_1206_3216Metric, { translate: pt(2.020, 0.789), rotate: 0, - id: 'mcu_vcc_cap0_cap' + id: 'C5' }) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// mcu.vcc_cap1.cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(2.208, 0.773), rotate: 0, - id: 'mcu_vcc_cap1_cap' + id: 'C6' }) -const mcu_prog_conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// mcu.prog.conn +const J2 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(2.000, 0.370), rotate: 0, - id: 'mcu_prog_conn' + id: 'J2' }) -const mcu_boot_package = board.add(SW_SPST_SKQG_WithoutStem, { +// mcu.boot.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(2.096, 0.593), rotate: 0, - id: 'mcu_boot_package' + id: 'SW1' }) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { +// mcu.en_pull.rc.r +const R5 = board.add(R_0603_1608Metric, { translate: pt(2.364, 0.773), rotate: 0, - id: 'mcu_en_pull_rc_r' + id: 'R5' }) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { +// mcu.en_pull.rc.c +const C7 = board.add(C_0603_1608Metric, { translate: pt(1.987, 0.903), rotate: 0, - id: 'mcu_en_pull_rc_c' + id: 'C7' }) -const sw_package = board.add(SW_SPST_SKQG_WithoutStem, { +// sw.package +const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(1.289, 1.854), rotate: 0, - id: 'sw_package' + id: 'SW2' }) -const led_led_0__package = board.add(LED_0603_1608Metric, { +// led.led[0].package +const D1 = board.add(LED_0603_1608Metric, { translate: pt(1.633, 1.771), rotate: 0, - id: 'led_led_0__package' + id: 'D1' }) -const led_led_1__package = board.add(LED_0603_1608Metric, { +// led.led[1].package +const D2 = board.add(LED_0603_1608Metric, { translate: pt(1.789, 1.771), rotate: 0, - id: 'led_led_1__package' + id: 'D2' }) -const led_led_2__package = board.add(LED_0603_1608Metric, { +// led.led[2].package +const D3 = board.add(LED_0603_1608Metric, { translate: pt(1.633, 1.868), rotate: 0, - id: 'led_led_2__package' + id: 'D3' }) -const led_led_3__package = board.add(LED_0603_1608Metric, { +// led.led[3].package +const D4 = board.add(LED_0603_1608Metric, { translate: pt(1.789, 1.868), rotate: 0, - id: 'led_led_3__package' + id: 'D4' }) -const res_pack = board.add(R_Array_Concave_4x0603, { +// res_pack +const RN1 = board.add(R_Array_Concave_4x0603, { translate: pt(2.027, 1.816), rotate: 0, - id: 'res_pack' + id: 'RN1' }) +board.setNetlist([ + {name: "usb.gnd", pads: [["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["U1", "1"], ["U2", "1"], ["U2", "15"], ["U2", "38"], ["U2", "39"], ["SW2", "2"], ["J1", "S1"], ["C1", "2"], ["C5", "2"], ["C6", "2"], ["J2", "4"], ["SW1", "2"], ["R4", "2"], ["C7", "2"], ["RN1", "8"], ["RN1", "7"], ["RN1", "6"], ["RN1", "5"], ["R1", "1"], ["R2", "1"], ["C3", "2"], ["C4", "2"]]}, + {name: "usb.pwr", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["U1", "3"], ["U1", "5"], ["C1", "1"], ["C3", "1"]]}, + {name: "reg.pwr_out", pads: [["U2", "2"], ["R3", "1"], ["C5", "1"], ["C6", "1"], ["J2", "1"], ["R5", "1"], ["L1", "2"], ["C4", "1"]]}, + {name: "sw.out", pads: [["U2", "8"], ["SW2", "1"]]}, + {name: "mcu.gpio.led_0", pads: [["U2", "26"], ["D1", "2"]]}, + {name: "mcu.gpio.led_1", pads: [["U2", "27"], ["D2", "2"]]}, + {name: "mcu.gpio.led_2", pads: [["U2", "28"], ["D3", "2"]]}, + {name: "mcu.gpio.led_3", pads: [["U2", "29"], ["D4", "2"]]}, + {name: "res_pack.a.0", pads: [["RN1", "1"], ["D1", "1"]]}, + {name: "res_pack.a.1", pads: [["RN1", "2"], ["D2", "1"]]}, + {name: "res_pack.a.2", pads: [["RN1", "3"], ["D3", "1"]]}, + {name: "res_pack.a.3", pads: [["RN1", "4"], ["D4", "1"]]}, + {name: "usb.usb.dp", pads: [["J1", "A6"], ["J1", "B6"]]}, + {name: "usb.usb.dm", pads: [["J1", "A7"], ["J1", "B7"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "reg.fb.output", pads: [["U1", "4"], ["R3", "2"], ["R4", "1"]]}, + {name: "reg.vbst_cap.neg", pads: [["C2", "2"], ["U1", "2"], ["L1", "1"]]}, + {name: "reg.vbst_cap.pos", pads: [["C2", "1"], ["U1", "6"]]}, + {name: "mcu.program_uart_node.a_tx", pads: [["U2", "35"], ["J2", "2"]]}, + {name: "mcu.program_uart_node.b_tx", pads: [["U2", "34"], ["J2", "3"]]}, + {name: "mcu.program_en_node", pads: [["U2", "3"], ["R5", "2"], ["C7", "1"]]}, + {name: "mcu.program_boot_node", pads: [["U2", "25"], ["SW1", "1"]]}, + {name: "mcu.ic.io2", pads: [["U2", "24"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(2.5401574803149614, 2.308661417322835); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/TestBlinkyWithLibrary/TestBlinkyWithLibrary.svgpcb.js b/examples/TestBlinkyWithLibrary/TestBlinkyWithLibrary.svgpcb.js index bb09a7fd0..ff85c0f1d 100644 --- a/examples/TestBlinkyWithLibrary/TestBlinkyWithLibrary.svgpcb.js +++ b/examples/TestBlinkyWithLibrary/TestBlinkyWithLibrary.svgpcb.js @@ -1,122 +1,179 @@ const board = new PCB(); -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(2.750, 0.165), rotate: 0, - id: 'usb_conn' + id: 'J1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(2.598, 0.420), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'R1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(2.754, 0.420), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'R2' }) -const reg_ic = board.add(SOT_23_6, { +// reg.ic +const U1 = board.add(SOT_23_6, { translate: pt(2.621, 0.633), rotate: 0, - id: 'reg_ic' + id: 'U1' }) -const reg_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg.fb.div.top_res +const R3 = board.add(R_0603_1608Metric, { translate: pt(2.949, 0.769), rotate: 0, - id: 'reg_fb_div_top_res' + id: 'R3' }) -const reg_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg.fb.div.bottom_res +const R4 = board.add(R_0603_1608Metric, { translate: pt(2.598, 0.885), rotate: 0, - id: 'reg_fb_div_bottom_res' + id: 'R4' }) -const reg_hf_in_cap_cap = board.add(C_0603_1608Metric, { +// reg.hf_in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(2.754, 0.885), rotate: 0, - id: 'reg_hf_in_cap_cap' + id: 'C1' }) -const reg_vbst_cap = board.add(C_0603_1608Metric, { +// reg.vbst_cap +const C2 = board.add(C_0603_1608Metric, { translate: pt(2.910, 0.885), rotate: 0, - id: 'reg_vbst_cap' + id: 'C2' }) -const reg_power_path_inductor = board.add(L_0805_2012Metric, { +// reg.power_path.inductor +const L1 = board.add(L_0805_2012Metric, { translate: pt(2.782, 0.773), rotate: 0, - id: 'reg_power_path_inductor' + id: 'L1' }) -const reg_power_path_in_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.in_cap.cap +const C3 = board.add(C_0805_2012Metric, { translate: pt(2.808, 0.605), rotate: 0, - id: 'reg_power_path_in_cap_cap' + id: 'C3' }) -const reg_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { translate: pt(2.607, 0.778), rotate: 0, - id: 'reg_power_path_out_cap_cap' + id: 'C4' }) -const mcu_ic = board.add(ESP32_WROOM_32, { +// mcu.ic +const U2 = board.add(ESP32_WROOM_32, { translate: pt(0.945, 0.414), rotate: 0, - id: 'mcu_ic' + id: 'U2' }) -const mcu_vcc_cap0_cap = board.add(C_1206_3216Metric, { +// mcu.vcc_cap0.cap +const C5 = board.add(C_1206_3216Metric, { translate: pt(2.020, 0.789), rotate: 0, - id: 'mcu_vcc_cap0_cap' + id: 'C5' }) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// mcu.vcc_cap1.cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(2.208, 0.773), rotate: 0, - id: 'mcu_vcc_cap1_cap' + id: 'C6' }) -const mcu_prog_conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// mcu.prog.conn +const J2 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(2.000, 0.370), rotate: 0, - id: 'mcu_prog_conn' + id: 'J2' }) -const mcu_boot_package = board.add(SW_SPST_SKQG_WithoutStem, { +// mcu.boot.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(2.096, 0.593), rotate: 0, - id: 'mcu_boot_package' + id: 'SW1' }) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { +// mcu.en_pull.rc.r +const R5 = board.add(R_0603_1608Metric, { translate: pt(2.364, 0.773), rotate: 0, - id: 'mcu_en_pull_rc_r' + id: 'R5' }) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { +// mcu.en_pull.rc.c +const C7 = board.add(C_0603_1608Metric, { translate: pt(1.987, 0.903), rotate: 0, - id: 'mcu_en_pull_rc_c' + id: 'C7' }) -const sw_package = board.add(SW_SPST_SKQG_WithoutStem, { +// sw.package +const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(2.707, 1.493), rotate: 0, - id: 'sw_package' + id: 'SW2' }) -const led_0__package = board.add(LED_0603_1608Metric, { +// led[0].package +const D1 = board.add(LED_0603_1608Metric, { translate: pt(0.528, 1.771), rotate: 0, - id: 'led_0__package' + id: 'D1' }) -const led_0__res = board.add(R_0603_1608Metric, { +// led[0].res +const R6 = board.add(R_0603_1608Metric, { translate: pt(0.528, 1.868), rotate: 0, - id: 'led_0__res' + id: 'R6' }) -const led_1__package = board.add(LED_0603_1608Metric, { +// led[1].package +const D2 = board.add(LED_0603_1608Metric, { translate: pt(0.058, 1.771), rotate: 0, - id: 'led_1__package' + id: 'D2' }) -const led_1__res = board.add(R_0603_1608Metric, { +// led[1].res +const R7 = board.add(R_0603_1608Metric, { translate: pt(0.058, 1.868), rotate: 0, - id: 'led_1__res' + id: 'R7' }) -const led_2__package = board.add(LED_0603_1608Metric, { - translate: pt(0.763, 1.771), rotate: 0, - id: 'led_2__package' -}) -const led_2__res = board.add(R_0603_1608Metric, { - translate: pt(0.763, 1.868), rotate: 0, - id: 'led_2__res' -}) -const led_3__package = board.add(LED_0603_1608Metric, { +// led[2].package +const D3 = board.add(LED_0603_1608Metric, { translate: pt(0.293, 1.771), rotate: 0, - id: 'led_3__package' + id: 'D3' }) -const led_3__res = board.add(R_0603_1608Metric, { +// led[2].res +const R8 = board.add(R_0603_1608Metric, { translate: pt(0.293, 1.868), rotate: 0, - id: 'led_3__res' + id: 'R8' }) -const mag_ic = board.add(SOT_23, { +// led[3].package +const D4 = board.add(LED_0603_1608Metric, { + translate: pt(0.763, 1.771), rotate: 0, + id: 'D4' +}) +// led[3].res +const R9 = board.add(R_0603_1608Metric, { + translate: pt(0.763, 1.868), rotate: 0, + id: 'R9' +}) +// mag.ic +const U3 = board.add(SOT_23, { translate: pt(2.616, 1.099), rotate: 0, - id: 'mag_ic' + id: 'U3' }) -const mag_cap_cap = board.add(C_0603_1608Metric, { +// mag.cap.cap +const C8 = board.add(C_0603_1608Metric, { translate: pt(2.598, 1.234), rotate: 0, - id: 'mag_cap_cap' + id: 'C8' }) +board.setNetlist([ + {name: "usb.gnd", pads: [["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["U1", "1"], ["U2", "1"], ["U2", "15"], ["U2", "38"], ["U2", "39"], ["SW2", "2"], ["R6", "2"], ["R7", "2"], ["R8", "2"], ["R9", "2"], ["U3", "3"], ["J1", "S1"], ["C1", "2"], ["C5", "2"], ["C6", "2"], ["J2", "4"], ["SW1", "2"], ["C8", "2"], ["R4", "2"], ["C7", "2"], ["R1", "1"], ["R2", "1"], ["C3", "2"], ["C4", "2"]]}, + {name: "usb.pwr", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["U1", "3"], ["U1", "5"], ["C1", "1"], ["C3", "1"]]}, + {name: "reg.pwr_out", pads: [["U2", "2"], ["U3", "1"], ["R3", "1"], ["C5", "1"], ["C6", "1"], ["J2", "1"], ["C8", "1"], ["R5", "1"], ["L1", "2"], ["C4", "1"]]}, + {name: "sw.out", pads: [["U2", "8"], ["SW2", "1"]]}, + {name: "led[0].signal", pads: [["U2", "26"], ["D1", "2"]]}, + {name: "led[1].signal", pads: [["U2", "27"], ["D2", "2"]]}, + {name: "led[2].signal", pads: [["U2", "28"], ["D3", "2"]]}, + {name: "led[3].signal", pads: [["U2", "29"], ["D4", "2"]]}, + {name: "mag.out", pads: [["U2", "9"], ["U3", "2"]]}, + {name: "usb.usb.dp", pads: [["J1", "A6"], ["J1", "B6"]]}, + {name: "usb.usb.dm", pads: [["J1", "A7"], ["J1", "B7"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "reg.fb.output", pads: [["U1", "4"], ["R3", "2"], ["R4", "1"]]}, + {name: "reg.vbst_cap.neg", pads: [["C2", "2"], ["U1", "2"], ["L1", "1"]]}, + {name: "reg.vbst_cap.pos", pads: [["C2", "1"], ["U1", "6"]]}, + {name: "mcu.program_uart_node.a_tx", pads: [["U2", "35"], ["J2", "2"]]}, + {name: "mcu.program_uart_node.b_tx", pads: [["U2", "34"], ["J2", "3"]]}, + {name: "mcu.program_en_node", pads: [["U2", "3"], ["R5", "2"], ["C7", "1"]]}, + {name: "mcu.program_boot_node", pads: [["U2", "25"], ["SW1", "1"]]}, + {name: "mcu.ic.io2", pads: [["U2", "24"]]}, + {name: "led[0].res.a", pads: [["R6", "1"], ["D1", "1"]]}, + {name: "led[1].res.a", pads: [["R7", "1"], ["D2", "1"]]}, + {name: "led[2].res.a", pads: [["R8", "1"], ["D3", "1"]]}, + {name: "led[3].res.a", pads: [["R9", "1"], ["D4", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(3.1251968503937015, 2.01496062992126); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/TestBlinkyWithLibraryExport/TestBlinkyWithLibraryExport.svgpcb.js b/examples/TestBlinkyWithLibraryExport/TestBlinkyWithLibraryExport.svgpcb.js index bb09a7fd0..ff85c0f1d 100644 --- a/examples/TestBlinkyWithLibraryExport/TestBlinkyWithLibraryExport.svgpcb.js +++ b/examples/TestBlinkyWithLibraryExport/TestBlinkyWithLibraryExport.svgpcb.js @@ -1,122 +1,179 @@ const board = new PCB(); -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(2.750, 0.165), rotate: 0, - id: 'usb_conn' + id: 'J1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(2.598, 0.420), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'R1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(2.754, 0.420), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'R2' }) -const reg_ic = board.add(SOT_23_6, { +// reg.ic +const U1 = board.add(SOT_23_6, { translate: pt(2.621, 0.633), rotate: 0, - id: 'reg_ic' + id: 'U1' }) -const reg_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg.fb.div.top_res +const R3 = board.add(R_0603_1608Metric, { translate: pt(2.949, 0.769), rotate: 0, - id: 'reg_fb_div_top_res' + id: 'R3' }) -const reg_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg.fb.div.bottom_res +const R4 = board.add(R_0603_1608Metric, { translate: pt(2.598, 0.885), rotate: 0, - id: 'reg_fb_div_bottom_res' + id: 'R4' }) -const reg_hf_in_cap_cap = board.add(C_0603_1608Metric, { +// reg.hf_in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(2.754, 0.885), rotate: 0, - id: 'reg_hf_in_cap_cap' + id: 'C1' }) -const reg_vbst_cap = board.add(C_0603_1608Metric, { +// reg.vbst_cap +const C2 = board.add(C_0603_1608Metric, { translate: pt(2.910, 0.885), rotate: 0, - id: 'reg_vbst_cap' + id: 'C2' }) -const reg_power_path_inductor = board.add(L_0805_2012Metric, { +// reg.power_path.inductor +const L1 = board.add(L_0805_2012Metric, { translate: pt(2.782, 0.773), rotate: 0, - id: 'reg_power_path_inductor' + id: 'L1' }) -const reg_power_path_in_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.in_cap.cap +const C3 = board.add(C_0805_2012Metric, { translate: pt(2.808, 0.605), rotate: 0, - id: 'reg_power_path_in_cap_cap' + id: 'C3' }) -const reg_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { translate: pt(2.607, 0.778), rotate: 0, - id: 'reg_power_path_out_cap_cap' + id: 'C4' }) -const mcu_ic = board.add(ESP32_WROOM_32, { +// mcu.ic +const U2 = board.add(ESP32_WROOM_32, { translate: pt(0.945, 0.414), rotate: 0, - id: 'mcu_ic' + id: 'U2' }) -const mcu_vcc_cap0_cap = board.add(C_1206_3216Metric, { +// mcu.vcc_cap0.cap +const C5 = board.add(C_1206_3216Metric, { translate: pt(2.020, 0.789), rotate: 0, - id: 'mcu_vcc_cap0_cap' + id: 'C5' }) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// mcu.vcc_cap1.cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(2.208, 0.773), rotate: 0, - id: 'mcu_vcc_cap1_cap' + id: 'C6' }) -const mcu_prog_conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// mcu.prog.conn +const J2 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(2.000, 0.370), rotate: 0, - id: 'mcu_prog_conn' + id: 'J2' }) -const mcu_boot_package = board.add(SW_SPST_SKQG_WithoutStem, { +// mcu.boot.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(2.096, 0.593), rotate: 0, - id: 'mcu_boot_package' + id: 'SW1' }) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { +// mcu.en_pull.rc.r +const R5 = board.add(R_0603_1608Metric, { translate: pt(2.364, 0.773), rotate: 0, - id: 'mcu_en_pull_rc_r' + id: 'R5' }) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { +// mcu.en_pull.rc.c +const C7 = board.add(C_0603_1608Metric, { translate: pt(1.987, 0.903), rotate: 0, - id: 'mcu_en_pull_rc_c' + id: 'C7' }) -const sw_package = board.add(SW_SPST_SKQG_WithoutStem, { +// sw.package +const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(2.707, 1.493), rotate: 0, - id: 'sw_package' + id: 'SW2' }) -const led_0__package = board.add(LED_0603_1608Metric, { +// led[0].package +const D1 = board.add(LED_0603_1608Metric, { translate: pt(0.528, 1.771), rotate: 0, - id: 'led_0__package' + id: 'D1' }) -const led_0__res = board.add(R_0603_1608Metric, { +// led[0].res +const R6 = board.add(R_0603_1608Metric, { translate: pt(0.528, 1.868), rotate: 0, - id: 'led_0__res' + id: 'R6' }) -const led_1__package = board.add(LED_0603_1608Metric, { +// led[1].package +const D2 = board.add(LED_0603_1608Metric, { translate: pt(0.058, 1.771), rotate: 0, - id: 'led_1__package' + id: 'D2' }) -const led_1__res = board.add(R_0603_1608Metric, { +// led[1].res +const R7 = board.add(R_0603_1608Metric, { translate: pt(0.058, 1.868), rotate: 0, - id: 'led_1__res' + id: 'R7' }) -const led_2__package = board.add(LED_0603_1608Metric, { - translate: pt(0.763, 1.771), rotate: 0, - id: 'led_2__package' -}) -const led_2__res = board.add(R_0603_1608Metric, { - translate: pt(0.763, 1.868), rotate: 0, - id: 'led_2__res' -}) -const led_3__package = board.add(LED_0603_1608Metric, { +// led[2].package +const D3 = board.add(LED_0603_1608Metric, { translate: pt(0.293, 1.771), rotate: 0, - id: 'led_3__package' + id: 'D3' }) -const led_3__res = board.add(R_0603_1608Metric, { +// led[2].res +const R8 = board.add(R_0603_1608Metric, { translate: pt(0.293, 1.868), rotate: 0, - id: 'led_3__res' + id: 'R8' }) -const mag_ic = board.add(SOT_23, { +// led[3].package +const D4 = board.add(LED_0603_1608Metric, { + translate: pt(0.763, 1.771), rotate: 0, + id: 'D4' +}) +// led[3].res +const R9 = board.add(R_0603_1608Metric, { + translate: pt(0.763, 1.868), rotate: 0, + id: 'R9' +}) +// mag.ic +const U3 = board.add(SOT_23, { translate: pt(2.616, 1.099), rotate: 0, - id: 'mag_ic' + id: 'U3' }) -const mag_cap_cap = board.add(C_0603_1608Metric, { +// mag.cap.cap +const C8 = board.add(C_0603_1608Metric, { translate: pt(2.598, 1.234), rotate: 0, - id: 'mag_cap_cap' + id: 'C8' }) +board.setNetlist([ + {name: "usb.gnd", pads: [["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["U1", "1"], ["U2", "1"], ["U2", "15"], ["U2", "38"], ["U2", "39"], ["SW2", "2"], ["R6", "2"], ["R7", "2"], ["R8", "2"], ["R9", "2"], ["U3", "3"], ["J1", "S1"], ["C1", "2"], ["C5", "2"], ["C6", "2"], ["J2", "4"], ["SW1", "2"], ["C8", "2"], ["R4", "2"], ["C7", "2"], ["R1", "1"], ["R2", "1"], ["C3", "2"], ["C4", "2"]]}, + {name: "usb.pwr", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["U1", "3"], ["U1", "5"], ["C1", "1"], ["C3", "1"]]}, + {name: "reg.pwr_out", pads: [["U2", "2"], ["U3", "1"], ["R3", "1"], ["C5", "1"], ["C6", "1"], ["J2", "1"], ["C8", "1"], ["R5", "1"], ["L1", "2"], ["C4", "1"]]}, + {name: "sw.out", pads: [["U2", "8"], ["SW2", "1"]]}, + {name: "led[0].signal", pads: [["U2", "26"], ["D1", "2"]]}, + {name: "led[1].signal", pads: [["U2", "27"], ["D2", "2"]]}, + {name: "led[2].signal", pads: [["U2", "28"], ["D3", "2"]]}, + {name: "led[3].signal", pads: [["U2", "29"], ["D4", "2"]]}, + {name: "mag.out", pads: [["U2", "9"], ["U3", "2"]]}, + {name: "usb.usb.dp", pads: [["J1", "A6"], ["J1", "B6"]]}, + {name: "usb.usb.dm", pads: [["J1", "A7"], ["J1", "B7"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "reg.fb.output", pads: [["U1", "4"], ["R3", "2"], ["R4", "1"]]}, + {name: "reg.vbst_cap.neg", pads: [["C2", "2"], ["U1", "2"], ["L1", "1"]]}, + {name: "reg.vbst_cap.pos", pads: [["C2", "1"], ["U1", "6"]]}, + {name: "mcu.program_uart_node.a_tx", pads: [["U2", "35"], ["J2", "2"]]}, + {name: "mcu.program_uart_node.b_tx", pads: [["U2", "34"], ["J2", "3"]]}, + {name: "mcu.program_en_node", pads: [["U2", "3"], ["R5", "2"], ["C7", "1"]]}, + {name: "mcu.program_boot_node", pads: [["U2", "25"], ["SW1", "1"]]}, + {name: "mcu.ic.io2", pads: [["U2", "24"]]}, + {name: "led[0].res.a", pads: [["R6", "1"], ["D1", "1"]]}, + {name: "led[1].res.a", pads: [["R7", "1"], ["D2", "1"]]}, + {name: "led[2].res.a", pads: [["R8", "1"], ["D3", "1"]]}, + {name: "led[3].res.a", pads: [["R9", "1"], ["D4", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(3.1251968503937015, 2.01496062992126); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/TestBlinkyWithModeledSchematicImport/TestBlinkyWithModeledSchematicImport.svgpcb.js b/examples/TestBlinkyWithModeledSchematicImport/TestBlinkyWithModeledSchematicImport.svgpcb.js index f164d7aa0..c1df37634 100644 --- a/examples/TestBlinkyWithModeledSchematicImport/TestBlinkyWithModeledSchematicImport.svgpcb.js +++ b/examples/TestBlinkyWithModeledSchematicImport/TestBlinkyWithModeledSchematicImport.svgpcb.js @@ -1,122 +1,180 @@ const board = new PCB(); -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(0.987, 1.907), rotate: 0, - id: 'usb_conn' + id: 'J1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(0.835, 2.162), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'R1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(0.991, 2.162), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'R2' }) -const reg_ic = board.add(SOT_23_6, { +// reg.ic +const U1 = board.add(SOT_23_6, { translate: pt(1.576, 1.809), rotate: 0, - id: 'reg_ic' + id: 'U1' }) -const reg_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg.fb.div.top_res +const R3 = board.add(R_0603_1608Metric, { translate: pt(1.904, 1.944), rotate: 0, - id: 'reg_fb_div_top_res' + id: 'R3' }) -const reg_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg.fb.div.bottom_res +const R4 = board.add(R_0603_1608Metric, { translate: pt(1.554, 2.061), rotate: 0, - id: 'reg_fb_div_bottom_res' + id: 'R4' }) -const reg_hf_in_cap_cap = board.add(C_0603_1608Metric, { +// reg.hf_in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(1.709, 2.061), rotate: 0, - id: 'reg_hf_in_cap_cap' + id: 'C1' }) -const reg_vbst_cap = board.add(C_0603_1608Metric, { +// reg.vbst_cap +const C2 = board.add(C_0603_1608Metric, { translate: pt(1.865, 2.061), rotate: 0, - id: 'reg_vbst_cap' + id: 'C2' }) -const reg_power_path_inductor = board.add(L_0805_2012Metric, { +// reg.power_path.inductor +const L1 = board.add(L_0805_2012Metric, { translate: pt(1.737, 1.949), rotate: 0, - id: 'reg_power_path_inductor' + id: 'L1' }) -const reg_power_path_in_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.in_cap.cap +const C3 = board.add(C_0805_2012Metric, { translate: pt(1.763, 1.781), rotate: 0, - id: 'reg_power_path_in_cap_cap' + id: 'C3' }) -const reg_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { translate: pt(1.562, 1.954), rotate: 0, - id: 'reg_power_path_out_cap_cap' + id: 'C4' }) -const mcu_ic = board.add(ESP32_WROOM_32, { +// mcu.ic +const U2 = board.add(ESP32_WROOM_32, { translate: pt(0.945, 0.414), rotate: 0, - id: 'mcu_ic' + id: 'U2' }) -const mcu_vcc_cap0_cap = board.add(C_1206_3216Metric, { +// mcu.vcc_cap0.cap +const C5 = board.add(C_1206_3216Metric, { translate: pt(2.020, 0.789), rotate: 0, - id: 'mcu_vcc_cap0_cap' + id: 'C5' }) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// mcu.vcc_cap1.cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(2.208, 0.773), rotate: 0, - id: 'mcu_vcc_cap1_cap' + id: 'C6' }) -const mcu_prog_conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// mcu.prog.conn +const J2 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(2.000, 0.370), rotate: 0, - id: 'mcu_prog_conn' + id: 'J2' }) -const mcu_boot_package = board.add(SW_SPST_SKQG_WithoutStem, { +// mcu.boot.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(2.096, 0.593), rotate: 0, - id: 'mcu_boot_package' + id: 'SW1' }) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { +// mcu.en_pull.rc.r +const R5 = board.add(R_0603_1608Metric, { translate: pt(2.364, 0.773), rotate: 0, - id: 'mcu_en_pull_rc_r' + id: 'R5' }) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { +// mcu.en_pull.rc.c +const C7 = board.add(C_0603_1608Metric, { translate: pt(1.987, 0.903), rotate: 0, - id: 'mcu_en_pull_rc_c' + id: 'C7' }) -const conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// conn +const J3 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(1.385, 2.112), rotate: 0, - id: 'conn' + id: 'J3' }) -const sense_Q1 = board.add(SOT_23, { +// sense.Q1 +const Q1 = board.add(SOT_23, { translate: pt(0.410, 1.809), rotate: 0, - id: 'sense_Q1' + id: 'Q1' }) -const sense_R3 = board.add(R_0603_1608Metric, { +// sense.R3 +const R6 = board.add(R_0603_1608Metric, { translate: pt(0.566, 1.944), rotate: 0, - id: 'sense_R3' + id: 'R6' }) -const sense_R4 = board.add(R_0603_1608Metric, { +// sense.R4 +const R7 = board.add(R_0603_1608Metric, { translate: pt(0.393, 2.061), rotate: 0, - id: 'sense_R4' + id: 'R7' }) -const sense_C2 = board.add(C_0805_2012Metric, { +// sense.C2 +const C8 = board.add(C_0805_2012Metric, { translate: pt(0.592, 1.781), rotate: 0, - id: 'sense_C2' + id: 'C8' }) -const sense_C4 = board.add(C_0603_1608Metric, { +// sense.C4 +const C9 = board.add(C_0603_1608Metric, { translate: pt(0.549, 2.061), rotate: 0, - id: 'sense_C4' + id: 'C9' }) -const sense_R1 = board.add(R_0603_1608Metric, { +// sense.R1 +const R8 = board.add(R_0603_1608Metric, { translate: pt(0.058, 2.220), rotate: 0, - id: 'sense_R1' + id: 'R8' }) -const sense_R2 = board.add(R_0603_1608Metric, { +// sense.R2 +const R9 = board.add(R_0603_1608Metric, { translate: pt(0.214, 2.220), rotate: 0, - id: 'sense_R2' + id: 'R9' }) -const sense_C3 = board.add(C_0603_1608Metric, { +// sense.C3 +const C10 = board.add(C_0603_1608Metric, { translate: pt(0.370, 2.220), rotate: 0, - id: 'sense_C3' + id: 'C10' }) -const sense_U1 = board.add(SOP_16_3_9x9_9mm_P1_27mm, { +// sense.U1 +const U3 = board.add(SOP_16_3_9x9_9mm_P1_27mm, { translate: pt(0.148, 1.947), rotate: 0, - id: 'sense_U1' + id: 'U3' }) -const sense_C1 = board.add(C_0805_2012Metric, { +// sense.C1 +const C11 = board.add(C_0805_2012Metric, { translate: pt(0.402, 1.954), rotate: 0, - id: 'sense_C1' + id: 'C11' }) +board.setNetlist([ + {name: "sense.GND", pads: [["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["U1", "1"], ["U2", "1"], ["U2", "15"], ["U2", "38"], ["U2", "39"], ["C8", "2"], ["R9", "2"], ["U3", "14"], ["C11", "2"], ["U3", "10"], ["U3", "9"], ["U3", "15"], ["U3", "5"], ["C10", "2"], ["J1", "S1"], ["C1", "2"], ["C5", "2"], ["C6", "2"], ["J2", "4"], ["SW1", "2"], ["J3", "2"], ["R4", "2"], ["C7", "2"], ["R1", "1"], ["R2", "1"], ["C3", "2"], ["C4", "2"]]}, + {name: "usb.pwr", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["U1", "3"], ["U1", "5"], ["C1", "1"], ["C3", "1"]]}, + {name: "sense.VCC", pads: [["U2", "2"], ["Q1", "2"], ["C11", "1"], ["U3", "1"], ["U3", "16"], ["R3", "1"], ["C5", "1"], ["C6", "1"], ["J2", "1"], ["R5", "1"], ["L1", "2"], ["C4", "1"]]}, + {name: "sense.dout", pads: [["U2", "8"], ["U3", "12"]]}, + {name: "sense.sck", pads: [["U2", "9"], ["U3", "11"]]}, + {name: "sense.ep", pads: [["J3", "1"], ["C8", "1"], ["R8", "1"], ["Q1", "3"], ["U3", "3"]]}, + {name: "sense.sp", pads: [["J3", "3"], ["R6", "1"]]}, + {name: "sense.sn", pads: [["J3", "4"], ["R7", "1"]]}, + {name: "usb.usb.dp", pads: [["J1", "A6"], ["J1", "B6"]]}, + {name: "usb.usb.dm", pads: [["J1", "A7"], ["J1", "B7"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "reg.fb.output", pads: [["U1", "4"], ["R3", "2"], ["R4", "1"]]}, + {name: "reg.vbst_cap.neg", pads: [["C2", "2"], ["U1", "2"], ["L1", "1"]]}, + {name: "reg.vbst_cap.pos", pads: [["C2", "1"], ["U1", "6"]]}, + {name: "mcu.program_uart_node.a_tx", pads: [["U2", "35"], ["J2", "2"]]}, + {name: "mcu.program_uart_node.b_tx", pads: [["U2", "34"], ["J2", "3"]]}, + {name: "mcu.program_en_node", pads: [["U2", "3"], ["R5", "2"], ["C7", "1"]]}, + {name: "mcu.program_boot_node", pads: [["U2", "25"], ["SW1", "1"]]}, + {name: "mcu.ic.io2", pads: [["U2", "24"]]}, + {name: "sense.R3.b", pads: [["R6", "2"], ["C9", "1"], ["U3", "8"]]}, + {name: "sense.R4.b", pads: [["R7", "2"], ["C9", "2"], ["U3", "7"]]}, + {name: "sense.R1.b", pads: [["R8", "2"], ["R9", "1"], ["U3", "4"]]}, + {name: "sense.Q1.base", pads: [["Q1", "1"], ["U3", "2"]]}, + {name: "sense.C3.pos", pads: [["C10", "1"], ["U3", "6"]]}, + {name: "sense.U1.ports.13", pads: [["U3", "13"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(2.5401574803149614, 2.366535433070866); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/TestBlinkyWithSchematicImport/TestBlinkyWithSchematicImport.svgpcb.js b/examples/TestBlinkyWithSchematicImport/TestBlinkyWithSchematicImport.svgpcb.js index f164d7aa0..c1df37634 100644 --- a/examples/TestBlinkyWithSchematicImport/TestBlinkyWithSchematicImport.svgpcb.js +++ b/examples/TestBlinkyWithSchematicImport/TestBlinkyWithSchematicImport.svgpcb.js @@ -1,122 +1,180 @@ const board = new PCB(); -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(0.987, 1.907), rotate: 0, - id: 'usb_conn' + id: 'J1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(0.835, 2.162), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'R1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(0.991, 2.162), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'R2' }) -const reg_ic = board.add(SOT_23_6, { +// reg.ic +const U1 = board.add(SOT_23_6, { translate: pt(1.576, 1.809), rotate: 0, - id: 'reg_ic' + id: 'U1' }) -const reg_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg.fb.div.top_res +const R3 = board.add(R_0603_1608Metric, { translate: pt(1.904, 1.944), rotate: 0, - id: 'reg_fb_div_top_res' + id: 'R3' }) -const reg_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg.fb.div.bottom_res +const R4 = board.add(R_0603_1608Metric, { translate: pt(1.554, 2.061), rotate: 0, - id: 'reg_fb_div_bottom_res' + id: 'R4' }) -const reg_hf_in_cap_cap = board.add(C_0603_1608Metric, { +// reg.hf_in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(1.709, 2.061), rotate: 0, - id: 'reg_hf_in_cap_cap' + id: 'C1' }) -const reg_vbst_cap = board.add(C_0603_1608Metric, { +// reg.vbst_cap +const C2 = board.add(C_0603_1608Metric, { translate: pt(1.865, 2.061), rotate: 0, - id: 'reg_vbst_cap' + id: 'C2' }) -const reg_power_path_inductor = board.add(L_0805_2012Metric, { +// reg.power_path.inductor +const L1 = board.add(L_0805_2012Metric, { translate: pt(1.737, 1.949), rotate: 0, - id: 'reg_power_path_inductor' + id: 'L1' }) -const reg_power_path_in_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.in_cap.cap +const C3 = board.add(C_0805_2012Metric, { translate: pt(1.763, 1.781), rotate: 0, - id: 'reg_power_path_in_cap_cap' + id: 'C3' }) -const reg_power_path_out_cap_cap = board.add(C_0805_2012Metric, { +// reg.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { translate: pt(1.562, 1.954), rotate: 0, - id: 'reg_power_path_out_cap_cap' + id: 'C4' }) -const mcu_ic = board.add(ESP32_WROOM_32, { +// mcu.ic +const U2 = board.add(ESP32_WROOM_32, { translate: pt(0.945, 0.414), rotate: 0, - id: 'mcu_ic' + id: 'U2' }) -const mcu_vcc_cap0_cap = board.add(C_1206_3216Metric, { +// mcu.vcc_cap0.cap +const C5 = board.add(C_1206_3216Metric, { translate: pt(2.020, 0.789), rotate: 0, - id: 'mcu_vcc_cap0_cap' + id: 'C5' }) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// mcu.vcc_cap1.cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(2.208, 0.773), rotate: 0, - id: 'mcu_vcc_cap1_cap' + id: 'C6' }) -const mcu_prog_conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// mcu.prog.conn +const J2 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(2.000, 0.370), rotate: 0, - id: 'mcu_prog_conn' + id: 'J2' }) -const mcu_boot_package = board.add(SW_SPST_SKQG_WithoutStem, { +// mcu.boot.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(2.096, 0.593), rotate: 0, - id: 'mcu_boot_package' + id: 'SW1' }) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { +// mcu.en_pull.rc.r +const R5 = board.add(R_0603_1608Metric, { translate: pt(2.364, 0.773), rotate: 0, - id: 'mcu_en_pull_rc_r' + id: 'R5' }) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { +// mcu.en_pull.rc.c +const C7 = board.add(C_0603_1608Metric, { translate: pt(1.987, 0.903), rotate: 0, - id: 'mcu_en_pull_rc_c' + id: 'C7' }) -const conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// conn +const J3 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(1.385, 2.112), rotate: 0, - id: 'conn' + id: 'J3' }) -const sense_Q1 = board.add(SOT_23, { +// sense.Q1 +const Q1 = board.add(SOT_23, { translate: pt(0.410, 1.809), rotate: 0, - id: 'sense_Q1' + id: 'Q1' }) -const sense_R3 = board.add(R_0603_1608Metric, { +// sense.R3 +const R6 = board.add(R_0603_1608Metric, { translate: pt(0.566, 1.944), rotate: 0, - id: 'sense_R3' + id: 'R6' }) -const sense_R4 = board.add(R_0603_1608Metric, { +// sense.R4 +const R7 = board.add(R_0603_1608Metric, { translate: pt(0.393, 2.061), rotate: 0, - id: 'sense_R4' + id: 'R7' }) -const sense_C2 = board.add(C_0805_2012Metric, { +// sense.C2 +const C8 = board.add(C_0805_2012Metric, { translate: pt(0.592, 1.781), rotate: 0, - id: 'sense_C2' + id: 'C8' }) -const sense_C4 = board.add(C_0603_1608Metric, { +// sense.C4 +const C9 = board.add(C_0603_1608Metric, { translate: pt(0.549, 2.061), rotate: 0, - id: 'sense_C4' + id: 'C9' }) -const sense_R1 = board.add(R_0603_1608Metric, { +// sense.R1 +const R8 = board.add(R_0603_1608Metric, { translate: pt(0.058, 2.220), rotate: 0, - id: 'sense_R1' + id: 'R8' }) -const sense_R2 = board.add(R_0603_1608Metric, { +// sense.R2 +const R9 = board.add(R_0603_1608Metric, { translate: pt(0.214, 2.220), rotate: 0, - id: 'sense_R2' + id: 'R9' }) -const sense_C3 = board.add(C_0603_1608Metric, { +// sense.C3 +const C10 = board.add(C_0603_1608Metric, { translate: pt(0.370, 2.220), rotate: 0, - id: 'sense_C3' + id: 'C10' }) -const sense_U1 = board.add(SOP_16_3_9x9_9mm_P1_27mm, { +// sense.U1 +const U3 = board.add(SOP_16_3_9x9_9mm_P1_27mm, { translate: pt(0.148, 1.947), rotate: 0, - id: 'sense_U1' + id: 'U3' }) -const sense_C1 = board.add(C_0805_2012Metric, { +// sense.C1 +const C11 = board.add(C_0805_2012Metric, { translate: pt(0.402, 1.954), rotate: 0, - id: 'sense_C1' + id: 'C11' }) +board.setNetlist([ + {name: "sense.GND", pads: [["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["U1", "1"], ["U2", "1"], ["U2", "15"], ["U2", "38"], ["U2", "39"], ["C8", "2"], ["R9", "2"], ["U3", "14"], ["C11", "2"], ["U3", "10"], ["U3", "9"], ["U3", "15"], ["U3", "5"], ["C10", "2"], ["J1", "S1"], ["C1", "2"], ["C5", "2"], ["C6", "2"], ["J2", "4"], ["SW1", "2"], ["J3", "2"], ["R4", "2"], ["C7", "2"], ["R1", "1"], ["R2", "1"], ["C3", "2"], ["C4", "2"]]}, + {name: "usb.pwr", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["U1", "3"], ["U1", "5"], ["C1", "1"], ["C3", "1"]]}, + {name: "sense.VCC", pads: [["U2", "2"], ["Q1", "2"], ["C11", "1"], ["U3", "1"], ["U3", "16"], ["R3", "1"], ["C5", "1"], ["C6", "1"], ["J2", "1"], ["R5", "1"], ["L1", "2"], ["C4", "1"]]}, + {name: "sense.dout", pads: [["U2", "8"], ["U3", "12"]]}, + {name: "sense.sck", pads: [["U2", "9"], ["U3", "11"]]}, + {name: "sense.ep", pads: [["J3", "1"], ["C8", "1"], ["R8", "1"], ["Q1", "3"], ["U3", "3"]]}, + {name: "sense.sp", pads: [["J3", "3"], ["R6", "1"]]}, + {name: "sense.sn", pads: [["J3", "4"], ["R7", "1"]]}, + {name: "usb.usb.dp", pads: [["J1", "A6"], ["J1", "B6"]]}, + {name: "usb.usb.dm", pads: [["J1", "A7"], ["J1", "B7"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "reg.fb.output", pads: [["U1", "4"], ["R3", "2"], ["R4", "1"]]}, + {name: "reg.vbst_cap.neg", pads: [["C2", "2"], ["U1", "2"], ["L1", "1"]]}, + {name: "reg.vbst_cap.pos", pads: [["C2", "1"], ["U1", "6"]]}, + {name: "mcu.program_uart_node.a_tx", pads: [["U2", "35"], ["J2", "2"]]}, + {name: "mcu.program_uart_node.b_tx", pads: [["U2", "34"], ["J2", "3"]]}, + {name: "mcu.program_en_node", pads: [["U2", "3"], ["R5", "2"], ["C7", "1"]]}, + {name: "mcu.program_boot_node", pads: [["U2", "25"], ["SW1", "1"]]}, + {name: "mcu.ic.io2", pads: [["U2", "24"]]}, + {name: "sense.R3.b", pads: [["R6", "2"], ["C9", "1"], ["U3", "8"]]}, + {name: "sense.R4.b", pads: [["R7", "2"], ["C9", "2"], ["U3", "7"]]}, + {name: "sense.R1.b", pads: [["R8", "2"], ["R9", "1"], ["U3", "4"]]}, + {name: "sense.Q1.base", pads: [["Q1", "1"], ["U3", "2"]]}, + {name: "sense.C3.pos", pads: [["C10", "1"], ["U3", "6"]]}, + {name: "sense.U1.ports.13", pads: [["U3", "13"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(2.5401574803149614, 2.366535433070866); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/TofArray/TofArray.svgpcb.js b/examples/TofArray/TofArray.svgpcb.js index 397f8cde1..0f59f9efb 100644 --- a/examples/TofArray/TofArray.svgpcb.js +++ b/examples/TofArray/TofArray.svgpcb.js @@ -1,294 +1,425 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const H1 = board.add(JlcToolingHole_1_152mm, { translate: pt(2.098, 1.682), rotate: 0, - id: 'jlc_th_th1' + id: 'H1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const H2 = board.add(JlcToolingHole_1_152mm, { translate: pt(2.137, 1.682), rotate: 0, - id: 'jlc_th_th2' + id: 'H2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const H3 = board.add(JlcToolingHole_1_152mm, { translate: pt(2.098, 1.721), rotate: 0, - id: 'jlc_th_th3' + id: 'H3' }) -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(2.034, 0.165), rotate: 0, - id: 'usb_conn' + id: 'J1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { translate: pt(1.883, 0.420), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'R1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { translate: pt(2.039, 0.420), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'R2' }) -const can_conn = board.add(Molex_SL_171971_0005_1x05_P2_54mm_Vertical, { +// can.conn +const J2 = board.add(Molex_SL_171971_0005_1x05_P2_54mm_Vertical, { translate: pt(1.539, 0.973), rotate: 0, - id: 'can_conn' + id: 'J2' }) -const tp_vusb_tp = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(0.659, 1.735), rotate: 0, - id: 'tp_vusb_tp' +// tp_vusb.tp +const TP1 = board.add(TestPoint_Keystone_5015_Micro_Minature, { + translate: pt(0.947, 1.735), rotate: 0, + id: 'TP1' }) -const tp_gnd_tp = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(2.172, 1.365), rotate: 0, - id: 'tp_gnd_tp' +// tp_gnd.tp +const TP2 = board.add(TestPoint_Keystone_5015_Micro_Minature, { + translate: pt(0.085, 1.735), rotate: 0, + id: 'TP2' }) -const reg_3v3_ic = board.add(SOT_223_3_TabPin2, { +// reg_3v3.ic +const U1 = board.add(SOT_223_3_TabPin2, { translate: pt(0.173, 0.935), rotate: 0, - id: 'reg_3v3_ic' + id: 'U1' }) -const reg_3v3_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_3v3.in_cap.cap +const C1 = board.add(C_0603_1608Metric, { translate: pt(0.231, 1.145), rotate: 0, - id: 'reg_3v3_in_cap_cap' + id: 'C1' }) -const reg_3v3_out_cap_cap = board.add(C_0805_2012Metric, { +// reg_3v3.out_cap.cap +const C2 = board.add(C_0805_2012Metric, { translate: pt(0.067, 1.155), rotate: 0, - id: 'reg_3v3_out_cap_cap' + id: 'C2' }) -const tp_3v3_tp = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(0.085, 1.735), rotate: 0, - id: 'tp_3v3_tp' +// tp_3v3.tp +const TP3 = board.add(TestPoint_Keystone_5015_Micro_Minature, { + translate: pt(0.659, 1.735), rotate: 0, + id: 'TP3' }) -const prot_3v3_diode = board.add(D_SOD_323, { +// prot_3v3.diode +const D1 = board.add(D_SOD_323, { translate: pt(1.213, 1.719), rotate: 0, - id: 'prot_3v3_diode' + id: 'D1' }) -const mcu_swd_conn = board.add(Tag_Connect_TC2050_IDC_FP_2x05_P1_27mm_Vertical, { +// mcu.swd.conn +const J3 = board.add(Tag_Connect_TC2050_IDC_FP_2x05_P1_27mm_Vertical, { translate: pt(0.661, 0.167), rotate: 0, - id: 'mcu_swd_conn' + id: 'J3' }) -const mcu_ic = board.add(LQFP_48_7x7mm_P0_5mm, { +// mcu.ic +const U2 = board.add(LQFP_48_7x7mm_P0_5mm, { translate: pt(0.203, 0.203), rotate: 0, - id: 'mcu_ic' + id: 'U2' }) -const mcu_pwr_cap_0__cap = board.add(C_0805_2012Metric, { +// mcu.pwr_cap[0].cap +const C3 = board.add(C_0805_2012Metric, { translate: pt(0.272, 0.483), rotate: 0, - id: 'mcu_pwr_cap_0__cap' + id: 'C3' }) -const mcu_pwr_cap_1__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[1].cap +const C4 = board.add(C_0603_1608Metric, { translate: pt(0.436, 0.474), rotate: 0, - id: 'mcu_pwr_cap_1__cap' + id: 'C4' }) -const mcu_pwr_cap_2__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[2].cap +const C5 = board.add(C_0603_1608Metric, { translate: pt(0.592, 0.474), rotate: 0, - id: 'mcu_pwr_cap_2__cap' + id: 'C5' }) -const mcu_pwr_cap_3__cap = board.add(C_0603_1608Metric, { +// mcu.pwr_cap[3].cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(0.748, 0.474), rotate: 0, - id: 'mcu_pwr_cap_3__cap' + id: 'C6' }) -const mcu_vdda_cap_0_cap = board.add(C_0603_1608Metric, { +// mcu.vdda_cap_0.cap +const C7 = board.add(C_0603_1608Metric, { translate: pt(0.058, 0.647), rotate: 0, - id: 'mcu_vdda_cap_0_cap' + id: 'C7' }) -const mcu_vdda_cap_1_cap = board.add(C_0603_1608Metric, { +// mcu.vdda_cap_1.cap +const C8 = board.add(C_0603_1608Metric, { translate: pt(0.214, 0.647), rotate: 0, - id: 'mcu_vdda_cap_1_cap' + id: 'C8' }) -const mcu_usb_pull_dp = board.add(R_0603_1608Metric, { +// mcu.usb_pull.dp +const R3 = board.add(R_0603_1608Metric, { translate: pt(0.370, 0.647), rotate: 0, - id: 'mcu_usb_pull_dp' + id: 'R3' }) -const mcu_crystal_package = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { +// mcu.crystal.package +const X1 = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { translate: pt(0.083, 0.512), rotate: 0, - id: 'mcu_crystal_package' + id: 'X1' }) -const mcu_crystal_cap_a = board.add(C_0603_1608Metric, { +// mcu.crystal.cap_a +const C9 = board.add(C_0603_1608Metric, { translate: pt(0.526, 0.647), rotate: 0, - id: 'mcu_crystal_cap_a' + id: 'C9' }) -const mcu_crystal_cap_b = board.add(C_0603_1608Metric, { +// mcu.crystal.cap_b +const C10 = board.add(C_0603_1608Metric, { translate: pt(0.682, 0.647), rotate: 0, - id: 'mcu_crystal_cap_b' + id: 'C10' }) -const sw1_package = board.add(SW_SPST_SKQG_WithoutStem, { +// sw1.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { translate: pt(0.742, 1.424), rotate: 0, - id: 'sw1_package' + id: 'SW1' }) -const leds_led_0__package = board.add(LED_0603_1608Metric, { +// leds.led[0].package +const D2 = board.add(LED_0603_1608Metric, { translate: pt(2.233, 0.823), rotate: 0, - id: 'leds_led_0__package' + id: 'D2' }) -const leds_led_1__package = board.add(LED_0603_1608Metric, { +// leds.led[1].package +const D3 = board.add(LED_0603_1608Metric, { translate: pt(2.389, 0.823), rotate: 0, - id: 'leds_led_1__package' + id: 'D3' }) -const leds_led_2__package = board.add(LED_0603_1608Metric, { +// leds.led[2].package +const D4 = board.add(LED_0603_1608Metric, { translate: pt(2.233, 0.920), rotate: 0, - id: 'leds_led_2__package' + id: 'D4' }) -const leds_led_3__package = board.add(LED_0603_1608Metric, { +// leds.led[3].package +const D5 = board.add(LED_0603_1608Metric, { translate: pt(2.389, 0.920), rotate: 0, - id: 'leds_led_3__package' + id: 'D5' }) -const leds_led_4__package = board.add(LED_0603_1608Metric, { +// leds.led[4].package +const D6 = board.add(LED_0603_1608Metric, { translate: pt(2.233, 1.017), rotate: 0, - id: 'leds_led_4__package' + id: 'D6' }) -const tof_elt_0__ic = board.add(ST_VL53L0X, { +// tof.elt[0].ic +const U3 = board.add(ST_VL53L0X, { translate: pt(1.063, 0.057), rotate: 0, - id: 'tof_elt_0__ic' + id: 'U3' }) -const tof_elt_0__vdd_cap_0__cap = board.add(C_0603_1608Metric, { +// tof.elt[0].vdd_cap[0].cap +const C11 = board.add(C_0603_1608Metric, { translate: pt(1.025, 0.452), rotate: 0, - id: 'tof_elt_0__vdd_cap_0__cap' + id: 'C11' }) -const tof_elt_0__vdd_cap_1__cap = board.add(C_0805_2012Metric, { +// tof.elt[0].vdd_cap[1].cap +const C12 = board.add(C_0805_2012Metric, { translate: pt(1.498, 0.192), rotate: 0, - id: 'tof_elt_0__vdd_cap_1__cap' + id: 'C12' }) -const tof_elt_1__ic = board.add(ST_VL53L0X, { +// tof.elt[1].ic +const U4 = board.add(ST_VL53L0X, { translate: pt(1.295, 0.057), rotate: 0, - id: 'tof_elt_1__ic' + id: 'U4' }) -const tof_elt_1__vdd_cap_0__cap = board.add(C_0603_1608Metric, { +// tof.elt[1].vdd_cap[0].cap +const C13 = board.add(C_0603_1608Metric, { translate: pt(1.181, 0.452), rotate: 0, - id: 'tof_elt_1__vdd_cap_0__cap' + id: 'C13' }) -const tof_elt_1__vdd_cap_1__cap = board.add(C_0805_2012Metric, { +// tof.elt[1].vdd_cap[1].cap +const C14 = board.add(C_0805_2012Metric, { translate: pt(1.033, 0.346), rotate: 0, - id: 'tof_elt_1__vdd_cap_1__cap' + id: 'C14' }) -const tof_elt_2__ic = board.add(ST_VL53L0X, { +// tof.elt[2].ic +const U5 = board.add(ST_VL53L0X, { translate: pt(1.528, 0.057), rotate: 0, - id: 'tof_elt_2__ic' + id: 'U5' }) -const tof_elt_2__vdd_cap_0__cap = board.add(C_0603_1608Metric, { +// tof.elt[2].vdd_cap[0].cap +const C15 = board.add(C_0603_1608Metric, { translate: pt(1.337, 0.452), rotate: 0, - id: 'tof_elt_2__vdd_cap_0__cap' + id: 'C15' }) -const tof_elt_2__vdd_cap_1__cap = board.add(C_0805_2012Metric, { +// tof.elt[2].vdd_cap[1].cap +const C16 = board.add(C_0805_2012Metric, { translate: pt(1.207, 0.346), rotate: 0, - id: 'tof_elt_2__vdd_cap_1__cap' + id: 'C16' }) -const tof_elt_3__ic = board.add(ST_VL53L0X, { +// tof.elt[3].ic +const U6 = board.add(ST_VL53L0X, { translate: pt(1.063, 0.211), rotate: 0, - id: 'tof_elt_3__ic' + id: 'U6' }) -const tof_elt_3__vdd_cap_0__cap = board.add(C_0603_1608Metric, { +// tof.elt[3].vdd_cap[0].cap +const C17 = board.add(C_0603_1608Metric, { translate: pt(1.493, 0.452), rotate: 0, - id: 'tof_elt_3__vdd_cap_0__cap' + id: 'C17' }) -const tof_elt_3__vdd_cap_1__cap = board.add(C_0805_2012Metric, { +// tof.elt[3].vdd_cap[1].cap +const C18 = board.add(C_0805_2012Metric, { translate: pt(1.380, 0.346), rotate: 0, - id: 'tof_elt_3__vdd_cap_1__cap' + id: 'C18' }) -const tof_elt_4__ic = board.add(ST_VL53L0X, { +// tof.elt[4].ic +const U7 = board.add(ST_VL53L0X, { translate: pt(1.295, 0.211), rotate: 0, - id: 'tof_elt_4__ic' + id: 'U7' }) -const tof_elt_4__vdd_cap_0__cap = board.add(C_0603_1608Metric, { +// tof.elt[4].vdd_cap[0].cap +const C19 = board.add(C_0603_1608Metric, { translate: pt(1.648, 0.452), rotate: 0, - id: 'tof_elt_4__vdd_cap_0__cap' + id: 'C19' }) -const tof_elt_4__vdd_cap_1__cap = board.add(C_0805_2012Metric, { +// tof.elt[4].vdd_cap[1].cap +const C20 = board.add(C_0805_2012Metric, { translate: pt(1.553, 0.346), rotate: 0, - id: 'tof_elt_4__vdd_cap_1__cap' + id: 'C20' }) -const i2c_pull_scl_res_res = board.add(R_0603_1608Metric, { +// i2c_pull.scl_res.res +const R4 = board.add(R_0603_1608Metric, { translate: pt(1.710, 1.341), rotate: 0, - id: 'i2c_pull_scl_res_res' + id: 'R4' }) -const i2c_pull_sda_res_res = board.add(R_0603_1608Metric, { +// i2c_pull.sda_res.res +const R5 = board.add(R_0603_1608Metric, { translate: pt(1.710, 1.437), rotate: 0, - id: 'i2c_pull_sda_res_res' + id: 'R5' }) -const i2c_tp_tp_scl_tp = board.add(TestPoint_Keystone_5015_Micro_Minature, { +// i2c_tp.tp_scl.tp +const TP4 = board.add(TestPoint_Keystone_5015_Micro_Minature, { translate: pt(0.085, 1.365), rotate: 0, - id: 'i2c_tp_tp_scl_tp' + id: 'TP4' }) -const i2c_tp_tp_sda_tp = board.add(TestPoint_Keystone_5015_Micro_Minature, { +// i2c_tp.tp_sda.tp +const TP5 = board.add(TestPoint_Keystone_5015_Micro_Minature, { translate: pt(0.085, 1.511), rotate: 0, - id: 'i2c_tp_tp_sda_tp' + id: 'TP5' }) -const usb_esd = board.add(SOT_23, { +// usb_esd +const U8 = board.add(SOT_23, { translate: pt(1.793, 1.749), rotate: 0, - id: 'usb_esd' + id: 'U8' }) -const tp_can_tp_txd_tp = board.add(TestPoint_Keystone_5015_Micro_Minature, { +// tp_can.tp_txd.tp +const TP6 = board.add(TestPoint_Keystone_5015_Micro_Minature, { translate: pt(0.372, 1.365), rotate: 0, - id: 'tp_can_tp_txd_tp' + id: 'TP6' }) -const tp_can_tp_rxd_tp = board.add(TestPoint_Keystone_5015_Micro_Minature, { +// tp_can.tp_rxd.tp +const TP7 = board.add(TestPoint_Keystone_5015_Micro_Minature, { translate: pt(0.372, 1.511), rotate: 0, - id: 'tp_can_tp_rxd_tp' + id: 'TP7' }) -const xcvr_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// xcvr.ic +const U9 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(1.157, 0.900), rotate: 0, - id: 'xcvr_ic' + id: 'U9' }) -const xcvr_vdd_cap_cap = board.add(C_0603_1608Metric, { +// xcvr.vdd_cap.cap +const C21 = board.add(C_0603_1608Metric, { translate: pt(1.069, 1.074), rotate: 0, - id: 'xcvr_vdd_cap_cap' + id: 'C21' }) -const can_esd = board.add(SOT_23, { +// can_esd +const U10 = board.add(SOT_23, { translate: pt(1.983, 1.749), rotate: 0, - id: 'can_esd' + id: 'U10' }) -const tp_spk_tp = board.add(TestPoint_Keystone_5015_Micro_Minature, { +// tp_spk.tp +const TP8 = board.add(TestPoint_Keystone_5015_Micro_Minature, { translate: pt(0.372, 1.735), rotate: 0, - id: 'tp_spk_tp' + id: 'TP8' }) -const spk_dac_rc_r = board.add(R_0603_1608Metric, { +// spk_dac.rc.r +const R6 = board.add(R_0603_1608Metric, { translate: pt(1.476, 1.341), rotate: 0, - id: 'spk_dac_rc_r' + id: 'R6' }) -const spk_dac_rc_c = board.add(C_0603_1608Metric, { +// spk_dac.rc.c +const C22 = board.add(C_0603_1608Metric, { translate: pt(1.476, 1.437), rotate: 0, - id: 'spk_dac_rc_c' + id: 'C22' }) -const tp_spk_in_tp = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(0.947, 1.735), rotate: 0, - id: 'tp_spk_in_tp' +// tp_spk_in.tp +const TP9 = board.add(TestPoint_Keystone_5015_Micro_Minature, { + translate: pt(2.172, 1.365), rotate: 0, + id: 'TP9' }) -const spk_drv_ic = board.add(MSOP_8_1EP_3x3mm_P0_65mm_EP1_68x1_88mm_ThermalVias, { +// spk_drv.ic +const U11 = board.add(MSOP_8_1EP_3x3mm_P0_65mm_EP1_68x1_88mm_ThermalVias, { translate: pt(0.587, 0.863), rotate: 0, - id: 'spk_drv_ic' + id: 'U11' }) -const spk_drv_pwr_cap_cap = board.add(C_0603_1608Metric, { +// spk_drv.pwr_cap.cap +const C23 = board.add(C_0603_1608Metric, { translate: pt(0.523, 1.000), rotate: 0, - id: 'spk_drv_pwr_cap_cap' + id: 'C23' }) -const spk_drv_bulk_cap_cap = board.add(C_0805_2012Metric, { +// spk_drv.bulk_cap.cap +const C24 = board.add(C_0805_2012Metric, { translate: pt(0.817, 0.832), rotate: 0, - id: 'spk_drv_bulk_cap_cap' + id: 'C24' }) -const spk_drv_inp_res = board.add(R_0603_1608Metric, { +// spk_drv.inp_res +const R7 = board.add(R_0603_1608Metric, { translate: pt(0.679, 1.000), rotate: 0, - id: 'spk_drv_inp_res' + id: 'R7' }) -const spk_drv_inp_cap = board.add(C_0603_1608Metric, { +// spk_drv.inp_cap +const C25 = board.add(C_0603_1608Metric, { translate: pt(0.835, 1.000), rotate: 0, - id: 'spk_drv_inp_cap' + id: 'C25' }) -const spk_drv_inn_res = board.add(R_0603_1608Metric, { +// spk_drv.inn_res +const R8 = board.add(R_0603_1608Metric, { translate: pt(0.523, 1.096), rotate: 0, - id: 'spk_drv_inn_res' + id: 'R8' }) -const spk_drv_inn_cap = board.add(C_0603_1608Metric, { +// spk_drv.inn_cap +const C26 = board.add(C_0603_1608Metric, { translate: pt(0.679, 1.096), rotate: 0, - id: 'spk_drv_inn_cap' + id: 'C26' }) -const spk_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { +// spk.conn +const J4 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { translate: pt(1.124, 1.442), rotate: 0, - id: 'spk_conn' + id: 'J4' }) -const res1 = board.add(R_Array_Concave_4x0603, { +// res1 +const RN1 = board.add(R_Array_Concave_4x0603, { translate: pt(1.455, 1.756), rotate: 0, - id: 'res1' + id: 'RN1' }) -const res2 = board.add(R_Array_Concave_4x0603, { +// res2 +const RN2 = board.add(R_Array_Concave_4x0603, { translate: pt(1.617, 1.756), rotate: 0, - id: 'res2' + id: 'RN2' }) -const rgb_device_package = board.add(LED_LiteOn_LTST_C19HE1WT, { +// rgb.device.package +const D7 = board.add(LED_LiteOn_LTST_C19HE1WT, { translate: pt(1.928, 1.367), rotate: 0, - id: 'rgb_device_package' + id: 'D7' }) +board.setNetlist([ + {name: "vusb", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["TP1", "1"], ["U1", "3"], ["U11", "1"], ["U11", "6"], ["C1", "1"], ["C23", "1"], ["C24", "1"]]}, + {name: "gnd", pads: [["U8", "3"], ["U10", "3"], ["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["J2", "3"], ["TP2", "1"], ["U1", "1"], ["D1", "2"], ["U2", "8"], ["U2", "23"], ["U2", "35"], ["U2", "47"], ["U2", "44"], ["SW1", "2"], ["U9", "2"], ["U9", "8"], ["U11", "7"], ["U11", "9"], ["C22", "2"], ["J1", "S1"], ["C26", "2"], ["C1", "2"], ["C2", "2"], ["C3", "2"], ["C4", "2"], ["C5", "2"], ["C6", "2"], ["C7", "2"], ["C8", "2"], ["X1", "2"], ["X1", "4"], ["U3", "2"], ["U3", "3"], ["U3", "4"], ["U3", "6"], ["U3", "12"], ["U4", "2"], ["U4", "3"], ["U4", "4"], ["U4", "6"], ["U4", "12"], ["U5", "2"], ["U5", "3"], ["U5", "4"], ["U5", "6"], ["U5", "12"], ["U6", "2"], ["U6", "3"], ["U6", "4"], ["U6", "6"], ["U6", "12"], ["U7", "2"], ["U7", "3"], ["U7", "4"], ["U7", "6"], ["U7", "12"], ["C21", "2"], ["C23", "2"], ["C24", "2"], ["R1", "1"], ["R2", "1"], ["J3", "2"], ["J3", "3"], ["J3", "5"], ["C9", "2"], ["C10", "2"], ["C11", "2"], ["C12", "2"], ["C13", "2"], ["C14", "2"], ["C15", "2"], ["C16", "2"], ["C17", "2"], ["C18", "2"], ["C19", "2"], ["C20", "2"]]}, + {name: "v3v3", pads: [["U1", "2"], ["TP3", "1"], ["D1", "1"], ["U2", "1"], ["U2", "9"], ["U2", "24"], ["U2", "36"], ["U2", "48"], ["U9", "3"], ["C2", "1"], ["J3", "1"], ["C3", "1"], ["C4", "1"], ["C5", "1"], ["C6", "1"], ["C7", "1"], ["C8", "1"], ["R3", "1"], ["D2", "2"], ["D3", "2"], ["D4", "2"], ["D5", "2"], ["D6", "2"], ["U3", "1"], ["U3", "11"], ["U4", "1"], ["U4", "11"], ["U5", "1"], ["U5", "11"], ["U6", "1"], ["U6", "11"], ["U7", "1"], ["U7", "11"], ["R4", "1"], ["R5", "1"], ["C21", "1"], ["D7", "2"], ["C11", "1"], ["C12", "1"], ["C13", "1"], ["C14", "1"], ["C15", "1"], ["C16", "1"], ["C17", "1"], ["C18", "1"], ["C19", "1"], ["C20", "1"]]}, + {name: "sw1_chain_0", pads: [["U2", "19"], ["SW1", "1"]]}, + {name: "leds_chain_0.0", pads: [["U2", "20"], ["RN1", "8"]]}, + {name: "leds_chain_0.1", pads: [["U2", "25"], ["RN1", "7"]]}, + {name: "leds_chain_0.2", pads: [["U2", "29"], ["RN2", "7"]]}, + {name: "leds_chain_0.3", pads: [["U2", "30"], ["RN2", "6"]]}, + {name: "leds_chain_0.4", pads: [["U2", "31"], ["RN2", "5"]]}, + {name: "leds_chain_0.5", pads: [["U2", "26"], ["RN1", "6"]]}, + {name: "leds_chain_0.6", pads: [["U2", "27"], ["RN1", "5"]]}, + {name: "leds_chain_0.7", pads: [["U2", "28"], ["RN2", "8"]]}, + {name: "i2c_chain_0.scl", pads: [["U2", "21"], ["R4", "2"], ["TP4", "1"], ["U3", "10"], ["U4", "10"], ["U5", "10"], ["U6", "10"], ["U7", "10"]]}, + {name: "i2c_chain_0.sda", pads: [["U2", "22"], ["R5", "2"], ["U3", "9"], ["U4", "9"], ["U5", "9"], ["U6", "9"], ["U7", "9"], ["TP5", "1"]]}, + {name: "mcu.gpio.tof_reset_0", pads: [["U2", "42"], ["U3", "5"]]}, + {name: "mcu.gpio.tof_reset_1", pads: [["U2", "41"], ["U4", "5"]]}, + {name: "mcu.gpio.tof_reset_2", pads: [["U2", "4"], ["U5", "5"]]}, + {name: "mcu.gpio.tof_reset_3", pads: [["U2", "3"], ["U6", "5"]]}, + {name: "mcu.gpio.tof_reset_4", pads: [["U2", "2"], ["U7", "5"]]}, + {name: "usb_chain_0.d_P", pads: [["J1", "A6"], ["J1", "B6"], ["U8", "2"], ["U2", "33"], ["R3", "2"]]}, + {name: "usb_chain_0.d_N", pads: [["J1", "A7"], ["J1", "B7"], ["U8", "1"], ["U2", "32"]]}, + {name: "can_chain_0.txd", pads: [["U2", "46"], ["U9", "1"], ["TP6", "1"]]}, + {name: "can_chain_0.rxd", pads: [["U2", "45"], ["U9", "4"], ["TP7", "1"]]}, + {name: "can_chain_1.canh", pads: [["U9", "7"], ["U10", "2"], ["J2", "4"]]}, + {name: "can_chain_1.canl", pads: [["U9", "6"], ["U10", "1"], ["J2", "5"]]}, + {name: "spk_chain_0", pads: [["U2", "11"], ["TP8", "1"], ["R6", "1"]]}, + {name: "spk_chain_1", pads: [["TP9", "1"], ["C25", "2"], ["R6", "2"], ["C22", "1"]]}, + {name: "spk_chain_2.a", pads: [["U11", "8"], ["J4", "1"]]}, + {name: "spk_chain_2.b", pads: [["U11", "5"], ["J4", "2"]]}, + {name: "res1.a.0", pads: [["RN1", "1"], ["D2", "1"]]}, + {name: "res1.a.1", pads: [["RN1", "2"], ["D3", "1"]]}, + {name: "res1.a.2", pads: [["RN1", "3"], ["D7", "3"]]}, + {name: "res1.a.3", pads: [["RN1", "4"], ["D7", "4"]]}, + {name: "res2.a.0", pads: [["RN2", "1"], ["D7", "1"]]}, + {name: "res2.a.1", pads: [["RN2", "2"], ["D4", "1"]]}, + {name: "res2.a.2", pads: [["RN2", "3"], ["D5", "1"]]}, + {name: "res2.a.3", pads: [["RN2", "4"], ["D6", "1"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "can.pwr", pads: [["J2", "2"]]}, + {name: "mcu.xtal_node.xi", pads: [["U2", "5"], ["X1", "1"], ["C9", "1"]]}, + {name: "mcu.xtal_node.xo", pads: [["U2", "6"], ["X1", "3"], ["C10", "1"]]}, + {name: "mcu.swd_node.swdio", pads: [["U2", "34"], ["J3", "10"]]}, + {name: "mcu.swd_node.swclk", pads: [["U2", "37"], ["J3", "9"]]}, + {name: "mcu.reset_node", pads: [["U2", "7"], ["J3", "6"]]}, + {name: "mcu.swd.swo", pads: [["U2", "39"], ["J3", "8"]]}, + {name: "mcu.swd.tdi", pads: [["J3", "7"]]}, + {name: "tof.elt[0].ic.gpio1", pads: [["U3", "7"]]}, + {name: "tof.elt[1].ic.gpio1", pads: [["U4", "7"]]}, + {name: "tof.elt[2].ic.gpio1", pads: [["U5", "7"]]}, + {name: "tof.elt[3].ic.gpio1", pads: [["U6", "7"]]}, + {name: "tof.elt[4].ic.gpio1", pads: [["U7", "7"]]}, + {name: "spk_drv.inp_cap.pos", pads: [["C25", "1"], ["R7", "1"]]}, + {name: "spk_drv.inp_res.b", pads: [["R7", "2"], ["U11", "4"]]}, + {name: "spk_drv.inn_cap.pos", pads: [["C26", "1"], ["R8", "1"]]}, + {name: "spk_drv.inn_res.b", pads: [["R8", "2"], ["U11", "3"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(2.565748031496063, 1.9062992125984253); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/UsbFpgaProgrammer/UsbFpgaProgrammer.svgpcb.js b/examples/UsbFpgaProgrammer/UsbFpgaProgrammer.svgpcb.js index 9912f00de..a31e51243 100644 --- a/examples/UsbFpgaProgrammer/UsbFpgaProgrammer.svgpcb.js +++ b/examples/UsbFpgaProgrammer/UsbFpgaProgrammer.svgpcb.js @@ -1,154 +1,235 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const FH1 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.000, 1.224), rotate: 0, - id: 'jlc_th_th1' + id: 'FH1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const FH2 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.039, 1.224), rotate: 0, - id: 'jlc_th_th2' + id: 'FH2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const FH3 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.000, 1.263), rotate: 0, - id: 'jlc_th_th3' + id: 'FH3' }) -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const FJ1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(1.224, 0.165), rotate: 0, - id: 'usb_conn' + id: 'FJ1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc1.res +const FR1 = board.add(R_0603_1608Metric, { translate: pt(1.072, 0.420), rotate: 0, - id: 'usb_cc_pull_cc1_res' + id: 'FR1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb.cc_pull.cc2.res +const FR2 = board.add(R_0603_1608Metric, { translate: pt(1.228, 0.420), rotate: 0, - id: 'usb_cc_pull_cc2_res' + id: 'FR2' }) -const vusb_protect_diode = board.add(D_SOD_323, { +// vusb_protect.diode +const FD1 = board.add(D_SOD_323, { translate: pt(1.225, 0.852), rotate: 0, - id: 'vusb_protect_diode' + id: 'FD1' }) -const ft232_ic = board.add(LQFP_48_7x7mm_P0_5mm, { +// ft232.ic +const FU1 = board.add(LQFP_48_7x7mm_P0_5mm, { translate: pt(0.203, 0.203), rotate: 0, - id: 'ft232_ic' + id: 'FU1' }) -const ft232_vbus_fb_fb = board.add(L_0603_1608Metric, { +// ft232.vbus_fb.fb +const FFB1 = board.add(L_0603_1608Metric, { translate: pt(0.676, 0.202), rotate: 0, - id: 'ft232_vbus_fb_fb' + id: 'FFB1' }) -const ft232_vregin_cap0_cap = board.add(C_0805_2012Metric, { +// ft232.vregin_cap0.cap +const FC1 = board.add(C_0805_2012Metric, { translate: pt(0.512, 0.212), rotate: 0, - id: 'ft232_vregin_cap0_cap' + id: 'FC1' }) -const ft232_vregin_cap1_cap = board.add(C_0603_1608Metric, { +// ft232.vregin_cap1.cap +const FC2 = board.add(C_0603_1608Metric, { translate: pt(0.832, 0.202), rotate: 0, - id: 'ft232_vregin_cap1_cap' + id: 'FC2' }) -const ft232_vphy_fb_fb = board.add(L_0603_1608Metric, { +// ft232.vphy_fb.fb +const FFB2 = board.add(L_0603_1608Metric, { translate: pt(0.503, 0.319), rotate: 0, - id: 'ft232_vphy_fb_fb' + id: 'FFB2' }) -const ft232_vphy_cap_cap = board.add(C_0603_1608Metric, { +// ft232.vphy_cap.cap +const FC3 = board.add(C_0603_1608Metric, { translate: pt(0.659, 0.319), rotate: 0, - id: 'ft232_vphy_cap_cap' + id: 'FC3' }) -const ft232_vpll_fb_fb = board.add(L_0603_1608Metric, { +// ft232.vpll_fb.fb +const FFB3 = board.add(L_0603_1608Metric, { translate: pt(0.815, 0.319), rotate: 0, - id: 'ft232_vpll_fb_fb' + id: 'FFB3' }) -const ft232_vpll_cap_cap = board.add(C_0603_1608Metric, { +// ft232.vpll_cap.cap +const FC4 = board.add(C_0603_1608Metric, { translate: pt(0.058, 0.474), rotate: 0, - id: 'ft232_vpll_cap_cap' + id: 'FC4' }) -const ft232_vcccore_cap_cap = board.add(C_0603_1608Metric, { +// ft232.vcccore_cap.cap +const FC5 = board.add(C_0603_1608Metric, { translate: pt(0.214, 0.474), rotate: 0, - id: 'ft232_vcccore_cap_cap' + id: 'FC5' }) -const ft232_vcca_cap_cap = board.add(C_0603_1608Metric, { +// ft232.vcca_cap.cap +const FC6 = board.add(C_0603_1608Metric, { translate: pt(0.370, 0.474), rotate: 0, - id: 'ft232_vcca_cap_cap' + id: 'FC6' }) -const ft232_vccd_cap_cap = board.add(C_0603_1608Metric, { +// ft232.vccd_cap.cap +const FC7 = board.add(C_0603_1608Metric, { translate: pt(0.526, 0.474), rotate: 0, - id: 'ft232_vccd_cap_cap' + id: 'FC7' }) -const ft232_vccio_cap0_cap = board.add(C_0603_1608Metric, { +// ft232.vccio_cap0.cap +const FC8 = board.add(C_0603_1608Metric, { translate: pt(0.682, 0.474), rotate: 0, - id: 'ft232_vccio_cap0_cap' + id: 'FC8' }) -const ft232_vccio_cap1_cap = board.add(C_0603_1608Metric, { +// ft232.vccio_cap1.cap +const FC9 = board.add(C_0603_1608Metric, { translate: pt(0.838, 0.474), rotate: 0, - id: 'ft232_vccio_cap1_cap' + id: 'FC9' }) -const ft232_vccio_cap2_cap = board.add(C_0603_1608Metric, { +// ft232.vccio_cap2.cap +const FC10 = board.add(C_0603_1608Metric, { translate: pt(0.058, 0.570), rotate: 0, - id: 'ft232_vccio_cap2_cap' + id: 'FC10' }) -const ft232_ref_res = board.add(R_0603_1608Metric, { +// ft232.ref_res +const FR3 = board.add(R_0603_1608Metric, { translate: pt(0.214, 0.570), rotate: 0, - id: 'ft232_ref_res' + id: 'FR3' }) -const ft232_crystal_package = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { +// ft232.crystal.package +const FX1 = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { translate: pt(0.528, 0.067), rotate: 0, - id: 'ft232_crystal_package' + id: 'FX1' }) -const ft232_crystal_cap_a = board.add(C_0603_1608Metric, { +// ft232.crystal.cap_a +const FC11 = board.add(C_0603_1608Metric, { translate: pt(0.370, 0.570), rotate: 0, - id: 'ft232_crystal_cap_a' + id: 'FC11' }) -const ft232_crystal_cap_b = board.add(C_0603_1608Metric, { +// ft232.crystal.cap_b +const FC12 = board.add(C_0603_1608Metric, { translate: pt(0.526, 0.570), rotate: 0, - id: 'ft232_crystal_cap_b' + id: 'FC12' }) -const ft232_eeprom_ic = board.add(SOT_23_6, { +// ft232.eeprom.ic +const FU2 = board.add(SOT_23_6, { translate: pt(0.730, 0.067), rotate: 0, - id: 'ft232_eeprom_ic' + id: 'FU2' }) -const ft232_eeprom_vcc_cap_cap = board.add(C_0603_1608Metric, { +// ft232.eeprom.vcc_cap.cap +const FC13 = board.add(C_0603_1608Metric, { translate: pt(0.682, 0.570), rotate: 0, - id: 'ft232_eeprom_vcc_cap_cap' + id: 'FC13' }) -const ft232_eeprom_spi_do_pull_res = board.add(R_0603_1608Metric, { +// ft232.eeprom_spi.do_pull.res +const FR4 = board.add(R_0603_1608Metric, { translate: pt(0.838, 0.570), rotate: 0, - id: 'ft232_eeprom_spi_do_pull_res' + id: 'FR4' }) -const ft232_eeprom_spi_do_res = board.add(R_0603_1608Metric, { +// ft232.eeprom_spi.do_res +const FR5 = board.add(R_0603_1608Metric, { translate: pt(0.058, 0.667), rotate: 0, - id: 'ft232_eeprom_spi_do_res' + id: 'FR5' }) -const usb_esd = board.add(SOT_23, { +// usb_esd +const FU3 = board.add(SOT_23, { translate: pt(1.481, 0.881), rotate: 0, - id: 'usb_esd' + id: 'FU3' }) -const led0_package = board.add(LED_0603_1608Metric, { +// led0.package +const FD2 = board.add(LED_0603_1608Metric, { translate: pt(0.985, 0.843), rotate: 0, - id: 'led0_package' + id: 'FD2' }) -const led0_res = board.add(R_0603_1608Metric, { +// led0.res +const FR6 = board.add(R_0603_1608Metric, { translate: pt(0.985, 0.940), rotate: 0, - id: 'led0_res' + id: 'FR6' }) -const led1_package = board.add(LED_0603_1608Metric, { +// led1.package +const FD3 = board.add(LED_0603_1608Metric, { translate: pt(0.515, 0.843), rotate: 0, - id: 'led1_package' + id: 'FD3' }) -const led1_res = board.add(R_0603_1608Metric, { +// led1.res +const FR7 = board.add(R_0603_1608Metric, { translate: pt(0.515, 0.940), rotate: 0, - id: 'led1_res' + id: 'FR7' }) -const led2_package = board.add(LED_0603_1608Metric, { +// led2.package +const FD4 = board.add(LED_0603_1608Metric, { translate: pt(0.750, 0.843), rotate: 0, - id: 'led2_package' + id: 'FD4' }) -const led2_res = board.add(R_0603_1608Metric, { +// led2.res +const FR8 = board.add(R_0603_1608Metric, { translate: pt(0.750, 0.940), rotate: 0, - id: 'led2_res' + id: 'FR8' }) -const out_conn = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { +// out.conn +const FJ2 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { translate: pt(0.169, 0.960), rotate: 0, - id: 'out_conn' + id: 'FJ2' }) +board.setNetlist([ + {name: "Fvusb", pads: [["FJ1", "A4"], ["FJ1", "B9"], ["FJ1", "B4"], ["FJ1", "A9"], ["FD1", "1"], ["FFB1", "1"]]}, + {name: "Fgnd", pads: [["FU3", "3"], ["FJ1", "A1"], ["FJ1", "B12"], ["FJ1", "B1"], ["FJ1", "A12"], ["FD1", "2"], ["FU1", "4"], ["FU1", "9"], ["FU1", "41"], ["FU1", "10"], ["FU1", "11"], ["FU1", "22"], ["FU1", "23"], ["FU1", "35"], ["FU1", "36"], ["FU1", "47"], ["FU1", "48"], ["FU1", "42"], ["FR6", "2"], ["FR7", "2"], ["FR8", "2"], ["FJ1", "S1"], ["FR3", "2"], ["FJ2", "3"], ["FJ2", "5"], ["FJ2", "9"], ["FC1", "2"], ["FC2", "2"], ["FC3", "2"], ["FC4", "2"], ["FC5", "2"], ["FC6", "2"], ["FC7", "2"], ["FC8", "2"], ["FC9", "2"], ["FC10", "2"], ["FX1", "2"], ["FX1", "4"], ["FU2", "2"], ["FR1", "1"], ["FR2", "1"], ["FC11", "2"], ["FC12", "2"], ["FC13", "2"]]}, + {name: "Fusb_chain_0.d_P", pads: [["FJ1", "A6"], ["FJ1", "B6"], ["FU3", "2"], ["FU1", "7"]]}, + {name: "Fusb_chain_0.d_N", pads: [["FJ1", "A7"], ["FJ1", "B7"], ["FU3", "1"], ["FU1", "6"]]}, + {name: "Fled0.signal", pads: [["FU1", "21"], ["FD2", "2"]]}, + {name: "Fled1.signal", pads: [["FU1", "27"], ["FD3", "2"]]}, + {name: "Fled2.signal", pads: [["FU1", "28"], ["FD4", "2"]]}, + {name: "Fft232.mpsse.sck", pads: [["FU1", "13"], ["FJ2", "4"]]}, + {name: "Fft232.mpsse.mosi", pads: [["FU1", "14"], ["FJ2", "6"]]}, + {name: "Fft232.mpsse.miso", pads: [["FU1", "15"], ["FJ2", "8"]]}, + {name: "Fout.cs", pads: [["FU1", "17"], ["FJ2", "2"]]}, + {name: "Fout.reset", pads: [["FU1", "20"], ["FJ2", "10"]]}, + {name: "Fusb.conn.cc.cc1", pads: [["FJ1", "A5"], ["FR1", "2"]]}, + {name: "Fusb.conn.cc.cc2", pads: [["FJ1", "B5"], ["FR2", "2"]]}, + {name: "Fft232.acbus.1", pads: [["FU1", "25"]]}, + {name: "Fft232.acbus.2", pads: [["FU1", "26"]]}, + {name: "Fft232.acbus.5", pads: [["FU1", "29"]]}, + {name: "Fft232.acbus.6", pads: [["FU1", "30"]]}, + {name: "Fft232.acbus.7", pads: [["FU1", "31"]]}, + {name: "Fft232.acbus.8", pads: [["FU1", "32"]]}, + {name: "Fft232.acbus.9", pads: [["FU1", "33"]]}, + {name: "Fft232.ic.vregin", pads: [["FU1", "40"], ["FFB1", "2"], ["FC1", "1"], ["FC2", "1"]]}, + {name: "Fft232.ic.vccd", pads: [["FU1", "39"], ["FU1", "12"], ["FU1", "24"], ["FU1", "46"], ["FU1", "34"], ["FFB2", "1"], ["FFB3", "1"], ["FC7", "1"], ["FC8", "1"], ["FC9", "1"], ["FC10", "1"], ["FU2", "6"], ["FR4", "1"], ["FC13", "1"]]}, + {name: "Fft232.ic.vphy", pads: [["FU1", "3"], ["FFB2", "2"], ["FC3", "1"]]}, + {name: "Fft232.ic.vpll", pads: [["FU1", "8"], ["FFB3", "2"], ["FC4", "1"]]}, + {name: "Fft232.ic.vcccore", pads: [["FU1", "38"], ["FC5", "1"]]}, + {name: "Fft232.ic.vcca", pads: [["FU1", "37"], ["FC6", "1"]]}, + {name: "Fft232.ref_res.a", pads: [["FR3", "1"], ["FU1", "5"]]}, + {name: "Fft232.crystal.crystal.xtal_in", pads: [["FX1", "1"], ["FC11", "1"], ["FU1", "1"]]}, + {name: "Fft232.crystal.crystal.xtal_out", pads: [["FX1", "3"], ["FC12", "1"], ["FU1", "2"]]}, + {name: "Fft232.eeprom.cs", pads: [["FU1", "45"], ["FU2", "5"]]}, + {name: "Fft232.eeprom_spi.eeclk", pads: [["FU1", "44"], ["FU2", "4"]]}, + {name: "Fft232.eeprom_spi.eedata", pads: [["FU1", "43"], ["FR5", "2"], ["FU2", "3"]]}, + {name: "Fft232.eeprom_spi.spi.miso", pads: [["FU2", "1"], ["FR5", "1"], ["FR4", "2"]]}, + {name: "Fft232.ic.adbus.3", pads: [["FU1", "16"]]}, + {name: "Fft232.ic.adbus.5", pads: [["FU1", "18"]]}, + {name: "Fft232.ic.adbus.6", pads: [["FU1", "19"]]}, + {name: "Fled0.res.a", pads: [["FR6", "1"], ["FD2", "1"]]}, + {name: "Fled1.res.a", pads: [["FR7", "1"], ["FD3", "1"]]}, + {name: "Fled2.res.a", pads: [["FR8", "1"], ["FD4", "1"]]}, + {name: "Fout.pwr", pads: [["FJ2", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(1.5962598425196852, 1.3811023622047247); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/UsbKey/UsbKey.svgpcb.js b/examples/UsbKey/UsbKey.svgpcb.js index a2a1f1564..1dc02271f 100644 --- a/examples/UsbKey/UsbKey.svgpcb.js +++ b/examples/UsbKey/UsbKey.svgpcb.js @@ -1,74 +1,115 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const H1 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.728, 0.561), rotate: 0, - id: 'jlc_th_th1' + id: 'H1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const H2 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.768, 0.561), rotate: 0, - id: 'jlc_th_th2' + id: 'H2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const H3 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.728, 0.601), rotate: 0, - id: 'jlc_th_th3' + id: 'H3' }) -const usb = board.add(USB_A_Pads, { +// usb +const J1 = board.add(USB_A_Pads, { translate: pt(0.630, 0.463), rotate: 0, - id: 'usb' + id: 'J1' }) -const reg_3v3_ic = board.add(UDFN_4_1EP_1x1mm_P0_65mm_EP0_48x0_48mm, { +// reg_3v3.ic +const U1 = board.add(UDFN_4_1EP_1x1mm_P0_65mm_EP0_48x0_48mm, { translate: pt(0.339, 0.591), rotate: 0, - id: 'reg_3v3_ic' + id: 'U1' }) -const reg_3v3_in_cap_cap = board.add(C_0402_1005Metric, { +// reg_3v3.in_cap.cap +const C1 = board.add(C_0402_1005Metric, { translate: pt(0.340, 0.678), rotate: 0, - id: 'reg_3v3_in_cap_cap' + id: 'C1' }) -const mcu_swd_conn = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { +// mcu.swd.conn +const J2 = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { translate: pt(0.138, 0.365), rotate: 0, - id: 'mcu_swd_conn' + id: 'J2' }) -const mcu_ic = board.add(QFN_32_1EP_5x5mm_P0_5mm_EP3_45x3_45mm, { +// mcu.ic +const U2 = board.add(QFN_32_1EP_5x5mm_P0_5mm_EP3_45x3_45mm, { translate: pt(0.123, 0.123), rotate: 0, - id: 'mcu_ic' + id: 'U2' }) -const rgb_package = board.add(LED_Lumex_SML_LX0404SIUPGUSB, { +// rgb.package +const D1 = board.add(LED_Lumex_SML_LX0404SIUPGUSB, { translate: pt(0.035, 0.597), rotate: 0, - id: 'rgb_package' + id: 'D1' }) -const rgb_red_res = board.add(R_0402_1005Metric, { +// rgb.red_res +const R1 = board.add(R_0402_1005Metric, { translate: pt(0.147, 0.580), rotate: 0, - id: 'rgb_red_res' + id: 'R1' }) -const rgb_green_res = board.add(R_0402_1005Metric, { +// rgb.green_res +const R2 = board.add(R_0402_1005Metric, { translate: pt(0.037, 0.690), rotate: 0, - id: 'rgb_green_res' + id: 'R2' }) -const rgb_blue_res = board.add(R_0402_1005Metric, { +// rgb.blue_res +const R3 = board.add(R_0402_1005Metric, { translate: pt(0.149, 0.690), rotate: 0, - id: 'rgb_blue_res' + id: 'R3' }) -const ts1_res = board.add(R_0402_1005Metric, { - translate: pt(0.922, 0.580), rotate: 0, - id: 'ts1_res' -}) -const ts2_res = board.add(R_0402_1005Metric, { +// ts1.res +const R4 = board.add(R_0402_1005Metric, { translate: pt(0.037, 0.845), rotate: 0, - id: 'ts2_res' + id: 'R4' }) -const tss_cap = board.add(C_0402_1005Metric, { +// ts2.res +const R5 = board.add(R_0402_1005Metric, { + translate: pt(0.922, 0.580), rotate: 0, + id: 'R5' +}) +// tss.cap +const C2 = board.add(C_0402_1005Metric, { translate: pt(0.417, 0.845), rotate: 0, - id: 'tss_cap' + id: 'C2' }) -const packed_mcu_vdda_cap_cap = board.add(C_0402_1005Metric, { +// packed_mcu_vdda_cap.cap +const C3 = board.add(C_0402_1005Metric, { translate: pt(0.227, 0.845), rotate: 0, - id: 'packed_mcu_vdda_cap_cap' + id: 'C3' }) -const packed_mcu_vdd1_cap_cap = board.add(C_0603_1608Metric, { +// packed_mcu_vdd1_cap.cap +const C4 = board.add(C_0603_1608Metric, { translate: pt(0.552, 0.590), rotate: 0, - id: 'packed_mcu_vdd1_cap_cap' + id: 'C4' }) +board.setNetlist([ + {name: "gnd", pads: [["J1", "4"], ["U1", "2"], ["U1", "5"], ["U2", "16"], ["U2", "32"], ["U2", "33"], ["C2", "2"], ["U2", "15"], ["U2", "3"], ["C1", "2"], ["J2", "5"], ["C4", "2"], ["C3", "2"]]}, + {name: "v3v3", pads: [["U1", "1"], ["U2", "17"], ["U2", "1"], ["U2", "5"], ["D1", "1"], ["J2", "1"], ["C4", "1"], ["C3", "1"]]}, + {name: "usb.pwr", pads: [["J1", "1"], ["U1", "4"], ["U1", "3"], ["C1", "1"]]}, + {name: "usb.usb.dp", pads: [["U2", "22"], ["J1", "3"]]}, + {name: "usb.usb.dm", pads: [["U2", "21"], ["J1", "2"]]}, + {name: "rgb.signals.red", pads: [["U2", "7"], ["R1", "2"]]}, + {name: "rgb.signals.green", pads: [["U2", "8"], ["R2", "2"]]}, + {name: "rgb.signals.blue", pads: [["U2", "9"], ["R3", "2"]]}, + {name: "ts1.io", pads: [["U2", "27"], ["R4", "1"]]}, + {name: "ts2.io", pads: [["U2", "28"], ["R5", "1"]]}, + {name: "tss.io", pads: [["U2", "29"], ["C2", "1"]]}, + {name: "mcu.swd_node.swdio", pads: [["U2", "23"], ["J2", "2"]]}, + {name: "mcu.swd_node.swclk", pads: [["U2", "24"], ["J2", "4"]]}, + {name: "mcu.swd.reset", pads: [["J2", "3"]]}, + {name: "mcu.swd.swo", pads: [["J2", "6"]]}, + {name: "mcu.ic.nrst", pads: [["U2", "4"]]}, + {name: "rgb.red_res.a", pads: [["R1", "1"], ["D1", "2"]]}, + {name: "rgb.green_res.a", pads: [["R2", "1"], ["D1", "3"]]}, + {name: "rgb.blue_res.a", pads: [["R3", "1"], ["D1", "4"]]}, + {name: "ts1.res.b", pads: [["R4", "2"]]}, + {name: "ts2.res.b", pads: [["R5", "2"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(1.0771653543307087, 0.9818897637795276); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/UsbSourceMeasure/UsbSourceMeasure.svgpcb.js b/examples/UsbSourceMeasure/UsbSourceMeasure.svgpcb.js index 4d48cf937..4c79421c9 100644 --- a/examples/UsbSourceMeasure/UsbSourceMeasure.svgpcb.js +++ b/examples/UsbSourceMeasure/UsbSourceMeasure.svgpcb.js @@ -1,994 +1,1402 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const H1 = board.add(JlcToolingHole_1_152mm, { translate: pt(5.588, 4.566), rotate: 0, - id: 'jlc_th_th1' + id: 'H1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const H2 = board.add(JlcToolingHole_1_152mm, { translate: pt(5.627, 4.566), rotate: 0, - id: 'jlc_th_th2' + id: 'H2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const H3 = board.add(JlcToolingHole_1_152mm, { translate: pt(5.588, 4.605), rotate: 0, - id: 'jlc_th_th3' + id: 'H3' }) -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(3.954, 3.280), rotate: 0, - id: 'usb_conn' + id: 'J1' }) -const tp_gnd_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_gnd.tp +const TP1 = board.add(TestPoint_TE_RCT_0805, { translate: pt(2.506, 4.603), rotate: 0, - id: 'tp_gnd_tp' + id: 'TP1' }) -const filt_vusb_fb = board.add(L_1206_3216Metric, { +// filt_vusb.fb +const FB1 = board.add(L_1206_3216Metric, { translate: pt(1.979, 4.613), rotate: 0, - id: 'filt_vusb_fb' + id: 'FB1' }) -const cap_vusb_cap = board.add(CP_Elec_8x10, { +// cap_vusb.cap +const C1 = board.add(CP_Elec_8x10, { translate: pt(4.498, 3.288), rotate: 0, - id: 'cap_vusb_cap' + id: 'C1' }) -const prot_vusb_diode = board.add(D_SMA, { +// prot_vusb.diode +const D1 = board.add(D_SMA, { translate: pt(0.842, 4.635), rotate: 0, - id: 'prot_vusb_diode' + id: 'D1' }) -const tp_vusb_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_vusb.tp +const TP2 = board.add(TestPoint_TE_RCT_0805, { translate: pt(4.008, 4.603), rotate: 0, - id: 'tp_vusb_tp' + id: 'TP2' }) -const reg_v5_ic = board.add(SOT_23_6, { +// reg_v5.ic +const U1 = board.add(SOT_23_6, { translate: pt(2.127, 3.182), rotate: 0, - id: 'reg_v5_ic' + id: 'U1' }) -const reg_v5_fb_div_top_res = board.add(R_0603_1608Metric, { +// reg_v5.fb.div.top_res +const R1 = board.add(R_0603_1608Metric, { translate: pt(2.286, 3.400), rotate: 0, - id: 'reg_v5_fb_div_top_res' + id: 'R1' }) -const reg_v5_fb_div_bottom_res = board.add(R_0603_1608Metric, { +// reg_v5.fb.div.bottom_res +const R2 = board.add(R_0603_1608Metric, { translate: pt(1.845, 3.530), rotate: 0, - id: 'reg_v5_fb_div_bottom_res' + id: 'R2' }) -const reg_v5_hf_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_v5.hf_in_cap.cap +const C2 = board.add(C_0603_1608Metric, { translate: pt(2.001, 3.530), rotate: 0, - id: 'reg_v5_hf_in_cap_cap' + id: 'C2' }) -const reg_v5_boot_cap = board.add(C_0603_1608Metric, { +// reg_v5.boot_cap +const C3 = board.add(C_0603_1608Metric, { translate: pt(2.157, 3.530), rotate: 0, - id: 'reg_v5_boot_cap' + id: 'C3' }) -const reg_v5_power_path_inductor = board.add(L_Sunlord_SWPA5040S, { +// reg_v5.power_path.inductor +const L1 = board.add(L_Sunlord_SWPA5040S, { translate: pt(1.897, 3.224), rotate: 0, - id: 'reg_v5_power_path_inductor' + id: 'L1' }) -const reg_v5_power_path_in_cap_cap = board.add(C_1206_3216Metric, { +// reg_v5.power_path.in_cap.cap +const C4 = board.add(C_1206_3216Metric, { translate: pt(1.877, 3.417), rotate: 0, - id: 'reg_v5_power_path_in_cap_cap' + id: 'C4' }) -const reg_v5_power_path_out_cap_cap = board.add(C_1206_3216Metric, { +// reg_v5.power_path.out_cap.cap +const C5 = board.add(C_1206_3216Metric, { translate: pt(2.098, 3.417), rotate: 0, - id: 'reg_v5_power_path_out_cap_cap' + id: 'C5' }) -const reg_v5_en_res = board.add(R_0603_1608Metric, { +// reg_v5.en_res +const R3 = board.add(R_0603_1608Metric, { translate: pt(2.313, 3.530), rotate: 0, - id: 'reg_v5_en_res' + id: 'R3' }) -const tp_v5_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.756, 4.603), rotate: 0, - id: 'tp_v5_tp' +// tp_v5.tp +const TP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(3.507, 4.603), rotate: 0, + id: 'TP3' }) -const reg_3v3_ic = board.add(SOT_223_3_TabPin2, { +// reg_3v3.ic +const U2 = board.add(SOT_223_3_TabPin2, { translate: pt(3.154, 3.257), rotate: 0, - id: 'reg_3v3_ic' + id: 'U2' }) -const reg_3v3_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_3v3.in_cap.cap +const C6 = board.add(C_0603_1608Metric, { translate: pt(3.213, 3.467), rotate: 0, - id: 'reg_3v3_in_cap_cap' + id: 'C6' }) -const reg_3v3_out_cap_cap = board.add(C_0805_2012Metric, { +// reg_3v3.out_cap.cap +const C7 = board.add(C_0805_2012Metric, { translate: pt(3.048, 3.476), rotate: 0, - id: 'reg_3v3_out_cap_cap' + id: 'C7' }) -const prot_3v3_diode = board.add(D_SMA, { - translate: pt(1.236, 4.635), rotate: 0, - id: 'prot_3v3_diode' +// prot_3v3.diode +const D2 = board.add(D_SMA, { + translate: pt(1.630, 4.635), rotate: 0, + id: 'D2' }) -const tp_3v3_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.758, 4.603), rotate: 0, - id: 'tp_3v3_tp' +// tp_3v3.tp +const TP4 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.756, 4.603), rotate: 0, + id: 'TP4' }) -const conv_power_path_inductor = board.add(L_Bourns_SRP1245A, { +// conv.power_path.inductor +const L2 = board.add(L_Bourns_SRP1245A, { translate: pt(0.289, 2.069), rotate: 0, - id: 'conv_power_path_inductor' + id: 'L2' }) -const conv_power_path_in_cap_cap_c_0_ = board.add(C_1206_3216Metric, { +// conv.power_path.in_cap.cap.c[0] +const C8 = board.add(C_1206_3216Metric, { translate: pt(0.091, 2.725), rotate: 0, - id: 'conv_power_path_in_cap_cap_c_0_' + id: 'C8' }) -const conv_power_path_in_cap_cap_c_1_ = board.add(C_1206_3216Metric, { +// conv.power_path.in_cap.cap.c[1] +const C9 = board.add(C_1206_3216Metric, { translate: pt(0.311, 2.725), rotate: 0, - id: 'conv_power_path_in_cap_cap_c_1_' + id: 'C9' }) -const conv_power_path_in_cap_cap_c_2_ = board.add(C_1206_3216Metric, { +// conv.power_path.in_cap.cap.c[2] +const C10 = board.add(C_1206_3216Metric, { translate: pt(0.531, 2.725), rotate: 0, - id: 'conv_power_path_in_cap_cap_c_2_' + id: 'C10' }) -const conv_power_path_out_cap_cap_c_0_ = board.add(C_1206_3216Metric, { +// conv.power_path.out_cap.cap.c[0] +const C11 = board.add(C_1206_3216Metric, { translate: pt(0.752, 2.725), rotate: 0, - id: 'conv_power_path_out_cap_cap_c_0_' + id: 'C11' }) -const conv_power_path_out_cap_cap_c_1_ = board.add(C_1206_3216Metric, { +// conv.power_path.out_cap.cap.c[1] +const C12 = board.add(C_1206_3216Metric, { translate: pt(0.972, 2.725), rotate: 0, - id: 'conv_power_path_out_cap_cap_c_1_' + id: 'C12' }) -const conv_power_path_out_cap_cap_c_2_ = board.add(C_1206_3216Metric, { +// conv.power_path.out_cap.cap.c[2] +const C13 = board.add(C_1206_3216Metric, { translate: pt(1.193, 2.725), rotate: 0, - id: 'conv_power_path_out_cap_cap_c_2_' + id: 'C13' }) -const conv_power_path_out_cap_cap_c_3_ = board.add(C_1206_3216Metric, { +// conv.power_path.out_cap.cap.c[3] +const C14 = board.add(C_1206_3216Metric, { translate: pt(1.413, 2.725), rotate: 0, - id: 'conv_power_path_out_cap_cap_c_3_' + id: 'C14' }) -const conv_power_path_out_cap_cap_c_4_ = board.add(C_1206_3216Metric, { +// conv.power_path.out_cap.cap.c[4] +const C15 = board.add(C_1206_3216Metric, { translate: pt(0.091, 2.855), rotate: 0, - id: 'conv_power_path_out_cap_cap_c_4_' + id: 'C15' }) -const conv_power_path_out_cap_cap_c_5_ = board.add(C_1206_3216Metric, { +// conv.power_path.out_cap.cap.c[5] +const C16 = board.add(C_1206_3216Metric, { translate: pt(0.311, 2.855), rotate: 0, - id: 'conv_power_path_out_cap_cap_c_5_' + id: 'C16' }) -const conv_power_path_out_cap_cap_c_6_ = board.add(C_1206_3216Metric, { +// conv.power_path.out_cap.cap.c[6] +const C17 = board.add(C_1206_3216Metric, { translate: pt(0.531, 2.855), rotate: 0, - id: 'conv_power_path_out_cap_cap_c_6_' + id: 'C17' }) -const conv_power_path_out_cap_cap_c_7_ = board.add(C_1206_3216Metric, { +// conv.power_path.out_cap.cap.c[7] +const C18 = board.add(C_1206_3216Metric, { translate: pt(0.752, 2.855), rotate: 0, - id: 'conv_power_path_out_cap_cap_c_7_' + id: 'C18' }) -const conv_power_path_out_cap_cap_c_8_ = board.add(C_1206_3216Metric, { +// conv.power_path.out_cap.cap.c[8] +const C19 = board.add(C_1206_3216Metric, { translate: pt(0.972, 2.855), rotate: 0, - id: 'conv_power_path_out_cap_cap_c_8_' + id: 'C19' }) -const conv_buck_sw_driver_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// conv.buck_sw.driver.ic +const U3 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(1.098, 2.471), rotate: 0, - id: 'conv_buck_sw_driver_ic' + id: 'U3' }) -const conv_buck_sw_driver_cap_cap = board.add(C_0603_1608Metric, { +// conv.buck_sw.driver.cap.cap +const C20 = board.add(C_0603_1608Metric, { translate: pt(1.492, 2.838), rotate: 0, - id: 'conv_buck_sw_driver_cap_cap' + id: 'C20' }) -const conv_buck_sw_driver_high_cap_cap = board.add(C_0603_1608Metric, { +// conv.buck_sw.driver.high_cap.cap +const C21 = board.add(C_0603_1608Metric, { translate: pt(0.058, 2.968), rotate: 0, - id: 'conv_buck_sw_driver_high_cap_cap' + id: 'C21' }) -const conv_buck_sw_driver_boot = board.add(D_SOD_323, { +// conv.buck_sw.driver.boot +const D3 = board.add(D_SOD_323, { translate: pt(1.166, 2.847), rotate: 0, - id: 'conv_buck_sw_driver_boot' + id: 'D3' }) -const conv_buck_sw_low_fet = board.add(TO_252_2, { +// conv.buck_sw.low_fet +const Q1 = board.add(TO_252_2, { translate: pt(0.870, 1.951), rotate: 0, - id: 'conv_buck_sw_low_fet' + id: 'Q1' }) -const conv_buck_sw_low_gate_res = board.add(R_0603_1608Metric, { +// conv.buck_sw.low_gate_res +const R4 = board.add(R_0603_1608Metric, { translate: pt(0.214, 2.968), rotate: 0, - id: 'conv_buck_sw_low_gate_res' + id: 'R4' }) -const conv_buck_sw_high_fet = board.add(TO_252_2, { +// conv.buck_sw.high_fet +const Q2 = board.add(TO_252_2, { translate: pt(1.346, 1.951), rotate: 0, - id: 'conv_buck_sw_high_fet' + id: 'Q2' }) -const conv_buck_sw_high_gate_res = board.add(R_0603_1608Metric, { +// conv.buck_sw.high_gate_res +const R5 = board.add(R_0603_1608Metric, { translate: pt(0.370, 2.968), rotate: 0, - id: 'conv_buck_sw_high_gate_res' + id: 'R5' }) -const conv_boost_sw_driver_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// conv.boost_sw.driver.ic +const U4 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(1.429, 2.471), rotate: 0, - id: 'conv_boost_sw_driver_ic' + id: 'U4' }) -const conv_boost_sw_driver_cap_cap = board.add(C_0603_1608Metric, { +// conv.boost_sw.driver.cap.cap +const C22 = board.add(C_0603_1608Metric, { translate: pt(0.526, 2.968), rotate: 0, - id: 'conv_boost_sw_driver_cap_cap' + id: 'C22' }) -const conv_boost_sw_driver_high_cap_cap = board.add(C_0603_1608Metric, { +// conv.boost_sw.driver.high_cap.cap +const C23 = board.add(C_0603_1608Metric, { translate: pt(0.682, 2.968), rotate: 0, - id: 'conv_boost_sw_driver_high_cap_cap' + id: 'C23' }) -const conv_boost_sw_driver_boot = board.add(D_SOD_323, { +// conv.boost_sw.driver.boot +const D4 = board.add(D_SOD_323, { translate: pt(1.331, 2.847), rotate: 0, - id: 'conv_boost_sw_driver_boot' + id: 'D4' }) -const conv_boost_sw_low_fet = board.add(TO_252_2, { +// conv.boost_sw.low_fet +const Q3 = board.add(TO_252_2, { translate: pt(0.252, 2.502), rotate: 0, - id: 'conv_boost_sw_low_fet' + id: 'Q3' }) -const conv_boost_sw_low_gate_res = board.add(R_0603_1608Metric, { +// conv.boost_sw.low_gate_res +const R6 = board.add(R_0603_1608Metric, { translate: pt(0.838, 2.968), rotate: 0, - id: 'conv_boost_sw_low_gate_res' + id: 'R6' }) -const conv_boost_sw_high_fet = board.add(TO_252_2, { +// conv.boost_sw.high_fet +const Q4 = board.add(TO_252_2, { translate: pt(0.728, 2.502), rotate: 0, - id: 'conv_boost_sw_high_fet' + id: 'Q4' }) -const conv_boost_sw_high_gate_res = board.add(R_0603_1608Metric, { +// conv.boost_sw.high_gate_res +const R7 = board.add(R_0603_1608Metric, { translate: pt(0.994, 2.968), rotate: 0, - id: 'conv_boost_sw_high_gate_res' + id: 'R7' }) -const prot_conv_diode = board.add(D_SMA, { - translate: pt(1.630, 4.635), rotate: 0, - id: 'prot_conv_diode' +// prot_conv.diode +const D5 = board.add(D_SMA, { + translate: pt(1.236, 4.635), rotate: 0, + id: 'D5' }) -const tp_conv_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(4.259, 4.603), rotate: 0, - id: 'tp_conv_tp' +// tp_conv.tp +const TP5 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(3.257, 4.603), rotate: 0, + id: 'TP5' }) -const reg_v12_ic = board.add(SOT_23_5, { - translate: pt(5.460, 3.182), rotate: 0, - id: 'reg_v12_ic' +// reg_v12.ic +const U5 = board.add(SOT_23_5, { + translate: pt(4.904, 3.182), rotate: 0, + id: 'U5' }) -const reg_v12_fb_div_top_res = board.add(R_0603_1608Metric, { - translate: pt(5.781, 3.317), rotate: 0, - id: 'reg_v12_fb_div_top_res' +// reg_v12.fb.div.top_res +const R8 = board.add(R_0603_1608Metric, { + translate: pt(5.224, 3.317), rotate: 0, + id: 'R8' }) -const reg_v12_fb_div_bottom_res = board.add(R_0603_1608Metric, { - translate: pt(5.438, 3.431), rotate: 0, - id: 'reg_v12_fb_div_bottom_res' +// reg_v12.fb.div.bottom_res +const R9 = board.add(R_0603_1608Metric, { + translate: pt(4.881, 3.431), rotate: 0, + id: 'R9' }) -const reg_v12_power_path_inductor = board.add(L_0805_2012Metric, { - translate: pt(5.614, 3.322), rotate: 0, - id: 'reg_v12_power_path_inductor' +// reg_v12.power_path.inductor +const L3 = board.add(L_0805_2012Metric, { + translate: pt(5.058, 3.322), rotate: 0, + id: 'L3' }) -const reg_v12_power_path_in_cap_cap = board.add(C_0805_2012Metric, { - translate: pt(5.647, 3.154), rotate: 0, - id: 'reg_v12_power_path_in_cap_cap' +// reg_v12.power_path.in_cap.cap +const C24 = board.add(C_0805_2012Metric, { + translate: pt(5.091, 3.154), rotate: 0, + id: 'C24' }) -const reg_v12_power_path_out_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(5.594, 3.431), rotate: 0, - id: 'reg_v12_power_path_out_cap_cap' +// reg_v12.power_path.out_cap.cap +const C25 = board.add(C_0603_1608Metric, { + translate: pt(5.037, 3.431), rotate: 0, + id: 'C25' }) -const reg_v12_cf = board.add(C_0603_1608Metric, { - translate: pt(5.750, 3.431), rotate: 0, - id: 'reg_v12_cf' +// reg_v12.cf +const C26 = board.add(C_0603_1608Metric, { + translate: pt(5.193, 3.431), rotate: 0, + id: 'C26' }) -const reg_v12_rect = board.add(D_SOD_323, { - translate: pt(5.443, 3.326), rotate: 0, - id: 'reg_v12_rect' +// reg_v12.rect +const D6 = board.add(D_SOD_323, { + translate: pt(4.887, 3.326), rotate: 0, + id: 'D6' }) -const tp_v12_tp = board.add(TestPoint_TE_RCT_0805, { +// tp_v12.tp +const TP6 = board.add(TestPoint_TE_RCT_0805, { translate: pt(4.509, 4.603), rotate: 0, - id: 'tp_v12_tp' + id: 'TP6' }) -const reg_analog_ic = board.add(SOT_23_5, { +// reg_analog.ic +const U6 = board.add(SOT_23_5, { translate: pt(3.526, 3.182), rotate: 0, - id: 'reg_analog_ic' + id: 'U6' }) -const reg_analog_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_analog.in_cap.cap +const C27 = board.add(C_0603_1608Metric, { translate: pt(3.504, 3.447), rotate: 0, - id: 'reg_analog_in_cap_cap' + id: 'C27' }) -const reg_analog_out_cap_cap = board.add(C_1206_3216Metric, { +// reg_analog.out_cap.cap +const C28 = board.add(C_1206_3216Metric, { translate: pt(3.536, 3.333), rotate: 0, - id: 'reg_analog_out_cap_cap' + id: 'C28' }) -const tp_analog_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.507, 4.603), rotate: 0, - id: 'tp_analog_tp' +// tp_analog.tp +const TP7 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(3.758, 4.603), rotate: 0, + id: 'TP7' }) -const reg_vref_ic = board.add(SOT_23, { +// reg_vref.ic +const U7 = board.add(SOT_23, { translate: pt(1.409, 4.251), rotate: 0, - id: 'reg_vref_ic' + id: 'U7' }) -const reg_vref_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_vref.in_cap.cap +const C29 = board.add(C_0603_1608Metric, { translate: pt(1.391, 4.386), rotate: 0, - id: 'reg_vref_in_cap_cap' + id: 'C29' }) -const tp_vref_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.007, 4.603), rotate: 0, - id: 'tp_vref_tp' +// tp_vref.tp +const TP8 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.256, 4.603), rotate: 0, + id: 'TP8' }) -const ref_div_div_top_res = board.add(R_0603_1608Metric, { - translate: pt(0.058, 4.594), rotate: 0, - id: 'ref_div_div_top_res' +// ref_div.div.top_res +const R10 = board.add(R_0603_1608Metric, { + translate: pt(4.455, 4.213), rotate: 0, + id: 'R10' }) -const ref_div_div_bottom_res = board.add(R_0603_1608Metric, { - translate: pt(0.058, 4.691), rotate: 0, - id: 'ref_div_div_bottom_res' +// ref_div.div.bottom_res +const R11 = board.add(R_0603_1608Metric, { + translate: pt(4.455, 4.309), rotate: 0, + id: 'R11' }) -const ref_cap = board.add(C_0603_1608Metric, { +// ref_cap +const C30 = board.add(C_0603_1608Metric, { translate: pt(5.804, 4.594), rotate: 0, - id: 'ref_cap' + id: 'C30' }) -const reg_vcontrol_ic = board.add(SOT_23_5, { - translate: pt(4.904, 3.182), rotate: 0, - id: 'reg_vcontrol_ic' +// reg_vcontrol.ic +const U8 = board.add(SOT_23_5, { + translate: pt(5.481, 3.182), rotate: 0, + id: 'U8' }) -const reg_vcontrol_fb_div_top_res = board.add(R_0603_1608Metric, { - translate: pt(5.047, 3.317), rotate: 0, - id: 'reg_vcontrol_fb_div_top_res' +// reg_vcontrol.fb.div.top_res +const R12 = board.add(R_0603_1608Metric, { + translate: pt(5.625, 3.317), rotate: 0, + id: 'R12' }) -const reg_vcontrol_fb_div_bottom_res = board.add(R_0603_1608Metric, { - translate: pt(5.203, 3.317), rotate: 0, - id: 'reg_vcontrol_fb_div_bottom_res' -}) -const reg_vcontrol_power_path_inductor = board.add(L_0603_1608Metric, { - translate: pt(4.881, 3.431), rotate: 0, - id: 'reg_vcontrol_power_path_inductor' -}) -const reg_vcontrol_power_path_in_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(5.037, 3.431), rotate: 0, - id: 'reg_vcontrol_power_path_in_cap_cap' -}) -const reg_vcontrol_power_path_out_cap_cap = board.add(C_0805_2012Metric, { - translate: pt(5.091, 3.154), rotate: 0, - id: 'reg_vcontrol_power_path_out_cap_cap' -}) -const reg_vcontrol_cf = board.add(C_0603_1608Metric, { - translate: pt(5.193, 3.431), rotate: 0, - id: 'reg_vcontrol_cf' -}) -const reg_vcontrol_rect = board.add(D_SOD_323, { - translate: pt(4.887, 3.326), rotate: 0, - id: 'reg_vcontrol_rect' -}) -const tp_vcontrol_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.257, 4.603), rotate: 0, - id: 'tp_vcontrol_tp' +// reg_vcontrol.fb.div.bottom_res +const R13 = board.add(R_0603_1608Metric, { + translate: pt(5.781, 3.317), rotate: 0, + id: 'R13' +}) +// reg_vcontrol.power_path.inductor +const L4 = board.add(L_0603_1608Metric, { + translate: pt(5.459, 3.431), rotate: 0, + id: 'L4' +}) +// reg_vcontrol.power_path.in_cap.cap +const C31 = board.add(C_0603_1608Metric, { + translate: pt(5.615, 3.431), rotate: 0, + id: 'C31' +}) +// reg_vcontrol.power_path.out_cap.cap +const C32 = board.add(C_0805_2012Metric, { + translate: pt(5.669, 3.154), rotate: 0, + id: 'C32' +}) +// reg_vcontrol.cf +const C33 = board.add(C_0603_1608Metric, { + translate: pt(5.771, 3.431), rotate: 0, + id: 'C33' +}) +// reg_vcontrol.rect +const D7 = board.add(D_SOD_323, { + translate: pt(5.464, 3.326), rotate: 0, + id: 'D7' +}) +// tp_vcontrol.tp +const TP9 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(4.259, 4.603), rotate: 0, + id: 'TP9' }) -const reg_vcontroln_ic = board.add(SOT_23_6, { +// reg_vcontroln.ic +const U9 = board.add(SOT_23_6, { translate: pt(0.081, 4.251), rotate: 0, - id: 'reg_vcontroln_ic' + id: 'U9' }) -const reg_vcontroln_cf = board.add(C_0805_2012Metric, { +// reg_vcontroln.cf +const C34 = board.add(C_0805_2012Metric, { translate: pt(0.287, 4.396), rotate: 0, - id: 'reg_vcontroln_cf' + id: 'C34' }) -const reg_vcontroln_cout_cap_c_0_ = board.add(C_1206_3216Metric, { +// reg_vcontroln.cout.cap.c[0] +const C35 = board.add(C_1206_3216Metric, { translate: pt(0.291, 4.229), rotate: 0, - id: 'reg_vcontroln_cout_cap_c_0_' + id: 'C35' }) -const reg_vcontroln_cout_cap_c_1_ = board.add(C_1206_3216Metric, { +// reg_vcontroln.cout.cap.c[1] +const C36 = board.add(C_1206_3216Metric, { translate: pt(0.091, 4.402), rotate: 0, - id: 'reg_vcontroln_cout_cap_c_1_' + id: 'C36' }) -const tp_vcontroln_tp = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.256, 4.603), rotate: 0, - id: 'tp_vcontroln_tp' +// tp_vcontroln.tp +const TP10 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(3.007, 4.603), rotate: 0, + id: 'TP10' }) -const control_dmeas_r1 = board.add(R_0603_1608Metric, { +// control.dmeas.r1 +const R14 = board.add(R_0603_1608Metric, { translate: pt(2.980, 2.519), rotate: 0, - id: 'control_dmeas_r1' + id: 'R14' }) -const control_dmeas_r2 = board.add(R_0603_1608Metric, { +// control.dmeas.r2 +const R15 = board.add(R_0603_1608Metric, { translate: pt(3.135, 2.519), rotate: 0, - id: 'control_dmeas_r2' + id: 'R15' }) -const control_dmeas_rf = board.add(R_0603_1608Metric, { +// control.dmeas.rf +const R16 = board.add(R_0603_1608Metric, { translate: pt(1.751, 2.647), rotate: 0, - id: 'control_dmeas_rf' + id: 'R16' }) -const control_dmeas_rg = board.add(R_0603_1608Metric, { +// control.dmeas.rg +const R17 = board.add(R_0603_1608Metric, { translate: pt(1.907, 2.647), rotate: 0, - id: 'control_dmeas_rg' + id: 'R17' }) -const control_dclamp_res = board.add(R_0603_1608Metric, { +// control.dclamp.res +const R18 = board.add(R_0603_1608Metric, { translate: pt(2.063, 2.647), rotate: 0, - id: 'control_dclamp_res' + id: 'R18' }) -const control_err_d_rtop = board.add(R_0603_1608Metric, { +// control.err_d.rtop +const R19 = board.add(R_0603_1608Metric, { translate: pt(2.219, 2.647), rotate: 0, - id: 'control_err_d_rtop' + id: 'R19' }) -const control_err_d_rbot = board.add(R_0603_1608Metric, { +// control.err_d.rbot +const R20 = board.add(R_0603_1608Metric, { translate: pt(2.375, 2.647), rotate: 0, - id: 'control_err_d_rbot' + id: 'R20' }) -const control_err_d_rout = board.add(R_0603_1608Metric, { +// control.err_d.rout +const R21 = board.add(R_0603_1608Metric, { translate: pt(2.531, 2.647), rotate: 0, - id: 'control_err_d_rout' + id: 'R21' }) -const control_err_volt_rtop = board.add(R_0603_1608Metric, { +// control.err_volt.rtop +const R22 = board.add(R_0603_1608Metric, { translate: pt(2.687, 2.647), rotate: 0, - id: 'control_err_volt_rtop' + id: 'R22' }) -const control_err_volt_rbot = board.add(R_0603_1608Metric, { +// control.err_volt.rbot +const R23 = board.add(R_0603_1608Metric, { translate: pt(2.843, 2.647), rotate: 0, - id: 'control_err_volt_rbot' + id: 'R23' }) -const control_err_volt_rout = board.add(R_0603_1608Metric, { +// control.err_volt.rout +const R24 = board.add(R_0603_1608Metric, { translate: pt(2.998, 2.647), rotate: 0, - id: 'control_err_volt_rout' + id: 'R24' }) -const control_err_source_rtop = board.add(R_0603_1608Metric, { +// control.err_source.rtop +const R25 = board.add(R_0603_1608Metric, { translate: pt(3.154, 2.647), rotate: 0, - id: 'control_err_source_rtop' + id: 'R25' }) -const control_err_source_rbot = board.add(R_0603_1608Metric, { +// control.err_source.rbot +const R26 = board.add(R_0603_1608Metric, { translate: pt(1.751, 2.744), rotate: 0, - id: 'control_err_source_rbot' + id: 'R26' }) -const control_err_source_rout = board.add(R_0603_1608Metric, { +// control.err_source.rout +const R27 = board.add(R_0603_1608Metric, { translate: pt(1.907, 2.744), rotate: 0, - id: 'control_err_source_rout' + id: 'R27' }) -const control_err_source_diode = board.add(D_SOD_323, { +// control.err_source.diode +const D8 = board.add(D_SOD_323, { translate: pt(2.322, 2.528), rotate: 0, - id: 'control_err_source_diode' + id: 'D8' }) -const control_err_sink_rtop = board.add(R_0603_1608Metric, { +// control.err_sink.rtop +const R28 = board.add(R_0603_1608Metric, { translate: pt(2.063, 2.744), rotate: 0, - id: 'control_err_sink_rtop' + id: 'R28' }) -const control_err_sink_rbot = board.add(R_0603_1608Metric, { +// control.err_sink.rbot +const R29 = board.add(R_0603_1608Metric, { translate: pt(2.219, 2.744), rotate: 0, - id: 'control_err_sink_rbot' + id: 'R29' }) -const control_err_sink_rout = board.add(R_0603_1608Metric, { +// control.err_sink.rout +const R30 = board.add(R_0603_1608Metric, { translate: pt(2.375, 2.744), rotate: 0, - id: 'control_err_sink_rout' + id: 'R30' }) -const control_err_sink_diode = board.add(D_SOD_323, { +// control.err_sink.diode +const D9 = board.add(D_SOD_323, { translate: pt(2.487, 2.528), rotate: 0, - id: 'control_err_sink_diode' + id: 'D9' }) -const control_off_sw_device_ic = board.add(SOT_363_SC_70_6, { +// control.off_sw.device.ic +const U10 = board.add(SOT_363_SC_70_6, { translate: pt(2.965, 2.231), rotate: 0, - id: 'control_off_sw_device_ic' + id: 'U10' }) -const control_off_sw_device_vdd_cap_cap = board.add(C_0603_1608Metric, { +// control.off_sw.device.vdd_cap.cap +const C37 = board.add(C_0603_1608Metric, { translate: pt(2.531, 2.744), rotate: 0, - id: 'control_off_sw_device_vdd_cap_cap' + id: 'C37' }) -const control_int_r = board.add(R_0603_1608Metric, { +// control.int.r +const R31 = board.add(R_0603_1608Metric, { translate: pt(2.687, 2.744), rotate: 0, - id: 'control_int_r' + id: 'R31' }) -const control_int_c = board.add(C_0603_1608Metric, { +// control.int.c +const C38 = board.add(C_0603_1608Metric, { translate: pt(2.843, 2.744), rotate: 0, - id: 'control_int_c' + id: 'C38' }) -const control_amp_r1 = board.add(R_0603_1608Metric, { +// control.amp.r1 +const R32 = board.add(R_0603_1608Metric, { translate: pt(2.998, 2.744), rotate: 0, - id: 'control_amp_r1' + id: 'R32' }) -const control_amp_r2 = board.add(R_0603_1608Metric, { +// control.amp.r2 +const R33 = board.add(R_0603_1608Metric, { translate: pt(3.154, 2.744), rotate: 0, - id: 'control_amp_r2' + id: 'R33' }) -const control_hvclamp_res = board.add(R_0603_1608Metric, { +// control.hvclamp.res +const R34 = board.add(R_0603_1608Metric, { translate: pt(1.751, 2.841), rotate: 0, - id: 'control_hvclamp_res' + id: 'R34' }) -const control_driver_clamp1 = board.add(D_SOD_323, { +// control.driver.clamp1 +const D10 = board.add(D_SOD_323, { translate: pt(2.653, 2.528), rotate: 0, - id: 'control_driver_clamp1' + id: 'D10' }) -const control_driver_clamp2 = board.add(D_SOD_323, { +// control.driver.clamp2 +const D11 = board.add(D_SOD_323, { translate: pt(2.819, 2.528), rotate: 0, - id: 'control_driver_clamp2' + id: 'D11' }) -const control_driver_high_fet = board.add(TO_252_2, { +// control.driver.high_fet +const Q5 = board.add(TO_252_2, { translate: pt(2.826, 1.951), rotate: 0, - id: 'control_driver_high_fet' + id: 'Q5' }) -const control_driver_low_fet = board.add(TO_252_2, { +// control.driver.low_fet +const Q6 = board.add(TO_252_2, { translate: pt(1.944, 2.313), rotate: 0, - id: 'control_driver_low_fet' + id: 'Q6' }) -const control_driver_res = board.add(R_0603_1608Metric, { +// control.driver.res +const R35 = board.add(R_0603_1608Metric, { translate: pt(1.907, 2.841), rotate: 0, - id: 'control_driver_res' + id: 'R35' }) -const control_isense_ranges_0__pwr_sw_ic = board.add(SMDIP_6_W7_62mm, { +// control.isense.ranges[0].pwr_sw.ic +const U11 = board.add(SMDIP_6_W7_62mm, { translate: pt(1.894, 1.975), rotate: 0, - id: 'control_isense_ranges_0__pwr_sw_ic' + id: 'U11' }) -const control_isense_ranges_0__pwr_sw_res = board.add(R_0603_1608Metric, { +// control.isense.ranges[0].pwr_sw.res +const R36 = board.add(R_0603_1608Metric, { translate: pt(2.063, 2.841), rotate: 0, - id: 'control_isense_ranges_0__pwr_sw_res' + id: 'R36' }) -const control_isense_ranges_0__isense_res_res = board.add(R_1206_3216Metric, { +// control.isense.ranges[0].isense.res.res +const R37 = board.add(R_1206_3216Metric, { translate: pt(3.157, 2.220), rotate: 0, - id: 'control_isense_ranges_0__isense_res_res' + id: 'R37' }) -const control_isense_ranges_0__clamp_res = board.add(R_0603_1608Metric, { +// control.isense.ranges[0].clamp.res +const R38 = board.add(R_0603_1608Metric, { translate: pt(2.219, 2.841), rotate: 0, - id: 'control_isense_ranges_0__clamp_res' + id: 'R38' }) -const control_isense_ranges_0__sense_sw_device_ic = board.add(SOT_23_6, { +// control.isense.ranges[0].sense_sw.device.ic +const U12 = board.add(SOT_23_6, { translate: pt(2.581, 2.243), rotate: 0, - id: 'control_isense_ranges_0__sense_sw_device_ic' + id: 'U12' }) -const control_isense_ranges_0__sense_sw_device_vdd_cap_cap = board.add(C_0805_2012Metric, { +// control.isense.ranges[0].sense_sw.device.vdd_cap.cap +const C39 = board.add(C_0805_2012Metric, { translate: pt(1.979, 2.529), rotate: 0, - id: 'control_isense_ranges_0__sense_sw_device_vdd_cap_cap' + id: 'C39' }) -const control_isense_ranges_1__pwr_sw_ic = board.add(SMDIP_6_W7_62mm, { +// control.isense.ranges[1].pwr_sw.ic +const U13 = board.add(SMDIP_6_W7_62mm, { translate: pt(2.335, 1.975), rotate: 0, - id: 'control_isense_ranges_1__pwr_sw_ic' + id: 'U13' }) -const control_isense_ranges_1__pwr_sw_res = board.add(R_0603_1608Metric, { +// control.isense.ranges[1].pwr_sw.res +const R39 = board.add(R_0603_1608Metric, { translate: pt(2.375, 2.841), rotate: 0, - id: 'control_isense_ranges_1__pwr_sw_res' + id: 'R39' }) -const control_isense_ranges_1__isense_res_res = board.add(R_1206_3216Metric, { +// control.isense.ranges[1].isense.res.res +const R40 = board.add(R_1206_3216Metric, { translate: pt(1.783, 2.535), rotate: 0, - id: 'control_isense_ranges_1__isense_res_res' + id: 'R40' }) -const control_isense_ranges_1__clamp_res = board.add(R_0603_1608Metric, { +// control.isense.ranges[1].clamp.res +const R41 = board.add(R_0603_1608Metric, { translate: pt(2.531, 2.841), rotate: 0, - id: 'control_isense_ranges_1__clamp_res' + id: 'R41' }) -const control_isense_ranges_1__sense_sw_device_ic = board.add(SOT_23_6, { +// control.isense.ranges[1].sense_sw.device.ic +const U14 = board.add(SOT_23_6, { translate: pt(2.781, 2.243), rotate: 0, - id: 'control_isense_ranges_1__sense_sw_device_ic' + id: 'U14' }) -const control_isense_ranges_1__sense_sw_device_vdd_cap_cap = board.add(C_0805_2012Metric, { +// control.isense.ranges[1].sense_sw.device.vdd_cap.cap +const C40 = board.add(C_0805_2012Metric, { translate: pt(2.152, 2.529), rotate: 0, - id: 'control_isense_ranges_1__sense_sw_device_vdd_cap_cap' + id: 'C40' }) -const control_imeas_amp = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// control.imeas.amp +const U15 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(2.315, 2.282), rotate: 0, - id: 'control_imeas_amp' + id: 'U15' }) -const control_imeas_vdd_cap_cap = board.add(C_0603_1608Metric, { +// control.imeas.vdd_cap.cap +const C41 = board.add(C_0603_1608Metric, { translate: pt(2.687, 2.841), rotate: 0, - id: 'control_imeas_vdd_cap_cap' + id: 'C41' }) -const control_vmeas_r1 = board.add(R_0603_1608Metric, { +// control.vmeas.r1 +const R42 = board.add(R_0603_1608Metric, { translate: pt(2.843, 2.841), rotate: 0, - id: 'control_vmeas_r1' + id: 'R42' }) -const control_vmeas_r2 = board.add(R_0603_1608Metric, { +// control.vmeas.r2 +const R43 = board.add(R_0603_1608Metric, { translate: pt(2.998, 2.841), rotate: 0, - id: 'control_vmeas_r2' + id: 'R43' }) -const control_vmeas_rf = board.add(R_0603_1608Metric, { +// control.vmeas.rf +const R44 = board.add(R_0603_1608Metric, { translate: pt(3.154, 2.841), rotate: 0, - id: 'control_vmeas_rf' + id: 'R44' }) -const control_vmeas_rg = board.add(R_0603_1608Metric, { +// control.vmeas.rg +const R45 = board.add(R_0603_1608Metric, { translate: pt(1.751, 2.937), rotate: 0, - id: 'control_vmeas_rg' + id: 'R45' }) -const control_vclamp_res = board.add(R_0603_1608Metric, { +// control.vclamp.res +const R46 = board.add(R_0603_1608Metric, { translate: pt(1.907, 2.937), rotate: 0, - id: 'control_vclamp_res' + id: 'R46' }) -const pd_ic = board.add(WQFN_14_1EP_2_5x2_5mm_P0_5mm_EP1_45x1_45mm, { +// pd.ic +const U16 = board.add(WQFN_14_1EP_2_5x2_5mm_P0_5mm_EP1_45x1_45mm, { translate: pt(0.573, 4.257), rotate: 0, - id: 'pd_ic' + id: 'U16' }) -const pd_vdd_cap_0__cap = board.add(C_0603_1608Metric, { +// pd.vdd_cap[0].cap +const C42 = board.add(C_0603_1608Metric, { translate: pt(0.731, 4.398), rotate: 0, - id: 'pd_vdd_cap_0__cap' + id: 'C42' }) -const pd_vdd_cap_1__cap = board.add(C_0805_2012Metric, { +// pd.vdd_cap[1].cap +const C43 = board.add(C_0805_2012Metric, { translate: pt(0.567, 4.407), rotate: 0, - id: 'pd_vdd_cap_1__cap' + id: 'C43' }) -const mcu_ic = board.add(ESP32_S3_WROOM_1, { +// mcu.ic +const U17 = board.add(ESP32_S3_WROOM_1, { translate: pt(3.504, 0.530), rotate: 0, - id: 'mcu_ic' + id: 'U17' }) -const mcu_vcc_cap0_cap = board.add(C_1206_3216Metric, { +// mcu.vcc_cap0.cap +const C44 = board.add(C_1206_3216Metric, { translate: pt(4.579, 0.242), rotate: 0, - id: 'mcu_vcc_cap0_cap' + id: 'C44' }) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// mcu.vcc_cap1.cap +const C45 = board.add(C_0603_1608Metric, { translate: pt(4.767, 0.226), rotate: 0, - id: 'mcu_vcc_cap1_cap' + id: 'C45' }) -const mcu_prog_conn = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { +// mcu.prog.conn +const J2 = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { translate: pt(4.626, 0.079), rotate: 0, - id: 'mcu_prog_conn' + id: 'J2' }) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { +// mcu.en_pull.rc.r +const R47 = board.add(R_0603_1608Metric, { translate: pt(4.546, 0.356), rotate: 0, - id: 'mcu_en_pull_rc_r' + id: 'R47' }) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { +// mcu.en_pull.rc.c +const C46 = board.add(C_0603_1608Metric, { translate: pt(4.702, 0.356), rotate: 0, - id: 'mcu_en_pull_rc_c' + id: 'C46' }) -const led_package = board.add(LED_0603_1608Metric, { +// led.package +const D12 = board.add(LED_0603_1608Metric, { translate: pt(4.220, 4.213), rotate: 0, - id: 'led_package' + id: 'D12' }) -const led_res = board.add(R_0603_1608Metric, { +// led.res +const R48 = board.add(R_0603_1608Metric, { translate: pt(4.220, 4.310), rotate: 0, - id: 'led_res' + id: 'R48' }) -const usb_esd = board.add(SOT_23, { +// usb_esd +const U18 = board.add(SOT_23, { translate: pt(5.473, 4.633), rotate: 0, - id: 'usb_esd' + id: 'U18' }) -const i2c_tp_tp_scl_tp = board.add(TestPoint_TE_RCT_0805, { +// i2c_tp.tp_scl.tp +const TP11 = board.add(TestPoint_TE_RCT_0805, { translate: pt(2.983, 4.221), rotate: 0, - id: 'i2c_tp_tp_scl_tp' + id: 'TP11' }) -const i2c_tp_tp_sda_tp = board.add(TestPoint_TE_RCT_0805, { +// i2c_tp.tp_sda.tp +const TP12 = board.add(TestPoint_TE_RCT_0805, { translate: pt(2.983, 4.335), rotate: 0, - id: 'i2c_tp_tp_sda_tp' + id: 'TP12' }) -const i2c_pull_scl_res_res = board.add(R_0603_1608Metric, { - translate: pt(6.097, 4.213), rotate: 0, - id: 'i2c_pull_scl_res_res' +// i2c_pull.scl_res.res +const R49 = board.add(R_0603_1608Metric, { + translate: pt(0.528, 4.594), rotate: 0, + id: 'R49' }) -const i2c_pull_sda_res_res = board.add(R_0603_1608Metric, { - translate: pt(6.097, 4.309), rotate: 0, - id: 'i2c_pull_sda_res_res' +// i2c_pull.sda_res.res +const R50 = board.add(R_0603_1608Metric, { + translate: pt(0.528, 4.691), rotate: 0, + id: 'R50' }) -const oled_device_conn = board.add(Hirose_FH12_24S_0_5SH_1x24_1MP_P0_50mm_Horizontal, { +// oled.device.conn +const J3 = board.add(Hirose_FH12_24S_0_5SH_1x24_1MP_P0_50mm_Horizontal, { translate: pt(0.356, 1.577), rotate: 0, - id: 'oled_device_conn' + id: 'J3' }) -const oled_lcd = board.add(Lcd_Er_Oled022_1_Outline, { +// oled.lcd +const U19 = board.add(Lcd_Er_Oled022_1_Outline, { translate: pt(1.220, 0.607), rotate: 0, - id: 'oled_lcd' + id: 'U19' }) -const oled_iref_res = board.add(R_0603_1608Metric, { +// oled.iref_res +const R51 = board.add(R_0603_1608Metric, { translate: pt(1.377, 1.413), rotate: 0, - id: 'oled_iref_res' + id: 'R51' }) -const oled_vcomh_cap_cap = board.add(C_1206_3216Metric, { +// oled.vcomh_cap.cap +const C47 = board.add(C_1206_3216Metric, { translate: pt(0.843, 1.430), rotate: 0, - id: 'oled_vcomh_cap_cap' + id: 'C47' }) -const oled_vdd_cap1_cap = board.add(C_0603_1608Metric, { +// oled.vdd_cap1.cap +const C48 = board.add(C_0603_1608Metric, { translate: pt(1.533, 1.413), rotate: 0, - id: 'oled_vdd_cap1_cap' + id: 'C48' }) -const oled_vdd_cap2_cap = board.add(C_0805_2012Metric, { +// oled.vdd_cap2.cap +const C49 = board.add(C_0805_2012Metric, { translate: pt(1.039, 1.423), rotate: 0, - id: 'oled_vdd_cap2_cap' + id: 'C49' }) -const oled_vcc_cap1_cap = board.add(C_0603_1608Metric, { +// oled.vcc_cap1.cap +const C50 = board.add(C_0603_1608Metric, { translate: pt(1.689, 1.413), rotate: 0, - id: 'oled_vcc_cap1_cap' + id: 'C50' }) -const oled_vcc_cap2_cap = board.add(C_0805_2012Metric, { +// oled.vcc_cap2.cap +const C51 = board.add(C_0805_2012Metric, { translate: pt(1.213, 1.423), rotate: 0, - id: 'oled_vcc_cap2_cap' + id: 'C51' }) -const buck_rc_rc_r = board.add(R_0603_1608Metric, { - translate: pt(5.159, 4.213), rotate: 0, - id: 'buck_rc_rc_r' +// buck_rc.rc.r +const R52 = board.add(R_0603_1608Metric, { + translate: pt(4.924, 4.213), rotate: 0, + id: 'R52' }) -const buck_rc_rc_c = board.add(C_0603_1608Metric, { - translate: pt(5.159, 4.309), rotate: 0, - id: 'buck_rc_rc_c' +// buck_rc.rc.c +const C52 = board.add(C_0603_1608Metric, { + translate: pt(4.924, 4.309), rotate: 0, + id: 'C52' }) -const boost_rc_rc_r = board.add(R_0603_1608Metric, { - translate: pt(5.394, 4.213), rotate: 0, - id: 'boost_rc_rc_r' +// boost_rc.rc.r +const R53 = board.add(R_0603_1608Metric, { + translate: pt(0.293, 4.594), rotate: 0, + id: 'R53' }) -const boost_rc_rc_c = board.add(C_0603_1608Metric, { - translate: pt(5.394, 4.309), rotate: 0, - id: 'boost_rc_rc_c' +// boost_rc.rc.c +const C53 = board.add(C_0603_1608Metric, { + translate: pt(0.293, 4.691), rotate: 0, + id: 'C53' }) -const conv_comp_ic = board.add(SOT_353_SC_70_5, { +// conv_comp.ic +const U20 = board.add(SOT_353_SC_70_5, { translate: pt(2.446, 4.239), rotate: 0, - id: 'conv_comp_ic' + id: 'U20' }) -const conv_comp_vdd_cap_cap = board.add(C_0603_1608Metric, { +// conv_comp.vdd_cap.cap +const C54 = board.add(C_0603_1608Metric, { translate: pt(2.441, 4.362), rotate: 0, - id: 'conv_comp_vdd_cap_cap' -}) -const comp_ref_div_top_res = board.add(R_0603_1608Metric, { - translate: pt(5.628, 4.213), rotate: 0, - id: 'comp_ref_div_top_res' -}) -const comp_ref_div_bottom_res = board.add(R_0603_1608Metric, { - translate: pt(5.628, 4.309), rotate: 0, - id: 'comp_ref_div_bottom_res' + id: 'C54' }) -const comp_sense_div_top_res = board.add(R_0603_1608Metric, { +// comp_ref.div.top_res +const R54 = board.add(R_0603_1608Metric, { translate: pt(4.690, 4.213), rotate: 0, - id: 'comp_sense_div_top_res' + id: 'R54' }) -const comp_sense_div_bottom_res = board.add(R_0603_1608Metric, { +// comp_ref.div.bottom_res +const R55 = board.add(R_0603_1608Metric, { translate: pt(4.690, 4.309), rotate: 0, - id: 'comp_sense_div_bottom_res' + id: 'R55' +}) +// comp_sense.div.top_res +const R56 = board.add(R_0603_1608Metric, { + translate: pt(5.863, 4.213), rotate: 0, + id: 'R56' +}) +// comp_sense.div.bottom_res +const R57 = board.add(R_0603_1608Metric, { + translate: pt(5.863, 4.309), rotate: 0, + id: 'R57' }) -const conv_latch_ic = board.add(VSSOP_8_2_4x2_1mm_P0_5mm, { +// conv_latch.ic +const U21 = board.add(VSSOP_8_2_4x2_1mm_P0_5mm, { translate: pt(2.713, 4.235), rotate: 0, - id: 'conv_latch_ic' + id: 'U21' }) -const conv_latch_vdd_cap_cap = board.add(C_0603_1608Metric, { +// conv_latch.vdd_cap.cap +const C55 = board.add(C_0603_1608Metric, { translate: pt(2.685, 4.354), rotate: 0, - id: 'conv_latch_vdd_cap_cap' -}) -const conv_en_pull_res = board.add(R_0603_1608Metric, { - translate: pt(5.221, 4.594), rotate: 0, - id: 'conv_en_pull_res' + id: 'C55' }) -const comp_pull_res = board.add(R_0603_1608Metric, { +// conv_en_pull.res +const R58 = board.add(R_0603_1608Metric, { translate: pt(4.752, 4.594), rotate: 0, - id: 'comp_pull_res' -}) -const pass_temp_ic = board.add(SOT_563, { - translate: pt(3.455, 4.227), rotate: 0, - id: 'pass_temp_ic' + id: 'R58' }) -const pass_temp_vdd_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(3.460, 4.339), rotate: 0, - id: 'pass_temp_vdd_cap_cap' +// comp_pull.res +const R59 = board.add(R_0603_1608Metric, { + translate: pt(5.221, 4.594), rotate: 0, + id: 'R59' }) -const conv_temp_ic = board.add(SOT_563, { +// pass_temp.ic +const U22 = board.add(SOT_563, { translate: pt(3.220, 4.227), rotate: 0, - id: 'conv_temp_ic' + id: 'U22' }) -const conv_temp_vdd_cap_cap = board.add(C_0603_1608Metric, { +// pass_temp.vdd_cap.cap +const C56 = board.add(C_0603_1608Metric, { translate: pt(3.225, 4.339), rotate: 0, - id: 'conv_temp_vdd_cap_cap' + id: 'C56' }) -const conv_sense_div_top_res = board.add(R_0603_1608Metric, { - translate: pt(4.924, 4.213), rotate: 0, - id: 'conv_sense_div_top_res' +// conv_temp.ic +const U23 = board.add(SOT_563, { + translate: pt(3.455, 4.227), rotate: 0, + id: 'U23' }) -const conv_sense_div_bottom_res = board.add(R_0603_1608Metric, { - translate: pt(4.924, 4.309), rotate: 0, - id: 'conv_sense_div_bottom_res' +// conv_temp.vdd_cap.cap +const C57 = board.add(C_0603_1608Metric, { + translate: pt(3.460, 4.339), rotate: 0, + id: 'C57' +}) +// conv_sense.div.top_res +const R60 = board.add(R_0603_1608Metric, { + translate: pt(0.058, 4.594), rotate: 0, + id: 'R60' +}) +// conv_sense.div.bottom_res +const R61 = board.add(R_0603_1608Metric, { + translate: pt(0.058, 4.691), rotate: 0, + id: 'R61' }) -const ioe_ic = board.add(TSSOP_16_4_4x5mm_P0_65mm, { +// ioe.ic +const U24 = board.add(TSSOP_16_4_4x5mm_P0_65mm, { translate: pt(2.121, 3.833), rotate: 0, - id: 'ioe_ic' + id: 'U24' }) -const ioe_vdd_cap_cap = board.add(C_0603_1608Metric, { +// ioe.vdd_cap.cap +const C58 = board.add(C_0603_1608Metric, { translate: pt(2.028, 4.010), rotate: 0, - id: 'ioe_vdd_cap_cap' + id: 'C58' }) -const enc_package = board.add(RotaryEncoder_Bourns_PEC11S, { +// enc.package +const SW1 = board.add(RotaryEncoder_Bourns_PEC11S, { translate: pt(3.758, 2.158), rotate: 0, - id: 'enc_package' + id: 'SW1' }) -const dir_package = board.add(DirectionSwitch_Alps_SKRH, { +// dir.package +const SW2 = board.add(DirectionSwitch_Alps_SKRH, { translate: pt(2.676, 3.330), rotate: 0, - id: 'dir_package' + id: 'SW2' }) -const rgb_package = board.add(LED_LiteOn_LTST_C19HE1WT, { +// rgb.package +const D13 = board.add(LED_LiteOn_LTST_C19HE1WT, { translate: pt(2.033, 4.239), rotate: 0, - id: 'rgb_package' + id: 'D13' }) -const rgb_red_res = board.add(R_0603_1608Metric, { +// rgb.red_res +const R62 = board.add(R_0603_1608Metric, { translate: pt(2.172, 4.213), rotate: 0, - id: 'rgb_red_res' + id: 'R62' }) -const rgb_green_res = board.add(R_0603_1608Metric, { +// rgb.green_res +const R63 = board.add(R_0603_1608Metric, { translate: pt(2.050, 4.362), rotate: 0, - id: 'rgb_green_res' + id: 'R63' }) -const rgb_blue_res = board.add(R_0603_1608Metric, { +// rgb.blue_res +const R64 = board.add(R_0603_1608Metric, { translate: pt(2.206, 4.362), rotate: 0, - id: 'rgb_blue_res' + id: 'R64' }) -const qwiic_pull_scl_res_res = board.add(R_0603_1608Metric, { - translate: pt(0.528, 4.594), rotate: 0, - id: 'qwiic_pull_scl_res_res' +// qwiic_pull.scl_res.res +const R65 = board.add(R_0603_1608Metric, { + translate: pt(5.159, 4.213), rotate: 0, + id: 'R65' }) -const qwiic_pull_sda_res_res = board.add(R_0603_1608Metric, { - translate: pt(0.528, 4.691), rotate: 0, - id: 'qwiic_pull_sda_res_res' +// qwiic_pull.sda_res.res +const R66 = board.add(R_0603_1608Metric, { + translate: pt(5.159, 4.309), rotate: 0, + id: 'R66' }) -const qwiic_conn = board.add(JST_SH_SM04B_SRSS_TB_1x04_1MP_P1_00mm_Horizontal, { +// qwiic.conn +const J4 = board.add(JST_SH_SM04B_SRSS_TB_1x04_1MP_P1_00mm_Horizontal, { translate: pt(1.061, 4.313), rotate: 0, - id: 'qwiic_conn' + id: 'J4' }) -const dutio_conn = board.add(PinHeader_1x03_P2_54mm_Horizontal, { +// dutio.conn +const J5 = board.add(PinHeader_1x03_P2_54mm_Horizontal, { translate: pt(0.071, 3.995), rotate: 0, - id: 'dutio_conn' + id: 'J5' }) -const touch_duck = board.add(Symbol_DucklingSolid, { +// touch_duck +const U25 = board.add(Symbol_DucklingSolid, { translate: pt(5.901, 4.566), rotate: 0, - id: 'touch_duck' + id: 'U25' }) -const fan_drv_pre = board.add(SOT_23, { +// fan_drv.pre +const Q7 = board.add(SOT_23, { translate: pt(4.104, 3.792), rotate: 0, - id: 'fan_drv_pre' + id: 'Q7' }) -const fan_drv_pull = board.add(R_0603_1608Metric, { +// fan_drv.pull +const R67 = board.add(R_0603_1608Metric, { translate: pt(4.278, 3.927), rotate: 0, - id: 'fan_drv_pull' + id: 'R67' }) -const fan_drv_drv = board.add(SOT_23, { +// fan_drv.drv +const Q8 = board.add(SOT_23, { translate: pt(4.104, 3.965), rotate: 0, - id: 'fan_drv_drv' + id: 'Q8' }) -const fan_conn = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { +// fan.conn +const J6 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { translate: pt(1.699, 4.314), rotate: 0, - id: 'fan_conn' + id: 'J6' }) -const dac_ic = board.add(MSOP_10_3x3mm_P0_5mm, { +// dac.ic +const U26 = board.add(MSOP_10_3x3mm_P0_5mm, { translate: pt(0.730, 3.794), rotate: 0, - id: 'dac_ic' + id: 'U26' }) -const dac_vdd_cap_0__cap = board.add(C_0603_1608Metric, { +// dac.vdd_cap[0].cap +const C59 = board.add(C_0603_1608Metric, { translate: pt(0.663, 3.931), rotate: 0, - id: 'dac_vdd_cap_0__cap' + id: 'C59' }) -const dac_vdd_cap_1__cap = board.add(C_0805_2012Metric, { +// dac.vdd_cap[1].cap +const C60 = board.add(C_0805_2012Metric, { translate: pt(0.961, 3.764), rotate: 0, - id: 'dac_vdd_cap_1__cap' + id: 'C60' }) -const dac_out_cap_0_ = board.add(C_0603_1608Metric, { +// dac.out_cap[0] +const C61 = board.add(C_0603_1608Metric, { translate: pt(0.819, 3.931), rotate: 0, - id: 'dac_out_cap_0_' + id: 'C61' }) -const dac_out_cap_1_ = board.add(C_0603_1608Metric, { +// dac.out_cap[1] +const C62 = board.add(C_0603_1608Metric, { translate: pt(0.974, 3.931), rotate: 0, - id: 'dac_out_cap_1_' + id: 'C62' }) -const dac_out_cap_2_ = board.add(C_0603_1608Metric, { +// dac.out_cap[2] +const C63 = board.add(C_0603_1608Metric, { translate: pt(0.663, 4.028), rotate: 0, - id: 'dac_out_cap_2_' + id: 'C63' }) -const dac_ferrite_fb = board.add(L_0603_1608Metric, { +// dac_ferrite.fb +const FB2 = board.add(L_0603_1608Metric, { translate: pt(4.986, 4.594), rotate: 0, - id: 'dac_ferrite_fb' + id: 'FB2' }) -const tp_cv_conn = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { - translate: pt(4.533, 3.824), rotate: 0, - id: 'tp_cv_conn' +// tp_cv.conn +const J7 = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { + translate: pt(5.970, 3.824), rotate: 0, + id: 'J7' }) -const tp_cv_res = board.add(R_0603_1608Metric, { - translate: pt(4.512, 3.990), rotate: 0, - id: 'tp_cv_res' +// tp_cv.res +const R68 = board.add(R_0603_1608Metric, { + translate: pt(5.949, 3.990), rotate: 0, + id: 'R68' }) -const tp_cisrc_conn = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { - translate: pt(5.108, 3.824), rotate: 0, - id: 'tp_cisrc_conn' +// tp_cisrc.conn +const J8 = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { + translate: pt(4.533, 3.824), rotate: 0, + id: 'J8' }) -const tp_cisrc_res = board.add(R_0603_1608Metric, { - translate: pt(5.087, 3.990), rotate: 0, - id: 'tp_cisrc_res' +// tp_cisrc.res +const R69 = board.add(R_0603_1608Metric, { + translate: pt(4.512, 3.990), rotate: 0, + id: 'R69' }) -const tp_cisnk_conn = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { - translate: pt(4.821, 3.824), rotate: 0, - id: 'tp_cisnk_conn' +// tp_cisnk.conn +const J9 = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { + translate: pt(5.396, 3.824), rotate: 0, + id: 'J9' }) -const tp_cisnk_res = board.add(R_0603_1608Metric, { - translate: pt(4.800, 3.990), rotate: 0, - id: 'tp_cisnk_res' +// tp_cisnk.res +const R70 = board.add(R_0603_1608Metric, { + translate: pt(5.374, 3.990), rotate: 0, + id: 'R70' }) -const adc_ic = board.add(TSSOP_20_4_4x6_5mm_P0_65mm, { +// adc.ic +const U27 = board.add(TSSOP_20_4_4x6_5mm_P0_65mm, { translate: pt(1.344, 3.253), rotate: 0, - id: 'adc_ic' + id: 'U27' }) -const adc_avdd_res_res = board.add(R_0603_1608Metric, { +// adc.avdd_res.res +const R71 = board.add(R_0603_1608Metric, { translate: pt(1.593, 3.260), rotate: 0, - id: 'adc_avdd_res_res' + id: 'R71' }) -const adc_dvdd_res_res = board.add(R_0603_1608Metric, { +// adc.dvdd_res.res +const R72 = board.add(R_0603_1608Metric, { translate: pt(1.593, 3.357), rotate: 0, - id: 'adc_dvdd_res_res' + id: 'R72' }) -const adc_avdd_cap_0_cap = board.add(C_0603_1608Metric, { +// adc.avdd_cap_0.cap +const C64 = board.add(C_0603_1608Metric, { translate: pt(1.250, 3.459), rotate: 0, - id: 'adc_avdd_cap_0_cap' + id: 'C64' }) -const adc_avdd_cap_1_cap = board.add(C_0603_1608Metric, { +// adc.avdd_cap_1.cap +const C65 = board.add(C_0603_1608Metric, { translate: pt(1.406, 3.459), rotate: 0, - id: 'adc_avdd_cap_1_cap' + id: 'C65' }) -const adc_dvdd_cap_0_cap = board.add(C_0603_1608Metric, { +// adc.dvdd_cap_0.cap +const C66 = board.add(C_0603_1608Metric, { translate: pt(1.562, 3.459), rotate: 0, - id: 'adc_dvdd_cap_0_cap' + id: 'C66' }) -const adc_dvdd_cap_1_cap = board.add(C_0603_1608Metric, { +// adc.dvdd_cap_1.cap +const C67 = board.add(C_0603_1608Metric, { translate: pt(1.250, 3.556), rotate: 0, - id: 'adc_dvdd_cap_1_cap' + id: 'C67' }) -const adc_vref_cap_cap = board.add(C_0805_2012Metric, { +// adc.vref_cap.cap +const C68 = board.add(C_0805_2012Metric, { translate: pt(1.602, 3.154), rotate: 0, - id: 'adc_vref_cap_cap' + id: 'C68' }) -const tp_vcen_conn = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { - translate: pt(5.683, 3.824), rotate: 0, - id: 'tp_vcen_conn' +// tp_vcen.conn +const J10 = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { + translate: pt(5.108, 3.824), rotate: 0, + id: 'J10' }) -const tp_vcen_res = board.add(R_0603_1608Metric, { - translate: pt(5.662, 3.990), rotate: 0, - id: 'tp_vcen_res' +// tp_vcen.res +const R73 = board.add(R_0603_1608Metric, { + translate: pt(5.087, 3.990), rotate: 0, + id: 'R73' }) -const vcen_rc_rc_r = board.add(R_0603_1608Metric, { - translate: pt(0.293, 4.594), rotate: 0, - id: 'vcen_rc_rc_r' +// vcen_rc.rc.r +const R74 = board.add(R_0603_1608Metric, { + translate: pt(6.097, 4.213), rotate: 0, + id: 'R74' }) -const vcen_rc_rc_c = board.add(C_0603_1608Metric, { - translate: pt(0.293, 4.691), rotate: 0, - id: 'vcen_rc_rc_c' +// vcen_rc.rc.c +const C69 = board.add(C_0603_1608Metric, { + translate: pt(6.097, 4.309), rotate: 0, + id: 'C69' }) -const tp_mi_conn = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { - translate: pt(5.970, 3.824), rotate: 0, - id: 'tp_mi_conn' +// tp_mi.conn +const J11 = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { + translate: pt(5.683, 3.824), rotate: 0, + id: 'J11' }) -const tp_mi_res = board.add(R_0603_1608Metric, { - translate: pt(5.949, 3.990), rotate: 0, - id: 'tp_mi_res' +// tp_mi.res +const R75 = board.add(R_0603_1608Metric, { + translate: pt(5.662, 3.990), rotate: 0, + id: 'R75' }) -const mi_rc_rc_r = board.add(R_0603_1608Metric, { - translate: pt(4.455, 4.213), rotate: 0, - id: 'mi_rc_rc_r' +// mi_rc.rc.r +const R76 = board.add(R_0603_1608Metric, { + translate: pt(5.394, 4.213), rotate: 0, + id: 'R76' }) -const mi_rc_rc_c = board.add(C_0603_1608Metric, { - translate: pt(4.455, 4.309), rotate: 0, - id: 'mi_rc_rc_c' +// mi_rc.rc.c +const C70 = board.add(C_0603_1608Metric, { + translate: pt(5.394, 4.309), rotate: 0, + id: 'C70' }) -const tp_mv_conn = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { - translate: pt(5.396, 3.824), rotate: 0, - id: 'tp_mv_conn' +// tp_mv.conn +const J12 = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { + translate: pt(4.821, 3.824), rotate: 0, + id: 'J12' }) -const tp_mv_res = board.add(R_0603_1608Metric, { - translate: pt(5.374, 3.990), rotate: 0, - id: 'tp_mv_res' +// tp_mv.res +const R77 = board.add(R_0603_1608Metric, { + translate: pt(4.800, 3.990), rotate: 0, + id: 'R77' }) -const mv_rc_rc_r = board.add(R_0603_1608Metric, { - translate: pt(5.863, 4.213), rotate: 0, - id: 'mv_rc_rc_r' +// mv_rc.rc.r +const R78 = board.add(R_0603_1608Metric, { + translate: pt(5.628, 4.213), rotate: 0, + id: 'R78' }) -const mv_rc_rc_c = board.add(C_0603_1608Metric, { - translate: pt(5.863, 4.309), rotate: 0, - id: 'mv_rc_rc_c' +// mv_rc.rc.c +const C71 = board.add(C_0603_1608Metric, { + translate: pt(5.628, 4.309), rotate: 0, + id: 'C71' }) -const outn = board.add(CalTest_CT3151, { +// outn +const J13 = board.add(CalTest_CT3151, { translate: pt(5.152, 2.199), rotate: 0, - id: 'outn' + id: 'J13' }) -const outp = board.add(CalTest_CT3151, { +// outp +const J14 = board.add(CalTest_CT3151, { translate: pt(0.882, 3.500), rotate: 0, - id: 'outp' + id: 'J14' }) -const outd = board.add(PinHeader_1x02_P2_54mm_Horizontal, { +// outd +const J15 = board.add(PinHeader_1x02_P2_54mm_Horizontal, { translate: pt(3.707, 4.355), rotate: 0, - id: 'outd' + id: 'J15' }) -const vimeas_amps_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(1.706, 3.831), rotate: 0, - id: 'vimeas_amps_ic' -}) -const vimeas_amps_vdd_cap_cap = board.add(C_0805_2012Metric, { - translate: pt(1.627, 4.016), rotate: 0, - id: 'vimeas_amps_vdd_cap_cap' -}) -const ampdmeas_amps_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// vimeas_amps.ic +const U28 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(1.296, 3.831), rotate: 0, - id: 'ampdmeas_amps_ic' + id: 'U28' }) -const ampdmeas_amps_vdd_cap_cap = board.add(C_0805_2012Metric, { +// vimeas_amps.vdd_cap.cap +const C72 = board.add(C_0805_2012Metric, { translate: pt(1.218, 4.016), rotate: 0, - id: 'ampdmeas_amps_vdd_cap_cap' + id: 'C72' +}) +// ampdmeas_amps.ic +const U29 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(1.706, 3.831), rotate: 0, + id: 'U29' +}) +// ampdmeas_amps.vdd_cap.cap +const C73 = board.add(C_0805_2012Metric, { + translate: pt(1.627, 4.016), rotate: 0, + id: 'C73' }) -const cd_amps_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// cd_amps.ic +const U30 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(3.765, 3.831), rotate: 0, - id: 'cd_amps_ic' + id: 'U30' }) -const cd_amps_vdd_cap_cap = board.add(C_0603_1608Metric, { +// cd_amps.vdd_cap.cap +const C74 = board.add(C_0603_1608Metric, { translate: pt(3.678, 4.006), rotate: 0, - id: 'cd_amps_vdd_cap_cap' + id: 'C74' }) -const cv_amps_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(3.356, 3.831), rotate: 0, - id: 'cv_amps_ic' +// cv_amps.ic +const U31 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(2.537, 3.831), rotate: 0, + id: 'U31' }) -const cv_amps_vdd_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(3.268, 4.006), rotate: 0, - id: 'cv_amps_vdd_cap_cap' +// cv_amps.vdd_cap.cap +const C75 = board.add(C_0603_1608Metric, { + translate: pt(2.449, 4.006), rotate: 0, + id: 'C75' }) -const ci_amps_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { +// ci_amps.ic +const U32 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { translate: pt(2.946, 3.831), rotate: 0, - id: 'ci_amps_ic' + id: 'U32' }) -const ci_amps_vdd_cap_cap = board.add(C_0603_1608Metric, { +// ci_amps.vdd_cap.cap +const C76 = board.add(C_0603_1608Metric, { translate: pt(2.859, 4.006), rotate: 0, - id: 'ci_amps_vdd_cap_cap' + id: 'C76' }) -const cintref_amps_ic = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(2.537, 3.831), rotate: 0, - id: 'cintref_amps_ic' +// cintref_amps.ic +const U33 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(3.356, 3.831), rotate: 0, + id: 'U33' }) -const cintref_amps_vdd_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(2.449, 4.006), rotate: 0, - id: 'cintref_amps_vdd_cap_cap' +// cintref_amps.vdd_cap.cap +const C77 = board.add(C_0603_1608Metric, { + translate: pt(3.268, 4.006), rotate: 0, + id: 'C77' }) +board.setNetlist([ + {name: "gnd", pads: [["U18", "3"], ["J7", "2"], ["J8", "2"], ["J9", "2"], ["J10", "2"], ["J11", "2"], ["J12", "2"], ["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["C30", "2"], ["J13", "1"], ["J15", "1"], ["TP1", "1"], ["C1", "2"], ["D1", "2"], ["U1", "1"], ["U2", "1"], ["D2", "2"], ["D5", "2"], ["U5", "2"], ["U6", "2"], ["U7", "3"], ["U8", "2"], ["U9", "1"], ["U16", "8"], ["U16", "9"], ["U16", "15"], ["U17", "1"], ["U17", "40"], ["U17", "41"], ["U20", "2"], ["U21", "4"], ["U22", "2"], ["U22", "4"], ["U23", "2"], ["U24", "1"], ["U24", "2"], ["U24", "3"], ["U24", "8"], ["SW1", "C"], ["SW1", "S2"], ["SW2", "5"], ["J4", "1"], ["J5", "1"], ["Q7", "2"], ["J6", "1"], ["U26", "10"], ["U27", "2"], ["U27", "3"], ["U27", "19"], ["R11", "2"], ["C52", "2"], ["C53", "2"], ["R55", "2"], ["R57", "2"], ["R61", "2"], ["C69", "2"], ["C70", "2"], ["C71", "2"], ["J1", "S1"], ["R51", "2"], ["C61", "2"], ["C62", "2"], ["C63", "2"], ["C2", "2"], ["C6", "2"], ["C7", "2"], ["C27", "2"], ["C28", "2"], ["C29", "2"], ["U15", "2"], ["Q6", "2"], ["C42", "2"], ["C43", "2"], ["C44", "2"], ["C45", "2"], ["J2", "5"], ["J3", "3"], ["J3", "1"], ["J3", "24"], ["J3", "2"], ["J3", "12"], ["J3", "11"], ["J3", "16"], ["J3", "17"], ["J3", "18"], ["J3", "19"], ["J3", "20"], ["C47", "2"], ["C48", "2"], ["C49", "2"], ["C50", "2"], ["C51", "2"], ["C54", "2"], ["C55", "2"], ["C56", "2"], ["C57", "2"], ["C58", "2"], ["C59", "2"], ["C60", "2"], ["C64", "2"], ["C65", "2"], ["C66", "2"], ["C67", "2"], ["C68", "2"], ["R2", "2"], ["R9", "2"], ["R13", "2"], ["U30", "4"], ["U31", "4"], ["U33", "4"], ["U32", "4"], ["U10", "2"], ["C46", "2"], ["Q1", "3"], ["Q3", "3"], ["R42", "1"], ["J3", "7"], ["J3", "10"], ["J3", "8"], ["C4", "2"], ["C5", "2"], ["U3", "6"], ["U4", "6"], ["C24", "2"], ["C25", "2"], ["C31", "2"], ["C32", "2"], ["C35", "2"], ["C36", "2"], ["C41", "2"], ["C74", "2"], ["C75", "2"], ["C77", "2"], ["C76", "2"], ["C37", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["C11", "2"], ["C12", "2"], ["C13", "2"], ["C14", "2"], ["C15", "2"], ["C16", "2"], ["C17", "2"], ["C18", "2"], ["C19", "2"], ["C20", "2"], ["C22", "2"], ["R36", "2"], ["R39", "2"], ["U12", "2"], ["U12", "4"], ["U14", "2"], ["U14", "4"], ["C39", "2"], ["C40", "2"]]}, + {name: "vusb", pads: [["U16", "2"], ["FB1", "2"], ["C1", "1"], ["D1", "1"], ["TP2", "1"], ["U1", "3"], ["R3", "1"], ["C2", "1"], ["C4", "1"], ["Q2", "2"], ["C8", "1"], ["C9", "1"], ["C10", "1"]]}, + {name: "v5", pads: [["TP3", "1"], ["U2", "3"], ["U5", "5"], ["U6", "1"], ["U7", "1"], ["U8", "5"], ["R67", "1"], ["Q8", "2"], ["R1", "1"], ["U5", "4"], ["U6", "3"], ["U8", "4"], ["C6", "1"], ["C27", "1"], ["C29", "1"], ["U3", "4"], ["U4", "4"], ["L3", "1"], ["L4", "1"], ["D3", "2"], ["D4", "2"], ["C24", "1"], ["C31", "1"], ["C20", "1"], ["C22", "1"], ["L1", "2"], ["C5", "1"]]}, + {name: "v3v3", pads: [["U9", "4"], ["U9", "5"], ["U2", "2"], ["D2", "1"], ["TP4", "1"], ["U16", "3"], ["U16", "4"], ["U17", "2"], ["D12", "2"], ["U20", "5"], ["U21", "8"], ["R58", "1"], ["R59", "1"], ["U22", "5"], ["U23", "4"], ["U23", "5"], ["U24", "16"], ["D13", "2"], ["J4", "2"], ["R54", "1"], ["R72", "1"], ["C7", "1"], ["C42", "1"], ["C43", "1"], ["C44", "1"], ["C45", "1"], ["J2", "1"], ["R49", "1"], ["R50", "1"], ["J3", "5"], ["C48", "1"], ["C49", "1"], ["C54", "1"], ["C55", "1"], ["C56", "1"], ["C57", "1"], ["C58", "1"], ["R65", "1"], ["R66", "1"], ["R47", "1"], ["J3", "6"]]}, + {name: "vconv", pads: [["D5", "1"], ["TP5", "1"], ["Q5", "2"], ["R56", "1"], ["R60", "1"], ["Q4", "2"], ["C11", "1"], ["C12", "1"], ["C13", "1"], ["C14", "1"], ["C15", "1"], ["C16", "1"], ["C17", "1"], ["C18", "1"], ["C19", "1"]]}, + {name: "v12", pads: [["TP6", "1"], ["D6", "1"], ["C26", "1"], ["R8", "1"], ["C25", "1"], ["J3", "23"], ["C50", "1"], ["C51", "1"]]}, + {name: "vanalog", pads: [["U6", "5"], ["TP7", "1"], ["R71", "1"], ["C28", "1"], ["U15", "6"], ["U30", "8"], ["U10", "5"], ["U33", "8"], ["U32", "8"], ["U31", "8"], ["C41", "1"], ["C74", "1"], ["C37", "1"], ["C77", "1"], ["C76", "1"], ["C75", "1"]]}, + {name: "vref", pads: [["U7", "2"], ["TP8", "1"], ["FB2", "1"], ["U27", "4"], ["R10", "1"], ["C68", "1"]]}, + {name: "vcenter", pads: [["U33", "6"], ["R73", "1"], ["R74", "1"], ["U33", "3"], ["U33", "7"], ["R17", "1"], ["R45", "1"], ["R33", "2"], ["R19", "1"], ["U15", "7"], ["U15", "3"]]}, + {name: "vcontrol", pads: [["TP9", "1"], ["D7", "1"], ["C33", "1"], ["R12", "1"], ["C32", "1"], ["U29", "8"], ["U28", "8"], ["C73", "1"], ["C72", "1"], ["U12", "5"], ["U14", "5"], ["C39", "1"], ["C40", "1"]]}, + {name: "vcontroln", pads: [["U9", "2"], ["TP10", "1"], ["U29", "4"], ["U28", "4"], ["C73", "2"], ["C72", "2"], ["C35", "1"], ["C36", "1"]]}, + {name: "usb.pwr", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["FB1", "1"]]}, + {name: "ref_div.output", pads: [["U33", "5"], ["C30", "1"], ["R10", "2"], ["R11", "1"]]}, + {name: "usb.cc.cc1", pads: [["J1", "A5"], ["U16", "10"], ["U16", "11"]]}, + {name: "usb.cc.cc2", pads: [["J1", "B5"], ["U16", "1"], ["U16", "14"]]}, + {name: "mcu.program_boot_node", pads: [["R48", "2"], ["U17", "27"], ["J2", "2"]]}, + {name: "usb_chain_0.d_P", pads: [["J1", "A6"], ["J1", "B6"], ["U18", "2"], ["U17", "14"]]}, + {name: "usb_chain_0.d_N", pads: [["J1", "A7"], ["J1", "B7"], ["U18", "1"], ["U17", "13"]]}, + {name: "i2c_pull.i2c.scl", pads: [["U17", "39"], ["U16", "6"], ["U22", "1"], ["U23", "1"], ["U24", "14"], ["U26", "2"], ["R49", "2"], ["TP11", "1"], ["J3", "13"]]}, + {name: "i2c_pull.i2c.sda", pads: [["U17", "38"], ["U16", "7"], ["U22", "6"], ["U23", "6"], ["U24", "15"], ["U26", "3"], ["R50", "2"], ["TP12", "1"], ["J3", "14"], ["J3", "15"]]}, + {name: "pd.int", pads: [["U17", "21"], ["U16", "5"]]}, + {name: "oled.reset", pads: [["U17", "20"], ["J3", "9"]]}, + {name: "mcu.gpio.irange_0", pads: [["U17", "12"], ["U12", "3"], ["U11", "1"]]}, + {name: "mcu.gpio.irange_1", pads: [["U17", "11"], ["U14", "3"], ["U13", "1"]]}, + {name: "mcu.gpio.off_0", pads: [["U17", "31"], ["U10", "6"]]}, + {name: "buck_rc.input", pads: [["U17", "35"], ["R52", "1"]]}, + {name: "buck_rc.output", pads: [["U3", "2"], ["R52", "2"], ["C52", "1"]]}, + {name: "boost_rc.input", pads: [["U17", "32"], ["R53", "1"]]}, + {name: "boost_rc.output", pads: [["U4", "2"], ["R53", "2"], ["C53", "1"]]}, + {name: "comp_ref.output", pads: [["U20", "1"], ["R54", "2"], ["R55", "1"]]}, + {name: "comp_sense.output", pads: [["U20", "3"], ["R56", "2"], ["R57", "1"]]}, + {name: "conv_en_pull.io", pads: [["U17", "33"], ["U21", "6"], ["R58", "2"]]}, + {name: "conv_comp.out", pads: [["U20", "4"], ["U21", "7"], ["R59", "2"]]}, + {name: "conv_latch.nq", pads: [["U21", "3"], ["U17", "23"], ["U3", "3"], ["U4", "3"]]}, + {name: "conv_sense.output", pads: [["U17", "18"], ["R60", "2"], ["R61", "1"]]}, + {name: "enc.a", pads: [["U17", "5"], ["SW1", "A"]]}, + {name: "enc.b", pads: [["U17", "6"], ["SW1", "B"]]}, + {name: "enc.sw", pads: [["U17", "4"], ["SW1", "S1"]]}, + {name: "dir.a", pads: [["U24", "5"], ["SW2", "1"]]}, + {name: "dir.b", pads: [["U24", "6"], ["SW2", "4"]]}, + {name: "dir.c", pads: [["U24", "9"], ["SW2", "3"]]}, + {name: "dir.d", pads: [["U24", "7"], ["SW2", "6"]]}, + {name: "dir.center", pads: [["U24", "4"], ["SW2", "2"]]}, + {name: "ioe.io.rgb_red", pads: [["U24", "11"], ["R62", "2"]]}, + {name: "ioe.io.rgb_green", pads: [["U24", "12"], ["R63", "2"]]}, + {name: "ioe.io.rgb_blue", pads: [["U24", "10"], ["R64", "2"]]}, + {name: "qwiic_pull.i2c.scl", pads: [["U17", "24"], ["R65", "2"], ["J4", "4"]]}, + {name: "qwiic_pull.i2c.sda", pads: [["U17", "25"], ["J4", "3"], ["R66", "2"]]}, + {name: "dutio.io0", pads: [["U17", "15"], ["J5", "2"]]}, + {name: "dutio.io1", pads: [["U17", "17"], ["J5", "3"]]}, + {name: "touch_duck.pad", pads: [["U17", "22"], ["U25", "1"]]}, + {name: "fan_drv.control", pads: [["U17", "19"], ["Q7", "1"]]}, + {name: "fan.pwr", pads: [["J6", "2"], ["Q8", "3"]]}, + {name: "dac_ferrite.pwr_out", pads: [["FB2", "2"], ["U26", "1"], ["U26", "4"], ["C59", "1"], ["C60", "1"]]}, + {name: "dac.out0", pads: [["U26", "6"], ["R68", "1"], ["R22", "1"], ["C61", "1"]]}, + {name: "dac.out1", pads: [["U26", "7"], ["R69", "1"], ["R28", "1"], ["C62", "1"]]}, + {name: "dac.out2", pads: [["U26", "8"], ["R70", "1"], ["R25", "1"], ["C63", "1"]]}, + {name: "adc.spi.sck", pads: [["U27", "14"], ["U17", "8"]]}, + {name: "adc.spi.mosi", pads: [["U27", "15"], ["U17", "9"]]}, + {name: "adc.spi.miso", pads: [["U27", "16"], ["U17", "10"]]}, + {name: "adc.cs", pads: [["U27", "13"], ["U17", "7"]]}, + {name: "vcen_rc.output", pads: [["U27", "5"], ["R74", "2"], ["C69", "1"]]}, + {name: "control.meas_i", pads: [["U15", "5"], ["R75", "1"], ["R76", "1"], ["R26", "1"], ["R29", "1"]]}, + {name: "mi_rc.output", pads: [["U27", "6"], ["R76", "2"], ["C70", "1"]]}, + {name: "control.measured_voltage", pads: [["U31", "3"], ["R77", "1"], ["R78", "1"], ["R46", "2"]]}, + {name: "mv_rc.output", pads: [["U27", "7"], ["R78", "2"], ["C71", "1"]]}, + {name: "outp.port", pads: [["J14", "1"], ["J15", "2"], ["R34", "1"], ["R37", "2"], ["R40", "2"], ["U15", "1"]]}, + {name: "vimeas_amps.inp.0", pads: [["U28", "3"], ["R43", "2"], ["R45", "2"]]}, + {name: "vimeas_amps.inn.0", pads: [["U28", "2"], ["R42", "2"], ["R44", "2"]]}, + {name: "vimeas_amps.out.0", pads: [["U28", "1"], ["R44", "1"], ["R46", "1"]]}, + {name: "vimeas_amps.inp.1", pads: [["U28", "5"], ["R34", "2"]]}, + {name: "control.outa", pads: [["U28", "6"], ["U28", "7"], ["R14", "1"], ["R43", "1"]]}, + {name: "ampdmeas_amps.inp.0", pads: [["U29", "3"], ["U33", "1"], ["C38", "1"]]}, + {name: "ampdmeas_amps.inn.0", pads: [["U29", "2"], ["R32", "2"], ["R33", "1"]]}, + {name: "control.drive", pads: [["U29", "1"], ["R32", "1"], ["R15", "1"], ["R35", "2"]]}, + {name: "ampdmeas_amps.inp.1", pads: [["U29", "5"], ["R15", "2"], ["R17", "2"]]}, + {name: "ampdmeas_amps.inn.1", pads: [["U29", "6"], ["R14", "2"], ["R16", "2"]]}, + {name: "ampdmeas_amps.out.1", pads: [["U29", "7"], ["R16", "1"], ["R18", "1"]]}, + {name: "cd_amps.inp.0", pads: [["U30", "3"], ["R18", "2"]]}, + {name: "cd_amps.inn.0", pads: [["U30", "2"], ["U30", "1"], ["R20", "1"]]}, + {name: "cd_amps.inp.1", pads: [["U30", "5"], ["R19", "2"], ["R20", "2"]]}, + {name: "cd_amps.inn.1", pads: [["U30", "6"], ["R21", "2"], ["U10", "1"]]}, + {name: "cd_amps.out.1", pads: [["U30", "7"], ["R21", "1"]]}, + {name: "control.meas_v", pads: [["U31", "2"], ["U31", "1"], ["R23", "1"]]}, + {name: "cv_amps.inp.1", pads: [["U31", "5"], ["R22", "2"], ["R23", "2"]]}, + {name: "cv_amps.inn.1", pads: [["U31", "6"], ["R24", "2"], ["U10", "3"], ["U32", "6"], ["U32", "2"], ["R27", "2"], ["R30", "2"]]}, + {name: "cv_amps.out.1", pads: [["U31", "7"], ["R24", "1"]]}, + {name: "ci_amps.inp.0", pads: [["U32", "3"], ["R28", "2"], ["R29", "2"]]}, + {name: "ci_amps.out.0", pads: [["U32", "1"], ["D9", "1"]]}, + {name: "ci_amps.inp.1", pads: [["U32", "5"], ["R25", "2"], ["R26", "2"]]}, + {name: "ci_amps.out.1", pads: [["U32", "7"], ["D8", "2"]]}, + {name: "cintref_amps.inn.0", pads: [["U33", "2"], ["R31", "2"], ["C38", "2"]]}, + {name: "reg_v5.fb.output", pads: [["U1", "4"], ["R1", "2"], ["R2", "1"]]}, + {name: "reg_v5.boot_cap.neg", pads: [["C3", "2"], ["U1", "2"], ["L1", "1"]]}, + {name: "reg_v5.boot_cap.pos", pads: [["C3", "1"], ["U1", "6"]]}, + {name: "reg_v5.en_res.b", pads: [["R3", "2"], ["U1", "5"]]}, + {name: "conv.sw_in_force", pads: [["Q1", "2"], ["Q2", "3"], ["L2", "1"], ["U3", "7"], ["C21", "2"]]}, + {name: "conv.sw_out_force", pads: [["L2", "2"], ["Q3", "2"], ["Q4", "3"], ["U4", "7"], ["C23", "2"]]}, + {name: "conv.buck_sw.low_gate_res.a", pads: [["R4", "1"], ["U3", "5"]]}, + {name: "conv.buck_sw.low_gate_res.b", pads: [["R4", "2"], ["Q1", "1"]]}, + {name: "conv.buck_sw.high_gate_res.a", pads: [["R5", "1"], ["U3", "8"]]}, + {name: "conv.buck_sw.high_gate_res.b", pads: [["R5", "2"], ["Q2", "1"]]}, + {name: "conv.buck_sw.driver.ic.bst", pads: [["U3", "1"], ["D3", "1"], ["C21", "1"]]}, + {name: "conv.boost_sw.low_gate_res.a", pads: [["R6", "1"], ["U4", "5"]]}, + {name: "conv.boost_sw.low_gate_res.b", pads: [["R6", "2"], ["Q3", "1"]]}, + {name: "conv.boost_sw.high_gate_res.a", pads: [["R7", "1"], ["U4", "8"]]}, + {name: "conv.boost_sw.high_gate_res.b", pads: [["R7", "2"], ["Q4", "1"]]}, + {name: "conv.boost_sw.driver.ic.bst", pads: [["U4", "1"], ["D4", "1"], ["C23", "1"]]}, + {name: "reg_v12.fb.output", pads: [["U5", "3"], ["C26", "2"], ["R8", "2"], ["R9", "1"]]}, + {name: "reg_v12.power_path.switch", pads: [["U5", "1"], ["L3", "2"], ["D6", "2"]]}, + {name: "reg_vcontrol.fb.output", pads: [["U8", "3"], ["C33", "2"], ["R12", "2"], ["R13", "1"]]}, + {name: "reg_vcontrol.power_path.switch", pads: [["U8", "1"], ["L4", "2"], ["D7", "2"]]}, + {name: "reg_vcontroln.cf.neg", pads: [["C34", "2"], ["U9", "3"]]}, + {name: "reg_vcontroln.cf.pos", pads: [["C34", "1"], ["U9", "6"]]}, + {name: "control.int_link", pads: [["U10", "4"], ["R31", "1"]]}, + {name: "control.driver.out", pads: [["D11", "2"], ["Q6", "3"], ["Q5", "3"], ["U11", "4"], ["U13", "4"]]}, + {name: "control.isense.sense_in", pads: [["U15", "8"], ["U12", "6"], ["U14", "6"]]}, + {name: "control.err_source.diode.cathode", pads: [["D8", "1"], ["R27", "1"]]}, + {name: "control.err_sink.diode.anode", pads: [["D9", "2"], ["R30", "1"]]}, + {name: "control.driver.res.a", pads: [["R35", "1"], ["D10", "2"], ["Q5", "1"], ["Q6", "1"]]}, + {name: "control.driver.clamp1.cathode", pads: [["D10", "1"], ["D11", "1"]]}, + {name: "control.isense.ranges[0].pwr_sw.pwr_out", pads: [["U11", "6"], ["R37", "1"], ["R38", "1"]]}, + {name: "control.isense.ranges[0].clamp.signal_out", pads: [["R38", "2"], ["U12", "1"]]}, + {name: "control.isense.ranges[0].pwr_sw.res.a", pads: [["R36", "1"], ["U11", "2"]]}, + {name: "control.isense.ranges[1].pwr_sw.pwr_out", pads: [["U13", "6"], ["R40", "1"], ["R41", "1"]]}, + {name: "control.isense.ranges[1].clamp.signal_out", pads: [["R41", "2"], ["U14", "1"]]}, + {name: "control.isense.ranges[1].pwr_sw.res.a", pads: [["R39", "1"], ["U13", "2"]]}, + {name: "pd.ic.vconn", pads: [["U16", "12"], ["U16", "13"]]}, + {name: "mcu.program_uart_node.a_tx", pads: [["U17", "37"], ["J2", "3"]]}, + {name: "mcu.program_uart_node.b_tx", pads: [["U17", "36"], ["J2", "4"]]}, + {name: "mcu.program_en_node", pads: [["U17", "3"], ["J2", "6"], ["R47", "2"], ["C46", "1"]]}, + {name: "led.res.a", pads: [["R48", "1"], ["D12", "1"]]}, + {name: "oled.iref_res.a", pads: [["R51", "1"], ["J3", "21"]]}, + {name: "oled.device.vcomh", pads: [["J3", "22"], ["C47", "1"]]}, + {name: "conv_latch.clk", pads: [["U21", "1"]]}, + {name: "conv_latch.d", pads: [["U21", "2"]]}, + {name: "conv_latch.q", pads: [["U21", "5"]]}, + {name: "pass_temp.alert", pads: [["U22", "3"]]}, + {name: "conv_temp.alert", pads: [["U23", "3"]]}, + {name: "rgb.red_res.a", pads: [["R62", "1"], ["D13", "3"]]}, + {name: "rgb.green_res.a", pads: [["R63", "1"], ["D13", "4"]]}, + {name: "rgb.blue_res.a", pads: [["R64", "1"], ["D13", "1"]]}, + {name: "fan_drv.pre.drain", pads: [["Q7", "3"], ["R67", "2"], ["Q8", "1"]]}, + {name: "dac.out3", pads: [["U26", "9"]]}, + {name: "dac.rdy", pads: [["U26", "5"]]}, + {name: "tp_cv.res.b", pads: [["R68", "2"], ["J7", "1"]]}, + {name: "tp_cisrc.res.b", pads: [["R69", "2"], ["J8", "1"]]}, + {name: "tp_cisnk.res.b", pads: [["R70", "2"], ["J9", "1"]]}, + {name: "adc.vins.3", pads: [["U27", "8"]]}, + {name: "adc.vins.4", pads: [["U27", "9"]]}, + {name: "adc.vins.5", pads: [["U27", "10"]]}, + {name: "adc.vins.6", pads: [["U27", "11"]]}, + {name: "adc.vins.7", pads: [["U27", "12"]]}, + {name: "adc.ic.avdd", pads: [["U27", "1"], ["R71", "2"], ["C64", "1"], ["C65", "1"]]}, + {name: "adc.ic.dvdd", pads: [["U27", "20"], ["R72", "2"], ["C66", "1"], ["C67", "1"]]}, + {name: "tp_vcen.res.b", pads: [["R73", "2"], ["J10", "1"]]}, + {name: "tp_mi.res.b", pads: [["R75", "2"], ["J11", "1"]]}, + {name: "tp_mv.res.b", pads: [["R77", "2"], ["J12", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(6.273818897637796, 4.838188976377953); const xMin = Math.min(limit0[0], limit1[0]); diff --git a/examples/UsbUart/UsbUart.svgpcb.js b/examples/UsbUart/UsbUart.svgpcb.js index 2a135a43b..4cb124b68 100644 --- a/examples/UsbUart/UsbUart.svgpcb.js +++ b/examples/UsbUart/UsbUart.svgpcb.js @@ -1,78 +1,118 @@ const board = new PCB(); -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th1 +const UH1 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.518, 0.839), rotate: 0, - id: 'jlc_th_th1' + id: 'UH1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th2 +const UH2 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.557, 0.839), rotate: 0, - id: 'jlc_th_th2' + id: 'UH2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { +// jlc_th.th3 +const UH3 = board.add(JlcToolingHole_1_152mm, { translate: pt(0.518, 0.879), rotate: 0, - id: 'jlc_th_th3' + id: 'UH3' }) -const usb_uart_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { +// usb_uart.conn +const UJ1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { translate: pt(0.209, 0.165), rotate: 0, - id: 'usb_uart_conn' + id: 'UJ1' }) -const usb_uart_cc_pull_cc1_res = board.add(R_0603_1608Metric, { +// usb_uart.cc_pull.cc1.res +const UR1 = board.add(R_0603_1608Metric, { translate: pt(0.058, 0.420), rotate: 0, - id: 'usb_uart_cc_pull_cc1_res' + id: 'UR1' }) -const usb_uart_cc_pull_cc2_res = board.add(R_0603_1608Metric, { +// usb_uart.cc_pull.cc2.res +const UR2 = board.add(R_0603_1608Metric, { translate: pt(0.214, 0.420), rotate: 0, - id: 'usb_uart_cc_pull_cc2_res' + id: 'UR2' }) -const vusb_protect_diode = board.add(D_SOD_323, { +// vusb_protect.diode +const UD1 = board.add(D_SOD_323, { translate: pt(0.816, 0.604), rotate: 0, - id: 'vusb_protect_diode' + id: 'UD1' }) -const usbconv_ic = board.add(QFN_28_1EP_5x5mm_P0_5mm_EP3_35x3_35mm, { +// usbconv.ic +const UU1 = board.add(QFN_28_1EP_5x5mm_P0_5mm_EP3_35x3_35mm, { translate: pt(0.122, 0.689), rotate: 0, - id: 'usbconv_ic' + id: 'UU1' }) -const usbconv_regin_cap0_cap = board.add(C_0603_1608Metric, { +// usbconv.regin_cap0.cap +const UC1 = board.add(C_0603_1608Metric, { translate: pt(0.342, 0.595), rotate: 0, - id: 'usbconv_regin_cap0_cap' + id: 'UC1' }) -const usbconv_regin_cap1_cap = board.add(C_0603_1608Metric, { +// usbconv.regin_cap1.cap +const UC2 = board.add(C_0603_1608Metric, { translate: pt(0.342, 0.692), rotate: 0, - id: 'usbconv_regin_cap1_cap' + id: 'UC2' }) -const usbconv_vdd_cap_cap = board.add(C_0603_1608Metric, { +// usbconv.vdd_cap.cap +const UC3 = board.add(C_0603_1608Metric, { translate: pt(0.058, 0.879), rotate: 0, - id: 'usbconv_vdd_cap_cap' + id: 'UC3' }) -const usb_esd = board.add(SOT_23, { +// usb_esd +const UU2 = board.add(SOT_23, { translate: pt(1.073, 0.633), rotate: 0, - id: 'usb_esd' + id: 'UU2' }) -const led_package = board.add(LED_0603_1608Metric, { +// led.package +const UD2 = board.add(LED_0603_1608Metric, { translate: pt(0.577, 0.595), rotate: 0, - id: 'led_package' + id: 'UD2' }) -const led_res = board.add(R_0603_1608Metric, { +// led.res +const UR3 = board.add(R_0603_1608Metric, { translate: pt(0.576, 0.693), rotate: 0, - id: 'led_res' + id: 'UR3' }) -const reg_3v3_ic = board.add(SOT_23_5, { +// reg_3v3.ic +const UU3 = board.add(SOT_23_5, { translate: pt(0.878, 0.067), rotate: 0, - id: 'reg_3v3_ic' + id: 'UU3' }) -const reg_3v3_in_cap_cap = board.add(C_0603_1608Metric, { +// reg_3v3.in_cap.cap +const UC4 = board.add(C_0603_1608Metric, { translate: pt(0.855, 0.332), rotate: 0, - id: 'reg_3v3_in_cap_cap' + id: 'UC4' }) -const reg_3v3_out_cap_cap = board.add(C_1206_3216Metric, { +// reg_3v3.out_cap.cap +const UC5 = board.add(C_1206_3216Metric, { translate: pt(0.887, 0.219), rotate: 0, - id: 'reg_3v3_out_cap_cap' + id: 'UC5' }) -const out_conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { +// out.conn +const UJ2 = board.add(PinHeader_1x04_P2_54mm_Vertical, { translate: pt(0.608, 0.370), rotate: 0, - id: 'out_conn' + id: 'UJ2' }) +board.setNetlist([ + {name: "Uvusb", pads: [["UJ1", "A4"], ["UJ1", "B9"], ["UJ1", "B4"], ["UJ1", "A9"], ["UD1", "1"], ["UU1", "7"], ["UU1", "8"], ["UU3", "1"], ["UU3", "3"], ["UC1", "1"], ["UC2", "1"], ["UC4", "1"]]}, + {name: "Ugnd", pads: [["UU2", "3"], ["UJ1", "A1"], ["UJ1", "B12"], ["UJ1", "B1"], ["UJ1", "A12"], ["UD1", "2"], ["UU1", "3"], ["UU1", "29"], ["UR3", "2"], ["UU3", "2"], ["UJ2", "3"], ["UJ1", "S1"], ["UC1", "2"], ["UC2", "2"], ["UC3", "2"], ["UC4", "2"], ["UC5", "2"], ["UR1", "1"], ["UR2", "1"]]}, + {name: "Uv3v3", pads: [["UU3", "5"], ["UJ2", "4"], ["UC5", "1"]]}, + {name: "Uusb_chain_0.d_P", pads: [["UJ1", "A6"], ["UJ1", "B6"], ["UU2", "2"], ["UU1", "4"]]}, + {name: "Uusb_chain_0.d_N", pads: [["UJ1", "A7"], ["UJ1", "B7"], ["UU2", "1"], ["UU1", "5"]]}, + {name: "Uusbconv.nsuspend", pads: [["UU1", "11"], ["UD2", "2"]]}, + {name: "Uusbconv.uart.tx", pads: [["UU1", "26"], ["UJ2", "1"]]}, + {name: "Uusbconv.uart.rx", pads: [["UU1", "25"], ["UJ2", "2"]]}, + {name: "Uusb_uart.conn.cc.cc1", pads: [["UJ1", "A5"], ["UR1", "2"]]}, + {name: "Uusb_uart.conn.cc.cc2", pads: [["UJ1", "B5"], ["UR2", "2"]]}, + {name: "Uusbconv.suspend", pads: [["UU1", "12"]]}, + {name: "Uusbconv.ri", pads: [["UU1", "2"]]}, + {name: "Uusbconv.dcd", pads: [["UU1", "1"]]}, + {name: "Uusbconv.dtr", pads: [["UU1", "28"]]}, + {name: "Uusbconv.dsr", pads: [["UU1", "27"]]}, + {name: "Uusbconv.rts", pads: [["UU1", "24"]]}, + {name: "Uusbconv.cts", pads: [["UU1", "23"]]}, + {name: "Uusbconv.ic.vdd", pads: [["UU1", "6"], ["UU1", "9"], ["UC3", "1"]]}, + {name: "Uled.res.a", pads: [["UR3", "1"], ["UD2", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); const limit1 = pt(1.187992125984252, 1.0255905511811025); const xMin = Math.min(limit0[0], limit1[0]); From 05bd9493dfa6dcd9263c4e98973ac03c03ed274f Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Tue, 24 Jun 2025 22:39:28 -0700 Subject: [PATCH 16/19] wip --- edg/electronics_model/SvgPcbTemplateBlock.py | 43 ++--- edg/parts/LedMatrix.py | 6 +- edg/parts/Neopixel.py | 4 +- edg/parts/SwitchMatrix.py | 6 +- examples/LedMatrix/LedMatrix.svgpcb.js | 186 ++++++++++++------- 5 files changed, 139 insertions(+), 106 deletions(-) diff --git a/edg/electronics_model/SvgPcbTemplateBlock.py b/edg/electronics_model/SvgPcbTemplateBlock.py index aa4df5750..b14fe6b8c 100644 --- a/edg/electronics_model/SvgPcbTemplateBlock.py +++ b/edg/electronics_model/SvgPcbTemplateBlock.py @@ -41,42 +41,30 @@ def _svgpcb_get(self, param: ConstraintExpr[Any, Any]) -> Any: assert param_val is not None return param_val - def _svgpcb_get_js(self, param: ConstraintExpr[Any, Any]) -> Optional[str]: - """Infrastructure method, returns the value of the ConstraintExpr as a JS literal. - Ranges are mapped to a two-element list.""" - param_path = self._svgpcb_ref_map.get(param, None) - if param_path is None: - return None - param_val = self._svgpcb_design.get_value(param_path) - if param_val is None: - return None - # TODO structure the output to be JS-friendly - return str(param_val) - def _svgpcb_refdes_of(self, block_ref: List[str]) -> Tuple[str, int]: """Returns the refdes of a block, as a tuple of prefix and number, or crashes if the block is not valid.""" - footprint_path = self._svgpcb_footprint_block_path_of(block_ref) - assert footprint_path is not None - refdes_path = footprint_path.append_param('fp_refdes') - refdes = self._svgpcb_design.get_value(refdes_path.to_local_path()) + block_path = self._svgpcb_pathname_data.append_block(*block_ref) + candidate_blocks = [block for block in self._svgpcb_netlist.blocks + if block.full_path.startswith(block_path)] + assert len(candidate_blocks) == 1 + refdes = candidate_blocks[0].refdes assert isinstance(refdes, str) assert refdes is not None - for i in reversed(range(len(refdes))): + for i in reversed(range(len(refdes))): # split between letter and numeric parts if refdes[i].isalpha(): if i == len(refdes) - 1: return refdes, -1 # fallback if no numeric portion return refdes[:i+1], int(refdes[i+1:]) return "", int(refdes) - def _svgpcb_footprint_block_path_of(self, block_ref: List[str]) -> Optional[TransformUtil.Path]: - """Infrastructure method, given the name of a container block, returns the block path of the footprint block - if there is exactly one. Otherwise, returns None.""" + def _svgpcb_footprint_block_path_of(self, block_ref: List[str]) -> TransformUtil.Path: + """Infrastructure method, given the name of a container block, returns the block path of the footprint block. + Asserts there is exactly one.""" block_path = self._svgpcb_pathname_data.append_block(*block_ref) candidate_blocks = [block for block in self._svgpcb_netlist.blocks if block.full_path.startswith(block_path)] - if len(candidate_blocks) != 1: - return None + assert len(candidate_blocks) == 1 return candidate_blocks[0].full_path def _svgpcb_footprint_of(self, path: TransformUtil.Path) -> str: @@ -87,20 +75,17 @@ def _svgpcb_footprint_of(self, path: TransformUtil.Path) -> str: assert len(candidate_blocks) == 1 return self._svgpcb_footprint_to_svgpcb(candidate_blocks[0].footprint) - def _svgpcb_pin_of(self, block_ref: List[str], pin_ref: List[str]) -> Optional[str]: + def _svgpcb_pin_of(self, block_ref: List[str], pin_ref: List[str]) -> str: """Infrastructure method, given a footprint path from _svgpcb_footprint_block_path_of and a port that should - be connected to one of its pins, returns the footprint pin that the port is connected to, if any.""" + be connected to one of its pins, returns the footprint pin that the port is connected to.""" footprint_path = self._svgpcb_footprint_block_path_of(block_ref) - assert footprint_path is not None port_path = footprint_path.append_port(*pin_ref) candidate_nets = [net for net in self._svgpcb_netlist.nets if port_path in net.ports] - if len(candidate_nets) != 1: - return None + assert len(candidate_nets) == 1 candidate_pins = [pin for pin in candidate_nets[0].pins if pin.block_path == footprint_path] - if len(candidate_pins) != 1: - return None + assert len(candidate_pins) == 1 return candidate_pins[0].pin_name def _svgpcb_fn_name_adds(self) -> Optional[str]: diff --git a/edg/parts/LedMatrix.py b/edg/parts/LedMatrix.py index a7a9e4bb8..33b4cd22f 100644 --- a/edg/parts/LedMatrix.py +++ b/edg/parts/LedMatrix.py @@ -10,7 +10,7 @@ class CharlieplexedLedMatrix(Light, GeneratorBlock, SvgPcbTemplateBlock): A generalization of https://en.wikipedia.org/wiki/Charlieplexing#/media/File:3-pin_Charlieplexing_matrix_with_common_resistors.svg """ def _svgpcb_fn_name_adds(self) -> Optional[str]: - return f"{self._svgpcb_get_js(self.ncols)}_{self._svgpcb_get_js(self.nrows)}" + return f"{self._svgpcb_get(self.ncols)}_{self._svgpcb_get(self.nrows)}" def _svgpcb_template(self) -> str: led_block = self._svgpcb_footprint_block_path_of(['led[0_0]']) @@ -28,8 +28,8 @@ def _svgpcb_template(self) -> str: return f"""\ function {self._svgpcb_fn_name()}(xy, colSpacing=0.2, rowSpacing=0.2) {{ - const kXCount = {self._svgpcb_get_js(self.ncols)} // number of columns (x dimension) - const kYCount = {self._svgpcb_get_js(self.nrows)} // number of rows (y dimension) + const kXCount = {self._svgpcb_get(self.ncols)} // number of columns (x dimension) + const kYCount = {self._svgpcb_get(self.nrows)} // number of rows (y dimension) // Global params const traceSize = 0.015 diff --git a/edg/parts/Neopixel.py b/edg/parts/Neopixel.py index b74868b7b..70a62324a 100644 --- a/edg/parts/Neopixel.py +++ b/edg/parts/Neopixel.py @@ -187,7 +187,7 @@ def generate(self): class NeopixelArrayCircular(NeopixelArray, SvgPcbTemplateBlock): """An array of Neopixels, with a circular layout template""" def _svgpcb_fn_name_adds(self) -> Optional[str]: - return f"{self._svgpcb_get_js(self.count)}" + return f"{self._svgpcb_get(self.count)}" def _svgpcb_template(self) -> str: led_block = self._svgpcb_footprint_block_path_of(['led[0]']) @@ -202,7 +202,7 @@ def _svgpcb_template(self) -> str: return f"""\ function {self._svgpcb_fn_name()}(xy, rot=90, radius=1, startAngle=0, endAngle=360, powerRadiusOffset=0.2) {{ - const kCount = {self._svgpcb_get_js(self.count)} + const kCount = {self._svgpcb_get(self.count)} // Global params const traceWidth = 0.015 diff --git a/edg/parts/SwitchMatrix.py b/edg/parts/SwitchMatrix.py index dae314f57..168a67874 100644 --- a/edg/parts/SwitchMatrix.py +++ b/edg/parts/SwitchMatrix.py @@ -15,7 +15,7 @@ class SwitchMatrix(HumanInterface, GeneratorBlock, SvgPcbTemplateBlock): Diode anodes are attached to the rows, while cathodes go through each switch to the cols. """ def _svgpcb_fn_name_adds(self) -> Optional[str]: - return f"{self._svgpcb_get_js(self.ncols)}_{self._svgpcb_get_js(self.nrows)}" + return f"{self._svgpcb_get(self.ncols)}_{self._svgpcb_get(self.nrows)}" def _svgpcb_template(self) -> str: switch_block = self._svgpcb_footprint_block_path_of(['sw[0,0]']) @@ -34,8 +34,8 @@ def _svgpcb_template(self) -> str: return f"""\ function {self._svgpcb_fn_name()}(xy, colSpacing=0.5, rowSpacing=0.5, diodeOffset=[0.25, 0]) {{ // Circuit generator params - const ncols = {self._svgpcb_get_js(self.ncols)} - const nrows = {self._svgpcb_get_js(self.nrows)} + const ncols = {self._svgpcb_get(self.ncols)} + const nrows = {self._svgpcb_get(self.nrows)} // Global params const traceSize = 0.015 diff --git a/examples/LedMatrix/LedMatrix.svgpcb.js b/examples/LedMatrix/LedMatrix.svgpcb.js index 297667a88..712d8b0e1 100644 --- a/examples/LedMatrix/LedMatrix.svgpcb.js +++ b/examples/LedMatrix/LedMatrix.svgpcb.js @@ -1,93 +1,141 @@ const board = new PCB(); -const matrix = CharlieplexedLedMatrix_5_6_matrix(pt(0, 0)) -const jlc_th_th1 = board.add(JlcToolingHole_1_152mm, { - translate: pt(1.107, 1.784), rotate: 0, - id: 'jlc_th_th1' +const matrix = CharlieplexedLedMatrix_5_6_matrix(pt(0.039, 0.039)) +// jlc_th.th1 +const H1 = board.add(JlcToolingHole_1_152mm, { + translate: pt(2.561, 1.518), rotate: 0, + id: 'H1' }) -const jlc_th_th2 = board.add(JlcToolingHole_1_152mm, { - translate: pt(1.146, 1.784), rotate: 0, - id: 'jlc_th_th2' +// jlc_th.th2 +const H2 = board.add(JlcToolingHole_1_152mm, { + translate: pt(2.600, 1.518), rotate: 0, + id: 'H2' }) -const jlc_th_th3 = board.add(JlcToolingHole_1_152mm, { - translate: pt(1.107, 1.823), rotate: 0, - id: 'jlc_th_th3' +// jlc_th.th3 +const H3 = board.add(JlcToolingHole_1_152mm, { + translate: pt(2.561, 1.557), rotate: 0, + id: 'H3' }) -const usb_conn = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { - translate: pt(1.225, 1.287), rotate: 0, - id: 'usb_conn' +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { + translate: pt(0.209, 1.683), rotate: 0, + id: 'J1' }) -const usb_cc_pull_cc1_res = board.add(R_0603_1608Metric, { - translate: pt(1.074, 1.542), rotate: 0, - id: 'usb_cc_pull_cc1_res' +// usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { + translate: pt(0.058, 1.938), rotate: 0, + id: 'R1' }) -const usb_cc_pull_cc2_res = board.add(R_0603_1608Metric, { - translate: pt(1.230, 1.542), rotate: 0, - id: 'usb_cc_pull_cc2_res' +// usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { + translate: pt(0.214, 1.938), rotate: 0, + id: 'R2' }) -const tp_vusb_tp = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(0.085, 1.837), rotate: 0, - id: 'tp_vusb_tp' +// tp_vusb.tp +const TP1 = board.add(TestPoint_Keystone_5015_Micro_Minature, { + translate: pt(2.114, 1.571), rotate: 0, + id: 'TP1' }) -const tp_gnd_tp = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(0.659, 1.837), rotate: 0, - id: 'tp_gnd_tp' +// tp_gnd.tp +const TP2 = board.add(TestPoint_Keystone_5015_Micro_Minature, { + translate: pt(1.539, 1.571), rotate: 0, + id: 'TP2' }) -const reg_3v3_ic = board.add(SOT_223_3_TabPin2, { - translate: pt(1.726, 1.264), rotate: 0, - id: 'reg_3v3_ic' +// reg_3v3.ic +const U1 = board.add(SOT_223_3_TabPin2, { + translate: pt(0.710, 1.660), rotate: 0, + id: 'U1' }) -const reg_3v3_in_cap_cap = board.add(C_0603_1608Metric, { - translate: pt(1.784, 1.474), rotate: 0, - id: 'reg_3v3_in_cap_cap' +// reg_3v3.in_cap.cap +const C1 = board.add(C_0603_1608Metric, { + translate: pt(0.769, 1.870), rotate: 0, + id: 'C1' }) -const reg_3v3_out_cap_cap = board.add(C_0805_2012Metric, { - translate: pt(1.619, 1.483), rotate: 0, - id: 'reg_3v3_out_cap_cap' +// reg_3v3.out_cap.cap +const C2 = board.add(C_0805_2012Metric, { + translate: pt(0.604, 1.880), rotate: 0, + id: 'C2' }) -const tp_3v3_tp = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(0.372, 1.837), rotate: 0, - id: 'tp_3v3_tp' +// tp_3v3.tp +const TP3 = board.add(TestPoint_Keystone_5015_Micro_Minature, { + translate: pt(1.826, 1.571), rotate: 0, + id: 'TP3' }) -const prot_3v3_diode = board.add(D_SOD_323, { - translate: pt(0.926, 1.821), rotate: 0, - id: 'prot_3v3_diode' +// prot_3v3.diode +const D1 = board.add(D_SOD_323, { + translate: pt(2.380, 1.556), rotate: 0, + id: 'D1' }) -const mcu_ic = board.add(ESP_WROOM_02, { - translate: pt(0.561, 0.281), rotate: 0, - id: 'mcu_ic' +// mcu.ic +const U2 = board.add(ESP_WROOM_02, { + translate: pt(1.679, 0.281), rotate: 0, + id: 'U2' }) -const mcu_vcc_cap0_cap = board.add(C_0805_2012Metric, { - translate: pt(1.228, 0.783), rotate: 0, - id: 'mcu_vcc_cap0_cap' +// mcu.vcc_cap0.cap +const C3 = board.add(C_0805_2012Metric, { + translate: pt(2.346, 0.783), rotate: 0, + id: 'C3' }) -const mcu_vcc_cap1_cap = board.add(C_0603_1608Metric, { - translate: pt(1.393, 0.773), rotate: 0, - id: 'mcu_vcc_cap1_cap' +// mcu.vcc_cap1.cap +const C4 = board.add(C_0603_1608Metric, { + translate: pt(2.511, 0.773), rotate: 0, + id: 'C4' }) -const mcu_prog_conn = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(1.232, 0.370), rotate: 0, - id: 'mcu_prog_conn' +// mcu.prog.conn +const J2 = board.add(PinHeader_1x04_P2_54mm_Vertical, { + translate: pt(2.350, 0.370), rotate: 0, + id: 'J2' }) -const mcu_boot_package = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(1.329, 0.593), rotate: 0, - id: 'mcu_boot_package' +// mcu.boot.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(2.447, 0.593), rotate: 0, + id: 'SW1' }) -const mcu_en_pull_rc_r = board.add(R_0603_1608Metric, { - translate: pt(1.220, 0.889), rotate: 0, - id: 'mcu_en_pull_rc_r' +// mcu.en_pull.rc.r +const R3 = board.add(R_0603_1608Metric, { + translate: pt(2.338, 0.889), rotate: 0, + id: 'R3' }) -const mcu_en_pull_rc_c = board.add(C_0603_1608Metric, { - translate: pt(1.376, 0.889), rotate: 0, - id: 'mcu_en_pull_rc_c' +// mcu.en_pull.rc.c +const C5 = board.add(C_0603_1608Metric, { + translate: pt(2.494, 0.889), rotate: 0, + id: 'C5' }) -const sw1_package = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(2.184, 1.234), rotate: 0, - id: 'sw1_package' +// sw1.package +const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(1.169, 1.630), rotate: 0, + id: 'SW2' }) +board.setNetlist([ + {name: "vusb", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["TP1", "1"], ["U1", "3"], ["C1", "1"]]}, + {name: "gnd", pads: [["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["TP2", "1"], ["U1", "1"], ["D1", "2"], ["U2", "9"], ["U2", "19"], ["SW2", "2"], ["J1", "S1"], ["C1", "2"], ["C2", "2"], ["C3", "2"], ["C4", "2"], ["J2", "4"], ["SW1", "2"], ["C5", "2"], ["R1", "1"], ["R2", "1"]]}, + {name: "v3v3", pads: [["U1", "2"], ["TP3", "1"], ["D1", "1"], ["U2", "1"], ["C2", "1"], ["U2", "7"], ["U2", "16"], ["C3", "1"], ["C4", "1"], ["J2", "1"], ["R3", "1"]]}, + {name: "sw1.out", pads: [["U2", "18"], ["SW2", "1"]]}, + {name: "mcu.gpio.led_0", pads: [["U2", "3"], ["R4", "2"], ["D8", "2"], ["D14", "2"], ["D20", "2"], ["D26", "2"]]}, + {name: "mcu.gpio.led_1", pads: [["U2", "4"], ["D2", "2"], ["R5", "2"], ["D15", "2"], ["D21", "2"], ["D27", "2"]]}, + {name: "mcu.gpio.led_2", pads: [["U2", "5"], ["D3", "2"], ["D9", "2"], ["R6", "2"], ["D22", "2"], ["D28", "2"]]}, + {name: "mcu.gpio.led_3", pads: [["U2", "6"], ["D4", "2"], ["D10", "2"], ["D16", "2"], ["R7", "2"], ["D29", "2"]]}, + {name: "mcu.gpio.led_4", pads: [["U2", "17"], ["D5", "2"], ["D11", "2"], ["D17", "2"], ["D23", "2"], ["R8", "2"]]}, + {name: "mcu.gpio.led_5", pads: [["U2", "15"], ["D6", "2"], ["D12", "2"], ["D18", "2"], ["D24", "2"], ["D30", "2"]]}, + {name: "mcu.gpio.led_6", pads: [["U2", "10"], ["D7", "2"], ["D13", "2"], ["D19", "2"], ["D25", "2"], ["D31", "2"]]}, + {name: "usb.usb.dp", pads: [["J1", "A6"], ["J1", "B6"]]}, + {name: "usb.usb.dm", pads: [["J1", "A7"], ["J1", "B7"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "mcu.program_uart_node.a_tx", pads: [["U2", "12"], ["J2", "2"]]}, + {name: "mcu.program_uart_node.b_tx", pads: [["U2", "11"], ["J2", "3"]]}, + {name: "mcu.program_en_node", pads: [["U2", "2"], ["R3", "2"], ["C5", "1"]]}, + {name: "mcu.program_boot_node", pads: [["U2", "8"], ["SW1", "1"]]}, + {name: "matrix.led[0_0].k", pads: [["D2", "1"], ["R4", "1"], ["D3", "1"], ["D4", "1"], ["D5", "1"], ["D6", "1"], ["D7", "1"]]}, + {name: "matrix.led[0_1].k", pads: [["D8", "1"], ["R5", "1"], ["D9", "1"], ["D10", "1"], ["D11", "1"], ["D12", "1"], ["D13", "1"]]}, + {name: "matrix.led[0_2].k", pads: [["D14", "1"], ["R6", "1"], ["D15", "1"], ["D16", "1"], ["D17", "1"], ["D18", "1"], ["D19", "1"]]}, + {name: "matrix.led[0_3].k", pads: [["D20", "1"], ["R7", "1"], ["D21", "1"], ["D22", "1"], ["D23", "1"], ["D24", "1"], ["D25", "1"]]}, + {name: "matrix.led[0_4].k", pads: [["D26", "1"], ["R8", "1"], ["D27", "1"], ["D28", "1"], ["D29", "1"], ["D30", "1"], ["D31", "1"]]} +]) + const limit0 = pt(-0.07874015748031496, -0.07874015748031496); -const limit1 = pt(2.469685039370079, 2.0082677165354332); +const limit1 = pt(2.7322834645669296, 2.084645669291339); const xMin = Math.min(limit0[0], limit1[0]); const xMax = Math.max(limit0[0], limit1[0]); const yMin = Math.min(limit0[1], limit1[1]); @@ -124,7 +172,7 @@ renderPCB({ mmPerUnit: 25.4 }) -function CharlieplexedLedMatrix_5_6_matrix(xy, colSpacing=1, rowSpacing=1) { +function CharlieplexedLedMatrix_5_6_matrix(xy, colSpacing=0.2, rowSpacing=0.2) { const kXCount = 5 // number of columns (x dimension) const kYCount = 6 // number of rows (y dimension) @@ -150,9 +198,9 @@ function CharlieplexedLedMatrix_5_6_matrix(xy, colSpacing=1, rowSpacing=1) { for (let xIndex=0; xIndex < kXCount; xIndex++) { ledPos = [xy[0] + colSpacing * xIndex, xy[1] + rowSpacing * yIndex] - obj.footprints[`D${2 + yIndex + xIndex * kXCount}`] = led = board.add(LED_0603_1608Metric, { + obj.footprints[`D${2 + yIndex + xIndex * kYCount}`] = led = board.add(LED_0603_1608Metric, { translate: ledPos, - id: `D${2 + yIndex + xIndex * kXCount}` + id: `D${2 + yIndex + xIndex * kYCount}` }) rowLeds.push(led) @@ -199,7 +247,7 @@ function CharlieplexedLedMatrix_5_6_matrix(xy, colSpacing=1, rowSpacing=1) { const resPos = [xy[0] + colSpacing * xIndex, xy[1] + rowSpacing * kYCount] obj.footprints[`R${4 + xIndex + 1}`] = res = board.add(R_0603_1608Metric, { translate: resPos, - id: `R${4 + xIndex + 1}` + id: `R${4 + xIndex}` }) allResistors.push(res) From cc4e12d9a71ed398a6bd6d8d53bfc569bedd1302 Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Tue, 24 Jun 2025 22:49:29 -0700 Subject: [PATCH 17/19] net netlist --- .../BldcController/BldcController.svgpcb.js | 74 ++++----- examples/CanAdapter/CanAdapter.svgpcb.js | 28 ++-- examples/Datalogger/Datalogger.svgpcb.js | 16 +- .../DeskController/DeskController.svgpcb.js | 24 +-- examples/EspLora/EspLora.svgpcb.js | 32 ++-- .../EspProgrammer/EspProgrammer.svgpcb.js | 8 +- examples/Fcml/Fcml.svgpcb.js | 40 ++--- examples/HighSwitch/HighSwitch.svgpcb.js | 28 ++-- examples/IotDisplay/IotDisplay.svgpcb.js | 46 +++--- examples/IotFan/IotFan.svgpcb.js | 20 +-- examples/IotIron/IotIron.svgpcb.js | 62 ++++---- examples/IotKnob/IotKnob.svgpcb.js | 20 +-- examples/IotLedDriver/IotLedDriver.svgpcb.js | 32 ++-- .../IotThermalCamera.svgpcb.js | 20 +-- .../JacdacKeyswitch/JacdacKeyswitch.svgpcb.js | 24 +-- examples/LedMatrix/LedMatrix.svgpcb.js | 6 +- examples/Multimeter/Multimeter.svgpcb.js | 40 ++--- examples/PcbBot/PcbBot.svgpcb.js | 28 ++-- examples/PicoProbe/PicoProbe.svgpcb.js | 24 +-- examples/RobotCrawler/RobotCrawler.svgpcb.js | 42 ++--- examples/RobotDriver/RobotDriver.svgpcb.js | 22 +-- examples/RobotOwl/RobotOwl.svgpcb.js | 6 +- examples/SevenSegment/SevenSegment.svgpcb.js | 94 ++++++------ examples/Simon/Simon.svgpcb.js | 34 ++--- examples/SwdDebugger/SwdDebugger.svgpcb.js | 28 ++-- .../TestBlinkyChain/TestBlinkyChain.svgpcb.js | 8 +- .../TestBlinkyExpanded.svgpcb.js | 8 +- .../TestBlinkyImplicit.svgpcb.js | 8 +- .../TestBlinkyMicro/TestBlinkyMicro.svgpcb.js | 8 +- .../TestBlinkyWithLibrary.svgpcb.js | 8 +- .../TestBlinkyWithLibraryExport.svgpcb.js | 8 +- examples/TofArray/TofArray.svgpcb.js | 10 +- .../UsbFpgaProgrammer.svgpcb.js | 12 +- examples/UsbKey/UsbKey.svgpcb.js | 4 +- .../UsbSourceMeasure.svgpcb.js | 144 +++++++++--------- 35 files changed, 508 insertions(+), 508 deletions(-) diff --git a/examples/BldcController/BldcController.svgpcb.js b/examples/BldcController/BldcController.svgpcb.js index fe8a5ec2d..21804a71f 100644 --- a/examples/BldcController/BldcController.svgpcb.js +++ b/examples/BldcController/BldcController.svgpcb.js @@ -22,7 +22,7 @@ const U1 = board.add(FEATHERWING_NODIM, { }) // motor_pwr.conn const J1 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(1.112, 1.286), rotate: 0, + translate: pt(1.738, 1.286), rotate: 0, id: 'J1' }) // sw1.package @@ -32,32 +32,32 @@ const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { }) // ledr.package const D1 = board.add(LED_0603_1608Metric, { - translate: pt(0.293, 1.519), rotate: 0, + translate: pt(0.058, 1.519), rotate: 0, id: 'D1' }) // ledr.res const R1 = board.add(R_0603_1608Metric, { - translate: pt(0.293, 1.617), rotate: 0, + translate: pt(0.058, 1.617), rotate: 0, id: 'R1' }) // ledg.package const D2 = board.add(LED_0603_1608Metric, { - translate: pt(2.340, 1.185), rotate: 0, + translate: pt(0.293, 1.519), rotate: 0, id: 'D2' }) // ledg.res const R2 = board.add(R_0603_1608Metric, { - translate: pt(2.340, 1.282), rotate: 0, + translate: pt(0.293, 1.617), rotate: 0, id: 'R2' }) // ledb.package const D3 = board.add(LED_0603_1608Metric, { - translate: pt(0.058, 1.519), rotate: 0, + translate: pt(2.340, 1.185), rotate: 0, id: 'D3' }) // ledb.res const R3 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 1.617), rotate: 0, + translate: pt(2.340, 1.282), rotate: 0, id: 'R3' }) // i2c_pull.scl_res.res @@ -97,22 +97,22 @@ const R7 = board.add(R_0603_1608Metric, { }) // ref_buf.amp.ic const U2 = board.add(SOT_23_5, { - translate: pt(0.952, 0.874), rotate: 0, + translate: pt(0.516, 0.874), rotate: 0, id: 'U2' }) // ref_buf.amp.vdd_cap.cap const C1 = board.add(C_0603_1608Metric, { - translate: pt(0.929, 1.009), rotate: 0, + translate: pt(0.494, 1.009), rotate: 0, id: 'C1' }) // ref_tp.tp const TP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.066, 1.801), rotate: 0, + translate: pt(1.741, 1.528), rotate: 0, id: 'TP3' }) // hall.conn const J3 = board.add(JST_PH_B5B_PH_K_1x05_P2_00mm_Vertical, { - translate: pt(1.502, 1.286), rotate: 0, + translate: pt(0.644, 1.286), rotate: 0, id: 'J3' }) // hall_pull.res[u].res @@ -132,17 +132,17 @@ const R10 = board.add(R_0603_1608Metric, { }) // hall_tp.tp[u].tp const TP4 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.883, 0.037), rotate: 0, + translate: pt(2.134, 0.037), rotate: 0, id: 'TP4' }) // hall_tp.tp[v].tp const TP5 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.883, 0.152), rotate: 0, + translate: pt(2.134, 0.152), rotate: 0, id: 'TP5' }) // hall_tp.tp[w].tp const TP6 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.883, 0.266), rotate: 0, + translate: pt(2.134, 0.266), rotate: 0, id: 'TP6' }) // vsense.div.top_res @@ -157,7 +157,7 @@ const R12 = board.add(R_0603_1608Metric, { }) // vsense_tp.tp const TP7 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.991, 1.528), rotate: 0, + translate: pt(1.490, 1.528), rotate: 0, id: 'TP7' }) // isense.sense.res.res @@ -197,7 +197,7 @@ const R17 = board.add(R_0603_1608Metric, { }) // isense_tp.tp const TP8 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.741, 1.528), rotate: 0, + translate: pt(1.991, 1.528), rotate: 0, id: 'TP8' }) // isense_clamp.res @@ -257,87 +257,87 @@ const R21 = board.add(R_2512_6332Metric, { }) // bldc_fault_tp.tp const TP9 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.241, 1.528), rotate: 0, + translate: pt(0.066, 1.801), rotate: 0, id: 'TP9' }) // bldc_en_tp.tp[1].tp const TP10 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.134, 0.037), rotate: 0, + translate: pt(1.633, 0.037), rotate: 0, id: 'TP10' }) // bldc_en_tp.tp[2].tp const TP11 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.134, 0.152), rotate: 0, + translate: pt(1.633, 0.152), rotate: 0, id: 'TP11' }) // bldc_en_tp.tp[3].tp const TP12 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.134, 0.266), rotate: 0, + translate: pt(1.633, 0.266), rotate: 0, id: 'TP12' }) // bldc_in_tp.tp[1].tp const TP13 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.633, 0.037), rotate: 0, + translate: pt(1.883, 0.037), rotate: 0, id: 'TP13' }) // bldc_in_tp.tp[2].tp const TP14 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.633, 0.152), rotate: 0, + translate: pt(1.883, 0.152), rotate: 0, id: 'TP14' }) // bldc_in_tp.tp[3].tp const TP15 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.633, 0.266), rotate: 0, + translate: pt(1.883, 0.266), rotate: 0, id: 'TP15' }) // bldc.conn const J4 = board.add(JST_PH_B3B_PH_K_1x03_P2_00mm_Vertical, { - translate: pt(0.644, 1.286), rotate: 0, + translate: pt(1.270, 1.286), rotate: 0, id: 'J4' }) // curr_amp[1].amp.ic const U5 = board.add(SOT_23_5, { - translate: pt(1.231, 0.874), rotate: 0, + translate: pt(0.796, 0.874), rotate: 0, id: 'U5' }) // curr_amp[1].amp.vdd_cap.cap const C9 = board.add(C_0603_1608Metric, { - translate: pt(1.409, 0.836), rotate: 0, + translate: pt(0.974, 0.836), rotate: 0, id: 'C9' }) // curr_amp[1].r1 const R22 = board.add(R_0603_1608Metric, { - translate: pt(1.209, 1.009), rotate: 0, + translate: pt(0.773, 1.009), rotate: 0, id: 'R22' }) // curr_amp[1].r2 const R23 = board.add(R_0603_1608Metric, { - translate: pt(1.365, 1.009), rotate: 0, + translate: pt(0.929, 1.009), rotate: 0, id: 'R23' }) // curr_tp[1].tp const TP16 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.490, 1.528), rotate: 0, + translate: pt(2.241, 1.528), rotate: 0, id: 'TP16' }) // curr_amp[2].amp.ic const U6 = board.add(SOT_23_5, { - translate: pt(0.516, 0.874), rotate: 0, + translate: pt(0.081, 0.874), rotate: 0, id: 'U6' }) // curr_amp[2].amp.vdd_cap.cap const C10 = board.add(C_0603_1608Metric, { - translate: pt(0.694, 0.836), rotate: 0, + translate: pt(0.259, 0.836), rotate: 0, id: 'C10' }) // curr_amp[2].r1 const R24 = board.add(R_0603_1608Metric, { - translate: pt(0.494, 1.009), rotate: 0, + translate: pt(0.058, 1.009), rotate: 0, id: 'R24' }) // curr_amp[2].r2 const R25 = board.add(R_0603_1608Metric, { - translate: pt(0.650, 1.009), rotate: 0, + translate: pt(0.214, 1.009), rotate: 0, id: 'R25' }) // curr_tp[2].tp @@ -347,22 +347,22 @@ const TP17 = board.add(TestPoint_TE_RCT_0805, { }) // curr_amp[3].amp.ic const U7 = board.add(SOT_23_5, { - translate: pt(0.081, 0.874), rotate: 0, + translate: pt(1.231, 0.874), rotate: 0, id: 'U7' }) // curr_amp[3].amp.vdd_cap.cap const C11 = board.add(C_0603_1608Metric, { - translate: pt(0.259, 0.836), rotate: 0, + translate: pt(1.409, 0.836), rotate: 0, id: 'C11' }) // curr_amp[3].r1 const R26 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 1.009), rotate: 0, + translate: pt(1.209, 1.009), rotate: 0, id: 'R26' }) // curr_amp[3].r2 const R27 = board.add(R_0603_1608Metric, { - translate: pt(0.214, 1.009), rotate: 0, + translate: pt(1.365, 1.009), rotate: 0, id: 'R27' }) // curr_tp[3].tp diff --git a/examples/CanAdapter/CanAdapter.svgpcb.js b/examples/CanAdapter/CanAdapter.svgpcb.js index 998bbe9c5..afb1d3ee7 100644 --- a/examples/CanAdapter/CanAdapter.svgpcb.js +++ b/examples/CanAdapter/CanAdapter.svgpcb.js @@ -17,17 +17,17 @@ const R2 = board.add(R_0603_1608Metric, { }) // usb_reg.ic const U1 = board.add(SOT_23_5, { - translate: pt(1.541, 0.957), rotate: 0, + translate: pt(1.133, 0.957), rotate: 0, id: 'U1' }) // usb_reg.in_cap.cap const C1 = board.add(C_0603_1608Metric, { - translate: pt(1.692, 1.093), rotate: 0, + translate: pt(1.284, 1.093), rotate: 0, id: 'C1' }) // usb_reg.out_cap.cap const C2 = board.add(C_0805_2012Metric, { - translate: pt(1.528, 1.102), rotate: 0, + translate: pt(1.120, 1.102), rotate: 0, id: 'C2' }) // mcu.swd.conn @@ -172,42 +172,42 @@ const C19 = board.add(C_0603_1608Metric, { }) // rgb_usb.package const D1 = board.add(LED_LiteOn_LTST_C19HE1WT, { - translate: pt(0.041, 1.512), rotate: 0, + translate: pt(0.432, 1.512), rotate: 0, id: 'D1' }) // rgb_usb.red_res const R6 = board.add(R_0603_1608Metric, { - translate: pt(0.180, 1.486), rotate: 0, + translate: pt(0.571, 1.486), rotate: 0, id: 'R6' }) // rgb_usb.green_res const R7 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 1.635), rotate: 0, + translate: pt(0.449, 1.635), rotate: 0, id: 'R7' }) // rgb_usb.blue_res const R8 = board.add(R_0603_1608Metric, { - translate: pt(0.214, 1.635), rotate: 0, + translate: pt(0.605, 1.635), rotate: 0, id: 'R8' }) // rgb_can.package const D2 = board.add(LED_LiteOn_LTST_C19HE1WT, { - translate: pt(0.432, 1.512), rotate: 0, + translate: pt(0.041, 1.512), rotate: 0, id: 'D2' }) // rgb_can.red_res const R9 = board.add(R_0603_1608Metric, { - translate: pt(0.571, 1.486), rotate: 0, + translate: pt(0.180, 1.486), rotate: 0, id: 'R9' }) // rgb_can.green_res const R10 = board.add(R_0603_1608Metric, { - translate: pt(0.449, 1.635), rotate: 0, + translate: pt(0.058, 1.635), rotate: 0, id: 'R10' }) // rgb_can.blue_res const R11 = board.add(R_0603_1608Metric, { - translate: pt(0.605, 1.635), rotate: 0, + translate: pt(0.214, 1.635), rotate: 0, id: 'R11' }) // can @@ -217,17 +217,17 @@ const J4 = board.add(Molex_DuraClik_502352_1x05_P2_00mm_Horizontal, { }) // can_reg.ic const U5 = board.add(SOT_23_5, { - translate: pt(1.133, 0.957), rotate: 0, + translate: pt(1.541, 0.957), rotate: 0, id: 'U5' }) // can_reg.in_cap.cap const C20 = board.add(C_0603_1608Metric, { - translate: pt(1.284, 1.093), rotate: 0, + translate: pt(1.692, 1.093), rotate: 0, id: 'C20' }) // can_reg.out_cap.cap const C21 = board.add(C_0805_2012Metric, { - translate: pt(1.120, 1.102), rotate: 0, + translate: pt(1.528, 1.102), rotate: 0, id: 'C21' }) // led_can.package diff --git a/examples/Datalogger/Datalogger.svgpcb.js b/examples/Datalogger/Datalogger.svgpcb.js index 7b9721fc6..0ecbc0b52 100644 --- a/examples/Datalogger/Datalogger.svgpcb.js +++ b/examples/Datalogger/Datalogger.svgpcb.js @@ -267,7 +267,7 @@ const J5 = board.add(SD_Kyocera_145638009511859+, { }) // cd_pull.res const R10 = board.add(R_0603_1608Metric, { - translate: pt(2.956, 2.385), rotate: 0, + translate: pt(2.721, 2.385), rotate: 0, id: 'R10' }) // xbee.ic @@ -482,17 +482,17 @@ const R22 = board.add(R_0603_1608Metric, { }) // sw1.package const SW1 = board.add(SW_Push_SPST_NO_Alps_SKRK, { - translate: pt(2.437, 2.423), rotate: 0, + translate: pt(2.102, 2.423), rotate: 0, id: 'SW1' }) // sw1_pull.res const R23 = board.add(R_0603_1608Metric, { - translate: pt(2.721, 2.385), rotate: 0, + translate: pt(2.956, 2.385), rotate: 0, id: 'R23' }) // sw2.package const SW2 = board.add(SW_Push_SPST_NO_Alps_SKRK, { - translate: pt(2.102, 2.423), rotate: 0, + translate: pt(2.437, 2.423), rotate: 0, id: 'SW2' }) // sw2_pull.res @@ -512,22 +512,22 @@ const R26 = board.add(R_0603_1608Metric, { }) // v5sense.div.top_res const R27 = board.add(R_0603_1608Metric, { - translate: pt(1.074, 2.385), rotate: 0, + translate: pt(1.309, 2.385), rotate: 0, id: 'R27' }) // v5sense.div.bottom_res const R28 = board.add(R_0603_1608Metric, { - translate: pt(1.074, 2.482), rotate: 0, + translate: pt(1.309, 2.482), rotate: 0, id: 'R28' }) // vscsense.div.top_res const R29 = board.add(R_0603_1608Metric, { - translate: pt(1.309, 2.385), rotate: 0, + translate: pt(1.074, 2.385), rotate: 0, id: 'R29' }) // vscsense.div.bottom_res const R30 = board.add(R_0603_1608Metric, { - translate: pt(1.309, 2.482), rotate: 0, + translate: pt(1.074, 2.482), rotate: 0, id: 'R30' }) diff --git a/examples/DeskController/DeskController.svgpcb.js b/examples/DeskController/DeskController.svgpcb.js index 4df60cd41..816014aa4 100644 --- a/examples/DeskController/DeskController.svgpcb.js +++ b/examples/DeskController/DeskController.svgpcb.js @@ -3,17 +3,17 @@ const board = new PCB(); const sw = SwitchMatrix_2_3_sw(pt(0.039, 0.039)) // jlc_th.th1 const DH1 = board.add(JlcToolingHole_1_152mm, { - translate: pt(1.737, 3.240), rotate: 0, + translate: pt(1.743, 3.240), rotate: 0, id: 'DH1' }) // jlc_th.th2 const DH2 = board.add(JlcToolingHole_1_152mm, { - translate: pt(1.776, 3.240), rotate: 0, + translate: pt(1.782, 3.240), rotate: 0, id: 'DH2' }) // jlc_th.th3 const DH3 = board.add(JlcToolingHole_1_152mm, { - translate: pt(1.737, 3.280), rotate: 0, + translate: pt(1.743, 3.280), rotate: 0, id: 'DH3' }) // conn.conn @@ -43,17 +43,17 @@ const DR2 = board.add(R_0603_1608Metric, { }) // tp_gnd.tp const DTP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.545, 2.760), rotate: 0, + translate: pt(0.817, 3.278), rotate: 0, id: 'DTP1' }) // choke.fb const DFB1 = board.add(L_0805_2012Metric, { - translate: pt(1.315, 3.274), rotate: 0, + translate: pt(1.321, 3.274), rotate: 0, id: 'DFB1' }) // tp_pwr.tp const DTP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.317, 3.278), rotate: 0, + translate: pt(0.567, 3.278), rotate: 0, id: 'DTP2' }) // reg_3v3.ic @@ -73,12 +73,12 @@ const DC2 = board.add(C_0805_2012Metric, { }) // tp_3v3.tp const DTP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.567, 3.278), rotate: 0, + translate: pt(1.068, 3.278), rotate: 0, id: 'DTP3' }) // prot_3v3.diode const DD1 = board.add(D_SOD_323, { - translate: pt(0.815, 3.278), rotate: 0, + translate: pt(3.542, 2.760), rotate: 0, id: 'DD1' }) // mcu.ic @@ -178,7 +178,7 @@ const DR7 = board.add(R_0603_1608Metric, { }) // io8_pu.res const DR8 = board.add(R_0603_1608Metric, { - translate: pt(1.560, 3.269), rotate: 0, + translate: pt(1.566, 3.269), rotate: 0, id: 'DR8' }) // spk_dac.rc.r @@ -193,7 +193,7 @@ const DC12 = board.add(C_0603_1608Metric, { }) // spk_tp.tp const DTP4 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.066, 3.278), rotate: 0, + translate: pt(0.317, 3.278), rotate: 0, id: 'DTP4' }) // spk_drv.ic @@ -248,7 +248,7 @@ const DR12 = board.add(R_0603_1608Metric, { }) // npx_tp.tp const DTP5 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.062, 3.278), rotate: 0, + translate: pt(0.066, 3.278), rotate: 0, id: 'DTP5' }) // npx.led[0] @@ -336,7 +336,7 @@ board.setNetlist([ ]) const limit0 = pt(-0.07874015748031496, -0.07874015748031496); -const limit1 = pt(3.729330708661417, 3.4330708661417324); +const limit1 = pt(3.7234251968503935, 3.4330708661417324); const xMin = Math.min(limit0[0], limit1[0]); const xMax = Math.max(limit0[0], limit1[0]); const yMin = Math.min(limit0[1], limit1[1]); diff --git a/examples/EspLora/EspLora.svgpcb.js b/examples/EspLora/EspLora.svgpcb.js index 3a4ce51d4..f0fb733dd 100644 --- a/examples/EspLora/EspLora.svgpcb.js +++ b/examples/EspLora/EspLora.svgpcb.js @@ -32,17 +32,17 @@ const LR2 = board.add(R_0603_1608Metric, { }) // tp_gnd.tp const LTP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.525, 2.634), rotate: 0, + translate: pt(2.270, 2.634), rotate: 0, id: 'LTP1' }) // choke.fb const LFB1 = board.add(L_0603_1608Metric, { - translate: pt(3.264, 2.626), rotate: 0, + translate: pt(3.733, 2.626), rotate: 0, id: 'LFB1' }) // tp_pwr.tp const LTP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.026, 2.634), rotate: 0, + translate: pt(2.521, 2.634), rotate: 0, id: 'LTP2' }) // reg_3v3.ic @@ -62,12 +62,12 @@ const LC2 = board.add(C_0805_2012Metric, { }) // tp_3v3.tp const LTP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.276, 2.634), rotate: 0, + translate: pt(3.021, 2.634), rotate: 0, id: 'LTP3' }) // prot_3v3.diode const LD1 = board.add(D_SOD_323, { - translate: pt(2.524, 2.634), rotate: 0, + translate: pt(1.272, 2.634), rotate: 0, id: 'LD1' }) // mcu.ic @@ -112,32 +112,32 @@ const LU3 = board.add(SOT_23, { }) // ledr.package const LD2 = board.add(LED_0603_1608Metric, { - translate: pt(0.528, 2.626), rotate: 0, + translate: pt(0.293, 2.626), rotate: 0, id: 'LD2' }) // ledr.res const LR4 = board.add(R_0603_1608Metric, { - translate: pt(0.528, 2.723), rotate: 0, + translate: pt(0.293, 2.723), rotate: 0, id: 'LR4' }) // ledg.package const LD3 = board.add(LED_0603_1608Metric, { - translate: pt(0.058, 2.626), rotate: 0, + translate: pt(0.528, 2.626), rotate: 0, id: 'LD3' }) // ledg.res const LR5 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 2.723), rotate: 0, + translate: pt(0.528, 2.723), rotate: 0, id: 'LR5' }) // ledb.package const LD4 = board.add(LED_0603_1608Metric, { - translate: pt(0.293, 2.626), rotate: 0, + translate: pt(0.058, 2.626), rotate: 0, id: 'LD4' }) // ledb.res const LR6 = board.add(R_0603_1608Metric, { - translate: pt(0.293, 2.723), rotate: 0, + translate: pt(0.058, 2.723), rotate: 0, id: 'LR6' }) // lora.ic @@ -282,22 +282,22 @@ const LTP6 = board.add(TestPoint_TE_RCT_0805, { }) // tp_lora_cs.tp const LTP7 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.021, 2.634), rotate: 0, + translate: pt(1.769, 2.634), rotate: 0, id: 'LTP7' }) // tp_lora_rst.tp const LTP8 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.771, 2.634), rotate: 0, + translate: pt(2.020, 2.634), rotate: 0, id: 'LTP8' }) // tp_lora_dio.tp const LTP9 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.775, 2.634), rotate: 0, + translate: pt(2.771, 2.634), rotate: 0, id: 'LTP9' }) // tp_lora_busy.tp const LTP10 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.275, 2.634), rotate: 0, + translate: pt(1.519, 2.634), rotate: 0, id: 'LTP10' }) // i2c_pull.scl_res.res @@ -372,7 +372,7 @@ const LU7 = board.add(SOT_23, { }) // oled_pull.res const LR12 = board.add(R_0603_1608Metric, { - translate: pt(3.733, 2.626), rotate: 0, + translate: pt(3.264, 2.626), rotate: 0, id: 'LR12' }) // sd diff --git a/examples/EspProgrammer/EspProgrammer.svgpcb.js b/examples/EspProgrammer/EspProgrammer.svgpcb.js index 22ea3889a..ddc142821 100644 --- a/examples/EspProgrammer/EspProgrammer.svgpcb.js +++ b/examples/EspProgrammer/EspProgrammer.svgpcb.js @@ -102,22 +102,22 @@ const UR4 = board.add(R_0402_1005Metric, { }) // led.package const UD2 = board.add(LED_0603_1608Metric, { - translate: pt(1.259, 0.788), rotate: 0, + translate: pt(0.058, 1.227), rotate: 0, id: 'UD2' }) // led.res const UR5 = board.add(R_0402_1005Metric, { - translate: pt(1.237, 0.875), rotate: 0, + translate: pt(0.037, 1.314), rotate: 0, id: 'UR5' }) // led_en.package const UD3 = board.add(LED_0603_1608Metric, { - translate: pt(0.058, 1.227), rotate: 0, + translate: pt(1.259, 0.788), rotate: 0, id: 'UD3' }) // led_en.res const UR6 = board.add(R_0402_1005Metric, { - translate: pt(0.037, 1.314), rotate: 0, + translate: pt(1.237, 0.875), rotate: 0, id: 'UR6' }) diff --git a/examples/Fcml/Fcml.svgpcb.js b/examples/Fcml/Fcml.svgpcb.js index 37f2d68bb..5498b6918 100644 --- a/examples/Fcml/Fcml.svgpcb.js +++ b/examples/Fcml/Fcml.svgpcb.js @@ -17,47 +17,47 @@ const H3 = board.add(JlcToolingHole_1_152mm, { }) // usb_mcu.conn const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { - translate: pt(1.237, 1.501), rotate: 0, + translate: pt(1.774, 1.501), rotate: 0, id: 'J1' }) // usb_mcu.cc_pull.cc1.res const R1 = board.add(R_0603_1608Metric, { - translate: pt(1.086, 1.756), rotate: 0, + translate: pt(1.623, 1.756), rotate: 0, id: 'R1' }) // usb_mcu.cc_pull.cc2.res const R2 = board.add(R_0603_1608Metric, { - translate: pt(1.242, 1.756), rotate: 0, + translate: pt(1.779, 1.756), rotate: 0, id: 'R2' }) // usb_fpga.conn const J2 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { - translate: pt(1.774, 1.501), rotate: 0, + translate: pt(1.237, 1.501), rotate: 0, id: 'J2' }) // usb_fpga.cc_pull.cc1.res const R3 = board.add(R_0603_1608Metric, { - translate: pt(1.623, 1.756), rotate: 0, + translate: pt(1.086, 1.756), rotate: 0, id: 'R3' }) // usb_fpga.cc_pull.cc2.res const R4 = board.add(R_0603_1608Metric, { - translate: pt(1.779, 1.756), rotate: 0, + translate: pt(1.242, 1.756), rotate: 0, id: 'R4' }) // conv_in.conn const J3 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(2.986, 2.365), rotate: 0, + translate: pt(2.596, 2.365), rotate: 0, id: 'J3' }) // tp_vusb.tp const TP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.783, 2.740), rotate: 0, + translate: pt(0.780, 2.740), rotate: 0, id: 'TP1' }) // tp_gnd.tp const TP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.036, 2.740), rotate: 0, + translate: pt(2.533, 2.740), rotate: 0, id: 'TP2' }) // reg_3v3.ic @@ -77,12 +77,12 @@ const C2 = board.add(C_0805_2012Metric, { }) // tp_3v3.tp const TP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.537, 2.740), rotate: 0, + translate: pt(3.033, 2.740), rotate: 0, id: 'TP3' }) // prot_3v3.diode const D1 = board.add(D_SOD_323, { - translate: pt(1.785, 2.740), rotate: 0, + translate: pt(0.533, 2.740), rotate: 0, id: 'D1' }) // reg_vgate.ic @@ -122,7 +122,7 @@ const D2 = board.add(D_SOD_323, { }) // tp_vgate.tp const TP4 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.287, 2.740), rotate: 0, + translate: pt(1.281, 2.740), rotate: 0, id: 'TP4' }) // conv.power_path.inductor @@ -407,7 +407,7 @@ const D7 = board.add(D_SOD_323, { }) // conv_out.conn const J4 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(2.596, 2.365), rotate: 0, + translate: pt(2.986, 2.365), rotate: 0, id: 'J4' }) // tp_conv_out.tp @@ -417,7 +417,7 @@ const TP5 = board.add(TestPoint_TE_RCT_0805, { }) // tp_conv_gnd.tp const TP6 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.786, 2.740), rotate: 0, + translate: pt(1.531, 2.740), rotate: 0, id: 'TP6' }) // fpga.ic @@ -532,7 +532,7 @@ const C46 = board.add(C_0603_1608Metric, { }) // fpga_sw.package const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(2.214, 2.348), rotate: 0, + translate: pt(1.761, 2.348), rotate: 0, id: 'SW1' }) // fpga_led.led[0].package @@ -697,7 +697,7 @@ const C60 = board.add(C_0603_1608Metric, { }) // mcu_sw.package const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(1.761, 2.348), rotate: 0, + translate: pt(2.214, 2.348), rotate: 0, id: 'SW2' }) // mcu_leds.led[0].package @@ -747,22 +747,22 @@ const U16 = board.add(SOT_23, { }) // tp_fpga[0].tp const TP7 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.032, 2.740), rotate: 0, + translate: pt(2.783, 2.740), rotate: 0, id: 'TP7' }) // tp_fpga[1].tp const TP8 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.033, 2.740), rotate: 0, + translate: pt(2.032, 2.740), rotate: 0, id: 'TP8' }) // tp_fpga[2].tp const TP9 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.535, 2.740), rotate: 0, + translate: pt(1.781, 2.740), rotate: 0, id: 'TP9' }) // tp_fpga[3].tp const TP10 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.533, 2.740), rotate: 0, + translate: pt(1.030, 2.740), rotate: 0, id: 'TP10' }) // pwm_filter.tp[0L].tp diff --git a/examples/HighSwitch/HighSwitch.svgpcb.js b/examples/HighSwitch/HighSwitch.svgpcb.js index eab29a9c8..477ea120b 100644 --- a/examples/HighSwitch/HighSwitch.svgpcb.js +++ b/examples/HighSwitch/HighSwitch.svgpcb.js @@ -272,37 +272,37 @@ const Q4 = board.add(TO_252_2, { }) // light[1].conn const J5 = board.add(Molex_DuraClik_vert_4pin, { - translate: pt(0.502, 0.630), rotate: 0, + translate: pt(0.502, 1.512), rotate: 0, id: 'J5' }) // light[1].drv[0].pre const Q5 = board.add(SOT_23, { - translate: pt(0.552, 0.382), rotate: 0, + translate: pt(0.552, 1.264), rotate: 0, id: 'Q5' }) // light[1].drv[0].pull const R15 = board.add(R_0603_1608Metric, { - translate: pt(0.249, 0.659), rotate: 0, + translate: pt(0.249, 1.541), rotate: 0, id: 'R15' }) // light[1].drv[0].drv const Q6 = board.add(TO_252_2, { - translate: pt(0.252, 0.138), rotate: 0, + translate: pt(0.252, 1.020), rotate: 0, id: 'Q6' }) // light[1].drv[1].pre const Q7 = board.add(SOT_23, { - translate: pt(0.076, 0.697), rotate: 0, + translate: pt(0.076, 1.579), rotate: 0, id: 'Q7' }) // light[1].drv[1].pull const R16 = board.add(R_0603_1608Metric, { - translate: pt(0.405, 0.659), rotate: 0, + translate: pt(0.405, 1.541), rotate: 0, id: 'R16' }) // light[1].drv[1].drv const Q8 = board.add(TO_252_2, { - translate: pt(0.252, 0.453), rotate: 0, + translate: pt(0.252, 1.335), rotate: 0, id: 'Q8' }) // light[2].conn @@ -412,37 +412,37 @@ const Q20 = board.add(TO_252_2, { }) // light[5].conn const J9 = board.add(Molex_DuraClik_vert_4pin, { - translate: pt(0.502, 1.512), rotate: 0, + translate: pt(0.502, 0.630), rotate: 0, id: 'J9' }) // light[5].drv[0].pre const Q21 = board.add(SOT_23, { - translate: pt(0.552, 1.264), rotate: 0, + translate: pt(0.552, 0.382), rotate: 0, id: 'Q21' }) // light[5].drv[0].pull const R23 = board.add(R_0603_1608Metric, { - translate: pt(0.249, 1.541), rotate: 0, + translate: pt(0.249, 0.659), rotate: 0, id: 'R23' }) // light[5].drv[0].drv const Q22 = board.add(TO_252_2, { - translate: pt(0.252, 1.020), rotate: 0, + translate: pt(0.252, 0.138), rotate: 0, id: 'Q22' }) // light[5].drv[1].pre const Q23 = board.add(SOT_23, { - translate: pt(0.076, 1.579), rotate: 0, + translate: pt(0.076, 0.697), rotate: 0, id: 'Q23' }) // light[5].drv[1].pull const R24 = board.add(R_0603_1608Metric, { - translate: pt(0.405, 1.541), rotate: 0, + translate: pt(0.405, 0.659), rotate: 0, id: 'R24' }) // light[5].drv[1].drv const Q24 = board.add(TO_252_2, { - translate: pt(0.252, 1.335), rotate: 0, + translate: pt(0.252, 0.453), rotate: 0, id: 'Q24' }) diff --git a/examples/IotDisplay/IotDisplay.svgpcb.js b/examples/IotDisplay/IotDisplay.svgpcb.js index c3c725c23..6b5e709b9 100644 --- a/examples/IotDisplay/IotDisplay.svgpcb.js +++ b/examples/IotDisplay/IotDisplay.svgpcb.js @@ -27,17 +27,17 @@ const J2 = board.add(JST_PH_S2B_PH_K_1x02_P2_00mm_Horizontal, { }) // tp_pwr.tp const TP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.876, 2.247), rotate: 0, + translate: pt(2.126, 2.247), rotate: 0, id: 'TP1' }) // tp_gnd.tp const TP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.124, 2.247), rotate: 0, + translate: pt(1.876, 2.247), rotate: 0, id: 'TP2' }) // vbat_prot.fet const Q1 = board.add(SOT_23, { - translate: pt(0.614, 2.277), rotate: 0, + translate: pt(0.345, 2.277), rotate: 0, id: 'Q1' }) // reg_3v3.ic @@ -87,7 +87,7 @@ const R3 = board.add(R_0603_1608Metric, { }) // tp_3v3.tp const TP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.126, 2.247), rotate: 0, + translate: pt(2.627, 2.247), rotate: 0, id: 'TP3' }) // vbat_sense_gate.pre @@ -147,32 +147,32 @@ const U3 = board.add(SOT_23, { }) // ledr.package const D1 = board.add(LED_0603_1608Metric, { - translate: pt(3.318, 1.769), rotate: 0, + translate: pt(3.083, 1.769), rotate: 0, id: 'D1' }) // ledr.res const R6 = board.add(R_0603_1608Metric, { - translate: pt(3.318, 1.866), rotate: 0, + translate: pt(3.083, 1.866), rotate: 0, id: 'R6' }) // ledg.package const D2 = board.add(LED_0603_1608Metric, { - translate: pt(2.848, 1.769), rotate: 0, + translate: pt(3.318, 1.769), rotate: 0, id: 'D2' }) // ledg.res const R7 = board.add(R_0603_1608Metric, { - translate: pt(2.848, 1.866), rotate: 0, + translate: pt(3.318, 1.866), rotate: 0, id: 'R7' }) // ledb.package const D3 = board.add(LED_0603_1608Metric, { - translate: pt(3.083, 1.769), rotate: 0, + translate: pt(2.848, 1.769), rotate: 0, id: 'D3' }) // ledb.res const R8 = board.add(R_0603_1608Metric, { - translate: pt(3.083, 1.866), rotate: 0, + translate: pt(2.848, 1.866), rotate: 0, id: 'R8' }) // sw.package @@ -202,12 +202,12 @@ const U5 = board.add(Symbol_LemurSolid, { }) // epd_gate.drv const Q4 = board.add(SOT_23, { - translate: pt(0.345, 2.277), rotate: 0, + translate: pt(0.076, 2.277), rotate: 0, id: 'Q4' }) // mem_gate.drv const Q5 = board.add(SOT_23, { - translate: pt(0.076, 2.277), rotate: 0, + translate: pt(0.614, 2.277), rotate: 0, id: 'Q5' }) // epd.device.conn.conn @@ -307,37 +307,37 @@ const R12 = board.add(R_0603_1608Metric, { }) // tp_epd.tp_sck.tp const TP4 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.902, 1.778), rotate: 0, + translate: pt(2.153, 1.778), rotate: 0, id: 'TP4' }) // tp_epd.tp_mosi.tp const TP5 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.902, 1.892), rotate: 0, + translate: pt(2.153, 1.892), rotate: 0, id: 'TP5' }) // tp_epd.tp_miso.tp const TP6 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.902, 2.006), rotate: 0, + translate: pt(2.153, 2.006), rotate: 0, id: 'TP6' }) // tp_erst.tp const TP7 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.625, 2.247), rotate: 0, + translate: pt(1.375, 2.247), rotate: 0, id: 'TP7' }) // tp_dc.tp const TP8 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.627, 2.247), rotate: 0, + translate: pt(0.874, 2.247), rotate: 0, id: 'TP8' }) // tp_epd_cs.tp const TP9 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.874, 2.247), rotate: 0, + translate: pt(1.625, 2.247), rotate: 0, id: 'TP9' }) // tp_busy.tp const TP10 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.375, 2.247), rotate: 0, + translate: pt(2.376, 2.247), rotate: 0, id: 'TP10' }) // sd @@ -357,22 +357,22 @@ const C19 = board.add(C_0603_1608Metric, { }) // tp_sd.tp_sck.tp const TP11 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.153, 1.778), rotate: 0, + translate: pt(1.902, 1.778), rotate: 0, id: 'TP11' }) // tp_sd.tp_mosi.tp const TP12 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.153, 1.892), rotate: 0, + translate: pt(1.902, 1.892), rotate: 0, id: 'TP12' }) // tp_sd.tp_miso.tp const TP13 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.153, 2.006), rotate: 0, + translate: pt(1.902, 2.006), rotate: 0, id: 'TP13' }) // tp_sd_cs.tp const TP14 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.376, 2.247), rotate: 0, + translate: pt(1.124, 2.247), rotate: 0, id: 'TP14' }) diff --git a/examples/IotFan/IotFan.svgpcb.js b/examples/IotFan/IotFan.svgpcb.js index 063a4f1e2..40c06d8d1 100644 --- a/examples/IotFan/IotFan.svgpcb.js +++ b/examples/IotFan/IotFan.svgpcb.js @@ -2,17 +2,17 @@ const board = new PCB(); // jlc_th.th1 const FH1 = board.add(JlcToolingHole_1_152mm, { - translate: pt(0.745, 1.742), rotate: 0, + translate: pt(0.751, 1.742), rotate: 0, id: 'FH1' }) // jlc_th.th2 const FH2 = board.add(JlcToolingHole_1_152mm, { - translate: pt(0.785, 1.742), rotate: 0, + translate: pt(0.791, 1.742), rotate: 0, id: 'FH2' }) // jlc_th.th3 const FH3 = board.add(JlcToolingHole_1_152mm, { - translate: pt(0.745, 1.781), rotate: 0, + translate: pt(0.751, 1.781), rotate: 0, id: 'FH3' }) // pwr @@ -22,12 +22,12 @@ const FJ1 = board.add(BarrelJack_CUI_PJ_036AH_SMT_Horizontal, { }) // tp_pwr.tp const FTP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.561, 1.779), rotate: 0, + translate: pt(0.317, 1.779), rotate: 0, id: 'FTP1' }) // tp_gnd.tp const FTP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.027, 1.464), rotate: 0, + translate: pt(0.066, 1.779), rotate: 0, id: 'FTP2' }) // reg_5v.ic @@ -77,12 +77,12 @@ const FR3 = board.add(R_0603_1608Metric, { }) // tp_5v.tp const FTP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.311, 1.779), rotate: 0, + translate: pt(0.567, 1.779), rotate: 0, id: 'FTP3' }) // prot_5v.diode const FD1 = board.add(D_SOD_323, { - translate: pt(0.063, 1.779), rotate: 0, + translate: pt(2.519, 1.464), rotate: 0, id: 'FD1' }) // reg_3v3.ic @@ -102,12 +102,12 @@ const FC6 = board.add(C_0603_1608Metric, { }) // tp_3v3.tp const FTP4 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.277, 1.464), rotate: 0, + translate: pt(2.271, 1.464), rotate: 0, id: 'FTP4' }) // prot_3v3.diode const FD2 = board.add(D_SOD_323, { - translate: pt(2.525, 1.464), rotate: 0, + translate: pt(2.024, 1.464), rotate: 0, id: 'FD2' }) // mcu.ic @@ -433,7 +433,7 @@ board.setNetlist([ ]) const limit0 = pt(-0.07874015748031496, -0.07874015748031496); -const limit1 = pt(2.7061023622047244, 1.9346456692913387); +const limit1 = pt(2.7001968503937013, 1.9346456692913387); const xMin = Math.min(limit0[0], limit1[0]); const xMax = Math.max(limit0[0], limit1[0]); const yMin = Math.min(limit0[1], limit1[1]); diff --git a/examples/IotIron/IotIron.svgpcb.js b/examples/IotIron/IotIron.svgpcb.js index 0f2da9471..89ad6ba8f 100644 --- a/examples/IotIron/IotIron.svgpcb.js +++ b/examples/IotIron/IotIron.svgpcb.js @@ -22,12 +22,12 @@ const IJ1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { }) // tp_pwr.tp const ITP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.318, 3.097), rotate: 0, + translate: pt(2.314, 3.097), rotate: 0, id: 'ITP1' }) // tp_gnd.tp const ITP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.817, 3.097), rotate: 0, + translate: pt(2.063, 3.097), rotate: 0, id: 'ITP2' }) // reg_3v3.ic @@ -82,12 +82,12 @@ const IR3 = board.add(R_0603_1608Metric, { }) // tp_3v3.tp const ITP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.569, 3.097), rotate: 0, + translate: pt(2.564, 3.097), rotate: 0, id: 'ITP3' }) // prot_3v3.diode const ID1 = board.add(D_SOD_323, { - translate: pt(1.816, 3.097), rotate: 0, + translate: pt(0.063, 3.097), rotate: 0, id: 'ID1' }) // reg_gate.ic @@ -107,7 +107,7 @@ const IC7 = board.add(C_0603_1608Metric, { }) // tp_gate.tp const ITP4 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.567, 3.097), rotate: 0, + translate: pt(0.311, 3.097), rotate: 0, id: 'ITP4' }) // mcu.ic @@ -142,12 +142,12 @@ const IC10 = board.add(C_0603_1608Metric, { }) // i2c_pull.scl_res.res const IR5 = board.add(R_0603_1608Metric, { - translate: pt(3.036, 2.661), rotate: 0, + translate: pt(3.270, 2.661), rotate: 0, id: 'IR5' }) // i2c_pull.sda_res.res const IR6 = board.add(R_0603_1608Metric, { - translate: pt(3.036, 2.757), rotate: 0, + translate: pt(3.270, 2.757), rotate: 0, id: 'IR6' }) // pd.ic @@ -172,12 +172,12 @@ const IU5 = board.add(SOT_23, { }) // vusb_sense.div.top_res const IR7 = board.add(R_0603_1608Metric, { - translate: pt(2.566, 2.661), rotate: 0, + translate: pt(3.505, 2.661), rotate: 0, id: 'IR7' }) // vusb_sense.div.bottom_res const IR8 = board.add(R_0603_1608Metric, { - translate: pt(2.566, 2.757), rotate: 0, + translate: pt(3.505, 2.757), rotate: 0, id: 'IR8' }) // temp.ic @@ -327,7 +327,7 @@ const IR12 = board.add(R_0603_1608Metric, { }) // tp_conv.tp const ITP5 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.314, 3.097), rotate: 0, + translate: pt(1.813, 3.097), rotate: 0, id: 'ITP5' }) // low_pull.res @@ -337,12 +337,12 @@ const IR13 = board.add(R_0603_1608Metric, { }) // low_rc.rc.r const IR14 = board.add(R_0603_1608Metric, { - translate: pt(3.740, 2.661), rotate: 0, + translate: pt(3.974, 2.661), rotate: 0, id: 'IR14' }) // low_rc.rc.c const IC27 = board.add(C_0603_1608Metric, { - translate: pt(3.740, 2.757), rotate: 0, + translate: pt(3.974, 2.757), rotate: 0, id: 'IC27' }) // high_pull.res @@ -352,22 +352,22 @@ const IR15 = board.add(R_0603_1608Metric, { }) // high_rc.rc.r const IR16 = board.add(R_0603_1608Metric, { - translate: pt(3.270, 2.661), rotate: 0, + translate: pt(2.176, 2.661), rotate: 0, id: 'IR16' }) // high_rc.rc.c const IC28 = board.add(C_0603_1608Metric, { - translate: pt(3.270, 2.757), rotate: 0, + translate: pt(2.176, 2.757), rotate: 0, id: 'IC28' }) // tp_pwm_l.tp const ITP6 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.317, 3.097), rotate: 0, + translate: pt(1.062, 3.097), rotate: 0, id: 'ITP6' }) // tp_pwm_h.tp const ITP7 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.564, 3.097), rotate: 0, + translate: pt(1.312, 3.097), rotate: 0, id: 'ITP7' }) // touch_sink @@ -387,77 +387,77 @@ const IR17 = board.add(R_2512_6332Metric, { }) // vsense.div.top_res const IR18 = board.add(R_0603_1608Metric, { - translate: pt(3.505, 2.661), rotate: 0, + translate: pt(4.209, 2.661), rotate: 0, id: 'IR18' }) // vsense.div.bottom_res const IR19 = board.add(R_0603_1608Metric, { - translate: pt(3.505, 2.757), rotate: 0, + translate: pt(4.209, 2.757), rotate: 0, id: 'IR19' }) // tp_v.tp const ITP8 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.068, 3.097), rotate: 0, + translate: pt(1.563, 3.097), rotate: 0, id: 'ITP8' }) // vfilt.rc.r const IR20 = board.add(R_0603_1608Metric, { - translate: pt(2.801, 2.661), rotate: 0, + translate: pt(3.740, 2.661), rotate: 0, id: 'IR20' }) // vfilt.rc.c const IC29 = board.add(C_0603_1608Metric, { - translate: pt(2.801, 2.757), rotate: 0, + translate: pt(3.740, 2.757), rotate: 0, id: 'IC29' }) // ifilt.r1 const IR21 = board.add(R_0603_1608Metric, { - translate: pt(3.974, 2.661), rotate: 0, + translate: pt(2.410, 2.661), rotate: 0, id: 'IR21' }) // ifilt.r2 const IR22 = board.add(R_0603_1608Metric, { - translate: pt(3.974, 2.757), rotate: 0, + translate: pt(2.410, 2.757), rotate: 0, id: 'IR22' }) // tp_i.rc.r const IR23 = board.add(R_0603_1608Metric, { - translate: pt(4.209, 2.661), rotate: 0, + translate: pt(2.645, 2.661), rotate: 0, id: 'IR23' }) // tp_i.rc.c const IC30 = board.add(C_0603_1608Metric, { - translate: pt(4.209, 2.757), rotate: 0, + translate: pt(2.645, 2.757), rotate: 0, id: 'IC30' }) // iamp.tp const ITP9 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.066, 3.097), rotate: 0, + translate: pt(0.561, 3.097), rotate: 0, id: 'ITP9' }) // tamp.r1 const IR24 = board.add(R_0603_1608Metric, { - translate: pt(2.176, 2.661), rotate: 0, + translate: pt(2.880, 2.661), rotate: 0, id: 'IR24' }) // tamp.r2 const IR25 = board.add(R_0603_1608Metric, { - translate: pt(2.332, 2.661), rotate: 0, + translate: pt(3.036, 2.661), rotate: 0, id: 'IR25' }) // tamp.rf const IR26 = board.add(R_0603_1608Metric, { - translate: pt(2.176, 2.757), rotate: 0, + translate: pt(2.880, 2.757), rotate: 0, id: 'IR26' }) // tamp.rg const IR27 = board.add(R_0603_1608Metric, { - translate: pt(2.332, 2.757), rotate: 0, + translate: pt(3.036, 2.757), rotate: 0, id: 'IR27' }) // tp_t.tp const ITP10 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.063, 3.097), rotate: 0, + translate: pt(0.811, 3.097), rotate: 0, id: 'ITP10' }) // packed_opamp.ic diff --git a/examples/IotKnob/IotKnob.svgpcb.js b/examples/IotKnob/IotKnob.svgpcb.js index 72846ba00..b4a8c7121 100644 --- a/examples/IotKnob/IotKnob.svgpcb.js +++ b/examples/IotKnob/IotKnob.svgpcb.js @@ -35,12 +35,12 @@ const KR2 = board.add(R_0603_1608Metric, { }) // tp_pwr.tp const KTP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.567, 3.896), rotate: 0, + translate: pt(1.062, 3.896), rotate: 0, id: 'KTP1' }) // tp_gnd.tp const KTP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.066, 3.896), rotate: 0, + translate: pt(0.811, 3.896), rotate: 0, id: 'KTP2' }) // reg_3v3.ic @@ -60,12 +60,12 @@ const KC2 = board.add(C_0805_2012Metric, { }) // tp_3v3.tp const KTP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.817, 3.896), rotate: 0, + translate: pt(1.312, 3.896), rotate: 0, id: 'KTP3' }) // prot_3v3.diode const KD1 = board.add(D_SOD_323, { - translate: pt(1.065, 3.896), rotate: 0, + translate: pt(0.063, 3.896), rotate: 0, id: 'KD1' }) // mcu.ic @@ -150,17 +150,17 @@ const KSW1 = board.add(RotaryEncoder_Alps_EC11J15_Switch, { }) // sw[0].package const KSW2 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(5.455, 3.037), rotate: 0, + translate: pt(5.002, 3.037), rotate: 0, id: 'KSW2' }) // sw[1].package const KSW3 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(3.613, 3.520), rotate: 0, + translate: pt(2.707, 3.520), rotate: 0, id: 'KSW3' }) // sw[2].package const KSW4 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(5.002, 3.037), rotate: 0, + translate: pt(3.613, 3.520), rotate: 0, id: 'KSW4' }) // sw[3].package @@ -170,7 +170,7 @@ const KSW5 = board.add(SW_SPST_SKQG_WithoutStem, { }) // sw[4].package const KSW6 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(2.707, 3.520), rotate: 0, + translate: pt(5.455, 3.037), rotate: 0, id: 'KSW6' }) // sw[5].package @@ -280,7 +280,7 @@ const KC17 = board.add(C_0603_1608Metric, { }) // rgb_tp.tp const KTP6 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.312, 3.896), rotate: 0, + translate: pt(0.311, 3.896), rotate: 0, id: 'KTP6' }) // io8_pur.res @@ -300,7 +300,7 @@ const KC18 = board.add(C_0603_1608Metric, { }) // spk_tp.tp const KTP7 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.317, 3.896), rotate: 0, + translate: pt(0.561, 3.896), rotate: 0, id: 'KTP7' }) // spk_drv.ic diff --git a/examples/IotLedDriver/IotLedDriver.svgpcb.js b/examples/IotLedDriver/IotLedDriver.svgpcb.js index 6dd13ee6f..dab8efd62 100644 --- a/examples/IotLedDriver/IotLedDriver.svgpcb.js +++ b/examples/IotLedDriver/IotLedDriver.svgpcb.js @@ -22,12 +22,12 @@ const LJ1 = board.add(BarrelJack_CUI_PJ_036AH_SMT_Horizontal, { }) // tp_pwr.tp const LTP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.402, 2.444), rotate: 0, + translate: pt(2.151, 2.444), rotate: 0, id: 'LTP1' }) // tp_gnd.tp const LTP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.162, 2.444), rotate: 0, + translate: pt(1.901, 2.444), rotate: 0, id: 'LTP2' }) // reg_5v.ic @@ -77,12 +77,12 @@ const LR3 = board.add(R_0603_1608Metric, { }) // tp_5v.tp const LTP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.151, 2.444), rotate: 0, + translate: pt(2.402, 2.444), rotate: 0, id: 'LTP3' }) // prot_5v.diode const LD1 = board.add(D_SOD_323, { - translate: pt(1.904, 2.444), rotate: 0, + translate: pt(1.654, 2.444), rotate: 0, id: 'LD1' }) // reg_3v3.ic @@ -102,12 +102,12 @@ const LC6 = board.add(C_0805_2012Metric, { }) // tp_3v3.tp const LTP4 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.412, 2.444), rotate: 0, + translate: pt(1.406, 2.444), rotate: 0, id: 'LTP4' }) // prot_3v3.diode const LD2 = board.add(D_SOD_323, { - translate: pt(1.660, 2.444), rotate: 0, + translate: pt(1.159, 2.444), rotate: 0, id: 'LD2' }) // mcu.ic @@ -257,52 +257,52 @@ const LD21 = board.add(LED_SK6812_EC15_1_5x1_5mm, { }) // led_drv[0].ic const LU4 = board.add(MSOP_8_1EP_3x3mm_P0_65mm_EP1_68x1_88mm_ThermalVias, { - translate: pt(1.197, 2.105), rotate: 0, + translate: pt(3.247, 1.172), rotate: 0, id: 'LU4' }) // led_drv[0].rsense.res.res const LR8 = board.add(R_0603_1608Metric, { - translate: pt(1.298, 2.242), rotate: 0, + translate: pt(3.348, 1.309), rotate: 0, id: 'LR8' }) // led_drv[0].pwr_cap.cap const LC10 = board.add(C_0805_2012Metric, { - translate: pt(1.426, 2.075), rotate: 0, + translate: pt(3.476, 1.142), rotate: 0, id: 'LC10' }) // led_drv[0].ind const LL2 = board.add(L_Sunlord_SWPA6045S, { - translate: pt(1.206, 1.869), rotate: 0, + translate: pt(3.256, 0.935), rotate: 0, id: 'LL2' }) // led_drv[0].diode const LD22 = board.add(D_SOD_323, { - translate: pt(1.137, 2.251), rotate: 0, + translate: pt(3.188, 1.318), rotate: 0, id: 'LD22' }) // led_drv[1].ic const LU5 = board.add(MSOP_8_1EP_3x3mm_P0_65mm_EP1_68x1_88mm_ThermalVias, { - translate: pt(3.247, 1.172), rotate: 0, + translate: pt(1.197, 2.105), rotate: 0, id: 'LU5' }) // led_drv[1].rsense.res.res const LR9 = board.add(R_0603_1608Metric, { - translate: pt(3.348, 1.309), rotate: 0, + translate: pt(1.298, 2.242), rotate: 0, id: 'LR9' }) // led_drv[1].pwr_cap.cap const LC11 = board.add(C_0805_2012Metric, { - translate: pt(3.476, 1.142), rotate: 0, + translate: pt(1.426, 2.075), rotate: 0, id: 'LC11' }) // led_drv[1].ind const LL3 = board.add(L_Sunlord_SWPA6045S, { - translate: pt(3.256, 0.935), rotate: 0, + translate: pt(1.206, 1.869), rotate: 0, id: 'LL3' }) // led_drv[1].diode const LD23 = board.add(D_SOD_323, { - translate: pt(3.188, 1.318), rotate: 0, + translate: pt(1.137, 2.251), rotate: 0, id: 'LD23' }) // led_drv[2].ic diff --git a/examples/IotThermalCamera/IotThermalCamera.svgpcb.js b/examples/IotThermalCamera/IotThermalCamera.svgpcb.js index 8c08bab0b..2b833933a 100644 --- a/examples/IotThermalCamera/IotThermalCamera.svgpcb.js +++ b/examples/IotThermalCamera/IotThermalCamera.svgpcb.js @@ -32,7 +32,7 @@ const TR2 = board.add(R_0603_1608Metric, { }) // tp_gnd.tp const TTP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.066, 2.344), rotate: 0, + translate: pt(0.311, 2.344), rotate: 0, id: 'TTP1' }) // choke.fb @@ -42,7 +42,7 @@ const TFB1 = board.add(L_0603_1608Metric, { }) // tp_pwr.tp const TTP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.811, 2.344), rotate: 0, + translate: pt(0.561, 2.344), rotate: 0, id: 'TTP2' }) // reg_3v3.ic @@ -92,42 +92,42 @@ const TR5 = board.add(R_0603_1608Metric, { }) // tp_3v3.tp const TTP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.317, 2.344), rotate: 0, + translate: pt(0.811, 2.344), rotate: 0, id: 'TTP3' }) // prot_3v3.diode const TD1 = board.add(D_SOD_323, { - translate: pt(0.564, 2.344), rotate: 0, + translate: pt(0.063, 2.344), rotate: 0, id: 'TD1' }) // reg_3v0.ic const TU2 = board.add(SOT_23_5, { - translate: pt(2.243, 1.807), rotate: 0, + translate: pt(1.852, 1.807), rotate: 0, id: 'TU2' }) // reg_3v0.in_cap.cap const TC5 = board.add(C_0603_1608Metric, { - translate: pt(2.220, 1.942), rotate: 0, + translate: pt(1.830, 1.942), rotate: 0, id: 'TC5' }) // reg_3v0.out_cap.cap const TC6 = board.add(C_0603_1608Metric, { - translate: pt(2.376, 1.942), rotate: 0, + translate: pt(1.986, 1.942), rotate: 0, id: 'TC6' }) // reg_2v8.ic const TU3 = board.add(SOT_23_5, { - translate: pt(1.852, 1.807), rotate: 0, + translate: pt(2.243, 1.807), rotate: 0, id: 'TU3' }) // reg_2v8.in_cap.cap const TC7 = board.add(C_0603_1608Metric, { - translate: pt(1.830, 1.942), rotate: 0, + translate: pt(2.220, 1.942), rotate: 0, id: 'TC7' }) // reg_2v8.out_cap.cap const TC8 = board.add(C_0603_1608Metric, { - translate: pt(1.986, 1.942), rotate: 0, + translate: pt(2.376, 1.942), rotate: 0, id: 'TC8' }) // reg_1v2.ic diff --git a/examples/JacdacKeyswitch/JacdacKeyswitch.svgpcb.js b/examples/JacdacKeyswitch/JacdacKeyswitch.svgpcb.js index 23ade72b6..5f3e9e2ad 100644 --- a/examples/JacdacKeyswitch/JacdacKeyswitch.svgpcb.js +++ b/examples/JacdacKeyswitch/JacdacKeyswitch.svgpcb.js @@ -17,27 +17,27 @@ const H3 = board.add(JlcToolingHole_1_152mm, { }) // edge.conn const EC1 = board.add(JD_PEC_02_Prerouted_recessed, { - translate: pt(0.460, 0.883), rotate: 0, + translate: pt(0.113, 0.883), rotate: 0, id: 'EC1' }) // edge.status_led.package const D1 = board.add(LED_0603_1608Metric, { - translate: pt(0.406, 0.718), rotate: 0, + translate: pt(0.058, 0.718), rotate: 0, id: 'D1' }) // edge.status_led.res const R1 = board.add(R_0603_1608Metric, { - translate: pt(0.406, 0.815), rotate: 0, + translate: pt(0.058, 0.815), rotate: 0, id: 'R1' }) // edge.tvs_jd_pwr.diode const D2 = board.add(D_0402_1005Metric, { - translate: pt(0.540, 0.805), rotate: 0, + translate: pt(0.193, 0.805), rotate: 0, id: 'D2' }) // edge.tvs_jd_data.diode const D3 = board.add(D_0402_1005Metric, { - translate: pt(0.384, 0.902), rotate: 0, + translate: pt(0.037, 0.902), rotate: 0, id: 'D3' }) // jd_mh1 @@ -62,27 +62,27 @@ const MH4 = board.add(jacdac_hole_GND_MH4, { }) // edge2.conn const EC2 = board.add(JD_PEC_02_Prerouted_recessed, { - translate: pt(0.113, 0.883), rotate: 0, + translate: pt(0.460, 0.883), rotate: 0, id: 'EC2' }) // edge2.status_led.package const D4 = board.add(LED_0603_1608Metric, { - translate: pt(0.058, 0.718), rotate: 0, + translate: pt(0.406, 0.718), rotate: 0, id: 'D4' }) // edge2.status_led.res const R2 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 0.815), rotate: 0, + translate: pt(0.406, 0.815), rotate: 0, id: 'R2' }) // edge2.tvs_jd_pwr.diode const D5 = board.add(D_0402_1005Metric, { - translate: pt(0.193, 0.805), rotate: 0, + translate: pt(0.540, 0.805), rotate: 0, id: 'D5' }) // edge2.tvs_jd_data.diode const D6 = board.add(D_0402_1005Metric, { - translate: pt(0.037, 0.902), rotate: 0, + translate: pt(0.384, 0.902), rotate: 0, id: 'D6' }) // tp_gnd.tp @@ -92,7 +92,7 @@ const TP1 = board.add(TestPoint_Keystone_5015_Micro_Minature, { }) // tp_jd_pwr.tp const TP2 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(0.659, 1.091), rotate: 0, + translate: pt(0.372, 1.091), rotate: 0, id: 'TP2' }) // reg_3v3.ic @@ -112,7 +112,7 @@ const C2 = board.add(C_0603_1608Metric, { }) // tp_3v3.tp const TP3 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(0.372, 1.091), rotate: 0, + translate: pt(0.659, 1.091), rotate: 0, id: 'TP3' }) // mcu.swd.conn diff --git a/examples/LedMatrix/LedMatrix.svgpcb.js b/examples/LedMatrix/LedMatrix.svgpcb.js index 712d8b0e1..f60d551e9 100644 --- a/examples/LedMatrix/LedMatrix.svgpcb.js +++ b/examples/LedMatrix/LedMatrix.svgpcb.js @@ -33,12 +33,12 @@ const R2 = board.add(R_0603_1608Metric, { }) // tp_vusb.tp const TP1 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(2.114, 1.571), rotate: 0, + translate: pt(1.539, 1.571), rotate: 0, id: 'TP1' }) // tp_gnd.tp const TP2 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(1.539, 1.571), rotate: 0, + translate: pt(1.826, 1.571), rotate: 0, id: 'TP2' }) // reg_3v3.ic @@ -58,7 +58,7 @@ const C2 = board.add(C_0805_2012Metric, { }) // tp_3v3.tp const TP3 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(1.826, 1.571), rotate: 0, + translate: pt(2.114, 1.571), rotate: 0, id: 'TP3' }) // prot_3v3.diode diff --git a/examples/Multimeter/Multimeter.svgpcb.js b/examples/Multimeter/Multimeter.svgpcb.js index 75f86e823..4443cd2f7 100644 --- a/examples/Multimeter/Multimeter.svgpcb.js +++ b/examples/Multimeter/Multimeter.svgpcb.js @@ -97,7 +97,7 @@ const R5 = board.add(R_0603_1608Metric, { }) // tp_5v.tp const TP1 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(1.704, 2.611), rotate: 0, + translate: pt(0.554, 2.611), rotate: 0, id: 'TP1' }) // prot_5v.diode @@ -122,37 +122,37 @@ const C4 = board.add(C_0603_1608Metric, { }) // tp_3v3.tp const TP2 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(0.841, 2.611), rotate: 0, + translate: pt(1.704, 2.611), rotate: 0, id: 'TP2' }) // prot_3v3.diode const D4 = board.add(D_SOD_323, { - translate: pt(2.541, 2.595), rotate: 0, + translate: pt(2.297, 2.595), rotate: 0, id: 'D4' }) // reg_analog.ic const U4 = board.add(SOT_23_5, { - translate: pt(0.640, 2.276), rotate: 0, + translate: pt(0.081, 2.276), rotate: 0, id: 'U4' }) // reg_analog.in_cap.cap const C5 = board.add(C_0603_1608Metric, { - translate: pt(0.617, 2.411), rotate: 0, + translate: pt(0.058, 2.411), rotate: 0, id: 'C5' }) // reg_analog.out_cap.cap const C6 = board.add(C_0603_1608Metric, { - translate: pt(0.773, 2.411), rotate: 0, + translate: pt(0.214, 2.411), rotate: 0, id: 'C6' }) // tp_analog.tp const TP3 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(1.416, 2.611), rotate: 0, + translate: pt(1.129, 2.611), rotate: 0, id: 'TP3' }) // prot_analog.diode const D5 = board.add(D_SOD_323, { - translate: pt(2.297, 2.595), rotate: 0, + translate: pt(2.541, 2.595), rotate: 0, id: 'D5' }) // mcu.ic @@ -187,12 +187,12 @@ const C8 = board.add(C_0805_2012Metric, { }) // vbatsense.div.top_res const R8 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 2.586), rotate: 0, + translate: pt(0.293, 2.586), rotate: 0, id: 'R8' }) // vbatsense.div.bottom_res const R9 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 2.683), rotate: 0, + translate: pt(0.293, 2.683), rotate: 0, id: 'R9' }) // usb_esd @@ -222,12 +222,12 @@ const R12 = board.add(R_0603_1608Metric, { }) // sw1.package const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(1.960, 2.321), rotate: 0, + translate: pt(1.507, 2.321), rotate: 0, id: 'SW2' }) // sw2.package const SW3 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(1.507, 2.321), rotate: 0, + translate: pt(1.960, 2.321), rotate: 0, id: 'SW3' }) // lcd.device.conn @@ -247,17 +247,17 @@ const C9 = board.add(C_0603_1608Metric, { }) // spk_dac.rc.r const R14 = board.add(R_0603_1608Metric, { - translate: pt(0.293, 2.586), rotate: 0, + translate: pt(0.058, 2.586), rotate: 0, id: 'R14' }) // spk_dac.rc.c const C10 = board.add(C_0603_1608Metric, { - translate: pt(0.293, 2.683), rotate: 0, + translate: pt(0.058, 2.683), rotate: 0, id: 'C10' }) // spk_tp.tp const TP4 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(0.554, 2.611), rotate: 0, + translate: pt(1.416, 2.611), rotate: 0, id: 'TP4' }) // spk_drv.ic @@ -312,12 +312,12 @@ const R18 = board.add(R_0603_1608Metric, { }) // ref_buf.amp.ic const U8 = board.add(SOT_23_6, { - translate: pt(0.360, 2.276), rotate: 0, + translate: pt(0.471, 2.276), rotate: 0, id: 'U8' }) // ref_buf.amp.vdd_cap.cap const C15 = board.add(C_0603_1608Metric, { - translate: pt(0.338, 2.411), rotate: 0, + translate: pt(0.449, 2.411), rotate: 0, id: 'C15' }) // inn @@ -392,17 +392,17 @@ const R22 = board.add(R_0603_1608Metric, { }) // measure_buffer.amp.ic const U13 = board.add(SOT_23_6, { - translate: pt(0.081, 2.276), rotate: 0, + translate: pt(0.751, 2.276), rotate: 0, id: 'U13' }) // measure_buffer.amp.vdd_cap.cap const C20 = board.add(C_0603_1608Metric, { - translate: pt(0.058, 2.411), rotate: 0, + translate: pt(0.728, 2.411), rotate: 0, id: 'C20' }) // tp_measure.tp const TP5 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(1.129, 2.611), rotate: 0, + translate: pt(0.841, 2.611), rotate: 0, id: 'TP5' }) // adc.ic diff --git a/examples/PcbBot/PcbBot.svgpcb.js b/examples/PcbBot/PcbBot.svgpcb.js index dcbbf9e20..19dd2d457 100644 --- a/examples/PcbBot/PcbBot.svgpcb.js +++ b/examples/PcbBot/PcbBot.svgpcb.js @@ -37,7 +37,7 @@ const J2 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { }) // tp_gnd.tp const TP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.509, 3.406), rotate: 0, + translate: pt(4.004, 3.406), rotate: 0, id: 'TP1' }) // fuse.fuse @@ -87,7 +87,7 @@ const D3 = board.add(D_SMA, { }) // tp_batt.tp const TP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(4.254, 3.406), rotate: 0, + translate: pt(3.753, 3.406), rotate: 0, id: 'TP2' }) // pwr_or.pdr @@ -122,12 +122,12 @@ const C2 = board.add(C_0805_2012Metric, { }) // prot_3v3.diode const D5 = board.add(D_SOD_323, { - translate: pt(3.756, 3.406), rotate: 0, + translate: pt(3.506, 3.406), rotate: 0, id: 'D5' }) // tp_3v3.tp const TP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(4.004, 3.406), rotate: 0, + translate: pt(4.254, 3.406), rotate: 0, id: 'TP3' }) // charger.ic @@ -152,12 +152,12 @@ const R6 = board.add(R_0603_1608Metric, { }) // charge_led.package const D6 = board.add(LED_0603_1608Metric, { - translate: pt(2.105, 3.397), rotate: 0, + translate: pt(1.870, 3.397), rotate: 0, id: 'D6' }) // charge_led.res const R7 = board.add(R_0603_1608Metric, { - translate: pt(2.105, 3.494), rotate: 0, + translate: pt(1.870, 3.494), rotate: 0, id: 'R7' }) // mcu.ic @@ -202,12 +202,12 @@ const U4 = board.add(SOT_23, { }) // led.package const D7 = board.add(LED_0603_1608Metric, { - translate: pt(1.870, 3.397), rotate: 0, + translate: pt(2.105, 3.397), rotate: 0, id: 'D7' }) // led.res const R9 = board.add(R_0603_1608Metric, { - translate: pt(1.870, 3.494), rotate: 0, + translate: pt(2.105, 3.494), rotate: 0, id: 'R9' }) // tof.elt[0] @@ -232,12 +232,12 @@ const J7 = board.add(PinSocket_1x06_P2_54mm_Vertical, { }) // i2c_pull.scl_res.res const R10 = board.add(R_0603_1608Metric, { - translate: pt(2.574, 3.397), rotate: 0, + translate: pt(2.340, 3.397), rotate: 0, id: 'R10' }) // i2c_pull.sda_res.res const R11 = board.add(R_0603_1608Metric, { - translate: pt(2.574, 3.494), rotate: 0, + translate: pt(2.340, 3.494), rotate: 0, id: 'R11' }) // i2c_tp.tp_scl.tp @@ -362,17 +362,17 @@ const C19 = board.add(C_0805_2012Metric, { }) // batt_sense.div.top_res const R16 = board.add(R_0603_1608Metric, { - translate: pt(2.340, 3.397), rotate: 0, + translate: pt(2.574, 3.397), rotate: 0, id: 'R16' }) // batt_sense.div.bottom_res const R17 = board.add(R_0603_1608Metric, { - translate: pt(2.340, 3.494), rotate: 0, + translate: pt(2.574, 3.494), rotate: 0, id: 'R17' }) // servo[0].conn const J9 = board.add(PinHeader_1x03_P2_54mm_Vertical, { - translate: pt(2.146, 3.112), rotate: 0, + translate: pt(1.886, 3.112), rotate: 0, id: 'J9' }) // servo[1].conn @@ -382,7 +382,7 @@ const J10 = board.add(PinHeader_1x03_P2_54mm_Vertical, { }) // servo[2].conn const J11 = board.add(PinHeader_1x03_P2_54mm_Vertical, { - translate: pt(1.886, 3.112), rotate: 0, + translate: pt(2.146, 3.112), rotate: 0, id: 'J11' }) // servo[3].conn diff --git a/examples/PicoProbe/PicoProbe.svgpcb.js b/examples/PicoProbe/PicoProbe.svgpcb.js index 838d7eace..dad804597 100644 --- a/examples/PicoProbe/PicoProbe.svgpcb.js +++ b/examples/PicoProbe/PicoProbe.svgpcb.js @@ -37,32 +37,32 @@ const SD1 = board.add(D_SOD_323, { }) // usb_reg.ic const SU1 = board.add(SOT_23_5, { - translate: pt(0.730, 0.858), rotate: 0, + translate: pt(1.093, 0.858), rotate: 0, id: 'SU1' }) // usb_reg.in_cap.cap const SC1 = board.add(C_0402_1005Metric, { - translate: pt(0.859, 0.983), rotate: 0, + translate: pt(1.222, 0.983), rotate: 0, id: 'SC1' }) // usb_reg.out_cap.cap const SC2 = board.add(C_0805_2012Metric, { - translate: pt(0.717, 1.003), rotate: 0, + translate: pt(1.080, 1.003), rotate: 0, id: 'SC2' }) // target_reg.ic const SU2 = board.add(SOT_23_5, { - translate: pt(1.093, 0.858), rotate: 0, + translate: pt(0.730, 0.858), rotate: 0, id: 'SU2' }) // target_reg.in_cap.cap const SC3 = board.add(C_0402_1005Metric, { - translate: pt(1.222, 0.983), rotate: 0, + translate: pt(0.859, 0.983), rotate: 0, id: 'SC3' }) // target_reg.out_cap.cap const SC4 = board.add(C_0805_2012Metric, { - translate: pt(1.080, 1.003), rotate: 0, + translate: pt(0.717, 1.003), rotate: 0, id: 'SC4' }) // mcu.swd.conn @@ -162,22 +162,22 @@ const SU6 = board.add(SOT_23, { }) // led_tgt.package const SD2 = board.add(LED_0603_1608Metric, { - translate: pt(1.669, 0.820), rotate: 0, + translate: pt(1.434, 0.820), rotate: 0, id: 'SD2' }) // led_tgt.res const SR5 = board.add(R_0402_1005Metric, { - translate: pt(1.647, 0.907), rotate: 0, + translate: pt(1.412, 0.907), rotate: 0, id: 'SR5' }) // led_usb.package const SD3 = board.add(LED_0603_1608Metric, { - translate: pt(1.434, 0.820), rotate: 0, + translate: pt(0.058, 1.290), rotate: 0, id: 'SD3' }) // led_usb.res const SR6 = board.add(R_0402_1005Metric, { - translate: pt(1.412, 0.907), rotate: 0, + translate: pt(0.037, 1.377), rotate: 0, id: 'SR6' }) // en_pull.res @@ -192,12 +192,12 @@ const SJ3 = board.add(PinHeader_2x03_P2_54mm_EdgeInline, { }) // led_target.package const SD4 = board.add(LED_0603_1608Metric, { - translate: pt(0.058, 1.290), rotate: 0, + translate: pt(1.669, 0.820), rotate: 0, id: 'SD4' }) // led_target.res const SR8 = board.add(R_0402_1005Metric, { - translate: pt(0.037, 1.377), rotate: 0, + translate: pt(1.647, 0.907), rotate: 0, id: 'SR8' }) // target_sense.div.top_res diff --git a/examples/RobotCrawler/RobotCrawler.svgpcb.js b/examples/RobotCrawler/RobotCrawler.svgpcb.js index c4302aa48..30efce00f 100644 --- a/examples/RobotCrawler/RobotCrawler.svgpcb.js +++ b/examples/RobotCrawler/RobotCrawler.svgpcb.js @@ -7,62 +7,62 @@ const RJ1 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { }) // servos[0].conn const RJ2 = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(0.591, 2.944), rotate: 0, + translate: pt(2.305, 2.110), rotate: 0, id: 'RJ2' }) // servos[1].conn const RJ3 = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(2.045, 2.110), rotate: 0, + translate: pt(4.124, 2.110), rotate: 0, id: 'RJ3' }) // servos[2].conn const RJ4 = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(0.071, 2.944), rotate: 0, + translate: pt(3.604, 2.110), rotate: 0, id: 'RJ4' }) // servos[3].conn const RJ5 = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(0.331, 2.944), rotate: 0, + translate: pt(3.864, 2.110), rotate: 0, id: 'RJ5' }) // servos[4].conn const RJ6 = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(3.864, 2.110), rotate: 0, + translate: pt(0.331, 2.944), rotate: 0, id: 'RJ6' }) // servos[5].conn const RJ7 = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(4.124, 2.110), rotate: 0, + translate: pt(3.344, 2.110), rotate: 0, id: 'RJ7' }) // servos[6].conn const RJ8 = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(2.305, 2.110), rotate: 0, + translate: pt(2.045, 2.110), rotate: 0, id: 'RJ8' }) // servos[7].conn const RJ9 = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(3.344, 2.110), rotate: 0, + translate: pt(3.084, 2.110), rotate: 0, id: 'RJ9' }) // servos[8].conn const RJ10 = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(2.565, 2.110), rotate: 0, + translate: pt(0.071, 2.944), rotate: 0, id: 'RJ10' }) // servos[9].conn const RJ11 = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(0.850, 2.944), rotate: 0, + translate: pt(2.565, 2.110), rotate: 0, id: 'RJ11' }) // servos[10].conn const RJ12 = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(3.084, 2.110), rotate: 0, + translate: pt(1.785, 2.110), rotate: 0, id: 'RJ12' }) // servos[11].conn const RJ13 = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(1.785, 2.110), rotate: 0, + translate: pt(2.824, 2.110), rotate: 0, id: 'RJ13' }) // imu.ic @@ -82,12 +82,12 @@ const RC2 = board.add(C_0603_1608Metric, { }) // servos_cam[0].conn const RJ14 = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(2.824, 2.110), rotate: 0, + translate: pt(0.850, 2.944), rotate: 0, id: 'RJ14' }) // servos_cam[1].conn const RJ15 = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(3.604, 2.110), rotate: 0, + translate: pt(0.591, 2.944), rotate: 0, id: 'RJ15' }) // jlc_th.th1 @@ -107,12 +107,12 @@ const RH3 = board.add(JlcToolingHole_1_152mm, { }) // tp_vbatt.tp const RTP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.552, 3.170), rotate: 0, + translate: pt(1.801, 3.170), rotate: 0, id: 'RTP1' }) // tp_gnd.tp const RTP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.801, 3.170), rotate: 0, + translate: pt(2.302, 3.170), rotate: 0, id: 'RTP2' }) // reg_3v3.ic @@ -132,7 +132,7 @@ const RC4 = board.add(C_0603_1608Metric, { }) // tp_3v3.tp const RTP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.302, 3.170), rotate: 0, + translate: pt(2.552, 3.170), rotate: 0, id: 'RTP3' }) // reg_14v.ic @@ -377,22 +377,22 @@ const RTP6 = board.add(TestPoint_TE_RCT_0805, { }) // led.package const RD2 = board.add(LED_0603_1608Metric, { - translate: pt(1.089, 3.162), rotate: 0, + translate: pt(1.324, 3.162), rotate: 0, id: 'RD2' }) // led.res const RR6 = board.add(R_0603_1608Metric, { - translate: pt(1.089, 3.259), rotate: 0, + translate: pt(1.324, 3.259), rotate: 0, id: 'RR6' }) // servo_led.package const RD3 = board.add(LED_0603_1608Metric, { - translate: pt(1.324, 3.162), rotate: 0, + translate: pt(1.089, 3.162), rotate: 0, id: 'RD3' }) // servo_led.res const RR7 = board.add(R_0603_1608Metric, { - translate: pt(1.324, 3.259), rotate: 0, + translate: pt(1.089, 3.259), rotate: 0, id: 'RR7' }) // test_led.led[0].package diff --git a/examples/RobotDriver/RobotDriver.svgpcb.js b/examples/RobotDriver/RobotDriver.svgpcb.js index 7ff08f6d2..81297f9c9 100644 --- a/examples/RobotDriver/RobotDriver.svgpcb.js +++ b/examples/RobotDriver/RobotDriver.svgpcb.js @@ -17,7 +17,7 @@ const H3 = board.add(JlcToolingHole_1_152mm, { }) // batt.conn const J1 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(2.004, 2.719), rotate: 0, + translate: pt(3.642, 2.719), rotate: 0, id: 'J1' }) // isense.sense.res.res @@ -57,12 +57,12 @@ const R5 = board.add(R_0603_1608Metric, { }) // tp_vbatt.tp const TP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.328, 3.077), rotate: 0, + translate: pt(1.576, 3.077), rotate: 0, id: 'TP1' }) // tp_gnd.tp const TP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.332, 3.077), rotate: 0, + translate: pt(2.077, 3.077), rotate: 0, id: 'TP2' }) // reg_3v3.ic @@ -97,12 +97,12 @@ const C3 = board.add(C_0805_2012Metric, { }) // tp_3v3.tp const TP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.833, 3.077), rotate: 0, + translate: pt(2.328, 3.077), rotate: 0, id: 'TP3' }) // prot_3v3.diode const D1 = board.add(D_SOD_323, { - translate: pt(2.080, 3.077), rotate: 0, + translate: pt(1.329, 3.077), rotate: 0, id: 'D1' }) // mcu.ic @@ -272,7 +272,7 @@ const D5 = board.add(LED_0603_1608Metric, { }) // spk_tp.tp const TP6 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.582, 3.077), rotate: 0, + translate: pt(1.827, 3.077), rotate: 0, id: 'TP6' }) // spk_drv.ic @@ -312,7 +312,7 @@ const C20 = board.add(C_0603_1608Metric, { }) // spk.conn const J7 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(2.394, 2.719), rotate: 0, + translate: pt(3.252, 2.719), rotate: 0, id: 'J7' }) // ws2812bArray.led[0] @@ -342,7 +342,7 @@ const D10 = board.add(LED_WS2812B_PLCC4_5_0x5_0mm_P3_2mm, { }) // led_pixel.conn const J8 = board.add(JST_PH_B3B_PH_K_1x03_P2_00mm_Vertical, { - translate: pt(3.563, 2.719), rotate: 0, + translate: pt(2.784, 2.719), rotate: 0, id: 'J8' }) // motor_driver1.ic @@ -367,12 +367,12 @@ const C23 = board.add(C_0603_1608Metric, { }) // m1_a.conn const J9 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(1.615, 2.719), rotate: 0, + translate: pt(2.394, 2.719), rotate: 0, id: 'J9' }) // m1_b.conn const J10 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(2.784, 2.719), rotate: 0, + translate: pt(1.615, 2.719), rotate: 0, id: 'J10' }) // motor_driver2.ic @@ -397,7 +397,7 @@ const C26 = board.add(C_0603_1608Metric, { }) // m2_a.conn const J11 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(3.174, 2.719), rotate: 0, + translate: pt(2.004, 2.719), rotate: 0, id: 'J11' }) // m2_b.conn diff --git a/examples/RobotOwl/RobotOwl.svgpcb.js b/examples/RobotOwl/RobotOwl.svgpcb.js index 1bf840529..eac3bf905 100644 --- a/examples/RobotOwl/RobotOwl.svgpcb.js +++ b/examples/RobotOwl/RobotOwl.svgpcb.js @@ -22,7 +22,7 @@ const U1 = board.add(Freenove_ESP32S3_WROOM_Expansion, { }) // tp_gnd.tp const TP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.976, 2.799), rotate: 0, + translate: pt(3.226, 2.799), rotate: 0, id: 'TP1' }) // tp_usb.tp @@ -32,7 +32,7 @@ const TP2 = board.add(TestPoint_TE_RCT_0805, { }) // tp_3v3.tp const TP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.226, 2.799), rotate: 0, + translate: pt(3.727, 2.799), rotate: 0, id: 'TP3' }) // reg_12v.ic @@ -72,7 +72,7 @@ const D1 = board.add(D_SOD_323, { }) // tp_12v.tp const TP4 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.727, 2.799), rotate: 0, + translate: pt(2.976, 2.799), rotate: 0, id: 'TP4' }) // mic.ic diff --git a/examples/SevenSegment/SevenSegment.svgpcb.js b/examples/SevenSegment/SevenSegment.svgpcb.js index 4f1708aef..e1dbd06b1 100644 --- a/examples/SevenSegment/SevenSegment.svgpcb.js +++ b/examples/SevenSegment/SevenSegment.svgpcb.js @@ -22,12 +22,12 @@ const CJ1 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { }) // tp_pwr.tp const CTP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.316, 2.130), rotate: 0, + translate: pt(2.811, 2.130), rotate: 0, id: 'CTP1' }) // tp_gnd.tp const CTP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.816, 2.130), rotate: 0, + translate: pt(2.561, 2.130), rotate: 0, id: 'CTP2' }) // reg_3v3.ic @@ -47,12 +47,12 @@ const CC2 = board.add(C_0805_2012Metric, { }) // tp_3v3.tp const CTP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.567, 2.130), rotate: 0, + translate: pt(3.062, 2.130), rotate: 0, id: 'CTP3' }) // prot_3v3.diode const CD1 = board.add(D_SOD_323, { - translate: pt(2.814, 2.130), rotate: 0, + translate: pt(1.813, 2.130), rotate: 0, id: 'CD1' }) // mcu.ic @@ -87,47 +87,47 @@ const CC5 = board.add(C_0603_1608Metric, { }) // ledr.package const CD2 = board.add(LED_0603_1608Metric, { - translate: pt(0.869, 2.122), rotate: 0, + translate: pt(0.634, 2.122), rotate: 0, id: 'CD2' }) // ledr.res const CR2 = board.add(R_0603_1608Metric, { - translate: pt(0.869, 2.219), rotate: 0, + translate: pt(0.634, 2.219), rotate: 0, id: 'CR2' }) // ledg.package const CD3 = board.add(LED_0603_1608Metric, { - translate: pt(0.399, 2.122), rotate: 0, + translate: pt(0.869, 2.122), rotate: 0, id: 'CD3' }) // ledg.res const CR3 = board.add(R_0603_1608Metric, { - translate: pt(0.399, 2.219), rotate: 0, + translate: pt(0.869, 2.219), rotate: 0, id: 'CR3' }) // ledb.package const CD4 = board.add(LED_0603_1608Metric, { - translate: pt(0.634, 2.122), rotate: 0, + translate: pt(0.399, 2.122), rotate: 0, id: 'CD4' }) // ledb.res const CR4 = board.add(R_0603_1608Metric, { - translate: pt(0.634, 2.219), rotate: 0, + translate: pt(0.399, 2.219), rotate: 0, id: 'CR4' }) // sw[0].package const CSW1 = board.add(SW_Push_1P1T_MP_NO_Horizontal_Alps_SKRTLAE010, { - translate: pt(2.958, 1.831), rotate: 0, + translate: pt(2.617, 1.831), rotate: 0, id: 'CSW1' }) // sw[1].package const CSW2 = board.add(SW_Push_1P1T_MP_NO_Horizontal_Alps_SKRTLAE010, { - translate: pt(0.111, 2.183), rotate: 0, + translate: pt(2.958, 1.831), rotate: 0, id: 'CSW2' }) // sw[2].package const CSW3 = board.add(SW_Push_1P1T_MP_NO_Horizontal_Alps_SKRTLAE010, { - translate: pt(2.617, 1.831), rotate: 0, + translate: pt(0.111, 2.183), rotate: 0, id: 'CSW3' }) // sw[3].package @@ -202,77 +202,77 @@ const CC10 = board.add(C_0603_1608Metric, { }) // rgb_tp.tp const CTP6 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.062, 2.130), rotate: 0, + translate: pt(2.060, 2.130), rotate: 0, id: 'CTP6' }) // digit[0].led[0] const CD5 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.131, 0.039), rotate: 0, + translate: pt(2.580, 0.591), rotate: 0, id: 'CD5' }) // digit[0].led[1] const CD6 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.249, 0.039), rotate: 0, + translate: pt(2.698, 0.591), rotate: 0, id: 'CD6' }) // digit[0].led[2] const CD7 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.367, 0.039), rotate: 0, + translate: pt(2.816, 0.591), rotate: 0, id: 'CD7' }) // digit[0].led[3] const CD8 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.485, 0.039), rotate: 0, + translate: pt(2.934, 0.591), rotate: 0, id: 'CD8' }) // digit[0].led[4] const CD9 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.131, 0.157), rotate: 0, + translate: pt(2.580, 0.709), rotate: 0, id: 'CD9' }) // digit[0].led[5] const CD10 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.249, 0.157), rotate: 0, + translate: pt(2.698, 0.709), rotate: 0, id: 'CD10' }) // digit[0].led[6] const CD11 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.367, 0.157), rotate: 0, + translate: pt(2.816, 0.709), rotate: 0, id: 'CD11' }) // digit[0].led[7] const CD12 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.485, 0.157), rotate: 0, + translate: pt(2.934, 0.709), rotate: 0, id: 'CD12' }) // digit[0].led[8] const CD13 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.131, 0.276), rotate: 0, + translate: pt(2.580, 0.827), rotate: 0, id: 'CD13' }) // digit[0].led[9] const CD14 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.249, 0.276), rotate: 0, + translate: pt(2.698, 0.827), rotate: 0, id: 'CD14' }) // digit[0].led[10] const CD15 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.367, 0.276), rotate: 0, + translate: pt(2.816, 0.827), rotate: 0, id: 'CD15' }) // digit[0].led[11] const CD16 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.485, 0.276), rotate: 0, + translate: pt(2.934, 0.827), rotate: 0, id: 'CD16' }) // digit[0].led[12] const CD17 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.131, 0.394), rotate: 0, + translate: pt(2.580, 0.945), rotate: 0, id: 'CD17' }) // digit[0].led[13] const CD18 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(3.249, 0.394), rotate: 0, + translate: pt(2.698, 0.945), rotate: 0, id: 'CD18' }) // digit[1].led[0] @@ -417,92 +417,92 @@ const CD46 = board.add(LED_SK6812_EC15_1_5x1_5mm, { }) // digit[3].led[0] const CD47 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.580, 0.591), rotate: 0, + translate: pt(3.131, 0.039), rotate: 0, id: 'CD47' }) // digit[3].led[1] const CD48 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.698, 0.591), rotate: 0, + translate: pt(3.249, 0.039), rotate: 0, id: 'CD48' }) // digit[3].led[2] const CD49 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.816, 0.591), rotate: 0, + translate: pt(3.367, 0.039), rotate: 0, id: 'CD49' }) // digit[3].led[3] const CD50 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.934, 0.591), rotate: 0, + translate: pt(3.485, 0.039), rotate: 0, id: 'CD50' }) // digit[3].led[4] const CD51 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.580, 0.709), rotate: 0, + translate: pt(3.131, 0.157), rotate: 0, id: 'CD51' }) // digit[3].led[5] const CD52 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.698, 0.709), rotate: 0, + translate: pt(3.249, 0.157), rotate: 0, id: 'CD52' }) // digit[3].led[6] const CD53 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.816, 0.709), rotate: 0, + translate: pt(3.367, 0.157), rotate: 0, id: 'CD53' }) // digit[3].led[7] const CD54 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.934, 0.709), rotate: 0, + translate: pt(3.485, 0.157), rotate: 0, id: 'CD54' }) // digit[3].led[8] const CD55 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.580, 0.827), rotate: 0, + translate: pt(3.131, 0.276), rotate: 0, id: 'CD55' }) // digit[3].led[9] const CD56 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.698, 0.827), rotate: 0, + translate: pt(3.249, 0.276), rotate: 0, id: 'CD56' }) // digit[3].led[10] const CD57 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.816, 0.827), rotate: 0, + translate: pt(3.367, 0.276), rotate: 0, id: 'CD57' }) // digit[3].led[11] const CD58 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.934, 0.827), rotate: 0, + translate: pt(3.485, 0.276), rotate: 0, id: 'CD58' }) // digit[3].led[12] const CD59 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.580, 0.945), rotate: 0, + translate: pt(3.131, 0.394), rotate: 0, id: 'CD59' }) // digit[3].led[13] const CD60 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(2.698, 0.945), rotate: 0, + translate: pt(3.249, 0.394), rotate: 0, id: 'CD60' }) // center.led[0] const CD61 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(1.489, 1.780), rotate: 0, + translate: pt(1.686, 1.780), rotate: 0, id: 'CD61' }) // center.led[1] const CD62 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(1.489, 1.898), rotate: 0, + translate: pt(1.686, 1.898), rotate: 0, id: 'CD62' }) // meta.led[0] const CD63 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(1.686, 1.780), rotate: 0, + translate: pt(1.489, 1.780), rotate: 0, id: 'CD63' }) // meta.led[1] const CD64 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(1.686, 1.898), rotate: 0, + translate: pt(1.489, 1.898), rotate: 0, id: 'CD64' }) // spk_dac.rc.r @@ -517,7 +517,7 @@ const CC11 = board.add(C_0603_1608Metric, { }) // spk_tp.tp const CTP7 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.066, 2.130), rotate: 0, + translate: pt(2.310, 2.130), rotate: 0, id: 'CTP7' }) // spk_drv.ic diff --git a/examples/Simon/Simon.svgpcb.js b/examples/Simon/Simon.svgpcb.js index 4aeafafe1..2ffb1cf02 100644 --- a/examples/Simon/Simon.svgpcb.js +++ b/examples/Simon/Simon.svgpcb.js @@ -67,7 +67,7 @@ const SW1 = board.add(SW_Push_SPST_NO_Alps_SKRK, { }) // sw_pull.res const R6 = board.add(R_0603_1608Metric, { - translate: pt(0.828, 1.590), rotate: 0, + translate: pt(1.297, 1.590), rotate: 0, id: 'R6' }) // btn[0] @@ -77,7 +77,7 @@ const J2 = board.add(PinHeader_1x04_P2_54mm_Vertical, { }) // btn_pull[0].res const R7 = board.add(R_0603_1608Metric, { - translate: pt(1.062, 1.590), rotate: 0, + translate: pt(1.531, 1.590), rotate: 0, id: 'R7' }) // btn[1] @@ -87,7 +87,7 @@ const J3 = board.add(PinHeader_1x04_P2_54mm_Vertical, { }) // btn_pull[1].res const R8 = board.add(R_0603_1608Metric, { - translate: pt(2.508, 1.163), rotate: 0, + translate: pt(1.062, 1.590), rotate: 0, id: 'R8' }) // btn[2] @@ -97,7 +97,7 @@ const J4 = board.add(PinHeader_1x04_P2_54mm_Vertical, { }) // btn_pull[2].res const R9 = board.add(R_0603_1608Metric, { - translate: pt(1.297, 1.590), rotate: 0, + translate: pt(0.828, 1.590), rotate: 0, id: 'R9' }) // btn[3] @@ -107,7 +107,7 @@ const J5 = board.add(PinHeader_1x04_P2_54mm_Vertical, { }) // btn_pull[3].res const R10 = board.add(R_0603_1608Metric, { - translate: pt(1.531, 1.590), rotate: 0, + translate: pt(2.508, 1.163), rotate: 0, id: 'R10' }) // pwr.ic @@ -147,62 +147,62 @@ const D2 = board.add(D_SOD_323, { }) // btn_drv[0].pre const Q1 = board.add(SOT_23, { - translate: pt(1.400, 0.382), rotate: 0, + translate: pt(0.845, 0.382), rotate: 0, id: 'Q1' }) // btn_drv[0].pull const R13 = board.add(R_0603_1608Metric, { - translate: pt(1.573, 0.344), rotate: 0, + translate: pt(1.018, 0.344), rotate: 0, id: 'R13' }) // btn_drv[0].drv const Q2 = board.add(TO_252_2, { - translate: pt(1.576, 0.138), rotate: 0, + translate: pt(1.021, 0.138), rotate: 0, id: 'Q2' }) // btn_drv[1].pre const Q3 = board.add(SOT_23, { - translate: pt(0.845, 0.382), rotate: 0, + translate: pt(1.955, 0.382), rotate: 0, id: 'Q3' }) // btn_drv[1].pull const R14 = board.add(R_0603_1608Metric, { - translate: pt(1.018, 0.344), rotate: 0, + translate: pt(2.128, 0.344), rotate: 0, id: 'R14' }) // btn_drv[1].drv const Q4 = board.add(TO_252_2, { - translate: pt(1.021, 0.138), rotate: 0, + translate: pt(2.131, 0.138), rotate: 0, id: 'Q4' }) // btn_drv[2].pre const Q5 = board.add(SOT_23, { - translate: pt(0.845, 0.949), rotate: 0, + translate: pt(1.400, 0.382), rotate: 0, id: 'Q5' }) // btn_drv[2].pull const R15 = board.add(R_0603_1608Metric, { - translate: pt(1.018, 0.911), rotate: 0, + translate: pt(1.573, 0.344), rotate: 0, id: 'R15' }) // btn_drv[2].drv const Q6 = board.add(TO_252_2, { - translate: pt(1.021, 0.705), rotate: 0, + translate: pt(1.576, 0.138), rotate: 0, id: 'Q6' }) // btn_drv[3].pre const Q7 = board.add(SOT_23, { - translate: pt(1.955, 0.382), rotate: 0, + translate: pt(0.845, 0.949), rotate: 0, id: 'Q7' }) // btn_drv[3].pull const R16 = board.add(R_0603_1608Metric, { - translate: pt(2.128, 0.344), rotate: 0, + translate: pt(1.018, 0.911), rotate: 0, id: 'R16' }) // btn_drv[3].drv const Q8 = board.add(TO_252_2, { - translate: pt(2.131, 0.138), rotate: 0, + translate: pt(1.021, 0.705), rotate: 0, id: 'Q8' }) diff --git a/examples/SwdDebugger/SwdDebugger.svgpcb.js b/examples/SwdDebugger/SwdDebugger.svgpcb.js index e0e209da1..63240c381 100644 --- a/examples/SwdDebugger/SwdDebugger.svgpcb.js +++ b/examples/SwdDebugger/SwdDebugger.svgpcb.js @@ -37,32 +37,32 @@ const SD1 = board.add(D_SOD_323, { }) // usb_reg.ic const SU1 = board.add(SOT_23_5, { - translate: pt(0.537, 0.816), rotate: 0, + translate: pt(0.900, 0.816), rotate: 0, id: 'SU1' }) // usb_reg.in_cap.cap const SC1 = board.add(C_0402_1005Metric, { - translate: pt(0.666, 0.940), rotate: 0, + translate: pt(1.029, 0.940), rotate: 0, id: 'SC1' }) // usb_reg.out_cap.cap const SC2 = board.add(C_0805_2012Metric, { - translate: pt(0.524, 0.961), rotate: 0, + translate: pt(0.887, 0.961), rotate: 0, id: 'SC2' }) // target_reg.ic const SU2 = board.add(SOT_23_5, { - translate: pt(0.900, 0.816), rotate: 0, + translate: pt(0.537, 0.816), rotate: 0, id: 'SU2' }) // target_reg.in_cap.cap const SC3 = board.add(C_0402_1005Metric, { - translate: pt(1.029, 0.940), rotate: 0, + translate: pt(0.666, 0.940), rotate: 0, id: 'SC3' }) // target_reg.out_cap.cap const SC4 = board.add(C_0805_2012Metric, { - translate: pt(0.887, 0.961), rotate: 0, + translate: pt(0.524, 0.961), rotate: 0, id: 'SC4' }) // mcu.swd.conn @@ -122,27 +122,27 @@ const SU5 = board.add(SOT_23, { }) // led_tgt.package const SD2 = board.add(LED_0603_1608Metric, { - translate: pt(0.597, 1.187), rotate: 0, + translate: pt(0.362, 1.187), rotate: 0, id: 'SD2' }) // led_tgt.res const SR4 = board.add(R_0402_1005Metric, { - translate: pt(0.575, 1.274), rotate: 0, + translate: pt(0.341, 1.274), rotate: 0, id: 'SR4' }) // led_usb.package const SD3 = board.add(LED_0603_1608Metric, { - translate: pt(0.362, 1.187), rotate: 0, + translate: pt(0.832, 1.187), rotate: 0, id: 'SD3' }) // led_usb.res const SR5 = board.add(R_0402_1005Metric, { - translate: pt(0.341, 1.274), rotate: 0, + translate: pt(0.810, 1.274), rotate: 0, id: 'SR5' }) // en_pull.res const SR6 = board.add(R_0402_1005Metric, { - translate: pt(0.228, 1.485), rotate: 0, + translate: pt(0.037, 1.485), rotate: 0, id: 'SR6' }) // target_drv.swclk_res @@ -172,7 +172,7 @@ const SR11 = board.add(R_0402_1005Metric, { }) // reset_pull.res const SR12 = board.add(R_0402_1005Metric, { - translate: pt(0.037, 1.485), rotate: 0, + translate: pt(0.228, 1.485), rotate: 0, id: 'SR12' }) // reset_sw.package @@ -187,12 +187,12 @@ const SJ3 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { }) // led_target.package const SD4 = board.add(LED_0603_1608Metric, { - translate: pt(0.832, 1.187), rotate: 0, + translate: pt(0.597, 1.187), rotate: 0, id: 'SD4' }) // led_target.res const SR13 = board.add(R_0402_1005Metric, { - translate: pt(0.810, 1.274), rotate: 0, + translate: pt(0.575, 1.274), rotate: 0, id: 'SR13' }) // target_sense.div.top_res diff --git a/examples/TestBlinkyChain/TestBlinkyChain.svgpcb.js b/examples/TestBlinkyChain/TestBlinkyChain.svgpcb.js index ba2346d72..dfa785b93 100644 --- a/examples/TestBlinkyChain/TestBlinkyChain.svgpcb.js +++ b/examples/TestBlinkyChain/TestBlinkyChain.svgpcb.js @@ -112,22 +112,22 @@ const R5 = board.add(R_0603_1608Metric, { }) // led[1].package const D2 = board.add(LED_0603_1608Metric, { - translate: pt(1.058, 0.766), rotate: 0, + translate: pt(1.293, 0.766), rotate: 0, id: 'D2' }) // led[1].res const R6 = board.add(R_0603_1608Metric, { - translate: pt(1.057, 0.863), rotate: 0, + translate: pt(1.292, 0.863), rotate: 0, id: 'R6' }) // led[2].package const D3 = board.add(LED_0603_1608Metric, { - translate: pt(1.293, 0.766), rotate: 0, + translate: pt(1.058, 0.766), rotate: 0, id: 'D3' }) // led[2].res const R7 = board.add(R_0603_1608Metric, { - translate: pt(1.292, 0.863), rotate: 0, + translate: pt(1.057, 0.863), rotate: 0, id: 'R7' }) // led[3].package diff --git a/examples/TestBlinkyExpanded/TestBlinkyExpanded.svgpcb.js b/examples/TestBlinkyExpanded/TestBlinkyExpanded.svgpcb.js index ba2346d72..dfa785b93 100644 --- a/examples/TestBlinkyExpanded/TestBlinkyExpanded.svgpcb.js +++ b/examples/TestBlinkyExpanded/TestBlinkyExpanded.svgpcb.js @@ -112,22 +112,22 @@ const R5 = board.add(R_0603_1608Metric, { }) // led[1].package const D2 = board.add(LED_0603_1608Metric, { - translate: pt(1.058, 0.766), rotate: 0, + translate: pt(1.293, 0.766), rotate: 0, id: 'D2' }) // led[1].res const R6 = board.add(R_0603_1608Metric, { - translate: pt(1.057, 0.863), rotate: 0, + translate: pt(1.292, 0.863), rotate: 0, id: 'R6' }) // led[2].package const D3 = board.add(LED_0603_1608Metric, { - translate: pt(1.293, 0.766), rotate: 0, + translate: pt(1.058, 0.766), rotate: 0, id: 'D3' }) // led[2].res const R7 = board.add(R_0603_1608Metric, { - translate: pt(1.292, 0.863), rotate: 0, + translate: pt(1.057, 0.863), rotate: 0, id: 'R7' }) // led[3].package diff --git a/examples/TestBlinkyImplicit/TestBlinkyImplicit.svgpcb.js b/examples/TestBlinkyImplicit/TestBlinkyImplicit.svgpcb.js index ba2346d72..dfa785b93 100644 --- a/examples/TestBlinkyImplicit/TestBlinkyImplicit.svgpcb.js +++ b/examples/TestBlinkyImplicit/TestBlinkyImplicit.svgpcb.js @@ -112,22 +112,22 @@ const R5 = board.add(R_0603_1608Metric, { }) // led[1].package const D2 = board.add(LED_0603_1608Metric, { - translate: pt(1.058, 0.766), rotate: 0, + translate: pt(1.293, 0.766), rotate: 0, id: 'D2' }) // led[1].res const R6 = board.add(R_0603_1608Metric, { - translate: pt(1.057, 0.863), rotate: 0, + translate: pt(1.292, 0.863), rotate: 0, id: 'R6' }) // led[2].package const D3 = board.add(LED_0603_1608Metric, { - translate: pt(1.293, 0.766), rotate: 0, + translate: pt(1.058, 0.766), rotate: 0, id: 'D3' }) // led[2].res const R7 = board.add(R_0603_1608Metric, { - translate: pt(1.292, 0.863), rotate: 0, + translate: pt(1.057, 0.863), rotate: 0, id: 'R7' }) // led[3].package diff --git a/examples/TestBlinkyMicro/TestBlinkyMicro.svgpcb.js b/examples/TestBlinkyMicro/TestBlinkyMicro.svgpcb.js index d775eef75..7871860b4 100644 --- a/examples/TestBlinkyMicro/TestBlinkyMicro.svgpcb.js +++ b/examples/TestBlinkyMicro/TestBlinkyMicro.svgpcb.js @@ -107,22 +107,22 @@ const R6 = board.add(R_0603_1608Metric, { }) // led[1].package const D2 = board.add(LED_0603_1608Metric, { - translate: pt(1.096, 1.771), rotate: 0, + translate: pt(1.331, 1.771), rotate: 0, id: 'D2' }) // led[1].res const R7 = board.add(R_0603_1608Metric, { - translate: pt(1.096, 1.868), rotate: 0, + translate: pt(1.331, 1.868), rotate: 0, id: 'R7' }) // led[2].package const D3 = board.add(LED_0603_1608Metric, { - translate: pt(1.331, 1.771), rotate: 0, + translate: pt(1.096, 1.771), rotate: 0, id: 'D3' }) // led[2].res const R8 = board.add(R_0603_1608Metric, { - translate: pt(1.331, 1.868), rotate: 0, + translate: pt(1.096, 1.868), rotate: 0, id: 'R8' }) // led[3].package diff --git a/examples/TestBlinkyWithLibrary/TestBlinkyWithLibrary.svgpcb.js b/examples/TestBlinkyWithLibrary/TestBlinkyWithLibrary.svgpcb.js index ff85c0f1d..06ffc0eea 100644 --- a/examples/TestBlinkyWithLibrary/TestBlinkyWithLibrary.svgpcb.js +++ b/examples/TestBlinkyWithLibrary/TestBlinkyWithLibrary.svgpcb.js @@ -107,22 +107,22 @@ const R6 = board.add(R_0603_1608Metric, { }) // led[1].package const D2 = board.add(LED_0603_1608Metric, { - translate: pt(0.058, 1.771), rotate: 0, + translate: pt(0.293, 1.771), rotate: 0, id: 'D2' }) // led[1].res const R7 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 1.868), rotate: 0, + translate: pt(0.293, 1.868), rotate: 0, id: 'R7' }) // led[2].package const D3 = board.add(LED_0603_1608Metric, { - translate: pt(0.293, 1.771), rotate: 0, + translate: pt(0.058, 1.771), rotate: 0, id: 'D3' }) // led[2].res const R8 = board.add(R_0603_1608Metric, { - translate: pt(0.293, 1.868), rotate: 0, + translate: pt(0.058, 1.868), rotate: 0, id: 'R8' }) // led[3].package diff --git a/examples/TestBlinkyWithLibraryExport/TestBlinkyWithLibraryExport.svgpcb.js b/examples/TestBlinkyWithLibraryExport/TestBlinkyWithLibraryExport.svgpcb.js index ff85c0f1d..06ffc0eea 100644 --- a/examples/TestBlinkyWithLibraryExport/TestBlinkyWithLibraryExport.svgpcb.js +++ b/examples/TestBlinkyWithLibraryExport/TestBlinkyWithLibraryExport.svgpcb.js @@ -107,22 +107,22 @@ const R6 = board.add(R_0603_1608Metric, { }) // led[1].package const D2 = board.add(LED_0603_1608Metric, { - translate: pt(0.058, 1.771), rotate: 0, + translate: pt(0.293, 1.771), rotate: 0, id: 'D2' }) // led[1].res const R7 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 1.868), rotate: 0, + translate: pt(0.293, 1.868), rotate: 0, id: 'R7' }) // led[2].package const D3 = board.add(LED_0603_1608Metric, { - translate: pt(0.293, 1.771), rotate: 0, + translate: pt(0.058, 1.771), rotate: 0, id: 'D3' }) // led[2].res const R8 = board.add(R_0603_1608Metric, { - translate: pt(0.293, 1.868), rotate: 0, + translate: pt(0.058, 1.868), rotate: 0, id: 'R8' }) // led[3].package diff --git a/examples/TofArray/TofArray.svgpcb.js b/examples/TofArray/TofArray.svgpcb.js index 0f59f9efb..e7153e052 100644 --- a/examples/TofArray/TofArray.svgpcb.js +++ b/examples/TofArray/TofArray.svgpcb.js @@ -37,12 +37,12 @@ const J2 = board.add(Molex_SL_171971_0005_1x05_P2_54mm_Vertical, { }) // tp_vusb.tp const TP1 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(0.947, 1.735), rotate: 0, + translate: pt(2.172, 1.365), rotate: 0, id: 'TP1' }) // tp_gnd.tp const TP2 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(0.085, 1.735), rotate: 0, + translate: pt(0.659, 1.735), rotate: 0, id: 'TP2' }) // reg_3v3.ic @@ -62,7 +62,7 @@ const C2 = board.add(C_0805_2012Metric, { }) // tp_3v3.tp const TP3 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(0.659, 1.735), rotate: 0, + translate: pt(0.947, 1.735), rotate: 0, id: 'TP3' }) // prot_3v3.diode @@ -287,7 +287,7 @@ const U10 = board.add(SOT_23, { }) // tp_spk.tp const TP8 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(0.372, 1.735), rotate: 0, + translate: pt(0.085, 1.735), rotate: 0, id: 'TP8' }) // spk_dac.rc.r @@ -302,7 +302,7 @@ const C22 = board.add(C_0603_1608Metric, { }) // tp_spk_in.tp const TP9 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(2.172, 1.365), rotate: 0, + translate: pt(0.372, 1.735), rotate: 0, id: 'TP9' }) // spk_drv.ic diff --git a/examples/UsbFpgaProgrammer/UsbFpgaProgrammer.svgpcb.js b/examples/UsbFpgaProgrammer/UsbFpgaProgrammer.svgpcb.js index a31e51243..5244aec2a 100644 --- a/examples/UsbFpgaProgrammer/UsbFpgaProgrammer.svgpcb.js +++ b/examples/UsbFpgaProgrammer/UsbFpgaProgrammer.svgpcb.js @@ -152,32 +152,32 @@ const FU3 = board.add(SOT_23, { }) // led0.package const FD2 = board.add(LED_0603_1608Metric, { - translate: pt(0.985, 0.843), rotate: 0, + translate: pt(0.515, 0.843), rotate: 0, id: 'FD2' }) // led0.res const FR6 = board.add(R_0603_1608Metric, { - translate: pt(0.985, 0.940), rotate: 0, + translate: pt(0.515, 0.940), rotate: 0, id: 'FR6' }) // led1.package const FD3 = board.add(LED_0603_1608Metric, { - translate: pt(0.515, 0.843), rotate: 0, + translate: pt(0.750, 0.843), rotate: 0, id: 'FD3' }) // led1.res const FR7 = board.add(R_0603_1608Metric, { - translate: pt(0.515, 0.940), rotate: 0, + translate: pt(0.750, 0.940), rotate: 0, id: 'FR7' }) // led2.package const FD4 = board.add(LED_0603_1608Metric, { - translate: pt(0.750, 0.843), rotate: 0, + translate: pt(0.985, 0.843), rotate: 0, id: 'FD4' }) // led2.res const FR8 = board.add(R_0603_1608Metric, { - translate: pt(0.750, 0.940), rotate: 0, + translate: pt(0.985, 0.940), rotate: 0, id: 'FR8' }) // out.conn diff --git a/examples/UsbKey/UsbKey.svgpcb.js b/examples/UsbKey/UsbKey.svgpcb.js index 1dc02271f..999ebb268 100644 --- a/examples/UsbKey/UsbKey.svgpcb.js +++ b/examples/UsbKey/UsbKey.svgpcb.js @@ -62,12 +62,12 @@ const R3 = board.add(R_0402_1005Metric, { }) // ts1.res const R4 = board.add(R_0402_1005Metric, { - translate: pt(0.037, 0.845), rotate: 0, + translate: pt(0.922, 0.580), rotate: 0, id: 'R4' }) // ts2.res const R5 = board.add(R_0402_1005Metric, { - translate: pt(0.922, 0.580), rotate: 0, + translate: pt(0.037, 0.845), rotate: 0, id: 'R5' }) // tss.cap diff --git a/examples/UsbSourceMeasure/UsbSourceMeasure.svgpcb.js b/examples/UsbSourceMeasure/UsbSourceMeasure.svgpcb.js index 4c79421c9..e061c1cf1 100644 --- a/examples/UsbSourceMeasure/UsbSourceMeasure.svgpcb.js +++ b/examples/UsbSourceMeasure/UsbSourceMeasure.svgpcb.js @@ -22,7 +22,7 @@ const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { }) // tp_gnd.tp const TP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.506, 4.603), rotate: 0, + translate: pt(4.259, 4.603), rotate: 0, id: 'TP1' }) // filt_vusb.fb @@ -37,12 +37,12 @@ const C1 = board.add(CP_Elec_8x10, { }) // prot_vusb.diode const D1 = board.add(D_SMA, { - translate: pt(0.842, 4.635), rotate: 0, + translate: pt(1.630, 4.635), rotate: 0, id: 'D1' }) // tp_vusb.tp const TP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(4.008, 4.603), rotate: 0, + translate: pt(2.256, 4.603), rotate: 0, id: 'TP2' }) // reg_v5.ic @@ -92,7 +92,7 @@ const R3 = board.add(R_0603_1608Metric, { }) // tp_v5.tp const TP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.507, 4.603), rotate: 0, + translate: pt(3.758, 4.603), rotate: 0, id: 'TP3' }) // reg_3v3.ic @@ -112,12 +112,12 @@ const C7 = board.add(C_0805_2012Metric, { }) // prot_3v3.diode const D2 = board.add(D_SMA, { - translate: pt(1.630, 4.635), rotate: 0, + translate: pt(0.842, 4.635), rotate: 0, id: 'D2' }) // tp_3v3.tp const TP4 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.756, 4.603), rotate: 0, + translate: pt(4.509, 4.603), rotate: 0, id: 'TP4' }) // conv.power_path.inductor @@ -272,52 +272,52 @@ const D5 = board.add(D_SMA, { }) // tp_conv.tp const TP5 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.257, 4.603), rotate: 0, + translate: pt(3.507, 4.603), rotate: 0, id: 'TP5' }) // reg_v12.ic const U5 = board.add(SOT_23_5, { - translate: pt(4.904, 3.182), rotate: 0, + translate: pt(5.460, 3.182), rotate: 0, id: 'U5' }) // reg_v12.fb.div.top_res const R8 = board.add(R_0603_1608Metric, { - translate: pt(5.224, 3.317), rotate: 0, + translate: pt(5.781, 3.317), rotate: 0, id: 'R8' }) // reg_v12.fb.div.bottom_res const R9 = board.add(R_0603_1608Metric, { - translate: pt(4.881, 3.431), rotate: 0, + translate: pt(5.438, 3.431), rotate: 0, id: 'R9' }) // reg_v12.power_path.inductor const L3 = board.add(L_0805_2012Metric, { - translate: pt(5.058, 3.322), rotate: 0, + translate: pt(5.614, 3.322), rotate: 0, id: 'L3' }) // reg_v12.power_path.in_cap.cap const C24 = board.add(C_0805_2012Metric, { - translate: pt(5.091, 3.154), rotate: 0, + translate: pt(5.647, 3.154), rotate: 0, id: 'C24' }) // reg_v12.power_path.out_cap.cap const C25 = board.add(C_0603_1608Metric, { - translate: pt(5.037, 3.431), rotate: 0, + translate: pt(5.594, 3.431), rotate: 0, id: 'C25' }) // reg_v12.cf const C26 = board.add(C_0603_1608Metric, { - translate: pt(5.193, 3.431), rotate: 0, + translate: pt(5.750, 3.431), rotate: 0, id: 'C26' }) // reg_v12.rect const D6 = board.add(D_SOD_323, { - translate: pt(4.887, 3.326), rotate: 0, + translate: pt(5.443, 3.326), rotate: 0, id: 'D6' }) // tp_v12.tp const TP6 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(4.509, 4.603), rotate: 0, + translate: pt(3.007, 4.603), rotate: 0, id: 'TP6' }) // reg_analog.ic @@ -337,7 +337,7 @@ const C28 = board.add(C_1206_3216Metric, { }) // tp_analog.tp const TP7 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.758, 4.603), rotate: 0, + translate: pt(2.756, 4.603), rotate: 0, id: 'TP7' }) // reg_vref.ic @@ -352,17 +352,17 @@ const C29 = board.add(C_0603_1608Metric, { }) // tp_vref.tp const TP8 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.256, 4.603), rotate: 0, + translate: pt(4.008, 4.603), rotate: 0, id: 'TP8' }) // ref_div.div.top_res const R10 = board.add(R_0603_1608Metric, { - translate: pt(4.455, 4.213), rotate: 0, + translate: pt(5.394, 4.213), rotate: 0, id: 'R10' }) // ref_div.div.bottom_res const R11 = board.add(R_0603_1608Metric, { - translate: pt(4.455, 4.309), rotate: 0, + translate: pt(5.394, 4.309), rotate: 0, id: 'R11' }) // ref_cap @@ -372,47 +372,47 @@ const C30 = board.add(C_0603_1608Metric, { }) // reg_vcontrol.ic const U8 = board.add(SOT_23_5, { - translate: pt(5.481, 3.182), rotate: 0, + translate: pt(4.904, 3.182), rotate: 0, id: 'U8' }) // reg_vcontrol.fb.div.top_res const R12 = board.add(R_0603_1608Metric, { - translate: pt(5.625, 3.317), rotate: 0, + translate: pt(5.047, 3.317), rotate: 0, id: 'R12' }) // reg_vcontrol.fb.div.bottom_res const R13 = board.add(R_0603_1608Metric, { - translate: pt(5.781, 3.317), rotate: 0, + translate: pt(5.203, 3.317), rotate: 0, id: 'R13' }) // reg_vcontrol.power_path.inductor const L4 = board.add(L_0603_1608Metric, { - translate: pt(5.459, 3.431), rotate: 0, + translate: pt(4.881, 3.431), rotate: 0, id: 'L4' }) // reg_vcontrol.power_path.in_cap.cap const C31 = board.add(C_0603_1608Metric, { - translate: pt(5.615, 3.431), rotate: 0, + translate: pt(5.037, 3.431), rotate: 0, id: 'C31' }) // reg_vcontrol.power_path.out_cap.cap const C32 = board.add(C_0805_2012Metric, { - translate: pt(5.669, 3.154), rotate: 0, + translate: pt(5.091, 3.154), rotate: 0, id: 'C32' }) // reg_vcontrol.cf const C33 = board.add(C_0603_1608Metric, { - translate: pt(5.771, 3.431), rotate: 0, + translate: pt(5.193, 3.431), rotate: 0, id: 'C33' }) // reg_vcontrol.rect const D7 = board.add(D_SOD_323, { - translate: pt(5.464, 3.326), rotate: 0, + translate: pt(4.887, 3.326), rotate: 0, id: 'D7' }) // tp_vcontrol.tp const TP9 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(4.259, 4.603), rotate: 0, + translate: pt(3.257, 4.603), rotate: 0, id: 'TP9' }) // reg_vcontroln.ic @@ -437,7 +437,7 @@ const C36 = board.add(C_1206_3216Metric, { }) // tp_vcontroln.tp const TP10 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.007, 4.603), rotate: 0, + translate: pt(2.506, 4.603), rotate: 0, id: 'TP10' }) // control.dmeas.r1 @@ -762,12 +762,12 @@ const TP12 = board.add(TestPoint_TE_RCT_0805, { }) // i2c_pull.scl_res.res const R49 = board.add(R_0603_1608Metric, { - translate: pt(0.528, 4.594), rotate: 0, + translate: pt(0.058, 4.594), rotate: 0, id: 'R49' }) // i2c_pull.sda_res.res const R50 = board.add(R_0603_1608Metric, { - translate: pt(0.528, 4.691), rotate: 0, + translate: pt(0.058, 4.691), rotate: 0, id: 'R50' }) // oled.device.conn @@ -812,22 +812,22 @@ const C51 = board.add(C_0805_2012Metric, { }) // buck_rc.rc.r const R52 = board.add(R_0603_1608Metric, { - translate: pt(4.924, 4.213), rotate: 0, + translate: pt(5.863, 4.213), rotate: 0, id: 'R52' }) // buck_rc.rc.c const C52 = board.add(C_0603_1608Metric, { - translate: pt(4.924, 4.309), rotate: 0, + translate: pt(5.863, 4.309), rotate: 0, id: 'C52' }) // boost_rc.rc.r const R53 = board.add(R_0603_1608Metric, { - translate: pt(0.293, 4.594), rotate: 0, + translate: pt(5.628, 4.213), rotate: 0, id: 'R53' }) // boost_rc.rc.c const C53 = board.add(C_0603_1608Metric, { - translate: pt(0.293, 4.691), rotate: 0, + translate: pt(5.628, 4.309), rotate: 0, id: 'C53' }) // conv_comp.ic @@ -842,22 +842,22 @@ const C54 = board.add(C_0603_1608Metric, { }) // comp_ref.div.top_res const R54 = board.add(R_0603_1608Metric, { - translate: pt(4.690, 4.213), rotate: 0, + translate: pt(0.293, 4.594), rotate: 0, id: 'R54' }) // comp_ref.div.bottom_res const R55 = board.add(R_0603_1608Metric, { - translate: pt(4.690, 4.309), rotate: 0, + translate: pt(0.293, 4.691), rotate: 0, id: 'R55' }) // comp_sense.div.top_res const R56 = board.add(R_0603_1608Metric, { - translate: pt(5.863, 4.213), rotate: 0, + translate: pt(4.690, 4.213), rotate: 0, id: 'R56' }) // comp_sense.div.bottom_res const R57 = board.add(R_0603_1608Metric, { - translate: pt(5.863, 4.309), rotate: 0, + translate: pt(4.690, 4.309), rotate: 0, id: 'R57' }) // conv_latch.ic @@ -882,32 +882,32 @@ const R59 = board.add(R_0603_1608Metric, { }) // pass_temp.ic const U22 = board.add(SOT_563, { - translate: pt(3.220, 4.227), rotate: 0, + translate: pt(3.455, 4.227), rotate: 0, id: 'U22' }) // pass_temp.vdd_cap.cap const C56 = board.add(C_0603_1608Metric, { - translate: pt(3.225, 4.339), rotate: 0, + translate: pt(3.460, 4.339), rotate: 0, id: 'C56' }) // conv_temp.ic const U23 = board.add(SOT_563, { - translate: pt(3.455, 4.227), rotate: 0, + translate: pt(3.220, 4.227), rotate: 0, id: 'U23' }) // conv_temp.vdd_cap.cap const C57 = board.add(C_0603_1608Metric, { - translate: pt(3.460, 4.339), rotate: 0, + translate: pt(3.225, 4.339), rotate: 0, id: 'C57' }) // conv_sense.div.top_res const R60 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 4.594), rotate: 0, + translate: pt(4.455, 4.213), rotate: 0, id: 'R60' }) // conv_sense.div.bottom_res const R61 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 4.691), rotate: 0, + translate: pt(4.455, 4.309), rotate: 0, id: 'R61' }) // ioe.ic @@ -1032,32 +1032,32 @@ const FB2 = board.add(L_0603_1608Metric, { }) // tp_cv.conn const J7 = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { - translate: pt(5.970, 3.824), rotate: 0, + translate: pt(5.396, 3.824), rotate: 0, id: 'J7' }) // tp_cv.res const R68 = board.add(R_0603_1608Metric, { - translate: pt(5.949, 3.990), rotate: 0, + translate: pt(5.374, 3.990), rotate: 0, id: 'R68' }) // tp_cisrc.conn const J8 = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { - translate: pt(4.533, 3.824), rotate: 0, + translate: pt(5.108, 3.824), rotate: 0, id: 'J8' }) // tp_cisrc.res const R69 = board.add(R_0603_1608Metric, { - translate: pt(4.512, 3.990), rotate: 0, + translate: pt(5.087, 3.990), rotate: 0, id: 'R69' }) // tp_cisnk.conn const J9 = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { - translate: pt(5.396, 3.824), rotate: 0, + translate: pt(4.533, 3.824), rotate: 0, id: 'J9' }) // tp_cisnk.res const R70 = board.add(R_0603_1608Metric, { - translate: pt(5.374, 3.990), rotate: 0, + translate: pt(4.512, 3.990), rotate: 0, id: 'R70' }) // adc.ic @@ -1102,12 +1102,12 @@ const C68 = board.add(C_0805_2012Metric, { }) // tp_vcen.conn const J10 = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { - translate: pt(5.108, 3.824), rotate: 0, + translate: pt(5.683, 3.824), rotate: 0, id: 'J10' }) // tp_vcen.res const R73 = board.add(R_0603_1608Metric, { - translate: pt(5.087, 3.990), rotate: 0, + translate: pt(5.662, 3.990), rotate: 0, id: 'R73' }) // vcen_rc.rc.r @@ -1122,42 +1122,42 @@ const C69 = board.add(C_0603_1608Metric, { }) // tp_mi.conn const J11 = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { - translate: pt(5.683, 3.824), rotate: 0, + translate: pt(4.821, 3.824), rotate: 0, id: 'J11' }) // tp_mi.res const R75 = board.add(R_0603_1608Metric, { - translate: pt(5.662, 3.990), rotate: 0, + translate: pt(4.800, 3.990), rotate: 0, id: 'R75' }) // mi_rc.rc.r const R76 = board.add(R_0603_1608Metric, { - translate: pt(5.394, 4.213), rotate: 0, + translate: pt(4.924, 4.213), rotate: 0, id: 'R76' }) // mi_rc.rc.c const C70 = board.add(C_0603_1608Metric, { - translate: pt(5.394, 4.309), rotate: 0, + translate: pt(4.924, 4.309), rotate: 0, id: 'C70' }) // tp_mv.conn const J12 = board.add(U_FL_Hirose_U_FL_R_SMT_1_Vertical, { - translate: pt(4.821, 3.824), rotate: 0, + translate: pt(5.970, 3.824), rotate: 0, id: 'J12' }) // tp_mv.res const R77 = board.add(R_0603_1608Metric, { - translate: pt(4.800, 3.990), rotate: 0, + translate: pt(5.949, 3.990), rotate: 0, id: 'R77' }) // mv_rc.rc.r const R78 = board.add(R_0603_1608Metric, { - translate: pt(5.628, 4.213), rotate: 0, + translate: pt(0.528, 4.594), rotate: 0, id: 'R78' }) // mv_rc.rc.c const C71 = board.add(C_0603_1608Metric, { - translate: pt(5.628, 4.309), rotate: 0, + translate: pt(0.528, 4.691), rotate: 0, id: 'C71' }) // outn @@ -1177,52 +1177,52 @@ const J15 = board.add(PinHeader_1x02_P2_54mm_Horizontal, { }) // vimeas_amps.ic const U28 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(1.296, 3.831), rotate: 0, + translate: pt(1.706, 3.831), rotate: 0, id: 'U28' }) // vimeas_amps.vdd_cap.cap const C72 = board.add(C_0805_2012Metric, { - translate: pt(1.218, 4.016), rotate: 0, + translate: pt(1.627, 4.016), rotate: 0, id: 'C72' }) // ampdmeas_amps.ic const U29 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(1.706, 3.831), rotate: 0, + translate: pt(1.296, 3.831), rotate: 0, id: 'U29' }) // ampdmeas_amps.vdd_cap.cap const C73 = board.add(C_0805_2012Metric, { - translate: pt(1.627, 4.016), rotate: 0, + translate: pt(1.218, 4.016), rotate: 0, id: 'C73' }) // cd_amps.ic const U30 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(3.765, 3.831), rotate: 0, + translate: pt(2.537, 3.831), rotate: 0, id: 'U30' }) // cd_amps.vdd_cap.cap const C74 = board.add(C_0603_1608Metric, { - translate: pt(3.678, 4.006), rotate: 0, + translate: pt(2.449, 4.006), rotate: 0, id: 'C74' }) // cv_amps.ic const U31 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(2.537, 3.831), rotate: 0, + translate: pt(2.946, 3.831), rotate: 0, id: 'U31' }) // cv_amps.vdd_cap.cap const C75 = board.add(C_0603_1608Metric, { - translate: pt(2.449, 4.006), rotate: 0, + translate: pt(2.859, 4.006), rotate: 0, id: 'C75' }) // ci_amps.ic const U32 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(2.946, 3.831), rotate: 0, + translate: pt(3.765, 3.831), rotate: 0, id: 'U32' }) // ci_amps.vdd_cap.cap const C76 = board.add(C_0603_1608Metric, { - translate: pt(2.859, 4.006), rotate: 0, + translate: pt(3.678, 4.006), rotate: 0, id: 'C76' }) // cintref_amps.ic From 7cbbb1f6b60b0df2787e26c4e9c65387caec3453 Mon Sep 17 00:00:00 2001 From: Richard Lin Date: Tue, 24 Jun 2025 22:53:37 -0700 Subject: [PATCH 18/19] wip --- edg/electronics_model/SvgPcbBackend.py | 12 +- .../BldcController/BldcController.svgpcb.js | 88 +- examples/CanAdapter/CanAdapter.svgpcb.js | 16 +- examples/Datalogger/Datalogger.svgpcb.js | 42 +- .../DeskController/DeskController.svgpcb.js | 32 +- examples/EspLora/EspLora.net | 1665 ------- examples/EspLora/EspLora.svgpcb.js | 647 --- .../EspProgrammer/EspProgrammer.svgpcb.js | 8 +- examples/Fcml/Fcml.net | 2745 ------------ examples/Fcml/Fcml.svgpcb.js | 1030 ----- examples/HighSwitch/HighSwitch.net | 1426 ------ examples/HighSwitch/HighSwitch.svgpcb.js | 562 --- examples/IotDisplay/IotDisplay.net | 1176 ----- examples/IotDisplay/IotDisplay.svgpcb.js | 478 -- examples/IotFan/IotFan.net | 1191 ----- examples/IotFan/IotFan.svgpcb.js | 473 -- examples/IotIron/IotIron.net | 1489 ------- examples/IotIron/IotIron.svgpcb.js | 575 --- examples/IotKnob/IotKnob.net | 1662 ------- examples/IotKnob/IotKnob.svgpcb.js | 799 ---- examples/IotLedDriver/IotLedDriver.net | 1157 ----- examples/IotLedDriver/IotLedDriver.svgpcb.js | 463 -- .../IotThermalCamera/IotThermalCamera.net | 885 ---- .../IotThermalCamera.svgpcb.js | 356 -- examples/JacdacKeyswitch/JacdacKeyswitch.net | 548 --- .../JacdacKeyswitch/JacdacKeyswitch.svgpcb.js | 250 -- examples/Keyboard/Keyboard.net | 492 --- examples/Keyboard/Keyboard.svgpcb.js | 230 - examples/LedMatrix/LedMatrix.net | 834 ---- examples/LedMatrix/LedMatrix.svgpcb.js | 306 -- examples/Multimeter/Multimeter.net | 1721 -------- examples/Multimeter/Multimeter.svgpcb.js | 670 --- examples/PcbBot/PcbBot.net | 1775 -------- examples/PcbBot/PcbBot.svgpcb.js | 674 --- examples/PicoProbe/PicoProbe.net | 687 --- examples/PicoProbe/PicoProbe.svgpcb.js | 289 -- .../ProtectedCharger/ProtectedCharger.net | 323 -- .../ProtectedCharger.svgpcb.js | 163 - examples/RobotCrawler/RobotCrawler.net | 1897 -------- examples/RobotCrawler/RobotCrawler.svgpcb.js | 713 --- examples/RobotDriver/RobotDriver.net | 1364 ------ examples/RobotDriver/RobotDriver.svgpcb.js | 538 --- examples/RobotOwl/RobotOwl.net | 771 ---- examples/RobotOwl/RobotOwl.svgpcb.js | 319 -- examples/SevenSegment/SevenSegment.net | 1840 -------- examples/SevenSegment/SevenSegment.svgpcb.js | 706 --- examples/Simon/Simon.net | 655 --- examples/Simon/Simon.svgpcb.js | 285 -- examples/SwdDebugger/SwdDebugger.net | 662 --- examples/SwdDebugger/SwdDebugger.svgpcb.js | 282 -- .../TestBlinkyChain/TestBlinkyChain.svgpcb.js | 8 +- .../TestBlinkyExpanded.svgpcb.js | 8 +- .../TestBlinkyImplicit.svgpcb.js | 8 +- .../TestBlinkyMicro/TestBlinkyMicro.svgpcb.js | 8 +- .../TestBlinkyWithLibrary.svgpcb.js | 8 +- .../TestBlinkyWithLibraryExport.svgpcb.js | 8 +- examples/TofArray/TofArray.net | 1185 ----- examples/TofArray/TofArray.svgpcb.js | 461 -- .../UsbFpgaProgrammer/UsbFpgaProgrammer.net | 630 --- .../UsbFpgaProgrammer.svgpcb.js | 271 -- examples/UsbKey/UsbKey.net | 285 -- examples/UsbKey/UsbKey.svgpcb.js | 151 - .../UsbSourceMeasure/UsbSourceMeasure.net | 3843 ----------------- .../UsbSourceMeasure.svgpcb.js | 1438 ------ examples/UsbUart/UsbUart.net | 303 -- examples/UsbUart/UsbUart.svgpcb.js | 154 - 66 files changed, 125 insertions(+), 46615 deletions(-) delete mode 100644 examples/EspLora/EspLora.net delete mode 100644 examples/EspLora/EspLora.svgpcb.js delete mode 100644 examples/Fcml/Fcml.net delete mode 100644 examples/Fcml/Fcml.svgpcb.js delete mode 100644 examples/HighSwitch/HighSwitch.net delete mode 100644 examples/HighSwitch/HighSwitch.svgpcb.js delete mode 100644 examples/IotDisplay/IotDisplay.net delete mode 100644 examples/IotDisplay/IotDisplay.svgpcb.js delete mode 100644 examples/IotFan/IotFan.net delete mode 100644 examples/IotFan/IotFan.svgpcb.js delete mode 100644 examples/IotIron/IotIron.net delete mode 100644 examples/IotIron/IotIron.svgpcb.js delete mode 100644 examples/IotKnob/IotKnob.net delete mode 100644 examples/IotKnob/IotKnob.svgpcb.js delete mode 100644 examples/IotLedDriver/IotLedDriver.net delete mode 100644 examples/IotLedDriver/IotLedDriver.svgpcb.js delete mode 100644 examples/IotThermalCamera/IotThermalCamera.net delete mode 100644 examples/IotThermalCamera/IotThermalCamera.svgpcb.js delete mode 100644 examples/JacdacKeyswitch/JacdacKeyswitch.net delete mode 100644 examples/JacdacKeyswitch/JacdacKeyswitch.svgpcb.js delete mode 100644 examples/Keyboard/Keyboard.net delete mode 100644 examples/Keyboard/Keyboard.svgpcb.js delete mode 100644 examples/LedMatrix/LedMatrix.net delete mode 100644 examples/LedMatrix/LedMatrix.svgpcb.js delete mode 100644 examples/Multimeter/Multimeter.net delete mode 100644 examples/Multimeter/Multimeter.svgpcb.js delete mode 100644 examples/PcbBot/PcbBot.net delete mode 100644 examples/PcbBot/PcbBot.svgpcb.js delete mode 100644 examples/PicoProbe/PicoProbe.net delete mode 100644 examples/PicoProbe/PicoProbe.svgpcb.js delete mode 100644 examples/ProtectedCharger/ProtectedCharger.net delete mode 100644 examples/ProtectedCharger/ProtectedCharger.svgpcb.js delete mode 100644 examples/RobotCrawler/RobotCrawler.net delete mode 100644 examples/RobotCrawler/RobotCrawler.svgpcb.js delete mode 100644 examples/RobotDriver/RobotDriver.net delete mode 100644 examples/RobotDriver/RobotDriver.svgpcb.js delete mode 100644 examples/RobotOwl/RobotOwl.net delete mode 100644 examples/RobotOwl/RobotOwl.svgpcb.js delete mode 100644 examples/SevenSegment/SevenSegment.net delete mode 100644 examples/SevenSegment/SevenSegment.svgpcb.js delete mode 100644 examples/Simon/Simon.net delete mode 100644 examples/Simon/Simon.svgpcb.js delete mode 100644 examples/SwdDebugger/SwdDebugger.net delete mode 100644 examples/SwdDebugger/SwdDebugger.svgpcb.js delete mode 100644 examples/TofArray/TofArray.net delete mode 100644 examples/TofArray/TofArray.svgpcb.js delete mode 100644 examples/UsbFpgaProgrammer/UsbFpgaProgrammer.net delete mode 100644 examples/UsbFpgaProgrammer/UsbFpgaProgrammer.svgpcb.js delete mode 100644 examples/UsbKey/UsbKey.net delete mode 100644 examples/UsbKey/UsbKey.svgpcb.js delete mode 100644 examples/UsbSourceMeasure/UsbSourceMeasure.net delete mode 100644 examples/UsbSourceMeasure/UsbSourceMeasure.svgpcb.js delete mode 100644 examples/UsbUart/UsbUart.net delete mode 100644 examples/UsbUart/UsbUart.svgpcb.js diff --git a/edg/electronics_model/SvgPcbBackend.py b/edg/electronics_model/SvgPcbBackend.py index defd16c72..54f24aa0d 100644 --- a/edg/electronics_model/SvgPcbBackend.py +++ b/edg/electronics_model/SvgPcbBackend.py @@ -30,7 +30,7 @@ def arrange_blocks(blocks: List[NetBlock], BLOCK_BORDER = 2 # mm # create list of blocks by path - block_subblocks: Dict[Tuple[str, ...], Set[str]] = {} + block_subblocks: Dict[Tuple[str, ...], List[str]] = {} # list to maintain sortedness block_footprints: Dict[Tuple[str, ...], List[Union[NetBlock, BlackBoxBlock]]] = {} # for here, we only group one level deep @@ -38,13 +38,17 @@ def arrange_blocks(blocks: List[NetBlock], containing_path = block.full_path.blocks[0:min(len(block.full_path.blocks) - 1, 1)] block_footprints.setdefault(containing_path, []).append(block) for i in range(len(containing_path)): - block_subblocks.setdefault(tuple(containing_path[:i]), set()).add(containing_path[i]) + subblocks_list = block_subblocks.setdefault(tuple(containing_path[:i]), list()) + if containing_path[i] not in subblocks_list: + subblocks_list.append(containing_path[i]) for blackbox in additional_blocks: containing_path = blackbox.path.blocks[0:min(len(blackbox.path.blocks) - 1, 1)] block_footprints.setdefault(containing_path, []).append(blackbox) for i in range(len(containing_path)): - block_subblocks.setdefault(tuple(containing_path[:i]), set()).add(containing_path[i]) + subblocks_list = block_subblocks.setdefault(tuple(containing_path[:i]), list()) + if containing_path[i] not in subblocks_list: + subblocks_list.append(containing_path[i]) def arrange_hierarchy(root: Tuple[str, ...]) -> PlacedBlock: """Recursively arranges the immediate components of a hierarchy, treating each element @@ -53,7 +57,7 @@ def arrange_hierarchy(root: Tuple[str, ...]) -> PlacedBlock: ASPECT_RATIO = 16 / 9 sub_placed: List[Tuple[float, float, Union[PlacedBlock, NetBlock, BlackBoxBlock]]] = [] # (width, height, entry) - for subblock in block_subblocks.get(root, set()): + for subblock in block_subblocks.get(root, list()): subplaced = arrange_hierarchy(root + (subblock,)) sub_placed.append((subplaced.width + BLOCK_BORDER, subplaced.height + BLOCK_BORDER, subplaced)) diff --git a/examples/BldcController/BldcController.svgpcb.js b/examples/BldcController/BldcController.svgpcb.js index 21804a71f..87b1d95a2 100644 --- a/examples/BldcController/BldcController.svgpcb.js +++ b/examples/BldcController/BldcController.svgpcb.js @@ -2,27 +2,27 @@ const board = new PCB(); // jlc_th.th1 const H1 = board.add(JlcToolingHole_1_152mm, { - translate: pt(0.735, 1.763), rotate: 0, + translate: pt(0.485, 1.763), rotate: 0, id: 'H1' }) // jlc_th.th2 const H2 = board.add(JlcToolingHole_1_152mm, { - translate: pt(0.775, 1.763), rotate: 0, + translate: pt(0.524, 1.763), rotate: 0, id: 'H2' }) // jlc_th.th3 const H3 = board.add(JlcToolingHole_1_152mm, { - translate: pt(0.735, 1.803), rotate: 0, + translate: pt(0.485, 1.803), rotate: 0, id: 'H3' }) // mcu const U1 = board.add(FEATHERWING_NODIM, { - translate: pt(0.893, 1.763), rotate: 0, + translate: pt(0.643, 1.763), rotate: 0, id: 'U1' }) // motor_pwr.conn const J1 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(1.738, 1.286), rotate: 0, + translate: pt(2.135, 0.937), rotate: 0, id: 'J1' }) // sw1.package @@ -32,52 +32,52 @@ const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { }) // ledr.package const D1 = board.add(LED_0603_1608Metric, { - translate: pt(0.058, 1.519), rotate: 0, + translate: pt(1.951, 1.185), rotate: 0, id: 'D1' }) // ledr.res const R1 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 1.617), rotate: 0, + translate: pt(1.950, 1.282), rotate: 0, id: 'R1' }) // ledg.package const D2 = board.add(LED_0603_1608Metric, { - translate: pt(0.293, 1.519), rotate: 0, + translate: pt(2.185, 1.185), rotate: 0, id: 'D2' }) // ledg.res const R2 = board.add(R_0603_1608Metric, { - translate: pt(0.293, 1.617), rotate: 0, + translate: pt(2.185, 1.282), rotate: 0, id: 'R2' }) // ledb.package const D3 = board.add(LED_0603_1608Metric, { - translate: pt(2.340, 1.185), rotate: 0, + translate: pt(0.058, 1.519), rotate: 0, id: 'D3' }) // ledb.res const R3 = board.add(R_0603_1608Metric, { - translate: pt(2.340, 1.282), rotate: 0, + translate: pt(0.058, 1.617), rotate: 0, id: 'R3' }) // i2c_pull.scl_res.res const R4 = board.add(R_0603_1608Metric, { - translate: pt(0.763, 1.519), rotate: 0, + translate: pt(0.293, 1.519), rotate: 0, id: 'R4' }) // i2c_pull.sda_res.res const R5 = board.add(R_0603_1608Metric, { - translate: pt(0.763, 1.616), rotate: 0, + translate: pt(0.293, 1.616), rotate: 0, id: 'R5' }) // i2c_tp.tp_scl.tp const TP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.098, 1.193), rotate: 0, + translate: pt(1.708, 1.193), rotate: 0, id: 'TP1' }) // i2c_tp.tp_sda.tp const TP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.098, 1.307), rotate: 0, + translate: pt(1.708, 1.307), rotate: 0, id: 'TP2' }) // i2c.conn @@ -97,17 +97,17 @@ const R7 = board.add(R_0603_1608Metric, { }) // ref_buf.amp.ic const U2 = board.add(SOT_23_5, { - translate: pt(0.516, 0.874), rotate: 0, + translate: pt(0.081, 0.874), rotate: 0, id: 'U2' }) // ref_buf.amp.vdd_cap.cap const C1 = board.add(C_0603_1608Metric, { - translate: pt(0.494, 1.009), rotate: 0, + translate: pt(0.058, 1.009), rotate: 0, id: 'C1' }) // ref_tp.tp const TP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.741, 1.528), rotate: 0, + translate: pt(1.005, 1.528), rotate: 0, id: 'TP3' }) // hall.conn @@ -132,32 +132,32 @@ const R10 = board.add(R_0603_1608Metric, { }) // hall_tp.tp[u].tp const TP4 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.134, 0.037), rotate: 0, + translate: pt(1.633, 0.037), rotate: 0, id: 'TP4' }) // hall_tp.tp[v].tp const TP5 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.134, 0.152), rotate: 0, + translate: pt(1.633, 0.152), rotate: 0, id: 'TP5' }) // hall_tp.tp[w].tp const TP6 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.134, 0.266), rotate: 0, + translate: pt(1.633, 0.266), rotate: 0, id: 'TP6' }) // vsense.div.top_res const R11 = board.add(R_0603_1608Metric, { - translate: pt(0.997, 1.519), rotate: 0, + translate: pt(0.762, 1.519), rotate: 0, id: 'R11' }) // vsense.div.bottom_res const R12 = board.add(R_0603_1608Metric, { - translate: pt(0.997, 1.616), rotate: 0, + translate: pt(0.762, 1.616), rotate: 0, id: 'R12' }) // vsense_tp.tp const TP7 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.490, 1.528), rotate: 0, + translate: pt(1.255, 1.528), rotate: 0, id: 'TP7' }) // isense.sense.res.res @@ -197,12 +197,12 @@ const R17 = board.add(R_0603_1608Metric, { }) // isense_tp.tp const TP8 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.991, 1.528), rotate: 0, + translate: pt(1.506, 1.528), rotate: 0, id: 'TP8' }) // isense_clamp.res const R18 = board.add(R_0603_1608Metric, { - translate: pt(0.559, 1.792), rotate: 0, + translate: pt(0.309, 1.792), rotate: 0, id: 'R18' }) // bldc_drv.ic @@ -257,37 +257,37 @@ const R21 = board.add(R_2512_6332Metric, { }) // bldc_fault_tp.tp const TP9 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.066, 1.801), rotate: 0, + translate: pt(1.756, 1.528), rotate: 0, id: 'TP9' }) // bldc_en_tp.tp[1].tp const TP10 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.633, 0.037), rotate: 0, + translate: pt(1.883, 0.037), rotate: 0, id: 'TP10' }) // bldc_en_tp.tp[2].tp const TP11 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.633, 0.152), rotate: 0, + translate: pt(1.883, 0.152), rotate: 0, id: 'TP11' }) // bldc_en_tp.tp[3].tp const TP12 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.633, 0.266), rotate: 0, + translate: pt(1.883, 0.266), rotate: 0, id: 'TP12' }) // bldc_in_tp.tp[1].tp const TP13 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.883, 0.037), rotate: 0, + translate: pt(2.134, 0.037), rotate: 0, id: 'TP13' }) // bldc_in_tp.tp[2].tp const TP14 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.883, 0.152), rotate: 0, + translate: pt(2.134, 0.152), rotate: 0, id: 'TP14' }) // bldc_in_tp.tp[3].tp const TP15 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.883, 0.266), rotate: 0, + translate: pt(2.134, 0.266), rotate: 0, id: 'TP15' }) // bldc.conn @@ -297,52 +297,52 @@ const J4 = board.add(JST_PH_B3B_PH_K_1x03_P2_00mm_Vertical, { }) // curr_amp[1].amp.ic const U5 = board.add(SOT_23_5, { - translate: pt(0.796, 0.874), rotate: 0, + translate: pt(0.360, 0.874), rotate: 0, id: 'U5' }) // curr_amp[1].amp.vdd_cap.cap const C9 = board.add(C_0603_1608Metric, { - translate: pt(0.974, 0.836), rotate: 0, + translate: pt(0.539, 0.836), rotate: 0, id: 'C9' }) // curr_amp[1].r1 const R22 = board.add(R_0603_1608Metric, { - translate: pt(0.773, 1.009), rotate: 0, + translate: pt(0.338, 1.009), rotate: 0, id: 'R22' }) // curr_amp[1].r2 const R23 = board.add(R_0603_1608Metric, { - translate: pt(0.929, 1.009), rotate: 0, + translate: pt(0.494, 1.009), rotate: 0, id: 'R23' }) // curr_tp[1].tp const TP16 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.241, 1.528), rotate: 0, + translate: pt(2.006, 1.528), rotate: 0, id: 'TP16' }) // curr_amp[2].amp.ic const U6 = board.add(SOT_23_5, { - translate: pt(0.081, 0.874), rotate: 0, + translate: pt(0.796, 0.874), rotate: 0, id: 'U6' }) // curr_amp[2].amp.vdd_cap.cap const C10 = board.add(C_0603_1608Metric, { - translate: pt(0.259, 0.836), rotate: 0, + translate: pt(0.974, 0.836), rotate: 0, id: 'C10' }) // curr_amp[2].r1 const R24 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 1.009), rotate: 0, + translate: pt(0.773, 1.009), rotate: 0, id: 'R24' }) // curr_amp[2].r2 const R25 = board.add(R_0603_1608Metric, { - translate: pt(0.214, 1.009), rotate: 0, + translate: pt(0.929, 1.009), rotate: 0, id: 'R25' }) // curr_tp[2].tp const TP17 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.317, 1.801), rotate: 0, + translate: pt(2.257, 1.528), rotate: 0, id: 'TP17' }) // curr_amp[3].amp.ic @@ -367,7 +367,7 @@ const R27 = board.add(R_0603_1608Metric, { }) // curr_tp[3].tp const TP18 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.240, 1.528), rotate: 0, + translate: pt(0.066, 1.801), rotate: 0, id: 'TP18' }) diff --git a/examples/CanAdapter/CanAdapter.svgpcb.js b/examples/CanAdapter/CanAdapter.svgpcb.js index afb1d3ee7..e4fd0d6ef 100644 --- a/examples/CanAdapter/CanAdapter.svgpcb.js +++ b/examples/CanAdapter/CanAdapter.svgpcb.js @@ -172,42 +172,42 @@ const C19 = board.add(C_0603_1608Metric, { }) // rgb_usb.package const D1 = board.add(LED_LiteOn_LTST_C19HE1WT, { - translate: pt(0.432, 1.512), rotate: 0, + translate: pt(0.041, 1.512), rotate: 0, id: 'D1' }) // rgb_usb.red_res const R6 = board.add(R_0603_1608Metric, { - translate: pt(0.571, 1.486), rotate: 0, + translate: pt(0.180, 1.486), rotate: 0, id: 'R6' }) // rgb_usb.green_res const R7 = board.add(R_0603_1608Metric, { - translate: pt(0.449, 1.635), rotate: 0, + translate: pt(0.058, 1.635), rotate: 0, id: 'R7' }) // rgb_usb.blue_res const R8 = board.add(R_0603_1608Metric, { - translate: pt(0.605, 1.635), rotate: 0, + translate: pt(0.214, 1.635), rotate: 0, id: 'R8' }) // rgb_can.package const D2 = board.add(LED_LiteOn_LTST_C19HE1WT, { - translate: pt(0.041, 1.512), rotate: 0, + translate: pt(0.432, 1.512), rotate: 0, id: 'D2' }) // rgb_can.red_res const R9 = board.add(R_0603_1608Metric, { - translate: pt(0.180, 1.486), rotate: 0, + translate: pt(0.571, 1.486), rotate: 0, id: 'R9' }) // rgb_can.green_res const R10 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 1.635), rotate: 0, + translate: pt(0.449, 1.635), rotate: 0, id: 'R10' }) // rgb_can.blue_res const R11 = board.add(R_0603_1608Metric, { - translate: pt(0.214, 1.635), rotate: 0, + translate: pt(0.605, 1.635), rotate: 0, id: 'R11' }) // can diff --git a/examples/Datalogger/Datalogger.svgpcb.js b/examples/Datalogger/Datalogger.svgpcb.js index 0ecbc0b52..1563a475a 100644 --- a/examples/Datalogger/Datalogger.svgpcb.js +++ b/examples/Datalogger/Datalogger.svgpcb.js @@ -272,17 +272,17 @@ const R10 = board.add(R_0603_1608Metric, { }) // xbee.ic const U9 = board.add(XBEE, { - translate: pt(1.641, 2.453), rotate: 0, + translate: pt(1.172, 2.453), rotate: 0, id: 'U9' }) // xbee.vdd_cap_0.cap const C27 = board.add(C_0603_1608Metric, { - translate: pt(1.544, 2.385), rotate: 0, + translate: pt(1.074, 2.385), rotate: 0, id: 'C27' }) // xbee.vdd_cap_1.cap const C28 = board.add(C_0603_1608Metric, { - translate: pt(1.544, 2.482), rotate: 0, + translate: pt(1.074, 2.482), rotate: 0, id: 'C28' }) // xbee_assoc.package @@ -422,62 +422,62 @@ const U12 = board.add(PinHeader_1x06_P2_54mm_Vertical, { }) // rgb1.package const D6 = board.add(LED_LiteOn_LTST_C19HE1WT, { - translate: pt(0.041, 2.411), rotate: 0, + translate: pt(3.258, 1.758), rotate: 0, id: 'D6' }) // rgb1.red_res const R14 = board.add(R_0603_1608Metric, { - translate: pt(0.180, 2.385), rotate: 0, + translate: pt(3.397, 1.731), rotate: 0, id: 'R14' }) // rgb1.green_res const R15 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 2.535), rotate: 0, + translate: pt(3.275, 1.881), rotate: 0, id: 'R15' }) // rgb1.blue_res const R16 = board.add(R_0603_1608Metric, { - translate: pt(0.214, 2.535), rotate: 0, + translate: pt(3.431, 1.881), rotate: 0, id: 'R16' }) // rgb2.package const D7 = board.add(LED_LiteOn_LTST_C19HE1WT, { - translate: pt(0.432, 2.411), rotate: 0, + translate: pt(0.041, 2.411), rotate: 0, id: 'D7' }) // rgb2.red_res const R17 = board.add(R_0603_1608Metric, { - translate: pt(0.571, 2.385), rotate: 0, + translate: pt(0.180, 2.385), rotate: 0, id: 'R17' }) // rgb2.green_res const R18 = board.add(R_0603_1608Metric, { - translate: pt(0.449, 2.535), rotate: 0, + translate: pt(0.058, 2.535), rotate: 0, id: 'R18' }) // rgb2.blue_res const R19 = board.add(R_0603_1608Metric, { - translate: pt(0.605, 2.535), rotate: 0, + translate: pt(0.214, 2.535), rotate: 0, id: 'R19' }) // rgb3.package const D8 = board.add(LED_LiteOn_LTST_C19HE1WT, { - translate: pt(3.258, 1.758), rotate: 0, + translate: pt(0.432, 2.411), rotate: 0, id: 'D8' }) // rgb3.red_res const R20 = board.add(R_0603_1608Metric, { - translate: pt(3.397, 1.731), rotate: 0, + translate: pt(0.571, 2.385), rotate: 0, id: 'R20' }) // rgb3.green_res const R21 = board.add(R_0603_1608Metric, { - translate: pt(3.275, 1.881), rotate: 0, + translate: pt(0.449, 2.535), rotate: 0, id: 'R21' }) // rgb3.blue_res const R22 = board.add(R_0603_1608Metric, { - translate: pt(3.431, 1.881), rotate: 0, + translate: pt(0.605, 2.535), rotate: 0, id: 'R22' }) // sw1.package @@ -502,32 +502,32 @@ const R24 = board.add(R_0603_1608Metric, { }) // v12sense.div.top_res const R25 = board.add(R_0603_1608Metric, { - translate: pt(1.818, 2.385), rotate: 0, + translate: pt(1.348, 2.385), rotate: 0, id: 'R25' }) // v12sense.div.bottom_res const R26 = board.add(R_0603_1608Metric, { - translate: pt(1.818, 2.482), rotate: 0, + translate: pt(1.348, 2.482), rotate: 0, id: 'R26' }) // v5sense.div.top_res const R27 = board.add(R_0603_1608Metric, { - translate: pt(1.309, 2.385), rotate: 0, + translate: pt(1.583, 2.385), rotate: 0, id: 'R27' }) // v5sense.div.bottom_res const R28 = board.add(R_0603_1608Metric, { - translate: pt(1.309, 2.482), rotate: 0, + translate: pt(1.583, 2.482), rotate: 0, id: 'R28' }) // vscsense.div.top_res const R29 = board.add(R_0603_1608Metric, { - translate: pt(1.074, 2.385), rotate: 0, + translate: pt(1.818, 2.385), rotate: 0, id: 'R29' }) // vscsense.div.bottom_res const R30 = board.add(R_0603_1608Metric, { - translate: pt(1.074, 2.482), rotate: 0, + translate: pt(1.818, 2.482), rotate: 0, id: 'R30' }) diff --git a/examples/DeskController/DeskController.svgpcb.js b/examples/DeskController/DeskController.svgpcb.js index 816014aa4..726cd869f 100644 --- a/examples/DeskController/DeskController.svgpcb.js +++ b/examples/DeskController/DeskController.svgpcb.js @@ -3,17 +3,17 @@ const board = new PCB(); const sw = SwitchMatrix_2_3_sw(pt(0.039, 0.039)) // jlc_th.th1 const DH1 = board.add(JlcToolingHole_1_152mm, { - translate: pt(1.743, 3.240), rotate: 0, + translate: pt(1.737, 3.240), rotate: 0, id: 'DH1' }) // jlc_th.th2 const DH2 = board.add(JlcToolingHole_1_152mm, { - translate: pt(1.782, 3.240), rotate: 0, + translate: pt(1.776, 3.240), rotate: 0, id: 'DH2' }) // jlc_th.th3 const DH3 = board.add(JlcToolingHole_1_152mm, { - translate: pt(1.743, 3.280), rotate: 0, + translate: pt(1.737, 3.280), rotate: 0, id: 'DH3' }) // conn.conn @@ -43,17 +43,17 @@ const DR2 = board.add(R_0603_1608Metric, { }) // tp_gnd.tp const DTP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.817, 3.278), rotate: 0, + translate: pt(3.545, 2.760), rotate: 0, id: 'DTP1' }) // choke.fb const DFB1 = board.add(L_0805_2012Metric, { - translate: pt(1.321, 3.274), rotate: 0, + translate: pt(1.315, 3.274), rotate: 0, id: 'DFB1' }) // tp_pwr.tp const DTP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.567, 3.278), rotate: 0, + translate: pt(0.066, 3.278), rotate: 0, id: 'DTP2' }) // reg_3v3.ic @@ -73,12 +73,12 @@ const DC2 = board.add(C_0805_2012Metric, { }) // tp_3v3.tp const DTP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.068, 3.278), rotate: 0, + translate: pt(0.317, 3.278), rotate: 0, id: 'DTP3' }) // prot_3v3.diode const DD1 = board.add(D_SOD_323, { - translate: pt(3.542, 2.760), rotate: 0, + translate: pt(0.564, 3.278), rotate: 0, id: 'DD1' }) // mcu.ic @@ -168,32 +168,32 @@ const DC11 = board.add(C_0805_2012Metric, { }) // i2c_pull.scl_res.res const DR6 = board.add(R_0603_1608Metric, { - translate: pt(3.303, 2.752), rotate: 0, + translate: pt(3.068, 2.752), rotate: 0, id: 'DR6' }) // i2c_pull.sda_res.res const DR7 = board.add(R_0603_1608Metric, { - translate: pt(3.303, 2.848), rotate: 0, + translate: pt(3.068, 2.848), rotate: 0, id: 'DR7' }) // io8_pu.res const DR8 = board.add(R_0603_1608Metric, { - translate: pt(1.566, 3.269), rotate: 0, + translate: pt(1.560, 3.269), rotate: 0, id: 'DR8' }) // spk_dac.rc.r const DR9 = board.add(R_0603_1608Metric, { - translate: pt(3.068, 2.752), rotate: 0, + translate: pt(3.303, 2.752), rotate: 0, id: 'DR9' }) // spk_dac.rc.c const DC12 = board.add(C_0603_1608Metric, { - translate: pt(3.068, 2.848), rotate: 0, + translate: pt(3.303, 2.848), rotate: 0, id: 'DC12' }) // spk_tp.tp const DTP4 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.317, 3.278), rotate: 0, + translate: pt(0.811, 3.278), rotate: 0, id: 'DTP4' }) // spk_drv.ic @@ -248,7 +248,7 @@ const DR12 = board.add(R_0603_1608Metric, { }) // npx_tp.tp const DTP5 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.066, 3.278), rotate: 0, + translate: pt(1.062, 3.278), rotate: 0, id: 'DTP5' }) // npx.led[0] @@ -336,7 +336,7 @@ board.setNetlist([ ]) const limit0 = pt(-0.07874015748031496, -0.07874015748031496); -const limit1 = pt(3.7234251968503935, 3.4330708661417324); +const limit1 = pt(3.729330708661417, 3.4330708661417324); const xMin = Math.min(limit0[0], limit1[0]); const xMax = Math.max(limit0[0], limit1[0]); const yMin = Math.min(limit0[1], limit1[1]); diff --git a/examples/EspLora/EspLora.net b/examples/EspLora/EspLora.net deleted file mode 100644 index e44a45d12..000000000 --- a/examples/EspLora/EspLora.net +++ /dev/null @@ -1,1665 +0,0 @@ -(export (version D) -(components -(comp (ref "LH1") - (value "jlc_th.th1") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th1")) - (property (name "edg_short_path") (value "jlc_th.th1")) - (property (name "edg_refdes") (value "LH1")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "0260010e")) -(comp (ref "LH2") - (value "jlc_th.th2") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th2")) - (property (name "edg_short_path") (value "jlc_th.th2")) - (property (name "edg_refdes") (value "LH2")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "0261010f")) -(comp (ref "LH3") - (value "jlc_th.th3") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th3")) - (property (name "edg_short_path") (value "jlc_th.th3")) - (property (name "edg_refdes") (value "LH3")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "02620110")) -(comp (ref "LJ1") - (value "usb.conn") - (footprint "Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11") - (property (name "Sheetname") (value "usb")) - (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCReceptacle")) - (property (name "edg_path") (value "usb.conn")) - (property (name "edg_short_path") (value "usb.conn")) - (property (name "edg_refdes") (value "LJ1")) - (property (name "edg_part") (value "COM-15111 (Sparkfun)")) - (property (name "edg_value") (value "COM-15111")) - (sheetpath (names "/usb/") (tstamps "/02aa014b/")) - (tstamps "042701af")) -(comp (ref "LR1") - (value "usb.cc_pull.cc1") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "cc_pull")) - (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) - (property (name "edg_path") (value "usb.cc_pull.cc1.res")) - (property (name "edg_short_path") (value "usb.cc_pull.cc1")) - (property (name "edg_refdes") (value "LR1")) - (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/usb/cc_pull/") (tstamps "/02aa014b/0b4c02e3/")) - (tstamps "022300f8")) -(comp (ref "LR2") - (value "usb.cc_pull.cc2") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "cc_pull")) - (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) - (property (name "edg_path") (value "usb.cc_pull.cc2.res")) - (property (name "edg_short_path") (value "usb.cc_pull.cc2")) - (property (name "edg_refdes") (value "LR2")) - (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/usb/cc_pull/") (tstamps "/02aa014b/0b4c02e3/")) - (tstamps "022400f9")) -(comp (ref "LTP1") - (value "tp_gnd") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_gnd.tp")) - (property (name "edg_short_path") (value "tp_gnd")) - (property (name "edg_refdes") (value "LTP1")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "gnd")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "08df027d")) -(comp (ref "LFB1") - (value "choke") - (footprint "Inductor_SMD:L_0603_1608Metric") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "choke.fb")) - (property (name "edg_short_path") (value "choke")) - (property (name "edg_refdes") (value "LFB1")) - (property (name "edg_part") (value "HCB1608KF-100T30 (TAI-TECH)")) - (property (name "edg_value") (value "3A 1 40mΩ 10Ω@100MHz ±25% 0603 Ferrite Beads ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "061c020b")) -(comp (ref "LTP2") - (value "tp_pwr") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_pwr.tp")) - (property (name "edg_short_path") (value "tp_pwr")) - (property (name "edg_refdes") (value "LTP2")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "pwr")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "091a029d")) -(comp (ref "LU1") - (value "reg_3v3.ic") - (footprint "Package_TO_SOT_SMD:SOT-223-3_TabPin2") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) - (property (name "edg_path") (value "reg_3v3.ic")) - (property (name "edg_short_path") (value "reg_3v3.ic")) - (property (name "edg_refdes") (value "LU1")) - (property (name "edg_part") (value "LDL1117S33R (STMicroelectronics)")) - (property (name "edg_value") (value "LDL1117S33R")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "013700cd")) -(comp (ref "LC1") - (value "reg_3v3.in_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) - (property (name "edg_path") (value "reg_3v3.in_cap.cap")) - (property (name "edg_short_path") (value "reg_3v3.in_cap")) - (property (name "edg_refdes") (value "LC1")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "0879026b")) -(comp (ref "LC2") - (value "reg_3v3.out_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) - (property (name "edg_path") (value "reg_3v3.out_cap.cap")) - (property (name "edg_short_path") (value "reg_3v3.out_cap")) - (property (name "edg_refdes") (value "LC2")) - (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "0be902ec")) -(comp (ref "LTP3") - (value "tp_3v3") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_3v3.tp")) - (property (name "edg_short_path") (value "tp_3v3")) - (property (name "edg_refdes") (value "LTP3")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "v3v3")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "08220220")) -(comp (ref "LD1") - (value "prot_3v3") - (footprint "Diode_SMD:D_SOD-323") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "prot_3v3.diode")) - (property (name "edg_short_path") (value "prot_3v3")) - (property (name "edg_refdes") (value "LD1")) - (property (name "edg_part") (value "BZT52B3V6S (SMC(Sangdest Microelectronicstronic (Nanjing)))")) - (property (name "edg_value") (value "5μA@1V 90Ω Single 3.53V~3.67V 200mW 3.6V SOD-323 Zener Diodes ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0eb80301")) -(comp (ref "LU2") - (value "mcu.ic") - (footprint "RF_Module:ESP32-S3-WROOM-1") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.ic")) - (property (name "edg_short_path") (value "mcu.ic")) - (property (name "edg_refdes") (value "LU2")) - (property (name "edg_part") (value "ESP32-S3-WROOM-1-N16R8 (Espressif Systems)")) - (property (name "edg_value") (value "ESP32-S3-WROOM-1-N16R8")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "013700cd")) -(comp (ref "LC3") - (value "mcu.vcc_cap0") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.vcc_cap0.cap")) - (property (name "edg_short_path") (value "mcu.vcc_cap0")) - (property (name "edg_refdes") (value "LC3")) - (property (name "edg_part") (value "CL31A226KPHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "10V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "0e590300")) -(comp (ref "LC4") - (value "mcu.vcc_cap1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.vcc_cap1.cap")) - (property (name "edg_short_path") (value "mcu.vcc_cap1")) - (property (name "edg_refdes") (value "LC4")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "0e5a0301")) -(comp (ref "LJ2") - (value "mcu.prog") - (footprint "Connector:Tag-Connect_TC2030-IDC-FP_2x03_P1.27mm_Vertical") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.prog.conn")) - (property (name "edg_short_path") (value "mcu.prog")) - (property (name "edg_refdes") (value "LJ2")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "045f01b9")) -(comp (ref "LSW1") - (value "mcu.boot") - (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.boot.package")) - (property (name "edg_short_path") (value "mcu.boot")) - (property (name "edg_refdes") (value "LSW1")) - (property (name "edg_part") (value "5.1mm switch")) - (property (name "edg_value") (value "5.1mm switch")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "042b01b5")) -(comp (ref "LR3") - (value "mcu.en_pull.r") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "en_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) - (property (name "edg_path") (value "mcu.en_pull.rc.r")) - (property (name "edg_short_path") (value "mcu.en_pull.r")) - (property (name "edg_refdes") (value "LR3")) - (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) - (tstamps "00730073")) -(comp (ref "LC5") - (value "mcu.en_pull.c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "en_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) - (property (name "edg_path") (value "mcu.en_pull.rc.c")) - (property (name "edg_short_path") (value "mcu.en_pull.c")) - (property (name "edg_refdes") (value "LC5")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) - (tstamps "00640064")) -(comp (ref "LU3") - (value "usb_esd") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "usb_esd")) - (property (name "edg_short_path") (value "usb_esd")) - (property (name "edg_refdes") (value "LU3")) - (property (name "edg_part") (value "PESD5V0X1BT (Nexperia)")) - (property (name "edg_value") (value "PESD5V0X1BT")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0bcb02e6")) -(comp (ref "LD2") - (value "ledr.package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "ledr")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "ledr.package")) - (property (name "edg_short_path") (value "ledr.package")) - (property (name "edg_refdes") (value "LD2")) - (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) - (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) - (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) - (tstamps "0b4e02cd")) -(comp (ref "LR4") - (value "ledr.res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "ledr")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "ledr.res")) - (property (name "edg_short_path") (value "ledr.res")) - (property (name "edg_refdes") (value "LR4")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) - (tstamps "0296014b")) -(comp (ref "LD3") - (value "ledg.package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "ledg")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "ledg.package")) - (property (name "edg_short_path") (value "ledg.package")) - (property (name "edg_refdes") (value "LD3")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/ledg/") (tstamps "/0412019d/")) - (tstamps "0b4e02cd")) -(comp (ref "LR5") - (value "ledg.res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "ledg")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "ledg.res")) - (property (name "edg_short_path") (value "ledg.res")) - (property (name "edg_refdes") (value "LR5")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/ledg/") (tstamps "/0412019d/")) - (tstamps "0296014b")) -(comp (ref "LD4") - (value "ledb.package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "ledb")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "ledb.package")) - (property (name "edg_short_path") (value "ledb.package")) - (property (name "edg_refdes") (value "LD4")) - (property (name "edg_part") (value "C2290 (Hubei KENTO Elec)")) - (property (name "edg_value") (value "White 0603 Light Emitting Diodes (LED) RoHS")) - (sheetpath (names "/ledb/") (tstamps "/040d0198/")) - (tstamps "0b4e02cd")) -(comp (ref "LR6") - (value "ledb.res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "ledb")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "ledb.res")) - (property (name "edg_short_path") (value "ledb.res")) - (property (name "edg_refdes") (value "LR6")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/ledb/") (tstamps "/040d0198/")) - (tstamps "0296014b")) -(comp (ref "LU4") - (value "lora.ic") - (footprint "Package_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mm") - (property (name "Sheetname") (value "lora")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) - (property (name "edg_path") (value "lora.ic")) - (property (name "edg_short_path") (value "lora.ic")) - (property (name "edg_refdes") (value "LU4")) - (property (name "edg_part") (value "SX1262IMLTRT (Semtech Corporation)")) - (property (name "edg_value") (value "SX1262IMLTRT")) - (sheetpath (names "/lora/") (tstamps "/044601af/")) - (tstamps "013700cd")) -(comp (ref "LX1") - (value "lora.xtal") - (footprint "Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm") - (property (name "Sheetname") (value "lora")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) - (property (name "edg_path") (value "lora.xtal")) - (property (name "edg_short_path") (value "lora.xtal")) - (property (name "edg_refdes") (value "LX1")) - (property (name "edg_part") (value "X322530MSB4SI (Yangxing Tech)")) - (property (name "edg_value") (value "30MHz SMD Crystal Resonator 20pF ±10ppm ±30ppm -40℃~+85℃ SMD3225-4P Crystals ROHS")) - (sheetpath (names "/lora/") (tstamps "/044601af/")) - (tstamps "046e01ba")) -(comp (ref "LC6") - (value "lora.vreg_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "lora")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) - (property (name "edg_path") (value "lora.vreg_cap.cap")) - (property (name "edg_short_path") (value "lora.vreg_cap")) - (property (name "edg_refdes") (value "LC6")) - (property (name "edg_part") (value "CL10B474KA8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 470nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/lora/") (tstamps "/044601af/")) - (tstamps "0f0e0348")) -(comp (ref "LC7") - (value "lora.vbat_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "lora")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) - (property (name "edg_path") (value "lora.vbat_cap.cap")) - (property (name "edg_short_path") (value "lora.vbat_cap")) - (property (name "edg_refdes") (value "LC7")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/lora/") (tstamps "/044601af/")) - (tstamps "0ec70341")) -(comp (ref "LC8") - (value "lora.vdd_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "lora")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) - (property (name "edg_path") (value "lora.vdd_cap.cap")) - (property (name "edg_short_path") (value "lora.vdd_cap")) - (property (name "edg_refdes") (value "LC8")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/lora/") (tstamps "/044601af/")) - (tstamps "0b6402d2")) -(comp (ref "LC9") - (value "lora.vrpa_cap0") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "lora")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) - (property (name "edg_path") (value "lora.vrpa_cap0.cap")) - (property (name "edg_short_path") (value "lora.vrpa_cap0")) - (property (name "edg_refdes") (value "LC9")) - (property (name "edg_part") (value "CL10C470JB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 47pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/lora/") (tstamps "/044601af/")) - (tstamps "12af037d")) -(comp (ref "LC10") - (value "lora.vrpa_cap1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "lora")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) - (property (name "edg_path") (value "lora.vrpa_cap1.cap")) - (property (name "edg_short_path") (value "lora.vrpa_cap1")) - (property (name "edg_refdes") (value "LC10")) - (property (name "edg_part") (value "CL10B473KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 47nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/lora/") (tstamps "/044601af/")) - (tstamps "12b0037e")) -(comp (ref "LL1") - (value "lora.dcc_l") - (footprint "Inductor_SMD:L_0603_1608Metric") - (property (name "Sheetname") (value "lora")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) - (property (name "edg_path") (value "lora.dcc_l")) - (property (name "edg_short_path") (value "lora.dcc_l")) - (property (name "edg_refdes") (value "LL1")) - (property (name "edg_part") (value "MGFL1608F150MT-LF (microgate)")) - (property (name "edg_value") (value "220mA 15uH ±20% 900mΩ 0603 Inductors (SMD) ROHS")) - (sheetpath (names "/lora/") (tstamps "/044601af/")) - (tstamps "05d801f6")) -(comp (ref "LU5") - (value "lora.rf_sw.ic") - (footprint "Package_TO_SOT_SMD:SOT-363_SC-70-6") - (property (name "Sheetname") (value "rf_sw")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Pe4259")) - (property (name "edg_path") (value "lora.rf_sw.ic")) - (property (name "edg_short_path") (value "lora.rf_sw.ic")) - (property (name "edg_refdes") (value "LU5")) - (property (name "edg_part") (value "PE4259 (pSemi)")) - (property (name "edg_value") (value "PE4259")) - (sheetpath (names "/lora/rf_sw/") (tstamps "/044601af/06510222/")) - (tstamps "013700cd")) -(comp (ref "LR7") - (value "lora.rf_sw.vdd_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "rf_sw")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Pe4259")) - (property (name "edg_path") (value "lora.rf_sw.vdd_res")) - (property (name "edg_short_path") (value "lora.rf_sw.vdd_res")) - (property (name "edg_refdes") (value "LR7")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/lora/rf_sw/") (tstamps "/044601af/06510222/")) - (tstamps "0b9c02e8")) -(comp (ref "LR8") - (value "lora.rf_sw.ctrl_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "rf_sw")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Pe4259")) - (property (name "edg_path") (value "lora.rf_sw.ctrl_res")) - (property (name "edg_short_path") (value "lora.rf_sw.ctrl_res")) - (property (name "edg_refdes") (value "LR8")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/lora/rf_sw/") (tstamps "/044601af/06510222/")) - (tstamps "0f23035f")) -(comp (ref "LC11") - (value "lora.tx_dcblock") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "lora")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) - (property (name "edg_path") (value "lora.tx_dcblock")) - (property (name "edg_short_path") (value "lora.tx_dcblock")) - (property (name "edg_refdes") (value "LC11")) - (property (name "edg_part") (value "CL10C470JB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 47pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/lora/") (tstamps "/044601af/")) - (tstamps "16e8041e")) -(comp (ref "LC12") - (value "lora.rfc_dcblock") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "lora")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) - (property (name "edg_path") (value "lora.rfc_dcblock")) - (property (name "edg_short_path") (value "lora.rfc_dcblock")) - (property (name "edg_refdes") (value "LC12")) - (property (name "edg_part") (value "CL10C470JB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 47pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/lora/") (tstamps "/044601af/")) - (tstamps "1a86046d")) -(comp (ref "LL2") - (value "lora.vrpa_choke") - (footprint "Inductor_SMD:L_0603_1608Metric") - (property (name "Sheetname") (value "lora")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) - (property (name "edg_path") (value "lora.vrpa_choke")) - (property (name "edg_short_path") (value "lora.vrpa_choke")) - (property (name "edg_refdes") (value "LL2")) - (property (name "edg_part") (value "VHF160808H47NJT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "200mA 47nH ±5% 1Ω 0603 Inductors (SMD) ROHS")) - (sheetpath (names "/lora/") (tstamps "/044601af/")) - (tstamps "17200423")) -(comp (ref "LL3") - (value "lora.tx_l.l") - (footprint "Inductor_SMD:L_0603_1608Metric") - (property (name "Sheetname") (value "tx_l")) - (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.LLowPassFilterWith2HNotch")) - (property (name "edg_path") (value "lora.tx_l.l")) - (property (name "edg_short_path") (value "lora.tx_l.l")) - (property (name "edg_refdes") (value "LL3")) - (property (name "edg_part") (value "VHF160808H3N3ST (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "400mA 3.3nH ±0.3nH 200mΩ 0603 Inductors (SMD) ROHS")) - (sheetpath (names "/lora/tx_l/") (tstamps "/044601af/046601b8/")) - (tstamps "006d006d")) -(comp (ref "LC13") - (value "lora.tx_l.c_lc") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "tx_l")) - (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.LLowPassFilterWith2HNotch")) - (property (name "edg_path") (value "lora.tx_l.c_lc")) - (property (name "edg_short_path") (value "lora.tx_l.c_lc")) - (property (name "edg_refdes") (value "LC13")) - (property (name "edg_part") (value "TCC0603COG2R2C500CT (CCTC)")) - (property (name "edg_value") (value "50V 2.2pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/lora/tx_l/") (tstamps "/044601af/046601b8/")) - (tstamps "03e80192")) -(comp (ref "LC14") - (value "lora.tx_pi.c2") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "tx_pi")) - (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.PiLowPassFilter")) - (property (name "edg_path") (value "lora.tx_pi.c2")) - (property (name "edg_short_path") (value "lora.tx_pi.c2")) - (property (name "edg_refdes") (value "LC14")) - (property (name "edg_part") (value "TCC0603COG3R3C500CT (CCTC)")) - (property (name "edg_value") (value "50V 3.3pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/lora/tx_pi/") (tstamps "/044601af/068f0225/")) - (tstamps "00fa0096")) -(comp (ref "LL4") - (value "lora.tx_pi.l") - (footprint "Inductor_SMD:L_0603_1608Metric") - (property (name "Sheetname") (value "tx_pi")) - (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.PiLowPassFilter")) - (property (name "edg_path") (value "lora.tx_pi.l")) - (property (name "edg_short_path") (value "lora.tx_pi.l")) - (property (name "edg_refdes") (value "LL4")) - (property (name "edg_part") (value "VHF160808H8N2JT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "400mA 8.2nH ±5% 350mΩ 0603 Inductors (SMD) ROHS")) - (sheetpath (names "/lora/tx_pi/") (tstamps "/044601af/068f0225/")) - (tstamps "006d006d")) -(comp (ref "LL5") - (value "lora.balun.l") - (footprint "Inductor_SMD:L_0603_1608Metric") - (property (name "Sheetname") (value "balun")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262BalunLike")) - (property (name "edg_path") (value "lora.balun.l")) - (property (name "edg_short_path") (value "lora.balun.l")) - (property (name "edg_refdes") (value "LL5")) - (property (name "edg_part") (value "SCHF160808H12NJT (Yanchuang)")) - (property (name "edg_value") (value "300mA 12nH ±5% 400mΩ 0603 Inductors (SMD) ROHS")) - (sheetpath (names "/lora/balun/") (tstamps "/044601af/060f0213/")) - (tstamps "006d006d")) -(comp (ref "LC15") - (value "lora.balun.c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "balun")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262BalunLike")) - (property (name "edg_path") (value "lora.balun.c")) - (property (name "edg_short_path") (value "lora.balun.c")) - (property (name "edg_refdes") (value "LC15")) - (property (name "edg_part") (value "0603CG3R0C500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 3pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/lora/balun/") (tstamps "/044601af/060f0213/")) - (tstamps "00640064")) -(comp (ref "LC16") - (value "lora.balun.c_p") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "balun")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262BalunLike")) - (property (name "edg_path") (value "lora.balun.c_p")) - (property (name "edg_short_path") (value "lora.balun.c_p")) - (property (name "edg_refdes") (value "LC16")) - (property (name "edg_part") (value "TCC0603COG3R3C500CT (CCTC)")) - (property (name "edg_value") (value "50V 3.3pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/lora/balun/") (tstamps "/044601af/060f0213/")) - (tstamps "025a0133")) -(comp (ref "LC17") - (value "lora.ant_pi.c1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "ant_pi")) - (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.PiLowPassFilter")) - (property (name "edg_path") (value "lora.ant_pi.c1")) - (property (name "edg_short_path") (value "lora.ant_pi.c1")) - (property (name "edg_refdes") (value "LC17")) - (property (name "edg_part") (value "TCC0603COG3R3C500CT (CCTC)")) - (property (name "edg_value") (value "50V 3.3pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/lora/ant_pi/") (tstamps "/044601af/08a8027c/")) - (tstamps "00f90095")) -(comp (ref "LC18") - (value "lora.ant_pi.c2") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "ant_pi")) - (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.PiLowPassFilter")) - (property (name "edg_path") (value "lora.ant_pi.c2")) - (property (name "edg_short_path") (value "lora.ant_pi.c2")) - (property (name "edg_refdes") (value "LC18")) - (property (name "edg_part") (value "TCC0603COG3R3C500CT (CCTC)")) - (property (name "edg_value") (value "50V 3.3pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/lora/ant_pi/") (tstamps "/044601af/08a8027c/")) - (tstamps "00fa0096")) -(comp (ref "LL6") - (value "lora.ant_pi.l") - (footprint "Inductor_SMD:L_0603_1608Metric") - (property (name "Sheetname") (value "ant_pi")) - (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.PiLowPassFilter")) - (property (name "edg_path") (value "lora.ant_pi.l")) - (property (name "edg_short_path") (value "lora.ant_pi.l")) - (property (name "edg_refdes") (value "LL6")) - (property (name "edg_part") (value "VHF160808H8N2JT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "400mA 8.2nH ±5% 350mΩ 0603 Inductors (SMD) ROHS")) - (sheetpath (names "/lora/ant_pi/") (tstamps "/044601af/08a8027c/")) - (tstamps "006d006d")) -(comp (ref "LJ3") - (value "lora.ant") - (footprint "Connector_Coaxial:SMA_Amphenol_901-143_Horizontal") - (property (name "Sheetname") (value "lora")) - (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) - (property (name "edg_path") (value "lora.ant.conn")) - (property (name "edg_short_path") (value "lora.ant")) - (property (name "edg_refdes") (value "LJ3")) - (property (name "edg_part") (value "901-143 (Amphenol RF)")) - (property (name "edg_value") (value "901-143")) - (sheetpath (names "/lora/") (tstamps "/044601af/")) - (tstamps "02760144")) -(comp (ref "LTP4") - (value "tp_lora_spi.tp_sck") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "tp_lora_spi")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) - (property (name "edg_path") (value "tp_lora_spi.tp_sck.tp")) - (property (name "edg_short_path") (value "tp_lora_spi.tp_sck")) - (property (name "edg_refdes") (value "LTP4")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "lr.sck")) - (sheetpath (names "/tp_lora_spi/") (tstamps "/1bd6049d/")) - (tstamps "08f40285")) -(comp (ref "LTP5") - (value "tp_lora_spi.tp_mosi") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "tp_lora_spi")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) - (property (name "edg_path") (value "tp_lora_spi.tp_mosi.tp")) - (property (name "edg_short_path") (value "tp_lora_spi.tp_mosi")) - (property (name "edg_refdes") (value "LTP5")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "lr.mosi")) - (sheetpath (names "/tp_lora_spi/") (tstamps "/1bd6049d/")) - (tstamps "0bfe02fc")) -(comp (ref "LTP6") - (value "tp_lora_spi.tp_miso") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "tp_lora_spi")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) - (property (name "edg_path") (value "tp_lora_spi.tp_miso.tp")) - (property (name "edg_short_path") (value "tp_lora_spi.tp_miso")) - (property (name "edg_refdes") (value "LTP6")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "lr.miso")) - (sheetpath (names "/tp_lora_spi/") (tstamps "/1bd6049d/")) - (tstamps "0bf202fc")) -(comp (ref "LTP7") - (value "tp_lora_cs") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_lora_cs.tp")) - (property (name "edg_short_path") (value "tp_lora_cs")) - (property (name "edg_refdes") (value "LTP7")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "lr_cs")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "171c0427")) -(comp (ref "LTP8") - (value "tp_lora_rst") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_lora_rst.tp")) - (property (name "edg_short_path") (value "tp_lora_rst")) - (property (name "edg_refdes") (value "LTP8")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "lr_rs")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "1be404aa")) -(comp (ref "LTP9") - (value "tp_lora_dio") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_lora_dio.tp")) - (property (name "edg_short_path") (value "tp_lora_dio")) - (property (name "edg_refdes") (value "LTP9")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "lr_di")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "1ba1048d")) -(comp (ref "LTP10") - (value "tp_lora_busy") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_lora_busy.tp")) - (property (name "edg_short_path") (value "tp_lora_busy")) - (property (name "edg_refdes") (value "LTP10")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "lr_bs")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "20cb0514")) -(comp (ref "LR9") - (value "i2c_pull.scl_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "i2c_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.I2cPullup.I2cPullup")) - (property (name "edg_path") (value "i2c_pull.scl_res.res")) - (property (name "edg_short_path") (value "i2c_pull.scl_res")) - (property (name "edg_refdes") (value "LR9")) - (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/i2c_pull/") (tstamps "/0d3e031b/")) - (tstamps "0ba902ec")) -(comp (ref "LR10") - (value "i2c_pull.sda_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "i2c_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.I2cPullup.I2cPullup")) - (property (name "edg_path") (value "i2c_pull.sda_res.res")) - (property (name "edg_short_path") (value "i2c_pull.sda_res")) - (property (name "edg_refdes") (value "LR10")) - (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/i2c_pull/") (tstamps "/0d3e031b/")) - (tstamps "0b7802e2")) -(comp (ref "LTP11") - (value "i2c_tp.tp_scl") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "i2c_tp")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.I2cTestPoint")) - (property (name "edg_path") (value "i2c_tp.tp_scl.tp")) - (property (name "edg_short_path") (value "i2c_tp.tp_scl")) - (property (name "edg_refdes") (value "LTP11")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "i2c.scl")) - (sheetpath (names "/i2c_tp/") (tstamps "/07770242/")) - (tstamps "08f50286")) -(comp (ref "LTP12") - (value "i2c_tp.tp_sda") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "i2c_tp")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.I2cTestPoint")) - (property (name "edg_path") (value "i2c_tp.tp_sda.tp")) - (property (name "edg_short_path") (value "i2c_tp.tp_sda")) - (property (name "edg_refdes") (value "LTP12")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "i2c.sda")) - (sheetpath (names "/i2c_tp/") (tstamps "/07770242/")) - (tstamps "08ec027c")) -(comp (ref "LJ4") - (value "oled.device") - (footprint "Connector_FFC-FPC:Hirose_FH12-30S-0.5SH_1x30-1MP_P0.50mm_Horizontal") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.device.conn")) - (property (name "edg_short_path") (value "oled.device")) - (property (name "edg_refdes") (value "LJ4")) - (property (name "edg_part") (value "AFC01-S30FC*-00 (Jushuo)")) - (property (name "edg_value") (value "AFC01-S30FC*-00")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "08950271")) -(comp (ref "LU6") - (value "oled.lcd") - (footprint "edg:Lcd_Er_Oled0.96_1.1_Outline") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.lcd")) - (property (name "edg_short_path") (value "oled.lcd")) - (property (name "edg_refdes") (value "LU6")) - (property (name "edg_part") (value "ER-OLED-0.96-1.1 (EastRising)")) - (property (name "edg_value") (value "ER-OLED-0.96-1.1")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "02710134")) -(comp (ref "LC19") - (value "oled.c1_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.c1_cap")) - (property (name "edg_short_path") (value "oled.c1_cap")) - (property (name "edg_refdes") (value "LC19")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "07240228")) -(comp (ref "LC20") - (value "oled.c2_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.c2_cap")) - (property (name "edg_short_path") (value "oled.c2_cap")) - (property (name "edg_refdes") (value "LC20")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "07290229")) -(comp (ref "LR11") - (value "oled.iref_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.iref_res")) - (property (name "edg_short_path") (value "oled.iref_res")) - (property (name "edg_refdes") (value "LR11")) - (property (name "edg_part") (value "0603WAF4303T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 430kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "0ed90350")) -(comp (ref "LC21") - (value "oled.vcomh_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.vcomh_cap.cap")) - (property (name "edg_short_path") (value "oled.vcomh_cap")) - (property (name "edg_refdes") (value "LC21")) - (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "12bd03b1")) -(comp (ref "LC22") - (value "oled.vdd_cap1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.vdd_cap1.cap")) - (property (name "edg_short_path") (value "oled.vdd_cap1")) - (property (name "edg_refdes") (value "LC22")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "0e670303")) -(comp (ref "LC23") - (value "oled.vbat_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.vbat_cap.cap")) - (property (name "edg_short_path") (value "oled.vbat_cap")) - (property (name "edg_refdes") (value "LC23")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "0ec70341")) -(comp (ref "LC24") - (value "oled.vcc_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.vcc_cap.cap")) - (property (name "edg_short_path") (value "oled.vcc_cap")) - (property (name "edg_refdes") (value "LC24")) - (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "0b5902d0")) -(comp (ref "LU7") - (value "oled_rst") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "oled_rst.ic")) - (property (name "edg_short_path") (value "oled_rst")) - (property (name "edg_refdes") (value "LU7")) - (property (name "edg_part") (value "APX803S-29SA-7 (Diodes Incorporated)")) - (property (name "edg_value") (value "APX803S-29SA-7")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0ef2035d")) -(comp (ref "LR12") - (value "oled_pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "oled_pull.res")) - (property (name "edg_short_path") (value "oled_pull")) - (property (name "edg_refdes") (value "LR12")) - (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "12a903c1")) -(comp (ref "LJ5") - (value "sd") - (footprint "Connector_Card:microSD_HC_Molex_104031-0811") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "sd")) - (property (name "edg_short_path") (value "sd")) - (property (name "edg_refdes") (value "LJ5")) - (property (name "edg_part") (value "104031-0811 (Molex)")) - (property (name "edg_value") (value "104031-0811")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "014c00d8")) -(comp (ref "LU8") - (value "nfc.ic") - (footprint "Package_DFN_QFN:HVQFN-40-1EP_6x6mm_P0.5mm_EP4.1x4.1mm") - (property (name "Sheetname") (value "nfc")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) - (property (name "edg_path") (value "nfc.ic")) - (property (name "edg_short_path") (value "nfc.ic")) - (property (name "edg_refdes") (value "LU8")) - (property (name "edg_part") (value "PN7160A1HN/C100Y (NXP)")) - (property (name "edg_value") (value "PN7160A1HN/C100Y")) - (sheetpath (names "/nfc/") (tstamps "/027c0138/")) - (tstamps "013700cd")) -(comp (ref "LC25") - (value "nfc.cvddup") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "nfc")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) - (property (name "edg_path") (value "nfc.cvddup.cap")) - (property (name "edg_short_path") (value "nfc.cvddup")) - (property (name "edg_refdes") (value "LC25")) - (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/") (tstamps "/027c0138/")) - (tstamps "08bc0287")) -(comp (ref "LC26") - (value "nfc.cvbat") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "nfc")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) - (property (name "edg_path") (value "nfc.cvbat.cap")) - (property (name "edg_short_path") (value "nfc.cvbat")) - (property (name "edg_refdes") (value "LC26")) - (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/") (tstamps "/027c0138/")) - (tstamps "06280211")) -(comp (ref "LC27") - (value "nfc.cvbat1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "nfc")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) - (property (name "edg_path") (value "nfc.cvbat1.cap")) - (property (name "edg_short_path") (value "nfc.cvbat1")) - (property (name "edg_refdes") (value "LC27")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/") (tstamps "/027c0138/")) - (tstamps "086a0242")) -(comp (ref "LC28") - (value "nfc.cvdd1") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "nfc")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) - (property (name "edg_path") (value "nfc.cvdd1.cap")) - (property (name "edg_short_path") (value "nfc.cvdd1")) - (property (name "edg_refdes") (value "LC28")) - (property (name "edg_part") (value "CL21B225KOFNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "16V 2.2uF X7R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/") (tstamps "/027c0138/")) - (tstamps "05f101d3")) -(comp (ref "LC29") - (value "nfc.cvdd2") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "nfc")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) - (property (name "edg_path") (value "nfc.cvdd2.cap")) - (property (name "edg_short_path") (value "nfc.cvdd2")) - (property (name "edg_refdes") (value "LC29")) - (property (name "edg_part") (value "CL21B225KOFNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "16V 2.2uF X7R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/") (tstamps "/027c0138/")) - (tstamps "05f201d4")) -(comp (ref "LC30") - (value "nfc.ctvdd1") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "nfc")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) - (property (name "edg_path") (value "nfc.ctvdd1.cap")) - (property (name "edg_short_path") (value "nfc.ctvdd1")) - (property (name "edg_refdes") (value "LC30")) - (property (name "edg_part") (value "CL21B225KOFNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "16V 2.2uF X7R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/") (tstamps "/027c0138/")) - (tstamps "08990247")) -(comp (ref "LC31") - (value "nfc.ctvdd2") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "nfc")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) - (property (name "edg_path") (value "nfc.ctvdd2.cap")) - (property (name "edg_short_path") (value "nfc.ctvdd2")) - (property (name "edg_refdes") (value "LC31")) - (property (name "edg_part") (value "CL21B225KOFNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "16V 2.2uF X7R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/") (tstamps "/027c0138/")) - (tstamps "089a0248")) -(comp (ref "LC32") - (value "nfc.cvddpad") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "nfc")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) - (property (name "edg_path") (value "nfc.cvddpad.cap")) - (property (name "edg_short_path") (value "nfc.cvddpad")) - (property (name "edg_refdes") (value "LC32")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/") (tstamps "/027c0138/")) - (tstamps "0b7a02d7")) -(comp (ref "LC33") - (value "nfc.cvddmid") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "nfc")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) - (property (name "edg_path") (value "nfc.cvddmid.cap")) - (property (name "edg_short_path") (value "nfc.cvddmid")) - (property (name "edg_refdes") (value "LC33")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/") (tstamps "/027c0138/")) - (tstamps "0b8102dc")) -(comp (ref "LX2") - (value "nfc.xtal.package") - (footprint "Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm") - (property (name "Sheetname") (value "xtal")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) - (property (name "edg_path") (value "nfc.xtal.package")) - (property (name "edg_short_path") (value "nfc.xtal.package")) - (property (name "edg_refdes") (value "LX2")) - (property (name "edg_part") (value "X32252712MMB4SI (Yangxing Tech)")) - (property (name "edg_value") (value "27.12MHz SMD Crystal Resonator 10pF ±10ppm ±30ppm -40℃~+85℃ SMD3225-4P Crystals ROHS")) - (sheetpath (names "/nfc/xtal/") (tstamps "/027c0138/046e01ba/")) - (tstamps "0b4e02cd")) -(comp (ref "LC34") - (value "nfc.xtal.cap_a") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "xtal")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) - (property (name "edg_path") (value "nfc.xtal.cap_a")) - (property (name "edg_short_path") (value "nfc.xtal.cap_a")) - (property (name "edg_refdes") (value "LC34")) - (property (name "edg_part") (value "0603CG6R8C500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 6.8pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/xtal/") (tstamps "/027c0138/046e01ba/")) - (tstamps "05e701f5")) -(comp (ref "LC35") - (value "nfc.xtal.cap_b") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "xtal")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) - (property (name "edg_path") (value "nfc.xtal.cap_b")) - (property (name "edg_short_path") (value "nfc.xtal.cap_b")) - (property (name "edg_refdes") (value "LC35")) - (property (name "edg_part") (value "0603CG6R8C500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 6.8pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/xtal/") (tstamps "/027c0138/046e01ba/")) - (tstamps "05e801f6")) -(comp (ref "LR13") - (value "nfc.rx.rrx1") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "rx")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160RxFilter")) - (property (name "edg_path") (value "nfc.rx.rrx1")) - (property (name "edg_short_path") (value "nfc.rx.rrx1")) - (property (name "edg_refdes") (value "LR13")) - (property (name "edg_part") (value "0603WAF2201T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 2.2kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/nfc/rx/") (tstamps "/027c0138/015e00eb/")) - (tstamps "0443018e")) -(comp (ref "LR14") - (value "nfc.rx.rrx2") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "rx")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160RxFilter")) - (property (name "edg_path") (value "nfc.rx.rrx2")) - (property (name "edg_short_path") (value "nfc.rx.rrx2")) - (property (name "edg_refdes") (value "LR14")) - (property (name "edg_part") (value "0603WAF2201T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 2.2kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/nfc/rx/") (tstamps "/027c0138/015e00eb/")) - (tstamps "0444018f")) -(comp (ref "LC36") - (value "nfc.rx.crx1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "rx")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160RxFilter")) - (property (name "edg_path") (value "nfc.rx.crx1")) - (property (name "edg_short_path") (value "nfc.rx.crx1")) - (property (name "edg_refdes") (value "LC36")) - (property (name "edg_part") (value "CL10B102KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/rx/") (tstamps "/027c0138/015e00eb/")) - (tstamps "0407017f")) -(comp (ref "LC37") - (value "nfc.rx.crx2") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "rx")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160RxFilter")) - (property (name "edg_path") (value "nfc.rx.crx2")) - (property (name "edg_short_path") (value "nfc.rx.crx2")) - (property (name "edg_refdes") (value "LC37")) - (property (name "edg_part") (value "CL10B102KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/rx/") (tstamps "/027c0138/015e00eb/")) - (tstamps "04080180")) -(comp (ref "LL7") - (value "nfc.emc.l1") - (footprint "Inductor_SMD:L_0603_1608Metric") - (property (name "Sheetname") (value "emc")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.DifferentialLcLowpassFilter")) - (property (name "edg_path") (value "nfc.emc.l1")) - (property (name "edg_short_path") (value "nfc.emc.l1")) - (property (name "edg_refdes") (value "LL7")) - (property (name "edg_part") (value "HK1608R22J-T (Taiyo Yuden)")) - (property (name "edg_value") (value "300mA 220nH ±5% 950mΩ 0603 Inductors (SMD) ROHS")) - (sheetpath (names "/nfc/emc/") (tstamps "/027c0138/026f0136/")) - (tstamps "010b009e")) -(comp (ref "LL8") - (value "nfc.emc.l2") - (footprint "Inductor_SMD:L_0603_1608Metric") - (property (name "Sheetname") (value "emc")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.DifferentialLcLowpassFilter")) - (property (name "edg_path") (value "nfc.emc.l2")) - (property (name "edg_short_path") (value "nfc.emc.l2")) - (property (name "edg_refdes") (value "LL8")) - (property (name "edg_part") (value "HK1608R22J-T (Taiyo Yuden)")) - (property (name "edg_value") (value "300mA 220nH ±5% 950mΩ 0603 Inductors (SMD) ROHS")) - (sheetpath (names "/nfc/emc/") (tstamps "/027c0138/026f0136/")) - (tstamps "010c009f")) -(comp (ref "LC38") - (value "nfc.emc.c1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "emc")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.DifferentialLcLowpassFilter")) - (property (name "edg_path") (value "nfc.emc.c1")) - (property (name "edg_short_path") (value "nfc.emc.c1")) - (property (name "edg_refdes") (value "LC38")) - (property (name "edg_part") (value "TCC0603X7R511K500CT (CCTC)")) - (property (name "edg_value") (value "50V 510pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/emc/") (tstamps "/027c0138/026f0136/")) - (tstamps "00f90095")) -(comp (ref "LC39") - (value "nfc.emc.c2") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "emc")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.DifferentialLcLowpassFilter")) - (property (name "edg_path") (value "nfc.emc.c2")) - (property (name "edg_short_path") (value "nfc.emc.c2")) - (property (name "edg_refdes") (value "LC39")) - (property (name "edg_part") (value "TCC0603X7R511K500CT (CCTC)")) - (property (name "edg_value") (value "50V 510pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/emc/") (tstamps "/027c0138/026f0136/")) - (tstamps "00fa0096")) -(comp (ref "LANT1") - (value "nfc.ant") - (footprint "board:an13219") - (property (name "Sheetname") (value "nfc")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) - (property (name "edg_path") (value "nfc.ant")) - (property (name "edg_short_path") (value "nfc.ant")) - (property (name "edg_refdes") (value "LANT1")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/nfc/") (tstamps "/027c0138/")) - (tstamps "02760144")) -(comp (ref "LR15") - (value "nfc.damp.r1") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "damp")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.NfcAntennaDampening")) - (property (name "edg_path") (value "nfc.damp.r1")) - (property (name "edg_short_path") (value "nfc.damp.r1")) - (property (name "edg_refdes") (value "LR15")) - (property (name "edg_part") (value "RTT032R55FTP (RALEC)")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±200ppm/℃ -55℃~+155℃ 2.55Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/nfc/damp/") (tstamps "/027c0138/040101a3/")) - (tstamps "011700a4")) -(comp (ref "LR16") - (value "nfc.damp.r2") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "damp")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.NfcAntennaDampening")) - (property (name "edg_path") (value "nfc.damp.r2")) - (property (name "edg_short_path") (value "nfc.damp.r2")) - (property (name "edg_refdes") (value "LR16")) - (property (name "edg_part") (value "RTT032R55FTP (RALEC)")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±200ppm/℃ -55℃~+155℃ 2.55Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/nfc/damp/") (tstamps "/027c0138/040101a3/")) - (tstamps "011800a5")) -(comp (ref "LC40") - (value "nfc.match.cs1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "match")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.DifferentialLLowPassFilter")) - (property (name "edg_path") (value "nfc.match.cs1")) - (property (name "edg_short_path") (value "nfc.match.cs1")) - (property (name "edg_refdes") (value "LC40")) - (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/match/") (tstamps "/027c0138/0634020e/")) - (tstamps "02430108")) -(comp (ref "LC41") - (value "nfc.match.cs2") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "match")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.DifferentialLLowPassFilter")) - (property (name "edg_path") (value "nfc.match.cs2")) - (property (name "edg_short_path") (value "nfc.match.cs2")) - (property (name "edg_refdes") (value "LC41")) - (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/match/") (tstamps "/027c0138/0634020e/")) - (tstamps "02440109")) -(comp (ref "LC42") - (value "nfc.match.cp1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "match")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.DifferentialLLowPassFilter")) - (property (name "edg_path") (value "nfc.match.cp1")) - (property (name "edg_short_path") (value "nfc.match.cp1")) - (property (name "edg_refdes") (value "LC42")) - (property (name "edg_part") (value "CL10C560JB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 56pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/match/") (tstamps "/027c0138/0634020e/")) - (tstamps "023d0105")) -(comp (ref "LC43") - (value "nfc.match.cp2") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "match")) - (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.DifferentialLLowPassFilter")) - (property (name "edg_path") (value "nfc.match.cp2")) - (property (name "edg_short_path") (value "nfc.match.cp2")) - (property (name "edg_refdes") (value "LC43")) - (property (name "edg_part") (value "CL10C560JB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 56pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/nfc/match/") (tstamps "/027c0138/0634020e/")) - (tstamps "023e0106")) -(comp (ref "LC44") - (value "tx_cpack") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tx_cpack.cap")) - (property (name "edg_short_path") (value "tx_cpack")) - (property (name "edg_refdes") (value "LC44")) - (property (name "edg_part") (value "0603CG8R2C500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 8.2pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0f2d034e"))) -(nets -(net (code 1) (name "Lgnd") - (node (ref LU3) (pin 3)) - (node (ref LJ5) (pin 6)) - (node (ref LJ5) (pin 11)) - (node (ref LU7) (pin 1)) - (node (ref LJ1) (pin A1)) - (node (ref LJ1) (pin B12)) - (node (ref LJ1) (pin B1)) - (node (ref LJ1) (pin A12)) - (node (ref LTP1) (pin 1)) - (node (ref LU1) (pin 1)) - (node (ref LD1) (pin 2)) - (node (ref LU2) (pin 1)) - (node (ref LU2) (pin 40)) - (node (ref LU2) (pin 41)) - (node (ref LR4) (pin 2)) - (node (ref LR5) (pin 2)) - (node (ref LR6) (pin 2)) - (node (ref LU4) (pin 2)) - (node (ref LU4) (pin 5)) - (node (ref LU4) (pin 8)) - (node (ref LU4) (pin 20)) - (node (ref LU4) (pin 25)) - (node (ref LX1) (pin 2)) - (node (ref LX1) (pin 4)) - (node (ref LU8) (pin 1)) - (node (ref LU8) (pin 3)) - (node (ref LU8) (pin 4)) - (node (ref LU8) (pin 9)) - (node (ref LU8) (pin 20)) - (node (ref LU8) (pin 41)) - (node (ref LU5) (pin 2)) - (node (ref LJ3) (pin 2)) - (node (ref LJ1) (pin S1)) - (node (ref LR11) (pin 2)) - (node (ref LC1) (pin 2)) - (node (ref LC2) (pin 2)) - (node (ref LC3) (pin 2)) - (node (ref LC4) (pin 2)) - (node (ref LJ2) (pin 5)) - (node (ref LSW1) (pin 2)) - (node (ref LC6) (pin 2)) - (node (ref LC7) (pin 2)) - (node (ref LC8) (pin 2)) - (node (ref LC9) (pin 2)) - (node (ref LC10) (pin 2)) - (node (ref LC16) (pin 2)) - (node (ref LC21) (pin 2)) - (node (ref LC22) (pin 2)) - (node (ref LC23) (pin 2)) - (node (ref LC24) (pin 2)) - (node (ref LC25) (pin 2)) - (node (ref LC26) (pin 2)) - (node (ref LC27) (pin 2)) - (node (ref LC28) (pin 2)) - (node (ref LC29) (pin 2)) - (node (ref LC30) (pin 2)) - (node (ref LC31) (pin 2)) - (node (ref LC32) (pin 2)) - (node (ref LC33) (pin 2)) - (node (ref LX2) (pin 2)) - (node (ref LX2) (pin 4)) - (node (ref LC5) (pin 2)) - (node (ref LR1) (pin 1)) - (node (ref LR2) (pin 1)) - (node (ref LC14) (pin 2)) - (node (ref LC17) (pin 2)) - (node (ref LC18) (pin 2)) - (node (ref LJ4) (pin 8)) - (node (ref LJ4) (pin 1)) - (node (ref LJ4) (pin 30)) - (node (ref LJ4) (pin 29)) - (node (ref LJ4) (pin 17)) - (node (ref LJ4) (pin 16)) - (node (ref LJ4) (pin 21)) - (node (ref LJ4) (pin 22)) - (node (ref LJ4) (pin 23)) - (node (ref LJ4) (pin 24)) - (node (ref LJ4) (pin 25)) - (node (ref LJ4) (pin 12)) - (node (ref LJ4) (pin 10)) - (node (ref LJ4) (pin 15)) - (node (ref LJ4) (pin 13)) - (node (ref LC34) (pin 2)) - (node (ref LC35) (pin 2)) - (node (ref LC38) (pin 2)) - (node (ref LC39) (pin 2)) - (node (ref LC42) (pin 2)) - (node (ref LC43) (pin 2)) - (node (ref LC44) (pin 2))) -(net (code 2) (name "Lpwr") - (node (ref LFB1) (pin 2)) - (node (ref LTP2) (pin 1)) - (node (ref LU1) (pin 3)) - (node (ref LU8) (pin 12)) - (node (ref LU8) (pin 28)) - (node (ref LU8) (pin 13)) - (node (ref LC1) (pin 1)) - (node (ref LC25) (pin 1)) - (node (ref LC26) (pin 1)) - (node (ref LC27) (pin 1))) -(net (code 3) (name "Lv3v3") - (node (ref LJ5) (pin 4)) - (node (ref LU7) (pin 3)) - (node (ref LU1) (pin 2)) - (node (ref LTP3) (pin 1)) - (node (ref LD1) (pin 1)) - (node (ref LU2) (pin 2)) - (node (ref LU4) (pin 1)) - (node (ref LU4) (pin 10)) - (node (ref LU4) (pin 11)) - (node (ref LR12) (pin 1)) - (node (ref LU8) (pin 6)) - (node (ref LC2) (pin 1)) - (node (ref LC3) (pin 1)) - (node (ref LC4) (pin 1)) - (node (ref LJ2) (pin 1)) - (node (ref LC7) (pin 1)) - (node (ref LC8) (pin 1)) - (node (ref LR7) (pin 1)) - (node (ref LR9) (pin 1)) - (node (ref LR10) (pin 1)) - (node (ref LJ4) (pin 9)) - (node (ref LJ4) (pin 6)) - (node (ref LC22) (pin 1)) - (node (ref LC23) (pin 1)) - (node (ref LC32) (pin 1)) - (node (ref LR3) (pin 1)) - (node (ref LJ4) (pin 11))) -(net (code 4) (name "Lusb.pwr") - (node (ref LJ1) (pin A4)) - (node (ref LJ1) (pin B9)) - (node (ref LJ1) (pin B4)) - (node (ref LJ1) (pin A9)) - (node (ref LFB1) (pin 1))) -(net (code 5) (name "Lusb_chain_0.d_P") - (node (ref LJ1) (pin A6)) - (node (ref LJ1) (pin B6)) - (node (ref LU3) (pin 2)) - (node (ref LU2) (pin 14))) -(net (code 6) (name "Lusb_chain_0.d_N") - (node (ref LJ1) (pin A7)) - (node (ref LJ1) (pin B7)) - (node (ref LU3) (pin 1)) - (node (ref LU2) (pin 13))) -(net (code 7) (name "Lledr.signal") - (node (ref LU2) (pin 34)) - (node (ref LD2) (pin 2))) -(net (code 8) (name "Lledg.signal") - (node (ref LU2) (pin 35)) - (node (ref LD3) (pin 2))) -(net (code 9) (name "Lledb.signal") - (node (ref LU2) (pin 39)) - (node (ref LD4) (pin 2))) -(net (code 10) (name "Ltp_lora_spi.io.sck") - (node (ref LU2) (pin 5)) - (node (ref LU4) (pin 18)) - (node (ref LTP4) (pin 1))) -(net (code 11) (name "Ltp_lora_spi.io.mosi") - (node (ref LU2) (pin 6)) - (node (ref LU4) (pin 17)) - (node (ref LTP5) (pin 1))) -(net (code 12) (name "Ltp_lora_spi.io.miso") - (node (ref LU2) (pin 15)) - (node (ref LU4) (pin 16)) - (node (ref LTP6) (pin 1))) -(net (code 13) (name "Ltp_lora_cs.io") - (node (ref LU2) (pin 7)) - (node (ref LU4) (pin 19)) - (node (ref LTP7) (pin 1))) -(net (code 14) (name "Ltp_lora_rst.io") - (node (ref LU2) (pin 12)) - (node (ref LU4) (pin 15)) - (node (ref LTP8) (pin 1))) -(net (code 15) (name "Ltp_lora_dio.io") - (node (ref LU2) (pin 31)) - (node (ref LU4) (pin 13)) - (node (ref LTP9) (pin 1))) -(net (code 16) (name "Llora.busy") - (node (ref LU2) (pin 33)) - (node (ref LU4) (pin 14)) - (node (ref LTP10) (pin 1))) -(net (code 17) (name "Li2c_pull.i2c.scl") - (node (ref LU2) (pin 10)) - (node (ref LU8) (pin 7)) - (node (ref LR9) (pin 2)) - (node (ref LTP11) (pin 1)) - (node (ref LJ4) (pin 18))) -(net (code 18) (name "Li2c_pull.i2c.sda") - (node (ref LU2) (pin 11)) - (node (ref LU8) (pin 5)) - (node (ref LR10) (pin 2)) - (node (ref LTP12) (pin 1)) - (node (ref LJ4) (pin 19)) - (node (ref LJ4) (pin 20))) -(net (code 19) (name "Loled_rst.nreset") - (node (ref LU7) (pin 2)) - (node (ref LR12) (pin 2)) - (node (ref LJ4) (pin 14))) -(net (code 20) (name "Lsd.spi.sck") - (node (ref LU2) (pin 22)) - (node (ref LJ5) (pin 5))) -(net (code 21) (name "Lsd.spi.mosi") - (node (ref LU2) (pin 19)) - (node (ref LJ5) (pin 3))) -(net (code 22) (name "Lsd.spi.miso") - (node (ref LU2) (pin 38)) - (node (ref LJ5) (pin 7))) -(net (code 23) (name "Lsd.cs") - (node (ref LU2) (pin 21)) - (node (ref LJ5) (pin 2))) -(net (code 24) (name "Lnfc.reset") - (node (ref LU8) (pin 10)) - (node (ref LU2) (pin 32))) -(net (code 25) (name "Lnfc.irq") - (node (ref LU8) (pin 8)) - (node (ref LU2) (pin 24))) -(net (code 26) (name "Ltx_cpack.pos.0") - (node (ref LL3) (pin 2)) - (node (ref LC13) (pin 1)) - (node (ref LC44) (pin 1)) - (node (ref LL4) (pin 1))) -(net (code 27) (name "Lusb.conn.cc.cc1") - (node (ref LJ1) (pin A5)) - (node (ref LR1) (pin 2))) -(net (code 28) (name "Lusb.conn.cc.cc2") - (node (ref LJ1) (pin B5)) - (node (ref LR2) (pin 2))) -(net (code 29) (name "Lmcu.program_uart_node.a_tx") - (node (ref LU2) (pin 37)) - (node (ref LJ2) (pin 3))) -(net (code 30) (name "Lmcu.program_uart_node.b_tx") - (node (ref LU2) (pin 36)) - (node (ref LJ2) (pin 4))) -(net (code 31) (name "Lmcu.program_en_node") - (node (ref LU2) (pin 3)) - (node (ref LJ2) (pin 6)) - (node (ref LR3) (pin 2)) - (node (ref LC5) (pin 1))) -(net (code 32) (name "Lmcu.program_boot_node") - (node (ref LU2) (pin 27)) - (node (ref LSW1) (pin 1)) - (node (ref LJ2) (pin 2))) -(net (code 33) (name "Lledr.res.a") - (node (ref LR4) (pin 1)) - (node (ref LD2) (pin 1))) -(net (code 34) (name "Lledg.res.a") - (node (ref LR5) (pin 1)) - (node (ref LD3) (pin 1))) -(net (code 35) (name "Lledb.res.a") - (node (ref LR6) (pin 1)) - (node (ref LD4) (pin 1))) -(net (code 36) (name "Llora.xtal.crystal.xtal_in") - (node (ref LX1) (pin 1)) - (node (ref LU4) (pin 3))) -(net (code 37) (name "Llora.xtal.crystal.xtal_out") - (node (ref LX1) (pin 3)) - (node (ref LU4) (pin 4))) -(net (code 38) (name "Llora.ic.vreg") - (node (ref LU4) (pin 7)) - (node (ref LL1) (pin 2)) - (node (ref LC6) (pin 1))) -(net (code 39) (name "Llora.ic.vr_pa") - (node (ref LU4) (pin 24)) - (node (ref LL2) (pin 1)) - (node (ref LC9) (pin 1)) - (node (ref LC10) (pin 1))) -(net (code 40) (name "Llora.dcc_l.a") - (node (ref LL1) (pin 1)) - (node (ref LU4) (pin 9))) -(net (code 41) (name "Llora.rf_sw.ctrl") - (node (ref LU4) (pin 12)) - (node (ref LR8) (pin 1))) -(net (code 42) (name "Llora.tx_dcblock.pos") - (node (ref LC11) (pin 1)) - (node (ref LU5) (pin 1))) -(net (code 43) (name "Llora.rfc_dcblock.neg") - (node (ref LC12) (pin 2)) - (node (ref LU5) (pin 5))) -(net (code 44) (name "Llora.ic.rfo") - (node (ref LU4) (pin 23)) - (node (ref LL2) (pin 2)) - (node (ref LL3) (pin 1)) - (node (ref LC13) (pin 2))) -(net (code 45) (name "Llora.tx_pi.output") - (node (ref LC11) (pin 2)) - (node (ref LL4) (pin 2)) - (node (ref LC14) (pin 1))) -(net (code 46) (name "Llora.balun.input") - (node (ref LC15) (pin 1)) - (node (ref LU5) (pin 3))) -(net (code 47) (name "Llora.balun.rfi_n") - (node (ref LU4) (pin 22)) - (node (ref LC15) (pin 2)) - (node (ref LL5) (pin 1))) -(net (code 48) (name "Llora.balun.rfi_p") - (node (ref LU4) (pin 21)) - (node (ref LC16) (pin 1)) - (node (ref LL5) (pin 2))) -(net (code 49) (name "Llora.rfc_dcblock.pos") - (node (ref LC12) (pin 1)) - (node (ref LC17) (pin 1)) - (node (ref LL6) (pin 1))) -(net (code 50) (name "Llora.ant_pi.output") - (node (ref LJ3) (pin 1)) - (node (ref LL6) (pin 2)) - (node (ref LC18) (pin 1))) -(net (code 51) (name "Llora.ic.dio3") - (node (ref LU4) (pin 6))) -(net (code 52) (name "Llora.rf_sw.vdd_res.b") - (node (ref LR7) (pin 2)) - (node (ref LU5) (pin 6))) -(net (code 53) (name "Llora.rf_sw.ctrl_res.b") - (node (ref LR8) (pin 2)) - (node (ref LU5) (pin 4))) -(net (code 54) (name "Loled.c1_cap.pos") - (node (ref LC19) (pin 1)) - (node (ref LJ4) (pin 4))) -(net (code 55) (name "Loled.c1_cap.neg") - (node (ref LC19) (pin 2)) - (node (ref LJ4) (pin 5))) -(net (code 56) (name "Loled.c2_cap.pos") - (node (ref LC20) (pin 1)) - (node (ref LJ4) (pin 2))) -(net (code 57) (name "Loled.c2_cap.neg") - (node (ref LC20) (pin 2)) - (node (ref LJ4) (pin 3))) -(net (code 58) (name "Loled.iref_res.a") - (node (ref LR11) (pin 1)) - (node (ref LJ4) (pin 26))) -(net (code 59) (name "Loled.device.vcomh") - (node (ref LJ4) (pin 27)) - (node (ref LC21) (pin 1))) -(net (code 60) (name "Loled.device.vcc") - (node (ref LJ4) (pin 28)) - (node (ref LC24) (pin 1))) -(net (code 61) (name "Lnfc.ic.vdd") - (node (ref LU8) (pin 26)) - (node (ref LU8) (pin 27)) - (node (ref LU8) (pin 31)) - (node (ref LC28) (pin 1)) - (node (ref LC29) (pin 1))) -(net (code 62) (name "Lnfc.ic.vddtx") - (node (ref LU8) (pin 14)) - (node (ref LU8) (pin 18)) - (node (ref LU8) (pin 22)) - (node (ref LC30) (pin 1)) - (node (ref LC31) (pin 1))) -(net (code 63) (name "Lnfc.ic.vddmid") - (node (ref LU8) (pin 17)) - (node (ref LC33) (pin 1))) -(net (code 64) (name "Lnfc.ic.xtal.xtal_in") - (node (ref LU8) (pin 30)) - (node (ref LX2) (pin 1)) - (node (ref LC34) (pin 1))) -(net (code 65) (name "Lnfc.ic.xtal.xtal_out") - (node (ref LU8) (pin 29)) - (node (ref LX2) (pin 3)) - (node (ref LC35) (pin 1))) -(net (code 66) (name "Lnfc.ic.rxp") - (node (ref LU8) (pin 16)) - (node (ref LC36) (pin 2))) -(net (code 67) (name "Lnfc.ic.rxn") - (node (ref LU8) (pin 15)) - (node (ref LC37) (pin 2))) -(net (code 68) (name "Lnfc.ic.tx1") - (node (ref LU8) (pin 21)) - (node (ref LL7) (pin 1))) -(net (code 69) (name "Lnfc.ic.tx2") - (node (ref LU8) (pin 19)) - (node (ref LL8) (pin 1))) -(net (code 70) (name "Lnfc.damp.ant1") - (node (ref LR15) (pin 2)) - (node (ref LANT1) (pin 1))) -(net (code 71) (name "Lnfc.damp.ant2") - (node (ref LR16) (pin 2)) - (node (ref LANT1) (pin 2))) -(net (code 72) (name "Lnfc.emc.out1") - (node (ref LC40) (pin 1)) - (node (ref LR13) (pin 1)) - (node (ref LL7) (pin 2)) - (node (ref LC38) (pin 1))) -(net (code 73) (name "Lnfc.emc.out2") - (node (ref LC41) (pin 1)) - (node (ref LR14) (pin 1)) - (node (ref LL8) (pin 2)) - (node (ref LC39) (pin 1))) -(net (code 74) (name "Lnfc.match.out1") - (node (ref LR15) (pin 1)) - (node (ref LC40) (pin 2)) - (node (ref LC42) (pin 1))) -(net (code 75) (name "Lnfc.match.out2") - (node (ref LR16) (pin 1)) - (node (ref LC41) (pin 2)) - (node (ref LC43) (pin 1))) -(net (code 76) (name "Lnfc.rx.rrx1.b") - (node (ref LR13) (pin 2)) - (node (ref LC36) (pin 1))) -(net (code 77) (name "Lnfc.rx.rrx2.b") - (node (ref LR14) (pin 2)) - (node (ref LC37) (pin 1)))) -) \ No newline at end of file diff --git a/examples/EspLora/EspLora.svgpcb.js b/examples/EspLora/EspLora.svgpcb.js deleted file mode 100644 index f0fb733dd..000000000 --- a/examples/EspLora/EspLora.svgpcb.js +++ /dev/null @@ -1,647 +0,0 @@ -const board = new PCB(); - -// jlc_th.th1 -const LH1 = board.add(JlcToolingHole_1_152mm, { - translate: pt(4.100, 2.597), rotate: 0, - id: 'LH1' -}) -// jlc_th.th2 -const LH2 = board.add(JlcToolingHole_1_152mm, { - translate: pt(4.140, 2.597), rotate: 0, - id: 'LH2' -}) -// jlc_th.th3 -const LH3 = board.add(JlcToolingHole_1_152mm, { - translate: pt(4.100, 2.636), rotate: 0, - id: 'LH3' -}) -// usb.conn -const LJ1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { - translate: pt(2.899, 1.905), rotate: 0, - id: 'LJ1' -}) -// usb.cc_pull.cc1.res -const LR1 = board.add(R_0603_1608Metric, { - translate: pt(2.748, 2.160), rotate: 0, - id: 'LR1' -}) -// usb.cc_pull.cc2.res -const LR2 = board.add(R_0603_1608Metric, { - translate: pt(2.904, 2.160), rotate: 0, - id: 'LR2' -}) -// tp_gnd.tp -const LTP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.270, 2.634), rotate: 0, - id: 'LTP1' -}) -// choke.fb -const LFB1 = board.add(L_0603_1608Metric, { - translate: pt(3.733, 2.626), rotate: 0, - id: 'LFB1' -}) -// tp_pwr.tp -const LTP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.521, 2.634), rotate: 0, - id: 'LTP2' -}) -// reg_3v3.ic -const LU1 = board.add(SOT_223_3_TabPin2, { - translate: pt(3.400, 1.882), rotate: 0, - id: 'LU1' -}) -// reg_3v3.in_cap.cap -const LC1 = board.add(C_0603_1608Metric, { - translate: pt(3.458, 2.092), rotate: 0, - id: 'LC1' -}) -// reg_3v3.out_cap.cap -const LC2 = board.add(C_0805_2012Metric, { - translate: pt(3.294, 2.102), rotate: 0, - id: 'LC2' -}) -// tp_3v3.tp -const LTP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.021, 2.634), rotate: 0, - id: 'LTP3' -}) -// prot_3v3.diode -const LD1 = board.add(D_SOD_323, { - translate: pt(1.272, 2.634), rotate: 0, - id: 'LD1' -}) -// mcu.ic -const LU2 = board.add(ESP32_S3_WROOM_1, { - translate: pt(0.945, 0.530), rotate: 0, - id: 'LU2' -}) -// mcu.vcc_cap0.cap -const LC3 = board.add(C_1206_3216Metric, { - translate: pt(2.020, 0.683), rotate: 0, - id: 'LC3' -}) -// mcu.vcc_cap1.cap -const LC4 = board.add(C_0603_1608Metric, { - translate: pt(2.208, 0.667), rotate: 0, - id: 'LC4' -}) -// mcu.prog.conn -const LJ2 = board.add(Tag_Connect_TC2030_IDC_FP_2x03_P1_27mm_Vertical, { - translate: pt(2.096, 0.167), rotate: 0, - id: 'LJ2' -}) -// mcu.boot.package -const LSW1 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(2.096, 0.486), rotate: 0, - id: 'LSW1' -}) -// mcu.en_pull.rc.r -const LR3 = board.add(R_0603_1608Metric, { - translate: pt(2.364, 0.667), rotate: 0, - id: 'LR3' -}) -// mcu.en_pull.rc.c -const LC5 = board.add(C_0603_1608Metric, { - translate: pt(1.987, 0.796), rotate: 0, - id: 'LC5' -}) -// usb_esd -const LU3 = board.add(SOT_23, { - translate: pt(3.985, 2.664), rotate: 0, - id: 'LU3' -}) -// ledr.package -const LD2 = board.add(LED_0603_1608Metric, { - translate: pt(0.293, 2.626), rotate: 0, - id: 'LD2' -}) -// ledr.res -const LR4 = board.add(R_0603_1608Metric, { - translate: pt(0.293, 2.723), rotate: 0, - id: 'LR4' -}) -// ledg.package -const LD3 = board.add(LED_0603_1608Metric, { - translate: pt(0.528, 2.626), rotate: 0, - id: 'LD3' -}) -// ledg.res -const LR5 = board.add(R_0603_1608Metric, { - translate: pt(0.528, 2.723), rotate: 0, - id: 'LR5' -}) -// ledb.package -const LD4 = board.add(LED_0603_1608Metric, { - translate: pt(0.058, 2.626), rotate: 0, - id: 'LD4' -}) -// ledb.res -const LR6 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 2.723), rotate: 0, - id: 'LR6' -}) -// lora.ic -const LU4 = board.add(QFN_24_1EP_4x4mm_P0_5mm_EP2_6x2_6mm, { - translate: pt(0.480, 1.843), rotate: 0, - id: 'LU4' -}) -// lora.xtal -const LX1 = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { - translate: pt(0.705, 1.807), rotate: 0, - id: 'LX1' -}) -// lora.vreg_cap.cap -const LC6 = board.add(C_0603_1608Metric, { - translate: pt(0.436, 2.013), rotate: 0, - id: 'LC6' -}) -// lora.vbat_cap.cap -const LC7 = board.add(C_0603_1608Metric, { - translate: pt(0.592, 2.013), rotate: 0, - id: 'LC7' -}) -// lora.vdd_cap.cap -const LC8 = board.add(C_0603_1608Metric, { - translate: pt(0.748, 2.013), rotate: 0, - id: 'LC8' -}) -// lora.vrpa_cap0.cap -const LC9 = board.add(C_0603_1608Metric, { - translate: pt(0.904, 2.013), rotate: 0, - id: 'LC9' -}) -// lora.vrpa_cap1.cap -const LC10 = board.add(C_0603_1608Metric, { - translate: pt(0.436, 2.110), rotate: 0, - id: 'LC10' -}) -// lora.dcc_l -const LL1 = board.add(L_0603_1608Metric, { - translate: pt(0.592, 2.110), rotate: 0, - id: 'LL1' -}) -// lora.rf_sw.ic -const LU5 = board.add(SOT_363_SC_70_6, { - translate: pt(0.890, 1.795), rotate: 0, - id: 'LU5' -}) -// lora.rf_sw.vdd_res -const LR7 = board.add(R_0603_1608Metric, { - translate: pt(0.748, 2.110), rotate: 0, - id: 'LR7' -}) -// lora.rf_sw.ctrl_res -const LR8 = board.add(R_0603_1608Metric, { - translate: pt(0.904, 2.110), rotate: 0, - id: 'LR8' -}) -// lora.tx_dcblock -const LC11 = board.add(C_0603_1608Metric, { - translate: pt(0.436, 2.207), rotate: 0, - id: 'LC11' -}) -// lora.rfc_dcblock -const LC12 = board.add(C_0603_1608Metric, { - translate: pt(0.592, 2.207), rotate: 0, - id: 'LC12' -}) -// lora.vrpa_choke -const LL2 = board.add(L_0603_1608Metric, { - translate: pt(0.748, 2.207), rotate: 0, - id: 'LL2' -}) -// lora.tx_l.l -const LL3 = board.add(L_0603_1608Metric, { - translate: pt(0.904, 2.207), rotate: 0, - id: 'LL3' -}) -// lora.tx_l.c_lc -const LC13 = board.add(C_0603_1608Metric, { - translate: pt(0.436, 2.304), rotate: 0, - id: 'LC13' -}) -// lora.tx_pi.c2 -const LC14 = board.add(C_0603_1608Metric, { - translate: pt(0.592, 2.304), rotate: 0, - id: 'LC14' -}) -// lora.tx_pi.l -const LL4 = board.add(L_0603_1608Metric, { - translate: pt(0.748, 2.304), rotate: 0, - id: 'LL4' -}) -// lora.balun.l -const LL5 = board.add(L_0603_1608Metric, { - translate: pt(0.904, 2.304), rotate: 0, - id: 'LL5' -}) -// lora.balun.c -const LC15 = board.add(C_0603_1608Metric, { - translate: pt(0.058, 2.450), rotate: 0, - id: 'LC15' -}) -// lora.balun.c_p -const LC16 = board.add(C_0603_1608Metric, { - translate: pt(0.214, 2.450), rotate: 0, - id: 'LC16' -}) -// lora.ant_pi.c1 -const LC17 = board.add(C_0603_1608Metric, { - translate: pt(0.370, 2.450), rotate: 0, - id: 'LC17' -}) -// lora.ant_pi.c2 -const LC18 = board.add(C_0603_1608Metric, { - translate: pt(0.526, 2.450), rotate: 0, - id: 'LC18' -}) -// lora.ant_pi.l -const LL6 = board.add(L_0603_1608Metric, { - translate: pt(0.682, 2.450), rotate: 0, - id: 'LL6' -}) -// lora.ant.conn -const LJ3 = board.add(SMA_Amphenol_901_143_Horizontal, { - translate: pt(0.169, 1.909), rotate: 0, - id: 'LJ3' -}) -// tp_lora_spi.tp_sck.tp -const LTP4 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.757, 1.778), rotate: 0, - id: 'LTP4' -}) -// tp_lora_spi.tp_mosi.tp -const LTP5 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.757, 1.892), rotate: 0, - id: 'LTP5' -}) -// tp_lora_spi.tp_miso.tp -const LTP6 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.757, 2.006), rotate: 0, - id: 'LTP6' -}) -// tp_lora_cs.tp -const LTP7 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.769, 2.634), rotate: 0, - id: 'LTP7' -}) -// tp_lora_rst.tp -const LTP8 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.020, 2.634), rotate: 0, - id: 'LTP8' -}) -// tp_lora_dio.tp -const LTP9 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.771, 2.634), rotate: 0, - id: 'LTP9' -}) -// tp_lora_busy.tp -const LTP10 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.519, 2.634), rotate: 0, - id: 'LTP10' -}) -// i2c_pull.scl_res.res -const LR9 = board.add(R_0603_1608Metric, { - translate: pt(0.763, 2.626), rotate: 0, - id: 'LR9' -}) -// i2c_pull.sda_res.res -const LR10 = board.add(R_0603_1608Metric, { - translate: pt(0.763, 2.722), rotate: 0, - id: 'LR10' -}) -// i2c_tp.tp_scl.tp -const LTP11 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(4.008, 1.778), rotate: 0, - id: 'LTP11' -}) -// i2c_tp.tp_sda.tp -const LTP12 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(4.008, 1.892), rotate: 0, - id: 'LTP12' -}) -// oled.device.conn -const LJ4 = board.add(Hirose_FH12_30S_0_5SH_1x30_1MP_P0_50mm_Horizontal, { - translate: pt(2.956, 1.054), rotate: 0, - id: 'LJ4' -}) -// oled.lcd -const LU6 = board.add(Lcd_Er_Oled0_96_1_1_Outline, { - translate: pt(3.066, 0.516), rotate: 0, - id: 'LU6' -}) -// oled.c1_cap -const LC19 = board.add(C_0603_1608Metric, { - translate: pt(3.815, 0.889), rotate: 0, - id: 'LC19' -}) -// oled.c2_cap -const LC20 = board.add(C_0603_1608Metric, { - translate: pt(3.971, 0.889), rotate: 0, - id: 'LC20' -}) -// oled.iref_res -const LR11 = board.add(R_0603_1608Metric, { - translate: pt(3.469, 1.006), rotate: 0, - id: 'LR11' -}) -// oled.vcomh_cap.cap -const LC21 = board.add(C_0805_2012Metric, { - translate: pt(3.477, 0.899), rotate: 0, - id: 'LC21' -}) -// oled.vdd_cap1.cap -const LC22 = board.add(C_0603_1608Metric, { - translate: pt(3.624, 1.006), rotate: 0, - id: 'LC22' -}) -// oled.vbat_cap.cap -const LC23 = board.add(C_0603_1608Metric, { - translate: pt(3.780, 1.006), rotate: 0, - id: 'LC23' -}) -// oled.vcc_cap.cap -const LC24 = board.add(C_0805_2012Metric, { - translate: pt(3.650, 0.899), rotate: 0, - id: 'LC24' -}) -// oled_rst.ic -const LU7 = board.add(SOT_23, { - translate: pt(1.015, 2.664), rotate: 0, - id: 'LU7' -}) -// oled_pull.res -const LR12 = board.add(R_0603_1608Metric, { - translate: pt(3.264, 2.626), rotate: 0, - id: 'LR12' -}) -// sd -const LJ5 = board.add(microSD_HC_Molex_104031_0811, { - translate: pt(2.381, 1.998), rotate: 0, - id: 'LJ5' -}) -// nfc.ic -const LU8 = board.add(HVQFN_40_1EP_6x6mm_P0_5mm_EP4_1x4_1mm, { - translate: pt(1.223, 1.883), rotate: 0, - id: 'LU8' -}) -// nfc.cvddup.cap -const LC25 = board.add(C_0805_2012Metric, { - translate: pt(1.677, 1.779), rotate: 0, - id: 'LC25' -}) -// nfc.cvbat.cap -const LC26 = board.add(C_0805_2012Metric, { - translate: pt(1.850, 1.779), rotate: 0, - id: 'LC26' -}) -// nfc.cvbat1.cap -const LC27 = board.add(C_0603_1608Metric, { - translate: pt(1.312, 2.094), rotate: 0, - id: 'LC27' -}) -// nfc.cvdd1.cap -const LC28 = board.add(C_0805_2012Metric, { - translate: pt(1.472, 1.952), rotate: 0, - id: 'LC28' -}) -// nfc.cvdd2.cap -const LC29 = board.add(C_0805_2012Metric, { - translate: pt(1.646, 1.952), rotate: 0, - id: 'LC29' -}) -// nfc.ctvdd1.cap -const LC30 = board.add(C_0805_2012Metric, { - translate: pt(1.819, 1.952), rotate: 0, - id: 'LC30' -}) -// nfc.ctvdd2.cap -const LC31 = board.add(C_0805_2012Metric, { - translate: pt(1.147, 2.104), rotate: 0, - id: 'LC31' -}) -// nfc.cvddpad.cap -const LC32 = board.add(C_0603_1608Metric, { - translate: pt(1.468, 2.094), rotate: 0, - id: 'LC32' -}) -// nfc.cvddmid.cap -const LC33 = board.add(C_0603_1608Metric, { - translate: pt(1.624, 2.094), rotate: 0, - id: 'LC33' -}) -// nfc.xtal.package -const LX2 = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { - translate: pt(1.488, 1.807), rotate: 0, - id: 'LX2' -}) -// nfc.xtal.cap_a -const LC34 = board.add(C_0603_1608Metric, { - translate: pt(1.780, 2.094), rotate: 0, - id: 'LC34' -}) -// nfc.xtal.cap_b -const LC35 = board.add(C_0603_1608Metric, { - translate: pt(1.935, 2.094), rotate: 0, - id: 'LC35' -}) -// nfc.rx.rrx1 -const LR13 = board.add(R_0603_1608Metric, { - translate: pt(1.139, 2.211), rotate: 0, - id: 'LR13' -}) -// nfc.rx.rrx2 -const LR14 = board.add(R_0603_1608Metric, { - translate: pt(1.294, 2.211), rotate: 0, - id: 'LR14' -}) -// nfc.rx.crx1 -const LC36 = board.add(C_0603_1608Metric, { - translate: pt(1.450, 2.211), rotate: 0, - id: 'LC36' -}) -// nfc.rx.crx2 -const LC37 = board.add(C_0603_1608Metric, { - translate: pt(1.606, 2.211), rotate: 0, - id: 'LC37' -}) -// nfc.emc.l1 -const LL7 = board.add(L_0603_1608Metric, { - translate: pt(1.762, 2.211), rotate: 0, - id: 'LL7' -}) -// nfc.emc.l2 -const LL8 = board.add(L_0603_1608Metric, { - translate: pt(1.918, 2.211), rotate: 0, - id: 'LL8' -}) -// nfc.emc.c1 -const LC38 = board.add(C_0603_1608Metric, { - translate: pt(1.139, 2.307), rotate: 0, - id: 'LC38' -}) -// nfc.emc.c2 -const LC39 = board.add(C_0603_1608Metric, { - translate: pt(1.294, 2.307), rotate: 0, - id: 'LC39' -}) -// nfc.ant -const LANT1 = board.add(an13219, { - translate: pt(1.392, 2.376), rotate: 0, - id: 'LANT1' -}) -// nfc.damp.r1 -const LR15 = board.add(R_0603_1608Metric, { - translate: pt(1.450, 2.307), rotate: 0, - id: 'LR15' -}) -// nfc.damp.r2 -const LR16 = board.add(R_0603_1608Metric, { - translate: pt(1.606, 2.307), rotate: 0, - id: 'LR16' -}) -// nfc.match.cs1 -const LC40 = board.add(C_0603_1608Metric, { - translate: pt(1.762, 2.307), rotate: 0, - id: 'LC40' -}) -// nfc.match.cs2 -const LC41 = board.add(C_0603_1608Metric, { - translate: pt(1.918, 2.307), rotate: 0, - id: 'LC41' -}) -// nfc.match.cp1 -const LC42 = board.add(C_0603_1608Metric, { - translate: pt(1.139, 2.404), rotate: 0, - id: 'LC42' -}) -// nfc.match.cp2 -const LC43 = board.add(C_0603_1608Metric, { - translate: pt(1.294, 2.404), rotate: 0, - id: 'LC43' -}) -// tx_cpack.cap -const LC44 = board.add(C_0603_1608Metric, { - translate: pt(3.499, 2.626), rotate: 0, - id: 'LC44' -}) - -board.setNetlist([ - {name: "Lgnd", pads: [["LU3", "3"], ["LJ5", "6"], ["LJ5", "11"], ["LU7", "1"], ["LJ1", "A1"], ["LJ1", "B12"], ["LJ1", "B1"], ["LJ1", "A12"], ["LTP1", "1"], ["LU1", "1"], ["LD1", "2"], ["LU2", "1"], ["LU2", "40"], ["LU2", "41"], ["LR4", "2"], ["LR5", "2"], ["LR6", "2"], ["LU4", "2"], ["LU4", "5"], ["LU4", "8"], ["LU4", "20"], ["LU4", "25"], ["LX1", "2"], ["LX1", "4"], ["LU8", "1"], ["LU8", "3"], ["LU8", "4"], ["LU8", "9"], ["LU8", "20"], ["LU8", "41"], ["LU5", "2"], ["LJ3", "2"], ["LJ1", "S1"], ["LR11", "2"], ["LC1", "2"], ["LC2", "2"], ["LC3", "2"], ["LC4", "2"], ["LJ2", "5"], ["LSW1", "2"], ["LC6", "2"], ["LC7", "2"], ["LC8", "2"], ["LC9", "2"], ["LC10", "2"], ["LC16", "2"], ["LC21", "2"], ["LC22", "2"], ["LC23", "2"], ["LC24", "2"], ["LC25", "2"], ["LC26", "2"], ["LC27", "2"], ["LC28", "2"], ["LC29", "2"], ["LC30", "2"], ["LC31", "2"], ["LC32", "2"], ["LC33", "2"], ["LX2", "2"], ["LX2", "4"], ["LC5", "2"], ["LR1", "1"], ["LR2", "1"], ["LC14", "2"], ["LC17", "2"], ["LC18", "2"], ["LJ4", "8"], ["LJ4", "1"], ["LJ4", "30"], ["LJ4", "29"], ["LJ4", "17"], ["LJ4", "16"], ["LJ4", "21"], ["LJ4", "22"], ["LJ4", "23"], ["LJ4", "24"], ["LJ4", "25"], ["LJ4", "12"], ["LJ4", "10"], ["LJ4", "15"], ["LJ4", "13"], ["LC34", "2"], ["LC35", "2"], ["LC38", "2"], ["LC39", "2"], ["LC42", "2"], ["LC43", "2"], ["LC44", "2"]]}, - {name: "Lpwr", pads: [["LFB1", "2"], ["LTP2", "1"], ["LU1", "3"], ["LU8", "12"], ["LU8", "28"], ["LU8", "13"], ["LC1", "1"], ["LC25", "1"], ["LC26", "1"], ["LC27", "1"]]}, - {name: "Lv3v3", pads: [["LJ5", "4"], ["LU7", "3"], ["LU1", "2"], ["LTP3", "1"], ["LD1", "1"], ["LU2", "2"], ["LU4", "1"], ["LU4", "10"], ["LU4", "11"], ["LR12", "1"], ["LU8", "6"], ["LC2", "1"], ["LC3", "1"], ["LC4", "1"], ["LJ2", "1"], ["LC7", "1"], ["LC8", "1"], ["LR7", "1"], ["LR9", "1"], ["LR10", "1"], ["LJ4", "9"], ["LJ4", "6"], ["LC22", "1"], ["LC23", "1"], ["LC32", "1"], ["LR3", "1"], ["LJ4", "11"]]}, - {name: "Lusb.pwr", pads: [["LJ1", "A4"], ["LJ1", "B9"], ["LJ1", "B4"], ["LJ1", "A9"], ["LFB1", "1"]]}, - {name: "Lusb_chain_0.d_P", pads: [["LJ1", "A6"], ["LJ1", "B6"], ["LU3", "2"], ["LU2", "14"]]}, - {name: "Lusb_chain_0.d_N", pads: [["LJ1", "A7"], ["LJ1", "B7"], ["LU3", "1"], ["LU2", "13"]]}, - {name: "Lledr.signal", pads: [["LU2", "34"], ["LD2", "2"]]}, - {name: "Lledg.signal", pads: [["LU2", "35"], ["LD3", "2"]]}, - {name: "Lledb.signal", pads: [["LU2", "39"], ["LD4", "2"]]}, - {name: "Ltp_lora_spi.io.sck", pads: [["LU2", "5"], ["LU4", "18"], ["LTP4", "1"]]}, - {name: "Ltp_lora_spi.io.mosi", pads: [["LU2", "6"], ["LU4", "17"], ["LTP5", "1"]]}, - {name: "Ltp_lora_spi.io.miso", pads: [["LU2", "15"], ["LU4", "16"], ["LTP6", "1"]]}, - {name: "Ltp_lora_cs.io", pads: [["LU2", "7"], ["LU4", "19"], ["LTP7", "1"]]}, - {name: "Ltp_lora_rst.io", pads: [["LU2", "12"], ["LU4", "15"], ["LTP8", "1"]]}, - {name: "Ltp_lora_dio.io", pads: [["LU2", "31"], ["LU4", "13"], ["LTP9", "1"]]}, - {name: "Llora.busy", pads: [["LU2", "33"], ["LU4", "14"], ["LTP10", "1"]]}, - {name: "Li2c_pull.i2c.scl", pads: [["LU2", "10"], ["LU8", "7"], ["LR9", "2"], ["LTP11", "1"], ["LJ4", "18"]]}, - {name: "Li2c_pull.i2c.sda", pads: [["LU2", "11"], ["LU8", "5"], ["LR10", "2"], ["LTP12", "1"], ["LJ4", "19"], ["LJ4", "20"]]}, - {name: "Loled_rst.nreset", pads: [["LU7", "2"], ["LR12", "2"], ["LJ4", "14"]]}, - {name: "Lsd.spi.sck", pads: [["LU2", "22"], ["LJ5", "5"]]}, - {name: "Lsd.spi.mosi", pads: [["LU2", "19"], ["LJ5", "3"]]}, - {name: "Lsd.spi.miso", pads: [["LU2", "38"], ["LJ5", "7"]]}, - {name: "Lsd.cs", pads: [["LU2", "21"], ["LJ5", "2"]]}, - {name: "Lnfc.reset", pads: [["LU8", "10"], ["LU2", "32"]]}, - {name: "Lnfc.irq", pads: [["LU8", "8"], ["LU2", "24"]]}, - {name: "Ltx_cpack.pos.0", pads: [["LL3", "2"], ["LC13", "1"], ["LC44", "1"], ["LL4", "1"]]}, - {name: "Lusb.conn.cc.cc1", pads: [["LJ1", "A5"], ["LR1", "2"]]}, - {name: "Lusb.conn.cc.cc2", pads: [["LJ1", "B5"], ["LR2", "2"]]}, - {name: "Lmcu.program_uart_node.a_tx", pads: [["LU2", "37"], ["LJ2", "3"]]}, - {name: "Lmcu.program_uart_node.b_tx", pads: [["LU2", "36"], ["LJ2", "4"]]}, - {name: "Lmcu.program_en_node", pads: [["LU2", "3"], ["LJ2", "6"], ["LR3", "2"], ["LC5", "1"]]}, - {name: "Lmcu.program_boot_node", pads: [["LU2", "27"], ["LSW1", "1"], ["LJ2", "2"]]}, - {name: "Lledr.res.a", pads: [["LR4", "1"], ["LD2", "1"]]}, - {name: "Lledg.res.a", pads: [["LR5", "1"], ["LD3", "1"]]}, - {name: "Lledb.res.a", pads: [["LR6", "1"], ["LD4", "1"]]}, - {name: "Llora.xtal.crystal.xtal_in", pads: [["LX1", "1"], ["LU4", "3"]]}, - {name: "Llora.xtal.crystal.xtal_out", pads: [["LX1", "3"], ["LU4", "4"]]}, - {name: "Llora.ic.vreg", pads: [["LU4", "7"], ["LL1", "2"], ["LC6", "1"]]}, - {name: "Llora.ic.vr_pa", pads: [["LU4", "24"], ["LL2", "1"], ["LC9", "1"], ["LC10", "1"]]}, - {name: "Llora.dcc_l.a", pads: [["LL1", "1"], ["LU4", "9"]]}, - {name: "Llora.rf_sw.ctrl", pads: [["LU4", "12"], ["LR8", "1"]]}, - {name: "Llora.tx_dcblock.pos", pads: [["LC11", "1"], ["LU5", "1"]]}, - {name: "Llora.rfc_dcblock.neg", pads: [["LC12", "2"], ["LU5", "5"]]}, - {name: "Llora.ic.rfo", pads: [["LU4", "23"], ["LL2", "2"], ["LL3", "1"], ["LC13", "2"]]}, - {name: "Llora.tx_pi.output", pads: [["LC11", "2"], ["LL4", "2"], ["LC14", "1"]]}, - {name: "Llora.balun.input", pads: [["LC15", "1"], ["LU5", "3"]]}, - {name: "Llora.balun.rfi_n", pads: [["LU4", "22"], ["LC15", "2"], ["LL5", "1"]]}, - {name: "Llora.balun.rfi_p", pads: [["LU4", "21"], ["LC16", "1"], ["LL5", "2"]]}, - {name: "Llora.rfc_dcblock.pos", pads: [["LC12", "1"], ["LC17", "1"], ["LL6", "1"]]}, - {name: "Llora.ant_pi.output", pads: [["LJ3", "1"], ["LL6", "2"], ["LC18", "1"]]}, - {name: "Llora.ic.dio3", pads: [["LU4", "6"]]}, - {name: "Llora.rf_sw.vdd_res.b", pads: [["LR7", "2"], ["LU5", "6"]]}, - {name: "Llora.rf_sw.ctrl_res.b", pads: [["LR8", "2"], ["LU5", "4"]]}, - {name: "Loled.c1_cap.pos", pads: [["LC19", "1"], ["LJ4", "4"]]}, - {name: "Loled.c1_cap.neg", pads: [["LC19", "2"], ["LJ4", "5"]]}, - {name: "Loled.c2_cap.pos", pads: [["LC20", "1"], ["LJ4", "2"]]}, - {name: "Loled.c2_cap.neg", pads: [["LC20", "2"], ["LJ4", "3"]]}, - {name: "Loled.iref_res.a", pads: [["LR11", "1"], ["LJ4", "26"]]}, - {name: "Loled.device.vcomh", pads: [["LJ4", "27"], ["LC21", "1"]]}, - {name: "Loled.device.vcc", pads: [["LJ4", "28"], ["LC24", "1"]]}, - {name: "Lnfc.ic.vdd", pads: [["LU8", "26"], ["LU8", "27"], ["LU8", "31"], ["LC28", "1"], ["LC29", "1"]]}, - {name: "Lnfc.ic.vddtx", pads: [["LU8", "14"], ["LU8", "18"], ["LU8", "22"], ["LC30", "1"], ["LC31", "1"]]}, - {name: "Lnfc.ic.vddmid", pads: [["LU8", "17"], ["LC33", "1"]]}, - {name: "Lnfc.ic.xtal.xtal_in", pads: [["LU8", "30"], ["LX2", "1"], ["LC34", "1"]]}, - {name: "Lnfc.ic.xtal.xtal_out", pads: [["LU8", "29"], ["LX2", "3"], ["LC35", "1"]]}, - {name: "Lnfc.ic.rxp", pads: [["LU8", "16"], ["LC36", "2"]]}, - {name: "Lnfc.ic.rxn", pads: [["LU8", "15"], ["LC37", "2"]]}, - {name: "Lnfc.ic.tx1", pads: [["LU8", "21"], ["LL7", "1"]]}, - {name: "Lnfc.ic.tx2", pads: [["LU8", "19"], ["LL8", "1"]]}, - {name: "Lnfc.damp.ant1", pads: [["LR15", "2"], ["LANT1", "1"]]}, - {name: "Lnfc.damp.ant2", pads: [["LR16", "2"], ["LANT1", "2"]]}, - {name: "Lnfc.emc.out1", pads: [["LC40", "1"], ["LR13", "1"], ["LL7", "2"], ["LC38", "1"]]}, - {name: "Lnfc.emc.out2", pads: [["LC41", "1"], ["LR14", "1"], ["LL8", "2"], ["LC39", "1"]]}, - {name: "Lnfc.match.out1", pads: [["LR15", "1"], ["LC40", "2"], ["LC42", "1"]]}, - {name: "Lnfc.match.out2", pads: [["LR16", "1"], ["LC41", "2"], ["LC43", "1"]]}, - {name: "Lnfc.rx.rrx1.b", pads: [["LR13", "2"], ["LC36", "1"]]}, - {name: "Lnfc.rx.rrx2.b", pads: [["LR14", "2"], ["LC37", "1"]]} -]) - -const limit0 = pt(-0.07874015748031496, -0.07874015748031496); -const limit1 = pt(4.25767716535433, 2.8696850393700797); -const xMin = Math.min(limit0[0], limit1[0]); -const xMax = Math.max(limit0[0], limit1[0]); -const yMin = Math.min(limit0[1], limit1[1]); -const yMax = Math.max(limit0[1], limit1[1]); - -const filletRadius = 0.1; -const outline = path( - [(xMin+xMax/2), yMax], - ["fillet", filletRadius, [xMax, yMax]], - ["fillet", filletRadius, [xMax, yMin]], - ["fillet", filletRadius, [xMin, yMin]], - ["fillet", filletRadius, [xMin, yMax]], - [(xMin+xMax/2), yMax], -); -board.addShape("outline", outline); - -renderPCB({ - pcb: board, - layerColors: { - "F.Paste": "#000000ff", - "F.Mask": "#000000ff", - "B.Mask": "#000000ff", - "componentLabels": "#00e5e5e5", - "outline": "#002d00ff", - "padLabels": "#ffff99e5", - "B.Cu": "#ef4e4eff", - "F.Cu": "#ff8c00cc", - }, - limits: { - x: [xMin, xMax], - y: [yMin, yMax] - }, - background: "#00000000", - mmPerUnit: 25.4 -}) - - diff --git a/examples/EspProgrammer/EspProgrammer.svgpcb.js b/examples/EspProgrammer/EspProgrammer.svgpcb.js index ddc142821..22ea3889a 100644 --- a/examples/EspProgrammer/EspProgrammer.svgpcb.js +++ b/examples/EspProgrammer/EspProgrammer.svgpcb.js @@ -102,22 +102,22 @@ const UR4 = board.add(R_0402_1005Metric, { }) // led.package const UD2 = board.add(LED_0603_1608Metric, { - translate: pt(0.058, 1.227), rotate: 0, + translate: pt(1.259, 0.788), rotate: 0, id: 'UD2' }) // led.res const UR5 = board.add(R_0402_1005Metric, { - translate: pt(0.037, 1.314), rotate: 0, + translate: pt(1.237, 0.875), rotate: 0, id: 'UR5' }) // led_en.package const UD3 = board.add(LED_0603_1608Metric, { - translate: pt(1.259, 0.788), rotate: 0, + translate: pt(0.058, 1.227), rotate: 0, id: 'UD3' }) // led_en.res const UR6 = board.add(R_0402_1005Metric, { - translate: pt(1.237, 0.875), rotate: 0, + translate: pt(0.037, 1.314), rotate: 0, id: 'UR6' }) diff --git a/examples/Fcml/Fcml.net b/examples/Fcml/Fcml.net deleted file mode 100644 index e61259564..000000000 --- a/examples/Fcml/Fcml.net +++ /dev/null @@ -1,2745 +0,0 @@ -(export (version D) -(components -(comp (ref "H1") - (value "jlc_th.th1") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th1")) - (property (name "edg_short_path") (value "jlc_th.th1")) - (property (name "edg_refdes") (value "H1")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "0260010e")) -(comp (ref "H2") - (value "jlc_th.th2") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th2")) - (property (name "edg_short_path") (value "jlc_th.th2")) - (property (name "edg_refdes") (value "H2")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "0261010f")) -(comp (ref "H3") - (value "jlc_th.th3") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th3")) - (property (name "edg_short_path") (value "jlc_th.th3")) - (property (name "edg_refdes") (value "H3")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "02620110")) -(comp (ref "J1") - (value "usb_mcu.conn") - (footprint "Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11") - (property (name "Sheetname") (value "usb_mcu")) - (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCReceptacle")) - (property (name "edg_path") (value "usb_mcu.conn")) - (property (name "edg_short_path") (value "usb_mcu.conn")) - (property (name "edg_refdes") (value "J1")) - (property (name "edg_part") (value "COM-15111 (Sparkfun)")) - (property (name "edg_value") (value "COM-15111")) - (sheetpath (names "/usb_mcu/") (tstamps "/0bd402ef/")) - (tstamps "042701af")) -(comp (ref "R1") - (value "usb_mcu.cc_pull.cc1") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "cc_pull")) - (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) - (property (name "edg_path") (value "usb_mcu.cc_pull.cc1.res")) - (property (name "edg_short_path") (value "usb_mcu.cc_pull.cc1")) - (property (name "edg_refdes") (value "R1")) - (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/usb_mcu/cc_pull/") (tstamps "/0bd402ef/0b4c02e3/")) - (tstamps "022300f8")) -(comp (ref "R2") - (value "usb_mcu.cc_pull.cc2") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "cc_pull")) - (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) - (property (name "edg_path") (value "usb_mcu.cc_pull.cc2.res")) - (property (name "edg_short_path") (value "usb_mcu.cc_pull.cc2")) - (property (name "edg_refdes") (value "R2")) - (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/usb_mcu/cc_pull/") (tstamps "/0bd402ef/0b4c02e3/")) - (tstamps "022400f9")) -(comp (ref "J2") - (value "usb_fpga.conn") - (footprint "Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11") - (property (name "Sheetname") (value "usb_fpga")) - (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCReceptacle")) - (property (name "edg_path") (value "usb_fpga.conn")) - (property (name "edg_short_path") (value "usb_fpga.conn")) - (property (name "edg_refdes") (value "J2")) - (property (name "edg_part") (value "COM-15111 (Sparkfun)")) - (property (name "edg_value") (value "COM-15111")) - (sheetpath (names "/usb_fpga/") (tstamps "/0f130348/")) - (tstamps "042701af")) -(comp (ref "R3") - (value "usb_fpga.cc_pull.cc1") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "cc_pull")) - (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) - (property (name "edg_path") (value "usb_fpga.cc_pull.cc1.res")) - (property (name "edg_short_path") (value "usb_fpga.cc_pull.cc1")) - (property (name "edg_refdes") (value "R3")) - (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/usb_fpga/cc_pull/") (tstamps "/0f130348/0b4c02e3/")) - (tstamps "022300f8")) -(comp (ref "R4") - (value "usb_fpga.cc_pull.cc2") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "cc_pull")) - (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) - (property (name "edg_path") (value "usb_fpga.cc_pull.cc2.res")) - (property (name "edg_short_path") (value "usb_fpga.cc_pull.cc2")) - (property (name "edg_refdes") (value "R4")) - (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/usb_fpga/cc_pull/") (tstamps "/0f130348/0b4c02e3/")) - (tstamps "022400f9")) -(comp (ref "J3") - (value "conv_in") - (footprint "Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "conv_in.conn")) - (property (name "edg_short_path") (value "conv_in")) - (property (name "edg_refdes") (value "J3")) - (property (name "edg_part") (value "B2B-PH-K (JST)")) - (property (name "edg_value") (value "B2B-PH-K")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0bb102ed")) -(comp (ref "TP1") - (value "vusb") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_vusb.tp")) - (property (name "edg_short_path") (value "tp_vusb")) - (property (name "edg_refdes") (value "TP1")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "vusb")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0c2d0304")) -(comp (ref "TP2") - (value "gnd") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_gnd.tp")) - (property (name "edg_short_path") (value "tp_gnd")) - (property (name "edg_refdes") (value "TP2")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "gnd")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "08df027d")) -(comp (ref "U1") - (value "reg_3v3.ic") - (footprint "Package_TO_SOT_SMD:SOT-223-3_TabPin2") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) - (property (name "edg_path") (value "reg_3v3.ic")) - (property (name "edg_short_path") (value "reg_3v3.ic")) - (property (name "edg_refdes") (value "U1")) - (property (name "edg_part") (value "LDL1117S33R (STMicroelectronics)")) - (property (name "edg_value") (value "LDL1117S33R")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "013700cd")) -(comp (ref "C1") - (value "reg_3v3.in_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) - (property (name "edg_path") (value "reg_3v3.in_cap.cap")) - (property (name "edg_short_path") (value "reg_3v3.in_cap")) - (property (name "edg_refdes") (value "C1")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "0879026b")) -(comp (ref "C2") - (value "reg_3v3.out_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) - (property (name "edg_path") (value "reg_3v3.out_cap.cap")) - (property (name "edg_short_path") (value "reg_3v3.out_cap")) - (property (name "edg_refdes") (value "C2")) - (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "0be902ec")) -(comp (ref "TP3") - (value "v3v3") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_3v3.tp")) - (property (name "edg_short_path") (value "tp_3v3")) - (property (name "edg_refdes") (value "TP3")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "v3v3")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "08220220")) -(comp (ref "D1") - (value "prot_3v3") - (footprint "Diode_SMD:D_SOD-323") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "prot_3v3.diode")) - (property (name "edg_short_path") (value "prot_3v3")) - (property (name "edg_refdes") (value "D1")) - (property (name "edg_part") (value "BZT52B3V6S (SMC(Sangdest Microelectronicstronic (Nanjing)))")) - (property (name "edg_value") (value "5μA@1V 90Ω Single 3.53V~3.67V 200mW 3.6V SOD-323 Zener Diodes ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0eb80301")) -(comp (ref "U2") - (value "reg_vgate.ic") - (footprint "Package_TO_SOT_SMD:SOT-23-5") - (property (name "Sheetname") (value "reg_vgate")) - (property (name "Sheetfile") (value "edg.parts.BoostConverter_DiodesInc.Ap3012")) - (property (name "edg_path") (value "reg_vgate.ic")) - (property (name "edg_short_path") (value "reg_vgate.ic")) - (property (name "edg_refdes") (value "U2")) - (property (name "edg_part") (value "AP3012K (Diodes Incorporated)")) - (property (name "edg_value") (value "AP3012K")) - (sheetpath (names "/reg_vgate/") (tstamps "/129803b5/")) - (tstamps "013700cd")) -(comp (ref "R5") - (value "reg_vgate.fb.top_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "fb")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) - (property (name "edg_path") (value "reg_vgate.fb.div.top_res")) - (property (name "edg_short_path") (value "reg_vgate.fb.top_res")) - (property (name "edg_refdes") (value "R5")) - (property (name "edg_part") (value "0603WAF6802T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 68kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/reg_vgate/fb/") (tstamps "/129803b5/013000c9/")) - (tstamps "0c0c02fd")) -(comp (ref "R6") - (value "reg_vgate.fb.bottom_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "fb")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) - (property (name "edg_path") (value "reg_vgate.fb.div.bottom_res")) - (property (name "edg_short_path") (value "reg_vgate.fb.bottom_res")) - (property (name "edg_refdes") (value "R6")) - (property (name "edg_part") (value "0603WAF1102T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 11kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/reg_vgate/fb/") (tstamps "/129803b5/013000c9/")) - (tstamps "175b043f")) -(comp (ref "L1") - (value "reg_vgate.power_path.inductor") - (footprint "Inductor_SMD:L_Sunlord_SWPA3012S") - (property (name "Sheetname") (value "power_path")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BoostConverterPowerPath")) - (property (name "edg_path") (value "reg_vgate.power_path.inductor")) - (property (name "edg_short_path") (value "reg_vgate.power_path.inductor")) - (property (name "edg_refdes") (value "L1")) - (property (name "edg_part") (value "SWPA3012S220MT (Sunlord)")) - (property (name "edg_value") (value "530mA 22uH ±20% 839mΩ SMD Power Inductors ROHS")) - (sheetpath (names "/reg_vgate/power_path/") (tstamps "/129803b5/1786043a/")) - (tstamps "0f2b0369")) -(comp (ref "C3") - (value "reg_vgate.power_path.in_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "power_path")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BoostConverterPowerPath")) - (property (name "edg_path") (value "reg_vgate.power_path.in_cap.cap")) - (property (name "edg_short_path") (value "reg_vgate.power_path.in_cap")) - (property (name "edg_refdes") (value "C3")) - (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_vgate/power_path/") (tstamps "/129803b5/1786043a/")) - (tstamps "0879026b")) -(comp (ref "C4") - (value "reg_vgate.power_path.out_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "power_path")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BoostConverterPowerPath")) - (property (name "edg_path") (value "reg_vgate.power_path.out_cap.cap")) - (property (name "edg_short_path") (value "reg_vgate.power_path.out_cap")) - (property (name "edg_refdes") (value "C4")) - (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_vgate/power_path/") (tstamps "/129803b5/1786043a/")) - (tstamps "0be902ec")) -(comp (ref "D2") - (value "reg_vgate.rect") - (footprint "Diode_SMD:D_SOD-323") - (property (name "Sheetname") (value "reg_vgate")) - (property (name "Sheetfile") (value "edg.parts.BoostConverter_DiodesInc.Ap3012")) - (property (name "edg_path") (value "reg_vgate.rect")) - (property (name "edg_short_path") (value "reg_vgate.rect")) - (property (name "edg_refdes") (value "D2")) - (property (name "edg_part") (value "CUS10S30,H3F (TOSHIBA)")) - (property (name "edg_value") (value "30V 230mV@100mA 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) - (sheetpath (names "/reg_vgate/") (tstamps "/129803b5/")) - (tstamps "043501af")) -(comp (ref "TP4") - (value "vgate") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_vgate.tp")) - (property (name "edg_short_path") (value "tp_vgate")) - (property (name "edg_refdes") (value "TP4")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "vgate")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0f4c035b")) -(comp (ref "L2") - (value "conv.power_path.inductor") - (footprint "Inductor_SMD:L_Sunlord_SWRB1207S") - (property (name "Sheetname") (value "power_path")) - (property (name "Sheetfile") (value "examples.test_fcml.FcmlPowerPath")) - (property (name "edg_path") (value "conv.power_path.inductor")) - (property (name "edg_short_path") (value "conv.power_path.inductor")) - (property (name "edg_refdes") (value "L2")) - (property (name "edg_part") (value "SWRB1207S-100MT (Sunlord)")) - (property (name "edg_value") (value "5.4A 10uH ±20% 21mΩ SMD Power Inductors ROHS")) - (sheetpath (names "/conv/power_path/") (tstamps "/042f01b7/1786043a/")) - (tstamps "0f2b0369")) -(comp (ref "C5") - (value "conv.power_path.in_cap.c[0]") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "in_cap")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) - (property (name "edg_path") (value "conv.power_path.in_cap.cap.c[0]")) - (property (name "edg_short_path") (value "conv.power_path.in_cap.c[0]")) - (property (name "edg_refdes") (value "C5")) - (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/power_path/in_cap/") (tstamps "/042f01b7/1786043a/0879026b/")) - (tstamps "035e014c")) -(comp (ref "C6") - (value "conv.power_path.in_cap.c[1]") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "in_cap")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) - (property (name "edg_path") (value "conv.power_path.in_cap.cap.c[1]")) - (property (name "edg_short_path") (value "conv.power_path.in_cap.c[1]")) - (property (name "edg_refdes") (value "C6")) - (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/power_path/in_cap/") (tstamps "/042f01b7/1786043a/0879026b/")) - (tstamps "0360014d")) -(comp (ref "C7") - (value "conv.power_path.in_cap.c[2]") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "in_cap")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) - (property (name "edg_path") (value "conv.power_path.in_cap.cap.c[2]")) - (property (name "edg_short_path") (value "conv.power_path.in_cap.c[2]")) - (property (name "edg_refdes") (value "C7")) - (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/power_path/in_cap/") (tstamps "/042f01b7/1786043a/0879026b/")) - (tstamps "0362014e")) -(comp (ref "C8") - (value "conv.power_path.in_cap.c[3]") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "in_cap")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) - (property (name "edg_path") (value "conv.power_path.in_cap.cap.c[3]")) - (property (name "edg_short_path") (value "conv.power_path.in_cap.c[3]")) - (property (name "edg_refdes") (value "C8")) - (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/power_path/in_cap/") (tstamps "/042f01b7/1786043a/0879026b/")) - (tstamps "0364014f")) -(comp (ref "C9") - (value "conv.power_path.in_cap.c[4]") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "in_cap")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) - (property (name "edg_path") (value "conv.power_path.in_cap.cap.c[4]")) - (property (name "edg_short_path") (value "conv.power_path.in_cap.c[4]")) - (property (name "edg_refdes") (value "C9")) - (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/power_path/in_cap/") (tstamps "/042f01b7/1786043a/0879026b/")) - (tstamps "03660150")) -(comp (ref "C10") - (value "conv.power_path.out_cap.c[0]") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "out_cap")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) - (property (name "edg_path") (value "conv.power_path.out_cap.cap.c[0]")) - (property (name "edg_short_path") (value "conv.power_path.out_cap.c[0]")) - (property (name "edg_refdes") (value "C10")) - (property (name "edg_part") (value "CL31A226KPHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "10V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/power_path/out_cap/") (tstamps "/042f01b7/1786043a/0be902ec/")) - (tstamps "035e014c")) -(comp (ref "C11") - (value "conv.power_path.out_cap.c[1]") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "out_cap")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) - (property (name "edg_path") (value "conv.power_path.out_cap.cap.c[1]")) - (property (name "edg_short_path") (value "conv.power_path.out_cap.c[1]")) - (property (name "edg_refdes") (value "C11")) - (property (name "edg_part") (value "CL31A226KPHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "10V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/power_path/out_cap/") (tstamps "/042f01b7/1786043a/0be902ec/")) - (tstamps "0360014d")) -(comp (ref "C12") - (value "conv.power_path.out_cap.c[2]") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "out_cap")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) - (property (name "edg_path") (value "conv.power_path.out_cap.cap.c[2]")) - (property (name "edg_short_path") (value "conv.power_path.out_cap.c[2]")) - (property (name "edg_refdes") (value "C12")) - (property (name "edg_part") (value "CL31A226KPHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "10V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/power_path/out_cap/") (tstamps "/042f01b7/1786043a/0be902ec/")) - (tstamps "0362014e")) -(comp (ref "U3") - (value "conv.sw[0].driver.ic") - (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") - (property (name "Sheetname") (value "driver")) - (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) - (property (name "edg_path") (value "conv.sw[0].driver.ic")) - (property (name "edg_short_path") (value "conv.sw[0].driver.ic")) - (property (name "edg_refdes") (value "U3")) - (property (name "edg_part") (value "IR2301 (Infineon Technologies)")) - (property (name "edg_value") (value "IR2301")) - (sheetpath (names "/conv/sw[0]/driver/") (tstamps "/042f01b7/05ee01d3/08da028d/")) - (tstamps "013700cd")) -(comp (ref "C13") - (value "conv.sw[0].driver.cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "driver")) - (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) - (property (name "edg_path") (value "conv.sw[0].driver.cap.cap")) - (property (name "edg_short_path") (value "conv.sw[0].driver.cap")) - (property (name "edg_refdes") (value "C13")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[0]/driver/") (tstamps "/042f01b7/05ee01d3/08da028d/")) - (tstamps "025e0135")) -(comp (ref "C14") - (value "conv.sw[0].driver.high_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "driver")) - (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) - (property (name "edg_path") (value "conv.sw[0].driver.high_cap.cap")) - (property (name "edg_short_path") (value "conv.sw[0].driver.high_cap")) - (property (name "edg_refdes") (value "C14")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[0]/driver/") (tstamps "/042f01b7/05ee01d3/08da028d/")) - (tstamps "0e700334")) -(comp (ref "R7") - (value "conv.sw[0].high_gate_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "sw[0]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[0].high_gate_res")) - (property (name "edg_short_path") (value "conv.sw[0].high_gate_res")) - (property (name "edg_refdes") (value "R7")) - (property (name "edg_part") (value "0603WAF220JT5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/conv/sw[0]/") (tstamps "/042f01b7/05ee01d3/")) - (tstamps "24b4054a")) -(comp (ref "R8") - (value "conv.sw[0].low_gate_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "sw[0]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[0].low_gate_res")) - (property (name "edg_short_path") (value "conv.sw[0].low_gate_res")) - (property (name "edg_refdes") (value "R8")) - (property (name "edg_part") (value "0603WAF220JT5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/conv/sw[0]/") (tstamps "/042f01b7/05ee01d3/")) - (tstamps "207d04fc")) -(comp (ref "Q1") - (value "conv.sw[0].high_fet") - (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") - (property (name "Sheetname") (value "sw[0]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[0].high_fet")) - (property (name "edg_short_path") (value "conv.sw[0].high_fet")) - (property (name "edg_refdes") (value "Q1")) - (property (name "edg_part") (value "HSM4410 (HUASHUO)")) - (property (name "edg_value") (value "30V 12A 2.5W 9.5mΩ@10V,12A 2.5V@250μA N Channel SOP-8 MOSFETs ROHS")) - (sheetpath (names "/conv/sw[0]/") (tstamps "/042f01b7/05ee01d3/")) - (tstamps "0e85033f")) -(comp (ref "Q2") - (value "conv.sw[0].low_fet") - (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") - (property (name "Sheetname") (value "sw[0]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[0].low_fet")) - (property (name "edg_short_path") (value "conv.sw[0].low_fet")) - (property (name "edg_refdes") (value "Q2")) - (property (name "edg_part") (value "HSM4410 (HUASHUO)")) - (property (name "edg_value") (value "30V 12A 2.5W 9.5mΩ@10V,12A 2.5V@250μA N Channel SOP-8 MOSFETs ROHS")) - (sheetpath (names "/conv/sw[0]/") (tstamps "/042f01b7/05ee01d3/")) - (tstamps "0bd402f1")) -(comp (ref "C15") - (value "conv.sw[0].high_boot_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "sw[0]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[0].high_boot_cap")) - (property (name "edg_short_path") (value "conv.sw[0].high_boot_cap")) - (property (name "edg_refdes") (value "C15")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[0]/") (tstamps "/042f01b7/05ee01d3/")) - (tstamps "24e30547")) -(comp (ref "D3") - (value "conv.sw[0].high_boot_diode") - (footprint "Diode_SMD:D_SOD-323") - (property (name "Sheetname") (value "sw[0]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[0].high_boot_diode.diode")) - (property (name "edg_short_path") (value "conv.sw[0].high_boot_diode")) - (property (name "edg_refdes") (value "D3")) - (property (name "edg_part") (value "1N5819WS (Guangdong Hottech)")) - (property (name "edg_value") (value "40V 600mV@1A 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) - (sheetpath (names "/conv/sw[0]/") (tstamps "/042f01b7/05ee01d3/")) - (tstamps "30c00618")) -(comp (ref "U4") - (value "conv.sw[1].ldo.ic") - (footprint "Package_TO_SOT_SMD:SOT-23-5") - (property (name "Sheetname") (value "ldo")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) - (property (name "edg_path") (value "conv.sw[1].ldo.ic")) - (property (name "edg_short_path") (value "conv.sw[1].ldo.ic")) - (property (name "edg_refdes") (value "U4")) - (property (name "edg_part") (value "AP2204K-3.3 (Diodes Incorporated)")) - (property (name "edg_value") (value "AP2204K-3.3")) - (sheetpath (names "/conv/sw[1]/ldo/") (tstamps "/042f01b7/05f001d4/027e0140/")) - (tstamps "013700cd")) -(comp (ref "C16") - (value "conv.sw[1].ldo.in_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "ldo")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) - (property (name "edg_path") (value "conv.sw[1].ldo.in_cap.cap")) - (property (name "edg_short_path") (value "conv.sw[1].ldo.in_cap")) - (property (name "edg_refdes") (value "C16")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[1]/ldo/") (tstamps "/042f01b7/05f001d4/027e0140/")) - (tstamps "0879026b")) -(comp (ref "C17") - (value "conv.sw[1].ldo.out_cap") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "ldo")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) - (property (name "edg_path") (value "conv.sw[1].ldo.out_cap.cap")) - (property (name "edg_short_path") (value "conv.sw[1].ldo.out_cap")) - (property (name "edg_refdes") (value "C17")) - (property (name "edg_part") (value "CL31B225KBHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 2.2uF X7R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[1]/ldo/") (tstamps "/042f01b7/05f001d4/027e0140/")) - (tstamps "0be902ec")) -(comp (ref "U5") - (value "conv.sw[1].iso.ic") - (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") - (property (name "Sheetname") (value "iso")) - (property (name "Sheetfile") (value "edg.parts.Isolator_Cbmud1200.Cbmud1200l")) - (property (name "edg_path") (value "conv.sw[1].iso.ic")) - (property (name "edg_short_path") (value "conv.sw[1].iso.ic")) - (property (name "edg_refdes") (value "U5")) - (property (name "edg_part") (value "CBMuD1200L (Corebai)")) - (property (name "edg_value") (value "CBMuD1200L")) - (sheetpath (names "/conv/sw[1]/iso/") (tstamps "/042f01b7/05f001d4/0293014c/")) - (tstamps "013700cd")) -(comp (ref "C18") - (value "conv.sw[1].iso.cap_a") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "iso")) - (property (name "Sheetfile") (value "edg.parts.Isolator_Cbmud1200.Cbmud1200l")) - (property (name "edg_path") (value "conv.sw[1].iso.cap_a.cap")) - (property (name "edg_short_path") (value "conv.sw[1].iso.cap_a")) - (property (name "edg_refdes") (value "C18")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[1]/iso/") (tstamps "/042f01b7/05f001d4/0293014c/")) - (tstamps "05e701f5")) -(comp (ref "C19") - (value "conv.sw[1].iso.cap_b") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "iso")) - (property (name "Sheetfile") (value "edg.parts.Isolator_Cbmud1200.Cbmud1200l")) - (property (name "edg_path") (value "conv.sw[1].iso.cap_b.cap")) - (property (name "edg_short_path") (value "conv.sw[1].iso.cap_b")) - (property (name "edg_refdes") (value "C19")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[1]/iso/") (tstamps "/042f01b7/05f001d4/0293014c/")) - (tstamps "05e801f6")) -(comp (ref "U6") - (value "conv.sw[1].driver.ic") - (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") - (property (name "Sheetname") (value "driver")) - (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) - (property (name "edg_path") (value "conv.sw[1].driver.ic")) - (property (name "edg_short_path") (value "conv.sw[1].driver.ic")) - (property (name "edg_refdes") (value "U6")) - (property (name "edg_part") (value "IR2301 (Infineon Technologies)")) - (property (name "edg_value") (value "IR2301")) - (sheetpath (names "/conv/sw[1]/driver/") (tstamps "/042f01b7/05f001d4/08da028d/")) - (tstamps "013700cd")) -(comp (ref "C20") - (value "conv.sw[1].driver.cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "driver")) - (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) - (property (name "edg_path") (value "conv.sw[1].driver.cap.cap")) - (property (name "edg_short_path") (value "conv.sw[1].driver.cap")) - (property (name "edg_refdes") (value "C20")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[1]/driver/") (tstamps "/042f01b7/05f001d4/08da028d/")) - (tstamps "025e0135")) -(comp (ref "C21") - (value "conv.sw[1].driver.high_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "driver")) - (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) - (property (name "edg_path") (value "conv.sw[1].driver.high_cap.cap")) - (property (name "edg_short_path") (value "conv.sw[1].driver.high_cap")) - (property (name "edg_refdes") (value "C21")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[1]/driver/") (tstamps "/042f01b7/05f001d4/08da028d/")) - (tstamps "0e700334")) -(comp (ref "R9") - (value "conv.sw[1].high_gate_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "sw[1]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[1].high_gate_res")) - (property (name "edg_short_path") (value "conv.sw[1].high_gate_res")) - (property (name "edg_refdes") (value "R9")) - (property (name "edg_part") (value "0603WAF220JT5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/conv/sw[1]/") (tstamps "/042f01b7/05f001d4/")) - (tstamps "24b4054a")) -(comp (ref "C22") - (value "conv.sw[1].cap.c[0]") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "cap")) - (property (name "Sheetfile") (value "edg.parts.JlcCapacitor.JlcCapacitor")) - (property (name "edg_path") (value "conv.sw[1].cap.c[0]")) - (property (name "edg_short_path") (value "conv.sw[1].cap.c[0]")) - (property (name "edg_refdes") (value "C22")) - (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[1]/cap/") (tstamps "/042f01b7/05f001d4/025e0135/")) - (tstamps "035e014c")) -(comp (ref "C23") - (value "conv.sw[1].cap.c[1]") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "cap")) - (property (name "Sheetfile") (value "edg.parts.JlcCapacitor.JlcCapacitor")) - (property (name "edg_path") (value "conv.sw[1].cap.c[1]")) - (property (name "edg_short_path") (value "conv.sw[1].cap.c[1]")) - (property (name "edg_refdes") (value "C23")) - (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[1]/cap/") (tstamps "/042f01b7/05f001d4/025e0135/")) - (tstamps "0360014d")) -(comp (ref "R10") - (value "conv.sw[1].low_gate_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "sw[1]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[1].low_gate_res")) - (property (name "edg_short_path") (value "conv.sw[1].low_gate_res")) - (property (name "edg_refdes") (value "R10")) - (property (name "edg_part") (value "0603WAF220JT5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/conv/sw[1]/") (tstamps "/042f01b7/05f001d4/")) - (tstamps "207d04fc")) -(comp (ref "Q3") - (value "conv.sw[1].high_fet") - (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") - (property (name "Sheetname") (value "sw[1]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[1].high_fet")) - (property (name "edg_short_path") (value "conv.sw[1].high_fet")) - (property (name "edg_refdes") (value "Q3")) - (property (name "edg_part") (value "HSM4410 (HUASHUO)")) - (property (name "edg_value") (value "30V 12A 2.5W 9.5mΩ@10V,12A 2.5V@250μA N Channel SOP-8 MOSFETs ROHS")) - (sheetpath (names "/conv/sw[1]/") (tstamps "/042f01b7/05f001d4/")) - (tstamps "0e85033f")) -(comp (ref "Q4") - (value "conv.sw[1].low_fet") - (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") - (property (name "Sheetname") (value "sw[1]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[1].low_fet")) - (property (name "edg_short_path") (value "conv.sw[1].low_fet")) - (property (name "edg_refdes") (value "Q4")) - (property (name "edg_part") (value "HSM4410 (HUASHUO)")) - (property (name "edg_value") (value "30V 12A 2.5W 9.5mΩ@10V,12A 2.5V@250μA N Channel SOP-8 MOSFETs ROHS")) - (sheetpath (names "/conv/sw[1]/") (tstamps "/042f01b7/05f001d4/")) - (tstamps "0bd402f1")) -(comp (ref "D4") - (value "conv.sw[1].low_boot_diode") - (footprint "Diode_SMD:D_SOD-323") - (property (name "Sheetname") (value "sw[1]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[1].low_boot_diode.diode")) - (property (name "edg_short_path") (value "conv.sw[1].low_boot_diode")) - (property (name "edg_refdes") (value "D4")) - (property (name "edg_part") (value "1N5819WS (Guangdong Hottech)")) - (property (name "edg_value") (value "40V 600mV@1A 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) - (sheetpath (names "/conv/sw[1]/") (tstamps "/042f01b7/05f001d4/")) - (tstamps "2bed05ca")) -(comp (ref "C24") - (value "conv.sw[1].high_boot_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "sw[1]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[1].high_boot_cap")) - (property (name "edg_short_path") (value "conv.sw[1].high_boot_cap")) - (property (name "edg_refdes") (value "C24")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[1]/") (tstamps "/042f01b7/05f001d4/")) - (tstamps "24e30547")) -(comp (ref "C25") - (value "conv.sw[1].low_boot_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "sw[1]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[1].low_boot_cap")) - (property (name "edg_short_path") (value "conv.sw[1].low_boot_cap")) - (property (name "edg_refdes") (value "C25")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[1]/") (tstamps "/042f01b7/05f001d4/")) - (tstamps "20ac04f9")) -(comp (ref "D5") - (value "conv.sw[1].high_boot_diode") - (footprint "Diode_SMD:D_SOD-323") - (property (name "Sheetname") (value "sw[1]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[1].high_boot_diode.diode")) - (property (name "edg_short_path") (value "conv.sw[1].high_boot_diode")) - (property (name "edg_refdes") (value "D5")) - (property (name "edg_part") (value "1N5819WS (Guangdong Hottech)")) - (property (name "edg_value") (value "40V 600mV@1A 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) - (sheetpath (names "/conv/sw[1]/") (tstamps "/042f01b7/05f001d4/")) - (tstamps "30c00618")) -(comp (ref "U7") - (value "conv.sw[2].ldo.ic") - (footprint "Package_TO_SOT_SMD:SOT-23-5") - (property (name "Sheetname") (value "ldo")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) - (property (name "edg_path") (value "conv.sw[2].ldo.ic")) - (property (name "edg_short_path") (value "conv.sw[2].ldo.ic")) - (property (name "edg_refdes") (value "U7")) - (property (name "edg_part") (value "AP2204K-3.3 (Diodes Incorporated)")) - (property (name "edg_value") (value "AP2204K-3.3")) - (sheetpath (names "/conv/sw[2]/ldo/") (tstamps "/042f01b7/05f201d5/027e0140/")) - (tstamps "013700cd")) -(comp (ref "C26") - (value "conv.sw[2].ldo.in_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "ldo")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) - (property (name "edg_path") (value "conv.sw[2].ldo.in_cap.cap")) - (property (name "edg_short_path") (value "conv.sw[2].ldo.in_cap")) - (property (name "edg_refdes") (value "C26")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[2]/ldo/") (tstamps "/042f01b7/05f201d5/027e0140/")) - (tstamps "0879026b")) -(comp (ref "C27") - (value "conv.sw[2].ldo.out_cap") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "ldo")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) - (property (name "edg_path") (value "conv.sw[2].ldo.out_cap.cap")) - (property (name "edg_short_path") (value "conv.sw[2].ldo.out_cap")) - (property (name "edg_refdes") (value "C27")) - (property (name "edg_part") (value "CL31B225KBHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 2.2uF X7R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[2]/ldo/") (tstamps "/042f01b7/05f201d5/027e0140/")) - (tstamps "0be902ec")) -(comp (ref "U8") - (value "conv.sw[2].iso.ic") - (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") - (property (name "Sheetname") (value "iso")) - (property (name "Sheetfile") (value "edg.parts.Isolator_Cbmud1200.Cbmud1200l")) - (property (name "edg_path") (value "conv.sw[2].iso.ic")) - (property (name "edg_short_path") (value "conv.sw[2].iso.ic")) - (property (name "edg_refdes") (value "U8")) - (property (name "edg_part") (value "CBMuD1200L (Corebai)")) - (property (name "edg_value") (value "CBMuD1200L")) - (sheetpath (names "/conv/sw[2]/iso/") (tstamps "/042f01b7/05f201d5/0293014c/")) - (tstamps "013700cd")) -(comp (ref "C28") - (value "conv.sw[2].iso.cap_a") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "iso")) - (property (name "Sheetfile") (value "edg.parts.Isolator_Cbmud1200.Cbmud1200l")) - (property (name "edg_path") (value "conv.sw[2].iso.cap_a.cap")) - (property (name "edg_short_path") (value "conv.sw[2].iso.cap_a")) - (property (name "edg_refdes") (value "C28")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[2]/iso/") (tstamps "/042f01b7/05f201d5/0293014c/")) - (tstamps "05e701f5")) -(comp (ref "C29") - (value "conv.sw[2].iso.cap_b") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "iso")) - (property (name "Sheetfile") (value "edg.parts.Isolator_Cbmud1200.Cbmud1200l")) - (property (name "edg_path") (value "conv.sw[2].iso.cap_b.cap")) - (property (name "edg_short_path") (value "conv.sw[2].iso.cap_b")) - (property (name "edg_refdes") (value "C29")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[2]/iso/") (tstamps "/042f01b7/05f201d5/0293014c/")) - (tstamps "05e801f6")) -(comp (ref "U9") - (value "conv.sw[2].driver.ic") - (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") - (property (name "Sheetname") (value "driver")) - (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) - (property (name "edg_path") (value "conv.sw[2].driver.ic")) - (property (name "edg_short_path") (value "conv.sw[2].driver.ic")) - (property (name "edg_refdes") (value "U9")) - (property (name "edg_part") (value "IR2301 (Infineon Technologies)")) - (property (name "edg_value") (value "IR2301")) - (sheetpath (names "/conv/sw[2]/driver/") (tstamps "/042f01b7/05f201d5/08da028d/")) - (tstamps "013700cd")) -(comp (ref "C30") - (value "conv.sw[2].driver.cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "driver")) - (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) - (property (name "edg_path") (value "conv.sw[2].driver.cap.cap")) - (property (name "edg_short_path") (value "conv.sw[2].driver.cap")) - (property (name "edg_refdes") (value "C30")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[2]/driver/") (tstamps "/042f01b7/05f201d5/08da028d/")) - (tstamps "025e0135")) -(comp (ref "C31") - (value "conv.sw[2].driver.high_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "driver")) - (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) - (property (name "edg_path") (value "conv.sw[2].driver.high_cap.cap")) - (property (name "edg_short_path") (value "conv.sw[2].driver.high_cap")) - (property (name "edg_refdes") (value "C31")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[2]/driver/") (tstamps "/042f01b7/05f201d5/08da028d/")) - (tstamps "0e700334")) -(comp (ref "R11") - (value "conv.sw[2].high_gate_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "sw[2]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[2].high_gate_res")) - (property (name "edg_short_path") (value "conv.sw[2].high_gate_res")) - (property (name "edg_refdes") (value "R11")) - (property (name "edg_part") (value "0603WAF220JT5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/conv/sw[2]/") (tstamps "/042f01b7/05f201d5/")) - (tstamps "24b4054a")) -(comp (ref "C32") - (value "conv.sw[2].cap.c[0]") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "cap")) - (property (name "Sheetfile") (value "edg.parts.JlcCapacitor.JlcCapacitor")) - (property (name "edg_path") (value "conv.sw[2].cap.c[0]")) - (property (name "edg_short_path") (value "conv.sw[2].cap.c[0]")) - (property (name "edg_refdes") (value "C32")) - (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[2]/cap/") (tstamps "/042f01b7/05f201d5/025e0135/")) - (tstamps "035e014c")) -(comp (ref "C33") - (value "conv.sw[2].cap.c[1]") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "cap")) - (property (name "Sheetfile") (value "edg.parts.JlcCapacitor.JlcCapacitor")) - (property (name "edg_path") (value "conv.sw[2].cap.c[1]")) - (property (name "edg_short_path") (value "conv.sw[2].cap.c[1]")) - (property (name "edg_refdes") (value "C33")) - (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[2]/cap/") (tstamps "/042f01b7/05f201d5/025e0135/")) - (tstamps "0360014d")) -(comp (ref "R12") - (value "conv.sw[2].low_gate_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "sw[2]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[2].low_gate_res")) - (property (name "edg_short_path") (value "conv.sw[2].low_gate_res")) - (property (name "edg_refdes") (value "R12")) - (property (name "edg_part") (value "0603WAF220JT5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/conv/sw[2]/") (tstamps "/042f01b7/05f201d5/")) - (tstamps "207d04fc")) -(comp (ref "Q5") - (value "conv.sw[2].high_fet") - (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") - (property (name "Sheetname") (value "sw[2]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[2].high_fet")) - (property (name "edg_short_path") (value "conv.sw[2].high_fet")) - (property (name "edg_refdes") (value "Q5")) - (property (name "edg_part") (value "HSM4410 (HUASHUO)")) - (property (name "edg_value") (value "30V 12A 2.5W 9.5mΩ@10V,12A 2.5V@250μA N Channel SOP-8 MOSFETs ROHS")) - (sheetpath (names "/conv/sw[2]/") (tstamps "/042f01b7/05f201d5/")) - (tstamps "0e85033f")) -(comp (ref "Q6") - (value "conv.sw[2].low_fet") - (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") - (property (name "Sheetname") (value "sw[2]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[2].low_fet")) - (property (name "edg_short_path") (value "conv.sw[2].low_fet")) - (property (name "edg_refdes") (value "Q6")) - (property (name "edg_part") (value "HSM4410 (HUASHUO)")) - (property (name "edg_value") (value "30V 12A 2.5W 9.5mΩ@10V,12A 2.5V@250μA N Channel SOP-8 MOSFETs ROHS")) - (sheetpath (names "/conv/sw[2]/") (tstamps "/042f01b7/05f201d5/")) - (tstamps "0bd402f1")) -(comp (ref "D6") - (value "conv.sw[2].low_boot_diode") - (footprint "Diode_SMD:D_SOD-323") - (property (name "Sheetname") (value "sw[2]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[2].low_boot_diode.diode")) - (property (name "edg_short_path") (value "conv.sw[2].low_boot_diode")) - (property (name "edg_refdes") (value "D6")) - (property (name "edg_part") (value "1N5819WS (Guangdong Hottech)")) - (property (name "edg_value") (value "40V 600mV@1A 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) - (sheetpath (names "/conv/sw[2]/") (tstamps "/042f01b7/05f201d5/")) - (tstamps "2bed05ca")) -(comp (ref "C34") - (value "conv.sw[2].high_boot_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "sw[2]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[2].high_boot_cap")) - (property (name "edg_short_path") (value "conv.sw[2].high_boot_cap")) - (property (name "edg_refdes") (value "C34")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[2]/") (tstamps "/042f01b7/05f201d5/")) - (tstamps "24e30547")) -(comp (ref "C35") - (value "conv.sw[2].low_boot_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "sw[2]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[2].low_boot_cap")) - (property (name "edg_short_path") (value "conv.sw[2].low_boot_cap")) - (property (name "edg_refdes") (value "C35")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw[2]/") (tstamps "/042f01b7/05f201d5/")) - (tstamps "20ac04f9")) -(comp (ref "D7") - (value "conv.sw[2].high_boot_diode") - (footprint "Diode_SMD:D_SOD-323") - (property (name "Sheetname") (value "sw[2]")) - (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) - (property (name "edg_path") (value "conv.sw[2].high_boot_diode.diode")) - (property (name "edg_short_path") (value "conv.sw[2].high_boot_diode")) - (property (name "edg_refdes") (value "D7")) - (property (name "edg_part") (value "1N5819WS (Guangdong Hottech)")) - (property (name "edg_value") (value "40V 600mV@1A 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) - (sheetpath (names "/conv/sw[2]/") (tstamps "/042f01b7/05f201d5/")) - (tstamps "30c00618")) -(comp (ref "J4") - (value "conv_out") - (footprint "Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "conv_out.conn")) - (property (name "edg_short_path") (value "conv_out")) - (property (name "edg_refdes") (value "J4")) - (property (name "edg_part") (value "B2B-PH-K (JST)")) - (property (name "edg_value") (value "B2B-PH-K")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0f32036e")) -(comp (ref "TP5") - (value "_conv_pwr_out_link") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_conv_out.tp")) - (property (name "edg_short_path") (value "tp_conv_out")) - (property (name "edg_refdes") (value "TP5")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_conv_pwr_out_link")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "1be804b1")) -(comp (ref "TP6") - (value "gnd") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_conv_gnd.tp")) - (property (name "edg_short_path") (value "tp_conv_gnd")) - (property (name "edg_refdes") (value "TP6")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "gnd")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "1bb20492")) -(comp (ref "U10") - (value "fpga.ic") - (footprint "Package_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.3x5.3mm") - (property (name "Sheetname") (value "fpga")) - (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) - (property (name "edg_path") (value "fpga.ic")) - (property (name "edg_short_path") (value "fpga.ic")) - (property (name "edg_refdes") (value "U10")) - (property (name "edg_part") (value "ICE40UP5K-SG48 (Lattice Semiconductor Corporation)")) - (property (name "edg_value") (value "ICE40UP5K-SG48")) - (sheetpath (names "/fpga/") (tstamps "/041b019f/")) - (tstamps "013700cd")) -(comp (ref "U11") - (value "fpga.vcc_reg.ic") - (footprint "Package_TO_SOT_SMD:SOT-23-5") - (property (name "Sheetname") (value "vcc_reg")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Lp5907")) - (property (name "edg_path") (value "fpga.vcc_reg.ic")) - (property (name "edg_short_path") (value "fpga.vcc_reg.ic")) - (property (name "edg_refdes") (value "U11")) - (property (name "edg_part") (value "LP5907MFX-1.2/NOPB (Texas Instruments)")) - (property (name "edg_value") (value "LP5907MFX-1.2/NOPB")) - (sheetpath (names "/fpga/vcc_reg/") (tstamps "/041b019f/0b8502da/")) - (tstamps "013700cd")) -(comp (ref "C36") - (value "fpga.vcc_reg.in_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "vcc_reg")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Lp5907")) - (property (name "edg_path") (value "fpga.vcc_reg.in_cap.cap")) - (property (name "edg_short_path") (value "fpga.vcc_reg.in_cap")) - (property (name "edg_refdes") (value "C36")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/fpga/vcc_reg/") (tstamps "/041b019f/0b8502da/")) - (tstamps "0879026b")) -(comp (ref "C37") - (value "fpga.vcc_reg.out_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "vcc_reg")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Lp5907")) - (property (name "edg_path") (value "fpga.vcc_reg.out_cap.cap")) - (property (name "edg_short_path") (value "fpga.vcc_reg.out_cap")) - (property (name "edg_refdes") (value "C37")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/fpga/vcc_reg/") (tstamps "/041b019f/0b8502da/")) - (tstamps "0be902ec")) -(comp (ref "R13") - (value "fpga.reset_pu") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "fpga")) - (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) - (property (name "edg_path") (value "fpga.reset_pu.res")) - (property (name "edg_short_path") (value "fpga.reset_pu")) - (property (name "edg_refdes") (value "R13")) - (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/fpga/") (tstamps "/041b019f/")) - (tstamps "0f480368")) -(comp (ref "U12") - (value "fpga.mem.ic") - (footprint "Package_SO:SOIC-8_5.23x5.23mm_P1.27mm") - (property (name "Sheetname") (value "mem")) - (property (name "Sheetfile") (value "edg.parts.SpiMemory_W25q.W25q")) - (property (name "edg_path") (value "fpga.mem.ic")) - (property (name "edg_short_path") (value "fpga.mem.ic")) - (property (name "edg_refdes") (value "U12")) - (property (name "edg_part") (value "W25Q128JVSIQ (Winbond Electronics)")) - (property (name "edg_value") (value "W25Q128JVSIQ")) - (sheetpath (names "/fpga/mem/") (tstamps "/041b019f/02810140/")) - (tstamps "013700cd")) -(comp (ref "C38") - (value "fpga.mem.vcc_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mem")) - (property (name "Sheetfile") (value "edg.parts.SpiMemory_W25q.W25q")) - (property (name "edg_path") (value "fpga.mem.vcc_cap.cap")) - (property (name "edg_short_path") (value "fpga.mem.vcc_cap")) - (property (name "edg_refdes") (value "C38")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/fpga/mem/") (tstamps "/041b019f/02810140/")) - (tstamps "0b5902d0")) -(comp (ref "J5") - (value "fpga.prog") - (footprint "Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical_SMD") - (property (name "Sheetname") (value "fpga")) - (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) - (property (name "edg_path") (value "fpga.prog.conn")) - (property (name "edg_short_path") (value "fpga.prog")) - (property (name "edg_refdes") (value "J5")) - (property (name "edg_part") (value "PinHeader1.27 Shrouded 2x5 (Generic)")) - (property (name "edg_value") (value "PinHeader1.27 Shrouded 2x5")) - (sheetpath (names "/fpga/") (tstamps "/041b019f/")) - (tstamps "045f01b9")) -(comp (ref "JP1") - (value "fpga.cs_jmp") - (footprint "Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm") - (property (name "Sheetname") (value "fpga")) - (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) - (property (name "edg_path") (value "fpga.cs_jmp.device")) - (property (name "edg_short_path") (value "fpga.cs_jmp")) - (property (name "edg_refdes") (value "JP1")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/fpga/") (tstamps "/041b019f/")) - (tstamps "089b027d")) -(comp (ref "R14") - (value "fpga.mem_pu") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "fpga")) - (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) - (property (name "edg_path") (value "fpga.mem_pu.res")) - (property (name "edg_short_path") (value "fpga.mem_pu")) - (property (name "edg_refdes") (value "R14")) - (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/fpga/") (tstamps "/041b019f/")) - (tstamps "08b30284")) -(comp (ref "C39") - (value "fpga.vio_cap0") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "fpga")) - (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) - (property (name "edg_path") (value "fpga.vio_cap0.cap")) - (property (name "edg_short_path") (value "fpga.vio_cap0")) - (property (name "edg_refdes") (value "C39")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/fpga/") (tstamps "/041b019f/")) - (tstamps "0ecb0312")) -(comp (ref "C40") - (value "fpga.vio_cap1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "fpga")) - (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) - (property (name "edg_path") (value "fpga.vio_cap1.cap")) - (property (name "edg_short_path") (value "fpga.vio_cap1")) - (property (name "edg_refdes") (value "C40")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/fpga/") (tstamps "/041b019f/")) - (tstamps "0ecc0313")) -(comp (ref "C41") - (value "fpga.vio_cap2") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "fpga")) - (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) - (property (name "edg_path") (value "fpga.vio_cap2.cap")) - (property (name "edg_short_path") (value "fpga.vio_cap2")) - (property (name "edg_refdes") (value "C41")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/fpga/") (tstamps "/041b019f/")) - (tstamps "0ecd0314")) -(comp (ref "C42") - (value "fpga.vpp_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "fpga")) - (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) - (property (name "edg_path") (value "fpga.vpp_cap.cap")) - (property (name "edg_short_path") (value "fpga.vpp_cap")) - (property (name "edg_refdes") (value "C42")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/fpga/") (tstamps "/041b019f/")) - (tstamps "0be802ea")) -(comp (ref "R15") - (value "fpga.pll_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "fpga")) - (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) - (property (name "edg_path") (value "fpga.pll_res.res")) - (property (name "edg_short_path") (value "fpga.pll_res")) - (property (name "edg_refdes") (value "R15")) - (property (name "edg_part") (value "0603WAF1000T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±200ppm/℃ -55℃~+155℃ 100Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/fpga/") (tstamps "/041b019f/")) - (tstamps "0bca02f2")) -(comp (ref "C43") - (value "fpga.vcc_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "fpga")) - (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) - (property (name "edg_path") (value "fpga.vcc_cap.cap")) - (property (name "edg_short_path") (value "fpga.vcc_cap")) - (property (name "edg_refdes") (value "C43")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/fpga/") (tstamps "/041b019f/")) - (tstamps "0b5902d0")) -(comp (ref "C44") - (value "fpga.pll_lf") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "fpga")) - (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) - (property (name "edg_path") (value "fpga.pll_lf.cap")) - (property (name "edg_short_path") (value "fpga.pll_lf")) - (property (name "edg_refdes") (value "C44")) - (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/fpga/") (tstamps "/041b019f/")) - (tstamps "08cd027a")) -(comp (ref "C45") - (value "fpga.pll_hf") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "fpga")) - (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) - (property (name "edg_path") (value "fpga.pll_hf.cap")) - (property (name "edg_short_path") (value "fpga.pll_hf")) - (property (name "edg_refdes") (value "C45")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/fpga/") (tstamps "/041b019f/")) - (tstamps "08c50276")) -(comp (ref "D8") - (value "cdone.package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "cdone")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "cdone.package")) - (property (name "edg_short_path") (value "cdone.package")) - (property (name "edg_refdes") (value "D8")) - (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) - (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) - (sheetpath (names "/cdone/") (tstamps "/0612020a/")) - (tstamps "0b4e02cd")) -(comp (ref "R16") - (value "cdone.res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "cdone")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "cdone.res")) - (property (name "edg_short_path") (value "cdone.res")) - (property (name "edg_refdes") (value "R16")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/cdone/") (tstamps "/0612020a/")) - (tstamps "0296014b")) -(comp (ref "X1") - (value "fpga_osc.device") - (footprint "Crystal:Crystal_SMD_2520-4Pin_2.5x2.0mm") - (property (name "Sheetname") (value "fpga_osc")) - (property (name "Sheetfile") (value "edg.parts.JlcOscillator.JlcOscillator")) - (property (name "edg_path") (value "fpga_osc.device")) - (property (name "edg_short_path") (value "fpga_osc.device")) - (property (name "edg_refdes") (value "X1")) - (property (name "edg_part") (value "SG-8101CG 48.000000MHz TBGSA")) - (property (name "edg_value") (value "±15ppm 1.8V~3.3V 48MHz -40℃~+85℃ SMD-2520_4P Pre-programmed Oscillators ROHS")) - (sheetpath (names "/fpga_osc/") (tstamps "/0ea90343/")) - (tstamps "08950271")) -(comp (ref "C46") - (value "fpga_osc.cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "fpga_osc")) - (property (name "Sheetfile") (value "edg.parts.JlcOscillator.JlcOscillator")) - (property (name "edg_path") (value "fpga_osc.cap.cap")) - (property (name "edg_short_path") (value "fpga_osc.cap")) - (property (name "edg_refdes") (value "C46")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/fpga_osc/") (tstamps "/0ea90343/")) - (tstamps "025e0135")) -(comp (ref "SW1") - (value "fpga_sw") - (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "fpga_sw.package")) - (property (name "edg_short_path") (value "fpga_sw")) - (property (name "edg_refdes") (value "SW1")) - (property (name "edg_part") (value "5.1mm switch")) - (property (name "edg_value") (value "5.1mm switch")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0b7202e8")) -(comp (ref "D9") - (value "fpga_led.led[0].package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "led[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "fpga_led.led[0].package")) - (property (name "edg_short_path") (value "fpga_led.led[0].package")) - (property (name "edg_refdes") (value "D9")) - (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) - (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) - (sheetpath (names "/fpga_led/led[0]/") (tstamps "/0e850333/07e5021e/")) - (tstamps "0b4e02cd")) -(comp (ref "R17") - (value "fpga_led.led[0].res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "led[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "fpga_led.led[0].res")) - (property (name "edg_short_path") (value "fpga_led.led[0].res")) - (property (name "edg_refdes") (value "R17")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/fpga_led/led[0]/") (tstamps "/0e850333/07e5021e/")) - (tstamps "0296014b")) -(comp (ref "D10") - (value "fpga_led.led[1].package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "led[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "fpga_led.led[1].package")) - (property (name "edg_short_path") (value "fpga_led.led[1].package")) - (property (name "edg_refdes") (value "D10")) - (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) - (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) - (sheetpath (names "/fpga_led/led[1]/") (tstamps "/0e850333/07e7021f/")) - (tstamps "0b4e02cd")) -(comp (ref "R18") - (value "fpga_led.led[1].res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "led[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "fpga_led.led[1].res")) - (property (name "edg_short_path") (value "fpga_led.led[1].res")) - (property (name "edg_refdes") (value "R18")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/fpga_led/led[1]/") (tstamps "/0e850333/07e7021f/")) - (tstamps "0296014b")) -(comp (ref "D11") - (value "fpga_led.led[2].package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "led[2]")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "fpga_led.led[2].package")) - (property (name "edg_short_path") (value "fpga_led.led[2].package")) - (property (name "edg_refdes") (value "D11")) - (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) - (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) - (sheetpath (names "/fpga_led/led[2]/") (tstamps "/0e850333/07e90220/")) - (tstamps "0b4e02cd")) -(comp (ref "R19") - (value "fpga_led.led[2].res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "led[2]")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "fpga_led.led[2].res")) - (property (name "edg_short_path") (value "fpga_led.led[2].res")) - (property (name "edg_refdes") (value "R19")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/fpga_led/led[2]/") (tstamps "/0e850333/07e90220/")) - (tstamps "0296014b")) -(comp (ref "D12") - (value "fpga_led.led[3].package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "led[3]")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "fpga_led.led[3].package")) - (property (name "edg_short_path") (value "fpga_led.led[3].package")) - (property (name "edg_refdes") (value "D12")) - (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) - (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) - (sheetpath (names "/fpga_led/led[3]/") (tstamps "/0e850333/07eb0221/")) - (tstamps "0b4e02cd")) -(comp (ref "R20") - (value "fpga_led.led[3].res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "led[3]")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "fpga_led.led[3].res")) - (property (name "edg_short_path") (value "fpga_led.led[3].res")) - (property (name "edg_refdes") (value "R20")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/fpga_led/led[3]/") (tstamps "/0e850333/07eb0221/")) - (tstamps "0296014b")) -(comp (ref "R21") - (value "usb_fpga_bitbang.dp_pull_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "usb_fpga_bitbang")) - (property (name "Sheetfile") (value "edg.abstract_parts.UsbBitBang.UsbBitBang")) - (property (name "edg_path") (value "usb_fpga_bitbang.dp_pull_res")) - (property (name "edg_short_path") (value "usb_fpga_bitbang.dp_pull_res")) - (property (name "edg_refdes") (value "R21")) - (property (name "edg_part") (value "0603WAF1501T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1.5kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/usb_fpga_bitbang/") (tstamps "/37a1067e/")) - (tstamps "1b74049a")) -(comp (ref "R22") - (value "usb_fpga_bitbang.dp_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "usb_fpga_bitbang")) - (property (name "Sheetfile") (value "edg.abstract_parts.UsbBitBang.UsbBitBang")) - (property (name "edg_path") (value "usb_fpga_bitbang.dp_res")) - (property (name "edg_short_path") (value "usb_fpga_bitbang.dp_res")) - (property (name "edg_refdes") (value "R22")) - (property (name "edg_part") (value "0603WAF680JT5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 68Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/usb_fpga_bitbang/") (tstamps "/37a1067e/")) - (tstamps "089d027e")) -(comp (ref "R23") - (value "usb_fpga_bitbang.dm_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "usb_fpga_bitbang")) - (property (name "Sheetfile") (value "edg.abstract_parts.UsbBitBang.UsbBitBang")) - (property (name "edg_path") (value "usb_fpga_bitbang.dm_res")) - (property (name "edg_short_path") (value "usb_fpga_bitbang.dm_res")) - (property (name "edg_refdes") (value "R23")) - (property (name "edg_part") (value "0603WAF680JT5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 68Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/usb_fpga_bitbang/") (tstamps "/37a1067e/")) - (tstamps "088e027b")) -(comp (ref "U13") - (value "usb_fpga_esd") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "usb_fpga_esd")) - (property (name "edg_short_path") (value "usb_fpga_esd")) - (property (name "edg_refdes") (value "U13")) - (property (name "edg_part") (value "PGB102ST23 (Littelfuse)")) - (property (name "edg_value") (value "PGB102ST23")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "202804e3")) -(comp (ref "J6") - (value "mcu.swd") - (footprint "Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical_SMD") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) - (property (name "edg_path") (value "mcu.swd.conn")) - (property (name "edg_short_path") (value "mcu.swd")) - (property (name "edg_refdes") (value "J6")) - (property (name "edg_part") (value "PinHeader1.27 Shrouded 2x5 (Generic)")) - (property (name "edg_value") (value "PinHeader1.27 Shrouded 2x5")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "02ae014f")) -(comp (ref "U14") - (value "mcu.ic") - (footprint "Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) - (property (name "edg_path") (value "mcu.ic")) - (property (name "edg_short_path") (value "mcu.ic")) - (property (name "edg_refdes") (value "U14")) - (property (name "edg_part") (value "RP2040 (Raspberry Pi)")) - (property (name "edg_value") (value "RP2040")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "013700cd")) -(comp (ref "C47") - (value "mcu.iovdd_cap[0]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) - (property (name "edg_path") (value "mcu.iovdd_cap[0].cap")) - (property (name "edg_short_path") (value "mcu.iovdd_cap[0]")) - (property (name "edg_refdes") (value "C47")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "1f5b0492")) -(comp (ref "C48") - (value "mcu.iovdd_cap[1]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) - (property (name "edg_path") (value "mcu.iovdd_cap[1].cap")) - (property (name "edg_short_path") (value "mcu.iovdd_cap[1]")) - (property (name "edg_refdes") (value "C48")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "1f5d0493")) -(comp (ref "C49") - (value "mcu.iovdd_cap[2]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) - (property (name "edg_path") (value "mcu.iovdd_cap[2].cap")) - (property (name "edg_short_path") (value "mcu.iovdd_cap[2]")) - (property (name "edg_refdes") (value "C49")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "1f5f0494")) -(comp (ref "C50") - (value "mcu.iovdd_cap[3]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) - (property (name "edg_path") (value "mcu.iovdd_cap[3].cap")) - (property (name "edg_short_path") (value "mcu.iovdd_cap[3]")) - (property (name "edg_refdes") (value "C50")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "1f610495")) -(comp (ref "C51") - (value "mcu.iovdd_cap[4]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) - (property (name "edg_path") (value "mcu.iovdd_cap[4].cap")) - (property (name "edg_short_path") (value "mcu.iovdd_cap[4]")) - (property (name "edg_refdes") (value "C51")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "1f630496")) -(comp (ref "C52") - (value "mcu.iovdd_cap[5]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) - (property (name "edg_path") (value "mcu.iovdd_cap[5].cap")) - (property (name "edg_short_path") (value "mcu.iovdd_cap[5]")) - (property (name "edg_refdes") (value "C52")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "1f650497")) -(comp (ref "C53") - (value "mcu.avdd_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) - (property (name "edg_path") (value "mcu.avdd_cap.cap")) - (property (name "edg_short_path") (value "mcu.avdd_cap")) - (property (name "edg_refdes") (value "C53")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "0e6d0333")) -(comp (ref "C54") - (value "mcu.vreg_in_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) - (property (name "edg_path") (value "mcu.vreg_in_cap.cap")) - (property (name "edg_short_path") (value "mcu.vreg_in_cap")) - (property (name "edg_refdes") (value "C54")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "1b62047e")) -(comp (ref "U15") - (value "mcu.mem.ic") - (footprint "Package_SO:SOIC-8_5.23x5.23mm_P1.27mm") - (property (name "Sheetname") (value "mem")) - (property (name "Sheetfile") (value "edg.parts.SpiMemory_W25q.W25q")) - (property (name "edg_path") (value "mcu.mem.ic")) - (property (name "edg_short_path") (value "mcu.mem.ic")) - (property (name "edg_refdes") (value "U15")) - (property (name "edg_part") (value "W25Q128JVSIQ (Winbond Electronics)")) - (property (name "edg_value") (value "W25Q128JVSIQ")) - (sheetpath (names "/mcu/mem/") (tstamps "/02850146/02810140/")) - (tstamps "013700cd")) -(comp (ref "C55") - (value "mcu.mem.vcc_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mem")) - (property (name "Sheetfile") (value "edg.parts.SpiMemory_W25q.W25q")) - (property (name "edg_path") (value "mcu.mem.vcc_cap.cap")) - (property (name "edg_short_path") (value "mcu.mem.vcc_cap")) - (property (name "edg_refdes") (value "C55")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/mem/") (tstamps "/02850146/02810140/")) - (tstamps "0b5902d0")) -(comp (ref "C56") - (value "mcu.dvdd_cap[0]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) - (property (name "edg_path") (value "mcu.dvdd_cap[0].cap")) - (property (name "edg_short_path") (value "mcu.dvdd_cap[0]")) - (property (name "edg_refdes") (value "C56")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "19f5041e")) -(comp (ref "C57") - (value "mcu.dvdd_cap[1]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) - (property (name "edg_path") (value "mcu.dvdd_cap[1].cap")) - (property (name "edg_short_path") (value "mcu.dvdd_cap[1]")) - (property (name "edg_refdes") (value "C57")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "19f7041f")) -(comp (ref "C58") - (value "mcu.vreg_out_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) - (property (name "edg_path") (value "mcu.vreg_out_cap.cap")) - (property (name "edg_short_path") (value "mcu.vreg_out_cap")) - (property (name "edg_refdes") (value "C58")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "20e504ff")) -(comp (ref "R24") - (value "mcu.usb_res.dp_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "usb_res")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040Usb")) - (property (name "edg_path") (value "mcu.usb_res.dp_res")) - (property (name "edg_short_path") (value "mcu.usb_res.dp_res")) - (property (name "edg_refdes") (value "R24")) - (property (name "edg_part") (value "0603WAF270JT5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±200ppm/℃ -55℃~+155℃ 27Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/mcu/usb_res/") (tstamps "/02850146/0be502f4/")) - (tstamps "089d027e")) -(comp (ref "R25") - (value "mcu.usb_res.dm_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "usb_res")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040Usb")) - (property (name "edg_path") (value "mcu.usb_res.dm_res")) - (property (name "edg_short_path") (value "mcu.usb_res.dm_res")) - (property (name "edg_refdes") (value "R25")) - (property (name "edg_part") (value "0603WAF270JT5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±200ppm/℃ -55℃~+155℃ 27Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/mcu/usb_res/") (tstamps "/02850146/0be502f4/")) - (tstamps "088e027b")) -(comp (ref "X2") - (value "mcu.crystal.package") - (footprint "Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm") - (property (name "Sheetname") (value "crystal")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) - (property (name "edg_path") (value "mcu.crystal.package")) - (property (name "edg_short_path") (value "mcu.crystal.package")) - (property (name "edg_refdes") (value "X2")) - (property (name "edg_part") (value "X322512MSB4SI (Yangxing Tech)")) - (property (name "edg_value") (value "12MHz SMD Crystal Resonator 20pF ±10ppm ±30ppm -40℃~+85℃ SMD3225-4P Crystals ROHS")) - (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) - (tstamps "0b4e02cd")) -(comp (ref "C59") - (value "mcu.crystal.cap_a") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "crystal")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) - (property (name "edg_path") (value "mcu.crystal.cap_a")) - (property (name "edg_short_path") (value "mcu.crystal.cap_a")) - (property (name "edg_refdes") (value "C59")) - (property (name "edg_part") (value "CL10C330JB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 33pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) - (tstamps "05e701f5")) -(comp (ref "C60") - (value "mcu.crystal.cap_b") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "crystal")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) - (property (name "edg_path") (value "mcu.crystal.cap_b")) - (property (name "edg_short_path") (value "mcu.crystal.cap_b")) - (property (name "edg_refdes") (value "C60")) - (property (name "edg_part") (value "CL10C330JB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 33pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) - (tstamps "05e801f6")) -(comp (ref "SW2") - (value "mcu_sw") - (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "mcu_sw.package")) - (property (name "edg_short_path") (value "mcu_sw")) - (property (name "edg_refdes") (value "SW2")) - (property (name "edg_part") (value "5.1mm switch")) - (property (name "edg_value") (value "5.1mm switch")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "08d1028f")) -(comp (ref "D13") - (value "mcu_leds.led[0].package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "led[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "mcu_leds.led[0].package")) - (property (name "edg_short_path") (value "mcu_leds.led[0].package")) - (property (name "edg_refdes") (value "D13")) - (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) - (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) - (sheetpath (names "/mcu_leds/led[0]/") (tstamps "/0ed8034d/07e5021e/")) - (tstamps "0b4e02cd")) -(comp (ref "R26") - (value "mcu_leds.led[0].res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "led[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "mcu_leds.led[0].res")) - (property (name "edg_short_path") (value "mcu_leds.led[0].res")) - (property (name "edg_refdes") (value "R26")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/mcu_leds/led[0]/") (tstamps "/0ed8034d/07e5021e/")) - (tstamps "0296014b")) -(comp (ref "D14") - (value "mcu_leds.led[1].package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "led[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "mcu_leds.led[1].package")) - (property (name "edg_short_path") (value "mcu_leds.led[1].package")) - (property (name "edg_refdes") (value "D14")) - (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) - (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) - (sheetpath (names "/mcu_leds/led[1]/") (tstamps "/0ed8034d/07e7021f/")) - (tstamps "0b4e02cd")) -(comp (ref "R27") - (value "mcu_leds.led[1].res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "led[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "mcu_leds.led[1].res")) - (property (name "edg_short_path") (value "mcu_leds.led[1].res")) - (property (name "edg_refdes") (value "R27")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/mcu_leds/led[1]/") (tstamps "/0ed8034d/07e7021f/")) - (tstamps "0296014b")) -(comp (ref "D15") - (value "mcu_leds.led[2].package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "led[2]")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "mcu_leds.led[2].package")) - (property (name "edg_short_path") (value "mcu_leds.led[2].package")) - (property (name "edg_refdes") (value "D15")) - (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) - (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) - (sheetpath (names "/mcu_leds/led[2]/") (tstamps "/0ed8034d/07e90220/")) - (tstamps "0b4e02cd")) -(comp (ref "R28") - (value "mcu_leds.led[2].res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "led[2]")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "mcu_leds.led[2].res")) - (property (name "edg_short_path") (value "mcu_leds.led[2].res")) - (property (name "edg_refdes") (value "R28")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/mcu_leds/led[2]/") (tstamps "/0ed8034d/07e90220/")) - (tstamps "0296014b")) -(comp (ref "D16") - (value "mcu_leds.led[3].package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "led[3]")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "mcu_leds.led[3].package")) - (property (name "edg_short_path") (value "mcu_leds.led[3].package")) - (property (name "edg_refdes") (value "D16")) - (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) - (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) - (sheetpath (names "/mcu_leds/led[3]/") (tstamps "/0ed8034d/07eb0221/")) - (tstamps "0b4e02cd")) -(comp (ref "R29") - (value "mcu_leds.led[3].res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "led[3]")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "mcu_leds.led[3].res")) - (property (name "edg_short_path") (value "mcu_leds.led[3].res")) - (property (name "edg_refdes") (value "R29")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/mcu_leds/led[3]/") (tstamps "/0ed8034d/07eb0221/")) - (tstamps "0296014b")) -(comp (ref "U16") - (value "usb_mcu_esd") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "usb_mcu_esd")) - (property (name "edg_short_path") (value "usb_mcu_esd")) - (property (name "edg_refdes") (value "U16")) - (property (name "edg_part") (value "PGB102ST23 (Littelfuse)")) - (property (name "edg_value") (value "PGB102ST23")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "1b85048a")) -(comp (ref "TP7") - (value "_mcu_gpio_fpga0_link") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_fpga[0].tp")) - (property (name "edg_short_path") (value "tp_fpga[0]")) - (property (name "edg_refdes") (value "TP7")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_mcu_gpio_fpga0_link")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "163903ca")) -(comp (ref "TP8") - (value "_mcu_gpio_fpga1_link") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_fpga[1].tp")) - (property (name "edg_short_path") (value "tp_fpga[1]")) - (property (name "edg_refdes") (value "TP8")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_mcu_gpio_fpga1_link")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "163b03cb")) -(comp (ref "TP9") - (value "_mcu_gpio_fpga2_link") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_fpga[2].tp")) - (property (name "edg_short_path") (value "tp_fpga[2]")) - (property (name "edg_refdes") (value "TP9")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_mcu_gpio_fpga2_link")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "163d03cc")) -(comp (ref "TP10") - (value "_mcu_gpio_fpga3_link") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_fpga[3].tp")) - (property (name "edg_short_path") (value "tp_fpga[3]")) - (property (name "edg_refdes") (value "TP10")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_mcu_gpio_fpga3_link")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "163f03cd")) -(comp (ref "TP11") - (value "_fpga_gpio_pwm_link.0L") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "pwm_filter")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.DigitalArrayTestPoint")) - (property (name "edg_path") (value "pwm_filter.tp[0L].tp")) - (property (name "edg_short_path") (value "pwm_filter.tp[0L]")) - (property (name "edg_refdes") (value "TP11")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_fpga_gpio_pwm_link.0L")) - (sheetpath (names "/pwm_filter/") (tstamps "/1753043a/")) - (tstamps "07df0219")) -(comp (ref "TP12") - (value "_fpga_gpio_pwm_link.0H") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "pwm_filter")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.DigitalArrayTestPoint")) - (property (name "edg_path") (value "pwm_filter.tp[0H].tp")) - (property (name "edg_short_path") (value "pwm_filter.tp[0H]")) - (property (name "edg_refdes") (value "TP12")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_fpga_gpio_pwm_link.0H")) - (sheetpath (names "/pwm_filter/") (tstamps "/1753043a/")) - (tstamps "07d70215")) -(comp (ref "TP13") - (value "_fpga_gpio_pwm_link.1L") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "pwm_filter")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.DigitalArrayTestPoint")) - (property (name "edg_path") (value "pwm_filter.tp[1L].tp")) - (property (name "edg_short_path") (value "pwm_filter.tp[1L]")) - (property (name "edg_refdes") (value "TP13")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_fpga_gpio_pwm_link.1L")) - (sheetpath (names "/pwm_filter/") (tstamps "/1753043a/")) - (tstamps "07e2021a")) -(comp (ref "TP14") - (value "_fpga_gpio_pwm_link.1H") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "pwm_filter")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.DigitalArrayTestPoint")) - (property (name "edg_path") (value "pwm_filter.tp[1H].tp")) - (property (name "edg_short_path") (value "pwm_filter.tp[1H]")) - (property (name "edg_refdes") (value "TP14")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_fpga_gpio_pwm_link.1H")) - (sheetpath (names "/pwm_filter/") (tstamps "/1753043a/")) - (tstamps "07da0216")) -(comp (ref "TP15") - (value "_fpga_gpio_pwm_link.2L") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "pwm_filter")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.DigitalArrayTestPoint")) - (property (name "edg_path") (value "pwm_filter.tp[2L].tp")) - (property (name "edg_short_path") (value "pwm_filter.tp[2L]")) - (property (name "edg_refdes") (value "TP15")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_fpga_gpio_pwm_link.2L")) - (sheetpath (names "/pwm_filter/") (tstamps "/1753043a/")) - (tstamps "07e5021b")) -(comp (ref "TP16") - (value "_fpga_gpio_pwm_link.2H") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "pwm_filter")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.DigitalArrayTestPoint")) - (property (name "edg_path") (value "pwm_filter.tp[2H].tp")) - (property (name "edg_short_path") (value "pwm_filter.tp[2H]")) - (property (name "edg_refdes") (value "TP16")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_fpga_gpio_pwm_link.2H")) - (sheetpath (names "/pwm_filter/") (tstamps "/1753043a/")) - (tstamps "07dd0217")) -(comp (ref "R30") - (value "tp_pwm.elts[0L].r") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "elts[0L]")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) - (property (name "edg_path") (value "tp_pwm.elts[0L].rc.r")) - (property (name "edg_short_path") (value "tp_pwm.elts[0L].r")) - (property (name "edg_refdes") (value "R30")) - (property (name "edg_part") (value "0603WAF1500T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/tp_pwm/elts[0L]/") (tstamps "/09150298/0e0c02ed/")) - (tstamps "00730073")) -(comp (ref "C61") - (value "tp_pwm.elts[0L].c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "elts[0L]")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) - (property (name "edg_path") (value "tp_pwm.elts[0L].rc.c")) - (property (name "edg_short_path") (value "tp_pwm.elts[0L].c")) - (property (name "edg_refdes") (value "C61")) - (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/tp_pwm/elts[0L]/") (tstamps "/09150298/0e0c02ed/")) - (tstamps "00640064")) -(comp (ref "R31") - (value "tp_pwm.elts[0H].r") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "elts[0H]")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) - (property (name "edg_path") (value "tp_pwm.elts[0H].rc.r")) - (property (name "edg_short_path") (value "tp_pwm.elts[0H].r")) - (property (name "edg_refdes") (value "R31")) - (property (name "edg_part") (value "0603WAF1500T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/tp_pwm/elts[0H]/") (tstamps "/09150298/0e0402e9/")) - (tstamps "00730073")) -(comp (ref "C62") - (value "tp_pwm.elts[0H].c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "elts[0H]")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) - (property (name "edg_path") (value "tp_pwm.elts[0H].rc.c")) - (property (name "edg_short_path") (value "tp_pwm.elts[0H].c")) - (property (name "edg_refdes") (value "C62")) - (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/tp_pwm/elts[0H]/") (tstamps "/09150298/0e0402e9/")) - (tstamps "00640064")) -(comp (ref "R32") - (value "tp_pwm.elts[1L].r") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "elts[1L]")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) - (property (name "edg_path") (value "tp_pwm.elts[1L].rc.r")) - (property (name "edg_short_path") (value "tp_pwm.elts[1L].r")) - (property (name "edg_refdes") (value "R32")) - (property (name "edg_part") (value "0603WAF1500T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/tp_pwm/elts[1L]/") (tstamps "/09150298/0e0f02ee/")) - (tstamps "00730073")) -(comp (ref "C63") - (value "tp_pwm.elts[1L].c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "elts[1L]")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) - (property (name "edg_path") (value "tp_pwm.elts[1L].rc.c")) - (property (name "edg_short_path") (value "tp_pwm.elts[1L].c")) - (property (name "edg_refdes") (value "C63")) - (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/tp_pwm/elts[1L]/") (tstamps "/09150298/0e0f02ee/")) - (tstamps "00640064")) -(comp (ref "R33") - (value "tp_pwm.elts[1H].r") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "elts[1H]")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) - (property (name "edg_path") (value "tp_pwm.elts[1H].rc.r")) - (property (name "edg_short_path") (value "tp_pwm.elts[1H].r")) - (property (name "edg_refdes") (value "R33")) - (property (name "edg_part") (value "0603WAF1500T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/tp_pwm/elts[1H]/") (tstamps "/09150298/0e0702ea/")) - (tstamps "00730073")) -(comp (ref "C64") - (value "tp_pwm.elts[1H].c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "elts[1H]")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) - (property (name "edg_path") (value "tp_pwm.elts[1H].rc.c")) - (property (name "edg_short_path") (value "tp_pwm.elts[1H].c")) - (property (name "edg_refdes") (value "C64")) - (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/tp_pwm/elts[1H]/") (tstamps "/09150298/0e0702ea/")) - (tstamps "00640064")) -(comp (ref "R34") - (value "tp_pwm.elts[2L].r") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "elts[2L]")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) - (property (name "edg_path") (value "tp_pwm.elts[2L].rc.r")) - (property (name "edg_short_path") (value "tp_pwm.elts[2L].r")) - (property (name "edg_refdes") (value "R34")) - (property (name "edg_part") (value "0603WAF1500T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/tp_pwm/elts[2L]/") (tstamps "/09150298/0e1202ef/")) - (tstamps "00730073")) -(comp (ref "C65") - (value "tp_pwm.elts[2L].c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "elts[2L]")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) - (property (name "edg_path") (value "tp_pwm.elts[2L].rc.c")) - (property (name "edg_short_path") (value "tp_pwm.elts[2L].c")) - (property (name "edg_refdes") (value "C65")) - (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/tp_pwm/elts[2L]/") (tstamps "/09150298/0e1202ef/")) - (tstamps "00640064")) -(comp (ref "R35") - (value "tp_pwm.elts[2H].r") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "elts[2H]")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) - (property (name "edg_path") (value "tp_pwm.elts[2H].rc.r")) - (property (name "edg_short_path") (value "tp_pwm.elts[2H].r")) - (property (name "edg_refdes") (value "R35")) - (property (name "edg_part") (value "0603WAF1500T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/tp_pwm/elts[2H]/") (tstamps "/09150298/0e0a02eb/")) - (tstamps "00730073")) -(comp (ref "C66") - (value "tp_pwm.elts[2H].c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "elts[2H]")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) - (property (name "edg_path") (value "tp_pwm.elts[2H].rc.c")) - (property (name "edg_short_path") (value "tp_pwm.elts[2H].c")) - (property (name "edg_refdes") (value "C66")) - (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/tp_pwm/elts[2H]/") (tstamps "/09150298/0e0a02eb/")) - (tstamps "00640064")) -(comp (ref "R36") - (value "conv_in_sense.top_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "conv_in_sense")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) - (property (name "edg_path") (value "conv_in_sense.div.top_res")) - (property (name "edg_short_path") (value "conv_in_sense.top_res")) - (property (name "edg_refdes") (value "R36")) - (property (name "edg_part") (value "0603WAF1202T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 12kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/conv_in_sense/") (tstamps "/25e1056a/")) - (tstamps "0c0c02fd")) -(comp (ref "R37") - (value "conv_in_sense.bottom_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "conv_in_sense")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) - (property (name "edg_path") (value "conv_in_sense.div.bottom_res")) - (property (name "edg_short_path") (value "conv_in_sense.bottom_res")) - (property (name "edg_refdes") (value "R37")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/conv_in_sense/") (tstamps "/25e1056a/")) - (tstamps "175b043f")) -(comp (ref "R38") - (value "conv_out_sense.top_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "conv_out_sense")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) - (property (name "edg_path") (value "conv_out_sense.div.top_res")) - (property (name "edg_short_path") (value "conv_out_sense.top_res")) - (property (name "edg_refdes") (value "R38")) - (property (name "edg_part") (value "0603WAF5601T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.6kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/conv_out_sense/") (tstamps "/2c6805eb/")) - (tstamps "0c0c02fd")) -(comp (ref "R39") - (value "conv_out_sense.bottom_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "conv_out_sense")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) - (property (name "edg_path") (value "conv_out_sense.div.bottom_res")) - (property (name "edg_short_path") (value "conv_out_sense.bottom_res")) - (property (name "edg_refdes") (value "R39")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/conv_out_sense/") (tstamps "/2c6805eb/")) - (tstamps "175b043f"))) -(nets -(net (code 1) (name "vusb") - (node (ref J1) (pin A4)) - (node (ref J1) (pin B9)) - (node (ref J1) (pin B4)) - (node (ref J1) (pin A9)) - (node (ref J2) (pin A4)) - (node (ref J2) (pin B9)) - (node (ref J2) (pin B4)) - (node (ref J2) (pin A9)) - (node (ref TP1) (pin 1)) - (node (ref U1) (pin 3)) - (node (ref U2) (pin 5)) - (node (ref U2) (pin 4)) - (node (ref C1) (pin 1)) - (node (ref L1) (pin 1)) - (node (ref C3) (pin 1))) -(net (code 2) (name "gnd") - (node (ref U13) (pin 3)) - (node (ref U16) (pin 3)) - (node (ref J1) (pin A1)) - (node (ref J1) (pin B12)) - (node (ref J1) (pin B1)) - (node (ref J1) (pin A12)) - (node (ref J2) (pin A1)) - (node (ref J2) (pin B12)) - (node (ref J2) (pin B1)) - (node (ref J2) (pin A12)) - (node (ref J3) (pin 1)) - (node (ref TP2) (pin 1)) - (node (ref U1) (pin 1)) - (node (ref D1) (pin 2)) - (node (ref U2) (pin 2)) - (node (ref J4) (pin 1)) - (node (ref TP6) (pin 1)) - (node (ref U10) (pin 49)) - (node (ref R16) (pin 2)) - (node (ref X1) (pin 2)) - (node (ref SW1) (pin 2)) - (node (ref U14) (pin 19)) - (node (ref U14) (pin 57)) - (node (ref SW2) (pin 2)) - (node (ref R37) (pin 2)) - (node (ref R39) (pin 2)) - (node (ref J1) (pin S1)) - (node (ref J2) (pin S1)) - (node (ref C1) (pin 2)) - (node (ref C2) (pin 2)) - (node (ref U11) (pin 2)) - (node (ref U12) (pin 4)) - (node (ref C39) (pin 2)) - (node (ref C40) (pin 2)) - (node (ref C41) (pin 2)) - (node (ref C42) (pin 2)) - (node (ref C43) (pin 2)) - (node (ref C44) (pin 2)) - (node (ref C45) (pin 2)) - (node (ref C46) (pin 2)) - (node (ref R17) (pin 2)) - (node (ref R18) (pin 2)) - (node (ref R19) (pin 2)) - (node (ref R20) (pin 2)) - (node (ref C47) (pin 2)) - (node (ref C48) (pin 2)) - (node (ref C49) (pin 2)) - (node (ref C50) (pin 2)) - (node (ref C51) (pin 2)) - (node (ref C52) (pin 2)) - (node (ref C53) (pin 2)) - (node (ref C54) (pin 2)) - (node (ref U15) (pin 4)) - (node (ref C56) (pin 2)) - (node (ref C57) (pin 2)) - (node (ref C58) (pin 2)) - (node (ref X2) (pin 2)) - (node (ref X2) (pin 4)) - (node (ref R26) (pin 2)) - (node (ref R27) (pin 2)) - (node (ref R28) (pin 2)) - (node (ref R29) (pin 2)) - (node (ref R6) (pin 2)) - (node (ref U5) (pin 4)) - (node (ref U8) (pin 4)) - (node (ref C61) (pin 2)) - (node (ref C62) (pin 2)) - (node (ref C63) (pin 2)) - (node (ref C64) (pin 2)) - (node (ref C65) (pin 2)) - (node (ref C66) (pin 2)) - (node (ref R1) (pin 1)) - (node (ref R2) (pin 1)) - (node (ref Q2) (pin 1)) - (node (ref Q2) (pin 2)) - (node (ref Q2) (pin 3)) - (node (ref J5) (pin 3)) - (node (ref J5) (pin 5)) - (node (ref J5) (pin 9)) - (node (ref J6) (pin 3)) - (node (ref J6) (pin 5)) - (node (ref J6) (pin 9)) - (node (ref C59) (pin 2)) - (node (ref C60) (pin 2)) - (node (ref R3) (pin 1)) - (node (ref R4) (pin 1)) - (node (ref C3) (pin 2)) - (node (ref C4) (pin 2)) - (node (ref U3) (pin 4)) - (node (ref C36) (pin 2)) - (node (ref C37) (pin 2)) - (node (ref C38) (pin 2)) - (node (ref C55) (pin 2)) - (node (ref C18) (pin 2)) - (node (ref C28) (pin 2)) - (node (ref C5) (pin 2)) - (node (ref C6) (pin 2)) - (node (ref C7) (pin 2)) - (node (ref C8) (pin 2)) - (node (ref C9) (pin 2)) - (node (ref C10) (pin 2)) - (node (ref C11) (pin 2)) - (node (ref C12) (pin 2)) - (node (ref C13) (pin 2))) -(net (code 3) (name "v3v3") - (node (ref U1) (pin 2)) - (node (ref TP3) (pin 1)) - (node (ref D1) (pin 1)) - (node (ref U10) (pin 22)) - (node (ref U10) (pin 33)) - (node (ref U10) (pin 1)) - (node (ref U10) (pin 24)) - (node (ref X1) (pin 1)) - (node (ref X1) (pin 4)) - (node (ref U14) (pin 1)) - (node (ref U14) (pin 10)) - (node (ref U14) (pin 22)) - (node (ref U14) (pin 33)) - (node (ref U14) (pin 42)) - (node (ref U14) (pin 49)) - (node (ref U14) (pin 44)) - (node (ref U14) (pin 43)) - (node (ref U14) (pin 48)) - (node (ref C2) (pin 1)) - (node (ref U11) (pin 1)) - (node (ref R13) (pin 1)) - (node (ref U12) (pin 8)) - (node (ref J5) (pin 1)) - (node (ref R14) (pin 1)) - (node (ref C39) (pin 1)) - (node (ref C40) (pin 1)) - (node (ref C41) (pin 1)) - (node (ref C42) (pin 1)) - (node (ref C46) (pin 1)) - (node (ref J6) (pin 1)) - (node (ref C47) (pin 1)) - (node (ref C48) (pin 1)) - (node (ref C49) (pin 1)) - (node (ref C50) (pin 1)) - (node (ref C51) (pin 1)) - (node (ref C52) (pin 1)) - (node (ref C53) (pin 1)) - (node (ref C54) (pin 1)) - (node (ref U15) (pin 8)) - (node (ref U5) (pin 1)) - (node (ref U8) (pin 1)) - (node (ref U11) (pin 3)) - (node (ref U12) (pin 3)) - (node (ref U12) (pin 7)) - (node (ref C36) (pin 1)) - (node (ref C38) (pin 1)) - (node (ref C55) (pin 1)) - (node (ref C18) (pin 1)) - (node (ref C28) (pin 1))) -(net (code 4) (name "vgate") - (node (ref TP4) (pin 1)) - (node (ref D2) (pin 1)) - (node (ref R5) (pin 1)) - (node (ref C4) (pin 1)) - (node (ref U3) (pin 1)) - (node (ref C13) (pin 1)) - (node (ref D4) (pin 2))) -(net (code 5) (name "conv.pwr_in") - (node (ref J3) (pin 2)) - (node (ref R36) (pin 1)) - (node (ref Q1) (pin 5)) - (node (ref Q1) (pin 6)) - (node (ref Q1) (pin 7)) - (node (ref Q1) (pin 8)) - (node (ref C5) (pin 1)) - (node (ref C6) (pin 1)) - (node (ref C7) (pin 1)) - (node (ref C8) (pin 1)) - (node (ref C9) (pin 1))) -(net (code 6) (name "conv.pwr_out") - (node (ref J4) (pin 2)) - (node (ref TP5) (pin 1)) - (node (ref R38) (pin 1)) - (node (ref L2) (pin 2)) - (node (ref C10) (pin 1)) - (node (ref C11) (pin 1)) - (node (ref C12) (pin 1))) -(net (code 7) (name "fpga.cdone") - (node (ref U10) (pin 7)) - (node (ref D8) (pin 2))) -(net (code 8) (name "fpga_osc.out") - (node (ref X1) (pin 3)) - (node (ref U10) (pin 37))) -(net (code 9) (name "fpga_sw.out") - (node (ref U10) (pin 32)) - (node (ref SW1) (pin 1))) -(net (code 10) (name "fpga.gpio.led_0") - (node (ref U10) (pin 21)) - (node (ref D9) (pin 2))) -(net (code 11) (name "fpga.gpio.led_1") - (node (ref U10) (pin 20)) - (node (ref D10) (pin 2))) -(net (code 12) (name "fpga.gpio.led_2") - (node (ref U10) (pin 19)) - (node (ref D11) (pin 2))) -(net (code 13) (name "fpga.gpio.led_3") - (node (ref U10) (pin 18)) - (node (ref D12) (pin 2))) -(net (code 14) (name "usb_fpga_bitbang.dp_pull") - (node (ref U10) (pin 27)) - (node (ref R21) (pin 1))) -(net (code 15) (name "usb_fpga_bitbang.dp") - (node (ref U10) (pin 26)) - (node (ref R22) (pin 1))) -(net (code 16) (name "usb_fpga_bitbang.dm") - (node (ref U10) (pin 25)) - (node (ref R23) (pin 1))) -(net (code 17) (name "usb_fpga_chain_0.d_P") - (node (ref U13) (pin 2)) - (node (ref J2) (pin A6)) - (node (ref J2) (pin B6)) - (node (ref R22) (pin 2)) - (node (ref R21) (pin 2))) -(net (code 18) (name "usb_fpga_chain_0.d_N") - (node (ref U13) (pin 1)) - (node (ref J2) (pin A7)) - (node (ref J2) (pin B7)) - (node (ref R23) (pin 2))) -(net (code 19) (name "mcu_sw.out") - (node (ref U14) (pin 29)) - (node (ref SW2) (pin 1))) -(net (code 20) (name "mcu.gpio.led_0") - (node (ref U14) (pin 34)) - (node (ref D13) (pin 2))) -(net (code 21) (name "mcu.gpio.led_1") - (node (ref U14) (pin 35)) - (node (ref D14) (pin 2))) -(net (code 22) (name "mcu.gpio.led_2") - (node (ref U14) (pin 36)) - (node (ref D15) (pin 2))) -(net (code 23) (name "mcu.gpio.led_3") - (node (ref U14) (pin 37)) - (node (ref D16) (pin 2))) -(net (code 24) (name "usb_mcu_chain_0.d_P") - (node (ref U16) (pin 2)) - (node (ref J1) (pin A6)) - (node (ref J1) (pin B6)) - (node (ref R24) (pin 2))) -(net (code 25) (name "usb_mcu_chain_0.d_N") - (node (ref U16) (pin 1)) - (node (ref J1) (pin A7)) - (node (ref J1) (pin B7)) - (node (ref R25) (pin 2))) -(net (code 26) (name "tp_fpga[0].io") - (node (ref U14) (pin 14)) - (node (ref U10) (pin 2)) - (node (ref TP7) (pin 1))) -(net (code 27) (name "tp_fpga[1].io") - (node (ref U14) (pin 13)) - (node (ref U10) (pin 3)) - (node (ref TP8) (pin 1))) -(net (code 28) (name "tp_fpga[2].io") - (node (ref U14) (pin 12)) - (node (ref U10) (pin 4)) - (node (ref TP9) (pin 1))) -(net (code 29) (name "tp_fpga[3].io") - (node (ref U14) (pin 11)) - (node (ref U10) (pin 6)) - (node (ref TP10) (pin 1))) -(net (code 30) (name "fpga.gpio.pwm_0L") - (node (ref U10) (pin 47)) - (node (ref TP11) (pin 1)) - (node (ref R30) (pin 1))) -(net (code 31) (name "fpga.gpio.pwm_0H") - (node (ref U10) (pin 48)) - (node (ref TP12) (pin 1)) - (node (ref R31) (pin 1))) -(net (code 32) (name "fpga.gpio.pwm_1L") - (node (ref U10) (pin 45)) - (node (ref TP13) (pin 1)) - (node (ref R32) (pin 1))) -(net (code 33) (name "fpga.gpio.pwm_1H") - (node (ref U10) (pin 46)) - (node (ref TP14) (pin 1)) - (node (ref R33) (pin 1))) -(net (code 34) (name "fpga.gpio.pwm_2L") - (node (ref U10) (pin 43)) - (node (ref TP15) (pin 1)) - (node (ref R34) (pin 1))) -(net (code 35) (name "fpga.gpio.pwm_2H") - (node (ref U10) (pin 44)) - (node (ref TP16) (pin 1)) - (node (ref R35) (pin 1))) -(net (code 36) (name "tp_pwm.output.0L") - (node (ref U3) (pin 3)) - (node (ref R30) (pin 2)) - (node (ref C61) (pin 1))) -(net (code 37) (name "tp_pwm.output.0H") - (node (ref U3) (pin 2)) - (node (ref R31) (pin 2)) - (node (ref C62) (pin 1))) -(net (code 38) (name "tp_pwm.output.1L") - (node (ref U5) (pin 3)) - (node (ref R32) (pin 2)) - (node (ref C63) (pin 1))) -(net (code 39) (name "tp_pwm.output.1H") - (node (ref U5) (pin 2)) - (node (ref R33) (pin 2)) - (node (ref C64) (pin 1))) -(net (code 40) (name "tp_pwm.output.2L") - (node (ref U8) (pin 3)) - (node (ref R34) (pin 2)) - (node (ref C65) (pin 1))) -(net (code 41) (name "tp_pwm.output.2H") - (node (ref U8) (pin 2)) - (node (ref R35) (pin 2)) - (node (ref C66) (pin 1))) -(net (code 42) (name "conv_in_sense.output") - (node (ref U14) (pin 38)) - (node (ref R36) (pin 2)) - (node (ref R37) (pin 1))) -(net (code 43) (name "conv_out_sense.output") - (node (ref U14) (pin 39)) - (node (ref R38) (pin 2)) - (node (ref R39) (pin 1))) -(net (code 44) (name "usb_mcu.conn.cc.cc1") - (node (ref J1) (pin A5)) - (node (ref R1) (pin 2))) -(net (code 45) (name "usb_mcu.conn.cc.cc2") - (node (ref J1) (pin B5)) - (node (ref R2) (pin 2))) -(net (code 46) (name "usb_fpga.conn.cc.cc1") - (node (ref J2) (pin A5)) - (node (ref R3) (pin 2))) -(net (code 47) (name "usb_fpga.conn.cc.cc2") - (node (ref J2) (pin B5)) - (node (ref R4) (pin 2))) -(net (code 48) (name "reg_vgate.fb.output") - (node (ref U2) (pin 3)) - (node (ref R5) (pin 2)) - (node (ref R6) (pin 1))) -(net (code 49) (name "reg_vgate.power_path.switch") - (node (ref U2) (pin 1)) - (node (ref L1) (pin 2)) - (node (ref D2) (pin 2))) -(net (code 50) (name "conv.sw[0].low_out") - (node (ref Q2) (pin 5)) - (node (ref Q2) (pin 6)) - (node (ref Q2) (pin 7)) - (node (ref Q2) (pin 8)) - (node (ref Q4) (pin 1)) - (node (ref Q4) (pin 2)) - (node (ref Q4) (pin 3)) - (node (ref C25) (pin 2)) - (node (ref U4) (pin 2)) - (node (ref U5) (pin 5)) - (node (ref U6) (pin 4)) - (node (ref C22) (pin 2)) - (node (ref C23) (pin 2)) - (node (ref C16) (pin 2)) - (node (ref C17) (pin 2)) - (node (ref C19) (pin 2)) - (node (ref C20) (pin 2))) -(net (code 51) (name "conv.sw[1].high_in") - (node (ref Q3) (pin 5)) - (node (ref Q3) (pin 6)) - (node (ref Q3) (pin 7)) - (node (ref Q3) (pin 8)) - (node (ref C22) (pin 1)) - (node (ref C23) (pin 1)) - (node (ref Q1) (pin 1)) - (node (ref Q1) (pin 2)) - (node (ref Q1) (pin 3)) - (node (ref C15) (pin 2)) - (node (ref U3) (pin 6)) - (node (ref C14) (pin 2))) -(net (code 52) (name "conv.sw[1].high_boot_out") - (node (ref D3) (pin 2)) - (node (ref C24) (pin 1)) - (node (ref D5) (pin 1)) - (node (ref U6) (pin 8)) - (node (ref C21) (pin 1))) -(net (code 53) (name "conv.sw[1].low_out") - (node (ref Q4) (pin 5)) - (node (ref Q4) (pin 6)) - (node (ref Q4) (pin 7)) - (node (ref Q4) (pin 8)) - (node (ref Q6) (pin 1)) - (node (ref Q6) (pin 2)) - (node (ref Q6) (pin 3)) - (node (ref C35) (pin 2)) - (node (ref U7) (pin 2)) - (node (ref U8) (pin 5)) - (node (ref U9) (pin 4)) - (node (ref C32) (pin 2)) - (node (ref C33) (pin 2)) - (node (ref C26) (pin 2)) - (node (ref C27) (pin 2)) - (node (ref C29) (pin 2)) - (node (ref C30) (pin 2))) -(net (code 54) (name "conv.sw[2].high_in") - (node (ref Q5) (pin 5)) - (node (ref Q5) (pin 6)) - (node (ref Q5) (pin 7)) - (node (ref Q5) (pin 8)) - (node (ref C32) (pin 1)) - (node (ref C33) (pin 1)) - (node (ref Q3) (pin 1)) - (node (ref Q3) (pin 2)) - (node (ref Q3) (pin 3)) - (node (ref C24) (pin 2)) - (node (ref U6) (pin 6)) - (node (ref C21) (pin 2))) -(net (code 55) (name "conv.sw[2].low_boot_in") - (node (ref D6) (pin 2)) - (node (ref C25) (pin 1)) - (node (ref D4) (pin 1)) - (node (ref U4) (pin 1)) - (node (ref U6) (pin 1)) - (node (ref U4) (pin 3)) - (node (ref C16) (pin 1)) - (node (ref C20) (pin 1))) -(net (code 56) (name "conv.sw[2].high_boot_out") - (node (ref D5) (pin 2)) - (node (ref C34) (pin 1)) - (node (ref D7) (pin 1)) - (node (ref U9) (pin 8)) - (node (ref C31) (pin 1))) -(net (code 57) (name "conv.sw[2].low_boot_out") - (node (ref D7) (pin 2)) - (node (ref C35) (pin 1)) - (node (ref D6) (pin 1)) - (node (ref U7) (pin 1)) - (node (ref U9) (pin 1)) - (node (ref U7) (pin 3)) - (node (ref C26) (pin 1)) - (node (ref C30) (pin 1))) -(net (code 58) (name "conv.sw_merge") - (node (ref Q6) (pin 5)) - (node (ref Q6) (pin 6)) - (node (ref Q6) (pin 7)) - (node (ref Q6) (pin 8)) - (node (ref L2) (pin 1)) - (node (ref Q5) (pin 1)) - (node (ref Q5) (pin 2)) - (node (ref Q5) (pin 3)) - (node (ref C34) (pin 2)) - (node (ref U9) (pin 6)) - (node (ref C31) (pin 2))) -(net (code 59) (name "conv.sw[0].high_gate_res.a") - (node (ref R7) (pin 1)) - (node (ref U3) (pin 7))) -(net (code 60) (name "conv.sw[0].high_gate_res.b") - (node (ref R7) (pin 2)) - (node (ref Q1) (pin 4))) -(net (code 61) (name "conv.sw[0].low_gate_res.a") - (node (ref R8) (pin 1)) - (node (ref U3) (pin 5))) -(net (code 62) (name "conv.sw[0].low_gate_res.b") - (node (ref R8) (pin 2)) - (node (ref Q2) (pin 4))) -(net (code 63) (name "conv.sw[0].high_boot_cap.pos") - (node (ref C15) (pin 1)) - (node (ref D3) (pin 1)) - (node (ref U3) (pin 8)) - (node (ref C14) (pin 1))) -(net (code 64) (name "conv.sw[1].iso.pwr_b") - (node (ref U5) (pin 8)) - (node (ref U4) (pin 5)) - (node (ref C19) (pin 1)) - (node (ref C17) (pin 1))) -(net (code 65) (name "conv.sw[1].driver.high_in") - (node (ref U6) (pin 2)) - (node (ref U5) (pin 7))) -(net (code 66) (name "conv.sw[1].driver.low_in") - (node (ref U6) (pin 3)) - (node (ref U5) (pin 6))) -(net (code 67) (name "conv.sw[1].high_gate_res.a") - (node (ref R9) (pin 1)) - (node (ref U6) (pin 7))) -(net (code 68) (name "conv.sw[1].high_gate_res.b") - (node (ref R9) (pin 2)) - (node (ref Q3) (pin 4))) -(net (code 69) (name "conv.sw[1].low_gate_res.a") - (node (ref R10) (pin 1)) - (node (ref U6) (pin 5))) -(net (code 70) (name "conv.sw[1].low_gate_res.b") - (node (ref R10) (pin 2)) - (node (ref Q4) (pin 4))) -(net (code 71) (name "conv.sw[2].iso.pwr_b") - (node (ref U8) (pin 8)) - (node (ref U7) (pin 5)) - (node (ref C29) (pin 1)) - (node (ref C27) (pin 1))) -(net (code 72) (name "conv.sw[2].driver.high_in") - (node (ref U9) (pin 2)) - (node (ref U8) (pin 7))) -(net (code 73) (name "conv.sw[2].driver.low_in") - (node (ref U9) (pin 3)) - (node (ref U8) (pin 6))) -(net (code 74) (name "conv.sw[2].high_gate_res.a") - (node (ref R11) (pin 1)) - (node (ref U9) (pin 7))) -(net (code 75) (name "conv.sw[2].high_gate_res.b") - (node (ref R11) (pin 2)) - (node (ref Q5) (pin 4))) -(net (code 76) (name "conv.sw[2].low_gate_res.a") - (node (ref R12) (pin 1)) - (node (ref U9) (pin 5))) -(net (code 77) (name "conv.sw[2].low_gate_res.b") - (node (ref R12) (pin 2)) - (node (ref Q6) (pin 4))) -(net (code 78) (name "fpga.ic.creset_b") - (node (ref U10) (pin 8)) - (node (ref R13) (pin 2)) - (node (ref J5) (pin 10))) -(net (code 79) (name "fpga.ic.spi_config.sck") - (node (ref U10) (pin 15)) - (node (ref U12) (pin 6)) - (node (ref J5) (pin 4))) -(net (code 80) (name "fpga.ic.spi_config.mosi") - (node (ref U10) (pin 14)) - (node (ref U12) (pin 5)) - (node (ref J5) (pin 6))) -(net (code 81) (name "fpga.ic.spi_config.miso") - (node (ref U10) (pin 17)) - (node (ref U12) (pin 2)) - (node (ref J5) (pin 8))) -(net (code 82) (name "fpga.ic.spi_config_cs") - (node (ref U10) (pin 16)) - (node (ref J5) (pin 2)) - (node (ref JP1) (pin 1))) -(net (code 83) (name "fpga.cs_jmp.output") - (node (ref JP1) (pin 2)) - (node (ref R14) (pin 2)) - (node (ref U12) (pin 1))) -(net (code 84) (name "fpga.vcc_reg.pwr_out") - (node (ref U10) (pin 5)) - (node (ref U10) (pin 30)) - (node (ref U11) (pin 5)) - (node (ref R15) (pin 1)) - (node (ref C43) (pin 1)) - (node (ref C37) (pin 1))) -(net (code 85) (name "fpga.pll_res.pwr_out") - (node (ref U10) (pin 29)) - (node (ref R15) (pin 2)) - (node (ref C44) (pin 1)) - (node (ref C45) (pin 1))) -(net (code 86) (name "cdone.res.a") - (node (ref R16) (pin 1)) - (node (ref D8) (pin 1))) -(net (code 87) (name "fpga_led.led[0].res.a") - (node (ref R17) (pin 1)) - (node (ref D9) (pin 1))) -(net (code 88) (name "fpga_led.led[1].res.a") - (node (ref R18) (pin 1)) - (node (ref D10) (pin 1))) -(net (code 89) (name "fpga_led.led[2].res.a") - (node (ref R19) (pin 1)) - (node (ref D11) (pin 1))) -(net (code 90) (name "fpga_led.led[3].res.a") - (node (ref R20) (pin 1)) - (node (ref D12) (pin 1))) -(net (code 91) (name "mcu.xtal_node.xi") - (node (ref U14) (pin 20)) - (node (ref X2) (pin 1)) - (node (ref C59) (pin 1))) -(net (code 92) (name "mcu.xtal_node.xo") - (node (ref U14) (pin 21)) - (node (ref X2) (pin 3)) - (node (ref C60) (pin 1))) -(net (code 93) (name "mcu.swd_node.swdio") - (node (ref U14) (pin 25)) - (node (ref J6) (pin 2))) -(net (code 94) (name "mcu.swd_node.swclk") - (node (ref U14) (pin 24)) - (node (ref J6) (pin 4))) -(net (code 95) (name "mcu.reset_node") - (node (ref U14) (pin 26)) - (node (ref J6) (pin 10))) -(net (code 96) (name "mcu.ic.qspi.sck") - (node (ref U14) (pin 52)) - (node (ref U15) (pin 6))) -(net (code 97) (name "mcu.ic.qspi.mosi") - (node (ref U14) (pin 53)) - (node (ref U15) (pin 5))) -(net (code 98) (name "mcu.ic.qspi.miso") - (node (ref U14) (pin 55)) - (node (ref U15) (pin 2))) -(net (code 99) (name "mcu.ic.qspi_cs") - (node (ref U14) (pin 56)) - (node (ref U15) (pin 1))) -(net (code 100) (name "mcu.ic.qspi_sd2") - (node (ref U14) (pin 54)) - (node (ref U15) (pin 3))) -(net (code 101) (name "mcu.ic.qspi_sd3") - (node (ref U14) (pin 51)) - (node (ref U15) (pin 7))) -(net (code 102) (name "mcu.ic.vreg_vout") - (node (ref U14) (pin 45)) - (node (ref U14) (pin 23)) - (node (ref U14) (pin 50)) - (node (ref C56) (pin 1)) - (node (ref C57) (pin 1)) - (node (ref C58) (pin 1))) -(net (code 103) (name "mcu.usb_chain_0.d_P") - (node (ref U14) (pin 47)) - (node (ref R24) (pin 1))) -(net (code 104) (name "mcu.usb_chain_0.d_N") - (node (ref U14) (pin 46)) - (node (ref R25) (pin 1))) -(net (code 105) (name "mcu.swd.swo") - (node (ref U14) (pin 2)) - (node (ref J6) (pin 6))) -(net (code 106) (name "mcu.swd.tdi") - (node (ref U14) (pin 3)) - (node (ref J6) (pin 8))) -(net (code 107) (name "mcu_leds.led[0].res.a") - (node (ref R26) (pin 1)) - (node (ref D13) (pin 1))) -(net (code 108) (name "mcu_leds.led[1].res.a") - (node (ref R27) (pin 1)) - (node (ref D14) (pin 1))) -(net (code 109) (name "mcu_leds.led[2].res.a") - (node (ref R28) (pin 1)) - (node (ref D15) (pin 1))) -(net (code 110) (name "mcu_leds.led[3].res.a") - (node (ref R29) (pin 1)) - (node (ref D16) (pin 1)))) -) \ No newline at end of file diff --git a/examples/Fcml/Fcml.svgpcb.js b/examples/Fcml/Fcml.svgpcb.js deleted file mode 100644 index 5498b6918..000000000 --- a/examples/Fcml/Fcml.svgpcb.js +++ /dev/null @@ -1,1030 +0,0 @@ -const board = new PCB(); - -// jlc_th.th1 -const H1 = board.add(JlcToolingHole_1_152mm, { - translate: pt(3.599, 2.702), rotate: 0, - id: 'H1' -}) -// jlc_th.th2 -const H2 = board.add(JlcToolingHole_1_152mm, { - translate: pt(3.638, 2.702), rotate: 0, - id: 'H2' -}) -// jlc_th.th3 -const H3 = board.add(JlcToolingHole_1_152mm, { - translate: pt(3.599, 2.742), rotate: 0, - id: 'H3' -}) -// usb_mcu.conn -const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { - translate: pt(1.774, 1.501), rotate: 0, - id: 'J1' -}) -// usb_mcu.cc_pull.cc1.res -const R1 = board.add(R_0603_1608Metric, { - translate: pt(1.623, 1.756), rotate: 0, - id: 'R1' -}) -// usb_mcu.cc_pull.cc2.res -const R2 = board.add(R_0603_1608Metric, { - translate: pt(1.779, 1.756), rotate: 0, - id: 'R2' -}) -// usb_fpga.conn -const J2 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { - translate: pt(1.237, 1.501), rotate: 0, - id: 'J2' -}) -// usb_fpga.cc_pull.cc1.res -const R3 = board.add(R_0603_1608Metric, { - translate: pt(1.086, 1.756), rotate: 0, - id: 'R3' -}) -// usb_fpga.cc_pull.cc2.res -const R4 = board.add(R_0603_1608Metric, { - translate: pt(1.242, 1.756), rotate: 0, - id: 'R4' -}) -// conv_in.conn -const J3 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(2.596, 2.365), rotate: 0, - id: 'J3' -}) -// tp_vusb.tp -const TP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.780, 2.740), rotate: 0, - id: 'TP1' -}) -// tp_gnd.tp -const TP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.533, 2.740), rotate: 0, - id: 'TP2' -}) -// reg_3v3.ic -const U1 = board.add(SOT_223_3_TabPin2, { - translate: pt(2.275, 1.478), rotate: 0, - id: 'U1' -}) -// reg_3v3.in_cap.cap -const C1 = board.add(C_0603_1608Metric, { - translate: pt(2.333, 1.688), rotate: 0, - id: 'C1' -}) -// reg_3v3.out_cap.cap -const C2 = board.add(C_0805_2012Metric, { - translate: pt(2.169, 1.698), rotate: 0, - id: 'C2' -}) -// tp_3v3.tp -const TP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(3.033, 2.740), rotate: 0, - id: 'TP3' -}) -// prot_3v3.diode -const D1 = board.add(D_SOD_323, { - translate: pt(0.533, 2.740), rotate: 0, - id: 'D1' -}) -// reg_vgate.ic -const U2 = board.add(SOT_23_5, { - translate: pt(2.828, 1.403), rotate: 0, - id: 'U2' -}) -// reg_vgate.fb.div.top_res -const R5 = board.add(R_0603_1608Metric, { - translate: pt(2.624, 1.659), rotate: 0, - id: 'R5' -}) -// reg_vgate.fb.div.bottom_res -const R6 = board.add(R_0603_1608Metric, { - translate: pt(2.780, 1.659), rotate: 0, - id: 'R6' -}) -// reg_vgate.power_path.inductor -const L1 = board.add(L_Sunlord_SWPA3012S, { - translate: pt(2.637, 1.406), rotate: 0, - id: 'L1' -}) -// reg_vgate.power_path.in_cap.cap -const C3 = board.add(C_0805_2012Metric, { - translate: pt(2.633, 1.553), rotate: 0, - id: 'C3' -}) -// reg_vgate.power_path.out_cap.cap -const C4 = board.add(C_0805_2012Metric, { - translate: pt(2.806, 1.553), rotate: 0, - id: 'C4' -}) -// reg_vgate.rect -const D2 = board.add(D_SOD_323, { - translate: pt(2.976, 1.552), rotate: 0, - id: 'D2' -}) -// tp_vgate.tp -const TP4 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.281, 2.740), rotate: 0, - id: 'TP4' -}) -// conv.power_path.inductor -const L2 = board.add(L_Sunlord_SWRB1207S, { - translate: pt(0.262, 0.256), rotate: 0, - id: 'L2' -}) -// conv.power_path.in_cap.cap.c[0] -const C5 = board.add(C_1206_3216Metric, { - translate: pt(1.484, 0.597), rotate: 0, - id: 'C5' -}) -// conv.power_path.in_cap.cap.c[1] -const C6 = board.add(C_1206_3216Metric, { - translate: pt(1.705, 0.597), rotate: 0, - id: 'C6' -}) -// conv.power_path.in_cap.cap.c[2] -const C7 = board.add(C_1206_3216Metric, { - translate: pt(0.091, 0.849), rotate: 0, - id: 'C7' -}) -// conv.power_path.in_cap.cap.c[3] -const C8 = board.add(C_1206_3216Metric, { - translate: pt(0.311, 0.849), rotate: 0, - id: 'C8' -}) -// conv.power_path.in_cap.cap.c[4] -const C9 = board.add(C_1206_3216Metric, { - translate: pt(0.531, 0.849), rotate: 0, - id: 'C9' -}) -// conv.power_path.out_cap.cap.c[0] -const C10 = board.add(C_1206_3216Metric, { - translate: pt(0.752, 0.849), rotate: 0, - id: 'C10' -}) -// conv.power_path.out_cap.cap.c[1] -const C11 = board.add(C_1206_3216Metric, { - translate: pt(0.972, 0.849), rotate: 0, - id: 'C11' -}) -// conv.power_path.out_cap.cap.c[2] -const C12 = board.add(C_1206_3216Metric, { - translate: pt(1.193, 0.849), rotate: 0, - id: 'C12' -}) -// conv.sw[0].driver.ic -const U3 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(0.709, 0.106), rotate: 0, - id: 'U3' -}) -// conv.sw[0].driver.cap.cap -const C13 = board.add(C_0603_1608Metric, { - translate: pt(1.769, 0.963), rotate: 0, - id: 'C13' -}) -// conv.sw[0].driver.high_cap.cap -const C14 = board.add(C_0603_1608Metric, { - translate: pt(0.058, 1.093), rotate: 0, - id: 'C14' -}) -// conv.sw[0].high_gate_res -const R7 = board.add(R_0603_1608Metric, { - translate: pt(0.214, 1.093), rotate: 0, - id: 'R7' -}) -// conv.sw[0].low_gate_res -const R8 = board.add(R_0603_1608Metric, { - translate: pt(0.370, 1.093), rotate: 0, - id: 'R8' -}) -// conv.sw[0].high_fet -const Q1 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(1.039, 0.106), rotate: 0, - id: 'Q1' -}) -// conv.sw[0].low_fet -const Q2 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(1.370, 0.106), rotate: 0, - id: 'Q2' -}) -// conv.sw[0].high_boot_cap -const C15 = board.add(C_0603_1608Metric, { - translate: pt(0.526, 1.093), rotate: 0, - id: 'C15' -}) -// conv.sw[0].high_boot_diode.diode -const D3 = board.add(D_SOD_323, { - translate: pt(0.945, 0.971), rotate: 0, - id: 'D3' -}) -// conv.sw[1].ldo.ic -const U4 = board.add(SOT_23_5, { - translate: pt(1.073, 0.619), rotate: 0, - id: 'U4' -}) -// conv.sw[1].ldo.in_cap.cap -const C16 = board.add(C_0603_1608Metric, { - translate: pt(0.682, 1.093), rotate: 0, - id: 'C16' -}) -// conv.sw[1].ldo.out_cap.cap -const C17 = board.add(C_1206_3216Metric, { - translate: pt(1.413, 0.849), rotate: 0, - id: 'C17' -}) -// conv.sw[1].iso.ic -const U5 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(1.701, 0.106), rotate: 0, - id: 'U5' -}) -// conv.sw[1].iso.cap_a.cap -const C18 = board.add(C_0603_1608Metric, { - translate: pt(0.838, 1.093), rotate: 0, - id: 'C18' -}) -// conv.sw[1].iso.cap_b.cap -const C19 = board.add(C_0603_1608Metric, { - translate: pt(0.994, 1.093), rotate: 0, - id: 'C19' -}) -// conv.sw[1].driver.ic -const U6 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(0.709, 0.358), rotate: 0, - id: 'U6' -}) -// conv.sw[1].driver.cap.cap -const C20 = board.add(C_0603_1608Metric, { - translate: pt(1.150, 1.093), rotate: 0, - id: 'C20' -}) -// conv.sw[1].driver.high_cap.cap -const C21 = board.add(C_0603_1608Metric, { - translate: pt(1.306, 1.093), rotate: 0, - id: 'C21' -}) -// conv.sw[1].high_gate_res -const R9 = board.add(R_0603_1608Metric, { - translate: pt(1.461, 1.093), rotate: 0, - id: 'R9' -}) -// conv.sw[1].cap.c[0] -const C22 = board.add(C_1206_3216Metric, { - translate: pt(1.634, 0.849), rotate: 0, - id: 'C22' -}) -// conv.sw[1].cap.c[1] -const C23 = board.add(C_1206_3216Metric, { - translate: pt(0.091, 0.979), rotate: 0, - id: 'C23' -}) -// conv.sw[1].low_gate_res -const R10 = board.add(R_0603_1608Metric, { - translate: pt(1.617, 1.093), rotate: 0, - id: 'R10' -}) -// conv.sw[1].high_fet -const Q3 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(1.039, 0.358), rotate: 0, - id: 'Q3' -}) -// conv.sw[1].low_fet -const Q4 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(1.370, 0.358), rotate: 0, - id: 'Q4' -}) -// conv.sw[1].low_boot_diode.diode -const D4 = board.add(D_SOD_323, { - translate: pt(1.111, 0.971), rotate: 0, - id: 'D4' -}) -// conv.sw[1].high_boot_cap -const C24 = board.add(C_0603_1608Metric, { - translate: pt(1.773, 1.093), rotate: 0, - id: 'C24' -}) -// conv.sw[1].low_boot_cap -const C25 = board.add(C_0603_1608Metric, { - translate: pt(0.058, 1.189), rotate: 0, - id: 'C25' -}) -// conv.sw[1].high_boot_diode.diode -const D5 = board.add(D_SOD_323, { - translate: pt(1.277, 0.971), rotate: 0, - id: 'D5' -}) -// conv.sw[2].ldo.ic -const U7 = board.add(SOT_23_5, { - translate: pt(1.274, 0.619), rotate: 0, - id: 'U7' -}) -// conv.sw[2].ldo.in_cap.cap -const C26 = board.add(C_0603_1608Metric, { - translate: pt(0.214, 1.189), rotate: 0, - id: 'C26' -}) -// conv.sw[2].ldo.out_cap.cap -const C27 = board.add(C_1206_3216Metric, { - translate: pt(0.311, 0.979), rotate: 0, - id: 'C27' -}) -// conv.sw[2].iso.ic -const U8 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(1.701, 0.358), rotate: 0, - id: 'U8' -}) -// conv.sw[2].iso.cap_a.cap -const C28 = board.add(C_0603_1608Metric, { - translate: pt(0.370, 1.189), rotate: 0, - id: 'C28' -}) -// conv.sw[2].iso.cap_b.cap -const C29 = board.add(C_0603_1608Metric, { - translate: pt(0.526, 1.189), rotate: 0, - id: 'C29' -}) -// conv.sw[2].driver.ic -const U9 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(0.146, 0.658), rotate: 0, - id: 'U9' -}) -// conv.sw[2].driver.cap.cap -const C30 = board.add(C_0603_1608Metric, { - translate: pt(0.682, 1.189), rotate: 0, - id: 'C30' -}) -// conv.sw[2].driver.high_cap.cap -const C31 = board.add(C_0603_1608Metric, { - translate: pt(0.838, 1.189), rotate: 0, - id: 'C31' -}) -// conv.sw[2].high_gate_res -const R11 = board.add(R_0603_1608Metric, { - translate: pt(0.994, 1.189), rotate: 0, - id: 'R11' -}) -// conv.sw[2].cap.c[0] -const C32 = board.add(C_1206_3216Metric, { - translate: pt(0.531, 0.979), rotate: 0, - id: 'C32' -}) -// conv.sw[2].cap.c[1] -const C33 = board.add(C_1206_3216Metric, { - translate: pt(0.752, 0.979), rotate: 0, - id: 'C33' -}) -// conv.sw[2].low_gate_res -const R12 = board.add(R_0603_1608Metric, { - translate: pt(1.150, 1.189), rotate: 0, - id: 'R12' -}) -// conv.sw[2].high_fet -const Q5 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(0.476, 0.658), rotate: 0, - id: 'Q5' -}) -// conv.sw[2].low_fet -const Q6 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(0.807, 0.658), rotate: 0, - id: 'Q6' -}) -// conv.sw[2].low_boot_diode.diode -const D6 = board.add(D_SOD_323, { - translate: pt(1.443, 0.971), rotate: 0, - id: 'D6' -}) -// conv.sw[2].high_boot_cap -const C34 = board.add(C_0603_1608Metric, { - translate: pt(1.306, 1.189), rotate: 0, - id: 'C34' -}) -// conv.sw[2].low_boot_cap -const C35 = board.add(C_0603_1608Metric, { - translate: pt(1.461, 1.189), rotate: 0, - id: 'C35' -}) -// conv.sw[2].high_boot_diode.diode -const D7 = board.add(D_SOD_323, { - translate: pt(1.608, 0.971), rotate: 0, - id: 'D7' -}) -// conv_out.conn -const J4 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(2.986, 2.365), rotate: 0, - id: 'J4' -}) -// tp_conv_out.tp -const TP5 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.282, 2.740), rotate: 0, - id: 'TP5' -}) -// tp_conv_gnd.tp -const TP6 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.531, 2.740), rotate: 0, - id: 'TP6' -}) -// fpga.ic -const U10 = board.add(QFN_48_1EP_7x7mm_P0_5mm_EP5_3x5_3mm, { - translate: pt(0.161, 1.498), rotate: 0, - id: 'U10' -}) -// fpga.vcc_reg.ic -const U11 = board.add(SOT_23_5, { - translate: pt(0.486, 1.765), rotate: 0, - id: 'U11' -}) -// fpga.vcc_reg.in_cap.cap -const C36 = board.add(C_0603_1608Metric, { - translate: pt(0.058, 1.992), rotate: 0, - id: 'C36' -}) -// fpga.vcc_reg.out_cap.cap -const C37 = board.add(C_0603_1608Metric, { - translate: pt(0.214, 1.992), rotate: 0, - id: 'C37' -}) -// fpga.reset_pu.res -const R13 = board.add(R_0603_1608Metric, { - translate: pt(0.370, 1.992), rotate: 0, - id: 'R13' -}) -// fpga.mem.ic -const U12 = board.add(SOIC_8_5_23x5_23mm_P1_27mm, { - translate: pt(0.183, 1.811), rotate: 0, - id: 'U12' -}) -// fpga.mem.vcc_cap.cap -const C38 = board.add(C_0603_1608Metric, { - translate: pt(0.526, 1.992), rotate: 0, - id: 'C38' -}) -// fpga.prog.conn -const J5 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { - translate: pt(0.531, 1.482), rotate: 0, - id: 'J5' -}) -// fpga.cs_jmp.device -const JP1 = board.add(SolderJumper_2_P1_3mm_Open_TrianglePad1_0x1_5mm, { - translate: pt(0.671, 1.748), rotate: 0, - id: 'JP1' -}) -// fpga.mem_pu.res -const R14 = board.add(R_0603_1608Metric, { - translate: pt(0.682, 1.992), rotate: 0, - id: 'R14' -}) -// fpga.vio_cap0.cap -const C39 = board.add(C_0603_1608Metric, { - translate: pt(0.838, 1.992), rotate: 0, - id: 'C39' -}) -// fpga.vio_cap1.cap -const C40 = board.add(C_0603_1608Metric, { - translate: pt(0.058, 2.089), rotate: 0, - id: 'C40' -}) -// fpga.vio_cap2.cap -const C41 = board.add(C_0603_1608Metric, { - translate: pt(0.214, 2.089), rotate: 0, - id: 'C41' -}) -// fpga.vpp_cap.cap -const C42 = board.add(C_0603_1608Metric, { - translate: pt(0.370, 2.089), rotate: 0, - id: 'C42' -}) -// fpga.pll_res.res -const R15 = board.add(R_0603_1608Metric, { - translate: pt(0.526, 2.089), rotate: 0, - id: 'R15' -}) -// fpga.vcc_cap.cap -const C43 = board.add(C_0603_1608Metric, { - translate: pt(0.682, 2.089), rotate: 0, - id: 'C43' -}) -// fpga.pll_lf.cap -const C44 = board.add(C_0805_2012Metric, { - translate: pt(0.843, 1.737), rotate: 0, - id: 'C44' -}) -// fpga.pll_hf.cap -const C45 = board.add(C_0603_1608Metric, { - translate: pt(0.838, 2.089), rotate: 0, - id: 'C45' -}) -// cdone.package -const D8 = board.add(LED_0603_1608Metric, { - translate: pt(3.590, 2.264), rotate: 0, - id: 'D8' -}) -// cdone.res -const R16 = board.add(R_0603_1608Metric, { - translate: pt(3.589, 2.361), rotate: 0, - id: 'R16' -}) -// fpga_osc.device -const X1 = board.add(Crystal_SMD_2520_4Pin_2_5x2_0mm, { - translate: pt(3.346, 2.294), rotate: 0, - id: 'X1' -}) -// fpga_osc.cap.cap -const C46 = board.add(C_0603_1608Metric, { - translate: pt(3.337, 2.422), rotate: 0, - id: 'C46' -}) -// fpga_sw.package -const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(1.761, 2.348), rotate: 0, - id: 'SW1' -}) -// fpga_led.led[0].package -const D9 = board.add(LED_0603_1608Metric, { - translate: pt(3.216, 1.365), rotate: 0, - id: 'D9' -}) -// fpga_led.led[0].res -const R17 = board.add(R_0603_1608Metric, { - translate: pt(3.215, 1.559), rotate: 0, - id: 'R17' -}) -// fpga_led.led[1].package -const D10 = board.add(LED_0603_1608Metric, { - translate: pt(3.372, 1.365), rotate: 0, - id: 'D10' -}) -// fpga_led.led[1].res -const R18 = board.add(R_0603_1608Metric, { - translate: pt(3.371, 1.559), rotate: 0, - id: 'R18' -}) -// fpga_led.led[2].package -const D11 = board.add(LED_0603_1608Metric, { - translate: pt(3.216, 1.462), rotate: 0, - id: 'D11' -}) -// fpga_led.led[2].res -const R19 = board.add(R_0603_1608Metric, { - translate: pt(3.215, 1.656), rotate: 0, - id: 'R19' -}) -// fpga_led.led[3].package -const D12 = board.add(LED_0603_1608Metric, { - translate: pt(3.372, 1.462), rotate: 0, - id: 'D12' -}) -// fpga_led.led[3].res -const R20 = board.add(R_0603_1608Metric, { - translate: pt(3.371, 1.656), rotate: 0, - id: 'R20' -}) -// usb_fpga_bitbang.dp_pull_res -const R21 = board.add(R_0603_1608Metric, { - translate: pt(1.418, 2.264), rotate: 0, - id: 'R21' -}) -// usb_fpga_bitbang.dp_res -const R22 = board.add(R_0603_1608Metric, { - translate: pt(1.418, 2.361), rotate: 0, - id: 'R22' -}) -// usb_fpga_bitbang.dm_res -const R23 = board.add(R_0603_1608Metric, { - translate: pt(1.418, 2.458), rotate: 0, - id: 'R23' -}) -// usb_fpga_esd -const U13 = board.add(SOT_23, { - translate: pt(3.293, 2.769), rotate: 0, - id: 'U13' -}) -// mcu.swd.conn -const J6 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { - translate: pt(2.498, 0.146), rotate: 0, - id: 'J6' -}) -// mcu.ic -const U14 = board.add(QFN_56_1EP_7x7mm_P0_4mm_EP3_2x3_2mm, { - translate: pt(2.127, 0.163), rotate: 0, - id: 'U14' -}) -// mcu.iovdd_cap[0].cap -const C47 = board.add(C_0603_1608Metric, { - translate: pt(2.633, 0.393), rotate: 0, - id: 'C47' -}) -// mcu.iovdd_cap[1].cap -const C48 = board.add(C_0603_1608Metric, { - translate: pt(2.789, 0.393), rotate: 0, - id: 'C48' -}) -// mcu.iovdd_cap[2].cap -const C49 = board.add(C_0603_1608Metric, { - translate: pt(2.023, 0.658), rotate: 0, - id: 'C49' -}) -// mcu.iovdd_cap[3].cap -const C50 = board.add(C_0603_1608Metric, { - translate: pt(2.179, 0.658), rotate: 0, - id: 'C50' -}) -// mcu.iovdd_cap[4].cap -const C51 = board.add(C_0603_1608Metric, { - translate: pt(2.335, 0.658), rotate: 0, - id: 'C51' -}) -// mcu.iovdd_cap[5].cap -const C52 = board.add(C_0603_1608Metric, { - translate: pt(2.491, 0.658), rotate: 0, - id: 'C52' -}) -// mcu.avdd_cap.cap -const C53 = board.add(C_0603_1608Metric, { - translate: pt(2.646, 0.658), rotate: 0, - id: 'C53' -}) -// mcu.vreg_in_cap.cap -const C54 = board.add(C_0603_1608Metric, { - translate: pt(2.802, 0.658), rotate: 0, - id: 'C54' -}) -// mcu.mem.ic -const U15 = board.add(SOIC_8_5_23x5_23mm_P1_27mm, { - translate: pt(2.148, 0.477), rotate: 0, - id: 'U15' -}) -// mcu.mem.vcc_cap.cap -const C55 = board.add(C_0603_1608Metric, { - translate: pt(2.023, 0.755), rotate: 0, - id: 'C55' -}) -// mcu.dvdd_cap[0].cap -const C56 = board.add(C_0603_1608Metric, { - translate: pt(2.179, 0.755), rotate: 0, - id: 'C56' -}) -// mcu.dvdd_cap[1].cap -const C57 = board.add(C_0603_1608Metric, { - translate: pt(2.335, 0.755), rotate: 0, - id: 'C57' -}) -// mcu.vreg_out_cap.cap -const C58 = board.add(C_0603_1608Metric, { - translate: pt(2.491, 0.755), rotate: 0, - id: 'C58' -}) -// mcu.usb_res.dp_res -const R24 = board.add(R_0603_1608Metric, { - translate: pt(2.646, 0.755), rotate: 0, - id: 'R24' -}) -// mcu.usb_res.dm_res -const R25 = board.add(R_0603_1608Metric, { - translate: pt(2.802, 0.755), rotate: 0, - id: 'R25' -}) -// mcu.crystal.package -const X2 = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { - translate: pt(2.453, 0.431), rotate: 0, - id: 'X2' -}) -// mcu.crystal.cap_a -const C59 = board.add(C_0603_1608Metric, { - translate: pt(2.023, 0.852), rotate: 0, - id: 'C59' -}) -// mcu.crystal.cap_b -const C60 = board.add(C_0603_1608Metric, { - translate: pt(2.179, 0.852), rotate: 0, - id: 'C60' -}) -// mcu_sw.package -const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(2.214, 2.348), rotate: 0, - id: 'SW2' -}) -// mcu_leds.led[0].package -const D13 = board.add(LED_0603_1608Metric, { - translate: pt(0.058, 2.264), rotate: 0, - id: 'D13' -}) -// mcu_leds.led[0].res -const R26 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 2.459), rotate: 0, - id: 'R26' -}) -// mcu_leds.led[1].package -const D14 = board.add(LED_0603_1608Metric, { - translate: pt(0.215, 2.264), rotate: 0, - id: 'D14' -}) -// mcu_leds.led[1].res -const R27 = board.add(R_0603_1608Metric, { - translate: pt(0.214, 2.459), rotate: 0, - id: 'R27' -}) -// mcu_leds.led[2].package -const D15 = board.add(LED_0603_1608Metric, { - translate: pt(0.058, 2.362), rotate: 0, - id: 'D15' -}) -// mcu_leds.led[2].res -const R28 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 2.556), rotate: 0, - id: 'R28' -}) -// mcu_leds.led[3].package -const D16 = board.add(LED_0603_1608Metric, { - translate: pt(0.215, 2.362), rotate: 0, - id: 'D16' -}) -// mcu_leds.led[3].res -const R29 = board.add(R_0603_1608Metric, { - translate: pt(0.214, 2.556), rotate: 0, - id: 'R29' -}) -// usb_mcu_esd -const U16 = board.add(SOT_23, { - translate: pt(3.484, 2.769), rotate: 0, - id: 'U16' -}) -// tp_fpga[0].tp -const TP7 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.783, 2.740), rotate: 0, - id: 'TP7' -}) -// tp_fpga[1].tp -const TP8 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.032, 2.740), rotate: 0, - id: 'TP8' -}) -// tp_fpga[2].tp -const TP9 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.781, 2.740), rotate: 0, - id: 'TP9' -}) -// tp_fpga[3].tp -const TP10 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.030, 2.740), rotate: 0, - id: 'TP10' -}) -// pwm_filter.tp[0L].tp -const TP11 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.004, 2.273), rotate: 0, - id: 'TP11' -}) -// pwm_filter.tp[0H].tp -const TP12 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.175, 2.273), rotate: 0, - id: 'TP12' -}) -// pwm_filter.tp[1L].tp -const TP13 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.004, 2.387), rotate: 0, - id: 'TP13' -}) -// pwm_filter.tp[1H].tp -const TP14 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.175, 2.387), rotate: 0, - id: 'TP14' -}) -// pwm_filter.tp[2L].tp -const TP15 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.004, 2.501), rotate: 0, - id: 'TP15' -}) -// pwm_filter.tp[2H].tp -const TP16 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.175, 2.501), rotate: 0, - id: 'TP16' -}) -// tp_pwm.elts[0L].rc.r -const R30 = board.add(R_0603_1608Metric, { - translate: pt(0.449, 2.264), rotate: 0, - id: 'R30' -}) -// tp_pwm.elts[0L].rc.c -const C61 = board.add(C_0603_1608Metric, { - translate: pt(0.605, 2.264), rotate: 0, - id: 'C61' -}) -// tp_pwm.elts[0H].rc.r -const R31 = board.add(R_0603_1608Metric, { - translate: pt(0.761, 2.264), rotate: 0, - id: 'R31' -}) -// tp_pwm.elts[0H].rc.c -const C62 = board.add(C_0603_1608Metric, { - translate: pt(0.449, 2.361), rotate: 0, - id: 'C62' -}) -// tp_pwm.elts[1L].rc.r -const R32 = board.add(R_0603_1608Metric, { - translate: pt(0.605, 2.361), rotate: 0, - id: 'R32' -}) -// tp_pwm.elts[1L].rc.c -const C63 = board.add(C_0603_1608Metric, { - translate: pt(0.761, 2.361), rotate: 0, - id: 'C63' -}) -// tp_pwm.elts[1H].rc.r -const R33 = board.add(R_0603_1608Metric, { - translate: pt(0.449, 2.458), rotate: 0, - id: 'R33' -}) -// tp_pwm.elts[1H].rc.c -const C64 = board.add(C_0603_1608Metric, { - translate: pt(0.605, 2.458), rotate: 0, - id: 'C64' -}) -// tp_pwm.elts[2L].rc.r -const R34 = board.add(R_0603_1608Metric, { - translate: pt(0.761, 2.458), rotate: 0, - id: 'R34' -}) -// tp_pwm.elts[2L].rc.c -const C65 = board.add(C_0603_1608Metric, { - translate: pt(0.449, 2.555), rotate: 0, - id: 'C65' -}) -// tp_pwm.elts[2H].rc.r -const R35 = board.add(R_0603_1608Metric, { - translate: pt(0.605, 2.555), rotate: 0, - id: 'R35' -}) -// tp_pwm.elts[2H].rc.c -const C66 = board.add(C_0603_1608Metric, { - translate: pt(0.761, 2.555), rotate: 0, - id: 'C66' -}) -// conv_in_sense.div.top_res -const R36 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 2.731), rotate: 0, - id: 'R36' -}) -// conv_in_sense.div.bottom_res -const R37 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 2.828), rotate: 0, - id: 'R37' -}) -// conv_out_sense.div.top_res -const R38 = board.add(R_0603_1608Metric, { - translate: pt(0.293, 2.731), rotate: 0, - id: 'R38' -}) -// conv_out_sense.div.bottom_res -const R39 = board.add(R_0603_1608Metric, { - translate: pt(0.293, 2.828), rotate: 0, - id: 'R39' -}) - -board.setNetlist([ - {name: "vusb", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["J2", "A4"], ["J2", "B9"], ["J2", "B4"], ["J2", "A9"], ["TP1", "1"], ["U1", "3"], ["U2", "5"], ["U2", "4"], ["C1", "1"], ["L1", "1"], ["C3", "1"]]}, - {name: "gnd", pads: [["U13", "3"], ["U16", "3"], ["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["J2", "A1"], ["J2", "B12"], ["J2", "B1"], ["J2", "A12"], ["J3", "1"], ["TP2", "1"], ["U1", "1"], ["D1", "2"], ["U2", "2"], ["J4", "1"], ["TP6", "1"], ["U10", "49"], ["R16", "2"], ["X1", "2"], ["SW1", "2"], ["U14", "19"], ["U14", "57"], ["SW2", "2"], ["R37", "2"], ["R39", "2"], ["J1", "S1"], ["J2", "S1"], ["C1", "2"], ["C2", "2"], ["U11", "2"], ["U12", "4"], ["C39", "2"], ["C40", "2"], ["C41", "2"], ["C42", "2"], ["C43", "2"], ["C44", "2"], ["C45", "2"], ["C46", "2"], ["R17", "2"], ["R18", "2"], ["R19", "2"], ["R20", "2"], ["C47", "2"], ["C48", "2"], ["C49", "2"], ["C50", "2"], ["C51", "2"], ["C52", "2"], ["C53", "2"], ["C54", "2"], ["U15", "4"], ["C56", "2"], ["C57", "2"], ["C58", "2"], ["X2", "2"], ["X2", "4"], ["R26", "2"], ["R27", "2"], ["R28", "2"], ["R29", "2"], ["R6", "2"], ["U5", "4"], ["U8", "4"], ["C61", "2"], ["C62", "2"], ["C63", "2"], ["C64", "2"], ["C65", "2"], ["C66", "2"], ["R1", "1"], ["R2", "1"], ["Q2", "1"], ["Q2", "2"], ["Q2", "3"], ["J5", "3"], ["J5", "5"], ["J5", "9"], ["J6", "3"], ["J6", "5"], ["J6", "9"], ["C59", "2"], ["C60", "2"], ["R3", "1"], ["R4", "1"], ["C3", "2"], ["C4", "2"], ["U3", "4"], ["C36", "2"], ["C37", "2"], ["C38", "2"], ["C55", "2"], ["C18", "2"], ["C28", "2"], ["C5", "2"], ["C6", "2"], ["C7", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["C11", "2"], ["C12", "2"], ["C13", "2"]]}, - {name: "v3v3", pads: [["U1", "2"], ["TP3", "1"], ["D1", "1"], ["U10", "22"], ["U10", "33"], ["U10", "1"], ["U10", "24"], ["X1", "1"], ["X1", "4"], ["U14", "1"], ["U14", "10"], ["U14", "22"], ["U14", "33"], ["U14", "42"], ["U14", "49"], ["U14", "44"], ["U14", "43"], ["U14", "48"], ["C2", "1"], ["U11", "1"], ["R13", "1"], ["U12", "8"], ["J5", "1"], ["R14", "1"], ["C39", "1"], ["C40", "1"], ["C41", "1"], ["C42", "1"], ["C46", "1"], ["J6", "1"], ["C47", "1"], ["C48", "1"], ["C49", "1"], ["C50", "1"], ["C51", "1"], ["C52", "1"], ["C53", "1"], ["C54", "1"], ["U15", "8"], ["U5", "1"], ["U8", "1"], ["U11", "3"], ["U12", "3"], ["U12", "7"], ["C36", "1"], ["C38", "1"], ["C55", "1"], ["C18", "1"], ["C28", "1"]]}, - {name: "vgate", pads: [["TP4", "1"], ["D2", "1"], ["R5", "1"], ["C4", "1"], ["U3", "1"], ["C13", "1"], ["D4", "2"]]}, - {name: "conv.pwr_in", pads: [["J3", "2"], ["R36", "1"], ["Q1", "5"], ["Q1", "6"], ["Q1", "7"], ["Q1", "8"], ["C5", "1"], ["C6", "1"], ["C7", "1"], ["C8", "1"], ["C9", "1"]]}, - {name: "conv.pwr_out", pads: [["J4", "2"], ["TP5", "1"], ["R38", "1"], ["L2", "2"], ["C10", "1"], ["C11", "1"], ["C12", "1"]]}, - {name: "fpga.cdone", pads: [["U10", "7"], ["D8", "2"]]}, - {name: "fpga_osc.out", pads: [["X1", "3"], ["U10", "37"]]}, - {name: "fpga_sw.out", pads: [["U10", "32"], ["SW1", "1"]]}, - {name: "fpga.gpio.led_0", pads: [["U10", "21"], ["D9", "2"]]}, - {name: "fpga.gpio.led_1", pads: [["U10", "20"], ["D10", "2"]]}, - {name: "fpga.gpio.led_2", pads: [["U10", "19"], ["D11", "2"]]}, - {name: "fpga.gpio.led_3", pads: [["U10", "18"], ["D12", "2"]]}, - {name: "usb_fpga_bitbang.dp_pull", pads: [["U10", "27"], ["R21", "1"]]}, - {name: "usb_fpga_bitbang.dp", pads: [["U10", "26"], ["R22", "1"]]}, - {name: "usb_fpga_bitbang.dm", pads: [["U10", "25"], ["R23", "1"]]}, - {name: "usb_fpga_chain_0.d_P", pads: [["U13", "2"], ["J2", "A6"], ["J2", "B6"], ["R22", "2"], ["R21", "2"]]}, - {name: "usb_fpga_chain_0.d_N", pads: [["U13", "1"], ["J2", "A7"], ["J2", "B7"], ["R23", "2"]]}, - {name: "mcu_sw.out", pads: [["U14", "29"], ["SW2", "1"]]}, - {name: "mcu.gpio.led_0", pads: [["U14", "34"], ["D13", "2"]]}, - {name: "mcu.gpio.led_1", pads: [["U14", "35"], ["D14", "2"]]}, - {name: "mcu.gpio.led_2", pads: [["U14", "36"], ["D15", "2"]]}, - {name: "mcu.gpio.led_3", pads: [["U14", "37"], ["D16", "2"]]}, - {name: "usb_mcu_chain_0.d_P", pads: [["U16", "2"], ["J1", "A6"], ["J1", "B6"], ["R24", "2"]]}, - {name: "usb_mcu_chain_0.d_N", pads: [["U16", "1"], ["J1", "A7"], ["J1", "B7"], ["R25", "2"]]}, - {name: "tp_fpga[0].io", pads: [["U14", "14"], ["U10", "2"], ["TP7", "1"]]}, - {name: "tp_fpga[1].io", pads: [["U14", "13"], ["U10", "3"], ["TP8", "1"]]}, - {name: "tp_fpga[2].io", pads: [["U14", "12"], ["U10", "4"], ["TP9", "1"]]}, - {name: "tp_fpga[3].io", pads: [["U14", "11"], ["U10", "6"], ["TP10", "1"]]}, - {name: "fpga.gpio.pwm_0L", pads: [["U10", "47"], ["TP11", "1"], ["R30", "1"]]}, - {name: "fpga.gpio.pwm_0H", pads: [["U10", "48"], ["TP12", "1"], ["R31", "1"]]}, - {name: "fpga.gpio.pwm_1L", pads: [["U10", "45"], ["TP13", "1"], ["R32", "1"]]}, - {name: "fpga.gpio.pwm_1H", pads: [["U10", "46"], ["TP14", "1"], ["R33", "1"]]}, - {name: "fpga.gpio.pwm_2L", pads: [["U10", "43"], ["TP15", "1"], ["R34", "1"]]}, - {name: "fpga.gpio.pwm_2H", pads: [["U10", "44"], ["TP16", "1"], ["R35", "1"]]}, - {name: "tp_pwm.output.0L", pads: [["U3", "3"], ["R30", "2"], ["C61", "1"]]}, - {name: "tp_pwm.output.0H", pads: [["U3", "2"], ["R31", "2"], ["C62", "1"]]}, - {name: "tp_pwm.output.1L", pads: [["U5", "3"], ["R32", "2"], ["C63", "1"]]}, - {name: "tp_pwm.output.1H", pads: [["U5", "2"], ["R33", "2"], ["C64", "1"]]}, - {name: "tp_pwm.output.2L", pads: [["U8", "3"], ["R34", "2"], ["C65", "1"]]}, - {name: "tp_pwm.output.2H", pads: [["U8", "2"], ["R35", "2"], ["C66", "1"]]}, - {name: "conv_in_sense.output", pads: [["U14", "38"], ["R36", "2"], ["R37", "1"]]}, - {name: "conv_out_sense.output", pads: [["U14", "39"], ["R38", "2"], ["R39", "1"]]}, - {name: "usb_mcu.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, - {name: "usb_mcu.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, - {name: "usb_fpga.conn.cc.cc1", pads: [["J2", "A5"], ["R3", "2"]]}, - {name: "usb_fpga.conn.cc.cc2", pads: [["J2", "B5"], ["R4", "2"]]}, - {name: "reg_vgate.fb.output", pads: [["U2", "3"], ["R5", "2"], ["R6", "1"]]}, - {name: "reg_vgate.power_path.switch", pads: [["U2", "1"], ["L1", "2"], ["D2", "2"]]}, - {name: "conv.sw[0].low_out", pads: [["Q2", "5"], ["Q2", "6"], ["Q2", "7"], ["Q2", "8"], ["Q4", "1"], ["Q4", "2"], ["Q4", "3"], ["C25", "2"], ["U4", "2"], ["U5", "5"], ["U6", "4"], ["C22", "2"], ["C23", "2"], ["C16", "2"], ["C17", "2"], ["C19", "2"], ["C20", "2"]]}, - {name: "conv.sw[1].high_in", pads: [["Q3", "5"], ["Q3", "6"], ["Q3", "7"], ["Q3", "8"], ["C22", "1"], ["C23", "1"], ["Q1", "1"], ["Q1", "2"], ["Q1", "3"], ["C15", "2"], ["U3", "6"], ["C14", "2"]]}, - {name: "conv.sw[1].high_boot_out", pads: [["D3", "2"], ["C24", "1"], ["D5", "1"], ["U6", "8"], ["C21", "1"]]}, - {name: "conv.sw[1].low_out", pads: [["Q4", "5"], ["Q4", "6"], ["Q4", "7"], ["Q4", "8"], ["Q6", "1"], ["Q6", "2"], ["Q6", "3"], ["C35", "2"], ["U7", "2"], ["U8", "5"], ["U9", "4"], ["C32", "2"], ["C33", "2"], ["C26", "2"], ["C27", "2"], ["C29", "2"], ["C30", "2"]]}, - {name: "conv.sw[2].high_in", pads: [["Q5", "5"], ["Q5", "6"], ["Q5", "7"], ["Q5", "8"], ["C32", "1"], ["C33", "1"], ["Q3", "1"], ["Q3", "2"], ["Q3", "3"], ["C24", "2"], ["U6", "6"], ["C21", "2"]]}, - {name: "conv.sw[2].low_boot_in", pads: [["D6", "2"], ["C25", "1"], ["D4", "1"], ["U4", "1"], ["U6", "1"], ["U4", "3"], ["C16", "1"], ["C20", "1"]]}, - {name: "conv.sw[2].high_boot_out", pads: [["D5", "2"], ["C34", "1"], ["D7", "1"], ["U9", "8"], ["C31", "1"]]}, - {name: "conv.sw[2].low_boot_out", pads: [["D7", "2"], ["C35", "1"], ["D6", "1"], ["U7", "1"], ["U9", "1"], ["U7", "3"], ["C26", "1"], ["C30", "1"]]}, - {name: "conv.sw_merge", pads: [["Q6", "5"], ["Q6", "6"], ["Q6", "7"], ["Q6", "8"], ["L2", "1"], ["Q5", "1"], ["Q5", "2"], ["Q5", "3"], ["C34", "2"], ["U9", "6"], ["C31", "2"]]}, - {name: "conv.sw[0].high_gate_res.a", pads: [["R7", "1"], ["U3", "7"]]}, - {name: "conv.sw[0].high_gate_res.b", pads: [["R7", "2"], ["Q1", "4"]]}, - {name: "conv.sw[0].low_gate_res.a", pads: [["R8", "1"], ["U3", "5"]]}, - {name: "conv.sw[0].low_gate_res.b", pads: [["R8", "2"], ["Q2", "4"]]}, - {name: "conv.sw[0].high_boot_cap.pos", pads: [["C15", "1"], ["D3", "1"], ["U3", "8"], ["C14", "1"]]}, - {name: "conv.sw[1].iso.pwr_b", pads: [["U5", "8"], ["U4", "5"], ["C19", "1"], ["C17", "1"]]}, - {name: "conv.sw[1].driver.high_in", pads: [["U6", "2"], ["U5", "7"]]}, - {name: "conv.sw[1].driver.low_in", pads: [["U6", "3"], ["U5", "6"]]}, - {name: "conv.sw[1].high_gate_res.a", pads: [["R9", "1"], ["U6", "7"]]}, - {name: "conv.sw[1].high_gate_res.b", pads: [["R9", "2"], ["Q3", "4"]]}, - {name: "conv.sw[1].low_gate_res.a", pads: [["R10", "1"], ["U6", "5"]]}, - {name: "conv.sw[1].low_gate_res.b", pads: [["R10", "2"], ["Q4", "4"]]}, - {name: "conv.sw[2].iso.pwr_b", pads: [["U8", "8"], ["U7", "5"], ["C29", "1"], ["C27", "1"]]}, - {name: "conv.sw[2].driver.high_in", pads: [["U9", "2"], ["U8", "7"]]}, - {name: "conv.sw[2].driver.low_in", pads: [["U9", "3"], ["U8", "6"]]}, - {name: "conv.sw[2].high_gate_res.a", pads: [["R11", "1"], ["U9", "7"]]}, - {name: "conv.sw[2].high_gate_res.b", pads: [["R11", "2"], ["Q5", "4"]]}, - {name: "conv.sw[2].low_gate_res.a", pads: [["R12", "1"], ["U9", "5"]]}, - {name: "conv.sw[2].low_gate_res.b", pads: [["R12", "2"], ["Q6", "4"]]}, - {name: "fpga.ic.creset_b", pads: [["U10", "8"], ["R13", "2"], ["J5", "10"]]}, - {name: "fpga.ic.spi_config.sck", pads: [["U10", "15"], ["U12", "6"], ["J5", "4"]]}, - {name: "fpga.ic.spi_config.mosi", pads: [["U10", "14"], ["U12", "5"], ["J5", "6"]]}, - {name: "fpga.ic.spi_config.miso", pads: [["U10", "17"], ["U12", "2"], ["J5", "8"]]}, - {name: "fpga.ic.spi_config_cs", pads: [["U10", "16"], ["J5", "2"], ["JP1", "1"]]}, - {name: "fpga.cs_jmp.output", pads: [["JP1", "2"], ["R14", "2"], ["U12", "1"]]}, - {name: "fpga.vcc_reg.pwr_out", pads: [["U10", "5"], ["U10", "30"], ["U11", "5"], ["R15", "1"], ["C43", "1"], ["C37", "1"]]}, - {name: "fpga.pll_res.pwr_out", pads: [["U10", "29"], ["R15", "2"], ["C44", "1"], ["C45", "1"]]}, - {name: "cdone.res.a", pads: [["R16", "1"], ["D8", "1"]]}, - {name: "fpga_led.led[0].res.a", pads: [["R17", "1"], ["D9", "1"]]}, - {name: "fpga_led.led[1].res.a", pads: [["R18", "1"], ["D10", "1"]]}, - {name: "fpga_led.led[2].res.a", pads: [["R19", "1"], ["D11", "1"]]}, - {name: "fpga_led.led[3].res.a", pads: [["R20", "1"], ["D12", "1"]]}, - {name: "mcu.xtal_node.xi", pads: [["U14", "20"], ["X2", "1"], ["C59", "1"]]}, - {name: "mcu.xtal_node.xo", pads: [["U14", "21"], ["X2", "3"], ["C60", "1"]]}, - {name: "mcu.swd_node.swdio", pads: [["U14", "25"], ["J6", "2"]]}, - {name: "mcu.swd_node.swclk", pads: [["U14", "24"], ["J6", "4"]]}, - {name: "mcu.reset_node", pads: [["U14", "26"], ["J6", "10"]]}, - {name: "mcu.ic.qspi.sck", pads: [["U14", "52"], ["U15", "6"]]}, - {name: "mcu.ic.qspi.mosi", pads: [["U14", "53"], ["U15", "5"]]}, - {name: "mcu.ic.qspi.miso", pads: [["U14", "55"], ["U15", "2"]]}, - {name: "mcu.ic.qspi_cs", pads: [["U14", "56"], ["U15", "1"]]}, - {name: "mcu.ic.qspi_sd2", pads: [["U14", "54"], ["U15", "3"]]}, - {name: "mcu.ic.qspi_sd3", pads: [["U14", "51"], ["U15", "7"]]}, - {name: "mcu.ic.vreg_vout", pads: [["U14", "45"], ["U14", "23"], ["U14", "50"], ["C56", "1"], ["C57", "1"], ["C58", "1"]]}, - {name: "mcu.usb_chain_0.d_P", pads: [["U14", "47"], ["R24", "1"]]}, - {name: "mcu.usb_chain_0.d_N", pads: [["U14", "46"], ["R25", "1"]]}, - {name: "mcu.swd.swo", pads: [["U14", "2"], ["J6", "6"]]}, - {name: "mcu.swd.tdi", pads: [["U14", "3"], ["J6", "8"]]}, - {name: "mcu_leds.led[0].res.a", pads: [["R26", "1"], ["D13", "1"]]}, - {name: "mcu_leds.led[1].res.a", pads: [["R27", "1"], ["D14", "1"]]}, - {name: "mcu_leds.led[2].res.a", pads: [["R28", "1"], ["D15", "1"]]}, - {name: "mcu_leds.led[3].res.a", pads: [["R29", "1"], ["D16", "1"]]} -]) - -const limit0 = pt(-0.07874015748031496, -0.07874015748031496); -const limit1 = pt(3.7659448818897645, 2.9748031496062994); -const xMin = Math.min(limit0[0], limit1[0]); -const xMax = Math.max(limit0[0], limit1[0]); -const yMin = Math.min(limit0[1], limit1[1]); -const yMax = Math.max(limit0[1], limit1[1]); - -const filletRadius = 0.1; -const outline = path( - [(xMin+xMax/2), yMax], - ["fillet", filletRadius, [xMax, yMax]], - ["fillet", filletRadius, [xMax, yMin]], - ["fillet", filletRadius, [xMin, yMin]], - ["fillet", filletRadius, [xMin, yMax]], - [(xMin+xMax/2), yMax], -); -board.addShape("outline", outline); - -renderPCB({ - pcb: board, - layerColors: { - "F.Paste": "#000000ff", - "F.Mask": "#000000ff", - "B.Mask": "#000000ff", - "componentLabels": "#00e5e5e5", - "outline": "#002d00ff", - "padLabels": "#ffff99e5", - "B.Cu": "#ef4e4eff", - "F.Cu": "#ff8c00cc", - }, - limits: { - x: [xMin, xMax], - y: [yMin, yMax] - }, - background: "#00000000", - mmPerUnit: 25.4 -}) - - diff --git a/examples/HighSwitch/HighSwitch.net b/examples/HighSwitch/HighSwitch.net deleted file mode 100644 index c2a44a719..000000000 --- a/examples/HighSwitch/HighSwitch.net +++ /dev/null @@ -1,1426 +0,0 @@ -(export (version D) -(components -(comp (ref "J1") - (value "pwr_conn") - (footprint "calisco:Molex_DuraClik_vert_3pin") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "pwr_conn")) - (property (name "edg_short_path") (value "pwr_conn")) - (property (name "edg_refdes") (value "J1")) - (property (name "edg_part") (value "5600200320 (Molex)")) - (property (name "edg_value") (value "5600200320")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0f730367")) -(comp (ref "U1") - (value "pwr.ic") - (footprint "Package_TO_SOT_SMD:SOT-23-6") - (property (name "Sheetname") (value "pwr")) - (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps561201")) - (property (name "edg_path") (value "pwr.ic")) - (property (name "edg_short_path") (value "pwr.ic")) - (property (name "edg_refdes") (value "U1")) - (property (name "edg_part") (value "TPS561201 (Texas Instruments)")) - (property (name "edg_value") (value "TPS561201")) - (sheetpath (names "/pwr/") (tstamps "/02b3015a/")) - (tstamps "013700cd")) -(comp (ref "R1") - (value "pwr.fb.top_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "fb")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) - (property (name "edg_path") (value "pwr.fb.div.top_res")) - (property (name "edg_short_path") (value "pwr.fb.top_res")) - (property (name "edg_refdes") (value "R1")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "33k, 1%, 0.1 W")) - (sheetpath (names "/pwr/fb/") (tstamps "/02b3015a/013000c9/")) - (tstamps "0c0c02fd")) -(comp (ref "R2") - (value "pwr.fb.bottom_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "fb")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) - (property (name "edg_path") (value "pwr.fb.div.bottom_res")) - (property (name "edg_short_path") (value "pwr.fb.bottom_res")) - (property (name "edg_refdes") (value "R2")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10k, 1%, 0.1 W")) - (sheetpath (names "/pwr/fb/") (tstamps "/02b3015a/013000c9/")) - (tstamps "175b043f")) -(comp (ref "C1") - (value "pwr.hf_in_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "pwr")) - (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps561201")) - (property (name "edg_path") (value "pwr.hf_in_cap.cap")) - (property (name "edg_short_path") (value "pwr.hf_in_cap")) - (property (name "edg_refdes") (value "C1")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "100nF")) - (sheetpath (names "/pwr/") (tstamps "/02b3015a/")) - (tstamps "11ed0398")) -(comp (ref "C2") - (value "pwr.vbst_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "pwr")) - (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps561201")) - (property (name "edg_path") (value "pwr.vbst_cap")) - (property (name "edg_short_path") (value "pwr.vbst_cap")) - (property (name "edg_refdes") (value "C2")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "100nF")) - (sheetpath (names "/pwr/") (tstamps "/02b3015a/")) - (tstamps "0f330353")) -(comp (ref "L1") - (value "pwr.power_path.inductor") - (footprint "Inductor_SMD:L_0805_2012Metric") - (property (name "Sheetname") (value "power_path")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) - (property (name "edg_path") (value "pwr.power_path.inductor")) - (property (name "edg_short_path") (value "pwr.power_path.inductor")) - (property (name "edg_refdes") (value "L1")) - (property (name "edg_part") (value "MGFL2012F220MT-LF (microgate)")) - (property (name "edg_value") (value "300mA 22uH ±20% 700mΩ 0805 Inductors (SMD) ROHS")) - (sheetpath (names "/pwr/power_path/") (tstamps "/02b3015a/1786043a/")) - (tstamps "0f2b0369")) -(comp (ref "C3") - (value "pwr.power_path.in_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "power_path")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) - (property (name "edg_path") (value "pwr.power_path.in_cap.cap")) - (property (name "edg_short_path") (value "pwr.power_path.in_cap")) - (property (name "edg_refdes") (value "C3")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "1uF")) - (sheetpath (names "/pwr/power_path/") (tstamps "/02b3015a/1786043a/")) - (tstamps "0879026b")) -(comp (ref "C4") - (value "pwr.power_path.out_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "power_path")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) - (property (name "edg_path") (value "pwr.power_path.out_cap.cap")) - (property (name "edg_short_path") (value "pwr.power_path.out_cap")) - (property (name "edg_refdes") (value "C4")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10uF")) - (sheetpath (names "/pwr/power_path/") (tstamps "/02b3015a/1786043a/")) - (tstamps "0be902ec")) -(comp (ref "J2") - (value "mcu.swd") - (footprint "Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical_SMD") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) - (property (name "edg_path") (value "mcu.swd.conn")) - (property (name "edg_short_path") (value "mcu.swd")) - (property (name "edg_refdes") (value "J2")) - (property (name "edg_part") (value "PinHeader1.27 Shrouded 2x5 (Generic)")) - (property (name "edg_value") (value "PinHeader1.27 Shrouded 2x5")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "02ae014f")) -(comp (ref "U2") - (value "mcu.ic") - (footprint "Package_QFP:LQFP-48_7x7mm_P0.5mm") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) - (property (name "edg_path") (value "mcu.ic")) - (property (name "edg_short_path") (value "mcu.ic")) - (property (name "edg_refdes") (value "U2")) - (property (name "edg_part") (value "LPC1549JBD48 (NXP)")) - (property (name "edg_value") (value "LPC1549JBD48")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "013700cd")) -(comp (ref "R3") - (value "mcu.swd_pull.swdio") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "swd_pull")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549SwdPull")) - (property (name "edg_path") (value "mcu.swd_pull.swdio.res")) - (property (name "edg_short_path") (value "mcu.swd_pull.swdio")) - (property (name "edg_refdes") (value "R3")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10k, 1%, 0.1 W")) - (sheetpath (names "/mcu/swd_pull/") (tstamps "/02850146/0f77036b/")) - (tstamps "068d0227")) -(comp (ref "R4") - (value "mcu.swd_pull.swclk") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "swd_pull")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549SwdPull")) - (property (name "edg_path") (value "mcu.swd_pull.swclk.res")) - (property (name "edg_short_path") (value "mcu.swd_pull.swclk")) - (property (name "edg_refdes") (value "R4")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10k, 1%, 0.1 W")) - (sheetpath (names "/mcu/swd_pull/") (tstamps "/02850146/0f77036b/")) - (tstamps "068c0225")) -(comp (ref "C5") - (value "mcu.pwr_cap[0]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) - (property (name "edg_path") (value "mcu.pwr_cap[0].cap")) - (property (name "edg_short_path") (value "mcu.pwr_cap[0]")) - (property (name "edg_refdes") (value "C5")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "100nF")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "168703d5")) -(comp (ref "C6") - (value "mcu.pwr_cap[1]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) - (property (name "edg_path") (value "mcu.pwr_cap[1].cap")) - (property (name "edg_short_path") (value "mcu.pwr_cap[1]")) - (property (name "edg_refdes") (value "C6")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10nF")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "168903d6")) -(comp (ref "C7") - (value "mcu.pwr_cap[2]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) - (property (name "edg_path") (value "mcu.pwr_cap[2].cap")) - (property (name "edg_short_path") (value "mcu.pwr_cap[2]")) - (property (name "edg_refdes") (value "C7")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "100nF")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "168b03d7")) -(comp (ref "C8") - (value "mcu.pwr_cap[3]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) - (property (name "edg_path") (value "mcu.pwr_cap[3].cap")) - (property (name "edg_short_path") (value "mcu.pwr_cap[3]")) - (property (name "edg_refdes") (value "C8")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10nF")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "168d03d8")) -(comp (ref "C9") - (value "mcu.pwr_cap[4]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) - (property (name "edg_path") (value "mcu.pwr_cap[4].cap")) - (property (name "edg_short_path") (value "mcu.pwr_cap[4]")) - (property (name "edg_refdes") (value "C9")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "100nF")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "168f03d9")) -(comp (ref "C10") - (value "mcu.pwr_cap[5]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) - (property (name "edg_path") (value "mcu.pwr_cap[5].cap")) - (property (name "edg_short_path") (value "mcu.pwr_cap[5]")) - (property (name "edg_refdes") (value "C10")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10nF")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "169103da")) -(comp (ref "C11") - (value "mcu.vbat_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) - (property (name "edg_path") (value "mcu.vbat_cap.cap")) - (property (name "edg_short_path") (value "mcu.vbat_cap")) - (property (name "edg_refdes") (value "C11")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "100nF")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "0ec70341")) -(comp (ref "C12") - (value "mcu.pwra_cap[0]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) - (property (name "edg_path") (value "mcu.pwra_cap[0].cap")) - (property (name "edg_short_path") (value "mcu.pwra_cap[0]")) - (property (name "edg_refdes") (value "C12")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "100nF")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "1ae90436")) -(comp (ref "C13") - (value "mcu.pwra_cap[1]") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) - (property (name "edg_path") (value "mcu.pwra_cap[1].cap")) - (property (name "edg_short_path") (value "mcu.pwra_cap[1]")) - (property (name "edg_refdes") (value "C13")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10uF")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "1aeb0437")) -(comp (ref "C14") - (value "mcu.vref_cap[0]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) - (property (name "edg_path") (value "mcu.vref_cap[0].cap")) - (property (name "edg_short_path") (value "mcu.vref_cap[0]")) - (property (name "edg_refdes") (value "C14")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "100nF")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "1aac042f")) -(comp (ref "C15") - (value "mcu.vref_cap[1]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) - (property (name "edg_path") (value "mcu.vref_cap[1].cap")) - (property (name "edg_short_path") (value "mcu.vref_cap[1]")) - (property (name "edg_refdes") (value "C15")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "100nF")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "1aae0430")) -(comp (ref "C16") - (value "mcu.vref_cap[2]") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) - (property (name "edg_path") (value "mcu.vref_cap[2].cap")) - (property (name "edg_short_path") (value "mcu.vref_cap[2]")) - (property (name "edg_refdes") (value "C16")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10uF")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "1ab00431")) -(comp (ref "X1") - (value "mcu.crystal.package") - (footprint "Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm") - (property (name "Sheetname") (value "crystal")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) - (property (name "edg_path") (value "mcu.crystal.package")) - (property (name "edg_short_path") (value "mcu.crystal.package")) - (property (name "edg_refdes") (value "X1")) - (property (name "edg_part") (value "X322512MSB4SI (Yangxing Tech)")) - (property (name "edg_value") (value "12MHz SMD Crystal Resonator 20pF ±10ppm ±30ppm -40℃~+85℃ SMD3225-4P Crystals ROHS")) - (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) - (tstamps "0b4e02cd")) -(comp (ref "C17") - (value "mcu.crystal.cap_a") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "crystal")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) - (property (name "edg_path") (value "mcu.crystal.cap_a")) - (property (name "edg_short_path") (value "mcu.crystal.cap_a")) - (property (name "edg_refdes") (value "C17")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "22pF")) - (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) - (tstamps "05e701f5")) -(comp (ref "C18") - (value "mcu.crystal.cap_b") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "crystal")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) - (property (name "edg_path") (value "mcu.crystal.cap_b")) - (property (name "edg_short_path") (value "mcu.crystal.cap_b")) - (property (name "edg_refdes") (value "C18")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "22pF")) - (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) - (tstamps "05e801f6")) -(comp (ref "J3") - (value "can.conn") - (footprint "calisco:Molex_DuraClik_vert_5pin") - (property (name "Sheetname") (value "can")) - (property (name "Sheetfile") (value "examples.test_high_switch.CalSolCanBlock")) - (property (name "edg_path") (value "can.conn")) - (property (name "edg_short_path") (value "can.conn")) - (property (name "edg_refdes") (value "J3")) - (property (name "edg_part") (value "5600200520 (Molex)")) - (property (name "edg_value") (value "5600200520")) - (sheetpath (names "/can/") (tstamps "/025c0133/")) - (tstamps "042701af")) -(comp (ref "F1") - (value "can.can_fuse") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "can")) - (property (name "Sheetfile") (value "examples.test_high_switch.CalSolCanBlock")) - (property (name "edg_path") (value "can.can_fuse.fuse")) - (property (name "edg_short_path") (value "can.can_fuse")) - (property (name "edg_refdes") (value "F1")) - (property (name "edg_part") (value "0ZCM0005FF2G")) - (property (name "edg_value") (value "0ZCM0005FF2G")) - (sheetpath (names "/can/") (tstamps "/025c0133/")) - (tstamps "0e780345")) -(comp (ref "U3") - (value "can.reg.ic") - (footprint "Package_TO_SOT_SMD:SOT-23-5") - (property (name "Sheetname") (value "reg")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) - (property (name "edg_path") (value "can.reg.ic")) - (property (name "edg_short_path") (value "can.reg.ic")) - (property (name "edg_refdes") (value "U3")) - (property (name "edg_part") (value "AP2204K-5.0 (Diodes Incorporated)")) - (property (name "edg_value") (value "AP2204K-5.0")) - (sheetpath (names "/can/reg/") (tstamps "/025c0133/028a013f/")) - (tstamps "013700cd")) -(comp (ref "C19") - (value "can.reg.in_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "reg")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) - (property (name "edg_path") (value "can.reg.in_cap.cap")) - (property (name "edg_short_path") (value "can.reg.in_cap")) - (property (name "edg_refdes") (value "C19")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "1uF")) - (sheetpath (names "/can/reg/") (tstamps "/025c0133/028a013f/")) - (tstamps "0879026b")) -(comp (ref "C20") - (value "can.reg.out_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "reg")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) - (property (name "edg_path") (value "can.reg.out_cap.cap")) - (property (name "edg_short_path") (value "can.reg.out_cap")) - (property (name "edg_refdes") (value "C20")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "2.2uF")) - (sheetpath (names "/can/reg/") (tstamps "/025c0133/028a013f/")) - (tstamps "0be902ec")) -(comp (ref "U4") - (value "can.esd") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "can")) - (property (name "Sheetfile") (value "examples.test_high_switch.CalSolCanBlock")) - (property (name "edg_path") (value "can.esd")) - (property (name "edg_short_path") (value "can.esd")) - (property (name "edg_refdes") (value "U4")) - (property (name "edg_part") (value "PESD1CAN,215")) - (property (name "edg_value") (value "PESD1CAN,215")) - (sheetpath (names "/can/") (tstamps "/025c0133/")) - (tstamps "027c013d")) -(comp (ref "U5") - (value "can.transceiver.ic") - (footprint "Package_SO:SOP-8_6.62x9.15mm_P2.54mm") - (property (name "Sheetname") (value "transceiver")) - (property (name "Sheetfile") (value "edg.parts.CanTransceiver_Iso1050.Iso1050dub")) - (property (name "edg_path") (value "can.transceiver.ic")) - (property (name "edg_short_path") (value "can.transceiver.ic")) - (property (name "edg_refdes") (value "U5")) - (property (name "edg_part") (value "ISO1050DUB (Texas Instruments)")) - (property (name "edg_value") (value "ISO1050DUB")) - (sheetpath (names "/can/transceiver/") (tstamps "/025c0133/1c0604a7/")) - (tstamps "013700cd")) -(comp (ref "C21") - (value "can.transceiver.logic_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "transceiver")) - (property (name "Sheetfile") (value "edg.parts.CanTransceiver_Iso1050.Iso1050dub")) - (property (name "edg_path") (value "can.transceiver.logic_cap.cap")) - (property (name "edg_short_path") (value "can.transceiver.logic_cap")) - (property (name "edg_refdes") (value "C21")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "100nF")) - (sheetpath (names "/can/transceiver/") (tstamps "/025c0133/1c0604a7/")) - (tstamps "125a03a2")) -(comp (ref "C22") - (value "can.transceiver.can_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "transceiver")) - (property (name "Sheetfile") (value "edg.parts.CanTransceiver_Iso1050.Iso1050dub")) - (property (name "edg_path") (value "can.transceiver.can_cap.cap")) - (property (name "edg_short_path") (value "can.transceiver.can_cap")) - (property (name "edg_refdes") (value "C22")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "100nF")) - (sheetpath (names "/can/transceiver/") (tstamps "/025c0133/1c0604a7/")) - (tstamps "0aff02c6")) -(comp (ref "R5") - (value "vsense.top_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "vsense")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageDivider")) - (property (name "edg_path") (value "vsense.div.top_res")) - (property (name "edg_short_path") (value "vsense.top_res")) - (property (name "edg_refdes") (value "R5")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "3.3k, 1%, 0.1 W")) - (sheetpath (names "/vsense/") (tstamps "/09320295/")) - (tstamps "0c0c02fd")) -(comp (ref "R6") - (value "vsense.bottom_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "vsense")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageDivider")) - (property (name "edg_path") (value "vsense.div.bottom_res")) - (property (name "edg_short_path") (value "vsense.bottom_res")) - (property (name "edg_refdes") (value "R6")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "1.1k, 1%, 0.1 W")) - (sheetpath (names "/vsense/") (tstamps "/09320295/")) - (tstamps "175b043f")) -(comp (ref "D1") - (value "rgb1.package") - (footprint "LED_SMD:LED_LiteOn_LTST-C19HE1WT") - (property (name "Sheetname") (value "rgb1")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkRgbLed")) - (property (name "edg_path") (value "rgb1.package")) - (property (name "edg_short_path") (value "rgb1.package")) - (property (name "edg_refdes") (value "D1")) - (property (name "edg_part") (value "EAST1616RGBB2 (Everlight Electronics Co Ltd)")) - (property (name "edg_value") (value "EAST1616RGBB2")) - (sheetpath (names "/rgb1/") (tstamps "/03f6016d/")) - (tstamps "0b4e02cd")) -(comp (ref "R7") - (value "rgb1.red_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "rgb1")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkRgbLed")) - (property (name "edg_path") (value "rgb1.red_res")) - (property (name "edg_short_path") (value "rgb1.red_res")) - (property (name "edg_refdes") (value "R7")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "1k, 1%, 0.1 W")) - (sheetpath (names "/rgb1/") (tstamps "/03f6016d/")) - (tstamps "0b8602e5")) -(comp (ref "R8") - (value "rgb1.green_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "rgb1")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkRgbLed")) - (property (name "edg_path") (value "rgb1.green_res")) - (property (name "edg_short_path") (value "rgb1.green_res")) - (property (name "edg_refdes") (value "R8")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "1k, 1%, 0.1 W")) - (sheetpath (names "/rgb1/") (tstamps "/03f6016d/")) - (tstamps "128e03bb")) -(comp (ref "R9") - (value "rgb1.blue_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "rgb1")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkRgbLed")) - (property (name "edg_path") (value "rgb1.blue_res")) - (property (name "edg_short_path") (value "rgb1.blue_res")) - (property (name "edg_refdes") (value "R9")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "1k, 1%, 0.1 W")) - (sheetpath (names "/rgb1/") (tstamps "/03f6016d/")) - (tstamps "0ed20352")) -(comp (ref "D2") - (value "rgb2.package") - (footprint "LED_SMD:LED_LiteOn_LTST-C19HE1WT") - (property (name "Sheetname") (value "rgb2")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkRgbLed")) - (property (name "edg_path") (value "rgb2.package")) - (property (name "edg_short_path") (value "rgb2.package")) - (property (name "edg_refdes") (value "D2")) - (property (name "edg_part") (value "EAST1616RGBB2 (Everlight Electronics Co Ltd)")) - (property (name "edg_value") (value "EAST1616RGBB2")) - (sheetpath (names "/rgb2/") (tstamps "/03f7016e/")) - (tstamps "0b4e02cd")) -(comp (ref "R10") - (value "rgb2.red_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "rgb2")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkRgbLed")) - (property (name "edg_path") (value "rgb2.red_res")) - (property (name "edg_short_path") (value "rgb2.red_res")) - (property (name "edg_refdes") (value "R10")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "1k, 1%, 0.1 W")) - (sheetpath (names "/rgb2/") (tstamps "/03f7016e/")) - (tstamps "0b8602e5")) -(comp (ref "R11") - (value "rgb2.green_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "rgb2")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkRgbLed")) - (property (name "edg_path") (value "rgb2.green_res")) - (property (name "edg_short_path") (value "rgb2.green_res")) - (property (name "edg_refdes") (value "R11")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "1k, 1%, 0.1 W")) - (sheetpath (names "/rgb2/") (tstamps "/03f7016e/")) - (tstamps "128e03bb")) -(comp (ref "R12") - (value "rgb2.blue_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "rgb2")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkRgbLed")) - (property (name "edg_path") (value "rgb2.blue_res")) - (property (name "edg_short_path") (value "rgb2.blue_res")) - (property (name "edg_refdes") (value "R12")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "1k, 1%, 0.1 W")) - (sheetpath (names "/rgb2/") (tstamps "/03f7016e/")) - (tstamps "0ed20352")) -(comp (ref "J4") - (value "light[0].conn") - (footprint "calisco:Molex_DuraClik_vert_4pin") - (property (name "Sheetname") (value "light[0]")) - (property (name "Sheetfile") (value "examples.test_high_switch.LightsDriver")) - (property (name "edg_path") (value "light[0].conn")) - (property (name "edg_short_path") (value "light[0].conn")) - (property (name "edg_refdes") (value "J4")) - (property (name "edg_part") (value "5600200420 (Molex)")) - (property (name "edg_value") (value "5600200420")) - (sheetpath (names "/light[0]/") (tstamps "/0e570301/")) - (tstamps "042701af")) -(comp (ref "Q1") - (value "light[0].drv[0].pre") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[0].drv[0].pre")) - (property (name "edg_short_path") (value "light[0].drv[0].pre")) - (property (name "edg_refdes") (value "Q1")) - (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) - (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) - (sheetpath (names "/light[0]/drv[0]/") (tstamps "/0e570301/083e0235/")) - (tstamps "029c0148")) -(comp (ref "R13") - (value "light[0].drv[0].pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[0].drv[0].pull")) - (property (name "edg_short_path") (value "light[0].drv[0].pull")) - (property (name "edg_refdes") (value "R13")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10k, 1%, 0.1 W")) - (sheetpath (names "/light[0]/drv[0]/") (tstamps "/0e570301/083e0235/")) - (tstamps "046701be")) -(comp (ref "Q2") - (value "light[0].drv[0].drv") - (footprint "Package_TO_SOT_SMD:TO-252-2") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[0].drv[0].drv")) - (property (name "edg_short_path") (value "light[0].drv[0].drv")) - (property (name "edg_refdes") (value "Q2")) - (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) - (sheetpath (names "/light[0]/drv[0]/") (tstamps "/0e570301/083e0235/")) - (tstamps "0289014d")) -(comp (ref "Q3") - (value "light[0].drv[1].pre") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[0].drv[1].pre")) - (property (name "edg_short_path") (value "light[0].drv[1].pre")) - (property (name "edg_refdes") (value "Q3")) - (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) - (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) - (sheetpath (names "/light[0]/drv[1]/") (tstamps "/0e570301/08400236/")) - (tstamps "029c0148")) -(comp (ref "R14") - (value "light[0].drv[1].pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[0].drv[1].pull")) - (property (name "edg_short_path") (value "light[0].drv[1].pull")) - (property (name "edg_refdes") (value "R14")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10k, 1%, 0.1 W")) - (sheetpath (names "/light[0]/drv[1]/") (tstamps "/0e570301/08400236/")) - (tstamps "046701be")) -(comp (ref "Q4") - (value "light[0].drv[1].drv") - (footprint "Package_TO_SOT_SMD:TO-252-2") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[0].drv[1].drv")) - (property (name "edg_short_path") (value "light[0].drv[1].drv")) - (property (name "edg_refdes") (value "Q4")) - (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) - (sheetpath (names "/light[0]/drv[1]/") (tstamps "/0e570301/08400236/")) - (tstamps "0289014d")) -(comp (ref "J5") - (value "light[1].conn") - (footprint "calisco:Molex_DuraClik_vert_4pin") - (property (name "Sheetname") (value "light[1]")) - (property (name "Sheetfile") (value "examples.test_high_switch.LightsDriver")) - (property (name "edg_path") (value "light[1].conn")) - (property (name "edg_short_path") (value "light[1].conn")) - (property (name "edg_refdes") (value "J5")) - (property (name "edg_part") (value "5600200420 (Molex)")) - (property (name "edg_value") (value "5600200420")) - (sheetpath (names "/light[1]/") (tstamps "/0e590302/")) - (tstamps "042701af")) -(comp (ref "Q5") - (value "light[1].drv[0].pre") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[1].drv[0].pre")) - (property (name "edg_short_path") (value "light[1].drv[0].pre")) - (property (name "edg_refdes") (value "Q5")) - (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) - (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) - (sheetpath (names "/light[1]/drv[0]/") (tstamps "/0e590302/083e0235/")) - (tstamps "029c0148")) -(comp (ref "R15") - (value "light[1].drv[0].pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[1].drv[0].pull")) - (property (name "edg_short_path") (value "light[1].drv[0].pull")) - (property (name "edg_refdes") (value "R15")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10k, 1%, 0.1 W")) - (sheetpath (names "/light[1]/drv[0]/") (tstamps "/0e590302/083e0235/")) - (tstamps "046701be")) -(comp (ref "Q6") - (value "light[1].drv[0].drv") - (footprint "Package_TO_SOT_SMD:TO-252-2") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[1].drv[0].drv")) - (property (name "edg_short_path") (value "light[1].drv[0].drv")) - (property (name "edg_refdes") (value "Q6")) - (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) - (sheetpath (names "/light[1]/drv[0]/") (tstamps "/0e590302/083e0235/")) - (tstamps "0289014d")) -(comp (ref "Q7") - (value "light[1].drv[1].pre") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[1].drv[1].pre")) - (property (name "edg_short_path") (value "light[1].drv[1].pre")) - (property (name "edg_refdes") (value "Q7")) - (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) - (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) - (sheetpath (names "/light[1]/drv[1]/") (tstamps "/0e590302/08400236/")) - (tstamps "029c0148")) -(comp (ref "R16") - (value "light[1].drv[1].pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[1].drv[1].pull")) - (property (name "edg_short_path") (value "light[1].drv[1].pull")) - (property (name "edg_refdes") (value "R16")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10k, 1%, 0.1 W")) - (sheetpath (names "/light[1]/drv[1]/") (tstamps "/0e590302/08400236/")) - (tstamps "046701be")) -(comp (ref "Q8") - (value "light[1].drv[1].drv") - (footprint "Package_TO_SOT_SMD:TO-252-2") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[1].drv[1].drv")) - (property (name "edg_short_path") (value "light[1].drv[1].drv")) - (property (name "edg_refdes") (value "Q8")) - (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) - (sheetpath (names "/light[1]/drv[1]/") (tstamps "/0e590302/08400236/")) - (tstamps "0289014d")) -(comp (ref "J6") - (value "light[2].conn") - (footprint "calisco:Molex_DuraClik_vert_4pin") - (property (name "Sheetname") (value "light[2]")) - (property (name "Sheetfile") (value "examples.test_high_switch.LightsDriver")) - (property (name "edg_path") (value "light[2].conn")) - (property (name "edg_short_path") (value "light[2].conn")) - (property (name "edg_refdes") (value "J6")) - (property (name "edg_part") (value "5600200420 (Molex)")) - (property (name "edg_value") (value "5600200420")) - (sheetpath (names "/light[2]/") (tstamps "/0e5b0303/")) - (tstamps "042701af")) -(comp (ref "Q9") - (value "light[2].drv[0].pre") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[2].drv[0].pre")) - (property (name "edg_short_path") (value "light[2].drv[0].pre")) - (property (name "edg_refdes") (value "Q9")) - (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) - (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) - (sheetpath (names "/light[2]/drv[0]/") (tstamps "/0e5b0303/083e0235/")) - (tstamps "029c0148")) -(comp (ref "R17") - (value "light[2].drv[0].pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[2].drv[0].pull")) - (property (name "edg_short_path") (value "light[2].drv[0].pull")) - (property (name "edg_refdes") (value "R17")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10k, 1%, 0.1 W")) - (sheetpath (names "/light[2]/drv[0]/") (tstamps "/0e5b0303/083e0235/")) - (tstamps "046701be")) -(comp (ref "Q10") - (value "light[2].drv[0].drv") - (footprint "Package_TO_SOT_SMD:TO-252-2") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[2].drv[0].drv")) - (property (name "edg_short_path") (value "light[2].drv[0].drv")) - (property (name "edg_refdes") (value "Q10")) - (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) - (sheetpath (names "/light[2]/drv[0]/") (tstamps "/0e5b0303/083e0235/")) - (tstamps "0289014d")) -(comp (ref "Q11") - (value "light[2].drv[1].pre") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[2].drv[1].pre")) - (property (name "edg_short_path") (value "light[2].drv[1].pre")) - (property (name "edg_refdes") (value "Q11")) - (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) - (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) - (sheetpath (names "/light[2]/drv[1]/") (tstamps "/0e5b0303/08400236/")) - (tstamps "029c0148")) -(comp (ref "R18") - (value "light[2].drv[1].pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[2].drv[1].pull")) - (property (name "edg_short_path") (value "light[2].drv[1].pull")) - (property (name "edg_refdes") (value "R18")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10k, 1%, 0.1 W")) - (sheetpath (names "/light[2]/drv[1]/") (tstamps "/0e5b0303/08400236/")) - (tstamps "046701be")) -(comp (ref "Q12") - (value "light[2].drv[1].drv") - (footprint "Package_TO_SOT_SMD:TO-252-2") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[2].drv[1].drv")) - (property (name "edg_short_path") (value "light[2].drv[1].drv")) - (property (name "edg_refdes") (value "Q12")) - (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) - (sheetpath (names "/light[2]/drv[1]/") (tstamps "/0e5b0303/08400236/")) - (tstamps "0289014d")) -(comp (ref "J7") - (value "light[3].conn") - (footprint "calisco:Molex_DuraClik_vert_4pin") - (property (name "Sheetname") (value "light[3]")) - (property (name "Sheetfile") (value "examples.test_high_switch.LightsDriver")) - (property (name "edg_path") (value "light[3].conn")) - (property (name "edg_short_path") (value "light[3].conn")) - (property (name "edg_refdes") (value "J7")) - (property (name "edg_part") (value "5600200420 (Molex)")) - (property (name "edg_value") (value "5600200420")) - (sheetpath (names "/light[3]/") (tstamps "/0e5d0304/")) - (tstamps "042701af")) -(comp (ref "Q13") - (value "light[3].drv[0].pre") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[3].drv[0].pre")) - (property (name "edg_short_path") (value "light[3].drv[0].pre")) - (property (name "edg_refdes") (value "Q13")) - (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) - (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) - (sheetpath (names "/light[3]/drv[0]/") (tstamps "/0e5d0304/083e0235/")) - (tstamps "029c0148")) -(comp (ref "R19") - (value "light[3].drv[0].pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[3].drv[0].pull")) - (property (name "edg_short_path") (value "light[3].drv[0].pull")) - (property (name "edg_refdes") (value "R19")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10k, 1%, 0.1 W")) - (sheetpath (names "/light[3]/drv[0]/") (tstamps "/0e5d0304/083e0235/")) - (tstamps "046701be")) -(comp (ref "Q14") - (value "light[3].drv[0].drv") - (footprint "Package_TO_SOT_SMD:TO-252-2") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[3].drv[0].drv")) - (property (name "edg_short_path") (value "light[3].drv[0].drv")) - (property (name "edg_refdes") (value "Q14")) - (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) - (sheetpath (names "/light[3]/drv[0]/") (tstamps "/0e5d0304/083e0235/")) - (tstamps "0289014d")) -(comp (ref "Q15") - (value "light[3].drv[1].pre") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[3].drv[1].pre")) - (property (name "edg_short_path") (value "light[3].drv[1].pre")) - (property (name "edg_refdes") (value "Q15")) - (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) - (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) - (sheetpath (names "/light[3]/drv[1]/") (tstamps "/0e5d0304/08400236/")) - (tstamps "029c0148")) -(comp (ref "R20") - (value "light[3].drv[1].pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[3].drv[1].pull")) - (property (name "edg_short_path") (value "light[3].drv[1].pull")) - (property (name "edg_refdes") (value "R20")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10k, 1%, 0.1 W")) - (sheetpath (names "/light[3]/drv[1]/") (tstamps "/0e5d0304/08400236/")) - (tstamps "046701be")) -(comp (ref "Q16") - (value "light[3].drv[1].drv") - (footprint "Package_TO_SOT_SMD:TO-252-2") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[3].drv[1].drv")) - (property (name "edg_short_path") (value "light[3].drv[1].drv")) - (property (name "edg_refdes") (value "Q16")) - (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) - (sheetpath (names "/light[3]/drv[1]/") (tstamps "/0e5d0304/08400236/")) - (tstamps "0289014d")) -(comp (ref "J8") - (value "light[4].conn") - (footprint "calisco:Molex_DuraClik_vert_4pin") - (property (name "Sheetname") (value "light[4]")) - (property (name "Sheetfile") (value "examples.test_high_switch.LightsDriver")) - (property (name "edg_path") (value "light[4].conn")) - (property (name "edg_short_path") (value "light[4].conn")) - (property (name "edg_refdes") (value "J8")) - (property (name "edg_part") (value "5600200420 (Molex)")) - (property (name "edg_value") (value "5600200420")) - (sheetpath (names "/light[4]/") (tstamps "/0e5f0305/")) - (tstamps "042701af")) -(comp (ref "Q17") - (value "light[4].drv[0].pre") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[4].drv[0].pre")) - (property (name "edg_short_path") (value "light[4].drv[0].pre")) - (property (name "edg_refdes") (value "Q17")) - (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) - (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) - (sheetpath (names "/light[4]/drv[0]/") (tstamps "/0e5f0305/083e0235/")) - (tstamps "029c0148")) -(comp (ref "R21") - (value "light[4].drv[0].pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[4].drv[0].pull")) - (property (name "edg_short_path") (value "light[4].drv[0].pull")) - (property (name "edg_refdes") (value "R21")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10k, 1%, 0.1 W")) - (sheetpath (names "/light[4]/drv[0]/") (tstamps "/0e5f0305/083e0235/")) - (tstamps "046701be")) -(comp (ref "Q18") - (value "light[4].drv[0].drv") - (footprint "Package_TO_SOT_SMD:TO-252-2") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[4].drv[0].drv")) - (property (name "edg_short_path") (value "light[4].drv[0].drv")) - (property (name "edg_refdes") (value "Q18")) - (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) - (sheetpath (names "/light[4]/drv[0]/") (tstamps "/0e5f0305/083e0235/")) - (tstamps "0289014d")) -(comp (ref "Q19") - (value "light[4].drv[1].pre") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[4].drv[1].pre")) - (property (name "edg_short_path") (value "light[4].drv[1].pre")) - (property (name "edg_refdes") (value "Q19")) - (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) - (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) - (sheetpath (names "/light[4]/drv[1]/") (tstamps "/0e5f0305/08400236/")) - (tstamps "029c0148")) -(comp (ref "R22") - (value "light[4].drv[1].pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[4].drv[1].pull")) - (property (name "edg_short_path") (value "light[4].drv[1].pull")) - (property (name "edg_refdes") (value "R22")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10k, 1%, 0.1 W")) - (sheetpath (names "/light[4]/drv[1]/") (tstamps "/0e5f0305/08400236/")) - (tstamps "046701be")) -(comp (ref "Q20") - (value "light[4].drv[1].drv") - (footprint "Package_TO_SOT_SMD:TO-252-2") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[4].drv[1].drv")) - (property (name "edg_short_path") (value "light[4].drv[1].drv")) - (property (name "edg_refdes") (value "Q20")) - (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) - (sheetpath (names "/light[4]/drv[1]/") (tstamps "/0e5f0305/08400236/")) - (tstamps "0289014d")) -(comp (ref "J9") - (value "light[5].conn") - (footprint "calisco:Molex_DuraClik_vert_4pin") - (property (name "Sheetname") (value "light[5]")) - (property (name "Sheetfile") (value "examples.test_high_switch.LightsDriver")) - (property (name "edg_path") (value "light[5].conn")) - (property (name "edg_short_path") (value "light[5].conn")) - (property (name "edg_refdes") (value "J9")) - (property (name "edg_part") (value "5600200420 (Molex)")) - (property (name "edg_value") (value "5600200420")) - (sheetpath (names "/light[5]/") (tstamps "/0e610306/")) - (tstamps "042701af")) -(comp (ref "Q21") - (value "light[5].drv[0].pre") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[5].drv[0].pre")) - (property (name "edg_short_path") (value "light[5].drv[0].pre")) - (property (name "edg_refdes") (value "Q21")) - (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) - (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) - (sheetpath (names "/light[5]/drv[0]/") (tstamps "/0e610306/083e0235/")) - (tstamps "029c0148")) -(comp (ref "R23") - (value "light[5].drv[0].pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[5].drv[0].pull")) - (property (name "edg_short_path") (value "light[5].drv[0].pull")) - (property (name "edg_refdes") (value "R23")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10k, 1%, 0.1 W")) - (sheetpath (names "/light[5]/drv[0]/") (tstamps "/0e610306/083e0235/")) - (tstamps "046701be")) -(comp (ref "Q22") - (value "light[5].drv[0].drv") - (footprint "Package_TO_SOT_SMD:TO-252-2") - (property (name "Sheetname") (value "drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[5].drv[0].drv")) - (property (name "edg_short_path") (value "light[5].drv[0].drv")) - (property (name "edg_refdes") (value "Q22")) - (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) - (sheetpath (names "/light[5]/drv[0]/") (tstamps "/0e610306/083e0235/")) - (tstamps "0289014d")) -(comp (ref "Q23") - (value "light[5].drv[1].pre") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[5].drv[1].pre")) - (property (name "edg_short_path") (value "light[5].drv[1].pre")) - (property (name "edg_refdes") (value "Q23")) - (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) - (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) - (sheetpath (names "/light[5]/drv[1]/") (tstamps "/0e610306/08400236/")) - (tstamps "029c0148")) -(comp (ref "R24") - (value "light[5].drv[1].pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[5].drv[1].pull")) - (property (name "edg_short_path") (value "light[5].drv[1].pull")) - (property (name "edg_refdes") (value "R24")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "10k, 1%, 0.1 W")) - (sheetpath (names "/light[5]/drv[1]/") (tstamps "/0e610306/08400236/")) - (tstamps "046701be")) -(comp (ref "Q24") - (value "light[5].drv[1].drv") - (footprint "Package_TO_SOT_SMD:TO-252-2") - (property (name "Sheetname") (value "drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "light[5].drv[1].drv")) - (property (name "edg_short_path") (value "light[5].drv[1].drv")) - (property (name "edg_refdes") (value "Q24")) - (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) - (sheetpath (names "/light[5]/drv[1]/") (tstamps "/0e610306/08400236/")) - (tstamps "0289014d"))) -(nets -(net (code 1) (name "vin") - (node (ref J1) (pin 2)) - (node (ref U1) (pin 3)) - (node (ref R5) (pin 1)) - (node (ref U1) (pin 5)) - (node (ref J4) (pin 1)) - (node (ref J5) (pin 1)) - (node (ref J6) (pin 1)) - (node (ref J7) (pin 1)) - (node (ref J8) (pin 1)) - (node (ref J9) (pin 1)) - (node (ref C1) (pin 1)) - (node (ref C3) (pin 1)) - (node (ref R13) (pin 1)) - (node (ref Q2) (pin 3)) - (node (ref R14) (pin 1)) - (node (ref Q4) (pin 3)) - (node (ref R15) (pin 1)) - (node (ref Q6) (pin 3)) - (node (ref R16) (pin 1)) - (node (ref Q8) (pin 3)) - (node (ref R17) (pin 1)) - (node (ref Q10) (pin 3)) - (node (ref R18) (pin 1)) - (node (ref Q12) (pin 3)) - (node (ref R19) (pin 1)) - (node (ref Q14) (pin 3)) - (node (ref R20) (pin 1)) - (node (ref Q16) (pin 3)) - (node (ref R21) (pin 1)) - (node (ref Q18) (pin 3)) - (node (ref R22) (pin 1)) - (node (ref Q20) (pin 3)) - (node (ref R23) (pin 1)) - (node (ref Q22) (pin 3)) - (node (ref R24) (pin 1)) - (node (ref Q24) (pin 3))) -(net (code 2) (name "gnd") - (node (ref J1) (pin 1)) - (node (ref J1) (pin 3)) - (node (ref U1) (pin 1)) - (node (ref U2) (pin 17)) - (node (ref U2) (pin 11)) - (node (ref U2) (pin 20)) - (node (ref U2) (pin 40)) - (node (ref U2) (pin 41)) - (node (ref J4) (pin 4)) - (node (ref J5) (pin 4)) - (node (ref J6) (pin 4)) - (node (ref J7) (pin 4)) - (node (ref J8) (pin 4)) - (node (ref J9) (pin 4)) - (node (ref U5) (pin 4)) - (node (ref R6) (pin 2)) - (node (ref C1) (pin 2)) - (node (ref C5) (pin 2)) - (node (ref C6) (pin 2)) - (node (ref C7) (pin 2)) - (node (ref C8) (pin 2)) - (node (ref C9) (pin 2)) - (node (ref C10) (pin 2)) - (node (ref C11) (pin 2)) - (node (ref C12) (pin 2)) - (node (ref C13) (pin 2)) - (node (ref C14) (pin 2)) - (node (ref C15) (pin 2)) - (node (ref C16) (pin 2)) - (node (ref X1) (pin 2)) - (node (ref X1) (pin 4)) - (node (ref Q1) (pin 2)) - (node (ref Q3) (pin 2)) - (node (ref Q5) (pin 2)) - (node (ref Q7) (pin 2)) - (node (ref Q9) (pin 2)) - (node (ref Q11) (pin 2)) - (node (ref Q13) (pin 2)) - (node (ref Q15) (pin 2)) - (node (ref Q17) (pin 2)) - (node (ref Q19) (pin 2)) - (node (ref Q21) (pin 2)) - (node (ref Q23) (pin 2)) - (node (ref R2) (pin 2)) - (node (ref R4) (pin 1)) - (node (ref C21) (pin 2)) - (node (ref J2) (pin 3)) - (node (ref J2) (pin 5)) - (node (ref J2) (pin 9)) - (node (ref C17) (pin 2)) - (node (ref C18) (pin 2)) - (node (ref C3) (pin 2)) - (node (ref C4) (pin 2))) -(net (code 3) (name "v3v3") - (node (ref U2) (pin 16)) - (node (ref U2) (pin 10)) - (node (ref U2) (pin 14)) - (node (ref U2) (pin 30)) - (node (ref U2) (pin 27)) - (node (ref U2) (pin 39)) - (node (ref U2) (pin 42)) - (node (ref D1) (pin 2)) - (node (ref D2) (pin 2)) - (node (ref U5) (pin 1)) - (node (ref R1) (pin 1)) - (node (ref J2) (pin 1)) - (node (ref C5) (pin 1)) - (node (ref C6) (pin 1)) - (node (ref C7) (pin 1)) - (node (ref C8) (pin 1)) - (node (ref C9) (pin 1)) - (node (ref C10) (pin 1)) - (node (ref C11) (pin 1)) - (node (ref C12) (pin 1)) - (node (ref C13) (pin 1)) - (node (ref C14) (pin 1)) - (node (ref C15) (pin 1)) - (node (ref C16) (pin 1)) - (node (ref R3) (pin 1)) - (node (ref C21) (pin 1)) - (node (ref L1) (pin 2)) - (node (ref C4) (pin 1))) -(net (code 4) (name "can_chain_0.txd") - (node (ref U2) (pin 43)) - (node (ref U5) (pin 3))) -(net (code 5) (name "can_chain_0.rxd") - (node (ref U2) (pin 44)) - (node (ref U5) (pin 2))) -(net (code 6) (name "vsense.output") - (node (ref U2) (pin 21)) - (node (ref R5) (pin 2)) - (node (ref R6) (pin 1))) -(net (code 7) (name "mcu.gpio.rgb1_red") - (node (ref U2) (pin 28)) - (node (ref R7) (pin 2))) -(net (code 8) (name "mcu.gpio.rgb1_green") - (node (ref U2) (pin 23)) - (node (ref R8) (pin 2))) -(net (code 9) (name "mcu.gpio.rgb1_blue") - (node (ref U2) (pin 22)) - (node (ref R9) (pin 2))) -(net (code 10) (name "mcu.gpio.rgb2_red") - (node (ref U2) (pin 18)) - (node (ref R10) (pin 2))) -(net (code 11) (name "mcu.gpio.rgb2_green") - (node (ref U2) (pin 15)) - (node (ref R11) (pin 2))) -(net (code 12) (name "mcu.gpio.rgb2_blue") - (node (ref U2) (pin 13)) - (node (ref R12) (pin 2))) -(net (code 13) (name "light[0].control[0]") - (node (ref U2) (pin 12)) - (node (ref Q1) (pin 1))) -(net (code 14) (name "light[0].control[1]") - (node (ref U2) (pin 8)) - (node (ref Q3) (pin 1))) -(net (code 15) (name "light[1].control[0]") - (node (ref U2) (pin 7)) - (node (ref Q5) (pin 1))) -(net (code 16) (name "light[1].control[1]") - (node (ref U2) (pin 6)) - (node (ref Q7) (pin 1))) -(net (code 17) (name "light[2].control[0]") - (node (ref U2) (pin 4)) - (node (ref Q9) (pin 1))) -(net (code 18) (name "light[2].control[1]") - (node (ref U2) (pin 3)) - (node (ref Q11) (pin 1))) -(net (code 19) (name "light[3].control[0]") - (node (ref U2) (pin 2)) - (node (ref Q13) (pin 1))) -(net (code 20) (name "light[3].control[1]") - (node (ref U2) (pin 1)) - (node (ref Q15) (pin 1))) -(net (code 21) (name "light[4].control[0]") - (node (ref U2) (pin 48)) - (node (ref Q17) (pin 1))) -(net (code 22) (name "light[4].control[1]") - (node (ref U2) (pin 47)) - (node (ref Q19) (pin 1))) -(net (code 23) (name "light[5].control[0]") - (node (ref U2) (pin 46)) - (node (ref Q21) (pin 1))) -(net (code 24) (name "light[5].control[1]") - (node (ref U2) (pin 45)) - (node (ref Q23) (pin 1))) -(net (code 25) (name "pwr.fb.output") - (node (ref U1) (pin 4)) - (node (ref R1) (pin 2)) - (node (ref R2) (pin 1))) -(net (code 26) (name "pwr.vbst_cap.neg") - (node (ref C2) (pin 2)) - (node (ref U1) (pin 2)) - (node (ref L1) (pin 1))) -(net (code 27) (name "pwr.vbst_cap.pos") - (node (ref C2) (pin 1)) - (node (ref U1) (pin 6))) -(net (code 28) (name "mcu.xtal_node.xi") - (node (ref U2) (pin 26)) - (node (ref X1) (pin 1)) - (node (ref C17) (pin 1))) -(net (code 29) (name "mcu.xtal_node.xo") - (node (ref U2) (pin 25)) - (node (ref X1) (pin 3)) - (node (ref C18) (pin 1))) -(net (code 30) (name "mcu.swd_node.swdio") - (node (ref U2) (pin 33)) - (node (ref J2) (pin 2)) - (node (ref R3) (pin 2))) -(net (code 31) (name "mcu.swd_node.swclk") - (node (ref U2) (pin 29)) - (node (ref J2) (pin 4)) - (node (ref R4) (pin 2))) -(net (code 32) (name "mcu.reset_node") - (node (ref U2) (pin 34)) - (node (ref J2) (pin 10))) -(net (code 33) (name "mcu.swd.swo") - (node (ref U2) (pin 9)) - (node (ref J2) (pin 6))) -(net (code 34) (name "mcu.swd.tdi") - (node (ref J2) (pin 8))) -(net (code 35) (name "mcu.ic.xtal_rtc.xtal_in") - (node (ref U2) (pin 31))) -(net (code 36) (name "mcu.ic.xtal_rtc.xtal_out") - (node (ref U2) (pin 32))) -(net (code 37) (name "can.can.canh") - (node (ref J3) (pin 4)) - (node (ref U4) (pin 2)) - (node (ref U5) (pin 7))) -(net (code 38) (name "can.can.canl") - (node (ref J3) (pin 5)) - (node (ref U4) (pin 1)) - (node (ref U5) (pin 6))) -(net (code 39) (name "can.conn.pwr") - (node (ref J3) (pin 2)) - (node (ref F1) (pin 1))) -(net (code 40) (name "can.can_fuse.pwr_out") - (node (ref F1) (pin 2)) - (node (ref U3) (pin 1)) - (node (ref U3) (pin 3)) - (node (ref C19) (pin 1))) -(net (code 41) (name "can.conn.gnd") - (node (ref J3) (pin 3)) - (node (ref U4) (pin 3)) - (node (ref U3) (pin 2)) - (node (ref U5) (pin 5)) - (node (ref C19) (pin 2)) - (node (ref C20) (pin 2)) - (node (ref C22) (pin 2))) -(net (code 42) (name "can.transceiver.can_pwr") - (node (ref U5) (pin 8)) - (node (ref U3) (pin 5)) - (node (ref C22) (pin 1)) - (node (ref C20) (pin 1))) -(net (code 43) (name "rgb1.red_res.a") - (node (ref R7) (pin 1)) - (node (ref D1) (pin 3))) -(net (code 44) (name "rgb1.green_res.a") - (node (ref R8) (pin 1)) - (node (ref D1) (pin 4))) -(net (code 45) (name "rgb1.blue_res.a") - (node (ref R9) (pin 1)) - (node (ref D1) (pin 1))) -(net (code 46) (name "rgb2.red_res.a") - (node (ref R10) (pin 1)) - (node (ref D2) (pin 3))) -(net (code 47) (name "rgb2.green_res.a") - (node (ref R11) (pin 1)) - (node (ref D2) (pin 4))) -(net (code 48) (name "rgb2.blue_res.a") - (node (ref R12) (pin 1)) - (node (ref D2) (pin 1))) -(net (code 49) (name "light[0].drv[0].output") - (node (ref J4) (pin 2)) - (node (ref Q2) (pin 2))) -(net (code 50) (name "light[0].drv[1].output") - (node (ref J4) (pin 3)) - (node (ref Q4) (pin 2))) -(net (code 51) (name "light[0].drv[0].pre.drain") - (node (ref Q1) (pin 3)) - (node (ref R13) (pin 2)) - (node (ref Q2) (pin 1))) -(net (code 52) (name "light[0].drv[1].pre.drain") - (node (ref Q3) (pin 3)) - (node (ref R14) (pin 2)) - (node (ref Q4) (pin 1))) -(net (code 53) (name "light[1].drv[0].output") - (node (ref J5) (pin 2)) - (node (ref Q6) (pin 2))) -(net (code 54) (name "light[1].drv[1].output") - (node (ref J5) (pin 3)) - (node (ref Q8) (pin 2))) -(net (code 55) (name "light[1].drv[0].pre.drain") - (node (ref Q5) (pin 3)) - (node (ref R15) (pin 2)) - (node (ref Q6) (pin 1))) -(net (code 56) (name "light[1].drv[1].pre.drain") - (node (ref Q7) (pin 3)) - (node (ref R16) (pin 2)) - (node (ref Q8) (pin 1))) -(net (code 57) (name "light[2].drv[0].output") - (node (ref J6) (pin 2)) - (node (ref Q10) (pin 2))) -(net (code 58) (name "light[2].drv[1].output") - (node (ref J6) (pin 3)) - (node (ref Q12) (pin 2))) -(net (code 59) (name "light[2].drv[0].pre.drain") - (node (ref Q9) (pin 3)) - (node (ref R17) (pin 2)) - (node (ref Q10) (pin 1))) -(net (code 60) (name "light[2].drv[1].pre.drain") - (node (ref Q11) (pin 3)) - (node (ref R18) (pin 2)) - (node (ref Q12) (pin 1))) -(net (code 61) (name "light[3].drv[0].output") - (node (ref J7) (pin 2)) - (node (ref Q14) (pin 2))) -(net (code 62) (name "light[3].drv[1].output") - (node (ref J7) (pin 3)) - (node (ref Q16) (pin 2))) -(net (code 63) (name "light[3].drv[0].pre.drain") - (node (ref Q13) (pin 3)) - (node (ref R19) (pin 2)) - (node (ref Q14) (pin 1))) -(net (code 64) (name "light[3].drv[1].pre.drain") - (node (ref Q15) (pin 3)) - (node (ref R20) (pin 2)) - (node (ref Q16) (pin 1))) -(net (code 65) (name "light[4].drv[0].output") - (node (ref J8) (pin 2)) - (node (ref Q18) (pin 2))) -(net (code 66) (name "light[4].drv[1].output") - (node (ref J8) (pin 3)) - (node (ref Q20) (pin 2))) -(net (code 67) (name "light[4].drv[0].pre.drain") - (node (ref Q17) (pin 3)) - (node (ref R21) (pin 2)) - (node (ref Q18) (pin 1))) -(net (code 68) (name "light[4].drv[1].pre.drain") - (node (ref Q19) (pin 3)) - (node (ref R22) (pin 2)) - (node (ref Q20) (pin 1))) -(net (code 69) (name "light[5].drv[0].output") - (node (ref J9) (pin 2)) - (node (ref Q22) (pin 2))) -(net (code 70) (name "light[5].drv[1].output") - (node (ref J9) (pin 3)) - (node (ref Q24) (pin 2))) -(net (code 71) (name "light[5].drv[0].pre.drain") - (node (ref Q21) (pin 3)) - (node (ref R23) (pin 2)) - (node (ref Q22) (pin 1))) -(net (code 72) (name "light[5].drv[1].pre.drain") - (node (ref Q23) (pin 3)) - (node (ref R24) (pin 2)) - (node (ref Q24) (pin 1)))) -) \ No newline at end of file diff --git a/examples/HighSwitch/HighSwitch.svgpcb.js b/examples/HighSwitch/HighSwitch.svgpcb.js deleted file mode 100644 index 477ea120b..000000000 --- a/examples/HighSwitch/HighSwitch.svgpcb.js +++ /dev/null @@ -1,562 +0,0 @@ -const board = new PCB(); - -// pwr_conn -const J1 = board.add(Molex_DuraClik_vert_3pin, { - translate: pt(2.459, 1.764), rotate: 0, - id: 'J1' -}) -// pwr.ic -const U1 = board.add(SOT_23_6, { - translate: pt(0.956, 1.831), rotate: 0, - id: 'U1' -}) -// pwr.fb.div.top_res -const R1 = board.add(R_0603_1608Metric, { - translate: pt(1.111, 1.966), rotate: 0, - id: 'R1' -}) -// pwr.fb.div.bottom_res -const R2 = board.add(R_0603_1608Metric, { - translate: pt(1.267, 1.966), rotate: 0, - id: 'R2' -}) -// pwr.hf_in_cap.cap -const C1 = board.add(C_0603_1608Metric, { - translate: pt(0.934, 2.072), rotate: 0, - id: 'C1' -}) -// pwr.vbst_cap -const C2 = board.add(C_0603_1608Metric, { - translate: pt(1.090, 2.072), rotate: 0, - id: 'C2' -}) -// pwr.power_path.inductor -const L1 = board.add(L_0805_2012Metric, { - translate: pt(0.944, 1.970), rotate: 0, - id: 'L1' -}) -// pwr.power_path.in_cap.cap -const C3 = board.add(C_0603_1608Metric, { - translate: pt(1.246, 2.072), rotate: 0, - id: 'C3' -}) -// pwr.power_path.out_cap.cap -const C4 = board.add(C_0805_2012Metric, { - translate: pt(1.143, 1.802), rotate: 0, - id: 'C4' -}) -// mcu.swd.conn -const J2 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { - translate: pt(2.106, 1.028), rotate: 0, - id: 'J2' -}) -// mcu.ic -const U2 = board.add(LQFP_48_7x7mm_P0_5mm, { - translate: pt(1.694, 1.085), rotate: 0, - id: 'U2' -}) -// mcu.swd_pull.swdio.res -const R3 = board.add(R_0603_1608Metric, { - translate: pt(1.723, 1.356), rotate: 0, - id: 'R3' -}) -// mcu.swd_pull.swclk.res -const R4 = board.add(R_0603_1608Metric, { - translate: pt(1.879, 1.356), rotate: 0, - id: 'R4' -}) -// mcu.pwr_cap[0].cap -const C5 = board.add(C_0603_1608Metric, { - translate: pt(2.035, 1.356), rotate: 0, - id: 'C5' -}) -// mcu.pwr_cap[1].cap -const C6 = board.add(C_0603_1608Metric, { - translate: pt(2.191, 1.356), rotate: 0, - id: 'C6' -}) -// mcu.pwr_cap[2].cap -const C7 = board.add(C_0603_1608Metric, { - translate: pt(2.346, 1.356), rotate: 0, - id: 'C7' -}) -// mcu.pwr_cap[3].cap -const C8 = board.add(C_0603_1608Metric, { - translate: pt(1.550, 1.472), rotate: 0, - id: 'C8' -}) -// mcu.pwr_cap[4].cap -const C9 = board.add(C_0603_1608Metric, { - translate: pt(1.706, 1.472), rotate: 0, - id: 'C9' -}) -// mcu.pwr_cap[5].cap -const C10 = board.add(C_0603_1608Metric, { - translate: pt(1.861, 1.472), rotate: 0, - id: 'C10' -}) -// mcu.vbat_cap.cap -const C11 = board.add(C_0603_1608Metric, { - translate: pt(2.017, 1.472), rotate: 0, - id: 'C11' -}) -// mcu.pwra_cap[0].cap -const C12 = board.add(C_0603_1608Metric, { - translate: pt(2.173, 1.472), rotate: 0, - id: 'C12' -}) -// mcu.pwra_cap[1].cap -const C13 = board.add(C_0805_2012Metric, { - translate: pt(2.381, 1.094), rotate: 0, - id: 'C13' -}) -// mcu.vref_cap[0].cap -const C14 = board.add(C_0603_1608Metric, { - translate: pt(2.329, 1.472), rotate: 0, - id: 'C14' -}) -// mcu.vref_cap[1].cap -const C15 = board.add(C_0603_1608Metric, { - translate: pt(1.550, 1.569), rotate: 0, - id: 'C15' -}) -// mcu.vref_cap[2].cap -const C16 = board.add(C_0805_2012Metric, { - translate: pt(1.558, 1.365), rotate: 0, - id: 'C16' -}) -// mcu.crystal.package -const X1 = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { - translate: pt(2.397, 0.949), rotate: 0, - id: 'X1' -}) -// mcu.crystal.cap_a -const C17 = board.add(C_0603_1608Metric, { - translate: pt(1.706, 1.569), rotate: 0, - id: 'C17' -}) -// mcu.crystal.cap_b -const C18 = board.add(C_0603_1608Metric, { - translate: pt(1.861, 1.569), rotate: 0, - id: 'C18' -}) -// can.conn -const J3 = board.add(Molex_DuraClik_vert_5pin, { - translate: pt(0.000, 2.299), rotate: 0, - id: 'J3' -}) -// can.can_fuse.fuse -const F1 = board.add(R_0603_1608Metric, { - translate: pt(0.231, 2.211), rotate: 0, - id: 'F1' -}) -// can.reg.ic -const U3 = board.add(SOT_23_5, { - translate: pt(0.589, 1.831), rotate: 0, - id: 'U3' -}) -// can.reg.in_cap.cap -const C19 = board.add(C_0603_1608Metric, { - translate: pt(0.387, 2.211), rotate: 0, - id: 'C19' -}) -// can.reg.out_cap.cap -const C20 = board.add(C_0805_2012Metric, { - translate: pt(0.067, 2.221), rotate: 0, - id: 'C20' -}) -// can.esd -const U4 = board.add(SOT_23, { - translate: pt(0.583, 2.004), rotate: 0, - id: 'U4' -}) -// can.transceiver.ic -const U5 = board.add(SOP_8_6_62x9_15mm_P2_54mm, { - translate: pt(0.234, 1.954), rotate: 0, - id: 'U5' -}) -// can.transceiver.logic_cap.cap -const C21 = board.add(C_0603_1608Metric, { - translate: pt(0.543, 2.211), rotate: 0, - id: 'C21' -}) -// can.transceiver.can_cap.cap -const C22 = board.add(C_0603_1608Metric, { - translate: pt(0.699, 2.211), rotate: 0, - id: 'C22' -}) -// vsense.div.top_res -const R5 = board.add(R_0603_1608Metric, { - translate: pt(2.283, 1.793), rotate: 0, - id: 'R5' -}) -// vsense.div.bottom_res -const R6 = board.add(R_0603_1608Metric, { - translate: pt(2.283, 1.889), rotate: 0, - id: 'R6' -}) -// rgb1.package -const D1 = board.add(LED_LiteOn_LTST_C19HE1WT, { - translate: pt(1.875, 1.819), rotate: 0, - id: 'D1' -}) -// rgb1.red_res -const R7 = board.add(R_0603_1608Metric, { - translate: pt(2.014, 1.793), rotate: 0, - id: 'R7' -}) -// rgb1.green_res -const R8 = board.add(R_0603_1608Metric, { - translate: pt(1.892, 1.942), rotate: 0, - id: 'R8' -}) -// rgb1.blue_res -const R9 = board.add(R_0603_1608Metric, { - translate: pt(2.048, 1.942), rotate: 0, - id: 'R9' -}) -// rgb2.package -const D2 = board.add(LED_LiteOn_LTST_C19HE1WT, { - translate: pt(1.485, 1.819), rotate: 0, - id: 'D2' -}) -// rgb2.red_res -const R10 = board.add(R_0603_1608Metric, { - translate: pt(1.624, 1.793), rotate: 0, - id: 'R10' -}) -// rgb2.green_res -const R11 = board.add(R_0603_1608Metric, { - translate: pt(1.502, 1.942), rotate: 0, - id: 'R11' -}) -// rgb2.blue_res -const R12 = board.add(R_0603_1608Metric, { - translate: pt(1.657, 1.942), rotate: 0, - id: 'R12' -}) -// light[0].conn -const J4 = board.add(Molex_DuraClik_vert_4pin, { - translate: pt(1.248, 0.630), rotate: 0, - id: 'J4' -}) -// light[0].drv[0].pre -const Q1 = board.add(SOT_23, { - translate: pt(1.298, 0.382), rotate: 0, - id: 'Q1' -}) -// light[0].drv[0].pull -const R13 = board.add(R_0603_1608Metric, { - translate: pt(0.994, 0.659), rotate: 0, - id: 'R13' -}) -// light[0].drv[0].drv -const Q2 = board.add(TO_252_2, { - translate: pt(0.997, 0.138), rotate: 0, - id: 'Q2' -}) -// light[0].drv[1].pre -const Q3 = board.add(SOT_23, { - translate: pt(0.821, 0.697), rotate: 0, - id: 'Q3' -}) -// light[0].drv[1].pull -const R14 = board.add(R_0603_1608Metric, { - translate: pt(1.150, 0.659), rotate: 0, - id: 'R14' -}) -// light[0].drv[1].drv -const Q4 = board.add(TO_252_2, { - translate: pt(0.997, 0.453), rotate: 0, - id: 'Q4' -}) -// light[1].conn -const J5 = board.add(Molex_DuraClik_vert_4pin, { - translate: pt(0.502, 1.512), rotate: 0, - id: 'J5' -}) -// light[1].drv[0].pre -const Q5 = board.add(SOT_23, { - translate: pt(0.552, 1.264), rotate: 0, - id: 'Q5' -}) -// light[1].drv[0].pull -const R15 = board.add(R_0603_1608Metric, { - translate: pt(0.249, 1.541), rotate: 0, - id: 'R15' -}) -// light[1].drv[0].drv -const Q6 = board.add(TO_252_2, { - translate: pt(0.252, 1.020), rotate: 0, - id: 'Q6' -}) -// light[1].drv[1].pre -const Q7 = board.add(SOT_23, { - translate: pt(0.076, 1.579), rotate: 0, - id: 'Q7' -}) -// light[1].drv[1].pull -const R16 = board.add(R_0603_1608Metric, { - translate: pt(0.405, 1.541), rotate: 0, - id: 'R16' -}) -// light[1].drv[1].drv -const Q8 = board.add(TO_252_2, { - translate: pt(0.252, 1.335), rotate: 0, - id: 'Q8' -}) -// light[2].conn -const J6 = board.add(Molex_DuraClik_vert_4pin, { - translate: pt(1.248, 1.512), rotate: 0, - id: 'J6' -}) -// light[2].drv[0].pre -const Q9 = board.add(SOT_23, { - translate: pt(1.298, 1.264), rotate: 0, - id: 'Q9' -}) -// light[2].drv[0].pull -const R17 = board.add(R_0603_1608Metric, { - translate: pt(0.994, 1.541), rotate: 0, - id: 'R17' -}) -// light[2].drv[0].drv -const Q10 = board.add(TO_252_2, { - translate: pt(0.997, 1.020), rotate: 0, - id: 'Q10' -}) -// light[2].drv[1].pre -const Q11 = board.add(SOT_23, { - translate: pt(0.821, 1.579), rotate: 0, - id: 'Q11' -}) -// light[2].drv[1].pull -const R18 = board.add(R_0603_1608Metric, { - translate: pt(1.150, 1.541), rotate: 0, - id: 'R18' -}) -// light[2].drv[1].drv -const Q12 = board.add(TO_252_2, { - translate: pt(0.997, 1.335), rotate: 0, - id: 'Q12' -}) -// light[3].conn -const J7 = board.add(Molex_DuraClik_vert_4pin, { - translate: pt(1.994, 0.630), rotate: 0, - id: 'J7' -}) -// light[3].drv[0].pre -const Q13 = board.add(SOT_23, { - translate: pt(2.043, 0.382), rotate: 0, - id: 'Q13' -}) -// light[3].drv[0].pull -const R19 = board.add(R_0603_1608Metric, { - translate: pt(1.740, 0.659), rotate: 0, - id: 'R19' -}) -// light[3].drv[0].drv -const Q14 = board.add(TO_252_2, { - translate: pt(1.743, 0.138), rotate: 0, - id: 'Q14' -}) -// light[3].drv[1].pre -const Q15 = board.add(SOT_23, { - translate: pt(1.567, 0.697), rotate: 0, - id: 'Q15' -}) -// light[3].drv[1].pull -const R20 = board.add(R_0603_1608Metric, { - translate: pt(1.896, 0.659), rotate: 0, - id: 'R20' -}) -// light[3].drv[1].drv -const Q16 = board.add(TO_252_2, { - translate: pt(1.743, 0.453), rotate: 0, - id: 'Q16' -}) -// light[4].conn -const J8 = board.add(Molex_DuraClik_vert_4pin, { - translate: pt(2.739, 0.630), rotate: 0, - id: 'J8' -}) -// light[4].drv[0].pre -const Q17 = board.add(SOT_23, { - translate: pt(2.789, 0.382), rotate: 0, - id: 'Q17' -}) -// light[4].drv[0].pull -const R21 = board.add(R_0603_1608Metric, { - translate: pt(2.486, 0.659), rotate: 0, - id: 'R21' -}) -// light[4].drv[0].drv -const Q18 = board.add(TO_252_2, { - translate: pt(2.489, 0.138), rotate: 0, - id: 'Q18' -}) -// light[4].drv[1].pre -const Q19 = board.add(SOT_23, { - translate: pt(2.313, 0.697), rotate: 0, - id: 'Q19' -}) -// light[4].drv[1].pull -const R22 = board.add(R_0603_1608Metric, { - translate: pt(2.642, 0.659), rotate: 0, - id: 'R22' -}) -// light[4].drv[1].drv -const Q20 = board.add(TO_252_2, { - translate: pt(2.489, 0.453), rotate: 0, - id: 'Q20' -}) -// light[5].conn -const J9 = board.add(Molex_DuraClik_vert_4pin, { - translate: pt(0.502, 0.630), rotate: 0, - id: 'J9' -}) -// light[5].drv[0].pre -const Q21 = board.add(SOT_23, { - translate: pt(0.552, 0.382), rotate: 0, - id: 'Q21' -}) -// light[5].drv[0].pull -const R23 = board.add(R_0603_1608Metric, { - translate: pt(0.249, 0.659), rotate: 0, - id: 'R23' -}) -// light[5].drv[0].drv -const Q22 = board.add(TO_252_2, { - translate: pt(0.252, 0.138), rotate: 0, - id: 'Q22' -}) -// light[5].drv[1].pre -const Q23 = board.add(SOT_23, { - translate: pt(0.076, 0.697), rotate: 0, - id: 'Q23' -}) -// light[5].drv[1].pull -const R24 = board.add(R_0603_1608Metric, { - translate: pt(0.405, 0.659), rotate: 0, - id: 'R24' -}) -// light[5].drv[1].drv -const Q24 = board.add(TO_252_2, { - translate: pt(0.252, 0.453), rotate: 0, - id: 'Q24' -}) - -board.setNetlist([ - {name: "vin", pads: [["J1", "2"], ["U1", "3"], ["R5", "1"], ["U1", "5"], ["J4", "1"], ["J5", "1"], ["J6", "1"], ["J7", "1"], ["J8", "1"], ["J9", "1"], ["C1", "1"], ["C3", "1"], ["R13", "1"], ["Q2", "3"], ["R14", "1"], ["Q4", "3"], ["R15", "1"], ["Q6", "3"], ["R16", "1"], ["Q8", "3"], ["R17", "1"], ["Q10", "3"], ["R18", "1"], ["Q12", "3"], ["R19", "1"], ["Q14", "3"], ["R20", "1"], ["Q16", "3"], ["R21", "1"], ["Q18", "3"], ["R22", "1"], ["Q20", "3"], ["R23", "1"], ["Q22", "3"], ["R24", "1"], ["Q24", "3"]]}, - {name: "gnd", pads: [["J1", "1"], ["J1", "3"], ["U1", "1"], ["U2", "17"], ["U2", "11"], ["U2", "20"], ["U2", "40"], ["U2", "41"], ["J4", "4"], ["J5", "4"], ["J6", "4"], ["J7", "4"], ["J8", "4"], ["J9", "4"], ["U5", "4"], ["R6", "2"], ["C1", "2"], ["C5", "2"], ["C6", "2"], ["C7", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["C11", "2"], ["C12", "2"], ["C13", "2"], ["C14", "2"], ["C15", "2"], ["C16", "2"], ["X1", "2"], ["X1", "4"], ["Q1", "2"], ["Q3", "2"], ["Q5", "2"], ["Q7", "2"], ["Q9", "2"], ["Q11", "2"], ["Q13", "2"], ["Q15", "2"], ["Q17", "2"], ["Q19", "2"], ["Q21", "2"], ["Q23", "2"], ["R2", "2"], ["R4", "1"], ["C21", "2"], ["J2", "3"], ["J2", "5"], ["J2", "9"], ["C17", "2"], ["C18", "2"], ["C3", "2"], ["C4", "2"]]}, - {name: "v3v3", pads: [["U2", "16"], ["U2", "10"], ["U2", "14"], ["U2", "30"], ["U2", "27"], ["U2", "39"], ["U2", "42"], ["D1", "2"], ["D2", "2"], ["U5", "1"], ["R1", "1"], ["J2", "1"], ["C5", "1"], ["C6", "1"], ["C7", "1"], ["C8", "1"], ["C9", "1"], ["C10", "1"], ["C11", "1"], ["C12", "1"], ["C13", "1"], ["C14", "1"], ["C15", "1"], ["C16", "1"], ["R3", "1"], ["C21", "1"], ["L1", "2"], ["C4", "1"]]}, - {name: "can_chain_0.txd", pads: [["U2", "43"], ["U5", "3"]]}, - {name: "can_chain_0.rxd", pads: [["U2", "44"], ["U5", "2"]]}, - {name: "vsense.output", pads: [["U2", "21"], ["R5", "2"], ["R6", "1"]]}, - {name: "mcu.gpio.rgb1_red", pads: [["U2", "28"], ["R7", "2"]]}, - {name: "mcu.gpio.rgb1_green", pads: [["U2", "23"], ["R8", "2"]]}, - {name: "mcu.gpio.rgb1_blue", pads: [["U2", "22"], ["R9", "2"]]}, - {name: "mcu.gpio.rgb2_red", pads: [["U2", "18"], ["R10", "2"]]}, - {name: "mcu.gpio.rgb2_green", pads: [["U2", "15"], ["R11", "2"]]}, - {name: "mcu.gpio.rgb2_blue", pads: [["U2", "13"], ["R12", "2"]]}, - {name: "light[0].control[0]", pads: [["U2", "12"], ["Q1", "1"]]}, - {name: "light[0].control[1]", pads: [["U2", "8"], ["Q3", "1"]]}, - {name: "light[1].control[0]", pads: [["U2", "7"], ["Q5", "1"]]}, - {name: "light[1].control[1]", pads: [["U2", "6"], ["Q7", "1"]]}, - {name: "light[2].control[0]", pads: [["U2", "4"], ["Q9", "1"]]}, - {name: "light[2].control[1]", pads: [["U2", "3"], ["Q11", "1"]]}, - {name: "light[3].control[0]", pads: [["U2", "2"], ["Q13", "1"]]}, - {name: "light[3].control[1]", pads: [["U2", "1"], ["Q15", "1"]]}, - {name: "light[4].control[0]", pads: [["U2", "48"], ["Q17", "1"]]}, - {name: "light[4].control[1]", pads: [["U2", "47"], ["Q19", "1"]]}, - {name: "light[5].control[0]", pads: [["U2", "46"], ["Q21", "1"]]}, - {name: "light[5].control[1]", pads: [["U2", "45"], ["Q23", "1"]]}, - {name: "pwr.fb.output", pads: [["U1", "4"], ["R1", "2"], ["R2", "1"]]}, - {name: "pwr.vbst_cap.neg", pads: [["C2", "2"], ["U1", "2"], ["L1", "1"]]}, - {name: "pwr.vbst_cap.pos", pads: [["C2", "1"], ["U1", "6"]]}, - {name: "mcu.xtal_node.xi", pads: [["U2", "26"], ["X1", "1"], ["C17", "1"]]}, - {name: "mcu.xtal_node.xo", pads: [["U2", "25"], ["X1", "3"], ["C18", "1"]]}, - {name: "mcu.swd_node.swdio", pads: [["U2", "33"], ["J2", "2"], ["R3", "2"]]}, - {name: "mcu.swd_node.swclk", pads: [["U2", "29"], ["J2", "4"], ["R4", "2"]]}, - {name: "mcu.reset_node", pads: [["U2", "34"], ["J2", "10"]]}, - {name: "mcu.swd.swo", pads: [["U2", "9"], ["J2", "6"]]}, - {name: "mcu.swd.tdi", pads: [["J2", "8"]]}, - {name: "mcu.ic.xtal_rtc.xtal_in", pads: [["U2", "31"]]}, - {name: "mcu.ic.xtal_rtc.xtal_out", pads: [["U2", "32"]]}, - {name: "can.can.canh", pads: [["J3", "4"], ["U4", "2"], ["U5", "7"]]}, - {name: "can.can.canl", pads: [["J3", "5"], ["U4", "1"], ["U5", "6"]]}, - {name: "can.conn.pwr", pads: [["J3", "2"], ["F1", "1"]]}, - {name: "can.can_fuse.pwr_out", pads: [["F1", "2"], ["U3", "1"], ["U3", "3"], ["C19", "1"]]}, - {name: "can.conn.gnd", pads: [["J3", "3"], ["U4", "3"], ["U3", "2"], ["U5", "5"], ["C19", "2"], ["C20", "2"], ["C22", "2"]]}, - {name: "can.transceiver.can_pwr", pads: [["U5", "8"], ["U3", "5"], ["C22", "1"], ["C20", "1"]]}, - {name: "rgb1.red_res.a", pads: [["R7", "1"], ["D1", "3"]]}, - {name: "rgb1.green_res.a", pads: [["R8", "1"], ["D1", "4"]]}, - {name: "rgb1.blue_res.a", pads: [["R9", "1"], ["D1", "1"]]}, - {name: "rgb2.red_res.a", pads: [["R10", "1"], ["D2", "3"]]}, - {name: "rgb2.green_res.a", pads: [["R11", "1"], ["D2", "4"]]}, - {name: "rgb2.blue_res.a", pads: [["R12", "1"], ["D2", "1"]]}, - {name: "light[0].drv[0].output", pads: [["J4", "2"], ["Q2", "2"]]}, - {name: "light[0].drv[1].output", pads: [["J4", "3"], ["Q4", "2"]]}, - {name: "light[0].drv[0].pre.drain", pads: [["Q1", "3"], ["R13", "2"], ["Q2", "1"]]}, - {name: "light[0].drv[1].pre.drain", pads: [["Q3", "3"], ["R14", "2"], ["Q4", "1"]]}, - {name: "light[1].drv[0].output", pads: [["J5", "2"], ["Q6", "2"]]}, - {name: "light[1].drv[1].output", pads: [["J5", "3"], ["Q8", "2"]]}, - {name: "light[1].drv[0].pre.drain", pads: [["Q5", "3"], ["R15", "2"], ["Q6", "1"]]}, - {name: "light[1].drv[1].pre.drain", pads: [["Q7", "3"], ["R16", "2"], ["Q8", "1"]]}, - {name: "light[2].drv[0].output", pads: [["J6", "2"], ["Q10", "2"]]}, - {name: "light[2].drv[1].output", pads: [["J6", "3"], ["Q12", "2"]]}, - {name: "light[2].drv[0].pre.drain", pads: [["Q9", "3"], ["R17", "2"], ["Q10", "1"]]}, - {name: "light[2].drv[1].pre.drain", pads: [["Q11", "3"], ["R18", "2"], ["Q12", "1"]]}, - {name: "light[3].drv[0].output", pads: [["J7", "2"], ["Q14", "2"]]}, - {name: "light[3].drv[1].output", pads: [["J7", "3"], ["Q16", "2"]]}, - {name: "light[3].drv[0].pre.drain", pads: [["Q13", "3"], ["R19", "2"], ["Q14", "1"]]}, - {name: "light[3].drv[1].pre.drain", pads: [["Q15", "3"], ["R20", "2"], ["Q16", "1"]]}, - {name: "light[4].drv[0].output", pads: [["J8", "2"], ["Q18", "2"]]}, - {name: "light[4].drv[1].output", pads: [["J8", "3"], ["Q20", "2"]]}, - {name: "light[4].drv[0].pre.drain", pads: [["Q17", "3"], ["R21", "2"], ["Q18", "1"]]}, - {name: "light[4].drv[1].pre.drain", pads: [["Q19", "3"], ["R22", "2"], ["Q20", "1"]]}, - {name: "light[5].drv[0].output", pads: [["J9", "2"], ["Q22", "2"]]}, - {name: "light[5].drv[1].output", pads: [["J9", "3"], ["Q24", "2"]]}, - {name: "light[5].drv[0].pre.drain", pads: [["Q21", "3"], ["R23", "2"], ["Q22", "1"]]}, - {name: "light[5].drv[1].pre.drain", pads: [["Q23", "3"], ["R24", "2"], ["Q24", "1"]]} -]) - -const limit0 = pt(-0.07874015748031496, -0.07874015748031496); -const limit1 = pt(2.9826771653543305, 2.4173228346456694); -const xMin = Math.min(limit0[0], limit1[0]); -const xMax = Math.max(limit0[0], limit1[0]); -const yMin = Math.min(limit0[1], limit1[1]); -const yMax = Math.max(limit0[1], limit1[1]); - -const filletRadius = 0.1; -const outline = path( - [(xMin+xMax/2), yMax], - ["fillet", filletRadius, [xMax, yMax]], - ["fillet", filletRadius, [xMax, yMin]], - ["fillet", filletRadius, [xMin, yMin]], - ["fillet", filletRadius, [xMin, yMax]], - [(xMin+xMax/2), yMax], -); -board.addShape("outline", outline); - -renderPCB({ - pcb: board, - layerColors: { - "F.Paste": "#000000ff", - "F.Mask": "#000000ff", - "B.Mask": "#000000ff", - "componentLabels": "#00e5e5e5", - "outline": "#002d00ff", - "padLabels": "#ffff99e5", - "B.Cu": "#ef4e4eff", - "F.Cu": "#ff8c00cc", - }, - limits: { - x: [xMin, xMax], - y: [yMin, yMax] - }, - background: "#00000000", - mmPerUnit: 25.4 -}) - - diff --git a/examples/IotDisplay/IotDisplay.net b/examples/IotDisplay/IotDisplay.net deleted file mode 100644 index 6f1a624f2..000000000 --- a/examples/IotDisplay/IotDisplay.net +++ /dev/null @@ -1,1176 +0,0 @@ -(export (version D) -(components -(comp (ref "H1") - (value "jlc_th.th1") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th1")) - (property (name "edg_short_path") (value "jlc_th.th1")) - (property (name "edg_refdes") (value "H1")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "0260010e")) -(comp (ref "H2") - (value "jlc_th.th2") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th2")) - (property (name "edg_short_path") (value "jlc_th.th2")) - (property (name "edg_refdes") (value "H2")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "0261010f")) -(comp (ref "H3") - (value "jlc_th.th3") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th3")) - (property (name "edg_short_path") (value "jlc_th.th3")) - (property (name "edg_refdes") (value "H3")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "02620110")) -(comp (ref "J1") - (value "usb") - (footprint "Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "usb.conn")) - (property (name "edg_short_path") (value "usb")) - (property (name "edg_refdes") (value "J1")) - (property (name "edg_part") (value "COM-15111 (Sparkfun)")) - (property (name "edg_value") (value "COM-15111")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "02aa014b")) -(comp (ref "J2") - (value "batt") - (footprint "Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "batt.conn")) - (property (name "edg_short_path") (value "batt")) - (property (name "edg_refdes") (value "J2")) - (property (name "edg_part") (value "S2B-PH-K (JST)")) - (property (name "edg_value") (value "S2B-PH-K")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "040b01ac")) -(comp (ref "TP1") - (value "batt") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_pwr.tp")) - (property (name "edg_short_path") (value "tp_pwr")) - (property (name "edg_refdes") (value "TP1")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "batt")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "091a029d")) -(comp (ref "TP2") - (value "gnd") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_gnd.tp")) - (property (name "edg_short_path") (value "tp_gnd")) - (property (name "edg_refdes") (value "TP2")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "gnd")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "08df027d")) -(comp (ref "Q1") - (value "vbat_prot") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "vbat_prot.fet")) - (property (name "edg_short_path") (value "vbat_prot")) - (property (name "edg_refdes") (value "Q1")) - (property (name "edg_part") (value "AO3401A (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 4A 44mΩ@10V,4.3A 1.4W 1.3V@250μA P Channel SOT-23-3L MOSFETs ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "12e103d2")) -(comp (ref "U1") - (value "reg_3v3.ic") - (footprint "Package_TO_SOT_SMD:SOT-23-6") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) - (property (name "edg_path") (value "reg_3v3.ic")) - (property (name "edg_short_path") (value "reg_3v3.ic")) - (property (name "edg_refdes") (value "U1")) - (property (name "edg_part") (value "TPS54202H (Texas Instruments)")) - (property (name "edg_value") (value "TPS54202H")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "013700cd")) -(comp (ref "R1") - (value "reg_3v3.fb.top_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "fb")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) - (property (name "edg_path") (value "reg_3v3.fb.div.top_res")) - (property (name "edg_short_path") (value "reg_3v3.fb.top_res")) - (property (name "edg_refdes") (value "R1")) - (property (name "edg_part") (value "0603WAF1503T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/reg_3v3/fb/") (tstamps "/0aba027a/013000c9/")) - (tstamps "0c0c02fd")) -(comp (ref "R2") - (value "reg_3v3.fb.bottom_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "fb")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) - (property (name "edg_path") (value "reg_3v3.fb.div.bottom_res")) - (property (name "edg_short_path") (value "reg_3v3.fb.bottom_res")) - (property (name "edg_refdes") (value "R2")) - (property (name "edg_part") (value "0603WAF3302T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 33kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/reg_3v3/fb/") (tstamps "/0aba027a/013000c9/")) - (tstamps "175b043f")) -(comp (ref "C1") - (value "reg_3v3.hf_in_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) - (property (name "edg_path") (value "reg_3v3.hf_in_cap.cap")) - (property (name "edg_short_path") (value "reg_3v3.hf_in_cap")) - (property (name "edg_refdes") (value "C1")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "11ed0398")) -(comp (ref "C2") - (value "reg_3v3.boot_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) - (property (name "edg_path") (value "reg_3v3.boot_cap")) - (property (name "edg_short_path") (value "reg_3v3.boot_cap")) - (property (name "edg_refdes") (value "C2")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "0ed60348")) -(comp (ref "L1") - (value "reg_3v3.power_path.inductor") - (footprint "Inductor_SMD:L_Sunlord_SWPA4030S") - (property (name "Sheetname") (value "power_path")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) - (property (name "edg_path") (value "reg_3v3.power_path.inductor")) - (property (name "edg_short_path") (value "reg_3v3.power_path.inductor")) - (property (name "edg_refdes") (value "L1")) - (property (name "edg_part") (value "SWPA4030S150MT (Sunlord)")) - (property (name "edg_value") (value "1.11A 15uH ±20% 247mΩ SMD Power Inductors ROHS")) - (sheetpath (names "/reg_3v3/power_path/") (tstamps "/0aba027a/1786043a/")) - (tstamps "0f2b0369")) -(comp (ref "C3") - (value "reg_3v3.power_path.in_cap") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "power_path")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) - (property (name "edg_path") (value "reg_3v3.power_path.in_cap.cap")) - (property (name "edg_short_path") (value "reg_3v3.power_path.in_cap")) - (property (name "edg_refdes") (value "C3")) - (property (name "edg_part") (value "CL31A106KBHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 10uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/power_path/") (tstamps "/0aba027a/1786043a/")) - (tstamps "0879026b")) -(comp (ref "C4") - (value "reg_3v3.power_path.out_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "power_path")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) - (property (name "edg_path") (value "reg_3v3.power_path.out_cap.cap")) - (property (name "edg_short_path") (value "reg_3v3.power_path.out_cap")) - (property (name "edg_refdes") (value "C4")) - (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/power_path/") (tstamps "/0aba027a/1786043a/")) - (tstamps "0be902ec")) -(comp (ref "R3") - (value "reg_3v3.en_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) - (property (name "edg_path") (value "reg_3v3.en_res")) - (property (name "edg_short_path") (value "reg_3v3.en_res")) - (property (name "edg_refdes") (value "R3")) - (property (name "edg_part") (value "0603WAF5103T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 510kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "0899027d")) -(comp (ref "TP3") - (value "v3v3") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_3v3.tp")) - (property (name "edg_short_path") (value "tp_3v3")) - (property (name "edg_refdes") (value "TP3")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "v3v3")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "08220220")) -(comp (ref "Q2") - (value "vbat_sense_gate.pre") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "vbat_sense_gate")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "vbat_sense_gate.pre")) - (property (name "edg_short_path") (value "vbat_sense_gate.pre")) - (property (name "edg_refdes") (value "Q2")) - (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) - (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) - (sheetpath (names "/vbat_sense_gate/") (tstamps "/31ac062b/")) - (tstamps "029c0148")) -(comp (ref "R4") - (value "vbat_sense_gate.pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "vbat_sense_gate")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "vbat_sense_gate.pull")) - (property (name "edg_short_path") (value "vbat_sense_gate.pull")) - (property (name "edg_refdes") (value "R4")) - (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/vbat_sense_gate/") (tstamps "/31ac062b/")) - (tstamps "046701be")) -(comp (ref "Q3") - (value "vbat_sense_gate.drv") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "vbat_sense_gate")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "vbat_sense_gate.drv")) - (property (name "edg_short_path") (value "vbat_sense_gate.drv")) - (property (name "edg_refdes") (value "Q3")) - (property (name "edg_part") (value "AO3401A (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 4A 44mΩ@10V,4.3A 1.4W 1.3V@250μA P Channel SOT-23-3L MOSFETs ROHS")) - (sheetpath (names "/vbat_sense_gate/") (tstamps "/31ac062b/")) - (tstamps "0289014d")) -(comp (ref "U2") - (value "mcu.ic") - (footprint "RF_Module:ESP32-S3-WROOM-1") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.ic")) - (property (name "edg_short_path") (value "mcu.ic")) - (property (name "edg_refdes") (value "U2")) - (property (name "edg_part") (value "ESP32-S3-WROOM-1-N16R8 (Espressif Systems)")) - (property (name "edg_value") (value "ESP32-S3-WROOM-1-N16R8")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "013700cd")) -(comp (ref "C5") - (value "mcu.vcc_cap0") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.vcc_cap0.cap")) - (property (name "edg_short_path") (value "mcu.vcc_cap0")) - (property (name "edg_refdes") (value "C5")) - (property (name "edg_part") (value "CL31A226KPHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "10V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "0e590300")) -(comp (ref "C6") - (value "mcu.vcc_cap1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.vcc_cap1.cap")) - (property (name "edg_short_path") (value "mcu.vcc_cap1")) - (property (name "edg_refdes") (value "C6")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "0e5a0301")) -(comp (ref "J3") - (value "mcu.prog") - (footprint "Connector:Tag-Connect_TC2030-IDC-FP_2x03_P1.27mm_Vertical") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.prog.conn")) - (property (name "edg_short_path") (value "mcu.prog")) - (property (name "edg_refdes") (value "J3")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "045f01b9")) -(comp (ref "SW1") - (value "mcu.boot") - (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.boot.package")) - (property (name "edg_short_path") (value "mcu.boot")) - (property (name "edg_refdes") (value "SW1")) - (property (name "edg_part") (value "5.1mm switch")) - (property (name "edg_value") (value "5.1mm switch")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "042b01b5")) -(comp (ref "R5") - (value "mcu.en_pull.r") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "en_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) - (property (name "edg_path") (value "mcu.en_pull.rc.r")) - (property (name "edg_short_path") (value "mcu.en_pull.r")) - (property (name "edg_refdes") (value "R5")) - (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) - (tstamps "00730073")) -(comp (ref "C7") - (value "mcu.en_pull.c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "en_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) - (property (name "edg_path") (value "mcu.en_pull.rc.c")) - (property (name "edg_short_path") (value "mcu.en_pull.c")) - (property (name "edg_refdes") (value "C7")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) - (tstamps "00640064")) -(comp (ref "U3") - (value "usb_esd") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "usb_esd")) - (property (name "edg_short_path") (value "usb_esd")) - (property (name "edg_refdes") (value "U3")) - (property (name "edg_part") (value "PESD5V0X1BT (Nexperia)")) - (property (name "edg_value") (value "PESD5V0X1BT")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0bcb02e6")) -(comp (ref "D1") - (value "ledr.package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "ledr")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "ledr.package")) - (property (name "edg_short_path") (value "ledr.package")) - (property (name "edg_refdes") (value "D1")) - (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) - (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) - (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) - (tstamps "0b4e02cd")) -(comp (ref "R6") - (value "ledr.res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "ledr")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "ledr.res")) - (property (name "edg_short_path") (value "ledr.res")) - (property (name "edg_refdes") (value "R6")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) - (tstamps "0296014b")) -(comp (ref "D2") - (value "ledg.package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "ledg")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "ledg.package")) - (property (name "edg_short_path") (value "ledg.package")) - (property (name "edg_refdes") (value "D2")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/ledg/") (tstamps "/0412019d/")) - (tstamps "0b4e02cd")) -(comp (ref "R7") - (value "ledg.res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "ledg")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "ledg.res")) - (property (name "edg_short_path") (value "ledg.res")) - (property (name "edg_refdes") (value "R7")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/ledg/") (tstamps "/0412019d/")) - (tstamps "0296014b")) -(comp (ref "D3") - (value "ledb.package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "ledb")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "ledb.package")) - (property (name "edg_short_path") (value "ledb.package")) - (property (name "edg_refdes") (value "D3")) - (property (name "edg_part") (value "C2290 (Hubei KENTO Elec)")) - (property (name "edg_value") (value "White 0603 Light Emitting Diodes (LED) RoHS")) - (sheetpath (names "/ledb/") (tstamps "/040d0198/")) - (tstamps "0b4e02cd")) -(comp (ref "R8") - (value "ledb.res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "ledb")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "ledb.res")) - (property (name "edg_short_path") (value "ledb.res")) - (property (name "edg_refdes") (value "R8")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/ledb/") (tstamps "/040d0198/")) - (tstamps "0296014b")) -(comp (ref "SW2") - (value "sw") - (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "sw.package")) - (property (name "edg_short_path") (value "sw")) - (property (name "edg_refdes") (value "SW2")) - (property (name "edg_part") (value "5.1mm switch")) - (property (name "edg_value") (value "5.1mm switch")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "015f00eb")) -(comp (ref "R9") - (value "vbat_sense.top_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "vbat_sense")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) - (property (name "edg_path") (value "vbat_sense.div.top_res")) - (property (name "edg_short_path") (value "vbat_sense.top_res")) - (property (name "edg_refdes") (value "R9")) - (property (name "edg_part") (value "0603WAF4703T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 470kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/vbat_sense/") (tstamps "/16ee042b/")) - (tstamps "0c0c02fd")) -(comp (ref "R10") - (value "vbat_sense.bottom_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "vbat_sense")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) - (property (name "edg_path") (value "vbat_sense.div.bottom_res")) - (property (name "edg_short_path") (value "vbat_sense.bottom_res")) - (property (name "edg_refdes") (value "R10")) - (property (name "edg_part") (value "0603WAF1003T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 100kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/vbat_sense/") (tstamps "/16ee042b/")) - (tstamps "175b043f")) -(comp (ref "U4") - (value "touch_duck") - (footprint "edg:Symbol_DucklingSolid") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "touch_duck")) - (property (name "edg_short_path") (value "touch_duck")) - (property (name "edg_refdes") (value "U4")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "1741042a")) -(comp (ref "U5") - (value "touch_lemur") - (footprint "edg:Symbol_LemurSolid") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "touch_lemur")) - (property (name "edg_short_path") (value "touch_lemur")) - (property (name "edg_refdes") (value "U5")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "1bf704a8")) -(comp (ref "Q4") - (value "epd_gate") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "epd_gate.drv")) - (property (name "edg_short_path") (value "epd_gate")) - (property (name "edg_refdes") (value "Q4")) - (property (name "edg_part") (value "AO3401A (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 4A 44mΩ@10V,4.3A 1.4W 1.3V@250μA P Channel SOT-23-3L MOSFETs ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0e7f033a")) -(comp (ref "Q5") - (value "mem_gate") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "mem_gate.drv")) - (property (name "edg_short_path") (value "mem_gate")) - (property (name "edg_refdes") (value "Q5")) - (property (name "edg_part") (value "AO3401A (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 4A 44mΩ@10V,4.3A 1.4W 1.3V@250μA P Channel SOT-23-3L MOSFETs ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0ea80340")) -(comp (ref "J4") - (value "epd.device") - (footprint "Connector_FFC-FPC:TE_2-1734839-4_1x24-1MP_P0.5mm_Horizontal") - (property (name "Sheetname") (value "epd")) - (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) - (property (name "edg_path") (value "epd.device.conn.conn")) - (property (name "edg_short_path") (value "epd.device")) - (property (name "edg_refdes") (value "J4")) - (property (name "edg_part") (value "AFC07-S24EC*-00 (Jushuo)")) - (property (name "edg_value") (value "AFC07-S24EC*-00")) - (sheetpath (names "/epd/") (tstamps "/0276013a/")) - (tstamps "08950271")) -(comp (ref "C8") - (value "epd.vdd_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "epd")) - (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) - (property (name "edg_path") (value "epd.vdd_cap.cap")) - (property (name "edg_short_path") (value "epd.vdd_cap")) - (property (name "edg_refdes") (value "C8")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/epd/") (tstamps "/0276013a/")) - (tstamps "0b6402d2")) -(comp (ref "C9") - (value "epd.vdd1v8_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "epd")) - (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) - (property (name "edg_path") (value "epd.vdd1v8_cap.cap")) - (property (name "edg_short_path") (value "epd.vdd1v8_cap")) - (property (name "edg_refdes") (value "C9")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/epd/") (tstamps "/0276013a/")) - (tstamps "145403b1")) -(comp (ref "C10") - (value "epd.vgl_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "epd")) - (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) - (property (name "edg_path") (value "epd.vgl_cap.cap")) - (property (name "edg_short_path") (value "epd.vgl_cap")) - (property (name "edg_refdes") (value "C10")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/epd/") (tstamps "/0276013a/")) - (tstamps "0b9e02dd")) -(comp (ref "C11") - (value "epd.vgh_cap") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "epd")) - (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) - (property (name "edg_path") (value "epd.vgh_cap.cap")) - (property (name "edg_short_path") (value "epd.vgh_cap")) - (property (name "edg_refdes") (value "C11")) - (property (name "edg_part") (value "1206B475K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 4.7uF X7R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/epd/") (tstamps "/0276013a/")) - (tstamps "0b8a02d9")) -(comp (ref "C12") - (value "epd.vsh_cap") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "epd")) - (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) - (property (name "edg_path") (value "epd.vsh_cap.cap")) - (property (name "edg_short_path") (value "epd.vsh_cap")) - (property (name "edg_refdes") (value "C12")) - (property (name "edg_part") (value "1206B475K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 4.7uF X7R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/epd/") (tstamps "/0276013a/")) - (tstamps "0bd202e5")) -(comp (ref "C13") - (value "epd.vsl_cap") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "epd")) - (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) - (property (name "edg_path") (value "epd.vsl_cap.cap")) - (property (name "edg_short_path") (value "epd.vsl_cap")) - (property (name "edg_refdes") (value "C13")) - (property (name "edg_part") (value "1206B475K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 4.7uF X7R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/epd/") (tstamps "/0276013a/")) - (tstamps "0be602e9")) -(comp (ref "C14") - (value "epd.vcom_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "epd")) - (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) - (property (name "edg_path") (value "epd.vcom_cap.cap")) - (property (name "edg_short_path") (value "epd.vcom_cap")) - (property (name "edg_refdes") (value "C14")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/epd/") (tstamps "/0276013a/")) - (tstamps "0eff0349")) -(comp (ref "Q6") - (value "epd.boost.fet") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "boost")) - (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) - (property (name "edg_path") (value "epd.boost.fet")) - (property (name "edg_short_path") (value "epd.boost.fet")) - (property (name "edg_refdes") (value "Q6")) - (property (name "edg_part") (value "AO3400A (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 5.7A 26.5mΩ@10V,5.7A 1.4W 1.5V@250μA N Channel SOT-23-3L MOSFETs ROHS")) - (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) - (tstamps "02730140")) -(comp (ref "L2") - (value "epd.boost.inductor") - (footprint "Inductor_SMD:L_1210_3225Metric") - (property (name "Sheetname") (value "boost")) - (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) - (property (name "edg_path") (value "epd.boost.inductor")) - (property (name "edg_short_path") (value "epd.boost.inductor")) - (property (name "edg_refdes") (value "L2")) - (property (name "edg_part") (value "CBC3225T680KR (Taiyo Yuden)")) - (property (name "edg_value") (value "320mA 68uH ±10% 1Ω 1210 Power Inductors ROHS")) - (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) - (tstamps "0f2b0369")) -(comp (ref "R11") - (value "epd.boost.sense") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "boost")) - (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) - (property (name "edg_path") (value "epd.boost.sense")) - (property (name "edg_short_path") (value "epd.boost.sense")) - (property (name "edg_refdes") (value "R11")) - (property (name "edg_part") (value "RS-03L3R00FT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "±1% 100mW 50V ±250ppm/℃ -55℃~+155℃ 3Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) - (tstamps "066d021f")) -(comp (ref "C15") - (value "epd.boost.in_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "boost")) - (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) - (property (name "edg_path") (value "epd.boost.in_cap.cap")) - (property (name "edg_short_path") (value "epd.boost.in_cap")) - (property (name "edg_refdes") (value "C15")) - (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) - (tstamps "0879026b")) -(comp (ref "D4") - (value "epd.boost.diode") - (footprint "Diode_SMD:D_SOD-323") - (property (name "Sheetname") (value "boost")) - (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) - (property (name "edg_path") (value "epd.boost.diode")) - (property (name "edg_short_path") (value "epd.boost.diode")) - (property (name "edg_refdes") (value "D4")) - (property (name "edg_part") (value "B5817WS (Shandong Jingdao Microelectronics)")) - (property (name "edg_value") (value "20V 450mV@1A 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) - (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) - (tstamps "06170206")) -(comp (ref "D5") - (value "epd.boost.boot_neg_diode") - (footprint "Diode_SMD:D_SOD-323") - (property (name "Sheetname") (value "boost")) - (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) - (property (name "edg_path") (value "epd.boost.boot_neg_diode")) - (property (name "edg_short_path") (value "epd.boost.boot_neg_diode")) - (property (name "edg_refdes") (value "D5")) - (property (name "edg_part") (value "B5817WS (Shandong Jingdao Microelectronics)")) - (property (name "edg_value") (value "20V 450mV@1A 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) - (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) - (tstamps "2b1605b2")) -(comp (ref "D6") - (value "epd.boost.boot_gnd_diode") - (footprint "Diode_SMD:D_SOD-323") - (property (name "Sheetname") (value "boost")) - (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) - (property (name "edg_path") (value "epd.boost.boot_gnd_diode")) - (property (name "edg_short_path") (value "epd.boost.boot_gnd_diode")) - (property (name "edg_refdes") (value "D6")) - (property (name "edg_part") (value "B5817WS (Shandong Jingdao Microelectronics)")) - (property (name "edg_value") (value "20V 450mV@1A 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) - (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) - (tstamps "2b0a05b1")) -(comp (ref "C16") - (value "epd.boost.boot_cap") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "boost")) - (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) - (property (name "edg_path") (value "epd.boost.boot_cap")) - (property (name "edg_short_path") (value "epd.boost.boot_cap")) - (property (name "edg_refdes") (value "C16")) - (property (name "edg_part") (value "1206B475K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 4.7uF X7R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) - (tstamps "0ed60348")) -(comp (ref "C17") - (value "epd.boost.out_cap") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "boost")) - (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) - (property (name "edg_path") (value "epd.boost.out_cap.cap")) - (property (name "edg_short_path") (value "epd.boost.out_cap")) - (property (name "edg_refdes") (value "C17")) - (property (name "edg_part") (value "1206B475K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 4.7uF X7R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) - (tstamps "0be902ec")) -(comp (ref "C18") - (value "epd.boost.neg_out_cap") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "boost")) - (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) - (property (name "edg_path") (value "epd.boost.neg_out_cap.cap")) - (property (name "edg_short_path") (value "epd.boost.neg_out_cap")) - (property (name "edg_refdes") (value "C18")) - (property (name "edg_part") (value "1206B475K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 4.7uF X7R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) - (tstamps "1b300485")) -(comp (ref "R12") - (value "epd.gate_pdr") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "epd")) - (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) - (property (name "edg_path") (value "epd.gate_pdr")) - (property (name "edg_short_path") (value "epd.gate_pdr")) - (property (name "edg_refdes") (value "R12")) - (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/epd/") (tstamps "/0276013a/")) - (tstamps "0e9e0347")) -(comp (ref "TP4") - (value "epd.sck") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "tp_epd")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) - (property (name "edg_path") (value "tp_epd.tp_sck.tp")) - (property (name "edg_short_path") (value "tp_epd.tp_sck")) - (property (name "edg_refdes") (value "TP4")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "epd.sck")) - (sheetpath (names "/tp_epd/") (tstamps "/08dd027d/")) - (tstamps "08f40285")) -(comp (ref "TP5") - (value "epd.mosi") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "tp_epd")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) - (property (name "edg_path") (value "tp_epd.tp_mosi.tp")) - (property (name "edg_short_path") (value "tp_epd.tp_mosi")) - (property (name "edg_refdes") (value "TP5")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "epd.mosi")) - (sheetpath (names "/tp_epd/") (tstamps "/08dd027d/")) - (tstamps "0bfe02fc")) -(comp (ref "TP6") - (value "epd.miso") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "tp_epd")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) - (property (name "edg_path") (value "tp_epd.tp_miso.tp")) - (property (name "edg_short_path") (value "tp_epd.tp_miso")) - (property (name "edg_refdes") (value "TP6")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "epd.miso")) - (sheetpath (names "/tp_epd/") (tstamps "/08dd027d/")) - (tstamps "0bf202fc")) -(comp (ref "TP7") - (value "rst") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_erst.tp")) - (property (name "edg_short_path") (value "tp_erst")) - (property (name "edg_refdes") (value "TP7")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "rst")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0bf20302")) -(comp (ref "TP8") - (value "dc") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_dc.tp")) - (property (name "edg_short_path") (value "tp_dc")) - (property (name "edg_refdes") (value "TP8")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "dc")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0651020b")) -(comp (ref "TP9") - (value "cs") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_epd_cs.tp")) - (property (name "edg_short_path") (value "tp_epd_cs")) - (property (name "edg_refdes") (value "TP9")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "cs")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "12aa03b2")) -(comp (ref "TP10") - (value "bsy") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_busy.tp")) - (property (name "edg_short_path") (value "tp_busy")) - (property (name "edg_refdes") (value "TP10")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "bsy")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0bf40307")) -(comp (ref "J5") - (value "sd") - (footprint "Connector_Card:microSD_HC_Molex_104031-0811") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "sd")) - (property (name "edg_short_path") (value "sd")) - (property (name "edg_refdes") (value "J5")) - (property (name "edg_part") (value "104031-0811 (Molex)")) - (property (name "edg_value") (value "104031-0811")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "014c00d8")) -(comp (ref "U6") - (value "flash.ic") - (footprint "Package_SO:SOIC-8_5.23x5.23mm_P1.27mm") - (property (name "Sheetname") (value "flash")) - (property (name "Sheetfile") (value "edg.parts.SpiMemory_W25q.W25q")) - (property (name "edg_path") (value "flash.ic")) - (property (name "edg_short_path") (value "flash.ic")) - (property (name "edg_refdes") (value "U6")) - (property (name "edg_part") (value "W25Q128JVSIQ (Winbond Electronics)")) - (property (name "edg_value") (value "W25Q128JVSIQ")) - (sheetpath (names "/flash/") (tstamps "/0624020f/")) - (tstamps "013700cd")) -(comp (ref "C19") - (value "flash.vcc_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "flash")) - (property (name "Sheetfile") (value "edg.parts.SpiMemory_W25q.W25q")) - (property (name "edg_path") (value "flash.vcc_cap.cap")) - (property (name "edg_short_path") (value "flash.vcc_cap")) - (property (name "edg_refdes") (value "C19")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/flash/") (tstamps "/0624020f/")) - (tstamps "0b5902d0")) -(comp (ref "TP11") - (value "sd.sck") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "tp_sd")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) - (property (name "edg_path") (value "tp_sd.tp_sck.tp")) - (property (name "edg_short_path") (value "tp_sd.tp_sck")) - (property (name "edg_refdes") (value "TP11")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "sd.sck")) - (sheetpath (names "/tp_sd/") (tstamps "/0670021b/")) - (tstamps "08f40285")) -(comp (ref "TP12") - (value "sd.mosi") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "tp_sd")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) - (property (name "edg_path") (value "tp_sd.tp_mosi.tp")) - (property (name "edg_short_path") (value "tp_sd.tp_mosi")) - (property (name "edg_refdes") (value "TP12")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "sd.mosi")) - (sheetpath (names "/tp_sd/") (tstamps "/0670021b/")) - (tstamps "0bfe02fc")) -(comp (ref "TP13") - (value "sd.miso") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "tp_sd")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) - (property (name "edg_path") (value "tp_sd.tp_miso.tp")) - (property (name "edg_short_path") (value "tp_sd.tp_miso")) - (property (name "edg_refdes") (value "TP13")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "sd.miso")) - (sheetpath (names "/tp_sd/") (tstamps "/0670021b/")) - (tstamps "0bf202fc")) -(comp (ref "TP14") - (value "sd_cs") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_sd_cs.tp")) - (property (name "edg_short_path") (value "tp_sd_cs")) - (property (name "edg_refdes") (value "TP14")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "sd_cs")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0f170350"))) -(nets -(net (code 1) (name "gnd") - (node (ref U3) (pin 3)) - (node (ref J5) (pin 6)) - (node (ref J5) (pin 11)) - (node (ref J1) (pin A1)) - (node (ref J1) (pin B12)) - (node (ref J1) (pin B1)) - (node (ref J1) (pin A12)) - (node (ref J2) (pin 1)) - (node (ref TP2) (pin 1)) - (node (ref Q1) (pin 1)) - (node (ref U1) (pin 1)) - (node (ref Q2) (pin 2)) - (node (ref U2) (pin 1)) - (node (ref U2) (pin 40)) - (node (ref U2) (pin 41)) - (node (ref R6) (pin 2)) - (node (ref R7) (pin 2)) - (node (ref R8) (pin 2)) - (node (ref SW2) (pin 2)) - (node (ref U6) (pin 4)) - (node (ref R10) (pin 2)) - (node (ref J1) (pin S1)) - (node (ref R12) (pin 2)) - (node (ref C1) (pin 2)) - (node (ref C5) (pin 2)) - (node (ref C6) (pin 2)) - (node (ref J3) (pin 5)) - (node (ref SW1) (pin 2)) - (node (ref C8) (pin 2)) - (node (ref C9) (pin 2)) - (node (ref C10) (pin 2)) - (node (ref C11) (pin 2)) - (node (ref C12) (pin 2)) - (node (ref C13) (pin 2)) - (node (ref C14) (pin 2)) - (node (ref C19) (pin 2)) - (node (ref R2) (pin 2)) - (node (ref C7) (pin 2)) - (node (ref J4) (pin 8)) - (node (ref R11) (pin 2)) - (node (ref D6) (pin 1)) - (node (ref C3) (pin 2)) - (node (ref C4) (pin 2)) - (node (ref C15) (pin 2)) - (node (ref C17) (pin 2)) - (node (ref C18) (pin 2)) - (node (ref J4) (pin 17))) -(net (code 2) (name "vbat") - (node (ref Q1) (pin 2)) - (node (ref U1) (pin 3)) - (node (ref R4) (pin 1)) - (node (ref Q3) (pin 2)) - (node (ref R3) (pin 1)) - (node (ref C1) (pin 1)) - (node (ref C3) (pin 1))) -(net (code 3) (name "v3v3") - (node (ref TP3) (pin 1)) - (node (ref U2) (pin 2)) - (node (ref Q4) (pin 2)) - (node (ref Q5) (pin 2)) - (node (ref R1) (pin 1)) - (node (ref C5) (pin 1)) - (node (ref C6) (pin 1)) - (node (ref J3) (pin 1)) - (node (ref R5) (pin 1)) - (node (ref L1) (pin 2)) - (node (ref C4) (pin 1))) -(net (code 4) (name "batt.pwr") - (node (ref J2) (pin 2)) - (node (ref TP1) (pin 1)) - (node (ref Q1) (pin 3))) -(net (code 5) (name "usb_chain_0.d_P") - (node (ref J1) (pin A6)) - (node (ref J1) (pin B6)) - (node (ref U3) (pin 2)) - (node (ref U2) (pin 14))) -(net (code 6) (name "usb_chain_0.d_N") - (node (ref J1) (pin A7)) - (node (ref J1) (pin B7)) - (node (ref U3) (pin 1)) - (node (ref U2) (pin 13))) -(net (code 7) (name "ledr.signal") - (node (ref U2) (pin 39)) - (node (ref D1) (pin 2))) -(net (code 8) (name "ledg.signal") - (node (ref U2) (pin 38)) - (node (ref D2) (pin 2))) -(net (code 9) (name "ledb.signal") - (node (ref U2) (pin 4)) - (node (ref D3) (pin 2))) -(net (code 10) (name "sw.out") - (node (ref U2) (pin 5)) - (node (ref SW2) (pin 1))) -(net (code 11) (name "vbat_sense_gate.control") - (node (ref U2) (pin 6)) - (node (ref Q2) (pin 1))) -(net (code 12) (name "vbat_sense_gate.output") - (node (ref Q3) (pin 3)) - (node (ref R9) (pin 1))) -(net (code 13) (name "vbat_sense.output") - (node (ref U2) (pin 7)) - (node (ref R9) (pin 2)) - (node (ref R10) (pin 1))) -(net (code 14) (name "touch_duck.pad") - (node (ref U2) (pin 21)) - (node (ref U4) (pin 1))) -(net (code 15) (name "touch_lemur.pad") - (node (ref U2) (pin 22)) - (node (ref U5) (pin 1))) -(net (code 16) (name "epd_gate.control") - (node (ref U2) (pin 10)) - (node (ref Q4) (pin 1))) -(net (code 17) (name "mem_gate.control") - (node (ref U2) (pin 23)) - (node (ref Q5) (pin 1))) -(net (code 18) (name "epd_gate.output") - (node (ref Q4) (pin 3)) - (node (ref C8) (pin 1)) - (node (ref J4) (pin 9)) - (node (ref J4) (pin 10)) - (node (ref L2) (pin 1)) - (node (ref C15) (pin 1))) -(net (code 19) (name "tp_epd.io.sck") - (node (ref U2) (pin 33)) - (node (ref TP4) (pin 1)) - (node (ref J4) (pin 12))) -(net (code 20) (name "tp_epd.io.mosi") - (node (ref U2) (pin 35)) - (node (ref TP5) (pin 1)) - (node (ref J4) (pin 11))) -(net (code 21) (name "tp_epd.io.miso") - (node (ref TP6) (pin 1))) -(net (code 22) (name "tp_erst.io") - (node (ref U2) (pin 8)) - (node (ref TP7) (pin 1)) - (node (ref J4) (pin 15))) -(net (code 23) (name "tp_dc.io") - (node (ref U2) (pin 31)) - (node (ref TP8) (pin 1)) - (node (ref J4) (pin 14))) -(net (code 24) (name "tp_epd_cs.io") - (node (ref U2) (pin 32)) - (node (ref TP9) (pin 1)) - (node (ref J4) (pin 13))) -(net (code 25) (name "tp_busy.io") - (node (ref U2) (pin 9)) - (node (ref TP10) (pin 1)) - (node (ref J4) (pin 16))) -(net (code 26) (name "mem_gate.output") - (node (ref J5) (pin 4)) - (node (ref Q5) (pin 3)) - (node (ref U6) (pin 8)) - (node (ref U6) (pin 3)) - (node (ref U6) (pin 7)) - (node (ref C19) (pin 1))) -(net (code 27) (name "tp_sd.io.sck") - (node (ref U2) (pin 17)) - (node (ref J5) (pin 5)) - (node (ref U6) (pin 6)) - (node (ref TP11) (pin 1))) -(net (code 28) (name "tp_sd.io.mosi") - (node (ref U2) (pin 18)) - (node (ref J5) (pin 3)) - (node (ref U6) (pin 5)) - (node (ref TP12) (pin 1))) -(net (code 29) (name "tp_sd.io.miso") - (node (ref U2) (pin 15)) - (node (ref J5) (pin 7)) - (node (ref U6) (pin 2)) - (node (ref TP13) (pin 1))) -(net (code 30) (name "tp_sd_cs.io") - (node (ref U2) (pin 19)) - (node (ref J5) (pin 2)) - (node (ref TP14) (pin 1))) -(net (code 31) (name "flash.cs") - (node (ref U2) (pin 20)) - (node (ref U6) (pin 1))) -(net (code 32) (name "usb.pwr") - (node (ref J1) (pin A4)) - (node (ref J1) (pin B9)) - (node (ref J1) (pin B4)) - (node (ref J1) (pin A9))) -(net (code 33) (name "usb.conn.cc.cc1") - (node (ref J1) (pin A5))) -(net (code 34) (name "usb.conn.cc.cc2") - (node (ref J1) (pin B5))) -(net (code 35) (name "reg_3v3.fb.output") - (node (ref U1) (pin 4)) - (node (ref R1) (pin 2)) - (node (ref R2) (pin 1))) -(net (code 36) (name "reg_3v3.boot_cap.neg") - (node (ref C2) (pin 2)) - (node (ref U1) (pin 2)) - (node (ref L1) (pin 1))) -(net (code 37) (name "reg_3v3.boot_cap.pos") - (node (ref C2) (pin 1)) - (node (ref U1) (pin 6))) -(net (code 38) (name "reg_3v3.en_res.b") - (node (ref R3) (pin 2)) - (node (ref U1) (pin 5))) -(net (code 39) (name "vbat_sense_gate.pre.drain") - (node (ref Q2) (pin 3)) - (node (ref R4) (pin 2)) - (node (ref Q3) (pin 1))) -(net (code 40) (name "mcu.program_uart_node.a_tx") - (node (ref U2) (pin 37)) - (node (ref J3) (pin 3))) -(net (code 41) (name "mcu.program_uart_node.b_tx") - (node (ref U2) (pin 36)) - (node (ref J3) (pin 4))) -(net (code 42) (name "mcu.program_en_node") - (node (ref U2) (pin 3)) - (node (ref J3) (pin 6)) - (node (ref R5) (pin 2)) - (node (ref C7) (pin 1))) -(net (code 43) (name "mcu.program_boot_node") - (node (ref U2) (pin 27)) - (node (ref SW1) (pin 1)) - (node (ref J3) (pin 2))) -(net (code 44) (name "ledr.res.a") - (node (ref R6) (pin 1)) - (node (ref D1) (pin 1))) -(net (code 45) (name "ledg.res.a") - (node (ref R7) (pin 1)) - (node (ref D2) (pin 1))) -(net (code 46) (name "ledb.res.a") - (node (ref R8) (pin 1)) - (node (ref D3) (pin 1))) -(net (code 47) (name "epd.device.vdd1v8") - (node (ref J4) (pin 7)) - (node (ref C9) (pin 1))) -(net (code 48) (name "epd.device.vgl") - (node (ref J4) (pin 21)) - (node (ref C10) (pin 1))) -(net (code 49) (name "epd.device.vgh") - (node (ref J4) (pin 20)) - (node (ref C11) (pin 1))) -(net (code 50) (name "epd.device.vsh") - (node (ref J4) (pin 5)) - (node (ref C12) (pin 1))) -(net (code 51) (name "epd.device.vsl") - (node (ref J4) (pin 3)) - (node (ref C13) (pin 1))) -(net (code 52) (name "epd.device.vcom") - (node (ref J4) (pin 1)) - (node (ref C14) (pin 1))) -(net (code 53) (name "epd.device.gdr") - (node (ref J4) (pin 23)) - (node (ref R12) (pin 1)) - (node (ref Q6) (pin 1))) -(net (code 54) (name "epd.device.rese") - (node (ref J4) (pin 22)) - (node (ref Q6) (pin 2)) - (node (ref R11) (pin 1))) -(net (code 55) (name "epd.boost.pos_out") - (node (ref J4) (pin 4)) - (node (ref D4) (pin 1)) - (node (ref C17) (pin 1))) -(net (code 56) (name "epd.boost.neg_out") - (node (ref J4) (pin 2)) - (node (ref D5) (pin 2)) - (node (ref C18) (pin 1))) -(net (code 57) (name "epd.boost.inductor.b") - (node (ref L2) (pin 2)) - (node (ref Q6) (pin 3)) - (node (ref D4) (pin 2)) - (node (ref C16) (pin 1))) -(net (code 58) (name "epd.boost.boot_cap.neg") - (node (ref C16) (pin 2)) - (node (ref D5) (pin 1)) - (node (ref D6) (pin 2)))) -) \ No newline at end of file diff --git a/examples/IotDisplay/IotDisplay.svgpcb.js b/examples/IotDisplay/IotDisplay.svgpcb.js deleted file mode 100644 index 6b5e709b9..000000000 --- a/examples/IotDisplay/IotDisplay.svgpcb.js +++ /dev/null @@ -1,478 +0,0 @@ -const board = new PCB(); - -// jlc_th.th1 -const H1 = board.add(JlcToolingHole_1_152mm, { - translate: pt(3.002, 2.210), rotate: 0, - id: 'H1' -}) -// jlc_th.th2 -const H2 = board.add(JlcToolingHole_1_152mm, { - translate: pt(3.041, 2.210), rotate: 0, - id: 'H2' -}) -// jlc_th.th3 -const H3 = board.add(JlcToolingHole_1_152mm, { - translate: pt(3.002, 2.249), rotate: 0, - id: 'H3' -}) -// usb.conn -const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { - translate: pt(0.209, 1.905), rotate: 0, - id: 'J1' -}) -// batt.conn -const J2 = board.add(JST_PH_S2B_PH_K_1x02_P2_00mm_Horizontal, { - translate: pt(0.633, 2.006), rotate: 0, - id: 'J2' -}) -// tp_pwr.tp -const TP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.126, 2.247), rotate: 0, - id: 'TP1' -}) -// tp_gnd.tp -const TP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.876, 2.247), rotate: 0, - id: 'TP2' -}) -// vbat_prot.fet -const Q1 = board.add(SOT_23, { - translate: pt(0.345, 2.277), rotate: 0, - id: 'Q1' -}) -// reg_3v3.ic -const U1 = board.add(SOT_23_6, { - translate: pt(3.419, 0.952), rotate: 0, - id: 'U1' -}) -// reg_3v3.fb.div.top_res -const R1 = board.add(R_0603_1608Metric, { - translate: pt(3.570, 1.131), rotate: 0, - id: 'R1' -}) -// reg_3v3.fb.div.bottom_res -const R2 = board.add(R_0603_1608Metric, { - translate: pt(3.176, 1.261), rotate: 0, - id: 'R2' -}) -// reg_3v3.hf_in_cap.cap -const C1 = board.add(C_0603_1608Metric, { - translate: pt(3.332, 1.261), rotate: 0, - id: 'C1' -}) -// reg_3v3.boot_cap -const C2 = board.add(C_0603_1608Metric, { - translate: pt(3.488, 1.261), rotate: 0, - id: 'C2' -}) -// reg_3v3.power_path.inductor -const L1 = board.add(L_Sunlord_SWPA4030S, { - translate: pt(3.209, 0.974), rotate: 0, - id: 'L1' -}) -// reg_3v3.power_path.in_cap.cap -const C3 = board.add(C_1206_3216Metric, { - translate: pt(3.209, 1.147), rotate: 0, - id: 'C3' -}) -// reg_3v3.power_path.out_cap.cap -const C4 = board.add(C_0805_2012Metric, { - translate: pt(3.406, 1.141), rotate: 0, - id: 'C4' -}) -// reg_3v3.en_res -const R3 = board.add(R_0603_1608Metric, { - translate: pt(3.176, 1.357), rotate: 0, - id: 'R3' -}) -// tp_3v3.tp -const TP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.627, 2.247), rotate: 0, - id: 'TP3' -}) -// vbat_sense_gate.pre -const Q2 = board.add(SOT_23, { - translate: pt(1.487, 1.807), rotate: 0, - id: 'Q2' -}) -// vbat_sense_gate.pull -const R4 = board.add(R_0603_1608Metric, { - translate: pt(1.660, 1.942), rotate: 0, - id: 'R4' -}) -// vbat_sense_gate.drv -const Q3 = board.add(SOT_23, { - translate: pt(1.487, 1.980), rotate: 0, - id: 'Q3' -}) -// mcu.ic -const U2 = board.add(ESP32_S3_WROOM_1, { - translate: pt(0.945, 0.530), rotate: 0, - id: 'U2' -}) -// mcu.vcc_cap0.cap -const C5 = board.add(C_1206_3216Metric, { - translate: pt(2.020, 0.683), rotate: 0, - id: 'C5' -}) -// mcu.vcc_cap1.cap -const C6 = board.add(C_0603_1608Metric, { - translate: pt(2.208, 0.667), rotate: 0, - id: 'C6' -}) -// mcu.prog.conn -const J3 = board.add(Tag_Connect_TC2030_IDC_FP_2x03_P1_27mm_Vertical, { - translate: pt(2.096, 0.167), rotate: 0, - id: 'J3' -}) -// mcu.boot.package -const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(2.096, 0.486), rotate: 0, - id: 'SW1' -}) -// mcu.en_pull.rc.r -const R5 = board.add(R_0603_1608Metric, { - translate: pt(2.364, 0.667), rotate: 0, - id: 'R5' -}) -// mcu.en_pull.rc.c -const C7 = board.add(C_0603_1608Metric, { - translate: pt(1.987, 0.796), rotate: 0, - id: 'C7' -}) -// usb_esd -const U3 = board.add(SOT_23, { - translate: pt(2.887, 2.277), rotate: 0, - id: 'U3' -}) -// ledr.package -const D1 = board.add(LED_0603_1608Metric, { - translate: pt(3.083, 1.769), rotate: 0, - id: 'D1' -}) -// ledr.res -const R6 = board.add(R_0603_1608Metric, { - translate: pt(3.083, 1.866), rotate: 0, - id: 'R6' -}) -// ledg.package -const D2 = board.add(LED_0603_1608Metric, { - translate: pt(3.318, 1.769), rotate: 0, - id: 'D2' -}) -// ledg.res -const R7 = board.add(R_0603_1608Metric, { - translate: pt(3.318, 1.866), rotate: 0, - id: 'R7' -}) -// ledb.package -const D3 = board.add(LED_0603_1608Metric, { - translate: pt(2.848, 1.769), rotate: 0, - id: 'D3' -}) -// ledb.res -const R8 = board.add(R_0603_1608Metric, { - translate: pt(2.848, 1.866), rotate: 0, - id: 'R8' -}) -// sw.package -const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(2.504, 1.852), rotate: 0, - id: 'SW2' -}) -// vbat_sense.div.top_res -const R9 = board.add(R_0603_1608Metric, { - translate: pt(3.553, 1.769), rotate: 0, - id: 'R9' -}) -// vbat_sense.div.bottom_res -const R10 = board.add(R_0603_1608Metric, { - translate: pt(3.553, 1.866), rotate: 0, - id: 'R10' -}) -// touch_duck -const U4 = board.add(Symbol_DucklingSolid, { - translate: pt(3.159, 2.210), rotate: 0, - id: 'U4' -}) -// touch_lemur -const U5 = board.add(Symbol_LemurSolid, { - translate: pt(3.198, 2.210), rotate: 0, - id: 'U5' -}) -// epd_gate.drv -const Q4 = board.add(SOT_23, { - translate: pt(0.076, 2.277), rotate: 0, - id: 'Q4' -}) -// mem_gate.drv -const Q5 = board.add(SOT_23, { - translate: pt(0.614, 2.277), rotate: 0, - id: 'Q5' -}) -// epd.device.conn.conn -const J4 = board.add(TE_2_1734839_4_1x24_1MP_P0_5mm_Horizontal, { - translate: pt(2.903, 0.167), rotate: 0, - id: 'J4' -}) -// epd.vdd_cap.cap -const C8 = board.add(C_0603_1608Metric, { - translate: pt(2.930, 0.624), rotate: 0, - id: 'C8' -}) -// epd.vdd1v8_cap.cap -const C9 = board.add(C_0603_1608Metric, { - translate: pt(3.086, 0.624), rotate: 0, - id: 'C9' -}) -// epd.vgl_cap.cap -const C10 = board.add(C_0603_1608Metric, { - translate: pt(3.242, 0.624), rotate: 0, - id: 'C10' -}) -// epd.vgh_cap.cap -const C11 = board.add(C_1206_3216Metric, { - translate: pt(2.850, 0.346), rotate: 0, - id: 'C11' -}) -// epd.vsh_cap.cap -const C12 = board.add(C_1206_3216Metric, { - translate: pt(3.070, 0.346), rotate: 0, - id: 'C12' -}) -// epd.vsl_cap.cap -const C13 = board.add(C_1206_3216Metric, { - translate: pt(3.291, 0.346), rotate: 0, - id: 'C13' -}) -// epd.vcom_cap.cap -const C14 = board.add(C_0603_1608Metric, { - translate: pt(3.398, 0.624), rotate: 0, - id: 'C14' -}) -// epd.boost.fet -const Q6 = board.add(SOT_23, { - translate: pt(3.381, 0.067), rotate: 0, - id: 'Q6' -}) -// epd.boost.inductor -const L2 = board.add(L_1210_3225Metric, { - translate: pt(2.630, 0.363), rotate: 0, - id: 'L2' -}) -// epd.boost.sense -const R11 = board.add(R_0603_1608Metric, { - translate: pt(2.598, 0.738), rotate: 0, - id: 'R11' -}) -// epd.boost.in_cap.cap -const C15 = board.add(C_0805_2012Metric, { - translate: pt(3.269, 0.504), rotate: 0, - id: 'C15' -}) -// epd.boost.diode -const D4 = board.add(D_SOD_323, { - translate: pt(3.438, 0.502), rotate: 0, - id: 'D4' -}) -// epd.boost.boot_neg_diode -const D5 = board.add(D_SOD_323, { - translate: pt(2.604, 0.632), rotate: 0, - id: 'D5' -}) -// epd.boost.boot_gnd_diode -const D6 = board.add(D_SOD_323, { - translate: pt(2.769, 0.632), rotate: 0, - id: 'D6' -}) -// epd.boost.boot_cap -const C16 = board.add(C_1206_3216Metric, { - translate: pt(2.631, 0.510), rotate: 0, - id: 'C16' -}) -// epd.boost.out_cap.cap -const C17 = board.add(C_1206_3216Metric, { - translate: pt(2.851, 0.510), rotate: 0, - id: 'C17' -}) -// epd.boost.neg_out_cap.cap -const C18 = board.add(C_1206_3216Metric, { - translate: pt(3.072, 0.510), rotate: 0, - id: 'C18' -}) -// epd.gate_pdr -const R12 = board.add(R_0603_1608Metric, { - translate: pt(2.754, 0.738), rotate: 0, - id: 'R12' -}) -// tp_epd.tp_sck.tp -const TP4 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.153, 1.778), rotate: 0, - id: 'TP4' -}) -// tp_epd.tp_mosi.tp -const TP5 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.153, 1.892), rotate: 0, - id: 'TP5' -}) -// tp_epd.tp_miso.tp -const TP6 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.153, 2.006), rotate: 0, - id: 'TP6' -}) -// tp_erst.tp -const TP7 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.375, 2.247), rotate: 0, - id: 'TP7' -}) -// tp_dc.tp -const TP8 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.874, 2.247), rotate: 0, - id: 'TP8' -}) -// tp_epd_cs.tp -const TP9 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.625, 2.247), rotate: 0, - id: 'TP9' -}) -// tp_busy.tp -const TP10 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.376, 2.247), rotate: 0, - id: 'TP10' -}) -// sd -const J5 = board.add(microSD_HC_Molex_104031_0811, { - translate: pt(2.809, 1.143), rotate: 0, - id: 'J5' -}) -// flash.ic -const U6 = board.add(SOIC_8_5_23x5_23mm_P1_27mm, { - translate: pt(1.110, 1.853), rotate: 0, - id: 'U6' -}) -// flash.vcc_cap.cap -const C19 = board.add(C_0603_1608Metric, { - translate: pt(0.985, 2.033), rotate: 0, - id: 'C19' -}) -// tp_sd.tp_sck.tp -const TP11 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.902, 1.778), rotate: 0, - id: 'TP11' -}) -// tp_sd.tp_mosi.tp -const TP12 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.902, 1.892), rotate: 0, - id: 'TP12' -}) -// tp_sd.tp_miso.tp -const TP13 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.902, 2.006), rotate: 0, - id: 'TP13' -}) -// tp_sd_cs.tp -const TP14 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.124, 2.247), rotate: 0, - id: 'TP14' -}) - -board.setNetlist([ - {name: "gnd", pads: [["U3", "3"], ["J5", "6"], ["J5", "11"], ["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["J2", "1"], ["TP2", "1"], ["Q1", "1"], ["U1", "1"], ["Q2", "2"], ["U2", "1"], ["U2", "40"], ["U2", "41"], ["R6", "2"], ["R7", "2"], ["R8", "2"], ["SW2", "2"], ["U6", "4"], ["R10", "2"], ["J1", "S1"], ["R12", "2"], ["C1", "2"], ["C5", "2"], ["C6", "2"], ["J3", "5"], ["SW1", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["C11", "2"], ["C12", "2"], ["C13", "2"], ["C14", "2"], ["C19", "2"], ["R2", "2"], ["C7", "2"], ["J4", "8"], ["R11", "2"], ["D6", "1"], ["C3", "2"], ["C4", "2"], ["C15", "2"], ["C17", "2"], ["C18", "2"], ["J4", "17"]]}, - {name: "vbat", pads: [["Q1", "2"], ["U1", "3"], ["R4", "1"], ["Q3", "2"], ["R3", "1"], ["C1", "1"], ["C3", "1"]]}, - {name: "v3v3", pads: [["TP3", "1"], ["U2", "2"], ["Q4", "2"], ["Q5", "2"], ["R1", "1"], ["C5", "1"], ["C6", "1"], ["J3", "1"], ["R5", "1"], ["L1", "2"], ["C4", "1"]]}, - {name: "batt.pwr", pads: [["J2", "2"], ["TP1", "1"], ["Q1", "3"]]}, - {name: "usb_chain_0.d_P", pads: [["J1", "A6"], ["J1", "B6"], ["U3", "2"], ["U2", "14"]]}, - {name: "usb_chain_0.d_N", pads: [["J1", "A7"], ["J1", "B7"], ["U3", "1"], ["U2", "13"]]}, - {name: "ledr.signal", pads: [["U2", "39"], ["D1", "2"]]}, - {name: "ledg.signal", pads: [["U2", "38"], ["D2", "2"]]}, - {name: "ledb.signal", pads: [["U2", "4"], ["D3", "2"]]}, - {name: "sw.out", pads: [["U2", "5"], ["SW2", "1"]]}, - {name: "vbat_sense_gate.control", pads: [["U2", "6"], ["Q2", "1"]]}, - {name: "vbat_sense_gate.output", pads: [["Q3", "3"], ["R9", "1"]]}, - {name: "vbat_sense.output", pads: [["U2", "7"], ["R9", "2"], ["R10", "1"]]}, - {name: "touch_duck.pad", pads: [["U2", "21"], ["U4", "1"]]}, - {name: "touch_lemur.pad", pads: [["U2", "22"], ["U5", "1"]]}, - {name: "epd_gate.control", pads: [["U2", "10"], ["Q4", "1"]]}, - {name: "mem_gate.control", pads: [["U2", "23"], ["Q5", "1"]]}, - {name: "epd_gate.output", pads: [["Q4", "3"], ["C8", "1"], ["J4", "9"], ["J4", "10"], ["L2", "1"], ["C15", "1"]]}, - {name: "tp_epd.io.sck", pads: [["U2", "33"], ["TP4", "1"], ["J4", "12"]]}, - {name: "tp_epd.io.mosi", pads: [["U2", "35"], ["TP5", "1"], ["J4", "11"]]}, - {name: "tp_epd.io.miso", pads: [["TP6", "1"]]}, - {name: "tp_erst.io", pads: [["U2", "8"], ["TP7", "1"], ["J4", "15"]]}, - {name: "tp_dc.io", pads: [["U2", "31"], ["TP8", "1"], ["J4", "14"]]}, - {name: "tp_epd_cs.io", pads: [["U2", "32"], ["TP9", "1"], ["J4", "13"]]}, - {name: "tp_busy.io", pads: [["U2", "9"], ["TP10", "1"], ["J4", "16"]]}, - {name: "mem_gate.output", pads: [["J5", "4"], ["Q5", "3"], ["U6", "8"], ["U6", "3"], ["U6", "7"], ["C19", "1"]]}, - {name: "tp_sd.io.sck", pads: [["U2", "17"], ["J5", "5"], ["U6", "6"], ["TP11", "1"]]}, - {name: "tp_sd.io.mosi", pads: [["U2", "18"], ["J5", "3"], ["U6", "5"], ["TP12", "1"]]}, - {name: "tp_sd.io.miso", pads: [["U2", "15"], ["J5", "7"], ["U6", "2"], ["TP13", "1"]]}, - {name: "tp_sd_cs.io", pads: [["U2", "19"], ["J5", "2"], ["TP14", "1"]]}, - {name: "flash.cs", pads: [["U2", "20"], ["U6", "1"]]}, - {name: "usb.pwr", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"]]}, - {name: "usb.conn.cc.cc1", pads: [["J1", "A5"]]}, - {name: "usb.conn.cc.cc2", pads: [["J1", "B5"]]}, - {name: "reg_3v3.fb.output", pads: [["U1", "4"], ["R1", "2"], ["R2", "1"]]}, - {name: "reg_3v3.boot_cap.neg", pads: [["C2", "2"], ["U1", "2"], ["L1", "1"]]}, - {name: "reg_3v3.boot_cap.pos", pads: [["C2", "1"], ["U1", "6"]]}, - {name: "reg_3v3.en_res.b", pads: [["R3", "2"], ["U1", "5"]]}, - {name: "vbat_sense_gate.pre.drain", pads: [["Q2", "3"], ["R4", "2"], ["Q3", "1"]]}, - {name: "mcu.program_uart_node.a_tx", pads: [["U2", "37"], ["J3", "3"]]}, - {name: "mcu.program_uart_node.b_tx", pads: [["U2", "36"], ["J3", "4"]]}, - {name: "mcu.program_en_node", pads: [["U2", "3"], ["J3", "6"], ["R5", "2"], ["C7", "1"]]}, - {name: "mcu.program_boot_node", pads: [["U2", "27"], ["SW1", "1"], ["J3", "2"]]}, - {name: "ledr.res.a", pads: [["R6", "1"], ["D1", "1"]]}, - {name: "ledg.res.a", pads: [["R7", "1"], ["D2", "1"]]}, - {name: "ledb.res.a", pads: [["R8", "1"], ["D3", "1"]]}, - {name: "epd.device.vdd1v8", pads: [["J4", "7"], ["C9", "1"]]}, - {name: "epd.device.vgl", pads: [["J4", "21"], ["C10", "1"]]}, - {name: "epd.device.vgh", pads: [["J4", "20"], ["C11", "1"]]}, - {name: "epd.device.vsh", pads: [["J4", "5"], ["C12", "1"]]}, - {name: "epd.device.vsl", pads: [["J4", "3"], ["C13", "1"]]}, - {name: "epd.device.vcom", pads: [["J4", "1"], ["C14", "1"]]}, - {name: "epd.device.gdr", pads: [["J4", "23"], ["R12", "1"], ["Q6", "1"]]}, - {name: "epd.device.rese", pads: [["J4", "22"], ["Q6", "2"], ["R11", "1"]]}, - {name: "epd.boost.pos_out", pads: [["J4", "4"], ["D4", "1"], ["C17", "1"]]}, - {name: "epd.boost.neg_out", pads: [["J4", "2"], ["D5", "2"], ["C18", "1"]]}, - {name: "epd.boost.inductor.b", pads: [["L2", "2"], ["Q6", "3"], ["D4", "2"], ["C16", "1"]]}, - {name: "epd.boost.boot_cap.neg", pads: [["C16", "2"], ["D5", "1"], ["D6", "2"]]} -]) - -const limit0 = pt(-0.07874015748031496, -0.07874015748031496); -const limit1 = pt(3.746456692913387, 2.4618110236220474); -const xMin = Math.min(limit0[0], limit1[0]); -const xMax = Math.max(limit0[0], limit1[0]); -const yMin = Math.min(limit0[1], limit1[1]); -const yMax = Math.max(limit0[1], limit1[1]); - -const filletRadius = 0.1; -const outline = path( - [(xMin+xMax/2), yMax], - ["fillet", filletRadius, [xMax, yMax]], - ["fillet", filletRadius, [xMax, yMin]], - ["fillet", filletRadius, [xMin, yMin]], - ["fillet", filletRadius, [xMin, yMax]], - [(xMin+xMax/2), yMax], -); -board.addShape("outline", outline); - -renderPCB({ - pcb: board, - layerColors: { - "F.Paste": "#000000ff", - "F.Mask": "#000000ff", - "B.Mask": "#000000ff", - "componentLabels": "#00e5e5e5", - "outline": "#002d00ff", - "padLabels": "#ffff99e5", - "B.Cu": "#ef4e4eff", - "F.Cu": "#ff8c00cc", - }, - limits: { - x: [xMin, xMax], - y: [yMin, yMax] - }, - background: "#00000000", - mmPerUnit: 25.4 -}) - - diff --git a/examples/IotFan/IotFan.net b/examples/IotFan/IotFan.net deleted file mode 100644 index 2b1d7c03e..000000000 --- a/examples/IotFan/IotFan.net +++ /dev/null @@ -1,1191 +0,0 @@ -(export (version D) -(components -(comp (ref "FH1") - (value "jlc_th.th1") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th1")) - (property (name "edg_short_path") (value "jlc_th.th1")) - (property (name "edg_refdes") (value "FH1")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "0260010e")) -(comp (ref "FH2") - (value "jlc_th.th2") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th2")) - (property (name "edg_short_path") (value "jlc_th.th2")) - (property (name "edg_refdes") (value "FH2")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "0261010f")) -(comp (ref "FH3") - (value "jlc_th.th3") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th3")) - (property (name "edg_short_path") (value "jlc_th.th3")) - (property (name "edg_refdes") (value "FH3")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "02620110")) -(comp (ref "FJ1") - (value "pwr") - (footprint "Connector_BarrelJack:BarrelJack_CUI_PJ-036AH-SMT_Horizontal") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "pwr")) - (property (name "edg_short_path") (value "pwr")) - (property (name "edg_refdes") (value "FJ1")) - (property (name "edg_part") (value "PJ-036AH-SMT (CUI Devices)")) - (property (name "edg_value") (value "PJ-036AH-SMT")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "02b3015a")) -(comp (ref "FTP1") - (value "tp_pwr") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_pwr.tp")) - (property (name "edg_short_path") (value "tp_pwr")) - (property (name "edg_refdes") (value "FTP1")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "v12")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "091a029d")) -(comp (ref "FTP2") - (value "tp_gnd") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_gnd.tp")) - (property (name "edg_short_path") (value "tp_gnd")) - (property (name "edg_refdes") (value "FTP2")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "gnd")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "08df027d")) -(comp (ref "FU1") - (value "reg_5v.ic") - (footprint "Package_TO_SOT_SMD:SOT-23-6") - (property (name "Sheetname") (value "reg_5v")) - (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) - (property (name "edg_path") (value "reg_5v.ic")) - (property (name "edg_short_path") (value "reg_5v.ic")) - (property (name "edg_refdes") (value "FU1")) - (property (name "edg_part") (value "TPS54202H (Texas Instruments)")) - (property (name "edg_value") (value "TPS54202H")) - (sheetpath (names "/reg_5v/") (tstamps "/08440249/")) - (tstamps "013700cd")) -(comp (ref "FR1") - (value "reg_5v.fb.top_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "fb")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) - (property (name "edg_path") (value "reg_5v.fb.div.top_res")) - (property (name "edg_short_path") (value "reg_5v.fb.top_res")) - (property (name "edg_refdes") (value "FR1")) - (property (name "edg_part") (value "0603WAF6801T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 6.8kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/reg_5v/fb/") (tstamps "/08440249/013000c9/")) - (tstamps "0c0c02fd")) -(comp (ref "FR2") - (value "reg_5v.fb.bottom_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "fb")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) - (property (name "edg_path") (value "reg_5v.fb.div.bottom_res")) - (property (name "edg_short_path") (value "reg_5v.fb.bottom_res")) - (property (name "edg_refdes") (value "FR2")) - (property (name "edg_part") (value "0603WAF1201T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1.2kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/reg_5v/fb/") (tstamps "/08440249/013000c9/")) - (tstamps "175b043f")) -(comp (ref "FC1") - (value "reg_5v.hf_in_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "reg_5v")) - (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) - (property (name "edg_path") (value "reg_5v.hf_in_cap.cap")) - (property (name "edg_short_path") (value "reg_5v.hf_in_cap")) - (property (name "edg_refdes") (value "FC1")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_5v/") (tstamps "/08440249/")) - (tstamps "11ed0398")) -(comp (ref "FC2") - (value "reg_5v.boot_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "reg_5v")) - (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) - (property (name "edg_path") (value "reg_5v.boot_cap")) - (property (name "edg_short_path") (value "reg_5v.boot_cap")) - (property (name "edg_refdes") (value "FC2")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_5v/") (tstamps "/08440249/")) - (tstamps "0ed60348")) -(comp (ref "FL1") - (value "reg_5v.power_path.inductor") - (footprint "Inductor_SMD:L_Sunlord_SWPA4030S") - (property (name "Sheetname") (value "power_path")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) - (property (name "edg_path") (value "reg_5v.power_path.inductor")) - (property (name "edg_short_path") (value "reg_5v.power_path.inductor")) - (property (name "edg_refdes") (value "FL1")) - (property (name "edg_part") (value "SWPA4030S150MT (Sunlord)")) - (property (name "edg_value") (value "1.11A 15uH ±20% 247mΩ SMD Power Inductors ROHS")) - (sheetpath (names "/reg_5v/power_path/") (tstamps "/08440249/1786043a/")) - (tstamps "0f2b0369")) -(comp (ref "FC3") - (value "reg_5v.power_path.in_cap") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "power_path")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) - (property (name "edg_path") (value "reg_5v.power_path.in_cap.cap")) - (property (name "edg_short_path") (value "reg_5v.power_path.in_cap")) - (property (name "edg_refdes") (value "FC3")) - (property (name "edg_part") (value "CL31A106KBHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 10uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_5v/power_path/") (tstamps "/08440249/1786043a/")) - (tstamps "0879026b")) -(comp (ref "FC4") - (value "reg_5v.power_path.out_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "power_path")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) - (property (name "edg_path") (value "reg_5v.power_path.out_cap.cap")) - (property (name "edg_short_path") (value "reg_5v.power_path.out_cap")) - (property (name "edg_refdes") (value "FC4")) - (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_5v/power_path/") (tstamps "/08440249/1786043a/")) - (tstamps "0be902ec")) -(comp (ref "FR3") - (value "reg_5v.en_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "reg_5v")) - (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) - (property (name "edg_path") (value "reg_5v.en_res")) - (property (name "edg_short_path") (value "reg_5v.en_res")) - (property (name "edg_refdes") (value "FR3")) - (property (name "edg_part") (value "0603WAF5103T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 510kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/reg_5v/") (tstamps "/08440249/")) - (tstamps "0899027d")) -(comp (ref "FTP3") - (value "tp_5v") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_5v.tp")) - (property (name "edg_short_path") (value "tp_5v")) - (property (name "edg_refdes") (value "FTP3")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "v5")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "060601ef")) -(comp (ref "FD1") - (value "prot_5v") - (footprint "Diode_SMD:D_SOD-323") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "prot_5v.diode")) - (property (name "edg_short_path") (value "prot_5v")) - (property (name "edg_refdes") (value "FD1")) - (property (name "edg_part") (value "BZT52C6V2S (Shandong Jingdao Microelectronics)")) - (property (name "edg_value") (value "3μA@4V 10Ω Single 5.8V~6.6V 200mW 6.2V SOD-323 Zener Diodes ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0bbb02d0")) -(comp (ref "FU2") - (value "reg_3v3.ic") - (footprint "Package_TO_SOT_SMD:SOT-89-3") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap7215")) - (property (name "edg_path") (value "reg_3v3.ic")) - (property (name "edg_short_path") (value "reg_3v3.ic")) - (property (name "edg_refdes") (value "FU2")) - (property (name "edg_part") (value "AP7215-33YG-13 (Diodes Incorporated)")) - (property (name "edg_value") (value "AP7215-33YG-13")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "013700cd")) -(comp (ref "FC5") - (value "reg_3v3.in_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap7215")) - (property (name "edg_path") (value "reg_3v3.in_cap.cap")) - (property (name "edg_short_path") (value "reg_3v3.in_cap")) - (property (name "edg_refdes") (value "FC5")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "0879026b")) -(comp (ref "FC6") - (value "reg_3v3.out_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap7215")) - (property (name "edg_path") (value "reg_3v3.out_cap.cap")) - (property (name "edg_short_path") (value "reg_3v3.out_cap")) - (property (name "edg_refdes") (value "FC6")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "0be902ec")) -(comp (ref "FTP4") - (value "tp_3v3") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_3v3.tp")) - (property (name "edg_short_path") (value "tp_3v3")) - (property (name "edg_refdes") (value "FTP4")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "v3v3")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "08220220")) -(comp (ref "FD2") - (value "prot_3v3") - (footprint "Diode_SMD:D_SOD-323") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "prot_3v3.diode")) - (property (name "edg_short_path") (value "prot_3v3")) - (property (name "edg_refdes") (value "FD2")) - (property (name "edg_part") (value "BZT52B3V6S (SMC(Sangdest Microelectronicstronic (Nanjing)))")) - (property (name "edg_value") (value "5μA@1V 90Ω Single 3.53V~3.67V 200mW 3.6V SOD-323 Zener Diodes ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0eb80301")) -(comp (ref "FU3") - (value "mcu.ic") - (footprint "Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.65x3.65mm") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) - (property (name "edg_path") (value "mcu.ic")) - (property (name "edg_short_path") (value "mcu.ic")) - (property (name "edg_refdes") (value "FU3")) - (property (name "edg_part") (value "ESP32-C3FH4 (Espressif Systems)")) - (property (name "edg_value") (value "ESP32-C3FH4")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "013700cd")) -(comp (ref "FC7") - (value "mcu.vdd_bulk_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) - (property (name "edg_path") (value "mcu.vdd_bulk_cap.cap")) - (property (name "edg_short_path") (value "mcu.vdd_bulk_cap")) - (property (name "edg_refdes") (value "FC7")) - (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "1fd804df")) -(comp (ref "FC8") - (value "mcu.vdda_cap0") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) - (property (name "edg_path") (value "mcu.vdda_cap0.cap")) - (property (name "edg_short_path") (value "mcu.vdda_cap0")) - (property (name "edg_refdes") (value "FC8")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "11eb0363")) -(comp (ref "FC9") - (value "mcu.vdda_cap1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) - (property (name "edg_path") (value "mcu.vdda_cap1.cap")) - (property (name "edg_short_path") (value "mcu.vdda_cap1")) - (property (name "edg_refdes") (value "FC9")) - (property (name "edg_part") (value "0603B103K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 10nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "11ec0364")) -(comp (ref "FC10") - (value "mcu.vddrtc_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) - (property (name "edg_path") (value "mcu.vddrtc_cap.cap")) - (property (name "edg_short_path") (value "mcu.vddrtc_cap")) - (property (name "edg_refdes") (value "FC10")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "16e6041b")) -(comp (ref "FC11") - (value "mcu.vddcpu_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) - (property (name "edg_path") (value "mcu.vddcpu_cap.cap")) - (property (name "edg_short_path") (value "mcu.vddcpu_cap")) - (property (name "edg_refdes") (value "FC11")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "16bf041a")) -(comp (ref "FC12") - (value "mcu.vddspi_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) - (property (name "edg_path") (value "mcu.vddspi_cap.cap")) - (property (name "edg_short_path") (value "mcu.vddspi_cap")) - (property (name "edg_refdes") (value "FC12")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "16f3041e")) -(comp (ref "FANT1") - (value "mcu.ant") - (footprint "Diode_SMD:D_1206_3216Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) - (property (name "edg_path") (value "mcu.ant")) - (property (name "edg_short_path") (value "mcu.ant")) - (property (name "edg_refdes") (value "FANT1")) - (property (name "edg_part") (value "ANT3216LL00R2400A (YAGEO)")) - (property (name "edg_value") (value "1206 Antennas ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "02760144")) -(comp (ref "FC13") - (value "mcu.pi.c1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "pi")) - (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.PiLowPassFilter")) - (property (name "edg_path") (value "mcu.pi.c1")) - (property (name "edg_short_path") (value "mcu.pi.c1")) - (property (name "edg_refdes") (value "FC13")) - (property (name "edg_part") (value "0603CG8R2C500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 8.2pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/pi/") (tstamps "/02850146/014b00da/")) - (tstamps "00f90095")) -(comp (ref "FC14") - (value "mcu.pi.c2") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "pi")) - (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.PiLowPassFilter")) - (property (name "edg_path") (value "mcu.pi.c2")) - (property (name "edg_short_path") (value "mcu.pi.c2")) - (property (name "edg_refdes") (value "FC14")) - (property (name "edg_part") (value "0603CG6R8C500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 6.8pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/pi/") (tstamps "/02850146/014b00da/")) - (tstamps "00fa0096")) -(comp (ref "FL2") - (value "mcu.pi.l") - (footprint "Inductor_SMD:L_0603_1608Metric") - (property (name "Sheetname") (value "pi")) - (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.PiLowPassFilter")) - (property (name "edg_path") (value "mcu.pi.l")) - (property (name "edg_short_path") (value "mcu.pi.l")) - (property (name "edg_refdes") (value "FL2")) - (property (name "edg_part") (value "SDCL1608C1N2STDF (Sunlord)")) - (property (name "edg_value") (value "500mA 1.2nH ±5% 50mΩ 0603 Inductors (SMD) ROHS")) - (sheetpath (names "/mcu/pi/") (tstamps "/02850146/014b00da/")) - (tstamps "006d006d")) -(comp (ref "FC15") - (value "mcu.vdd3p3_l_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) - (property (name "edg_path") (value "mcu.vdd3p3_l_cap.cap")) - (property (name "edg_short_path") (value "mcu.vdd3p3_l_cap")) - (property (name "edg_refdes") (value "FC15")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "1ca50473")) -(comp (ref "FC16") - (value "mcu.vdd3p3_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) - (property (name "edg_path") (value "mcu.vdd3p3_cap.cap")) - (property (name "edg_short_path") (value "mcu.vdd3p3_cap")) - (property (name "edg_refdes") (value "FC16")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "142503a8")) -(comp (ref "FL3") - (value "mcu.vdd3p3_l") - (footprint "Inductor_SMD:L_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) - (property (name "edg_path") (value "mcu.vdd3p3_l.ind")) - (property (name "edg_short_path") (value "mcu.vdd3p3_l")) - (property (name "edg_refdes") (value "FL3")) - (property (name "edg_part") (value "SDCL1608C1N8STDF (Sunlord)")) - (property (name "edg_value") (value "500mA 1.8nH ±10% 100mΩ 0603 Inductors (SMD) ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "0d4e02e0")) -(comp (ref "FX1") - (value "mcu.crystal.package") - (footprint "Crystal:Crystal_SMD_2520-4Pin_2.5x2.0mm") - (property (name "Sheetname") (value "crystal")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) - (property (name "edg_path") (value "mcu.crystal.package")) - (property (name "edg_short_path") (value "mcu.crystal.package")) - (property (name "edg_refdes") (value "FX1")) - (property (name "edg_part") (value "TXM40M0004252HBCEO00T (TAE(Zhejiang Abel Elec))")) - (property (name "edg_value") (value "SMD2520-4P Crystals ROHS")) - (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) - (tstamps "0b4e02cd")) -(comp (ref "FC17") - (value "mcu.crystal.cap_a") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "crystal")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) - (property (name "edg_path") (value "mcu.crystal.cap_a")) - (property (name "edg_short_path") (value "mcu.crystal.cap_a")) - (property (name "edg_refdes") (value "FC17")) - (property (name "edg_part") (value "CL10C150JB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 15pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) - (tstamps "05e701f5")) -(comp (ref "FC18") - (value "mcu.crystal.cap_b") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "crystal")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) - (property (name "edg_path") (value "mcu.crystal.cap_b")) - (property (name "edg_short_path") (value "mcu.crystal.cap_b")) - (property (name "edg_refdes") (value "FC18")) - (property (name "edg_part") (value "CL10C150JB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 15pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) - (tstamps "05e801f6")) -(comp (ref "FJ2") - (value "mcu.prog") - (footprint "Connector:Tag-Connect_TC2030-IDC-NL_2x03_P1.27mm_Vertical") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) - (property (name "edg_path") (value "mcu.prog.conn")) - (property (name "edg_short_path") (value "mcu.prog")) - (property (name "edg_refdes") (value "FJ2")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "045f01b9")) -(comp (ref "FR4") - (value "mcu.en_pull.r") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "en_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) - (property (name "edg_path") (value "mcu.en_pull.rc.r")) - (property (name "edg_short_path") (value "mcu.en_pull.r")) - (property (name "edg_refdes") (value "FR4")) - (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) - (tstamps "00730073")) -(comp (ref "FC19") - (value "mcu.en_pull.c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "en_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) - (property (name "edg_path") (value "mcu.en_pull.rc.c")) - (property (name "edg_short_path") (value "mcu.en_pull.c")) - (property (name "edg_refdes") (value "FC19")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) - (tstamps "00640064")) -(comp (ref "FD3") - (value "ledr.package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "ledr")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkLedResistor")) - (property (name "edg_path") (value "ledr.package")) - (property (name "edg_short_path") (value "ledr.package")) - (property (name "edg_refdes") (value "FD3")) - (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) - (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) - (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) - (tstamps "0b4e02cd")) -(comp (ref "FR5") - (value "ledr.res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "ledr")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkLedResistor")) - (property (name "edg_path") (value "ledr.res")) - (property (name "edg_short_path") (value "ledr.res")) - (property (name "edg_refdes") (value "FR5")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) - (tstamps "0296014b")) -(comp (ref "FSW1") - (value "enc") - (footprint "edg:RotaryEncoder_Alps_EC11J15-Switch") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "enc.package")) - (property (name "edg_short_path") (value "enc")) - (property (name "edg_refdes") (value "FSW1")) - (property (name "edg_part") (value "EC11J1525402 (Alps Alpine)")) - (property (name "edg_value") (value "EC11J1525402")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "02710137")) -(comp (ref "FR6") - (value "v12_sense.top_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "v12_sense")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) - (property (name "edg_path") (value "v12_sense.div.top_res")) - (property (name "edg_short_path") (value "v12_sense.top_res")) - (property (name "edg_refdes") (value "FR6")) - (property (name "edg_part") (value "0603WAF4702T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 47kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/v12_sense/") (tstamps "/0fb70357/")) - (tstamps "0c0c02fd")) -(comp (ref "FR7") - (value "v12_sense.bottom_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "v12_sense")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) - (property (name "edg_path") (value "v12_sense.div.bottom_res")) - (property (name "edg_short_path") (value "v12_sense.bottom_res")) - (property (name "edg_refdes") (value "FR7")) - (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/v12_sense/") (tstamps "/0fb70357/")) - (tstamps "175b043f")) -(comp (ref "FD4") - (value "rgb_ring.led[0]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[0]")) - (property (name "edg_short_path") (value "rgb_ring.led[0]")) - (property (name "edg_refdes") (value "FD4")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07e5021e")) -(comp (ref "FD5") - (value "rgb_ring.led[1]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[1]")) - (property (name "edg_short_path") (value "rgb_ring.led[1]")) - (property (name "edg_refdes") (value "FD5")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07e7021f")) -(comp (ref "FD6") - (value "rgb_ring.led[2]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[2]")) - (property (name "edg_short_path") (value "rgb_ring.led[2]")) - (property (name "edg_refdes") (value "FD6")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07e90220")) -(comp (ref "FD7") - (value "rgb_ring.led[3]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[3]")) - (property (name "edg_short_path") (value "rgb_ring.led[3]")) - (property (name "edg_refdes") (value "FD7")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07eb0221")) -(comp (ref "FD8") - (value "rgb_ring.led[4]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[4]")) - (property (name "edg_short_path") (value "rgb_ring.led[4]")) - (property (name "edg_refdes") (value "FD8")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07ed0222")) -(comp (ref "FD9") - (value "rgb_ring.led[5]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[5]")) - (property (name "edg_short_path") (value "rgb_ring.led[5]")) - (property (name "edg_refdes") (value "FD9")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07ef0223")) -(comp (ref "FD10") - (value "rgb_ring.led[6]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[6]")) - (property (name "edg_short_path") (value "rgb_ring.led[6]")) - (property (name "edg_refdes") (value "FD10")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07f10224")) -(comp (ref "FD11") - (value "rgb_ring.led[7]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[7]")) - (property (name "edg_short_path") (value "rgb_ring.led[7]")) - (property (name "edg_refdes") (value "FD11")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07f30225")) -(comp (ref "FD12") - (value "rgb_ring.led[8]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[8]")) - (property (name "edg_short_path") (value "rgb_ring.led[8]")) - (property (name "edg_refdes") (value "FD12")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07f50226")) -(comp (ref "FD13") - (value "rgb_ring.led[9]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[9]")) - (property (name "edg_short_path") (value "rgb_ring.led[9]")) - (property (name "edg_refdes") (value "FD13")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07f70227")) -(comp (ref "FD14") - (value "rgb_ring.led[10]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[10]")) - (property (name "edg_short_path") (value "rgb_ring.led[10]")) - (property (name "edg_refdes") (value "FD14")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a09024f")) -(comp (ref "FD15") - (value "rgb_ring.led[11]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[11]")) - (property (name "edg_short_path") (value "rgb_ring.led[11]")) - (property (name "edg_refdes") (value "FD15")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a0b0250")) -(comp (ref "FD16") - (value "rgb_ring.led[12]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[12]")) - (property (name "edg_short_path") (value "rgb_ring.led[12]")) - (property (name "edg_refdes") (value "FD16")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a0d0251")) -(comp (ref "FD17") - (value "rgb_ring.led[13]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[13]")) - (property (name "edg_short_path") (value "rgb_ring.led[13]")) - (property (name "edg_refdes") (value "FD17")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a0f0252")) -(comp (ref "FD18") - (value "rgb_ring.led[14]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[14]")) - (property (name "edg_short_path") (value "rgb_ring.led[14]")) - (property (name "edg_refdes") (value "FD18")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a110253")) -(comp (ref "FD19") - (value "rgb_ring.led[15]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[15]")) - (property (name "edg_short_path") (value "rgb_ring.led[15]")) - (property (name "edg_refdes") (value "FD19")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a130254")) -(comp (ref "FD20") - (value "rgb_ring.led[16]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[16]")) - (property (name "edg_short_path") (value "rgb_ring.led[16]")) - (property (name "edg_refdes") (value "FD20")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a150255")) -(comp (ref "FD21") - (value "rgb_ring.led[17]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) - (property (name "edg_path") (value "rgb_ring.led[17]")) - (property (name "edg_short_path") (value "rgb_ring.led[17]")) - (property (name "edg_refdes") (value "FD21")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a170256")) -(comp (ref "FJ3") - (value "fan[0]") - (footprint "Connector:FanPinHeader_1x04_P2.54mm_Vertical") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "fan[0]")) - (property (name "edg_short_path") (value "fan[0]")) - (property (name "edg_refdes") (value "FJ3")) - (property (name "edg_part") (value "4-pin CPU fan connector")) - (property (name "edg_value") (value "4-pin CPU fan connector")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "07d5021e")) -(comp (ref "FQ1") - (value "fan_drv[0].pre") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "fan_drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "fan_drv[0].pre")) - (property (name "edg_short_path") (value "fan_drv[0].pre")) - (property (name "edg_refdes") (value "FQ1")) - (property (name "edg_part") (value "AO3400A (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 5.7A 26.5mΩ@10V,5.7A 1.4W 1.5V@250μA N Channel SOT-23-3L MOSFETs ROHS")) - (sheetpath (names "/fan_drv[0]/") (tstamps "/15b003c9/")) - (tstamps "029c0148")) -(comp (ref "FR8") - (value "fan_drv[0].pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "fan_drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "fan_drv[0].pull")) - (property (name "edg_short_path") (value "fan_drv[0].pull")) - (property (name "edg_refdes") (value "FR8")) - (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/fan_drv[0]/") (tstamps "/15b003c9/")) - (tstamps "046701be")) -(comp (ref "FQ2") - (value "fan_drv[0].drv") - (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") - (property (name "Sheetname") (value "fan_drv[0]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "fan_drv[0].drv")) - (property (name "edg_short_path") (value "fan_drv[0].drv")) - (property (name "edg_refdes") (value "FQ2")) - (property (name "edg_part") (value "AO4407A (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 12A 3.1W 11mΩ@20V,12A 3V@250μA P Channel SOIC-8_150mil MOSFETs ROHS")) - (sheetpath (names "/fan_drv[0]/") (tstamps "/15b003c9/")) - (tstamps "0289014d")) -(comp (ref "FQ3") - (value "fan_ctl[0]") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "fan_ctl[0].drv")) - (property (name "edg_short_path") (value "fan_ctl[0]")) - (property (name "edg_refdes") (value "FQ3")) - (property (name "edg_part") (value "AO3400A (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 5.7A 26.5mΩ@10V,5.7A 1.4W 1.5V@250μA N Channel SOT-23-3L MOSFETs ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "158c03c0")) -(comp (ref "FJ4") - (value "fan[1]") - (footprint "Connector:FanPinHeader_1x04_P2.54mm_Vertical") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "fan[1]")) - (property (name "edg_short_path") (value "fan[1]")) - (property (name "edg_refdes") (value "FJ4")) - (property (name "edg_part") (value "4-pin CPU fan connector")) - (property (name "edg_value") (value "4-pin CPU fan connector")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "07d7021f")) -(comp (ref "FQ4") - (value "fan_drv[1].pre") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "fan_drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "fan_drv[1].pre")) - (property (name "edg_short_path") (value "fan_drv[1].pre")) - (property (name "edg_refdes") (value "FQ4")) - (property (name "edg_part") (value "AO3400A (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 5.7A 26.5mΩ@10V,5.7A 1.4W 1.5V@250μA N Channel SOT-23-3L MOSFETs ROHS")) - (sheetpath (names "/fan_drv[1]/") (tstamps "/15b203ca/")) - (tstamps "029c0148")) -(comp (ref "FR9") - (value "fan_drv[1].pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "fan_drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "fan_drv[1].pull")) - (property (name "edg_short_path") (value "fan_drv[1].pull")) - (property (name "edg_refdes") (value "FR9")) - (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/fan_drv[1]/") (tstamps "/15b203ca/")) - (tstamps "046701be")) -(comp (ref "FQ5") - (value "fan_drv[1].drv") - (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") - (property (name "Sheetname") (value "fan_drv[1]")) - (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) - (property (name "edg_path") (value "fan_drv[1].drv")) - (property (name "edg_short_path") (value "fan_drv[1].drv")) - (property (name "edg_refdes") (value "FQ5")) - (property (name "edg_part") (value "AO4407A (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 12A 3.1W 11mΩ@20V,12A 3V@250μA P Channel SOIC-8_150mil MOSFETs ROHS")) - (sheetpath (names "/fan_drv[1]/") (tstamps "/15b203ca/")) - (tstamps "0289014d")) -(comp (ref "FQ6") - (value "fan_ctl[1]") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "fan_ctl[1].drv")) - (property (name "edg_short_path") (value "fan_ctl[1]")) - (property (name "edg_refdes") (value "FQ6")) - (property (name "edg_part") (value "AO3400A (Alpha & Omega Semicon)")) - (property (name "edg_value") (value "30V 5.7A 26.5mΩ@10V,5.7A 1.4W 1.5V@250μA N Channel SOT-23-3L MOSFETs ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "158e03c1"))) -(nets -(net (code 1) (name "Fv12") - (node (ref FJ1) (pin 1)) - (node (ref FTP1) (pin 1)) - (node (ref FU1) (pin 3)) - (node (ref FR8) (pin 1)) - (node (ref FQ2) (pin 1)) - (node (ref FQ2) (pin 2)) - (node (ref FQ2) (pin 3)) - (node (ref FR9) (pin 1)) - (node (ref FQ5) (pin 1)) - (node (ref FQ5) (pin 2)) - (node (ref FQ5) (pin 3)) - (node (ref FR6) (pin 1)) - (node (ref FR3) (pin 1)) - (node (ref FC1) (pin 1)) - (node (ref FC3) (pin 1))) -(net (code 2) (name "Fgnd") - (node (ref FJ1) (pin 2)) - (node (ref FJ3) (pin 1)) - (node (ref FJ4) (pin 1)) - (node (ref FTP2) (pin 1)) - (node (ref FU1) (pin 1)) - (node (ref FD1) (pin 2)) - (node (ref FU2) (pin 1)) - (node (ref FD2) (pin 2)) - (node (ref FU3) (pin 33)) - (node (ref FSW1) (pin C)) - (node (ref FSW1) (pin S2)) - (node (ref FD4) (pin 4)) - (node (ref FD5) (pin 4)) - (node (ref FD6) (pin 4)) - (node (ref FD7) (pin 4)) - (node (ref FD8) (pin 4)) - (node (ref FD9) (pin 4)) - (node (ref FD10) (pin 4)) - (node (ref FD11) (pin 4)) - (node (ref FD12) (pin 4)) - (node (ref FD13) (pin 4)) - (node (ref FD14) (pin 4)) - (node (ref FD15) (pin 4)) - (node (ref FD16) (pin 4)) - (node (ref FD17) (pin 4)) - (node (ref FD18) (pin 4)) - (node (ref FD19) (pin 4)) - (node (ref FD20) (pin 4)) - (node (ref FD21) (pin 4)) - (node (ref FQ1) (pin 2)) - (node (ref FQ3) (pin 2)) - (node (ref FQ4) (pin 2)) - (node (ref FQ6) (pin 2)) - (node (ref FR7) (pin 2)) - (node (ref FC1) (pin 2)) - (node (ref FC5) (pin 2)) - (node (ref FC6) (pin 2)) - (node (ref FC7) (pin 2)) - (node (ref FC8) (pin 2)) - (node (ref FC9) (pin 2)) - (node (ref FC10) (pin 2)) - (node (ref FC11) (pin 2)) - (node (ref FC12) (pin 2)) - (node (ref FC15) (pin 2)) - (node (ref FC16) (pin 2)) - (node (ref FX1) (pin 2)) - (node (ref FX1) (pin 4)) - (node (ref FJ2) (pin 5)) - (node (ref FR2) (pin 2)) - (node (ref FC19) (pin 2)) - (node (ref FC13) (pin 2)) - (node (ref FC14) (pin 2)) - (node (ref FC17) (pin 2)) - (node (ref FC18) (pin 2)) - (node (ref FC3) (pin 2)) - (node (ref FC4) (pin 2))) -(net (code 3) (name "Fv5") - (node (ref FTP3) (pin 1)) - (node (ref FD1) (pin 1)) - (node (ref FU2) (pin 2)) - (node (ref FD4) (pin 2)) - (node (ref FD5) (pin 2)) - (node (ref FD6) (pin 2)) - (node (ref FD7) (pin 2)) - (node (ref FD8) (pin 2)) - (node (ref FD9) (pin 2)) - (node (ref FD10) (pin 2)) - (node (ref FD11) (pin 2)) - (node (ref FD12) (pin 2)) - (node (ref FD13) (pin 2)) - (node (ref FD14) (pin 2)) - (node (ref FD15) (pin 2)) - (node (ref FD16) (pin 2)) - (node (ref FD17) (pin 2)) - (node (ref FD18) (pin 2)) - (node (ref FD19) (pin 2)) - (node (ref FD20) (pin 2)) - (node (ref FD21) (pin 2)) - (node (ref FR1) (pin 1)) - (node (ref FC5) (pin 1)) - (node (ref FL1) (pin 2)) - (node (ref FC4) (pin 1))) -(net (code 4) (name "Fv3v3") - (node (ref FU2) (pin 3)) - (node (ref FTP4) (pin 1)) - (node (ref FD2) (pin 1)) - (node (ref FU3) (pin 31)) - (node (ref FU3) (pin 32)) - (node (ref FU3) (pin 11)) - (node (ref FU3) (pin 17)) - (node (ref FU3) (pin 18)) - (node (ref FD3) (pin 2)) - (node (ref FC6) (pin 1)) - (node (ref FU3) (pin 14)) - (node (ref FC7) (pin 1)) - (node (ref FC8) (pin 1)) - (node (ref FC9) (pin 1)) - (node (ref FC10) (pin 1)) - (node (ref FC11) (pin 1)) - (node (ref FC12) (pin 1)) - (node (ref FC15) (pin 1)) - (node (ref FL3) (pin 1)) - (node (ref FJ2) (pin 1)) - (node (ref FR4) (pin 1))) -(net (code 5) (name "Fmcu.program_boot_node") - (node (ref FR5) (pin 2)) - (node (ref FU3) (pin 15)) - (node (ref FJ2) (pin 2))) -(net (code 6) (name "Fenc.a") - (node (ref FU3) (pin 26)) - (node (ref FSW1) (pin A))) -(net (code 7) (name "Fenc.b") - (node (ref FU3) (pin 16)) - (node (ref FSW1) (pin B))) -(net (code 8) (name "Fenc.sw") - (node (ref FU3) (pin 25)) - (node (ref FSW1) (pin S1))) -(net (code 9) (name "Fv12_sense.output") - (node (ref FU3) (pin 4)) - (node (ref FR6) (pin 2)) - (node (ref FR7) (pin 1))) -(net (code 10) (name "Frgb_ring.din") - (node (ref FU3) (pin 6)) - (node (ref FD4) (pin 1))) -(net (code 11) (name "Ffan[0].pwr") - (node (ref FJ3) (pin 2)) - (node (ref FQ2) (pin 5)) - (node (ref FQ2) (pin 6)) - (node (ref FQ2) (pin 7)) - (node (ref FQ2) (pin 8))) -(net (code 12) (name "Ffan_drv[0].control") - (node (ref FU3) (pin 5)) - (node (ref FQ1) (pin 1))) -(net (code 13) (name "Ffan[0].sense") - (node (ref FJ3) (pin 3)) - (node (ref FU3) (pin 9))) -(net (code 14) (name "Ffan_ctl[0].control") - (node (ref FU3) (pin 8)) - (node (ref FQ3) (pin 1))) -(net (code 15) (name "Ffan_ctl[0].output") - (node (ref FJ3) (pin 4)) - (node (ref FQ3) (pin 3))) -(net (code 16) (name "Ffan[1].pwr") - (node (ref FJ4) (pin 2)) - (node (ref FQ5) (pin 5)) - (node (ref FQ5) (pin 6)) - (node (ref FQ5) (pin 7)) - (node (ref FQ5) (pin 8))) -(net (code 17) (name "Ffan_drv[1].control") - (node (ref FU3) (pin 10)) - (node (ref FQ4) (pin 1))) -(net (code 18) (name "Ffan[1].sense") - (node (ref FJ4) (pin 3)) - (node (ref FU3) (pin 12))) -(net (code 19) (name "Ffan_ctl[1].control") - (node (ref FU3) (pin 13)) - (node (ref FQ6) (pin 1))) -(net (code 20) (name "Ffan_ctl[1].output") - (node (ref FJ4) (pin 4)) - (node (ref FQ6) (pin 3))) -(net (code 21) (name "Freg_5v.fb.output") - (node (ref FU1) (pin 4)) - (node (ref FR1) (pin 2)) - (node (ref FR2) (pin 1))) -(net (code 22) (name "Freg_5v.boot_cap.neg") - (node (ref FC2) (pin 2)) - (node (ref FU1) (pin 2)) - (node (ref FL1) (pin 1))) -(net (code 23) (name "Freg_5v.boot_cap.pos") - (node (ref FC2) (pin 1)) - (node (ref FU1) (pin 6))) -(net (code 24) (name "Freg_5v.en_res.b") - (node (ref FR3) (pin 2)) - (node (ref FU1) (pin 5))) -(net (code 25) (name "Fmcu.xtal_node.xi") - (node (ref FU3) (pin 30)) - (node (ref FX1) (pin 1)) - (node (ref FC17) (pin 1))) -(net (code 26) (name "Fmcu.xtal_node.xo") - (node (ref FU3) (pin 29)) - (node (ref FX1) (pin 3)) - (node (ref FC18) (pin 1))) -(net (code 27) (name "Fmcu.program_uart_node.a_tx") - (node (ref FU3) (pin 28)) - (node (ref FJ2) (pin 3))) -(net (code 28) (name "Fmcu.program_uart_node.b_tx") - (node (ref FU3) (pin 27)) - (node (ref FJ2) (pin 4))) -(net (code 29) (name "Fmcu.program_en_node") - (node (ref FU3) (pin 7)) - (node (ref FJ2) (pin 6)) - (node (ref FR4) (pin 2)) - (node (ref FC19) (pin 1))) -(net (code 30) (name "Fmcu.ic.lna_in") - (node (ref FU3) (pin 1)) - (node (ref FC13) (pin 1)) - (node (ref FL2) (pin 1))) -(net (code 31) (name "Fmcu.pi.output") - (node (ref FANT1) (pin 1)) - (node (ref FL2) (pin 2)) - (node (ref FC14) (pin 1))) -(net (code 32) (name "Fmcu.ic.vdd3p3") - (node (ref FU3) (pin 2)) - (node (ref FU3) (pin 3)) - (node (ref FL3) (pin 2)) - (node (ref FC16) (pin 1))) -(net (code 33) (name "Fledr.res.a") - (node (ref FR5) (pin 1)) - (node (ref FD3) (pin 1))) -(net (code 34) (name "Frgb_ring.led[0].dout") - (node (ref FD4) (pin 3)) - (node (ref FD5) (pin 1))) -(net (code 35) (name "Frgb_ring.led[1].dout") - (node (ref FD5) (pin 3)) - (node (ref FD6) (pin 1))) -(net (code 36) (name "Frgb_ring.led[2].dout") - (node (ref FD6) (pin 3)) - (node (ref FD7) (pin 1))) -(net (code 37) (name "Frgb_ring.led[3].dout") - (node (ref FD7) (pin 3)) - (node (ref FD8) (pin 1))) -(net (code 38) (name "Frgb_ring.led[4].dout") - (node (ref FD8) (pin 3)) - (node (ref FD9) (pin 1))) -(net (code 39) (name "Frgb_ring.led[5].dout") - (node (ref FD9) (pin 3)) - (node (ref FD10) (pin 1))) -(net (code 40) (name "Frgb_ring.led[6].dout") - (node (ref FD10) (pin 3)) - (node (ref FD11) (pin 1))) -(net (code 41) (name "Frgb_ring.led[7].dout") - (node (ref FD11) (pin 3)) - (node (ref FD12) (pin 1))) -(net (code 42) (name "Frgb_ring.led[8].dout") - (node (ref FD12) (pin 3)) - (node (ref FD13) (pin 1))) -(net (code 43) (name "Frgb_ring.led[9].dout") - (node (ref FD13) (pin 3)) - (node (ref FD14) (pin 1))) -(net (code 44) (name "Frgb_ring.led[10].dout") - (node (ref FD14) (pin 3)) - (node (ref FD15) (pin 1))) -(net (code 45) (name "Frgb_ring.led[11].dout") - (node (ref FD15) (pin 3)) - (node (ref FD16) (pin 1))) -(net (code 46) (name "Frgb_ring.led[12].dout") - (node (ref FD16) (pin 3)) - (node (ref FD17) (pin 1))) -(net (code 47) (name "Frgb_ring.led[13].dout") - (node (ref FD17) (pin 3)) - (node (ref FD18) (pin 1))) -(net (code 48) (name "Frgb_ring.led[14].dout") - (node (ref FD18) (pin 3)) - (node (ref FD19) (pin 1))) -(net (code 49) (name "Frgb_ring.led[15].dout") - (node (ref FD19) (pin 3)) - (node (ref FD20) (pin 1))) -(net (code 50) (name "Frgb_ring.led[16].dout") - (node (ref FD20) (pin 3)) - (node (ref FD21) (pin 1))) -(net (code 51) (name "Frgb_ring.dout") - (node (ref FD21) (pin 3))) -(net (code 52) (name "Ffan_drv[0].pre.drain") - (node (ref FQ1) (pin 3)) - (node (ref FR8) (pin 2)) - (node (ref FQ2) (pin 4))) -(net (code 53) (name "Ffan_drv[1].pre.drain") - (node (ref FQ4) (pin 3)) - (node (ref FR9) (pin 2)) - (node (ref FQ5) (pin 4)))) -) \ No newline at end of file diff --git a/examples/IotFan/IotFan.svgpcb.js b/examples/IotFan/IotFan.svgpcb.js deleted file mode 100644 index 40c06d8d1..000000000 --- a/examples/IotFan/IotFan.svgpcb.js +++ /dev/null @@ -1,473 +0,0 @@ -const board = new PCB(); - -// jlc_th.th1 -const FH1 = board.add(JlcToolingHole_1_152mm, { - translate: pt(0.751, 1.742), rotate: 0, - id: 'FH1' -}) -// jlc_th.th2 -const FH2 = board.add(JlcToolingHole_1_152mm, { - translate: pt(0.791, 1.742), rotate: 0, - id: 'FH2' -}) -// jlc_th.th3 -const FH3 = board.add(JlcToolingHole_1_152mm, { - translate: pt(0.751, 1.781), rotate: 0, - id: 'FH3' -}) -// pwr -const FJ1 = board.add(BarrelJack_CUI_PJ_036AH_SMT_Horizontal, { - translate: pt(1.256, 0.413), rotate: 0, - id: 'FJ1' -}) -// tp_pwr.tp -const FTP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.317, 1.779), rotate: 0, - id: 'FTP1' -}) -// tp_gnd.tp -const FTP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.066, 1.779), rotate: 0, - id: 'FTP2' -}) -// reg_5v.ic -const FU1 = board.add(SOT_23_6, { - translate: pt(0.301, 0.874), rotate: 0, - id: 'FU1' -}) -// reg_5v.fb.div.top_res -const FR1 = board.add(R_0603_1608Metric, { - translate: pt(0.452, 1.053), rotate: 0, - id: 'FR1' -}) -// reg_5v.fb.div.bottom_res -const FR2 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 1.183), rotate: 0, - id: 'FR2' -}) -// reg_5v.hf_in_cap.cap -const FC1 = board.add(C_0603_1608Metric, { - translate: pt(0.214, 1.183), rotate: 0, - id: 'FC1' -}) -// reg_5v.boot_cap -const FC2 = board.add(C_0603_1608Metric, { - translate: pt(0.370, 1.183), rotate: 0, - id: 'FC2' -}) -// reg_5v.power_path.inductor -const FL1 = board.add(L_Sunlord_SWPA4030S, { - translate: pt(0.091, 0.896), rotate: 0, - id: 'FL1' -}) -// reg_5v.power_path.in_cap.cap -const FC3 = board.add(C_1206_3216Metric, { - translate: pt(0.091, 1.070), rotate: 0, - id: 'FC3' -}) -// reg_5v.power_path.out_cap.cap -const FC4 = board.add(C_0805_2012Metric, { - translate: pt(0.287, 1.063), rotate: 0, - id: 'FC4' -}) -// reg_5v.en_res -const FR3 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 1.280), rotate: 0, - id: 'FR3' -}) -// tp_5v.tp -const FTP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.567, 1.779), rotate: 0, - id: 'FTP3' -}) -// prot_5v.diode -const FD1 = board.add(D_SOD_323, { - translate: pt(2.519, 1.464), rotate: 0, - id: 'FD1' -}) -// reg_3v3.ic -const FU2 = board.add(SOT_89_3, { - translate: pt(2.260, 0.906), rotate: 0, - id: 'FU2' -}) -// reg_3v3.in_cap.cap -const FC5 = board.add(C_0603_1608Metric, { - translate: pt(2.206, 1.072), rotate: 0, - id: 'FC5' -}) -// reg_3v3.out_cap.cap -const FC6 = board.add(C_0603_1608Metric, { - translate: pt(2.362, 1.072), rotate: 0, - id: 'FC6' -}) -// tp_3v3.tp -const FTP4 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.271, 1.464), rotate: 0, - id: 'FTP4' -}) -// prot_3v3.diode -const FD2 = board.add(D_SOD_323, { - translate: pt(2.024, 1.464), rotate: 0, - id: 'FD2' -}) -// mcu.ic -const FU3 = board.add(QFN_32_1EP_5x5mm_P0_5mm_EP3_65x3_65mm, { - translate: pt(1.768, 0.122), rotate: 0, - id: 'FU3' -}) -// mcu.vdd_bulk_cap.cap -const FC7 = board.add(C_0805_2012Metric, { - translate: pt(1.932, 0.322), rotate: 0, - id: 'FC7' -}) -// mcu.vdda_cap0.cap -const FC8 = board.add(C_0603_1608Metric, { - translate: pt(2.096, 0.312), rotate: 0, - id: 'FC8' -}) -// mcu.vdda_cap1.cap -const FC9 = board.add(C_0603_1608Metric, { - translate: pt(2.252, 0.312), rotate: 0, - id: 'FC9' -}) -// mcu.vddrtc_cap.cap -const FC10 = board.add(C_0603_1608Metric, { - translate: pt(2.408, 0.312), rotate: 0, - id: 'FC10' -}) -// mcu.vddcpu_cap.cap -const FC11 = board.add(C_0603_1608Metric, { - translate: pt(1.704, 0.441), rotate: 0, - id: 'FC11' -}) -// mcu.vddspi_cap.cap -const FC12 = board.add(C_0603_1608Metric, { - translate: pt(1.860, 0.441), rotate: 0, - id: 'FC12' -}) -// mcu.ant -const FANT1 = board.add(D_1206_3216Metric, { - translate: pt(1.736, 0.328), rotate: 0, - id: 'FANT1' -}) -// mcu.pi.c1 -const FC13 = board.add(C_0603_1608Metric, { - translate: pt(2.016, 0.441), rotate: 0, - id: 'FC13' -}) -// mcu.pi.c2 -const FC14 = board.add(C_0603_1608Metric, { - translate: pt(2.172, 0.441), rotate: 0, - id: 'FC14' -}) -// mcu.pi.l -const FL2 = board.add(L_0603_1608Metric, { - translate: pt(2.328, 0.441), rotate: 0, - id: 'FL2' -}) -// mcu.vdd3p3_l_cap.cap -const FC15 = board.add(C_0603_1608Metric, { - translate: pt(1.704, 0.538), rotate: 0, - id: 'FC15' -}) -// mcu.vdd3p3_cap.cap -const FC16 = board.add(C_0603_1608Metric, { - translate: pt(1.860, 0.538), rotate: 0, - id: 'FC16' -}) -// mcu.vdd3p3_l.ind -const FL3 = board.add(L_0603_1608Metric, { - translate: pt(2.016, 0.538), rotate: 0, - id: 'FL3' -}) -// mcu.crystal.package -const FX1 = board.add(Crystal_SMD_2520_4Pin_2_5x2_0mm, { - translate: pt(2.311, 0.059), rotate: 0, - id: 'FX1' -}) -// mcu.crystal.cap_a -const FC17 = board.add(C_0603_1608Metric, { - translate: pt(2.172, 0.538), rotate: 0, - id: 'FC17' -}) -// mcu.crystal.cap_b -const FC18 = board.add(C_0603_1608Metric, { - translate: pt(2.328, 0.538), rotate: 0, - id: 'FC18' -}) -// mcu.prog.conn -const FJ2 = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { - translate: pt(2.067, 0.079), rotate: 0, - id: 'FJ2' -}) -// mcu.en_pull.rc.r -const FR4 = board.add(R_0603_1608Metric, { - translate: pt(1.704, 0.635), rotate: 0, - id: 'FR4' -}) -// mcu.en_pull.rc.c -const FC19 = board.add(C_0603_1608Metric, { - translate: pt(1.860, 0.635), rotate: 0, - id: 'FC19' -}) -// ledr.package -const FD3 = board.add(LED_0603_1608Metric, { - translate: pt(1.011, 1.456), rotate: 0, - id: 'FD3' -}) -// ledr.res -const FR5 = board.add(R_0603_1608Metric, { - translate: pt(1.011, 1.553), rotate: 0, - id: 'FR5' -}) -// enc.package -const FSW1 = board.add(RotaryEncoder_Alps_EC11J15_Switch, { - translate: pt(0.394, 0.344), rotate: 0, - id: 'FSW1' -}) -// v12_sense.div.top_res -const FR6 = board.add(R_0603_1608Metric, { - translate: pt(1.246, 1.456), rotate: 0, - id: 'FR6' -}) -// v12_sense.div.bottom_res -const FR7 = board.add(R_0603_1608Metric, { - translate: pt(1.246, 1.552), rotate: 0, - id: 'FR7' -}) -// rgb_ring.led[0] -const FD4 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(0.668, 0.846), rotate: 0, - id: 'FD4' -}) -// rgb_ring.led[1] -const FD5 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(0.786, 0.846), rotate: 0, - id: 'FD5' -}) -// rgb_ring.led[2] -const FD6 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(0.904, 0.846), rotate: 0, - id: 'FD6' -}) -// rgb_ring.led[3] -const FD7 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(1.022, 0.846), rotate: 0, - id: 'FD7' -}) -// rgb_ring.led[4] -const FD8 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(1.140, 0.846), rotate: 0, - id: 'FD8' -}) -// rgb_ring.led[5] -const FD9 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(0.668, 0.965), rotate: 0, - id: 'FD9' -}) -// rgb_ring.led[6] -const FD10 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(0.786, 0.965), rotate: 0, - id: 'FD10' -}) -// rgb_ring.led[7] -const FD11 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(0.904, 0.965), rotate: 0, - id: 'FD11' -}) -// rgb_ring.led[8] -const FD12 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(1.022, 0.965), rotate: 0, - id: 'FD12' -}) -// rgb_ring.led[9] -const FD13 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(1.140, 0.965), rotate: 0, - id: 'FD13' -}) -// rgb_ring.led[10] -const FD14 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(0.668, 1.083), rotate: 0, - id: 'FD14' -}) -// rgb_ring.led[11] -const FD15 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(0.786, 1.083), rotate: 0, - id: 'FD15' -}) -// rgb_ring.led[12] -const FD16 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(0.904, 1.083), rotate: 0, - id: 'FD16' -}) -// rgb_ring.led[13] -const FD17 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(1.022, 1.083), rotate: 0, - id: 'FD17' -}) -// rgb_ring.led[14] -const FD18 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(1.140, 1.083), rotate: 0, - id: 'FD18' -}) -// rgb_ring.led[15] -const FD19 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(0.668, 1.201), rotate: 0, - id: 'FD19' -}) -// rgb_ring.led[16] -const FD20 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(0.786, 1.201), rotate: 0, - id: 'FD20' -}) -// rgb_ring.led[17] -const FD21 = board.add(LED_SK6812_EC15_1_5x1_5mm, { - translate: pt(0.904, 1.201), rotate: 0, - id: 'FD21' -}) -// fan[0] -const FJ3 = board.add(FanPinHeader_1x04_P2_54mm_Vertical, { - translate: pt(0.069, 1.576), rotate: 0, - id: 'FJ3' -}) -// fan_drv[0].pre -const FQ1 = board.add(SOT_23, { - translate: pt(1.373, 1.126), rotate: 0, - id: 'FQ1' -}) -// fan_drv[0].pull -const FR8 = board.add(R_0603_1608Metric, { - translate: pt(1.546, 1.088), rotate: 0, - id: 'FR8' -}) -// fan_drv[0].drv -const FQ2 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(1.443, 0.913), rotate: 0, - id: 'FQ2' -}) -// fan_ctl[0].drv -const FQ3 = board.add(SOT_23, { - translate: pt(1.498, 1.494), rotate: 0, - id: 'FQ3' -}) -// fan[1] -const FJ4 = board.add(FanPinHeader_1x04_P2_54mm_Vertical, { - translate: pt(0.545, 1.576), rotate: 0, - id: 'FJ4' -}) -// fan_drv[1].pre -const FQ4 = board.add(SOT_23, { - translate: pt(1.798, 1.126), rotate: 0, - id: 'FQ4' -}) -// fan_drv[1].pull -const FR9 = board.add(R_0603_1608Metric, { - translate: pt(1.972, 1.088), rotate: 0, - id: 'FR9' -}) -// fan_drv[1].drv -const FQ5 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(1.869, 0.913), rotate: 0, - id: 'FQ5' -}) -// fan_ctl[1].drv -const FQ6 = board.add(SOT_23, { - translate: pt(1.767, 1.494), rotate: 0, - id: 'FQ6' -}) - -board.setNetlist([ - {name: "Fv12", pads: [["FJ1", "1"], ["FTP1", "1"], ["FU1", "3"], ["FR8", "1"], ["FQ2", "1"], ["FQ2", "2"], ["FQ2", "3"], ["FR9", "1"], ["FQ5", "1"], ["FQ5", "2"], ["FQ5", "3"], ["FR6", "1"], ["FR3", "1"], ["FC1", "1"], ["FC3", "1"]]}, - {name: "Fgnd", pads: [["FJ1", "2"], ["FJ3", "1"], ["FJ4", "1"], ["FTP2", "1"], ["FU1", "1"], ["FD1", "2"], ["FU2", "1"], ["FD2", "2"], ["FU3", "33"], ["FSW1", "C"], ["FSW1", "S2"], ["FD4", "4"], ["FD5", "4"], ["FD6", "4"], ["FD7", "4"], ["FD8", "4"], ["FD9", "4"], ["FD10", "4"], ["FD11", "4"], ["FD12", "4"], ["FD13", "4"], ["FD14", "4"], ["FD15", "4"], ["FD16", "4"], ["FD17", "4"], ["FD18", "4"], ["FD19", "4"], ["FD20", "4"], ["FD21", "4"], ["FQ1", "2"], ["FQ3", "2"], ["FQ4", "2"], ["FQ6", "2"], ["FR7", "2"], ["FC1", "2"], ["FC5", "2"], ["FC6", "2"], ["FC7", "2"], ["FC8", "2"], ["FC9", "2"], ["FC10", "2"], ["FC11", "2"], ["FC12", "2"], ["FC15", "2"], ["FC16", "2"], ["FX1", "2"], ["FX1", "4"], ["FJ2", "5"], ["FR2", "2"], ["FC19", "2"], ["FC13", "2"], ["FC14", "2"], ["FC17", "2"], ["FC18", "2"], ["FC3", "2"], ["FC4", "2"]]}, - {name: "Fv5", pads: [["FTP3", "1"], ["FD1", "1"], ["FU2", "2"], ["FD4", "2"], ["FD5", "2"], ["FD6", "2"], ["FD7", "2"], ["FD8", "2"], ["FD9", "2"], ["FD10", "2"], ["FD11", "2"], ["FD12", "2"], ["FD13", "2"], ["FD14", "2"], ["FD15", "2"], ["FD16", "2"], ["FD17", "2"], ["FD18", "2"], ["FD19", "2"], ["FD20", "2"], ["FD21", "2"], ["FR1", "1"], ["FC5", "1"], ["FL1", "2"], ["FC4", "1"]]}, - {name: "Fv3v3", pads: [["FU2", "3"], ["FTP4", "1"], ["FD2", "1"], ["FU3", "31"], ["FU3", "32"], ["FU3", "11"], ["FU3", "17"], ["FU3", "18"], ["FD3", "2"], ["FC6", "1"], ["FU3", "14"], ["FC7", "1"], ["FC8", "1"], ["FC9", "1"], ["FC10", "1"], ["FC11", "1"], ["FC12", "1"], ["FC15", "1"], ["FL3", "1"], ["FJ2", "1"], ["FR4", "1"]]}, - {name: "Fmcu.program_boot_node", pads: [["FR5", "2"], ["FU3", "15"], ["FJ2", "2"]]}, - {name: "Fenc.a", pads: [["FU3", "26"], ["FSW1", "A"]]}, - {name: "Fenc.b", pads: [["FU3", "16"], ["FSW1", "B"]]}, - {name: "Fenc.sw", pads: [["FU3", "25"], ["FSW1", "S1"]]}, - {name: "Fv12_sense.output", pads: [["FU3", "4"], ["FR6", "2"], ["FR7", "1"]]}, - {name: "Frgb_ring.din", pads: [["FU3", "6"], ["FD4", "1"]]}, - {name: "Ffan[0].pwr", pads: [["FJ3", "2"], ["FQ2", "5"], ["FQ2", "6"], ["FQ2", "7"], ["FQ2", "8"]]}, - {name: "Ffan_drv[0].control", pads: [["FU3", "5"], ["FQ1", "1"]]}, - {name: "Ffan[0].sense", pads: [["FJ3", "3"], ["FU3", "9"]]}, - {name: "Ffan_ctl[0].control", pads: [["FU3", "8"], ["FQ3", "1"]]}, - {name: "Ffan_ctl[0].output", pads: [["FJ3", "4"], ["FQ3", "3"]]}, - {name: "Ffan[1].pwr", pads: [["FJ4", "2"], ["FQ5", "5"], ["FQ5", "6"], ["FQ5", "7"], ["FQ5", "8"]]}, - {name: "Ffan_drv[1].control", pads: [["FU3", "10"], ["FQ4", "1"]]}, - {name: "Ffan[1].sense", pads: [["FJ4", "3"], ["FU3", "12"]]}, - {name: "Ffan_ctl[1].control", pads: [["FU3", "13"], ["FQ6", "1"]]}, - {name: "Ffan_ctl[1].output", pads: [["FJ4", "4"], ["FQ6", "3"]]}, - {name: "Freg_5v.fb.output", pads: [["FU1", "4"], ["FR1", "2"], ["FR2", "1"]]}, - {name: "Freg_5v.boot_cap.neg", pads: [["FC2", "2"], ["FU1", "2"], ["FL1", "1"]]}, - {name: "Freg_5v.boot_cap.pos", pads: [["FC2", "1"], ["FU1", "6"]]}, - {name: "Freg_5v.en_res.b", pads: [["FR3", "2"], ["FU1", "5"]]}, - {name: "Fmcu.xtal_node.xi", pads: [["FU3", "30"], ["FX1", "1"], ["FC17", "1"]]}, - {name: "Fmcu.xtal_node.xo", pads: [["FU3", "29"], ["FX1", "3"], ["FC18", "1"]]}, - {name: "Fmcu.program_uart_node.a_tx", pads: [["FU3", "28"], ["FJ2", "3"]]}, - {name: "Fmcu.program_uart_node.b_tx", pads: [["FU3", "27"], ["FJ2", "4"]]}, - {name: "Fmcu.program_en_node", pads: [["FU3", "7"], ["FJ2", "6"], ["FR4", "2"], ["FC19", "1"]]}, - {name: "Fmcu.ic.lna_in", pads: [["FU3", "1"], ["FC13", "1"], ["FL2", "1"]]}, - {name: "Fmcu.pi.output", pads: [["FANT1", "1"], ["FL2", "2"], ["FC14", "1"]]}, - {name: "Fmcu.ic.vdd3p3", pads: [["FU3", "2"], ["FU3", "3"], ["FL3", "2"], ["FC16", "1"]]}, - {name: "Fledr.res.a", pads: [["FR5", "1"], ["FD3", "1"]]}, - {name: "Frgb_ring.led[0].dout", pads: [["FD4", "3"], ["FD5", "1"]]}, - {name: "Frgb_ring.led[1].dout", pads: [["FD5", "3"], ["FD6", "1"]]}, - {name: "Frgb_ring.led[2].dout", pads: [["FD6", "3"], ["FD7", "1"]]}, - {name: "Frgb_ring.led[3].dout", pads: [["FD7", "3"], ["FD8", "1"]]}, - {name: "Frgb_ring.led[4].dout", pads: [["FD8", "3"], ["FD9", "1"]]}, - {name: "Frgb_ring.led[5].dout", pads: [["FD9", "3"], ["FD10", "1"]]}, - {name: "Frgb_ring.led[6].dout", pads: [["FD10", "3"], ["FD11", "1"]]}, - {name: "Frgb_ring.led[7].dout", pads: [["FD11", "3"], ["FD12", "1"]]}, - {name: "Frgb_ring.led[8].dout", pads: [["FD12", "3"], ["FD13", "1"]]}, - {name: "Frgb_ring.led[9].dout", pads: [["FD13", "3"], ["FD14", "1"]]}, - {name: "Frgb_ring.led[10].dout", pads: [["FD14", "3"], ["FD15", "1"]]}, - {name: "Frgb_ring.led[11].dout", pads: [["FD15", "3"], ["FD16", "1"]]}, - {name: "Frgb_ring.led[12].dout", pads: [["FD16", "3"], ["FD17", "1"]]}, - {name: "Frgb_ring.led[13].dout", pads: [["FD17", "3"], ["FD18", "1"]]}, - {name: "Frgb_ring.led[14].dout", pads: [["FD18", "3"], ["FD19", "1"]]}, - {name: "Frgb_ring.led[15].dout", pads: [["FD19", "3"], ["FD20", "1"]]}, - {name: "Frgb_ring.led[16].dout", pads: [["FD20", "3"], ["FD21", "1"]]}, - {name: "Frgb_ring.dout", pads: [["FD21", "3"]]}, - {name: "Ffan_drv[0].pre.drain", pads: [["FQ1", "3"], ["FR8", "2"], ["FQ2", "4"]]}, - {name: "Ffan_drv[1].pre.drain", pads: [["FQ4", "3"], ["FR9", "2"], ["FQ5", "4"]]} -]) - -const limit0 = pt(-0.07874015748031496, -0.07874015748031496); -const limit1 = pt(2.7001968503937013, 1.9346456692913387); -const xMin = Math.min(limit0[0], limit1[0]); -const xMax = Math.max(limit0[0], limit1[0]); -const yMin = Math.min(limit0[1], limit1[1]); -const yMax = Math.max(limit0[1], limit1[1]); - -const filletRadius = 0.1; -const outline = path( - [(xMin+xMax/2), yMax], - ["fillet", filletRadius, [xMax, yMax]], - ["fillet", filletRadius, [xMax, yMin]], - ["fillet", filletRadius, [xMin, yMin]], - ["fillet", filletRadius, [xMin, yMax]], - [(xMin+xMax/2), yMax], -); -board.addShape("outline", outline); - -renderPCB({ - pcb: board, - layerColors: { - "F.Paste": "#000000ff", - "F.Mask": "#000000ff", - "B.Mask": "#000000ff", - "componentLabels": "#00e5e5e5", - "outline": "#002d00ff", - "padLabels": "#ffff99e5", - "B.Cu": "#ef4e4eff", - "F.Cu": "#ff8c00cc", - }, - limits: { - x: [xMin, xMax], - y: [yMin, yMax] - }, - background: "#00000000", - mmPerUnit: 25.4 -}) - - diff --git a/examples/IotIron/IotIron.net b/examples/IotIron/IotIron.net deleted file mode 100644 index 503dc75f2..000000000 --- a/examples/IotIron/IotIron.net +++ /dev/null @@ -1,1489 +0,0 @@ -(export (version D) -(components -(comp (ref "IH1") - (value "jlc_th.th1") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th1")) - (property (name "edg_short_path") (value "jlc_th.th1")) - (property (name "edg_refdes") (value "IH1")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "0260010e")) -(comp (ref "IH2") - (value "jlc_th.th2") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th2")) - (property (name "edg_short_path") (value "jlc_th.th2")) - (property (name "edg_refdes") (value "IH2")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "0261010f")) -(comp (ref "IH3") - (value "jlc_th.th3") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th3")) - (property (name "edg_short_path") (value "jlc_th.th3")) - (property (name "edg_refdes") (value "IH3")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "02620110")) -(comp (ref "IJ1") - (value "usb") - (footprint "Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "usb.conn")) - (property (name "edg_short_path") (value "usb")) - (property (name "edg_refdes") (value "IJ1")) - (property (name "edg_part") (value "COM-15111 (Sparkfun)")) - (property (name "edg_value") (value "COM-15111")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "02aa014b")) -(comp (ref "ITP1") - (value "tp_pwr") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_pwr.tp")) - (property (name "edg_short_path") (value "tp_pwr")) - (property (name "edg_refdes") (value "ITP1")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "vusb")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "091a029d")) -(comp (ref "ITP2") - (value "tp_gnd") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_gnd.tp")) - (property (name "edg_short_path") (value "tp_gnd")) - (property (name "edg_refdes") (value "ITP2")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "gnd")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "08df027d")) -(comp (ref "IU1") - (value "reg_3v3.ic") - (footprint "Package_TO_SOT_SMD:SOT-23-6") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) - (property (name "edg_path") (value "reg_3v3.ic")) - (property (name "edg_short_path") (value "reg_3v3.ic")) - (property (name "edg_refdes") (value "IU1")) - (property (name "edg_part") (value "TPS54202H (Texas Instruments)")) - (property (name "edg_value") (value "TPS54202H")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "013700cd")) -(comp (ref "IR1") - (value "reg_3v3.fb.top_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "fb")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) - (property (name "edg_path") (value "reg_3v3.fb.div.top_res")) - (property (name "edg_short_path") (value "reg_3v3.fb.top_res")) - (property (name "edg_refdes") (value "IR1")) - (property (name "edg_part") (value "0603WAF6801T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 6.8kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/reg_3v3/fb/") (tstamps "/0aba027a/013000c9/")) - (tstamps "0c0c02fd")) -(comp (ref "IR2") - (value "reg_3v3.fb.bottom_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "fb")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) - (property (name "edg_path") (value "reg_3v3.fb.div.bottom_res")) - (property (name "edg_short_path") (value "reg_3v3.fb.bottom_res")) - (property (name "edg_refdes") (value "IR2")) - (property (name "edg_part") (value "0603WAF1501T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1.5kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/reg_3v3/fb/") (tstamps "/0aba027a/013000c9/")) - (tstamps "175b043f")) -(comp (ref "IC1") - (value "reg_3v3.hf_in_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) - (property (name "edg_path") (value "reg_3v3.hf_in_cap.cap")) - (property (name "edg_short_path") (value "reg_3v3.hf_in_cap")) - (property (name "edg_refdes") (value "IC1")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "11ed0398")) -(comp (ref "IC2") - (value "reg_3v3.boot_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) - (property (name "edg_path") (value "reg_3v3.boot_cap")) - (property (name "edg_short_path") (value "reg_3v3.boot_cap")) - (property (name "edg_refdes") (value "IC2")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "0ed60348")) -(comp (ref "IL1") - (value "reg_3v3.power_path.inductor") - (footprint "Inductor_SMD:L_Sunlord_SWPA5040S") - (property (name "Sheetname") (value "power_path")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) - (property (name "edg_path") (value "reg_3v3.power_path.inductor")) - (property (name "edg_short_path") (value "reg_3v3.power_path.inductor")) - (property (name "edg_refdes") (value "IL1")) - (property (name "edg_part") (value "SWPA5040S220MT (Sunlord)")) - (property (name "edg_value") (value "1.5A 22uH ±20% 168mΩ SMD Power Inductors ROHS")) - (sheetpath (names "/reg_3v3/power_path/") (tstamps "/0aba027a/1786043a/")) - (tstamps "0f2b0369")) -(comp (ref "IC3") - (value "reg_3v3.power_path.in_cap.c[0]") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "in_cap")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) - (property (name "edg_path") (value "reg_3v3.power_path.in_cap.cap.c[0]")) - (property (name "edg_short_path") (value "reg_3v3.power_path.in_cap.c[0]")) - (property (name "edg_refdes") (value "IC3")) - (property (name "edg_part") (value "CL31A106KBHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 10uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/power_path/in_cap/") (tstamps "/0aba027a/1786043a/0879026b/")) - (tstamps "035e014c")) -(comp (ref "IC4") - (value "reg_3v3.power_path.in_cap.c[1]") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "in_cap")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) - (property (name "edg_path") (value "reg_3v3.power_path.in_cap.cap.c[1]")) - (property (name "edg_short_path") (value "reg_3v3.power_path.in_cap.c[1]")) - (property (name "edg_refdes") (value "IC4")) - (property (name "edg_part") (value "CL31A106KBHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 10uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/power_path/in_cap/") (tstamps "/0aba027a/1786043a/0879026b/")) - (tstamps "0360014d")) -(comp (ref "IC5") - (value "reg_3v3.power_path.out_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "power_path")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) - (property (name "edg_path") (value "reg_3v3.power_path.out_cap.cap")) - (property (name "edg_short_path") (value "reg_3v3.power_path.out_cap")) - (property (name "edg_refdes") (value "IC5")) - (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/power_path/") (tstamps "/0aba027a/1786043a/")) - (tstamps "0be902ec")) -(comp (ref "IR3") - (value "reg_3v3.en_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) - (property (name "edg_path") (value "reg_3v3.en_res")) - (property (name "edg_short_path") (value "reg_3v3.en_res")) - (property (name "edg_refdes") (value "IR3")) - (property (name "edg_part") (value "0603WAF5103T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 510kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "0899027d")) -(comp (ref "ITP3") - (value "tp_3v3") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_3v3.tp")) - (property (name "edg_short_path") (value "tp_3v3")) - (property (name "edg_refdes") (value "ITP3")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "v3v3")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "08220220")) -(comp (ref "ID1") - (value "prot_3v3") - (footprint "Diode_SMD:D_SOD-323") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "prot_3v3.diode")) - (property (name "edg_short_path") (value "prot_3v3")) - (property (name "edg_refdes") (value "ID1")) - (property (name "edg_part") (value "BZT52B3V6S (SMC(Sangdest Microelectronicstronic (Nanjing)))")) - (property (name "edg_value") (value "5μA@1V 90Ω Single 3.53V~3.67V 200mW 3.6V SOD-323 Zener Diodes ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0eb80301")) -(comp (ref "IU2") - (value "reg_gate.ic") - (footprint "Package_TO_SOT_SMD:SOT-89-3") - (property (name "Sheetname") (value "reg_gate")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.L78l")) - (property (name "edg_path") (value "reg_gate.ic")) - (property (name "edg_short_path") (value "reg_gate.ic")) - (property (name "edg_refdes") (value "IU2")) - (property (name "edg_part") (value "L78L12AC (STMicroelectronics)")) - (property (name "edg_value") (value "L78L12AC")) - (sheetpath (names "/reg_gate/") (tstamps "/0eac033f/")) - (tstamps "013700cd")) -(comp (ref "IC6") - (value "reg_gate.in_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "reg_gate")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.L78l")) - (property (name "edg_path") (value "reg_gate.in_cap.cap")) - (property (name "edg_short_path") (value "reg_gate.in_cap")) - (property (name "edg_refdes") (value "IC6")) - (property (name "edg_part") (value "0805B334K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 330nF X7R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_gate/") (tstamps "/0eac033f/")) - (tstamps "0879026b")) -(comp (ref "IC7") - (value "reg_gate.out_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "reg_gate")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.L78l")) - (property (name "edg_path") (value "reg_gate.out_cap.cap")) - (property (name "edg_short_path") (value "reg_gate.out_cap")) - (property (name "edg_refdes") (value "IC7")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_gate/") (tstamps "/0eac033f/")) - (tstamps "0be902ec")) -(comp (ref "ITP4") - (value "tp_gate") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_gate.tp")) - (property (name "edg_short_path") (value "tp_gate")) - (property (name "edg_refdes") (value "ITP4")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "vgate")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0bba02e5")) -(comp (ref "IU3") - (value "mcu.ic") - (footprint "RF_Module:ESP32-S3-WROOM-1") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.ic")) - (property (name "edg_short_path") (value "mcu.ic")) - (property (name "edg_refdes") (value "IU3")) - (property (name "edg_part") (value "ESP32-S3-WROOM-1-N16R8 (Espressif Systems)")) - (property (name "edg_value") (value "ESP32-S3-WROOM-1-N16R8")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "013700cd")) -(comp (ref "IC8") - (value "mcu.vcc_cap0") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.vcc_cap0.cap")) - (property (name "edg_short_path") (value "mcu.vcc_cap0")) - (property (name "edg_refdes") (value "IC8")) - (property (name "edg_part") (value "CL31A226KPHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "10V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "0e590300")) -(comp (ref "IC9") - (value "mcu.vcc_cap1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.vcc_cap1.cap")) - (property (name "edg_short_path") (value "mcu.vcc_cap1")) - (property (name "edg_refdes") (value "IC9")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "0e5a0301")) -(comp (ref "IJ2") - (value "mcu.prog") - (footprint "Connector:Tag-Connect_TC2030-IDC-NL_2x03_P1.27mm_Vertical") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.prog.conn")) - (property (name "edg_short_path") (value "mcu.prog")) - (property (name "edg_refdes") (value "IJ2")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "045f01b9")) -(comp (ref "IR4") - (value "mcu.en_pull.r") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "en_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) - (property (name "edg_path") (value "mcu.en_pull.rc.r")) - (property (name "edg_short_path") (value "mcu.en_pull.r")) - (property (name "edg_refdes") (value "IR4")) - (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) - (tstamps "00730073")) -(comp (ref "IC10") - (value "mcu.en_pull.c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "en_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) - (property (name "edg_path") (value "mcu.en_pull.rc.c")) - (property (name "edg_short_path") (value "mcu.en_pull.c")) - (property (name "edg_refdes") (value "IC10")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) - (tstamps "00640064")) -(comp (ref "IR5") - (value "i2c_pull.scl_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "i2c_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.I2cPullup.I2cPullup")) - (property (name "edg_path") (value "i2c_pull.scl_res.res")) - (property (name "edg_short_path") (value "i2c_pull.scl_res")) - (property (name "edg_refdes") (value "IR5")) - (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/i2c_pull/") (tstamps "/0d3e031b/")) - (tstamps "0ba902ec")) -(comp (ref "IR6") - (value "i2c_pull.sda_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "i2c_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.I2cPullup.I2cPullup")) - (property (name "edg_path") (value "i2c_pull.sda_res.res")) - (property (name "edg_short_path") (value "i2c_pull.sda_res")) - (property (name "edg_refdes") (value "IR6")) - (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/i2c_pull/") (tstamps "/0d3e031b/")) - (tstamps "0b7802e2")) -(comp (ref "IU4") - (value "pd.ic") - (footprint "Package_DFN_QFN:WQFN-14-1EP_2.5x2.5mm_P0.5mm_EP1.45x1.45mm") - (property (name "Sheetname") (value "pd")) - (property (name "Sheetfile") (value "edg.parts.Fusb302b.Fusb302b")) - (property (name "edg_path") (value "pd.ic")) - (property (name "edg_short_path") (value "pd.ic")) - (property (name "edg_refdes") (value "IU4")) - (property (name "edg_part") (value "FUSB302B11MPX (ON Semiconductor)")) - (property (name "edg_value") (value "FUSB302B11MPX")) - (sheetpath (names "/pd/") (tstamps "/014600d5/")) - (tstamps "013700cd")) -(comp (ref "IC11") - (value "pd.vdd_cap[0]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "pd")) - (property (name "Sheetfile") (value "edg.parts.Fusb302b.Fusb302b")) - (property (name "edg_path") (value "pd.vdd_cap[0].cap")) - (property (name "edg_short_path") (value "pd.vdd_cap[0]")) - (property (name "edg_refdes") (value "IC11")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/pd/") (tstamps "/014600d5/")) - (tstamps "15a803ba")) -(comp (ref "IC12") - (value "pd.vdd_cap[1]") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "pd")) - (property (name "Sheetfile") (value "edg.parts.Fusb302b.Fusb302b")) - (property (name "edg_path") (value "pd.vdd_cap[1].cap")) - (property (name "edg_short_path") (value "pd.vdd_cap[1]")) - (property (name "edg_refdes") (value "IC12")) - (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/pd/") (tstamps "/014600d5/")) - (tstamps "15aa03bb")) -(comp (ref "IU5") - (value "usb_esd") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "usb_esd")) - (property (name "edg_short_path") (value "usb_esd")) - (property (name "edg_refdes") (value "IU5")) - (property (name "edg_part") (value "PESD5V0X1BT (Nexperia)")) - (property (name "edg_value") (value "PESD5V0X1BT")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0bcb02e6")) -(comp (ref "IR7") - (value "vusb_sense.top_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "vusb_sense")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) - (property (name "edg_path") (value "vusb_sense.div.top_res")) - (property (name "edg_short_path") (value "vusb_sense.top_res")) - (property (name "edg_refdes") (value "IR7")) - (property (name "edg_part") (value "0603WAF8202T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 82kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/vusb_sense/") (tstamps "/17ab043e/")) - (tstamps "0c0c02fd")) -(comp (ref "IR8") - (value "vusb_sense.bottom_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "vusb_sense")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) - (property (name "edg_path") (value "vusb_sense.div.bottom_res")) - (property (name "edg_short_path") (value "vusb_sense.bottom_res")) - (property (name "edg_refdes") (value "IR8")) - (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/vusb_sense/") (tstamps "/17ab043e/")) - (tstamps "175b043f")) -(comp (ref "IU6") - (value "temp.ic") - (footprint "Package_SON:WSON-6-1EP_3x3mm_P0.95mm") - (property (name "Sheetname") (value "temp")) - (property (name "Sheetfile") (value "edg.parts.EnvironmentalSensor_Ti.Hdc1080")) - (property (name "edg_path") (value "temp.ic")) - (property (name "edg_short_path") (value "temp.ic")) - (property (name "edg_refdes") (value "IU6")) - (property (name "edg_part") (value "HDC1080 (Texas Instruments)")) - (property (name "edg_value") (value "HDC1080")) - (sheetpath (names "/temp/") (tstamps "/044d01b7/")) - (tstamps "013700cd")) -(comp (ref "IC13") - (value "temp.vdd_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "temp")) - (property (name "Sheetfile") (value "edg.parts.EnvironmentalSensor_Ti.Hdc1080")) - (property (name "edg_path") (value "temp.vdd_cap.cap")) - (property (name "edg_short_path") (value "temp.vdd_cap")) - (property (name "edg_refdes") (value "IC13")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/temp/") (tstamps "/044d01b7/")) - (tstamps "0b6402d2")) -(comp (ref "ISW1") - (value "enc") - (footprint "edg:RotaryEncoder_Alps_EC11J15-Switch") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "enc.package")) - (property (name "edg_short_path") (value "enc")) - (property (name "edg_refdes") (value "ISW1")) - (property (name "edg_part") (value "EC11J1525402 (Alps Alpine)")) - (property (name "edg_value") (value "EC11J1525402")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "02710137")) -(comp (ref "IJ3") - (value "oled.device") - (footprint "Connector_FFC-FPC:Hirose_FH12-30S-0.5SH_1x30-1MP_P0.50mm_Horizontal") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.device.conn")) - (property (name "edg_short_path") (value "oled.device")) - (property (name "edg_refdes") (value "IJ3")) - (property (name "edg_part") (value "AFC01-S30FC*-00 (Jushuo)")) - (property (name "edg_value") (value "AFC01-S30FC*-00")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "08950271")) -(comp (ref "IU7") - (value "oled.lcd") - (footprint "edg:Lcd_Er_Oled0.96_1.1_Outline") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.lcd")) - (property (name "edg_short_path") (value "oled.lcd")) - (property (name "edg_refdes") (value "IU7")) - (property (name "edg_part") (value "ER-OLED-0.96-1.1 (EastRising)")) - (property (name "edg_value") (value "ER-OLED-0.96-1.1")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "02710134")) -(comp (ref "IC14") - (value "oled.c1_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.c1_cap")) - (property (name "edg_short_path") (value "oled.c1_cap")) - (property (name "edg_refdes") (value "IC14")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "07240228")) -(comp (ref "IC15") - (value "oled.c2_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.c2_cap")) - (property (name "edg_short_path") (value "oled.c2_cap")) - (property (name "edg_refdes") (value "IC15")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "07290229")) -(comp (ref "IR9") - (value "oled.iref_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.iref_res")) - (property (name "edg_short_path") (value "oled.iref_res")) - (property (name "edg_refdes") (value "IR9")) - (property (name "edg_part") (value "0603WAF3903T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 390kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "0ed90350")) -(comp (ref "IC16") - (value "oled.vcomh_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.vcomh_cap.cap")) - (property (name "edg_short_path") (value "oled.vcomh_cap")) - (property (name "edg_refdes") (value "IC16")) - (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "12bd03b1")) -(comp (ref "IC17") - (value "oled.vdd_cap1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.vdd_cap1.cap")) - (property (name "edg_short_path") (value "oled.vdd_cap1")) - (property (name "edg_refdes") (value "IC17")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "0e670303")) -(comp (ref "IC18") - (value "oled.vbat_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.vbat_cap.cap")) - (property (name "edg_short_path") (value "oled.vbat_cap")) - (property (name "edg_refdes") (value "IC18")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "0ec70341")) -(comp (ref "IC19") - (value "oled.vcc_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.vcc_cap.cap")) - (property (name "edg_short_path") (value "oled.vcc_cap")) - (property (name "edg_refdes") (value "IC19")) - (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "0b5902d0")) -(comp (ref "IU8") - (value "spk_drv.ic") - (footprint "Package_DFN_QFN:QFN-16-1EP_3x3mm_P0.5mm_EP1.45x1.45mm") - (property (name "Sheetname") (value "spk_drv")) - (property (name "Sheetfile") (value "edg.parts.SpeakerDriver_Max98357a.Max98357a")) - (property (name "edg_path") (value "spk_drv.ic")) - (property (name "edg_short_path") (value "spk_drv.ic")) - (property (name "edg_refdes") (value "IU8")) - (property (name "edg_part") (value "MAX98357AETE+T (Maxim Integrated)")) - (property (name "edg_value") (value "MAX98357AETE+T")) - (sheetpath (names "/spk_drv/") (tstamps "/0be502fa/")) - (tstamps "013700cd")) -(comp (ref "IC20") - (value "spk_drv.pwr_cap0") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "spk_drv")) - (property (name "Sheetfile") (value "edg.parts.SpeakerDriver_Max98357a.Max98357a")) - (property (name "edg_path") (value "spk_drv.pwr_cap0.cap")) - (property (name "edg_short_path") (value "spk_drv.pwr_cap0")) - (property (name "edg_refdes") (value "IC20")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/spk_drv/") (tstamps "/0be502fa/")) - (tstamps "0f0f031d")) -(comp (ref "IC21") - (value "spk_drv.pwr_cap1") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "spk_drv")) - (property (name "Sheetfile") (value "edg.parts.SpeakerDriver_Max98357a.Max98357a")) - (property (name "edg_path") (value "spk_drv.pwr_cap1.cap")) - (property (name "edg_short_path") (value "spk_drv.pwr_cap1")) - (property (name "edg_refdes") (value "IC21")) - (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/spk_drv/") (tstamps "/0be502fa/")) - (tstamps "0f10031e")) -(comp (ref "IJ4") - (value "spk") - (footprint "Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "spk.conn")) - (property (name "edg_short_path") (value "spk")) - (property (name "edg_refdes") (value "IJ4")) - (property (name "edg_part") (value "B2B-PH-K (JST)")) - (property (name "edg_value") (value "B2B-PH-K")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "02a7014f")) -(comp (ref "ID2") - (value "ledr.package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "ledr")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkLedResistor")) - (property (name "edg_path") (value "ledr.package")) - (property (name "edg_short_path") (value "ledr.package")) - (property (name "edg_refdes") (value "ID2")) - (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) - (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) - (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) - (tstamps "0b4e02cd")) -(comp (ref "IR10") - (value "ledr.res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "ledr")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkLedResistor")) - (property (name "edg_path") (value "ledr.res")) - (property (name "edg_short_path") (value "ledr.res")) - (property (name "edg_refdes") (value "IR10")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) - (tstamps "0296014b")) -(comp (ref "IL2") - (value "conv.power_path.inductor") - (footprint "Inductor_SMD:L_TDK_SLF12575") - (property (name "Sheetname") (value "power_path")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) - (property (name "edg_path") (value "conv.power_path.inductor")) - (property (name "edg_short_path") (value "conv.power_path.inductor")) - (property (name "edg_refdes") (value "IL2")) - (property (name "edg_part") (value "SLF12575T-150M4R7-PF (TDK)")) - (property (name "edg_value") (value "4.7A 15uH ±20% 22.1mΩ SMD,12.5x12.5x7.5mm Power Inductors ROHS")) - (sheetpath (names "/conv/power_path/") (tstamps "/042f01b7/1786043a/")) - (tstamps "0f2b0369")) -(comp (ref "IC22") - (value "conv.power_path.in_cap.c[0]") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "in_cap")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) - (property (name "edg_path") (value "conv.power_path.in_cap.cap.c[0]")) - (property (name "edg_short_path") (value "conv.power_path.in_cap.c[0]")) - (property (name "edg_refdes") (value "IC22")) - (property (name "edg_part") (value "GRM21BR61H106KE43L (Murata Electronics)")) - (property (name "edg_value") (value "50V 10uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/power_path/in_cap/") (tstamps "/042f01b7/1786043a/0879026b/")) - (tstamps "035e014c")) -(comp (ref "IC23") - (value "conv.power_path.in_cap.c[1]") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "in_cap")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) - (property (name "edg_path") (value "conv.power_path.in_cap.cap.c[1]")) - (property (name "edg_short_path") (value "conv.power_path.in_cap.c[1]")) - (property (name "edg_refdes") (value "IC23")) - (property (name "edg_part") (value "GRM21BR61H106KE43L (Murata Electronics)")) - (property (name "edg_value") (value "50V 10uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/power_path/in_cap/") (tstamps "/042f01b7/1786043a/0879026b/")) - (tstamps "0360014d")) -(comp (ref "IC24") - (value "conv.power_path.out_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "power_path")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) - (property (name "edg_path") (value "conv.power_path.out_cap.cap")) - (property (name "edg_short_path") (value "conv.power_path.out_cap")) - (property (name "edg_refdes") (value "IC24")) - (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/power_path/") (tstamps "/042f01b7/1786043a/")) - (tstamps "0be902ec")) -(comp (ref "IU9") - (value "conv.sw.driver.ic") - (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") - (property (name "Sheetname") (value "driver")) - (property (name "Sheetfile") (value "edg.parts.GateDriver_Ucc27282.Ucc27282")) - (property (name "edg_path") (value "conv.sw.driver.ic")) - (property (name "edg_short_path") (value "conv.sw.driver.ic")) - (property (name "edg_refdes") (value "IU9")) - (property (name "edg_part") (value "UCC27282DR (Texas Instruments)")) - (property (name "edg_value") (value "UCC27282DR")) - (sheetpath (names "/conv/sw/driver/") (tstamps "/042f01b7/015f00eb/08da028d/")) - (tstamps "013700cd")) -(comp (ref "IC25") - (value "conv.sw.driver.cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "driver")) - (property (name "Sheetfile") (value "edg.parts.GateDriver_Ucc27282.Ucc27282")) - (property (name "edg_path") (value "conv.sw.driver.cap.cap")) - (property (name "edg_short_path") (value "conv.sw.driver.cap")) - (property (name "edg_refdes") (value "IC25")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw/driver/") (tstamps "/042f01b7/015f00eb/08da028d/")) - (tstamps "025e0135")) -(comp (ref "IC26") - (value "conv.sw.driver.boot_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "driver")) - (property (name "Sheetfile") (value "edg.parts.GateDriver_Ucc27282.Ucc27282")) - (property (name "edg_path") (value "conv.sw.driver.boot_cap.cap")) - (property (name "edg_short_path") (value "conv.sw.driver.boot_cap")) - (property (name "edg_refdes") (value "IC26")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/conv/sw/driver/") (tstamps "/042f01b7/015f00eb/08da028d/")) - (tstamps "0ed60348")) -(comp (ref "IQ1") - (value "conv.sw.low_fet") - (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") - (property (name "Sheetname") (value "sw")) - (property (name "Sheetfile") (value "edg.abstract_parts.PowerCircuits.FetHalfBridgeIndependent")) - (property (name "edg_path") (value "conv.sw.low_fet")) - (property (name "edg_short_path") (value "conv.sw.low_fet")) - (property (name "edg_refdes") (value "IQ1")) - (property (name "edg_part") (value "IRF7458TRPBF (Infineon Technologies)")) - (property (name "edg_value") (value "30V 14A 8mΩ@16V,14A 2.5W 4V@250μA N Channel SOIC-8_150mil MOSFETs ROHS")) - (sheetpath (names "/conv/sw/") (tstamps "/042f01b7/015f00eb/")) - (tstamps "0bd402f1")) -(comp (ref "IR11") - (value "conv.sw.low_gate_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "sw")) - (property (name "Sheetfile") (value "edg.abstract_parts.PowerCircuits.FetHalfBridgeIndependent")) - (property (name "edg_path") (value "conv.sw.low_gate_res")) - (property (name "edg_short_path") (value "conv.sw.low_gate_res")) - (property (name "edg_refdes") (value "IR11")) - (property (name "edg_part") (value "0603WAF220JT5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/conv/sw/") (tstamps "/042f01b7/015f00eb/")) - (tstamps "207d04fc")) -(comp (ref "IQ2") - (value "conv.sw.high_fet") - (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") - (property (name "Sheetname") (value "sw")) - (property (name "Sheetfile") (value "edg.abstract_parts.PowerCircuits.FetHalfBridgeIndependent")) - (property (name "edg_path") (value "conv.sw.high_fet")) - (property (name "edg_short_path") (value "conv.sw.high_fet")) - (property (name "edg_refdes") (value "IQ2")) - (property (name "edg_part") (value "IRF7458TRPBF (Infineon Technologies)")) - (property (name "edg_value") (value "30V 14A 8mΩ@16V,14A 2.5W 4V@250μA N Channel SOIC-8_150mil MOSFETs ROHS")) - (sheetpath (names "/conv/sw/") (tstamps "/042f01b7/015f00eb/")) - (tstamps "0e85033f")) -(comp (ref "IR12") - (value "conv.sw.high_gate_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "sw")) - (property (name "Sheetfile") (value "edg.abstract_parts.PowerCircuits.FetHalfBridgeIndependent")) - (property (name "edg_path") (value "conv.sw.high_gate_res")) - (property (name "edg_short_path") (value "conv.sw.high_gate_res")) - (property (name "edg_refdes") (value "IR12")) - (property (name "edg_part") (value "0603WAF220JT5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/conv/sw/") (tstamps "/042f01b7/015f00eb/")) - (tstamps "24b4054a")) -(comp (ref "ITP5") - (value "tp_conv") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_conv.tp")) - (property (name "edg_short_path") (value "tp_conv")) - (property (name "edg_refdes") (value "ITP5")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "conv_out")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0bd902fa")) -(comp (ref "IR13") - (value "low_pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "low_pull.res")) - (property (name "edg_short_path") (value "low_pull")) - (property (name "edg_refdes") (value "IR13")) - (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0f79036f")) -(comp (ref "IR14") - (value "low_rc.r") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "low_rc")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) - (property (name "edg_path") (value "low_rc.rc.r")) - (property (name "edg_short_path") (value "low_rc.r")) - (property (name "edg_refdes") (value "IR14")) - (property (name "edg_part") (value "0603WAF1500T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/low_rc/") (tstamps "/08f90287/")) - (tstamps "00730073")) -(comp (ref "IC27") - (value "low_rc.c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "low_rc")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) - (property (name "edg_path") (value "low_rc.rc.c")) - (property (name "edg_short_path") (value "low_rc.c")) - (property (name "edg_refdes") (value "IC27")) - (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/low_rc/") (tstamps "/08f90287/")) - (tstamps "00640064")) -(comp (ref "IR15") - (value "high_pull") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "high_pull.res")) - (property (name "edg_short_path") (value "high_pull")) - (property (name "edg_refdes") (value "IR15")) - (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "127803bd")) -(comp (ref "IR16") - (value "high_rc.r") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "high_rc")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) - (property (name "edg_path") (value "high_rc.rc.r")) - (property (name "edg_short_path") (value "high_rc.r")) - (property (name "edg_refdes") (value "IR16")) - (property (name "edg_part") (value "0603WAF1500T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/high_rc/") (tstamps "/0b5c02d5/")) - (tstamps "00730073")) -(comp (ref "IC28") - (value "high_rc.c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "high_rc")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) - (property (name "edg_path") (value "high_rc.rc.c")) - (property (name "edg_short_path") (value "high_rc.c")) - (property (name "edg_refdes") (value "IC28")) - (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) - (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/high_rc/") (tstamps "/0b5c02d5/")) - (tstamps "00640064")) -(comp (ref "ITP6") - (value "tp_pwm_l") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_pwm_l.tp")) - (property (name "edg_short_path") (value "tp_pwm_l")) - (property (name "edg_refdes") (value "ITP6")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_low_rc_output_link")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0f6f0363")) -(comp (ref "ITP7") - (value "tp_pwm_h") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_pwm_h.tp")) - (property (name "edg_short_path") (value "tp_pwm_h")) - (property (name "edg_refdes") (value "ITP7")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_high_rc_output_link")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0f6b035f")) -(comp (ref "IU10") - (value "touch_sink") - (footprint "edg:Symbol_DucklingSolid") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "touch_sink")) - (property (name "edg_short_path") (value "touch_sink")) - (property (name "edg_refdes") (value "IU10")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "176f0438")) -(comp (ref "IJ5") - (value "iron.conn") - (footprint "Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical") - (property (name "Sheetname") (value "iron")) - (property (name "Sheetfile") (value "examples.test_iot_iron.IronConnector")) - (property (name "edg_path") (value "iron.conn")) - (property (name "edg_short_path") (value "iron.conn")) - (property (name "edg_refdes") (value "IJ5")) - (property (name "edg_part") (value "PinHeader2.54 1x3 (Generic)")) - (property (name "edg_value") (value "PinHeader2.54 1x3")) - (sheetpath (names "/iron/") (tstamps "/044a01b9/")) - (tstamps "042701af")) -(comp (ref "IR17") - (value "iron.isense_res") - (footprint "Resistor_SMD:R_2512_6332Metric") - (property (name "Sheetname") (value "iron")) - (property (name "Sheetfile") (value "examples.test_iot_iron.IronConnector")) - (property (name "edg_path") (value "iron.isense_res.res.res")) - (property (name "edg_short_path") (value "iron.isense_res")) - (property (name "edg_refdes") (value "IR17")) - (property (name "edg_part") (value "25121WJ022LT4E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±5% 1W Thick Film Resistors 200V ±1000ppm/℃ -55℃~+155℃ 22mΩ 2512 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/iron/") (tstamps "/044a01b9/")) - (tstamps "17130431")) -(comp (ref "IR18") - (value "vsense.top_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "vsense")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) - (property (name "edg_path") (value "vsense.div.top_res")) - (property (name "edg_short_path") (value "vsense.top_res")) - (property (name "edg_refdes") (value "IR18")) - (property (name "edg_part") (value "0603WAF2202T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/vsense/") (tstamps "/09320295/")) - (tstamps "0c0c02fd")) -(comp (ref "IR19") - (value "vsense.bottom_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "vsense")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) - (property (name "edg_path") (value "vsense.div.bottom_res")) - (property (name "edg_short_path") (value "vsense.bottom_res")) - (property (name "edg_refdes") (value "IR19")) - (property (name "edg_part") (value "0603WAF1502T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 15kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/vsense/") (tstamps "/09320295/")) - (tstamps "175b043f")) -(comp (ref "ITP8") - (value "tp_v") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_v.tp")) - (property (name "edg_short_path") (value "tp_v")) - (property (name "edg_refdes") (value "ITP8")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_vsense_output_link")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "045801ba")) -(comp (ref "IR20") - (value "vfilt.r") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "vfilt")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.AnalogLowPassRc")) - (property (name "edg_path") (value "vfilt.rc.r")) - (property (name "edg_short_path") (value "vfilt.r")) - (property (name "edg_refdes") (value "IR20")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/vfilt/") (tstamps "/06720226/")) - (tstamps "00730073")) -(comp (ref "IC29") - (value "vfilt.c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "vfilt")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.AnalogLowPassRc")) - (property (name "edg_path") (value "vfilt.rc.c")) - (property (name "edg_short_path") (value "vfilt.c")) - (property (name "edg_refdes") (value "IC29")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/vfilt/") (tstamps "/06720226/")) - (tstamps "00640064")) -(comp (ref "IR21") - (value "ifilt.r1") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "ifilt")) - (property (name "Sheetfile") (value "edg.abstract_parts.OpampCircuits.Amplifier")) - (property (name "edg_path") (value "ifilt.r1")) - (property (name "edg_short_path") (value "ifilt.r1")) - (property (name "edg_refdes") (value "IR21")) - (property (name "edg_part") (value "0603WAF2204T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 2.2MΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/ifilt/") (tstamps "/06310219/")) - (tstamps "011700a4")) -(comp (ref "IR22") - (value "ifilt.r2") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "ifilt")) - (property (name "Sheetfile") (value "edg.abstract_parts.OpampCircuits.Amplifier")) - (property (name "edg_path") (value "ifilt.r2")) - (property (name "edg_short_path") (value "ifilt.r2")) - (property (name "edg_refdes") (value "IR22")) - (property (name "edg_part") (value "0603WAF1003T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 100kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/ifilt/") (tstamps "/06310219/")) - (tstamps "011800a5")) -(comp (ref "IR23") - (value "tp_i.r") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "tp_i")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.AnalogLowPassRc")) - (property (name "edg_path") (value "tp_i.rc.r")) - (property (name "edg_short_path") (value "tp_i.r")) - (property (name "edg_refdes") (value "IR23")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/tp_i/") (tstamps "/044b01ad/")) - (tstamps "00730073")) -(comp (ref "IC30") - (value "tp_i.c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "tp_i")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.AnalogLowPassRc")) - (property (name "edg_path") (value "tp_i.rc.c")) - (property (name "edg_short_path") (value "tp_i.c")) - (property (name "edg_refdes") (value "IC30")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/tp_i/") (tstamps "/044b01ad/")) - (tstamps "00640064")) -(comp (ref "ITP9") - (value "iamp") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "iamp.tp")) - (property (name "edg_short_path") (value "iamp")) - (property (name "edg_refdes") (value "ITP9")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_tp_i_output_link")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "041501a8")) -(comp (ref "IR24") - (value "tamp.r1") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "tamp")) - (property (name "Sheetfile") (value "edg.abstract_parts.OpampCircuits.DifferentialAmplifier")) - (property (name "edg_path") (value "tamp.r1")) - (property (name "edg_short_path") (value "tamp.r1")) - (property (name "edg_refdes") (value "IR24")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/tamp/") (tstamps "/044101b3/")) - (tstamps "011700a4")) -(comp (ref "IR25") - (value "tamp.r2") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "tamp")) - (property (name "Sheetfile") (value "edg.abstract_parts.OpampCircuits.DifferentialAmplifier")) - (property (name "edg_path") (value "tamp.r2")) - (property (name "edg_short_path") (value "tamp.r2")) - (property (name "edg_refdes") (value "IR25")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/tamp/") (tstamps "/044101b3/")) - (tstamps "011800a5")) -(comp (ref "IR26") - (value "tamp.rf") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "tamp")) - (property (name "Sheetfile") (value "edg.abstract_parts.OpampCircuits.DifferentialAmplifier")) - (property (name "edg_path") (value "tamp.rf")) - (property (name "edg_short_path") (value "tamp.rf")) - (property (name "edg_refdes") (value "IR26")) - (property (name "edg_part") (value "0603WAF1603T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 160kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/tamp/") (tstamps "/044101b3/")) - (tstamps "014c00d9")) -(comp (ref "IR27") - (value "tamp.rg") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "tamp")) - (property (name "Sheetfile") (value "edg.abstract_parts.OpampCircuits.DifferentialAmplifier")) - (property (name "edg_path") (value "tamp.rg")) - (property (name "edg_short_path") (value "tamp.rg")) - (property (name "edg_refdes") (value "IR27")) - (property (name "edg_part") (value "0603WAF1603T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 160kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/tamp/") (tstamps "/044101b3/")) - (tstamps "014d00da")) -(comp (ref "ITP10") - (value "tp_t") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_t.tp")) - (property (name "edg_short_path") (value "tp_t")) - (property (name "edg_refdes") (value "ITP10")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_tamp_input_positive_link")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "045601b8")) -(comp (ref "IU11") - (value "packed_opamp.ic") - (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") - (property (name "Sheetname") (value "packed_opamp")) - (property (name "Sheetfile") (value "edg.parts.Opamp_Opax333.Opa2333")) - (property (name "edg_path") (value "packed_opamp.ic")) - (property (name "edg_short_path") (value "packed_opamp.ic")) - (property (name "edg_refdes") (value "IU11")) - (property (name "edg_part") (value "OPA2333AIDR (Texas Instruments)")) - (property (name "edg_value") (value "OPA2333AIDR")) - (sheetpath (names "/packed_opamp/") (tstamps "/1f8e04e5/")) - (tstamps "013700cd")) -(comp (ref "IC31") - (value "packed_opamp.vdd_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "packed_opamp")) - (property (name "Sheetfile") (value "edg.parts.Opamp_Opax333.Opa2333")) - (property (name "edg_path") (value "packed_opamp.vdd_cap.cap")) - (property (name "edg_short_path") (value "packed_opamp.vdd_cap")) - (property (name "edg_refdes") (value "IC31")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/packed_opamp/") (tstamps "/1f8e04e5/")) - (tstamps "0b6402d2"))) -(nets -(net (code 1) (name "Ivusb") - (node (ref IJ1) (pin A4)) - (node (ref IJ1) (pin B9)) - (node (ref IJ1) (pin B4)) - (node (ref IJ1) (pin A9)) - (node (ref IU4) (pin 2)) - (node (ref ITP1) (pin 1)) - (node (ref IU1) (pin 3)) - (node (ref IU2) (pin 3)) - (node (ref IR7) (pin 1)) - (node (ref IR3) (pin 1)) - (node (ref IC1) (pin 1)) - (node (ref IC6) (pin 1)) - (node (ref IC3) (pin 1)) - (node (ref IC4) (pin 1)) - (node (ref IQ2) (pin 5)) - (node (ref IQ2) (pin 6)) - (node (ref IQ2) (pin 7)) - (node (ref IQ2) (pin 8)) - (node (ref IC22) (pin 1)) - (node (ref IC23) (pin 1))) -(net (code 2) (name "Ignd") - (node (ref IU5) (pin 3)) - (node (ref IJ1) (pin A1)) - (node (ref IJ1) (pin B12)) - (node (ref IJ1) (pin B1)) - (node (ref IJ1) (pin A12)) - (node (ref ITP2) (pin 1)) - (node (ref IU1) (pin 1)) - (node (ref ID1) (pin 2)) - (node (ref IU2) (pin 2)) - (node (ref IU3) (pin 1)) - (node (ref IU3) (pin 40)) - (node (ref IU3) (pin 41)) - (node (ref IU4) (pin 8)) - (node (ref IU4) (pin 9)) - (node (ref IU4) (pin 15)) - (node (ref IU6) (pin 2)) - (node (ref ISW1) (pin C)) - (node (ref ISW1) (pin S2)) - (node (ref IU8) (pin 3)) - (node (ref IU8) (pin 11)) - (node (ref IU8) (pin 15)) - (node (ref IU8) (pin 17)) - (node (ref IR13) (pin 1)) - (node (ref IR15) (pin 1)) - (node (ref IR8) (pin 2)) - (node (ref IC27) (pin 2)) - (node (ref IC28) (pin 2)) - (node (ref IR19) (pin 2)) - (node (ref IC29) (pin 2)) - (node (ref IC30) (pin 2)) - (node (ref IJ1) (pin S1)) - (node (ref IR9) (pin 2)) - (node (ref IR22) (pin 2)) - (node (ref IC1) (pin 2)) - (node (ref IC6) (pin 2)) - (node (ref IC7) (pin 2)) - (node (ref IC8) (pin 2)) - (node (ref IC9) (pin 2)) - (node (ref IJ2) (pin 5)) - (node (ref IC11) (pin 2)) - (node (ref IC12) (pin 2)) - (node (ref IC13) (pin 2)) - (node (ref IC16) (pin 2)) - (node (ref IC17) (pin 2)) - (node (ref IC18) (pin 2)) - (node (ref IC19) (pin 2)) - (node (ref IC20) (pin 2)) - (node (ref IC21) (pin 2)) - (node (ref IU11) (pin 4)) - (node (ref IR2) (pin 2)) - (node (ref IC10) (pin 2)) - (node (ref IR17) (pin 1)) - (node (ref IR27) (pin 1)) - (node (ref IJ3) (pin 8)) - (node (ref IJ3) (pin 1)) - (node (ref IJ3) (pin 30)) - (node (ref IJ3) (pin 29)) - (node (ref IJ3) (pin 17)) - (node (ref IJ3) (pin 16)) - (node (ref IJ3) (pin 21)) - (node (ref IJ3) (pin 22)) - (node (ref IJ3) (pin 23)) - (node (ref IJ3) (pin 24)) - (node (ref IJ3) (pin 25)) - (node (ref IJ3) (pin 12)) - (node (ref IJ3) (pin 10)) - (node (ref IJ3) (pin 15)) - (node (ref IJ3) (pin 13)) - (node (ref IQ1) (pin 1)) - (node (ref IQ1) (pin 2)) - (node (ref IQ1) (pin 3)) - (node (ref IC5) (pin 2)) - (node (ref IC24) (pin 2)) - (node (ref IU9) (pin 7)) - (node (ref IC31) (pin 2)) - (node (ref IC3) (pin 2)) - (node (ref IC4) (pin 2)) - (node (ref IC22) (pin 2)) - (node (ref IC23) (pin 2)) - (node (ref IC25) (pin 2))) -(net (code 3) (name "Iv3v3") - (node (ref ITP3) (pin 1)) - (node (ref ID1) (pin 1)) - (node (ref IU3) (pin 2)) - (node (ref IU4) (pin 3)) - (node (ref IU4) (pin 4)) - (node (ref IU6) (pin 5)) - (node (ref IU8) (pin 4)) - (node (ref IU8) (pin 7)) - (node (ref IU8) (pin 8)) - (node (ref ID2) (pin 2)) - (node (ref IU11) (pin 8)) - (node (ref IR1) (pin 1)) - (node (ref IC8) (pin 1)) - (node (ref IC9) (pin 1)) - (node (ref IJ2) (pin 1)) - (node (ref IR5) (pin 1)) - (node (ref IR6) (pin 1)) - (node (ref IC11) (pin 1)) - (node (ref IC12) (pin 1)) - (node (ref IC13) (pin 1)) - (node (ref IJ3) (pin 9)) - (node (ref IJ3) (pin 6)) - (node (ref IC17) (pin 1)) - (node (ref IC18) (pin 1)) - (node (ref IC20) (pin 1)) - (node (ref IC21) (pin 1)) - (node (ref IR4) (pin 1)) - (node (ref IC31) (pin 1)) - (node (ref IJ3) (pin 11)) - (node (ref IL1) (pin 2)) - (node (ref IC5) (pin 1))) -(net (code 4) (name "Ivgate") - (node (ref IU2) (pin 1)) - (node (ref ITP4) (pin 1)) - (node (ref IU9) (pin 1)) - (node (ref IC7) (pin 1)) - (node (ref IC25) (pin 1))) -(net (code 5) (name "Iconv_out") - (node (ref ITP5) (pin 1)) - (node (ref IJ5) (pin 2)) - (node (ref IR18) (pin 1)) - (node (ref IL2) (pin 2)) - (node (ref IC24) (pin 1))) -(net (code 6) (name "Ii2c_pull.i2c.scl") - (node (ref IU3) (pin 35)) - (node (ref IU4) (pin 6)) - (node (ref IU6) (pin 6)) - (node (ref IR5) (pin 2)) - (node (ref IJ3) (pin 18))) -(net (code 7) (name "Ii2c_pull.i2c.sda") - (node (ref IU3) (pin 34)) - (node (ref IU4) (pin 7)) - (node (ref IU6) (pin 1)) - (node (ref IR6) (pin 2)) - (node (ref IJ3) (pin 19)) - (node (ref IJ3) (pin 20))) -(net (code 8) (name "Iusb.cc.cc1") - (node (ref IJ1) (pin A5)) - (node (ref IU4) (pin 10)) - (node (ref IU4) (pin 11))) -(net (code 9) (name "Iusb.cc.cc2") - (node (ref IJ1) (pin B5)) - (node (ref IU4) (pin 1)) - (node (ref IU4) (pin 14))) -(net (code 10) (name "Ipd.int") - (node (ref IU3) (pin 38)) - (node (ref IU4) (pin 5))) -(net (code 11) (name "Iusb_chain_0.d_P") - (node (ref IJ1) (pin A6)) - (node (ref IJ1) (pin B6)) - (node (ref IU5) (pin 2)) - (node (ref IU3) (pin 14))) -(net (code 12) (name "Iusb_chain_0.d_N") - (node (ref IJ1) (pin A7)) - (node (ref IJ1) (pin B7)) - (node (ref IU5) (pin 1)) - (node (ref IU3) (pin 13))) -(net (code 13) (name "Ivusb_sense.output") - (node (ref IU3) (pin 39)) - (node (ref IR7) (pin 2)) - (node (ref IR8) (pin 1))) -(net (code 14) (name "Ienc.a") - (node (ref IU3) (pin 10)) - (node (ref ISW1) (pin A))) -(net (code 15) (name "Ienc.b") - (node (ref IU3) (pin 9)) - (node (ref ISW1) (pin B))) -(net (code 16) (name "Ienc.sw") - (node (ref IU3) (pin 8)) - (node (ref ISW1) (pin S1))) -(net (code 17) (name "Ioled.reset") - (node (ref IU3) (pin 11)) - (node (ref IJ3) (pin 14))) -(net (code 18) (name "Ispk_drv.i2s.sck") - (node (ref IU3) (pin 32)) - (node (ref IU8) (pin 16))) -(net (code 19) (name "Ispk_drv.i2s.ws") - (node (ref IU3) (pin 31)) - (node (ref IU8) (pin 14))) -(net (code 20) (name "Ispk_drv.i2s.sd") - (node (ref IU3) (pin 33)) - (node (ref IU8) (pin 1))) -(net (code 21) (name "Ispk_drv.out.a") - (node (ref IU8) (pin 9)) - (node (ref IJ4) (pin 1))) -(net (code 22) (name "Ispk_drv.out.b") - (node (ref IU8) (pin 10)) - (node (ref IJ4) (pin 2))) -(net (code 23) (name "Imcu.program_boot_node") - (node (ref IR10) (pin 2)) - (node (ref IU3) (pin 27)) - (node (ref IJ2) (pin 2))) -(net (code 24) (name "Ilow_pull.io") - (node (ref IU3) (pin 4)) - (node (ref IR13) (pin 2)) - (node (ref IR14) (pin 1))) -(net (code 25) (name "Ilow_rc.output") - (node (ref IU9) (pin 6)) - (node (ref ITP6) (pin 1)) - (node (ref IR14) (pin 2)) - (node (ref IC27) (pin 1))) -(net (code 26) (name "Ihigh_pull.io") - (node (ref IU3) (pin 5)) - (node (ref IR15) (pin 2)) - (node (ref IR16) (pin 1))) -(net (code 27) (name "Ihigh_rc.output") - (node (ref IU9) (pin 5)) - (node (ref ITP7) (pin 1)) - (node (ref IR16) (pin 2)) - (node (ref IC28) (pin 1))) -(net (code 28) (name "Itouch_sink.pad") - (node (ref IU3) (pin 15)) - (node (ref IU10) (pin 1))) -(net (code 29) (name "Ivsense.output") - (node (ref ITP8) (pin 1)) - (node (ref IR20) (pin 1)) - (node (ref IR18) (pin 2)) - (node (ref IR19) (pin 1))) -(net (code 30) (name "Ivfilt.output") - (node (ref IU3) (pin 6)) - (node (ref IR20) (pin 2)) - (node (ref IC29) (pin 1))) -(net (code 31) (name "Iiron.isense") - (node (ref IU11) (pin 3)) - (node (ref IR24) (pin 1)) - (node (ref IR17) (pin 2)) - (node (ref IJ5) (pin 1))) -(net (code 32) (name "Iifilt.output") - (node (ref IR23) (pin 1)) - (node (ref IR21) (pin 1)) - (node (ref IU11) (pin 1))) -(net (code 33) (name "Itp_i.output") - (node (ref IU3) (pin 7)) - (node (ref ITP9) (pin 1)) - (node (ref IR23) (pin 2)) - (node (ref IC30) (pin 1))) -(net (code 34) (name "Itamp.input_positive") - (node (ref IR25) (pin 1)) - (node (ref IJ5) (pin 3)) - (node (ref ITP10) (pin 1))) -(net (code 35) (name "Itamp.output") - (node (ref IU3) (pin 12)) - (node (ref IR26) (pin 1)) - (node (ref IU11) (pin 7))) -(net (code 36) (name "Ipacked_opamp.inn.0") - (node (ref IU11) (pin 2)) - (node (ref IR21) (pin 2)) - (node (ref IR22) (pin 1))) -(net (code 37) (name "Ipacked_opamp.inp.1") - (node (ref IU11) (pin 5)) - (node (ref IR25) (pin 2)) - (node (ref IR27) (pin 2))) -(net (code 38) (name "Ipacked_opamp.inn.1") - (node (ref IU11) (pin 6)) - (node (ref IR24) (pin 2)) - (node (ref IR26) (pin 2))) -(net (code 39) (name "Ireg_3v3.fb.output") - (node (ref IU1) (pin 4)) - (node (ref IR1) (pin 2)) - (node (ref IR2) (pin 1))) -(net (code 40) (name "Ireg_3v3.boot_cap.neg") - (node (ref IC2) (pin 2)) - (node (ref IU1) (pin 2)) - (node (ref IL1) (pin 1))) -(net (code 41) (name "Ireg_3v3.boot_cap.pos") - (node (ref IC2) (pin 1)) - (node (ref IU1) (pin 6))) -(net (code 42) (name "Ireg_3v3.en_res.b") - (node (ref IR3) (pin 2)) - (node (ref IU1) (pin 5))) -(net (code 43) (name "Imcu.program_uart_node.a_tx") - (node (ref IU3) (pin 37)) - (node (ref IJ2) (pin 3))) -(net (code 44) (name "Imcu.program_uart_node.b_tx") - (node (ref IU3) (pin 36)) - (node (ref IJ2) (pin 4))) -(net (code 45) (name "Imcu.program_en_node") - (node (ref IU3) (pin 3)) - (node (ref IJ2) (pin 6)) - (node (ref IR4) (pin 2)) - (node (ref IC10) (pin 1))) -(net (code 46) (name "Ipd.ic.vconn") - (node (ref IU4) (pin 12)) - (node (ref IU4) (pin 13))) -(net (code 47) (name "Ioled.c1_cap.pos") - (node (ref IC14) (pin 1)) - (node (ref IJ3) (pin 4))) -(net (code 48) (name "Ioled.c1_cap.neg") - (node (ref IC14) (pin 2)) - (node (ref IJ3) (pin 5))) -(net (code 49) (name "Ioled.c2_cap.pos") - (node (ref IC15) (pin 1)) - (node (ref IJ3) (pin 2))) -(net (code 50) (name "Ioled.c2_cap.neg") - (node (ref IC15) (pin 2)) - (node (ref IJ3) (pin 3))) -(net (code 51) (name "Ioled.iref_res.a") - (node (ref IR9) (pin 1)) - (node (ref IJ3) (pin 26))) -(net (code 52) (name "Ioled.device.vcomh") - (node (ref IJ3) (pin 27)) - (node (ref IC16) (pin 1))) -(net (code 53) (name "Ioled.device.vcc") - (node (ref IJ3) (pin 28)) - (node (ref IC19) (pin 1))) -(net (code 54) (name "Iledr.res.a") - (node (ref IR10) (pin 1)) - (node (ref ID2) (pin 1))) -(net (code 55) (name "Iconv.sw_out_force") - (node (ref IQ1) (pin 5)) - (node (ref IQ1) (pin 6)) - (node (ref IQ1) (pin 7)) - (node (ref IQ1) (pin 8)) - (node (ref IQ2) (pin 1)) - (node (ref IQ2) (pin 2)) - (node (ref IQ2) (pin 3)) - (node (ref IL2) (pin 1)) - (node (ref IU9) (pin 4)) - (node (ref IC26) (pin 2))) -(net (code 56) (name "Iconv.sw.low_gate_res.a") - (node (ref IR11) (pin 1)) - (node (ref IU9) (pin 8))) -(net (code 57) (name "Iconv.sw.low_gate_res.b") - (node (ref IR11) (pin 2)) - (node (ref IQ1) (pin 4))) -(net (code 58) (name "Iconv.sw.high_gate_res.a") - (node (ref IR12) (pin 1)) - (node (ref IU9) (pin 3))) -(net (code 59) (name "Iconv.sw.high_gate_res.b") - (node (ref IR12) (pin 2)) - (node (ref IQ2) (pin 4))) -(net (code 60) (name "Iconv.sw.driver.ic.hb") - (node (ref IU9) (pin 2)) - (node (ref IC26) (pin 1)))) -) \ No newline at end of file diff --git a/examples/IotIron/IotIron.svgpcb.js b/examples/IotIron/IotIron.svgpcb.js deleted file mode 100644 index 89ad6ba8f..000000000 --- a/examples/IotIron/IotIron.svgpcb.js +++ /dev/null @@ -1,575 +0,0 @@ -const board = new PCB(); - -// jlc_th.th1 -const IH1 = board.add(JlcToolingHole_1_152mm, { - translate: pt(3.408, 3.059), rotate: 0, - id: 'IH1' -}) -// jlc_th.th2 -const IH2 = board.add(JlcToolingHole_1_152mm, { - translate: pt(3.448, 3.059), rotate: 0, - id: 'IH2' -}) -// jlc_th.th3 -const IH3 = board.add(JlcToolingHole_1_152mm, { - translate: pt(3.408, 3.099), rotate: 0, - id: 'IH3' -}) -// usb.conn -const IJ1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { - translate: pt(3.321, 1.905), rotate: 0, - id: 'IJ1' -}) -// tp_pwr.tp -const ITP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.314, 3.097), rotate: 0, - id: 'ITP1' -}) -// tp_gnd.tp -const ITP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.063, 3.097), rotate: 0, - id: 'ITP2' -}) -// reg_3v3.ic -const IU1 = board.add(SOT_23_6, { - translate: pt(2.331, 1.807), rotate: 0, - id: 'IU1' -}) -// reg_3v3.fb.div.top_res -const IR1 = board.add(R_0603_1608Metric, { - translate: pt(2.049, 2.156), rotate: 0, - id: 'IR1' -}) -// reg_3v3.fb.div.bottom_res -const IR2 = board.add(R_0603_1608Metric, { - translate: pt(2.205, 2.156), rotate: 0, - id: 'IR2' -}) -// reg_3v3.hf_in_cap.cap -const IC1 = board.add(C_0603_1608Metric, { - translate: pt(2.361, 2.156), rotate: 0, - id: 'IC1' -}) -// reg_3v3.boot_cap -const IC2 = board.add(C_0603_1608Metric, { - translate: pt(2.517, 2.156), rotate: 0, - id: 'IC2' -}) -// reg_3v3.power_path.inductor -const IL1 = board.add(L_Sunlord_SWPA5040S, { - translate: pt(2.101, 1.849), rotate: 0, - id: 'IL1' -}) -// reg_3v3.power_path.in_cap.cap.c[0] -const IC3 = board.add(C_1206_3216Metric, { - translate: pt(2.081, 2.042), rotate: 0, - id: 'IC3' -}) -// reg_3v3.power_path.in_cap.cap.c[1] -const IC4 = board.add(C_1206_3216Metric, { - translate: pt(2.302, 2.042), rotate: 0, - id: 'IC4' -}) -// reg_3v3.power_path.out_cap.cap -const IC5 = board.add(C_0805_2012Metric, { - translate: pt(2.498, 2.035), rotate: 0, - id: 'IC5' -}) -// reg_3v3.en_res -const IR3 = board.add(R_0603_1608Metric, { - translate: pt(2.049, 2.252), rotate: 0, - id: 'IR3' -}) -// tp_3v3.tp -const ITP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(2.564, 3.097), rotate: 0, - id: 'ITP3' -}) -// prot_3v3.diode -const ID1 = board.add(D_SOD_323, { - translate: pt(0.063, 3.097), rotate: 0, - id: 'ID1' -}) -// reg_gate.ic -const IU2 = board.add(SOT_89_3, { - translate: pt(3.761, 1.839), rotate: 0, - id: 'IU2' -}) -// reg_gate.in_cap.cap -const IC6 = board.add(C_0805_2012Metric, { - translate: pt(3.716, 2.015), rotate: 0, - id: 'IC6' -}) -// reg_gate.out_cap.cap -const IC7 = board.add(C_0603_1608Metric, { - translate: pt(3.880, 2.005), rotate: 0, - id: 'IC7' -}) -// tp_gate.tp -const ITP4 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.311, 3.097), rotate: 0, - id: 'ITP4' -}) -// mcu.ic -const IU3 = board.add(ESP32_S3_WROOM_1, { - translate: pt(0.945, 0.530), rotate: 0, - id: 'IU3' -}) -// mcu.vcc_cap0.cap -const IC8 = board.add(C_1206_3216Metric, { - translate: pt(2.020, 0.242), rotate: 0, - id: 'IC8' -}) -// mcu.vcc_cap1.cap -const IC9 = board.add(C_0603_1608Metric, { - translate: pt(2.208, 0.226), rotate: 0, - id: 'IC9' -}) -// mcu.prog.conn -const IJ2 = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { - translate: pt(2.067, 0.079), rotate: 0, - id: 'IJ2' -}) -// mcu.en_pull.rc.r -const IR4 = board.add(R_0603_1608Metric, { - translate: pt(1.987, 0.356), rotate: 0, - id: 'IR4' -}) -// mcu.en_pull.rc.c -const IC10 = board.add(C_0603_1608Metric, { - translate: pt(2.143, 0.356), rotate: 0, - id: 'IC10' -}) -// i2c_pull.scl_res.res -const IR5 = board.add(R_0603_1608Metric, { - translate: pt(3.270, 2.661), rotate: 0, - id: 'IR5' -}) -// i2c_pull.sda_res.res -const IR6 = board.add(R_0603_1608Metric, { - translate: pt(3.270, 2.757), rotate: 0, - id: 'IR6' -}) -// pd.ic -const IU4 = board.add(WQFN_14_1EP_2_5x2_5mm_P0_5mm_EP1_45x1_45mm, { - translate: pt(0.890, 2.705), rotate: 0, - id: 'IU4' -}) -// pd.vdd_cap[0].cap -const IC11 = board.add(C_0603_1608Metric, { - translate: pt(1.049, 2.846), rotate: 0, - id: 'IC11' -}) -// pd.vdd_cap[1].cap -const IC12 = board.add(C_0805_2012Metric, { - translate: pt(0.884, 2.856), rotate: 0, - id: 'IC12' -}) -// usb_esd -const IU5 = board.add(SOT_23, { - translate: pt(3.293, 3.126), rotate: 0, - id: 'IU5' -}) -// vusb_sense.div.top_res -const IR7 = board.add(R_0603_1608Metric, { - translate: pt(3.505, 2.661), rotate: 0, - id: 'IR7' -}) -// vusb_sense.div.bottom_res -const IR8 = board.add(R_0603_1608Metric, { - translate: pt(3.505, 2.757), rotate: 0, - id: 'IR8' -}) -// temp.ic -const IU6 = board.add(WSON_6_1EP_3x3mm_P0_95mm, { - translate: pt(1.300, 2.705), rotate: 0, - id: 'IU6' -}) -// temp.vdd_cap.cap -const IC13 = board.add(C_0603_1608Metric, { - translate: pt(1.283, 2.846), rotate: 0, - id: 'IC13' -}) -// enc.package -const ISW1 = board.add(RotaryEncoder_Alps_EC11J15_Switch, { - translate: pt(1.479, 2.085), rotate: 0, - id: 'ISW1' -}) -// oled.device.conn -const IJ3 = board.add(Hirose_FH12_30S_0_5SH_1x30_1MP_P0_50mm_Horizontal, { - translate: pt(2.800, 1.054), rotate: 0, - id: 'IJ3' -}) -// oled.lcd -const IU7 = board.add(Lcd_Er_Oled0_96_1_1_Outline, { - translate: pt(2.910, 0.516), rotate: 0, - id: 'IU7' -}) -// oled.c1_cap -const IC14 = board.add(C_0603_1608Metric, { - translate: pt(3.659, 0.889), rotate: 0, - id: 'IC14' -}) -// oled.c2_cap -const IC15 = board.add(C_0603_1608Metric, { - translate: pt(3.815, 0.889), rotate: 0, - id: 'IC15' -}) -// oled.iref_res -const IR9 = board.add(R_0603_1608Metric, { - translate: pt(3.313, 1.006), rotate: 0, - id: 'IR9' -}) -// oled.vcomh_cap.cap -const IC16 = board.add(C_0805_2012Metric, { - translate: pt(3.321, 0.899), rotate: 0, - id: 'IC16' -}) -// oled.vdd_cap1.cap -const IC17 = board.add(C_0603_1608Metric, { - translate: pt(3.469, 1.006), rotate: 0, - id: 'IC17' -}) -// oled.vbat_cap.cap -const IC18 = board.add(C_0603_1608Metric, { - translate: pt(3.624, 1.006), rotate: 0, - id: 'IC18' -}) -// oled.vcc_cap.cap -const IC19 = board.add(C_0805_2012Metric, { - translate: pt(3.494, 0.899), rotate: 0, - id: 'IC19' -}) -// spk_drv.ic -const IU8 = board.add(QFN_16_1EP_3x3mm_P0_5mm_EP1_45x1_45mm, { - translate: pt(0.493, 2.716), rotate: 0, - id: 'IU8' -}) -// spk_drv.pwr_cap0.cap -const IC20 = board.add(C_0603_1608Metric, { - translate: pt(0.641, 2.868), rotate: 0, - id: 'IC20' -}) -// spk_drv.pwr_cap1.cap -const IC21 = board.add(C_0805_2012Metric, { - translate: pt(0.476, 2.878), rotate: 0, - id: 'IC21' -}) -// spk.conn -const IJ4 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(1.589, 2.762), rotate: 0, - id: 'IJ4' -}) -// ledr.package -const ID2 = board.add(LED_0603_1608Metric, { - translate: pt(1.941, 2.661), rotate: 0, - id: 'ID2' -}) -// ledr.res -const IR10 = board.add(R_0603_1608Metric, { - translate: pt(1.941, 2.758), rotate: 0, - id: 'IR10' -}) -// conv.power_path.inductor -const IL2 = board.add(L_TDK_SLF12575, { - translate: pt(0.280, 1.996), rotate: 0, - id: 'IL2' -}) -// conv.power_path.in_cap.cap.c[0] -const IC22 = board.add(C_0805_2012Metric, { - translate: pt(0.398, 2.340), rotate: 0, - id: 'IC22' -}) -// conv.power_path.in_cap.cap.c[1] -const IC23 = board.add(C_0805_2012Metric, { - translate: pt(0.571, 2.340), rotate: 0, - id: 'IC23' -}) -// conv.power_path.out_cap.cap -const IC24 = board.add(C_0805_2012Metric, { - translate: pt(0.744, 2.340), rotate: 0, - id: 'IC24' -}) -// conv.sw.driver.ic -const IU9 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(0.744, 1.846), rotate: 0, - id: 'IU9' -}) -// conv.sw.driver.cap.cap -const IC25 = board.add(C_0603_1608Metric, { - translate: pt(0.909, 2.330), rotate: 0, - id: 'IC25' -}) -// conv.sw.driver.boot_cap.cap -const IC26 = board.add(C_0603_1608Metric, { - translate: pt(0.389, 2.446), rotate: 0, - id: 'IC26' -}) -// conv.sw.low_fet -const IQ1 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(0.744, 2.098), rotate: 0, - id: 'IQ1' -}) -// conv.sw.low_gate_res -const IR11 = board.add(R_0603_1608Metric, { - translate: pt(0.545, 2.446), rotate: 0, - id: 'IR11' -}) -// conv.sw.high_fet -const IQ2 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(0.146, 2.407), rotate: 0, - id: 'IQ2' -}) -// conv.sw.high_gate_res -const IR12 = board.add(R_0603_1608Metric, { - translate: pt(0.701, 2.446), rotate: 0, - id: 'IR12' -}) -// tp_conv.tp -const ITP5 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.813, 3.097), rotate: 0, - id: 'ITP5' -}) -// low_pull.res -const IR13 = board.add(R_0603_1608Metric, { - translate: pt(2.807, 3.088), rotate: 0, - id: 'IR13' -}) -// low_rc.rc.r -const IR14 = board.add(R_0603_1608Metric, { - translate: pt(3.974, 2.661), rotate: 0, - id: 'IR14' -}) -// low_rc.rc.c -const IC27 = board.add(C_0603_1608Metric, { - translate: pt(3.974, 2.757), rotate: 0, - id: 'IC27' -}) -// high_pull.res -const IR15 = board.add(R_0603_1608Metric, { - translate: pt(3.041, 3.088), rotate: 0, - id: 'IR15' -}) -// high_rc.rc.r -const IR16 = board.add(R_0603_1608Metric, { - translate: pt(2.176, 2.661), rotate: 0, - id: 'IR16' -}) -// high_rc.rc.c -const IC28 = board.add(C_0603_1608Metric, { - translate: pt(2.176, 2.757), rotate: 0, - id: 'IC28' -}) -// tp_pwm_l.tp -const ITP6 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.062, 3.097), rotate: 0, - id: 'ITP6' -}) -// tp_pwm_h.tp -const ITP7 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.312, 3.097), rotate: 0, - id: 'ITP7' -}) -// touch_sink -const IU10 = board.add(Symbol_DucklingSolid, { - translate: pt(3.566, 3.059), rotate: 0, - id: 'IU10' -}) -// iron.conn -const IJ5 = board.add(PinHeader_1x03_P2_54mm_Vertical, { - translate: pt(2.764, 2.010), rotate: 0, - id: 'IJ5' -}) -// iron.isense_res.res.res -const IR17 = board.add(R_2512_6332Metric, { - translate: pt(2.843, 2.196), rotate: 0, - id: 'IR17' -}) -// vsense.div.top_res -const IR18 = board.add(R_0603_1608Metric, { - translate: pt(4.209, 2.661), rotate: 0, - id: 'IR18' -}) -// vsense.div.bottom_res -const IR19 = board.add(R_0603_1608Metric, { - translate: pt(4.209, 2.757), rotate: 0, - id: 'IR19' -}) -// tp_v.tp -const ITP8 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.563, 3.097), rotate: 0, - id: 'ITP8' -}) -// vfilt.rc.r -const IR20 = board.add(R_0603_1608Metric, { - translate: pt(3.740, 2.661), rotate: 0, - id: 'IR20' -}) -// vfilt.rc.c -const IC29 = board.add(C_0603_1608Metric, { - translate: pt(3.740, 2.757), rotate: 0, - id: 'IC29' -}) -// ifilt.r1 -const IR21 = board.add(R_0603_1608Metric, { - translate: pt(2.410, 2.661), rotate: 0, - id: 'IR21' -}) -// ifilt.r2 -const IR22 = board.add(R_0603_1608Metric, { - translate: pt(2.410, 2.757), rotate: 0, - id: 'IR22' -}) -// tp_i.rc.r -const IR23 = board.add(R_0603_1608Metric, { - translate: pt(2.645, 2.661), rotate: 0, - id: 'IR23' -}) -// tp_i.rc.c -const IC30 = board.add(C_0603_1608Metric, { - translate: pt(2.645, 2.757), rotate: 0, - id: 'IC30' -}) -// iamp.tp -const ITP9 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.561, 3.097), rotate: 0, - id: 'ITP9' -}) -// tamp.r1 -const IR24 = board.add(R_0603_1608Metric, { - translate: pt(2.880, 2.661), rotate: 0, - id: 'IR24' -}) -// tamp.r2 -const IR25 = board.add(R_0603_1608Metric, { - translate: pt(3.036, 2.661), rotate: 0, - id: 'IR25' -}) -// tamp.rf -const IR26 = board.add(R_0603_1608Metric, { - translate: pt(2.880, 2.757), rotate: 0, - id: 'IR26' -}) -// tamp.rg -const IR27 = board.add(R_0603_1608Metric, { - translate: pt(3.036, 2.757), rotate: 0, - id: 'IR27' -}) -// tp_t.tp -const ITP10 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.811, 3.097), rotate: 0, - id: 'ITP10' -}) -// packed_opamp.ic -const IU11 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { - translate: pt(0.146, 2.738), rotate: 0, - id: 'IU11' -}) -// packed_opamp.vdd_cap.cap -const IC31 = board.add(C_0603_1608Metric, { - translate: pt(0.058, 2.913), rotate: 0, - id: 'IC31' -}) - -board.setNetlist([ - {name: "Ivusb", pads: [["IJ1", "A4"], ["IJ1", "B9"], ["IJ1", "B4"], ["IJ1", "A9"], ["IU4", "2"], ["ITP1", "1"], ["IU1", "3"], ["IU2", "3"], ["IR7", "1"], ["IR3", "1"], ["IC1", "1"], ["IC6", "1"], ["IC3", "1"], ["IC4", "1"], ["IQ2", "5"], ["IQ2", "6"], ["IQ2", "7"], ["IQ2", "8"], ["IC22", "1"], ["IC23", "1"]]}, - {name: "Ignd", pads: [["IU5", "3"], ["IJ1", "A1"], ["IJ1", "B12"], ["IJ1", "B1"], ["IJ1", "A12"], ["ITP2", "1"], ["IU1", "1"], ["ID1", "2"], ["IU2", "2"], ["IU3", "1"], ["IU3", "40"], ["IU3", "41"], ["IU4", "8"], ["IU4", "9"], ["IU4", "15"], ["IU6", "2"], ["ISW1", "C"], ["ISW1", "S2"], ["IU8", "3"], ["IU8", "11"], ["IU8", "15"], ["IU8", "17"], ["IR13", "1"], ["IR15", "1"], ["IR8", "2"], ["IC27", "2"], ["IC28", "2"], ["IR19", "2"], ["IC29", "2"], ["IC30", "2"], ["IJ1", "S1"], ["IR9", "2"], ["IR22", "2"], ["IC1", "2"], ["IC6", "2"], ["IC7", "2"], ["IC8", "2"], ["IC9", "2"], ["IJ2", "5"], ["IC11", "2"], ["IC12", "2"], ["IC13", "2"], ["IC16", "2"], ["IC17", "2"], ["IC18", "2"], ["IC19", "2"], ["IC20", "2"], ["IC21", "2"], ["IU11", "4"], ["IR2", "2"], ["IC10", "2"], ["IR17", "1"], ["IR27", "1"], ["IJ3", "8"], ["IJ3", "1"], ["IJ3", "30"], ["IJ3", "29"], ["IJ3", "17"], ["IJ3", "16"], ["IJ3", "21"], ["IJ3", "22"], ["IJ3", "23"], ["IJ3", "24"], ["IJ3", "25"], ["IJ3", "12"], ["IJ3", "10"], ["IJ3", "15"], ["IJ3", "13"], ["IQ1", "1"], ["IQ1", "2"], ["IQ1", "3"], ["IC5", "2"], ["IC24", "2"], ["IU9", "7"], ["IC31", "2"], ["IC3", "2"], ["IC4", "2"], ["IC22", "2"], ["IC23", "2"], ["IC25", "2"]]}, - {name: "Iv3v3", pads: [["ITP3", "1"], ["ID1", "1"], ["IU3", "2"], ["IU4", "3"], ["IU4", "4"], ["IU6", "5"], ["IU8", "4"], ["IU8", "7"], ["IU8", "8"], ["ID2", "2"], ["IU11", "8"], ["IR1", "1"], ["IC8", "1"], ["IC9", "1"], ["IJ2", "1"], ["IR5", "1"], ["IR6", "1"], ["IC11", "1"], ["IC12", "1"], ["IC13", "1"], ["IJ3", "9"], ["IJ3", "6"], ["IC17", "1"], ["IC18", "1"], ["IC20", "1"], ["IC21", "1"], ["IR4", "1"], ["IC31", "1"], ["IJ3", "11"], ["IL1", "2"], ["IC5", "1"]]}, - {name: "Ivgate", pads: [["IU2", "1"], ["ITP4", "1"], ["IU9", "1"], ["IC7", "1"], ["IC25", "1"]]}, - {name: "Iconv_out", pads: [["ITP5", "1"], ["IJ5", "2"], ["IR18", "1"], ["IL2", "2"], ["IC24", "1"]]}, - {name: "Ii2c_pull.i2c.scl", pads: [["IU3", "35"], ["IU4", "6"], ["IU6", "6"], ["IR5", "2"], ["IJ3", "18"]]}, - {name: "Ii2c_pull.i2c.sda", pads: [["IU3", "34"], ["IU4", "7"], ["IU6", "1"], ["IR6", "2"], ["IJ3", "19"], ["IJ3", "20"]]}, - {name: "Iusb.cc.cc1", pads: [["IJ1", "A5"], ["IU4", "10"], ["IU4", "11"]]}, - {name: "Iusb.cc.cc2", pads: [["IJ1", "B5"], ["IU4", "1"], ["IU4", "14"]]}, - {name: "Ipd.int", pads: [["IU3", "38"], ["IU4", "5"]]}, - {name: "Iusb_chain_0.d_P", pads: [["IJ1", "A6"], ["IJ1", "B6"], ["IU5", "2"], ["IU3", "14"]]}, - {name: "Iusb_chain_0.d_N", pads: [["IJ1", "A7"], ["IJ1", "B7"], ["IU5", "1"], ["IU3", "13"]]}, - {name: "Ivusb_sense.output", pads: [["IU3", "39"], ["IR7", "2"], ["IR8", "1"]]}, - {name: "Ienc.a", pads: [["IU3", "10"], ["ISW1", "A"]]}, - {name: "Ienc.b", pads: [["IU3", "9"], ["ISW1", "B"]]}, - {name: "Ienc.sw", pads: [["IU3", "8"], ["ISW1", "S1"]]}, - {name: "Ioled.reset", pads: [["IU3", "11"], ["IJ3", "14"]]}, - {name: "Ispk_drv.i2s.sck", pads: [["IU3", "32"], ["IU8", "16"]]}, - {name: "Ispk_drv.i2s.ws", pads: [["IU3", "31"], ["IU8", "14"]]}, - {name: "Ispk_drv.i2s.sd", pads: [["IU3", "33"], ["IU8", "1"]]}, - {name: "Ispk_drv.out.a", pads: [["IU8", "9"], ["IJ4", "1"]]}, - {name: "Ispk_drv.out.b", pads: [["IU8", "10"], ["IJ4", "2"]]}, - {name: "Imcu.program_boot_node", pads: [["IR10", "2"], ["IU3", "27"], ["IJ2", "2"]]}, - {name: "Ilow_pull.io", pads: [["IU3", "4"], ["IR13", "2"], ["IR14", "1"]]}, - {name: "Ilow_rc.output", pads: [["IU9", "6"], ["ITP6", "1"], ["IR14", "2"], ["IC27", "1"]]}, - {name: "Ihigh_pull.io", pads: [["IU3", "5"], ["IR15", "2"], ["IR16", "1"]]}, - {name: "Ihigh_rc.output", pads: [["IU9", "5"], ["ITP7", "1"], ["IR16", "2"], ["IC28", "1"]]}, - {name: "Itouch_sink.pad", pads: [["IU3", "15"], ["IU10", "1"]]}, - {name: "Ivsense.output", pads: [["ITP8", "1"], ["IR20", "1"], ["IR18", "2"], ["IR19", "1"]]}, - {name: "Ivfilt.output", pads: [["IU3", "6"], ["IR20", "2"], ["IC29", "1"]]}, - {name: "Iiron.isense", pads: [["IU11", "3"], ["IR24", "1"], ["IR17", "2"], ["IJ5", "1"]]}, - {name: "Iifilt.output", pads: [["IR23", "1"], ["IR21", "1"], ["IU11", "1"]]}, - {name: "Itp_i.output", pads: [["IU3", "7"], ["ITP9", "1"], ["IR23", "2"], ["IC30", "1"]]}, - {name: "Itamp.input_positive", pads: [["IR25", "1"], ["IJ5", "3"], ["ITP10", "1"]]}, - {name: "Itamp.output", pads: [["IU3", "12"], ["IR26", "1"], ["IU11", "7"]]}, - {name: "Ipacked_opamp.inn.0", pads: [["IU11", "2"], ["IR21", "2"], ["IR22", "1"]]}, - {name: "Ipacked_opamp.inp.1", pads: [["IU11", "5"], ["IR25", "2"], ["IR27", "2"]]}, - {name: "Ipacked_opamp.inn.1", pads: [["IU11", "6"], ["IR24", "2"], ["IR26", "2"]]}, - {name: "Ireg_3v3.fb.output", pads: [["IU1", "4"], ["IR1", "2"], ["IR2", "1"]]}, - {name: "Ireg_3v3.boot_cap.neg", pads: [["IC2", "2"], ["IU1", "2"], ["IL1", "1"]]}, - {name: "Ireg_3v3.boot_cap.pos", pads: [["IC2", "1"], ["IU1", "6"]]}, - {name: "Ireg_3v3.en_res.b", pads: [["IR3", "2"], ["IU1", "5"]]}, - {name: "Imcu.program_uart_node.a_tx", pads: [["IU3", "37"], ["IJ2", "3"]]}, - {name: "Imcu.program_uart_node.b_tx", pads: [["IU3", "36"], ["IJ2", "4"]]}, - {name: "Imcu.program_en_node", pads: [["IU3", "3"], ["IJ2", "6"], ["IR4", "2"], ["IC10", "1"]]}, - {name: "Ipd.ic.vconn", pads: [["IU4", "12"], ["IU4", "13"]]}, - {name: "Ioled.c1_cap.pos", pads: [["IC14", "1"], ["IJ3", "4"]]}, - {name: "Ioled.c1_cap.neg", pads: [["IC14", "2"], ["IJ3", "5"]]}, - {name: "Ioled.c2_cap.pos", pads: [["IC15", "1"], ["IJ3", "2"]]}, - {name: "Ioled.c2_cap.neg", pads: [["IC15", "2"], ["IJ3", "3"]]}, - {name: "Ioled.iref_res.a", pads: [["IR9", "1"], ["IJ3", "26"]]}, - {name: "Ioled.device.vcomh", pads: [["IJ3", "27"], ["IC16", "1"]]}, - {name: "Ioled.device.vcc", pads: [["IJ3", "28"], ["IC19", "1"]]}, - {name: "Iledr.res.a", pads: [["IR10", "1"], ["ID2", "1"]]}, - {name: "Iconv.sw_out_force", pads: [["IQ1", "5"], ["IQ1", "6"], ["IQ1", "7"], ["IQ1", "8"], ["IQ2", "1"], ["IQ2", "2"], ["IQ2", "3"], ["IL2", "1"], ["IU9", "4"], ["IC26", "2"]]}, - {name: "Iconv.sw.low_gate_res.a", pads: [["IR11", "1"], ["IU9", "8"]]}, - {name: "Iconv.sw.low_gate_res.b", pads: [["IR11", "2"], ["IQ1", "4"]]}, - {name: "Iconv.sw.high_gate_res.a", pads: [["IR12", "1"], ["IU9", "3"]]}, - {name: "Iconv.sw.high_gate_res.b", pads: [["IR12", "2"], ["IQ2", "4"]]}, - {name: "Iconv.sw.driver.ic.hb", pads: [["IU9", "2"], ["IC26", "1"]]} -]) - -const limit0 = pt(-0.07874015748031496, -0.07874015748031496); -const limit1 = pt(4.385236220472439, 3.2523622047244096); -const xMin = Math.min(limit0[0], limit1[0]); -const xMax = Math.max(limit0[0], limit1[0]); -const yMin = Math.min(limit0[1], limit1[1]); -const yMax = Math.max(limit0[1], limit1[1]); - -const filletRadius = 0.1; -const outline = path( - [(xMin+xMax/2), yMax], - ["fillet", filletRadius, [xMax, yMax]], - ["fillet", filletRadius, [xMax, yMin]], - ["fillet", filletRadius, [xMin, yMin]], - ["fillet", filletRadius, [xMin, yMax]], - [(xMin+xMax/2), yMax], -); -board.addShape("outline", outline); - -renderPCB({ - pcb: board, - layerColors: { - "F.Paste": "#000000ff", - "F.Mask": "#000000ff", - "B.Mask": "#000000ff", - "componentLabels": "#00e5e5e5", - "outline": "#002d00ff", - "padLabels": "#ffff99e5", - "B.Cu": "#ef4e4eff", - "F.Cu": "#ff8c00cc", - }, - limits: { - x: [xMin, xMax], - y: [yMin, yMax] - }, - background: "#00000000", - mmPerUnit: 25.4 -}) - - diff --git a/examples/IotKnob/IotKnob.net b/examples/IotKnob/IotKnob.net deleted file mode 100644 index d8e3923f7..000000000 --- a/examples/IotKnob/IotKnob.net +++ /dev/null @@ -1,1662 +0,0 @@ -(export (version D) -(components -(comp (ref "KH1") - (value "jlc_th.th1") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th1")) - (property (name "edg_short_path") (value "jlc_th.th1")) - (property (name "edg_refdes") (value "KH1")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "0260010e")) -(comp (ref "KH2") - (value "jlc_th.th2") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th2")) - (property (name "edg_short_path") (value "jlc_th.th2")) - (property (name "edg_refdes") (value "KH2")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "0261010f")) -(comp (ref "KH3") - (value "jlc_th.th3") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th3")) - (property (name "edg_short_path") (value "jlc_th.th3")) - (property (name "edg_refdes") (value "KH3")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "02620110")) -(comp (ref "KJ1") - (value "usb.conn") - (footprint "Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11") - (property (name "Sheetname") (value "usb")) - (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCReceptacle")) - (property (name "edg_path") (value "usb.conn")) - (property (name "edg_short_path") (value "usb.conn")) - (property (name "edg_refdes") (value "KJ1")) - (property (name "edg_part") (value "COM-15111 (Sparkfun)")) - (property (name "edg_value") (value "COM-15111")) - (sheetpath (names "/usb/") (tstamps "/02aa014b/")) - (tstamps "042701af")) -(comp (ref "KR1") - (value "usb.cc_pull.cc1") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "cc_pull")) - (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) - (property (name "edg_path") (value "usb.cc_pull.cc1.res")) - (property (name "edg_short_path") (value "usb.cc_pull.cc1")) - (property (name "edg_refdes") (value "KR1")) - (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/usb/cc_pull/") (tstamps "/02aa014b/0b4c02e3/")) - (tstamps "022300f8")) -(comp (ref "KR2") - (value "usb.cc_pull.cc2") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "cc_pull")) - (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) - (property (name "edg_path") (value "usb.cc_pull.cc2.res")) - (property (name "edg_short_path") (value "usb.cc_pull.cc2")) - (property (name "edg_refdes") (value "KR2")) - (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/usb/cc_pull/") (tstamps "/02aa014b/0b4c02e3/")) - (tstamps "022400f9")) -(comp (ref "KTP1") - (value "tp_pwr") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_pwr.tp")) - (property (name "edg_short_path") (value "tp_pwr")) - (property (name "edg_refdes") (value "KTP1")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "vusb")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "091a029d")) -(comp (ref "KTP2") - (value "tp_gnd") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_gnd.tp")) - (property (name "edg_short_path") (value "tp_gnd")) - (property (name "edg_refdes") (value "KTP2")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "gnd")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "08df027d")) -(comp (ref "KU1") - (value "reg_3v3.ic") - (footprint "Package_TO_SOT_SMD:SOT-223-3_TabPin2") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) - (property (name "edg_path") (value "reg_3v3.ic")) - (property (name "edg_short_path") (value "reg_3v3.ic")) - (property (name "edg_refdes") (value "KU1")) - (property (name "edg_part") (value "LDL1117S33R (STMicroelectronics)")) - (property (name "edg_value") (value "LDL1117S33R")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "013700cd")) -(comp (ref "KC1") - (value "reg_3v3.in_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) - (property (name "edg_path") (value "reg_3v3.in_cap.cap")) - (property (name "edg_short_path") (value "reg_3v3.in_cap")) - (property (name "edg_refdes") (value "KC1")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "0879026b")) -(comp (ref "KC2") - (value "reg_3v3.out_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) - (property (name "edg_path") (value "reg_3v3.out_cap.cap")) - (property (name "edg_short_path") (value "reg_3v3.out_cap")) - (property (name "edg_refdes") (value "KC2")) - (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "0be902ec")) -(comp (ref "KTP3") - (value "tp_3v3") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_3v3.tp")) - (property (name "edg_short_path") (value "tp_3v3")) - (property (name "edg_refdes") (value "KTP3")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "v3v3")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "08220220")) -(comp (ref "KD1") - (value "prot_3v3") - (footprint "Diode_SMD:D_SOD-323") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "prot_3v3.diode")) - (property (name "edg_short_path") (value "prot_3v3")) - (property (name "edg_refdes") (value "KD1")) - (property (name "edg_part") (value "BZT52B3V6S (SMC(Sangdest Microelectronicstronic (Nanjing)))")) - (property (name "edg_value") (value "5μA@1V 90Ω Single 3.53V~3.67V 200mW 3.6V SOD-323 Zener Diodes ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0eb80301")) -(comp (ref "KU2") - (value "mcu.ic") - (footprint "RF_Module:ESP32-S3-WROOM-1") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.ic")) - (property (name "edg_short_path") (value "mcu.ic")) - (property (name "edg_refdes") (value "KU2")) - (property (name "edg_part") (value "ESP32-S3-WROOM-1-N16R8 (Espressif Systems)")) - (property (name "edg_value") (value "ESP32-S3-WROOM-1-N16R8")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "013700cd")) -(comp (ref "KC3") - (value "mcu.vcc_cap0") - (footprint "Capacitor_SMD:C_1206_3216Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.vcc_cap0.cap")) - (property (name "edg_short_path") (value "mcu.vcc_cap0")) - (property (name "edg_refdes") (value "KC3")) - (property (name "edg_part") (value "CL31A226KPHNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "10V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "0e590300")) -(comp (ref "KC4") - (value "mcu.vcc_cap1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.vcc_cap1.cap")) - (property (name "edg_short_path") (value "mcu.vcc_cap1")) - (property (name "edg_refdes") (value "KC4")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "0e5a0301")) -(comp (ref "KJ2") - (value "mcu.prog") - (footprint "Connector:Tag-Connect_TC2030-IDC-FP_2x03_P1.27mm_Vertical") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) - (property (name "edg_path") (value "mcu.prog.conn")) - (property (name "edg_short_path") (value "mcu.prog")) - (property (name "edg_refdes") (value "KJ2")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "045f01b9")) -(comp (ref "KR3") - (value "mcu.en_pull.r") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "en_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) - (property (name "edg_path") (value "mcu.en_pull.rc.r")) - (property (name "edg_short_path") (value "mcu.en_pull.r")) - (property (name "edg_refdes") (value "KR3")) - (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) - (tstamps "00730073")) -(comp (ref "KC5") - (value "mcu.en_pull.c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "en_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) - (property (name "edg_path") (value "mcu.en_pull.rc.c")) - (property (name "edg_short_path") (value "mcu.en_pull.c")) - (property (name "edg_refdes") (value "KC5")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) - (tstamps "00640064")) -(comp (ref "KR4") - (value "i2c_pull.scl_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "i2c_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.I2cPullup.I2cPullup")) - (property (name "edg_path") (value "i2c_pull.scl_res.res")) - (property (name "edg_short_path") (value "i2c_pull.scl_res")) - (property (name "edg_refdes") (value "KR4")) - (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/i2c_pull/") (tstamps "/0d3e031b/")) - (tstamps "0ba902ec")) -(comp (ref "KR5") - (value "i2c_pull.sda_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "i2c_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.I2cPullup.I2cPullup")) - (property (name "edg_path") (value "i2c_pull.sda_res.res")) - (property (name "edg_short_path") (value "i2c_pull.sda_res")) - (property (name "edg_refdes") (value "KR5")) - (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/i2c_pull/") (tstamps "/0d3e031b/")) - (tstamps "0b7802e2")) -(comp (ref "KTP4") - (value "i2c_tp.tp_scl") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "i2c_tp")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.I2cTestPoint")) - (property (name "edg_path") (value "i2c_tp.tp_scl.tp")) - (property (name "edg_short_path") (value "i2c_tp.tp_scl")) - (property (name "edg_refdes") (value "KTP4")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "i2c_chain_0.scl")) - (sheetpath (names "/i2c_tp/") (tstamps "/07770242/")) - (tstamps "08f50286")) -(comp (ref "KTP5") - (value "i2c_tp.tp_sda") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "i2c_tp")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.I2cTestPoint")) - (property (name "edg_path") (value "i2c_tp.tp_sda.tp")) - (property (name "edg_short_path") (value "i2c_tp.tp_sda")) - (property (name "edg_refdes") (value "KTP5")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "i2c_chain_0.sda")) - (sheetpath (names "/i2c_tp/") (tstamps "/07770242/")) - (tstamps "08ec027c")) -(comp (ref "KU3") - (value "usb_esd") - (footprint "Package_TO_SOT_SMD:SOT-23") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "usb_esd")) - (property (name "edg_short_path") (value "usb_esd")) - (property (name "edg_refdes") (value "KU3")) - (property (name "edg_part") (value "PESD5V0X1BT (Nexperia)")) - (property (name "edg_value") (value "PESD5V0X1BT")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0bcb02e6")) -(comp (ref "KD2") - (value "ledr.package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "ledr")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "ledr.package")) - (property (name "edg_short_path") (value "ledr.package")) - (property (name "edg_refdes") (value "KD2")) - (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) - (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) - (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) - (tstamps "0b4e02cd")) -(comp (ref "KR6") - (value "ledr.res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "ledr")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "ledr.res")) - (property (name "edg_short_path") (value "ledr.res")) - (property (name "edg_refdes") (value "KR6")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) - (tstamps "0296014b")) -(comp (ref "KD3") - (value "ledy.package") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "ledy")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "ledy.package")) - (property (name "edg_short_path") (value "ledy.package")) - (property (name "edg_refdes") (value "KD3")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/ledy/") (tstamps "/042401af/")) - (tstamps "0b4e02cd")) -(comp (ref "KR7") - (value "ledy.res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "ledy")) - (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) - (property (name "edg_path") (value "ledy.res")) - (property (name "edg_short_path") (value "ledy.res")) - (property (name "edg_refdes") (value "KR7")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/ledy/") (tstamps "/042401af/")) - (tstamps "0296014b")) -(comp (ref "KSW1") - (value "enc") - (footprint "edg:RotaryEncoder_Alps_EC11J15-Switch") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "enc.package")) - (property (name "edg_short_path") (value "enc")) - (property (name "edg_refdes") (value "KSW1")) - (property (name "edg_part") (value "EC11J1525402 (Alps Alpine)")) - (property (name "edg_value") (value "EC11J1525402")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "02710137")) -(comp (ref "KSW2") - (value "sw[0]") - (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "sw[0].package")) - (property (name "edg_short_path") (value "sw[0]")) - (property (name "edg_refdes") (value "KSW2")) - (property (name "edg_part") (value "5.1mm switch")) - (property (name "edg_value") (value "5.1mm switch")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "05ee01d3")) -(comp (ref "KSW3") - (value "sw[1]") - (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "sw[1].package")) - (property (name "edg_short_path") (value "sw[1]")) - (property (name "edg_refdes") (value "KSW3")) - (property (name "edg_part") (value "5.1mm switch")) - (property (name "edg_value") (value "5.1mm switch")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "05f001d4")) -(comp (ref "KSW4") - (value "sw[2]") - (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "sw[2].package")) - (property (name "edg_short_path") (value "sw[2]")) - (property (name "edg_refdes") (value "KSW4")) - (property (name "edg_part") (value "5.1mm switch")) - (property (name "edg_value") (value "5.1mm switch")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "05f201d5")) -(comp (ref "KSW5") - (value "sw[3]") - (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "sw[3].package")) - (property (name "edg_short_path") (value "sw[3]")) - (property (name "edg_refdes") (value "KSW5")) - (property (name "edg_part") (value "5.1mm switch")) - (property (name "edg_value") (value "5.1mm switch")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "05f401d6")) -(comp (ref "KSW6") - (value "sw[4]") - (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "sw[4].package")) - (property (name "edg_short_path") (value "sw[4]")) - (property (name "edg_refdes") (value "KSW6")) - (property (name "edg_part") (value "5.1mm switch")) - (property (name "edg_value") (value "5.1mm switch")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "05f601d7")) -(comp (ref "KSW7") - (value "sw[5]") - (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "sw[5].package")) - (property (name "edg_short_path") (value "sw[5]")) - (property (name "edg_refdes") (value "KSW7")) - (property (name "edg_part") (value "5.1mm switch")) - (property (name "edg_value") (value "5.1mm switch")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "05f801d8")) -(comp (ref "KU4") - (value "als.ic") - (footprint "Package_TO_SOT_SMD:HVSOF6") - (property (name "Sheetname") (value "als")) - (property (name "Sheetfile") (value "edg.parts.LightSensor_Bh1750.Bh1750")) - (property (name "edg_path") (value "als.ic")) - (property (name "edg_short_path") (value "als.ic")) - (property (name "edg_refdes") (value "KU4")) - (property (name "edg_part") (value "BH1750 (Rohm Semiconductor)")) - (property (name "edg_value") (value "BH1750")) - (sheetpath (names "/als/") (tstamps "/02710141/")) - (tstamps "013700cd")) -(comp (ref "KC6") - (value "als.vcc_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "als")) - (property (name "Sheetfile") (value "edg.parts.LightSensor_Bh1750.Bh1750")) - (property (name "edg_path") (value "als.vcc_cap.cap")) - (property (name "edg_short_path") (value "als.vcc_cap")) - (property (name "edg_refdes") (value "KC6")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/als/") (tstamps "/02710141/")) - (tstamps "0b5902d0")) -(comp (ref "KR8") - (value "als.dvi_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "als")) - (property (name "Sheetfile") (value "edg.parts.LightSensor_Bh1750.Bh1750")) - (property (name "edg_path") (value "als.dvi_res")) - (property (name "edg_short_path") (value "als.dvi_res")) - (property (name "edg_refdes") (value "KR8")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/als/") (tstamps "/02710141/")) - (tstamps "0ba302ed")) -(comp (ref "KC7") - (value "als.dvi_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "als")) - (property (name "Sheetfile") (value "edg.parts.LightSensor_Bh1750.Bh1750")) - (property (name "edg_path") (value "als.dvi_cap")) - (property (name "edg_short_path") (value "als.dvi_cap")) - (property (name "edg_refdes") (value "KC7")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/als/") (tstamps "/02710141/")) - (tstamps "0b6b02d7")) -(comp (ref "KU5") - (value "dist.ic") - (footprint "OptoDevice:ST_VL53L0X") - (property (name "Sheetname") (value "dist")) - (property (name "Sheetfile") (value "edg.parts.Distance_Vl53l0x.Vl53l0x")) - (property (name "edg_path") (value "dist.ic")) - (property (name "edg_short_path") (value "dist.ic")) - (property (name "edg_refdes") (value "KU5")) - (property (name "edg_part") (value "VL53L0X (STMicroelectronics)")) - (property (name "edg_value") (value "VL53L0X")) - (sheetpath (names "/dist/") (tstamps "/042901b5/")) - (tstamps "013700cd")) -(comp (ref "KC8") - (value "dist.vdd_cap[0]") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "dist")) - (property (name "Sheetfile") (value "edg.parts.Distance_Vl53l0x.Vl53l0x")) - (property (name "edg_path") (value "dist.vdd_cap[0].cap")) - (property (name "edg_short_path") (value "dist.vdd_cap[0]")) - (property (name "edg_refdes") (value "KC8")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/dist/") (tstamps "/042901b5/")) - (tstamps "15a803ba")) -(comp (ref "KC9") - (value "dist.vdd_cap[1]") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "dist")) - (property (name "Sheetfile") (value "edg.parts.Distance_Vl53l0x.Vl53l0x")) - (property (name "edg_path") (value "dist.vdd_cap[1].cap")) - (property (name "edg_short_path") (value "dist.vdd_cap[1]")) - (property (name "edg_refdes") (value "KC9")) - (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/dist/") (tstamps "/042901b5/")) - (tstamps "15aa03bb")) -(comp (ref "KU6") - (value "env.ic") - (footprint "Sensor_Humidity:Sensirion_DFN-4-1EP_2x2mm_P1mm_EP0.7x1.6mm") - (property (name "Sheetname") (value "env")) - (property (name "Sheetfile") (value "edg.parts.EnvironmentalSensor_Sensirion.Shtc3")) - (property (name "edg_path") (value "env.ic")) - (property (name "edg_short_path") (value "env.ic")) - (property (name "edg_refdes") (value "KU6")) - (property (name "edg_part") (value "SHTC3 (Sensirion AG)")) - (property (name "edg_value") (value "SHTC3")) - (sheetpath (names "/env/") (tstamps "/0284014a/")) - (tstamps "013700cd")) -(comp (ref "KC10") - (value "env.vdd_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "env")) - (property (name "Sheetfile") (value "edg.parts.EnvironmentalSensor_Sensirion.Shtc3")) - (property (name "edg_path") (value "env.vdd_cap.cap")) - (property (name "edg_short_path") (value "env.vdd_cap")) - (property (name "edg_refdes") (value "KC10")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/env/") (tstamps "/0284014a/")) - (tstamps "0b6402d2")) -(comp (ref "KJ3") - (value "oled.device") - (footprint "Connector_FFC-FPC:Hirose_FH12-30S-0.5SH_1x30-1MP_P0.50mm_Horizontal") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.device.conn")) - (property (name "edg_short_path") (value "oled.device")) - (property (name "edg_refdes") (value "KJ3")) - (property (name "edg_part") (value "AFC01-S30FC*-00 (Jushuo)")) - (property (name "edg_value") (value "AFC01-S30FC*-00")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "08950271")) -(comp (ref "KU7") - (value "oled.lcd") - (footprint "edg:Lcd_Er_Oled0.96_1.1_Outline") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.lcd")) - (property (name "edg_short_path") (value "oled.lcd")) - (property (name "edg_refdes") (value "KU7")) - (property (name "edg_part") (value "ER-OLED-0.96-1.1 (EastRising)")) - (property (name "edg_value") (value "ER-OLED-0.96-1.1")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "02710134")) -(comp (ref "KC11") - (value "oled.c1_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.c1_cap")) - (property (name "edg_short_path") (value "oled.c1_cap")) - (property (name "edg_refdes") (value "KC11")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "07240228")) -(comp (ref "KC12") - (value "oled.c2_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.c2_cap")) - (property (name "edg_short_path") (value "oled.c2_cap")) - (property (name "edg_refdes") (value "KC12")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "07290229")) -(comp (ref "KR9") - (value "oled.iref_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.iref_res")) - (property (name "edg_short_path") (value "oled.iref_res")) - (property (name "edg_refdes") (value "KR9")) - (property (name "edg_part") (value "0603WAF3903T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 390kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "0ed90350")) -(comp (ref "KC13") - (value "oled.vcomh_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.vcomh_cap.cap")) - (property (name "edg_short_path") (value "oled.vcomh_cap")) - (property (name "edg_refdes") (value "KC13")) - (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "12bd03b1")) -(comp (ref "KC14") - (value "oled.vdd_cap1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.vdd_cap1.cap")) - (property (name "edg_short_path") (value "oled.vdd_cap1")) - (property (name "edg_refdes") (value "KC14")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "0e670303")) -(comp (ref "KC15") - (value "oled.vbat_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.vbat_cap.cap")) - (property (name "edg_short_path") (value "oled.vbat_cap")) - (property (name "edg_refdes") (value "KC15")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "0ec70341")) -(comp (ref "KC16") - (value "oled.vcc_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "oled")) - (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) - (property (name "edg_path") (value "oled.vcc_cap.cap")) - (property (name "edg_short_path") (value "oled.vcc_cap")) - (property (name "edg_refdes") (value "KC16")) - (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/oled/") (tstamps "/043201a5/")) - (tstamps "0b5902d0")) -(comp (ref "KU8") - (value "rgb_shift.ic") - (footprint "Package_TO_SOT_SMD:SOT-23-5") - (property (name "Sheetname") (value "rgb_shift")) - (property (name "Sheetfile") (value "edg.parts.Logic_74Ahct.L74Ahct1g125")) - (property (name "edg_path") (value "rgb_shift.ic")) - (property (name "edg_short_path") (value "rgb_shift.ic")) - (property (name "edg_refdes") (value "KU8")) - (property (name "edg_part") (value "74AHCT1G125W5-7 (Diodes Incorporated)")) - (property (name "edg_value") (value "74AHCT1G125W5-7")) - (sheetpath (names "/rgb_shift/") (tstamps "/128503b9/")) - (tstamps "013700cd")) -(comp (ref "KC17") - (value "rgb_shift.vdd_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "rgb_shift")) - (property (name "Sheetfile") (value "edg.parts.Logic_74Ahct.L74Ahct1g125")) - (property (name "edg_path") (value "rgb_shift.vdd_cap.cap")) - (property (name "edg_short_path") (value "rgb_shift.vdd_cap")) - (property (name "edg_refdes") (value "KC17")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/rgb_shift/") (tstamps "/128503b9/")) - (tstamps "0b6402d2")) -(comp (ref "KTP6") - (value "rgb_tp") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "rgb_tp.tp")) - (property (name "edg_short_path") (value "rgb_tp")) - (property (name "edg_refdes") (value "KTP6")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_rgb_shift_output_link")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "08b2027f")) -(comp (ref "KD4") - (value "rgb_knob.led[0]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_knob")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_knob.led[0]")) - (property (name "edg_short_path") (value "rgb_knob.led[0]")) - (property (name "edg_refdes") (value "KD4")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_knob/") (tstamps "/0ec60345/")) - (tstamps "07e5021e")) -(comp (ref "KD5") - (value "rgb_knob.led[1]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_knob")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_knob.led[1]")) - (property (name "edg_short_path") (value "rgb_knob.led[1]")) - (property (name "edg_refdes") (value "KD5")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_knob/") (tstamps "/0ec60345/")) - (tstamps "07e7021f")) -(comp (ref "KD6") - (value "rgb_knob.led[2]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_knob")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_knob.led[2]")) - (property (name "edg_short_path") (value "rgb_knob.led[2]")) - (property (name "edg_refdes") (value "KD6")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_knob/") (tstamps "/0ec60345/")) - (tstamps "07e90220")) -(comp (ref "KD7") - (value "rgb_knob.led[3]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_knob")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_knob.led[3]")) - (property (name "edg_short_path") (value "rgb_knob.led[3]")) - (property (name "edg_refdes") (value "KD7")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_knob/") (tstamps "/0ec60345/")) - (tstamps "07eb0221")) -(comp (ref "KD8") - (value "rgb_ring.led[0]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[0]")) - (property (name "edg_short_path") (value "rgb_ring.led[0]")) - (property (name "edg_refdes") (value "KD8")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07e5021e")) -(comp (ref "KD9") - (value "rgb_ring.led[1]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[1]")) - (property (name "edg_short_path") (value "rgb_ring.led[1]")) - (property (name "edg_refdes") (value "KD9")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07e7021f")) -(comp (ref "KD10") - (value "rgb_ring.led[2]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[2]")) - (property (name "edg_short_path") (value "rgb_ring.led[2]")) - (property (name "edg_refdes") (value "KD10")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07e90220")) -(comp (ref "KD11") - (value "rgb_ring.led[3]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[3]")) - (property (name "edg_short_path") (value "rgb_ring.led[3]")) - (property (name "edg_refdes") (value "KD11")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07eb0221")) -(comp (ref "KD12") - (value "rgb_ring.led[4]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[4]")) - (property (name "edg_short_path") (value "rgb_ring.led[4]")) - (property (name "edg_refdes") (value "KD12")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07ed0222")) -(comp (ref "KD13") - (value "rgb_ring.led[5]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[5]")) - (property (name "edg_short_path") (value "rgb_ring.led[5]")) - (property (name "edg_refdes") (value "KD13")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07ef0223")) -(comp (ref "KD14") - (value "rgb_ring.led[6]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[6]")) - (property (name "edg_short_path") (value "rgb_ring.led[6]")) - (property (name "edg_refdes") (value "KD14")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07f10224")) -(comp (ref "KD15") - (value "rgb_ring.led[7]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[7]")) - (property (name "edg_short_path") (value "rgb_ring.led[7]")) - (property (name "edg_refdes") (value "KD15")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07f30225")) -(comp (ref "KD16") - (value "rgb_ring.led[8]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[8]")) - (property (name "edg_short_path") (value "rgb_ring.led[8]")) - (property (name "edg_refdes") (value "KD16")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07f50226")) -(comp (ref "KD17") - (value "rgb_ring.led[9]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[9]")) - (property (name "edg_short_path") (value "rgb_ring.led[9]")) - (property (name "edg_refdes") (value "KD17")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "07f70227")) -(comp (ref "KD18") - (value "rgb_ring.led[10]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[10]")) - (property (name "edg_short_path") (value "rgb_ring.led[10]")) - (property (name "edg_refdes") (value "KD18")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a09024f")) -(comp (ref "KD19") - (value "rgb_ring.led[11]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[11]")) - (property (name "edg_short_path") (value "rgb_ring.led[11]")) - (property (name "edg_refdes") (value "KD19")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a0b0250")) -(comp (ref "KD20") - (value "rgb_ring.led[12]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[12]")) - (property (name "edg_short_path") (value "rgb_ring.led[12]")) - (property (name "edg_refdes") (value "KD20")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a0d0251")) -(comp (ref "KD21") - (value "rgb_ring.led[13]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[13]")) - (property (name "edg_short_path") (value "rgb_ring.led[13]")) - (property (name "edg_refdes") (value "KD21")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a0f0252")) -(comp (ref "KD22") - (value "rgb_ring.led[14]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[14]")) - (property (name "edg_short_path") (value "rgb_ring.led[14]")) - (property (name "edg_refdes") (value "KD22")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a110253")) -(comp (ref "KD23") - (value "rgb_ring.led[15]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[15]")) - (property (name "edg_short_path") (value "rgb_ring.led[15]")) - (property (name "edg_refdes") (value "KD23")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a130254")) -(comp (ref "KD24") - (value "rgb_ring.led[16]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[16]")) - (property (name "edg_short_path") (value "rgb_ring.led[16]")) - (property (name "edg_refdes") (value "KD24")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a150255")) -(comp (ref "KD25") - (value "rgb_ring.led[17]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[17]")) - (property (name "edg_short_path") (value "rgb_ring.led[17]")) - (property (name "edg_refdes") (value "KD25")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a170256")) -(comp (ref "KD26") - (value "rgb_ring.led[18]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[18]")) - (property (name "edg_short_path") (value "rgb_ring.led[18]")) - (property (name "edg_refdes") (value "KD26")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a190257")) -(comp (ref "KD27") - (value "rgb_ring.led[19]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[19]")) - (property (name "edg_short_path") (value "rgb_ring.led[19]")) - (property (name "edg_refdes") (value "KD27")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a1b0258")) -(comp (ref "KD28") - (value "rgb_ring.led[20]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[20]")) - (property (name "edg_short_path") (value "rgb_ring.led[20]")) - (property (name "edg_refdes") (value "KD28")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a0c0250")) -(comp (ref "KD29") - (value "rgb_ring.led[21]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[21]")) - (property (name "edg_short_path") (value "rgb_ring.led[21]")) - (property (name "edg_refdes") (value "KD29")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a0e0251")) -(comp (ref "KD30") - (value "rgb_ring.led[22]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[22]")) - (property (name "edg_short_path") (value "rgb_ring.led[22]")) - (property (name "edg_refdes") (value "KD30")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a100252")) -(comp (ref "KD31") - (value "rgb_ring.led[23]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_ring")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_ring.led[23]")) - (property (name "edg_short_path") (value "rgb_ring.led[23]")) - (property (name "edg_refdes") (value "KD31")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) - (tstamps "0a120253")) -(comp (ref "KD32") - (value "rgb_sw.led[0]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_sw")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_sw.led[0]")) - (property (name "edg_short_path") (value "rgb_sw.led[0]")) - (property (name "edg_refdes") (value "KD32")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_sw/") (tstamps "/08b70285/")) - (tstamps "07e5021e")) -(comp (ref "KD33") - (value "rgb_sw.led[1]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_sw")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_sw.led[1]")) - (property (name "edg_short_path") (value "rgb_sw.led[1]")) - (property (name "edg_refdes") (value "KD33")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_sw/") (tstamps "/08b70285/")) - (tstamps "07e7021f")) -(comp (ref "KD34") - (value "rgb_sw.led[2]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_sw")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_sw.led[2]")) - (property (name "edg_short_path") (value "rgb_sw.led[2]")) - (property (name "edg_refdes") (value "KD34")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_sw/") (tstamps "/08b70285/")) - (tstamps "07e90220")) -(comp (ref "KD35") - (value "rgb_sw.led[3]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_sw")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_sw.led[3]")) - (property (name "edg_short_path") (value "rgb_sw.led[3]")) - (property (name "edg_refdes") (value "KD35")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_sw/") (tstamps "/08b70285/")) - (tstamps "07eb0221")) -(comp (ref "KD36") - (value "rgb_sw.led[4]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_sw")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_sw.led[4]")) - (property (name "edg_short_path") (value "rgb_sw.led[4]")) - (property (name "edg_refdes") (value "KD36")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_sw/") (tstamps "/08b70285/")) - (tstamps "07ed0222")) -(comp (ref "KD37") - (value "rgb_sw.led[5]") - (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") - (property (name "Sheetname") (value "rgb_sw")) - (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) - (property (name "edg_path") (value "rgb_sw.led[5]")) - (property (name "edg_short_path") (value "rgb_sw.led[5]")) - (property (name "edg_refdes") (value "KD37")) - (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) - (property (name "edg_value") (value "SK6805-EC15")) - (sheetpath (names "/rgb_sw/") (tstamps "/08b70285/")) - (tstamps "07ef0223")) -(comp (ref "KR10") - (value "io8_pur") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "io8_pur.res")) - (property (name "edg_short_path") (value "io8_pur")) - (property (name "edg_refdes") (value "KR10")) - (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0ac002c7")) -(comp (ref "KR11") - (value "spk_dac.r") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "spk_dac")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.LowPassRcDac")) - (property (name "edg_path") (value "spk_dac.rc.r")) - (property (name "edg_short_path") (value "spk_dac.r")) - (property (name "edg_refdes") (value "KR11")) - (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/spk_dac/") (tstamps "/0bb002d6/")) - (tstamps "00730073")) -(comp (ref "KC18") - (value "spk_dac.c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "spk_dac")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.LowPassRcDac")) - (property (name "edg_path") (value "spk_dac.rc.c")) - (property (name "edg_short_path") (value "spk_dac.c")) - (property (name "edg_refdes") (value "KC18")) - (property (name "edg_part") (value "CL10B473KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 47nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/spk_dac/") (tstamps "/0bb002d6/")) - (tstamps "00640064")) -(comp (ref "KTP7") - (value "spk_tp") - (footprint "edg:TestPoint_TE_RCT_0805") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "spk_tp.tp")) - (property (name "edg_short_path") (value "spk_tp")) - (property (name "edg_refdes") (value "KTP7")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "_spk_dac_output_link")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "09090292")) -(comp (ref "KU9") - (value "spk_drv.ic") - (footprint "Package_SO:MSOP-8_3x3mm_P0.65mm") - (property (name "Sheetname") (value "spk_drv")) - (property (name "Sheetfile") (value "edg.parts.SpeakerDriver_Analog.Pam8302a")) - (property (name "edg_path") (value "spk_drv.ic")) - (property (name "edg_short_path") (value "spk_drv.ic")) - (property (name "edg_refdes") (value "KU9")) - (property (name "edg_part") (value "PAM8302AASCR (Diodes Incorporated)")) - (property (name "edg_value") (value "PAM8302AASCR")) - (sheetpath (names "/spk_drv/") (tstamps "/0be502fa/")) - (tstamps "013700cd")) -(comp (ref "KC19") - (value "spk_drv.pwr_cap0") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "spk_drv")) - (property (name "Sheetfile") (value "edg.parts.SpeakerDriver_Analog.Pam8302a")) - (property (name "edg_path") (value "spk_drv.pwr_cap0.cap")) - (property (name "edg_short_path") (value "spk_drv.pwr_cap0")) - (property (name "edg_refdes") (value "KC19")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/spk_drv/") (tstamps "/0be502fa/")) - (tstamps "0f0f031d")) -(comp (ref "KC20") - (value "spk_drv.pwr_cap1") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "spk_drv")) - (property (name "Sheetfile") (value "edg.parts.SpeakerDriver_Analog.Pam8302a")) - (property (name "edg_path") (value "spk_drv.pwr_cap1.cap")) - (property (name "edg_short_path") (value "spk_drv.pwr_cap1")) - (property (name "edg_refdes") (value "KC20")) - (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/spk_drv/") (tstamps "/0be502fa/")) - (tstamps "0f10031e")) -(comp (ref "KC21") - (value "spk_drv.inp_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "spk_drv")) - (property (name "Sheetfile") (value "edg.parts.SpeakerDriver_Analog.Pam8302a")) - (property (name "edg_path") (value "spk_drv.inp_cap")) - (property (name "edg_short_path") (value "spk_drv.inp_cap")) - (property (name "edg_refdes") (value "KC21")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/spk_drv/") (tstamps "/0be502fa/")) - (tstamps "0b8102db")) -(comp (ref "KC22") - (value "spk_drv.inn_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "spk_drv")) - (property (name "Sheetfile") (value "edg.parts.SpeakerDriver_Analog.Pam8302a")) - (property (name "edg_path") (value "spk_drv.inn_cap")) - (property (name "edg_short_path") (value "spk_drv.inn_cap")) - (property (name "edg_refdes") (value "KC22")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/spk_drv/") (tstamps "/0be502fa/")) - (tstamps "0b7702d9")) -(comp (ref "KJ4") - (value "spk") - (footprint "Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "spk.conn")) - (property (name "edg_short_path") (value "spk")) - (property (name "edg_refdes") (value "KJ4")) - (property (name "edg_part") (value "B2B-PH-K (JST)")) - (property (name "edg_value") (value "B2B-PH-K")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "02a7014f")) -(comp (ref "KR12") - (value "v5v_sense.top_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "v5v_sense")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) - (property (name "edg_path") (value "v5v_sense.div.top_res")) - (property (name "edg_short_path") (value "v5v_sense.top_res")) - (property (name "edg_refdes") (value "KR12")) - (property (name "edg_part") (value "0603WAF1502T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 15kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/v5v_sense/") (tstamps "/11b3039f/")) - (tstamps "0c0c02fd")) -(comp (ref "KR13") - (value "v5v_sense.bottom_res") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "v5v_sense")) - (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) - (property (name "edg_path") (value "v5v_sense.div.bottom_res")) - (property (name "edg_short_path") (value "v5v_sense.bottom_res")) - (property (name "edg_refdes") (value "KR13")) - (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/v5v_sense/") (tstamps "/11b3039f/")) - (tstamps "175b043f"))) -(nets -(net (code 1) (name "Kvusb") - (node (ref KJ1) (pin A4)) - (node (ref KJ1) (pin B9)) - (node (ref KJ1) (pin B4)) - (node (ref KJ1) (pin A9)) - (node (ref KTP1) (pin 1)) - (node (ref KU1) (pin 3)) - (node (ref KU8) (pin 5)) - (node (ref KD4) (pin 2)) - (node (ref KD5) (pin 2)) - (node (ref KD6) (pin 2)) - (node (ref KD7) (pin 2)) - (node (ref KD8) (pin 2)) - (node (ref KD9) (pin 2)) - (node (ref KD10) (pin 2)) - (node (ref KD11) (pin 2)) - (node (ref KD12) (pin 2)) - (node (ref KD13) (pin 2)) - (node (ref KD14) (pin 2)) - (node (ref KD15) (pin 2)) - (node (ref KD16) (pin 2)) - (node (ref KD17) (pin 2)) - (node (ref KD18) (pin 2)) - (node (ref KD19) (pin 2)) - (node (ref KD20) (pin 2)) - (node (ref KD21) (pin 2)) - (node (ref KD22) (pin 2)) - (node (ref KD23) (pin 2)) - (node (ref KD24) (pin 2)) - (node (ref KD25) (pin 2)) - (node (ref KD26) (pin 2)) - (node (ref KD27) (pin 2)) - (node (ref KD28) (pin 2)) - (node (ref KD29) (pin 2)) - (node (ref KD30) (pin 2)) - (node (ref KD31) (pin 2)) - (node (ref KD32) (pin 2)) - (node (ref KD33) (pin 2)) - (node (ref KD34) (pin 2)) - (node (ref KD35) (pin 2)) - (node (ref KD36) (pin 2)) - (node (ref KD37) (pin 2)) - (node (ref KU9) (pin 1)) - (node (ref KU9) (pin 6)) - (node (ref KR12) (pin 1)) - (node (ref KC1) (pin 1)) - (node (ref KC17) (pin 1)) - (node (ref KC19) (pin 1)) - (node (ref KC20) (pin 1))) -(net (code 2) (name "Kgnd") - (node (ref KU3) (pin 3)) - (node (ref KJ1) (pin A1)) - (node (ref KJ1) (pin B12)) - (node (ref KJ1) (pin B1)) - (node (ref KJ1) (pin A12)) - (node (ref KTP2) (pin 1)) - (node (ref KU1) (pin 1)) - (node (ref KD1) (pin 2)) - (node (ref KU2) (pin 1)) - (node (ref KU2) (pin 40)) - (node (ref KU2) (pin 41)) - (node (ref KR6) (pin 2)) - (node (ref KR7) (pin 2)) - (node (ref KSW1) (pin C)) - (node (ref KSW1) (pin S2)) - (node (ref KSW2) (pin 2)) - (node (ref KSW3) (pin 2)) - (node (ref KSW4) (pin 2)) - (node (ref KSW5) (pin 2)) - (node (ref KSW6) (pin 2)) - (node (ref KSW7) (pin 2)) - (node (ref KU4) (pin 2)) - (node (ref KU4) (pin 3)) - (node (ref KU5) (pin 2)) - (node (ref KU5) (pin 3)) - (node (ref KU5) (pin 4)) - (node (ref KU5) (pin 6)) - (node (ref KU5) (pin 12)) - (node (ref KU6) (pin 4)) - (node (ref KU6) (pin 5)) - (node (ref KU8) (pin 1)) - (node (ref KU8) (pin 3)) - (node (ref KD4) (pin 4)) - (node (ref KD5) (pin 4)) - (node (ref KD6) (pin 4)) - (node (ref KD7) (pin 4)) - (node (ref KD8) (pin 4)) - (node (ref KD9) (pin 4)) - (node (ref KD10) (pin 4)) - (node (ref KD11) (pin 4)) - (node (ref KD12) (pin 4)) - (node (ref KD13) (pin 4)) - (node (ref KD14) (pin 4)) - (node (ref KD15) (pin 4)) - (node (ref KD16) (pin 4)) - (node (ref KD17) (pin 4)) - (node (ref KD18) (pin 4)) - (node (ref KD19) (pin 4)) - (node (ref KD20) (pin 4)) - (node (ref KD21) (pin 4)) - (node (ref KD22) (pin 4)) - (node (ref KD23) (pin 4)) - (node (ref KD24) (pin 4)) - (node (ref KD25) (pin 4)) - (node (ref KD26) (pin 4)) - (node (ref KD27) (pin 4)) - (node (ref KD28) (pin 4)) - (node (ref KD29) (pin 4)) - (node (ref KD30) (pin 4)) - (node (ref KD31) (pin 4)) - (node (ref KD32) (pin 4)) - (node (ref KD33) (pin 4)) - (node (ref KD34) (pin 4)) - (node (ref KD35) (pin 4)) - (node (ref KD36) (pin 4)) - (node (ref KD37) (pin 4)) - (node (ref KU9) (pin 7)) - (node (ref KC18) (pin 2)) - (node (ref KR13) (pin 2)) - (node (ref KJ1) (pin S1)) - (node (ref KC7) (pin 2)) - (node (ref KR9) (pin 2)) - (node (ref KC22) (pin 2)) - (node (ref KC1) (pin 2)) - (node (ref KC2) (pin 2)) - (node (ref KC3) (pin 2)) - (node (ref KC4) (pin 2)) - (node (ref KJ2) (pin 5)) - (node (ref KC6) (pin 2)) - (node (ref KC8) (pin 2)) - (node (ref KC9) (pin 2)) - (node (ref KC10) (pin 2)) - (node (ref KC13) (pin 2)) - (node (ref KC14) (pin 2)) - (node (ref KC15) (pin 2)) - (node (ref KC16) (pin 2)) - (node (ref KC17) (pin 2)) - (node (ref KC19) (pin 2)) - (node (ref KC20) (pin 2)) - (node (ref KC5) (pin 2)) - (node (ref KR1) (pin 1)) - (node (ref KR2) (pin 1)) - (node (ref KJ3) (pin 8)) - (node (ref KJ3) (pin 1)) - (node (ref KJ3) (pin 30)) - (node (ref KJ3) (pin 29)) - (node (ref KJ3) (pin 17)) - (node (ref KJ3) (pin 16)) - (node (ref KJ3) (pin 21)) - (node (ref KJ3) (pin 22)) - (node (ref KJ3) (pin 23)) - (node (ref KJ3) (pin 24)) - (node (ref KJ3) (pin 25)) - (node (ref KJ3) (pin 12)) - (node (ref KJ3) (pin 10)) - (node (ref KJ3) (pin 15)) - (node (ref KJ3) (pin 13))) -(net (code 3) (name "Kv3v3") - (node (ref KU1) (pin 2)) - (node (ref KTP3) (pin 1)) - (node (ref KD1) (pin 1)) - (node (ref KU2) (pin 2)) - (node (ref KU4) (pin 1)) - (node (ref KU5) (pin 1)) - (node (ref KU5) (pin 11)) - (node (ref KU6) (pin 1)) - (node (ref KR10) (pin 1)) - (node (ref KC2) (pin 1)) - (node (ref KR8) (pin 1)) - (node (ref KU5) (pin 5)) - (node (ref KC3) (pin 1)) - (node (ref KC4) (pin 1)) - (node (ref KJ2) (pin 1)) - (node (ref KR4) (pin 1)) - (node (ref KR5) (pin 1)) - (node (ref KC6) (pin 1)) - (node (ref KC8) (pin 1)) - (node (ref KC9) (pin 1)) - (node (ref KC10) (pin 1)) - (node (ref KJ3) (pin 9)) - (node (ref KJ3) (pin 6)) - (node (ref KC14) (pin 1)) - (node (ref KC15) (pin 1)) - (node (ref KR3) (pin 1)) - (node (ref KJ3) (pin 11))) -(net (code 4) (name "Ki2c_chain_0.scl") - (node (ref KU2) (pin 33)) - (node (ref KU4) (pin 6)) - (node (ref KU5) (pin 10)) - (node (ref KU6) (pin 2)) - (node (ref KR4) (pin 2)) - (node (ref KTP4) (pin 1)) - (node (ref KJ3) (pin 18))) -(net (code 5) (name "Ki2c_chain_0.sda") - (node (ref KU2) (pin 32)) - (node (ref KU4) (pin 4)) - (node (ref KU5) (pin 9)) - (node (ref KU6) (pin 3)) - (node (ref KR5) (pin 2)) - (node (ref KTP5) (pin 1)) - (node (ref KJ3) (pin 19)) - (node (ref KJ3) (pin 20))) -(net (code 6) (name "Kusb_chain_0.d_P") - (node (ref KJ1) (pin A6)) - (node (ref KJ1) (pin B6)) - (node (ref KU3) (pin 2)) - (node (ref KU2) (pin 14))) -(net (code 7) (name "Kusb_chain_0.d_N") - (node (ref KJ1) (pin A7)) - (node (ref KJ1) (pin B7)) - (node (ref KU3) (pin 1)) - (node (ref KU2) (pin 13))) -(net (code 8) (name "Kledr.signal") - (node (ref KU2) (pin 25)) - (node (ref KD2) (pin 2))) -(net (code 9) (name "Kledy.signal") - (node (ref KU2) (pin 24)) - (node (ref KD3) (pin 2))) -(net (code 10) (name "Kenc.a") - (node (ref KU2) (pin 12)) - (node (ref KSW1) (pin A))) -(net (code 11) (name "Kenc.b") - (node (ref KU2) (pin 11)) - (node (ref KSW1) (pin B))) -(net (code 12) (name "Kenc.sw") - (node (ref KU2) (pin 31)) - (node (ref KSW1) (pin S1))) -(net (code 13) (name "Ksw[0].out") - (node (ref KU2) (pin 4)) - (node (ref KSW2) (pin 1))) -(net (code 14) (name "Ksw[1].out") - (node (ref KU2) (pin 6)) - (node (ref KSW3) (pin 1))) -(net (code 15) (name "Ksw[2].out") - (node (ref KU2) (pin 7)) - (node (ref KSW4) (pin 1))) -(net (code 16) (name "Ksw[3].out") - (node (ref KU2) (pin 35)) - (node (ref KSW5) (pin 1))) -(net (code 17) (name "Ksw[4].out") - (node (ref KU2) (pin 38)) - (node (ref KSW6) (pin 1))) -(net (code 18) (name "Ksw[5].out") - (node (ref KU2) (pin 39)) - (node (ref KSW7) (pin 1))) -(net (code 19) (name "Koled.reset") - (node (ref KU2) (pin 8)) - (node (ref KJ3) (pin 14))) -(net (code 20) (name "Kio8_pur.io") - (node (ref KU2) (pin 10)) - (node (ref KU8) (pin 2)) - (node (ref KR10) (pin 2))) -(net (code 21) (name "Krgb_shift.output") - (node (ref KU8) (pin 4)) - (node (ref KD4) (pin 1)) - (node (ref KTP6) (pin 1))) -(net (code 22) (name "Krgb_knob.dout") - (node (ref KD7) (pin 3)) - (node (ref KD8) (pin 1))) -(net (code 23) (name "Krgb_ring.dout") - (node (ref KD31) (pin 3)) - (node (ref KD32) (pin 1))) -(net (code 24) (name "Kspk_dac.input") - (node (ref KU2) (pin 9)) - (node (ref KR11) (pin 1))) -(net (code 25) (name "Kspk_dac.output") - (node (ref KTP7) (pin 1)) - (node (ref KC21) (pin 2)) - (node (ref KR11) (pin 2)) - (node (ref KC18) (pin 1))) -(net (code 26) (name "Kspk_drv.spk.a") - (node (ref KU9) (pin 5)) - (node (ref KJ4) (pin 1))) -(net (code 27) (name "Kspk_drv.spk.b") - (node (ref KU9) (pin 8)) - (node (ref KJ4) (pin 2))) -(net (code 28) (name "Kv5v_sense.output") - (node (ref KU2) (pin 5)) - (node (ref KR12) (pin 2)) - (node (ref KR13) (pin 1))) -(net (code 29) (name "Kusb.conn.cc.cc1") - (node (ref KJ1) (pin A5)) - (node (ref KR1) (pin 2))) -(net (code 30) (name "Kusb.conn.cc.cc2") - (node (ref KJ1) (pin B5)) - (node (ref KR2) (pin 2))) -(net (code 31) (name "Kmcu.program_uart_node.a_tx") - (node (ref KU2) (pin 37)) - (node (ref KJ2) (pin 3))) -(net (code 32) (name "Kmcu.program_uart_node.b_tx") - (node (ref KU2) (pin 36)) - (node (ref KJ2) (pin 4))) -(net (code 33) (name "Kmcu.program_en_node") - (node (ref KU2) (pin 3)) - (node (ref KJ2) (pin 6)) - (node (ref KR3) (pin 2)) - (node (ref KC5) (pin 1))) -(net (code 34) (name "Kmcu.program_boot_node") - (node (ref KU2) (pin 27)) - (node (ref KJ2) (pin 2))) -(net (code 35) (name "Kledr.res.a") - (node (ref KR6) (pin 1)) - (node (ref KD2) (pin 1))) -(net (code 36) (name "Kledy.res.a") - (node (ref KR7) (pin 1)) - (node (ref KD3) (pin 1))) -(net (code 37) (name "Kals.dvi_res.b") - (node (ref KR8) (pin 2)) - (node (ref KU4) (pin 5)) - (node (ref KC7) (pin 1))) -(net (code 38) (name "Kdist.ic.gpio1") - (node (ref KU5) (pin 7))) -(net (code 39) (name "Koled.c1_cap.pos") - (node (ref KC11) (pin 1)) - (node (ref KJ3) (pin 4))) -(net (code 40) (name "Koled.c1_cap.neg") - (node (ref KC11) (pin 2)) - (node (ref KJ3) (pin 5))) -(net (code 41) (name "Koled.c2_cap.pos") - (node (ref KC12) (pin 1)) - (node (ref KJ3) (pin 2))) -(net (code 42) (name "Koled.c2_cap.neg") - (node (ref KC12) (pin 2)) - (node (ref KJ3) (pin 3))) -(net (code 43) (name "Koled.iref_res.a") - (node (ref KR9) (pin 1)) - (node (ref KJ3) (pin 26))) -(net (code 44) (name "Koled.device.vcomh") - (node (ref KJ3) (pin 27)) - (node (ref KC13) (pin 1))) -(net (code 45) (name "Koled.device.vcc") - (node (ref KJ3) (pin 28)) - (node (ref KC16) (pin 1))) -(net (code 46) (name "Krgb_knob.led[0].dout") - (node (ref KD4) (pin 3)) - (node (ref KD5) (pin 1))) -(net (code 47) (name "Krgb_knob.led[1].dout") - (node (ref KD5) (pin 3)) - (node (ref KD6) (pin 1))) -(net (code 48) (name "Krgb_knob.led[2].dout") - (node (ref KD6) (pin 3)) - (node (ref KD7) (pin 1))) -(net (code 49) (name "Krgb_ring.led[0].dout") - (node (ref KD8) (pin 3)) - (node (ref KD9) (pin 1))) -(net (code 50) (name "Krgb_ring.led[1].dout") - (node (ref KD9) (pin 3)) - (node (ref KD10) (pin 1))) -(net (code 51) (name "Krgb_ring.led[2].dout") - (node (ref KD10) (pin 3)) - (node (ref KD11) (pin 1))) -(net (code 52) (name "Krgb_ring.led[3].dout") - (node (ref KD11) (pin 3)) - (node (ref KD12) (pin 1))) -(net (code 53) (name "Krgb_ring.led[4].dout") - (node (ref KD12) (pin 3)) - (node (ref KD13) (pin 1))) -(net (code 54) (name "Krgb_ring.led[5].dout") - (node (ref KD13) (pin 3)) - (node (ref KD14) (pin 1))) -(net (code 55) (name "Krgb_ring.led[6].dout") - (node (ref KD14) (pin 3)) - (node (ref KD15) (pin 1))) -(net (code 56) (name "Krgb_ring.led[7].dout") - (node (ref KD15) (pin 3)) - (node (ref KD16) (pin 1))) -(net (code 57) (name "Krgb_ring.led[8].dout") - (node (ref KD16) (pin 3)) - (node (ref KD17) (pin 1))) -(net (code 58) (name "Krgb_ring.led[9].dout") - (node (ref KD17) (pin 3)) - (node (ref KD18) (pin 1))) -(net (code 59) (name "Krgb_ring.led[10].dout") - (node (ref KD18) (pin 3)) - (node (ref KD19) (pin 1))) -(net (code 60) (name "Krgb_ring.led[11].dout") - (node (ref KD19) (pin 3)) - (node (ref KD20) (pin 1))) -(net (code 61) (name "Krgb_ring.led[12].dout") - (node (ref KD20) (pin 3)) - (node (ref KD21) (pin 1))) -(net (code 62) (name "Krgb_ring.led[13].dout") - (node (ref KD21) (pin 3)) - (node (ref KD22) (pin 1))) -(net (code 63) (name "Krgb_ring.led[14].dout") - (node (ref KD22) (pin 3)) - (node (ref KD23) (pin 1))) -(net (code 64) (name "Krgb_ring.led[15].dout") - (node (ref KD23) (pin 3)) - (node (ref KD24) (pin 1))) -(net (code 65) (name "Krgb_ring.led[16].dout") - (node (ref KD24) (pin 3)) - (node (ref KD25) (pin 1))) -(net (code 66) (name "Krgb_ring.led[17].dout") - (node (ref KD25) (pin 3)) - (node (ref KD26) (pin 1))) -(net (code 67) (name "Krgb_ring.led[18].dout") - (node (ref KD26) (pin 3)) - (node (ref KD27) (pin 1))) -(net (code 68) (name "Krgb_ring.led[19].dout") - (node (ref KD27) (pin 3)) - (node (ref KD28) (pin 1))) -(net (code 69) (name "Krgb_ring.led[20].dout") - (node (ref KD28) (pin 3)) - (node (ref KD29) (pin 1))) -(net (code 70) (name "Krgb_ring.led[21].dout") - (node (ref KD29) (pin 3)) - (node (ref KD30) (pin 1))) -(net (code 71) (name "Krgb_ring.led[22].dout") - (node (ref KD30) (pin 3)) - (node (ref KD31) (pin 1))) -(net (code 72) (name "Krgb_sw.led[0].dout") - (node (ref KD32) (pin 3)) - (node (ref KD33) (pin 1))) -(net (code 73) (name "Krgb_sw.led[1].dout") - (node (ref KD33) (pin 3)) - (node (ref KD34) (pin 1))) -(net (code 74) (name "Krgb_sw.led[2].dout") - (node (ref KD34) (pin 3)) - (node (ref KD35) (pin 1))) -(net (code 75) (name "Krgb_sw.led[3].dout") - (node (ref KD35) (pin 3)) - (node (ref KD36) (pin 1))) -(net (code 76) (name "Krgb_sw.led[4].dout") - (node (ref KD36) (pin 3)) - (node (ref KD37) (pin 1))) -(net (code 77) (name "Krgb_sw.dout") - (node (ref KD37) (pin 3))) -(net (code 78) (name "Kspk_drv.inp_cap.pos") - (node (ref KC21) (pin 1)) - (node (ref KU9) (pin 3))) -(net (code 79) (name "Kspk_drv.inn_cap.pos") - (node (ref KC22) (pin 1)) - (node (ref KU9) (pin 4)))) -) \ No newline at end of file diff --git a/examples/IotKnob/IotKnob.svgpcb.js b/examples/IotKnob/IotKnob.svgpcb.js deleted file mode 100644 index b4a8c7121..000000000 --- a/examples/IotKnob/IotKnob.svgpcb.js +++ /dev/null @@ -1,799 +0,0 @@ -const board = new PCB(); - -const rgb_knob = NeopixelArrayCircular_4_rgb_knob(pt(1.039, 1.039)) -const rgb_ring = NeopixelArrayCircular_24_rgb_ring(pt(3.157, 1.039)) -const rgb_sw = NeopixelArrayCircular_6_rgb_sw(pt(5.276, 1.039)) -// jlc_th.th1 -const KH1 = board.add(JlcToolingHole_1_152mm, { - translate: pt(1.922, 3.858), rotate: 0, - id: 'KH1' -}) -// jlc_th.th2 -const KH2 = board.add(JlcToolingHole_1_152mm, { - translate: pt(1.961, 3.858), rotate: 0, - id: 'KH2' -}) -// jlc_th.th3 -const KH3 = board.add(JlcToolingHole_1_152mm, { - translate: pt(1.922, 3.898), rotate: 0, - id: 'KH3' -}) -// usb.conn -const KJ1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { - translate: pt(5.262, 2.283), rotate: 0, - id: 'KJ1' -}) -// usb.cc_pull.cc1.res -const KR1 = board.add(R_0603_1608Metric, { - translate: pt(5.111, 2.538), rotate: 0, - id: 'KR1' -}) -// usb.cc_pull.cc2.res -const KR2 = board.add(R_0603_1608Metric, { - translate: pt(5.267, 2.538), rotate: 0, - id: 'KR2' -}) -// tp_pwr.tp -const KTP1 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.062, 3.896), rotate: 0, - id: 'KTP1' -}) -// tp_gnd.tp -const KTP2 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.811, 3.896), rotate: 0, - id: 'KTP2' -}) -// reg_3v3.ic -const KU1 = board.add(SOT_223_3_TabPin2, { - translate: pt(5.763, 2.260), rotate: 0, - id: 'KU1' -}) -// reg_3v3.in_cap.cap -const KC1 = board.add(C_0603_1608Metric, { - translate: pt(5.821, 2.470), rotate: 0, - id: 'KC1' -}) -// reg_3v3.out_cap.cap -const KC2 = board.add(C_0805_2012Metric, { - translate: pt(5.657, 2.480), rotate: 0, - id: 'KC2' -}) -// tp_3v3.tp -const KTP3 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(1.312, 3.896), rotate: 0, - id: 'KTP3' -}) -// prot_3v3.diode -const KD1 = board.add(D_SOD_323, { - translate: pt(0.063, 3.896), rotate: 0, - id: 'KD1' -}) -// mcu.ic -const KU2 = board.add(ESP32_S3_WROOM_1, { - translate: pt(0.945, 2.648), rotate: 0, - id: 'KU2' -}) -// mcu.vcc_cap0.cap -const KC3 = board.add(C_1206_3216Metric, { - translate: pt(2.020, 2.537), rotate: 0, - id: 'KC3' -}) -// mcu.vcc_cap1.cap -const KC4 = board.add(C_0603_1608Metric, { - translate: pt(2.208, 2.521), rotate: 0, - id: 'KC4' -}) -// mcu.prog.conn -const KJ2 = board.add(Tag_Connect_TC2030_IDC_FP_2x03_P1_27mm_Vertical, { - translate: pt(2.096, 2.285), rotate: 0, - id: 'KJ2' -}) -// mcu.en_pull.rc.r -const KR3 = board.add(R_0603_1608Metric, { - translate: pt(2.364, 2.521), rotate: 0, - id: 'KR3' -}) -// mcu.en_pull.rc.c -const KC5 = board.add(C_0603_1608Metric, { - translate: pt(1.987, 2.651), rotate: 0, - id: 'KC5' -}) -// i2c_pull.scl_res.res -const KR4 = board.add(R_0603_1608Metric, { - translate: pt(5.948, 3.437), rotate: 0, - id: 'KR4' -}) -// i2c_pull.sda_res.res -const KR5 = board.add(R_0603_1608Metric, { - translate: pt(5.948, 3.533), rotate: 0, - id: 'KR5' -}) -// i2c_tp.tp_scl.tp -const KTP4 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(4.589, 3.445), rotate: 0, - id: 'KTP4' -}) -// i2c_tp.tp_sda.tp -const KTP5 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(4.589, 3.559), rotate: 0, - id: 'KTP5' -}) -// usb_esd -const KU3 = board.add(SOT_23, { - translate: pt(1.807, 3.925), rotate: 0, - id: 'KU3' -}) -// ledr.package -const KD2 = board.add(LED_0603_1608Metric, { - translate: pt(5.478, 3.437), rotate: 0, - id: 'KD2' -}) -// ledr.res -const KR6 = board.add(R_0603_1608Metric, { - translate: pt(5.478, 3.534), rotate: 0, - id: 'KR6' -}) -// ledy.package -const KD3 = board.add(LED_0603_1608Metric, { - translate: pt(5.244, 3.437), rotate: 0, - id: 'KD3' -}) -// ledy.res -const KR7 = board.add(R_0603_1608Metric, { - translate: pt(5.243, 3.534), rotate: 0, - id: 'KR7' -}) -// enc.package -const KSW1 = board.add(RotaryEncoder_Alps_EC11J15_Switch, { - translate: pt(4.541, 2.463), rotate: 0, - id: 'KSW1' -}) -// sw[0].package -const KSW2 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(5.002, 3.037), rotate: 0, - id: 'KSW2' -}) -// sw[1].package -const KSW3 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(2.707, 3.520), rotate: 0, - id: 'KSW3' -}) -// sw[2].package -const KSW4 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(3.613, 3.520), rotate: 0, - id: 'KSW4' -}) -// sw[3].package -const KSW5 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(3.160, 3.520), rotate: 0, - id: 'KSW5' -}) -// sw[4].package -const KSW6 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(5.455, 3.037), rotate: 0, - id: 'KSW6' -}) -// sw[5].package -const KSW7 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(5.907, 3.037), rotate: 0, - id: 'KSW7' -}) -// als.ic -const KU4 = board.add(HVSOF6, { - translate: pt(4.842, 3.449), rotate: 0, - id: 'KU4' -}) -// als.vcc_cap.cap -const KC6 = board.add(C_0603_1608Metric, { - translate: pt(5.009, 3.437), rotate: 0, - id: 'KC6' -}) -// als.dvi_res -const KR8 = board.add(R_0603_1608Metric, { - translate: pt(4.831, 3.559), rotate: 0, - id: 'KR8' -}) -// als.dvi_cap -const KC7 = board.add(C_0603_1608Metric, { - translate: pt(4.987, 3.559), rotate: 0, - id: 'KC7' -}) -// dist.ic -const KU5 = board.add(ST_VL53L0X, { - translate: pt(4.244, 2.983), rotate: 0, - id: 'KU5' -}) -// dist.vdd_cap[0].cap -const KC8 = board.add(C_0603_1608Metric, { - translate: pt(4.379, 3.107), rotate: 0, - id: 'KC8' -}) -// dist.vdd_cap[1].cap -const KC9 = board.add(C_0805_2012Metric, { - translate: pt(4.214, 3.117), rotate: 0, - id: 'KC9' -}) -// env.ic -const KU6 = board.add(Sensirion_DFN_4_1EP_2x2mm_P1mm_EP0_7x1_6mm, { - translate: pt(4.345, 3.457), rotate: 0, - id: 'KU6' -}) -// env.vdd_cap.cap -const KC10 = board.add(C_0603_1608Metric, { - translate: pt(4.346, 3.574), rotate: 0, - id: 'KC10' -}) -// oled.device.conn -const KJ3 = board.add(Hirose_FH12_30S_0_5SH_1x30_1MP_P0_50mm_Horizontal, { - translate: pt(2.956, 3.172), rotate: 0, - id: 'KJ3' -}) -// oled.lcd -const KU7 = board.add(Lcd_Er_Oled0_96_1_1_Outline, { - translate: pt(3.066, 2.634), rotate: 0, - id: 'KU7' -}) -// oled.c1_cap -const KC11 = board.add(C_0603_1608Metric, { - translate: pt(3.815, 3.007), rotate: 0, - id: 'KC11' -}) -// oled.c2_cap -const KC12 = board.add(C_0603_1608Metric, { - translate: pt(3.971, 3.007), rotate: 0, - id: 'KC12' -}) -// oled.iref_res -const KR9 = board.add(R_0603_1608Metric, { - translate: pt(3.469, 3.124), rotate: 0, - id: 'KR9' -}) -// oled.vcomh_cap.cap -const KC13 = board.add(C_0805_2012Metric, { - translate: pt(3.477, 3.017), rotate: 0, - id: 'KC13' -}) -// oled.vdd_cap1.cap -const KC14 = board.add(C_0603_1608Metric, { - translate: pt(3.624, 3.124), rotate: 0, - id: 'KC14' -}) -// oled.vbat_cap.cap -const KC15 = board.add(C_0603_1608Metric, { - translate: pt(3.780, 3.124), rotate: 0, - id: 'KC15' -}) -// oled.vcc_cap.cap -const KC16 = board.add(C_0805_2012Metric, { - translate: pt(3.650, 3.017), rotate: 0, - id: 'KC16' -}) -// rgb_shift.ic -const KU8 = board.add(SOT_23_5, { - translate: pt(4.636, 2.992), rotate: 0, - id: 'KU8' -}) -// rgb_shift.vdd_cap.cap -const KC17 = board.add(C_0603_1608Metric, { - translate: pt(4.613, 3.127), rotate: 0, - id: 'KC17' -}) -// rgb_tp.tp -const KTP6 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.311, 3.896), rotate: 0, - id: 'KTP6' -}) -// io8_pur.res -const KR10 = board.add(R_0603_1608Metric, { - translate: pt(1.555, 3.887), rotate: 0, - id: 'KR10' -}) -// spk_dac.rc.r -const KR11 = board.add(R_0603_1608Metric, { - translate: pt(5.713, 3.437), rotate: 0, - id: 'KR11' -}) -// spk_dac.rc.c -const KC18 = board.add(C_0603_1608Metric, { - translate: pt(5.713, 3.533), rotate: 0, - id: 'KC18' -}) -// spk_tp.tp -const KTP7 = board.add(TestPoint_TE_RCT_0805, { - translate: pt(0.561, 3.896), rotate: 0, - id: 'KTP7' -}) -// spk_drv.ic -const KU9 = board.add(MSOP_8_3x3mm_P0_65mm, { - translate: pt(6.180, 2.187), rotate: 0, - id: 'KU9' -}) -// spk_drv.pwr_cap0.cap -const KC19 = board.add(C_0603_1608Metric, { - translate: pt(6.286, 2.324), rotate: 0, - id: 'KC19' -}) -// spk_drv.pwr_cap1.cap -const KC20 = board.add(C_0805_2012Metric, { - translate: pt(6.121, 2.334), rotate: 0, - id: 'KC20' -}) -// spk_drv.inp_cap -const KC21 = board.add(C_0603_1608Metric, { - translate: pt(6.113, 2.441), rotate: 0, - id: 'KC21' -}) -// spk_drv.inn_cap -const KC22 = board.add(C_0603_1608Metric, { - translate: pt(6.269, 2.441), rotate: 0, - id: 'KC22' -}) -// spk.conn -const KJ4 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { - translate: pt(3.995, 3.538), rotate: 0, - id: 'KJ4' -}) -// v5v_sense.div.top_res -const KR12 = board.add(R_0603_1608Metric, { - translate: pt(6.182, 3.437), rotate: 0, - id: 'KR12' -}) -// v5v_sense.div.bottom_res -const KR13 = board.add(R_0603_1608Metric, { - translate: pt(6.182, 3.533), rotate: 0, - id: 'KR13' -}) - -board.setNetlist([ - {name: "Kvusb", pads: [["KJ1", "A4"], ["KJ1", "B9"], ["KJ1", "B4"], ["KJ1", "A9"], ["KTP1", "1"], ["KU1", "3"], ["KU8", "5"], ["KD4", "2"], ["KD5", "2"], ["KD6", "2"], ["KD7", "2"], ["KD8", "2"], ["KD9", "2"], ["KD10", "2"], ["KD11", "2"], ["KD12", "2"], ["KD13", "2"], ["KD14", "2"], ["KD15", "2"], ["KD16", "2"], ["KD17", "2"], ["KD18", "2"], ["KD19", "2"], ["KD20", "2"], ["KD21", "2"], ["KD22", "2"], ["KD23", "2"], ["KD24", "2"], ["KD25", "2"], ["KD26", "2"], ["KD27", "2"], ["KD28", "2"], ["KD29", "2"], ["KD30", "2"], ["KD31", "2"], ["KD32", "2"], ["KD33", "2"], ["KD34", "2"], ["KD35", "2"], ["KD36", "2"], ["KD37", "2"], ["KU9", "1"], ["KU9", "6"], ["KR12", "1"], ["KC1", "1"], ["KC17", "1"], ["KC19", "1"], ["KC20", "1"]]}, - {name: "Kgnd", pads: [["KU3", "3"], ["KJ1", "A1"], ["KJ1", "B12"], ["KJ1", "B1"], ["KJ1", "A12"], ["KTP2", "1"], ["KU1", "1"], ["KD1", "2"], ["KU2", "1"], ["KU2", "40"], ["KU2", "41"], ["KR6", "2"], ["KR7", "2"], ["KSW1", "C"], ["KSW1", "S2"], ["KSW2", "2"], ["KSW3", "2"], ["KSW4", "2"], ["KSW5", "2"], ["KSW6", "2"], ["KSW7", "2"], ["KU4", "2"], ["KU4", "3"], ["KU5", "2"], ["KU5", "3"], ["KU5", "4"], ["KU5", "6"], ["KU5", "12"], ["KU6", "4"], ["KU6", "5"], ["KU8", "1"], ["KU8", "3"], ["KD4", "4"], ["KD5", "4"], ["KD6", "4"], ["KD7", "4"], ["KD8", "4"], ["KD9", "4"], ["KD10", "4"], ["KD11", "4"], ["KD12", "4"], ["KD13", "4"], ["KD14", "4"], ["KD15", "4"], ["KD16", "4"], ["KD17", "4"], ["KD18", "4"], ["KD19", "4"], ["KD20", "4"], ["KD21", "4"], ["KD22", "4"], ["KD23", "4"], ["KD24", "4"], ["KD25", "4"], ["KD26", "4"], ["KD27", "4"], ["KD28", "4"], ["KD29", "4"], ["KD30", "4"], ["KD31", "4"], ["KD32", "4"], ["KD33", "4"], ["KD34", "4"], ["KD35", "4"], ["KD36", "4"], ["KD37", "4"], ["KU9", "7"], ["KC18", "2"], ["KR13", "2"], ["KJ1", "S1"], ["KC7", "2"], ["KR9", "2"], ["KC22", "2"], ["KC1", "2"], ["KC2", "2"], ["KC3", "2"], ["KC4", "2"], ["KJ2", "5"], ["KC6", "2"], ["KC8", "2"], ["KC9", "2"], ["KC10", "2"], ["KC13", "2"], ["KC14", "2"], ["KC15", "2"], ["KC16", "2"], ["KC17", "2"], ["KC19", "2"], ["KC20", "2"], ["KC5", "2"], ["KR1", "1"], ["KR2", "1"], ["KJ3", "8"], ["KJ3", "1"], ["KJ3", "30"], ["KJ3", "29"], ["KJ3", "17"], ["KJ3", "16"], ["KJ3", "21"], ["KJ3", "22"], ["KJ3", "23"], ["KJ3", "24"], ["KJ3", "25"], ["KJ3", "12"], ["KJ3", "10"], ["KJ3", "15"], ["KJ3", "13"]]}, - {name: "Kv3v3", pads: [["KU1", "2"], ["KTP3", "1"], ["KD1", "1"], ["KU2", "2"], ["KU4", "1"], ["KU5", "1"], ["KU5", "11"], ["KU6", "1"], ["KR10", "1"], ["KC2", "1"], ["KR8", "1"], ["KU5", "5"], ["KC3", "1"], ["KC4", "1"], ["KJ2", "1"], ["KR4", "1"], ["KR5", "1"], ["KC6", "1"], ["KC8", "1"], ["KC9", "1"], ["KC10", "1"], ["KJ3", "9"], ["KJ3", "6"], ["KC14", "1"], ["KC15", "1"], ["KR3", "1"], ["KJ3", "11"]]}, - {name: "Ki2c_chain_0.scl", pads: [["KU2", "33"], ["KU4", "6"], ["KU5", "10"], ["KU6", "2"], ["KR4", "2"], ["KTP4", "1"], ["KJ3", "18"]]}, - {name: "Ki2c_chain_0.sda", pads: [["KU2", "32"], ["KU4", "4"], ["KU5", "9"], ["KU6", "3"], ["KR5", "2"], ["KTP5", "1"], ["KJ3", "19"], ["KJ3", "20"]]}, - {name: "Kusb_chain_0.d_P", pads: [["KJ1", "A6"], ["KJ1", "B6"], ["KU3", "2"], ["KU2", "14"]]}, - {name: "Kusb_chain_0.d_N", pads: [["KJ1", "A7"], ["KJ1", "B7"], ["KU3", "1"], ["KU2", "13"]]}, - {name: "Kledr.signal", pads: [["KU2", "25"], ["KD2", "2"]]}, - {name: "Kledy.signal", pads: [["KU2", "24"], ["KD3", "2"]]}, - {name: "Kenc.a", pads: [["KU2", "12"], ["KSW1", "A"]]}, - {name: "Kenc.b", pads: [["KU2", "11"], ["KSW1", "B"]]}, - {name: "Kenc.sw", pads: [["KU2", "31"], ["KSW1", "S1"]]}, - {name: "Ksw[0].out", pads: [["KU2", "4"], ["KSW2", "1"]]}, - {name: "Ksw[1].out", pads: [["KU2", "6"], ["KSW3", "1"]]}, - {name: "Ksw[2].out", pads: [["KU2", "7"], ["KSW4", "1"]]}, - {name: "Ksw[3].out", pads: [["KU2", "35"], ["KSW5", "1"]]}, - {name: "Ksw[4].out", pads: [["KU2", "38"], ["KSW6", "1"]]}, - {name: "Ksw[5].out", pads: [["KU2", "39"], ["KSW7", "1"]]}, - {name: "Koled.reset", pads: [["KU2", "8"], ["KJ3", "14"]]}, - {name: "Kio8_pur.io", pads: [["KU2", "10"], ["KU8", "2"], ["KR10", "2"]]}, - {name: "Krgb_shift.output", pads: [["KU8", "4"], ["KD4", "1"], ["KTP6", "1"]]}, - {name: "Krgb_knob.dout", pads: [["KD7", "3"], ["KD8", "1"]]}, - {name: "Krgb_ring.dout", pads: [["KD31", "3"], ["KD32", "1"]]}, - {name: "Kspk_dac.input", pads: [["KU2", "9"], ["KR11", "1"]]}, - {name: "Kspk_dac.output", pads: [["KTP7", "1"], ["KC21", "2"], ["KR11", "2"], ["KC18", "1"]]}, - {name: "Kspk_drv.spk.a", pads: [["KU9", "5"], ["KJ4", "1"]]}, - {name: "Kspk_drv.spk.b", pads: [["KU9", "8"], ["KJ4", "2"]]}, - {name: "Kv5v_sense.output", pads: [["KU2", "5"], ["KR12", "2"], ["KR13", "1"]]}, - {name: "Kusb.conn.cc.cc1", pads: [["KJ1", "A5"], ["KR1", "2"]]}, - {name: "Kusb.conn.cc.cc2", pads: [["KJ1", "B5"], ["KR2", "2"]]}, - {name: "Kmcu.program_uart_node.a_tx", pads: [["KU2", "37"], ["KJ2", "3"]]}, - {name: "Kmcu.program_uart_node.b_tx", pads: [["KU2", "36"], ["KJ2", "4"]]}, - {name: "Kmcu.program_en_node", pads: [["KU2", "3"], ["KJ2", "6"], ["KR3", "2"], ["KC5", "1"]]}, - {name: "Kmcu.program_boot_node", pads: [["KU2", "27"], ["KJ2", "2"]]}, - {name: "Kledr.res.a", pads: [["KR6", "1"], ["KD2", "1"]]}, - {name: "Kledy.res.a", pads: [["KR7", "1"], ["KD3", "1"]]}, - {name: "Kals.dvi_res.b", pads: [["KR8", "2"], ["KU4", "5"], ["KC7", "1"]]}, - {name: "Kdist.ic.gpio1", pads: [["KU5", "7"]]}, - {name: "Koled.c1_cap.pos", pads: [["KC11", "1"], ["KJ3", "4"]]}, - {name: "Koled.c1_cap.neg", pads: [["KC11", "2"], ["KJ3", "5"]]}, - {name: "Koled.c2_cap.pos", pads: [["KC12", "1"], ["KJ3", "2"]]}, - {name: "Koled.c2_cap.neg", pads: [["KC12", "2"], ["KJ3", "3"]]}, - {name: "Koled.iref_res.a", pads: [["KR9", "1"], ["KJ3", "26"]]}, - {name: "Koled.device.vcomh", pads: [["KJ3", "27"], ["KC13", "1"]]}, - {name: "Koled.device.vcc", pads: [["KJ3", "28"], ["KC16", "1"]]}, - {name: "Krgb_knob.led[0].dout", pads: [["KD4", "3"], ["KD5", "1"]]}, - {name: "Krgb_knob.led[1].dout", pads: [["KD5", "3"], ["KD6", "1"]]}, - {name: "Krgb_knob.led[2].dout", pads: [["KD6", "3"], ["KD7", "1"]]}, - {name: "Krgb_ring.led[0].dout", pads: [["KD8", "3"], ["KD9", "1"]]}, - {name: "Krgb_ring.led[1].dout", pads: [["KD9", "3"], ["KD10", "1"]]}, - {name: "Krgb_ring.led[2].dout", pads: [["KD10", "3"], ["KD11", "1"]]}, - {name: "Krgb_ring.led[3].dout", pads: [["KD11", "3"], ["KD12", "1"]]}, - {name: "Krgb_ring.led[4].dout", pads: [["KD12", "3"], ["KD13", "1"]]}, - {name: "Krgb_ring.led[5].dout", pads: [["KD13", "3"], ["KD14", "1"]]}, - {name: "Krgb_ring.led[6].dout", pads: [["KD14", "3"], ["KD15", "1"]]}, - {name: "Krgb_ring.led[7].dout", pads: [["KD15", "3"], ["KD16", "1"]]}, - {name: "Krgb_ring.led[8].dout", pads: [["KD16", "3"], ["KD17", "1"]]}, - {name: "Krgb_ring.led[9].dout", pads: [["KD17", "3"], ["KD18", "1"]]}, - {name: "Krgb_ring.led[10].dout", pads: [["KD18", "3"], ["KD19", "1"]]}, - {name: "Krgb_ring.led[11].dout", pads: [["KD19", "3"], ["KD20", "1"]]}, - {name: "Krgb_ring.led[12].dout", pads: [["KD20", "3"], ["KD21", "1"]]}, - {name: "Krgb_ring.led[13].dout", pads: [["KD21", "3"], ["KD22", "1"]]}, - {name: "Krgb_ring.led[14].dout", pads: [["KD22", "3"], ["KD23", "1"]]}, - {name: "Krgb_ring.led[15].dout", pads: [["KD23", "3"], ["KD24", "1"]]}, - {name: "Krgb_ring.led[16].dout", pads: [["KD24", "3"], ["KD25", "1"]]}, - {name: "Krgb_ring.led[17].dout", pads: [["KD25", "3"], ["KD26", "1"]]}, - {name: "Krgb_ring.led[18].dout", pads: [["KD26", "3"], ["KD27", "1"]]}, - {name: "Krgb_ring.led[19].dout", pads: [["KD27", "3"], ["KD28", "1"]]}, - {name: "Krgb_ring.led[20].dout", pads: [["KD28", "3"], ["KD29", "1"]]}, - {name: "Krgb_ring.led[21].dout", pads: [["KD29", "3"], ["KD30", "1"]]}, - {name: "Krgb_ring.led[22].dout", pads: [["KD30", "3"], ["KD31", "1"]]}, - {name: "Krgb_sw.led[0].dout", pads: [["KD32", "3"], ["KD33", "1"]]}, - {name: "Krgb_sw.led[1].dout", pads: [["KD33", "3"], ["KD34", "1"]]}, - {name: "Krgb_sw.led[2].dout", pads: [["KD34", "3"], ["KD35", "1"]]}, - {name: "Krgb_sw.led[3].dout", pads: [["KD35", "3"], ["KD36", "1"]]}, - {name: "Krgb_sw.led[4].dout", pads: [["KD36", "3"], ["KD37", "1"]]}, - {name: "Krgb_sw.dout", pads: [["KD37", "3"]]}, - {name: "Kspk_drv.inp_cap.pos", pads: [["KC21", "1"], ["KU9", "3"]]}, - {name: "Kspk_drv.inn_cap.pos", pads: [["KC22", "1"], ["KU9", "4"]]} -]) - -const limit0 = pt(-0.07874015748031496, -0.07874015748031496); -const limit1 = pt(6.4622047244094505, 4.0511811023622055); -const xMin = Math.min(limit0[0], limit1[0]); -const xMax = Math.max(limit0[0], limit1[0]); -const yMin = Math.min(limit0[1], limit1[1]); -const yMax = Math.max(limit0[1], limit1[1]); - -const filletRadius = 0.1; -const outline = path( - [(xMin+xMax/2), yMax], - ["fillet", filletRadius, [xMax, yMax]], - ["fillet", filletRadius, [xMax, yMin]], - ["fillet", filletRadius, [xMin, yMin]], - ["fillet", filletRadius, [xMin, yMax]], - [(xMin+xMax/2), yMax], -); -board.addShape("outline", outline); - -renderPCB({ - pcb: board, - layerColors: { - "F.Paste": "#000000ff", - "F.Mask": "#000000ff", - "B.Mask": "#000000ff", - "componentLabels": "#00e5e5e5", - "outline": "#002d00ff", - "padLabels": "#ffff99e5", - "B.Cu": "#ef4e4eff", - "F.Cu": "#ff8c00cc", - }, - limits: { - x: [xMin, xMax], - y: [yMin, yMax] - }, - background: "#00000000", - mmPerUnit: 25.4 -}) - -function NeopixelArrayCircular_4_rgb_knob(xy, rot=90, radius=1, startAngle=0, endAngle=360, powerRadiusOffset=0.2) { - const kCount = 4 - - // Global params - const traceWidth = 0.015 - const powerWidth = 0.05 - const viaTemplate = via(0.02, 0.035) - - // Return object - const obj = { - footprints: {}, - pts: {} - } - - // Helper functions - const degToRad = Math.PI / 180 // multiply by degrees to get radians - function pAdd(pt1, delta) { // adds two points - return pt1.map((e,i) => e + delta[i]) - } - function pDiff(pos, neg) { // return the difference between two points - return pos.map((e,i) => e - neg[i]) - } - function pCenter(pt1, pt2) { // returns the midpoint - return pt1.map((e,i) => (e + pt2[i]) / 2) - } - function vRotate(v, deg) { // returns a vector rotated by some amount - return [ - Math.cos(deg * degToRad) * v[0] - Math.sin(deg * degToRad) * v[1], - Math.sin(deg * degToRad) * v[0] + Math.cos(deg * degToRad) * v[1], - ] - } - function vScale(v, scale) { // returns a vector scaled by some factor - return v.map((e,i) => (e * scale)) - } - function vProject(v, ref) { // returns the projection of v onto a reference vector - const aDotb = v[0]*ref[0] + v[1]*ref[1] - const bDotb = ref[0]*ref[0] + ref[1]*ref[1] - return vScale(ref, aDotb / bDotb) - } - function smoothPath(pt1, pt2, pt1Angle, pt2Angle=null) { // return the path(...) components for a curve between two points, with entry and exit slope - function degToVector(deg, len=1) { // given a slope in degrees, convert it to a vector - return [Math.cos(deg * Math.PI / 180) * len, Math.sin(deg * Math.PI / 180) * len] - } - if (pt2Angle == null) { - pt2Angle = pt1Angle - } - const pt1Projection = vProject(pDiff(pt2, pt1), degToVector(pt1Angle)) - const pt2Projection = vProject(pDiff(pt2, pt1), degToVector(pt2Angle)) - return [ - pt1, - ["cubic", - pAdd(pt1, vScale(pt1Projection, 0.33)), - pCenter(pAdd(pt1, vScale(pt1Projection, 0.33)), pDiff(pt2, vScale(pt2Projection, 0.33))), - pDiff(pt2, vScale(pt2Projection, 0.33)), - ], - pt2 - ] - } - - const incrAngle = (endAngle - startAngle) / (kCount) - - var prevAngle = null - var prevLed = null - var prevGndOrigin = null - var prevVinOrigin = null - - for (i=0; i e + delta[i]) - } - function pDiff(pos, neg) { // return the difference between two points - return pos.map((e,i) => e - neg[i]) - } - function pCenter(pt1, pt2) { // returns the midpoint - return pt1.map((e,i) => (e + pt2[i]) / 2) - } - function vRotate(v, deg) { // returns a vector rotated by some amount - return [ - Math.cos(deg * degToRad) * v[0] - Math.sin(deg * degToRad) * v[1], - Math.sin(deg * degToRad) * v[0] + Math.cos(deg * degToRad) * v[1], - ] - } - function vScale(v, scale) { // returns a vector scaled by some factor - return v.map((e,i) => (e * scale)) - } - function vProject(v, ref) { // returns the projection of v onto a reference vector - const aDotb = v[0]*ref[0] + v[1]*ref[1] - const bDotb = ref[0]*ref[0] + ref[1]*ref[1] - return vScale(ref, aDotb / bDotb) - } - function smoothPath(pt1, pt2, pt1Angle, pt2Angle=null) { // return the path(...) components for a curve between two points, with entry and exit slope - function degToVector(deg, len=1) { // given a slope in degrees, convert it to a vector - return [Math.cos(deg * Math.PI / 180) * len, Math.sin(deg * Math.PI / 180) * len] - } - if (pt2Angle == null) { - pt2Angle = pt1Angle - } - const pt1Projection = vProject(pDiff(pt2, pt1), degToVector(pt1Angle)) - const pt2Projection = vProject(pDiff(pt2, pt1), degToVector(pt2Angle)) - return [ - pt1, - ["cubic", - pAdd(pt1, vScale(pt1Projection, 0.33)), - pCenter(pAdd(pt1, vScale(pt1Projection, 0.33)), pDiff(pt2, vScale(pt2Projection, 0.33))), - pDiff(pt2, vScale(pt2Projection, 0.33)), - ], - pt2 - ] - } - - const incrAngle = (endAngle - startAngle) / (kCount) - - var prevAngle = null - var prevLed = null - var prevGndOrigin = null - var prevVinOrigin = null - - for (i=0; i e + delta[i]) - } - function pDiff(pos, neg) { // return the difference between two points - return pos.map((e,i) => e - neg[i]) - } - function pCenter(pt1, pt2) { // returns the midpoint - return pt1.map((e,i) => (e + pt2[i]) / 2) - } - function vRotate(v, deg) { // returns a vector rotated by some amount - return [ - Math.cos(deg * degToRad) * v[0] - Math.sin(deg * degToRad) * v[1], - Math.sin(deg * degToRad) * v[0] + Math.cos(deg * degToRad) * v[1], - ] - } - function vScale(v, scale) { // returns a vector scaled by some factor - return v.map((e,i) => (e * scale)) - } - function vProject(v, ref) { // returns the projection of v onto a reference vector - const aDotb = v[0]*ref[0] + v[1]*ref[1] - const bDotb = ref[0]*ref[0] + ref[1]*ref[1] - return vScale(ref, aDotb / bDotb) - } - function smoothPath(pt1, pt2, pt1Angle, pt2Angle=null) { // return the path(...) components for a curve between two points, with entry and exit slope - function degToVector(deg, len=1) { // given a slope in degrees, convert it to a vector - return [Math.cos(deg * Math.PI / 180) * len, Math.sin(deg * Math.PI / 180) * len] - } - if (pt2Angle == null) { - pt2Angle = pt1Angle - } - const pt1Projection = vProject(pDiff(pt2, pt1), degToVector(pt1Angle)) - const pt2Projection = vProject(pDiff(pt2, pt1), degToVector(pt2Angle)) - return [ - pt1, - ["cubic", - pAdd(pt1, vScale(pt1Projection, 0.33)), - pCenter(pAdd(pt1, vScale(pt1Projection, 0.33)), pDiff(pt2, vScale(pt2Projection, 0.33))), - pDiff(pt2, vScale(pt2Projection, 0.33)), - ], - pt2 - ] - } - - const incrAngle = (endAngle - startAngle) / (kCount) - - var prevAngle = null - var prevLed = null - var prevGndOrigin = null - var prevVinOrigin = null - - for (i=0; i column common line - colWirePoint = [buttonPos[0], button.padY("2")] - board.wire([colWirePoint, button.pad("2")], traceSize, "F.Cu") - colWirePoints.push(colWirePoint) - - // create wire for button -> diode - board.wire([button.pad("1"), diode.pad("1")], traceSize, "F.Cu") - diodeViaPos = [diode.padX("2"), buttonPos[1] + rowSpacing / 2] - diodeVia = board.add(viaTemplate, {translate: diodeViaPos}) - board.wire([diode.pad("2"), diodeVia.pos], traceSize) - - if (rowDiodeVias.length > 0) { - board.wire([rowDiodeVias[rowDiodeVias.length - 1].pos, diodeVia.pos], traceSize, "B.Cu") - } - rowDiodeVias.push(diodeVia) - } - allColWirePoints.push(colWirePoints) - } - - // Inter-row wiring - for (let xIndex=0; xIndex < allColWirePoints[0].length; xIndex++) { - board.wire([ - allColWirePoints[0][xIndex], - allColWirePoints[allColWirePoints.length - 1][xIndex] - ], traceSize, "F.Cu") - } - - return obj -} - diff --git a/examples/LedMatrix/LedMatrix.net b/examples/LedMatrix/LedMatrix.net deleted file mode 100644 index 062b4fb3c..000000000 --- a/examples/LedMatrix/LedMatrix.net +++ /dev/null @@ -1,834 +0,0 @@ -(export (version D) -(components -(comp (ref "H1") - (value "jlc_th.th1") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th1")) - (property (name "edg_short_path") (value "jlc_th.th1")) - (property (name "edg_refdes") (value "H1")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "0260010e")) -(comp (ref "H2") - (value "jlc_th.th2") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th2")) - (property (name "edg_short_path") (value "jlc_th.th2")) - (property (name "edg_refdes") (value "H2")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "0261010f")) -(comp (ref "H3") - (value "jlc_th.th3") - (footprint "edg:JlcToolingHole_1.152mm") - (property (name "Sheetname") (value "jlc_th")) - (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) - (property (name "edg_path") (value "jlc_th.th3")) - (property (name "edg_short_path") (value "jlc_th.th3")) - (property (name "edg_refdes") (value "H3")) - (property (name "edg_part") (value "")) - (property (name "edg_value") (value "")) - (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) - (tstamps "02620110")) -(comp (ref "J1") - (value "usb.conn") - (footprint "Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11") - (property (name "Sheetname") (value "usb")) - (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCReceptacle")) - (property (name "edg_path") (value "usb.conn")) - (property (name "edg_short_path") (value "usb.conn")) - (property (name "edg_refdes") (value "J1")) - (property (name "edg_part") (value "COM-15111 (Sparkfun)")) - (property (name "edg_value") (value "COM-15111")) - (sheetpath (names "/usb/") (tstamps "/02aa014b/")) - (tstamps "042701af")) -(comp (ref "R1") - (value "usb.cc_pull.cc1") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "cc_pull")) - (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) - (property (name "edg_path") (value "usb.cc_pull.cc1.res")) - (property (name "edg_short_path") (value "usb.cc_pull.cc1")) - (property (name "edg_refdes") (value "R1")) - (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/usb/cc_pull/") (tstamps "/02aa014b/0b4c02e3/")) - (tstamps "022300f8")) -(comp (ref "R2") - (value "usb.cc_pull.cc2") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "cc_pull")) - (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) - (property (name "edg_path") (value "usb.cc_pull.cc2.res")) - (property (name "edg_short_path") (value "usb.cc_pull.cc2")) - (property (name "edg_refdes") (value "R2")) - (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/usb/cc_pull/") (tstamps "/02aa014b/0b4c02e3/")) - (tstamps "022400f9")) -(comp (ref "TP1") - (value "vusb") - (footprint "TestPoint:TestPoint_Keystone_5015_Micro-Minature") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_vusb.tp")) - (property (name "edg_short_path") (value "tp_vusb")) - (property (name "edg_refdes") (value "TP1")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "vusb")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0c2d0304")) -(comp (ref "TP2") - (value "gnd") - (footprint "TestPoint:TestPoint_Keystone_5015_Micro-Minature") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_gnd.tp")) - (property (name "edg_short_path") (value "tp_gnd")) - (property (name "edg_refdes") (value "TP2")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "gnd")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "08df027d")) -(comp (ref "U1") - (value "reg_3v3.ic") - (footprint "Package_TO_SOT_SMD:SOT-223-3_TabPin2") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) - (property (name "edg_path") (value "reg_3v3.ic")) - (property (name "edg_short_path") (value "reg_3v3.ic")) - (property (name "edg_refdes") (value "U1")) - (property (name "edg_part") (value "LDL1117S33R (STMicroelectronics)")) - (property (name "edg_value") (value "LDL1117S33R")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "013700cd")) -(comp (ref "C1") - (value "reg_3v3.in_cap") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) - (property (name "edg_path") (value "reg_3v3.in_cap.cap")) - (property (name "edg_short_path") (value "reg_3v3.in_cap")) - (property (name "edg_refdes") (value "C1")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "0879026b")) -(comp (ref "C2") - (value "reg_3v3.out_cap") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "reg_3v3")) - (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) - (property (name "edg_path") (value "reg_3v3.out_cap.cap")) - (property (name "edg_short_path") (value "reg_3v3.out_cap")) - (property (name "edg_refdes") (value "C2")) - (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) - (tstamps "0be902ec")) -(comp (ref "TP3") - (value "v3v3") - (footprint "TestPoint:TestPoint_Keystone_5015_Micro-Minature") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "tp_3v3.tp")) - (property (name "edg_short_path") (value "tp_3v3")) - (property (name "edg_refdes") (value "TP3")) - (property (name "edg_part") (value "5015 (Keystone)")) - (property (name "edg_value") (value "v3v3")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "08220220")) -(comp (ref "D1") - (value "prot_3v3") - (footprint "Diode_SMD:D_SOD-323") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "prot_3v3.diode")) - (property (name "edg_short_path") (value "prot_3v3")) - (property (name "edg_refdes") (value "D1")) - (property (name "edg_part") (value "BZT52B3V6S (SMC(Sangdest Microelectronicstronic (Nanjing)))")) - (property (name "edg_value") (value "5μA@1V 90Ω Single 3.53V~3.67V 200mW 3.6V SOD-323 Zener Diodes ROHS")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "0eb80301")) -(comp (ref "U2") - (value "mcu.ic") - (footprint "RF_Module:ESP-WROOM-02") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3_Wroom02")) - (property (name "edg_path") (value "mcu.ic")) - (property (name "edg_short_path") (value "mcu.ic")) - (property (name "edg_refdes") (value "U2")) - (property (name "edg_part") (value "ESP32-C3-WROOM-02 (Espressif Systems)")) - (property (name "edg_value") (value "ESP32-C3-WROOM-02")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "013700cd")) -(comp (ref "C3") - (value "mcu.vcc_cap0") - (footprint "Capacitor_SMD:C_0805_2012Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3_Wroom02")) - (property (name "edg_path") (value "mcu.vcc_cap0.cap")) - (property (name "edg_short_path") (value "mcu.vcc_cap0")) - (property (name "edg_refdes") (value "C3")) - (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "0e590300")) -(comp (ref "C4") - (value "mcu.vcc_cap1") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3_Wroom02")) - (property (name "edg_path") (value "mcu.vcc_cap1.cap")) - (property (name "edg_short_path") (value "mcu.vcc_cap1")) - (property (name "edg_refdes") (value "C4")) - (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) - (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "0e5a0301")) -(comp (ref "J2") - (value "mcu.prog") - (footprint "Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3_Wroom02")) - (property (name "edg_path") (value "mcu.prog.conn")) - (property (name "edg_short_path") (value "mcu.prog")) - (property (name "edg_refdes") (value "J2")) - (property (name "edg_part") (value "PinHeader2.54 1x4 (Generic)")) - (property (name "edg_value") (value "PinHeader2.54 1x4")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "045f01b9")) -(comp (ref "SW1") - (value "mcu.boot") - (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") - (property (name "Sheetname") (value "mcu")) - (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3_Wroom02")) - (property (name "edg_path") (value "mcu.boot.package")) - (property (name "edg_short_path") (value "mcu.boot")) - (property (name "edg_refdes") (value "SW1")) - (property (name "edg_part") (value "5.1mm switch")) - (property (name "edg_value") (value "5.1mm switch")) - (sheetpath (names "/mcu/") (tstamps "/02850146/")) - (tstamps "042b01b5")) -(comp (ref "R3") - (value "mcu.en_pull.r") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "en_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) - (property (name "edg_path") (value "mcu.en_pull.rc.r")) - (property (name "edg_short_path") (value "mcu.en_pull.r")) - (property (name "edg_refdes") (value "R3")) - (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) - (tstamps "00730073")) -(comp (ref "C5") - (value "mcu.en_pull.c") - (footprint "Capacitor_SMD:C_0603_1608Metric") - (property (name "Sheetname") (value "en_pull")) - (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) - (property (name "edg_path") (value "mcu.en_pull.rc.c")) - (property (name "edg_short_path") (value "mcu.en_pull.c")) - (property (name "edg_refdes") (value "C5")) - (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) - (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) - (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) - (tstamps "00640064")) -(comp (ref "SW2") - (value "sw1") - (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") - (property (name "Sheetname") (value "")) - (property (name "Sheetfile") (value "")) - (property (name "edg_path") (value "sw1.package")) - (property (name "edg_short_path") (value "sw1")) - (property (name "edg_refdes") (value "SW2")) - (property (name "edg_part") (value "5.1mm switch")) - (property (name "edg_value") (value "5.1mm switch")) - (sheetpath (names "/") (tstamps "/")) - (tstamps "027b011c")) -(comp (ref "R4") - (value "matrix.res[0]") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.res[0]")) - (property (name "edg_short_path") (value "matrix.res[0]")) - (property (name "edg_refdes") (value "R4")) - (property (name "edg_part") (value "0603WAF8200T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 820Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "08450233")) -(comp (ref "D2") - (value "matrix.led[0_0]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[0_0]")) - (property (name "edg_short_path") (value "matrix.led[0_0]")) - (property (name "edg_refdes") (value "D2")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0ce402ad")) -(comp (ref "D3") - (value "matrix.led[1_0]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[1_0]")) - (property (name "edg_short_path") (value "matrix.led[1_0]")) - (property (name "edg_refdes") (value "D3")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0ce802ae")) -(comp (ref "D4") - (value "matrix.led[2_0]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[2_0]")) - (property (name "edg_short_path") (value "matrix.led[2_0]")) - (property (name "edg_refdes") (value "D4")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cec02af")) -(comp (ref "D5") - (value "matrix.led[3_0]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[3_0]")) - (property (name "edg_short_path") (value "matrix.led[3_0]")) - (property (name "edg_refdes") (value "D5")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cf002b0")) -(comp (ref "D6") - (value "matrix.led[4_0]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[4_0]")) - (property (name "edg_short_path") (value "matrix.led[4_0]")) - (property (name "edg_refdes") (value "D6")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cf402b1")) -(comp (ref "D7") - (value "matrix.led[5_0]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[5_0]")) - (property (name "edg_short_path") (value "matrix.led[5_0]")) - (property (name "edg_refdes") (value "D7")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cf802b2")) -(comp (ref "R5") - (value "matrix.res[1]") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.res[1]")) - (property (name "edg_short_path") (value "matrix.res[1]")) - (property (name "edg_refdes") (value "R5")) - (property (name "edg_part") (value "0603WAF8200T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 820Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "08470234")) -(comp (ref "D8") - (value "matrix.led[0_1]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[0_1]")) - (property (name "edg_short_path") (value "matrix.led[0_1]")) - (property (name "edg_refdes") (value "D8")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0ce602ae")) -(comp (ref "D9") - (value "matrix.led[1_1]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[1_1]")) - (property (name "edg_short_path") (value "matrix.led[1_1]")) - (property (name "edg_refdes") (value "D9")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cea02af")) -(comp (ref "D10") - (value "matrix.led[2_1]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[2_1]")) - (property (name "edg_short_path") (value "matrix.led[2_1]")) - (property (name "edg_refdes") (value "D10")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cee02b0")) -(comp (ref "D11") - (value "matrix.led[3_1]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[3_1]")) - (property (name "edg_short_path") (value "matrix.led[3_1]")) - (property (name "edg_refdes") (value "D11")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cf202b1")) -(comp (ref "D12") - (value "matrix.led[4_1]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[4_1]")) - (property (name "edg_short_path") (value "matrix.led[4_1]")) - (property (name "edg_refdes") (value "D12")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cf602b2")) -(comp (ref "D13") - (value "matrix.led[5_1]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[5_1]")) - (property (name "edg_short_path") (value "matrix.led[5_1]")) - (property (name "edg_refdes") (value "D13")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cfa02b3")) -(comp (ref "R6") - (value "matrix.res[2]") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.res[2]")) - (property (name "edg_short_path") (value "matrix.res[2]")) - (property (name "edg_refdes") (value "R6")) - (property (name "edg_part") (value "0603WAF8200T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 820Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "08490235")) -(comp (ref "D14") - (value "matrix.led[0_2]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[0_2]")) - (property (name "edg_short_path") (value "matrix.led[0_2]")) - (property (name "edg_refdes") (value "D14")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0ce802af")) -(comp (ref "D15") - (value "matrix.led[1_2]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[1_2]")) - (property (name "edg_short_path") (value "matrix.led[1_2]")) - (property (name "edg_refdes") (value "D15")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cec02b0")) -(comp (ref "D16") - (value "matrix.led[2_2]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[2_2]")) - (property (name "edg_short_path") (value "matrix.led[2_2]")) - (property (name "edg_refdes") (value "D16")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cf002b1")) -(comp (ref "D17") - (value "matrix.led[3_2]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[3_2]")) - (property (name "edg_short_path") (value "matrix.led[3_2]")) - (property (name "edg_refdes") (value "D17")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cf402b2")) -(comp (ref "D18") - (value "matrix.led[4_2]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[4_2]")) - (property (name "edg_short_path") (value "matrix.led[4_2]")) - (property (name "edg_refdes") (value "D18")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cf802b3")) -(comp (ref "D19") - (value "matrix.led[5_2]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[5_2]")) - (property (name "edg_short_path") (value "matrix.led[5_2]")) - (property (name "edg_refdes") (value "D19")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cfc02b4")) -(comp (ref "R7") - (value "matrix.res[3]") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.res[3]")) - (property (name "edg_short_path") (value "matrix.res[3]")) - (property (name "edg_refdes") (value "R7")) - (property (name "edg_part") (value "0603WAF8200T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 820Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "084b0236")) -(comp (ref "D20") - (value "matrix.led[0_3]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[0_3]")) - (property (name "edg_short_path") (value "matrix.led[0_3]")) - (property (name "edg_refdes") (value "D20")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cea02b0")) -(comp (ref "D21") - (value "matrix.led[1_3]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[1_3]")) - (property (name "edg_short_path") (value "matrix.led[1_3]")) - (property (name "edg_refdes") (value "D21")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cee02b1")) -(comp (ref "D22") - (value "matrix.led[2_3]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[2_3]")) - (property (name "edg_short_path") (value "matrix.led[2_3]")) - (property (name "edg_refdes") (value "D22")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cf202b2")) -(comp (ref "D23") - (value "matrix.led[3_3]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[3_3]")) - (property (name "edg_short_path") (value "matrix.led[3_3]")) - (property (name "edg_refdes") (value "D23")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cf602b3")) -(comp (ref "D24") - (value "matrix.led[4_3]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[4_3]")) - (property (name "edg_short_path") (value "matrix.led[4_3]")) - (property (name "edg_refdes") (value "D24")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cfa02b4")) -(comp (ref "D25") - (value "matrix.led[5_3]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[5_3]")) - (property (name "edg_short_path") (value "matrix.led[5_3]")) - (property (name "edg_refdes") (value "D25")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cfe02b5")) -(comp (ref "R8") - (value "matrix.res[4]") - (footprint "Resistor_SMD:R_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.res[4]")) - (property (name "edg_short_path") (value "matrix.res[4]")) - (property (name "edg_refdes") (value "R8")) - (property (name "edg_part") (value "0603WAF8200T5E (UNI-ROYAL(Uniroyal Elec))")) - (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 820Ω 0603 Chip Resistor - Surface Mount ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "084d0237")) -(comp (ref "D26") - (value "matrix.led[0_4]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[0_4]")) - (property (name "edg_short_path") (value "matrix.led[0_4]")) - (property (name "edg_refdes") (value "D26")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cec02b1")) -(comp (ref "D27") - (value "matrix.led[1_4]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[1_4]")) - (property (name "edg_short_path") (value "matrix.led[1_4]")) - (property (name "edg_refdes") (value "D27")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cf002b2")) -(comp (ref "D28") - (value "matrix.led[2_4]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[2_4]")) - (property (name "edg_short_path") (value "matrix.led[2_4]")) - (property (name "edg_refdes") (value "D28")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cf402b3")) -(comp (ref "D29") - (value "matrix.led[3_4]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[3_4]")) - (property (name "edg_short_path") (value "matrix.led[3_4]")) - (property (name "edg_refdes") (value "D29")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cf802b4")) -(comp (ref "D30") - (value "matrix.led[4_4]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[4_4]")) - (property (name "edg_short_path") (value "matrix.led[4_4]")) - (property (name "edg_refdes") (value "D30")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0cfc02b5")) -(comp (ref "D31") - (value "matrix.led[5_4]") - (footprint "LED_SMD:LED_0603_1608Metric") - (property (name "Sheetname") (value "matrix")) - (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) - (property (name "edg_path") (value "matrix.led[5_4]")) - (property (name "edg_short_path") (value "matrix.led[5_4]")) - (property (name "edg_refdes") (value "D31")) - (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) - (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) - (sheetpath (names "/matrix/") (tstamps "/08e90296/")) - (tstamps "0d0002b6"))) -(nets -(net (code 1) (name "vusb") - (node (ref J1) (pin A4)) - (node (ref J1) (pin B9)) - (node (ref J1) (pin B4)) - (node (ref J1) (pin A9)) - (node (ref TP1) (pin 1)) - (node (ref U1) (pin 3)) - (node (ref C1) (pin 1))) -(net (code 2) (name "gnd") - (node (ref J1) (pin A1)) - (node (ref J1) (pin B12)) - (node (ref J1) (pin B1)) - (node (ref J1) (pin A12)) - (node (ref TP2) (pin 1)) - (node (ref U1) (pin 1)) - (node (ref D1) (pin 2)) - (node (ref U2) (pin 9)) - (node (ref U2) (pin 19)) - (node (ref SW2) (pin 2)) - (node (ref J1) (pin S1)) - (node (ref C1) (pin 2)) - (node (ref C2) (pin 2)) - (node (ref C3) (pin 2)) - (node (ref C4) (pin 2)) - (node (ref J2) (pin 4)) - (node (ref SW1) (pin 2)) - (node (ref C5) (pin 2)) - (node (ref R1) (pin 1)) - (node (ref R2) (pin 1))) -(net (code 3) (name "v3v3") - (node (ref U1) (pin 2)) - (node (ref TP3) (pin 1)) - (node (ref D1) (pin 1)) - (node (ref U2) (pin 1)) - (node (ref C2) (pin 1)) - (node (ref U2) (pin 7)) - (node (ref U2) (pin 16)) - (node (ref C3) (pin 1)) - (node (ref C4) (pin 1)) - (node (ref J2) (pin 1)) - (node (ref R3) (pin 1))) -(net (code 4) (name "sw1.out") - (node (ref U2) (pin 18)) - (node (ref SW2) (pin 1))) -(net (code 5) (name "mcu.gpio.led_0") - (node (ref U2) (pin 3)) - (node (ref R4) (pin 2)) - (node (ref D8) (pin 2)) - (node (ref D14) (pin 2)) - (node (ref D20) (pin 2)) - (node (ref D26) (pin 2))) -(net (code 6) (name "mcu.gpio.led_1") - (node (ref U2) (pin 4)) - (node (ref D2) (pin 2)) - (node (ref R5) (pin 2)) - (node (ref D15) (pin 2)) - (node (ref D21) (pin 2)) - (node (ref D27) (pin 2))) -(net (code 7) (name "mcu.gpio.led_2") - (node (ref U2) (pin 5)) - (node (ref D3) (pin 2)) - (node (ref D9) (pin 2)) - (node (ref R6) (pin 2)) - (node (ref D22) (pin 2)) - (node (ref D28) (pin 2))) -(net (code 8) (name "mcu.gpio.led_3") - (node (ref U2) (pin 6)) - (node (ref D4) (pin 2)) - (node (ref D10) (pin 2)) - (node (ref D16) (pin 2)) - (node (ref R7) (pin 2)) - (node (ref D29) (pin 2))) -(net (code 9) (name "mcu.gpio.led_4") - (node (ref U2) (pin 17)) - (node (ref D5) (pin 2)) - (node (ref D11) (pin 2)) - (node (ref D17) (pin 2)) - (node (ref D23) (pin 2)) - (node (ref R8) (pin 2))) -(net (code 10) (name "mcu.gpio.led_5") - (node (ref U2) (pin 15)) - (node (ref D6) (pin 2)) - (node (ref D12) (pin 2)) - (node (ref D18) (pin 2)) - (node (ref D24) (pin 2)) - (node (ref D30) (pin 2))) -(net (code 11) (name "mcu.gpio.led_6") - (node (ref U2) (pin 10)) - (node (ref D7) (pin 2)) - (node (ref D13) (pin 2)) - (node (ref D19) (pin 2)) - (node (ref D25) (pin 2)) - (node (ref D31) (pin 2))) -(net (code 12) (name "usb.usb.dp") - (node (ref J1) (pin A6)) - (node (ref J1) (pin B6))) -(net (code 13) (name "usb.usb.dm") - (node (ref J1) (pin A7)) - (node (ref J1) (pin B7))) -(net (code 14) (name "usb.conn.cc.cc1") - (node (ref J1) (pin A5)) - (node (ref R1) (pin 2))) -(net (code 15) (name "usb.conn.cc.cc2") - (node (ref J1) (pin B5)) - (node (ref R2) (pin 2))) -(net (code 16) (name "mcu.program_uart_node.a_tx") - (node (ref U2) (pin 12)) - (node (ref J2) (pin 2))) -(net (code 17) (name "mcu.program_uart_node.b_tx") - (node (ref U2) (pin 11)) - (node (ref J2) (pin 3))) -(net (code 18) (name "mcu.program_en_node") - (node (ref U2) (pin 2)) - (node (ref R3) (pin 2)) - (node (ref C5) (pin 1))) -(net (code 19) (name "mcu.program_boot_node") - (node (ref U2) (pin 8)) - (node (ref SW1) (pin 1))) -(net (code 20) (name "matrix.led[0_0].k") - (node (ref D2) (pin 1)) - (node (ref R4) (pin 1)) - (node (ref D3) (pin 1)) - (node (ref D4) (pin 1)) - (node (ref D5) (pin 1)) - (node (ref D6) (pin 1)) - (node (ref D7) (pin 1))) -(net (code 21) (name "matrix.led[0_1].k") - (node (ref D8) (pin 1)) - (node (ref R5) (pin 1)) - (node (ref D9) (pin 1)) - (node (ref D10) (pin 1)) - (node (ref D11) (pin 1)) - (node (ref D12) (pin 1)) - (node (ref D13) (pin 1))) -(net (code 22) (name "matrix.led[0_2].k") - (node (ref D14) (pin 1)) - (node (ref R6) (pin 1)) - (node (ref D15) (pin 1)) - (node (ref D16) (pin 1)) - (node (ref D17) (pin 1)) - (node (ref D18) (pin 1)) - (node (ref D19) (pin 1))) -(net (code 23) (name "matrix.led[0_3].k") - (node (ref D20) (pin 1)) - (node (ref R7) (pin 1)) - (node (ref D21) (pin 1)) - (node (ref D22) (pin 1)) - (node (ref D23) (pin 1)) - (node (ref D24) (pin 1)) - (node (ref D25) (pin 1))) -(net (code 24) (name "matrix.led[0_4].k") - (node (ref D26) (pin 1)) - (node (ref R8) (pin 1)) - (node (ref D27) (pin 1)) - (node (ref D28) (pin 1)) - (node (ref D29) (pin 1)) - (node (ref D30) (pin 1)) - (node (ref D31) (pin 1)))) -) \ No newline at end of file diff --git a/examples/LedMatrix/LedMatrix.svgpcb.js b/examples/LedMatrix/LedMatrix.svgpcb.js deleted file mode 100644 index f60d551e9..000000000 --- a/examples/LedMatrix/LedMatrix.svgpcb.js +++ /dev/null @@ -1,306 +0,0 @@ -const board = new PCB(); - -const matrix = CharlieplexedLedMatrix_5_6_matrix(pt(0.039, 0.039)) -// jlc_th.th1 -const H1 = board.add(JlcToolingHole_1_152mm, { - translate: pt(2.561, 1.518), rotate: 0, - id: 'H1' -}) -// jlc_th.th2 -const H2 = board.add(JlcToolingHole_1_152mm, { - translate: pt(2.600, 1.518), rotate: 0, - id: 'H2' -}) -// jlc_th.th3 -const H3 = board.add(JlcToolingHole_1_152mm, { - translate: pt(2.561, 1.557), rotate: 0, - id: 'H3' -}) -// usb.conn -const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { - translate: pt(0.209, 1.683), rotate: 0, - id: 'J1' -}) -// usb.cc_pull.cc1.res -const R1 = board.add(R_0603_1608Metric, { - translate: pt(0.058, 1.938), rotate: 0, - id: 'R1' -}) -// usb.cc_pull.cc2.res -const R2 = board.add(R_0603_1608Metric, { - translate: pt(0.214, 1.938), rotate: 0, - id: 'R2' -}) -// tp_vusb.tp -const TP1 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(1.539, 1.571), rotate: 0, - id: 'TP1' -}) -// tp_gnd.tp -const TP2 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(1.826, 1.571), rotate: 0, - id: 'TP2' -}) -// reg_3v3.ic -const U1 = board.add(SOT_223_3_TabPin2, { - translate: pt(0.710, 1.660), rotate: 0, - id: 'U1' -}) -// reg_3v3.in_cap.cap -const C1 = board.add(C_0603_1608Metric, { - translate: pt(0.769, 1.870), rotate: 0, - id: 'C1' -}) -// reg_3v3.out_cap.cap -const C2 = board.add(C_0805_2012Metric, { - translate: pt(0.604, 1.880), rotate: 0, - id: 'C2' -}) -// tp_3v3.tp -const TP3 = board.add(TestPoint_Keystone_5015_Micro_Minature, { - translate: pt(2.114, 1.571), rotate: 0, - id: 'TP3' -}) -// prot_3v3.diode -const D1 = board.add(D_SOD_323, { - translate: pt(2.380, 1.556), rotate: 0, - id: 'D1' -}) -// mcu.ic -const U2 = board.add(ESP_WROOM_02, { - translate: pt(1.679, 0.281), rotate: 0, - id: 'U2' -}) -// mcu.vcc_cap0.cap -const C3 = board.add(C_0805_2012Metric, { - translate: pt(2.346, 0.783), rotate: 0, - id: 'C3' -}) -// mcu.vcc_cap1.cap -const C4 = board.add(C_0603_1608Metric, { - translate: pt(2.511, 0.773), rotate: 0, - id: 'C4' -}) -// mcu.prog.conn -const J2 = board.add(PinHeader_1x04_P2_54mm_Vertical, { - translate: pt(2.350, 0.370), rotate: 0, - id: 'J2' -}) -// mcu.boot.package -const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(2.447, 0.593), rotate: 0, - id: 'SW1' -}) -// mcu.en_pull.rc.r -const R3 = board.add(R_0603_1608Metric, { - translate: pt(2.338, 0.889), rotate: 0, - id: 'R3' -}) -// mcu.en_pull.rc.c -const C5 = board.add(C_0603_1608Metric, { - translate: pt(2.494, 0.889), rotate: 0, - id: 'C5' -}) -// sw1.package -const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { - translate: pt(1.169, 1.630), rotate: 0, - id: 'SW2' -}) - -board.setNetlist([ - {name: "vusb", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["TP1", "1"], ["U1", "3"], ["C1", "1"]]}, - {name: "gnd", pads: [["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["TP2", "1"], ["U1", "1"], ["D1", "2"], ["U2", "9"], ["U2", "19"], ["SW2", "2"], ["J1", "S1"], ["C1", "2"], ["C2", "2"], ["C3", "2"], ["C4", "2"], ["J2", "4"], ["SW1", "2"], ["C5", "2"], ["R1", "1"], ["R2", "1"]]}, - {name: "v3v3", pads: [["U1", "2"], ["TP3", "1"], ["D1", "1"], ["U2", "1"], ["C2", "1"], ["U2", "7"], ["U2", "16"], ["C3", "1"], ["C4", "1"], ["J2", "1"], ["R3", "1"]]}, - {name: "sw1.out", pads: [["U2", "18"], ["SW2", "1"]]}, - {name: "mcu.gpio.led_0", pads: [["U2", "3"], ["R4", "2"], ["D8", "2"], ["D14", "2"], ["D20", "2"], ["D26", "2"]]}, - {name: "mcu.gpio.led_1", pads: [["U2", "4"], ["D2", "2"], ["R5", "2"], ["D15", "2"], ["D21", "2"], ["D27", "2"]]}, - {name: "mcu.gpio.led_2", pads: [["U2", "5"], ["D3", "2"], ["D9", "2"], ["R6", "2"], ["D22", "2"], ["D28", "2"]]}, - {name: "mcu.gpio.led_3", pads: [["U2", "6"], ["D4", "2"], ["D10", "2"], ["D16", "2"], ["R7", "2"], ["D29", "2"]]}, - {name: "mcu.gpio.led_4", pads: [["U2", "17"], ["D5", "2"], ["D11", "2"], ["D17", "2"], ["D23", "2"], ["R8", "2"]]}, - {name: "mcu.gpio.led_5", pads: [["U2", "15"], ["D6", "2"], ["D12", "2"], ["D18", "2"], ["D24", "2"], ["D30", "2"]]}, - {name: "mcu.gpio.led_6", pads: [["U2", "10"], ["D7", "2"], ["D13", "2"], ["D19", "2"], ["D25", "2"], ["D31", "2"]]}, - {name: "usb.usb.dp", pads: [["J1", "A6"], ["J1", "B6"]]}, - {name: "usb.usb.dm", pads: [["J1", "A7"], ["J1", "B7"]]}, - {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, - {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, - {name: "mcu.program_uart_node.a_tx", pads: [["U2", "12"], ["J2", "2"]]}, - {name: "mcu.program_uart_node.b_tx", pads: [["U2", "11"], ["J2", "3"]]}, - {name: "mcu.program_en_node", pads: [["U2", "2"], ["R3", "2"], ["C5", "1"]]}, - {name: "mcu.program_boot_node", pads: [["U2", "8"], ["SW1", "1"]]}, - {name: "matrix.led[0_0].k", pads: [["D2", "1"], ["R4", "1"], ["D3", "1"], ["D4", "1"], ["D5", "1"], ["D6", "1"], ["D7", "1"]]}, - {name: "matrix.led[0_1].k", pads: [["D8", "1"], ["R5", "1"], ["D9", "1"], ["D10", "1"], ["D11", "1"], ["D12", "1"], ["D13", "1"]]}, - {name: "matrix.led[0_2].k", pads: [["D14", "1"], ["R6", "1"], ["D15", "1"], ["D16", "1"], ["D17", "1"], ["D18", "1"], ["D19", "1"]]}, - {name: "matrix.led[0_3].k", pads: [["D20", "1"], ["R7", "1"], ["D21", "1"], ["D22", "1"], ["D23", "1"], ["D24", "1"], ["D25", "1"]]}, - {name: "matrix.led[0_4].k", pads: [["D26", "1"], ["R8", "1"], ["D27", "1"], ["D28", "1"], ["D29", "1"], ["D30", "1"], ["D31", "1"]]} -]) - -const limit0 = pt(-0.07874015748031496, -0.07874015748031496); -const limit1 = pt(2.7322834645669296, 2.084645669291339); -const xMin = Math.min(limit0[0], limit1[0]); -const xMax = Math.max(limit0[0], limit1[0]); -const yMin = Math.min(limit0[1], limit1[1]); -const yMax = Math.max(limit0[1], limit1[1]); - -const filletRadius = 0.1; -const outline = path( - [(xMin+xMax/2), yMax], - ["fillet", filletRadius, [xMax, yMax]], - ["fillet", filletRadius, [xMax, yMin]], - ["fillet", filletRadius, [xMin, yMin]], - ["fillet", filletRadius, [xMin, yMax]], - [(xMin+xMax/2), yMax], -); -board.addShape("outline", outline); - -renderPCB({ - pcb: board, - layerColors: { - "F.Paste": "#000000ff", - "F.Mask": "#000000ff", - "B.Mask": "#000000ff", - "componentLabels": "#00e5e5e5", - "outline": "#002d00ff", - "padLabels": "#ffff99e5", - "B.Cu": "#ef4e4eff", - "F.Cu": "#ff8c00cc", - }, - limits: { - x: [xMin, xMax], - y: [yMin, yMax] - }, - background: "#00000000", - mmPerUnit: 25.4 -}) - -function CharlieplexedLedMatrix_5_6_matrix(xy, colSpacing=0.2, rowSpacing=0.2) { - const kXCount = 5 // number of columns (x dimension) - const kYCount = 6 // number of rows (y dimension) - - // Global params - const traceSize = 0.015 - const viaTemplate = via(0.02, 0.035) - - // Return object - const obj = { - footprints: {}, - pts: {} - } - - allLeds = [] - allVias = [] - lastViasPreResistor = [] // state preserved between rows - for (let yIndex=0; yIndex < kYCount; yIndex++) { - rowLeds = [] - rowVias = [] - - viasPreResistor = [] - viasPostResistor = [] // on the same net as the prior row pre-resistor - - for (let xIndex=0; xIndex < kXCount; xIndex++) { - ledPos = [xy[0] + colSpacing * xIndex, xy[1] + rowSpacing * yIndex] - obj.footprints[`D${2 + yIndex + xIndex * kYCount}`] = led = board.add(LED_0603_1608Metric, { - translate: ledPos, - id: `D${2 + yIndex + xIndex * kYCount}` - }) - rowLeds.push(led) - - // anode line - thisVia = board.add(viaTemplate, { - translate: [ledPos[0] + colSpacing*1/3, ledPos[1]] - }) - rowVias.push(thisVia) - board.wire([led.pad("2"), thisVia.pos], traceSize, "F.Cu") - if (xIndex <= yIndex) { - viasPreResistor.push(thisVia) - } else { - viasPostResistor.push(thisVia) - } - } - allLeds.push(rowLeds) - allVias.push(rowVias) - - // Wire the anode lines, including the row-crossing one accounting for the diagonal-skip where the resistor is in the schematic matrix - // viasPreResistor guaranteed nonempty - board.wire([viasPreResistor[0].pos, viasPreResistor[viasPreResistor.length - 1].pos], traceSize, "B.Cu") - if (viasPostResistor.length > 0) { - board.wire([viasPostResistor[0].pos, viasPostResistor[viasPostResistor.length - 1].pos], traceSize, "B.Cu") - } - - // Create the inter-row bridging trace, if applicable - if (viasPostResistor.length > 0 && lastViasPreResistor.length > 0) { - via1Pos = lastViasPreResistor[lastViasPreResistor.length - 1].pos - via2Pos = viasPostResistor[0].pos - centerY = (via1Pos[1] + via2Pos[1]) / 2 - board.wire([via1Pos, - [via1Pos[0], centerY], - [via2Pos[0], centerY], - via2Pos - ], - traceSize, "B.Cu") - } - - lastViasPreResistor = viasPreResistor - } - - allResistors = [] - for (let xIndex=0; xIndex < kXCount; xIndex++) { - const resPos = [xy[0] + colSpacing * xIndex, xy[1] + rowSpacing * kYCount] - obj.footprints[`R${4 + xIndex + 1}`] = res = board.add(R_0603_1608Metric, { - translate: resPos, - id: `R${4 + xIndex}` - }) - allResistors.push(res) - - if (xIndex < allVias.length && xIndex < allVias[xIndex].length - 1) { - targetVia = allVias[xIndex][xIndex + 1] - thisVia = board.add(viaTemplate, { - translate: [resPos[0] + colSpacing*2/3, targetVia.pos[1]] - }) - - board.wire([ - res.pad("2"), - [resPos[0] + colSpacing*2/3, res.padY("2")], - thisVia.pos - ], traceSize, "F.Cu") - board.wire([ - thisVia.pos, - targetVia.pos, - ], traceSize, "B.Cu") - } else if (xIndex <= allVias.length && xIndex < allVias[xIndex - 1].length) { - // connect the last via - thisVia = board.add(viaTemplate, { - translate: [resPos[0] + colSpacing*2/3, resPos[1]] - }) - targetVia = allVias[xIndex - 1][xIndex - 1] - board.wire([ - res.pad("2"), - thisVia.pos - ], traceSize, "F.Cu") - centerY = targetVia.pos[1] + colSpacing/2 - board.wire([ - thisVia.pos, - [thisVia.pos[0], centerY], - [targetVia.pos[0], centerY], - targetVia.pos, - ], traceSize, "B.Cu") - } - } - - // create the along-column cathode line - for (let xIndex=0; xIndex < kXCount; xIndex++) { - colPads = allLeds.flatMap(row => row.length > xIndex ? [row[xIndex].pad("1")] : []) - if (xIndex < allResistors.length) { - colPads.push(allResistors[xIndex].pad("1")) - } - - for (let i=0; i Date: Tue, 24 Jun 2025 23:31:08 -0700 Subject: [PATCH 19/19] update --- examples/EspLora/EspLora.net | 1665 +++++++ examples/EspLora/EspLora.svgpcb.js | 647 +++ examples/Fcml/Fcml.net | 2745 ++++++++++++ examples/Fcml/Fcml.svgpcb.js | 1030 +++++ examples/HighSwitch/HighSwitch.net | 1426 ++++++ examples/HighSwitch/HighSwitch.svgpcb.js | 562 +++ examples/IotDisplay/IotDisplay.net | 1176 +++++ examples/IotDisplay/IotDisplay.svgpcb.js | 478 ++ examples/IotFan/IotFan.net | 1191 +++++ examples/IotFan/IotFan.svgpcb.js | 473 ++ examples/IotIron/IotIron.net | 1489 +++++++ examples/IotIron/IotIron.svgpcb.js | 575 +++ examples/IotKnob/IotKnob.net | 1662 +++++++ examples/IotKnob/IotKnob.svgpcb.js | 799 ++++ examples/IotLedDriver/IotLedDriver.net | 1157 +++++ examples/IotLedDriver/IotLedDriver.svgpcb.js | 463 ++ .../IotThermalCamera/IotThermalCamera.net | 885 ++++ .../IotThermalCamera.svgpcb.js | 356 ++ examples/JacdacKeyswitch/JacdacKeyswitch.net | 548 +++ .../JacdacKeyswitch/JacdacKeyswitch.svgpcb.js | 250 ++ examples/Keyboard/Keyboard.net | 492 +++ examples/Keyboard/Keyboard.svgpcb.js | 230 + examples/LedMatrix/LedMatrix.net | 834 ++++ examples/LedMatrix/LedMatrix.svgpcb.js | 306 ++ examples/Multimeter/Multimeter.net | 1721 ++++++++ examples/Multimeter/Multimeter.svgpcb.js | 670 +++ examples/PcbBot/PcbBot.net | 1775 ++++++++ examples/PcbBot/PcbBot.svgpcb.js | 674 +++ examples/PicoProbe/PicoProbe.net | 687 +++ examples/PicoProbe/PicoProbe.svgpcb.js | 289 ++ .../ProtectedCharger/ProtectedCharger.net | 323 ++ .../ProtectedCharger.svgpcb.js | 163 + examples/RobotCrawler/RobotCrawler.net | 1897 ++++++++ examples/RobotCrawler/RobotCrawler.svgpcb.js | 713 +++ examples/RobotDriver/RobotDriver.net | 1364 ++++++ examples/RobotDriver/RobotDriver.svgpcb.js | 538 +++ examples/RobotOwl/RobotOwl.net | 771 ++++ examples/RobotOwl/RobotOwl.svgpcb.js | 319 ++ examples/SevenSegment/SevenSegment.net | 1840 ++++++++ examples/SevenSegment/SevenSegment.svgpcb.js | 706 +++ examples/Simon/Simon.net | 655 +++ examples/Simon/Simon.svgpcb.js | 285 ++ examples/SwdDebugger/SwdDebugger.net | 662 +++ examples/SwdDebugger/SwdDebugger.svgpcb.js | 282 ++ examples/TofArray/TofArray.net | 1185 +++++ examples/TofArray/TofArray.svgpcb.js | 461 ++ .../UsbFpgaProgrammer/UsbFpgaProgrammer.net | 630 +++ .../UsbFpgaProgrammer.svgpcb.js | 271 ++ examples/UsbKey/UsbKey.net | 285 ++ examples/UsbKey/UsbKey.svgpcb.js | 151 + .../UsbSourceMeasure/UsbSourceMeasure.net | 3843 +++++++++++++++++ .../UsbSourceMeasure.svgpcb.js | 1438 ++++++ examples/UsbUart/UsbUart.net | 303 ++ examples/UsbUart/UsbUart.svgpcb.js | 154 + 54 files changed, 46494 insertions(+) create mode 100644 examples/EspLora/EspLora.net create mode 100644 examples/EspLora/EspLora.svgpcb.js create mode 100644 examples/Fcml/Fcml.net create mode 100644 examples/Fcml/Fcml.svgpcb.js create mode 100644 examples/HighSwitch/HighSwitch.net create mode 100644 examples/HighSwitch/HighSwitch.svgpcb.js create mode 100644 examples/IotDisplay/IotDisplay.net create mode 100644 examples/IotDisplay/IotDisplay.svgpcb.js create mode 100644 examples/IotFan/IotFan.net create mode 100644 examples/IotFan/IotFan.svgpcb.js create mode 100644 examples/IotIron/IotIron.net create mode 100644 examples/IotIron/IotIron.svgpcb.js create mode 100644 examples/IotKnob/IotKnob.net create mode 100644 examples/IotKnob/IotKnob.svgpcb.js create mode 100644 examples/IotLedDriver/IotLedDriver.net create mode 100644 examples/IotLedDriver/IotLedDriver.svgpcb.js create mode 100644 examples/IotThermalCamera/IotThermalCamera.net create mode 100644 examples/IotThermalCamera/IotThermalCamera.svgpcb.js create mode 100644 examples/JacdacKeyswitch/JacdacKeyswitch.net create mode 100644 examples/JacdacKeyswitch/JacdacKeyswitch.svgpcb.js create mode 100644 examples/Keyboard/Keyboard.net create mode 100644 examples/Keyboard/Keyboard.svgpcb.js create mode 100644 examples/LedMatrix/LedMatrix.net create mode 100644 examples/LedMatrix/LedMatrix.svgpcb.js create mode 100644 examples/Multimeter/Multimeter.net create mode 100644 examples/Multimeter/Multimeter.svgpcb.js create mode 100644 examples/PcbBot/PcbBot.net create mode 100644 examples/PcbBot/PcbBot.svgpcb.js create mode 100644 examples/PicoProbe/PicoProbe.net create mode 100644 examples/PicoProbe/PicoProbe.svgpcb.js create mode 100644 examples/ProtectedCharger/ProtectedCharger.net create mode 100644 examples/ProtectedCharger/ProtectedCharger.svgpcb.js create mode 100644 examples/RobotCrawler/RobotCrawler.net create mode 100644 examples/RobotCrawler/RobotCrawler.svgpcb.js create mode 100644 examples/RobotDriver/RobotDriver.net create mode 100644 examples/RobotDriver/RobotDriver.svgpcb.js create mode 100644 examples/RobotOwl/RobotOwl.net create mode 100644 examples/RobotOwl/RobotOwl.svgpcb.js create mode 100644 examples/SevenSegment/SevenSegment.net create mode 100644 examples/SevenSegment/SevenSegment.svgpcb.js create mode 100644 examples/Simon/Simon.net create mode 100644 examples/Simon/Simon.svgpcb.js create mode 100644 examples/SwdDebugger/SwdDebugger.net create mode 100644 examples/SwdDebugger/SwdDebugger.svgpcb.js create mode 100644 examples/TofArray/TofArray.net create mode 100644 examples/TofArray/TofArray.svgpcb.js create mode 100644 examples/UsbFpgaProgrammer/UsbFpgaProgrammer.net create mode 100644 examples/UsbFpgaProgrammer/UsbFpgaProgrammer.svgpcb.js create mode 100644 examples/UsbKey/UsbKey.net create mode 100644 examples/UsbKey/UsbKey.svgpcb.js create mode 100644 examples/UsbSourceMeasure/UsbSourceMeasure.net create mode 100644 examples/UsbSourceMeasure/UsbSourceMeasure.svgpcb.js create mode 100644 examples/UsbUart/UsbUart.net create mode 100644 examples/UsbUart/UsbUart.svgpcb.js diff --git a/examples/EspLora/EspLora.net b/examples/EspLora/EspLora.net new file mode 100644 index 000000000..e44a45d12 --- /dev/null +++ b/examples/EspLora/EspLora.net @@ -0,0 +1,1665 @@ +(export (version D) +(components +(comp (ref "LH1") + (value "jlc_th.th1") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th1")) + (property (name "edg_short_path") (value "jlc_th.th1")) + (property (name "edg_refdes") (value "LH1")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "0260010e")) +(comp (ref "LH2") + (value "jlc_th.th2") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th2")) + (property (name "edg_short_path") (value "jlc_th.th2")) + (property (name "edg_refdes") (value "LH2")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "0261010f")) +(comp (ref "LH3") + (value "jlc_th.th3") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th3")) + (property (name "edg_short_path") (value "jlc_th.th3")) + (property (name "edg_refdes") (value "LH3")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "02620110")) +(comp (ref "LJ1") + (value "usb.conn") + (footprint "Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11") + (property (name "Sheetname") (value "usb")) + (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCReceptacle")) + (property (name "edg_path") (value "usb.conn")) + (property (name "edg_short_path") (value "usb.conn")) + (property (name "edg_refdes") (value "LJ1")) + (property (name "edg_part") (value "COM-15111 (Sparkfun)")) + (property (name "edg_value") (value "COM-15111")) + (sheetpath (names "/usb/") (tstamps "/02aa014b/")) + (tstamps "042701af")) +(comp (ref "LR1") + (value "usb.cc_pull.cc1") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "cc_pull")) + (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) + (property (name "edg_path") (value "usb.cc_pull.cc1.res")) + (property (name "edg_short_path") (value "usb.cc_pull.cc1")) + (property (name "edg_refdes") (value "LR1")) + (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/usb/cc_pull/") (tstamps "/02aa014b/0b4c02e3/")) + (tstamps "022300f8")) +(comp (ref "LR2") + (value "usb.cc_pull.cc2") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "cc_pull")) + (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) + (property (name "edg_path") (value "usb.cc_pull.cc2.res")) + (property (name "edg_short_path") (value "usb.cc_pull.cc2")) + (property (name "edg_refdes") (value "LR2")) + (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/usb/cc_pull/") (tstamps "/02aa014b/0b4c02e3/")) + (tstamps "022400f9")) +(comp (ref "LTP1") + (value "tp_gnd") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_gnd.tp")) + (property (name "edg_short_path") (value "tp_gnd")) + (property (name "edg_refdes") (value "LTP1")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "gnd")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "08df027d")) +(comp (ref "LFB1") + (value "choke") + (footprint "Inductor_SMD:L_0603_1608Metric") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "choke.fb")) + (property (name "edg_short_path") (value "choke")) + (property (name "edg_refdes") (value "LFB1")) + (property (name "edg_part") (value "HCB1608KF-100T30 (TAI-TECH)")) + (property (name "edg_value") (value "3A 1 40mΩ 10Ω@100MHz ±25% 0603 Ferrite Beads ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "061c020b")) +(comp (ref "LTP2") + (value "tp_pwr") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_pwr.tp")) + (property (name "edg_short_path") (value "tp_pwr")) + (property (name "edg_refdes") (value "LTP2")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "pwr")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "091a029d")) +(comp (ref "LU1") + (value "reg_3v3.ic") + (footprint "Package_TO_SOT_SMD:SOT-223-3_TabPin2") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) + (property (name "edg_path") (value "reg_3v3.ic")) + (property (name "edg_short_path") (value "reg_3v3.ic")) + (property (name "edg_refdes") (value "LU1")) + (property (name "edg_part") (value "LDL1117S33R (STMicroelectronics)")) + (property (name "edg_value") (value "LDL1117S33R")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "013700cd")) +(comp (ref "LC1") + (value "reg_3v3.in_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) + (property (name "edg_path") (value "reg_3v3.in_cap.cap")) + (property (name "edg_short_path") (value "reg_3v3.in_cap")) + (property (name "edg_refdes") (value "LC1")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "0879026b")) +(comp (ref "LC2") + (value "reg_3v3.out_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) + (property (name "edg_path") (value "reg_3v3.out_cap.cap")) + (property (name "edg_short_path") (value "reg_3v3.out_cap")) + (property (name "edg_refdes") (value "LC2")) + (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "0be902ec")) +(comp (ref "LTP3") + (value "tp_3v3") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_3v3.tp")) + (property (name "edg_short_path") (value "tp_3v3")) + (property (name "edg_refdes") (value "LTP3")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "v3v3")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "08220220")) +(comp (ref "LD1") + (value "prot_3v3") + (footprint "Diode_SMD:D_SOD-323") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "prot_3v3.diode")) + (property (name "edg_short_path") (value "prot_3v3")) + (property (name "edg_refdes") (value "LD1")) + (property (name "edg_part") (value "BZT52B3V6S (SMC(Sangdest Microelectronicstronic (Nanjing)))")) + (property (name "edg_value") (value "5μA@1V 90Ω Single 3.53V~3.67V 200mW 3.6V SOD-323 Zener Diodes ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0eb80301")) +(comp (ref "LU2") + (value "mcu.ic") + (footprint "RF_Module:ESP32-S3-WROOM-1") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.ic")) + (property (name "edg_short_path") (value "mcu.ic")) + (property (name "edg_refdes") (value "LU2")) + (property (name "edg_part") (value "ESP32-S3-WROOM-1-N16R8 (Espressif Systems)")) + (property (name "edg_value") (value "ESP32-S3-WROOM-1-N16R8")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "013700cd")) +(comp (ref "LC3") + (value "mcu.vcc_cap0") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.vcc_cap0.cap")) + (property (name "edg_short_path") (value "mcu.vcc_cap0")) + (property (name "edg_refdes") (value "LC3")) + (property (name "edg_part") (value "CL31A226KPHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "10V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "0e590300")) +(comp (ref "LC4") + (value "mcu.vcc_cap1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.vcc_cap1.cap")) + (property (name "edg_short_path") (value "mcu.vcc_cap1")) + (property (name "edg_refdes") (value "LC4")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "0e5a0301")) +(comp (ref "LJ2") + (value "mcu.prog") + (footprint "Connector:Tag-Connect_TC2030-IDC-FP_2x03_P1.27mm_Vertical") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.prog.conn")) + (property (name "edg_short_path") (value "mcu.prog")) + (property (name "edg_refdes") (value "LJ2")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "045f01b9")) +(comp (ref "LSW1") + (value "mcu.boot") + (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.boot.package")) + (property (name "edg_short_path") (value "mcu.boot")) + (property (name "edg_refdes") (value "LSW1")) + (property (name "edg_part") (value "5.1mm switch")) + (property (name "edg_value") (value "5.1mm switch")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "042b01b5")) +(comp (ref "LR3") + (value "mcu.en_pull.r") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "en_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) + (property (name "edg_path") (value "mcu.en_pull.rc.r")) + (property (name "edg_short_path") (value "mcu.en_pull.r")) + (property (name "edg_refdes") (value "LR3")) + (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) + (tstamps "00730073")) +(comp (ref "LC5") + (value "mcu.en_pull.c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "en_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) + (property (name "edg_path") (value "mcu.en_pull.rc.c")) + (property (name "edg_short_path") (value "mcu.en_pull.c")) + (property (name "edg_refdes") (value "LC5")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) + (tstamps "00640064")) +(comp (ref "LU3") + (value "usb_esd") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "usb_esd")) + (property (name "edg_short_path") (value "usb_esd")) + (property (name "edg_refdes") (value "LU3")) + (property (name "edg_part") (value "PESD5V0X1BT (Nexperia)")) + (property (name "edg_value") (value "PESD5V0X1BT")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0bcb02e6")) +(comp (ref "LD2") + (value "ledr.package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "ledr")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "ledr.package")) + (property (name "edg_short_path") (value "ledr.package")) + (property (name "edg_refdes") (value "LD2")) + (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) + (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) + (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) + (tstamps "0b4e02cd")) +(comp (ref "LR4") + (value "ledr.res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "ledr")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "ledr.res")) + (property (name "edg_short_path") (value "ledr.res")) + (property (name "edg_refdes") (value "LR4")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) + (tstamps "0296014b")) +(comp (ref "LD3") + (value "ledg.package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "ledg")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "ledg.package")) + (property (name "edg_short_path") (value "ledg.package")) + (property (name "edg_refdes") (value "LD3")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/ledg/") (tstamps "/0412019d/")) + (tstamps "0b4e02cd")) +(comp (ref "LR5") + (value "ledg.res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "ledg")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "ledg.res")) + (property (name "edg_short_path") (value "ledg.res")) + (property (name "edg_refdes") (value "LR5")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/ledg/") (tstamps "/0412019d/")) + (tstamps "0296014b")) +(comp (ref "LD4") + (value "ledb.package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "ledb")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "ledb.package")) + (property (name "edg_short_path") (value "ledb.package")) + (property (name "edg_refdes") (value "LD4")) + (property (name "edg_part") (value "C2290 (Hubei KENTO Elec)")) + (property (name "edg_value") (value "White 0603 Light Emitting Diodes (LED) RoHS")) + (sheetpath (names "/ledb/") (tstamps "/040d0198/")) + (tstamps "0b4e02cd")) +(comp (ref "LR6") + (value "ledb.res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "ledb")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "ledb.res")) + (property (name "edg_short_path") (value "ledb.res")) + (property (name "edg_refdes") (value "LR6")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/ledb/") (tstamps "/040d0198/")) + (tstamps "0296014b")) +(comp (ref "LU4") + (value "lora.ic") + (footprint "Package_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mm") + (property (name "Sheetname") (value "lora")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) + (property (name "edg_path") (value "lora.ic")) + (property (name "edg_short_path") (value "lora.ic")) + (property (name "edg_refdes") (value "LU4")) + (property (name "edg_part") (value "SX1262IMLTRT (Semtech Corporation)")) + (property (name "edg_value") (value "SX1262IMLTRT")) + (sheetpath (names "/lora/") (tstamps "/044601af/")) + (tstamps "013700cd")) +(comp (ref "LX1") + (value "lora.xtal") + (footprint "Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm") + (property (name "Sheetname") (value "lora")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) + (property (name "edg_path") (value "lora.xtal")) + (property (name "edg_short_path") (value "lora.xtal")) + (property (name "edg_refdes") (value "LX1")) + (property (name "edg_part") (value "X322530MSB4SI (Yangxing Tech)")) + (property (name "edg_value") (value "30MHz SMD Crystal Resonator 20pF ±10ppm ±30ppm -40℃~+85℃ SMD3225-4P Crystals ROHS")) + (sheetpath (names "/lora/") (tstamps "/044601af/")) + (tstamps "046e01ba")) +(comp (ref "LC6") + (value "lora.vreg_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "lora")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) + (property (name "edg_path") (value "lora.vreg_cap.cap")) + (property (name "edg_short_path") (value "lora.vreg_cap")) + (property (name "edg_refdes") (value "LC6")) + (property (name "edg_part") (value "CL10B474KA8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 470nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/lora/") (tstamps "/044601af/")) + (tstamps "0f0e0348")) +(comp (ref "LC7") + (value "lora.vbat_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "lora")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) + (property (name "edg_path") (value "lora.vbat_cap.cap")) + (property (name "edg_short_path") (value "lora.vbat_cap")) + (property (name "edg_refdes") (value "LC7")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/lora/") (tstamps "/044601af/")) + (tstamps "0ec70341")) +(comp (ref "LC8") + (value "lora.vdd_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "lora")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) + (property (name "edg_path") (value "lora.vdd_cap.cap")) + (property (name "edg_short_path") (value "lora.vdd_cap")) + (property (name "edg_refdes") (value "LC8")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/lora/") (tstamps "/044601af/")) + (tstamps "0b6402d2")) +(comp (ref "LC9") + (value "lora.vrpa_cap0") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "lora")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) + (property (name "edg_path") (value "lora.vrpa_cap0.cap")) + (property (name "edg_short_path") (value "lora.vrpa_cap0")) + (property (name "edg_refdes") (value "LC9")) + (property (name "edg_part") (value "CL10C470JB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 47pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/lora/") (tstamps "/044601af/")) + (tstamps "12af037d")) +(comp (ref "LC10") + (value "lora.vrpa_cap1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "lora")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) + (property (name "edg_path") (value "lora.vrpa_cap1.cap")) + (property (name "edg_short_path") (value "lora.vrpa_cap1")) + (property (name "edg_refdes") (value "LC10")) + (property (name "edg_part") (value "CL10B473KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 47nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/lora/") (tstamps "/044601af/")) + (tstamps "12b0037e")) +(comp (ref "LL1") + (value "lora.dcc_l") + (footprint "Inductor_SMD:L_0603_1608Metric") + (property (name "Sheetname") (value "lora")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) + (property (name "edg_path") (value "lora.dcc_l")) + (property (name "edg_short_path") (value "lora.dcc_l")) + (property (name "edg_refdes") (value "LL1")) + (property (name "edg_part") (value "MGFL1608F150MT-LF (microgate)")) + (property (name "edg_value") (value "220mA 15uH ±20% 900mΩ 0603 Inductors (SMD) ROHS")) + (sheetpath (names "/lora/") (tstamps "/044601af/")) + (tstamps "05d801f6")) +(comp (ref "LU5") + (value "lora.rf_sw.ic") + (footprint "Package_TO_SOT_SMD:SOT-363_SC-70-6") + (property (name "Sheetname") (value "rf_sw")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Pe4259")) + (property (name "edg_path") (value "lora.rf_sw.ic")) + (property (name "edg_short_path") (value "lora.rf_sw.ic")) + (property (name "edg_refdes") (value "LU5")) + (property (name "edg_part") (value "PE4259 (pSemi)")) + (property (name "edg_value") (value "PE4259")) + (sheetpath (names "/lora/rf_sw/") (tstamps "/044601af/06510222/")) + (tstamps "013700cd")) +(comp (ref "LR7") + (value "lora.rf_sw.vdd_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "rf_sw")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Pe4259")) + (property (name "edg_path") (value "lora.rf_sw.vdd_res")) + (property (name "edg_short_path") (value "lora.rf_sw.vdd_res")) + (property (name "edg_refdes") (value "LR7")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/lora/rf_sw/") (tstamps "/044601af/06510222/")) + (tstamps "0b9c02e8")) +(comp (ref "LR8") + (value "lora.rf_sw.ctrl_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "rf_sw")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Pe4259")) + (property (name "edg_path") (value "lora.rf_sw.ctrl_res")) + (property (name "edg_short_path") (value "lora.rf_sw.ctrl_res")) + (property (name "edg_refdes") (value "LR8")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/lora/rf_sw/") (tstamps "/044601af/06510222/")) + (tstamps "0f23035f")) +(comp (ref "LC11") + (value "lora.tx_dcblock") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "lora")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) + (property (name "edg_path") (value "lora.tx_dcblock")) + (property (name "edg_short_path") (value "lora.tx_dcblock")) + (property (name "edg_refdes") (value "LC11")) + (property (name "edg_part") (value "CL10C470JB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 47pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/lora/") (tstamps "/044601af/")) + (tstamps "16e8041e")) +(comp (ref "LC12") + (value "lora.rfc_dcblock") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "lora")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) + (property (name "edg_path") (value "lora.rfc_dcblock")) + (property (name "edg_short_path") (value "lora.rfc_dcblock")) + (property (name "edg_refdes") (value "LC12")) + (property (name "edg_part") (value "CL10C470JB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 47pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/lora/") (tstamps "/044601af/")) + (tstamps "1a86046d")) +(comp (ref "LL2") + (value "lora.vrpa_choke") + (footprint "Inductor_SMD:L_0603_1608Metric") + (property (name "Sheetname") (value "lora")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) + (property (name "edg_path") (value "lora.vrpa_choke")) + (property (name "edg_short_path") (value "lora.vrpa_choke")) + (property (name "edg_refdes") (value "LL2")) + (property (name "edg_part") (value "VHF160808H47NJT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "200mA 47nH ±5% 1Ω 0603 Inductors (SMD) ROHS")) + (sheetpath (names "/lora/") (tstamps "/044601af/")) + (tstamps "17200423")) +(comp (ref "LL3") + (value "lora.tx_l.l") + (footprint "Inductor_SMD:L_0603_1608Metric") + (property (name "Sheetname") (value "tx_l")) + (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.LLowPassFilterWith2HNotch")) + (property (name "edg_path") (value "lora.tx_l.l")) + (property (name "edg_short_path") (value "lora.tx_l.l")) + (property (name "edg_refdes") (value "LL3")) + (property (name "edg_part") (value "VHF160808H3N3ST (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "400mA 3.3nH ±0.3nH 200mΩ 0603 Inductors (SMD) ROHS")) + (sheetpath (names "/lora/tx_l/") (tstamps "/044601af/046601b8/")) + (tstamps "006d006d")) +(comp (ref "LC13") + (value "lora.tx_l.c_lc") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "tx_l")) + (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.LLowPassFilterWith2HNotch")) + (property (name "edg_path") (value "lora.tx_l.c_lc")) + (property (name "edg_short_path") (value "lora.tx_l.c_lc")) + (property (name "edg_refdes") (value "LC13")) + (property (name "edg_part") (value "TCC0603COG2R2C500CT (CCTC)")) + (property (name "edg_value") (value "50V 2.2pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/lora/tx_l/") (tstamps "/044601af/046601b8/")) + (tstamps "03e80192")) +(comp (ref "LC14") + (value "lora.tx_pi.c2") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "tx_pi")) + (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.PiLowPassFilter")) + (property (name "edg_path") (value "lora.tx_pi.c2")) + (property (name "edg_short_path") (value "lora.tx_pi.c2")) + (property (name "edg_refdes") (value "LC14")) + (property (name "edg_part") (value "TCC0603COG3R3C500CT (CCTC)")) + (property (name "edg_value") (value "50V 3.3pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/lora/tx_pi/") (tstamps "/044601af/068f0225/")) + (tstamps "00fa0096")) +(comp (ref "LL4") + (value "lora.tx_pi.l") + (footprint "Inductor_SMD:L_0603_1608Metric") + (property (name "Sheetname") (value "tx_pi")) + (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.PiLowPassFilter")) + (property (name "edg_path") (value "lora.tx_pi.l")) + (property (name "edg_short_path") (value "lora.tx_pi.l")) + (property (name "edg_refdes") (value "LL4")) + (property (name "edg_part") (value "VHF160808H8N2JT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "400mA 8.2nH ±5% 350mΩ 0603 Inductors (SMD) ROHS")) + (sheetpath (names "/lora/tx_pi/") (tstamps "/044601af/068f0225/")) + (tstamps "006d006d")) +(comp (ref "LL5") + (value "lora.balun.l") + (footprint "Inductor_SMD:L_0603_1608Metric") + (property (name "Sheetname") (value "balun")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262BalunLike")) + (property (name "edg_path") (value "lora.balun.l")) + (property (name "edg_short_path") (value "lora.balun.l")) + (property (name "edg_refdes") (value "LL5")) + (property (name "edg_part") (value "SCHF160808H12NJT (Yanchuang)")) + (property (name "edg_value") (value "300mA 12nH ±5% 400mΩ 0603 Inductors (SMD) ROHS")) + (sheetpath (names "/lora/balun/") (tstamps "/044601af/060f0213/")) + (tstamps "006d006d")) +(comp (ref "LC15") + (value "lora.balun.c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "balun")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262BalunLike")) + (property (name "edg_path") (value "lora.balun.c")) + (property (name "edg_short_path") (value "lora.balun.c")) + (property (name "edg_refdes") (value "LC15")) + (property (name "edg_part") (value "0603CG3R0C500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 3pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/lora/balun/") (tstamps "/044601af/060f0213/")) + (tstamps "00640064")) +(comp (ref "LC16") + (value "lora.balun.c_p") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "balun")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262BalunLike")) + (property (name "edg_path") (value "lora.balun.c_p")) + (property (name "edg_short_path") (value "lora.balun.c_p")) + (property (name "edg_refdes") (value "LC16")) + (property (name "edg_part") (value "TCC0603COG3R3C500CT (CCTC)")) + (property (name "edg_value") (value "50V 3.3pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/lora/balun/") (tstamps "/044601af/060f0213/")) + (tstamps "025a0133")) +(comp (ref "LC17") + (value "lora.ant_pi.c1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "ant_pi")) + (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.PiLowPassFilter")) + (property (name "edg_path") (value "lora.ant_pi.c1")) + (property (name "edg_short_path") (value "lora.ant_pi.c1")) + (property (name "edg_refdes") (value "LC17")) + (property (name "edg_part") (value "TCC0603COG3R3C500CT (CCTC)")) + (property (name "edg_value") (value "50V 3.3pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/lora/ant_pi/") (tstamps "/044601af/08a8027c/")) + (tstamps "00f90095")) +(comp (ref "LC18") + (value "lora.ant_pi.c2") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "ant_pi")) + (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.PiLowPassFilter")) + (property (name "edg_path") (value "lora.ant_pi.c2")) + (property (name "edg_short_path") (value "lora.ant_pi.c2")) + (property (name "edg_refdes") (value "LC18")) + (property (name "edg_part") (value "TCC0603COG3R3C500CT (CCTC)")) + (property (name "edg_value") (value "50V 3.3pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/lora/ant_pi/") (tstamps "/044601af/08a8027c/")) + (tstamps "00fa0096")) +(comp (ref "LL6") + (value "lora.ant_pi.l") + (footprint "Inductor_SMD:L_0603_1608Metric") + (property (name "Sheetname") (value "ant_pi")) + (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.PiLowPassFilter")) + (property (name "edg_path") (value "lora.ant_pi.l")) + (property (name "edg_short_path") (value "lora.ant_pi.l")) + (property (name "edg_refdes") (value "LL6")) + (property (name "edg_part") (value "VHF160808H8N2JT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "400mA 8.2nH ±5% 350mΩ 0603 Inductors (SMD) ROHS")) + (sheetpath (names "/lora/ant_pi/") (tstamps "/044601af/08a8027c/")) + (tstamps "006d006d")) +(comp (ref "LJ3") + (value "lora.ant") + (footprint "Connector_Coaxial:SMA_Amphenol_901-143_Horizontal") + (property (name "Sheetname") (value "lora")) + (property (name "Sheetfile") (value "edg.parts.Rf_Sx1262.Sx1262")) + (property (name "edg_path") (value "lora.ant.conn")) + (property (name "edg_short_path") (value "lora.ant")) + (property (name "edg_refdes") (value "LJ3")) + (property (name "edg_part") (value "901-143 (Amphenol RF)")) + (property (name "edg_value") (value "901-143")) + (sheetpath (names "/lora/") (tstamps "/044601af/")) + (tstamps "02760144")) +(comp (ref "LTP4") + (value "tp_lora_spi.tp_sck") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "tp_lora_spi")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) + (property (name "edg_path") (value "tp_lora_spi.tp_sck.tp")) + (property (name "edg_short_path") (value "tp_lora_spi.tp_sck")) + (property (name "edg_refdes") (value "LTP4")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "lr.sck")) + (sheetpath (names "/tp_lora_spi/") (tstamps "/1bd6049d/")) + (tstamps "08f40285")) +(comp (ref "LTP5") + (value "tp_lora_spi.tp_mosi") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "tp_lora_spi")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) + (property (name "edg_path") (value "tp_lora_spi.tp_mosi.tp")) + (property (name "edg_short_path") (value "tp_lora_spi.tp_mosi")) + (property (name "edg_refdes") (value "LTP5")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "lr.mosi")) + (sheetpath (names "/tp_lora_spi/") (tstamps "/1bd6049d/")) + (tstamps "0bfe02fc")) +(comp (ref "LTP6") + (value "tp_lora_spi.tp_miso") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "tp_lora_spi")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) + (property (name "edg_path") (value "tp_lora_spi.tp_miso.tp")) + (property (name "edg_short_path") (value "tp_lora_spi.tp_miso")) + (property (name "edg_refdes") (value "LTP6")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "lr.miso")) + (sheetpath (names "/tp_lora_spi/") (tstamps "/1bd6049d/")) + (tstamps "0bf202fc")) +(comp (ref "LTP7") + (value "tp_lora_cs") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_lora_cs.tp")) + (property (name "edg_short_path") (value "tp_lora_cs")) + (property (name "edg_refdes") (value "LTP7")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "lr_cs")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "171c0427")) +(comp (ref "LTP8") + (value "tp_lora_rst") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_lora_rst.tp")) + (property (name "edg_short_path") (value "tp_lora_rst")) + (property (name "edg_refdes") (value "LTP8")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "lr_rs")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "1be404aa")) +(comp (ref "LTP9") + (value "tp_lora_dio") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_lora_dio.tp")) + (property (name "edg_short_path") (value "tp_lora_dio")) + (property (name "edg_refdes") (value "LTP9")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "lr_di")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "1ba1048d")) +(comp (ref "LTP10") + (value "tp_lora_busy") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_lora_busy.tp")) + (property (name "edg_short_path") (value "tp_lora_busy")) + (property (name "edg_refdes") (value "LTP10")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "lr_bs")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "20cb0514")) +(comp (ref "LR9") + (value "i2c_pull.scl_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "i2c_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.I2cPullup.I2cPullup")) + (property (name "edg_path") (value "i2c_pull.scl_res.res")) + (property (name "edg_short_path") (value "i2c_pull.scl_res")) + (property (name "edg_refdes") (value "LR9")) + (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/i2c_pull/") (tstamps "/0d3e031b/")) + (tstamps "0ba902ec")) +(comp (ref "LR10") + (value "i2c_pull.sda_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "i2c_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.I2cPullup.I2cPullup")) + (property (name "edg_path") (value "i2c_pull.sda_res.res")) + (property (name "edg_short_path") (value "i2c_pull.sda_res")) + (property (name "edg_refdes") (value "LR10")) + (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/i2c_pull/") (tstamps "/0d3e031b/")) + (tstamps "0b7802e2")) +(comp (ref "LTP11") + (value "i2c_tp.tp_scl") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "i2c_tp")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.I2cTestPoint")) + (property (name "edg_path") (value "i2c_tp.tp_scl.tp")) + (property (name "edg_short_path") (value "i2c_tp.tp_scl")) + (property (name "edg_refdes") (value "LTP11")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "i2c.scl")) + (sheetpath (names "/i2c_tp/") (tstamps "/07770242/")) + (tstamps "08f50286")) +(comp (ref "LTP12") + (value "i2c_tp.tp_sda") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "i2c_tp")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.I2cTestPoint")) + (property (name "edg_path") (value "i2c_tp.tp_sda.tp")) + (property (name "edg_short_path") (value "i2c_tp.tp_sda")) + (property (name "edg_refdes") (value "LTP12")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "i2c.sda")) + (sheetpath (names "/i2c_tp/") (tstamps "/07770242/")) + (tstamps "08ec027c")) +(comp (ref "LJ4") + (value "oled.device") + (footprint "Connector_FFC-FPC:Hirose_FH12-30S-0.5SH_1x30-1MP_P0.50mm_Horizontal") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.device.conn")) + (property (name "edg_short_path") (value "oled.device")) + (property (name "edg_refdes") (value "LJ4")) + (property (name "edg_part") (value "AFC01-S30FC*-00 (Jushuo)")) + (property (name "edg_value") (value "AFC01-S30FC*-00")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "08950271")) +(comp (ref "LU6") + (value "oled.lcd") + (footprint "edg:Lcd_Er_Oled0.96_1.1_Outline") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.lcd")) + (property (name "edg_short_path") (value "oled.lcd")) + (property (name "edg_refdes") (value "LU6")) + (property (name "edg_part") (value "ER-OLED-0.96-1.1 (EastRising)")) + (property (name "edg_value") (value "ER-OLED-0.96-1.1")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "02710134")) +(comp (ref "LC19") + (value "oled.c1_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.c1_cap")) + (property (name "edg_short_path") (value "oled.c1_cap")) + (property (name "edg_refdes") (value "LC19")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "07240228")) +(comp (ref "LC20") + (value "oled.c2_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.c2_cap")) + (property (name "edg_short_path") (value "oled.c2_cap")) + (property (name "edg_refdes") (value "LC20")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "07290229")) +(comp (ref "LR11") + (value "oled.iref_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.iref_res")) + (property (name "edg_short_path") (value "oled.iref_res")) + (property (name "edg_refdes") (value "LR11")) + (property (name "edg_part") (value "0603WAF4303T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 430kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "0ed90350")) +(comp (ref "LC21") + (value "oled.vcomh_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.vcomh_cap.cap")) + (property (name "edg_short_path") (value "oled.vcomh_cap")) + (property (name "edg_refdes") (value "LC21")) + (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "12bd03b1")) +(comp (ref "LC22") + (value "oled.vdd_cap1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.vdd_cap1.cap")) + (property (name "edg_short_path") (value "oled.vdd_cap1")) + (property (name "edg_refdes") (value "LC22")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "0e670303")) +(comp (ref "LC23") + (value "oled.vbat_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.vbat_cap.cap")) + (property (name "edg_short_path") (value "oled.vbat_cap")) + (property (name "edg_refdes") (value "LC23")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "0ec70341")) +(comp (ref "LC24") + (value "oled.vcc_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.vcc_cap.cap")) + (property (name "edg_short_path") (value "oled.vcc_cap")) + (property (name "edg_refdes") (value "LC24")) + (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "0b5902d0")) +(comp (ref "LU7") + (value "oled_rst") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "oled_rst.ic")) + (property (name "edg_short_path") (value "oled_rst")) + (property (name "edg_refdes") (value "LU7")) + (property (name "edg_part") (value "APX803S-29SA-7 (Diodes Incorporated)")) + (property (name "edg_value") (value "APX803S-29SA-7")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0ef2035d")) +(comp (ref "LR12") + (value "oled_pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "oled_pull.res")) + (property (name "edg_short_path") (value "oled_pull")) + (property (name "edg_refdes") (value "LR12")) + (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "12a903c1")) +(comp (ref "LJ5") + (value "sd") + (footprint "Connector_Card:microSD_HC_Molex_104031-0811") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "sd")) + (property (name "edg_short_path") (value "sd")) + (property (name "edg_refdes") (value "LJ5")) + (property (name "edg_part") (value "104031-0811 (Molex)")) + (property (name "edg_value") (value "104031-0811")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "014c00d8")) +(comp (ref "LU8") + (value "nfc.ic") + (footprint "Package_DFN_QFN:HVQFN-40-1EP_6x6mm_P0.5mm_EP4.1x4.1mm") + (property (name "Sheetname") (value "nfc")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) + (property (name "edg_path") (value "nfc.ic")) + (property (name "edg_short_path") (value "nfc.ic")) + (property (name "edg_refdes") (value "LU8")) + (property (name "edg_part") (value "PN7160A1HN/C100Y (NXP)")) + (property (name "edg_value") (value "PN7160A1HN/C100Y")) + (sheetpath (names "/nfc/") (tstamps "/027c0138/")) + (tstamps "013700cd")) +(comp (ref "LC25") + (value "nfc.cvddup") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "nfc")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) + (property (name "edg_path") (value "nfc.cvddup.cap")) + (property (name "edg_short_path") (value "nfc.cvddup")) + (property (name "edg_refdes") (value "LC25")) + (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/") (tstamps "/027c0138/")) + (tstamps "08bc0287")) +(comp (ref "LC26") + (value "nfc.cvbat") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "nfc")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) + (property (name "edg_path") (value "nfc.cvbat.cap")) + (property (name "edg_short_path") (value "nfc.cvbat")) + (property (name "edg_refdes") (value "LC26")) + (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/") (tstamps "/027c0138/")) + (tstamps "06280211")) +(comp (ref "LC27") + (value "nfc.cvbat1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "nfc")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) + (property (name "edg_path") (value "nfc.cvbat1.cap")) + (property (name "edg_short_path") (value "nfc.cvbat1")) + (property (name "edg_refdes") (value "LC27")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/") (tstamps "/027c0138/")) + (tstamps "086a0242")) +(comp (ref "LC28") + (value "nfc.cvdd1") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "nfc")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) + (property (name "edg_path") (value "nfc.cvdd1.cap")) + (property (name "edg_short_path") (value "nfc.cvdd1")) + (property (name "edg_refdes") (value "LC28")) + (property (name "edg_part") (value "CL21B225KOFNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "16V 2.2uF X7R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/") (tstamps "/027c0138/")) + (tstamps "05f101d3")) +(comp (ref "LC29") + (value "nfc.cvdd2") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "nfc")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) + (property (name "edg_path") (value "nfc.cvdd2.cap")) + (property (name "edg_short_path") (value "nfc.cvdd2")) + (property (name "edg_refdes") (value "LC29")) + (property (name "edg_part") (value "CL21B225KOFNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "16V 2.2uF X7R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/") (tstamps "/027c0138/")) + (tstamps "05f201d4")) +(comp (ref "LC30") + (value "nfc.ctvdd1") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "nfc")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) + (property (name "edg_path") (value "nfc.ctvdd1.cap")) + (property (name "edg_short_path") (value "nfc.ctvdd1")) + (property (name "edg_refdes") (value "LC30")) + (property (name "edg_part") (value "CL21B225KOFNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "16V 2.2uF X7R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/") (tstamps "/027c0138/")) + (tstamps "08990247")) +(comp (ref "LC31") + (value "nfc.ctvdd2") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "nfc")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) + (property (name "edg_path") (value "nfc.ctvdd2.cap")) + (property (name "edg_short_path") (value "nfc.ctvdd2")) + (property (name "edg_refdes") (value "LC31")) + (property (name "edg_part") (value "CL21B225KOFNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "16V 2.2uF X7R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/") (tstamps "/027c0138/")) + (tstamps "089a0248")) +(comp (ref "LC32") + (value "nfc.cvddpad") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "nfc")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) + (property (name "edg_path") (value "nfc.cvddpad.cap")) + (property (name "edg_short_path") (value "nfc.cvddpad")) + (property (name "edg_refdes") (value "LC32")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/") (tstamps "/027c0138/")) + (tstamps "0b7a02d7")) +(comp (ref "LC33") + (value "nfc.cvddmid") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "nfc")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) + (property (name "edg_path") (value "nfc.cvddmid.cap")) + (property (name "edg_short_path") (value "nfc.cvddmid")) + (property (name "edg_refdes") (value "LC33")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/") (tstamps "/027c0138/")) + (tstamps "0b8102dc")) +(comp (ref "LX2") + (value "nfc.xtal.package") + (footprint "Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm") + (property (name "Sheetname") (value "xtal")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) + (property (name "edg_path") (value "nfc.xtal.package")) + (property (name "edg_short_path") (value "nfc.xtal.package")) + (property (name "edg_refdes") (value "LX2")) + (property (name "edg_part") (value "X32252712MMB4SI (Yangxing Tech)")) + (property (name "edg_value") (value "27.12MHz SMD Crystal Resonator 10pF ±10ppm ±30ppm -40℃~+85℃ SMD3225-4P Crystals ROHS")) + (sheetpath (names "/nfc/xtal/") (tstamps "/027c0138/046e01ba/")) + (tstamps "0b4e02cd")) +(comp (ref "LC34") + (value "nfc.xtal.cap_a") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "xtal")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) + (property (name "edg_path") (value "nfc.xtal.cap_a")) + (property (name "edg_short_path") (value "nfc.xtal.cap_a")) + (property (name "edg_refdes") (value "LC34")) + (property (name "edg_part") (value "0603CG6R8C500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 6.8pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/xtal/") (tstamps "/027c0138/046e01ba/")) + (tstamps "05e701f5")) +(comp (ref "LC35") + (value "nfc.xtal.cap_b") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "xtal")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) + (property (name "edg_path") (value "nfc.xtal.cap_b")) + (property (name "edg_short_path") (value "nfc.xtal.cap_b")) + (property (name "edg_refdes") (value "LC35")) + (property (name "edg_part") (value "0603CG6R8C500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 6.8pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/xtal/") (tstamps "/027c0138/046e01ba/")) + (tstamps "05e801f6")) +(comp (ref "LR13") + (value "nfc.rx.rrx1") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "rx")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160RxFilter")) + (property (name "edg_path") (value "nfc.rx.rrx1")) + (property (name "edg_short_path") (value "nfc.rx.rrx1")) + (property (name "edg_refdes") (value "LR13")) + (property (name "edg_part") (value "0603WAF2201T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 2.2kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/nfc/rx/") (tstamps "/027c0138/015e00eb/")) + (tstamps "0443018e")) +(comp (ref "LR14") + (value "nfc.rx.rrx2") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "rx")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160RxFilter")) + (property (name "edg_path") (value "nfc.rx.rrx2")) + (property (name "edg_short_path") (value "nfc.rx.rrx2")) + (property (name "edg_refdes") (value "LR14")) + (property (name "edg_part") (value "0603WAF2201T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 2.2kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/nfc/rx/") (tstamps "/027c0138/015e00eb/")) + (tstamps "0444018f")) +(comp (ref "LC36") + (value "nfc.rx.crx1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "rx")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160RxFilter")) + (property (name "edg_path") (value "nfc.rx.crx1")) + (property (name "edg_short_path") (value "nfc.rx.crx1")) + (property (name "edg_refdes") (value "LC36")) + (property (name "edg_part") (value "CL10B102KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/rx/") (tstamps "/027c0138/015e00eb/")) + (tstamps "0407017f")) +(comp (ref "LC37") + (value "nfc.rx.crx2") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "rx")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160RxFilter")) + (property (name "edg_path") (value "nfc.rx.crx2")) + (property (name "edg_short_path") (value "nfc.rx.crx2")) + (property (name "edg_refdes") (value "LC37")) + (property (name "edg_part") (value "CL10B102KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/rx/") (tstamps "/027c0138/015e00eb/")) + (tstamps "04080180")) +(comp (ref "LL7") + (value "nfc.emc.l1") + (footprint "Inductor_SMD:L_0603_1608Metric") + (property (name "Sheetname") (value "emc")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.DifferentialLcLowpassFilter")) + (property (name "edg_path") (value "nfc.emc.l1")) + (property (name "edg_short_path") (value "nfc.emc.l1")) + (property (name "edg_refdes") (value "LL7")) + (property (name "edg_part") (value "HK1608R22J-T (Taiyo Yuden)")) + (property (name "edg_value") (value "300mA 220nH ±5% 950mΩ 0603 Inductors (SMD) ROHS")) + (sheetpath (names "/nfc/emc/") (tstamps "/027c0138/026f0136/")) + (tstamps "010b009e")) +(comp (ref "LL8") + (value "nfc.emc.l2") + (footprint "Inductor_SMD:L_0603_1608Metric") + (property (name "Sheetname") (value "emc")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.DifferentialLcLowpassFilter")) + (property (name "edg_path") (value "nfc.emc.l2")) + (property (name "edg_short_path") (value "nfc.emc.l2")) + (property (name "edg_refdes") (value "LL8")) + (property (name "edg_part") (value "HK1608R22J-T (Taiyo Yuden)")) + (property (name "edg_value") (value "300mA 220nH ±5% 950mΩ 0603 Inductors (SMD) ROHS")) + (sheetpath (names "/nfc/emc/") (tstamps "/027c0138/026f0136/")) + (tstamps "010c009f")) +(comp (ref "LC38") + (value "nfc.emc.c1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "emc")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.DifferentialLcLowpassFilter")) + (property (name "edg_path") (value "nfc.emc.c1")) + (property (name "edg_short_path") (value "nfc.emc.c1")) + (property (name "edg_refdes") (value "LC38")) + (property (name "edg_part") (value "TCC0603X7R511K500CT (CCTC)")) + (property (name "edg_value") (value "50V 510pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/emc/") (tstamps "/027c0138/026f0136/")) + (tstamps "00f90095")) +(comp (ref "LC39") + (value "nfc.emc.c2") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "emc")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.DifferentialLcLowpassFilter")) + (property (name "edg_path") (value "nfc.emc.c2")) + (property (name "edg_short_path") (value "nfc.emc.c2")) + (property (name "edg_refdes") (value "LC39")) + (property (name "edg_part") (value "TCC0603X7R511K500CT (CCTC)")) + (property (name "edg_value") (value "50V 510pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/emc/") (tstamps "/027c0138/026f0136/")) + (tstamps "00fa0096")) +(comp (ref "LANT1") + (value "nfc.ant") + (footprint "board:an13219") + (property (name "Sheetname") (value "nfc")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.Pn7160")) + (property (name "edg_path") (value "nfc.ant")) + (property (name "edg_short_path") (value "nfc.ant")) + (property (name "edg_refdes") (value "LANT1")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/nfc/") (tstamps "/027c0138/")) + (tstamps "02760144")) +(comp (ref "LR15") + (value "nfc.damp.r1") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "damp")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.NfcAntennaDampening")) + (property (name "edg_path") (value "nfc.damp.r1")) + (property (name "edg_short_path") (value "nfc.damp.r1")) + (property (name "edg_refdes") (value "LR15")) + (property (name "edg_part") (value "RTT032R55FTP (RALEC)")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±200ppm/℃ -55℃~+155℃ 2.55Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/nfc/damp/") (tstamps "/027c0138/040101a3/")) + (tstamps "011700a4")) +(comp (ref "LR16") + (value "nfc.damp.r2") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "damp")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.NfcAntennaDampening")) + (property (name "edg_path") (value "nfc.damp.r2")) + (property (name "edg_short_path") (value "nfc.damp.r2")) + (property (name "edg_refdes") (value "LR16")) + (property (name "edg_part") (value "RTT032R55FTP (RALEC)")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±200ppm/℃ -55℃~+155℃ 2.55Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/nfc/damp/") (tstamps "/027c0138/040101a3/")) + (tstamps "011800a5")) +(comp (ref "LC40") + (value "nfc.match.cs1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "match")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.DifferentialLLowPassFilter")) + (property (name "edg_path") (value "nfc.match.cs1")) + (property (name "edg_short_path") (value "nfc.match.cs1")) + (property (name "edg_refdes") (value "LC40")) + (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/match/") (tstamps "/027c0138/0634020e/")) + (tstamps "02430108")) +(comp (ref "LC41") + (value "nfc.match.cs2") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "match")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.DifferentialLLowPassFilter")) + (property (name "edg_path") (value "nfc.match.cs2")) + (property (name "edg_short_path") (value "nfc.match.cs2")) + (property (name "edg_refdes") (value "LC41")) + (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/match/") (tstamps "/027c0138/0634020e/")) + (tstamps "02440109")) +(comp (ref "LC42") + (value "nfc.match.cp1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "match")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.DifferentialLLowPassFilter")) + (property (name "edg_path") (value "nfc.match.cp1")) + (property (name "edg_short_path") (value "nfc.match.cp1")) + (property (name "edg_refdes") (value "LC42")) + (property (name "edg_part") (value "CL10C560JB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 56pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/match/") (tstamps "/027c0138/0634020e/")) + (tstamps "023d0105")) +(comp (ref "LC43") + (value "nfc.match.cp2") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "match")) + (property (name "Sheetfile") (value "edg.parts.Rf_Pn7160.DifferentialLLowPassFilter")) + (property (name "edg_path") (value "nfc.match.cp2")) + (property (name "edg_short_path") (value "nfc.match.cp2")) + (property (name "edg_refdes") (value "LC43")) + (property (name "edg_part") (value "CL10C560JB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 56pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/nfc/match/") (tstamps "/027c0138/0634020e/")) + (tstamps "023e0106")) +(comp (ref "LC44") + (value "tx_cpack") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tx_cpack.cap")) + (property (name "edg_short_path") (value "tx_cpack")) + (property (name "edg_refdes") (value "LC44")) + (property (name "edg_part") (value "0603CG8R2C500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 8.2pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0f2d034e"))) +(nets +(net (code 1) (name "Lgnd") + (node (ref LU3) (pin 3)) + (node (ref LJ5) (pin 6)) + (node (ref LJ5) (pin 11)) + (node (ref LU7) (pin 1)) + (node (ref LJ1) (pin A1)) + (node (ref LJ1) (pin B12)) + (node (ref LJ1) (pin B1)) + (node (ref LJ1) (pin A12)) + (node (ref LTP1) (pin 1)) + (node (ref LU1) (pin 1)) + (node (ref LD1) (pin 2)) + (node (ref LU2) (pin 1)) + (node (ref LU2) (pin 40)) + (node (ref LU2) (pin 41)) + (node (ref LR4) (pin 2)) + (node (ref LR5) (pin 2)) + (node (ref LR6) (pin 2)) + (node (ref LU4) (pin 2)) + (node (ref LU4) (pin 5)) + (node (ref LU4) (pin 8)) + (node (ref LU4) (pin 20)) + (node (ref LU4) (pin 25)) + (node (ref LX1) (pin 2)) + (node (ref LX1) (pin 4)) + (node (ref LU8) (pin 1)) + (node (ref LU8) (pin 3)) + (node (ref LU8) (pin 4)) + (node (ref LU8) (pin 9)) + (node (ref LU8) (pin 20)) + (node (ref LU8) (pin 41)) + (node (ref LU5) (pin 2)) + (node (ref LJ3) (pin 2)) + (node (ref LJ1) (pin S1)) + (node (ref LR11) (pin 2)) + (node (ref LC1) (pin 2)) + (node (ref LC2) (pin 2)) + (node (ref LC3) (pin 2)) + (node (ref LC4) (pin 2)) + (node (ref LJ2) (pin 5)) + (node (ref LSW1) (pin 2)) + (node (ref LC6) (pin 2)) + (node (ref LC7) (pin 2)) + (node (ref LC8) (pin 2)) + (node (ref LC9) (pin 2)) + (node (ref LC10) (pin 2)) + (node (ref LC16) (pin 2)) + (node (ref LC21) (pin 2)) + (node (ref LC22) (pin 2)) + (node (ref LC23) (pin 2)) + (node (ref LC24) (pin 2)) + (node (ref LC25) (pin 2)) + (node (ref LC26) (pin 2)) + (node (ref LC27) (pin 2)) + (node (ref LC28) (pin 2)) + (node (ref LC29) (pin 2)) + (node (ref LC30) (pin 2)) + (node (ref LC31) (pin 2)) + (node (ref LC32) (pin 2)) + (node (ref LC33) (pin 2)) + (node (ref LX2) (pin 2)) + (node (ref LX2) (pin 4)) + (node (ref LC5) (pin 2)) + (node (ref LR1) (pin 1)) + (node (ref LR2) (pin 1)) + (node (ref LC14) (pin 2)) + (node (ref LC17) (pin 2)) + (node (ref LC18) (pin 2)) + (node (ref LJ4) (pin 8)) + (node (ref LJ4) (pin 1)) + (node (ref LJ4) (pin 30)) + (node (ref LJ4) (pin 29)) + (node (ref LJ4) (pin 17)) + (node (ref LJ4) (pin 16)) + (node (ref LJ4) (pin 21)) + (node (ref LJ4) (pin 22)) + (node (ref LJ4) (pin 23)) + (node (ref LJ4) (pin 24)) + (node (ref LJ4) (pin 25)) + (node (ref LJ4) (pin 12)) + (node (ref LJ4) (pin 10)) + (node (ref LJ4) (pin 15)) + (node (ref LJ4) (pin 13)) + (node (ref LC34) (pin 2)) + (node (ref LC35) (pin 2)) + (node (ref LC38) (pin 2)) + (node (ref LC39) (pin 2)) + (node (ref LC42) (pin 2)) + (node (ref LC43) (pin 2)) + (node (ref LC44) (pin 2))) +(net (code 2) (name "Lpwr") + (node (ref LFB1) (pin 2)) + (node (ref LTP2) (pin 1)) + (node (ref LU1) (pin 3)) + (node (ref LU8) (pin 12)) + (node (ref LU8) (pin 28)) + (node (ref LU8) (pin 13)) + (node (ref LC1) (pin 1)) + (node (ref LC25) (pin 1)) + (node (ref LC26) (pin 1)) + (node (ref LC27) (pin 1))) +(net (code 3) (name "Lv3v3") + (node (ref LJ5) (pin 4)) + (node (ref LU7) (pin 3)) + (node (ref LU1) (pin 2)) + (node (ref LTP3) (pin 1)) + (node (ref LD1) (pin 1)) + (node (ref LU2) (pin 2)) + (node (ref LU4) (pin 1)) + (node (ref LU4) (pin 10)) + (node (ref LU4) (pin 11)) + (node (ref LR12) (pin 1)) + (node (ref LU8) (pin 6)) + (node (ref LC2) (pin 1)) + (node (ref LC3) (pin 1)) + (node (ref LC4) (pin 1)) + (node (ref LJ2) (pin 1)) + (node (ref LC7) (pin 1)) + (node (ref LC8) (pin 1)) + (node (ref LR7) (pin 1)) + (node (ref LR9) (pin 1)) + (node (ref LR10) (pin 1)) + (node (ref LJ4) (pin 9)) + (node (ref LJ4) (pin 6)) + (node (ref LC22) (pin 1)) + (node (ref LC23) (pin 1)) + (node (ref LC32) (pin 1)) + (node (ref LR3) (pin 1)) + (node (ref LJ4) (pin 11))) +(net (code 4) (name "Lusb.pwr") + (node (ref LJ1) (pin A4)) + (node (ref LJ1) (pin B9)) + (node (ref LJ1) (pin B4)) + (node (ref LJ1) (pin A9)) + (node (ref LFB1) (pin 1))) +(net (code 5) (name "Lusb_chain_0.d_P") + (node (ref LJ1) (pin A6)) + (node (ref LJ1) (pin B6)) + (node (ref LU3) (pin 2)) + (node (ref LU2) (pin 14))) +(net (code 6) (name "Lusb_chain_0.d_N") + (node (ref LJ1) (pin A7)) + (node (ref LJ1) (pin B7)) + (node (ref LU3) (pin 1)) + (node (ref LU2) (pin 13))) +(net (code 7) (name "Lledr.signal") + (node (ref LU2) (pin 34)) + (node (ref LD2) (pin 2))) +(net (code 8) (name "Lledg.signal") + (node (ref LU2) (pin 35)) + (node (ref LD3) (pin 2))) +(net (code 9) (name "Lledb.signal") + (node (ref LU2) (pin 39)) + (node (ref LD4) (pin 2))) +(net (code 10) (name "Ltp_lora_spi.io.sck") + (node (ref LU2) (pin 5)) + (node (ref LU4) (pin 18)) + (node (ref LTP4) (pin 1))) +(net (code 11) (name "Ltp_lora_spi.io.mosi") + (node (ref LU2) (pin 6)) + (node (ref LU4) (pin 17)) + (node (ref LTP5) (pin 1))) +(net (code 12) (name "Ltp_lora_spi.io.miso") + (node (ref LU2) (pin 15)) + (node (ref LU4) (pin 16)) + (node (ref LTP6) (pin 1))) +(net (code 13) (name "Ltp_lora_cs.io") + (node (ref LU2) (pin 7)) + (node (ref LU4) (pin 19)) + (node (ref LTP7) (pin 1))) +(net (code 14) (name "Ltp_lora_rst.io") + (node (ref LU2) (pin 12)) + (node (ref LU4) (pin 15)) + (node (ref LTP8) (pin 1))) +(net (code 15) (name "Ltp_lora_dio.io") + (node (ref LU2) (pin 31)) + (node (ref LU4) (pin 13)) + (node (ref LTP9) (pin 1))) +(net (code 16) (name "Llora.busy") + (node (ref LU2) (pin 33)) + (node (ref LU4) (pin 14)) + (node (ref LTP10) (pin 1))) +(net (code 17) (name "Li2c_pull.i2c.scl") + (node (ref LU2) (pin 10)) + (node (ref LU8) (pin 7)) + (node (ref LR9) (pin 2)) + (node (ref LTP11) (pin 1)) + (node (ref LJ4) (pin 18))) +(net (code 18) (name "Li2c_pull.i2c.sda") + (node (ref LU2) (pin 11)) + (node (ref LU8) (pin 5)) + (node (ref LR10) (pin 2)) + (node (ref LTP12) (pin 1)) + (node (ref LJ4) (pin 19)) + (node (ref LJ4) (pin 20))) +(net (code 19) (name "Loled_rst.nreset") + (node (ref LU7) (pin 2)) + (node (ref LR12) (pin 2)) + (node (ref LJ4) (pin 14))) +(net (code 20) (name "Lsd.spi.sck") + (node (ref LU2) (pin 22)) + (node (ref LJ5) (pin 5))) +(net (code 21) (name "Lsd.spi.mosi") + (node (ref LU2) (pin 19)) + (node (ref LJ5) (pin 3))) +(net (code 22) (name "Lsd.spi.miso") + (node (ref LU2) (pin 38)) + (node (ref LJ5) (pin 7))) +(net (code 23) (name "Lsd.cs") + (node (ref LU2) (pin 21)) + (node (ref LJ5) (pin 2))) +(net (code 24) (name "Lnfc.reset") + (node (ref LU8) (pin 10)) + (node (ref LU2) (pin 32))) +(net (code 25) (name "Lnfc.irq") + (node (ref LU8) (pin 8)) + (node (ref LU2) (pin 24))) +(net (code 26) (name "Ltx_cpack.pos.0") + (node (ref LL3) (pin 2)) + (node (ref LC13) (pin 1)) + (node (ref LC44) (pin 1)) + (node (ref LL4) (pin 1))) +(net (code 27) (name "Lusb.conn.cc.cc1") + (node (ref LJ1) (pin A5)) + (node (ref LR1) (pin 2))) +(net (code 28) (name "Lusb.conn.cc.cc2") + (node (ref LJ1) (pin B5)) + (node (ref LR2) (pin 2))) +(net (code 29) (name "Lmcu.program_uart_node.a_tx") + (node (ref LU2) (pin 37)) + (node (ref LJ2) (pin 3))) +(net (code 30) (name "Lmcu.program_uart_node.b_tx") + (node (ref LU2) (pin 36)) + (node (ref LJ2) (pin 4))) +(net (code 31) (name "Lmcu.program_en_node") + (node (ref LU2) (pin 3)) + (node (ref LJ2) (pin 6)) + (node (ref LR3) (pin 2)) + (node (ref LC5) (pin 1))) +(net (code 32) (name "Lmcu.program_boot_node") + (node (ref LU2) (pin 27)) + (node (ref LSW1) (pin 1)) + (node (ref LJ2) (pin 2))) +(net (code 33) (name "Lledr.res.a") + (node (ref LR4) (pin 1)) + (node (ref LD2) (pin 1))) +(net (code 34) (name "Lledg.res.a") + (node (ref LR5) (pin 1)) + (node (ref LD3) (pin 1))) +(net (code 35) (name "Lledb.res.a") + (node (ref LR6) (pin 1)) + (node (ref LD4) (pin 1))) +(net (code 36) (name "Llora.xtal.crystal.xtal_in") + (node (ref LX1) (pin 1)) + (node (ref LU4) (pin 3))) +(net (code 37) (name "Llora.xtal.crystal.xtal_out") + (node (ref LX1) (pin 3)) + (node (ref LU4) (pin 4))) +(net (code 38) (name "Llora.ic.vreg") + (node (ref LU4) (pin 7)) + (node (ref LL1) (pin 2)) + (node (ref LC6) (pin 1))) +(net (code 39) (name "Llora.ic.vr_pa") + (node (ref LU4) (pin 24)) + (node (ref LL2) (pin 1)) + (node (ref LC9) (pin 1)) + (node (ref LC10) (pin 1))) +(net (code 40) (name "Llora.dcc_l.a") + (node (ref LL1) (pin 1)) + (node (ref LU4) (pin 9))) +(net (code 41) (name "Llora.rf_sw.ctrl") + (node (ref LU4) (pin 12)) + (node (ref LR8) (pin 1))) +(net (code 42) (name "Llora.tx_dcblock.pos") + (node (ref LC11) (pin 1)) + (node (ref LU5) (pin 1))) +(net (code 43) (name "Llora.rfc_dcblock.neg") + (node (ref LC12) (pin 2)) + (node (ref LU5) (pin 5))) +(net (code 44) (name "Llora.ic.rfo") + (node (ref LU4) (pin 23)) + (node (ref LL2) (pin 2)) + (node (ref LL3) (pin 1)) + (node (ref LC13) (pin 2))) +(net (code 45) (name "Llora.tx_pi.output") + (node (ref LC11) (pin 2)) + (node (ref LL4) (pin 2)) + (node (ref LC14) (pin 1))) +(net (code 46) (name "Llora.balun.input") + (node (ref LC15) (pin 1)) + (node (ref LU5) (pin 3))) +(net (code 47) (name "Llora.balun.rfi_n") + (node (ref LU4) (pin 22)) + (node (ref LC15) (pin 2)) + (node (ref LL5) (pin 1))) +(net (code 48) (name "Llora.balun.rfi_p") + (node (ref LU4) (pin 21)) + (node (ref LC16) (pin 1)) + (node (ref LL5) (pin 2))) +(net (code 49) (name "Llora.rfc_dcblock.pos") + (node (ref LC12) (pin 1)) + (node (ref LC17) (pin 1)) + (node (ref LL6) (pin 1))) +(net (code 50) (name "Llora.ant_pi.output") + (node (ref LJ3) (pin 1)) + (node (ref LL6) (pin 2)) + (node (ref LC18) (pin 1))) +(net (code 51) (name "Llora.ic.dio3") + (node (ref LU4) (pin 6))) +(net (code 52) (name "Llora.rf_sw.vdd_res.b") + (node (ref LR7) (pin 2)) + (node (ref LU5) (pin 6))) +(net (code 53) (name "Llora.rf_sw.ctrl_res.b") + (node (ref LR8) (pin 2)) + (node (ref LU5) (pin 4))) +(net (code 54) (name "Loled.c1_cap.pos") + (node (ref LC19) (pin 1)) + (node (ref LJ4) (pin 4))) +(net (code 55) (name "Loled.c1_cap.neg") + (node (ref LC19) (pin 2)) + (node (ref LJ4) (pin 5))) +(net (code 56) (name "Loled.c2_cap.pos") + (node (ref LC20) (pin 1)) + (node (ref LJ4) (pin 2))) +(net (code 57) (name "Loled.c2_cap.neg") + (node (ref LC20) (pin 2)) + (node (ref LJ4) (pin 3))) +(net (code 58) (name "Loled.iref_res.a") + (node (ref LR11) (pin 1)) + (node (ref LJ4) (pin 26))) +(net (code 59) (name "Loled.device.vcomh") + (node (ref LJ4) (pin 27)) + (node (ref LC21) (pin 1))) +(net (code 60) (name "Loled.device.vcc") + (node (ref LJ4) (pin 28)) + (node (ref LC24) (pin 1))) +(net (code 61) (name "Lnfc.ic.vdd") + (node (ref LU8) (pin 26)) + (node (ref LU8) (pin 27)) + (node (ref LU8) (pin 31)) + (node (ref LC28) (pin 1)) + (node (ref LC29) (pin 1))) +(net (code 62) (name "Lnfc.ic.vddtx") + (node (ref LU8) (pin 14)) + (node (ref LU8) (pin 18)) + (node (ref LU8) (pin 22)) + (node (ref LC30) (pin 1)) + (node (ref LC31) (pin 1))) +(net (code 63) (name "Lnfc.ic.vddmid") + (node (ref LU8) (pin 17)) + (node (ref LC33) (pin 1))) +(net (code 64) (name "Lnfc.ic.xtal.xtal_in") + (node (ref LU8) (pin 30)) + (node (ref LX2) (pin 1)) + (node (ref LC34) (pin 1))) +(net (code 65) (name "Lnfc.ic.xtal.xtal_out") + (node (ref LU8) (pin 29)) + (node (ref LX2) (pin 3)) + (node (ref LC35) (pin 1))) +(net (code 66) (name "Lnfc.ic.rxp") + (node (ref LU8) (pin 16)) + (node (ref LC36) (pin 2))) +(net (code 67) (name "Lnfc.ic.rxn") + (node (ref LU8) (pin 15)) + (node (ref LC37) (pin 2))) +(net (code 68) (name "Lnfc.ic.tx1") + (node (ref LU8) (pin 21)) + (node (ref LL7) (pin 1))) +(net (code 69) (name "Lnfc.ic.tx2") + (node (ref LU8) (pin 19)) + (node (ref LL8) (pin 1))) +(net (code 70) (name "Lnfc.damp.ant1") + (node (ref LR15) (pin 2)) + (node (ref LANT1) (pin 1))) +(net (code 71) (name "Lnfc.damp.ant2") + (node (ref LR16) (pin 2)) + (node (ref LANT1) (pin 2))) +(net (code 72) (name "Lnfc.emc.out1") + (node (ref LC40) (pin 1)) + (node (ref LR13) (pin 1)) + (node (ref LL7) (pin 2)) + (node (ref LC38) (pin 1))) +(net (code 73) (name "Lnfc.emc.out2") + (node (ref LC41) (pin 1)) + (node (ref LR14) (pin 1)) + (node (ref LL8) (pin 2)) + (node (ref LC39) (pin 1))) +(net (code 74) (name "Lnfc.match.out1") + (node (ref LR15) (pin 1)) + (node (ref LC40) (pin 2)) + (node (ref LC42) (pin 1))) +(net (code 75) (name "Lnfc.match.out2") + (node (ref LR16) (pin 1)) + (node (ref LC41) (pin 2)) + (node (ref LC43) (pin 1))) +(net (code 76) (name "Lnfc.rx.rrx1.b") + (node (ref LR13) (pin 2)) + (node (ref LC36) (pin 1))) +(net (code 77) (name "Lnfc.rx.rrx2.b") + (node (ref LR14) (pin 2)) + (node (ref LC37) (pin 1)))) +) \ No newline at end of file diff --git a/examples/EspLora/EspLora.svgpcb.js b/examples/EspLora/EspLora.svgpcb.js new file mode 100644 index 000000000..648ad0894 --- /dev/null +++ b/examples/EspLora/EspLora.svgpcb.js @@ -0,0 +1,647 @@ +const board = new PCB(); + +// jlc_th.th1 +const LH1 = board.add(JlcToolingHole_1_152mm, { + translate: pt(4.100, 2.597), rotate: 0, + id: 'LH1' +}) +// jlc_th.th2 +const LH2 = board.add(JlcToolingHole_1_152mm, { + translate: pt(4.140, 2.597), rotate: 0, + id: 'LH2' +}) +// jlc_th.th3 +const LH3 = board.add(JlcToolingHole_1_152mm, { + translate: pt(4.100, 2.636), rotate: 0, + id: 'LH3' +}) +// usb.conn +const LJ1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { + translate: pt(2.899, 1.905), rotate: 0, + id: 'LJ1' +}) +// usb.cc_pull.cc1.res +const LR1 = board.add(R_0603_1608Metric, { + translate: pt(2.748, 2.160), rotate: 0, + id: 'LR1' +}) +// usb.cc_pull.cc2.res +const LR2 = board.add(R_0603_1608Metric, { + translate: pt(2.904, 2.160), rotate: 0, + id: 'LR2' +}) +// tp_gnd.tp +const LTP1 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.275, 2.634), rotate: 0, + id: 'LTP1' +}) +// choke.fb +const LFB1 = board.add(L_0603_1608Metric, { + translate: pt(3.264, 2.626), rotate: 0, + id: 'LFB1' +}) +// tp_pwr.tp +const LTP2 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.525, 2.634), rotate: 0, + id: 'LTP2' +}) +// reg_3v3.ic +const LU1 = board.add(SOT_223_3_TabPin2, { + translate: pt(3.400, 1.882), rotate: 0, + id: 'LU1' +}) +// reg_3v3.in_cap.cap +const LC1 = board.add(C_0603_1608Metric, { + translate: pt(3.458, 2.092), rotate: 0, + id: 'LC1' +}) +// reg_3v3.out_cap.cap +const LC2 = board.add(C_0805_2012Metric, { + translate: pt(3.294, 2.102), rotate: 0, + id: 'LC2' +}) +// tp_3v3.tp +const LTP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.775, 2.634), rotate: 0, + id: 'LTP3' +}) +// prot_3v3.diode +const LD1 = board.add(D_SOD_323, { + translate: pt(2.023, 2.634), rotate: 0, + id: 'LD1' +}) +// mcu.ic +const LU2 = board.add(ESP32_S3_WROOM_1, { + translate: pt(0.945, 0.530), rotate: 0, + id: 'LU2' +}) +// mcu.vcc_cap0.cap +const LC3 = board.add(C_1206_3216Metric, { + translate: pt(2.020, 0.683), rotate: 0, + id: 'LC3' +}) +// mcu.vcc_cap1.cap +const LC4 = board.add(C_0603_1608Metric, { + translate: pt(2.208, 0.667), rotate: 0, + id: 'LC4' +}) +// mcu.prog.conn +const LJ2 = board.add(Tag_Connect_TC2030_IDC_FP_2x03_P1_27mm_Vertical, { + translate: pt(2.096, 0.167), rotate: 0, + id: 'LJ2' +}) +// mcu.boot.package +const LSW1 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(2.096, 0.486), rotate: 0, + id: 'LSW1' +}) +// mcu.en_pull.rc.r +const LR3 = board.add(R_0603_1608Metric, { + translate: pt(2.364, 0.667), rotate: 0, + id: 'LR3' +}) +// mcu.en_pull.rc.c +const LC5 = board.add(C_0603_1608Metric, { + translate: pt(1.987, 0.796), rotate: 0, + id: 'LC5' +}) +// usb_esd +const LU3 = board.add(SOT_23, { + translate: pt(3.985, 2.664), rotate: 0, + id: 'LU3' +}) +// ledr.package +const LD2 = board.add(LED_0603_1608Metric, { + translate: pt(0.058, 2.626), rotate: 0, + id: 'LD2' +}) +// ledr.res +const LR4 = board.add(R_0603_1608Metric, { + translate: pt(0.058, 2.723), rotate: 0, + id: 'LR4' +}) +// ledg.package +const LD3 = board.add(LED_0603_1608Metric, { + translate: pt(0.293, 2.626), rotate: 0, + id: 'LD3' +}) +// ledg.res +const LR5 = board.add(R_0603_1608Metric, { + translate: pt(0.293, 2.723), rotate: 0, + id: 'LR5' +}) +// ledb.package +const LD4 = board.add(LED_0603_1608Metric, { + translate: pt(0.528, 2.626), rotate: 0, + id: 'LD4' +}) +// ledb.res +const LR6 = board.add(R_0603_1608Metric, { + translate: pt(0.528, 2.723), rotate: 0, + id: 'LR6' +}) +// lora.ic +const LU4 = board.add(QFN_24_1EP_4x4mm_P0_5mm_EP2_6x2_6mm, { + translate: pt(0.480, 1.843), rotate: 0, + id: 'LU4' +}) +// lora.xtal +const LX1 = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { + translate: pt(0.705, 1.807), rotate: 0, + id: 'LX1' +}) +// lora.vreg_cap.cap +const LC6 = board.add(C_0603_1608Metric, { + translate: pt(0.436, 2.013), rotate: 0, + id: 'LC6' +}) +// lora.vbat_cap.cap +const LC7 = board.add(C_0603_1608Metric, { + translate: pt(0.592, 2.013), rotate: 0, + id: 'LC7' +}) +// lora.vdd_cap.cap +const LC8 = board.add(C_0603_1608Metric, { + translate: pt(0.748, 2.013), rotate: 0, + id: 'LC8' +}) +// lora.vrpa_cap0.cap +const LC9 = board.add(C_0603_1608Metric, { + translate: pt(0.904, 2.013), rotate: 0, + id: 'LC9' +}) +// lora.vrpa_cap1.cap +const LC10 = board.add(C_0603_1608Metric, { + translate: pt(0.436, 2.110), rotate: 0, + id: 'LC10' +}) +// lora.dcc_l +const LL1 = board.add(L_0603_1608Metric, { + translate: pt(0.592, 2.110), rotate: 0, + id: 'LL1' +}) +// lora.rf_sw.ic +const LU5 = board.add(SOT_363_SC_70_6, { + translate: pt(0.890, 1.795), rotate: 0, + id: 'LU5' +}) +// lora.rf_sw.vdd_res +const LR7 = board.add(R_0603_1608Metric, { + translate: pt(0.748, 2.110), rotate: 0, + id: 'LR7' +}) +// lora.rf_sw.ctrl_res +const LR8 = board.add(R_0603_1608Metric, { + translate: pt(0.904, 2.110), rotate: 0, + id: 'LR8' +}) +// lora.tx_dcblock +const LC11 = board.add(C_0603_1608Metric, { + translate: pt(0.436, 2.207), rotate: 0, + id: 'LC11' +}) +// lora.rfc_dcblock +const LC12 = board.add(C_0603_1608Metric, { + translate: pt(0.592, 2.207), rotate: 0, + id: 'LC12' +}) +// lora.vrpa_choke +const LL2 = board.add(L_0603_1608Metric, { + translate: pt(0.748, 2.207), rotate: 0, + id: 'LL2' +}) +// lora.tx_l.l +const LL3 = board.add(L_0603_1608Metric, { + translate: pt(0.904, 2.207), rotate: 0, + id: 'LL3' +}) +// lora.tx_l.c_lc +const LC13 = board.add(C_0603_1608Metric, { + translate: pt(0.436, 2.304), rotate: 0, + id: 'LC13' +}) +// lora.tx_pi.c2 +const LC14 = board.add(C_0603_1608Metric, { + translate: pt(0.592, 2.304), rotate: 0, + id: 'LC14' +}) +// lora.tx_pi.l +const LL4 = board.add(L_0603_1608Metric, { + translate: pt(0.748, 2.304), rotate: 0, + id: 'LL4' +}) +// lora.balun.l +const LL5 = board.add(L_0603_1608Metric, { + translate: pt(0.904, 2.304), rotate: 0, + id: 'LL5' +}) +// lora.balun.c +const LC15 = board.add(C_0603_1608Metric, { + translate: pt(0.058, 2.450), rotate: 0, + id: 'LC15' +}) +// lora.balun.c_p +const LC16 = board.add(C_0603_1608Metric, { + translate: pt(0.214, 2.450), rotate: 0, + id: 'LC16' +}) +// lora.ant_pi.c1 +const LC17 = board.add(C_0603_1608Metric, { + translate: pt(0.370, 2.450), rotate: 0, + id: 'LC17' +}) +// lora.ant_pi.c2 +const LC18 = board.add(C_0603_1608Metric, { + translate: pt(0.526, 2.450), rotate: 0, + id: 'LC18' +}) +// lora.ant_pi.l +const LL6 = board.add(L_0603_1608Metric, { + translate: pt(0.682, 2.450), rotate: 0, + id: 'LL6' +}) +// lora.ant.conn +const LJ3 = board.add(SMA_Amphenol_901_143_Horizontal, { + translate: pt(0.169, 1.909), rotate: 0, + id: 'LJ3' +}) +// tp_lora_spi.tp_sck.tp +const LTP4 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(3.757, 1.778), rotate: 0, + id: 'LTP4' +}) +// tp_lora_spi.tp_mosi.tp +const LTP5 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(3.757, 1.892), rotate: 0, + id: 'LTP5' +}) +// tp_lora_spi.tp_miso.tp +const LTP6 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(3.757, 2.006), rotate: 0, + id: 'LTP6' +}) +// tp_lora_cs.tp +const LTP7 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.270, 2.634), rotate: 0, + id: 'LTP7' +}) +// tp_lora_rst.tp +const LTP8 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.521, 2.634), rotate: 0, + id: 'LTP8' +}) +// tp_lora_dio.tp +const LTP9 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.771, 2.634), rotate: 0, + id: 'LTP9' +}) +// tp_lora_busy.tp +const LTP10 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(3.021, 2.634), rotate: 0, + id: 'LTP10' +}) +// i2c_pull.scl_res.res +const LR9 = board.add(R_0603_1608Metric, { + translate: pt(0.763, 2.626), rotate: 0, + id: 'LR9' +}) +// i2c_pull.sda_res.res +const LR10 = board.add(R_0603_1608Metric, { + translate: pt(0.763, 2.722), rotate: 0, + id: 'LR10' +}) +// i2c_tp.tp_scl.tp +const LTP11 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(4.008, 1.778), rotate: 0, + id: 'LTP11' +}) +// i2c_tp.tp_sda.tp +const LTP12 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(4.008, 1.892), rotate: 0, + id: 'LTP12' +}) +// oled.device.conn +const LJ4 = board.add(Hirose_FH12_30S_0_5SH_1x30_1MP_P0_50mm_Horizontal, { + translate: pt(2.956, 1.054), rotate: 0, + id: 'LJ4' +}) +// oled.lcd +const LU6 = board.add(Lcd_Er_Oled0_96_1_1_Outline, { + translate: pt(3.066, 0.516), rotate: 0, + id: 'LU6' +}) +// oled.c1_cap +const LC19 = board.add(C_0603_1608Metric, { + translate: pt(3.815, 0.889), rotate: 0, + id: 'LC19' +}) +// oled.c2_cap +const LC20 = board.add(C_0603_1608Metric, { + translate: pt(3.971, 0.889), rotate: 0, + id: 'LC20' +}) +// oled.iref_res +const LR11 = board.add(R_0603_1608Metric, { + translate: pt(3.469, 1.006), rotate: 0, + id: 'LR11' +}) +// oled.vcomh_cap.cap +const LC21 = board.add(C_0805_2012Metric, { + translate: pt(3.477, 0.899), rotate: 0, + id: 'LC21' +}) +// oled.vdd_cap1.cap +const LC22 = board.add(C_0603_1608Metric, { + translate: pt(3.624, 1.006), rotate: 0, + id: 'LC22' +}) +// oled.vbat_cap.cap +const LC23 = board.add(C_0603_1608Metric, { + translate: pt(3.780, 1.006), rotate: 0, + id: 'LC23' +}) +// oled.vcc_cap.cap +const LC24 = board.add(C_0805_2012Metric, { + translate: pt(3.650, 0.899), rotate: 0, + id: 'LC24' +}) +// oled_rst.ic +const LU7 = board.add(SOT_23, { + translate: pt(1.015, 2.664), rotate: 0, + id: 'LU7' +}) +// oled_pull.res +const LR12 = board.add(R_0603_1608Metric, { + translate: pt(3.499, 2.626), rotate: 0, + id: 'LR12' +}) +// sd +const LJ5 = board.add(microSD_HC_Molex_104031_0811, { + translate: pt(2.381, 1.998), rotate: 0, + id: 'LJ5' +}) +// nfc.ic +const LU8 = board.add(HVQFN_40_1EP_6x6mm_P0_5mm_EP4_1x4_1mm, { + translate: pt(1.223, 1.883), rotate: 0, + id: 'LU8' +}) +// nfc.cvddup.cap +const LC25 = board.add(C_0805_2012Metric, { + translate: pt(1.677, 1.779), rotate: 0, + id: 'LC25' +}) +// nfc.cvbat.cap +const LC26 = board.add(C_0805_2012Metric, { + translate: pt(1.850, 1.779), rotate: 0, + id: 'LC26' +}) +// nfc.cvbat1.cap +const LC27 = board.add(C_0603_1608Metric, { + translate: pt(1.312, 2.094), rotate: 0, + id: 'LC27' +}) +// nfc.cvdd1.cap +const LC28 = board.add(C_0805_2012Metric, { + translate: pt(1.472, 1.952), rotate: 0, + id: 'LC28' +}) +// nfc.cvdd2.cap +const LC29 = board.add(C_0805_2012Metric, { + translate: pt(1.646, 1.952), rotate: 0, + id: 'LC29' +}) +// nfc.ctvdd1.cap +const LC30 = board.add(C_0805_2012Metric, { + translate: pt(1.819, 1.952), rotate: 0, + id: 'LC30' +}) +// nfc.ctvdd2.cap +const LC31 = board.add(C_0805_2012Metric, { + translate: pt(1.147, 2.104), rotate: 0, + id: 'LC31' +}) +// nfc.cvddpad.cap +const LC32 = board.add(C_0603_1608Metric, { + translate: pt(1.468, 2.094), rotate: 0, + id: 'LC32' +}) +// nfc.cvddmid.cap +const LC33 = board.add(C_0603_1608Metric, { + translate: pt(1.624, 2.094), rotate: 0, + id: 'LC33' +}) +// nfc.xtal.package +const LX2 = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { + translate: pt(1.488, 1.807), rotate: 0, + id: 'LX2' +}) +// nfc.xtal.cap_a +const LC34 = board.add(C_0603_1608Metric, { + translate: pt(1.780, 2.094), rotate: 0, + id: 'LC34' +}) +// nfc.xtal.cap_b +const LC35 = board.add(C_0603_1608Metric, { + translate: pt(1.935, 2.094), rotate: 0, + id: 'LC35' +}) +// nfc.rx.rrx1 +const LR13 = board.add(R_0603_1608Metric, { + translate: pt(1.139, 2.211), rotate: 0, + id: 'LR13' +}) +// nfc.rx.rrx2 +const LR14 = board.add(R_0603_1608Metric, { + translate: pt(1.294, 2.211), rotate: 0, + id: 'LR14' +}) +// nfc.rx.crx1 +const LC36 = board.add(C_0603_1608Metric, { + translate: pt(1.450, 2.211), rotate: 0, + id: 'LC36' +}) +// nfc.rx.crx2 +const LC37 = board.add(C_0603_1608Metric, { + translate: pt(1.606, 2.211), rotate: 0, + id: 'LC37' +}) +// nfc.emc.l1 +const LL7 = board.add(L_0603_1608Metric, { + translate: pt(1.762, 2.211), rotate: 0, + id: 'LL7' +}) +// nfc.emc.l2 +const LL8 = board.add(L_0603_1608Metric, { + translate: pt(1.918, 2.211), rotate: 0, + id: 'LL8' +}) +// nfc.emc.c1 +const LC38 = board.add(C_0603_1608Metric, { + translate: pt(1.139, 2.307), rotate: 0, + id: 'LC38' +}) +// nfc.emc.c2 +const LC39 = board.add(C_0603_1608Metric, { + translate: pt(1.294, 2.307), rotate: 0, + id: 'LC39' +}) +// nfc.ant +const LANT1 = board.add(an13219, { + translate: pt(1.392, 2.376), rotate: 0, + id: 'LANT1' +}) +// nfc.damp.r1 +const LR15 = board.add(R_0603_1608Metric, { + translate: pt(1.450, 2.307), rotate: 0, + id: 'LR15' +}) +// nfc.damp.r2 +const LR16 = board.add(R_0603_1608Metric, { + translate: pt(1.606, 2.307), rotate: 0, + id: 'LR16' +}) +// nfc.match.cs1 +const LC40 = board.add(C_0603_1608Metric, { + translate: pt(1.762, 2.307), rotate: 0, + id: 'LC40' +}) +// nfc.match.cs2 +const LC41 = board.add(C_0603_1608Metric, { + translate: pt(1.918, 2.307), rotate: 0, + id: 'LC41' +}) +// nfc.match.cp1 +const LC42 = board.add(C_0603_1608Metric, { + translate: pt(1.139, 2.404), rotate: 0, + id: 'LC42' +}) +// nfc.match.cp2 +const LC43 = board.add(C_0603_1608Metric, { + translate: pt(1.294, 2.404), rotate: 0, + id: 'LC43' +}) +// tx_cpack.cap +const LC44 = board.add(C_0603_1608Metric, { + translate: pt(3.733, 2.626), rotate: 0, + id: 'LC44' +}) + +board.setNetlist([ + {name: "Lgnd", pads: [["LU3", "3"], ["LJ5", "6"], ["LJ5", "11"], ["LU7", "1"], ["LJ1", "A1"], ["LJ1", "B12"], ["LJ1", "B1"], ["LJ1", "A12"], ["LTP1", "1"], ["LU1", "1"], ["LD1", "2"], ["LU2", "1"], ["LU2", "40"], ["LU2", "41"], ["LR4", "2"], ["LR5", "2"], ["LR6", "2"], ["LU4", "2"], ["LU4", "5"], ["LU4", "8"], ["LU4", "20"], ["LU4", "25"], ["LX1", "2"], ["LX1", "4"], ["LU8", "1"], ["LU8", "3"], ["LU8", "4"], ["LU8", "9"], ["LU8", "20"], ["LU8", "41"], ["LU5", "2"], ["LJ3", "2"], ["LJ1", "S1"], ["LR11", "2"], ["LC1", "2"], ["LC2", "2"], ["LC3", "2"], ["LC4", "2"], ["LJ2", "5"], ["LSW1", "2"], ["LC6", "2"], ["LC7", "2"], ["LC8", "2"], ["LC9", "2"], ["LC10", "2"], ["LC16", "2"], ["LC21", "2"], ["LC22", "2"], ["LC23", "2"], ["LC24", "2"], ["LC25", "2"], ["LC26", "2"], ["LC27", "2"], ["LC28", "2"], ["LC29", "2"], ["LC30", "2"], ["LC31", "2"], ["LC32", "2"], ["LC33", "2"], ["LX2", "2"], ["LX2", "4"], ["LC5", "2"], ["LR1", "1"], ["LR2", "1"], ["LC14", "2"], ["LC17", "2"], ["LC18", "2"], ["LJ4", "8"], ["LJ4", "1"], ["LJ4", "30"], ["LJ4", "29"], ["LJ4", "17"], ["LJ4", "16"], ["LJ4", "21"], ["LJ4", "22"], ["LJ4", "23"], ["LJ4", "24"], ["LJ4", "25"], ["LJ4", "12"], ["LJ4", "10"], ["LJ4", "15"], ["LJ4", "13"], ["LC34", "2"], ["LC35", "2"], ["LC38", "2"], ["LC39", "2"], ["LC42", "2"], ["LC43", "2"], ["LC44", "2"]]}, + {name: "Lpwr", pads: [["LFB1", "2"], ["LTP2", "1"], ["LU1", "3"], ["LU8", "12"], ["LU8", "28"], ["LU8", "13"], ["LC1", "1"], ["LC25", "1"], ["LC26", "1"], ["LC27", "1"]]}, + {name: "Lv3v3", pads: [["LJ5", "4"], ["LU7", "3"], ["LU1", "2"], ["LTP3", "1"], ["LD1", "1"], ["LU2", "2"], ["LU4", "1"], ["LU4", "10"], ["LU4", "11"], ["LR12", "1"], ["LU8", "6"], ["LC2", "1"], ["LC3", "1"], ["LC4", "1"], ["LJ2", "1"], ["LC7", "1"], ["LC8", "1"], ["LR7", "1"], ["LR9", "1"], ["LR10", "1"], ["LJ4", "9"], ["LJ4", "6"], ["LC22", "1"], ["LC23", "1"], ["LC32", "1"], ["LR3", "1"], ["LJ4", "11"]]}, + {name: "Lusb.pwr", pads: [["LJ1", "A4"], ["LJ1", "B9"], ["LJ1", "B4"], ["LJ1", "A9"], ["LFB1", "1"]]}, + {name: "Lusb_chain_0.d_P", pads: [["LJ1", "A6"], ["LJ1", "B6"], ["LU3", "2"], ["LU2", "14"]]}, + {name: "Lusb_chain_0.d_N", pads: [["LJ1", "A7"], ["LJ1", "B7"], ["LU3", "1"], ["LU2", "13"]]}, + {name: "Lledr.signal", pads: [["LU2", "34"], ["LD2", "2"]]}, + {name: "Lledg.signal", pads: [["LU2", "35"], ["LD3", "2"]]}, + {name: "Lledb.signal", pads: [["LU2", "39"], ["LD4", "2"]]}, + {name: "Ltp_lora_spi.io.sck", pads: [["LU2", "5"], ["LU4", "18"], ["LTP4", "1"]]}, + {name: "Ltp_lora_spi.io.mosi", pads: [["LU2", "6"], ["LU4", "17"], ["LTP5", "1"]]}, + {name: "Ltp_lora_spi.io.miso", pads: [["LU2", "15"], ["LU4", "16"], ["LTP6", "1"]]}, + {name: "Ltp_lora_cs.io", pads: [["LU2", "7"], ["LU4", "19"], ["LTP7", "1"]]}, + {name: "Ltp_lora_rst.io", pads: [["LU2", "12"], ["LU4", "15"], ["LTP8", "1"]]}, + {name: "Ltp_lora_dio.io", pads: [["LU2", "31"], ["LU4", "13"], ["LTP9", "1"]]}, + {name: "Llora.busy", pads: [["LU2", "33"], ["LU4", "14"], ["LTP10", "1"]]}, + {name: "Li2c_pull.i2c.scl", pads: [["LU2", "10"], ["LU8", "7"], ["LR9", "2"], ["LTP11", "1"], ["LJ4", "18"]]}, + {name: "Li2c_pull.i2c.sda", pads: [["LU2", "11"], ["LU8", "5"], ["LR10", "2"], ["LTP12", "1"], ["LJ4", "19"], ["LJ4", "20"]]}, + {name: "Loled_rst.nreset", pads: [["LU7", "2"], ["LR12", "2"], ["LJ4", "14"]]}, + {name: "Lsd.spi.sck", pads: [["LU2", "22"], ["LJ5", "5"]]}, + {name: "Lsd.spi.mosi", pads: [["LU2", "19"], ["LJ5", "3"]]}, + {name: "Lsd.spi.miso", pads: [["LU2", "38"], ["LJ5", "7"]]}, + {name: "Lsd.cs", pads: [["LU2", "21"], ["LJ5", "2"]]}, + {name: "Lnfc.reset", pads: [["LU8", "10"], ["LU2", "32"]]}, + {name: "Lnfc.irq", pads: [["LU8", "8"], ["LU2", "24"]]}, + {name: "Ltx_cpack.pos.0", pads: [["LL3", "2"], ["LC13", "1"], ["LC44", "1"], ["LL4", "1"]]}, + {name: "Lusb.conn.cc.cc1", pads: [["LJ1", "A5"], ["LR1", "2"]]}, + {name: "Lusb.conn.cc.cc2", pads: [["LJ1", "B5"], ["LR2", "2"]]}, + {name: "Lmcu.program_uart_node.a_tx", pads: [["LU2", "37"], ["LJ2", "3"]]}, + {name: "Lmcu.program_uart_node.b_tx", pads: [["LU2", "36"], ["LJ2", "4"]]}, + {name: "Lmcu.program_en_node", pads: [["LU2", "3"], ["LJ2", "6"], ["LR3", "2"], ["LC5", "1"]]}, + {name: "Lmcu.program_boot_node", pads: [["LU2", "27"], ["LSW1", "1"], ["LJ2", "2"]]}, + {name: "Lledr.res.a", pads: [["LR4", "1"], ["LD2", "1"]]}, + {name: "Lledg.res.a", pads: [["LR5", "1"], ["LD3", "1"]]}, + {name: "Lledb.res.a", pads: [["LR6", "1"], ["LD4", "1"]]}, + {name: "Llora.xtal.crystal.xtal_in", pads: [["LX1", "1"], ["LU4", "3"]]}, + {name: "Llora.xtal.crystal.xtal_out", pads: [["LX1", "3"], ["LU4", "4"]]}, + {name: "Llora.ic.vreg", pads: [["LU4", "7"], ["LL1", "2"], ["LC6", "1"]]}, + {name: "Llora.ic.vr_pa", pads: [["LU4", "24"], ["LL2", "1"], ["LC9", "1"], ["LC10", "1"]]}, + {name: "Llora.dcc_l.a", pads: [["LL1", "1"], ["LU4", "9"]]}, + {name: "Llora.rf_sw.ctrl", pads: [["LU4", "12"], ["LR8", "1"]]}, + {name: "Llora.tx_dcblock.pos", pads: [["LC11", "1"], ["LU5", "1"]]}, + {name: "Llora.rfc_dcblock.neg", pads: [["LC12", "2"], ["LU5", "5"]]}, + {name: "Llora.ic.rfo", pads: [["LU4", "23"], ["LL2", "2"], ["LL3", "1"], ["LC13", "2"]]}, + {name: "Llora.tx_pi.output", pads: [["LC11", "2"], ["LL4", "2"], ["LC14", "1"]]}, + {name: "Llora.balun.input", pads: [["LC15", "1"], ["LU5", "3"]]}, + {name: "Llora.balun.rfi_n", pads: [["LU4", "22"], ["LC15", "2"], ["LL5", "1"]]}, + {name: "Llora.balun.rfi_p", pads: [["LU4", "21"], ["LC16", "1"], ["LL5", "2"]]}, + {name: "Llora.rfc_dcblock.pos", pads: [["LC12", "1"], ["LC17", "1"], ["LL6", "1"]]}, + {name: "Llora.ant_pi.output", pads: [["LJ3", "1"], ["LL6", "2"], ["LC18", "1"]]}, + {name: "Llora.ic.dio3", pads: [["LU4", "6"]]}, + {name: "Llora.rf_sw.vdd_res.b", pads: [["LR7", "2"], ["LU5", "6"]]}, + {name: "Llora.rf_sw.ctrl_res.b", pads: [["LR8", "2"], ["LU5", "4"]]}, + {name: "Loled.c1_cap.pos", pads: [["LC19", "1"], ["LJ4", "4"]]}, + {name: "Loled.c1_cap.neg", pads: [["LC19", "2"], ["LJ4", "5"]]}, + {name: "Loled.c2_cap.pos", pads: [["LC20", "1"], ["LJ4", "2"]]}, + {name: "Loled.c2_cap.neg", pads: [["LC20", "2"], ["LJ4", "3"]]}, + {name: "Loled.iref_res.a", pads: [["LR11", "1"], ["LJ4", "26"]]}, + {name: "Loled.device.vcomh", pads: [["LJ4", "27"], ["LC21", "1"]]}, + {name: "Loled.device.vcc", pads: [["LJ4", "28"], ["LC24", "1"]]}, + {name: "Lnfc.ic.vdd", pads: [["LU8", "26"], ["LU8", "27"], ["LU8", "31"], ["LC28", "1"], ["LC29", "1"]]}, + {name: "Lnfc.ic.vddtx", pads: [["LU8", "14"], ["LU8", "18"], ["LU8", "22"], ["LC30", "1"], ["LC31", "1"]]}, + {name: "Lnfc.ic.vddmid", pads: [["LU8", "17"], ["LC33", "1"]]}, + {name: "Lnfc.ic.xtal.xtal_in", pads: [["LU8", "30"], ["LX2", "1"], ["LC34", "1"]]}, + {name: "Lnfc.ic.xtal.xtal_out", pads: [["LU8", "29"], ["LX2", "3"], ["LC35", "1"]]}, + {name: "Lnfc.ic.rxp", pads: [["LU8", "16"], ["LC36", "2"]]}, + {name: "Lnfc.ic.rxn", pads: [["LU8", "15"], ["LC37", "2"]]}, + {name: "Lnfc.ic.tx1", pads: [["LU8", "21"], ["LL7", "1"]]}, + {name: "Lnfc.ic.tx2", pads: [["LU8", "19"], ["LL8", "1"]]}, + {name: "Lnfc.damp.ant1", pads: [["LR15", "2"], ["LANT1", "1"]]}, + {name: "Lnfc.damp.ant2", pads: [["LR16", "2"], ["LANT1", "2"]]}, + {name: "Lnfc.emc.out1", pads: [["LC40", "1"], ["LR13", "1"], ["LL7", "2"], ["LC38", "1"]]}, + {name: "Lnfc.emc.out2", pads: [["LC41", "1"], ["LR14", "1"], ["LL8", "2"], ["LC39", "1"]]}, + {name: "Lnfc.match.out1", pads: [["LR15", "1"], ["LC40", "2"], ["LC42", "1"]]}, + {name: "Lnfc.match.out2", pads: [["LR16", "1"], ["LC41", "2"], ["LC43", "1"]]}, + {name: "Lnfc.rx.rrx1.b", pads: [["LR13", "2"], ["LC36", "1"]]}, + {name: "Lnfc.rx.rrx2.b", pads: [["LR14", "2"], ["LC37", "1"]]} +]) + +const limit0 = pt(-0.07874015748031496, -0.07874015748031496); +const limit1 = pt(4.25767716535433, 2.8696850393700797); +const xMin = Math.min(limit0[0], limit1[0]); +const xMax = Math.max(limit0[0], limit1[0]); +const yMin = Math.min(limit0[1], limit1[1]); +const yMax = Math.max(limit0[1], limit1[1]); + +const filletRadius = 0.1; +const outline = path( + [(xMin+xMax/2), yMax], + ["fillet", filletRadius, [xMax, yMax]], + ["fillet", filletRadius, [xMax, yMin]], + ["fillet", filletRadius, [xMin, yMin]], + ["fillet", filletRadius, [xMin, yMax]], + [(xMin+xMax/2), yMax], +); +board.addShape("outline", outline); + +renderPCB({ + pcb: board, + layerColors: { + "F.Paste": "#000000ff", + "F.Mask": "#000000ff", + "B.Mask": "#000000ff", + "componentLabels": "#00e5e5e5", + "outline": "#002d00ff", + "padLabels": "#ffff99e5", + "B.Cu": "#ef4e4eff", + "F.Cu": "#ff8c00cc", + }, + limits: { + x: [xMin, xMax], + y: [yMin, yMax] + }, + background: "#00000000", + mmPerUnit: 25.4 +}) + + diff --git a/examples/Fcml/Fcml.net b/examples/Fcml/Fcml.net new file mode 100644 index 000000000..e61259564 --- /dev/null +++ b/examples/Fcml/Fcml.net @@ -0,0 +1,2745 @@ +(export (version D) +(components +(comp (ref "H1") + (value "jlc_th.th1") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th1")) + (property (name "edg_short_path") (value "jlc_th.th1")) + (property (name "edg_refdes") (value "H1")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "0260010e")) +(comp (ref "H2") + (value "jlc_th.th2") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th2")) + (property (name "edg_short_path") (value "jlc_th.th2")) + (property (name "edg_refdes") (value "H2")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "0261010f")) +(comp (ref "H3") + (value "jlc_th.th3") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th3")) + (property (name "edg_short_path") (value "jlc_th.th3")) + (property (name "edg_refdes") (value "H3")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "02620110")) +(comp (ref "J1") + (value "usb_mcu.conn") + (footprint "Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11") + (property (name "Sheetname") (value "usb_mcu")) + (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCReceptacle")) + (property (name "edg_path") (value "usb_mcu.conn")) + (property (name "edg_short_path") (value "usb_mcu.conn")) + (property (name "edg_refdes") (value "J1")) + (property (name "edg_part") (value "COM-15111 (Sparkfun)")) + (property (name "edg_value") (value "COM-15111")) + (sheetpath (names "/usb_mcu/") (tstamps "/0bd402ef/")) + (tstamps "042701af")) +(comp (ref "R1") + (value "usb_mcu.cc_pull.cc1") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "cc_pull")) + (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) + (property (name "edg_path") (value "usb_mcu.cc_pull.cc1.res")) + (property (name "edg_short_path") (value "usb_mcu.cc_pull.cc1")) + (property (name "edg_refdes") (value "R1")) + (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/usb_mcu/cc_pull/") (tstamps "/0bd402ef/0b4c02e3/")) + (tstamps "022300f8")) +(comp (ref "R2") + (value "usb_mcu.cc_pull.cc2") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "cc_pull")) + (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) + (property (name "edg_path") (value "usb_mcu.cc_pull.cc2.res")) + (property (name "edg_short_path") (value "usb_mcu.cc_pull.cc2")) + (property (name "edg_refdes") (value "R2")) + (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/usb_mcu/cc_pull/") (tstamps "/0bd402ef/0b4c02e3/")) + (tstamps "022400f9")) +(comp (ref "J2") + (value "usb_fpga.conn") + (footprint "Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11") + (property (name "Sheetname") (value "usb_fpga")) + (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCReceptacle")) + (property (name "edg_path") (value "usb_fpga.conn")) + (property (name "edg_short_path") (value "usb_fpga.conn")) + (property (name "edg_refdes") (value "J2")) + (property (name "edg_part") (value "COM-15111 (Sparkfun)")) + (property (name "edg_value") (value "COM-15111")) + (sheetpath (names "/usb_fpga/") (tstamps "/0f130348/")) + (tstamps "042701af")) +(comp (ref "R3") + (value "usb_fpga.cc_pull.cc1") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "cc_pull")) + (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) + (property (name "edg_path") (value "usb_fpga.cc_pull.cc1.res")) + (property (name "edg_short_path") (value "usb_fpga.cc_pull.cc1")) + (property (name "edg_refdes") (value "R3")) + (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/usb_fpga/cc_pull/") (tstamps "/0f130348/0b4c02e3/")) + (tstamps "022300f8")) +(comp (ref "R4") + (value "usb_fpga.cc_pull.cc2") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "cc_pull")) + (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) + (property (name "edg_path") (value "usb_fpga.cc_pull.cc2.res")) + (property (name "edg_short_path") (value "usb_fpga.cc_pull.cc2")) + (property (name "edg_refdes") (value "R4")) + (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/usb_fpga/cc_pull/") (tstamps "/0f130348/0b4c02e3/")) + (tstamps "022400f9")) +(comp (ref "J3") + (value "conv_in") + (footprint "Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "conv_in.conn")) + (property (name "edg_short_path") (value "conv_in")) + (property (name "edg_refdes") (value "J3")) + (property (name "edg_part") (value "B2B-PH-K (JST)")) + (property (name "edg_value") (value "B2B-PH-K")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0bb102ed")) +(comp (ref "TP1") + (value "vusb") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_vusb.tp")) + (property (name "edg_short_path") (value "tp_vusb")) + (property (name "edg_refdes") (value "TP1")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "vusb")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0c2d0304")) +(comp (ref "TP2") + (value "gnd") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_gnd.tp")) + (property (name "edg_short_path") (value "tp_gnd")) + (property (name "edg_refdes") (value "TP2")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "gnd")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "08df027d")) +(comp (ref "U1") + (value "reg_3v3.ic") + (footprint "Package_TO_SOT_SMD:SOT-223-3_TabPin2") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) + (property (name "edg_path") (value "reg_3v3.ic")) + (property (name "edg_short_path") (value "reg_3v3.ic")) + (property (name "edg_refdes") (value "U1")) + (property (name "edg_part") (value "LDL1117S33R (STMicroelectronics)")) + (property (name "edg_value") (value "LDL1117S33R")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "013700cd")) +(comp (ref "C1") + (value "reg_3v3.in_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) + (property (name "edg_path") (value "reg_3v3.in_cap.cap")) + (property (name "edg_short_path") (value "reg_3v3.in_cap")) + (property (name "edg_refdes") (value "C1")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "0879026b")) +(comp (ref "C2") + (value "reg_3v3.out_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) + (property (name "edg_path") (value "reg_3v3.out_cap.cap")) + (property (name "edg_short_path") (value "reg_3v3.out_cap")) + (property (name "edg_refdes") (value "C2")) + (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "0be902ec")) +(comp (ref "TP3") + (value "v3v3") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_3v3.tp")) + (property (name "edg_short_path") (value "tp_3v3")) + (property (name "edg_refdes") (value "TP3")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "v3v3")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "08220220")) +(comp (ref "D1") + (value "prot_3v3") + (footprint "Diode_SMD:D_SOD-323") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "prot_3v3.diode")) + (property (name "edg_short_path") (value "prot_3v3")) + (property (name "edg_refdes") (value "D1")) + (property (name "edg_part") (value "BZT52B3V6S (SMC(Sangdest Microelectronicstronic (Nanjing)))")) + (property (name "edg_value") (value "5μA@1V 90Ω Single 3.53V~3.67V 200mW 3.6V SOD-323 Zener Diodes ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0eb80301")) +(comp (ref "U2") + (value "reg_vgate.ic") + (footprint "Package_TO_SOT_SMD:SOT-23-5") + (property (name "Sheetname") (value "reg_vgate")) + (property (name "Sheetfile") (value "edg.parts.BoostConverter_DiodesInc.Ap3012")) + (property (name "edg_path") (value "reg_vgate.ic")) + (property (name "edg_short_path") (value "reg_vgate.ic")) + (property (name "edg_refdes") (value "U2")) + (property (name "edg_part") (value "AP3012K (Diodes Incorporated)")) + (property (name "edg_value") (value "AP3012K")) + (sheetpath (names "/reg_vgate/") (tstamps "/129803b5/")) + (tstamps "013700cd")) +(comp (ref "R5") + (value "reg_vgate.fb.top_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "fb")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) + (property (name "edg_path") (value "reg_vgate.fb.div.top_res")) + (property (name "edg_short_path") (value "reg_vgate.fb.top_res")) + (property (name "edg_refdes") (value "R5")) + (property (name "edg_part") (value "0603WAF6802T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 68kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/reg_vgate/fb/") (tstamps "/129803b5/013000c9/")) + (tstamps "0c0c02fd")) +(comp (ref "R6") + (value "reg_vgate.fb.bottom_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "fb")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) + (property (name "edg_path") (value "reg_vgate.fb.div.bottom_res")) + (property (name "edg_short_path") (value "reg_vgate.fb.bottom_res")) + (property (name "edg_refdes") (value "R6")) + (property (name "edg_part") (value "0603WAF1102T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 11kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/reg_vgate/fb/") (tstamps "/129803b5/013000c9/")) + (tstamps "175b043f")) +(comp (ref "L1") + (value "reg_vgate.power_path.inductor") + (footprint "Inductor_SMD:L_Sunlord_SWPA3012S") + (property (name "Sheetname") (value "power_path")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BoostConverterPowerPath")) + (property (name "edg_path") (value "reg_vgate.power_path.inductor")) + (property (name "edg_short_path") (value "reg_vgate.power_path.inductor")) + (property (name "edg_refdes") (value "L1")) + (property (name "edg_part") (value "SWPA3012S220MT (Sunlord)")) + (property (name "edg_value") (value "530mA 22uH ±20% 839mΩ SMD Power Inductors ROHS")) + (sheetpath (names "/reg_vgate/power_path/") (tstamps "/129803b5/1786043a/")) + (tstamps "0f2b0369")) +(comp (ref "C3") + (value "reg_vgate.power_path.in_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "power_path")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BoostConverterPowerPath")) + (property (name "edg_path") (value "reg_vgate.power_path.in_cap.cap")) + (property (name "edg_short_path") (value "reg_vgate.power_path.in_cap")) + (property (name "edg_refdes") (value "C3")) + (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_vgate/power_path/") (tstamps "/129803b5/1786043a/")) + (tstamps "0879026b")) +(comp (ref "C4") + (value "reg_vgate.power_path.out_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "power_path")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BoostConverterPowerPath")) + (property (name "edg_path") (value "reg_vgate.power_path.out_cap.cap")) + (property (name "edg_short_path") (value "reg_vgate.power_path.out_cap")) + (property (name "edg_refdes") (value "C4")) + (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_vgate/power_path/") (tstamps "/129803b5/1786043a/")) + (tstamps "0be902ec")) +(comp (ref "D2") + (value "reg_vgate.rect") + (footprint "Diode_SMD:D_SOD-323") + (property (name "Sheetname") (value "reg_vgate")) + (property (name "Sheetfile") (value "edg.parts.BoostConverter_DiodesInc.Ap3012")) + (property (name "edg_path") (value "reg_vgate.rect")) + (property (name "edg_short_path") (value "reg_vgate.rect")) + (property (name "edg_refdes") (value "D2")) + (property (name "edg_part") (value "CUS10S30,H3F (TOSHIBA)")) + (property (name "edg_value") (value "30V 230mV@100mA 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) + (sheetpath (names "/reg_vgate/") (tstamps "/129803b5/")) + (tstamps "043501af")) +(comp (ref "TP4") + (value "vgate") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_vgate.tp")) + (property (name "edg_short_path") (value "tp_vgate")) + (property (name "edg_refdes") (value "TP4")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "vgate")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0f4c035b")) +(comp (ref "L2") + (value "conv.power_path.inductor") + (footprint "Inductor_SMD:L_Sunlord_SWRB1207S") + (property (name "Sheetname") (value "power_path")) + (property (name "Sheetfile") (value "examples.test_fcml.FcmlPowerPath")) + (property (name "edg_path") (value "conv.power_path.inductor")) + (property (name "edg_short_path") (value "conv.power_path.inductor")) + (property (name "edg_refdes") (value "L2")) + (property (name "edg_part") (value "SWRB1207S-100MT (Sunlord)")) + (property (name "edg_value") (value "5.4A 10uH ±20% 21mΩ SMD Power Inductors ROHS")) + (sheetpath (names "/conv/power_path/") (tstamps "/042f01b7/1786043a/")) + (tstamps "0f2b0369")) +(comp (ref "C5") + (value "conv.power_path.in_cap.c[0]") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "in_cap")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) + (property (name "edg_path") (value "conv.power_path.in_cap.cap.c[0]")) + (property (name "edg_short_path") (value "conv.power_path.in_cap.c[0]")) + (property (name "edg_refdes") (value "C5")) + (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/power_path/in_cap/") (tstamps "/042f01b7/1786043a/0879026b/")) + (tstamps "035e014c")) +(comp (ref "C6") + (value "conv.power_path.in_cap.c[1]") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "in_cap")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) + (property (name "edg_path") (value "conv.power_path.in_cap.cap.c[1]")) + (property (name "edg_short_path") (value "conv.power_path.in_cap.c[1]")) + (property (name "edg_refdes") (value "C6")) + (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/power_path/in_cap/") (tstamps "/042f01b7/1786043a/0879026b/")) + (tstamps "0360014d")) +(comp (ref "C7") + (value "conv.power_path.in_cap.c[2]") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "in_cap")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) + (property (name "edg_path") (value "conv.power_path.in_cap.cap.c[2]")) + (property (name "edg_short_path") (value "conv.power_path.in_cap.c[2]")) + (property (name "edg_refdes") (value "C7")) + (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/power_path/in_cap/") (tstamps "/042f01b7/1786043a/0879026b/")) + (tstamps "0362014e")) +(comp (ref "C8") + (value "conv.power_path.in_cap.c[3]") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "in_cap")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) + (property (name "edg_path") (value "conv.power_path.in_cap.cap.c[3]")) + (property (name "edg_short_path") (value "conv.power_path.in_cap.c[3]")) + (property (name "edg_refdes") (value "C8")) + (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/power_path/in_cap/") (tstamps "/042f01b7/1786043a/0879026b/")) + (tstamps "0364014f")) +(comp (ref "C9") + (value "conv.power_path.in_cap.c[4]") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "in_cap")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) + (property (name "edg_path") (value "conv.power_path.in_cap.cap.c[4]")) + (property (name "edg_short_path") (value "conv.power_path.in_cap.c[4]")) + (property (name "edg_refdes") (value "C9")) + (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/power_path/in_cap/") (tstamps "/042f01b7/1786043a/0879026b/")) + (tstamps "03660150")) +(comp (ref "C10") + (value "conv.power_path.out_cap.c[0]") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "out_cap")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) + (property (name "edg_path") (value "conv.power_path.out_cap.cap.c[0]")) + (property (name "edg_short_path") (value "conv.power_path.out_cap.c[0]")) + (property (name "edg_refdes") (value "C10")) + (property (name "edg_part") (value "CL31A226KPHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "10V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/power_path/out_cap/") (tstamps "/042f01b7/1786043a/0be902ec/")) + (tstamps "035e014c")) +(comp (ref "C11") + (value "conv.power_path.out_cap.c[1]") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "out_cap")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) + (property (name "edg_path") (value "conv.power_path.out_cap.cap.c[1]")) + (property (name "edg_short_path") (value "conv.power_path.out_cap.c[1]")) + (property (name "edg_refdes") (value "C11")) + (property (name "edg_part") (value "CL31A226KPHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "10V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/power_path/out_cap/") (tstamps "/042f01b7/1786043a/0be902ec/")) + (tstamps "0360014d")) +(comp (ref "C12") + (value "conv.power_path.out_cap.c[2]") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "out_cap")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) + (property (name "edg_path") (value "conv.power_path.out_cap.cap.c[2]")) + (property (name "edg_short_path") (value "conv.power_path.out_cap.c[2]")) + (property (name "edg_refdes") (value "C12")) + (property (name "edg_part") (value "CL31A226KPHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "10V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/power_path/out_cap/") (tstamps "/042f01b7/1786043a/0be902ec/")) + (tstamps "0362014e")) +(comp (ref "U3") + (value "conv.sw[0].driver.ic") + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") + (property (name "Sheetname") (value "driver")) + (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) + (property (name "edg_path") (value "conv.sw[0].driver.ic")) + (property (name "edg_short_path") (value "conv.sw[0].driver.ic")) + (property (name "edg_refdes") (value "U3")) + (property (name "edg_part") (value "IR2301 (Infineon Technologies)")) + (property (name "edg_value") (value "IR2301")) + (sheetpath (names "/conv/sw[0]/driver/") (tstamps "/042f01b7/05ee01d3/08da028d/")) + (tstamps "013700cd")) +(comp (ref "C13") + (value "conv.sw[0].driver.cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "driver")) + (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) + (property (name "edg_path") (value "conv.sw[0].driver.cap.cap")) + (property (name "edg_short_path") (value "conv.sw[0].driver.cap")) + (property (name "edg_refdes") (value "C13")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[0]/driver/") (tstamps "/042f01b7/05ee01d3/08da028d/")) + (tstamps "025e0135")) +(comp (ref "C14") + (value "conv.sw[0].driver.high_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "driver")) + (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) + (property (name "edg_path") (value "conv.sw[0].driver.high_cap.cap")) + (property (name "edg_short_path") (value "conv.sw[0].driver.high_cap")) + (property (name "edg_refdes") (value "C14")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[0]/driver/") (tstamps "/042f01b7/05ee01d3/08da028d/")) + (tstamps "0e700334")) +(comp (ref "R7") + (value "conv.sw[0].high_gate_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "sw[0]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[0].high_gate_res")) + (property (name "edg_short_path") (value "conv.sw[0].high_gate_res")) + (property (name "edg_refdes") (value "R7")) + (property (name "edg_part") (value "0603WAF220JT5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/conv/sw[0]/") (tstamps "/042f01b7/05ee01d3/")) + (tstamps "24b4054a")) +(comp (ref "R8") + (value "conv.sw[0].low_gate_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "sw[0]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[0].low_gate_res")) + (property (name "edg_short_path") (value "conv.sw[0].low_gate_res")) + (property (name "edg_refdes") (value "R8")) + (property (name "edg_part") (value "0603WAF220JT5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/conv/sw[0]/") (tstamps "/042f01b7/05ee01d3/")) + (tstamps "207d04fc")) +(comp (ref "Q1") + (value "conv.sw[0].high_fet") + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") + (property (name "Sheetname") (value "sw[0]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[0].high_fet")) + (property (name "edg_short_path") (value "conv.sw[0].high_fet")) + (property (name "edg_refdes") (value "Q1")) + (property (name "edg_part") (value "HSM4410 (HUASHUO)")) + (property (name "edg_value") (value "30V 12A 2.5W 9.5mΩ@10V,12A 2.5V@250μA N Channel SOP-8 MOSFETs ROHS")) + (sheetpath (names "/conv/sw[0]/") (tstamps "/042f01b7/05ee01d3/")) + (tstamps "0e85033f")) +(comp (ref "Q2") + (value "conv.sw[0].low_fet") + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") + (property (name "Sheetname") (value "sw[0]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[0].low_fet")) + (property (name "edg_short_path") (value "conv.sw[0].low_fet")) + (property (name "edg_refdes") (value "Q2")) + (property (name "edg_part") (value "HSM4410 (HUASHUO)")) + (property (name "edg_value") (value "30V 12A 2.5W 9.5mΩ@10V,12A 2.5V@250μA N Channel SOP-8 MOSFETs ROHS")) + (sheetpath (names "/conv/sw[0]/") (tstamps "/042f01b7/05ee01d3/")) + (tstamps "0bd402f1")) +(comp (ref "C15") + (value "conv.sw[0].high_boot_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "sw[0]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[0].high_boot_cap")) + (property (name "edg_short_path") (value "conv.sw[0].high_boot_cap")) + (property (name "edg_refdes") (value "C15")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[0]/") (tstamps "/042f01b7/05ee01d3/")) + (tstamps "24e30547")) +(comp (ref "D3") + (value "conv.sw[0].high_boot_diode") + (footprint "Diode_SMD:D_SOD-323") + (property (name "Sheetname") (value "sw[0]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[0].high_boot_diode.diode")) + (property (name "edg_short_path") (value "conv.sw[0].high_boot_diode")) + (property (name "edg_refdes") (value "D3")) + (property (name "edg_part") (value "1N5819WS (Guangdong Hottech)")) + (property (name "edg_value") (value "40V 600mV@1A 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) + (sheetpath (names "/conv/sw[0]/") (tstamps "/042f01b7/05ee01d3/")) + (tstamps "30c00618")) +(comp (ref "U4") + (value "conv.sw[1].ldo.ic") + (footprint "Package_TO_SOT_SMD:SOT-23-5") + (property (name "Sheetname") (value "ldo")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) + (property (name "edg_path") (value "conv.sw[1].ldo.ic")) + (property (name "edg_short_path") (value "conv.sw[1].ldo.ic")) + (property (name "edg_refdes") (value "U4")) + (property (name "edg_part") (value "AP2204K-3.3 (Diodes Incorporated)")) + (property (name "edg_value") (value "AP2204K-3.3")) + (sheetpath (names "/conv/sw[1]/ldo/") (tstamps "/042f01b7/05f001d4/027e0140/")) + (tstamps "013700cd")) +(comp (ref "C16") + (value "conv.sw[1].ldo.in_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "ldo")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) + (property (name "edg_path") (value "conv.sw[1].ldo.in_cap.cap")) + (property (name "edg_short_path") (value "conv.sw[1].ldo.in_cap")) + (property (name "edg_refdes") (value "C16")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[1]/ldo/") (tstamps "/042f01b7/05f001d4/027e0140/")) + (tstamps "0879026b")) +(comp (ref "C17") + (value "conv.sw[1].ldo.out_cap") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "ldo")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) + (property (name "edg_path") (value "conv.sw[1].ldo.out_cap.cap")) + (property (name "edg_short_path") (value "conv.sw[1].ldo.out_cap")) + (property (name "edg_refdes") (value "C17")) + (property (name "edg_part") (value "CL31B225KBHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 2.2uF X7R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[1]/ldo/") (tstamps "/042f01b7/05f001d4/027e0140/")) + (tstamps "0be902ec")) +(comp (ref "U5") + (value "conv.sw[1].iso.ic") + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") + (property (name "Sheetname") (value "iso")) + (property (name "Sheetfile") (value "edg.parts.Isolator_Cbmud1200.Cbmud1200l")) + (property (name "edg_path") (value "conv.sw[1].iso.ic")) + (property (name "edg_short_path") (value "conv.sw[1].iso.ic")) + (property (name "edg_refdes") (value "U5")) + (property (name "edg_part") (value "CBMuD1200L (Corebai)")) + (property (name "edg_value") (value "CBMuD1200L")) + (sheetpath (names "/conv/sw[1]/iso/") (tstamps "/042f01b7/05f001d4/0293014c/")) + (tstamps "013700cd")) +(comp (ref "C18") + (value "conv.sw[1].iso.cap_a") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "iso")) + (property (name "Sheetfile") (value "edg.parts.Isolator_Cbmud1200.Cbmud1200l")) + (property (name "edg_path") (value "conv.sw[1].iso.cap_a.cap")) + (property (name "edg_short_path") (value "conv.sw[1].iso.cap_a")) + (property (name "edg_refdes") (value "C18")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[1]/iso/") (tstamps "/042f01b7/05f001d4/0293014c/")) + (tstamps "05e701f5")) +(comp (ref "C19") + (value "conv.sw[1].iso.cap_b") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "iso")) + (property (name "Sheetfile") (value "edg.parts.Isolator_Cbmud1200.Cbmud1200l")) + (property (name "edg_path") (value "conv.sw[1].iso.cap_b.cap")) + (property (name "edg_short_path") (value "conv.sw[1].iso.cap_b")) + (property (name "edg_refdes") (value "C19")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[1]/iso/") (tstamps "/042f01b7/05f001d4/0293014c/")) + (tstamps "05e801f6")) +(comp (ref "U6") + (value "conv.sw[1].driver.ic") + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") + (property (name "Sheetname") (value "driver")) + (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) + (property (name "edg_path") (value "conv.sw[1].driver.ic")) + (property (name "edg_short_path") (value "conv.sw[1].driver.ic")) + (property (name "edg_refdes") (value "U6")) + (property (name "edg_part") (value "IR2301 (Infineon Technologies)")) + (property (name "edg_value") (value "IR2301")) + (sheetpath (names "/conv/sw[1]/driver/") (tstamps "/042f01b7/05f001d4/08da028d/")) + (tstamps "013700cd")) +(comp (ref "C20") + (value "conv.sw[1].driver.cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "driver")) + (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) + (property (name "edg_path") (value "conv.sw[1].driver.cap.cap")) + (property (name "edg_short_path") (value "conv.sw[1].driver.cap")) + (property (name "edg_refdes") (value "C20")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[1]/driver/") (tstamps "/042f01b7/05f001d4/08da028d/")) + (tstamps "025e0135")) +(comp (ref "C21") + (value "conv.sw[1].driver.high_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "driver")) + (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) + (property (name "edg_path") (value "conv.sw[1].driver.high_cap.cap")) + (property (name "edg_short_path") (value "conv.sw[1].driver.high_cap")) + (property (name "edg_refdes") (value "C21")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[1]/driver/") (tstamps "/042f01b7/05f001d4/08da028d/")) + (tstamps "0e700334")) +(comp (ref "R9") + (value "conv.sw[1].high_gate_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "sw[1]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[1].high_gate_res")) + (property (name "edg_short_path") (value "conv.sw[1].high_gate_res")) + (property (name "edg_refdes") (value "R9")) + (property (name "edg_part") (value "0603WAF220JT5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/conv/sw[1]/") (tstamps "/042f01b7/05f001d4/")) + (tstamps "24b4054a")) +(comp (ref "C22") + (value "conv.sw[1].cap.c[0]") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "cap")) + (property (name "Sheetfile") (value "edg.parts.JlcCapacitor.JlcCapacitor")) + (property (name "edg_path") (value "conv.sw[1].cap.c[0]")) + (property (name "edg_short_path") (value "conv.sw[1].cap.c[0]")) + (property (name "edg_refdes") (value "C22")) + (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[1]/cap/") (tstamps "/042f01b7/05f001d4/025e0135/")) + (tstamps "035e014c")) +(comp (ref "C23") + (value "conv.sw[1].cap.c[1]") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "cap")) + (property (name "Sheetfile") (value "edg.parts.JlcCapacitor.JlcCapacitor")) + (property (name "edg_path") (value "conv.sw[1].cap.c[1]")) + (property (name "edg_short_path") (value "conv.sw[1].cap.c[1]")) + (property (name "edg_refdes") (value "C23")) + (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[1]/cap/") (tstamps "/042f01b7/05f001d4/025e0135/")) + (tstamps "0360014d")) +(comp (ref "R10") + (value "conv.sw[1].low_gate_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "sw[1]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[1].low_gate_res")) + (property (name "edg_short_path") (value "conv.sw[1].low_gate_res")) + (property (name "edg_refdes") (value "R10")) + (property (name "edg_part") (value "0603WAF220JT5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/conv/sw[1]/") (tstamps "/042f01b7/05f001d4/")) + (tstamps "207d04fc")) +(comp (ref "Q3") + (value "conv.sw[1].high_fet") + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") + (property (name "Sheetname") (value "sw[1]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[1].high_fet")) + (property (name "edg_short_path") (value "conv.sw[1].high_fet")) + (property (name "edg_refdes") (value "Q3")) + (property (name "edg_part") (value "HSM4410 (HUASHUO)")) + (property (name "edg_value") (value "30V 12A 2.5W 9.5mΩ@10V,12A 2.5V@250μA N Channel SOP-8 MOSFETs ROHS")) + (sheetpath (names "/conv/sw[1]/") (tstamps "/042f01b7/05f001d4/")) + (tstamps "0e85033f")) +(comp (ref "Q4") + (value "conv.sw[1].low_fet") + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") + (property (name "Sheetname") (value "sw[1]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[1].low_fet")) + (property (name "edg_short_path") (value "conv.sw[1].low_fet")) + (property (name "edg_refdes") (value "Q4")) + (property (name "edg_part") (value "HSM4410 (HUASHUO)")) + (property (name "edg_value") (value "30V 12A 2.5W 9.5mΩ@10V,12A 2.5V@250μA N Channel SOP-8 MOSFETs ROHS")) + (sheetpath (names "/conv/sw[1]/") (tstamps "/042f01b7/05f001d4/")) + (tstamps "0bd402f1")) +(comp (ref "D4") + (value "conv.sw[1].low_boot_diode") + (footprint "Diode_SMD:D_SOD-323") + (property (name "Sheetname") (value "sw[1]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[1].low_boot_diode.diode")) + (property (name "edg_short_path") (value "conv.sw[1].low_boot_diode")) + (property (name "edg_refdes") (value "D4")) + (property (name "edg_part") (value "1N5819WS (Guangdong Hottech)")) + (property (name "edg_value") (value "40V 600mV@1A 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) + (sheetpath (names "/conv/sw[1]/") (tstamps "/042f01b7/05f001d4/")) + (tstamps "2bed05ca")) +(comp (ref "C24") + (value "conv.sw[1].high_boot_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "sw[1]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[1].high_boot_cap")) + (property (name "edg_short_path") (value "conv.sw[1].high_boot_cap")) + (property (name "edg_refdes") (value "C24")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[1]/") (tstamps "/042f01b7/05f001d4/")) + (tstamps "24e30547")) +(comp (ref "C25") + (value "conv.sw[1].low_boot_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "sw[1]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[1].low_boot_cap")) + (property (name "edg_short_path") (value "conv.sw[1].low_boot_cap")) + (property (name "edg_refdes") (value "C25")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[1]/") (tstamps "/042f01b7/05f001d4/")) + (tstamps "20ac04f9")) +(comp (ref "D5") + (value "conv.sw[1].high_boot_diode") + (footprint "Diode_SMD:D_SOD-323") + (property (name "Sheetname") (value "sw[1]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[1].high_boot_diode.diode")) + (property (name "edg_short_path") (value "conv.sw[1].high_boot_diode")) + (property (name "edg_refdes") (value "D5")) + (property (name "edg_part") (value "1N5819WS (Guangdong Hottech)")) + (property (name "edg_value") (value "40V 600mV@1A 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) + (sheetpath (names "/conv/sw[1]/") (tstamps "/042f01b7/05f001d4/")) + (tstamps "30c00618")) +(comp (ref "U7") + (value "conv.sw[2].ldo.ic") + (footprint "Package_TO_SOT_SMD:SOT-23-5") + (property (name "Sheetname") (value "ldo")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) + (property (name "edg_path") (value "conv.sw[2].ldo.ic")) + (property (name "edg_short_path") (value "conv.sw[2].ldo.ic")) + (property (name "edg_refdes") (value "U7")) + (property (name "edg_part") (value "AP2204K-3.3 (Diodes Incorporated)")) + (property (name "edg_value") (value "AP2204K-3.3")) + (sheetpath (names "/conv/sw[2]/ldo/") (tstamps "/042f01b7/05f201d5/027e0140/")) + (tstamps "013700cd")) +(comp (ref "C26") + (value "conv.sw[2].ldo.in_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "ldo")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) + (property (name "edg_path") (value "conv.sw[2].ldo.in_cap.cap")) + (property (name "edg_short_path") (value "conv.sw[2].ldo.in_cap")) + (property (name "edg_refdes") (value "C26")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[2]/ldo/") (tstamps "/042f01b7/05f201d5/027e0140/")) + (tstamps "0879026b")) +(comp (ref "C27") + (value "conv.sw[2].ldo.out_cap") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "ldo")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) + (property (name "edg_path") (value "conv.sw[2].ldo.out_cap.cap")) + (property (name "edg_short_path") (value "conv.sw[2].ldo.out_cap")) + (property (name "edg_refdes") (value "C27")) + (property (name "edg_part") (value "CL31B225KBHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 2.2uF X7R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[2]/ldo/") (tstamps "/042f01b7/05f201d5/027e0140/")) + (tstamps "0be902ec")) +(comp (ref "U8") + (value "conv.sw[2].iso.ic") + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") + (property (name "Sheetname") (value "iso")) + (property (name "Sheetfile") (value "edg.parts.Isolator_Cbmud1200.Cbmud1200l")) + (property (name "edg_path") (value "conv.sw[2].iso.ic")) + (property (name "edg_short_path") (value "conv.sw[2].iso.ic")) + (property (name "edg_refdes") (value "U8")) + (property (name "edg_part") (value "CBMuD1200L (Corebai)")) + (property (name "edg_value") (value "CBMuD1200L")) + (sheetpath (names "/conv/sw[2]/iso/") (tstamps "/042f01b7/05f201d5/0293014c/")) + (tstamps "013700cd")) +(comp (ref "C28") + (value "conv.sw[2].iso.cap_a") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "iso")) + (property (name "Sheetfile") (value "edg.parts.Isolator_Cbmud1200.Cbmud1200l")) + (property (name "edg_path") (value "conv.sw[2].iso.cap_a.cap")) + (property (name "edg_short_path") (value "conv.sw[2].iso.cap_a")) + (property (name "edg_refdes") (value "C28")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[2]/iso/") (tstamps "/042f01b7/05f201d5/0293014c/")) + (tstamps "05e701f5")) +(comp (ref "C29") + (value "conv.sw[2].iso.cap_b") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "iso")) + (property (name "Sheetfile") (value "edg.parts.Isolator_Cbmud1200.Cbmud1200l")) + (property (name "edg_path") (value "conv.sw[2].iso.cap_b.cap")) + (property (name "edg_short_path") (value "conv.sw[2].iso.cap_b")) + (property (name "edg_refdes") (value "C29")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[2]/iso/") (tstamps "/042f01b7/05f201d5/0293014c/")) + (tstamps "05e801f6")) +(comp (ref "U9") + (value "conv.sw[2].driver.ic") + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") + (property (name "Sheetname") (value "driver")) + (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) + (property (name "edg_path") (value "conv.sw[2].driver.ic")) + (property (name "edg_short_path") (value "conv.sw[2].driver.ic")) + (property (name "edg_refdes") (value "U9")) + (property (name "edg_part") (value "IR2301 (Infineon Technologies)")) + (property (name "edg_value") (value "IR2301")) + (sheetpath (names "/conv/sw[2]/driver/") (tstamps "/042f01b7/05f201d5/08da028d/")) + (tstamps "013700cd")) +(comp (ref "C30") + (value "conv.sw[2].driver.cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "driver")) + (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) + (property (name "edg_path") (value "conv.sw[2].driver.cap.cap")) + (property (name "edg_short_path") (value "conv.sw[2].driver.cap")) + (property (name "edg_refdes") (value "C30")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[2]/driver/") (tstamps "/042f01b7/05f201d5/08da028d/")) + (tstamps "025e0135")) +(comp (ref "C31") + (value "conv.sw[2].driver.high_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "driver")) + (property (name "Sheetfile") (value "edg.parts.GateDriver_Ir2301.Ir2301")) + (property (name "edg_path") (value "conv.sw[2].driver.high_cap.cap")) + (property (name "edg_short_path") (value "conv.sw[2].driver.high_cap")) + (property (name "edg_refdes") (value "C31")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[2]/driver/") (tstamps "/042f01b7/05f201d5/08da028d/")) + (tstamps "0e700334")) +(comp (ref "R11") + (value "conv.sw[2].high_gate_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "sw[2]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[2].high_gate_res")) + (property (name "edg_short_path") (value "conv.sw[2].high_gate_res")) + (property (name "edg_refdes") (value "R11")) + (property (name "edg_part") (value "0603WAF220JT5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/conv/sw[2]/") (tstamps "/042f01b7/05f201d5/")) + (tstamps "24b4054a")) +(comp (ref "C32") + (value "conv.sw[2].cap.c[0]") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "cap")) + (property (name "Sheetfile") (value "edg.parts.JlcCapacitor.JlcCapacitor")) + (property (name "edg_path") (value "conv.sw[2].cap.c[0]")) + (property (name "edg_short_path") (value "conv.sw[2].cap.c[0]")) + (property (name "edg_refdes") (value "C32")) + (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[2]/cap/") (tstamps "/042f01b7/05f201d5/025e0135/")) + (tstamps "035e014c")) +(comp (ref "C33") + (value "conv.sw[2].cap.c[1]") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "cap")) + (property (name "Sheetfile") (value "edg.parts.JlcCapacitor.JlcCapacitor")) + (property (name "edg_path") (value "conv.sw[2].cap.c[1]")) + (property (name "edg_short_path") (value "conv.sw[2].cap.c[1]")) + (property (name "edg_refdes") (value "C33")) + (property (name "edg_part") (value "CL31A226KAHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[2]/cap/") (tstamps "/042f01b7/05f201d5/025e0135/")) + (tstamps "0360014d")) +(comp (ref "R12") + (value "conv.sw[2].low_gate_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "sw[2]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[2].low_gate_res")) + (property (name "edg_short_path") (value "conv.sw[2].low_gate_res")) + (property (name "edg_refdes") (value "R12")) + (property (name "edg_part") (value "0603WAF220JT5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/conv/sw[2]/") (tstamps "/042f01b7/05f201d5/")) + (tstamps "207d04fc")) +(comp (ref "Q5") + (value "conv.sw[2].high_fet") + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") + (property (name "Sheetname") (value "sw[2]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[2].high_fet")) + (property (name "edg_short_path") (value "conv.sw[2].high_fet")) + (property (name "edg_refdes") (value "Q5")) + (property (name "edg_part") (value "HSM4410 (HUASHUO)")) + (property (name "edg_value") (value "30V 12A 2.5W 9.5mΩ@10V,12A 2.5V@250μA N Channel SOP-8 MOSFETs ROHS")) + (sheetpath (names "/conv/sw[2]/") (tstamps "/042f01b7/05f201d5/")) + (tstamps "0e85033f")) +(comp (ref "Q6") + (value "conv.sw[2].low_fet") + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") + (property (name "Sheetname") (value "sw[2]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[2].low_fet")) + (property (name "edg_short_path") (value "conv.sw[2].low_fet")) + (property (name "edg_refdes") (value "Q6")) + (property (name "edg_part") (value "HSM4410 (HUASHUO)")) + (property (name "edg_value") (value "30V 12A 2.5W 9.5mΩ@10V,12A 2.5V@250μA N Channel SOP-8 MOSFETs ROHS")) + (sheetpath (names "/conv/sw[2]/") (tstamps "/042f01b7/05f201d5/")) + (tstamps "0bd402f1")) +(comp (ref "D6") + (value "conv.sw[2].low_boot_diode") + (footprint "Diode_SMD:D_SOD-323") + (property (name "Sheetname") (value "sw[2]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[2].low_boot_diode.diode")) + (property (name "edg_short_path") (value "conv.sw[2].low_boot_diode")) + (property (name "edg_refdes") (value "D6")) + (property (name "edg_part") (value "1N5819WS (Guangdong Hottech)")) + (property (name "edg_value") (value "40V 600mV@1A 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) + (sheetpath (names "/conv/sw[2]/") (tstamps "/042f01b7/05f201d5/")) + (tstamps "2bed05ca")) +(comp (ref "C34") + (value "conv.sw[2].high_boot_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "sw[2]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[2].high_boot_cap")) + (property (name "edg_short_path") (value "conv.sw[2].high_boot_cap")) + (property (name "edg_refdes") (value "C34")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[2]/") (tstamps "/042f01b7/05f201d5/")) + (tstamps "24e30547")) +(comp (ref "C35") + (value "conv.sw[2].low_boot_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "sw[2]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[2].low_boot_cap")) + (property (name "edg_short_path") (value "conv.sw[2].low_boot_cap")) + (property (name "edg_refdes") (value "C35")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw[2]/") (tstamps "/042f01b7/05f201d5/")) + (tstamps "20ac04f9")) +(comp (ref "D7") + (value "conv.sw[2].high_boot_diode") + (footprint "Diode_SMD:D_SOD-323") + (property (name "Sheetname") (value "sw[2]")) + (property (name "Sheetfile") (value "examples.test_fcml.MultilevelSwitchingCell")) + (property (name "edg_path") (value "conv.sw[2].high_boot_diode.diode")) + (property (name "edg_short_path") (value "conv.sw[2].high_boot_diode")) + (property (name "edg_refdes") (value "D7")) + (property (name "edg_part") (value "1N5819WS (Guangdong Hottech)")) + (property (name "edg_value") (value "40V 600mV@1A 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) + (sheetpath (names "/conv/sw[2]/") (tstamps "/042f01b7/05f201d5/")) + (tstamps "30c00618")) +(comp (ref "J4") + (value "conv_out") + (footprint "Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "conv_out.conn")) + (property (name "edg_short_path") (value "conv_out")) + (property (name "edg_refdes") (value "J4")) + (property (name "edg_part") (value "B2B-PH-K (JST)")) + (property (name "edg_value") (value "B2B-PH-K")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0f32036e")) +(comp (ref "TP5") + (value "_conv_pwr_out_link") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_conv_out.tp")) + (property (name "edg_short_path") (value "tp_conv_out")) + (property (name "edg_refdes") (value "TP5")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_conv_pwr_out_link")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "1be804b1")) +(comp (ref "TP6") + (value "gnd") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_conv_gnd.tp")) + (property (name "edg_short_path") (value "tp_conv_gnd")) + (property (name "edg_refdes") (value "TP6")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "gnd")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "1bb20492")) +(comp (ref "U10") + (value "fpga.ic") + (footprint "Package_DFN_QFN:QFN-48-1EP_7x7mm_P0.5mm_EP5.3x5.3mm") + (property (name "Sheetname") (value "fpga")) + (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) + (property (name "edg_path") (value "fpga.ic")) + (property (name "edg_short_path") (value "fpga.ic")) + (property (name "edg_refdes") (value "U10")) + (property (name "edg_part") (value "ICE40UP5K-SG48 (Lattice Semiconductor Corporation)")) + (property (name "edg_value") (value "ICE40UP5K-SG48")) + (sheetpath (names "/fpga/") (tstamps "/041b019f/")) + (tstamps "013700cd")) +(comp (ref "U11") + (value "fpga.vcc_reg.ic") + (footprint "Package_TO_SOT_SMD:SOT-23-5") + (property (name "Sheetname") (value "vcc_reg")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Lp5907")) + (property (name "edg_path") (value "fpga.vcc_reg.ic")) + (property (name "edg_short_path") (value "fpga.vcc_reg.ic")) + (property (name "edg_refdes") (value "U11")) + (property (name "edg_part") (value "LP5907MFX-1.2/NOPB (Texas Instruments)")) + (property (name "edg_value") (value "LP5907MFX-1.2/NOPB")) + (sheetpath (names "/fpga/vcc_reg/") (tstamps "/041b019f/0b8502da/")) + (tstamps "013700cd")) +(comp (ref "C36") + (value "fpga.vcc_reg.in_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "vcc_reg")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Lp5907")) + (property (name "edg_path") (value "fpga.vcc_reg.in_cap.cap")) + (property (name "edg_short_path") (value "fpga.vcc_reg.in_cap")) + (property (name "edg_refdes") (value "C36")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/fpga/vcc_reg/") (tstamps "/041b019f/0b8502da/")) + (tstamps "0879026b")) +(comp (ref "C37") + (value "fpga.vcc_reg.out_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "vcc_reg")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Lp5907")) + (property (name "edg_path") (value "fpga.vcc_reg.out_cap.cap")) + (property (name "edg_short_path") (value "fpga.vcc_reg.out_cap")) + (property (name "edg_refdes") (value "C37")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/fpga/vcc_reg/") (tstamps "/041b019f/0b8502da/")) + (tstamps "0be902ec")) +(comp (ref "R13") + (value "fpga.reset_pu") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "fpga")) + (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) + (property (name "edg_path") (value "fpga.reset_pu.res")) + (property (name "edg_short_path") (value "fpga.reset_pu")) + (property (name "edg_refdes") (value "R13")) + (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/fpga/") (tstamps "/041b019f/")) + (tstamps "0f480368")) +(comp (ref "U12") + (value "fpga.mem.ic") + (footprint "Package_SO:SOIC-8_5.23x5.23mm_P1.27mm") + (property (name "Sheetname") (value "mem")) + (property (name "Sheetfile") (value "edg.parts.SpiMemory_W25q.W25q")) + (property (name "edg_path") (value "fpga.mem.ic")) + (property (name "edg_short_path") (value "fpga.mem.ic")) + (property (name "edg_refdes") (value "U12")) + (property (name "edg_part") (value "W25Q128JVSIQ (Winbond Electronics)")) + (property (name "edg_value") (value "W25Q128JVSIQ")) + (sheetpath (names "/fpga/mem/") (tstamps "/041b019f/02810140/")) + (tstamps "013700cd")) +(comp (ref "C38") + (value "fpga.mem.vcc_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mem")) + (property (name "Sheetfile") (value "edg.parts.SpiMemory_W25q.W25q")) + (property (name "edg_path") (value "fpga.mem.vcc_cap.cap")) + (property (name "edg_short_path") (value "fpga.mem.vcc_cap")) + (property (name "edg_refdes") (value "C38")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/fpga/mem/") (tstamps "/041b019f/02810140/")) + (tstamps "0b5902d0")) +(comp (ref "J5") + (value "fpga.prog") + (footprint "Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical_SMD") + (property (name "Sheetname") (value "fpga")) + (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) + (property (name "edg_path") (value "fpga.prog.conn")) + (property (name "edg_short_path") (value "fpga.prog")) + (property (name "edg_refdes") (value "J5")) + (property (name "edg_part") (value "PinHeader1.27 Shrouded 2x5 (Generic)")) + (property (name "edg_value") (value "PinHeader1.27 Shrouded 2x5")) + (sheetpath (names "/fpga/") (tstamps "/041b019f/")) + (tstamps "045f01b9")) +(comp (ref "JP1") + (value "fpga.cs_jmp") + (footprint "Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm") + (property (name "Sheetname") (value "fpga")) + (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) + (property (name "edg_path") (value "fpga.cs_jmp.device")) + (property (name "edg_short_path") (value "fpga.cs_jmp")) + (property (name "edg_refdes") (value "JP1")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/fpga/") (tstamps "/041b019f/")) + (tstamps "089b027d")) +(comp (ref "R14") + (value "fpga.mem_pu") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "fpga")) + (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) + (property (name "edg_path") (value "fpga.mem_pu.res")) + (property (name "edg_short_path") (value "fpga.mem_pu")) + (property (name "edg_refdes") (value "R14")) + (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/fpga/") (tstamps "/041b019f/")) + (tstamps "08b30284")) +(comp (ref "C39") + (value "fpga.vio_cap0") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "fpga")) + (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) + (property (name "edg_path") (value "fpga.vio_cap0.cap")) + (property (name "edg_short_path") (value "fpga.vio_cap0")) + (property (name "edg_refdes") (value "C39")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/fpga/") (tstamps "/041b019f/")) + (tstamps "0ecb0312")) +(comp (ref "C40") + (value "fpga.vio_cap1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "fpga")) + (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) + (property (name "edg_path") (value "fpga.vio_cap1.cap")) + (property (name "edg_short_path") (value "fpga.vio_cap1")) + (property (name "edg_refdes") (value "C40")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/fpga/") (tstamps "/041b019f/")) + (tstamps "0ecc0313")) +(comp (ref "C41") + (value "fpga.vio_cap2") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "fpga")) + (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) + (property (name "edg_path") (value "fpga.vio_cap2.cap")) + (property (name "edg_short_path") (value "fpga.vio_cap2")) + (property (name "edg_refdes") (value "C41")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/fpga/") (tstamps "/041b019f/")) + (tstamps "0ecd0314")) +(comp (ref "C42") + (value "fpga.vpp_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "fpga")) + (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) + (property (name "edg_path") (value "fpga.vpp_cap.cap")) + (property (name "edg_short_path") (value "fpga.vpp_cap")) + (property (name "edg_refdes") (value "C42")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/fpga/") (tstamps "/041b019f/")) + (tstamps "0be802ea")) +(comp (ref "R15") + (value "fpga.pll_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "fpga")) + (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) + (property (name "edg_path") (value "fpga.pll_res.res")) + (property (name "edg_short_path") (value "fpga.pll_res")) + (property (name "edg_refdes") (value "R15")) + (property (name "edg_part") (value "0603WAF1000T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±200ppm/℃ -55℃~+155℃ 100Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/fpga/") (tstamps "/041b019f/")) + (tstamps "0bca02f2")) +(comp (ref "C43") + (value "fpga.vcc_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "fpga")) + (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) + (property (name "edg_path") (value "fpga.vcc_cap.cap")) + (property (name "edg_short_path") (value "fpga.vcc_cap")) + (property (name "edg_refdes") (value "C43")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/fpga/") (tstamps "/041b019f/")) + (tstamps "0b5902d0")) +(comp (ref "C44") + (value "fpga.pll_lf") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "fpga")) + (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) + (property (name "edg_path") (value "fpga.pll_lf.cap")) + (property (name "edg_short_path") (value "fpga.pll_lf")) + (property (name "edg_refdes") (value "C44")) + (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/fpga/") (tstamps "/041b019f/")) + (tstamps "08cd027a")) +(comp (ref "C45") + (value "fpga.pll_hf") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "fpga")) + (property (name "Sheetfile") (value "edg.parts.Fpga_Ice40up.Ice40up5k_Sg48")) + (property (name "edg_path") (value "fpga.pll_hf.cap")) + (property (name "edg_short_path") (value "fpga.pll_hf")) + (property (name "edg_refdes") (value "C45")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/fpga/") (tstamps "/041b019f/")) + (tstamps "08c50276")) +(comp (ref "D8") + (value "cdone.package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "cdone")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "cdone.package")) + (property (name "edg_short_path") (value "cdone.package")) + (property (name "edg_refdes") (value "D8")) + (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) + (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) + (sheetpath (names "/cdone/") (tstamps "/0612020a/")) + (tstamps "0b4e02cd")) +(comp (ref "R16") + (value "cdone.res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "cdone")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "cdone.res")) + (property (name "edg_short_path") (value "cdone.res")) + (property (name "edg_refdes") (value "R16")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/cdone/") (tstamps "/0612020a/")) + (tstamps "0296014b")) +(comp (ref "X1") + (value "fpga_osc.device") + (footprint "Crystal:Crystal_SMD_2520-4Pin_2.5x2.0mm") + (property (name "Sheetname") (value "fpga_osc")) + (property (name "Sheetfile") (value "edg.parts.JlcOscillator.JlcOscillator")) + (property (name "edg_path") (value "fpga_osc.device")) + (property (name "edg_short_path") (value "fpga_osc.device")) + (property (name "edg_refdes") (value "X1")) + (property (name "edg_part") (value "SG-8101CG 48.000000MHz TBGSA")) + (property (name "edg_value") (value "±15ppm 1.8V~3.3V 48MHz -40℃~+85℃ SMD-2520_4P Pre-programmed Oscillators ROHS")) + (sheetpath (names "/fpga_osc/") (tstamps "/0ea90343/")) + (tstamps "08950271")) +(comp (ref "C46") + (value "fpga_osc.cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "fpga_osc")) + (property (name "Sheetfile") (value "edg.parts.JlcOscillator.JlcOscillator")) + (property (name "edg_path") (value "fpga_osc.cap.cap")) + (property (name "edg_short_path") (value "fpga_osc.cap")) + (property (name "edg_refdes") (value "C46")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/fpga_osc/") (tstamps "/0ea90343/")) + (tstamps "025e0135")) +(comp (ref "SW1") + (value "fpga_sw") + (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "fpga_sw.package")) + (property (name "edg_short_path") (value "fpga_sw")) + (property (name "edg_refdes") (value "SW1")) + (property (name "edg_part") (value "5.1mm switch")) + (property (name "edg_value") (value "5.1mm switch")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0b7202e8")) +(comp (ref "D9") + (value "fpga_led.led[0].package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "led[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "fpga_led.led[0].package")) + (property (name "edg_short_path") (value "fpga_led.led[0].package")) + (property (name "edg_refdes") (value "D9")) + (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) + (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) + (sheetpath (names "/fpga_led/led[0]/") (tstamps "/0e850333/07e5021e/")) + (tstamps "0b4e02cd")) +(comp (ref "R17") + (value "fpga_led.led[0].res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "led[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "fpga_led.led[0].res")) + (property (name "edg_short_path") (value "fpga_led.led[0].res")) + (property (name "edg_refdes") (value "R17")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/fpga_led/led[0]/") (tstamps "/0e850333/07e5021e/")) + (tstamps "0296014b")) +(comp (ref "D10") + (value "fpga_led.led[1].package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "led[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "fpga_led.led[1].package")) + (property (name "edg_short_path") (value "fpga_led.led[1].package")) + (property (name "edg_refdes") (value "D10")) + (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) + (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) + (sheetpath (names "/fpga_led/led[1]/") (tstamps "/0e850333/07e7021f/")) + (tstamps "0b4e02cd")) +(comp (ref "R18") + (value "fpga_led.led[1].res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "led[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "fpga_led.led[1].res")) + (property (name "edg_short_path") (value "fpga_led.led[1].res")) + (property (name "edg_refdes") (value "R18")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/fpga_led/led[1]/") (tstamps "/0e850333/07e7021f/")) + (tstamps "0296014b")) +(comp (ref "D11") + (value "fpga_led.led[2].package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "led[2]")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "fpga_led.led[2].package")) + (property (name "edg_short_path") (value "fpga_led.led[2].package")) + (property (name "edg_refdes") (value "D11")) + (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) + (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) + (sheetpath (names "/fpga_led/led[2]/") (tstamps "/0e850333/07e90220/")) + (tstamps "0b4e02cd")) +(comp (ref "R19") + (value "fpga_led.led[2].res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "led[2]")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "fpga_led.led[2].res")) + (property (name "edg_short_path") (value "fpga_led.led[2].res")) + (property (name "edg_refdes") (value "R19")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/fpga_led/led[2]/") (tstamps "/0e850333/07e90220/")) + (tstamps "0296014b")) +(comp (ref "D12") + (value "fpga_led.led[3].package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "led[3]")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "fpga_led.led[3].package")) + (property (name "edg_short_path") (value "fpga_led.led[3].package")) + (property (name "edg_refdes") (value "D12")) + (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) + (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) + (sheetpath (names "/fpga_led/led[3]/") (tstamps "/0e850333/07eb0221/")) + (tstamps "0b4e02cd")) +(comp (ref "R20") + (value "fpga_led.led[3].res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "led[3]")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "fpga_led.led[3].res")) + (property (name "edg_short_path") (value "fpga_led.led[3].res")) + (property (name "edg_refdes") (value "R20")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/fpga_led/led[3]/") (tstamps "/0e850333/07eb0221/")) + (tstamps "0296014b")) +(comp (ref "R21") + (value "usb_fpga_bitbang.dp_pull_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "usb_fpga_bitbang")) + (property (name "Sheetfile") (value "edg.abstract_parts.UsbBitBang.UsbBitBang")) + (property (name "edg_path") (value "usb_fpga_bitbang.dp_pull_res")) + (property (name "edg_short_path") (value "usb_fpga_bitbang.dp_pull_res")) + (property (name "edg_refdes") (value "R21")) + (property (name "edg_part") (value "0603WAF1501T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1.5kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/usb_fpga_bitbang/") (tstamps "/37a1067e/")) + (tstamps "1b74049a")) +(comp (ref "R22") + (value "usb_fpga_bitbang.dp_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "usb_fpga_bitbang")) + (property (name "Sheetfile") (value "edg.abstract_parts.UsbBitBang.UsbBitBang")) + (property (name "edg_path") (value "usb_fpga_bitbang.dp_res")) + (property (name "edg_short_path") (value "usb_fpga_bitbang.dp_res")) + (property (name "edg_refdes") (value "R22")) + (property (name "edg_part") (value "0603WAF680JT5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 68Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/usb_fpga_bitbang/") (tstamps "/37a1067e/")) + (tstamps "089d027e")) +(comp (ref "R23") + (value "usb_fpga_bitbang.dm_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "usb_fpga_bitbang")) + (property (name "Sheetfile") (value "edg.abstract_parts.UsbBitBang.UsbBitBang")) + (property (name "edg_path") (value "usb_fpga_bitbang.dm_res")) + (property (name "edg_short_path") (value "usb_fpga_bitbang.dm_res")) + (property (name "edg_refdes") (value "R23")) + (property (name "edg_part") (value "0603WAF680JT5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 68Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/usb_fpga_bitbang/") (tstamps "/37a1067e/")) + (tstamps "088e027b")) +(comp (ref "U13") + (value "usb_fpga_esd") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "usb_fpga_esd")) + (property (name "edg_short_path") (value "usb_fpga_esd")) + (property (name "edg_refdes") (value "U13")) + (property (name "edg_part") (value "PGB102ST23 (Littelfuse)")) + (property (name "edg_value") (value "PGB102ST23")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "202804e3")) +(comp (ref "J6") + (value "mcu.swd") + (footprint "Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical_SMD") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) + (property (name "edg_path") (value "mcu.swd.conn")) + (property (name "edg_short_path") (value "mcu.swd")) + (property (name "edg_refdes") (value "J6")) + (property (name "edg_part") (value "PinHeader1.27 Shrouded 2x5 (Generic)")) + (property (name "edg_value") (value "PinHeader1.27 Shrouded 2x5")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "02ae014f")) +(comp (ref "U14") + (value "mcu.ic") + (footprint "Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) + (property (name "edg_path") (value "mcu.ic")) + (property (name "edg_short_path") (value "mcu.ic")) + (property (name "edg_refdes") (value "U14")) + (property (name "edg_part") (value "RP2040 (Raspberry Pi)")) + (property (name "edg_value") (value "RP2040")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "013700cd")) +(comp (ref "C47") + (value "mcu.iovdd_cap[0]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) + (property (name "edg_path") (value "mcu.iovdd_cap[0].cap")) + (property (name "edg_short_path") (value "mcu.iovdd_cap[0]")) + (property (name "edg_refdes") (value "C47")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "1f5b0492")) +(comp (ref "C48") + (value "mcu.iovdd_cap[1]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) + (property (name "edg_path") (value "mcu.iovdd_cap[1].cap")) + (property (name "edg_short_path") (value "mcu.iovdd_cap[1]")) + (property (name "edg_refdes") (value "C48")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "1f5d0493")) +(comp (ref "C49") + (value "mcu.iovdd_cap[2]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) + (property (name "edg_path") (value "mcu.iovdd_cap[2].cap")) + (property (name "edg_short_path") (value "mcu.iovdd_cap[2]")) + (property (name "edg_refdes") (value "C49")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "1f5f0494")) +(comp (ref "C50") + (value "mcu.iovdd_cap[3]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) + (property (name "edg_path") (value "mcu.iovdd_cap[3].cap")) + (property (name "edg_short_path") (value "mcu.iovdd_cap[3]")) + (property (name "edg_refdes") (value "C50")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "1f610495")) +(comp (ref "C51") + (value "mcu.iovdd_cap[4]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) + (property (name "edg_path") (value "mcu.iovdd_cap[4].cap")) + (property (name "edg_short_path") (value "mcu.iovdd_cap[4]")) + (property (name "edg_refdes") (value "C51")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "1f630496")) +(comp (ref "C52") + (value "mcu.iovdd_cap[5]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) + (property (name "edg_path") (value "mcu.iovdd_cap[5].cap")) + (property (name "edg_short_path") (value "mcu.iovdd_cap[5]")) + (property (name "edg_refdes") (value "C52")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "1f650497")) +(comp (ref "C53") + (value "mcu.avdd_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) + (property (name "edg_path") (value "mcu.avdd_cap.cap")) + (property (name "edg_short_path") (value "mcu.avdd_cap")) + (property (name "edg_refdes") (value "C53")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "0e6d0333")) +(comp (ref "C54") + (value "mcu.vreg_in_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) + (property (name "edg_path") (value "mcu.vreg_in_cap.cap")) + (property (name "edg_short_path") (value "mcu.vreg_in_cap")) + (property (name "edg_refdes") (value "C54")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "1b62047e")) +(comp (ref "U15") + (value "mcu.mem.ic") + (footprint "Package_SO:SOIC-8_5.23x5.23mm_P1.27mm") + (property (name "Sheetname") (value "mem")) + (property (name "Sheetfile") (value "edg.parts.SpiMemory_W25q.W25q")) + (property (name "edg_path") (value "mcu.mem.ic")) + (property (name "edg_short_path") (value "mcu.mem.ic")) + (property (name "edg_refdes") (value "U15")) + (property (name "edg_part") (value "W25Q128JVSIQ (Winbond Electronics)")) + (property (name "edg_value") (value "W25Q128JVSIQ")) + (sheetpath (names "/mcu/mem/") (tstamps "/02850146/02810140/")) + (tstamps "013700cd")) +(comp (ref "C55") + (value "mcu.mem.vcc_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mem")) + (property (name "Sheetfile") (value "edg.parts.SpiMemory_W25q.W25q")) + (property (name "edg_path") (value "mcu.mem.vcc_cap.cap")) + (property (name "edg_short_path") (value "mcu.mem.vcc_cap")) + (property (name "edg_refdes") (value "C55")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/mem/") (tstamps "/02850146/02810140/")) + (tstamps "0b5902d0")) +(comp (ref "C56") + (value "mcu.dvdd_cap[0]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) + (property (name "edg_path") (value "mcu.dvdd_cap[0].cap")) + (property (name "edg_short_path") (value "mcu.dvdd_cap[0]")) + (property (name "edg_refdes") (value "C56")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "19f5041e")) +(comp (ref "C57") + (value "mcu.dvdd_cap[1]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) + (property (name "edg_path") (value "mcu.dvdd_cap[1].cap")) + (property (name "edg_short_path") (value "mcu.dvdd_cap[1]")) + (property (name "edg_refdes") (value "C57")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "19f7041f")) +(comp (ref "C58") + (value "mcu.vreg_out_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040")) + (property (name "edg_path") (value "mcu.vreg_out_cap.cap")) + (property (name "edg_short_path") (value "mcu.vreg_out_cap")) + (property (name "edg_refdes") (value "C58")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "20e504ff")) +(comp (ref "R24") + (value "mcu.usb_res.dp_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "usb_res")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040Usb")) + (property (name "edg_path") (value "mcu.usb_res.dp_res")) + (property (name "edg_short_path") (value "mcu.usb_res.dp_res")) + (property (name "edg_refdes") (value "R24")) + (property (name "edg_part") (value "0603WAF270JT5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±200ppm/℃ -55℃~+155℃ 27Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/mcu/usb_res/") (tstamps "/02850146/0be502f4/")) + (tstamps "089d027e")) +(comp (ref "R25") + (value "mcu.usb_res.dm_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "usb_res")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Rp2040.Rp2040Usb")) + (property (name "edg_path") (value "mcu.usb_res.dm_res")) + (property (name "edg_short_path") (value "mcu.usb_res.dm_res")) + (property (name "edg_refdes") (value "R25")) + (property (name "edg_part") (value "0603WAF270JT5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±200ppm/℃ -55℃~+155℃ 27Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/mcu/usb_res/") (tstamps "/02850146/0be502f4/")) + (tstamps "088e027b")) +(comp (ref "X2") + (value "mcu.crystal.package") + (footprint "Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm") + (property (name "Sheetname") (value "crystal")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) + (property (name "edg_path") (value "mcu.crystal.package")) + (property (name "edg_short_path") (value "mcu.crystal.package")) + (property (name "edg_refdes") (value "X2")) + (property (name "edg_part") (value "X322512MSB4SI (Yangxing Tech)")) + (property (name "edg_value") (value "12MHz SMD Crystal Resonator 20pF ±10ppm ±30ppm -40℃~+85℃ SMD3225-4P Crystals ROHS")) + (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) + (tstamps "0b4e02cd")) +(comp (ref "C59") + (value "mcu.crystal.cap_a") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "crystal")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) + (property (name "edg_path") (value "mcu.crystal.cap_a")) + (property (name "edg_short_path") (value "mcu.crystal.cap_a")) + (property (name "edg_refdes") (value "C59")) + (property (name "edg_part") (value "CL10C330JB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 33pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) + (tstamps "05e701f5")) +(comp (ref "C60") + (value "mcu.crystal.cap_b") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "crystal")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) + (property (name "edg_path") (value "mcu.crystal.cap_b")) + (property (name "edg_short_path") (value "mcu.crystal.cap_b")) + (property (name "edg_refdes") (value "C60")) + (property (name "edg_part") (value "CL10C330JB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 33pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) + (tstamps "05e801f6")) +(comp (ref "SW2") + (value "mcu_sw") + (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "mcu_sw.package")) + (property (name "edg_short_path") (value "mcu_sw")) + (property (name "edg_refdes") (value "SW2")) + (property (name "edg_part") (value "5.1mm switch")) + (property (name "edg_value") (value "5.1mm switch")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "08d1028f")) +(comp (ref "D13") + (value "mcu_leds.led[0].package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "led[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "mcu_leds.led[0].package")) + (property (name "edg_short_path") (value "mcu_leds.led[0].package")) + (property (name "edg_refdes") (value "D13")) + (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) + (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) + (sheetpath (names "/mcu_leds/led[0]/") (tstamps "/0ed8034d/07e5021e/")) + (tstamps "0b4e02cd")) +(comp (ref "R26") + (value "mcu_leds.led[0].res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "led[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "mcu_leds.led[0].res")) + (property (name "edg_short_path") (value "mcu_leds.led[0].res")) + (property (name "edg_refdes") (value "R26")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/mcu_leds/led[0]/") (tstamps "/0ed8034d/07e5021e/")) + (tstamps "0296014b")) +(comp (ref "D14") + (value "mcu_leds.led[1].package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "led[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "mcu_leds.led[1].package")) + (property (name "edg_short_path") (value "mcu_leds.led[1].package")) + (property (name "edg_refdes") (value "D14")) + (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) + (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) + (sheetpath (names "/mcu_leds/led[1]/") (tstamps "/0ed8034d/07e7021f/")) + (tstamps "0b4e02cd")) +(comp (ref "R27") + (value "mcu_leds.led[1].res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "led[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "mcu_leds.led[1].res")) + (property (name "edg_short_path") (value "mcu_leds.led[1].res")) + (property (name "edg_refdes") (value "R27")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/mcu_leds/led[1]/") (tstamps "/0ed8034d/07e7021f/")) + (tstamps "0296014b")) +(comp (ref "D15") + (value "mcu_leds.led[2].package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "led[2]")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "mcu_leds.led[2].package")) + (property (name "edg_short_path") (value "mcu_leds.led[2].package")) + (property (name "edg_refdes") (value "D15")) + (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) + (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) + (sheetpath (names "/mcu_leds/led[2]/") (tstamps "/0ed8034d/07e90220/")) + (tstamps "0b4e02cd")) +(comp (ref "R28") + (value "mcu_leds.led[2].res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "led[2]")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "mcu_leds.led[2].res")) + (property (name "edg_short_path") (value "mcu_leds.led[2].res")) + (property (name "edg_refdes") (value "R28")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/mcu_leds/led[2]/") (tstamps "/0ed8034d/07e90220/")) + (tstamps "0296014b")) +(comp (ref "D16") + (value "mcu_leds.led[3].package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "led[3]")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "mcu_leds.led[3].package")) + (property (name "edg_short_path") (value "mcu_leds.led[3].package")) + (property (name "edg_refdes") (value "D16")) + (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) + (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) + (sheetpath (names "/mcu_leds/led[3]/") (tstamps "/0ed8034d/07eb0221/")) + (tstamps "0b4e02cd")) +(comp (ref "R29") + (value "mcu_leds.led[3].res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "led[3]")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "mcu_leds.led[3].res")) + (property (name "edg_short_path") (value "mcu_leds.led[3].res")) + (property (name "edg_refdes") (value "R29")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/mcu_leds/led[3]/") (tstamps "/0ed8034d/07eb0221/")) + (tstamps "0296014b")) +(comp (ref "U16") + (value "usb_mcu_esd") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "usb_mcu_esd")) + (property (name "edg_short_path") (value "usb_mcu_esd")) + (property (name "edg_refdes") (value "U16")) + (property (name "edg_part") (value "PGB102ST23 (Littelfuse)")) + (property (name "edg_value") (value "PGB102ST23")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "1b85048a")) +(comp (ref "TP7") + (value "_mcu_gpio_fpga0_link") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_fpga[0].tp")) + (property (name "edg_short_path") (value "tp_fpga[0]")) + (property (name "edg_refdes") (value "TP7")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_mcu_gpio_fpga0_link")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "163903ca")) +(comp (ref "TP8") + (value "_mcu_gpio_fpga1_link") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_fpga[1].tp")) + (property (name "edg_short_path") (value "tp_fpga[1]")) + (property (name "edg_refdes") (value "TP8")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_mcu_gpio_fpga1_link")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "163b03cb")) +(comp (ref "TP9") + (value "_mcu_gpio_fpga2_link") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_fpga[2].tp")) + (property (name "edg_short_path") (value "tp_fpga[2]")) + (property (name "edg_refdes") (value "TP9")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_mcu_gpio_fpga2_link")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "163d03cc")) +(comp (ref "TP10") + (value "_mcu_gpio_fpga3_link") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_fpga[3].tp")) + (property (name "edg_short_path") (value "tp_fpga[3]")) + (property (name "edg_refdes") (value "TP10")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_mcu_gpio_fpga3_link")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "163f03cd")) +(comp (ref "TP11") + (value "_fpga_gpio_pwm_link.0L") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "pwm_filter")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.DigitalArrayTestPoint")) + (property (name "edg_path") (value "pwm_filter.tp[0L].tp")) + (property (name "edg_short_path") (value "pwm_filter.tp[0L]")) + (property (name "edg_refdes") (value "TP11")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_fpga_gpio_pwm_link.0L")) + (sheetpath (names "/pwm_filter/") (tstamps "/1753043a/")) + (tstamps "07df0219")) +(comp (ref "TP12") + (value "_fpga_gpio_pwm_link.0H") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "pwm_filter")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.DigitalArrayTestPoint")) + (property (name "edg_path") (value "pwm_filter.tp[0H].tp")) + (property (name "edg_short_path") (value "pwm_filter.tp[0H]")) + (property (name "edg_refdes") (value "TP12")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_fpga_gpio_pwm_link.0H")) + (sheetpath (names "/pwm_filter/") (tstamps "/1753043a/")) + (tstamps "07d70215")) +(comp (ref "TP13") + (value "_fpga_gpio_pwm_link.1L") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "pwm_filter")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.DigitalArrayTestPoint")) + (property (name "edg_path") (value "pwm_filter.tp[1L].tp")) + (property (name "edg_short_path") (value "pwm_filter.tp[1L]")) + (property (name "edg_refdes") (value "TP13")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_fpga_gpio_pwm_link.1L")) + (sheetpath (names "/pwm_filter/") (tstamps "/1753043a/")) + (tstamps "07e2021a")) +(comp (ref "TP14") + (value "_fpga_gpio_pwm_link.1H") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "pwm_filter")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.DigitalArrayTestPoint")) + (property (name "edg_path") (value "pwm_filter.tp[1H].tp")) + (property (name "edg_short_path") (value "pwm_filter.tp[1H]")) + (property (name "edg_refdes") (value "TP14")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_fpga_gpio_pwm_link.1H")) + (sheetpath (names "/pwm_filter/") (tstamps "/1753043a/")) + (tstamps "07da0216")) +(comp (ref "TP15") + (value "_fpga_gpio_pwm_link.2L") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "pwm_filter")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.DigitalArrayTestPoint")) + (property (name "edg_path") (value "pwm_filter.tp[2L].tp")) + (property (name "edg_short_path") (value "pwm_filter.tp[2L]")) + (property (name "edg_refdes") (value "TP15")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_fpga_gpio_pwm_link.2L")) + (sheetpath (names "/pwm_filter/") (tstamps "/1753043a/")) + (tstamps "07e5021b")) +(comp (ref "TP16") + (value "_fpga_gpio_pwm_link.2H") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "pwm_filter")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.DigitalArrayTestPoint")) + (property (name "edg_path") (value "pwm_filter.tp[2H].tp")) + (property (name "edg_short_path") (value "pwm_filter.tp[2H]")) + (property (name "edg_refdes") (value "TP16")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_fpga_gpio_pwm_link.2H")) + (sheetpath (names "/pwm_filter/") (tstamps "/1753043a/")) + (tstamps "07dd0217")) +(comp (ref "R30") + (value "tp_pwm.elts[0L].r") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "elts[0L]")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) + (property (name "edg_path") (value "tp_pwm.elts[0L].rc.r")) + (property (name "edg_short_path") (value "tp_pwm.elts[0L].r")) + (property (name "edg_refdes") (value "R30")) + (property (name "edg_part") (value "0603WAF1500T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/tp_pwm/elts[0L]/") (tstamps "/09150298/0e0c02ed/")) + (tstamps "00730073")) +(comp (ref "C61") + (value "tp_pwm.elts[0L].c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "elts[0L]")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) + (property (name "edg_path") (value "tp_pwm.elts[0L].rc.c")) + (property (name "edg_short_path") (value "tp_pwm.elts[0L].c")) + (property (name "edg_refdes") (value "C61")) + (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/tp_pwm/elts[0L]/") (tstamps "/09150298/0e0c02ed/")) + (tstamps "00640064")) +(comp (ref "R31") + (value "tp_pwm.elts[0H].r") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "elts[0H]")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) + (property (name "edg_path") (value "tp_pwm.elts[0H].rc.r")) + (property (name "edg_short_path") (value "tp_pwm.elts[0H].r")) + (property (name "edg_refdes") (value "R31")) + (property (name "edg_part") (value "0603WAF1500T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/tp_pwm/elts[0H]/") (tstamps "/09150298/0e0402e9/")) + (tstamps "00730073")) +(comp (ref "C62") + (value "tp_pwm.elts[0H].c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "elts[0H]")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) + (property (name "edg_path") (value "tp_pwm.elts[0H].rc.c")) + (property (name "edg_short_path") (value "tp_pwm.elts[0H].c")) + (property (name "edg_refdes") (value "C62")) + (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/tp_pwm/elts[0H]/") (tstamps "/09150298/0e0402e9/")) + (tstamps "00640064")) +(comp (ref "R32") + (value "tp_pwm.elts[1L].r") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "elts[1L]")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) + (property (name "edg_path") (value "tp_pwm.elts[1L].rc.r")) + (property (name "edg_short_path") (value "tp_pwm.elts[1L].r")) + (property (name "edg_refdes") (value "R32")) + (property (name "edg_part") (value "0603WAF1500T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/tp_pwm/elts[1L]/") (tstamps "/09150298/0e0f02ee/")) + (tstamps "00730073")) +(comp (ref "C63") + (value "tp_pwm.elts[1L].c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "elts[1L]")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) + (property (name "edg_path") (value "tp_pwm.elts[1L].rc.c")) + (property (name "edg_short_path") (value "tp_pwm.elts[1L].c")) + (property (name "edg_refdes") (value "C63")) + (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/tp_pwm/elts[1L]/") (tstamps "/09150298/0e0f02ee/")) + (tstamps "00640064")) +(comp (ref "R33") + (value "tp_pwm.elts[1H].r") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "elts[1H]")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) + (property (name "edg_path") (value "tp_pwm.elts[1H].rc.r")) + (property (name "edg_short_path") (value "tp_pwm.elts[1H].r")) + (property (name "edg_refdes") (value "R33")) + (property (name "edg_part") (value "0603WAF1500T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/tp_pwm/elts[1H]/") (tstamps "/09150298/0e0702ea/")) + (tstamps "00730073")) +(comp (ref "C64") + (value "tp_pwm.elts[1H].c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "elts[1H]")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) + (property (name "edg_path") (value "tp_pwm.elts[1H].rc.c")) + (property (name "edg_short_path") (value "tp_pwm.elts[1H].c")) + (property (name "edg_refdes") (value "C64")) + (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/tp_pwm/elts[1H]/") (tstamps "/09150298/0e0702ea/")) + (tstamps "00640064")) +(comp (ref "R34") + (value "tp_pwm.elts[2L].r") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "elts[2L]")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) + (property (name "edg_path") (value "tp_pwm.elts[2L].rc.r")) + (property (name "edg_short_path") (value "tp_pwm.elts[2L].r")) + (property (name "edg_refdes") (value "R34")) + (property (name "edg_part") (value "0603WAF1500T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/tp_pwm/elts[2L]/") (tstamps "/09150298/0e1202ef/")) + (tstamps "00730073")) +(comp (ref "C65") + (value "tp_pwm.elts[2L].c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "elts[2L]")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) + (property (name "edg_path") (value "tp_pwm.elts[2L].rc.c")) + (property (name "edg_short_path") (value "tp_pwm.elts[2L].c")) + (property (name "edg_refdes") (value "C65")) + (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/tp_pwm/elts[2L]/") (tstamps "/09150298/0e1202ef/")) + (tstamps "00640064")) +(comp (ref "R35") + (value "tp_pwm.elts[2H].r") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "elts[2H]")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) + (property (name "edg_path") (value "tp_pwm.elts[2H].rc.r")) + (property (name "edg_short_path") (value "tp_pwm.elts[2H].r")) + (property (name "edg_refdes") (value "R35")) + (property (name "edg_part") (value "0603WAF1500T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/tp_pwm/elts[2H]/") (tstamps "/09150298/0e0a02eb/")) + (tstamps "00730073")) +(comp (ref "C66") + (value "tp_pwm.elts[2H].c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "elts[2H]")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) + (property (name "edg_path") (value "tp_pwm.elts[2H].rc.c")) + (property (name "edg_short_path") (value "tp_pwm.elts[2H].c")) + (property (name "edg_refdes") (value "C66")) + (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/tp_pwm/elts[2H]/") (tstamps "/09150298/0e0a02eb/")) + (tstamps "00640064")) +(comp (ref "R36") + (value "conv_in_sense.top_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "conv_in_sense")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) + (property (name "edg_path") (value "conv_in_sense.div.top_res")) + (property (name "edg_short_path") (value "conv_in_sense.top_res")) + (property (name "edg_refdes") (value "R36")) + (property (name "edg_part") (value "0603WAF1202T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 12kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/conv_in_sense/") (tstamps "/25e1056a/")) + (tstamps "0c0c02fd")) +(comp (ref "R37") + (value "conv_in_sense.bottom_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "conv_in_sense")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) + (property (name "edg_path") (value "conv_in_sense.div.bottom_res")) + (property (name "edg_short_path") (value "conv_in_sense.bottom_res")) + (property (name "edg_refdes") (value "R37")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/conv_in_sense/") (tstamps "/25e1056a/")) + (tstamps "175b043f")) +(comp (ref "R38") + (value "conv_out_sense.top_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "conv_out_sense")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) + (property (name "edg_path") (value "conv_out_sense.div.top_res")) + (property (name "edg_short_path") (value "conv_out_sense.top_res")) + (property (name "edg_refdes") (value "R38")) + (property (name "edg_part") (value "0603WAF5601T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.6kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/conv_out_sense/") (tstamps "/2c6805eb/")) + (tstamps "0c0c02fd")) +(comp (ref "R39") + (value "conv_out_sense.bottom_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "conv_out_sense")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) + (property (name "edg_path") (value "conv_out_sense.div.bottom_res")) + (property (name "edg_short_path") (value "conv_out_sense.bottom_res")) + (property (name "edg_refdes") (value "R39")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/conv_out_sense/") (tstamps "/2c6805eb/")) + (tstamps "175b043f"))) +(nets +(net (code 1) (name "vusb") + (node (ref J1) (pin A4)) + (node (ref J1) (pin B9)) + (node (ref J1) (pin B4)) + (node (ref J1) (pin A9)) + (node (ref J2) (pin A4)) + (node (ref J2) (pin B9)) + (node (ref J2) (pin B4)) + (node (ref J2) (pin A9)) + (node (ref TP1) (pin 1)) + (node (ref U1) (pin 3)) + (node (ref U2) (pin 5)) + (node (ref U2) (pin 4)) + (node (ref C1) (pin 1)) + (node (ref L1) (pin 1)) + (node (ref C3) (pin 1))) +(net (code 2) (name "gnd") + (node (ref U13) (pin 3)) + (node (ref U16) (pin 3)) + (node (ref J1) (pin A1)) + (node (ref J1) (pin B12)) + (node (ref J1) (pin B1)) + (node (ref J1) (pin A12)) + (node (ref J2) (pin A1)) + (node (ref J2) (pin B12)) + (node (ref J2) (pin B1)) + (node (ref J2) (pin A12)) + (node (ref J3) (pin 1)) + (node (ref TP2) (pin 1)) + (node (ref U1) (pin 1)) + (node (ref D1) (pin 2)) + (node (ref U2) (pin 2)) + (node (ref J4) (pin 1)) + (node (ref TP6) (pin 1)) + (node (ref U10) (pin 49)) + (node (ref R16) (pin 2)) + (node (ref X1) (pin 2)) + (node (ref SW1) (pin 2)) + (node (ref U14) (pin 19)) + (node (ref U14) (pin 57)) + (node (ref SW2) (pin 2)) + (node (ref R37) (pin 2)) + (node (ref R39) (pin 2)) + (node (ref J1) (pin S1)) + (node (ref J2) (pin S1)) + (node (ref C1) (pin 2)) + (node (ref C2) (pin 2)) + (node (ref U11) (pin 2)) + (node (ref U12) (pin 4)) + (node (ref C39) (pin 2)) + (node (ref C40) (pin 2)) + (node (ref C41) (pin 2)) + (node (ref C42) (pin 2)) + (node (ref C43) (pin 2)) + (node (ref C44) (pin 2)) + (node (ref C45) (pin 2)) + (node (ref C46) (pin 2)) + (node (ref R17) (pin 2)) + (node (ref R18) (pin 2)) + (node (ref R19) (pin 2)) + (node (ref R20) (pin 2)) + (node (ref C47) (pin 2)) + (node (ref C48) (pin 2)) + (node (ref C49) (pin 2)) + (node (ref C50) (pin 2)) + (node (ref C51) (pin 2)) + (node (ref C52) (pin 2)) + (node (ref C53) (pin 2)) + (node (ref C54) (pin 2)) + (node (ref U15) (pin 4)) + (node (ref C56) (pin 2)) + (node (ref C57) (pin 2)) + (node (ref C58) (pin 2)) + (node (ref X2) (pin 2)) + (node (ref X2) (pin 4)) + (node (ref R26) (pin 2)) + (node (ref R27) (pin 2)) + (node (ref R28) (pin 2)) + (node (ref R29) (pin 2)) + (node (ref R6) (pin 2)) + (node (ref U5) (pin 4)) + (node (ref U8) (pin 4)) + (node (ref C61) (pin 2)) + (node (ref C62) (pin 2)) + (node (ref C63) (pin 2)) + (node (ref C64) (pin 2)) + (node (ref C65) (pin 2)) + (node (ref C66) (pin 2)) + (node (ref R1) (pin 1)) + (node (ref R2) (pin 1)) + (node (ref Q2) (pin 1)) + (node (ref Q2) (pin 2)) + (node (ref Q2) (pin 3)) + (node (ref J5) (pin 3)) + (node (ref J5) (pin 5)) + (node (ref J5) (pin 9)) + (node (ref J6) (pin 3)) + (node (ref J6) (pin 5)) + (node (ref J6) (pin 9)) + (node (ref C59) (pin 2)) + (node (ref C60) (pin 2)) + (node (ref R3) (pin 1)) + (node (ref R4) (pin 1)) + (node (ref C3) (pin 2)) + (node (ref C4) (pin 2)) + (node (ref U3) (pin 4)) + (node (ref C36) (pin 2)) + (node (ref C37) (pin 2)) + (node (ref C38) (pin 2)) + (node (ref C55) (pin 2)) + (node (ref C18) (pin 2)) + (node (ref C28) (pin 2)) + (node (ref C5) (pin 2)) + (node (ref C6) (pin 2)) + (node (ref C7) (pin 2)) + (node (ref C8) (pin 2)) + (node (ref C9) (pin 2)) + (node (ref C10) (pin 2)) + (node (ref C11) (pin 2)) + (node (ref C12) (pin 2)) + (node (ref C13) (pin 2))) +(net (code 3) (name "v3v3") + (node (ref U1) (pin 2)) + (node (ref TP3) (pin 1)) + (node (ref D1) (pin 1)) + (node (ref U10) (pin 22)) + (node (ref U10) (pin 33)) + (node (ref U10) (pin 1)) + (node (ref U10) (pin 24)) + (node (ref X1) (pin 1)) + (node (ref X1) (pin 4)) + (node (ref U14) (pin 1)) + (node (ref U14) (pin 10)) + (node (ref U14) (pin 22)) + (node (ref U14) (pin 33)) + (node (ref U14) (pin 42)) + (node (ref U14) (pin 49)) + (node (ref U14) (pin 44)) + (node (ref U14) (pin 43)) + (node (ref U14) (pin 48)) + (node (ref C2) (pin 1)) + (node (ref U11) (pin 1)) + (node (ref R13) (pin 1)) + (node (ref U12) (pin 8)) + (node (ref J5) (pin 1)) + (node (ref R14) (pin 1)) + (node (ref C39) (pin 1)) + (node (ref C40) (pin 1)) + (node (ref C41) (pin 1)) + (node (ref C42) (pin 1)) + (node (ref C46) (pin 1)) + (node (ref J6) (pin 1)) + (node (ref C47) (pin 1)) + (node (ref C48) (pin 1)) + (node (ref C49) (pin 1)) + (node (ref C50) (pin 1)) + (node (ref C51) (pin 1)) + (node (ref C52) (pin 1)) + (node (ref C53) (pin 1)) + (node (ref C54) (pin 1)) + (node (ref U15) (pin 8)) + (node (ref U5) (pin 1)) + (node (ref U8) (pin 1)) + (node (ref U11) (pin 3)) + (node (ref U12) (pin 3)) + (node (ref U12) (pin 7)) + (node (ref C36) (pin 1)) + (node (ref C38) (pin 1)) + (node (ref C55) (pin 1)) + (node (ref C18) (pin 1)) + (node (ref C28) (pin 1))) +(net (code 4) (name "vgate") + (node (ref TP4) (pin 1)) + (node (ref D2) (pin 1)) + (node (ref R5) (pin 1)) + (node (ref C4) (pin 1)) + (node (ref U3) (pin 1)) + (node (ref C13) (pin 1)) + (node (ref D4) (pin 2))) +(net (code 5) (name "conv.pwr_in") + (node (ref J3) (pin 2)) + (node (ref R36) (pin 1)) + (node (ref Q1) (pin 5)) + (node (ref Q1) (pin 6)) + (node (ref Q1) (pin 7)) + (node (ref Q1) (pin 8)) + (node (ref C5) (pin 1)) + (node (ref C6) (pin 1)) + (node (ref C7) (pin 1)) + (node (ref C8) (pin 1)) + (node (ref C9) (pin 1))) +(net (code 6) (name "conv.pwr_out") + (node (ref J4) (pin 2)) + (node (ref TP5) (pin 1)) + (node (ref R38) (pin 1)) + (node (ref L2) (pin 2)) + (node (ref C10) (pin 1)) + (node (ref C11) (pin 1)) + (node (ref C12) (pin 1))) +(net (code 7) (name "fpga.cdone") + (node (ref U10) (pin 7)) + (node (ref D8) (pin 2))) +(net (code 8) (name "fpga_osc.out") + (node (ref X1) (pin 3)) + (node (ref U10) (pin 37))) +(net (code 9) (name "fpga_sw.out") + (node (ref U10) (pin 32)) + (node (ref SW1) (pin 1))) +(net (code 10) (name "fpga.gpio.led_0") + (node (ref U10) (pin 21)) + (node (ref D9) (pin 2))) +(net (code 11) (name "fpga.gpio.led_1") + (node (ref U10) (pin 20)) + (node (ref D10) (pin 2))) +(net (code 12) (name "fpga.gpio.led_2") + (node (ref U10) (pin 19)) + (node (ref D11) (pin 2))) +(net (code 13) (name "fpga.gpio.led_3") + (node (ref U10) (pin 18)) + (node (ref D12) (pin 2))) +(net (code 14) (name "usb_fpga_bitbang.dp_pull") + (node (ref U10) (pin 27)) + (node (ref R21) (pin 1))) +(net (code 15) (name "usb_fpga_bitbang.dp") + (node (ref U10) (pin 26)) + (node (ref R22) (pin 1))) +(net (code 16) (name "usb_fpga_bitbang.dm") + (node (ref U10) (pin 25)) + (node (ref R23) (pin 1))) +(net (code 17) (name "usb_fpga_chain_0.d_P") + (node (ref U13) (pin 2)) + (node (ref J2) (pin A6)) + (node (ref J2) (pin B6)) + (node (ref R22) (pin 2)) + (node (ref R21) (pin 2))) +(net (code 18) (name "usb_fpga_chain_0.d_N") + (node (ref U13) (pin 1)) + (node (ref J2) (pin A7)) + (node (ref J2) (pin B7)) + (node (ref R23) (pin 2))) +(net (code 19) (name "mcu_sw.out") + (node (ref U14) (pin 29)) + (node (ref SW2) (pin 1))) +(net (code 20) (name "mcu.gpio.led_0") + (node (ref U14) (pin 34)) + (node (ref D13) (pin 2))) +(net (code 21) (name "mcu.gpio.led_1") + (node (ref U14) (pin 35)) + (node (ref D14) (pin 2))) +(net (code 22) (name "mcu.gpio.led_2") + (node (ref U14) (pin 36)) + (node (ref D15) (pin 2))) +(net (code 23) (name "mcu.gpio.led_3") + (node (ref U14) (pin 37)) + (node (ref D16) (pin 2))) +(net (code 24) (name "usb_mcu_chain_0.d_P") + (node (ref U16) (pin 2)) + (node (ref J1) (pin A6)) + (node (ref J1) (pin B6)) + (node (ref R24) (pin 2))) +(net (code 25) (name "usb_mcu_chain_0.d_N") + (node (ref U16) (pin 1)) + (node (ref J1) (pin A7)) + (node (ref J1) (pin B7)) + (node (ref R25) (pin 2))) +(net (code 26) (name "tp_fpga[0].io") + (node (ref U14) (pin 14)) + (node (ref U10) (pin 2)) + (node (ref TP7) (pin 1))) +(net (code 27) (name "tp_fpga[1].io") + (node (ref U14) (pin 13)) + (node (ref U10) (pin 3)) + (node (ref TP8) (pin 1))) +(net (code 28) (name "tp_fpga[2].io") + (node (ref U14) (pin 12)) + (node (ref U10) (pin 4)) + (node (ref TP9) (pin 1))) +(net (code 29) (name "tp_fpga[3].io") + (node (ref U14) (pin 11)) + (node (ref U10) (pin 6)) + (node (ref TP10) (pin 1))) +(net (code 30) (name "fpga.gpio.pwm_0L") + (node (ref U10) (pin 47)) + (node (ref TP11) (pin 1)) + (node (ref R30) (pin 1))) +(net (code 31) (name "fpga.gpio.pwm_0H") + (node (ref U10) (pin 48)) + (node (ref TP12) (pin 1)) + (node (ref R31) (pin 1))) +(net (code 32) (name "fpga.gpio.pwm_1L") + (node (ref U10) (pin 45)) + (node (ref TP13) (pin 1)) + (node (ref R32) (pin 1))) +(net (code 33) (name "fpga.gpio.pwm_1H") + (node (ref U10) (pin 46)) + (node (ref TP14) (pin 1)) + (node (ref R33) (pin 1))) +(net (code 34) (name "fpga.gpio.pwm_2L") + (node (ref U10) (pin 43)) + (node (ref TP15) (pin 1)) + (node (ref R34) (pin 1))) +(net (code 35) (name "fpga.gpio.pwm_2H") + (node (ref U10) (pin 44)) + (node (ref TP16) (pin 1)) + (node (ref R35) (pin 1))) +(net (code 36) (name "tp_pwm.output.0L") + (node (ref U3) (pin 3)) + (node (ref R30) (pin 2)) + (node (ref C61) (pin 1))) +(net (code 37) (name "tp_pwm.output.0H") + (node (ref U3) (pin 2)) + (node (ref R31) (pin 2)) + (node (ref C62) (pin 1))) +(net (code 38) (name "tp_pwm.output.1L") + (node (ref U5) (pin 3)) + (node (ref R32) (pin 2)) + (node (ref C63) (pin 1))) +(net (code 39) (name "tp_pwm.output.1H") + (node (ref U5) (pin 2)) + (node (ref R33) (pin 2)) + (node (ref C64) (pin 1))) +(net (code 40) (name "tp_pwm.output.2L") + (node (ref U8) (pin 3)) + (node (ref R34) (pin 2)) + (node (ref C65) (pin 1))) +(net (code 41) (name "tp_pwm.output.2H") + (node (ref U8) (pin 2)) + (node (ref R35) (pin 2)) + (node (ref C66) (pin 1))) +(net (code 42) (name "conv_in_sense.output") + (node (ref U14) (pin 38)) + (node (ref R36) (pin 2)) + (node (ref R37) (pin 1))) +(net (code 43) (name "conv_out_sense.output") + (node (ref U14) (pin 39)) + (node (ref R38) (pin 2)) + (node (ref R39) (pin 1))) +(net (code 44) (name "usb_mcu.conn.cc.cc1") + (node (ref J1) (pin A5)) + (node (ref R1) (pin 2))) +(net (code 45) (name "usb_mcu.conn.cc.cc2") + (node (ref J1) (pin B5)) + (node (ref R2) (pin 2))) +(net (code 46) (name "usb_fpga.conn.cc.cc1") + (node (ref J2) (pin A5)) + (node (ref R3) (pin 2))) +(net (code 47) (name "usb_fpga.conn.cc.cc2") + (node (ref J2) (pin B5)) + (node (ref R4) (pin 2))) +(net (code 48) (name "reg_vgate.fb.output") + (node (ref U2) (pin 3)) + (node (ref R5) (pin 2)) + (node (ref R6) (pin 1))) +(net (code 49) (name "reg_vgate.power_path.switch") + (node (ref U2) (pin 1)) + (node (ref L1) (pin 2)) + (node (ref D2) (pin 2))) +(net (code 50) (name "conv.sw[0].low_out") + (node (ref Q2) (pin 5)) + (node (ref Q2) (pin 6)) + (node (ref Q2) (pin 7)) + (node (ref Q2) (pin 8)) + (node (ref Q4) (pin 1)) + (node (ref Q4) (pin 2)) + (node (ref Q4) (pin 3)) + (node (ref C25) (pin 2)) + (node (ref U4) (pin 2)) + (node (ref U5) (pin 5)) + (node (ref U6) (pin 4)) + (node (ref C22) (pin 2)) + (node (ref C23) (pin 2)) + (node (ref C16) (pin 2)) + (node (ref C17) (pin 2)) + (node (ref C19) (pin 2)) + (node (ref C20) (pin 2))) +(net (code 51) (name "conv.sw[1].high_in") + (node (ref Q3) (pin 5)) + (node (ref Q3) (pin 6)) + (node (ref Q3) (pin 7)) + (node (ref Q3) (pin 8)) + (node (ref C22) (pin 1)) + (node (ref C23) (pin 1)) + (node (ref Q1) (pin 1)) + (node (ref Q1) (pin 2)) + (node (ref Q1) (pin 3)) + (node (ref C15) (pin 2)) + (node (ref U3) (pin 6)) + (node (ref C14) (pin 2))) +(net (code 52) (name "conv.sw[1].high_boot_out") + (node (ref D3) (pin 2)) + (node (ref C24) (pin 1)) + (node (ref D5) (pin 1)) + (node (ref U6) (pin 8)) + (node (ref C21) (pin 1))) +(net (code 53) (name "conv.sw[1].low_out") + (node (ref Q4) (pin 5)) + (node (ref Q4) (pin 6)) + (node (ref Q4) (pin 7)) + (node (ref Q4) (pin 8)) + (node (ref Q6) (pin 1)) + (node (ref Q6) (pin 2)) + (node (ref Q6) (pin 3)) + (node (ref C35) (pin 2)) + (node (ref U7) (pin 2)) + (node (ref U8) (pin 5)) + (node (ref U9) (pin 4)) + (node (ref C32) (pin 2)) + (node (ref C33) (pin 2)) + (node (ref C26) (pin 2)) + (node (ref C27) (pin 2)) + (node (ref C29) (pin 2)) + (node (ref C30) (pin 2))) +(net (code 54) (name "conv.sw[2].high_in") + (node (ref Q5) (pin 5)) + (node (ref Q5) (pin 6)) + (node (ref Q5) (pin 7)) + (node (ref Q5) (pin 8)) + (node (ref C32) (pin 1)) + (node (ref C33) (pin 1)) + (node (ref Q3) (pin 1)) + (node (ref Q3) (pin 2)) + (node (ref Q3) (pin 3)) + (node (ref C24) (pin 2)) + (node (ref U6) (pin 6)) + (node (ref C21) (pin 2))) +(net (code 55) (name "conv.sw[2].low_boot_in") + (node (ref D6) (pin 2)) + (node (ref C25) (pin 1)) + (node (ref D4) (pin 1)) + (node (ref U4) (pin 1)) + (node (ref U6) (pin 1)) + (node (ref U4) (pin 3)) + (node (ref C16) (pin 1)) + (node (ref C20) (pin 1))) +(net (code 56) (name "conv.sw[2].high_boot_out") + (node (ref D5) (pin 2)) + (node (ref C34) (pin 1)) + (node (ref D7) (pin 1)) + (node (ref U9) (pin 8)) + (node (ref C31) (pin 1))) +(net (code 57) (name "conv.sw[2].low_boot_out") + (node (ref D7) (pin 2)) + (node (ref C35) (pin 1)) + (node (ref D6) (pin 1)) + (node (ref U7) (pin 1)) + (node (ref U9) (pin 1)) + (node (ref U7) (pin 3)) + (node (ref C26) (pin 1)) + (node (ref C30) (pin 1))) +(net (code 58) (name "conv.sw_merge") + (node (ref Q6) (pin 5)) + (node (ref Q6) (pin 6)) + (node (ref Q6) (pin 7)) + (node (ref Q6) (pin 8)) + (node (ref L2) (pin 1)) + (node (ref Q5) (pin 1)) + (node (ref Q5) (pin 2)) + (node (ref Q5) (pin 3)) + (node (ref C34) (pin 2)) + (node (ref U9) (pin 6)) + (node (ref C31) (pin 2))) +(net (code 59) (name "conv.sw[0].high_gate_res.a") + (node (ref R7) (pin 1)) + (node (ref U3) (pin 7))) +(net (code 60) (name "conv.sw[0].high_gate_res.b") + (node (ref R7) (pin 2)) + (node (ref Q1) (pin 4))) +(net (code 61) (name "conv.sw[0].low_gate_res.a") + (node (ref R8) (pin 1)) + (node (ref U3) (pin 5))) +(net (code 62) (name "conv.sw[0].low_gate_res.b") + (node (ref R8) (pin 2)) + (node (ref Q2) (pin 4))) +(net (code 63) (name "conv.sw[0].high_boot_cap.pos") + (node (ref C15) (pin 1)) + (node (ref D3) (pin 1)) + (node (ref U3) (pin 8)) + (node (ref C14) (pin 1))) +(net (code 64) (name "conv.sw[1].iso.pwr_b") + (node (ref U5) (pin 8)) + (node (ref U4) (pin 5)) + (node (ref C19) (pin 1)) + (node (ref C17) (pin 1))) +(net (code 65) (name "conv.sw[1].driver.high_in") + (node (ref U6) (pin 2)) + (node (ref U5) (pin 7))) +(net (code 66) (name "conv.sw[1].driver.low_in") + (node (ref U6) (pin 3)) + (node (ref U5) (pin 6))) +(net (code 67) (name "conv.sw[1].high_gate_res.a") + (node (ref R9) (pin 1)) + (node (ref U6) (pin 7))) +(net (code 68) (name "conv.sw[1].high_gate_res.b") + (node (ref R9) (pin 2)) + (node (ref Q3) (pin 4))) +(net (code 69) (name "conv.sw[1].low_gate_res.a") + (node (ref R10) (pin 1)) + (node (ref U6) (pin 5))) +(net (code 70) (name "conv.sw[1].low_gate_res.b") + (node (ref R10) (pin 2)) + (node (ref Q4) (pin 4))) +(net (code 71) (name "conv.sw[2].iso.pwr_b") + (node (ref U8) (pin 8)) + (node (ref U7) (pin 5)) + (node (ref C29) (pin 1)) + (node (ref C27) (pin 1))) +(net (code 72) (name "conv.sw[2].driver.high_in") + (node (ref U9) (pin 2)) + (node (ref U8) (pin 7))) +(net (code 73) (name "conv.sw[2].driver.low_in") + (node (ref U9) (pin 3)) + (node (ref U8) (pin 6))) +(net (code 74) (name "conv.sw[2].high_gate_res.a") + (node (ref R11) (pin 1)) + (node (ref U9) (pin 7))) +(net (code 75) (name "conv.sw[2].high_gate_res.b") + (node (ref R11) (pin 2)) + (node (ref Q5) (pin 4))) +(net (code 76) (name "conv.sw[2].low_gate_res.a") + (node (ref R12) (pin 1)) + (node (ref U9) (pin 5))) +(net (code 77) (name "conv.sw[2].low_gate_res.b") + (node (ref R12) (pin 2)) + (node (ref Q6) (pin 4))) +(net (code 78) (name "fpga.ic.creset_b") + (node (ref U10) (pin 8)) + (node (ref R13) (pin 2)) + (node (ref J5) (pin 10))) +(net (code 79) (name "fpga.ic.spi_config.sck") + (node (ref U10) (pin 15)) + (node (ref U12) (pin 6)) + (node (ref J5) (pin 4))) +(net (code 80) (name "fpga.ic.spi_config.mosi") + (node (ref U10) (pin 14)) + (node (ref U12) (pin 5)) + (node (ref J5) (pin 6))) +(net (code 81) (name "fpga.ic.spi_config.miso") + (node (ref U10) (pin 17)) + (node (ref U12) (pin 2)) + (node (ref J5) (pin 8))) +(net (code 82) (name "fpga.ic.spi_config_cs") + (node (ref U10) (pin 16)) + (node (ref J5) (pin 2)) + (node (ref JP1) (pin 1))) +(net (code 83) (name "fpga.cs_jmp.output") + (node (ref JP1) (pin 2)) + (node (ref R14) (pin 2)) + (node (ref U12) (pin 1))) +(net (code 84) (name "fpga.vcc_reg.pwr_out") + (node (ref U10) (pin 5)) + (node (ref U10) (pin 30)) + (node (ref U11) (pin 5)) + (node (ref R15) (pin 1)) + (node (ref C43) (pin 1)) + (node (ref C37) (pin 1))) +(net (code 85) (name "fpga.pll_res.pwr_out") + (node (ref U10) (pin 29)) + (node (ref R15) (pin 2)) + (node (ref C44) (pin 1)) + (node (ref C45) (pin 1))) +(net (code 86) (name "cdone.res.a") + (node (ref R16) (pin 1)) + (node (ref D8) (pin 1))) +(net (code 87) (name "fpga_led.led[0].res.a") + (node (ref R17) (pin 1)) + (node (ref D9) (pin 1))) +(net (code 88) (name "fpga_led.led[1].res.a") + (node (ref R18) (pin 1)) + (node (ref D10) (pin 1))) +(net (code 89) (name "fpga_led.led[2].res.a") + (node (ref R19) (pin 1)) + (node (ref D11) (pin 1))) +(net (code 90) (name "fpga_led.led[3].res.a") + (node (ref R20) (pin 1)) + (node (ref D12) (pin 1))) +(net (code 91) (name "mcu.xtal_node.xi") + (node (ref U14) (pin 20)) + (node (ref X2) (pin 1)) + (node (ref C59) (pin 1))) +(net (code 92) (name "mcu.xtal_node.xo") + (node (ref U14) (pin 21)) + (node (ref X2) (pin 3)) + (node (ref C60) (pin 1))) +(net (code 93) (name "mcu.swd_node.swdio") + (node (ref U14) (pin 25)) + (node (ref J6) (pin 2))) +(net (code 94) (name "mcu.swd_node.swclk") + (node (ref U14) (pin 24)) + (node (ref J6) (pin 4))) +(net (code 95) (name "mcu.reset_node") + (node (ref U14) (pin 26)) + (node (ref J6) (pin 10))) +(net (code 96) (name "mcu.ic.qspi.sck") + (node (ref U14) (pin 52)) + (node (ref U15) (pin 6))) +(net (code 97) (name "mcu.ic.qspi.mosi") + (node (ref U14) (pin 53)) + (node (ref U15) (pin 5))) +(net (code 98) (name "mcu.ic.qspi.miso") + (node (ref U14) (pin 55)) + (node (ref U15) (pin 2))) +(net (code 99) (name "mcu.ic.qspi_cs") + (node (ref U14) (pin 56)) + (node (ref U15) (pin 1))) +(net (code 100) (name "mcu.ic.qspi_sd2") + (node (ref U14) (pin 54)) + (node (ref U15) (pin 3))) +(net (code 101) (name "mcu.ic.qspi_sd3") + (node (ref U14) (pin 51)) + (node (ref U15) (pin 7))) +(net (code 102) (name "mcu.ic.vreg_vout") + (node (ref U14) (pin 45)) + (node (ref U14) (pin 23)) + (node (ref U14) (pin 50)) + (node (ref C56) (pin 1)) + (node (ref C57) (pin 1)) + (node (ref C58) (pin 1))) +(net (code 103) (name "mcu.usb_chain_0.d_P") + (node (ref U14) (pin 47)) + (node (ref R24) (pin 1))) +(net (code 104) (name "mcu.usb_chain_0.d_N") + (node (ref U14) (pin 46)) + (node (ref R25) (pin 1))) +(net (code 105) (name "mcu.swd.swo") + (node (ref U14) (pin 2)) + (node (ref J6) (pin 6))) +(net (code 106) (name "mcu.swd.tdi") + (node (ref U14) (pin 3)) + (node (ref J6) (pin 8))) +(net (code 107) (name "mcu_leds.led[0].res.a") + (node (ref R26) (pin 1)) + (node (ref D13) (pin 1))) +(net (code 108) (name "mcu_leds.led[1].res.a") + (node (ref R27) (pin 1)) + (node (ref D14) (pin 1))) +(net (code 109) (name "mcu_leds.led[2].res.a") + (node (ref R28) (pin 1)) + (node (ref D15) (pin 1))) +(net (code 110) (name "mcu_leds.led[3].res.a") + (node (ref R29) (pin 1)) + (node (ref D16) (pin 1)))) +) \ No newline at end of file diff --git a/examples/Fcml/Fcml.svgpcb.js b/examples/Fcml/Fcml.svgpcb.js new file mode 100644 index 000000000..f0ce4623d --- /dev/null +++ b/examples/Fcml/Fcml.svgpcb.js @@ -0,0 +1,1030 @@ +const board = new PCB(); + +// jlc_th.th1 +const H1 = board.add(JlcToolingHole_1_152mm, { + translate: pt(3.599, 2.702), rotate: 0, + id: 'H1' +}) +// jlc_th.th2 +const H2 = board.add(JlcToolingHole_1_152mm, { + translate: pt(3.638, 2.702), rotate: 0, + id: 'H2' +}) +// jlc_th.th3 +const H3 = board.add(JlcToolingHole_1_152mm, { + translate: pt(3.599, 2.742), rotate: 0, + id: 'H3' +}) +// usb_mcu.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { + translate: pt(1.237, 1.501), rotate: 0, + id: 'J1' +}) +// usb_mcu.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { + translate: pt(1.086, 1.756), rotate: 0, + id: 'R1' +}) +// usb_mcu.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { + translate: pt(1.242, 1.756), rotate: 0, + id: 'R2' +}) +// usb_fpga.conn +const J2 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { + translate: pt(1.774, 1.501), rotate: 0, + id: 'J2' +}) +// usb_fpga.cc_pull.cc1.res +const R3 = board.add(R_0603_1608Metric, { + translate: pt(1.623, 1.756), rotate: 0, + id: 'R3' +}) +// usb_fpga.cc_pull.cc2.res +const R4 = board.add(R_0603_1608Metric, { + translate: pt(1.779, 1.756), rotate: 0, + id: 'R4' +}) +// conv_in.conn +const J3 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { + translate: pt(2.596, 2.365), rotate: 0, + id: 'J3' +}) +// tp_vusb.tp +const TP1 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.535, 2.740), rotate: 0, + id: 'TP1' +}) +// tp_gnd.tp +const TP2 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.786, 2.740), rotate: 0, + id: 'TP2' +}) +// reg_3v3.ic +const U1 = board.add(SOT_223_3_TabPin2, { + translate: pt(2.275, 1.478), rotate: 0, + id: 'U1' +}) +// reg_3v3.in_cap.cap +const C1 = board.add(C_0603_1608Metric, { + translate: pt(2.333, 1.688), rotate: 0, + id: 'C1' +}) +// reg_3v3.out_cap.cap +const C2 = board.add(C_0805_2012Metric, { + translate: pt(2.169, 1.698), rotate: 0, + id: 'C2' +}) +// tp_3v3.tp +const TP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.036, 2.740), rotate: 0, + id: 'TP3' +}) +// prot_3v3.diode +const D1 = board.add(D_SOD_323, { + translate: pt(1.284, 2.740), rotate: 0, + id: 'D1' +}) +// reg_vgate.ic +const U2 = board.add(SOT_23_5, { + translate: pt(2.828, 1.403), rotate: 0, + id: 'U2' +}) +// reg_vgate.fb.div.top_res +const R5 = board.add(R_0603_1608Metric, { + translate: pt(2.624, 1.659), rotate: 0, + id: 'R5' +}) +// reg_vgate.fb.div.bottom_res +const R6 = board.add(R_0603_1608Metric, { + translate: pt(2.780, 1.659), rotate: 0, + id: 'R6' +}) +// reg_vgate.power_path.inductor +const L1 = board.add(L_Sunlord_SWPA3012S, { + translate: pt(2.637, 1.406), rotate: 0, + id: 'L1' +}) +// reg_vgate.power_path.in_cap.cap +const C3 = board.add(C_0805_2012Metric, { + translate: pt(2.633, 1.553), rotate: 0, + id: 'C3' +}) +// reg_vgate.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { + translate: pt(2.806, 1.553), rotate: 0, + id: 'C4' +}) +// reg_vgate.rect +const D2 = board.add(D_SOD_323, { + translate: pt(2.976, 1.552), rotate: 0, + id: 'D2' +}) +// tp_vgate.tp +const TP4 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.531, 2.740), rotate: 0, + id: 'TP4' +}) +// conv.power_path.inductor +const L2 = board.add(L_Sunlord_SWRB1207S, { + translate: pt(0.262, 0.256), rotate: 0, + id: 'L2' +}) +// conv.power_path.in_cap.cap.c[0] +const C5 = board.add(C_1206_3216Metric, { + translate: pt(1.484, 0.597), rotate: 0, + id: 'C5' +}) +// conv.power_path.in_cap.cap.c[1] +const C6 = board.add(C_1206_3216Metric, { + translate: pt(1.705, 0.597), rotate: 0, + id: 'C6' +}) +// conv.power_path.in_cap.cap.c[2] +const C7 = board.add(C_1206_3216Metric, { + translate: pt(0.091, 0.849), rotate: 0, + id: 'C7' +}) +// conv.power_path.in_cap.cap.c[3] +const C8 = board.add(C_1206_3216Metric, { + translate: pt(0.311, 0.849), rotate: 0, + id: 'C8' +}) +// conv.power_path.in_cap.cap.c[4] +const C9 = board.add(C_1206_3216Metric, { + translate: pt(0.531, 0.849), rotate: 0, + id: 'C9' +}) +// conv.power_path.out_cap.cap.c[0] +const C10 = board.add(C_1206_3216Metric, { + translate: pt(0.752, 0.849), rotate: 0, + id: 'C10' +}) +// conv.power_path.out_cap.cap.c[1] +const C11 = board.add(C_1206_3216Metric, { + translate: pt(0.972, 0.849), rotate: 0, + id: 'C11' +}) +// conv.power_path.out_cap.cap.c[2] +const C12 = board.add(C_1206_3216Metric, { + translate: pt(1.193, 0.849), rotate: 0, + id: 'C12' +}) +// conv.sw[0].driver.ic +const U3 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(0.709, 0.106), rotate: 0, + id: 'U3' +}) +// conv.sw[0].driver.cap.cap +const C13 = board.add(C_0603_1608Metric, { + translate: pt(1.769, 0.963), rotate: 0, + id: 'C13' +}) +// conv.sw[0].driver.high_cap.cap +const C14 = board.add(C_0603_1608Metric, { + translate: pt(0.058, 1.093), rotate: 0, + id: 'C14' +}) +// conv.sw[0].high_gate_res +const R7 = board.add(R_0603_1608Metric, { + translate: pt(0.214, 1.093), rotate: 0, + id: 'R7' +}) +// conv.sw[0].low_gate_res +const R8 = board.add(R_0603_1608Metric, { + translate: pt(0.370, 1.093), rotate: 0, + id: 'R8' +}) +// conv.sw[0].high_fet +const Q1 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(1.039, 0.106), rotate: 0, + id: 'Q1' +}) +// conv.sw[0].low_fet +const Q2 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(1.370, 0.106), rotate: 0, + id: 'Q2' +}) +// conv.sw[0].high_boot_cap +const C15 = board.add(C_0603_1608Metric, { + translate: pt(0.526, 1.093), rotate: 0, + id: 'C15' +}) +// conv.sw[0].high_boot_diode.diode +const D3 = board.add(D_SOD_323, { + translate: pt(0.945, 0.971), rotate: 0, + id: 'D3' +}) +// conv.sw[1].ldo.ic +const U4 = board.add(SOT_23_5, { + translate: pt(1.073, 0.619), rotate: 0, + id: 'U4' +}) +// conv.sw[1].ldo.in_cap.cap +const C16 = board.add(C_0603_1608Metric, { + translate: pt(0.682, 1.093), rotate: 0, + id: 'C16' +}) +// conv.sw[1].ldo.out_cap.cap +const C17 = board.add(C_1206_3216Metric, { + translate: pt(1.413, 0.849), rotate: 0, + id: 'C17' +}) +// conv.sw[1].iso.ic +const U5 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(1.701, 0.106), rotate: 0, + id: 'U5' +}) +// conv.sw[1].iso.cap_a.cap +const C18 = board.add(C_0603_1608Metric, { + translate: pt(0.838, 1.093), rotate: 0, + id: 'C18' +}) +// conv.sw[1].iso.cap_b.cap +const C19 = board.add(C_0603_1608Metric, { + translate: pt(0.994, 1.093), rotate: 0, + id: 'C19' +}) +// conv.sw[1].driver.ic +const U6 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(0.709, 0.358), rotate: 0, + id: 'U6' +}) +// conv.sw[1].driver.cap.cap +const C20 = board.add(C_0603_1608Metric, { + translate: pt(1.150, 1.093), rotate: 0, + id: 'C20' +}) +// conv.sw[1].driver.high_cap.cap +const C21 = board.add(C_0603_1608Metric, { + translate: pt(1.306, 1.093), rotate: 0, + id: 'C21' +}) +// conv.sw[1].high_gate_res +const R9 = board.add(R_0603_1608Metric, { + translate: pt(1.461, 1.093), rotate: 0, + id: 'R9' +}) +// conv.sw[1].cap.c[0] +const C22 = board.add(C_1206_3216Metric, { + translate: pt(1.634, 0.849), rotate: 0, + id: 'C22' +}) +// conv.sw[1].cap.c[1] +const C23 = board.add(C_1206_3216Metric, { + translate: pt(0.091, 0.979), rotate: 0, + id: 'C23' +}) +// conv.sw[1].low_gate_res +const R10 = board.add(R_0603_1608Metric, { + translate: pt(1.617, 1.093), rotate: 0, + id: 'R10' +}) +// conv.sw[1].high_fet +const Q3 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(1.039, 0.358), rotate: 0, + id: 'Q3' +}) +// conv.sw[1].low_fet +const Q4 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(1.370, 0.358), rotate: 0, + id: 'Q4' +}) +// conv.sw[1].low_boot_diode.diode +const D4 = board.add(D_SOD_323, { + translate: pt(1.111, 0.971), rotate: 0, + id: 'D4' +}) +// conv.sw[1].high_boot_cap +const C24 = board.add(C_0603_1608Metric, { + translate: pt(1.773, 1.093), rotate: 0, + id: 'C24' +}) +// conv.sw[1].low_boot_cap +const C25 = board.add(C_0603_1608Metric, { + translate: pt(0.058, 1.189), rotate: 0, + id: 'C25' +}) +// conv.sw[1].high_boot_diode.diode +const D5 = board.add(D_SOD_323, { + translate: pt(1.277, 0.971), rotate: 0, + id: 'D5' +}) +// conv.sw[2].ldo.ic +const U7 = board.add(SOT_23_5, { + translate: pt(1.274, 0.619), rotate: 0, + id: 'U7' +}) +// conv.sw[2].ldo.in_cap.cap +const C26 = board.add(C_0603_1608Metric, { + translate: pt(0.214, 1.189), rotate: 0, + id: 'C26' +}) +// conv.sw[2].ldo.out_cap.cap +const C27 = board.add(C_1206_3216Metric, { + translate: pt(0.311, 0.979), rotate: 0, + id: 'C27' +}) +// conv.sw[2].iso.ic +const U8 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(1.701, 0.358), rotate: 0, + id: 'U8' +}) +// conv.sw[2].iso.cap_a.cap +const C28 = board.add(C_0603_1608Metric, { + translate: pt(0.370, 1.189), rotate: 0, + id: 'C28' +}) +// conv.sw[2].iso.cap_b.cap +const C29 = board.add(C_0603_1608Metric, { + translate: pt(0.526, 1.189), rotate: 0, + id: 'C29' +}) +// conv.sw[2].driver.ic +const U9 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(0.146, 0.658), rotate: 0, + id: 'U9' +}) +// conv.sw[2].driver.cap.cap +const C30 = board.add(C_0603_1608Metric, { + translate: pt(0.682, 1.189), rotate: 0, + id: 'C30' +}) +// conv.sw[2].driver.high_cap.cap +const C31 = board.add(C_0603_1608Metric, { + translate: pt(0.838, 1.189), rotate: 0, + id: 'C31' +}) +// conv.sw[2].high_gate_res +const R11 = board.add(R_0603_1608Metric, { + translate: pt(0.994, 1.189), rotate: 0, + id: 'R11' +}) +// conv.sw[2].cap.c[0] +const C32 = board.add(C_1206_3216Metric, { + translate: pt(0.531, 0.979), rotate: 0, + id: 'C32' +}) +// conv.sw[2].cap.c[1] +const C33 = board.add(C_1206_3216Metric, { + translate: pt(0.752, 0.979), rotate: 0, + id: 'C33' +}) +// conv.sw[2].low_gate_res +const R12 = board.add(R_0603_1608Metric, { + translate: pt(1.150, 1.189), rotate: 0, + id: 'R12' +}) +// conv.sw[2].high_fet +const Q5 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(0.476, 0.658), rotate: 0, + id: 'Q5' +}) +// conv.sw[2].low_fet +const Q6 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(0.807, 0.658), rotate: 0, + id: 'Q6' +}) +// conv.sw[2].low_boot_diode.diode +const D6 = board.add(D_SOD_323, { + translate: pt(1.443, 0.971), rotate: 0, + id: 'D6' +}) +// conv.sw[2].high_boot_cap +const C34 = board.add(C_0603_1608Metric, { + translate: pt(1.306, 1.189), rotate: 0, + id: 'C34' +}) +// conv.sw[2].low_boot_cap +const C35 = board.add(C_0603_1608Metric, { + translate: pt(1.461, 1.189), rotate: 0, + id: 'C35' +}) +// conv.sw[2].high_boot_diode.diode +const D7 = board.add(D_SOD_323, { + translate: pt(1.608, 0.971), rotate: 0, + id: 'D7' +}) +// conv_out.conn +const J4 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { + translate: pt(2.986, 2.365), rotate: 0, + id: 'J4' +}) +// tp_conv_out.tp +const TP5 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.781, 2.740), rotate: 0, + id: 'TP5' +}) +// tp_conv_gnd.tp +const TP6 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.032, 2.740), rotate: 0, + id: 'TP6' +}) +// fpga.ic +const U10 = board.add(QFN_48_1EP_7x7mm_P0_5mm_EP5_3x5_3mm, { + translate: pt(0.161, 1.498), rotate: 0, + id: 'U10' +}) +// fpga.vcc_reg.ic +const U11 = board.add(SOT_23_5, { + translate: pt(0.486, 1.765), rotate: 0, + id: 'U11' +}) +// fpga.vcc_reg.in_cap.cap +const C36 = board.add(C_0603_1608Metric, { + translate: pt(0.058, 1.992), rotate: 0, + id: 'C36' +}) +// fpga.vcc_reg.out_cap.cap +const C37 = board.add(C_0603_1608Metric, { + translate: pt(0.214, 1.992), rotate: 0, + id: 'C37' +}) +// fpga.reset_pu.res +const R13 = board.add(R_0603_1608Metric, { + translate: pt(0.370, 1.992), rotate: 0, + id: 'R13' +}) +// fpga.mem.ic +const U12 = board.add(SOIC_8_5_23x5_23mm_P1_27mm, { + translate: pt(0.183, 1.811), rotate: 0, + id: 'U12' +}) +// fpga.mem.vcc_cap.cap +const C38 = board.add(C_0603_1608Metric, { + translate: pt(0.526, 1.992), rotate: 0, + id: 'C38' +}) +// fpga.prog.conn +const J5 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { + translate: pt(0.531, 1.482), rotate: 0, + id: 'J5' +}) +// fpga.cs_jmp.device +const JP1 = board.add(SolderJumper_2_P1_3mm_Open_TrianglePad1_0x1_5mm, { + translate: pt(0.671, 1.748), rotate: 0, + id: 'JP1' +}) +// fpga.mem_pu.res +const R14 = board.add(R_0603_1608Metric, { + translate: pt(0.682, 1.992), rotate: 0, + id: 'R14' +}) +// fpga.vio_cap0.cap +const C39 = board.add(C_0603_1608Metric, { + translate: pt(0.838, 1.992), rotate: 0, + id: 'C39' +}) +// fpga.vio_cap1.cap +const C40 = board.add(C_0603_1608Metric, { + translate: pt(0.058, 2.089), rotate: 0, + id: 'C40' +}) +// fpga.vio_cap2.cap +const C41 = board.add(C_0603_1608Metric, { + translate: pt(0.214, 2.089), rotate: 0, + id: 'C41' +}) +// fpga.vpp_cap.cap +const C42 = board.add(C_0603_1608Metric, { + translate: pt(0.370, 2.089), rotate: 0, + id: 'C42' +}) +// fpga.pll_res.res +const R15 = board.add(R_0603_1608Metric, { + translate: pt(0.526, 2.089), rotate: 0, + id: 'R15' +}) +// fpga.vcc_cap.cap +const C43 = board.add(C_0603_1608Metric, { + translate: pt(0.682, 2.089), rotate: 0, + id: 'C43' +}) +// fpga.pll_lf.cap +const C44 = board.add(C_0805_2012Metric, { + translate: pt(0.843, 1.737), rotate: 0, + id: 'C44' +}) +// fpga.pll_hf.cap +const C45 = board.add(C_0603_1608Metric, { + translate: pt(0.838, 2.089), rotate: 0, + id: 'C45' +}) +// cdone.package +const D8 = board.add(LED_0603_1608Metric, { + translate: pt(3.590, 2.264), rotate: 0, + id: 'D8' +}) +// cdone.res +const R16 = board.add(R_0603_1608Metric, { + translate: pt(3.589, 2.361), rotate: 0, + id: 'R16' +}) +// fpga_osc.device +const X1 = board.add(Crystal_SMD_2520_4Pin_2_5x2_0mm, { + translate: pt(3.346, 2.294), rotate: 0, + id: 'X1' +}) +// fpga_osc.cap.cap +const C46 = board.add(C_0603_1608Metric, { + translate: pt(3.337, 2.422), rotate: 0, + id: 'C46' +}) +// fpga_sw.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(1.761, 2.348), rotate: 0, + id: 'SW1' +}) +// fpga_led.led[0].package +const D9 = board.add(LED_0603_1608Metric, { + translate: pt(3.216, 1.365), rotate: 0, + id: 'D9' +}) +// fpga_led.led[0].res +const R17 = board.add(R_0603_1608Metric, { + translate: pt(3.215, 1.559), rotate: 0, + id: 'R17' +}) +// fpga_led.led[1].package +const D10 = board.add(LED_0603_1608Metric, { + translate: pt(3.372, 1.365), rotate: 0, + id: 'D10' +}) +// fpga_led.led[1].res +const R18 = board.add(R_0603_1608Metric, { + translate: pt(3.371, 1.559), rotate: 0, + id: 'R18' +}) +// fpga_led.led[2].package +const D11 = board.add(LED_0603_1608Metric, { + translate: pt(3.216, 1.462), rotate: 0, + id: 'D11' +}) +// fpga_led.led[2].res +const R19 = board.add(R_0603_1608Metric, { + translate: pt(3.215, 1.656), rotate: 0, + id: 'R19' +}) +// fpga_led.led[3].package +const D12 = board.add(LED_0603_1608Metric, { + translate: pt(3.372, 1.462), rotate: 0, + id: 'D12' +}) +// fpga_led.led[3].res +const R20 = board.add(R_0603_1608Metric, { + translate: pt(3.371, 1.656), rotate: 0, + id: 'R20' +}) +// usb_fpga_bitbang.dp_pull_res +const R21 = board.add(R_0603_1608Metric, { + translate: pt(1.418, 2.264), rotate: 0, + id: 'R21' +}) +// usb_fpga_bitbang.dp_res +const R22 = board.add(R_0603_1608Metric, { + translate: pt(1.418, 2.361), rotate: 0, + id: 'R22' +}) +// usb_fpga_bitbang.dm_res +const R23 = board.add(R_0603_1608Metric, { + translate: pt(1.418, 2.458), rotate: 0, + id: 'R23' +}) +// usb_fpga_esd +const U13 = board.add(SOT_23, { + translate: pt(3.293, 2.769), rotate: 0, + id: 'U13' +}) +// mcu.swd.conn +const J6 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { + translate: pt(2.498, 0.146), rotate: 0, + id: 'J6' +}) +// mcu.ic +const U14 = board.add(QFN_56_1EP_7x7mm_P0_4mm_EP3_2x3_2mm, { + translate: pt(2.127, 0.163), rotate: 0, + id: 'U14' +}) +// mcu.iovdd_cap[0].cap +const C47 = board.add(C_0603_1608Metric, { + translate: pt(2.633, 0.393), rotate: 0, + id: 'C47' +}) +// mcu.iovdd_cap[1].cap +const C48 = board.add(C_0603_1608Metric, { + translate: pt(2.789, 0.393), rotate: 0, + id: 'C48' +}) +// mcu.iovdd_cap[2].cap +const C49 = board.add(C_0603_1608Metric, { + translate: pt(2.023, 0.658), rotate: 0, + id: 'C49' +}) +// mcu.iovdd_cap[3].cap +const C50 = board.add(C_0603_1608Metric, { + translate: pt(2.179, 0.658), rotate: 0, + id: 'C50' +}) +// mcu.iovdd_cap[4].cap +const C51 = board.add(C_0603_1608Metric, { + translate: pt(2.335, 0.658), rotate: 0, + id: 'C51' +}) +// mcu.iovdd_cap[5].cap +const C52 = board.add(C_0603_1608Metric, { + translate: pt(2.491, 0.658), rotate: 0, + id: 'C52' +}) +// mcu.avdd_cap.cap +const C53 = board.add(C_0603_1608Metric, { + translate: pt(2.646, 0.658), rotate: 0, + id: 'C53' +}) +// mcu.vreg_in_cap.cap +const C54 = board.add(C_0603_1608Metric, { + translate: pt(2.802, 0.658), rotate: 0, + id: 'C54' +}) +// mcu.mem.ic +const U15 = board.add(SOIC_8_5_23x5_23mm_P1_27mm, { + translate: pt(2.148, 0.477), rotate: 0, + id: 'U15' +}) +// mcu.mem.vcc_cap.cap +const C55 = board.add(C_0603_1608Metric, { + translate: pt(2.023, 0.755), rotate: 0, + id: 'C55' +}) +// mcu.dvdd_cap[0].cap +const C56 = board.add(C_0603_1608Metric, { + translate: pt(2.179, 0.755), rotate: 0, + id: 'C56' +}) +// mcu.dvdd_cap[1].cap +const C57 = board.add(C_0603_1608Metric, { + translate: pt(2.335, 0.755), rotate: 0, + id: 'C57' +}) +// mcu.vreg_out_cap.cap +const C58 = board.add(C_0603_1608Metric, { + translate: pt(2.491, 0.755), rotate: 0, + id: 'C58' +}) +// mcu.usb_res.dp_res +const R24 = board.add(R_0603_1608Metric, { + translate: pt(2.646, 0.755), rotate: 0, + id: 'R24' +}) +// mcu.usb_res.dm_res +const R25 = board.add(R_0603_1608Metric, { + translate: pt(2.802, 0.755), rotate: 0, + id: 'R25' +}) +// mcu.crystal.package +const X2 = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { + translate: pt(2.453, 0.431), rotate: 0, + id: 'X2' +}) +// mcu.crystal.cap_a +const C59 = board.add(C_0603_1608Metric, { + translate: pt(2.023, 0.852), rotate: 0, + id: 'C59' +}) +// mcu.crystal.cap_b +const C60 = board.add(C_0603_1608Metric, { + translate: pt(2.179, 0.852), rotate: 0, + id: 'C60' +}) +// mcu_sw.package +const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(2.214, 2.348), rotate: 0, + id: 'SW2' +}) +// mcu_leds.led[0].package +const D13 = board.add(LED_0603_1608Metric, { + translate: pt(0.058, 2.264), rotate: 0, + id: 'D13' +}) +// mcu_leds.led[0].res +const R26 = board.add(R_0603_1608Metric, { + translate: pt(0.058, 2.459), rotate: 0, + id: 'R26' +}) +// mcu_leds.led[1].package +const D14 = board.add(LED_0603_1608Metric, { + translate: pt(0.215, 2.264), rotate: 0, + id: 'D14' +}) +// mcu_leds.led[1].res +const R27 = board.add(R_0603_1608Metric, { + translate: pt(0.214, 2.459), rotate: 0, + id: 'R27' +}) +// mcu_leds.led[2].package +const D15 = board.add(LED_0603_1608Metric, { + translate: pt(0.058, 2.362), rotate: 0, + id: 'D15' +}) +// mcu_leds.led[2].res +const R28 = board.add(R_0603_1608Metric, { + translate: pt(0.058, 2.556), rotate: 0, + id: 'R28' +}) +// mcu_leds.led[3].package +const D16 = board.add(LED_0603_1608Metric, { + translate: pt(0.215, 2.362), rotate: 0, + id: 'D16' +}) +// mcu_leds.led[3].res +const R29 = board.add(R_0603_1608Metric, { + translate: pt(0.214, 2.556), rotate: 0, + id: 'R29' +}) +// usb_mcu_esd +const U16 = board.add(SOT_23, { + translate: pt(3.484, 2.769), rotate: 0, + id: 'U16' +}) +// tp_fpga[0].tp +const TP7 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.282, 2.740), rotate: 0, + id: 'TP7' +}) +// tp_fpga[1].tp +const TP8 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.533, 2.740), rotate: 0, + id: 'TP8' +}) +// tp_fpga[2].tp +const TP9 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.783, 2.740), rotate: 0, + id: 'TP9' +}) +// tp_fpga[3].tp +const TP10 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(3.033, 2.740), rotate: 0, + id: 'TP10' +}) +// pwm_filter.tp[0L].tp +const TP11 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.004, 2.273), rotate: 0, + id: 'TP11' +}) +// pwm_filter.tp[0H].tp +const TP12 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.175, 2.273), rotate: 0, + id: 'TP12' +}) +// pwm_filter.tp[1L].tp +const TP13 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.004, 2.387), rotate: 0, + id: 'TP13' +}) +// pwm_filter.tp[1H].tp +const TP14 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.175, 2.387), rotate: 0, + id: 'TP14' +}) +// pwm_filter.tp[2L].tp +const TP15 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.004, 2.501), rotate: 0, + id: 'TP15' +}) +// pwm_filter.tp[2H].tp +const TP16 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.175, 2.501), rotate: 0, + id: 'TP16' +}) +// tp_pwm.elts[0L].rc.r +const R30 = board.add(R_0603_1608Metric, { + translate: pt(0.449, 2.264), rotate: 0, + id: 'R30' +}) +// tp_pwm.elts[0L].rc.c +const C61 = board.add(C_0603_1608Metric, { + translate: pt(0.605, 2.264), rotate: 0, + id: 'C61' +}) +// tp_pwm.elts[0H].rc.r +const R31 = board.add(R_0603_1608Metric, { + translate: pt(0.761, 2.264), rotate: 0, + id: 'R31' +}) +// tp_pwm.elts[0H].rc.c +const C62 = board.add(C_0603_1608Metric, { + translate: pt(0.449, 2.361), rotate: 0, + id: 'C62' +}) +// tp_pwm.elts[1L].rc.r +const R32 = board.add(R_0603_1608Metric, { + translate: pt(0.605, 2.361), rotate: 0, + id: 'R32' +}) +// tp_pwm.elts[1L].rc.c +const C63 = board.add(C_0603_1608Metric, { + translate: pt(0.761, 2.361), rotate: 0, + id: 'C63' +}) +// tp_pwm.elts[1H].rc.r +const R33 = board.add(R_0603_1608Metric, { + translate: pt(0.449, 2.458), rotate: 0, + id: 'R33' +}) +// tp_pwm.elts[1H].rc.c +const C64 = board.add(C_0603_1608Metric, { + translate: pt(0.605, 2.458), rotate: 0, + id: 'C64' +}) +// tp_pwm.elts[2L].rc.r +const R34 = board.add(R_0603_1608Metric, { + translate: pt(0.761, 2.458), rotate: 0, + id: 'R34' +}) +// tp_pwm.elts[2L].rc.c +const C65 = board.add(C_0603_1608Metric, { + translate: pt(0.449, 2.555), rotate: 0, + id: 'C65' +}) +// tp_pwm.elts[2H].rc.r +const R35 = board.add(R_0603_1608Metric, { + translate: pt(0.605, 2.555), rotate: 0, + id: 'R35' +}) +// tp_pwm.elts[2H].rc.c +const C66 = board.add(C_0603_1608Metric, { + translate: pt(0.761, 2.555), rotate: 0, + id: 'C66' +}) +// conv_in_sense.div.top_res +const R36 = board.add(R_0603_1608Metric, { + translate: pt(0.058, 2.731), rotate: 0, + id: 'R36' +}) +// conv_in_sense.div.bottom_res +const R37 = board.add(R_0603_1608Metric, { + translate: pt(0.058, 2.828), rotate: 0, + id: 'R37' +}) +// conv_out_sense.div.top_res +const R38 = board.add(R_0603_1608Metric, { + translate: pt(0.293, 2.731), rotate: 0, + id: 'R38' +}) +// conv_out_sense.div.bottom_res +const R39 = board.add(R_0603_1608Metric, { + translate: pt(0.293, 2.828), rotate: 0, + id: 'R39' +}) + +board.setNetlist([ + {name: "vusb", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["J2", "A4"], ["J2", "B9"], ["J2", "B4"], ["J2", "A9"], ["TP1", "1"], ["U1", "3"], ["U2", "5"], ["U2", "4"], ["C1", "1"], ["L1", "1"], ["C3", "1"]]}, + {name: "gnd", pads: [["U13", "3"], ["U16", "3"], ["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["J2", "A1"], ["J2", "B12"], ["J2", "B1"], ["J2", "A12"], ["J3", "1"], ["TP2", "1"], ["U1", "1"], ["D1", "2"], ["U2", "2"], ["J4", "1"], ["TP6", "1"], ["U10", "49"], ["R16", "2"], ["X1", "2"], ["SW1", "2"], ["U14", "19"], ["U14", "57"], ["SW2", "2"], ["R37", "2"], ["R39", "2"], ["J1", "S1"], ["J2", "S1"], ["C1", "2"], ["C2", "2"], ["U11", "2"], ["U12", "4"], ["C39", "2"], ["C40", "2"], ["C41", "2"], ["C42", "2"], ["C43", "2"], ["C44", "2"], ["C45", "2"], ["C46", "2"], ["R17", "2"], ["R18", "2"], ["R19", "2"], ["R20", "2"], ["C47", "2"], ["C48", "2"], ["C49", "2"], ["C50", "2"], ["C51", "2"], ["C52", "2"], ["C53", "2"], ["C54", "2"], ["U15", "4"], ["C56", "2"], ["C57", "2"], ["C58", "2"], ["X2", "2"], ["X2", "4"], ["R26", "2"], ["R27", "2"], ["R28", "2"], ["R29", "2"], ["R6", "2"], ["U5", "4"], ["U8", "4"], ["C61", "2"], ["C62", "2"], ["C63", "2"], ["C64", "2"], ["C65", "2"], ["C66", "2"], ["R1", "1"], ["R2", "1"], ["Q2", "1"], ["Q2", "2"], ["Q2", "3"], ["J5", "3"], ["J5", "5"], ["J5", "9"], ["J6", "3"], ["J6", "5"], ["J6", "9"], ["C59", "2"], ["C60", "2"], ["R3", "1"], ["R4", "1"], ["C3", "2"], ["C4", "2"], ["U3", "4"], ["C36", "2"], ["C37", "2"], ["C38", "2"], ["C55", "2"], ["C18", "2"], ["C28", "2"], ["C5", "2"], ["C6", "2"], ["C7", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["C11", "2"], ["C12", "2"], ["C13", "2"]]}, + {name: "v3v3", pads: [["U1", "2"], ["TP3", "1"], ["D1", "1"], ["U10", "22"], ["U10", "33"], ["U10", "1"], ["U10", "24"], ["X1", "1"], ["X1", "4"], ["U14", "1"], ["U14", "10"], ["U14", "22"], ["U14", "33"], ["U14", "42"], ["U14", "49"], ["U14", "44"], ["U14", "43"], ["U14", "48"], ["C2", "1"], ["U11", "1"], ["R13", "1"], ["U12", "8"], ["J5", "1"], ["R14", "1"], ["C39", "1"], ["C40", "1"], ["C41", "1"], ["C42", "1"], ["C46", "1"], ["J6", "1"], ["C47", "1"], ["C48", "1"], ["C49", "1"], ["C50", "1"], ["C51", "1"], ["C52", "1"], ["C53", "1"], ["C54", "1"], ["U15", "8"], ["U5", "1"], ["U8", "1"], ["U11", "3"], ["U12", "3"], ["U12", "7"], ["C36", "1"], ["C38", "1"], ["C55", "1"], ["C18", "1"], ["C28", "1"]]}, + {name: "vgate", pads: [["TP4", "1"], ["D2", "1"], ["R5", "1"], ["C4", "1"], ["U3", "1"], ["C13", "1"], ["D4", "2"]]}, + {name: "conv.pwr_in", pads: [["J3", "2"], ["R36", "1"], ["Q1", "5"], ["Q1", "6"], ["Q1", "7"], ["Q1", "8"], ["C5", "1"], ["C6", "1"], ["C7", "1"], ["C8", "1"], ["C9", "1"]]}, + {name: "conv.pwr_out", pads: [["J4", "2"], ["TP5", "1"], ["R38", "1"], ["L2", "2"], ["C10", "1"], ["C11", "1"], ["C12", "1"]]}, + {name: "fpga.cdone", pads: [["U10", "7"], ["D8", "2"]]}, + {name: "fpga_osc.out", pads: [["X1", "3"], ["U10", "37"]]}, + {name: "fpga_sw.out", pads: [["U10", "32"], ["SW1", "1"]]}, + {name: "fpga.gpio.led_0", pads: [["U10", "21"], ["D9", "2"]]}, + {name: "fpga.gpio.led_1", pads: [["U10", "20"], ["D10", "2"]]}, + {name: "fpga.gpio.led_2", pads: [["U10", "19"], ["D11", "2"]]}, + {name: "fpga.gpio.led_3", pads: [["U10", "18"], ["D12", "2"]]}, + {name: "usb_fpga_bitbang.dp_pull", pads: [["U10", "27"], ["R21", "1"]]}, + {name: "usb_fpga_bitbang.dp", pads: [["U10", "26"], ["R22", "1"]]}, + {name: "usb_fpga_bitbang.dm", pads: [["U10", "25"], ["R23", "1"]]}, + {name: "usb_fpga_chain_0.d_P", pads: [["U13", "2"], ["J2", "A6"], ["J2", "B6"], ["R22", "2"], ["R21", "2"]]}, + {name: "usb_fpga_chain_0.d_N", pads: [["U13", "1"], ["J2", "A7"], ["J2", "B7"], ["R23", "2"]]}, + {name: "mcu_sw.out", pads: [["U14", "29"], ["SW2", "1"]]}, + {name: "mcu.gpio.led_0", pads: [["U14", "34"], ["D13", "2"]]}, + {name: "mcu.gpio.led_1", pads: [["U14", "35"], ["D14", "2"]]}, + {name: "mcu.gpio.led_2", pads: [["U14", "36"], ["D15", "2"]]}, + {name: "mcu.gpio.led_3", pads: [["U14", "37"], ["D16", "2"]]}, + {name: "usb_mcu_chain_0.d_P", pads: [["U16", "2"], ["J1", "A6"], ["J1", "B6"], ["R24", "2"]]}, + {name: "usb_mcu_chain_0.d_N", pads: [["U16", "1"], ["J1", "A7"], ["J1", "B7"], ["R25", "2"]]}, + {name: "tp_fpga[0].io", pads: [["U14", "14"], ["U10", "2"], ["TP7", "1"]]}, + {name: "tp_fpga[1].io", pads: [["U14", "13"], ["U10", "3"], ["TP8", "1"]]}, + {name: "tp_fpga[2].io", pads: [["U14", "12"], ["U10", "4"], ["TP9", "1"]]}, + {name: "tp_fpga[3].io", pads: [["U14", "11"], ["U10", "6"], ["TP10", "1"]]}, + {name: "fpga.gpio.pwm_0L", pads: [["U10", "47"], ["TP11", "1"], ["R30", "1"]]}, + {name: "fpga.gpio.pwm_0H", pads: [["U10", "48"], ["TP12", "1"], ["R31", "1"]]}, + {name: "fpga.gpio.pwm_1L", pads: [["U10", "45"], ["TP13", "1"], ["R32", "1"]]}, + {name: "fpga.gpio.pwm_1H", pads: [["U10", "46"], ["TP14", "1"], ["R33", "1"]]}, + {name: "fpga.gpio.pwm_2L", pads: [["U10", "43"], ["TP15", "1"], ["R34", "1"]]}, + {name: "fpga.gpio.pwm_2H", pads: [["U10", "44"], ["TP16", "1"], ["R35", "1"]]}, + {name: "tp_pwm.output.0L", pads: [["U3", "3"], ["R30", "2"], ["C61", "1"]]}, + {name: "tp_pwm.output.0H", pads: [["U3", "2"], ["R31", "2"], ["C62", "1"]]}, + {name: "tp_pwm.output.1L", pads: [["U5", "3"], ["R32", "2"], ["C63", "1"]]}, + {name: "tp_pwm.output.1H", pads: [["U5", "2"], ["R33", "2"], ["C64", "1"]]}, + {name: "tp_pwm.output.2L", pads: [["U8", "3"], ["R34", "2"], ["C65", "1"]]}, + {name: "tp_pwm.output.2H", pads: [["U8", "2"], ["R35", "2"], ["C66", "1"]]}, + {name: "conv_in_sense.output", pads: [["U14", "38"], ["R36", "2"], ["R37", "1"]]}, + {name: "conv_out_sense.output", pads: [["U14", "39"], ["R38", "2"], ["R39", "1"]]}, + {name: "usb_mcu.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb_mcu.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "usb_fpga.conn.cc.cc1", pads: [["J2", "A5"], ["R3", "2"]]}, + {name: "usb_fpga.conn.cc.cc2", pads: [["J2", "B5"], ["R4", "2"]]}, + {name: "reg_vgate.fb.output", pads: [["U2", "3"], ["R5", "2"], ["R6", "1"]]}, + {name: "reg_vgate.power_path.switch", pads: [["U2", "1"], ["L1", "2"], ["D2", "2"]]}, + {name: "conv.sw[0].low_out", pads: [["Q2", "5"], ["Q2", "6"], ["Q2", "7"], ["Q2", "8"], ["Q4", "1"], ["Q4", "2"], ["Q4", "3"], ["C25", "2"], ["U4", "2"], ["U5", "5"], ["U6", "4"], ["C22", "2"], ["C23", "2"], ["C16", "2"], ["C17", "2"], ["C19", "2"], ["C20", "2"]]}, + {name: "conv.sw[1].high_in", pads: [["Q3", "5"], ["Q3", "6"], ["Q3", "7"], ["Q3", "8"], ["C22", "1"], ["C23", "1"], ["Q1", "1"], ["Q1", "2"], ["Q1", "3"], ["C15", "2"], ["U3", "6"], ["C14", "2"]]}, + {name: "conv.sw[1].high_boot_out", pads: [["D3", "2"], ["C24", "1"], ["D5", "1"], ["U6", "8"], ["C21", "1"]]}, + {name: "conv.sw[1].low_out", pads: [["Q4", "5"], ["Q4", "6"], ["Q4", "7"], ["Q4", "8"], ["Q6", "1"], ["Q6", "2"], ["Q6", "3"], ["C35", "2"], ["U7", "2"], ["U8", "5"], ["U9", "4"], ["C32", "2"], ["C33", "2"], ["C26", "2"], ["C27", "2"], ["C29", "2"], ["C30", "2"]]}, + {name: "conv.sw[2].high_in", pads: [["Q5", "5"], ["Q5", "6"], ["Q5", "7"], ["Q5", "8"], ["C32", "1"], ["C33", "1"], ["Q3", "1"], ["Q3", "2"], ["Q3", "3"], ["C24", "2"], ["U6", "6"], ["C21", "2"]]}, + {name: "conv.sw[2].low_boot_in", pads: [["D6", "2"], ["C25", "1"], ["D4", "1"], ["U4", "1"], ["U6", "1"], ["U4", "3"], ["C16", "1"], ["C20", "1"]]}, + {name: "conv.sw[2].high_boot_out", pads: [["D5", "2"], ["C34", "1"], ["D7", "1"], ["U9", "8"], ["C31", "1"]]}, + {name: "conv.sw[2].low_boot_out", pads: [["D7", "2"], ["C35", "1"], ["D6", "1"], ["U7", "1"], ["U9", "1"], ["U7", "3"], ["C26", "1"], ["C30", "1"]]}, + {name: "conv.sw_merge", pads: [["Q6", "5"], ["Q6", "6"], ["Q6", "7"], ["Q6", "8"], ["L2", "1"], ["Q5", "1"], ["Q5", "2"], ["Q5", "3"], ["C34", "2"], ["U9", "6"], ["C31", "2"]]}, + {name: "conv.sw[0].high_gate_res.a", pads: [["R7", "1"], ["U3", "7"]]}, + {name: "conv.sw[0].high_gate_res.b", pads: [["R7", "2"], ["Q1", "4"]]}, + {name: "conv.sw[0].low_gate_res.a", pads: [["R8", "1"], ["U3", "5"]]}, + {name: "conv.sw[0].low_gate_res.b", pads: [["R8", "2"], ["Q2", "4"]]}, + {name: "conv.sw[0].high_boot_cap.pos", pads: [["C15", "1"], ["D3", "1"], ["U3", "8"], ["C14", "1"]]}, + {name: "conv.sw[1].iso.pwr_b", pads: [["U5", "8"], ["U4", "5"], ["C19", "1"], ["C17", "1"]]}, + {name: "conv.sw[1].driver.high_in", pads: [["U6", "2"], ["U5", "7"]]}, + {name: "conv.sw[1].driver.low_in", pads: [["U6", "3"], ["U5", "6"]]}, + {name: "conv.sw[1].high_gate_res.a", pads: [["R9", "1"], ["U6", "7"]]}, + {name: "conv.sw[1].high_gate_res.b", pads: [["R9", "2"], ["Q3", "4"]]}, + {name: "conv.sw[1].low_gate_res.a", pads: [["R10", "1"], ["U6", "5"]]}, + {name: "conv.sw[1].low_gate_res.b", pads: [["R10", "2"], ["Q4", "4"]]}, + {name: "conv.sw[2].iso.pwr_b", pads: [["U8", "8"], ["U7", "5"], ["C29", "1"], ["C27", "1"]]}, + {name: "conv.sw[2].driver.high_in", pads: [["U9", "2"], ["U8", "7"]]}, + {name: "conv.sw[2].driver.low_in", pads: [["U9", "3"], ["U8", "6"]]}, + {name: "conv.sw[2].high_gate_res.a", pads: [["R11", "1"], ["U9", "7"]]}, + {name: "conv.sw[2].high_gate_res.b", pads: [["R11", "2"], ["Q5", "4"]]}, + {name: "conv.sw[2].low_gate_res.a", pads: [["R12", "1"], ["U9", "5"]]}, + {name: "conv.sw[2].low_gate_res.b", pads: [["R12", "2"], ["Q6", "4"]]}, + {name: "fpga.ic.creset_b", pads: [["U10", "8"], ["R13", "2"], ["J5", "10"]]}, + {name: "fpga.ic.spi_config.sck", pads: [["U10", "15"], ["U12", "6"], ["J5", "4"]]}, + {name: "fpga.ic.spi_config.mosi", pads: [["U10", "14"], ["U12", "5"], ["J5", "6"]]}, + {name: "fpga.ic.spi_config.miso", pads: [["U10", "17"], ["U12", "2"], ["J5", "8"]]}, + {name: "fpga.ic.spi_config_cs", pads: [["U10", "16"], ["J5", "2"], ["JP1", "1"]]}, + {name: "fpga.cs_jmp.output", pads: [["JP1", "2"], ["R14", "2"], ["U12", "1"]]}, + {name: "fpga.vcc_reg.pwr_out", pads: [["U10", "5"], ["U10", "30"], ["U11", "5"], ["R15", "1"], ["C43", "1"], ["C37", "1"]]}, + {name: "fpga.pll_res.pwr_out", pads: [["U10", "29"], ["R15", "2"], ["C44", "1"], ["C45", "1"]]}, + {name: "cdone.res.a", pads: [["R16", "1"], ["D8", "1"]]}, + {name: "fpga_led.led[0].res.a", pads: [["R17", "1"], ["D9", "1"]]}, + {name: "fpga_led.led[1].res.a", pads: [["R18", "1"], ["D10", "1"]]}, + {name: "fpga_led.led[2].res.a", pads: [["R19", "1"], ["D11", "1"]]}, + {name: "fpga_led.led[3].res.a", pads: [["R20", "1"], ["D12", "1"]]}, + {name: "mcu.xtal_node.xi", pads: [["U14", "20"], ["X2", "1"], ["C59", "1"]]}, + {name: "mcu.xtal_node.xo", pads: [["U14", "21"], ["X2", "3"], ["C60", "1"]]}, + {name: "mcu.swd_node.swdio", pads: [["U14", "25"], ["J6", "2"]]}, + {name: "mcu.swd_node.swclk", pads: [["U14", "24"], ["J6", "4"]]}, + {name: "mcu.reset_node", pads: [["U14", "26"], ["J6", "10"]]}, + {name: "mcu.ic.qspi.sck", pads: [["U14", "52"], ["U15", "6"]]}, + {name: "mcu.ic.qspi.mosi", pads: [["U14", "53"], ["U15", "5"]]}, + {name: "mcu.ic.qspi.miso", pads: [["U14", "55"], ["U15", "2"]]}, + {name: "mcu.ic.qspi_cs", pads: [["U14", "56"], ["U15", "1"]]}, + {name: "mcu.ic.qspi_sd2", pads: [["U14", "54"], ["U15", "3"]]}, + {name: "mcu.ic.qspi_sd3", pads: [["U14", "51"], ["U15", "7"]]}, + {name: "mcu.ic.vreg_vout", pads: [["U14", "45"], ["U14", "23"], ["U14", "50"], ["C56", "1"], ["C57", "1"], ["C58", "1"]]}, + {name: "mcu.usb_chain_0.d_P", pads: [["U14", "47"], ["R24", "1"]]}, + {name: "mcu.usb_chain_0.d_N", pads: [["U14", "46"], ["R25", "1"]]}, + {name: "mcu.swd.swo", pads: [["U14", "2"], ["J6", "6"]]}, + {name: "mcu.swd.tdi", pads: [["U14", "3"], ["J6", "8"]]}, + {name: "mcu_leds.led[0].res.a", pads: [["R26", "1"], ["D13", "1"]]}, + {name: "mcu_leds.led[1].res.a", pads: [["R27", "1"], ["D14", "1"]]}, + {name: "mcu_leds.led[2].res.a", pads: [["R28", "1"], ["D15", "1"]]}, + {name: "mcu_leds.led[3].res.a", pads: [["R29", "1"], ["D16", "1"]]} +]) + +const limit0 = pt(-0.07874015748031496, -0.07874015748031496); +const limit1 = pt(3.7659448818897645, 2.9748031496062994); +const xMin = Math.min(limit0[0], limit1[0]); +const xMax = Math.max(limit0[0], limit1[0]); +const yMin = Math.min(limit0[1], limit1[1]); +const yMax = Math.max(limit0[1], limit1[1]); + +const filletRadius = 0.1; +const outline = path( + [(xMin+xMax/2), yMax], + ["fillet", filletRadius, [xMax, yMax]], + ["fillet", filletRadius, [xMax, yMin]], + ["fillet", filletRadius, [xMin, yMin]], + ["fillet", filletRadius, [xMin, yMax]], + [(xMin+xMax/2), yMax], +); +board.addShape("outline", outline); + +renderPCB({ + pcb: board, + layerColors: { + "F.Paste": "#000000ff", + "F.Mask": "#000000ff", + "B.Mask": "#000000ff", + "componentLabels": "#00e5e5e5", + "outline": "#002d00ff", + "padLabels": "#ffff99e5", + "B.Cu": "#ef4e4eff", + "F.Cu": "#ff8c00cc", + }, + limits: { + x: [xMin, xMax], + y: [yMin, yMax] + }, + background: "#00000000", + mmPerUnit: 25.4 +}) + + diff --git a/examples/HighSwitch/HighSwitch.net b/examples/HighSwitch/HighSwitch.net new file mode 100644 index 000000000..c2a44a719 --- /dev/null +++ b/examples/HighSwitch/HighSwitch.net @@ -0,0 +1,1426 @@ +(export (version D) +(components +(comp (ref "J1") + (value "pwr_conn") + (footprint "calisco:Molex_DuraClik_vert_3pin") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "pwr_conn")) + (property (name "edg_short_path") (value "pwr_conn")) + (property (name "edg_refdes") (value "J1")) + (property (name "edg_part") (value "5600200320 (Molex)")) + (property (name "edg_value") (value "5600200320")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0f730367")) +(comp (ref "U1") + (value "pwr.ic") + (footprint "Package_TO_SOT_SMD:SOT-23-6") + (property (name "Sheetname") (value "pwr")) + (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps561201")) + (property (name "edg_path") (value "pwr.ic")) + (property (name "edg_short_path") (value "pwr.ic")) + (property (name "edg_refdes") (value "U1")) + (property (name "edg_part") (value "TPS561201 (Texas Instruments)")) + (property (name "edg_value") (value "TPS561201")) + (sheetpath (names "/pwr/") (tstamps "/02b3015a/")) + (tstamps "013700cd")) +(comp (ref "R1") + (value "pwr.fb.top_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "fb")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) + (property (name "edg_path") (value "pwr.fb.div.top_res")) + (property (name "edg_short_path") (value "pwr.fb.top_res")) + (property (name "edg_refdes") (value "R1")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "33k, 1%, 0.1 W")) + (sheetpath (names "/pwr/fb/") (tstamps "/02b3015a/013000c9/")) + (tstamps "0c0c02fd")) +(comp (ref "R2") + (value "pwr.fb.bottom_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "fb")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) + (property (name "edg_path") (value "pwr.fb.div.bottom_res")) + (property (name "edg_short_path") (value "pwr.fb.bottom_res")) + (property (name "edg_refdes") (value "R2")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10k, 1%, 0.1 W")) + (sheetpath (names "/pwr/fb/") (tstamps "/02b3015a/013000c9/")) + (tstamps "175b043f")) +(comp (ref "C1") + (value "pwr.hf_in_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "pwr")) + (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps561201")) + (property (name "edg_path") (value "pwr.hf_in_cap.cap")) + (property (name "edg_short_path") (value "pwr.hf_in_cap")) + (property (name "edg_refdes") (value "C1")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "100nF")) + (sheetpath (names "/pwr/") (tstamps "/02b3015a/")) + (tstamps "11ed0398")) +(comp (ref "C2") + (value "pwr.vbst_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "pwr")) + (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps561201")) + (property (name "edg_path") (value "pwr.vbst_cap")) + (property (name "edg_short_path") (value "pwr.vbst_cap")) + (property (name "edg_refdes") (value "C2")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "100nF")) + (sheetpath (names "/pwr/") (tstamps "/02b3015a/")) + (tstamps "0f330353")) +(comp (ref "L1") + (value "pwr.power_path.inductor") + (footprint "Inductor_SMD:L_0805_2012Metric") + (property (name "Sheetname") (value "power_path")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) + (property (name "edg_path") (value "pwr.power_path.inductor")) + (property (name "edg_short_path") (value "pwr.power_path.inductor")) + (property (name "edg_refdes") (value "L1")) + (property (name "edg_part") (value "MGFL2012F220MT-LF (microgate)")) + (property (name "edg_value") (value "300mA 22uH ±20% 700mΩ 0805 Inductors (SMD) ROHS")) + (sheetpath (names "/pwr/power_path/") (tstamps "/02b3015a/1786043a/")) + (tstamps "0f2b0369")) +(comp (ref "C3") + (value "pwr.power_path.in_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "power_path")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) + (property (name "edg_path") (value "pwr.power_path.in_cap.cap")) + (property (name "edg_short_path") (value "pwr.power_path.in_cap")) + (property (name "edg_refdes") (value "C3")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "1uF")) + (sheetpath (names "/pwr/power_path/") (tstamps "/02b3015a/1786043a/")) + (tstamps "0879026b")) +(comp (ref "C4") + (value "pwr.power_path.out_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "power_path")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) + (property (name "edg_path") (value "pwr.power_path.out_cap.cap")) + (property (name "edg_short_path") (value "pwr.power_path.out_cap")) + (property (name "edg_refdes") (value "C4")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10uF")) + (sheetpath (names "/pwr/power_path/") (tstamps "/02b3015a/1786043a/")) + (tstamps "0be902ec")) +(comp (ref "J2") + (value "mcu.swd") + (footprint "Connector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_Vertical_SMD") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) + (property (name "edg_path") (value "mcu.swd.conn")) + (property (name "edg_short_path") (value "mcu.swd")) + (property (name "edg_refdes") (value "J2")) + (property (name "edg_part") (value "PinHeader1.27 Shrouded 2x5 (Generic)")) + (property (name "edg_value") (value "PinHeader1.27 Shrouded 2x5")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "02ae014f")) +(comp (ref "U2") + (value "mcu.ic") + (footprint "Package_QFP:LQFP-48_7x7mm_P0.5mm") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) + (property (name "edg_path") (value "mcu.ic")) + (property (name "edg_short_path") (value "mcu.ic")) + (property (name "edg_refdes") (value "U2")) + (property (name "edg_part") (value "LPC1549JBD48 (NXP)")) + (property (name "edg_value") (value "LPC1549JBD48")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "013700cd")) +(comp (ref "R3") + (value "mcu.swd_pull.swdio") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "swd_pull")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549SwdPull")) + (property (name "edg_path") (value "mcu.swd_pull.swdio.res")) + (property (name "edg_short_path") (value "mcu.swd_pull.swdio")) + (property (name "edg_refdes") (value "R3")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10k, 1%, 0.1 W")) + (sheetpath (names "/mcu/swd_pull/") (tstamps "/02850146/0f77036b/")) + (tstamps "068d0227")) +(comp (ref "R4") + (value "mcu.swd_pull.swclk") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "swd_pull")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549SwdPull")) + (property (name "edg_path") (value "mcu.swd_pull.swclk.res")) + (property (name "edg_short_path") (value "mcu.swd_pull.swclk")) + (property (name "edg_refdes") (value "R4")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10k, 1%, 0.1 W")) + (sheetpath (names "/mcu/swd_pull/") (tstamps "/02850146/0f77036b/")) + (tstamps "068c0225")) +(comp (ref "C5") + (value "mcu.pwr_cap[0]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) + (property (name "edg_path") (value "mcu.pwr_cap[0].cap")) + (property (name "edg_short_path") (value "mcu.pwr_cap[0]")) + (property (name "edg_refdes") (value "C5")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "100nF")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "168703d5")) +(comp (ref "C6") + (value "mcu.pwr_cap[1]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) + (property (name "edg_path") (value "mcu.pwr_cap[1].cap")) + (property (name "edg_short_path") (value "mcu.pwr_cap[1]")) + (property (name "edg_refdes") (value "C6")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10nF")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "168903d6")) +(comp (ref "C7") + (value "mcu.pwr_cap[2]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) + (property (name "edg_path") (value "mcu.pwr_cap[2].cap")) + (property (name "edg_short_path") (value "mcu.pwr_cap[2]")) + (property (name "edg_refdes") (value "C7")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "100nF")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "168b03d7")) +(comp (ref "C8") + (value "mcu.pwr_cap[3]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) + (property (name "edg_path") (value "mcu.pwr_cap[3].cap")) + (property (name "edg_short_path") (value "mcu.pwr_cap[3]")) + (property (name "edg_refdes") (value "C8")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10nF")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "168d03d8")) +(comp (ref "C9") + (value "mcu.pwr_cap[4]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) + (property (name "edg_path") (value "mcu.pwr_cap[4].cap")) + (property (name "edg_short_path") (value "mcu.pwr_cap[4]")) + (property (name "edg_refdes") (value "C9")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "100nF")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "168f03d9")) +(comp (ref "C10") + (value "mcu.pwr_cap[5]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) + (property (name "edg_path") (value "mcu.pwr_cap[5].cap")) + (property (name "edg_short_path") (value "mcu.pwr_cap[5]")) + (property (name "edg_refdes") (value "C10")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10nF")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "169103da")) +(comp (ref "C11") + (value "mcu.vbat_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) + (property (name "edg_path") (value "mcu.vbat_cap.cap")) + (property (name "edg_short_path") (value "mcu.vbat_cap")) + (property (name "edg_refdes") (value "C11")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "100nF")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "0ec70341")) +(comp (ref "C12") + (value "mcu.pwra_cap[0]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) + (property (name "edg_path") (value "mcu.pwra_cap[0].cap")) + (property (name "edg_short_path") (value "mcu.pwra_cap[0]")) + (property (name "edg_refdes") (value "C12")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "100nF")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "1ae90436")) +(comp (ref "C13") + (value "mcu.pwra_cap[1]") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) + (property (name "edg_path") (value "mcu.pwra_cap[1].cap")) + (property (name "edg_short_path") (value "mcu.pwra_cap[1]")) + (property (name "edg_refdes") (value "C13")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10uF")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "1aeb0437")) +(comp (ref "C14") + (value "mcu.vref_cap[0]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) + (property (name "edg_path") (value "mcu.vref_cap[0].cap")) + (property (name "edg_short_path") (value "mcu.vref_cap[0]")) + (property (name "edg_refdes") (value "C14")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "100nF")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "1aac042f")) +(comp (ref "C15") + (value "mcu.vref_cap[1]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) + (property (name "edg_path") (value "mcu.vref_cap[1].cap")) + (property (name "edg_short_path") (value "mcu.vref_cap[1]")) + (property (name "edg_refdes") (value "C15")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "100nF")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "1aae0430")) +(comp (ref "C16") + (value "mcu.vref_cap[2]") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Lpc1549.Lpc1549_48")) + (property (name "edg_path") (value "mcu.vref_cap[2].cap")) + (property (name "edg_short_path") (value "mcu.vref_cap[2]")) + (property (name "edg_refdes") (value "C16")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10uF")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "1ab00431")) +(comp (ref "X1") + (value "mcu.crystal.package") + (footprint "Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm") + (property (name "Sheetname") (value "crystal")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) + (property (name "edg_path") (value "mcu.crystal.package")) + (property (name "edg_short_path") (value "mcu.crystal.package")) + (property (name "edg_refdes") (value "X1")) + (property (name "edg_part") (value "X322512MSB4SI (Yangxing Tech)")) + (property (name "edg_value") (value "12MHz SMD Crystal Resonator 20pF ±10ppm ±30ppm -40℃~+85℃ SMD3225-4P Crystals ROHS")) + (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) + (tstamps "0b4e02cd")) +(comp (ref "C17") + (value "mcu.crystal.cap_a") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "crystal")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) + (property (name "edg_path") (value "mcu.crystal.cap_a")) + (property (name "edg_short_path") (value "mcu.crystal.cap_a")) + (property (name "edg_refdes") (value "C17")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "22pF")) + (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) + (tstamps "05e701f5")) +(comp (ref "C18") + (value "mcu.crystal.cap_b") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "crystal")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) + (property (name "edg_path") (value "mcu.crystal.cap_b")) + (property (name "edg_short_path") (value "mcu.crystal.cap_b")) + (property (name "edg_refdes") (value "C18")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "22pF")) + (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) + (tstamps "05e801f6")) +(comp (ref "J3") + (value "can.conn") + (footprint "calisco:Molex_DuraClik_vert_5pin") + (property (name "Sheetname") (value "can")) + (property (name "Sheetfile") (value "examples.test_high_switch.CalSolCanBlock")) + (property (name "edg_path") (value "can.conn")) + (property (name "edg_short_path") (value "can.conn")) + (property (name "edg_refdes") (value "J3")) + (property (name "edg_part") (value "5600200520 (Molex)")) + (property (name "edg_value") (value "5600200520")) + (sheetpath (names "/can/") (tstamps "/025c0133/")) + (tstamps "042701af")) +(comp (ref "F1") + (value "can.can_fuse") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "can")) + (property (name "Sheetfile") (value "examples.test_high_switch.CalSolCanBlock")) + (property (name "edg_path") (value "can.can_fuse.fuse")) + (property (name "edg_short_path") (value "can.can_fuse")) + (property (name "edg_refdes") (value "F1")) + (property (name "edg_part") (value "0ZCM0005FF2G")) + (property (name "edg_value") (value "0ZCM0005FF2G")) + (sheetpath (names "/can/") (tstamps "/025c0133/")) + (tstamps "0e780345")) +(comp (ref "U3") + (value "can.reg.ic") + (footprint "Package_TO_SOT_SMD:SOT-23-5") + (property (name "Sheetname") (value "reg")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) + (property (name "edg_path") (value "can.reg.ic")) + (property (name "edg_short_path") (value "can.reg.ic")) + (property (name "edg_refdes") (value "U3")) + (property (name "edg_part") (value "AP2204K-5.0 (Diodes Incorporated)")) + (property (name "edg_value") (value "AP2204K-5.0")) + (sheetpath (names "/can/reg/") (tstamps "/025c0133/028a013f/")) + (tstamps "013700cd")) +(comp (ref "C19") + (value "can.reg.in_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "reg")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) + (property (name "edg_path") (value "can.reg.in_cap.cap")) + (property (name "edg_short_path") (value "can.reg.in_cap")) + (property (name "edg_refdes") (value "C19")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "1uF")) + (sheetpath (names "/can/reg/") (tstamps "/025c0133/028a013f/")) + (tstamps "0879026b")) +(comp (ref "C20") + (value "can.reg.out_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "reg")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap2204k")) + (property (name "edg_path") (value "can.reg.out_cap.cap")) + (property (name "edg_short_path") (value "can.reg.out_cap")) + (property (name "edg_refdes") (value "C20")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "2.2uF")) + (sheetpath (names "/can/reg/") (tstamps "/025c0133/028a013f/")) + (tstamps "0be902ec")) +(comp (ref "U4") + (value "can.esd") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "can")) + (property (name "Sheetfile") (value "examples.test_high_switch.CalSolCanBlock")) + (property (name "edg_path") (value "can.esd")) + (property (name "edg_short_path") (value "can.esd")) + (property (name "edg_refdes") (value "U4")) + (property (name "edg_part") (value "PESD1CAN,215")) + (property (name "edg_value") (value "PESD1CAN,215")) + (sheetpath (names "/can/") (tstamps "/025c0133/")) + (tstamps "027c013d")) +(comp (ref "U5") + (value "can.transceiver.ic") + (footprint "Package_SO:SOP-8_6.62x9.15mm_P2.54mm") + (property (name "Sheetname") (value "transceiver")) + (property (name "Sheetfile") (value "edg.parts.CanTransceiver_Iso1050.Iso1050dub")) + (property (name "edg_path") (value "can.transceiver.ic")) + (property (name "edg_short_path") (value "can.transceiver.ic")) + (property (name "edg_refdes") (value "U5")) + (property (name "edg_part") (value "ISO1050DUB (Texas Instruments)")) + (property (name "edg_value") (value "ISO1050DUB")) + (sheetpath (names "/can/transceiver/") (tstamps "/025c0133/1c0604a7/")) + (tstamps "013700cd")) +(comp (ref "C21") + (value "can.transceiver.logic_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "transceiver")) + (property (name "Sheetfile") (value "edg.parts.CanTransceiver_Iso1050.Iso1050dub")) + (property (name "edg_path") (value "can.transceiver.logic_cap.cap")) + (property (name "edg_short_path") (value "can.transceiver.logic_cap")) + (property (name "edg_refdes") (value "C21")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "100nF")) + (sheetpath (names "/can/transceiver/") (tstamps "/025c0133/1c0604a7/")) + (tstamps "125a03a2")) +(comp (ref "C22") + (value "can.transceiver.can_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "transceiver")) + (property (name "Sheetfile") (value "edg.parts.CanTransceiver_Iso1050.Iso1050dub")) + (property (name "edg_path") (value "can.transceiver.can_cap.cap")) + (property (name "edg_short_path") (value "can.transceiver.can_cap")) + (property (name "edg_refdes") (value "C22")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "100nF")) + (sheetpath (names "/can/transceiver/") (tstamps "/025c0133/1c0604a7/")) + (tstamps "0aff02c6")) +(comp (ref "R5") + (value "vsense.top_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "vsense")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageDivider")) + (property (name "edg_path") (value "vsense.div.top_res")) + (property (name "edg_short_path") (value "vsense.top_res")) + (property (name "edg_refdes") (value "R5")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "3.3k, 1%, 0.1 W")) + (sheetpath (names "/vsense/") (tstamps "/09320295/")) + (tstamps "0c0c02fd")) +(comp (ref "R6") + (value "vsense.bottom_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "vsense")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageDivider")) + (property (name "edg_path") (value "vsense.div.bottom_res")) + (property (name "edg_short_path") (value "vsense.bottom_res")) + (property (name "edg_refdes") (value "R6")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "1.1k, 1%, 0.1 W")) + (sheetpath (names "/vsense/") (tstamps "/09320295/")) + (tstamps "175b043f")) +(comp (ref "D1") + (value "rgb1.package") + (footprint "LED_SMD:LED_LiteOn_LTST-C19HE1WT") + (property (name "Sheetname") (value "rgb1")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkRgbLed")) + (property (name "edg_path") (value "rgb1.package")) + (property (name "edg_short_path") (value "rgb1.package")) + (property (name "edg_refdes") (value "D1")) + (property (name "edg_part") (value "EAST1616RGBB2 (Everlight Electronics Co Ltd)")) + (property (name "edg_value") (value "EAST1616RGBB2")) + (sheetpath (names "/rgb1/") (tstamps "/03f6016d/")) + (tstamps "0b4e02cd")) +(comp (ref "R7") + (value "rgb1.red_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "rgb1")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkRgbLed")) + (property (name "edg_path") (value "rgb1.red_res")) + (property (name "edg_short_path") (value "rgb1.red_res")) + (property (name "edg_refdes") (value "R7")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "1k, 1%, 0.1 W")) + (sheetpath (names "/rgb1/") (tstamps "/03f6016d/")) + (tstamps "0b8602e5")) +(comp (ref "R8") + (value "rgb1.green_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "rgb1")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkRgbLed")) + (property (name "edg_path") (value "rgb1.green_res")) + (property (name "edg_short_path") (value "rgb1.green_res")) + (property (name "edg_refdes") (value "R8")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "1k, 1%, 0.1 W")) + (sheetpath (names "/rgb1/") (tstamps "/03f6016d/")) + (tstamps "128e03bb")) +(comp (ref "R9") + (value "rgb1.blue_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "rgb1")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkRgbLed")) + (property (name "edg_path") (value "rgb1.blue_res")) + (property (name "edg_short_path") (value "rgb1.blue_res")) + (property (name "edg_refdes") (value "R9")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "1k, 1%, 0.1 W")) + (sheetpath (names "/rgb1/") (tstamps "/03f6016d/")) + (tstamps "0ed20352")) +(comp (ref "D2") + (value "rgb2.package") + (footprint "LED_SMD:LED_LiteOn_LTST-C19HE1WT") + (property (name "Sheetname") (value "rgb2")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkRgbLed")) + (property (name "edg_path") (value "rgb2.package")) + (property (name "edg_short_path") (value "rgb2.package")) + (property (name "edg_refdes") (value "D2")) + (property (name "edg_part") (value "EAST1616RGBB2 (Everlight Electronics Co Ltd)")) + (property (name "edg_value") (value "EAST1616RGBB2")) + (sheetpath (names "/rgb2/") (tstamps "/03f7016e/")) + (tstamps "0b4e02cd")) +(comp (ref "R10") + (value "rgb2.red_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "rgb2")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkRgbLed")) + (property (name "edg_path") (value "rgb2.red_res")) + (property (name "edg_short_path") (value "rgb2.red_res")) + (property (name "edg_refdes") (value "R10")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "1k, 1%, 0.1 W")) + (sheetpath (names "/rgb2/") (tstamps "/03f7016e/")) + (tstamps "0b8602e5")) +(comp (ref "R11") + (value "rgb2.green_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "rgb2")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkRgbLed")) + (property (name "edg_path") (value "rgb2.green_res")) + (property (name "edg_short_path") (value "rgb2.green_res")) + (property (name "edg_refdes") (value "R11")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "1k, 1%, 0.1 W")) + (sheetpath (names "/rgb2/") (tstamps "/03f7016e/")) + (tstamps "128e03bb")) +(comp (ref "R12") + (value "rgb2.blue_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "rgb2")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkRgbLed")) + (property (name "edg_path") (value "rgb2.blue_res")) + (property (name "edg_short_path") (value "rgb2.blue_res")) + (property (name "edg_refdes") (value "R12")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "1k, 1%, 0.1 W")) + (sheetpath (names "/rgb2/") (tstamps "/03f7016e/")) + (tstamps "0ed20352")) +(comp (ref "J4") + (value "light[0].conn") + (footprint "calisco:Molex_DuraClik_vert_4pin") + (property (name "Sheetname") (value "light[0]")) + (property (name "Sheetfile") (value "examples.test_high_switch.LightsDriver")) + (property (name "edg_path") (value "light[0].conn")) + (property (name "edg_short_path") (value "light[0].conn")) + (property (name "edg_refdes") (value "J4")) + (property (name "edg_part") (value "5600200420 (Molex)")) + (property (name "edg_value") (value "5600200420")) + (sheetpath (names "/light[0]/") (tstamps "/0e570301/")) + (tstamps "042701af")) +(comp (ref "Q1") + (value "light[0].drv[0].pre") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[0].drv[0].pre")) + (property (name "edg_short_path") (value "light[0].drv[0].pre")) + (property (name "edg_refdes") (value "Q1")) + (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) + (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) + (sheetpath (names "/light[0]/drv[0]/") (tstamps "/0e570301/083e0235/")) + (tstamps "029c0148")) +(comp (ref "R13") + (value "light[0].drv[0].pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[0].drv[0].pull")) + (property (name "edg_short_path") (value "light[0].drv[0].pull")) + (property (name "edg_refdes") (value "R13")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10k, 1%, 0.1 W")) + (sheetpath (names "/light[0]/drv[0]/") (tstamps "/0e570301/083e0235/")) + (tstamps "046701be")) +(comp (ref "Q2") + (value "light[0].drv[0].drv") + (footprint "Package_TO_SOT_SMD:TO-252-2") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[0].drv[0].drv")) + (property (name "edg_short_path") (value "light[0].drv[0].drv")) + (property (name "edg_refdes") (value "Q2")) + (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) + (sheetpath (names "/light[0]/drv[0]/") (tstamps "/0e570301/083e0235/")) + (tstamps "0289014d")) +(comp (ref "Q3") + (value "light[0].drv[1].pre") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[0].drv[1].pre")) + (property (name "edg_short_path") (value "light[0].drv[1].pre")) + (property (name "edg_refdes") (value "Q3")) + (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) + (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) + (sheetpath (names "/light[0]/drv[1]/") (tstamps "/0e570301/08400236/")) + (tstamps "029c0148")) +(comp (ref "R14") + (value "light[0].drv[1].pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[0].drv[1].pull")) + (property (name "edg_short_path") (value "light[0].drv[1].pull")) + (property (name "edg_refdes") (value "R14")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10k, 1%, 0.1 W")) + (sheetpath (names "/light[0]/drv[1]/") (tstamps "/0e570301/08400236/")) + (tstamps "046701be")) +(comp (ref "Q4") + (value "light[0].drv[1].drv") + (footprint "Package_TO_SOT_SMD:TO-252-2") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[0].drv[1].drv")) + (property (name "edg_short_path") (value "light[0].drv[1].drv")) + (property (name "edg_refdes") (value "Q4")) + (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) + (sheetpath (names "/light[0]/drv[1]/") (tstamps "/0e570301/08400236/")) + (tstamps "0289014d")) +(comp (ref "J5") + (value "light[1].conn") + (footprint "calisco:Molex_DuraClik_vert_4pin") + (property (name "Sheetname") (value "light[1]")) + (property (name "Sheetfile") (value "examples.test_high_switch.LightsDriver")) + (property (name "edg_path") (value "light[1].conn")) + (property (name "edg_short_path") (value "light[1].conn")) + (property (name "edg_refdes") (value "J5")) + (property (name "edg_part") (value "5600200420 (Molex)")) + (property (name "edg_value") (value "5600200420")) + (sheetpath (names "/light[1]/") (tstamps "/0e590302/")) + (tstamps "042701af")) +(comp (ref "Q5") + (value "light[1].drv[0].pre") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[1].drv[0].pre")) + (property (name "edg_short_path") (value "light[1].drv[0].pre")) + (property (name "edg_refdes") (value "Q5")) + (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) + (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) + (sheetpath (names "/light[1]/drv[0]/") (tstamps "/0e590302/083e0235/")) + (tstamps "029c0148")) +(comp (ref "R15") + (value "light[1].drv[0].pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[1].drv[0].pull")) + (property (name "edg_short_path") (value "light[1].drv[0].pull")) + (property (name "edg_refdes") (value "R15")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10k, 1%, 0.1 W")) + (sheetpath (names "/light[1]/drv[0]/") (tstamps "/0e590302/083e0235/")) + (tstamps "046701be")) +(comp (ref "Q6") + (value "light[1].drv[0].drv") + (footprint "Package_TO_SOT_SMD:TO-252-2") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[1].drv[0].drv")) + (property (name "edg_short_path") (value "light[1].drv[0].drv")) + (property (name "edg_refdes") (value "Q6")) + (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) + (sheetpath (names "/light[1]/drv[0]/") (tstamps "/0e590302/083e0235/")) + (tstamps "0289014d")) +(comp (ref "Q7") + (value "light[1].drv[1].pre") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[1].drv[1].pre")) + (property (name "edg_short_path") (value "light[1].drv[1].pre")) + (property (name "edg_refdes") (value "Q7")) + (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) + (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) + (sheetpath (names "/light[1]/drv[1]/") (tstamps "/0e590302/08400236/")) + (tstamps "029c0148")) +(comp (ref "R16") + (value "light[1].drv[1].pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[1].drv[1].pull")) + (property (name "edg_short_path") (value "light[1].drv[1].pull")) + (property (name "edg_refdes") (value "R16")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10k, 1%, 0.1 W")) + (sheetpath (names "/light[1]/drv[1]/") (tstamps "/0e590302/08400236/")) + (tstamps "046701be")) +(comp (ref "Q8") + (value "light[1].drv[1].drv") + (footprint "Package_TO_SOT_SMD:TO-252-2") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[1].drv[1].drv")) + (property (name "edg_short_path") (value "light[1].drv[1].drv")) + (property (name "edg_refdes") (value "Q8")) + (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) + (sheetpath (names "/light[1]/drv[1]/") (tstamps "/0e590302/08400236/")) + (tstamps "0289014d")) +(comp (ref "J6") + (value "light[2].conn") + (footprint "calisco:Molex_DuraClik_vert_4pin") + (property (name "Sheetname") (value "light[2]")) + (property (name "Sheetfile") (value "examples.test_high_switch.LightsDriver")) + (property (name "edg_path") (value "light[2].conn")) + (property (name "edg_short_path") (value "light[2].conn")) + (property (name "edg_refdes") (value "J6")) + (property (name "edg_part") (value "5600200420 (Molex)")) + (property (name "edg_value") (value "5600200420")) + (sheetpath (names "/light[2]/") (tstamps "/0e5b0303/")) + (tstamps "042701af")) +(comp (ref "Q9") + (value "light[2].drv[0].pre") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[2].drv[0].pre")) + (property (name "edg_short_path") (value "light[2].drv[0].pre")) + (property (name "edg_refdes") (value "Q9")) + (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) + (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) + (sheetpath (names "/light[2]/drv[0]/") (tstamps "/0e5b0303/083e0235/")) + (tstamps "029c0148")) +(comp (ref "R17") + (value "light[2].drv[0].pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[2].drv[0].pull")) + (property (name "edg_short_path") (value "light[2].drv[0].pull")) + (property (name "edg_refdes") (value "R17")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10k, 1%, 0.1 W")) + (sheetpath (names "/light[2]/drv[0]/") (tstamps "/0e5b0303/083e0235/")) + (tstamps "046701be")) +(comp (ref "Q10") + (value "light[2].drv[0].drv") + (footprint "Package_TO_SOT_SMD:TO-252-2") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[2].drv[0].drv")) + (property (name "edg_short_path") (value "light[2].drv[0].drv")) + (property (name "edg_refdes") (value "Q10")) + (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) + (sheetpath (names "/light[2]/drv[0]/") (tstamps "/0e5b0303/083e0235/")) + (tstamps "0289014d")) +(comp (ref "Q11") + (value "light[2].drv[1].pre") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[2].drv[1].pre")) + (property (name "edg_short_path") (value "light[2].drv[1].pre")) + (property (name "edg_refdes") (value "Q11")) + (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) + (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) + (sheetpath (names "/light[2]/drv[1]/") (tstamps "/0e5b0303/08400236/")) + (tstamps "029c0148")) +(comp (ref "R18") + (value "light[2].drv[1].pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[2].drv[1].pull")) + (property (name "edg_short_path") (value "light[2].drv[1].pull")) + (property (name "edg_refdes") (value "R18")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10k, 1%, 0.1 W")) + (sheetpath (names "/light[2]/drv[1]/") (tstamps "/0e5b0303/08400236/")) + (tstamps "046701be")) +(comp (ref "Q12") + (value "light[2].drv[1].drv") + (footprint "Package_TO_SOT_SMD:TO-252-2") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[2].drv[1].drv")) + (property (name "edg_short_path") (value "light[2].drv[1].drv")) + (property (name "edg_refdes") (value "Q12")) + (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) + (sheetpath (names "/light[2]/drv[1]/") (tstamps "/0e5b0303/08400236/")) + (tstamps "0289014d")) +(comp (ref "J7") + (value "light[3].conn") + (footprint "calisco:Molex_DuraClik_vert_4pin") + (property (name "Sheetname") (value "light[3]")) + (property (name "Sheetfile") (value "examples.test_high_switch.LightsDriver")) + (property (name "edg_path") (value "light[3].conn")) + (property (name "edg_short_path") (value "light[3].conn")) + (property (name "edg_refdes") (value "J7")) + (property (name "edg_part") (value "5600200420 (Molex)")) + (property (name "edg_value") (value "5600200420")) + (sheetpath (names "/light[3]/") (tstamps "/0e5d0304/")) + (tstamps "042701af")) +(comp (ref "Q13") + (value "light[3].drv[0].pre") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[3].drv[0].pre")) + (property (name "edg_short_path") (value "light[3].drv[0].pre")) + (property (name "edg_refdes") (value "Q13")) + (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) + (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) + (sheetpath (names "/light[3]/drv[0]/") (tstamps "/0e5d0304/083e0235/")) + (tstamps "029c0148")) +(comp (ref "R19") + (value "light[3].drv[0].pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[3].drv[0].pull")) + (property (name "edg_short_path") (value "light[3].drv[0].pull")) + (property (name "edg_refdes") (value "R19")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10k, 1%, 0.1 W")) + (sheetpath (names "/light[3]/drv[0]/") (tstamps "/0e5d0304/083e0235/")) + (tstamps "046701be")) +(comp (ref "Q14") + (value "light[3].drv[0].drv") + (footprint "Package_TO_SOT_SMD:TO-252-2") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[3].drv[0].drv")) + (property (name "edg_short_path") (value "light[3].drv[0].drv")) + (property (name "edg_refdes") (value "Q14")) + (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) + (sheetpath (names "/light[3]/drv[0]/") (tstamps "/0e5d0304/083e0235/")) + (tstamps "0289014d")) +(comp (ref "Q15") + (value "light[3].drv[1].pre") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[3].drv[1].pre")) + (property (name "edg_short_path") (value "light[3].drv[1].pre")) + (property (name "edg_refdes") (value "Q15")) + (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) + (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) + (sheetpath (names "/light[3]/drv[1]/") (tstamps "/0e5d0304/08400236/")) + (tstamps "029c0148")) +(comp (ref "R20") + (value "light[3].drv[1].pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[3].drv[1].pull")) + (property (name "edg_short_path") (value "light[3].drv[1].pull")) + (property (name "edg_refdes") (value "R20")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10k, 1%, 0.1 W")) + (sheetpath (names "/light[3]/drv[1]/") (tstamps "/0e5d0304/08400236/")) + (tstamps "046701be")) +(comp (ref "Q16") + (value "light[3].drv[1].drv") + (footprint "Package_TO_SOT_SMD:TO-252-2") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[3].drv[1].drv")) + (property (name "edg_short_path") (value "light[3].drv[1].drv")) + (property (name "edg_refdes") (value "Q16")) + (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) + (sheetpath (names "/light[3]/drv[1]/") (tstamps "/0e5d0304/08400236/")) + (tstamps "0289014d")) +(comp (ref "J8") + (value "light[4].conn") + (footprint "calisco:Molex_DuraClik_vert_4pin") + (property (name "Sheetname") (value "light[4]")) + (property (name "Sheetfile") (value "examples.test_high_switch.LightsDriver")) + (property (name "edg_path") (value "light[4].conn")) + (property (name "edg_short_path") (value "light[4].conn")) + (property (name "edg_refdes") (value "J8")) + (property (name "edg_part") (value "5600200420 (Molex)")) + (property (name "edg_value") (value "5600200420")) + (sheetpath (names "/light[4]/") (tstamps "/0e5f0305/")) + (tstamps "042701af")) +(comp (ref "Q17") + (value "light[4].drv[0].pre") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[4].drv[0].pre")) + (property (name "edg_short_path") (value "light[4].drv[0].pre")) + (property (name "edg_refdes") (value "Q17")) + (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) + (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) + (sheetpath (names "/light[4]/drv[0]/") (tstamps "/0e5f0305/083e0235/")) + (tstamps "029c0148")) +(comp (ref "R21") + (value "light[4].drv[0].pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[4].drv[0].pull")) + (property (name "edg_short_path") (value "light[4].drv[0].pull")) + (property (name "edg_refdes") (value "R21")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10k, 1%, 0.1 W")) + (sheetpath (names "/light[4]/drv[0]/") (tstamps "/0e5f0305/083e0235/")) + (tstamps "046701be")) +(comp (ref "Q18") + (value "light[4].drv[0].drv") + (footprint "Package_TO_SOT_SMD:TO-252-2") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[4].drv[0].drv")) + (property (name "edg_short_path") (value "light[4].drv[0].drv")) + (property (name "edg_refdes") (value "Q18")) + (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) + (sheetpath (names "/light[4]/drv[0]/") (tstamps "/0e5f0305/083e0235/")) + (tstamps "0289014d")) +(comp (ref "Q19") + (value "light[4].drv[1].pre") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[4].drv[1].pre")) + (property (name "edg_short_path") (value "light[4].drv[1].pre")) + (property (name "edg_refdes") (value "Q19")) + (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) + (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) + (sheetpath (names "/light[4]/drv[1]/") (tstamps "/0e5f0305/08400236/")) + (tstamps "029c0148")) +(comp (ref "R22") + (value "light[4].drv[1].pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[4].drv[1].pull")) + (property (name "edg_short_path") (value "light[4].drv[1].pull")) + (property (name "edg_refdes") (value "R22")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10k, 1%, 0.1 W")) + (sheetpath (names "/light[4]/drv[1]/") (tstamps "/0e5f0305/08400236/")) + (tstamps "046701be")) +(comp (ref "Q20") + (value "light[4].drv[1].drv") + (footprint "Package_TO_SOT_SMD:TO-252-2") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[4].drv[1].drv")) + (property (name "edg_short_path") (value "light[4].drv[1].drv")) + (property (name "edg_refdes") (value "Q20")) + (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) + (sheetpath (names "/light[4]/drv[1]/") (tstamps "/0e5f0305/08400236/")) + (tstamps "0289014d")) +(comp (ref "J9") + (value "light[5].conn") + (footprint "calisco:Molex_DuraClik_vert_4pin") + (property (name "Sheetname") (value "light[5]")) + (property (name "Sheetfile") (value "examples.test_high_switch.LightsDriver")) + (property (name "edg_path") (value "light[5].conn")) + (property (name "edg_short_path") (value "light[5].conn")) + (property (name "edg_refdes") (value "J9")) + (property (name "edg_part") (value "5600200420 (Molex)")) + (property (name "edg_value") (value "5600200420")) + (sheetpath (names "/light[5]/") (tstamps "/0e610306/")) + (tstamps "042701af")) +(comp (ref "Q21") + (value "light[5].drv[0].pre") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[5].drv[0].pre")) + (property (name "edg_short_path") (value "light[5].drv[0].pre")) + (property (name "edg_refdes") (value "Q21")) + (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) + (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) + (sheetpath (names "/light[5]/drv[0]/") (tstamps "/0e610306/083e0235/")) + (tstamps "029c0148")) +(comp (ref "R23") + (value "light[5].drv[0].pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[5].drv[0].pull")) + (property (name "edg_short_path") (value "light[5].drv[0].pull")) + (property (name "edg_refdes") (value "R23")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10k, 1%, 0.1 W")) + (sheetpath (names "/light[5]/drv[0]/") (tstamps "/0e610306/083e0235/")) + (tstamps "046701be")) +(comp (ref "Q22") + (value "light[5].drv[0].drv") + (footprint "Package_TO_SOT_SMD:TO-252-2") + (property (name "Sheetname") (value "drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[5].drv[0].drv")) + (property (name "edg_short_path") (value "light[5].drv[0].drv")) + (property (name "edg_refdes") (value "Q22")) + (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) + (sheetpath (names "/light[5]/drv[0]/") (tstamps "/0e610306/083e0235/")) + (tstamps "0289014d")) +(comp (ref "Q23") + (value "light[5].drv[1].pre") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[5].drv[1].pre")) + (property (name "edg_short_path") (value "light[5].drv[1].pre")) + (property (name "edg_refdes") (value "Q23")) + (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) + (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) + (sheetpath (names "/light[5]/drv[1]/") (tstamps "/0e610306/08400236/")) + (tstamps "029c0148")) +(comp (ref "R24") + (value "light[5].drv[1].pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[5].drv[1].pull")) + (property (name "edg_short_path") (value "light[5].drv[1].pull")) + (property (name "edg_refdes") (value "R24")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "10k, 1%, 0.1 W")) + (sheetpath (names "/light[5]/drv[1]/") (tstamps "/0e610306/08400236/")) + (tstamps "046701be")) +(comp (ref "Q24") + (value "light[5].drv[1].drv") + (footprint "Package_TO_SOT_SMD:TO-252-2") + (property (name "Sheetname") (value "drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "light[5].drv[1].drv")) + (property (name "edg_short_path") (value "light[5].drv[1].drv")) + (property (name "edg_refdes") (value "Q24")) + (property (name "edg_part") (value "AOD403 (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 15A 6mΩ@20V,20A 2.5W 3.5V@250μA P Channel TO-252-2(DPAK) MOSFETs ROHS")) + (sheetpath (names "/light[5]/drv[1]/") (tstamps "/0e610306/08400236/")) + (tstamps "0289014d"))) +(nets +(net (code 1) (name "vin") + (node (ref J1) (pin 2)) + (node (ref U1) (pin 3)) + (node (ref R5) (pin 1)) + (node (ref U1) (pin 5)) + (node (ref J4) (pin 1)) + (node (ref J5) (pin 1)) + (node (ref J6) (pin 1)) + (node (ref J7) (pin 1)) + (node (ref J8) (pin 1)) + (node (ref J9) (pin 1)) + (node (ref C1) (pin 1)) + (node (ref C3) (pin 1)) + (node (ref R13) (pin 1)) + (node (ref Q2) (pin 3)) + (node (ref R14) (pin 1)) + (node (ref Q4) (pin 3)) + (node (ref R15) (pin 1)) + (node (ref Q6) (pin 3)) + (node (ref R16) (pin 1)) + (node (ref Q8) (pin 3)) + (node (ref R17) (pin 1)) + (node (ref Q10) (pin 3)) + (node (ref R18) (pin 1)) + (node (ref Q12) (pin 3)) + (node (ref R19) (pin 1)) + (node (ref Q14) (pin 3)) + (node (ref R20) (pin 1)) + (node (ref Q16) (pin 3)) + (node (ref R21) (pin 1)) + (node (ref Q18) (pin 3)) + (node (ref R22) (pin 1)) + (node (ref Q20) (pin 3)) + (node (ref R23) (pin 1)) + (node (ref Q22) (pin 3)) + (node (ref R24) (pin 1)) + (node (ref Q24) (pin 3))) +(net (code 2) (name "gnd") + (node (ref J1) (pin 1)) + (node (ref J1) (pin 3)) + (node (ref U1) (pin 1)) + (node (ref U2) (pin 17)) + (node (ref U2) (pin 11)) + (node (ref U2) (pin 20)) + (node (ref U2) (pin 40)) + (node (ref U2) (pin 41)) + (node (ref J4) (pin 4)) + (node (ref J5) (pin 4)) + (node (ref J6) (pin 4)) + (node (ref J7) (pin 4)) + (node (ref J8) (pin 4)) + (node (ref J9) (pin 4)) + (node (ref U5) (pin 4)) + (node (ref R6) (pin 2)) + (node (ref C1) (pin 2)) + (node (ref C5) (pin 2)) + (node (ref C6) (pin 2)) + (node (ref C7) (pin 2)) + (node (ref C8) (pin 2)) + (node (ref C9) (pin 2)) + (node (ref C10) (pin 2)) + (node (ref C11) (pin 2)) + (node (ref C12) (pin 2)) + (node (ref C13) (pin 2)) + (node (ref C14) (pin 2)) + (node (ref C15) (pin 2)) + (node (ref C16) (pin 2)) + (node (ref X1) (pin 2)) + (node (ref X1) (pin 4)) + (node (ref Q1) (pin 2)) + (node (ref Q3) (pin 2)) + (node (ref Q5) (pin 2)) + (node (ref Q7) (pin 2)) + (node (ref Q9) (pin 2)) + (node (ref Q11) (pin 2)) + (node (ref Q13) (pin 2)) + (node (ref Q15) (pin 2)) + (node (ref Q17) (pin 2)) + (node (ref Q19) (pin 2)) + (node (ref Q21) (pin 2)) + (node (ref Q23) (pin 2)) + (node (ref R2) (pin 2)) + (node (ref R4) (pin 1)) + (node (ref C21) (pin 2)) + (node (ref J2) (pin 3)) + (node (ref J2) (pin 5)) + (node (ref J2) (pin 9)) + (node (ref C17) (pin 2)) + (node (ref C18) (pin 2)) + (node (ref C3) (pin 2)) + (node (ref C4) (pin 2))) +(net (code 3) (name "v3v3") + (node (ref U2) (pin 16)) + (node (ref U2) (pin 10)) + (node (ref U2) (pin 14)) + (node (ref U2) (pin 30)) + (node (ref U2) (pin 27)) + (node (ref U2) (pin 39)) + (node (ref U2) (pin 42)) + (node (ref D1) (pin 2)) + (node (ref D2) (pin 2)) + (node (ref U5) (pin 1)) + (node (ref R1) (pin 1)) + (node (ref J2) (pin 1)) + (node (ref C5) (pin 1)) + (node (ref C6) (pin 1)) + (node (ref C7) (pin 1)) + (node (ref C8) (pin 1)) + (node (ref C9) (pin 1)) + (node (ref C10) (pin 1)) + (node (ref C11) (pin 1)) + (node (ref C12) (pin 1)) + (node (ref C13) (pin 1)) + (node (ref C14) (pin 1)) + (node (ref C15) (pin 1)) + (node (ref C16) (pin 1)) + (node (ref R3) (pin 1)) + (node (ref C21) (pin 1)) + (node (ref L1) (pin 2)) + (node (ref C4) (pin 1))) +(net (code 4) (name "can_chain_0.txd") + (node (ref U2) (pin 43)) + (node (ref U5) (pin 3))) +(net (code 5) (name "can_chain_0.rxd") + (node (ref U2) (pin 44)) + (node (ref U5) (pin 2))) +(net (code 6) (name "vsense.output") + (node (ref U2) (pin 21)) + (node (ref R5) (pin 2)) + (node (ref R6) (pin 1))) +(net (code 7) (name "mcu.gpio.rgb1_red") + (node (ref U2) (pin 28)) + (node (ref R7) (pin 2))) +(net (code 8) (name "mcu.gpio.rgb1_green") + (node (ref U2) (pin 23)) + (node (ref R8) (pin 2))) +(net (code 9) (name "mcu.gpio.rgb1_blue") + (node (ref U2) (pin 22)) + (node (ref R9) (pin 2))) +(net (code 10) (name "mcu.gpio.rgb2_red") + (node (ref U2) (pin 18)) + (node (ref R10) (pin 2))) +(net (code 11) (name "mcu.gpio.rgb2_green") + (node (ref U2) (pin 15)) + (node (ref R11) (pin 2))) +(net (code 12) (name "mcu.gpio.rgb2_blue") + (node (ref U2) (pin 13)) + (node (ref R12) (pin 2))) +(net (code 13) (name "light[0].control[0]") + (node (ref U2) (pin 12)) + (node (ref Q1) (pin 1))) +(net (code 14) (name "light[0].control[1]") + (node (ref U2) (pin 8)) + (node (ref Q3) (pin 1))) +(net (code 15) (name "light[1].control[0]") + (node (ref U2) (pin 7)) + (node (ref Q5) (pin 1))) +(net (code 16) (name "light[1].control[1]") + (node (ref U2) (pin 6)) + (node (ref Q7) (pin 1))) +(net (code 17) (name "light[2].control[0]") + (node (ref U2) (pin 4)) + (node (ref Q9) (pin 1))) +(net (code 18) (name "light[2].control[1]") + (node (ref U2) (pin 3)) + (node (ref Q11) (pin 1))) +(net (code 19) (name "light[3].control[0]") + (node (ref U2) (pin 2)) + (node (ref Q13) (pin 1))) +(net (code 20) (name "light[3].control[1]") + (node (ref U2) (pin 1)) + (node (ref Q15) (pin 1))) +(net (code 21) (name "light[4].control[0]") + (node (ref U2) (pin 48)) + (node (ref Q17) (pin 1))) +(net (code 22) (name "light[4].control[1]") + (node (ref U2) (pin 47)) + (node (ref Q19) (pin 1))) +(net (code 23) (name "light[5].control[0]") + (node (ref U2) (pin 46)) + (node (ref Q21) (pin 1))) +(net (code 24) (name "light[5].control[1]") + (node (ref U2) (pin 45)) + (node (ref Q23) (pin 1))) +(net (code 25) (name "pwr.fb.output") + (node (ref U1) (pin 4)) + (node (ref R1) (pin 2)) + (node (ref R2) (pin 1))) +(net (code 26) (name "pwr.vbst_cap.neg") + (node (ref C2) (pin 2)) + (node (ref U1) (pin 2)) + (node (ref L1) (pin 1))) +(net (code 27) (name "pwr.vbst_cap.pos") + (node (ref C2) (pin 1)) + (node (ref U1) (pin 6))) +(net (code 28) (name "mcu.xtal_node.xi") + (node (ref U2) (pin 26)) + (node (ref X1) (pin 1)) + (node (ref C17) (pin 1))) +(net (code 29) (name "mcu.xtal_node.xo") + (node (ref U2) (pin 25)) + (node (ref X1) (pin 3)) + (node (ref C18) (pin 1))) +(net (code 30) (name "mcu.swd_node.swdio") + (node (ref U2) (pin 33)) + (node (ref J2) (pin 2)) + (node (ref R3) (pin 2))) +(net (code 31) (name "mcu.swd_node.swclk") + (node (ref U2) (pin 29)) + (node (ref J2) (pin 4)) + (node (ref R4) (pin 2))) +(net (code 32) (name "mcu.reset_node") + (node (ref U2) (pin 34)) + (node (ref J2) (pin 10))) +(net (code 33) (name "mcu.swd.swo") + (node (ref U2) (pin 9)) + (node (ref J2) (pin 6))) +(net (code 34) (name "mcu.swd.tdi") + (node (ref J2) (pin 8))) +(net (code 35) (name "mcu.ic.xtal_rtc.xtal_in") + (node (ref U2) (pin 31))) +(net (code 36) (name "mcu.ic.xtal_rtc.xtal_out") + (node (ref U2) (pin 32))) +(net (code 37) (name "can.can.canh") + (node (ref J3) (pin 4)) + (node (ref U4) (pin 2)) + (node (ref U5) (pin 7))) +(net (code 38) (name "can.can.canl") + (node (ref J3) (pin 5)) + (node (ref U4) (pin 1)) + (node (ref U5) (pin 6))) +(net (code 39) (name "can.conn.pwr") + (node (ref J3) (pin 2)) + (node (ref F1) (pin 1))) +(net (code 40) (name "can.can_fuse.pwr_out") + (node (ref F1) (pin 2)) + (node (ref U3) (pin 1)) + (node (ref U3) (pin 3)) + (node (ref C19) (pin 1))) +(net (code 41) (name "can.conn.gnd") + (node (ref J3) (pin 3)) + (node (ref U4) (pin 3)) + (node (ref U3) (pin 2)) + (node (ref U5) (pin 5)) + (node (ref C19) (pin 2)) + (node (ref C20) (pin 2)) + (node (ref C22) (pin 2))) +(net (code 42) (name "can.transceiver.can_pwr") + (node (ref U5) (pin 8)) + (node (ref U3) (pin 5)) + (node (ref C22) (pin 1)) + (node (ref C20) (pin 1))) +(net (code 43) (name "rgb1.red_res.a") + (node (ref R7) (pin 1)) + (node (ref D1) (pin 3))) +(net (code 44) (name "rgb1.green_res.a") + (node (ref R8) (pin 1)) + (node (ref D1) (pin 4))) +(net (code 45) (name "rgb1.blue_res.a") + (node (ref R9) (pin 1)) + (node (ref D1) (pin 1))) +(net (code 46) (name "rgb2.red_res.a") + (node (ref R10) (pin 1)) + (node (ref D2) (pin 3))) +(net (code 47) (name "rgb2.green_res.a") + (node (ref R11) (pin 1)) + (node (ref D2) (pin 4))) +(net (code 48) (name "rgb2.blue_res.a") + (node (ref R12) (pin 1)) + (node (ref D2) (pin 1))) +(net (code 49) (name "light[0].drv[0].output") + (node (ref J4) (pin 2)) + (node (ref Q2) (pin 2))) +(net (code 50) (name "light[0].drv[1].output") + (node (ref J4) (pin 3)) + (node (ref Q4) (pin 2))) +(net (code 51) (name "light[0].drv[0].pre.drain") + (node (ref Q1) (pin 3)) + (node (ref R13) (pin 2)) + (node (ref Q2) (pin 1))) +(net (code 52) (name "light[0].drv[1].pre.drain") + (node (ref Q3) (pin 3)) + (node (ref R14) (pin 2)) + (node (ref Q4) (pin 1))) +(net (code 53) (name "light[1].drv[0].output") + (node (ref J5) (pin 2)) + (node (ref Q6) (pin 2))) +(net (code 54) (name "light[1].drv[1].output") + (node (ref J5) (pin 3)) + (node (ref Q8) (pin 2))) +(net (code 55) (name "light[1].drv[0].pre.drain") + (node (ref Q5) (pin 3)) + (node (ref R15) (pin 2)) + (node (ref Q6) (pin 1))) +(net (code 56) (name "light[1].drv[1].pre.drain") + (node (ref Q7) (pin 3)) + (node (ref R16) (pin 2)) + (node (ref Q8) (pin 1))) +(net (code 57) (name "light[2].drv[0].output") + (node (ref J6) (pin 2)) + (node (ref Q10) (pin 2))) +(net (code 58) (name "light[2].drv[1].output") + (node (ref J6) (pin 3)) + (node (ref Q12) (pin 2))) +(net (code 59) (name "light[2].drv[0].pre.drain") + (node (ref Q9) (pin 3)) + (node (ref R17) (pin 2)) + (node (ref Q10) (pin 1))) +(net (code 60) (name "light[2].drv[1].pre.drain") + (node (ref Q11) (pin 3)) + (node (ref R18) (pin 2)) + (node (ref Q12) (pin 1))) +(net (code 61) (name "light[3].drv[0].output") + (node (ref J7) (pin 2)) + (node (ref Q14) (pin 2))) +(net (code 62) (name "light[3].drv[1].output") + (node (ref J7) (pin 3)) + (node (ref Q16) (pin 2))) +(net (code 63) (name "light[3].drv[0].pre.drain") + (node (ref Q13) (pin 3)) + (node (ref R19) (pin 2)) + (node (ref Q14) (pin 1))) +(net (code 64) (name "light[3].drv[1].pre.drain") + (node (ref Q15) (pin 3)) + (node (ref R20) (pin 2)) + (node (ref Q16) (pin 1))) +(net (code 65) (name "light[4].drv[0].output") + (node (ref J8) (pin 2)) + (node (ref Q18) (pin 2))) +(net (code 66) (name "light[4].drv[1].output") + (node (ref J8) (pin 3)) + (node (ref Q20) (pin 2))) +(net (code 67) (name "light[4].drv[0].pre.drain") + (node (ref Q17) (pin 3)) + (node (ref R21) (pin 2)) + (node (ref Q18) (pin 1))) +(net (code 68) (name "light[4].drv[1].pre.drain") + (node (ref Q19) (pin 3)) + (node (ref R22) (pin 2)) + (node (ref Q20) (pin 1))) +(net (code 69) (name "light[5].drv[0].output") + (node (ref J9) (pin 2)) + (node (ref Q22) (pin 2))) +(net (code 70) (name "light[5].drv[1].output") + (node (ref J9) (pin 3)) + (node (ref Q24) (pin 2))) +(net (code 71) (name "light[5].drv[0].pre.drain") + (node (ref Q21) (pin 3)) + (node (ref R23) (pin 2)) + (node (ref Q22) (pin 1))) +(net (code 72) (name "light[5].drv[1].pre.drain") + (node (ref Q23) (pin 3)) + (node (ref R24) (pin 2)) + (node (ref Q24) (pin 1)))) +) \ No newline at end of file diff --git a/examples/HighSwitch/HighSwitch.svgpcb.js b/examples/HighSwitch/HighSwitch.svgpcb.js new file mode 100644 index 000000000..007e15310 --- /dev/null +++ b/examples/HighSwitch/HighSwitch.svgpcb.js @@ -0,0 +1,562 @@ +const board = new PCB(); + +// pwr_conn +const J1 = board.add(Molex_DuraClik_vert_3pin, { + translate: pt(2.459, 1.764), rotate: 0, + id: 'J1' +}) +// pwr.ic +const U1 = board.add(SOT_23_6, { + translate: pt(0.956, 1.831), rotate: 0, + id: 'U1' +}) +// pwr.fb.div.top_res +const R1 = board.add(R_0603_1608Metric, { + translate: pt(1.111, 1.966), rotate: 0, + id: 'R1' +}) +// pwr.fb.div.bottom_res +const R2 = board.add(R_0603_1608Metric, { + translate: pt(1.267, 1.966), rotate: 0, + id: 'R2' +}) +// pwr.hf_in_cap.cap +const C1 = board.add(C_0603_1608Metric, { + translate: pt(0.934, 2.072), rotate: 0, + id: 'C1' +}) +// pwr.vbst_cap +const C2 = board.add(C_0603_1608Metric, { + translate: pt(1.090, 2.072), rotate: 0, + id: 'C2' +}) +// pwr.power_path.inductor +const L1 = board.add(L_0805_2012Metric, { + translate: pt(0.944, 1.970), rotate: 0, + id: 'L1' +}) +// pwr.power_path.in_cap.cap +const C3 = board.add(C_0603_1608Metric, { + translate: pt(1.246, 2.072), rotate: 0, + id: 'C3' +}) +// pwr.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { + translate: pt(1.143, 1.802), rotate: 0, + id: 'C4' +}) +// mcu.swd.conn +const J2 = board.add(PinHeader_2x05_P1_27mm_Vertical_SMD, { + translate: pt(2.106, 1.028), rotate: 0, + id: 'J2' +}) +// mcu.ic +const U2 = board.add(LQFP_48_7x7mm_P0_5mm, { + translate: pt(1.694, 1.085), rotate: 0, + id: 'U2' +}) +// mcu.swd_pull.swdio.res +const R3 = board.add(R_0603_1608Metric, { + translate: pt(1.723, 1.356), rotate: 0, + id: 'R3' +}) +// mcu.swd_pull.swclk.res +const R4 = board.add(R_0603_1608Metric, { + translate: pt(1.879, 1.356), rotate: 0, + id: 'R4' +}) +// mcu.pwr_cap[0].cap +const C5 = board.add(C_0603_1608Metric, { + translate: pt(2.035, 1.356), rotate: 0, + id: 'C5' +}) +// mcu.pwr_cap[1].cap +const C6 = board.add(C_0603_1608Metric, { + translate: pt(2.191, 1.356), rotate: 0, + id: 'C6' +}) +// mcu.pwr_cap[2].cap +const C7 = board.add(C_0603_1608Metric, { + translate: pt(2.346, 1.356), rotate: 0, + id: 'C7' +}) +// mcu.pwr_cap[3].cap +const C8 = board.add(C_0603_1608Metric, { + translate: pt(1.550, 1.472), rotate: 0, + id: 'C8' +}) +// mcu.pwr_cap[4].cap +const C9 = board.add(C_0603_1608Metric, { + translate: pt(1.706, 1.472), rotate: 0, + id: 'C9' +}) +// mcu.pwr_cap[5].cap +const C10 = board.add(C_0603_1608Metric, { + translate: pt(1.861, 1.472), rotate: 0, + id: 'C10' +}) +// mcu.vbat_cap.cap +const C11 = board.add(C_0603_1608Metric, { + translate: pt(2.017, 1.472), rotate: 0, + id: 'C11' +}) +// mcu.pwra_cap[0].cap +const C12 = board.add(C_0603_1608Metric, { + translate: pt(2.173, 1.472), rotate: 0, + id: 'C12' +}) +// mcu.pwra_cap[1].cap +const C13 = board.add(C_0805_2012Metric, { + translate: pt(2.381, 1.094), rotate: 0, + id: 'C13' +}) +// mcu.vref_cap[0].cap +const C14 = board.add(C_0603_1608Metric, { + translate: pt(2.329, 1.472), rotate: 0, + id: 'C14' +}) +// mcu.vref_cap[1].cap +const C15 = board.add(C_0603_1608Metric, { + translate: pt(1.550, 1.569), rotate: 0, + id: 'C15' +}) +// mcu.vref_cap[2].cap +const C16 = board.add(C_0805_2012Metric, { + translate: pt(1.558, 1.365), rotate: 0, + id: 'C16' +}) +// mcu.crystal.package +const X1 = board.add(Crystal_SMD_3225_4Pin_3_2x2_5mm, { + translate: pt(2.397, 0.949), rotate: 0, + id: 'X1' +}) +// mcu.crystal.cap_a +const C17 = board.add(C_0603_1608Metric, { + translate: pt(1.706, 1.569), rotate: 0, + id: 'C17' +}) +// mcu.crystal.cap_b +const C18 = board.add(C_0603_1608Metric, { + translate: pt(1.861, 1.569), rotate: 0, + id: 'C18' +}) +// can.conn +const J3 = board.add(Molex_DuraClik_vert_5pin, { + translate: pt(0.000, 2.299), rotate: 0, + id: 'J3' +}) +// can.can_fuse.fuse +const F1 = board.add(R_0603_1608Metric, { + translate: pt(0.231, 2.211), rotate: 0, + id: 'F1' +}) +// can.reg.ic +const U3 = board.add(SOT_23_5, { + translate: pt(0.589, 1.831), rotate: 0, + id: 'U3' +}) +// can.reg.in_cap.cap +const C19 = board.add(C_0603_1608Metric, { + translate: pt(0.387, 2.211), rotate: 0, + id: 'C19' +}) +// can.reg.out_cap.cap +const C20 = board.add(C_0805_2012Metric, { + translate: pt(0.067, 2.221), rotate: 0, + id: 'C20' +}) +// can.esd +const U4 = board.add(SOT_23, { + translate: pt(0.583, 2.004), rotate: 0, + id: 'U4' +}) +// can.transceiver.ic +const U5 = board.add(SOP_8_6_62x9_15mm_P2_54mm, { + translate: pt(0.234, 1.954), rotate: 0, + id: 'U5' +}) +// can.transceiver.logic_cap.cap +const C21 = board.add(C_0603_1608Metric, { + translate: pt(0.543, 2.211), rotate: 0, + id: 'C21' +}) +// can.transceiver.can_cap.cap +const C22 = board.add(C_0603_1608Metric, { + translate: pt(0.699, 2.211), rotate: 0, + id: 'C22' +}) +// vsense.div.top_res +const R5 = board.add(R_0603_1608Metric, { + translate: pt(2.283, 1.793), rotate: 0, + id: 'R5' +}) +// vsense.div.bottom_res +const R6 = board.add(R_0603_1608Metric, { + translate: pt(2.283, 1.889), rotate: 0, + id: 'R6' +}) +// rgb1.package +const D1 = board.add(LED_LiteOn_LTST_C19HE1WT, { + translate: pt(1.485, 1.819), rotate: 0, + id: 'D1' +}) +// rgb1.red_res +const R7 = board.add(R_0603_1608Metric, { + translate: pt(1.624, 1.793), rotate: 0, + id: 'R7' +}) +// rgb1.green_res +const R8 = board.add(R_0603_1608Metric, { + translate: pt(1.502, 1.942), rotate: 0, + id: 'R8' +}) +// rgb1.blue_res +const R9 = board.add(R_0603_1608Metric, { + translate: pt(1.657, 1.942), rotate: 0, + id: 'R9' +}) +// rgb2.package +const D2 = board.add(LED_LiteOn_LTST_C19HE1WT, { + translate: pt(1.875, 1.819), rotate: 0, + id: 'D2' +}) +// rgb2.red_res +const R10 = board.add(R_0603_1608Metric, { + translate: pt(2.014, 1.793), rotate: 0, + id: 'R10' +}) +// rgb2.green_res +const R11 = board.add(R_0603_1608Metric, { + translate: pt(1.892, 1.942), rotate: 0, + id: 'R11' +}) +// rgb2.blue_res +const R12 = board.add(R_0603_1608Metric, { + translate: pt(2.048, 1.942), rotate: 0, + id: 'R12' +}) +// light[0].conn +const J4 = board.add(Molex_DuraClik_vert_4pin, { + translate: pt(0.502, 0.630), rotate: 0, + id: 'J4' +}) +// light[0].drv[0].pre +const Q1 = board.add(SOT_23, { + translate: pt(0.552, 0.382), rotate: 0, + id: 'Q1' +}) +// light[0].drv[0].pull +const R13 = board.add(R_0603_1608Metric, { + translate: pt(0.249, 0.659), rotate: 0, + id: 'R13' +}) +// light[0].drv[0].drv +const Q2 = board.add(TO_252_2, { + translate: pt(0.252, 0.138), rotate: 0, + id: 'Q2' +}) +// light[0].drv[1].pre +const Q3 = board.add(SOT_23, { + translate: pt(0.076, 0.697), rotate: 0, + id: 'Q3' +}) +// light[0].drv[1].pull +const R14 = board.add(R_0603_1608Metric, { + translate: pt(0.405, 0.659), rotate: 0, + id: 'R14' +}) +// light[0].drv[1].drv +const Q4 = board.add(TO_252_2, { + translate: pt(0.252, 0.453), rotate: 0, + id: 'Q4' +}) +// light[1].conn +const J5 = board.add(Molex_DuraClik_vert_4pin, { + translate: pt(1.248, 0.630), rotate: 0, + id: 'J5' +}) +// light[1].drv[0].pre +const Q5 = board.add(SOT_23, { + translate: pt(1.298, 0.382), rotate: 0, + id: 'Q5' +}) +// light[1].drv[0].pull +const R15 = board.add(R_0603_1608Metric, { + translate: pt(0.994, 0.659), rotate: 0, + id: 'R15' +}) +// light[1].drv[0].drv +const Q6 = board.add(TO_252_2, { + translate: pt(0.997, 0.138), rotate: 0, + id: 'Q6' +}) +// light[1].drv[1].pre +const Q7 = board.add(SOT_23, { + translate: pt(0.821, 0.697), rotate: 0, + id: 'Q7' +}) +// light[1].drv[1].pull +const R16 = board.add(R_0603_1608Metric, { + translate: pt(1.150, 0.659), rotate: 0, + id: 'R16' +}) +// light[1].drv[1].drv +const Q8 = board.add(TO_252_2, { + translate: pt(0.997, 0.453), rotate: 0, + id: 'Q8' +}) +// light[2].conn +const J6 = board.add(Molex_DuraClik_vert_4pin, { + translate: pt(1.994, 0.630), rotate: 0, + id: 'J6' +}) +// light[2].drv[0].pre +const Q9 = board.add(SOT_23, { + translate: pt(2.043, 0.382), rotate: 0, + id: 'Q9' +}) +// light[2].drv[0].pull +const R17 = board.add(R_0603_1608Metric, { + translate: pt(1.740, 0.659), rotate: 0, + id: 'R17' +}) +// light[2].drv[0].drv +const Q10 = board.add(TO_252_2, { + translate: pt(1.743, 0.138), rotate: 0, + id: 'Q10' +}) +// light[2].drv[1].pre +const Q11 = board.add(SOT_23, { + translate: pt(1.567, 0.697), rotate: 0, + id: 'Q11' +}) +// light[2].drv[1].pull +const R18 = board.add(R_0603_1608Metric, { + translate: pt(1.896, 0.659), rotate: 0, + id: 'R18' +}) +// light[2].drv[1].drv +const Q12 = board.add(TO_252_2, { + translate: pt(1.743, 0.453), rotate: 0, + id: 'Q12' +}) +// light[3].conn +const J7 = board.add(Molex_DuraClik_vert_4pin, { + translate: pt(2.739, 0.630), rotate: 0, + id: 'J7' +}) +// light[3].drv[0].pre +const Q13 = board.add(SOT_23, { + translate: pt(2.789, 0.382), rotate: 0, + id: 'Q13' +}) +// light[3].drv[0].pull +const R19 = board.add(R_0603_1608Metric, { + translate: pt(2.486, 0.659), rotate: 0, + id: 'R19' +}) +// light[3].drv[0].drv +const Q14 = board.add(TO_252_2, { + translate: pt(2.489, 0.138), rotate: 0, + id: 'Q14' +}) +// light[3].drv[1].pre +const Q15 = board.add(SOT_23, { + translate: pt(2.313, 0.697), rotate: 0, + id: 'Q15' +}) +// light[3].drv[1].pull +const R20 = board.add(R_0603_1608Metric, { + translate: pt(2.642, 0.659), rotate: 0, + id: 'R20' +}) +// light[3].drv[1].drv +const Q16 = board.add(TO_252_2, { + translate: pt(2.489, 0.453), rotate: 0, + id: 'Q16' +}) +// light[4].conn +const J8 = board.add(Molex_DuraClik_vert_4pin, { + translate: pt(0.502, 1.512), rotate: 0, + id: 'J8' +}) +// light[4].drv[0].pre +const Q17 = board.add(SOT_23, { + translate: pt(0.552, 1.264), rotate: 0, + id: 'Q17' +}) +// light[4].drv[0].pull +const R21 = board.add(R_0603_1608Metric, { + translate: pt(0.249, 1.541), rotate: 0, + id: 'R21' +}) +// light[4].drv[0].drv +const Q18 = board.add(TO_252_2, { + translate: pt(0.252, 1.020), rotate: 0, + id: 'Q18' +}) +// light[4].drv[1].pre +const Q19 = board.add(SOT_23, { + translate: pt(0.076, 1.579), rotate: 0, + id: 'Q19' +}) +// light[4].drv[1].pull +const R22 = board.add(R_0603_1608Metric, { + translate: pt(0.405, 1.541), rotate: 0, + id: 'R22' +}) +// light[4].drv[1].drv +const Q20 = board.add(TO_252_2, { + translate: pt(0.252, 1.335), rotate: 0, + id: 'Q20' +}) +// light[5].conn +const J9 = board.add(Molex_DuraClik_vert_4pin, { + translate: pt(1.248, 1.512), rotate: 0, + id: 'J9' +}) +// light[5].drv[0].pre +const Q21 = board.add(SOT_23, { + translate: pt(1.298, 1.264), rotate: 0, + id: 'Q21' +}) +// light[5].drv[0].pull +const R23 = board.add(R_0603_1608Metric, { + translate: pt(0.994, 1.541), rotate: 0, + id: 'R23' +}) +// light[5].drv[0].drv +const Q22 = board.add(TO_252_2, { + translate: pt(0.997, 1.020), rotate: 0, + id: 'Q22' +}) +// light[5].drv[1].pre +const Q23 = board.add(SOT_23, { + translate: pt(0.821, 1.579), rotate: 0, + id: 'Q23' +}) +// light[5].drv[1].pull +const R24 = board.add(R_0603_1608Metric, { + translate: pt(1.150, 1.541), rotate: 0, + id: 'R24' +}) +// light[5].drv[1].drv +const Q24 = board.add(TO_252_2, { + translate: pt(0.997, 1.335), rotate: 0, + id: 'Q24' +}) + +board.setNetlist([ + {name: "vin", pads: [["J1", "2"], ["U1", "3"], ["R5", "1"], ["U1", "5"], ["J4", "1"], ["J5", "1"], ["J6", "1"], ["J7", "1"], ["J8", "1"], ["J9", "1"], ["C1", "1"], ["C3", "1"], ["R13", "1"], ["Q2", "3"], ["R14", "1"], ["Q4", "3"], ["R15", "1"], ["Q6", "3"], ["R16", "1"], ["Q8", "3"], ["R17", "1"], ["Q10", "3"], ["R18", "1"], ["Q12", "3"], ["R19", "1"], ["Q14", "3"], ["R20", "1"], ["Q16", "3"], ["R21", "1"], ["Q18", "3"], ["R22", "1"], ["Q20", "3"], ["R23", "1"], ["Q22", "3"], ["R24", "1"], ["Q24", "3"]]}, + {name: "gnd", pads: [["J1", "1"], ["J1", "3"], ["U1", "1"], ["U2", "17"], ["U2", "11"], ["U2", "20"], ["U2", "40"], ["U2", "41"], ["J4", "4"], ["J5", "4"], ["J6", "4"], ["J7", "4"], ["J8", "4"], ["J9", "4"], ["U5", "4"], ["R6", "2"], ["C1", "2"], ["C5", "2"], ["C6", "2"], ["C7", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["C11", "2"], ["C12", "2"], ["C13", "2"], ["C14", "2"], ["C15", "2"], ["C16", "2"], ["X1", "2"], ["X1", "4"], ["Q1", "2"], ["Q3", "2"], ["Q5", "2"], ["Q7", "2"], ["Q9", "2"], ["Q11", "2"], ["Q13", "2"], ["Q15", "2"], ["Q17", "2"], ["Q19", "2"], ["Q21", "2"], ["Q23", "2"], ["R2", "2"], ["R4", "1"], ["C21", "2"], ["J2", "3"], ["J2", "5"], ["J2", "9"], ["C17", "2"], ["C18", "2"], ["C3", "2"], ["C4", "2"]]}, + {name: "v3v3", pads: [["U2", "16"], ["U2", "10"], ["U2", "14"], ["U2", "30"], ["U2", "27"], ["U2", "39"], ["U2", "42"], ["D1", "2"], ["D2", "2"], ["U5", "1"], ["R1", "1"], ["J2", "1"], ["C5", "1"], ["C6", "1"], ["C7", "1"], ["C8", "1"], ["C9", "1"], ["C10", "1"], ["C11", "1"], ["C12", "1"], ["C13", "1"], ["C14", "1"], ["C15", "1"], ["C16", "1"], ["R3", "1"], ["C21", "1"], ["L1", "2"], ["C4", "1"]]}, + {name: "can_chain_0.txd", pads: [["U2", "43"], ["U5", "3"]]}, + {name: "can_chain_0.rxd", pads: [["U2", "44"], ["U5", "2"]]}, + {name: "vsense.output", pads: [["U2", "21"], ["R5", "2"], ["R6", "1"]]}, + {name: "mcu.gpio.rgb1_red", pads: [["U2", "28"], ["R7", "2"]]}, + {name: "mcu.gpio.rgb1_green", pads: [["U2", "23"], ["R8", "2"]]}, + {name: "mcu.gpio.rgb1_blue", pads: [["U2", "22"], ["R9", "2"]]}, + {name: "mcu.gpio.rgb2_red", pads: [["U2", "18"], ["R10", "2"]]}, + {name: "mcu.gpio.rgb2_green", pads: [["U2", "15"], ["R11", "2"]]}, + {name: "mcu.gpio.rgb2_blue", pads: [["U2", "13"], ["R12", "2"]]}, + {name: "light[0].control[0]", pads: [["U2", "12"], ["Q1", "1"]]}, + {name: "light[0].control[1]", pads: [["U2", "8"], ["Q3", "1"]]}, + {name: "light[1].control[0]", pads: [["U2", "7"], ["Q5", "1"]]}, + {name: "light[1].control[1]", pads: [["U2", "6"], ["Q7", "1"]]}, + {name: "light[2].control[0]", pads: [["U2", "4"], ["Q9", "1"]]}, + {name: "light[2].control[1]", pads: [["U2", "3"], ["Q11", "1"]]}, + {name: "light[3].control[0]", pads: [["U2", "2"], ["Q13", "1"]]}, + {name: "light[3].control[1]", pads: [["U2", "1"], ["Q15", "1"]]}, + {name: "light[4].control[0]", pads: [["U2", "48"], ["Q17", "1"]]}, + {name: "light[4].control[1]", pads: [["U2", "47"], ["Q19", "1"]]}, + {name: "light[5].control[0]", pads: [["U2", "46"], ["Q21", "1"]]}, + {name: "light[5].control[1]", pads: [["U2", "45"], ["Q23", "1"]]}, + {name: "pwr.fb.output", pads: [["U1", "4"], ["R1", "2"], ["R2", "1"]]}, + {name: "pwr.vbst_cap.neg", pads: [["C2", "2"], ["U1", "2"], ["L1", "1"]]}, + {name: "pwr.vbst_cap.pos", pads: [["C2", "1"], ["U1", "6"]]}, + {name: "mcu.xtal_node.xi", pads: [["U2", "26"], ["X1", "1"], ["C17", "1"]]}, + {name: "mcu.xtal_node.xo", pads: [["U2", "25"], ["X1", "3"], ["C18", "1"]]}, + {name: "mcu.swd_node.swdio", pads: [["U2", "33"], ["J2", "2"], ["R3", "2"]]}, + {name: "mcu.swd_node.swclk", pads: [["U2", "29"], ["J2", "4"], ["R4", "2"]]}, + {name: "mcu.reset_node", pads: [["U2", "34"], ["J2", "10"]]}, + {name: "mcu.swd.swo", pads: [["U2", "9"], ["J2", "6"]]}, + {name: "mcu.swd.tdi", pads: [["J2", "8"]]}, + {name: "mcu.ic.xtal_rtc.xtal_in", pads: [["U2", "31"]]}, + {name: "mcu.ic.xtal_rtc.xtal_out", pads: [["U2", "32"]]}, + {name: "can.can.canh", pads: [["J3", "4"], ["U4", "2"], ["U5", "7"]]}, + {name: "can.can.canl", pads: [["J3", "5"], ["U4", "1"], ["U5", "6"]]}, + {name: "can.conn.pwr", pads: [["J3", "2"], ["F1", "1"]]}, + {name: "can.can_fuse.pwr_out", pads: [["F1", "2"], ["U3", "1"], ["U3", "3"], ["C19", "1"]]}, + {name: "can.conn.gnd", pads: [["J3", "3"], ["U4", "3"], ["U3", "2"], ["U5", "5"], ["C19", "2"], ["C20", "2"], ["C22", "2"]]}, + {name: "can.transceiver.can_pwr", pads: [["U5", "8"], ["U3", "5"], ["C22", "1"], ["C20", "1"]]}, + {name: "rgb1.red_res.a", pads: [["R7", "1"], ["D1", "3"]]}, + {name: "rgb1.green_res.a", pads: [["R8", "1"], ["D1", "4"]]}, + {name: "rgb1.blue_res.a", pads: [["R9", "1"], ["D1", "1"]]}, + {name: "rgb2.red_res.a", pads: [["R10", "1"], ["D2", "3"]]}, + {name: "rgb2.green_res.a", pads: [["R11", "1"], ["D2", "4"]]}, + {name: "rgb2.blue_res.a", pads: [["R12", "1"], ["D2", "1"]]}, + {name: "light[0].drv[0].output", pads: [["J4", "2"], ["Q2", "2"]]}, + {name: "light[0].drv[1].output", pads: [["J4", "3"], ["Q4", "2"]]}, + {name: "light[0].drv[0].pre.drain", pads: [["Q1", "3"], ["R13", "2"], ["Q2", "1"]]}, + {name: "light[0].drv[1].pre.drain", pads: [["Q3", "3"], ["R14", "2"], ["Q4", "1"]]}, + {name: "light[1].drv[0].output", pads: [["J5", "2"], ["Q6", "2"]]}, + {name: "light[1].drv[1].output", pads: [["J5", "3"], ["Q8", "2"]]}, + {name: "light[1].drv[0].pre.drain", pads: [["Q5", "3"], ["R15", "2"], ["Q6", "1"]]}, + {name: "light[1].drv[1].pre.drain", pads: [["Q7", "3"], ["R16", "2"], ["Q8", "1"]]}, + {name: "light[2].drv[0].output", pads: [["J6", "2"], ["Q10", "2"]]}, + {name: "light[2].drv[1].output", pads: [["J6", "3"], ["Q12", "2"]]}, + {name: "light[2].drv[0].pre.drain", pads: [["Q9", "3"], ["R17", "2"], ["Q10", "1"]]}, + {name: "light[2].drv[1].pre.drain", pads: [["Q11", "3"], ["R18", "2"], ["Q12", "1"]]}, + {name: "light[3].drv[0].output", pads: [["J7", "2"], ["Q14", "2"]]}, + {name: "light[3].drv[1].output", pads: [["J7", "3"], ["Q16", "2"]]}, + {name: "light[3].drv[0].pre.drain", pads: [["Q13", "3"], ["R19", "2"], ["Q14", "1"]]}, + {name: "light[3].drv[1].pre.drain", pads: [["Q15", "3"], ["R20", "2"], ["Q16", "1"]]}, + {name: "light[4].drv[0].output", pads: [["J8", "2"], ["Q18", "2"]]}, + {name: "light[4].drv[1].output", pads: [["J8", "3"], ["Q20", "2"]]}, + {name: "light[4].drv[0].pre.drain", pads: [["Q17", "3"], ["R21", "2"], ["Q18", "1"]]}, + {name: "light[4].drv[1].pre.drain", pads: [["Q19", "3"], ["R22", "2"], ["Q20", "1"]]}, + {name: "light[5].drv[0].output", pads: [["J9", "2"], ["Q22", "2"]]}, + {name: "light[5].drv[1].output", pads: [["J9", "3"], ["Q24", "2"]]}, + {name: "light[5].drv[0].pre.drain", pads: [["Q21", "3"], ["R23", "2"], ["Q22", "1"]]}, + {name: "light[5].drv[1].pre.drain", pads: [["Q23", "3"], ["R24", "2"], ["Q24", "1"]]} +]) + +const limit0 = pt(-0.07874015748031496, -0.07874015748031496); +const limit1 = pt(2.9826771653543305, 2.4173228346456694); +const xMin = Math.min(limit0[0], limit1[0]); +const xMax = Math.max(limit0[0], limit1[0]); +const yMin = Math.min(limit0[1], limit1[1]); +const yMax = Math.max(limit0[1], limit1[1]); + +const filletRadius = 0.1; +const outline = path( + [(xMin+xMax/2), yMax], + ["fillet", filletRadius, [xMax, yMax]], + ["fillet", filletRadius, [xMax, yMin]], + ["fillet", filletRadius, [xMin, yMin]], + ["fillet", filletRadius, [xMin, yMax]], + [(xMin+xMax/2), yMax], +); +board.addShape("outline", outline); + +renderPCB({ + pcb: board, + layerColors: { + "F.Paste": "#000000ff", + "F.Mask": "#000000ff", + "B.Mask": "#000000ff", + "componentLabels": "#00e5e5e5", + "outline": "#002d00ff", + "padLabels": "#ffff99e5", + "B.Cu": "#ef4e4eff", + "F.Cu": "#ff8c00cc", + }, + limits: { + x: [xMin, xMax], + y: [yMin, yMax] + }, + background: "#00000000", + mmPerUnit: 25.4 +}) + + diff --git a/examples/IotDisplay/IotDisplay.net b/examples/IotDisplay/IotDisplay.net new file mode 100644 index 000000000..6f1a624f2 --- /dev/null +++ b/examples/IotDisplay/IotDisplay.net @@ -0,0 +1,1176 @@ +(export (version D) +(components +(comp (ref "H1") + (value "jlc_th.th1") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th1")) + (property (name "edg_short_path") (value "jlc_th.th1")) + (property (name "edg_refdes") (value "H1")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "0260010e")) +(comp (ref "H2") + (value "jlc_th.th2") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th2")) + (property (name "edg_short_path") (value "jlc_th.th2")) + (property (name "edg_refdes") (value "H2")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "0261010f")) +(comp (ref "H3") + (value "jlc_th.th3") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th3")) + (property (name "edg_short_path") (value "jlc_th.th3")) + (property (name "edg_refdes") (value "H3")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "02620110")) +(comp (ref "J1") + (value "usb") + (footprint "Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "usb.conn")) + (property (name "edg_short_path") (value "usb")) + (property (name "edg_refdes") (value "J1")) + (property (name "edg_part") (value "COM-15111 (Sparkfun)")) + (property (name "edg_value") (value "COM-15111")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "02aa014b")) +(comp (ref "J2") + (value "batt") + (footprint "Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "batt.conn")) + (property (name "edg_short_path") (value "batt")) + (property (name "edg_refdes") (value "J2")) + (property (name "edg_part") (value "S2B-PH-K (JST)")) + (property (name "edg_value") (value "S2B-PH-K")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "040b01ac")) +(comp (ref "TP1") + (value "batt") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_pwr.tp")) + (property (name "edg_short_path") (value "tp_pwr")) + (property (name "edg_refdes") (value "TP1")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "batt")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "091a029d")) +(comp (ref "TP2") + (value "gnd") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_gnd.tp")) + (property (name "edg_short_path") (value "tp_gnd")) + (property (name "edg_refdes") (value "TP2")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "gnd")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "08df027d")) +(comp (ref "Q1") + (value "vbat_prot") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "vbat_prot.fet")) + (property (name "edg_short_path") (value "vbat_prot")) + (property (name "edg_refdes") (value "Q1")) + (property (name "edg_part") (value "AO3401A (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 4A 44mΩ@10V,4.3A 1.4W 1.3V@250μA P Channel SOT-23-3L MOSFETs ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "12e103d2")) +(comp (ref "U1") + (value "reg_3v3.ic") + (footprint "Package_TO_SOT_SMD:SOT-23-6") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) + (property (name "edg_path") (value "reg_3v3.ic")) + (property (name "edg_short_path") (value "reg_3v3.ic")) + (property (name "edg_refdes") (value "U1")) + (property (name "edg_part") (value "TPS54202H (Texas Instruments)")) + (property (name "edg_value") (value "TPS54202H")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "013700cd")) +(comp (ref "R1") + (value "reg_3v3.fb.top_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "fb")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) + (property (name "edg_path") (value "reg_3v3.fb.div.top_res")) + (property (name "edg_short_path") (value "reg_3v3.fb.top_res")) + (property (name "edg_refdes") (value "R1")) + (property (name "edg_part") (value "0603WAF1503T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/reg_3v3/fb/") (tstamps "/0aba027a/013000c9/")) + (tstamps "0c0c02fd")) +(comp (ref "R2") + (value "reg_3v3.fb.bottom_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "fb")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) + (property (name "edg_path") (value "reg_3v3.fb.div.bottom_res")) + (property (name "edg_short_path") (value "reg_3v3.fb.bottom_res")) + (property (name "edg_refdes") (value "R2")) + (property (name "edg_part") (value "0603WAF3302T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 33kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/reg_3v3/fb/") (tstamps "/0aba027a/013000c9/")) + (tstamps "175b043f")) +(comp (ref "C1") + (value "reg_3v3.hf_in_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) + (property (name "edg_path") (value "reg_3v3.hf_in_cap.cap")) + (property (name "edg_short_path") (value "reg_3v3.hf_in_cap")) + (property (name "edg_refdes") (value "C1")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "11ed0398")) +(comp (ref "C2") + (value "reg_3v3.boot_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) + (property (name "edg_path") (value "reg_3v3.boot_cap")) + (property (name "edg_short_path") (value "reg_3v3.boot_cap")) + (property (name "edg_refdes") (value "C2")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "0ed60348")) +(comp (ref "L1") + (value "reg_3v3.power_path.inductor") + (footprint "Inductor_SMD:L_Sunlord_SWPA4030S") + (property (name "Sheetname") (value "power_path")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) + (property (name "edg_path") (value "reg_3v3.power_path.inductor")) + (property (name "edg_short_path") (value "reg_3v3.power_path.inductor")) + (property (name "edg_refdes") (value "L1")) + (property (name "edg_part") (value "SWPA4030S150MT (Sunlord)")) + (property (name "edg_value") (value "1.11A 15uH ±20% 247mΩ SMD Power Inductors ROHS")) + (sheetpath (names "/reg_3v3/power_path/") (tstamps "/0aba027a/1786043a/")) + (tstamps "0f2b0369")) +(comp (ref "C3") + (value "reg_3v3.power_path.in_cap") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "power_path")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) + (property (name "edg_path") (value "reg_3v3.power_path.in_cap.cap")) + (property (name "edg_short_path") (value "reg_3v3.power_path.in_cap")) + (property (name "edg_refdes") (value "C3")) + (property (name "edg_part") (value "CL31A106KBHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 10uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/power_path/") (tstamps "/0aba027a/1786043a/")) + (tstamps "0879026b")) +(comp (ref "C4") + (value "reg_3v3.power_path.out_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "power_path")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) + (property (name "edg_path") (value "reg_3v3.power_path.out_cap.cap")) + (property (name "edg_short_path") (value "reg_3v3.power_path.out_cap")) + (property (name "edg_refdes") (value "C4")) + (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/power_path/") (tstamps "/0aba027a/1786043a/")) + (tstamps "0be902ec")) +(comp (ref "R3") + (value "reg_3v3.en_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) + (property (name "edg_path") (value "reg_3v3.en_res")) + (property (name "edg_short_path") (value "reg_3v3.en_res")) + (property (name "edg_refdes") (value "R3")) + (property (name "edg_part") (value "0603WAF5103T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 510kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "0899027d")) +(comp (ref "TP3") + (value "v3v3") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_3v3.tp")) + (property (name "edg_short_path") (value "tp_3v3")) + (property (name "edg_refdes") (value "TP3")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "v3v3")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "08220220")) +(comp (ref "Q2") + (value "vbat_sense_gate.pre") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "vbat_sense_gate")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "vbat_sense_gate.pre")) + (property (name "edg_short_path") (value "vbat_sense_gate.pre")) + (property (name "edg_refdes") (value "Q2")) + (property (name "edg_part") (value "2N7002 (Changjiang Electronics Tech (CJ))")) + (property (name "edg_value") (value "60V 115mA 200mW 7.5Ω@10V,500mA 2.5V@250μA N Channel SOT-23(SOT-23-3) MOSFETs ROHS")) + (sheetpath (names "/vbat_sense_gate/") (tstamps "/31ac062b/")) + (tstamps "029c0148")) +(comp (ref "R4") + (value "vbat_sense_gate.pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "vbat_sense_gate")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "vbat_sense_gate.pull")) + (property (name "edg_short_path") (value "vbat_sense_gate.pull")) + (property (name "edg_refdes") (value "R4")) + (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/vbat_sense_gate/") (tstamps "/31ac062b/")) + (tstamps "046701be")) +(comp (ref "Q3") + (value "vbat_sense_gate.drv") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "vbat_sense_gate")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "vbat_sense_gate.drv")) + (property (name "edg_short_path") (value "vbat_sense_gate.drv")) + (property (name "edg_refdes") (value "Q3")) + (property (name "edg_part") (value "AO3401A (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 4A 44mΩ@10V,4.3A 1.4W 1.3V@250μA P Channel SOT-23-3L MOSFETs ROHS")) + (sheetpath (names "/vbat_sense_gate/") (tstamps "/31ac062b/")) + (tstamps "0289014d")) +(comp (ref "U2") + (value "mcu.ic") + (footprint "RF_Module:ESP32-S3-WROOM-1") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.ic")) + (property (name "edg_short_path") (value "mcu.ic")) + (property (name "edg_refdes") (value "U2")) + (property (name "edg_part") (value "ESP32-S3-WROOM-1-N16R8 (Espressif Systems)")) + (property (name "edg_value") (value "ESP32-S3-WROOM-1-N16R8")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "013700cd")) +(comp (ref "C5") + (value "mcu.vcc_cap0") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.vcc_cap0.cap")) + (property (name "edg_short_path") (value "mcu.vcc_cap0")) + (property (name "edg_refdes") (value "C5")) + (property (name "edg_part") (value "CL31A226KPHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "10V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "0e590300")) +(comp (ref "C6") + (value "mcu.vcc_cap1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.vcc_cap1.cap")) + (property (name "edg_short_path") (value "mcu.vcc_cap1")) + (property (name "edg_refdes") (value "C6")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "0e5a0301")) +(comp (ref "J3") + (value "mcu.prog") + (footprint "Connector:Tag-Connect_TC2030-IDC-FP_2x03_P1.27mm_Vertical") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.prog.conn")) + (property (name "edg_short_path") (value "mcu.prog")) + (property (name "edg_refdes") (value "J3")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "045f01b9")) +(comp (ref "SW1") + (value "mcu.boot") + (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.boot.package")) + (property (name "edg_short_path") (value "mcu.boot")) + (property (name "edg_refdes") (value "SW1")) + (property (name "edg_part") (value "5.1mm switch")) + (property (name "edg_value") (value "5.1mm switch")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "042b01b5")) +(comp (ref "R5") + (value "mcu.en_pull.r") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "en_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) + (property (name "edg_path") (value "mcu.en_pull.rc.r")) + (property (name "edg_short_path") (value "mcu.en_pull.r")) + (property (name "edg_refdes") (value "R5")) + (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) + (tstamps "00730073")) +(comp (ref "C7") + (value "mcu.en_pull.c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "en_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) + (property (name "edg_path") (value "mcu.en_pull.rc.c")) + (property (name "edg_short_path") (value "mcu.en_pull.c")) + (property (name "edg_refdes") (value "C7")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) + (tstamps "00640064")) +(comp (ref "U3") + (value "usb_esd") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "usb_esd")) + (property (name "edg_short_path") (value "usb_esd")) + (property (name "edg_refdes") (value "U3")) + (property (name "edg_part") (value "PESD5V0X1BT (Nexperia)")) + (property (name "edg_value") (value "PESD5V0X1BT")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0bcb02e6")) +(comp (ref "D1") + (value "ledr.package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "ledr")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "ledr.package")) + (property (name "edg_short_path") (value "ledr.package")) + (property (name "edg_refdes") (value "D1")) + (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) + (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) + (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) + (tstamps "0b4e02cd")) +(comp (ref "R6") + (value "ledr.res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "ledr")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "ledr.res")) + (property (name "edg_short_path") (value "ledr.res")) + (property (name "edg_refdes") (value "R6")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) + (tstamps "0296014b")) +(comp (ref "D2") + (value "ledg.package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "ledg")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "ledg.package")) + (property (name "edg_short_path") (value "ledg.package")) + (property (name "edg_refdes") (value "D2")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/ledg/") (tstamps "/0412019d/")) + (tstamps "0b4e02cd")) +(comp (ref "R7") + (value "ledg.res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "ledg")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "ledg.res")) + (property (name "edg_short_path") (value "ledg.res")) + (property (name "edg_refdes") (value "R7")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/ledg/") (tstamps "/0412019d/")) + (tstamps "0296014b")) +(comp (ref "D3") + (value "ledb.package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "ledb")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "ledb.package")) + (property (name "edg_short_path") (value "ledb.package")) + (property (name "edg_refdes") (value "D3")) + (property (name "edg_part") (value "C2290 (Hubei KENTO Elec)")) + (property (name "edg_value") (value "White 0603 Light Emitting Diodes (LED) RoHS")) + (sheetpath (names "/ledb/") (tstamps "/040d0198/")) + (tstamps "0b4e02cd")) +(comp (ref "R8") + (value "ledb.res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "ledb")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "ledb.res")) + (property (name "edg_short_path") (value "ledb.res")) + (property (name "edg_refdes") (value "R8")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/ledb/") (tstamps "/040d0198/")) + (tstamps "0296014b")) +(comp (ref "SW2") + (value "sw") + (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "sw.package")) + (property (name "edg_short_path") (value "sw")) + (property (name "edg_refdes") (value "SW2")) + (property (name "edg_part") (value "5.1mm switch")) + (property (name "edg_value") (value "5.1mm switch")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "015f00eb")) +(comp (ref "R9") + (value "vbat_sense.top_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "vbat_sense")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) + (property (name "edg_path") (value "vbat_sense.div.top_res")) + (property (name "edg_short_path") (value "vbat_sense.top_res")) + (property (name "edg_refdes") (value "R9")) + (property (name "edg_part") (value "0603WAF4703T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 470kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/vbat_sense/") (tstamps "/16ee042b/")) + (tstamps "0c0c02fd")) +(comp (ref "R10") + (value "vbat_sense.bottom_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "vbat_sense")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) + (property (name "edg_path") (value "vbat_sense.div.bottom_res")) + (property (name "edg_short_path") (value "vbat_sense.bottom_res")) + (property (name "edg_refdes") (value "R10")) + (property (name "edg_part") (value "0603WAF1003T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 100kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/vbat_sense/") (tstamps "/16ee042b/")) + (tstamps "175b043f")) +(comp (ref "U4") + (value "touch_duck") + (footprint "edg:Symbol_DucklingSolid") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "touch_duck")) + (property (name "edg_short_path") (value "touch_duck")) + (property (name "edg_refdes") (value "U4")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "1741042a")) +(comp (ref "U5") + (value "touch_lemur") + (footprint "edg:Symbol_LemurSolid") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "touch_lemur")) + (property (name "edg_short_path") (value "touch_lemur")) + (property (name "edg_refdes") (value "U5")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "1bf704a8")) +(comp (ref "Q4") + (value "epd_gate") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "epd_gate.drv")) + (property (name "edg_short_path") (value "epd_gate")) + (property (name "edg_refdes") (value "Q4")) + (property (name "edg_part") (value "AO3401A (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 4A 44mΩ@10V,4.3A 1.4W 1.3V@250μA P Channel SOT-23-3L MOSFETs ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0e7f033a")) +(comp (ref "Q5") + (value "mem_gate") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "mem_gate.drv")) + (property (name "edg_short_path") (value "mem_gate")) + (property (name "edg_refdes") (value "Q5")) + (property (name "edg_part") (value "AO3401A (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 4A 44mΩ@10V,4.3A 1.4W 1.3V@250μA P Channel SOT-23-3L MOSFETs ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0ea80340")) +(comp (ref "J4") + (value "epd.device") + (footprint "Connector_FFC-FPC:TE_2-1734839-4_1x24-1MP_P0.5mm_Horizontal") + (property (name "Sheetname") (value "epd")) + (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) + (property (name "edg_path") (value "epd.device.conn.conn")) + (property (name "edg_short_path") (value "epd.device")) + (property (name "edg_refdes") (value "J4")) + (property (name "edg_part") (value "AFC07-S24EC*-00 (Jushuo)")) + (property (name "edg_value") (value "AFC07-S24EC*-00")) + (sheetpath (names "/epd/") (tstamps "/0276013a/")) + (tstamps "08950271")) +(comp (ref "C8") + (value "epd.vdd_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "epd")) + (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) + (property (name "edg_path") (value "epd.vdd_cap.cap")) + (property (name "edg_short_path") (value "epd.vdd_cap")) + (property (name "edg_refdes") (value "C8")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/epd/") (tstamps "/0276013a/")) + (tstamps "0b6402d2")) +(comp (ref "C9") + (value "epd.vdd1v8_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "epd")) + (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) + (property (name "edg_path") (value "epd.vdd1v8_cap.cap")) + (property (name "edg_short_path") (value "epd.vdd1v8_cap")) + (property (name "edg_refdes") (value "C9")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/epd/") (tstamps "/0276013a/")) + (tstamps "145403b1")) +(comp (ref "C10") + (value "epd.vgl_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "epd")) + (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) + (property (name "edg_path") (value "epd.vgl_cap.cap")) + (property (name "edg_short_path") (value "epd.vgl_cap")) + (property (name "edg_refdes") (value "C10")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/epd/") (tstamps "/0276013a/")) + (tstamps "0b9e02dd")) +(comp (ref "C11") + (value "epd.vgh_cap") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "epd")) + (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) + (property (name "edg_path") (value "epd.vgh_cap.cap")) + (property (name "edg_short_path") (value "epd.vgh_cap")) + (property (name "edg_refdes") (value "C11")) + (property (name "edg_part") (value "1206B475K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 4.7uF X7R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/epd/") (tstamps "/0276013a/")) + (tstamps "0b8a02d9")) +(comp (ref "C12") + (value "epd.vsh_cap") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "epd")) + (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) + (property (name "edg_path") (value "epd.vsh_cap.cap")) + (property (name "edg_short_path") (value "epd.vsh_cap")) + (property (name "edg_refdes") (value "C12")) + (property (name "edg_part") (value "1206B475K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 4.7uF X7R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/epd/") (tstamps "/0276013a/")) + (tstamps "0bd202e5")) +(comp (ref "C13") + (value "epd.vsl_cap") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "epd")) + (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) + (property (name "edg_path") (value "epd.vsl_cap.cap")) + (property (name "edg_short_path") (value "epd.vsl_cap")) + (property (name "edg_refdes") (value "C13")) + (property (name "edg_part") (value "1206B475K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 4.7uF X7R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/epd/") (tstamps "/0276013a/")) + (tstamps "0be602e9")) +(comp (ref "C14") + (value "epd.vcom_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "epd")) + (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) + (property (name "edg_path") (value "epd.vcom_cap.cap")) + (property (name "edg_short_path") (value "epd.vcom_cap")) + (property (name "edg_refdes") (value "C14")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/epd/") (tstamps "/0276013a/")) + (tstamps "0eff0349")) +(comp (ref "Q6") + (value "epd.boost.fet") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "boost")) + (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) + (property (name "edg_path") (value "epd.boost.fet")) + (property (name "edg_short_path") (value "epd.boost.fet")) + (property (name "edg_refdes") (value "Q6")) + (property (name "edg_part") (value "AO3400A (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 5.7A 26.5mΩ@10V,5.7A 1.4W 1.5V@250μA N Channel SOT-23-3L MOSFETs ROHS")) + (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) + (tstamps "02730140")) +(comp (ref "L2") + (value "epd.boost.inductor") + (footprint "Inductor_SMD:L_1210_3225Metric") + (property (name "Sheetname") (value "boost")) + (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) + (property (name "edg_path") (value "epd.boost.inductor")) + (property (name "edg_short_path") (value "epd.boost.inductor")) + (property (name "edg_refdes") (value "L2")) + (property (name "edg_part") (value "CBC3225T680KR (Taiyo Yuden)")) + (property (name "edg_value") (value "320mA 68uH ±10% 1Ω 1210 Power Inductors ROHS")) + (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) + (tstamps "0f2b0369")) +(comp (ref "R11") + (value "epd.boost.sense") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "boost")) + (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) + (property (name "edg_path") (value "epd.boost.sense")) + (property (name "edg_short_path") (value "epd.boost.sense")) + (property (name "edg_refdes") (value "R11")) + (property (name "edg_part") (value "RS-03L3R00FT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "±1% 100mW 50V ±250ppm/℃ -55℃~+155℃ 3Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) + (tstamps "066d021f")) +(comp (ref "C15") + (value "epd.boost.in_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "boost")) + (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) + (property (name "edg_path") (value "epd.boost.in_cap.cap")) + (property (name "edg_short_path") (value "epd.boost.in_cap")) + (property (name "edg_refdes") (value "C15")) + (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) + (tstamps "0879026b")) +(comp (ref "D4") + (value "epd.boost.diode") + (footprint "Diode_SMD:D_SOD-323") + (property (name "Sheetname") (value "boost")) + (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) + (property (name "edg_path") (value "epd.boost.diode")) + (property (name "edg_short_path") (value "epd.boost.diode")) + (property (name "edg_refdes") (value "D4")) + (property (name "edg_part") (value "B5817WS (Shandong Jingdao Microelectronics)")) + (property (name "edg_value") (value "20V 450mV@1A 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) + (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) + (tstamps "06170206")) +(comp (ref "D5") + (value "epd.boost.boot_neg_diode") + (footprint "Diode_SMD:D_SOD-323") + (property (name "Sheetname") (value "boost")) + (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) + (property (name "edg_path") (value "epd.boost.boot_neg_diode")) + (property (name "edg_short_path") (value "epd.boost.boot_neg_diode")) + (property (name "edg_refdes") (value "D5")) + (property (name "edg_part") (value "B5817WS (Shandong Jingdao Microelectronics)")) + (property (name "edg_value") (value "20V 450mV@1A 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) + (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) + (tstamps "2b1605b2")) +(comp (ref "D6") + (value "epd.boost.boot_gnd_diode") + (footprint "Diode_SMD:D_SOD-323") + (property (name "Sheetname") (value "boost")) + (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) + (property (name "edg_path") (value "epd.boost.boot_gnd_diode")) + (property (name "edg_short_path") (value "epd.boost.boot_gnd_diode")) + (property (name "edg_refdes") (value "D6")) + (property (name "edg_part") (value "B5817WS (Shandong Jingdao Microelectronics)")) + (property (name "edg_value") (value "20V 450mV@1A 1A SOD-323 Schottky Barrier Diodes (SBD) ROHS")) + (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) + (tstamps "2b0a05b1")) +(comp (ref "C16") + (value "epd.boost.boot_cap") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "boost")) + (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) + (property (name "edg_path") (value "epd.boost.boot_cap")) + (property (name "edg_short_path") (value "epd.boost.boot_cap")) + (property (name "edg_refdes") (value "C16")) + (property (name "edg_part") (value "1206B475K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 4.7uF X7R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) + (tstamps "0ed60348")) +(comp (ref "C17") + (value "epd.boost.out_cap") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "boost")) + (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) + (property (name "edg_path") (value "epd.boost.out_cap.cap")) + (property (name "edg_short_path") (value "epd.boost.out_cap")) + (property (name "edg_refdes") (value "C17")) + (property (name "edg_part") (value "1206B475K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 4.7uF X7R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) + (tstamps "0be902ec")) +(comp (ref "C18") + (value "epd.boost.neg_out_cap") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "boost")) + (property (name "Sheetfile") (value "edg.parts.EInkBoostPowerPath.EInkBoostPowerPath")) + (property (name "edg_path") (value "epd.boost.neg_out_cap.cap")) + (property (name "edg_short_path") (value "epd.boost.neg_out_cap")) + (property (name "edg_refdes") (value "C18")) + (property (name "edg_part") (value "1206B475K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 4.7uF X7R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/epd/boost/") (tstamps "/0276013a/06520228/")) + (tstamps "1b300485")) +(comp (ref "R12") + (value "epd.gate_pdr") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "epd")) + (property (name "Sheetfile") (value "edg.parts.EInk_WaveshareDriver.Waveshare_Epd")) + (property (name "edg_path") (value "epd.gate_pdr")) + (property (name "edg_short_path") (value "epd.gate_pdr")) + (property (name "edg_refdes") (value "R12")) + (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/epd/") (tstamps "/0276013a/")) + (tstamps "0e9e0347")) +(comp (ref "TP4") + (value "epd.sck") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "tp_epd")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) + (property (name "edg_path") (value "tp_epd.tp_sck.tp")) + (property (name "edg_short_path") (value "tp_epd.tp_sck")) + (property (name "edg_refdes") (value "TP4")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "epd.sck")) + (sheetpath (names "/tp_epd/") (tstamps "/08dd027d/")) + (tstamps "08f40285")) +(comp (ref "TP5") + (value "epd.mosi") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "tp_epd")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) + (property (name "edg_path") (value "tp_epd.tp_mosi.tp")) + (property (name "edg_short_path") (value "tp_epd.tp_mosi")) + (property (name "edg_refdes") (value "TP5")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "epd.mosi")) + (sheetpath (names "/tp_epd/") (tstamps "/08dd027d/")) + (tstamps "0bfe02fc")) +(comp (ref "TP6") + (value "epd.miso") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "tp_epd")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) + (property (name "edg_path") (value "tp_epd.tp_miso.tp")) + (property (name "edg_short_path") (value "tp_epd.tp_miso")) + (property (name "edg_refdes") (value "TP6")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "epd.miso")) + (sheetpath (names "/tp_epd/") (tstamps "/08dd027d/")) + (tstamps "0bf202fc")) +(comp (ref "TP7") + (value "rst") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_erst.tp")) + (property (name "edg_short_path") (value "tp_erst")) + (property (name "edg_refdes") (value "TP7")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "rst")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0bf20302")) +(comp (ref "TP8") + (value "dc") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_dc.tp")) + (property (name "edg_short_path") (value "tp_dc")) + (property (name "edg_refdes") (value "TP8")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "dc")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0651020b")) +(comp (ref "TP9") + (value "cs") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_epd_cs.tp")) + (property (name "edg_short_path") (value "tp_epd_cs")) + (property (name "edg_refdes") (value "TP9")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "cs")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "12aa03b2")) +(comp (ref "TP10") + (value "bsy") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_busy.tp")) + (property (name "edg_short_path") (value "tp_busy")) + (property (name "edg_refdes") (value "TP10")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "bsy")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0bf40307")) +(comp (ref "J5") + (value "sd") + (footprint "Connector_Card:microSD_HC_Molex_104031-0811") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "sd")) + (property (name "edg_short_path") (value "sd")) + (property (name "edg_refdes") (value "J5")) + (property (name "edg_part") (value "104031-0811 (Molex)")) + (property (name "edg_value") (value "104031-0811")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "014c00d8")) +(comp (ref "U6") + (value "flash.ic") + (footprint "Package_SO:SOIC-8_5.23x5.23mm_P1.27mm") + (property (name "Sheetname") (value "flash")) + (property (name "Sheetfile") (value "edg.parts.SpiMemory_W25q.W25q")) + (property (name "edg_path") (value "flash.ic")) + (property (name "edg_short_path") (value "flash.ic")) + (property (name "edg_refdes") (value "U6")) + (property (name "edg_part") (value "W25Q128JVSIQ (Winbond Electronics)")) + (property (name "edg_value") (value "W25Q128JVSIQ")) + (sheetpath (names "/flash/") (tstamps "/0624020f/")) + (tstamps "013700cd")) +(comp (ref "C19") + (value "flash.vcc_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "flash")) + (property (name "Sheetfile") (value "edg.parts.SpiMemory_W25q.W25q")) + (property (name "edg_path") (value "flash.vcc_cap.cap")) + (property (name "edg_short_path") (value "flash.vcc_cap")) + (property (name "edg_refdes") (value "C19")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/flash/") (tstamps "/0624020f/")) + (tstamps "0b5902d0")) +(comp (ref "TP11") + (value "sd.sck") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "tp_sd")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) + (property (name "edg_path") (value "tp_sd.tp_sck.tp")) + (property (name "edg_short_path") (value "tp_sd.tp_sck")) + (property (name "edg_refdes") (value "TP11")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "sd.sck")) + (sheetpath (names "/tp_sd/") (tstamps "/0670021b/")) + (tstamps "08f40285")) +(comp (ref "TP12") + (value "sd.mosi") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "tp_sd")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) + (property (name "edg_path") (value "tp_sd.tp_mosi.tp")) + (property (name "edg_short_path") (value "tp_sd.tp_mosi")) + (property (name "edg_refdes") (value "TP12")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "sd.mosi")) + (sheetpath (names "/tp_sd/") (tstamps "/0670021b/")) + (tstamps "0bfe02fc")) +(comp (ref "TP13") + (value "sd.miso") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "tp_sd")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.SpiTestPoint")) + (property (name "edg_path") (value "tp_sd.tp_miso.tp")) + (property (name "edg_short_path") (value "tp_sd.tp_miso")) + (property (name "edg_refdes") (value "TP13")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "sd.miso")) + (sheetpath (names "/tp_sd/") (tstamps "/0670021b/")) + (tstamps "0bf202fc")) +(comp (ref "TP14") + (value "sd_cs") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_sd_cs.tp")) + (property (name "edg_short_path") (value "tp_sd_cs")) + (property (name "edg_refdes") (value "TP14")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "sd_cs")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0f170350"))) +(nets +(net (code 1) (name "gnd") + (node (ref U3) (pin 3)) + (node (ref J5) (pin 6)) + (node (ref J5) (pin 11)) + (node (ref J1) (pin A1)) + (node (ref J1) (pin B12)) + (node (ref J1) (pin B1)) + (node (ref J1) (pin A12)) + (node (ref J2) (pin 1)) + (node (ref TP2) (pin 1)) + (node (ref Q1) (pin 1)) + (node (ref U1) (pin 1)) + (node (ref Q2) (pin 2)) + (node (ref U2) (pin 1)) + (node (ref U2) (pin 40)) + (node (ref U2) (pin 41)) + (node (ref R6) (pin 2)) + (node (ref R7) (pin 2)) + (node (ref R8) (pin 2)) + (node (ref SW2) (pin 2)) + (node (ref U6) (pin 4)) + (node (ref R10) (pin 2)) + (node (ref J1) (pin S1)) + (node (ref R12) (pin 2)) + (node (ref C1) (pin 2)) + (node (ref C5) (pin 2)) + (node (ref C6) (pin 2)) + (node (ref J3) (pin 5)) + (node (ref SW1) (pin 2)) + (node (ref C8) (pin 2)) + (node (ref C9) (pin 2)) + (node (ref C10) (pin 2)) + (node (ref C11) (pin 2)) + (node (ref C12) (pin 2)) + (node (ref C13) (pin 2)) + (node (ref C14) (pin 2)) + (node (ref C19) (pin 2)) + (node (ref R2) (pin 2)) + (node (ref C7) (pin 2)) + (node (ref J4) (pin 8)) + (node (ref R11) (pin 2)) + (node (ref D6) (pin 1)) + (node (ref C3) (pin 2)) + (node (ref C4) (pin 2)) + (node (ref C15) (pin 2)) + (node (ref C17) (pin 2)) + (node (ref C18) (pin 2)) + (node (ref J4) (pin 17))) +(net (code 2) (name "vbat") + (node (ref Q1) (pin 2)) + (node (ref U1) (pin 3)) + (node (ref R4) (pin 1)) + (node (ref Q3) (pin 2)) + (node (ref R3) (pin 1)) + (node (ref C1) (pin 1)) + (node (ref C3) (pin 1))) +(net (code 3) (name "v3v3") + (node (ref TP3) (pin 1)) + (node (ref U2) (pin 2)) + (node (ref Q4) (pin 2)) + (node (ref Q5) (pin 2)) + (node (ref R1) (pin 1)) + (node (ref C5) (pin 1)) + (node (ref C6) (pin 1)) + (node (ref J3) (pin 1)) + (node (ref R5) (pin 1)) + (node (ref L1) (pin 2)) + (node (ref C4) (pin 1))) +(net (code 4) (name "batt.pwr") + (node (ref J2) (pin 2)) + (node (ref TP1) (pin 1)) + (node (ref Q1) (pin 3))) +(net (code 5) (name "usb_chain_0.d_P") + (node (ref J1) (pin A6)) + (node (ref J1) (pin B6)) + (node (ref U3) (pin 2)) + (node (ref U2) (pin 14))) +(net (code 6) (name "usb_chain_0.d_N") + (node (ref J1) (pin A7)) + (node (ref J1) (pin B7)) + (node (ref U3) (pin 1)) + (node (ref U2) (pin 13))) +(net (code 7) (name "ledr.signal") + (node (ref U2) (pin 39)) + (node (ref D1) (pin 2))) +(net (code 8) (name "ledg.signal") + (node (ref U2) (pin 38)) + (node (ref D2) (pin 2))) +(net (code 9) (name "ledb.signal") + (node (ref U2) (pin 4)) + (node (ref D3) (pin 2))) +(net (code 10) (name "sw.out") + (node (ref U2) (pin 5)) + (node (ref SW2) (pin 1))) +(net (code 11) (name "vbat_sense_gate.control") + (node (ref U2) (pin 6)) + (node (ref Q2) (pin 1))) +(net (code 12) (name "vbat_sense_gate.output") + (node (ref Q3) (pin 3)) + (node (ref R9) (pin 1))) +(net (code 13) (name "vbat_sense.output") + (node (ref U2) (pin 7)) + (node (ref R9) (pin 2)) + (node (ref R10) (pin 1))) +(net (code 14) (name "touch_duck.pad") + (node (ref U2) (pin 21)) + (node (ref U4) (pin 1))) +(net (code 15) (name "touch_lemur.pad") + (node (ref U2) (pin 22)) + (node (ref U5) (pin 1))) +(net (code 16) (name "epd_gate.control") + (node (ref U2) (pin 10)) + (node (ref Q4) (pin 1))) +(net (code 17) (name "mem_gate.control") + (node (ref U2) (pin 23)) + (node (ref Q5) (pin 1))) +(net (code 18) (name "epd_gate.output") + (node (ref Q4) (pin 3)) + (node (ref C8) (pin 1)) + (node (ref J4) (pin 9)) + (node (ref J4) (pin 10)) + (node (ref L2) (pin 1)) + (node (ref C15) (pin 1))) +(net (code 19) (name "tp_epd.io.sck") + (node (ref U2) (pin 33)) + (node (ref TP4) (pin 1)) + (node (ref J4) (pin 12))) +(net (code 20) (name "tp_epd.io.mosi") + (node (ref U2) (pin 35)) + (node (ref TP5) (pin 1)) + (node (ref J4) (pin 11))) +(net (code 21) (name "tp_epd.io.miso") + (node (ref TP6) (pin 1))) +(net (code 22) (name "tp_erst.io") + (node (ref U2) (pin 8)) + (node (ref TP7) (pin 1)) + (node (ref J4) (pin 15))) +(net (code 23) (name "tp_dc.io") + (node (ref U2) (pin 31)) + (node (ref TP8) (pin 1)) + (node (ref J4) (pin 14))) +(net (code 24) (name "tp_epd_cs.io") + (node (ref U2) (pin 32)) + (node (ref TP9) (pin 1)) + (node (ref J4) (pin 13))) +(net (code 25) (name "tp_busy.io") + (node (ref U2) (pin 9)) + (node (ref TP10) (pin 1)) + (node (ref J4) (pin 16))) +(net (code 26) (name "mem_gate.output") + (node (ref J5) (pin 4)) + (node (ref Q5) (pin 3)) + (node (ref U6) (pin 8)) + (node (ref U6) (pin 3)) + (node (ref U6) (pin 7)) + (node (ref C19) (pin 1))) +(net (code 27) (name "tp_sd.io.sck") + (node (ref U2) (pin 17)) + (node (ref J5) (pin 5)) + (node (ref U6) (pin 6)) + (node (ref TP11) (pin 1))) +(net (code 28) (name "tp_sd.io.mosi") + (node (ref U2) (pin 18)) + (node (ref J5) (pin 3)) + (node (ref U6) (pin 5)) + (node (ref TP12) (pin 1))) +(net (code 29) (name "tp_sd.io.miso") + (node (ref U2) (pin 15)) + (node (ref J5) (pin 7)) + (node (ref U6) (pin 2)) + (node (ref TP13) (pin 1))) +(net (code 30) (name "tp_sd_cs.io") + (node (ref U2) (pin 19)) + (node (ref J5) (pin 2)) + (node (ref TP14) (pin 1))) +(net (code 31) (name "flash.cs") + (node (ref U2) (pin 20)) + (node (ref U6) (pin 1))) +(net (code 32) (name "usb.pwr") + (node (ref J1) (pin A4)) + (node (ref J1) (pin B9)) + (node (ref J1) (pin B4)) + (node (ref J1) (pin A9))) +(net (code 33) (name "usb.conn.cc.cc1") + (node (ref J1) (pin A5))) +(net (code 34) (name "usb.conn.cc.cc2") + (node (ref J1) (pin B5))) +(net (code 35) (name "reg_3v3.fb.output") + (node (ref U1) (pin 4)) + (node (ref R1) (pin 2)) + (node (ref R2) (pin 1))) +(net (code 36) (name "reg_3v3.boot_cap.neg") + (node (ref C2) (pin 2)) + (node (ref U1) (pin 2)) + (node (ref L1) (pin 1))) +(net (code 37) (name "reg_3v3.boot_cap.pos") + (node (ref C2) (pin 1)) + (node (ref U1) (pin 6))) +(net (code 38) (name "reg_3v3.en_res.b") + (node (ref R3) (pin 2)) + (node (ref U1) (pin 5))) +(net (code 39) (name "vbat_sense_gate.pre.drain") + (node (ref Q2) (pin 3)) + (node (ref R4) (pin 2)) + (node (ref Q3) (pin 1))) +(net (code 40) (name "mcu.program_uart_node.a_tx") + (node (ref U2) (pin 37)) + (node (ref J3) (pin 3))) +(net (code 41) (name "mcu.program_uart_node.b_tx") + (node (ref U2) (pin 36)) + (node (ref J3) (pin 4))) +(net (code 42) (name "mcu.program_en_node") + (node (ref U2) (pin 3)) + (node (ref J3) (pin 6)) + (node (ref R5) (pin 2)) + (node (ref C7) (pin 1))) +(net (code 43) (name "mcu.program_boot_node") + (node (ref U2) (pin 27)) + (node (ref SW1) (pin 1)) + (node (ref J3) (pin 2))) +(net (code 44) (name "ledr.res.a") + (node (ref R6) (pin 1)) + (node (ref D1) (pin 1))) +(net (code 45) (name "ledg.res.a") + (node (ref R7) (pin 1)) + (node (ref D2) (pin 1))) +(net (code 46) (name "ledb.res.a") + (node (ref R8) (pin 1)) + (node (ref D3) (pin 1))) +(net (code 47) (name "epd.device.vdd1v8") + (node (ref J4) (pin 7)) + (node (ref C9) (pin 1))) +(net (code 48) (name "epd.device.vgl") + (node (ref J4) (pin 21)) + (node (ref C10) (pin 1))) +(net (code 49) (name "epd.device.vgh") + (node (ref J4) (pin 20)) + (node (ref C11) (pin 1))) +(net (code 50) (name "epd.device.vsh") + (node (ref J4) (pin 5)) + (node (ref C12) (pin 1))) +(net (code 51) (name "epd.device.vsl") + (node (ref J4) (pin 3)) + (node (ref C13) (pin 1))) +(net (code 52) (name "epd.device.vcom") + (node (ref J4) (pin 1)) + (node (ref C14) (pin 1))) +(net (code 53) (name "epd.device.gdr") + (node (ref J4) (pin 23)) + (node (ref R12) (pin 1)) + (node (ref Q6) (pin 1))) +(net (code 54) (name "epd.device.rese") + (node (ref J4) (pin 22)) + (node (ref Q6) (pin 2)) + (node (ref R11) (pin 1))) +(net (code 55) (name "epd.boost.pos_out") + (node (ref J4) (pin 4)) + (node (ref D4) (pin 1)) + (node (ref C17) (pin 1))) +(net (code 56) (name "epd.boost.neg_out") + (node (ref J4) (pin 2)) + (node (ref D5) (pin 2)) + (node (ref C18) (pin 1))) +(net (code 57) (name "epd.boost.inductor.b") + (node (ref L2) (pin 2)) + (node (ref Q6) (pin 3)) + (node (ref D4) (pin 2)) + (node (ref C16) (pin 1))) +(net (code 58) (name "epd.boost.boot_cap.neg") + (node (ref C16) (pin 2)) + (node (ref D5) (pin 1)) + (node (ref D6) (pin 2)))) +) \ No newline at end of file diff --git a/examples/IotDisplay/IotDisplay.svgpcb.js b/examples/IotDisplay/IotDisplay.svgpcb.js new file mode 100644 index 000000000..7209c6d5e --- /dev/null +++ b/examples/IotDisplay/IotDisplay.svgpcb.js @@ -0,0 +1,478 @@ +const board = new PCB(); + +// jlc_th.th1 +const H1 = board.add(JlcToolingHole_1_152mm, { + translate: pt(3.002, 2.210), rotate: 0, + id: 'H1' +}) +// jlc_th.th2 +const H2 = board.add(JlcToolingHole_1_152mm, { + translate: pt(3.041, 2.210), rotate: 0, + id: 'H2' +}) +// jlc_th.th3 +const H3 = board.add(JlcToolingHole_1_152mm, { + translate: pt(3.002, 2.249), rotate: 0, + id: 'H3' +}) +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { + translate: pt(0.209, 1.905), rotate: 0, + id: 'J1' +}) +// batt.conn +const J2 = board.add(JST_PH_S2B_PH_K_1x02_P2_00mm_Horizontal, { + translate: pt(0.633, 2.006), rotate: 0, + id: 'J2' +}) +// tp_pwr.tp +const TP1 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.874, 2.247), rotate: 0, + id: 'TP1' +}) +// tp_gnd.tp +const TP2 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.124, 2.247), rotate: 0, + id: 'TP2' +}) +// vbat_prot.fet +const Q1 = board.add(SOT_23, { + translate: pt(0.076, 2.277), rotate: 0, + id: 'Q1' +}) +// reg_3v3.ic +const U1 = board.add(SOT_23_6, { + translate: pt(3.419, 0.952), rotate: 0, + id: 'U1' +}) +// reg_3v3.fb.div.top_res +const R1 = board.add(R_0603_1608Metric, { + translate: pt(3.570, 1.131), rotate: 0, + id: 'R1' +}) +// reg_3v3.fb.div.bottom_res +const R2 = board.add(R_0603_1608Metric, { + translate: pt(3.176, 1.261), rotate: 0, + id: 'R2' +}) +// reg_3v3.hf_in_cap.cap +const C1 = board.add(C_0603_1608Metric, { + translate: pt(3.332, 1.261), rotate: 0, + id: 'C1' +}) +// reg_3v3.boot_cap +const C2 = board.add(C_0603_1608Metric, { + translate: pt(3.488, 1.261), rotate: 0, + id: 'C2' +}) +// reg_3v3.power_path.inductor +const L1 = board.add(L_Sunlord_SWPA4030S, { + translate: pt(3.209, 0.974), rotate: 0, + id: 'L1' +}) +// reg_3v3.power_path.in_cap.cap +const C3 = board.add(C_1206_3216Metric, { + translate: pt(3.209, 1.147), rotate: 0, + id: 'C3' +}) +// reg_3v3.power_path.out_cap.cap +const C4 = board.add(C_0805_2012Metric, { + translate: pt(3.406, 1.141), rotate: 0, + id: 'C4' +}) +// reg_3v3.en_res +const R3 = board.add(R_0603_1608Metric, { + translate: pt(3.176, 1.357), rotate: 0, + id: 'R3' +}) +// tp_3v3.tp +const TP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.375, 2.247), rotate: 0, + id: 'TP3' +}) +// vbat_sense_gate.pre +const Q2 = board.add(SOT_23, { + translate: pt(1.487, 1.807), rotate: 0, + id: 'Q2' +}) +// vbat_sense_gate.pull +const R4 = board.add(R_0603_1608Metric, { + translate: pt(1.660, 1.942), rotate: 0, + id: 'R4' +}) +// vbat_sense_gate.drv +const Q3 = board.add(SOT_23, { + translate: pt(1.487, 1.980), rotate: 0, + id: 'Q3' +}) +// mcu.ic +const U2 = board.add(ESP32_S3_WROOM_1, { + translate: pt(0.945, 0.530), rotate: 0, + id: 'U2' +}) +// mcu.vcc_cap0.cap +const C5 = board.add(C_1206_3216Metric, { + translate: pt(2.020, 0.683), rotate: 0, + id: 'C5' +}) +// mcu.vcc_cap1.cap +const C6 = board.add(C_0603_1608Metric, { + translate: pt(2.208, 0.667), rotate: 0, + id: 'C6' +}) +// mcu.prog.conn +const J3 = board.add(Tag_Connect_TC2030_IDC_FP_2x03_P1_27mm_Vertical, { + translate: pt(2.096, 0.167), rotate: 0, + id: 'J3' +}) +// mcu.boot.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(2.096, 0.486), rotate: 0, + id: 'SW1' +}) +// mcu.en_pull.rc.r +const R5 = board.add(R_0603_1608Metric, { + translate: pt(2.364, 0.667), rotate: 0, + id: 'R5' +}) +// mcu.en_pull.rc.c +const C7 = board.add(C_0603_1608Metric, { + translate: pt(1.987, 0.796), rotate: 0, + id: 'C7' +}) +// usb_esd +const U3 = board.add(SOT_23, { + translate: pt(2.887, 2.277), rotate: 0, + id: 'U3' +}) +// ledr.package +const D1 = board.add(LED_0603_1608Metric, { + translate: pt(2.848, 1.769), rotate: 0, + id: 'D1' +}) +// ledr.res +const R6 = board.add(R_0603_1608Metric, { + translate: pt(2.848, 1.866), rotate: 0, + id: 'R6' +}) +// ledg.package +const D2 = board.add(LED_0603_1608Metric, { + translate: pt(3.083, 1.769), rotate: 0, + id: 'D2' +}) +// ledg.res +const R7 = board.add(R_0603_1608Metric, { + translate: pt(3.083, 1.866), rotate: 0, + id: 'R7' +}) +// ledb.package +const D3 = board.add(LED_0603_1608Metric, { + translate: pt(3.318, 1.769), rotate: 0, + id: 'D3' +}) +// ledb.res +const R8 = board.add(R_0603_1608Metric, { + translate: pt(3.318, 1.866), rotate: 0, + id: 'R8' +}) +// sw.package +const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(2.504, 1.852), rotate: 0, + id: 'SW2' +}) +// vbat_sense.div.top_res +const R9 = board.add(R_0603_1608Metric, { + translate: pt(3.553, 1.769), rotate: 0, + id: 'R9' +}) +// vbat_sense.div.bottom_res +const R10 = board.add(R_0603_1608Metric, { + translate: pt(3.553, 1.866), rotate: 0, + id: 'R10' +}) +// touch_duck +const U4 = board.add(Symbol_DucklingSolid, { + translate: pt(3.159, 2.210), rotate: 0, + id: 'U4' +}) +// touch_lemur +const U5 = board.add(Symbol_LemurSolid, { + translate: pt(3.198, 2.210), rotate: 0, + id: 'U5' +}) +// epd_gate.drv +const Q4 = board.add(SOT_23, { + translate: pt(0.345, 2.277), rotate: 0, + id: 'Q4' +}) +// mem_gate.drv +const Q5 = board.add(SOT_23, { + translate: pt(0.614, 2.277), rotate: 0, + id: 'Q5' +}) +// epd.device.conn.conn +const J4 = board.add(TE_2_1734839_4_1x24_1MP_P0_5mm_Horizontal, { + translate: pt(2.903, 0.167), rotate: 0, + id: 'J4' +}) +// epd.vdd_cap.cap +const C8 = board.add(C_0603_1608Metric, { + translate: pt(2.930, 0.624), rotate: 0, + id: 'C8' +}) +// epd.vdd1v8_cap.cap +const C9 = board.add(C_0603_1608Metric, { + translate: pt(3.086, 0.624), rotate: 0, + id: 'C9' +}) +// epd.vgl_cap.cap +const C10 = board.add(C_0603_1608Metric, { + translate: pt(3.242, 0.624), rotate: 0, + id: 'C10' +}) +// epd.vgh_cap.cap +const C11 = board.add(C_1206_3216Metric, { + translate: pt(2.850, 0.346), rotate: 0, + id: 'C11' +}) +// epd.vsh_cap.cap +const C12 = board.add(C_1206_3216Metric, { + translate: pt(3.070, 0.346), rotate: 0, + id: 'C12' +}) +// epd.vsl_cap.cap +const C13 = board.add(C_1206_3216Metric, { + translate: pt(3.291, 0.346), rotate: 0, + id: 'C13' +}) +// epd.vcom_cap.cap +const C14 = board.add(C_0603_1608Metric, { + translate: pt(3.398, 0.624), rotate: 0, + id: 'C14' +}) +// epd.boost.fet +const Q6 = board.add(SOT_23, { + translate: pt(3.381, 0.067), rotate: 0, + id: 'Q6' +}) +// epd.boost.inductor +const L2 = board.add(L_1210_3225Metric, { + translate: pt(2.630, 0.363), rotate: 0, + id: 'L2' +}) +// epd.boost.sense +const R11 = board.add(R_0603_1608Metric, { + translate: pt(2.598, 0.738), rotate: 0, + id: 'R11' +}) +// epd.boost.in_cap.cap +const C15 = board.add(C_0805_2012Metric, { + translate: pt(3.269, 0.504), rotate: 0, + id: 'C15' +}) +// epd.boost.diode +const D4 = board.add(D_SOD_323, { + translate: pt(3.438, 0.502), rotate: 0, + id: 'D4' +}) +// epd.boost.boot_neg_diode +const D5 = board.add(D_SOD_323, { + translate: pt(2.604, 0.632), rotate: 0, + id: 'D5' +}) +// epd.boost.boot_gnd_diode +const D6 = board.add(D_SOD_323, { + translate: pt(2.769, 0.632), rotate: 0, + id: 'D6' +}) +// epd.boost.boot_cap +const C16 = board.add(C_1206_3216Metric, { + translate: pt(2.631, 0.510), rotate: 0, + id: 'C16' +}) +// epd.boost.out_cap.cap +const C17 = board.add(C_1206_3216Metric, { + translate: pt(2.851, 0.510), rotate: 0, + id: 'C17' +}) +// epd.boost.neg_out_cap.cap +const C18 = board.add(C_1206_3216Metric, { + translate: pt(3.072, 0.510), rotate: 0, + id: 'C18' +}) +// epd.gate_pdr +const R12 = board.add(R_0603_1608Metric, { + translate: pt(2.754, 0.738), rotate: 0, + id: 'R12' +}) +// tp_epd.tp_sck.tp +const TP4 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.902, 1.778), rotate: 0, + id: 'TP4' +}) +// tp_epd.tp_mosi.tp +const TP5 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.902, 1.892), rotate: 0, + id: 'TP5' +}) +// tp_epd.tp_miso.tp +const TP6 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.902, 2.006), rotate: 0, + id: 'TP6' +}) +// tp_erst.tp +const TP7 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.625, 2.247), rotate: 0, + id: 'TP7' +}) +// tp_dc.tp +const TP8 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.876, 2.247), rotate: 0, + id: 'TP8' +}) +// tp_epd_cs.tp +const TP9 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.126, 2.247), rotate: 0, + id: 'TP9' +}) +// tp_busy.tp +const TP10 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.376, 2.247), rotate: 0, + id: 'TP10' +}) +// sd +const J5 = board.add(microSD_HC_Molex_104031_0811, { + translate: pt(2.809, 1.143), rotate: 0, + id: 'J5' +}) +// flash.ic +const U6 = board.add(SOIC_8_5_23x5_23mm_P1_27mm, { + translate: pt(1.110, 1.853), rotate: 0, + id: 'U6' +}) +// flash.vcc_cap.cap +const C19 = board.add(C_0603_1608Metric, { + translate: pt(0.985, 2.033), rotate: 0, + id: 'C19' +}) +// tp_sd.tp_sck.tp +const TP11 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.153, 1.778), rotate: 0, + id: 'TP11' +}) +// tp_sd.tp_mosi.tp +const TP12 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.153, 1.892), rotate: 0, + id: 'TP12' +}) +// tp_sd.tp_miso.tp +const TP13 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.153, 2.006), rotate: 0, + id: 'TP13' +}) +// tp_sd_cs.tp +const TP14 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.627, 2.247), rotate: 0, + id: 'TP14' +}) + +board.setNetlist([ + {name: "gnd", pads: [["U3", "3"], ["J5", "6"], ["J5", "11"], ["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["J2", "1"], ["TP2", "1"], ["Q1", "1"], ["U1", "1"], ["Q2", "2"], ["U2", "1"], ["U2", "40"], ["U2", "41"], ["R6", "2"], ["R7", "2"], ["R8", "2"], ["SW2", "2"], ["U6", "4"], ["R10", "2"], ["J1", "S1"], ["R12", "2"], ["C1", "2"], ["C5", "2"], ["C6", "2"], ["J3", "5"], ["SW1", "2"], ["C8", "2"], ["C9", "2"], ["C10", "2"], ["C11", "2"], ["C12", "2"], ["C13", "2"], ["C14", "2"], ["C19", "2"], ["R2", "2"], ["C7", "2"], ["J4", "8"], ["R11", "2"], ["D6", "1"], ["C3", "2"], ["C4", "2"], ["C15", "2"], ["C17", "2"], ["C18", "2"], ["J4", "17"]]}, + {name: "vbat", pads: [["Q1", "2"], ["U1", "3"], ["R4", "1"], ["Q3", "2"], ["R3", "1"], ["C1", "1"], ["C3", "1"]]}, + {name: "v3v3", pads: [["TP3", "1"], ["U2", "2"], ["Q4", "2"], ["Q5", "2"], ["R1", "1"], ["C5", "1"], ["C6", "1"], ["J3", "1"], ["R5", "1"], ["L1", "2"], ["C4", "1"]]}, + {name: "batt.pwr", pads: [["J2", "2"], ["TP1", "1"], ["Q1", "3"]]}, + {name: "usb_chain_0.d_P", pads: [["J1", "A6"], ["J1", "B6"], ["U3", "2"], ["U2", "14"]]}, + {name: "usb_chain_0.d_N", pads: [["J1", "A7"], ["J1", "B7"], ["U3", "1"], ["U2", "13"]]}, + {name: "ledr.signal", pads: [["U2", "39"], ["D1", "2"]]}, + {name: "ledg.signal", pads: [["U2", "38"], ["D2", "2"]]}, + {name: "ledb.signal", pads: [["U2", "4"], ["D3", "2"]]}, + {name: "sw.out", pads: [["U2", "5"], ["SW2", "1"]]}, + {name: "vbat_sense_gate.control", pads: [["U2", "6"], ["Q2", "1"]]}, + {name: "vbat_sense_gate.output", pads: [["Q3", "3"], ["R9", "1"]]}, + {name: "vbat_sense.output", pads: [["U2", "7"], ["R9", "2"], ["R10", "1"]]}, + {name: "touch_duck.pad", pads: [["U2", "21"], ["U4", "1"]]}, + {name: "touch_lemur.pad", pads: [["U2", "22"], ["U5", "1"]]}, + {name: "epd_gate.control", pads: [["U2", "10"], ["Q4", "1"]]}, + {name: "mem_gate.control", pads: [["U2", "23"], ["Q5", "1"]]}, + {name: "epd_gate.output", pads: [["Q4", "3"], ["C8", "1"], ["J4", "9"], ["J4", "10"], ["L2", "1"], ["C15", "1"]]}, + {name: "tp_epd.io.sck", pads: [["U2", "33"], ["TP4", "1"], ["J4", "12"]]}, + {name: "tp_epd.io.mosi", pads: [["U2", "35"], ["TP5", "1"], ["J4", "11"]]}, + {name: "tp_epd.io.miso", pads: [["TP6", "1"]]}, + {name: "tp_erst.io", pads: [["U2", "8"], ["TP7", "1"], ["J4", "15"]]}, + {name: "tp_dc.io", pads: [["U2", "31"], ["TP8", "1"], ["J4", "14"]]}, + {name: "tp_epd_cs.io", pads: [["U2", "32"], ["TP9", "1"], ["J4", "13"]]}, + {name: "tp_busy.io", pads: [["U2", "9"], ["TP10", "1"], ["J4", "16"]]}, + {name: "mem_gate.output", pads: [["J5", "4"], ["Q5", "3"], ["U6", "8"], ["U6", "3"], ["U6", "7"], ["C19", "1"]]}, + {name: "tp_sd.io.sck", pads: [["U2", "17"], ["J5", "5"], ["U6", "6"], ["TP11", "1"]]}, + {name: "tp_sd.io.mosi", pads: [["U2", "18"], ["J5", "3"], ["U6", "5"], ["TP12", "1"]]}, + {name: "tp_sd.io.miso", pads: [["U2", "15"], ["J5", "7"], ["U6", "2"], ["TP13", "1"]]}, + {name: "tp_sd_cs.io", pads: [["U2", "19"], ["J5", "2"], ["TP14", "1"]]}, + {name: "flash.cs", pads: [["U2", "20"], ["U6", "1"]]}, + {name: "usb.pwr", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"]]}, + {name: "reg_3v3.fb.output", pads: [["U1", "4"], ["R1", "2"], ["R2", "1"]]}, + {name: "reg_3v3.boot_cap.neg", pads: [["C2", "2"], ["U1", "2"], ["L1", "1"]]}, + {name: "reg_3v3.boot_cap.pos", pads: [["C2", "1"], ["U1", "6"]]}, + {name: "reg_3v3.en_res.b", pads: [["R3", "2"], ["U1", "5"]]}, + {name: "vbat_sense_gate.pre.drain", pads: [["Q2", "3"], ["R4", "2"], ["Q3", "1"]]}, + {name: "mcu.program_uart_node.a_tx", pads: [["U2", "37"], ["J3", "3"]]}, + {name: "mcu.program_uart_node.b_tx", pads: [["U2", "36"], ["J3", "4"]]}, + {name: "mcu.program_en_node", pads: [["U2", "3"], ["J3", "6"], ["R5", "2"], ["C7", "1"]]}, + {name: "mcu.program_boot_node", pads: [["U2", "27"], ["SW1", "1"], ["J3", "2"]]}, + {name: "ledr.res.a", pads: [["R6", "1"], ["D1", "1"]]}, + {name: "ledg.res.a", pads: [["R7", "1"], ["D2", "1"]]}, + {name: "ledb.res.a", pads: [["R8", "1"], ["D3", "1"]]}, + {name: "epd.device.vdd1v8", pads: [["J4", "7"], ["C9", "1"]]}, + {name: "epd.device.vgl", pads: [["J4", "21"], ["C10", "1"]]}, + {name: "epd.device.vgh", pads: [["J4", "20"], ["C11", "1"]]}, + {name: "epd.device.vsh", pads: [["J4", "5"], ["C12", "1"]]}, + {name: "epd.device.vsl", pads: [["J4", "3"], ["C13", "1"]]}, + {name: "epd.device.vcom", pads: [["J4", "1"], ["C14", "1"]]}, + {name: "epd.device.gdr", pads: [["J4", "23"], ["R12", "1"], ["Q6", "1"]]}, + {name: "epd.device.rese", pads: [["J4", "22"], ["Q6", "2"], ["R11", "1"]]}, + {name: "epd.boost.pos_out", pads: [["J4", "4"], ["D4", "1"], ["C17", "1"]]}, + {name: "epd.boost.neg_out", pads: [["J4", "2"], ["D5", "2"], ["C18", "1"]]}, + {name: "epd.boost.inductor.b", pads: [["L2", "2"], ["Q6", "3"], ["D4", "2"], ["C16", "1"]]}, + {name: "epd.boost.boot_cap.neg", pads: [["C16", "2"], ["D5", "1"], ["D6", "2"]]} +]) + +const limit0 = pt(-0.07874015748031496, -0.07874015748031496); +const limit1 = pt(3.746456692913387, 2.4618110236220474); +const xMin = Math.min(limit0[0], limit1[0]); +const xMax = Math.max(limit0[0], limit1[0]); +const yMin = Math.min(limit0[1], limit1[1]); +const yMax = Math.max(limit0[1], limit1[1]); + +const filletRadius = 0.1; +const outline = path( + [(xMin+xMax/2), yMax], + ["fillet", filletRadius, [xMax, yMax]], + ["fillet", filletRadius, [xMax, yMin]], + ["fillet", filletRadius, [xMin, yMin]], + ["fillet", filletRadius, [xMin, yMax]], + [(xMin+xMax/2), yMax], +); +board.addShape("outline", outline); + +renderPCB({ + pcb: board, + layerColors: { + "F.Paste": "#000000ff", + "F.Mask": "#000000ff", + "B.Mask": "#000000ff", + "componentLabels": "#00e5e5e5", + "outline": "#002d00ff", + "padLabels": "#ffff99e5", + "B.Cu": "#ef4e4eff", + "F.Cu": "#ff8c00cc", + }, + limits: { + x: [xMin, xMax], + y: [yMin, yMax] + }, + background: "#00000000", + mmPerUnit: 25.4 +}) + + diff --git a/examples/IotFan/IotFan.net b/examples/IotFan/IotFan.net new file mode 100644 index 000000000..2b1d7c03e --- /dev/null +++ b/examples/IotFan/IotFan.net @@ -0,0 +1,1191 @@ +(export (version D) +(components +(comp (ref "FH1") + (value "jlc_th.th1") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th1")) + (property (name "edg_short_path") (value "jlc_th.th1")) + (property (name "edg_refdes") (value "FH1")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "0260010e")) +(comp (ref "FH2") + (value "jlc_th.th2") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th2")) + (property (name "edg_short_path") (value "jlc_th.th2")) + (property (name "edg_refdes") (value "FH2")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "0261010f")) +(comp (ref "FH3") + (value "jlc_th.th3") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th3")) + (property (name "edg_short_path") (value "jlc_th.th3")) + (property (name "edg_refdes") (value "FH3")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "02620110")) +(comp (ref "FJ1") + (value "pwr") + (footprint "Connector_BarrelJack:BarrelJack_CUI_PJ-036AH-SMT_Horizontal") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "pwr")) + (property (name "edg_short_path") (value "pwr")) + (property (name "edg_refdes") (value "FJ1")) + (property (name "edg_part") (value "PJ-036AH-SMT (CUI Devices)")) + (property (name "edg_value") (value "PJ-036AH-SMT")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "02b3015a")) +(comp (ref "FTP1") + (value "tp_pwr") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_pwr.tp")) + (property (name "edg_short_path") (value "tp_pwr")) + (property (name "edg_refdes") (value "FTP1")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "v12")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "091a029d")) +(comp (ref "FTP2") + (value "tp_gnd") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_gnd.tp")) + (property (name "edg_short_path") (value "tp_gnd")) + (property (name "edg_refdes") (value "FTP2")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "gnd")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "08df027d")) +(comp (ref "FU1") + (value "reg_5v.ic") + (footprint "Package_TO_SOT_SMD:SOT-23-6") + (property (name "Sheetname") (value "reg_5v")) + (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) + (property (name "edg_path") (value "reg_5v.ic")) + (property (name "edg_short_path") (value "reg_5v.ic")) + (property (name "edg_refdes") (value "FU1")) + (property (name "edg_part") (value "TPS54202H (Texas Instruments)")) + (property (name "edg_value") (value "TPS54202H")) + (sheetpath (names "/reg_5v/") (tstamps "/08440249/")) + (tstamps "013700cd")) +(comp (ref "FR1") + (value "reg_5v.fb.top_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "fb")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) + (property (name "edg_path") (value "reg_5v.fb.div.top_res")) + (property (name "edg_short_path") (value "reg_5v.fb.top_res")) + (property (name "edg_refdes") (value "FR1")) + (property (name "edg_part") (value "0603WAF6801T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 6.8kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/reg_5v/fb/") (tstamps "/08440249/013000c9/")) + (tstamps "0c0c02fd")) +(comp (ref "FR2") + (value "reg_5v.fb.bottom_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "fb")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) + (property (name "edg_path") (value "reg_5v.fb.div.bottom_res")) + (property (name "edg_short_path") (value "reg_5v.fb.bottom_res")) + (property (name "edg_refdes") (value "FR2")) + (property (name "edg_part") (value "0603WAF1201T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1.2kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/reg_5v/fb/") (tstamps "/08440249/013000c9/")) + (tstamps "175b043f")) +(comp (ref "FC1") + (value "reg_5v.hf_in_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "reg_5v")) + (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) + (property (name "edg_path") (value "reg_5v.hf_in_cap.cap")) + (property (name "edg_short_path") (value "reg_5v.hf_in_cap")) + (property (name "edg_refdes") (value "FC1")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_5v/") (tstamps "/08440249/")) + (tstamps "11ed0398")) +(comp (ref "FC2") + (value "reg_5v.boot_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "reg_5v")) + (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) + (property (name "edg_path") (value "reg_5v.boot_cap")) + (property (name "edg_short_path") (value "reg_5v.boot_cap")) + (property (name "edg_refdes") (value "FC2")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_5v/") (tstamps "/08440249/")) + (tstamps "0ed60348")) +(comp (ref "FL1") + (value "reg_5v.power_path.inductor") + (footprint "Inductor_SMD:L_Sunlord_SWPA4030S") + (property (name "Sheetname") (value "power_path")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) + (property (name "edg_path") (value "reg_5v.power_path.inductor")) + (property (name "edg_short_path") (value "reg_5v.power_path.inductor")) + (property (name "edg_refdes") (value "FL1")) + (property (name "edg_part") (value "SWPA4030S150MT (Sunlord)")) + (property (name "edg_value") (value "1.11A 15uH ±20% 247mΩ SMD Power Inductors ROHS")) + (sheetpath (names "/reg_5v/power_path/") (tstamps "/08440249/1786043a/")) + (tstamps "0f2b0369")) +(comp (ref "FC3") + (value "reg_5v.power_path.in_cap") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "power_path")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) + (property (name "edg_path") (value "reg_5v.power_path.in_cap.cap")) + (property (name "edg_short_path") (value "reg_5v.power_path.in_cap")) + (property (name "edg_refdes") (value "FC3")) + (property (name "edg_part") (value "CL31A106KBHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 10uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_5v/power_path/") (tstamps "/08440249/1786043a/")) + (tstamps "0879026b")) +(comp (ref "FC4") + (value "reg_5v.power_path.out_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "power_path")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) + (property (name "edg_path") (value "reg_5v.power_path.out_cap.cap")) + (property (name "edg_short_path") (value "reg_5v.power_path.out_cap")) + (property (name "edg_refdes") (value "FC4")) + (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_5v/power_path/") (tstamps "/08440249/1786043a/")) + (tstamps "0be902ec")) +(comp (ref "FR3") + (value "reg_5v.en_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "reg_5v")) + (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) + (property (name "edg_path") (value "reg_5v.en_res")) + (property (name "edg_short_path") (value "reg_5v.en_res")) + (property (name "edg_refdes") (value "FR3")) + (property (name "edg_part") (value "0603WAF5103T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 510kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/reg_5v/") (tstamps "/08440249/")) + (tstamps "0899027d")) +(comp (ref "FTP3") + (value "tp_5v") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_5v.tp")) + (property (name "edg_short_path") (value "tp_5v")) + (property (name "edg_refdes") (value "FTP3")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "v5")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "060601ef")) +(comp (ref "FD1") + (value "prot_5v") + (footprint "Diode_SMD:D_SOD-323") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "prot_5v.diode")) + (property (name "edg_short_path") (value "prot_5v")) + (property (name "edg_refdes") (value "FD1")) + (property (name "edg_part") (value "BZT52C6V2S (Shandong Jingdao Microelectronics)")) + (property (name "edg_value") (value "3μA@4V 10Ω Single 5.8V~6.6V 200mW 6.2V SOD-323 Zener Diodes ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0bbb02d0")) +(comp (ref "FU2") + (value "reg_3v3.ic") + (footprint "Package_TO_SOT_SMD:SOT-89-3") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap7215")) + (property (name "edg_path") (value "reg_3v3.ic")) + (property (name "edg_short_path") (value "reg_3v3.ic")) + (property (name "edg_refdes") (value "FU2")) + (property (name "edg_part") (value "AP7215-33YG-13 (Diodes Incorporated)")) + (property (name "edg_value") (value "AP7215-33YG-13")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "013700cd")) +(comp (ref "FC5") + (value "reg_3v3.in_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap7215")) + (property (name "edg_path") (value "reg_3v3.in_cap.cap")) + (property (name "edg_short_path") (value "reg_3v3.in_cap")) + (property (name "edg_refdes") (value "FC5")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "0879026b")) +(comp (ref "FC6") + (value "reg_3v3.out_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ap7215")) + (property (name "edg_path") (value "reg_3v3.out_cap.cap")) + (property (name "edg_short_path") (value "reg_3v3.out_cap")) + (property (name "edg_refdes") (value "FC6")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "0be902ec")) +(comp (ref "FTP4") + (value "tp_3v3") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_3v3.tp")) + (property (name "edg_short_path") (value "tp_3v3")) + (property (name "edg_refdes") (value "FTP4")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "v3v3")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "08220220")) +(comp (ref "FD2") + (value "prot_3v3") + (footprint "Diode_SMD:D_SOD-323") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "prot_3v3.diode")) + (property (name "edg_short_path") (value "prot_3v3")) + (property (name "edg_refdes") (value "FD2")) + (property (name "edg_part") (value "BZT52B3V6S (SMC(Sangdest Microelectronicstronic (Nanjing)))")) + (property (name "edg_value") (value "5μA@1V 90Ω Single 3.53V~3.67V 200mW 3.6V SOD-323 Zener Diodes ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0eb80301")) +(comp (ref "FU3") + (value "mcu.ic") + (footprint "Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.65x3.65mm") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) + (property (name "edg_path") (value "mcu.ic")) + (property (name "edg_short_path") (value "mcu.ic")) + (property (name "edg_refdes") (value "FU3")) + (property (name "edg_part") (value "ESP32-C3FH4 (Espressif Systems)")) + (property (name "edg_value") (value "ESP32-C3FH4")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "013700cd")) +(comp (ref "FC7") + (value "mcu.vdd_bulk_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) + (property (name "edg_path") (value "mcu.vdd_bulk_cap.cap")) + (property (name "edg_short_path") (value "mcu.vdd_bulk_cap")) + (property (name "edg_refdes") (value "FC7")) + (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "1fd804df")) +(comp (ref "FC8") + (value "mcu.vdda_cap0") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) + (property (name "edg_path") (value "mcu.vdda_cap0.cap")) + (property (name "edg_short_path") (value "mcu.vdda_cap0")) + (property (name "edg_refdes") (value "FC8")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "11eb0363")) +(comp (ref "FC9") + (value "mcu.vdda_cap1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) + (property (name "edg_path") (value "mcu.vdda_cap1.cap")) + (property (name "edg_short_path") (value "mcu.vdda_cap1")) + (property (name "edg_refdes") (value "FC9")) + (property (name "edg_part") (value "0603B103K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 10nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "11ec0364")) +(comp (ref "FC10") + (value "mcu.vddrtc_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) + (property (name "edg_path") (value "mcu.vddrtc_cap.cap")) + (property (name "edg_short_path") (value "mcu.vddrtc_cap")) + (property (name "edg_refdes") (value "FC10")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "16e6041b")) +(comp (ref "FC11") + (value "mcu.vddcpu_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) + (property (name "edg_path") (value "mcu.vddcpu_cap.cap")) + (property (name "edg_short_path") (value "mcu.vddcpu_cap")) + (property (name "edg_refdes") (value "FC11")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "16bf041a")) +(comp (ref "FC12") + (value "mcu.vddspi_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) + (property (name "edg_path") (value "mcu.vddspi_cap.cap")) + (property (name "edg_short_path") (value "mcu.vddspi_cap")) + (property (name "edg_refdes") (value "FC12")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "16f3041e")) +(comp (ref "FANT1") + (value "mcu.ant") + (footprint "Diode_SMD:D_1206_3216Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) + (property (name "edg_path") (value "mcu.ant")) + (property (name "edg_short_path") (value "mcu.ant")) + (property (name "edg_refdes") (value "FANT1")) + (property (name "edg_part") (value "ANT3216LL00R2400A (YAGEO)")) + (property (name "edg_value") (value "1206 Antennas ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "02760144")) +(comp (ref "FC13") + (value "mcu.pi.c1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "pi")) + (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.PiLowPassFilter")) + (property (name "edg_path") (value "mcu.pi.c1")) + (property (name "edg_short_path") (value "mcu.pi.c1")) + (property (name "edg_refdes") (value "FC13")) + (property (name "edg_part") (value "0603CG8R2C500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 8.2pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/pi/") (tstamps "/02850146/014b00da/")) + (tstamps "00f90095")) +(comp (ref "FC14") + (value "mcu.pi.c2") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "pi")) + (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.PiLowPassFilter")) + (property (name "edg_path") (value "mcu.pi.c2")) + (property (name "edg_short_path") (value "mcu.pi.c2")) + (property (name "edg_refdes") (value "FC14")) + (property (name "edg_part") (value "0603CG6R8C500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 6.8pF C0G ±0.25pF 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/pi/") (tstamps "/02850146/014b00da/")) + (tstamps "00fa0096")) +(comp (ref "FL2") + (value "mcu.pi.l") + (footprint "Inductor_SMD:L_0603_1608Metric") + (property (name "Sheetname") (value "pi")) + (property (name "Sheetfile") (value "edg.abstract_parts.RfNetworks.PiLowPassFilter")) + (property (name "edg_path") (value "mcu.pi.l")) + (property (name "edg_short_path") (value "mcu.pi.l")) + (property (name "edg_refdes") (value "FL2")) + (property (name "edg_part") (value "SDCL1608C1N2STDF (Sunlord)")) + (property (name "edg_value") (value "500mA 1.2nH ±5% 50mΩ 0603 Inductors (SMD) ROHS")) + (sheetpath (names "/mcu/pi/") (tstamps "/02850146/014b00da/")) + (tstamps "006d006d")) +(comp (ref "FC15") + (value "mcu.vdd3p3_l_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) + (property (name "edg_path") (value "mcu.vdd3p3_l_cap.cap")) + (property (name "edg_short_path") (value "mcu.vdd3p3_l_cap")) + (property (name "edg_refdes") (value "FC15")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "1ca50473")) +(comp (ref "FC16") + (value "mcu.vdd3p3_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) + (property (name "edg_path") (value "mcu.vdd3p3_cap.cap")) + (property (name "edg_short_path") (value "mcu.vdd3p3_cap")) + (property (name "edg_refdes") (value "FC16")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "142503a8")) +(comp (ref "FL3") + (value "mcu.vdd3p3_l") + (footprint "Inductor_SMD:L_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) + (property (name "edg_path") (value "mcu.vdd3p3_l.ind")) + (property (name "edg_short_path") (value "mcu.vdd3p3_l")) + (property (name "edg_refdes") (value "FL3")) + (property (name "edg_part") (value "SDCL1608C1N8STDF (Sunlord)")) + (property (name "edg_value") (value "500mA 1.8nH ±10% 100mΩ 0603 Inductors (SMD) ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "0d4e02e0")) +(comp (ref "FX1") + (value "mcu.crystal.package") + (footprint "Crystal:Crystal_SMD_2520-4Pin_2.5x2.0mm") + (property (name "Sheetname") (value "crystal")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) + (property (name "edg_path") (value "mcu.crystal.package")) + (property (name "edg_short_path") (value "mcu.crystal.package")) + (property (name "edg_refdes") (value "FX1")) + (property (name "edg_part") (value "TXM40M0004252HBCEO00T (TAE(Zhejiang Abel Elec))")) + (property (name "edg_value") (value "SMD2520-4P Crystals ROHS")) + (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) + (tstamps "0b4e02cd")) +(comp (ref "FC17") + (value "mcu.crystal.cap_a") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "crystal")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) + (property (name "edg_path") (value "mcu.crystal.cap_a")) + (property (name "edg_short_path") (value "mcu.crystal.cap_a")) + (property (name "edg_refdes") (value "FC17")) + (property (name "edg_part") (value "CL10C150JB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 15pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) + (tstamps "05e701f5")) +(comp (ref "FC18") + (value "mcu.crystal.cap_b") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "crystal")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCrystal.OscillatorCrystal")) + (property (name "edg_path") (value "mcu.crystal.cap_b")) + (property (name "edg_short_path") (value "mcu.crystal.cap_b")) + (property (name "edg_refdes") (value "FC18")) + (property (name "edg_part") (value "CL10C150JB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 15pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/crystal/") (tstamps "/02850146/0c1b0303/")) + (tstamps "05e801f6")) +(comp (ref "FJ2") + (value "mcu.prog") + (footprint "Connector:Tag-Connect_TC2030-IDC-NL_2x03_P1.27mm_Vertical") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3")) + (property (name "edg_path") (value "mcu.prog.conn")) + (property (name "edg_short_path") (value "mcu.prog")) + (property (name "edg_refdes") (value "FJ2")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "045f01b9")) +(comp (ref "FR4") + (value "mcu.en_pull.r") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "en_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) + (property (name "edg_path") (value "mcu.en_pull.rc.r")) + (property (name "edg_short_path") (value "mcu.en_pull.r")) + (property (name "edg_refdes") (value "FR4")) + (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) + (tstamps "00730073")) +(comp (ref "FC19") + (value "mcu.en_pull.c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "en_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) + (property (name "edg_path") (value "mcu.en_pull.rc.c")) + (property (name "edg_short_path") (value "mcu.en_pull.c")) + (property (name "edg_refdes") (value "FC19")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) + (tstamps "00640064")) +(comp (ref "FD3") + (value "ledr.package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "ledr")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkLedResistor")) + (property (name "edg_path") (value "ledr.package")) + (property (name "edg_short_path") (value "ledr.package")) + (property (name "edg_refdes") (value "FD3")) + (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) + (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) + (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) + (tstamps "0b4e02cd")) +(comp (ref "FR5") + (value "ledr.res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "ledr")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkLedResistor")) + (property (name "edg_path") (value "ledr.res")) + (property (name "edg_short_path") (value "ledr.res")) + (property (name "edg_refdes") (value "FR5")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) + (tstamps "0296014b")) +(comp (ref "FSW1") + (value "enc") + (footprint "edg:RotaryEncoder_Alps_EC11J15-Switch") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "enc.package")) + (property (name "edg_short_path") (value "enc")) + (property (name "edg_refdes") (value "FSW1")) + (property (name "edg_part") (value "EC11J1525402 (Alps Alpine)")) + (property (name "edg_value") (value "EC11J1525402")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "02710137")) +(comp (ref "FR6") + (value "v12_sense.top_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "v12_sense")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) + (property (name "edg_path") (value "v12_sense.div.top_res")) + (property (name "edg_short_path") (value "v12_sense.top_res")) + (property (name "edg_refdes") (value "FR6")) + (property (name "edg_part") (value "0603WAF4702T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 47kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/v12_sense/") (tstamps "/0fb70357/")) + (tstamps "0c0c02fd")) +(comp (ref "FR7") + (value "v12_sense.bottom_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "v12_sense")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) + (property (name "edg_path") (value "v12_sense.div.bottom_res")) + (property (name "edg_short_path") (value "v12_sense.bottom_res")) + (property (name "edg_refdes") (value "FR7")) + (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/v12_sense/") (tstamps "/0fb70357/")) + (tstamps "175b043f")) +(comp (ref "FD4") + (value "rgb_ring.led[0]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[0]")) + (property (name "edg_short_path") (value "rgb_ring.led[0]")) + (property (name "edg_refdes") (value "FD4")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07e5021e")) +(comp (ref "FD5") + (value "rgb_ring.led[1]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[1]")) + (property (name "edg_short_path") (value "rgb_ring.led[1]")) + (property (name "edg_refdes") (value "FD5")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07e7021f")) +(comp (ref "FD6") + (value "rgb_ring.led[2]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[2]")) + (property (name "edg_short_path") (value "rgb_ring.led[2]")) + (property (name "edg_refdes") (value "FD6")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07e90220")) +(comp (ref "FD7") + (value "rgb_ring.led[3]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[3]")) + (property (name "edg_short_path") (value "rgb_ring.led[3]")) + (property (name "edg_refdes") (value "FD7")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07eb0221")) +(comp (ref "FD8") + (value "rgb_ring.led[4]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[4]")) + (property (name "edg_short_path") (value "rgb_ring.led[4]")) + (property (name "edg_refdes") (value "FD8")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07ed0222")) +(comp (ref "FD9") + (value "rgb_ring.led[5]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[5]")) + (property (name "edg_short_path") (value "rgb_ring.led[5]")) + (property (name "edg_refdes") (value "FD9")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07ef0223")) +(comp (ref "FD10") + (value "rgb_ring.led[6]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[6]")) + (property (name "edg_short_path") (value "rgb_ring.led[6]")) + (property (name "edg_refdes") (value "FD10")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07f10224")) +(comp (ref "FD11") + (value "rgb_ring.led[7]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[7]")) + (property (name "edg_short_path") (value "rgb_ring.led[7]")) + (property (name "edg_refdes") (value "FD11")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07f30225")) +(comp (ref "FD12") + (value "rgb_ring.led[8]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[8]")) + (property (name "edg_short_path") (value "rgb_ring.led[8]")) + (property (name "edg_refdes") (value "FD12")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07f50226")) +(comp (ref "FD13") + (value "rgb_ring.led[9]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[9]")) + (property (name "edg_short_path") (value "rgb_ring.led[9]")) + (property (name "edg_refdes") (value "FD13")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07f70227")) +(comp (ref "FD14") + (value "rgb_ring.led[10]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[10]")) + (property (name "edg_short_path") (value "rgb_ring.led[10]")) + (property (name "edg_refdes") (value "FD14")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a09024f")) +(comp (ref "FD15") + (value "rgb_ring.led[11]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[11]")) + (property (name "edg_short_path") (value "rgb_ring.led[11]")) + (property (name "edg_refdes") (value "FD15")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a0b0250")) +(comp (ref "FD16") + (value "rgb_ring.led[12]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[12]")) + (property (name "edg_short_path") (value "rgb_ring.led[12]")) + (property (name "edg_refdes") (value "FD16")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a0d0251")) +(comp (ref "FD17") + (value "rgb_ring.led[13]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[13]")) + (property (name "edg_short_path") (value "rgb_ring.led[13]")) + (property (name "edg_refdes") (value "FD17")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a0f0252")) +(comp (ref "FD18") + (value "rgb_ring.led[14]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[14]")) + (property (name "edg_short_path") (value "rgb_ring.led[14]")) + (property (name "edg_refdes") (value "FD18")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a110253")) +(comp (ref "FD19") + (value "rgb_ring.led[15]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[15]")) + (property (name "edg_short_path") (value "rgb_ring.led[15]")) + (property (name "edg_refdes") (value "FD19")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a130254")) +(comp (ref "FD20") + (value "rgb_ring.led[16]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[16]")) + (property (name "edg_short_path") (value "rgb_ring.led[16]")) + (property (name "edg_refdes") (value "FD20")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a150255")) +(comp (ref "FD21") + (value "rgb_ring.led[17]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArray")) + (property (name "edg_path") (value "rgb_ring.led[17]")) + (property (name "edg_short_path") (value "rgb_ring.led[17]")) + (property (name "edg_refdes") (value "FD21")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a170256")) +(comp (ref "FJ3") + (value "fan[0]") + (footprint "Connector:FanPinHeader_1x04_P2.54mm_Vertical") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "fan[0]")) + (property (name "edg_short_path") (value "fan[0]")) + (property (name "edg_refdes") (value "FJ3")) + (property (name "edg_part") (value "4-pin CPU fan connector")) + (property (name "edg_value") (value "4-pin CPU fan connector")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "07d5021e")) +(comp (ref "FQ1") + (value "fan_drv[0].pre") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "fan_drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "fan_drv[0].pre")) + (property (name "edg_short_path") (value "fan_drv[0].pre")) + (property (name "edg_refdes") (value "FQ1")) + (property (name "edg_part") (value "AO3400A (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 5.7A 26.5mΩ@10V,5.7A 1.4W 1.5V@250μA N Channel SOT-23-3L MOSFETs ROHS")) + (sheetpath (names "/fan_drv[0]/") (tstamps "/15b003c9/")) + (tstamps "029c0148")) +(comp (ref "FR8") + (value "fan_drv[0].pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "fan_drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "fan_drv[0].pull")) + (property (name "edg_short_path") (value "fan_drv[0].pull")) + (property (name "edg_refdes") (value "FR8")) + (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/fan_drv[0]/") (tstamps "/15b003c9/")) + (tstamps "046701be")) +(comp (ref "FQ2") + (value "fan_drv[0].drv") + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") + (property (name "Sheetname") (value "fan_drv[0]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "fan_drv[0].drv")) + (property (name "edg_short_path") (value "fan_drv[0].drv")) + (property (name "edg_refdes") (value "FQ2")) + (property (name "edg_part") (value "AO4407A (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 12A 3.1W 11mΩ@20V,12A 3V@250μA P Channel SOIC-8_150mil MOSFETs ROHS")) + (sheetpath (names "/fan_drv[0]/") (tstamps "/15b003c9/")) + (tstamps "0289014d")) +(comp (ref "FQ3") + (value "fan_ctl[0]") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "fan_ctl[0].drv")) + (property (name "edg_short_path") (value "fan_ctl[0]")) + (property (name "edg_refdes") (value "FQ3")) + (property (name "edg_part") (value "AO3400A (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 5.7A 26.5mΩ@10V,5.7A 1.4W 1.5V@250μA N Channel SOT-23-3L MOSFETs ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "158c03c0")) +(comp (ref "FJ4") + (value "fan[1]") + (footprint "Connector:FanPinHeader_1x04_P2.54mm_Vertical") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "fan[1]")) + (property (name "edg_short_path") (value "fan[1]")) + (property (name "edg_refdes") (value "FJ4")) + (property (name "edg_part") (value "4-pin CPU fan connector")) + (property (name "edg_value") (value "4-pin CPU fan connector")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "07d7021f")) +(comp (ref "FQ4") + (value "fan_drv[1].pre") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "fan_drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "fan_drv[1].pre")) + (property (name "edg_short_path") (value "fan_drv[1].pre")) + (property (name "edg_refdes") (value "FQ4")) + (property (name "edg_part") (value "AO3400A (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 5.7A 26.5mΩ@10V,5.7A 1.4W 1.5V@250μA N Channel SOT-23-3L MOSFETs ROHS")) + (sheetpath (names "/fan_drv[1]/") (tstamps "/15b203ca/")) + (tstamps "029c0148")) +(comp (ref "FR9") + (value "fan_drv[1].pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "fan_drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "fan_drv[1].pull")) + (property (name "edg_short_path") (value "fan_drv[1].pull")) + (property (name "edg_refdes") (value "FR9")) + (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/fan_drv[1]/") (tstamps "/15b203ca/")) + (tstamps "046701be")) +(comp (ref "FQ5") + (value "fan_drv[1].drv") + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") + (property (name "Sheetname") (value "fan_drv[1]")) + (property (name "Sheetfile") (value "edg.abstract_parts.DigitalAmplifiers.HighSideSwitch")) + (property (name "edg_path") (value "fan_drv[1].drv")) + (property (name "edg_short_path") (value "fan_drv[1].drv")) + (property (name "edg_refdes") (value "FQ5")) + (property (name "edg_part") (value "AO4407A (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 12A 3.1W 11mΩ@20V,12A 3V@250μA P Channel SOIC-8_150mil MOSFETs ROHS")) + (sheetpath (names "/fan_drv[1]/") (tstamps "/15b203ca/")) + (tstamps "0289014d")) +(comp (ref "FQ6") + (value "fan_ctl[1]") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "fan_ctl[1].drv")) + (property (name "edg_short_path") (value "fan_ctl[1]")) + (property (name "edg_refdes") (value "FQ6")) + (property (name "edg_part") (value "AO3400A (Alpha & Omega Semicon)")) + (property (name "edg_value") (value "30V 5.7A 26.5mΩ@10V,5.7A 1.4W 1.5V@250μA N Channel SOT-23-3L MOSFETs ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "158e03c1"))) +(nets +(net (code 1) (name "Fv12") + (node (ref FJ1) (pin 1)) + (node (ref FTP1) (pin 1)) + (node (ref FU1) (pin 3)) + (node (ref FR8) (pin 1)) + (node (ref FQ2) (pin 1)) + (node (ref FQ2) (pin 2)) + (node (ref FQ2) (pin 3)) + (node (ref FR9) (pin 1)) + (node (ref FQ5) (pin 1)) + (node (ref FQ5) (pin 2)) + (node (ref FQ5) (pin 3)) + (node (ref FR6) (pin 1)) + (node (ref FR3) (pin 1)) + (node (ref FC1) (pin 1)) + (node (ref FC3) (pin 1))) +(net (code 2) (name "Fgnd") + (node (ref FJ1) (pin 2)) + (node (ref FJ3) (pin 1)) + (node (ref FJ4) (pin 1)) + (node (ref FTP2) (pin 1)) + (node (ref FU1) (pin 1)) + (node (ref FD1) (pin 2)) + (node (ref FU2) (pin 1)) + (node (ref FD2) (pin 2)) + (node (ref FU3) (pin 33)) + (node (ref FSW1) (pin C)) + (node (ref FSW1) (pin S2)) + (node (ref FD4) (pin 4)) + (node (ref FD5) (pin 4)) + (node (ref FD6) (pin 4)) + (node (ref FD7) (pin 4)) + (node (ref FD8) (pin 4)) + (node (ref FD9) (pin 4)) + (node (ref FD10) (pin 4)) + (node (ref FD11) (pin 4)) + (node (ref FD12) (pin 4)) + (node (ref FD13) (pin 4)) + (node (ref FD14) (pin 4)) + (node (ref FD15) (pin 4)) + (node (ref FD16) (pin 4)) + (node (ref FD17) (pin 4)) + (node (ref FD18) (pin 4)) + (node (ref FD19) (pin 4)) + (node (ref FD20) (pin 4)) + (node (ref FD21) (pin 4)) + (node (ref FQ1) (pin 2)) + (node (ref FQ3) (pin 2)) + (node (ref FQ4) (pin 2)) + (node (ref FQ6) (pin 2)) + (node (ref FR7) (pin 2)) + (node (ref FC1) (pin 2)) + (node (ref FC5) (pin 2)) + (node (ref FC6) (pin 2)) + (node (ref FC7) (pin 2)) + (node (ref FC8) (pin 2)) + (node (ref FC9) (pin 2)) + (node (ref FC10) (pin 2)) + (node (ref FC11) (pin 2)) + (node (ref FC12) (pin 2)) + (node (ref FC15) (pin 2)) + (node (ref FC16) (pin 2)) + (node (ref FX1) (pin 2)) + (node (ref FX1) (pin 4)) + (node (ref FJ2) (pin 5)) + (node (ref FR2) (pin 2)) + (node (ref FC19) (pin 2)) + (node (ref FC13) (pin 2)) + (node (ref FC14) (pin 2)) + (node (ref FC17) (pin 2)) + (node (ref FC18) (pin 2)) + (node (ref FC3) (pin 2)) + (node (ref FC4) (pin 2))) +(net (code 3) (name "Fv5") + (node (ref FTP3) (pin 1)) + (node (ref FD1) (pin 1)) + (node (ref FU2) (pin 2)) + (node (ref FD4) (pin 2)) + (node (ref FD5) (pin 2)) + (node (ref FD6) (pin 2)) + (node (ref FD7) (pin 2)) + (node (ref FD8) (pin 2)) + (node (ref FD9) (pin 2)) + (node (ref FD10) (pin 2)) + (node (ref FD11) (pin 2)) + (node (ref FD12) (pin 2)) + (node (ref FD13) (pin 2)) + (node (ref FD14) (pin 2)) + (node (ref FD15) (pin 2)) + (node (ref FD16) (pin 2)) + (node (ref FD17) (pin 2)) + (node (ref FD18) (pin 2)) + (node (ref FD19) (pin 2)) + (node (ref FD20) (pin 2)) + (node (ref FD21) (pin 2)) + (node (ref FR1) (pin 1)) + (node (ref FC5) (pin 1)) + (node (ref FL1) (pin 2)) + (node (ref FC4) (pin 1))) +(net (code 4) (name "Fv3v3") + (node (ref FU2) (pin 3)) + (node (ref FTP4) (pin 1)) + (node (ref FD2) (pin 1)) + (node (ref FU3) (pin 31)) + (node (ref FU3) (pin 32)) + (node (ref FU3) (pin 11)) + (node (ref FU3) (pin 17)) + (node (ref FU3) (pin 18)) + (node (ref FD3) (pin 2)) + (node (ref FC6) (pin 1)) + (node (ref FU3) (pin 14)) + (node (ref FC7) (pin 1)) + (node (ref FC8) (pin 1)) + (node (ref FC9) (pin 1)) + (node (ref FC10) (pin 1)) + (node (ref FC11) (pin 1)) + (node (ref FC12) (pin 1)) + (node (ref FC15) (pin 1)) + (node (ref FL3) (pin 1)) + (node (ref FJ2) (pin 1)) + (node (ref FR4) (pin 1))) +(net (code 5) (name "Fmcu.program_boot_node") + (node (ref FR5) (pin 2)) + (node (ref FU3) (pin 15)) + (node (ref FJ2) (pin 2))) +(net (code 6) (name "Fenc.a") + (node (ref FU3) (pin 26)) + (node (ref FSW1) (pin A))) +(net (code 7) (name "Fenc.b") + (node (ref FU3) (pin 16)) + (node (ref FSW1) (pin B))) +(net (code 8) (name "Fenc.sw") + (node (ref FU3) (pin 25)) + (node (ref FSW1) (pin S1))) +(net (code 9) (name "Fv12_sense.output") + (node (ref FU3) (pin 4)) + (node (ref FR6) (pin 2)) + (node (ref FR7) (pin 1))) +(net (code 10) (name "Frgb_ring.din") + (node (ref FU3) (pin 6)) + (node (ref FD4) (pin 1))) +(net (code 11) (name "Ffan[0].pwr") + (node (ref FJ3) (pin 2)) + (node (ref FQ2) (pin 5)) + (node (ref FQ2) (pin 6)) + (node (ref FQ2) (pin 7)) + (node (ref FQ2) (pin 8))) +(net (code 12) (name "Ffan_drv[0].control") + (node (ref FU3) (pin 5)) + (node (ref FQ1) (pin 1))) +(net (code 13) (name "Ffan[0].sense") + (node (ref FJ3) (pin 3)) + (node (ref FU3) (pin 9))) +(net (code 14) (name "Ffan_ctl[0].control") + (node (ref FU3) (pin 8)) + (node (ref FQ3) (pin 1))) +(net (code 15) (name "Ffan_ctl[0].output") + (node (ref FJ3) (pin 4)) + (node (ref FQ3) (pin 3))) +(net (code 16) (name "Ffan[1].pwr") + (node (ref FJ4) (pin 2)) + (node (ref FQ5) (pin 5)) + (node (ref FQ5) (pin 6)) + (node (ref FQ5) (pin 7)) + (node (ref FQ5) (pin 8))) +(net (code 17) (name "Ffan_drv[1].control") + (node (ref FU3) (pin 10)) + (node (ref FQ4) (pin 1))) +(net (code 18) (name "Ffan[1].sense") + (node (ref FJ4) (pin 3)) + (node (ref FU3) (pin 12))) +(net (code 19) (name "Ffan_ctl[1].control") + (node (ref FU3) (pin 13)) + (node (ref FQ6) (pin 1))) +(net (code 20) (name "Ffan_ctl[1].output") + (node (ref FJ4) (pin 4)) + (node (ref FQ6) (pin 3))) +(net (code 21) (name "Freg_5v.fb.output") + (node (ref FU1) (pin 4)) + (node (ref FR1) (pin 2)) + (node (ref FR2) (pin 1))) +(net (code 22) (name "Freg_5v.boot_cap.neg") + (node (ref FC2) (pin 2)) + (node (ref FU1) (pin 2)) + (node (ref FL1) (pin 1))) +(net (code 23) (name "Freg_5v.boot_cap.pos") + (node (ref FC2) (pin 1)) + (node (ref FU1) (pin 6))) +(net (code 24) (name "Freg_5v.en_res.b") + (node (ref FR3) (pin 2)) + (node (ref FU1) (pin 5))) +(net (code 25) (name "Fmcu.xtal_node.xi") + (node (ref FU3) (pin 30)) + (node (ref FX1) (pin 1)) + (node (ref FC17) (pin 1))) +(net (code 26) (name "Fmcu.xtal_node.xo") + (node (ref FU3) (pin 29)) + (node (ref FX1) (pin 3)) + (node (ref FC18) (pin 1))) +(net (code 27) (name "Fmcu.program_uart_node.a_tx") + (node (ref FU3) (pin 28)) + (node (ref FJ2) (pin 3))) +(net (code 28) (name "Fmcu.program_uart_node.b_tx") + (node (ref FU3) (pin 27)) + (node (ref FJ2) (pin 4))) +(net (code 29) (name "Fmcu.program_en_node") + (node (ref FU3) (pin 7)) + (node (ref FJ2) (pin 6)) + (node (ref FR4) (pin 2)) + (node (ref FC19) (pin 1))) +(net (code 30) (name "Fmcu.ic.lna_in") + (node (ref FU3) (pin 1)) + (node (ref FC13) (pin 1)) + (node (ref FL2) (pin 1))) +(net (code 31) (name "Fmcu.pi.output") + (node (ref FANT1) (pin 1)) + (node (ref FL2) (pin 2)) + (node (ref FC14) (pin 1))) +(net (code 32) (name "Fmcu.ic.vdd3p3") + (node (ref FU3) (pin 2)) + (node (ref FU3) (pin 3)) + (node (ref FL3) (pin 2)) + (node (ref FC16) (pin 1))) +(net (code 33) (name "Fledr.res.a") + (node (ref FR5) (pin 1)) + (node (ref FD3) (pin 1))) +(net (code 34) (name "Frgb_ring.led[0].dout") + (node (ref FD4) (pin 3)) + (node (ref FD5) (pin 1))) +(net (code 35) (name "Frgb_ring.led[1].dout") + (node (ref FD5) (pin 3)) + (node (ref FD6) (pin 1))) +(net (code 36) (name "Frgb_ring.led[2].dout") + (node (ref FD6) (pin 3)) + (node (ref FD7) (pin 1))) +(net (code 37) (name "Frgb_ring.led[3].dout") + (node (ref FD7) (pin 3)) + (node (ref FD8) (pin 1))) +(net (code 38) (name "Frgb_ring.led[4].dout") + (node (ref FD8) (pin 3)) + (node (ref FD9) (pin 1))) +(net (code 39) (name "Frgb_ring.led[5].dout") + (node (ref FD9) (pin 3)) + (node (ref FD10) (pin 1))) +(net (code 40) (name "Frgb_ring.led[6].dout") + (node (ref FD10) (pin 3)) + (node (ref FD11) (pin 1))) +(net (code 41) (name "Frgb_ring.led[7].dout") + (node (ref FD11) (pin 3)) + (node (ref FD12) (pin 1))) +(net (code 42) (name "Frgb_ring.led[8].dout") + (node (ref FD12) (pin 3)) + (node (ref FD13) (pin 1))) +(net (code 43) (name "Frgb_ring.led[9].dout") + (node (ref FD13) (pin 3)) + (node (ref FD14) (pin 1))) +(net (code 44) (name "Frgb_ring.led[10].dout") + (node (ref FD14) (pin 3)) + (node (ref FD15) (pin 1))) +(net (code 45) (name "Frgb_ring.led[11].dout") + (node (ref FD15) (pin 3)) + (node (ref FD16) (pin 1))) +(net (code 46) (name "Frgb_ring.led[12].dout") + (node (ref FD16) (pin 3)) + (node (ref FD17) (pin 1))) +(net (code 47) (name "Frgb_ring.led[13].dout") + (node (ref FD17) (pin 3)) + (node (ref FD18) (pin 1))) +(net (code 48) (name "Frgb_ring.led[14].dout") + (node (ref FD18) (pin 3)) + (node (ref FD19) (pin 1))) +(net (code 49) (name "Frgb_ring.led[15].dout") + (node (ref FD19) (pin 3)) + (node (ref FD20) (pin 1))) +(net (code 50) (name "Frgb_ring.led[16].dout") + (node (ref FD20) (pin 3)) + (node (ref FD21) (pin 1))) +(net (code 51) (name "Frgb_ring.dout") + (node (ref FD21) (pin 3))) +(net (code 52) (name "Ffan_drv[0].pre.drain") + (node (ref FQ1) (pin 3)) + (node (ref FR8) (pin 2)) + (node (ref FQ2) (pin 4))) +(net (code 53) (name "Ffan_drv[1].pre.drain") + (node (ref FQ4) (pin 3)) + (node (ref FR9) (pin 2)) + (node (ref FQ5) (pin 4)))) +) \ No newline at end of file diff --git a/examples/IotFan/IotFan.svgpcb.js b/examples/IotFan/IotFan.svgpcb.js new file mode 100644 index 000000000..1162cde44 --- /dev/null +++ b/examples/IotFan/IotFan.svgpcb.js @@ -0,0 +1,473 @@ +const board = new PCB(); + +// jlc_th.th1 +const FH1 = board.add(JlcToolingHole_1_152mm, { + translate: pt(0.739, 1.742), rotate: 0, + id: 'FH1' +}) +// jlc_th.th2 +const FH2 = board.add(JlcToolingHole_1_152mm, { + translate: pt(0.779, 1.742), rotate: 0, + id: 'FH2' +}) +// jlc_th.th3 +const FH3 = board.add(JlcToolingHole_1_152mm, { + translate: pt(0.739, 1.781), rotate: 0, + id: 'FH3' +}) +// pwr +const FJ1 = board.add(BarrelJack_CUI_PJ_036AH_SMT_Horizontal, { + translate: pt(1.256, 0.413), rotate: 0, + id: 'FJ1' +}) +// tp_pwr.tp +const FTP1 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.027, 1.464), rotate: 0, + id: 'FTP1' +}) +// tp_gnd.tp +const FTP2 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.277, 1.464), rotate: 0, + id: 'FTP2' +}) +// reg_5v.ic +const FU1 = board.add(SOT_23_6, { + translate: pt(0.301, 0.874), rotate: 0, + id: 'FU1' +}) +// reg_5v.fb.div.top_res +const FR1 = board.add(R_0603_1608Metric, { + translate: pt(0.452, 1.053), rotate: 0, + id: 'FR1' +}) +// reg_5v.fb.div.bottom_res +const FR2 = board.add(R_0603_1608Metric, { + translate: pt(0.058, 1.183), rotate: 0, + id: 'FR2' +}) +// reg_5v.hf_in_cap.cap +const FC1 = board.add(C_0603_1608Metric, { + translate: pt(0.214, 1.183), rotate: 0, + id: 'FC1' +}) +// reg_5v.boot_cap +const FC2 = board.add(C_0603_1608Metric, { + translate: pt(0.370, 1.183), rotate: 0, + id: 'FC2' +}) +// reg_5v.power_path.inductor +const FL1 = board.add(L_Sunlord_SWPA4030S, { + translate: pt(0.091, 0.896), rotate: 0, + id: 'FL1' +}) +// reg_5v.power_path.in_cap.cap +const FC3 = board.add(C_1206_3216Metric, { + translate: pt(0.091, 1.070), rotate: 0, + id: 'FC3' +}) +// reg_5v.power_path.out_cap.cap +const FC4 = board.add(C_0805_2012Metric, { + translate: pt(0.287, 1.063), rotate: 0, + id: 'FC4' +}) +// reg_5v.en_res +const FR3 = board.add(R_0603_1608Metric, { + translate: pt(0.058, 1.280), rotate: 0, + id: 'FR3' +}) +// tp_5v.tp +const FTP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.528, 1.464), rotate: 0, + id: 'FTP3' +}) +// prot_5v.diode +const FD1 = board.add(D_SOD_323, { + translate: pt(0.063, 1.779), rotate: 0, + id: 'FD1' +}) +// reg_3v3.ic +const FU2 = board.add(SOT_89_3, { + translate: pt(2.260, 0.906), rotate: 0, + id: 'FU2' +}) +// reg_3v3.in_cap.cap +const FC5 = board.add(C_0603_1608Metric, { + translate: pt(2.206, 1.072), rotate: 0, + id: 'FC5' +}) +// reg_3v3.out_cap.cap +const FC6 = board.add(C_0603_1608Metric, { + translate: pt(2.362, 1.072), rotate: 0, + id: 'FC6' +}) +// tp_3v3.tp +const FTP4 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.311, 1.779), rotate: 0, + id: 'FTP4' +}) +// prot_3v3.diode +const FD2 = board.add(D_SOD_323, { + translate: pt(0.558, 1.779), rotate: 0, + id: 'FD2' +}) +// mcu.ic +const FU3 = board.add(QFN_32_1EP_5x5mm_P0_5mm_EP3_65x3_65mm, { + translate: pt(1.768, 0.122), rotate: 0, + id: 'FU3' +}) +// mcu.vdd_bulk_cap.cap +const FC7 = board.add(C_0805_2012Metric, { + translate: pt(1.932, 0.322), rotate: 0, + id: 'FC7' +}) +// mcu.vdda_cap0.cap +const FC8 = board.add(C_0603_1608Metric, { + translate: pt(2.096, 0.312), rotate: 0, + id: 'FC8' +}) +// mcu.vdda_cap1.cap +const FC9 = board.add(C_0603_1608Metric, { + translate: pt(2.252, 0.312), rotate: 0, + id: 'FC9' +}) +// mcu.vddrtc_cap.cap +const FC10 = board.add(C_0603_1608Metric, { + translate: pt(2.408, 0.312), rotate: 0, + id: 'FC10' +}) +// mcu.vddcpu_cap.cap +const FC11 = board.add(C_0603_1608Metric, { + translate: pt(1.704, 0.441), rotate: 0, + id: 'FC11' +}) +// mcu.vddspi_cap.cap +const FC12 = board.add(C_0603_1608Metric, { + translate: pt(1.860, 0.441), rotate: 0, + id: 'FC12' +}) +// mcu.ant +const FANT1 = board.add(D_1206_3216Metric, { + translate: pt(1.736, 0.328), rotate: 0, + id: 'FANT1' +}) +// mcu.pi.c1 +const FC13 = board.add(C_0603_1608Metric, { + translate: pt(2.016, 0.441), rotate: 0, + id: 'FC13' +}) +// mcu.pi.c2 +const FC14 = board.add(C_0603_1608Metric, { + translate: pt(2.172, 0.441), rotate: 0, + id: 'FC14' +}) +// mcu.pi.l +const FL2 = board.add(L_0603_1608Metric, { + translate: pt(2.328, 0.441), rotate: 0, + id: 'FL2' +}) +// mcu.vdd3p3_l_cap.cap +const FC15 = board.add(C_0603_1608Metric, { + translate: pt(1.704, 0.538), rotate: 0, + id: 'FC15' +}) +// mcu.vdd3p3_cap.cap +const FC16 = board.add(C_0603_1608Metric, { + translate: pt(1.860, 0.538), rotate: 0, + id: 'FC16' +}) +// mcu.vdd3p3_l.ind +const FL3 = board.add(L_0603_1608Metric, { + translate: pt(2.016, 0.538), rotate: 0, + id: 'FL3' +}) +// mcu.crystal.package +const FX1 = board.add(Crystal_SMD_2520_4Pin_2_5x2_0mm, { + translate: pt(2.311, 0.059), rotate: 0, + id: 'FX1' +}) +// mcu.crystal.cap_a +const FC17 = board.add(C_0603_1608Metric, { + translate: pt(2.172, 0.538), rotate: 0, + id: 'FC17' +}) +// mcu.crystal.cap_b +const FC18 = board.add(C_0603_1608Metric, { + translate: pt(2.328, 0.538), rotate: 0, + id: 'FC18' +}) +// mcu.prog.conn +const FJ2 = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { + translate: pt(2.067, 0.079), rotate: 0, + id: 'FJ2' +}) +// mcu.en_pull.rc.r +const FR4 = board.add(R_0603_1608Metric, { + translate: pt(1.704, 0.635), rotate: 0, + id: 'FR4' +}) +// mcu.en_pull.rc.c +const FC19 = board.add(C_0603_1608Metric, { + translate: pt(1.860, 0.635), rotate: 0, + id: 'FC19' +}) +// ledr.package +const FD3 = board.add(LED_0603_1608Metric, { + translate: pt(1.011, 1.456), rotate: 0, + id: 'FD3' +}) +// ledr.res +const FR5 = board.add(R_0603_1608Metric, { + translate: pt(1.011, 1.553), rotate: 0, + id: 'FR5' +}) +// enc.package +const FSW1 = board.add(RotaryEncoder_Alps_EC11J15_Switch, { + translate: pt(0.394, 0.344), rotate: 0, + id: 'FSW1' +}) +// v12_sense.div.top_res +const FR6 = board.add(R_0603_1608Metric, { + translate: pt(1.246, 1.456), rotate: 0, + id: 'FR6' +}) +// v12_sense.div.bottom_res +const FR7 = board.add(R_0603_1608Metric, { + translate: pt(1.246, 1.552), rotate: 0, + id: 'FR7' +}) +// rgb_ring.led[0] +const FD4 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(0.668, 0.846), rotate: 0, + id: 'FD4' +}) +// rgb_ring.led[1] +const FD5 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(0.786, 0.846), rotate: 0, + id: 'FD5' +}) +// rgb_ring.led[2] +const FD6 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(0.904, 0.846), rotate: 0, + id: 'FD6' +}) +// rgb_ring.led[3] +const FD7 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(1.022, 0.846), rotate: 0, + id: 'FD7' +}) +// rgb_ring.led[4] +const FD8 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(1.140, 0.846), rotate: 0, + id: 'FD8' +}) +// rgb_ring.led[5] +const FD9 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(0.668, 0.965), rotate: 0, + id: 'FD9' +}) +// rgb_ring.led[6] +const FD10 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(0.786, 0.965), rotate: 0, + id: 'FD10' +}) +// rgb_ring.led[7] +const FD11 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(0.904, 0.965), rotate: 0, + id: 'FD11' +}) +// rgb_ring.led[8] +const FD12 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(1.022, 0.965), rotate: 0, + id: 'FD12' +}) +// rgb_ring.led[9] +const FD13 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(1.140, 0.965), rotate: 0, + id: 'FD13' +}) +// rgb_ring.led[10] +const FD14 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(0.668, 1.083), rotate: 0, + id: 'FD14' +}) +// rgb_ring.led[11] +const FD15 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(0.786, 1.083), rotate: 0, + id: 'FD15' +}) +// rgb_ring.led[12] +const FD16 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(0.904, 1.083), rotate: 0, + id: 'FD16' +}) +// rgb_ring.led[13] +const FD17 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(1.022, 1.083), rotate: 0, + id: 'FD17' +}) +// rgb_ring.led[14] +const FD18 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(1.140, 1.083), rotate: 0, + id: 'FD18' +}) +// rgb_ring.led[15] +const FD19 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(0.668, 1.201), rotate: 0, + id: 'FD19' +}) +// rgb_ring.led[16] +const FD20 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(0.786, 1.201), rotate: 0, + id: 'FD20' +}) +// rgb_ring.led[17] +const FD21 = board.add(LED_SK6812_EC15_1_5x1_5mm, { + translate: pt(0.904, 1.201), rotate: 0, + id: 'FD21' +}) +// fan[0] +const FJ3 = board.add(FanPinHeader_1x04_P2_54mm_Vertical, { + translate: pt(0.069, 1.576), rotate: 0, + id: 'FJ3' +}) +// fan_drv[0].pre +const FQ1 = board.add(SOT_23, { + translate: pt(1.373, 1.126), rotate: 0, + id: 'FQ1' +}) +// fan_drv[0].pull +const FR8 = board.add(R_0603_1608Metric, { + translate: pt(1.546, 1.088), rotate: 0, + id: 'FR8' +}) +// fan_drv[0].drv +const FQ2 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(1.443, 0.913), rotate: 0, + id: 'FQ2' +}) +// fan_ctl[0].drv +const FQ3 = board.add(SOT_23, { + translate: pt(1.498, 1.494), rotate: 0, + id: 'FQ3' +}) +// fan[1] +const FJ4 = board.add(FanPinHeader_1x04_P2_54mm_Vertical, { + translate: pt(0.545, 1.576), rotate: 0, + id: 'FJ4' +}) +// fan_drv[1].pre +const FQ4 = board.add(SOT_23, { + translate: pt(1.798, 1.126), rotate: 0, + id: 'FQ4' +}) +// fan_drv[1].pull +const FR9 = board.add(R_0603_1608Metric, { + translate: pt(1.972, 1.088), rotate: 0, + id: 'FR9' +}) +// fan_drv[1].drv +const FQ5 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(1.869, 0.913), rotate: 0, + id: 'FQ5' +}) +// fan_ctl[1].drv +const FQ6 = board.add(SOT_23, { + translate: pt(1.767, 1.494), rotate: 0, + id: 'FQ6' +}) + +board.setNetlist([ + {name: "Fv12", pads: [["FJ1", "1"], ["FTP1", "1"], ["FU1", "3"], ["FR8", "1"], ["FQ2", "1"], ["FQ2", "2"], ["FQ2", "3"], ["FR9", "1"], ["FQ5", "1"], ["FQ5", "2"], ["FQ5", "3"], ["FR6", "1"], ["FR3", "1"], ["FC1", "1"], ["FC3", "1"]]}, + {name: "Fgnd", pads: [["FJ1", "2"], ["FJ3", "1"], ["FJ4", "1"], ["FTP2", "1"], ["FU1", "1"], ["FD1", "2"], ["FU2", "1"], ["FD2", "2"], ["FU3", "33"], ["FSW1", "C"], ["FSW1", "S2"], ["FD4", "4"], ["FD5", "4"], ["FD6", "4"], ["FD7", "4"], ["FD8", "4"], ["FD9", "4"], ["FD10", "4"], ["FD11", "4"], ["FD12", "4"], ["FD13", "4"], ["FD14", "4"], ["FD15", "4"], ["FD16", "4"], ["FD17", "4"], ["FD18", "4"], ["FD19", "4"], ["FD20", "4"], ["FD21", "4"], ["FQ1", "2"], ["FQ3", "2"], ["FQ4", "2"], ["FQ6", "2"], ["FR7", "2"], ["FC1", "2"], ["FC5", "2"], ["FC6", "2"], ["FC7", "2"], ["FC8", "2"], ["FC9", "2"], ["FC10", "2"], ["FC11", "2"], ["FC12", "2"], ["FC15", "2"], ["FC16", "2"], ["FX1", "2"], ["FX1", "4"], ["FJ2", "5"], ["FR2", "2"], ["FC19", "2"], ["FC13", "2"], ["FC14", "2"], ["FC17", "2"], ["FC18", "2"], ["FC3", "2"], ["FC4", "2"]]}, + {name: "Fv5", pads: [["FTP3", "1"], ["FD1", "1"], ["FU2", "2"], ["FD4", "2"], ["FD5", "2"], ["FD6", "2"], ["FD7", "2"], ["FD8", "2"], ["FD9", "2"], ["FD10", "2"], ["FD11", "2"], ["FD12", "2"], ["FD13", "2"], ["FD14", "2"], ["FD15", "2"], ["FD16", "2"], ["FD17", "2"], ["FD18", "2"], ["FD19", "2"], ["FD20", "2"], ["FD21", "2"], ["FR1", "1"], ["FC5", "1"], ["FL1", "2"], ["FC4", "1"]]}, + {name: "Fv3v3", pads: [["FU2", "3"], ["FTP4", "1"], ["FD2", "1"], ["FU3", "31"], ["FU3", "32"], ["FU3", "11"], ["FU3", "17"], ["FU3", "18"], ["FD3", "2"], ["FC6", "1"], ["FU3", "14"], ["FC7", "1"], ["FC8", "1"], ["FC9", "1"], ["FC10", "1"], ["FC11", "1"], ["FC12", "1"], ["FC15", "1"], ["FL3", "1"], ["FJ2", "1"], ["FR4", "1"]]}, + {name: "Fmcu.program_boot_node", pads: [["FR5", "2"], ["FU3", "15"], ["FJ2", "2"]]}, + {name: "Fenc.a", pads: [["FU3", "26"], ["FSW1", "A"]]}, + {name: "Fenc.b", pads: [["FU3", "16"], ["FSW1", "B"]]}, + {name: "Fenc.sw", pads: [["FU3", "25"], ["FSW1", "S1"]]}, + {name: "Fv12_sense.output", pads: [["FU3", "4"], ["FR6", "2"], ["FR7", "1"]]}, + {name: "Frgb_ring.din", pads: [["FU3", "6"], ["FD4", "1"]]}, + {name: "Ffan[0].pwr", pads: [["FJ3", "2"], ["FQ2", "5"], ["FQ2", "6"], ["FQ2", "7"], ["FQ2", "8"]]}, + {name: "Ffan_drv[0].control", pads: [["FU3", "5"], ["FQ1", "1"]]}, + {name: "Ffan[0].sense", pads: [["FJ3", "3"], ["FU3", "9"]]}, + {name: "Ffan_ctl[0].control", pads: [["FU3", "8"], ["FQ3", "1"]]}, + {name: "Ffan_ctl[0].output", pads: [["FJ3", "4"], ["FQ3", "3"]]}, + {name: "Ffan[1].pwr", pads: [["FJ4", "2"], ["FQ5", "5"], ["FQ5", "6"], ["FQ5", "7"], ["FQ5", "8"]]}, + {name: "Ffan_drv[1].control", pads: [["FU3", "10"], ["FQ4", "1"]]}, + {name: "Ffan[1].sense", pads: [["FJ4", "3"], ["FU3", "12"]]}, + {name: "Ffan_ctl[1].control", pads: [["FU3", "13"], ["FQ6", "1"]]}, + {name: "Ffan_ctl[1].output", pads: [["FJ4", "4"], ["FQ6", "3"]]}, + {name: "Freg_5v.fb.output", pads: [["FU1", "4"], ["FR1", "2"], ["FR2", "1"]]}, + {name: "Freg_5v.boot_cap.neg", pads: [["FC2", "2"], ["FU1", "2"], ["FL1", "1"]]}, + {name: "Freg_5v.boot_cap.pos", pads: [["FC2", "1"], ["FU1", "6"]]}, + {name: "Freg_5v.en_res.b", pads: [["FR3", "2"], ["FU1", "5"]]}, + {name: "Fmcu.xtal_node.xi", pads: [["FU3", "30"], ["FX1", "1"], ["FC17", "1"]]}, + {name: "Fmcu.xtal_node.xo", pads: [["FU3", "29"], ["FX1", "3"], ["FC18", "1"]]}, + {name: "Fmcu.program_uart_node.a_tx", pads: [["FU3", "28"], ["FJ2", "3"]]}, + {name: "Fmcu.program_uart_node.b_tx", pads: [["FU3", "27"], ["FJ2", "4"]]}, + {name: "Fmcu.program_en_node", pads: [["FU3", "7"], ["FJ2", "6"], ["FR4", "2"], ["FC19", "1"]]}, + {name: "Fmcu.ic.lna_in", pads: [["FU3", "1"], ["FC13", "1"], ["FL2", "1"]]}, + {name: "Fmcu.pi.output", pads: [["FANT1", "1"], ["FL2", "2"], ["FC14", "1"]]}, + {name: "Fmcu.ic.vdd3p3", pads: [["FU3", "2"], ["FU3", "3"], ["FL3", "2"], ["FC16", "1"]]}, + {name: "Fledr.res.a", pads: [["FR5", "1"], ["FD3", "1"]]}, + {name: "Frgb_ring.led[0].dout", pads: [["FD4", "3"], ["FD5", "1"]]}, + {name: "Frgb_ring.led[1].dout", pads: [["FD5", "3"], ["FD6", "1"]]}, + {name: "Frgb_ring.led[2].dout", pads: [["FD6", "3"], ["FD7", "1"]]}, + {name: "Frgb_ring.led[3].dout", pads: [["FD7", "3"], ["FD8", "1"]]}, + {name: "Frgb_ring.led[4].dout", pads: [["FD8", "3"], ["FD9", "1"]]}, + {name: "Frgb_ring.led[5].dout", pads: [["FD9", "3"], ["FD10", "1"]]}, + {name: "Frgb_ring.led[6].dout", pads: [["FD10", "3"], ["FD11", "1"]]}, + {name: "Frgb_ring.led[7].dout", pads: [["FD11", "3"], ["FD12", "1"]]}, + {name: "Frgb_ring.led[8].dout", pads: [["FD12", "3"], ["FD13", "1"]]}, + {name: "Frgb_ring.led[9].dout", pads: [["FD13", "3"], ["FD14", "1"]]}, + {name: "Frgb_ring.led[10].dout", pads: [["FD14", "3"], ["FD15", "1"]]}, + {name: "Frgb_ring.led[11].dout", pads: [["FD15", "3"], ["FD16", "1"]]}, + {name: "Frgb_ring.led[12].dout", pads: [["FD16", "3"], ["FD17", "1"]]}, + {name: "Frgb_ring.led[13].dout", pads: [["FD17", "3"], ["FD18", "1"]]}, + {name: "Frgb_ring.led[14].dout", pads: [["FD18", "3"], ["FD19", "1"]]}, + {name: "Frgb_ring.led[15].dout", pads: [["FD19", "3"], ["FD20", "1"]]}, + {name: "Frgb_ring.led[16].dout", pads: [["FD20", "3"], ["FD21", "1"]]}, + {name: "Frgb_ring.dout", pads: [["FD21", "3"]]}, + {name: "Ffan_drv[0].pre.drain", pads: [["FQ1", "3"], ["FR8", "2"], ["FQ2", "4"]]}, + {name: "Ffan_drv[1].pre.drain", pads: [["FQ4", "3"], ["FR9", "2"], ["FQ5", "4"]]} +]) + +const limit0 = pt(-0.07874015748031496, -0.07874015748031496); +const limit1 = pt(2.7120078740157485, 1.9346456692913387); +const xMin = Math.min(limit0[0], limit1[0]); +const xMax = Math.max(limit0[0], limit1[0]); +const yMin = Math.min(limit0[1], limit1[1]); +const yMax = Math.max(limit0[1], limit1[1]); + +const filletRadius = 0.1; +const outline = path( + [(xMin+xMax/2), yMax], + ["fillet", filletRadius, [xMax, yMax]], + ["fillet", filletRadius, [xMax, yMin]], + ["fillet", filletRadius, [xMin, yMin]], + ["fillet", filletRadius, [xMin, yMax]], + [(xMin+xMax/2), yMax], +); +board.addShape("outline", outline); + +renderPCB({ + pcb: board, + layerColors: { + "F.Paste": "#000000ff", + "F.Mask": "#000000ff", + "B.Mask": "#000000ff", + "componentLabels": "#00e5e5e5", + "outline": "#002d00ff", + "padLabels": "#ffff99e5", + "B.Cu": "#ef4e4eff", + "F.Cu": "#ff8c00cc", + }, + limits: { + x: [xMin, xMax], + y: [yMin, yMax] + }, + background: "#00000000", + mmPerUnit: 25.4 +}) + + diff --git a/examples/IotIron/IotIron.net b/examples/IotIron/IotIron.net new file mode 100644 index 000000000..503dc75f2 --- /dev/null +++ b/examples/IotIron/IotIron.net @@ -0,0 +1,1489 @@ +(export (version D) +(components +(comp (ref "IH1") + (value "jlc_th.th1") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th1")) + (property (name "edg_short_path") (value "jlc_th.th1")) + (property (name "edg_refdes") (value "IH1")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "0260010e")) +(comp (ref "IH2") + (value "jlc_th.th2") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th2")) + (property (name "edg_short_path") (value "jlc_th.th2")) + (property (name "edg_refdes") (value "IH2")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "0261010f")) +(comp (ref "IH3") + (value "jlc_th.th3") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th3")) + (property (name "edg_short_path") (value "jlc_th.th3")) + (property (name "edg_refdes") (value "IH3")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "02620110")) +(comp (ref "IJ1") + (value "usb") + (footprint "Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "usb.conn")) + (property (name "edg_short_path") (value "usb")) + (property (name "edg_refdes") (value "IJ1")) + (property (name "edg_part") (value "COM-15111 (Sparkfun)")) + (property (name "edg_value") (value "COM-15111")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "02aa014b")) +(comp (ref "ITP1") + (value "tp_pwr") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_pwr.tp")) + (property (name "edg_short_path") (value "tp_pwr")) + (property (name "edg_refdes") (value "ITP1")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "vusb")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "091a029d")) +(comp (ref "ITP2") + (value "tp_gnd") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_gnd.tp")) + (property (name "edg_short_path") (value "tp_gnd")) + (property (name "edg_refdes") (value "ITP2")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "gnd")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "08df027d")) +(comp (ref "IU1") + (value "reg_3v3.ic") + (footprint "Package_TO_SOT_SMD:SOT-23-6") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) + (property (name "edg_path") (value "reg_3v3.ic")) + (property (name "edg_short_path") (value "reg_3v3.ic")) + (property (name "edg_refdes") (value "IU1")) + (property (name "edg_part") (value "TPS54202H (Texas Instruments)")) + (property (name "edg_value") (value "TPS54202H")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "013700cd")) +(comp (ref "IR1") + (value "reg_3v3.fb.top_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "fb")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) + (property (name "edg_path") (value "reg_3v3.fb.div.top_res")) + (property (name "edg_short_path") (value "reg_3v3.fb.top_res")) + (property (name "edg_refdes") (value "IR1")) + (property (name "edg_part") (value "0603WAF6801T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 6.8kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/reg_3v3/fb/") (tstamps "/0aba027a/013000c9/")) + (tstamps "0c0c02fd")) +(comp (ref "IR2") + (value "reg_3v3.fb.bottom_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "fb")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.FeedbackVoltageDivider")) + (property (name "edg_path") (value "reg_3v3.fb.div.bottom_res")) + (property (name "edg_short_path") (value "reg_3v3.fb.bottom_res")) + (property (name "edg_refdes") (value "IR2")) + (property (name "edg_part") (value "0603WAF1501T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1.5kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/reg_3v3/fb/") (tstamps "/0aba027a/013000c9/")) + (tstamps "175b043f")) +(comp (ref "IC1") + (value "reg_3v3.hf_in_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) + (property (name "edg_path") (value "reg_3v3.hf_in_cap.cap")) + (property (name "edg_short_path") (value "reg_3v3.hf_in_cap")) + (property (name "edg_refdes") (value "IC1")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "11ed0398")) +(comp (ref "IC2") + (value "reg_3v3.boot_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) + (property (name "edg_path") (value "reg_3v3.boot_cap")) + (property (name "edg_short_path") (value "reg_3v3.boot_cap")) + (property (name "edg_refdes") (value "IC2")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "0ed60348")) +(comp (ref "IL1") + (value "reg_3v3.power_path.inductor") + (footprint "Inductor_SMD:L_Sunlord_SWPA5040S") + (property (name "Sheetname") (value "power_path")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) + (property (name "edg_path") (value "reg_3v3.power_path.inductor")) + (property (name "edg_short_path") (value "reg_3v3.power_path.inductor")) + (property (name "edg_refdes") (value "IL1")) + (property (name "edg_part") (value "SWPA5040S220MT (Sunlord)")) + (property (name "edg_value") (value "1.5A 22uH ±20% 168mΩ SMD Power Inductors ROHS")) + (sheetpath (names "/reg_3v3/power_path/") (tstamps "/0aba027a/1786043a/")) + (tstamps "0f2b0369")) +(comp (ref "IC3") + (value "reg_3v3.power_path.in_cap.c[0]") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "in_cap")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) + (property (name "edg_path") (value "reg_3v3.power_path.in_cap.cap.c[0]")) + (property (name "edg_short_path") (value "reg_3v3.power_path.in_cap.c[0]")) + (property (name "edg_refdes") (value "IC3")) + (property (name "edg_part") (value "CL31A106KBHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 10uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/power_path/in_cap/") (tstamps "/0aba027a/1786043a/0879026b/")) + (tstamps "035e014c")) +(comp (ref "IC4") + (value "reg_3v3.power_path.in_cap.c[1]") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "in_cap")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) + (property (name "edg_path") (value "reg_3v3.power_path.in_cap.cap.c[1]")) + (property (name "edg_short_path") (value "reg_3v3.power_path.in_cap.c[1]")) + (property (name "edg_refdes") (value "IC4")) + (property (name "edg_part") (value "CL31A106KBHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 10uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/power_path/in_cap/") (tstamps "/0aba027a/1786043a/0879026b/")) + (tstamps "0360014d")) +(comp (ref "IC5") + (value "reg_3v3.power_path.out_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "power_path")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) + (property (name "edg_path") (value "reg_3v3.power_path.out_cap.cap")) + (property (name "edg_short_path") (value "reg_3v3.power_path.out_cap")) + (property (name "edg_refdes") (value "IC5")) + (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/power_path/") (tstamps "/0aba027a/1786043a/")) + (tstamps "0be902ec")) +(comp (ref "IR3") + (value "reg_3v3.en_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.BuckConverter_TexasInstruments.Tps54202h")) + (property (name "edg_path") (value "reg_3v3.en_res")) + (property (name "edg_short_path") (value "reg_3v3.en_res")) + (property (name "edg_refdes") (value "IR3")) + (property (name "edg_part") (value "0603WAF5103T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 510kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "0899027d")) +(comp (ref "ITP3") + (value "tp_3v3") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_3v3.tp")) + (property (name "edg_short_path") (value "tp_3v3")) + (property (name "edg_refdes") (value "ITP3")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "v3v3")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "08220220")) +(comp (ref "ID1") + (value "prot_3v3") + (footprint "Diode_SMD:D_SOD-323") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "prot_3v3.diode")) + (property (name "edg_short_path") (value "prot_3v3")) + (property (name "edg_refdes") (value "ID1")) + (property (name "edg_part") (value "BZT52B3V6S (SMC(Sangdest Microelectronicstronic (Nanjing)))")) + (property (name "edg_value") (value "5μA@1V 90Ω Single 3.53V~3.67V 200mW 3.6V SOD-323 Zener Diodes ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0eb80301")) +(comp (ref "IU2") + (value "reg_gate.ic") + (footprint "Package_TO_SOT_SMD:SOT-89-3") + (property (name "Sheetname") (value "reg_gate")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.L78l")) + (property (name "edg_path") (value "reg_gate.ic")) + (property (name "edg_short_path") (value "reg_gate.ic")) + (property (name "edg_refdes") (value "IU2")) + (property (name "edg_part") (value "L78L12AC (STMicroelectronics)")) + (property (name "edg_value") (value "L78L12AC")) + (sheetpath (names "/reg_gate/") (tstamps "/0eac033f/")) + (tstamps "013700cd")) +(comp (ref "IC6") + (value "reg_gate.in_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "reg_gate")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.L78l")) + (property (name "edg_path") (value "reg_gate.in_cap.cap")) + (property (name "edg_short_path") (value "reg_gate.in_cap")) + (property (name "edg_refdes") (value "IC6")) + (property (name "edg_part") (value "0805B334K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 330nF X7R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_gate/") (tstamps "/0eac033f/")) + (tstamps "0879026b")) +(comp (ref "IC7") + (value "reg_gate.out_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "reg_gate")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.L78l")) + (property (name "edg_path") (value "reg_gate.out_cap.cap")) + (property (name "edg_short_path") (value "reg_gate.out_cap")) + (property (name "edg_refdes") (value "IC7")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_gate/") (tstamps "/0eac033f/")) + (tstamps "0be902ec")) +(comp (ref "ITP4") + (value "tp_gate") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_gate.tp")) + (property (name "edg_short_path") (value "tp_gate")) + (property (name "edg_refdes") (value "ITP4")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "vgate")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0bba02e5")) +(comp (ref "IU3") + (value "mcu.ic") + (footprint "RF_Module:ESP32-S3-WROOM-1") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.ic")) + (property (name "edg_short_path") (value "mcu.ic")) + (property (name "edg_refdes") (value "IU3")) + (property (name "edg_part") (value "ESP32-S3-WROOM-1-N16R8 (Espressif Systems)")) + (property (name "edg_value") (value "ESP32-S3-WROOM-1-N16R8")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "013700cd")) +(comp (ref "IC8") + (value "mcu.vcc_cap0") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.vcc_cap0.cap")) + (property (name "edg_short_path") (value "mcu.vcc_cap0")) + (property (name "edg_refdes") (value "IC8")) + (property (name "edg_part") (value "CL31A226KPHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "10V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "0e590300")) +(comp (ref "IC9") + (value "mcu.vcc_cap1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.vcc_cap1.cap")) + (property (name "edg_short_path") (value "mcu.vcc_cap1")) + (property (name "edg_refdes") (value "IC9")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "0e5a0301")) +(comp (ref "IJ2") + (value "mcu.prog") + (footprint "Connector:Tag-Connect_TC2030-IDC-NL_2x03_P1.27mm_Vertical") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.prog.conn")) + (property (name "edg_short_path") (value "mcu.prog")) + (property (name "edg_refdes") (value "IJ2")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "045f01b9")) +(comp (ref "IR4") + (value "mcu.en_pull.r") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "en_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) + (property (name "edg_path") (value "mcu.en_pull.rc.r")) + (property (name "edg_short_path") (value "mcu.en_pull.r")) + (property (name "edg_refdes") (value "IR4")) + (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) + (tstamps "00730073")) +(comp (ref "IC10") + (value "mcu.en_pull.c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "en_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) + (property (name "edg_path") (value "mcu.en_pull.rc.c")) + (property (name "edg_short_path") (value "mcu.en_pull.c")) + (property (name "edg_refdes") (value "IC10")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) + (tstamps "00640064")) +(comp (ref "IR5") + (value "i2c_pull.scl_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "i2c_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.I2cPullup.I2cPullup")) + (property (name "edg_path") (value "i2c_pull.scl_res.res")) + (property (name "edg_short_path") (value "i2c_pull.scl_res")) + (property (name "edg_refdes") (value "IR5")) + (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/i2c_pull/") (tstamps "/0d3e031b/")) + (tstamps "0ba902ec")) +(comp (ref "IR6") + (value "i2c_pull.sda_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "i2c_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.I2cPullup.I2cPullup")) + (property (name "edg_path") (value "i2c_pull.sda_res.res")) + (property (name "edg_short_path") (value "i2c_pull.sda_res")) + (property (name "edg_refdes") (value "IR6")) + (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/i2c_pull/") (tstamps "/0d3e031b/")) + (tstamps "0b7802e2")) +(comp (ref "IU4") + (value "pd.ic") + (footprint "Package_DFN_QFN:WQFN-14-1EP_2.5x2.5mm_P0.5mm_EP1.45x1.45mm") + (property (name "Sheetname") (value "pd")) + (property (name "Sheetfile") (value "edg.parts.Fusb302b.Fusb302b")) + (property (name "edg_path") (value "pd.ic")) + (property (name "edg_short_path") (value "pd.ic")) + (property (name "edg_refdes") (value "IU4")) + (property (name "edg_part") (value "FUSB302B11MPX (ON Semiconductor)")) + (property (name "edg_value") (value "FUSB302B11MPX")) + (sheetpath (names "/pd/") (tstamps "/014600d5/")) + (tstamps "013700cd")) +(comp (ref "IC11") + (value "pd.vdd_cap[0]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "pd")) + (property (name "Sheetfile") (value "edg.parts.Fusb302b.Fusb302b")) + (property (name "edg_path") (value "pd.vdd_cap[0].cap")) + (property (name "edg_short_path") (value "pd.vdd_cap[0]")) + (property (name "edg_refdes") (value "IC11")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/pd/") (tstamps "/014600d5/")) + (tstamps "15a803ba")) +(comp (ref "IC12") + (value "pd.vdd_cap[1]") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "pd")) + (property (name "Sheetfile") (value "edg.parts.Fusb302b.Fusb302b")) + (property (name "edg_path") (value "pd.vdd_cap[1].cap")) + (property (name "edg_short_path") (value "pd.vdd_cap[1]")) + (property (name "edg_refdes") (value "IC12")) + (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/pd/") (tstamps "/014600d5/")) + (tstamps "15aa03bb")) +(comp (ref "IU5") + (value "usb_esd") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "usb_esd")) + (property (name "edg_short_path") (value "usb_esd")) + (property (name "edg_refdes") (value "IU5")) + (property (name "edg_part") (value "PESD5V0X1BT (Nexperia)")) + (property (name "edg_value") (value "PESD5V0X1BT")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0bcb02e6")) +(comp (ref "IR7") + (value "vusb_sense.top_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "vusb_sense")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) + (property (name "edg_path") (value "vusb_sense.div.top_res")) + (property (name "edg_short_path") (value "vusb_sense.top_res")) + (property (name "edg_refdes") (value "IR7")) + (property (name "edg_part") (value "0603WAF8202T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 82kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/vusb_sense/") (tstamps "/17ab043e/")) + (tstamps "0c0c02fd")) +(comp (ref "IR8") + (value "vusb_sense.bottom_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "vusb_sense")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) + (property (name "edg_path") (value "vusb_sense.div.bottom_res")) + (property (name "edg_short_path") (value "vusb_sense.bottom_res")) + (property (name "edg_refdes") (value "IR8")) + (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/vusb_sense/") (tstamps "/17ab043e/")) + (tstamps "175b043f")) +(comp (ref "IU6") + (value "temp.ic") + (footprint "Package_SON:WSON-6-1EP_3x3mm_P0.95mm") + (property (name "Sheetname") (value "temp")) + (property (name "Sheetfile") (value "edg.parts.EnvironmentalSensor_Ti.Hdc1080")) + (property (name "edg_path") (value "temp.ic")) + (property (name "edg_short_path") (value "temp.ic")) + (property (name "edg_refdes") (value "IU6")) + (property (name "edg_part") (value "HDC1080 (Texas Instruments)")) + (property (name "edg_value") (value "HDC1080")) + (sheetpath (names "/temp/") (tstamps "/044d01b7/")) + (tstamps "013700cd")) +(comp (ref "IC13") + (value "temp.vdd_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "temp")) + (property (name "Sheetfile") (value "edg.parts.EnvironmentalSensor_Ti.Hdc1080")) + (property (name "edg_path") (value "temp.vdd_cap.cap")) + (property (name "edg_short_path") (value "temp.vdd_cap")) + (property (name "edg_refdes") (value "IC13")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/temp/") (tstamps "/044d01b7/")) + (tstamps "0b6402d2")) +(comp (ref "ISW1") + (value "enc") + (footprint "edg:RotaryEncoder_Alps_EC11J15-Switch") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "enc.package")) + (property (name "edg_short_path") (value "enc")) + (property (name "edg_refdes") (value "ISW1")) + (property (name "edg_part") (value "EC11J1525402 (Alps Alpine)")) + (property (name "edg_value") (value "EC11J1525402")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "02710137")) +(comp (ref "IJ3") + (value "oled.device") + (footprint "Connector_FFC-FPC:Hirose_FH12-30S-0.5SH_1x30-1MP_P0.50mm_Horizontal") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.device.conn")) + (property (name "edg_short_path") (value "oled.device")) + (property (name "edg_refdes") (value "IJ3")) + (property (name "edg_part") (value "AFC01-S30FC*-00 (Jushuo)")) + (property (name "edg_value") (value "AFC01-S30FC*-00")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "08950271")) +(comp (ref "IU7") + (value "oled.lcd") + (footprint "edg:Lcd_Er_Oled0.96_1.1_Outline") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.lcd")) + (property (name "edg_short_path") (value "oled.lcd")) + (property (name "edg_refdes") (value "IU7")) + (property (name "edg_part") (value "ER-OLED-0.96-1.1 (EastRising)")) + (property (name "edg_value") (value "ER-OLED-0.96-1.1")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "02710134")) +(comp (ref "IC14") + (value "oled.c1_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.c1_cap")) + (property (name "edg_short_path") (value "oled.c1_cap")) + (property (name "edg_refdes") (value "IC14")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "07240228")) +(comp (ref "IC15") + (value "oled.c2_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.c2_cap")) + (property (name "edg_short_path") (value "oled.c2_cap")) + (property (name "edg_refdes") (value "IC15")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "07290229")) +(comp (ref "IR9") + (value "oled.iref_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.iref_res")) + (property (name "edg_short_path") (value "oled.iref_res")) + (property (name "edg_refdes") (value "IR9")) + (property (name "edg_part") (value "0603WAF3903T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 390kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "0ed90350")) +(comp (ref "IC16") + (value "oled.vcomh_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.vcomh_cap.cap")) + (property (name "edg_short_path") (value "oled.vcomh_cap")) + (property (name "edg_refdes") (value "IC16")) + (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "12bd03b1")) +(comp (ref "IC17") + (value "oled.vdd_cap1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.vdd_cap1.cap")) + (property (name "edg_short_path") (value "oled.vdd_cap1")) + (property (name "edg_refdes") (value "IC17")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "0e670303")) +(comp (ref "IC18") + (value "oled.vbat_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.vbat_cap.cap")) + (property (name "edg_short_path") (value "oled.vbat_cap")) + (property (name "edg_refdes") (value "IC18")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "0ec70341")) +(comp (ref "IC19") + (value "oled.vcc_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.vcc_cap.cap")) + (property (name "edg_short_path") (value "oled.vcc_cap")) + (property (name "edg_refdes") (value "IC19")) + (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "0b5902d0")) +(comp (ref "IU8") + (value "spk_drv.ic") + (footprint "Package_DFN_QFN:QFN-16-1EP_3x3mm_P0.5mm_EP1.45x1.45mm") + (property (name "Sheetname") (value "spk_drv")) + (property (name "Sheetfile") (value "edg.parts.SpeakerDriver_Max98357a.Max98357a")) + (property (name "edg_path") (value "spk_drv.ic")) + (property (name "edg_short_path") (value "spk_drv.ic")) + (property (name "edg_refdes") (value "IU8")) + (property (name "edg_part") (value "MAX98357AETE+T (Maxim Integrated)")) + (property (name "edg_value") (value "MAX98357AETE+T")) + (sheetpath (names "/spk_drv/") (tstamps "/0be502fa/")) + (tstamps "013700cd")) +(comp (ref "IC20") + (value "spk_drv.pwr_cap0") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "spk_drv")) + (property (name "Sheetfile") (value "edg.parts.SpeakerDriver_Max98357a.Max98357a")) + (property (name "edg_path") (value "spk_drv.pwr_cap0.cap")) + (property (name "edg_short_path") (value "spk_drv.pwr_cap0")) + (property (name "edg_refdes") (value "IC20")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/spk_drv/") (tstamps "/0be502fa/")) + (tstamps "0f0f031d")) +(comp (ref "IC21") + (value "spk_drv.pwr_cap1") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "spk_drv")) + (property (name "Sheetfile") (value "edg.parts.SpeakerDriver_Max98357a.Max98357a")) + (property (name "edg_path") (value "spk_drv.pwr_cap1.cap")) + (property (name "edg_short_path") (value "spk_drv.pwr_cap1")) + (property (name "edg_refdes") (value "IC21")) + (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/spk_drv/") (tstamps "/0be502fa/")) + (tstamps "0f10031e")) +(comp (ref "IJ4") + (value "spk") + (footprint "Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "spk.conn")) + (property (name "edg_short_path") (value "spk")) + (property (name "edg_refdes") (value "IJ4")) + (property (name "edg_part") (value "B2B-PH-K (JST)")) + (property (name "edg_value") (value "B2B-PH-K")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "02a7014f")) +(comp (ref "ID2") + (value "ledr.package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "ledr")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkLedResistor")) + (property (name "edg_path") (value "ledr.package")) + (property (name "edg_short_path") (value "ledr.package")) + (property (name "edg_refdes") (value "ID2")) + (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) + (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) + (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) + (tstamps "0b4e02cd")) +(comp (ref "IR10") + (value "ledr.res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "ledr")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorSinkLedResistor")) + (property (name "edg_path") (value "ledr.res")) + (property (name "edg_short_path") (value "ledr.res")) + (property (name "edg_refdes") (value "IR10")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) + (tstamps "0296014b")) +(comp (ref "IL2") + (value "conv.power_path.inductor") + (footprint "Inductor_SMD:L_TDK_SLF12575") + (property (name "Sheetname") (value "power_path")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) + (property (name "edg_path") (value "conv.power_path.inductor")) + (property (name "edg_short_path") (value "conv.power_path.inductor")) + (property (name "edg_refdes") (value "IL2")) + (property (name "edg_part") (value "SLF12575T-150M4R7-PF (TDK)")) + (property (name "edg_value") (value "4.7A 15uH ±20% 22.1mΩ SMD,12.5x12.5x7.5mm Power Inductors ROHS")) + (sheetpath (names "/conv/power_path/") (tstamps "/042f01b7/1786043a/")) + (tstamps "0f2b0369")) +(comp (ref "IC22") + (value "conv.power_path.in_cap.c[0]") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "in_cap")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) + (property (name "edg_path") (value "conv.power_path.in_cap.cap.c[0]")) + (property (name "edg_short_path") (value "conv.power_path.in_cap.c[0]")) + (property (name "edg_refdes") (value "IC22")) + (property (name "edg_part") (value "GRM21BR61H106KE43L (Murata Electronics)")) + (property (name "edg_value") (value "50V 10uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/power_path/in_cap/") (tstamps "/042f01b7/1786043a/0879026b/")) + (tstamps "035e014c")) +(comp (ref "IC23") + (value "conv.power_path.in_cap.c[1]") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "in_cap")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractCapacitor.DecouplingCapacitor")) + (property (name "edg_path") (value "conv.power_path.in_cap.cap.c[1]")) + (property (name "edg_short_path") (value "conv.power_path.in_cap.c[1]")) + (property (name "edg_refdes") (value "IC23")) + (property (name "edg_part") (value "GRM21BR61H106KE43L (Murata Electronics)")) + (property (name "edg_value") (value "50V 10uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/power_path/in_cap/") (tstamps "/042f01b7/1786043a/0879026b/")) + (tstamps "0360014d")) +(comp (ref "IC24") + (value "conv.power_path.out_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "power_path")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractPowerConverters.BuckConverterPowerPath")) + (property (name "edg_path") (value "conv.power_path.out_cap.cap")) + (property (name "edg_short_path") (value "conv.power_path.out_cap")) + (property (name "edg_refdes") (value "IC24")) + (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/power_path/") (tstamps "/042f01b7/1786043a/")) + (tstamps "0be902ec")) +(comp (ref "IU9") + (value "conv.sw.driver.ic") + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") + (property (name "Sheetname") (value "driver")) + (property (name "Sheetfile") (value "edg.parts.GateDriver_Ucc27282.Ucc27282")) + (property (name "edg_path") (value "conv.sw.driver.ic")) + (property (name "edg_short_path") (value "conv.sw.driver.ic")) + (property (name "edg_refdes") (value "IU9")) + (property (name "edg_part") (value "UCC27282DR (Texas Instruments)")) + (property (name "edg_value") (value "UCC27282DR")) + (sheetpath (names "/conv/sw/driver/") (tstamps "/042f01b7/015f00eb/08da028d/")) + (tstamps "013700cd")) +(comp (ref "IC25") + (value "conv.sw.driver.cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "driver")) + (property (name "Sheetfile") (value "edg.parts.GateDriver_Ucc27282.Ucc27282")) + (property (name "edg_path") (value "conv.sw.driver.cap.cap")) + (property (name "edg_short_path") (value "conv.sw.driver.cap")) + (property (name "edg_refdes") (value "IC25")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw/driver/") (tstamps "/042f01b7/015f00eb/08da028d/")) + (tstamps "025e0135")) +(comp (ref "IC26") + (value "conv.sw.driver.boot_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "driver")) + (property (name "Sheetfile") (value "edg.parts.GateDriver_Ucc27282.Ucc27282")) + (property (name "edg_path") (value "conv.sw.driver.boot_cap.cap")) + (property (name "edg_short_path") (value "conv.sw.driver.boot_cap")) + (property (name "edg_refdes") (value "IC26")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/conv/sw/driver/") (tstamps "/042f01b7/015f00eb/08da028d/")) + (tstamps "0ed60348")) +(comp (ref "IQ1") + (value "conv.sw.low_fet") + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") + (property (name "Sheetname") (value "sw")) + (property (name "Sheetfile") (value "edg.abstract_parts.PowerCircuits.FetHalfBridgeIndependent")) + (property (name "edg_path") (value "conv.sw.low_fet")) + (property (name "edg_short_path") (value "conv.sw.low_fet")) + (property (name "edg_refdes") (value "IQ1")) + (property (name "edg_part") (value "IRF7458TRPBF (Infineon Technologies)")) + (property (name "edg_value") (value "30V 14A 8mΩ@16V,14A 2.5W 4V@250μA N Channel SOIC-8_150mil MOSFETs ROHS")) + (sheetpath (names "/conv/sw/") (tstamps "/042f01b7/015f00eb/")) + (tstamps "0bd402f1")) +(comp (ref "IR11") + (value "conv.sw.low_gate_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "sw")) + (property (name "Sheetfile") (value "edg.abstract_parts.PowerCircuits.FetHalfBridgeIndependent")) + (property (name "edg_path") (value "conv.sw.low_gate_res")) + (property (name "edg_short_path") (value "conv.sw.low_gate_res")) + (property (name "edg_refdes") (value "IR11")) + (property (name "edg_part") (value "0603WAF220JT5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/conv/sw/") (tstamps "/042f01b7/015f00eb/")) + (tstamps "207d04fc")) +(comp (ref "IQ2") + (value "conv.sw.high_fet") + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") + (property (name "Sheetname") (value "sw")) + (property (name "Sheetfile") (value "edg.abstract_parts.PowerCircuits.FetHalfBridgeIndependent")) + (property (name "edg_path") (value "conv.sw.high_fet")) + (property (name "edg_short_path") (value "conv.sw.high_fet")) + (property (name "edg_refdes") (value "IQ2")) + (property (name "edg_part") (value "IRF7458TRPBF (Infineon Technologies)")) + (property (name "edg_value") (value "30V 14A 8mΩ@16V,14A 2.5W 4V@250μA N Channel SOIC-8_150mil MOSFETs ROHS")) + (sheetpath (names "/conv/sw/") (tstamps "/042f01b7/015f00eb/")) + (tstamps "0e85033f")) +(comp (ref "IR12") + (value "conv.sw.high_gate_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "sw")) + (property (name "Sheetfile") (value "edg.abstract_parts.PowerCircuits.FetHalfBridgeIndependent")) + (property (name "edg_path") (value "conv.sw.high_gate_res")) + (property (name "edg_short_path") (value "conv.sw.high_gate_res")) + (property (name "edg_refdes") (value "IR12")) + (property (name "edg_part") (value "0603WAF220JT5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/conv/sw/") (tstamps "/042f01b7/015f00eb/")) + (tstamps "24b4054a")) +(comp (ref "ITP5") + (value "tp_conv") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_conv.tp")) + (property (name "edg_short_path") (value "tp_conv")) + (property (name "edg_refdes") (value "ITP5")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "conv_out")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0bd902fa")) +(comp (ref "IR13") + (value "low_pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "low_pull.res")) + (property (name "edg_short_path") (value "low_pull")) + (property (name "edg_refdes") (value "IR13")) + (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0f79036f")) +(comp (ref "IR14") + (value "low_rc.r") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "low_rc")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) + (property (name "edg_path") (value "low_rc.rc.r")) + (property (name "edg_short_path") (value "low_rc.r")) + (property (name "edg_refdes") (value "IR14")) + (property (name "edg_part") (value "0603WAF1500T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/low_rc/") (tstamps "/08f90287/")) + (tstamps "00730073")) +(comp (ref "IC27") + (value "low_rc.c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "low_rc")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) + (property (name "edg_path") (value "low_rc.rc.c")) + (property (name "edg_short_path") (value "low_rc.c")) + (property (name "edg_refdes") (value "IC27")) + (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/low_rc/") (tstamps "/08f90287/")) + (tstamps "00640064")) +(comp (ref "IR15") + (value "high_pull") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "high_pull.res")) + (property (name "edg_short_path") (value "high_pull")) + (property (name "edg_refdes") (value "IR15")) + (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "127803bd")) +(comp (ref "IR16") + (value "high_rc.r") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "high_rc")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) + (property (name "edg_path") (value "high_rc.rc.r")) + (property (name "edg_short_path") (value "high_rc.r")) + (property (name "edg_refdes") (value "IR16")) + (property (name "edg_part") (value "0603WAF1500T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 150Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/high_rc/") (tstamps "/0b5c02d5/")) + (tstamps "00730073")) +(comp (ref "IC28") + (value "high_rc.c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "high_rc")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.DigitalLowPassRc")) + (property (name "edg_path") (value "high_rc.rc.c")) + (property (name "edg_short_path") (value "high_rc.c")) + (property (name "edg_refdes") (value "IC28")) + (property (name "edg_part") (value "0603B151K500NT (FH(Guangdong Fenghua Advanced Tech))")) + (property (name "edg_value") (value "50V 150pF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/high_rc/") (tstamps "/0b5c02d5/")) + (tstamps "00640064")) +(comp (ref "ITP6") + (value "tp_pwm_l") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_pwm_l.tp")) + (property (name "edg_short_path") (value "tp_pwm_l")) + (property (name "edg_refdes") (value "ITP6")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_low_rc_output_link")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0f6f0363")) +(comp (ref "ITP7") + (value "tp_pwm_h") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_pwm_h.tp")) + (property (name "edg_short_path") (value "tp_pwm_h")) + (property (name "edg_refdes") (value "ITP7")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_high_rc_output_link")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0f6b035f")) +(comp (ref "IU10") + (value "touch_sink") + (footprint "edg:Symbol_DucklingSolid") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "touch_sink")) + (property (name "edg_short_path") (value "touch_sink")) + (property (name "edg_refdes") (value "IU10")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "176f0438")) +(comp (ref "IJ5") + (value "iron.conn") + (footprint "Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical") + (property (name "Sheetname") (value "iron")) + (property (name "Sheetfile") (value "examples.test_iot_iron.IronConnector")) + (property (name "edg_path") (value "iron.conn")) + (property (name "edg_short_path") (value "iron.conn")) + (property (name "edg_refdes") (value "IJ5")) + (property (name "edg_part") (value "PinHeader2.54 1x3 (Generic)")) + (property (name "edg_value") (value "PinHeader2.54 1x3")) + (sheetpath (names "/iron/") (tstamps "/044a01b9/")) + (tstamps "042701af")) +(comp (ref "IR17") + (value "iron.isense_res") + (footprint "Resistor_SMD:R_2512_6332Metric") + (property (name "Sheetname") (value "iron")) + (property (name "Sheetfile") (value "examples.test_iot_iron.IronConnector")) + (property (name "edg_path") (value "iron.isense_res.res.res")) + (property (name "edg_short_path") (value "iron.isense_res")) + (property (name "edg_refdes") (value "IR17")) + (property (name "edg_part") (value "25121WJ022LT4E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±5% 1W Thick Film Resistors 200V ±1000ppm/℃ -55℃~+155℃ 22mΩ 2512 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/iron/") (tstamps "/044a01b9/")) + (tstamps "17130431")) +(comp (ref "IR18") + (value "vsense.top_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "vsense")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) + (property (name "edg_path") (value "vsense.div.top_res")) + (property (name "edg_short_path") (value "vsense.top_res")) + (property (name "edg_refdes") (value "IR18")) + (property (name "edg_part") (value "0603WAF2202T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 22kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/vsense/") (tstamps "/09320295/")) + (tstamps "0c0c02fd")) +(comp (ref "IR19") + (value "vsense.bottom_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "vsense")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) + (property (name "edg_path") (value "vsense.div.bottom_res")) + (property (name "edg_short_path") (value "vsense.bottom_res")) + (property (name "edg_refdes") (value "IR19")) + (property (name "edg_part") (value "0603WAF1502T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 15kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/vsense/") (tstamps "/09320295/")) + (tstamps "175b043f")) +(comp (ref "ITP8") + (value "tp_v") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_v.tp")) + (property (name "edg_short_path") (value "tp_v")) + (property (name "edg_refdes") (value "ITP8")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_vsense_output_link")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "045801ba")) +(comp (ref "IR20") + (value "vfilt.r") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "vfilt")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.AnalogLowPassRc")) + (property (name "edg_path") (value "vfilt.rc.r")) + (property (name "edg_short_path") (value "vfilt.r")) + (property (name "edg_refdes") (value "IR20")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/vfilt/") (tstamps "/06720226/")) + (tstamps "00730073")) +(comp (ref "IC29") + (value "vfilt.c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "vfilt")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.AnalogLowPassRc")) + (property (name "edg_path") (value "vfilt.rc.c")) + (property (name "edg_short_path") (value "vfilt.c")) + (property (name "edg_refdes") (value "IC29")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/vfilt/") (tstamps "/06720226/")) + (tstamps "00640064")) +(comp (ref "IR21") + (value "ifilt.r1") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "ifilt")) + (property (name "Sheetfile") (value "edg.abstract_parts.OpampCircuits.Amplifier")) + (property (name "edg_path") (value "ifilt.r1")) + (property (name "edg_short_path") (value "ifilt.r1")) + (property (name "edg_refdes") (value "IR21")) + (property (name "edg_part") (value "0603WAF2204T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 2.2MΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/ifilt/") (tstamps "/06310219/")) + (tstamps "011700a4")) +(comp (ref "IR22") + (value "ifilt.r2") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "ifilt")) + (property (name "Sheetfile") (value "edg.abstract_parts.OpampCircuits.Amplifier")) + (property (name "edg_path") (value "ifilt.r2")) + (property (name "edg_short_path") (value "ifilt.r2")) + (property (name "edg_refdes") (value "IR22")) + (property (name "edg_part") (value "0603WAF1003T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 100kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/ifilt/") (tstamps "/06310219/")) + (tstamps "011800a5")) +(comp (ref "IR23") + (value "tp_i.r") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "tp_i")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.AnalogLowPassRc")) + (property (name "edg_path") (value "tp_i.rc.r")) + (property (name "edg_short_path") (value "tp_i.r")) + (property (name "edg_refdes") (value "IR23")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/tp_i/") (tstamps "/044b01ad/")) + (tstamps "00730073")) +(comp (ref "IC30") + (value "tp_i.c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "tp_i")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.AnalogLowPassRc")) + (property (name "edg_path") (value "tp_i.rc.c")) + (property (name "edg_short_path") (value "tp_i.c")) + (property (name "edg_refdes") (value "IC30")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/tp_i/") (tstamps "/044b01ad/")) + (tstamps "00640064")) +(comp (ref "ITP9") + (value "iamp") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "iamp.tp")) + (property (name "edg_short_path") (value "iamp")) + (property (name "edg_refdes") (value "ITP9")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_tp_i_output_link")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "041501a8")) +(comp (ref "IR24") + (value "tamp.r1") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "tamp")) + (property (name "Sheetfile") (value "edg.abstract_parts.OpampCircuits.DifferentialAmplifier")) + (property (name "edg_path") (value "tamp.r1")) + (property (name "edg_short_path") (value "tamp.r1")) + (property (name "edg_refdes") (value "IR24")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/tamp/") (tstamps "/044101b3/")) + (tstamps "011700a4")) +(comp (ref "IR25") + (value "tamp.r2") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "tamp")) + (property (name "Sheetfile") (value "edg.abstract_parts.OpampCircuits.DifferentialAmplifier")) + (property (name "edg_path") (value "tamp.r2")) + (property (name "edg_short_path") (value "tamp.r2")) + (property (name "edg_refdes") (value "IR25")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/tamp/") (tstamps "/044101b3/")) + (tstamps "011800a5")) +(comp (ref "IR26") + (value "tamp.rf") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "tamp")) + (property (name "Sheetfile") (value "edg.abstract_parts.OpampCircuits.DifferentialAmplifier")) + (property (name "edg_path") (value "tamp.rf")) + (property (name "edg_short_path") (value "tamp.rf")) + (property (name "edg_refdes") (value "IR26")) + (property (name "edg_part") (value "0603WAF1603T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 160kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/tamp/") (tstamps "/044101b3/")) + (tstamps "014c00d9")) +(comp (ref "IR27") + (value "tamp.rg") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "tamp")) + (property (name "Sheetfile") (value "edg.abstract_parts.OpampCircuits.DifferentialAmplifier")) + (property (name "edg_path") (value "tamp.rg")) + (property (name "edg_short_path") (value "tamp.rg")) + (property (name "edg_refdes") (value "IR27")) + (property (name "edg_part") (value "0603WAF1603T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 160kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/tamp/") (tstamps "/044101b3/")) + (tstamps "014d00da")) +(comp (ref "ITP10") + (value "tp_t") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_t.tp")) + (property (name "edg_short_path") (value "tp_t")) + (property (name "edg_refdes") (value "ITP10")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_tamp_input_positive_link")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "045601b8")) +(comp (ref "IU11") + (value "packed_opamp.ic") + (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm") + (property (name "Sheetname") (value "packed_opamp")) + (property (name "Sheetfile") (value "edg.parts.Opamp_Opax333.Opa2333")) + (property (name "edg_path") (value "packed_opamp.ic")) + (property (name "edg_short_path") (value "packed_opamp.ic")) + (property (name "edg_refdes") (value "IU11")) + (property (name "edg_part") (value "OPA2333AIDR (Texas Instruments)")) + (property (name "edg_value") (value "OPA2333AIDR")) + (sheetpath (names "/packed_opamp/") (tstamps "/1f8e04e5/")) + (tstamps "013700cd")) +(comp (ref "IC31") + (value "packed_opamp.vdd_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "packed_opamp")) + (property (name "Sheetfile") (value "edg.parts.Opamp_Opax333.Opa2333")) + (property (name "edg_path") (value "packed_opamp.vdd_cap.cap")) + (property (name "edg_short_path") (value "packed_opamp.vdd_cap")) + (property (name "edg_refdes") (value "IC31")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/packed_opamp/") (tstamps "/1f8e04e5/")) + (tstamps "0b6402d2"))) +(nets +(net (code 1) (name "Ivusb") + (node (ref IJ1) (pin A4)) + (node (ref IJ1) (pin B9)) + (node (ref IJ1) (pin B4)) + (node (ref IJ1) (pin A9)) + (node (ref IU4) (pin 2)) + (node (ref ITP1) (pin 1)) + (node (ref IU1) (pin 3)) + (node (ref IU2) (pin 3)) + (node (ref IR7) (pin 1)) + (node (ref IR3) (pin 1)) + (node (ref IC1) (pin 1)) + (node (ref IC6) (pin 1)) + (node (ref IC3) (pin 1)) + (node (ref IC4) (pin 1)) + (node (ref IQ2) (pin 5)) + (node (ref IQ2) (pin 6)) + (node (ref IQ2) (pin 7)) + (node (ref IQ2) (pin 8)) + (node (ref IC22) (pin 1)) + (node (ref IC23) (pin 1))) +(net (code 2) (name "Ignd") + (node (ref IU5) (pin 3)) + (node (ref IJ1) (pin A1)) + (node (ref IJ1) (pin B12)) + (node (ref IJ1) (pin B1)) + (node (ref IJ1) (pin A12)) + (node (ref ITP2) (pin 1)) + (node (ref IU1) (pin 1)) + (node (ref ID1) (pin 2)) + (node (ref IU2) (pin 2)) + (node (ref IU3) (pin 1)) + (node (ref IU3) (pin 40)) + (node (ref IU3) (pin 41)) + (node (ref IU4) (pin 8)) + (node (ref IU4) (pin 9)) + (node (ref IU4) (pin 15)) + (node (ref IU6) (pin 2)) + (node (ref ISW1) (pin C)) + (node (ref ISW1) (pin S2)) + (node (ref IU8) (pin 3)) + (node (ref IU8) (pin 11)) + (node (ref IU8) (pin 15)) + (node (ref IU8) (pin 17)) + (node (ref IR13) (pin 1)) + (node (ref IR15) (pin 1)) + (node (ref IR8) (pin 2)) + (node (ref IC27) (pin 2)) + (node (ref IC28) (pin 2)) + (node (ref IR19) (pin 2)) + (node (ref IC29) (pin 2)) + (node (ref IC30) (pin 2)) + (node (ref IJ1) (pin S1)) + (node (ref IR9) (pin 2)) + (node (ref IR22) (pin 2)) + (node (ref IC1) (pin 2)) + (node (ref IC6) (pin 2)) + (node (ref IC7) (pin 2)) + (node (ref IC8) (pin 2)) + (node (ref IC9) (pin 2)) + (node (ref IJ2) (pin 5)) + (node (ref IC11) (pin 2)) + (node (ref IC12) (pin 2)) + (node (ref IC13) (pin 2)) + (node (ref IC16) (pin 2)) + (node (ref IC17) (pin 2)) + (node (ref IC18) (pin 2)) + (node (ref IC19) (pin 2)) + (node (ref IC20) (pin 2)) + (node (ref IC21) (pin 2)) + (node (ref IU11) (pin 4)) + (node (ref IR2) (pin 2)) + (node (ref IC10) (pin 2)) + (node (ref IR17) (pin 1)) + (node (ref IR27) (pin 1)) + (node (ref IJ3) (pin 8)) + (node (ref IJ3) (pin 1)) + (node (ref IJ3) (pin 30)) + (node (ref IJ3) (pin 29)) + (node (ref IJ3) (pin 17)) + (node (ref IJ3) (pin 16)) + (node (ref IJ3) (pin 21)) + (node (ref IJ3) (pin 22)) + (node (ref IJ3) (pin 23)) + (node (ref IJ3) (pin 24)) + (node (ref IJ3) (pin 25)) + (node (ref IJ3) (pin 12)) + (node (ref IJ3) (pin 10)) + (node (ref IJ3) (pin 15)) + (node (ref IJ3) (pin 13)) + (node (ref IQ1) (pin 1)) + (node (ref IQ1) (pin 2)) + (node (ref IQ1) (pin 3)) + (node (ref IC5) (pin 2)) + (node (ref IC24) (pin 2)) + (node (ref IU9) (pin 7)) + (node (ref IC31) (pin 2)) + (node (ref IC3) (pin 2)) + (node (ref IC4) (pin 2)) + (node (ref IC22) (pin 2)) + (node (ref IC23) (pin 2)) + (node (ref IC25) (pin 2))) +(net (code 3) (name "Iv3v3") + (node (ref ITP3) (pin 1)) + (node (ref ID1) (pin 1)) + (node (ref IU3) (pin 2)) + (node (ref IU4) (pin 3)) + (node (ref IU4) (pin 4)) + (node (ref IU6) (pin 5)) + (node (ref IU8) (pin 4)) + (node (ref IU8) (pin 7)) + (node (ref IU8) (pin 8)) + (node (ref ID2) (pin 2)) + (node (ref IU11) (pin 8)) + (node (ref IR1) (pin 1)) + (node (ref IC8) (pin 1)) + (node (ref IC9) (pin 1)) + (node (ref IJ2) (pin 1)) + (node (ref IR5) (pin 1)) + (node (ref IR6) (pin 1)) + (node (ref IC11) (pin 1)) + (node (ref IC12) (pin 1)) + (node (ref IC13) (pin 1)) + (node (ref IJ3) (pin 9)) + (node (ref IJ3) (pin 6)) + (node (ref IC17) (pin 1)) + (node (ref IC18) (pin 1)) + (node (ref IC20) (pin 1)) + (node (ref IC21) (pin 1)) + (node (ref IR4) (pin 1)) + (node (ref IC31) (pin 1)) + (node (ref IJ3) (pin 11)) + (node (ref IL1) (pin 2)) + (node (ref IC5) (pin 1))) +(net (code 4) (name "Ivgate") + (node (ref IU2) (pin 1)) + (node (ref ITP4) (pin 1)) + (node (ref IU9) (pin 1)) + (node (ref IC7) (pin 1)) + (node (ref IC25) (pin 1))) +(net (code 5) (name "Iconv_out") + (node (ref ITP5) (pin 1)) + (node (ref IJ5) (pin 2)) + (node (ref IR18) (pin 1)) + (node (ref IL2) (pin 2)) + (node (ref IC24) (pin 1))) +(net (code 6) (name "Ii2c_pull.i2c.scl") + (node (ref IU3) (pin 35)) + (node (ref IU4) (pin 6)) + (node (ref IU6) (pin 6)) + (node (ref IR5) (pin 2)) + (node (ref IJ3) (pin 18))) +(net (code 7) (name "Ii2c_pull.i2c.sda") + (node (ref IU3) (pin 34)) + (node (ref IU4) (pin 7)) + (node (ref IU6) (pin 1)) + (node (ref IR6) (pin 2)) + (node (ref IJ3) (pin 19)) + (node (ref IJ3) (pin 20))) +(net (code 8) (name "Iusb.cc.cc1") + (node (ref IJ1) (pin A5)) + (node (ref IU4) (pin 10)) + (node (ref IU4) (pin 11))) +(net (code 9) (name "Iusb.cc.cc2") + (node (ref IJ1) (pin B5)) + (node (ref IU4) (pin 1)) + (node (ref IU4) (pin 14))) +(net (code 10) (name "Ipd.int") + (node (ref IU3) (pin 38)) + (node (ref IU4) (pin 5))) +(net (code 11) (name "Iusb_chain_0.d_P") + (node (ref IJ1) (pin A6)) + (node (ref IJ1) (pin B6)) + (node (ref IU5) (pin 2)) + (node (ref IU3) (pin 14))) +(net (code 12) (name "Iusb_chain_0.d_N") + (node (ref IJ1) (pin A7)) + (node (ref IJ1) (pin B7)) + (node (ref IU5) (pin 1)) + (node (ref IU3) (pin 13))) +(net (code 13) (name "Ivusb_sense.output") + (node (ref IU3) (pin 39)) + (node (ref IR7) (pin 2)) + (node (ref IR8) (pin 1))) +(net (code 14) (name "Ienc.a") + (node (ref IU3) (pin 10)) + (node (ref ISW1) (pin A))) +(net (code 15) (name "Ienc.b") + (node (ref IU3) (pin 9)) + (node (ref ISW1) (pin B))) +(net (code 16) (name "Ienc.sw") + (node (ref IU3) (pin 8)) + (node (ref ISW1) (pin S1))) +(net (code 17) (name "Ioled.reset") + (node (ref IU3) (pin 11)) + (node (ref IJ3) (pin 14))) +(net (code 18) (name "Ispk_drv.i2s.sck") + (node (ref IU3) (pin 32)) + (node (ref IU8) (pin 16))) +(net (code 19) (name "Ispk_drv.i2s.ws") + (node (ref IU3) (pin 31)) + (node (ref IU8) (pin 14))) +(net (code 20) (name "Ispk_drv.i2s.sd") + (node (ref IU3) (pin 33)) + (node (ref IU8) (pin 1))) +(net (code 21) (name "Ispk_drv.out.a") + (node (ref IU8) (pin 9)) + (node (ref IJ4) (pin 1))) +(net (code 22) (name "Ispk_drv.out.b") + (node (ref IU8) (pin 10)) + (node (ref IJ4) (pin 2))) +(net (code 23) (name "Imcu.program_boot_node") + (node (ref IR10) (pin 2)) + (node (ref IU3) (pin 27)) + (node (ref IJ2) (pin 2))) +(net (code 24) (name "Ilow_pull.io") + (node (ref IU3) (pin 4)) + (node (ref IR13) (pin 2)) + (node (ref IR14) (pin 1))) +(net (code 25) (name "Ilow_rc.output") + (node (ref IU9) (pin 6)) + (node (ref ITP6) (pin 1)) + (node (ref IR14) (pin 2)) + (node (ref IC27) (pin 1))) +(net (code 26) (name "Ihigh_pull.io") + (node (ref IU3) (pin 5)) + (node (ref IR15) (pin 2)) + (node (ref IR16) (pin 1))) +(net (code 27) (name "Ihigh_rc.output") + (node (ref IU9) (pin 5)) + (node (ref ITP7) (pin 1)) + (node (ref IR16) (pin 2)) + (node (ref IC28) (pin 1))) +(net (code 28) (name "Itouch_sink.pad") + (node (ref IU3) (pin 15)) + (node (ref IU10) (pin 1))) +(net (code 29) (name "Ivsense.output") + (node (ref ITP8) (pin 1)) + (node (ref IR20) (pin 1)) + (node (ref IR18) (pin 2)) + (node (ref IR19) (pin 1))) +(net (code 30) (name "Ivfilt.output") + (node (ref IU3) (pin 6)) + (node (ref IR20) (pin 2)) + (node (ref IC29) (pin 1))) +(net (code 31) (name "Iiron.isense") + (node (ref IU11) (pin 3)) + (node (ref IR24) (pin 1)) + (node (ref IR17) (pin 2)) + (node (ref IJ5) (pin 1))) +(net (code 32) (name "Iifilt.output") + (node (ref IR23) (pin 1)) + (node (ref IR21) (pin 1)) + (node (ref IU11) (pin 1))) +(net (code 33) (name "Itp_i.output") + (node (ref IU3) (pin 7)) + (node (ref ITP9) (pin 1)) + (node (ref IR23) (pin 2)) + (node (ref IC30) (pin 1))) +(net (code 34) (name "Itamp.input_positive") + (node (ref IR25) (pin 1)) + (node (ref IJ5) (pin 3)) + (node (ref ITP10) (pin 1))) +(net (code 35) (name "Itamp.output") + (node (ref IU3) (pin 12)) + (node (ref IR26) (pin 1)) + (node (ref IU11) (pin 7))) +(net (code 36) (name "Ipacked_opamp.inn.0") + (node (ref IU11) (pin 2)) + (node (ref IR21) (pin 2)) + (node (ref IR22) (pin 1))) +(net (code 37) (name "Ipacked_opamp.inp.1") + (node (ref IU11) (pin 5)) + (node (ref IR25) (pin 2)) + (node (ref IR27) (pin 2))) +(net (code 38) (name "Ipacked_opamp.inn.1") + (node (ref IU11) (pin 6)) + (node (ref IR24) (pin 2)) + (node (ref IR26) (pin 2))) +(net (code 39) (name "Ireg_3v3.fb.output") + (node (ref IU1) (pin 4)) + (node (ref IR1) (pin 2)) + (node (ref IR2) (pin 1))) +(net (code 40) (name "Ireg_3v3.boot_cap.neg") + (node (ref IC2) (pin 2)) + (node (ref IU1) (pin 2)) + (node (ref IL1) (pin 1))) +(net (code 41) (name "Ireg_3v3.boot_cap.pos") + (node (ref IC2) (pin 1)) + (node (ref IU1) (pin 6))) +(net (code 42) (name "Ireg_3v3.en_res.b") + (node (ref IR3) (pin 2)) + (node (ref IU1) (pin 5))) +(net (code 43) (name "Imcu.program_uart_node.a_tx") + (node (ref IU3) (pin 37)) + (node (ref IJ2) (pin 3))) +(net (code 44) (name "Imcu.program_uart_node.b_tx") + (node (ref IU3) (pin 36)) + (node (ref IJ2) (pin 4))) +(net (code 45) (name "Imcu.program_en_node") + (node (ref IU3) (pin 3)) + (node (ref IJ2) (pin 6)) + (node (ref IR4) (pin 2)) + (node (ref IC10) (pin 1))) +(net (code 46) (name "Ipd.ic.vconn") + (node (ref IU4) (pin 12)) + (node (ref IU4) (pin 13))) +(net (code 47) (name "Ioled.c1_cap.pos") + (node (ref IC14) (pin 1)) + (node (ref IJ3) (pin 4))) +(net (code 48) (name "Ioled.c1_cap.neg") + (node (ref IC14) (pin 2)) + (node (ref IJ3) (pin 5))) +(net (code 49) (name "Ioled.c2_cap.pos") + (node (ref IC15) (pin 1)) + (node (ref IJ3) (pin 2))) +(net (code 50) (name "Ioled.c2_cap.neg") + (node (ref IC15) (pin 2)) + (node (ref IJ3) (pin 3))) +(net (code 51) (name "Ioled.iref_res.a") + (node (ref IR9) (pin 1)) + (node (ref IJ3) (pin 26))) +(net (code 52) (name "Ioled.device.vcomh") + (node (ref IJ3) (pin 27)) + (node (ref IC16) (pin 1))) +(net (code 53) (name "Ioled.device.vcc") + (node (ref IJ3) (pin 28)) + (node (ref IC19) (pin 1))) +(net (code 54) (name "Iledr.res.a") + (node (ref IR10) (pin 1)) + (node (ref ID2) (pin 1))) +(net (code 55) (name "Iconv.sw_out_force") + (node (ref IQ1) (pin 5)) + (node (ref IQ1) (pin 6)) + (node (ref IQ1) (pin 7)) + (node (ref IQ1) (pin 8)) + (node (ref IQ2) (pin 1)) + (node (ref IQ2) (pin 2)) + (node (ref IQ2) (pin 3)) + (node (ref IL2) (pin 1)) + (node (ref IU9) (pin 4)) + (node (ref IC26) (pin 2))) +(net (code 56) (name "Iconv.sw.low_gate_res.a") + (node (ref IR11) (pin 1)) + (node (ref IU9) (pin 8))) +(net (code 57) (name "Iconv.sw.low_gate_res.b") + (node (ref IR11) (pin 2)) + (node (ref IQ1) (pin 4))) +(net (code 58) (name "Iconv.sw.high_gate_res.a") + (node (ref IR12) (pin 1)) + (node (ref IU9) (pin 3))) +(net (code 59) (name "Iconv.sw.high_gate_res.b") + (node (ref IR12) (pin 2)) + (node (ref IQ2) (pin 4))) +(net (code 60) (name "Iconv.sw.driver.ic.hb") + (node (ref IU9) (pin 2)) + (node (ref IC26) (pin 1)))) +) \ No newline at end of file diff --git a/examples/IotIron/IotIron.svgpcb.js b/examples/IotIron/IotIron.svgpcb.js new file mode 100644 index 000000000..283bcb4f0 --- /dev/null +++ b/examples/IotIron/IotIron.svgpcb.js @@ -0,0 +1,575 @@ +const board = new PCB(); + +// jlc_th.th1 +const IH1 = board.add(JlcToolingHole_1_152mm, { + translate: pt(3.408, 3.059), rotate: 0, + id: 'IH1' +}) +// jlc_th.th2 +const IH2 = board.add(JlcToolingHole_1_152mm, { + translate: pt(3.448, 3.059), rotate: 0, + id: 'IH2' +}) +// jlc_th.th3 +const IH3 = board.add(JlcToolingHole_1_152mm, { + translate: pt(3.408, 3.099), rotate: 0, + id: 'IH3' +}) +// usb.conn +const IJ1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { + translate: pt(3.321, 1.905), rotate: 0, + id: 'IJ1' +}) +// tp_pwr.tp +const ITP1 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.066, 3.097), rotate: 0, + id: 'ITP1' +}) +// tp_gnd.tp +const ITP2 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.317, 3.097), rotate: 0, + id: 'ITP2' +}) +// reg_3v3.ic +const IU1 = board.add(SOT_23_6, { + translate: pt(2.331, 1.807), rotate: 0, + id: 'IU1' +}) +// reg_3v3.fb.div.top_res +const IR1 = board.add(R_0603_1608Metric, { + translate: pt(2.049, 2.156), rotate: 0, + id: 'IR1' +}) +// reg_3v3.fb.div.bottom_res +const IR2 = board.add(R_0603_1608Metric, { + translate: pt(2.205, 2.156), rotate: 0, + id: 'IR2' +}) +// reg_3v3.hf_in_cap.cap +const IC1 = board.add(C_0603_1608Metric, { + translate: pt(2.361, 2.156), rotate: 0, + id: 'IC1' +}) +// reg_3v3.boot_cap +const IC2 = board.add(C_0603_1608Metric, { + translate: pt(2.517, 2.156), rotate: 0, + id: 'IC2' +}) +// reg_3v3.power_path.inductor +const IL1 = board.add(L_Sunlord_SWPA5040S, { + translate: pt(2.101, 1.849), rotate: 0, + id: 'IL1' +}) +// reg_3v3.power_path.in_cap.cap.c[0] +const IC3 = board.add(C_1206_3216Metric, { + translate: pt(2.081, 2.042), rotate: 0, + id: 'IC3' +}) +// reg_3v3.power_path.in_cap.cap.c[1] +const IC4 = board.add(C_1206_3216Metric, { + translate: pt(2.302, 2.042), rotate: 0, + id: 'IC4' +}) +// reg_3v3.power_path.out_cap.cap +const IC5 = board.add(C_0805_2012Metric, { + translate: pt(2.498, 2.035), rotate: 0, + id: 'IC5' +}) +// reg_3v3.en_res +const IR3 = board.add(R_0603_1608Metric, { + translate: pt(2.049, 2.252), rotate: 0, + id: 'IR3' +}) +// tp_3v3.tp +const ITP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.567, 3.097), rotate: 0, + id: 'ITP3' +}) +// prot_3v3.diode +const ID1 = board.add(D_SOD_323, { + translate: pt(0.815, 3.097), rotate: 0, + id: 'ID1' +}) +// reg_gate.ic +const IU2 = board.add(SOT_89_3, { + translate: pt(3.761, 1.839), rotate: 0, + id: 'IU2' +}) +// reg_gate.in_cap.cap +const IC6 = board.add(C_0805_2012Metric, { + translate: pt(3.716, 2.015), rotate: 0, + id: 'IC6' +}) +// reg_gate.out_cap.cap +const IC7 = board.add(C_0603_1608Metric, { + translate: pt(3.880, 2.005), rotate: 0, + id: 'IC7' +}) +// tp_gate.tp +const ITP4 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.062, 3.097), rotate: 0, + id: 'ITP4' +}) +// mcu.ic +const IU3 = board.add(ESP32_S3_WROOM_1, { + translate: pt(0.945, 0.530), rotate: 0, + id: 'IU3' +}) +// mcu.vcc_cap0.cap +const IC8 = board.add(C_1206_3216Metric, { + translate: pt(2.020, 0.242), rotate: 0, + id: 'IC8' +}) +// mcu.vcc_cap1.cap +const IC9 = board.add(C_0603_1608Metric, { + translate: pt(2.208, 0.226), rotate: 0, + id: 'IC9' +}) +// mcu.prog.conn +const IJ2 = board.add(Tag_Connect_TC2030_IDC_NL_2x03_P1_27mm_Vertical, { + translate: pt(2.067, 0.079), rotate: 0, + id: 'IJ2' +}) +// mcu.en_pull.rc.r +const IR4 = board.add(R_0603_1608Metric, { + translate: pt(1.987, 0.356), rotate: 0, + id: 'IR4' +}) +// mcu.en_pull.rc.c +const IC10 = board.add(C_0603_1608Metric, { + translate: pt(2.143, 0.356), rotate: 0, + id: 'IC10' +}) +// i2c_pull.scl_res.res +const IR5 = board.add(R_0603_1608Metric, { + translate: pt(2.176, 2.661), rotate: 0, + id: 'IR5' +}) +// i2c_pull.sda_res.res +const IR6 = board.add(R_0603_1608Metric, { + translate: pt(2.176, 2.757), rotate: 0, + id: 'IR6' +}) +// pd.ic +const IU4 = board.add(WQFN_14_1EP_2_5x2_5mm_P0_5mm_EP1_45x1_45mm, { + translate: pt(0.890, 2.705), rotate: 0, + id: 'IU4' +}) +// pd.vdd_cap[0].cap +const IC11 = board.add(C_0603_1608Metric, { + translate: pt(1.049, 2.846), rotate: 0, + id: 'IC11' +}) +// pd.vdd_cap[1].cap +const IC12 = board.add(C_0805_2012Metric, { + translate: pt(0.884, 2.856), rotate: 0, + id: 'IC12' +}) +// usb_esd +const IU5 = board.add(SOT_23, { + translate: pt(3.293, 3.126), rotate: 0, + id: 'IU5' +}) +// vusb_sense.div.top_res +const IR7 = board.add(R_0603_1608Metric, { + translate: pt(2.410, 2.661), rotate: 0, + id: 'IR7' +}) +// vusb_sense.div.bottom_res +const IR8 = board.add(R_0603_1608Metric, { + translate: pt(2.410, 2.757), rotate: 0, + id: 'IR8' +}) +// temp.ic +const IU6 = board.add(WSON_6_1EP_3x3mm_P0_95mm, { + translate: pt(1.300, 2.705), rotate: 0, + id: 'IU6' +}) +// temp.vdd_cap.cap +const IC13 = board.add(C_0603_1608Metric, { + translate: pt(1.283, 2.846), rotate: 0, + id: 'IC13' +}) +// enc.package +const ISW1 = board.add(RotaryEncoder_Alps_EC11J15_Switch, { + translate: pt(1.479, 2.085), rotate: 0, + id: 'ISW1' +}) +// oled.device.conn +const IJ3 = board.add(Hirose_FH12_30S_0_5SH_1x30_1MP_P0_50mm_Horizontal, { + translate: pt(2.800, 1.054), rotate: 0, + id: 'IJ3' +}) +// oled.lcd +const IU7 = board.add(Lcd_Er_Oled0_96_1_1_Outline, { + translate: pt(2.910, 0.516), rotate: 0, + id: 'IU7' +}) +// oled.c1_cap +const IC14 = board.add(C_0603_1608Metric, { + translate: pt(3.659, 0.889), rotate: 0, + id: 'IC14' +}) +// oled.c2_cap +const IC15 = board.add(C_0603_1608Metric, { + translate: pt(3.815, 0.889), rotate: 0, + id: 'IC15' +}) +// oled.iref_res +const IR9 = board.add(R_0603_1608Metric, { + translate: pt(3.313, 1.006), rotate: 0, + id: 'IR9' +}) +// oled.vcomh_cap.cap +const IC16 = board.add(C_0805_2012Metric, { + translate: pt(3.321, 0.899), rotate: 0, + id: 'IC16' +}) +// oled.vdd_cap1.cap +const IC17 = board.add(C_0603_1608Metric, { + translate: pt(3.469, 1.006), rotate: 0, + id: 'IC17' +}) +// oled.vbat_cap.cap +const IC18 = board.add(C_0603_1608Metric, { + translate: pt(3.624, 1.006), rotate: 0, + id: 'IC18' +}) +// oled.vcc_cap.cap +const IC19 = board.add(C_0805_2012Metric, { + translate: pt(3.494, 0.899), rotate: 0, + id: 'IC19' +}) +// spk_drv.ic +const IU8 = board.add(QFN_16_1EP_3x3mm_P0_5mm_EP1_45x1_45mm, { + translate: pt(0.493, 2.716), rotate: 0, + id: 'IU8' +}) +// spk_drv.pwr_cap0.cap +const IC20 = board.add(C_0603_1608Metric, { + translate: pt(0.641, 2.868), rotate: 0, + id: 'IC20' +}) +// spk_drv.pwr_cap1.cap +const IC21 = board.add(C_0805_2012Metric, { + translate: pt(0.476, 2.878), rotate: 0, + id: 'IC21' +}) +// spk.conn +const IJ4 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { + translate: pt(1.589, 2.762), rotate: 0, + id: 'IJ4' +}) +// ledr.package +const ID2 = board.add(LED_0603_1608Metric, { + translate: pt(1.941, 2.661), rotate: 0, + id: 'ID2' +}) +// ledr.res +const IR10 = board.add(R_0603_1608Metric, { + translate: pt(1.941, 2.758), rotate: 0, + id: 'IR10' +}) +// conv.power_path.inductor +const IL2 = board.add(L_TDK_SLF12575, { + translate: pt(0.280, 1.996), rotate: 0, + id: 'IL2' +}) +// conv.power_path.in_cap.cap.c[0] +const IC22 = board.add(C_0805_2012Metric, { + translate: pt(0.398, 2.340), rotate: 0, + id: 'IC22' +}) +// conv.power_path.in_cap.cap.c[1] +const IC23 = board.add(C_0805_2012Metric, { + translate: pt(0.571, 2.340), rotate: 0, + id: 'IC23' +}) +// conv.power_path.out_cap.cap +const IC24 = board.add(C_0805_2012Metric, { + translate: pt(0.744, 2.340), rotate: 0, + id: 'IC24' +}) +// conv.sw.driver.ic +const IU9 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(0.744, 1.846), rotate: 0, + id: 'IU9' +}) +// conv.sw.driver.cap.cap +const IC25 = board.add(C_0603_1608Metric, { + translate: pt(0.909, 2.330), rotate: 0, + id: 'IC25' +}) +// conv.sw.driver.boot_cap.cap +const IC26 = board.add(C_0603_1608Metric, { + translate: pt(0.389, 2.446), rotate: 0, + id: 'IC26' +}) +// conv.sw.low_fet +const IQ1 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(0.744, 2.098), rotate: 0, + id: 'IQ1' +}) +// conv.sw.low_gate_res +const IR11 = board.add(R_0603_1608Metric, { + translate: pt(0.545, 2.446), rotate: 0, + id: 'IR11' +}) +// conv.sw.high_fet +const IQ2 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(0.146, 2.407), rotate: 0, + id: 'IQ2' +}) +// conv.sw.high_gate_res +const IR12 = board.add(R_0603_1608Metric, { + translate: pt(0.701, 2.446), rotate: 0, + id: 'IR12' +}) +// tp_conv.tp +const ITP5 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.312, 3.097), rotate: 0, + id: 'ITP5' +}) +// low_pull.res +const IR13 = board.add(R_0603_1608Metric, { + translate: pt(2.807, 3.088), rotate: 0, + id: 'IR13' +}) +// low_rc.rc.r +const IR14 = board.add(R_0603_1608Metric, { + translate: pt(2.645, 2.661), rotate: 0, + id: 'IR14' +}) +// low_rc.rc.c +const IC27 = board.add(C_0603_1608Metric, { + translate: pt(2.645, 2.757), rotate: 0, + id: 'IC27' +}) +// high_pull.res +const IR15 = board.add(R_0603_1608Metric, { + translate: pt(3.041, 3.088), rotate: 0, + id: 'IR15' +}) +// high_rc.rc.r +const IR16 = board.add(R_0603_1608Metric, { + translate: pt(2.880, 2.661), rotate: 0, + id: 'IR16' +}) +// high_rc.rc.c +const IC28 = board.add(C_0603_1608Metric, { + translate: pt(2.880, 2.757), rotate: 0, + id: 'IC28' +}) +// tp_pwm_l.tp +const ITP6 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.563, 3.097), rotate: 0, + id: 'ITP6' +}) +// tp_pwm_h.tp +const ITP7 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.813, 3.097), rotate: 0, + id: 'ITP7' +}) +// touch_sink +const IU10 = board.add(Symbol_DucklingSolid, { + translate: pt(3.566, 3.059), rotate: 0, + id: 'IU10' +}) +// iron.conn +const IJ5 = board.add(PinHeader_1x03_P2_54mm_Vertical, { + translate: pt(2.764, 2.010), rotate: 0, + id: 'IJ5' +}) +// iron.isense_res.res.res +const IR17 = board.add(R_2512_6332Metric, { + translate: pt(2.843, 2.196), rotate: 0, + id: 'IR17' +}) +// vsense.div.top_res +const IR18 = board.add(R_0603_1608Metric, { + translate: pt(3.114, 2.661), rotate: 0, + id: 'IR18' +}) +// vsense.div.bottom_res +const IR19 = board.add(R_0603_1608Metric, { + translate: pt(3.114, 2.757), rotate: 0, + id: 'IR19' +}) +// tp_v.tp +const ITP8 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.063, 3.097), rotate: 0, + id: 'ITP8' +}) +// vfilt.rc.r +const IR20 = board.add(R_0603_1608Metric, { + translate: pt(3.349, 2.661), rotate: 0, + id: 'IR20' +}) +// vfilt.rc.c +const IC29 = board.add(C_0603_1608Metric, { + translate: pt(3.349, 2.757), rotate: 0, + id: 'IC29' +}) +// ifilt.r1 +const IR21 = board.add(R_0603_1608Metric, { + translate: pt(3.584, 2.661), rotate: 0, + id: 'IR21' +}) +// ifilt.r2 +const IR22 = board.add(R_0603_1608Metric, { + translate: pt(3.584, 2.757), rotate: 0, + id: 'IR22' +}) +// tp_i.rc.r +const IR23 = board.add(R_0603_1608Metric, { + translate: pt(3.818, 2.661), rotate: 0, + id: 'IR23' +}) +// tp_i.rc.c +const IC30 = board.add(C_0603_1608Metric, { + translate: pt(3.818, 2.757), rotate: 0, + id: 'IC30' +}) +// iamp.tp +const ITP9 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.314, 3.097), rotate: 0, + id: 'ITP9' +}) +// tamp.r1 +const IR24 = board.add(R_0603_1608Metric, { + translate: pt(4.053, 2.661), rotate: 0, + id: 'IR24' +}) +// tamp.r2 +const IR25 = board.add(R_0603_1608Metric, { + translate: pt(4.209, 2.661), rotate: 0, + id: 'IR25' +}) +// tamp.rf +const IR26 = board.add(R_0603_1608Metric, { + translate: pt(4.053, 2.757), rotate: 0, + id: 'IR26' +}) +// tamp.rg +const IR27 = board.add(R_0603_1608Metric, { + translate: pt(4.209, 2.757), rotate: 0, + id: 'IR27' +}) +// tp_t.tp +const ITP10 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(2.564, 3.097), rotate: 0, + id: 'ITP10' +}) +// packed_opamp.ic +const IU11 = board.add(SOIC_8_3_9x4_9mm_P1_27mm, { + translate: pt(0.146, 2.738), rotate: 0, + id: 'IU11' +}) +// packed_opamp.vdd_cap.cap +const IC31 = board.add(C_0603_1608Metric, { + translate: pt(0.058, 2.913), rotate: 0, + id: 'IC31' +}) + +board.setNetlist([ + {name: "Ivusb", pads: [["IJ1", "A4"], ["IJ1", "B9"], ["IJ1", "B4"], ["IJ1", "A9"], ["IU4", "2"], ["ITP1", "1"], ["IU1", "3"], ["IU2", "3"], ["IR7", "1"], ["IR3", "1"], ["IC1", "1"], ["IC6", "1"], ["IC3", "1"], ["IC4", "1"], ["IQ2", "5"], ["IQ2", "6"], ["IQ2", "7"], ["IQ2", "8"], ["IC22", "1"], ["IC23", "1"]]}, + {name: "Ignd", pads: [["IU5", "3"], ["IJ1", "A1"], ["IJ1", "B12"], ["IJ1", "B1"], ["IJ1", "A12"], ["ITP2", "1"], ["IU1", "1"], ["ID1", "2"], ["IU2", "2"], ["IU3", "1"], ["IU3", "40"], ["IU3", "41"], ["IU4", "8"], ["IU4", "9"], ["IU4", "15"], ["IU6", "2"], ["ISW1", "C"], ["ISW1", "S2"], ["IU8", "3"], ["IU8", "11"], ["IU8", "15"], ["IU8", "17"], ["IR13", "1"], ["IR15", "1"], ["IR8", "2"], ["IC27", "2"], ["IC28", "2"], ["IR19", "2"], ["IC29", "2"], ["IC30", "2"], ["IJ1", "S1"], ["IR9", "2"], ["IR22", "2"], ["IC1", "2"], ["IC6", "2"], ["IC7", "2"], ["IC8", "2"], ["IC9", "2"], ["IJ2", "5"], ["IC11", "2"], ["IC12", "2"], ["IC13", "2"], ["IC16", "2"], ["IC17", "2"], ["IC18", "2"], ["IC19", "2"], ["IC20", "2"], ["IC21", "2"], ["IU11", "4"], ["IR2", "2"], ["IC10", "2"], ["IR17", "1"], ["IR27", "1"], ["IJ3", "8"], ["IJ3", "1"], ["IJ3", "30"], ["IJ3", "29"], ["IJ3", "17"], ["IJ3", "16"], ["IJ3", "21"], ["IJ3", "22"], ["IJ3", "23"], ["IJ3", "24"], ["IJ3", "25"], ["IJ3", "12"], ["IJ3", "10"], ["IJ3", "15"], ["IJ3", "13"], ["IQ1", "1"], ["IQ1", "2"], ["IQ1", "3"], ["IC5", "2"], ["IC24", "2"], ["IU9", "7"], ["IC31", "2"], ["IC3", "2"], ["IC4", "2"], ["IC22", "2"], ["IC23", "2"], ["IC25", "2"]]}, + {name: "Iv3v3", pads: [["ITP3", "1"], ["ID1", "1"], ["IU3", "2"], ["IU4", "3"], ["IU4", "4"], ["IU6", "5"], ["IU8", "4"], ["IU8", "7"], ["IU8", "8"], ["ID2", "2"], ["IU11", "8"], ["IR1", "1"], ["IC8", "1"], ["IC9", "1"], ["IJ2", "1"], ["IR5", "1"], ["IR6", "1"], ["IC11", "1"], ["IC12", "1"], ["IC13", "1"], ["IJ3", "9"], ["IJ3", "6"], ["IC17", "1"], ["IC18", "1"], ["IC20", "1"], ["IC21", "1"], ["IR4", "1"], ["IC31", "1"], ["IJ3", "11"], ["IL1", "2"], ["IC5", "1"]]}, + {name: "Ivgate", pads: [["IU2", "1"], ["ITP4", "1"], ["IU9", "1"], ["IC7", "1"], ["IC25", "1"]]}, + {name: "Iconv_out", pads: [["ITP5", "1"], ["IJ5", "2"], ["IR18", "1"], ["IL2", "2"], ["IC24", "1"]]}, + {name: "Ii2c_pull.i2c.scl", pads: [["IU3", "35"], ["IU4", "6"], ["IU6", "6"], ["IR5", "2"], ["IJ3", "18"]]}, + {name: "Ii2c_pull.i2c.sda", pads: [["IU3", "34"], ["IU4", "7"], ["IU6", "1"], ["IR6", "2"], ["IJ3", "19"], ["IJ3", "20"]]}, + {name: "Iusb.cc.cc1", pads: [["IJ1", "A5"], ["IU4", "10"], ["IU4", "11"]]}, + {name: "Iusb.cc.cc2", pads: [["IJ1", "B5"], ["IU4", "1"], ["IU4", "14"]]}, + {name: "Ipd.int", pads: [["IU3", "38"], ["IU4", "5"]]}, + {name: "Iusb_chain_0.d_P", pads: [["IJ1", "A6"], ["IJ1", "B6"], ["IU5", "2"], ["IU3", "14"]]}, + {name: "Iusb_chain_0.d_N", pads: [["IJ1", "A7"], ["IJ1", "B7"], ["IU5", "1"], ["IU3", "13"]]}, + {name: "Ivusb_sense.output", pads: [["IU3", "39"], ["IR7", "2"], ["IR8", "1"]]}, + {name: "Ienc.a", pads: [["IU3", "10"], ["ISW1", "A"]]}, + {name: "Ienc.b", pads: [["IU3", "9"], ["ISW1", "B"]]}, + {name: "Ienc.sw", pads: [["IU3", "8"], ["ISW1", "S1"]]}, + {name: "Ioled.reset", pads: [["IU3", "11"], ["IJ3", "14"]]}, + {name: "Ispk_drv.i2s.sck", pads: [["IU3", "32"], ["IU8", "16"]]}, + {name: "Ispk_drv.i2s.ws", pads: [["IU3", "31"], ["IU8", "14"]]}, + {name: "Ispk_drv.i2s.sd", pads: [["IU3", "33"], ["IU8", "1"]]}, + {name: "Ispk_drv.out.a", pads: [["IU8", "9"], ["IJ4", "1"]]}, + {name: "Ispk_drv.out.b", pads: [["IU8", "10"], ["IJ4", "2"]]}, + {name: "Imcu.program_boot_node", pads: [["IR10", "2"], ["IU3", "27"], ["IJ2", "2"]]}, + {name: "Ilow_pull.io", pads: [["IU3", "4"], ["IR13", "2"], ["IR14", "1"]]}, + {name: "Ilow_rc.output", pads: [["IU9", "6"], ["ITP6", "1"], ["IR14", "2"], ["IC27", "1"]]}, + {name: "Ihigh_pull.io", pads: [["IU3", "5"], ["IR15", "2"], ["IR16", "1"]]}, + {name: "Ihigh_rc.output", pads: [["IU9", "5"], ["ITP7", "1"], ["IR16", "2"], ["IC28", "1"]]}, + {name: "Itouch_sink.pad", pads: [["IU3", "15"], ["IU10", "1"]]}, + {name: "Ivsense.output", pads: [["ITP8", "1"], ["IR20", "1"], ["IR18", "2"], ["IR19", "1"]]}, + {name: "Ivfilt.output", pads: [["IU3", "6"], ["IR20", "2"], ["IC29", "1"]]}, + {name: "Iiron.isense", pads: [["IU11", "3"], ["IR24", "1"], ["IR17", "2"], ["IJ5", "1"]]}, + {name: "Iifilt.output", pads: [["IR23", "1"], ["IR21", "1"], ["IU11", "1"]]}, + {name: "Itp_i.output", pads: [["IU3", "7"], ["ITP9", "1"], ["IR23", "2"], ["IC30", "1"]]}, + {name: "Itamp.input_positive", pads: [["IR25", "1"], ["IJ5", "3"], ["ITP10", "1"]]}, + {name: "Itamp.output", pads: [["IU3", "12"], ["IR26", "1"], ["IU11", "7"]]}, + {name: "Ipacked_opamp.inn.0", pads: [["IU11", "2"], ["IR21", "2"], ["IR22", "1"]]}, + {name: "Ipacked_opamp.inp.1", pads: [["IU11", "5"], ["IR25", "2"], ["IR27", "2"]]}, + {name: "Ipacked_opamp.inn.1", pads: [["IU11", "6"], ["IR24", "2"], ["IR26", "2"]]}, + {name: "Ireg_3v3.fb.output", pads: [["IU1", "4"], ["IR1", "2"], ["IR2", "1"]]}, + {name: "Ireg_3v3.boot_cap.neg", pads: [["IC2", "2"], ["IU1", "2"], ["IL1", "1"]]}, + {name: "Ireg_3v3.boot_cap.pos", pads: [["IC2", "1"], ["IU1", "6"]]}, + {name: "Ireg_3v3.en_res.b", pads: [["IR3", "2"], ["IU1", "5"]]}, + {name: "Imcu.program_uart_node.a_tx", pads: [["IU3", "37"], ["IJ2", "3"]]}, + {name: "Imcu.program_uart_node.b_tx", pads: [["IU3", "36"], ["IJ2", "4"]]}, + {name: "Imcu.program_en_node", pads: [["IU3", "3"], ["IJ2", "6"], ["IR4", "2"], ["IC10", "1"]]}, + {name: "Ipd.ic.vconn", pads: [["IU4", "12"], ["IU4", "13"]]}, + {name: "Ioled.c1_cap.pos", pads: [["IC14", "1"], ["IJ3", "4"]]}, + {name: "Ioled.c1_cap.neg", pads: [["IC14", "2"], ["IJ3", "5"]]}, + {name: "Ioled.c2_cap.pos", pads: [["IC15", "1"], ["IJ3", "2"]]}, + {name: "Ioled.c2_cap.neg", pads: [["IC15", "2"], ["IJ3", "3"]]}, + {name: "Ioled.iref_res.a", pads: [["IR9", "1"], ["IJ3", "26"]]}, + {name: "Ioled.device.vcomh", pads: [["IJ3", "27"], ["IC16", "1"]]}, + {name: "Ioled.device.vcc", pads: [["IJ3", "28"], ["IC19", "1"]]}, + {name: "Iledr.res.a", pads: [["IR10", "1"], ["ID2", "1"]]}, + {name: "Iconv.sw_out_force", pads: [["IQ1", "5"], ["IQ1", "6"], ["IQ1", "7"], ["IQ1", "8"], ["IQ2", "1"], ["IQ2", "2"], ["IQ2", "3"], ["IL2", "1"], ["IU9", "4"], ["IC26", "2"]]}, + {name: "Iconv.sw.low_gate_res.a", pads: [["IR11", "1"], ["IU9", "8"]]}, + {name: "Iconv.sw.low_gate_res.b", pads: [["IR11", "2"], ["IQ1", "4"]]}, + {name: "Iconv.sw.high_gate_res.a", pads: [["IR12", "1"], ["IU9", "3"]]}, + {name: "Iconv.sw.high_gate_res.b", pads: [["IR12", "2"], ["IQ2", "4"]]}, + {name: "Iconv.sw.driver.ic.hb", pads: [["IU9", "2"], ["IC26", "1"]]} +]) + +const limit0 = pt(-0.07874015748031496, -0.07874015748031496); +const limit1 = pt(4.385236220472439, 3.2523622047244096); +const xMin = Math.min(limit0[0], limit1[0]); +const xMax = Math.max(limit0[0], limit1[0]); +const yMin = Math.min(limit0[1], limit1[1]); +const yMax = Math.max(limit0[1], limit1[1]); + +const filletRadius = 0.1; +const outline = path( + [(xMin+xMax/2), yMax], + ["fillet", filletRadius, [xMax, yMax]], + ["fillet", filletRadius, [xMax, yMin]], + ["fillet", filletRadius, [xMin, yMin]], + ["fillet", filletRadius, [xMin, yMax]], + [(xMin+xMax/2), yMax], +); +board.addShape("outline", outline); + +renderPCB({ + pcb: board, + layerColors: { + "F.Paste": "#000000ff", + "F.Mask": "#000000ff", + "B.Mask": "#000000ff", + "componentLabels": "#00e5e5e5", + "outline": "#002d00ff", + "padLabels": "#ffff99e5", + "B.Cu": "#ef4e4eff", + "F.Cu": "#ff8c00cc", + }, + limits: { + x: [xMin, xMax], + y: [yMin, yMax] + }, + background: "#00000000", + mmPerUnit: 25.4 +}) + + diff --git a/examples/IotKnob/IotKnob.net b/examples/IotKnob/IotKnob.net new file mode 100644 index 000000000..d8e3923f7 --- /dev/null +++ b/examples/IotKnob/IotKnob.net @@ -0,0 +1,1662 @@ +(export (version D) +(components +(comp (ref "KH1") + (value "jlc_th.th1") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th1")) + (property (name "edg_short_path") (value "jlc_th.th1")) + (property (name "edg_refdes") (value "KH1")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "0260010e")) +(comp (ref "KH2") + (value "jlc_th.th2") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th2")) + (property (name "edg_short_path") (value "jlc_th.th2")) + (property (name "edg_refdes") (value "KH2")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "0261010f")) +(comp (ref "KH3") + (value "jlc_th.th3") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th3")) + (property (name "edg_short_path") (value "jlc_th.th3")) + (property (name "edg_refdes") (value "KH3")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "02620110")) +(comp (ref "KJ1") + (value "usb.conn") + (footprint "Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11") + (property (name "Sheetname") (value "usb")) + (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCReceptacle")) + (property (name "edg_path") (value "usb.conn")) + (property (name "edg_short_path") (value "usb.conn")) + (property (name "edg_refdes") (value "KJ1")) + (property (name "edg_part") (value "COM-15111 (Sparkfun)")) + (property (name "edg_value") (value "COM-15111")) + (sheetpath (names "/usb/") (tstamps "/02aa014b/")) + (tstamps "042701af")) +(comp (ref "KR1") + (value "usb.cc_pull.cc1") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "cc_pull")) + (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) + (property (name "edg_path") (value "usb.cc_pull.cc1.res")) + (property (name "edg_short_path") (value "usb.cc_pull.cc1")) + (property (name "edg_refdes") (value "KR1")) + (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/usb/cc_pull/") (tstamps "/02aa014b/0b4c02e3/")) + (tstamps "022300f8")) +(comp (ref "KR2") + (value "usb.cc_pull.cc2") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "cc_pull")) + (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) + (property (name "edg_path") (value "usb.cc_pull.cc2.res")) + (property (name "edg_short_path") (value "usb.cc_pull.cc2")) + (property (name "edg_refdes") (value "KR2")) + (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/usb/cc_pull/") (tstamps "/02aa014b/0b4c02e3/")) + (tstamps "022400f9")) +(comp (ref "KTP1") + (value "tp_pwr") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_pwr.tp")) + (property (name "edg_short_path") (value "tp_pwr")) + (property (name "edg_refdes") (value "KTP1")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "vusb")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "091a029d")) +(comp (ref "KTP2") + (value "tp_gnd") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_gnd.tp")) + (property (name "edg_short_path") (value "tp_gnd")) + (property (name "edg_refdes") (value "KTP2")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "gnd")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "08df027d")) +(comp (ref "KU1") + (value "reg_3v3.ic") + (footprint "Package_TO_SOT_SMD:SOT-223-3_TabPin2") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) + (property (name "edg_path") (value "reg_3v3.ic")) + (property (name "edg_short_path") (value "reg_3v3.ic")) + (property (name "edg_refdes") (value "KU1")) + (property (name "edg_part") (value "LDL1117S33R (STMicroelectronics)")) + (property (name "edg_value") (value "LDL1117S33R")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "013700cd")) +(comp (ref "KC1") + (value "reg_3v3.in_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) + (property (name "edg_path") (value "reg_3v3.in_cap.cap")) + (property (name "edg_short_path") (value "reg_3v3.in_cap")) + (property (name "edg_refdes") (value "KC1")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "0879026b")) +(comp (ref "KC2") + (value "reg_3v3.out_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) + (property (name "edg_path") (value "reg_3v3.out_cap.cap")) + (property (name "edg_short_path") (value "reg_3v3.out_cap")) + (property (name "edg_refdes") (value "KC2")) + (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "0be902ec")) +(comp (ref "KTP3") + (value "tp_3v3") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_3v3.tp")) + (property (name "edg_short_path") (value "tp_3v3")) + (property (name "edg_refdes") (value "KTP3")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "v3v3")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "08220220")) +(comp (ref "KD1") + (value "prot_3v3") + (footprint "Diode_SMD:D_SOD-323") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "prot_3v3.diode")) + (property (name "edg_short_path") (value "prot_3v3")) + (property (name "edg_refdes") (value "KD1")) + (property (name "edg_part") (value "BZT52B3V6S (SMC(Sangdest Microelectronicstronic (Nanjing)))")) + (property (name "edg_value") (value "5μA@1V 90Ω Single 3.53V~3.67V 200mW 3.6V SOD-323 Zener Diodes ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0eb80301")) +(comp (ref "KU2") + (value "mcu.ic") + (footprint "RF_Module:ESP32-S3-WROOM-1") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.ic")) + (property (name "edg_short_path") (value "mcu.ic")) + (property (name "edg_refdes") (value "KU2")) + (property (name "edg_part") (value "ESP32-S3-WROOM-1-N16R8 (Espressif Systems)")) + (property (name "edg_value") (value "ESP32-S3-WROOM-1-N16R8")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "013700cd")) +(comp (ref "KC3") + (value "mcu.vcc_cap0") + (footprint "Capacitor_SMD:C_1206_3216Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.vcc_cap0.cap")) + (property (name "edg_short_path") (value "mcu.vcc_cap0")) + (property (name "edg_refdes") (value "KC3")) + (property (name "edg_part") (value "CL31A226KPHNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "10V 22uF X5R ±10% 1206 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "0e590300")) +(comp (ref "KC4") + (value "mcu.vcc_cap1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.vcc_cap1.cap")) + (property (name "edg_short_path") (value "mcu.vcc_cap1")) + (property (name "edg_refdes") (value "KC4")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "0e5a0301")) +(comp (ref "KJ2") + (value "mcu.prog") + (footprint "Connector:Tag-Connect_TC2030-IDC-FP_2x03_P1.27mm_Vertical") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32s3.Esp32s3_Wroom_1")) + (property (name "edg_path") (value "mcu.prog.conn")) + (property (name "edg_short_path") (value "mcu.prog")) + (property (name "edg_refdes") (value "KJ2")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "045f01b9")) +(comp (ref "KR3") + (value "mcu.en_pull.r") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "en_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) + (property (name "edg_path") (value "mcu.en_pull.rc.r")) + (property (name "edg_short_path") (value "mcu.en_pull.r")) + (property (name "edg_refdes") (value "KR3")) + (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) + (tstamps "00730073")) +(comp (ref "KC5") + (value "mcu.en_pull.c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "en_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) + (property (name "edg_path") (value "mcu.en_pull.rc.c")) + (property (name "edg_short_path") (value "mcu.en_pull.c")) + (property (name "edg_refdes") (value "KC5")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) + (tstamps "00640064")) +(comp (ref "KR4") + (value "i2c_pull.scl_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "i2c_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.I2cPullup.I2cPullup")) + (property (name "edg_path") (value "i2c_pull.scl_res.res")) + (property (name "edg_short_path") (value "i2c_pull.scl_res")) + (property (name "edg_refdes") (value "KR4")) + (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/i2c_pull/") (tstamps "/0d3e031b/")) + (tstamps "0ba902ec")) +(comp (ref "KR5") + (value "i2c_pull.sda_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "i2c_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.I2cPullup.I2cPullup")) + (property (name "edg_path") (value "i2c_pull.sda_res.res")) + (property (name "edg_short_path") (value "i2c_pull.sda_res")) + (property (name "edg_refdes") (value "KR5")) + (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/i2c_pull/") (tstamps "/0d3e031b/")) + (tstamps "0b7802e2")) +(comp (ref "KTP4") + (value "i2c_tp.tp_scl") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "i2c_tp")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.I2cTestPoint")) + (property (name "edg_path") (value "i2c_tp.tp_scl.tp")) + (property (name "edg_short_path") (value "i2c_tp.tp_scl")) + (property (name "edg_refdes") (value "KTP4")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "i2c_chain_0.scl")) + (sheetpath (names "/i2c_tp/") (tstamps "/07770242/")) + (tstamps "08f50286")) +(comp (ref "KTP5") + (value "i2c_tp.tp_sda") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "i2c_tp")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractTestPoint.I2cTestPoint")) + (property (name "edg_path") (value "i2c_tp.tp_sda.tp")) + (property (name "edg_short_path") (value "i2c_tp.tp_sda")) + (property (name "edg_refdes") (value "KTP5")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "i2c_chain_0.sda")) + (sheetpath (names "/i2c_tp/") (tstamps "/07770242/")) + (tstamps "08ec027c")) +(comp (ref "KU3") + (value "usb_esd") + (footprint "Package_TO_SOT_SMD:SOT-23") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "usb_esd")) + (property (name "edg_short_path") (value "usb_esd")) + (property (name "edg_refdes") (value "KU3")) + (property (name "edg_part") (value "PESD5V0X1BT (Nexperia)")) + (property (name "edg_value") (value "PESD5V0X1BT")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0bcb02e6")) +(comp (ref "KD2") + (value "ledr.package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "ledr")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "ledr.package")) + (property (name "edg_short_path") (value "ledr.package")) + (property (name "edg_refdes") (value "KD2")) + (property (name "edg_part") (value "KT-0603R (Hubei KENTO Elec)")) + (property (name "edg_value") (value "Red 615~630nm 1.9~2.2V 0603 Light Emitting Diodes (LED) RoHS")) + (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) + (tstamps "0b4e02cd")) +(comp (ref "KR6") + (value "ledr.res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "ledr")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "ledr.res")) + (property (name "edg_short_path") (value "ledr.res")) + (property (name "edg_refdes") (value "KR6")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/ledr/") (tstamps "/041d01a8/")) + (tstamps "0296014b")) +(comp (ref "KD3") + (value "ledy.package") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "ledy")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "ledy.package")) + (property (name "edg_short_path") (value "ledy.package")) + (property (name "edg_refdes") (value "KD3")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/ledy/") (tstamps "/042401af/")) + (tstamps "0b4e02cd")) +(comp (ref "KR7") + (value "ledy.res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "ledy")) + (property (name "Sheetfile") (value "edg.abstract_parts.AbstractLed.IndicatorLed")) + (property (name "edg_path") (value "ledy.res")) + (property (name "edg_short_path") (value "ledy.res")) + (property (name "edg_refdes") (value "KR7")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/ledy/") (tstamps "/042401af/")) + (tstamps "0296014b")) +(comp (ref "KSW1") + (value "enc") + (footprint "edg:RotaryEncoder_Alps_EC11J15-Switch") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "enc.package")) + (property (name "edg_short_path") (value "enc")) + (property (name "edg_refdes") (value "KSW1")) + (property (name "edg_part") (value "EC11J1525402 (Alps Alpine)")) + (property (name "edg_value") (value "EC11J1525402")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "02710137")) +(comp (ref "KSW2") + (value "sw[0]") + (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "sw[0].package")) + (property (name "edg_short_path") (value "sw[0]")) + (property (name "edg_refdes") (value "KSW2")) + (property (name "edg_part") (value "5.1mm switch")) + (property (name "edg_value") (value "5.1mm switch")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "05ee01d3")) +(comp (ref "KSW3") + (value "sw[1]") + (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "sw[1].package")) + (property (name "edg_short_path") (value "sw[1]")) + (property (name "edg_refdes") (value "KSW3")) + (property (name "edg_part") (value "5.1mm switch")) + (property (name "edg_value") (value "5.1mm switch")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "05f001d4")) +(comp (ref "KSW4") + (value "sw[2]") + (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "sw[2].package")) + (property (name "edg_short_path") (value "sw[2]")) + (property (name "edg_refdes") (value "KSW4")) + (property (name "edg_part") (value "5.1mm switch")) + (property (name "edg_value") (value "5.1mm switch")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "05f201d5")) +(comp (ref "KSW5") + (value "sw[3]") + (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "sw[3].package")) + (property (name "edg_short_path") (value "sw[3]")) + (property (name "edg_refdes") (value "KSW5")) + (property (name "edg_part") (value "5.1mm switch")) + (property (name "edg_value") (value "5.1mm switch")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "05f401d6")) +(comp (ref "KSW6") + (value "sw[4]") + (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "sw[4].package")) + (property (name "edg_short_path") (value "sw[4]")) + (property (name "edg_refdes") (value "KSW6")) + (property (name "edg_part") (value "5.1mm switch")) + (property (name "edg_value") (value "5.1mm switch")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "05f601d7")) +(comp (ref "KSW7") + (value "sw[5]") + (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "sw[5].package")) + (property (name "edg_short_path") (value "sw[5]")) + (property (name "edg_refdes") (value "KSW7")) + (property (name "edg_part") (value "5.1mm switch")) + (property (name "edg_value") (value "5.1mm switch")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "05f801d8")) +(comp (ref "KU4") + (value "als.ic") + (footprint "Package_TO_SOT_SMD:HVSOF6") + (property (name "Sheetname") (value "als")) + (property (name "Sheetfile") (value "edg.parts.LightSensor_Bh1750.Bh1750")) + (property (name "edg_path") (value "als.ic")) + (property (name "edg_short_path") (value "als.ic")) + (property (name "edg_refdes") (value "KU4")) + (property (name "edg_part") (value "BH1750 (Rohm Semiconductor)")) + (property (name "edg_value") (value "BH1750")) + (sheetpath (names "/als/") (tstamps "/02710141/")) + (tstamps "013700cd")) +(comp (ref "KC6") + (value "als.vcc_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "als")) + (property (name "Sheetfile") (value "edg.parts.LightSensor_Bh1750.Bh1750")) + (property (name "edg_path") (value "als.vcc_cap.cap")) + (property (name "edg_short_path") (value "als.vcc_cap")) + (property (name "edg_refdes") (value "KC6")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/als/") (tstamps "/02710141/")) + (tstamps "0b5902d0")) +(comp (ref "KR8") + (value "als.dvi_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "als")) + (property (name "Sheetfile") (value "edg.parts.LightSensor_Bh1750.Bh1750")) + (property (name "edg_path") (value "als.dvi_res")) + (property (name "edg_short_path") (value "als.dvi_res")) + (property (name "edg_refdes") (value "KR8")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/als/") (tstamps "/02710141/")) + (tstamps "0ba302ed")) +(comp (ref "KC7") + (value "als.dvi_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "als")) + (property (name "Sheetfile") (value "edg.parts.LightSensor_Bh1750.Bh1750")) + (property (name "edg_path") (value "als.dvi_cap")) + (property (name "edg_short_path") (value "als.dvi_cap")) + (property (name "edg_refdes") (value "KC7")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/als/") (tstamps "/02710141/")) + (tstamps "0b6b02d7")) +(comp (ref "KU5") + (value "dist.ic") + (footprint "OptoDevice:ST_VL53L0X") + (property (name "Sheetname") (value "dist")) + (property (name "Sheetfile") (value "edg.parts.Distance_Vl53l0x.Vl53l0x")) + (property (name "edg_path") (value "dist.ic")) + (property (name "edg_short_path") (value "dist.ic")) + (property (name "edg_refdes") (value "KU5")) + (property (name "edg_part") (value "VL53L0X (STMicroelectronics)")) + (property (name "edg_value") (value "VL53L0X")) + (sheetpath (names "/dist/") (tstamps "/042901b5/")) + (tstamps "013700cd")) +(comp (ref "KC8") + (value "dist.vdd_cap[0]") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "dist")) + (property (name "Sheetfile") (value "edg.parts.Distance_Vl53l0x.Vl53l0x")) + (property (name "edg_path") (value "dist.vdd_cap[0].cap")) + (property (name "edg_short_path") (value "dist.vdd_cap[0]")) + (property (name "edg_refdes") (value "KC8")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/dist/") (tstamps "/042901b5/")) + (tstamps "15a803ba")) +(comp (ref "KC9") + (value "dist.vdd_cap[1]") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "dist")) + (property (name "Sheetfile") (value "edg.parts.Distance_Vl53l0x.Vl53l0x")) + (property (name "edg_path") (value "dist.vdd_cap[1].cap")) + (property (name "edg_short_path") (value "dist.vdd_cap[1]")) + (property (name "edg_refdes") (value "KC9")) + (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/dist/") (tstamps "/042901b5/")) + (tstamps "15aa03bb")) +(comp (ref "KU6") + (value "env.ic") + (footprint "Sensor_Humidity:Sensirion_DFN-4-1EP_2x2mm_P1mm_EP0.7x1.6mm") + (property (name "Sheetname") (value "env")) + (property (name "Sheetfile") (value "edg.parts.EnvironmentalSensor_Sensirion.Shtc3")) + (property (name "edg_path") (value "env.ic")) + (property (name "edg_short_path") (value "env.ic")) + (property (name "edg_refdes") (value "KU6")) + (property (name "edg_part") (value "SHTC3 (Sensirion AG)")) + (property (name "edg_value") (value "SHTC3")) + (sheetpath (names "/env/") (tstamps "/0284014a/")) + (tstamps "013700cd")) +(comp (ref "KC10") + (value "env.vdd_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "env")) + (property (name "Sheetfile") (value "edg.parts.EnvironmentalSensor_Sensirion.Shtc3")) + (property (name "edg_path") (value "env.vdd_cap.cap")) + (property (name "edg_short_path") (value "env.vdd_cap")) + (property (name "edg_refdes") (value "KC10")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/env/") (tstamps "/0284014a/")) + (tstamps "0b6402d2")) +(comp (ref "KJ3") + (value "oled.device") + (footprint "Connector_FFC-FPC:Hirose_FH12-30S-0.5SH_1x30-1MP_P0.50mm_Horizontal") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.device.conn")) + (property (name "edg_short_path") (value "oled.device")) + (property (name "edg_refdes") (value "KJ3")) + (property (name "edg_part") (value "AFC01-S30FC*-00 (Jushuo)")) + (property (name "edg_value") (value "AFC01-S30FC*-00")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "08950271")) +(comp (ref "KU7") + (value "oled.lcd") + (footprint "edg:Lcd_Er_Oled0.96_1.1_Outline") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.lcd")) + (property (name "edg_short_path") (value "oled.lcd")) + (property (name "edg_refdes") (value "KU7")) + (property (name "edg_part") (value "ER-OLED-0.96-1.1 (EastRising)")) + (property (name "edg_value") (value "ER-OLED-0.96-1.1")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "02710134")) +(comp (ref "KC11") + (value "oled.c1_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.c1_cap")) + (property (name "edg_short_path") (value "oled.c1_cap")) + (property (name "edg_refdes") (value "KC11")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "07240228")) +(comp (ref "KC12") + (value "oled.c2_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.c2_cap")) + (property (name "edg_short_path") (value "oled.c2_cap")) + (property (name "edg_refdes") (value "KC12")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "07290229")) +(comp (ref "KR9") + (value "oled.iref_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.iref_res")) + (property (name "edg_short_path") (value "oled.iref_res")) + (property (name "edg_refdes") (value "KR9")) + (property (name "edg_part") (value "0603WAF3903T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 390kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "0ed90350")) +(comp (ref "KC13") + (value "oled.vcomh_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.vcomh_cap.cap")) + (property (name "edg_short_path") (value "oled.vcomh_cap")) + (property (name "edg_refdes") (value "KC13")) + (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "12bd03b1")) +(comp (ref "KC14") + (value "oled.vdd_cap1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.vdd_cap1.cap")) + (property (name "edg_short_path") (value "oled.vdd_cap1")) + (property (name "edg_refdes") (value "KC14")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "0e670303")) +(comp (ref "KC15") + (value "oled.vbat_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.vbat_cap.cap")) + (property (name "edg_short_path") (value "oled.vbat_cap")) + (property (name "edg_refdes") (value "KC15")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "0ec70341")) +(comp (ref "KC16") + (value "oled.vcc_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "oled")) + (property (name "Sheetfile") (value "edg.parts.Oled_Er_Oled_096_1_1.Er_Oled_096_1_1")) + (property (name "edg_path") (value "oled.vcc_cap.cap")) + (property (name "edg_short_path") (value "oled.vcc_cap")) + (property (name "edg_refdes") (value "KC16")) + (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/oled/") (tstamps "/043201a5/")) + (tstamps "0b5902d0")) +(comp (ref "KU8") + (value "rgb_shift.ic") + (footprint "Package_TO_SOT_SMD:SOT-23-5") + (property (name "Sheetname") (value "rgb_shift")) + (property (name "Sheetfile") (value "edg.parts.Logic_74Ahct.L74Ahct1g125")) + (property (name "edg_path") (value "rgb_shift.ic")) + (property (name "edg_short_path") (value "rgb_shift.ic")) + (property (name "edg_refdes") (value "KU8")) + (property (name "edg_part") (value "74AHCT1G125W5-7 (Diodes Incorporated)")) + (property (name "edg_value") (value "74AHCT1G125W5-7")) + (sheetpath (names "/rgb_shift/") (tstamps "/128503b9/")) + (tstamps "013700cd")) +(comp (ref "KC17") + (value "rgb_shift.vdd_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "rgb_shift")) + (property (name "Sheetfile") (value "edg.parts.Logic_74Ahct.L74Ahct1g125")) + (property (name "edg_path") (value "rgb_shift.vdd_cap.cap")) + (property (name "edg_short_path") (value "rgb_shift.vdd_cap")) + (property (name "edg_refdes") (value "KC17")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/rgb_shift/") (tstamps "/128503b9/")) + (tstamps "0b6402d2")) +(comp (ref "KTP6") + (value "rgb_tp") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "rgb_tp.tp")) + (property (name "edg_short_path") (value "rgb_tp")) + (property (name "edg_refdes") (value "KTP6")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_rgb_shift_output_link")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "08b2027f")) +(comp (ref "KD4") + (value "rgb_knob.led[0]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_knob")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_knob.led[0]")) + (property (name "edg_short_path") (value "rgb_knob.led[0]")) + (property (name "edg_refdes") (value "KD4")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_knob/") (tstamps "/0ec60345/")) + (tstamps "07e5021e")) +(comp (ref "KD5") + (value "rgb_knob.led[1]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_knob")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_knob.led[1]")) + (property (name "edg_short_path") (value "rgb_knob.led[1]")) + (property (name "edg_refdes") (value "KD5")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_knob/") (tstamps "/0ec60345/")) + (tstamps "07e7021f")) +(comp (ref "KD6") + (value "rgb_knob.led[2]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_knob")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_knob.led[2]")) + (property (name "edg_short_path") (value "rgb_knob.led[2]")) + (property (name "edg_refdes") (value "KD6")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_knob/") (tstamps "/0ec60345/")) + (tstamps "07e90220")) +(comp (ref "KD7") + (value "rgb_knob.led[3]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_knob")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_knob.led[3]")) + (property (name "edg_short_path") (value "rgb_knob.led[3]")) + (property (name "edg_refdes") (value "KD7")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_knob/") (tstamps "/0ec60345/")) + (tstamps "07eb0221")) +(comp (ref "KD8") + (value "rgb_ring.led[0]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[0]")) + (property (name "edg_short_path") (value "rgb_ring.led[0]")) + (property (name "edg_refdes") (value "KD8")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07e5021e")) +(comp (ref "KD9") + (value "rgb_ring.led[1]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[1]")) + (property (name "edg_short_path") (value "rgb_ring.led[1]")) + (property (name "edg_refdes") (value "KD9")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07e7021f")) +(comp (ref "KD10") + (value "rgb_ring.led[2]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[2]")) + (property (name "edg_short_path") (value "rgb_ring.led[2]")) + (property (name "edg_refdes") (value "KD10")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07e90220")) +(comp (ref "KD11") + (value "rgb_ring.led[3]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[3]")) + (property (name "edg_short_path") (value "rgb_ring.led[3]")) + (property (name "edg_refdes") (value "KD11")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07eb0221")) +(comp (ref "KD12") + (value "rgb_ring.led[4]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[4]")) + (property (name "edg_short_path") (value "rgb_ring.led[4]")) + (property (name "edg_refdes") (value "KD12")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07ed0222")) +(comp (ref "KD13") + (value "rgb_ring.led[5]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[5]")) + (property (name "edg_short_path") (value "rgb_ring.led[5]")) + (property (name "edg_refdes") (value "KD13")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07ef0223")) +(comp (ref "KD14") + (value "rgb_ring.led[6]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[6]")) + (property (name "edg_short_path") (value "rgb_ring.led[6]")) + (property (name "edg_refdes") (value "KD14")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07f10224")) +(comp (ref "KD15") + (value "rgb_ring.led[7]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[7]")) + (property (name "edg_short_path") (value "rgb_ring.led[7]")) + (property (name "edg_refdes") (value "KD15")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07f30225")) +(comp (ref "KD16") + (value "rgb_ring.led[8]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[8]")) + (property (name "edg_short_path") (value "rgb_ring.led[8]")) + (property (name "edg_refdes") (value "KD16")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07f50226")) +(comp (ref "KD17") + (value "rgb_ring.led[9]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[9]")) + (property (name "edg_short_path") (value "rgb_ring.led[9]")) + (property (name "edg_refdes") (value "KD17")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "07f70227")) +(comp (ref "KD18") + (value "rgb_ring.led[10]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[10]")) + (property (name "edg_short_path") (value "rgb_ring.led[10]")) + (property (name "edg_refdes") (value "KD18")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a09024f")) +(comp (ref "KD19") + (value "rgb_ring.led[11]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[11]")) + (property (name "edg_short_path") (value "rgb_ring.led[11]")) + (property (name "edg_refdes") (value "KD19")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a0b0250")) +(comp (ref "KD20") + (value "rgb_ring.led[12]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[12]")) + (property (name "edg_short_path") (value "rgb_ring.led[12]")) + (property (name "edg_refdes") (value "KD20")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a0d0251")) +(comp (ref "KD21") + (value "rgb_ring.led[13]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[13]")) + (property (name "edg_short_path") (value "rgb_ring.led[13]")) + (property (name "edg_refdes") (value "KD21")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a0f0252")) +(comp (ref "KD22") + (value "rgb_ring.led[14]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[14]")) + (property (name "edg_short_path") (value "rgb_ring.led[14]")) + (property (name "edg_refdes") (value "KD22")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a110253")) +(comp (ref "KD23") + (value "rgb_ring.led[15]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[15]")) + (property (name "edg_short_path") (value "rgb_ring.led[15]")) + (property (name "edg_refdes") (value "KD23")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a130254")) +(comp (ref "KD24") + (value "rgb_ring.led[16]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[16]")) + (property (name "edg_short_path") (value "rgb_ring.led[16]")) + (property (name "edg_refdes") (value "KD24")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a150255")) +(comp (ref "KD25") + (value "rgb_ring.led[17]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[17]")) + (property (name "edg_short_path") (value "rgb_ring.led[17]")) + (property (name "edg_refdes") (value "KD25")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a170256")) +(comp (ref "KD26") + (value "rgb_ring.led[18]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[18]")) + (property (name "edg_short_path") (value "rgb_ring.led[18]")) + (property (name "edg_refdes") (value "KD26")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a190257")) +(comp (ref "KD27") + (value "rgb_ring.led[19]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[19]")) + (property (name "edg_short_path") (value "rgb_ring.led[19]")) + (property (name "edg_refdes") (value "KD27")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a1b0258")) +(comp (ref "KD28") + (value "rgb_ring.led[20]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[20]")) + (property (name "edg_short_path") (value "rgb_ring.led[20]")) + (property (name "edg_refdes") (value "KD28")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a0c0250")) +(comp (ref "KD29") + (value "rgb_ring.led[21]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[21]")) + (property (name "edg_short_path") (value "rgb_ring.led[21]")) + (property (name "edg_refdes") (value "KD29")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a0e0251")) +(comp (ref "KD30") + (value "rgb_ring.led[22]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[22]")) + (property (name "edg_short_path") (value "rgb_ring.led[22]")) + (property (name "edg_refdes") (value "KD30")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a100252")) +(comp (ref "KD31") + (value "rgb_ring.led[23]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_ring")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_ring.led[23]")) + (property (name "edg_short_path") (value "rgb_ring.led[23]")) + (property (name "edg_refdes") (value "KD31")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_ring/") (tstamps "/0ed6034b/")) + (tstamps "0a120253")) +(comp (ref "KD32") + (value "rgb_sw.led[0]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_sw")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_sw.led[0]")) + (property (name "edg_short_path") (value "rgb_sw.led[0]")) + (property (name "edg_refdes") (value "KD32")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_sw/") (tstamps "/08b70285/")) + (tstamps "07e5021e")) +(comp (ref "KD33") + (value "rgb_sw.led[1]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_sw")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_sw.led[1]")) + (property (name "edg_short_path") (value "rgb_sw.led[1]")) + (property (name "edg_refdes") (value "KD33")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_sw/") (tstamps "/08b70285/")) + (tstamps "07e7021f")) +(comp (ref "KD34") + (value "rgb_sw.led[2]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_sw")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_sw.led[2]")) + (property (name "edg_short_path") (value "rgb_sw.led[2]")) + (property (name "edg_refdes") (value "KD34")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_sw/") (tstamps "/08b70285/")) + (tstamps "07e90220")) +(comp (ref "KD35") + (value "rgb_sw.led[3]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_sw")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_sw.led[3]")) + (property (name "edg_short_path") (value "rgb_sw.led[3]")) + (property (name "edg_refdes") (value "KD35")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_sw/") (tstamps "/08b70285/")) + (tstamps "07eb0221")) +(comp (ref "KD36") + (value "rgb_sw.led[4]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_sw")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_sw.led[4]")) + (property (name "edg_short_path") (value "rgb_sw.led[4]")) + (property (name "edg_refdes") (value "KD36")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_sw/") (tstamps "/08b70285/")) + (tstamps "07ed0222")) +(comp (ref "KD37") + (value "rgb_sw.led[5]") + (footprint "LED_SMD:LED_SK6812_EC15_1.5x1.5mm") + (property (name "Sheetname") (value "rgb_sw")) + (property (name "Sheetfile") (value "edg.parts.Neopixel.NeopixelArrayCircular")) + (property (name "edg_path") (value "rgb_sw.led[5]")) + (property (name "edg_short_path") (value "rgb_sw.led[5]")) + (property (name "edg_refdes") (value "KD37")) + (property (name "edg_part") (value "SK6805-EC15 (Opsco Optoelectronics)")) + (property (name "edg_value") (value "SK6805-EC15")) + (sheetpath (names "/rgb_sw/") (tstamps "/08b70285/")) + (tstamps "07ef0223")) +(comp (ref "KR10") + (value "io8_pur") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "io8_pur.res")) + (property (name "edg_short_path") (value "io8_pur")) + (property (name "edg_refdes") (value "KR10")) + (property (name "edg_part") (value "0603WAF4701T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 4.7kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0ac002c7")) +(comp (ref "KR11") + (value "spk_dac.r") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "spk_dac")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.LowPassRcDac")) + (property (name "edg_path") (value "spk_dac.rc.r")) + (property (name "edg_short_path") (value "spk_dac.r")) + (property (name "edg_refdes") (value "KR11")) + (property (name "edg_part") (value "0603WAF1001T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/spk_dac/") (tstamps "/0bb002d6/")) + (tstamps "00730073")) +(comp (ref "KC18") + (value "spk_dac.c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "spk_dac")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.LowPassRcDac")) + (property (name "edg_path") (value "spk_dac.rc.c")) + (property (name "edg_short_path") (value "spk_dac.c")) + (property (name "edg_refdes") (value "KC18")) + (property (name "edg_part") (value "CL10B473KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 47nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/spk_dac/") (tstamps "/0bb002d6/")) + (tstamps "00640064")) +(comp (ref "KTP7") + (value "spk_tp") + (footprint "edg:TestPoint_TE_RCT_0805") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "spk_tp.tp")) + (property (name "edg_short_path") (value "spk_tp")) + (property (name "edg_refdes") (value "KTP7")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "_spk_dac_output_link")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "09090292")) +(comp (ref "KU9") + (value "spk_drv.ic") + (footprint "Package_SO:MSOP-8_3x3mm_P0.65mm") + (property (name "Sheetname") (value "spk_drv")) + (property (name "Sheetfile") (value "edg.parts.SpeakerDriver_Analog.Pam8302a")) + (property (name "edg_path") (value "spk_drv.ic")) + (property (name "edg_short_path") (value "spk_drv.ic")) + (property (name "edg_refdes") (value "KU9")) + (property (name "edg_part") (value "PAM8302AASCR (Diodes Incorporated)")) + (property (name "edg_value") (value "PAM8302AASCR")) + (sheetpath (names "/spk_drv/") (tstamps "/0be502fa/")) + (tstamps "013700cd")) +(comp (ref "KC19") + (value "spk_drv.pwr_cap0") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "spk_drv")) + (property (name "Sheetfile") (value "edg.parts.SpeakerDriver_Analog.Pam8302a")) + (property (name "edg_path") (value "spk_drv.pwr_cap0.cap")) + (property (name "edg_short_path") (value "spk_drv.pwr_cap0")) + (property (name "edg_refdes") (value "KC19")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/spk_drv/") (tstamps "/0be502fa/")) + (tstamps "0f0f031d")) +(comp (ref "KC20") + (value "spk_drv.pwr_cap1") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "spk_drv")) + (property (name "Sheetfile") (value "edg.parts.SpeakerDriver_Analog.Pam8302a")) + (property (name "edg_path") (value "spk_drv.pwr_cap1.cap")) + (property (name "edg_short_path") (value "spk_drv.pwr_cap1")) + (property (name "edg_refdes") (value "KC20")) + (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/spk_drv/") (tstamps "/0be502fa/")) + (tstamps "0f10031e")) +(comp (ref "KC21") + (value "spk_drv.inp_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "spk_drv")) + (property (name "Sheetfile") (value "edg.parts.SpeakerDriver_Analog.Pam8302a")) + (property (name "edg_path") (value "spk_drv.inp_cap")) + (property (name "edg_short_path") (value "spk_drv.inp_cap")) + (property (name "edg_refdes") (value "KC21")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/spk_drv/") (tstamps "/0be502fa/")) + (tstamps "0b8102db")) +(comp (ref "KC22") + (value "spk_drv.inn_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "spk_drv")) + (property (name "Sheetfile") (value "edg.parts.SpeakerDriver_Analog.Pam8302a")) + (property (name "edg_path") (value "spk_drv.inn_cap")) + (property (name "edg_short_path") (value "spk_drv.inn_cap")) + (property (name "edg_refdes") (value "KC22")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/spk_drv/") (tstamps "/0be502fa/")) + (tstamps "0b7702d9")) +(comp (ref "KJ4") + (value "spk") + (footprint "Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "spk.conn")) + (property (name "edg_short_path") (value "spk")) + (property (name "edg_refdes") (value "KJ4")) + (property (name "edg_part") (value "B2B-PH-K (JST)")) + (property (name "edg_value") (value "B2B-PH-K")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "02a7014f")) +(comp (ref "KR12") + (value "v5v_sense.top_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "v5v_sense")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) + (property (name "edg_path") (value "v5v_sense.div.top_res")) + (property (name "edg_short_path") (value "v5v_sense.top_res")) + (property (name "edg_refdes") (value "KR12")) + (property (name "edg_part") (value "0603WAF1502T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 15kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/v5v_sense/") (tstamps "/11b3039f/")) + (tstamps "0c0c02fd")) +(comp (ref "KR13") + (value "v5v_sense.bottom_res") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "v5v_sense")) + (property (name "Sheetfile") (value "edg.abstract_parts.ResistiveDivider.VoltageSenseDivider")) + (property (name "edg_path") (value "v5v_sense.div.bottom_res")) + (property (name "edg_short_path") (value "v5v_sense.bottom_res")) + (property (name "edg_refdes") (value "KR13")) + (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/v5v_sense/") (tstamps "/11b3039f/")) + (tstamps "175b043f"))) +(nets +(net (code 1) (name "Kvusb") + (node (ref KJ1) (pin A4)) + (node (ref KJ1) (pin B9)) + (node (ref KJ1) (pin B4)) + (node (ref KJ1) (pin A9)) + (node (ref KTP1) (pin 1)) + (node (ref KU1) (pin 3)) + (node (ref KU8) (pin 5)) + (node (ref KD4) (pin 2)) + (node (ref KD5) (pin 2)) + (node (ref KD6) (pin 2)) + (node (ref KD7) (pin 2)) + (node (ref KD8) (pin 2)) + (node (ref KD9) (pin 2)) + (node (ref KD10) (pin 2)) + (node (ref KD11) (pin 2)) + (node (ref KD12) (pin 2)) + (node (ref KD13) (pin 2)) + (node (ref KD14) (pin 2)) + (node (ref KD15) (pin 2)) + (node (ref KD16) (pin 2)) + (node (ref KD17) (pin 2)) + (node (ref KD18) (pin 2)) + (node (ref KD19) (pin 2)) + (node (ref KD20) (pin 2)) + (node (ref KD21) (pin 2)) + (node (ref KD22) (pin 2)) + (node (ref KD23) (pin 2)) + (node (ref KD24) (pin 2)) + (node (ref KD25) (pin 2)) + (node (ref KD26) (pin 2)) + (node (ref KD27) (pin 2)) + (node (ref KD28) (pin 2)) + (node (ref KD29) (pin 2)) + (node (ref KD30) (pin 2)) + (node (ref KD31) (pin 2)) + (node (ref KD32) (pin 2)) + (node (ref KD33) (pin 2)) + (node (ref KD34) (pin 2)) + (node (ref KD35) (pin 2)) + (node (ref KD36) (pin 2)) + (node (ref KD37) (pin 2)) + (node (ref KU9) (pin 1)) + (node (ref KU9) (pin 6)) + (node (ref KR12) (pin 1)) + (node (ref KC1) (pin 1)) + (node (ref KC17) (pin 1)) + (node (ref KC19) (pin 1)) + (node (ref KC20) (pin 1))) +(net (code 2) (name "Kgnd") + (node (ref KU3) (pin 3)) + (node (ref KJ1) (pin A1)) + (node (ref KJ1) (pin B12)) + (node (ref KJ1) (pin B1)) + (node (ref KJ1) (pin A12)) + (node (ref KTP2) (pin 1)) + (node (ref KU1) (pin 1)) + (node (ref KD1) (pin 2)) + (node (ref KU2) (pin 1)) + (node (ref KU2) (pin 40)) + (node (ref KU2) (pin 41)) + (node (ref KR6) (pin 2)) + (node (ref KR7) (pin 2)) + (node (ref KSW1) (pin C)) + (node (ref KSW1) (pin S2)) + (node (ref KSW2) (pin 2)) + (node (ref KSW3) (pin 2)) + (node (ref KSW4) (pin 2)) + (node (ref KSW5) (pin 2)) + (node (ref KSW6) (pin 2)) + (node (ref KSW7) (pin 2)) + (node (ref KU4) (pin 2)) + (node (ref KU4) (pin 3)) + (node (ref KU5) (pin 2)) + (node (ref KU5) (pin 3)) + (node (ref KU5) (pin 4)) + (node (ref KU5) (pin 6)) + (node (ref KU5) (pin 12)) + (node (ref KU6) (pin 4)) + (node (ref KU6) (pin 5)) + (node (ref KU8) (pin 1)) + (node (ref KU8) (pin 3)) + (node (ref KD4) (pin 4)) + (node (ref KD5) (pin 4)) + (node (ref KD6) (pin 4)) + (node (ref KD7) (pin 4)) + (node (ref KD8) (pin 4)) + (node (ref KD9) (pin 4)) + (node (ref KD10) (pin 4)) + (node (ref KD11) (pin 4)) + (node (ref KD12) (pin 4)) + (node (ref KD13) (pin 4)) + (node (ref KD14) (pin 4)) + (node (ref KD15) (pin 4)) + (node (ref KD16) (pin 4)) + (node (ref KD17) (pin 4)) + (node (ref KD18) (pin 4)) + (node (ref KD19) (pin 4)) + (node (ref KD20) (pin 4)) + (node (ref KD21) (pin 4)) + (node (ref KD22) (pin 4)) + (node (ref KD23) (pin 4)) + (node (ref KD24) (pin 4)) + (node (ref KD25) (pin 4)) + (node (ref KD26) (pin 4)) + (node (ref KD27) (pin 4)) + (node (ref KD28) (pin 4)) + (node (ref KD29) (pin 4)) + (node (ref KD30) (pin 4)) + (node (ref KD31) (pin 4)) + (node (ref KD32) (pin 4)) + (node (ref KD33) (pin 4)) + (node (ref KD34) (pin 4)) + (node (ref KD35) (pin 4)) + (node (ref KD36) (pin 4)) + (node (ref KD37) (pin 4)) + (node (ref KU9) (pin 7)) + (node (ref KC18) (pin 2)) + (node (ref KR13) (pin 2)) + (node (ref KJ1) (pin S1)) + (node (ref KC7) (pin 2)) + (node (ref KR9) (pin 2)) + (node (ref KC22) (pin 2)) + (node (ref KC1) (pin 2)) + (node (ref KC2) (pin 2)) + (node (ref KC3) (pin 2)) + (node (ref KC4) (pin 2)) + (node (ref KJ2) (pin 5)) + (node (ref KC6) (pin 2)) + (node (ref KC8) (pin 2)) + (node (ref KC9) (pin 2)) + (node (ref KC10) (pin 2)) + (node (ref KC13) (pin 2)) + (node (ref KC14) (pin 2)) + (node (ref KC15) (pin 2)) + (node (ref KC16) (pin 2)) + (node (ref KC17) (pin 2)) + (node (ref KC19) (pin 2)) + (node (ref KC20) (pin 2)) + (node (ref KC5) (pin 2)) + (node (ref KR1) (pin 1)) + (node (ref KR2) (pin 1)) + (node (ref KJ3) (pin 8)) + (node (ref KJ3) (pin 1)) + (node (ref KJ3) (pin 30)) + (node (ref KJ3) (pin 29)) + (node (ref KJ3) (pin 17)) + (node (ref KJ3) (pin 16)) + (node (ref KJ3) (pin 21)) + (node (ref KJ3) (pin 22)) + (node (ref KJ3) (pin 23)) + (node (ref KJ3) (pin 24)) + (node (ref KJ3) (pin 25)) + (node (ref KJ3) (pin 12)) + (node (ref KJ3) (pin 10)) + (node (ref KJ3) (pin 15)) + (node (ref KJ3) (pin 13))) +(net (code 3) (name "Kv3v3") + (node (ref KU1) (pin 2)) + (node (ref KTP3) (pin 1)) + (node (ref KD1) (pin 1)) + (node (ref KU2) (pin 2)) + (node (ref KU4) (pin 1)) + (node (ref KU5) (pin 1)) + (node (ref KU5) (pin 11)) + (node (ref KU6) (pin 1)) + (node (ref KR10) (pin 1)) + (node (ref KC2) (pin 1)) + (node (ref KR8) (pin 1)) + (node (ref KU5) (pin 5)) + (node (ref KC3) (pin 1)) + (node (ref KC4) (pin 1)) + (node (ref KJ2) (pin 1)) + (node (ref KR4) (pin 1)) + (node (ref KR5) (pin 1)) + (node (ref KC6) (pin 1)) + (node (ref KC8) (pin 1)) + (node (ref KC9) (pin 1)) + (node (ref KC10) (pin 1)) + (node (ref KJ3) (pin 9)) + (node (ref KJ3) (pin 6)) + (node (ref KC14) (pin 1)) + (node (ref KC15) (pin 1)) + (node (ref KR3) (pin 1)) + (node (ref KJ3) (pin 11))) +(net (code 4) (name "Ki2c_chain_0.scl") + (node (ref KU2) (pin 33)) + (node (ref KU4) (pin 6)) + (node (ref KU5) (pin 10)) + (node (ref KU6) (pin 2)) + (node (ref KR4) (pin 2)) + (node (ref KTP4) (pin 1)) + (node (ref KJ3) (pin 18))) +(net (code 5) (name "Ki2c_chain_0.sda") + (node (ref KU2) (pin 32)) + (node (ref KU4) (pin 4)) + (node (ref KU5) (pin 9)) + (node (ref KU6) (pin 3)) + (node (ref KR5) (pin 2)) + (node (ref KTP5) (pin 1)) + (node (ref KJ3) (pin 19)) + (node (ref KJ3) (pin 20))) +(net (code 6) (name "Kusb_chain_0.d_P") + (node (ref KJ1) (pin A6)) + (node (ref KJ1) (pin B6)) + (node (ref KU3) (pin 2)) + (node (ref KU2) (pin 14))) +(net (code 7) (name "Kusb_chain_0.d_N") + (node (ref KJ1) (pin A7)) + (node (ref KJ1) (pin B7)) + (node (ref KU3) (pin 1)) + (node (ref KU2) (pin 13))) +(net (code 8) (name "Kledr.signal") + (node (ref KU2) (pin 25)) + (node (ref KD2) (pin 2))) +(net (code 9) (name "Kledy.signal") + (node (ref KU2) (pin 24)) + (node (ref KD3) (pin 2))) +(net (code 10) (name "Kenc.a") + (node (ref KU2) (pin 12)) + (node (ref KSW1) (pin A))) +(net (code 11) (name "Kenc.b") + (node (ref KU2) (pin 11)) + (node (ref KSW1) (pin B))) +(net (code 12) (name "Kenc.sw") + (node (ref KU2) (pin 31)) + (node (ref KSW1) (pin S1))) +(net (code 13) (name "Ksw[0].out") + (node (ref KU2) (pin 4)) + (node (ref KSW2) (pin 1))) +(net (code 14) (name "Ksw[1].out") + (node (ref KU2) (pin 6)) + (node (ref KSW3) (pin 1))) +(net (code 15) (name "Ksw[2].out") + (node (ref KU2) (pin 7)) + (node (ref KSW4) (pin 1))) +(net (code 16) (name "Ksw[3].out") + (node (ref KU2) (pin 35)) + (node (ref KSW5) (pin 1))) +(net (code 17) (name "Ksw[4].out") + (node (ref KU2) (pin 38)) + (node (ref KSW6) (pin 1))) +(net (code 18) (name "Ksw[5].out") + (node (ref KU2) (pin 39)) + (node (ref KSW7) (pin 1))) +(net (code 19) (name "Koled.reset") + (node (ref KU2) (pin 8)) + (node (ref KJ3) (pin 14))) +(net (code 20) (name "Kio8_pur.io") + (node (ref KU2) (pin 10)) + (node (ref KU8) (pin 2)) + (node (ref KR10) (pin 2))) +(net (code 21) (name "Krgb_shift.output") + (node (ref KU8) (pin 4)) + (node (ref KD4) (pin 1)) + (node (ref KTP6) (pin 1))) +(net (code 22) (name "Krgb_knob.dout") + (node (ref KD7) (pin 3)) + (node (ref KD8) (pin 1))) +(net (code 23) (name "Krgb_ring.dout") + (node (ref KD31) (pin 3)) + (node (ref KD32) (pin 1))) +(net (code 24) (name "Kspk_dac.input") + (node (ref KU2) (pin 9)) + (node (ref KR11) (pin 1))) +(net (code 25) (name "Kspk_dac.output") + (node (ref KTP7) (pin 1)) + (node (ref KC21) (pin 2)) + (node (ref KR11) (pin 2)) + (node (ref KC18) (pin 1))) +(net (code 26) (name "Kspk_drv.spk.a") + (node (ref KU9) (pin 5)) + (node (ref KJ4) (pin 1))) +(net (code 27) (name "Kspk_drv.spk.b") + (node (ref KU9) (pin 8)) + (node (ref KJ4) (pin 2))) +(net (code 28) (name "Kv5v_sense.output") + (node (ref KU2) (pin 5)) + (node (ref KR12) (pin 2)) + (node (ref KR13) (pin 1))) +(net (code 29) (name "Kusb.conn.cc.cc1") + (node (ref KJ1) (pin A5)) + (node (ref KR1) (pin 2))) +(net (code 30) (name "Kusb.conn.cc.cc2") + (node (ref KJ1) (pin B5)) + (node (ref KR2) (pin 2))) +(net (code 31) (name "Kmcu.program_uart_node.a_tx") + (node (ref KU2) (pin 37)) + (node (ref KJ2) (pin 3))) +(net (code 32) (name "Kmcu.program_uart_node.b_tx") + (node (ref KU2) (pin 36)) + (node (ref KJ2) (pin 4))) +(net (code 33) (name "Kmcu.program_en_node") + (node (ref KU2) (pin 3)) + (node (ref KJ2) (pin 6)) + (node (ref KR3) (pin 2)) + (node (ref KC5) (pin 1))) +(net (code 34) (name "Kmcu.program_boot_node") + (node (ref KU2) (pin 27)) + (node (ref KJ2) (pin 2))) +(net (code 35) (name "Kledr.res.a") + (node (ref KR6) (pin 1)) + (node (ref KD2) (pin 1))) +(net (code 36) (name "Kledy.res.a") + (node (ref KR7) (pin 1)) + (node (ref KD3) (pin 1))) +(net (code 37) (name "Kals.dvi_res.b") + (node (ref KR8) (pin 2)) + (node (ref KU4) (pin 5)) + (node (ref KC7) (pin 1))) +(net (code 38) (name "Kdist.ic.gpio1") + (node (ref KU5) (pin 7))) +(net (code 39) (name "Koled.c1_cap.pos") + (node (ref KC11) (pin 1)) + (node (ref KJ3) (pin 4))) +(net (code 40) (name "Koled.c1_cap.neg") + (node (ref KC11) (pin 2)) + (node (ref KJ3) (pin 5))) +(net (code 41) (name "Koled.c2_cap.pos") + (node (ref KC12) (pin 1)) + (node (ref KJ3) (pin 2))) +(net (code 42) (name "Koled.c2_cap.neg") + (node (ref KC12) (pin 2)) + (node (ref KJ3) (pin 3))) +(net (code 43) (name "Koled.iref_res.a") + (node (ref KR9) (pin 1)) + (node (ref KJ3) (pin 26))) +(net (code 44) (name "Koled.device.vcomh") + (node (ref KJ3) (pin 27)) + (node (ref KC13) (pin 1))) +(net (code 45) (name "Koled.device.vcc") + (node (ref KJ3) (pin 28)) + (node (ref KC16) (pin 1))) +(net (code 46) (name "Krgb_knob.led[0].dout") + (node (ref KD4) (pin 3)) + (node (ref KD5) (pin 1))) +(net (code 47) (name "Krgb_knob.led[1].dout") + (node (ref KD5) (pin 3)) + (node (ref KD6) (pin 1))) +(net (code 48) (name "Krgb_knob.led[2].dout") + (node (ref KD6) (pin 3)) + (node (ref KD7) (pin 1))) +(net (code 49) (name "Krgb_ring.led[0].dout") + (node (ref KD8) (pin 3)) + (node (ref KD9) (pin 1))) +(net (code 50) (name "Krgb_ring.led[1].dout") + (node (ref KD9) (pin 3)) + (node (ref KD10) (pin 1))) +(net (code 51) (name "Krgb_ring.led[2].dout") + (node (ref KD10) (pin 3)) + (node (ref KD11) (pin 1))) +(net (code 52) (name "Krgb_ring.led[3].dout") + (node (ref KD11) (pin 3)) + (node (ref KD12) (pin 1))) +(net (code 53) (name "Krgb_ring.led[4].dout") + (node (ref KD12) (pin 3)) + (node (ref KD13) (pin 1))) +(net (code 54) (name "Krgb_ring.led[5].dout") + (node (ref KD13) (pin 3)) + (node (ref KD14) (pin 1))) +(net (code 55) (name "Krgb_ring.led[6].dout") + (node (ref KD14) (pin 3)) + (node (ref KD15) (pin 1))) +(net (code 56) (name "Krgb_ring.led[7].dout") + (node (ref KD15) (pin 3)) + (node (ref KD16) (pin 1))) +(net (code 57) (name "Krgb_ring.led[8].dout") + (node (ref KD16) (pin 3)) + (node (ref KD17) (pin 1))) +(net (code 58) (name "Krgb_ring.led[9].dout") + (node (ref KD17) (pin 3)) + (node (ref KD18) (pin 1))) +(net (code 59) (name "Krgb_ring.led[10].dout") + (node (ref KD18) (pin 3)) + (node (ref KD19) (pin 1))) +(net (code 60) (name "Krgb_ring.led[11].dout") + (node (ref KD19) (pin 3)) + (node (ref KD20) (pin 1))) +(net (code 61) (name "Krgb_ring.led[12].dout") + (node (ref KD20) (pin 3)) + (node (ref KD21) (pin 1))) +(net (code 62) (name "Krgb_ring.led[13].dout") + (node (ref KD21) (pin 3)) + (node (ref KD22) (pin 1))) +(net (code 63) (name "Krgb_ring.led[14].dout") + (node (ref KD22) (pin 3)) + (node (ref KD23) (pin 1))) +(net (code 64) (name "Krgb_ring.led[15].dout") + (node (ref KD23) (pin 3)) + (node (ref KD24) (pin 1))) +(net (code 65) (name "Krgb_ring.led[16].dout") + (node (ref KD24) (pin 3)) + (node (ref KD25) (pin 1))) +(net (code 66) (name "Krgb_ring.led[17].dout") + (node (ref KD25) (pin 3)) + (node (ref KD26) (pin 1))) +(net (code 67) (name "Krgb_ring.led[18].dout") + (node (ref KD26) (pin 3)) + (node (ref KD27) (pin 1))) +(net (code 68) (name "Krgb_ring.led[19].dout") + (node (ref KD27) (pin 3)) + (node (ref KD28) (pin 1))) +(net (code 69) (name "Krgb_ring.led[20].dout") + (node (ref KD28) (pin 3)) + (node (ref KD29) (pin 1))) +(net (code 70) (name "Krgb_ring.led[21].dout") + (node (ref KD29) (pin 3)) + (node (ref KD30) (pin 1))) +(net (code 71) (name "Krgb_ring.led[22].dout") + (node (ref KD30) (pin 3)) + (node (ref KD31) (pin 1))) +(net (code 72) (name "Krgb_sw.led[0].dout") + (node (ref KD32) (pin 3)) + (node (ref KD33) (pin 1))) +(net (code 73) (name "Krgb_sw.led[1].dout") + (node (ref KD33) (pin 3)) + (node (ref KD34) (pin 1))) +(net (code 74) (name "Krgb_sw.led[2].dout") + (node (ref KD34) (pin 3)) + (node (ref KD35) (pin 1))) +(net (code 75) (name "Krgb_sw.led[3].dout") + (node (ref KD35) (pin 3)) + (node (ref KD36) (pin 1))) +(net (code 76) (name "Krgb_sw.led[4].dout") + (node (ref KD36) (pin 3)) + (node (ref KD37) (pin 1))) +(net (code 77) (name "Krgb_sw.dout") + (node (ref KD37) (pin 3))) +(net (code 78) (name "Kspk_drv.inp_cap.pos") + (node (ref KC21) (pin 1)) + (node (ref KU9) (pin 3))) +(net (code 79) (name "Kspk_drv.inn_cap.pos") + (node (ref KC22) (pin 1)) + (node (ref KU9) (pin 4)))) +) \ No newline at end of file diff --git a/examples/IotKnob/IotKnob.svgpcb.js b/examples/IotKnob/IotKnob.svgpcb.js new file mode 100644 index 000000000..53718c31b --- /dev/null +++ b/examples/IotKnob/IotKnob.svgpcb.js @@ -0,0 +1,799 @@ +const board = new PCB(); + +const rgb_knob = NeopixelArrayCircular_4_rgb_knob(pt(1.039, 1.039)) +const rgb_ring = NeopixelArrayCircular_24_rgb_ring(pt(3.157, 1.039)) +const rgb_sw = NeopixelArrayCircular_6_rgb_sw(pt(5.276, 1.039)) +// jlc_th.th1 +const KH1 = board.add(JlcToolingHole_1_152mm, { + translate: pt(1.922, 3.858), rotate: 0, + id: 'KH1' +}) +// jlc_th.th2 +const KH2 = board.add(JlcToolingHole_1_152mm, { + translate: pt(1.961, 3.858), rotate: 0, + id: 'KH2' +}) +// jlc_th.th3 +const KH3 = board.add(JlcToolingHole_1_152mm, { + translate: pt(1.922, 3.898), rotate: 0, + id: 'KH3' +}) +// usb.conn +const KJ1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { + translate: pt(5.262, 2.283), rotate: 0, + id: 'KJ1' +}) +// usb.cc_pull.cc1.res +const KR1 = board.add(R_0603_1608Metric, { + translate: pt(5.111, 2.538), rotate: 0, + id: 'KR1' +}) +// usb.cc_pull.cc2.res +const KR2 = board.add(R_0603_1608Metric, { + translate: pt(5.267, 2.538), rotate: 0, + id: 'KR2' +}) +// tp_pwr.tp +const KTP1 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.066, 3.896), rotate: 0, + id: 'KTP1' +}) +// tp_gnd.tp +const KTP2 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.317, 3.896), rotate: 0, + id: 'KTP2' +}) +// reg_3v3.ic +const KU1 = board.add(SOT_223_3_TabPin2, { + translate: pt(5.763, 2.260), rotate: 0, + id: 'KU1' +}) +// reg_3v3.in_cap.cap +const KC1 = board.add(C_0603_1608Metric, { + translate: pt(5.821, 2.470), rotate: 0, + id: 'KC1' +}) +// reg_3v3.out_cap.cap +const KC2 = board.add(C_0805_2012Metric, { + translate: pt(5.657, 2.480), rotate: 0, + id: 'KC2' +}) +// tp_3v3.tp +const KTP3 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(0.567, 3.896), rotate: 0, + id: 'KTP3' +}) +// prot_3v3.diode +const KD1 = board.add(D_SOD_323, { + translate: pt(0.815, 3.896), rotate: 0, + id: 'KD1' +}) +// mcu.ic +const KU2 = board.add(ESP32_S3_WROOM_1, { + translate: pt(0.945, 2.648), rotate: 0, + id: 'KU2' +}) +// mcu.vcc_cap0.cap +const KC3 = board.add(C_1206_3216Metric, { + translate: pt(2.020, 2.537), rotate: 0, + id: 'KC3' +}) +// mcu.vcc_cap1.cap +const KC4 = board.add(C_0603_1608Metric, { + translate: pt(2.208, 2.521), rotate: 0, + id: 'KC4' +}) +// mcu.prog.conn +const KJ2 = board.add(Tag_Connect_TC2030_IDC_FP_2x03_P1_27mm_Vertical, { + translate: pt(2.096, 2.285), rotate: 0, + id: 'KJ2' +}) +// mcu.en_pull.rc.r +const KR3 = board.add(R_0603_1608Metric, { + translate: pt(2.364, 2.521), rotate: 0, + id: 'KR3' +}) +// mcu.en_pull.rc.c +const KC5 = board.add(C_0603_1608Metric, { + translate: pt(1.987, 2.651), rotate: 0, + id: 'KC5' +}) +// i2c_pull.scl_res.res +const KR4 = board.add(R_0603_1608Metric, { + translate: pt(5.713, 3.437), rotate: 0, + id: 'KR4' +}) +// i2c_pull.sda_res.res +const KR5 = board.add(R_0603_1608Metric, { + translate: pt(5.713, 3.533), rotate: 0, + id: 'KR5' +}) +// i2c_tp.tp_scl.tp +const KTP4 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(4.589, 3.445), rotate: 0, + id: 'KTP4' +}) +// i2c_tp.tp_sda.tp +const KTP5 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(4.589, 3.559), rotate: 0, + id: 'KTP5' +}) +// usb_esd +const KU3 = board.add(SOT_23, { + translate: pt(1.807, 3.925), rotate: 0, + id: 'KU3' +}) +// ledr.package +const KD2 = board.add(LED_0603_1608Metric, { + translate: pt(5.244, 3.437), rotate: 0, + id: 'KD2' +}) +// ledr.res +const KR6 = board.add(R_0603_1608Metric, { + translate: pt(5.243, 3.534), rotate: 0, + id: 'KR6' +}) +// ledy.package +const KD3 = board.add(LED_0603_1608Metric, { + translate: pt(5.478, 3.437), rotate: 0, + id: 'KD3' +}) +// ledy.res +const KR7 = board.add(R_0603_1608Metric, { + translate: pt(5.478, 3.534), rotate: 0, + id: 'KR7' +}) +// enc.package +const KSW1 = board.add(RotaryEncoder_Alps_EC11J15_Switch, { + translate: pt(4.541, 2.463), rotate: 0, + id: 'KSW1' +}) +// sw[0].package +const KSW2 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(5.002, 3.037), rotate: 0, + id: 'KSW2' +}) +// sw[1].package +const KSW3 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(5.455, 3.037), rotate: 0, + id: 'KSW3' +}) +// sw[2].package +const KSW4 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(5.907, 3.037), rotate: 0, + id: 'KSW4' +}) +// sw[3].package +const KSW5 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(2.707, 3.520), rotate: 0, + id: 'KSW5' +}) +// sw[4].package +const KSW6 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(3.160, 3.520), rotate: 0, + id: 'KSW6' +}) +// sw[5].package +const KSW7 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(3.613, 3.520), rotate: 0, + id: 'KSW7' +}) +// als.ic +const KU4 = board.add(HVSOF6, { + translate: pt(4.842, 3.449), rotate: 0, + id: 'KU4' +}) +// als.vcc_cap.cap +const KC6 = board.add(C_0603_1608Metric, { + translate: pt(5.009, 3.437), rotate: 0, + id: 'KC6' +}) +// als.dvi_res +const KR8 = board.add(R_0603_1608Metric, { + translate: pt(4.831, 3.559), rotate: 0, + id: 'KR8' +}) +// als.dvi_cap +const KC7 = board.add(C_0603_1608Metric, { + translate: pt(4.987, 3.559), rotate: 0, + id: 'KC7' +}) +// dist.ic +const KU5 = board.add(ST_VL53L0X, { + translate: pt(4.244, 2.983), rotate: 0, + id: 'KU5' +}) +// dist.vdd_cap[0].cap +const KC8 = board.add(C_0603_1608Metric, { + translate: pt(4.379, 3.107), rotate: 0, + id: 'KC8' +}) +// dist.vdd_cap[1].cap +const KC9 = board.add(C_0805_2012Metric, { + translate: pt(4.214, 3.117), rotate: 0, + id: 'KC9' +}) +// env.ic +const KU6 = board.add(Sensirion_DFN_4_1EP_2x2mm_P1mm_EP0_7x1_6mm, { + translate: pt(4.345, 3.457), rotate: 0, + id: 'KU6' +}) +// env.vdd_cap.cap +const KC10 = board.add(C_0603_1608Metric, { + translate: pt(4.346, 3.574), rotate: 0, + id: 'KC10' +}) +// oled.device.conn +const KJ3 = board.add(Hirose_FH12_30S_0_5SH_1x30_1MP_P0_50mm_Horizontal, { + translate: pt(2.956, 3.172), rotate: 0, + id: 'KJ3' +}) +// oled.lcd +const KU7 = board.add(Lcd_Er_Oled0_96_1_1_Outline, { + translate: pt(3.066, 2.634), rotate: 0, + id: 'KU7' +}) +// oled.c1_cap +const KC11 = board.add(C_0603_1608Metric, { + translate: pt(3.815, 3.007), rotate: 0, + id: 'KC11' +}) +// oled.c2_cap +const KC12 = board.add(C_0603_1608Metric, { + translate: pt(3.971, 3.007), rotate: 0, + id: 'KC12' +}) +// oled.iref_res +const KR9 = board.add(R_0603_1608Metric, { + translate: pt(3.469, 3.124), rotate: 0, + id: 'KR9' +}) +// oled.vcomh_cap.cap +const KC13 = board.add(C_0805_2012Metric, { + translate: pt(3.477, 3.017), rotate: 0, + id: 'KC13' +}) +// oled.vdd_cap1.cap +const KC14 = board.add(C_0603_1608Metric, { + translate: pt(3.624, 3.124), rotate: 0, + id: 'KC14' +}) +// oled.vbat_cap.cap +const KC15 = board.add(C_0603_1608Metric, { + translate: pt(3.780, 3.124), rotate: 0, + id: 'KC15' +}) +// oled.vcc_cap.cap +const KC16 = board.add(C_0805_2012Metric, { + translate: pt(3.650, 3.017), rotate: 0, + id: 'KC16' +}) +// rgb_shift.ic +const KU8 = board.add(SOT_23_5, { + translate: pt(4.636, 2.992), rotate: 0, + id: 'KU8' +}) +// rgb_shift.vdd_cap.cap +const KC17 = board.add(C_0603_1608Metric, { + translate: pt(4.613, 3.127), rotate: 0, + id: 'KC17' +}) +// rgb_tp.tp +const KTP6 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.062, 3.896), rotate: 0, + id: 'KTP6' +}) +// io8_pur.res +const KR10 = board.add(R_0603_1608Metric, { + translate: pt(1.555, 3.887), rotate: 0, + id: 'KR10' +}) +// spk_dac.rc.r +const KR11 = board.add(R_0603_1608Metric, { + translate: pt(5.948, 3.437), rotate: 0, + id: 'KR11' +}) +// spk_dac.rc.c +const KC18 = board.add(C_0603_1608Metric, { + translate: pt(5.948, 3.533), rotate: 0, + id: 'KC18' +}) +// spk_tp.tp +const KTP7 = board.add(TestPoint_TE_RCT_0805, { + translate: pt(1.312, 3.896), rotate: 0, + id: 'KTP7' +}) +// spk_drv.ic +const KU9 = board.add(MSOP_8_3x3mm_P0_65mm, { + translate: pt(6.180, 2.187), rotate: 0, + id: 'KU9' +}) +// spk_drv.pwr_cap0.cap +const KC19 = board.add(C_0603_1608Metric, { + translate: pt(6.286, 2.324), rotate: 0, + id: 'KC19' +}) +// spk_drv.pwr_cap1.cap +const KC20 = board.add(C_0805_2012Metric, { + translate: pt(6.121, 2.334), rotate: 0, + id: 'KC20' +}) +// spk_drv.inp_cap +const KC21 = board.add(C_0603_1608Metric, { + translate: pt(6.113, 2.441), rotate: 0, + id: 'KC21' +}) +// spk_drv.inn_cap +const KC22 = board.add(C_0603_1608Metric, { + translate: pt(6.269, 2.441), rotate: 0, + id: 'KC22' +}) +// spk.conn +const KJ4 = board.add(JST_PH_B2B_PH_K_1x02_P2_00mm_Vertical, { + translate: pt(3.995, 3.538), rotate: 0, + id: 'KJ4' +}) +// v5v_sense.div.top_res +const KR12 = board.add(R_0603_1608Metric, { + translate: pt(6.182, 3.437), rotate: 0, + id: 'KR12' +}) +// v5v_sense.div.bottom_res +const KR13 = board.add(R_0603_1608Metric, { + translate: pt(6.182, 3.533), rotate: 0, + id: 'KR13' +}) + +board.setNetlist([ + {name: "Kvusb", pads: [["KJ1", "A4"], ["KJ1", "B9"], ["KJ1", "B4"], ["KJ1", "A9"], ["KTP1", "1"], ["KU1", "3"], ["KU8", "5"], ["KD4", "2"], ["KD5", "2"], ["KD6", "2"], ["KD7", "2"], ["KD8", "2"], ["KD9", "2"], ["KD10", "2"], ["KD11", "2"], ["KD12", "2"], ["KD13", "2"], ["KD14", "2"], ["KD15", "2"], ["KD16", "2"], ["KD17", "2"], ["KD18", "2"], ["KD19", "2"], ["KD20", "2"], ["KD21", "2"], ["KD22", "2"], ["KD23", "2"], ["KD24", "2"], ["KD25", "2"], ["KD26", "2"], ["KD27", "2"], ["KD28", "2"], ["KD29", "2"], ["KD30", "2"], ["KD31", "2"], ["KD32", "2"], ["KD33", "2"], ["KD34", "2"], ["KD35", "2"], ["KD36", "2"], ["KD37", "2"], ["KU9", "1"], ["KU9", "6"], ["KR12", "1"], ["KC1", "1"], ["KC17", "1"], ["KC19", "1"], ["KC20", "1"]]}, + {name: "Kgnd", pads: [["KU3", "3"], ["KJ1", "A1"], ["KJ1", "B12"], ["KJ1", "B1"], ["KJ1", "A12"], ["KTP2", "1"], ["KU1", "1"], ["KD1", "2"], ["KU2", "1"], ["KU2", "40"], ["KU2", "41"], ["KR6", "2"], ["KR7", "2"], ["KSW1", "C"], ["KSW1", "S2"], ["KSW2", "2"], ["KSW3", "2"], ["KSW4", "2"], ["KSW5", "2"], ["KSW6", "2"], ["KSW7", "2"], ["KU4", "2"], ["KU4", "3"], ["KU5", "2"], ["KU5", "3"], ["KU5", "4"], ["KU5", "6"], ["KU5", "12"], ["KU6", "4"], ["KU6", "5"], ["KU8", "1"], ["KU8", "3"], ["KD4", "4"], ["KD5", "4"], ["KD6", "4"], ["KD7", "4"], ["KD8", "4"], ["KD9", "4"], ["KD10", "4"], ["KD11", "4"], ["KD12", "4"], ["KD13", "4"], ["KD14", "4"], ["KD15", "4"], ["KD16", "4"], ["KD17", "4"], ["KD18", "4"], ["KD19", "4"], ["KD20", "4"], ["KD21", "4"], ["KD22", "4"], ["KD23", "4"], ["KD24", "4"], ["KD25", "4"], ["KD26", "4"], ["KD27", "4"], ["KD28", "4"], ["KD29", "4"], ["KD30", "4"], ["KD31", "4"], ["KD32", "4"], ["KD33", "4"], ["KD34", "4"], ["KD35", "4"], ["KD36", "4"], ["KD37", "4"], ["KU9", "7"], ["KC18", "2"], ["KR13", "2"], ["KJ1", "S1"], ["KC7", "2"], ["KR9", "2"], ["KC22", "2"], ["KC1", "2"], ["KC2", "2"], ["KC3", "2"], ["KC4", "2"], ["KJ2", "5"], ["KC6", "2"], ["KC8", "2"], ["KC9", "2"], ["KC10", "2"], ["KC13", "2"], ["KC14", "2"], ["KC15", "2"], ["KC16", "2"], ["KC17", "2"], ["KC19", "2"], ["KC20", "2"], ["KC5", "2"], ["KR1", "1"], ["KR2", "1"], ["KJ3", "8"], ["KJ3", "1"], ["KJ3", "30"], ["KJ3", "29"], ["KJ3", "17"], ["KJ3", "16"], ["KJ3", "21"], ["KJ3", "22"], ["KJ3", "23"], ["KJ3", "24"], ["KJ3", "25"], ["KJ3", "12"], ["KJ3", "10"], ["KJ3", "15"], ["KJ3", "13"]]}, + {name: "Kv3v3", pads: [["KU1", "2"], ["KTP3", "1"], ["KD1", "1"], ["KU2", "2"], ["KU4", "1"], ["KU5", "1"], ["KU5", "11"], ["KU6", "1"], ["KR10", "1"], ["KC2", "1"], ["KR8", "1"], ["KU5", "5"], ["KC3", "1"], ["KC4", "1"], ["KJ2", "1"], ["KR4", "1"], ["KR5", "1"], ["KC6", "1"], ["KC8", "1"], ["KC9", "1"], ["KC10", "1"], ["KJ3", "9"], ["KJ3", "6"], ["KC14", "1"], ["KC15", "1"], ["KR3", "1"], ["KJ3", "11"]]}, + {name: "Ki2c_chain_0.scl", pads: [["KU2", "33"], ["KU4", "6"], ["KU5", "10"], ["KU6", "2"], ["KR4", "2"], ["KTP4", "1"], ["KJ3", "18"]]}, + {name: "Ki2c_chain_0.sda", pads: [["KU2", "32"], ["KU4", "4"], ["KU5", "9"], ["KU6", "3"], ["KR5", "2"], ["KTP5", "1"], ["KJ3", "19"], ["KJ3", "20"]]}, + {name: "Kusb_chain_0.d_P", pads: [["KJ1", "A6"], ["KJ1", "B6"], ["KU3", "2"], ["KU2", "14"]]}, + {name: "Kusb_chain_0.d_N", pads: [["KJ1", "A7"], ["KJ1", "B7"], ["KU3", "1"], ["KU2", "13"]]}, + {name: "Kledr.signal", pads: [["KU2", "25"], ["KD2", "2"]]}, + {name: "Kledy.signal", pads: [["KU2", "24"], ["KD3", "2"]]}, + {name: "Kenc.a", pads: [["KU2", "12"], ["KSW1", "A"]]}, + {name: "Kenc.b", pads: [["KU2", "11"], ["KSW1", "B"]]}, + {name: "Kenc.sw", pads: [["KU2", "31"], ["KSW1", "S1"]]}, + {name: "Ksw[0].out", pads: [["KU2", "4"], ["KSW2", "1"]]}, + {name: "Ksw[1].out", pads: [["KU2", "6"], ["KSW3", "1"]]}, + {name: "Ksw[2].out", pads: [["KU2", "7"], ["KSW4", "1"]]}, + {name: "Ksw[3].out", pads: [["KU2", "35"], ["KSW5", "1"]]}, + {name: "Ksw[4].out", pads: [["KU2", "38"], ["KSW6", "1"]]}, + {name: "Ksw[5].out", pads: [["KU2", "39"], ["KSW7", "1"]]}, + {name: "Koled.reset", pads: [["KU2", "8"], ["KJ3", "14"]]}, + {name: "Kio8_pur.io", pads: [["KU2", "10"], ["KU8", "2"], ["KR10", "2"]]}, + {name: "Krgb_shift.output", pads: [["KU8", "4"], ["KD4", "1"], ["KTP6", "1"]]}, + {name: "Krgb_knob.dout", pads: [["KD7", "3"], ["KD8", "1"]]}, + {name: "Krgb_ring.dout", pads: [["KD31", "3"], ["KD32", "1"]]}, + {name: "Kspk_dac.input", pads: [["KU2", "9"], ["KR11", "1"]]}, + {name: "Kspk_dac.output", pads: [["KTP7", "1"], ["KC21", "2"], ["KR11", "2"], ["KC18", "1"]]}, + {name: "Kspk_drv.spk.a", pads: [["KU9", "5"], ["KJ4", "1"]]}, + {name: "Kspk_drv.spk.b", pads: [["KU9", "8"], ["KJ4", "2"]]}, + {name: "Kv5v_sense.output", pads: [["KU2", "5"], ["KR12", "2"], ["KR13", "1"]]}, + {name: "Kusb.conn.cc.cc1", pads: [["KJ1", "A5"], ["KR1", "2"]]}, + {name: "Kusb.conn.cc.cc2", pads: [["KJ1", "B5"], ["KR2", "2"]]}, + {name: "Kmcu.program_uart_node.a_tx", pads: [["KU2", "37"], ["KJ2", "3"]]}, + {name: "Kmcu.program_uart_node.b_tx", pads: [["KU2", "36"], ["KJ2", "4"]]}, + {name: "Kmcu.program_en_node", pads: [["KU2", "3"], ["KJ2", "6"], ["KR3", "2"], ["KC5", "1"]]}, + {name: "Kmcu.program_boot_node", pads: [["KU2", "27"], ["KJ2", "2"]]}, + {name: "Kledr.res.a", pads: [["KR6", "1"], ["KD2", "1"]]}, + {name: "Kledy.res.a", pads: [["KR7", "1"], ["KD3", "1"]]}, + {name: "Kals.dvi_res.b", pads: [["KR8", "2"], ["KU4", "5"], ["KC7", "1"]]}, + {name: "Kdist.ic.gpio1", pads: [["KU5", "7"]]}, + {name: "Koled.c1_cap.pos", pads: [["KC11", "1"], ["KJ3", "4"]]}, + {name: "Koled.c1_cap.neg", pads: [["KC11", "2"], ["KJ3", "5"]]}, + {name: "Koled.c2_cap.pos", pads: [["KC12", "1"], ["KJ3", "2"]]}, + {name: "Koled.c2_cap.neg", pads: [["KC12", "2"], ["KJ3", "3"]]}, + {name: "Koled.iref_res.a", pads: [["KR9", "1"], ["KJ3", "26"]]}, + {name: "Koled.device.vcomh", pads: [["KJ3", "27"], ["KC13", "1"]]}, + {name: "Koled.device.vcc", pads: [["KJ3", "28"], ["KC16", "1"]]}, + {name: "Krgb_knob.led[0].dout", pads: [["KD4", "3"], ["KD5", "1"]]}, + {name: "Krgb_knob.led[1].dout", pads: [["KD5", "3"], ["KD6", "1"]]}, + {name: "Krgb_knob.led[2].dout", pads: [["KD6", "3"], ["KD7", "1"]]}, + {name: "Krgb_ring.led[0].dout", pads: [["KD8", "3"], ["KD9", "1"]]}, + {name: "Krgb_ring.led[1].dout", pads: [["KD9", "3"], ["KD10", "1"]]}, + {name: "Krgb_ring.led[2].dout", pads: [["KD10", "3"], ["KD11", "1"]]}, + {name: "Krgb_ring.led[3].dout", pads: [["KD11", "3"], ["KD12", "1"]]}, + {name: "Krgb_ring.led[4].dout", pads: [["KD12", "3"], ["KD13", "1"]]}, + {name: "Krgb_ring.led[5].dout", pads: [["KD13", "3"], ["KD14", "1"]]}, + {name: "Krgb_ring.led[6].dout", pads: [["KD14", "3"], ["KD15", "1"]]}, + {name: "Krgb_ring.led[7].dout", pads: [["KD15", "3"], ["KD16", "1"]]}, + {name: "Krgb_ring.led[8].dout", pads: [["KD16", "3"], ["KD17", "1"]]}, + {name: "Krgb_ring.led[9].dout", pads: [["KD17", "3"], ["KD18", "1"]]}, + {name: "Krgb_ring.led[10].dout", pads: [["KD18", "3"], ["KD19", "1"]]}, + {name: "Krgb_ring.led[11].dout", pads: [["KD19", "3"], ["KD20", "1"]]}, + {name: "Krgb_ring.led[12].dout", pads: [["KD20", "3"], ["KD21", "1"]]}, + {name: "Krgb_ring.led[13].dout", pads: [["KD21", "3"], ["KD22", "1"]]}, + {name: "Krgb_ring.led[14].dout", pads: [["KD22", "3"], ["KD23", "1"]]}, + {name: "Krgb_ring.led[15].dout", pads: [["KD23", "3"], ["KD24", "1"]]}, + {name: "Krgb_ring.led[16].dout", pads: [["KD24", "3"], ["KD25", "1"]]}, + {name: "Krgb_ring.led[17].dout", pads: [["KD25", "3"], ["KD26", "1"]]}, + {name: "Krgb_ring.led[18].dout", pads: [["KD26", "3"], ["KD27", "1"]]}, + {name: "Krgb_ring.led[19].dout", pads: [["KD27", "3"], ["KD28", "1"]]}, + {name: "Krgb_ring.led[20].dout", pads: [["KD28", "3"], ["KD29", "1"]]}, + {name: "Krgb_ring.led[21].dout", pads: [["KD29", "3"], ["KD30", "1"]]}, + {name: "Krgb_ring.led[22].dout", pads: [["KD30", "3"], ["KD31", "1"]]}, + {name: "Krgb_sw.led[0].dout", pads: [["KD32", "3"], ["KD33", "1"]]}, + {name: "Krgb_sw.led[1].dout", pads: [["KD33", "3"], ["KD34", "1"]]}, + {name: "Krgb_sw.led[2].dout", pads: [["KD34", "3"], ["KD35", "1"]]}, + {name: "Krgb_sw.led[3].dout", pads: [["KD35", "3"], ["KD36", "1"]]}, + {name: "Krgb_sw.led[4].dout", pads: [["KD36", "3"], ["KD37", "1"]]}, + {name: "Krgb_sw.dout", pads: [["KD37", "3"]]}, + {name: "Kspk_drv.inp_cap.pos", pads: [["KC21", "1"], ["KU9", "3"]]}, + {name: "Kspk_drv.inn_cap.pos", pads: [["KC22", "1"], ["KU9", "4"]]} +]) + +const limit0 = pt(-0.07874015748031496, -0.07874015748031496); +const limit1 = pt(6.4622047244094505, 4.0511811023622055); +const xMin = Math.min(limit0[0], limit1[0]); +const xMax = Math.max(limit0[0], limit1[0]); +const yMin = Math.min(limit0[1], limit1[1]); +const yMax = Math.max(limit0[1], limit1[1]); + +const filletRadius = 0.1; +const outline = path( + [(xMin+xMax/2), yMax], + ["fillet", filletRadius, [xMax, yMax]], + ["fillet", filletRadius, [xMax, yMin]], + ["fillet", filletRadius, [xMin, yMin]], + ["fillet", filletRadius, [xMin, yMax]], + [(xMin+xMax/2), yMax], +); +board.addShape("outline", outline); + +renderPCB({ + pcb: board, + layerColors: { + "F.Paste": "#000000ff", + "F.Mask": "#000000ff", + "B.Mask": "#000000ff", + "componentLabels": "#00e5e5e5", + "outline": "#002d00ff", + "padLabels": "#ffff99e5", + "B.Cu": "#ef4e4eff", + "F.Cu": "#ff8c00cc", + }, + limits: { + x: [xMin, xMax], + y: [yMin, yMax] + }, + background: "#00000000", + mmPerUnit: 25.4 +}) + +function NeopixelArrayCircular_4_rgb_knob(xy, rot=90, radius=1, startAngle=0, endAngle=360, powerRadiusOffset=0.2) { + const kCount = 4 + + // Global params + const traceWidth = 0.015 + const powerWidth = 0.05 + const viaTemplate = via(0.02, 0.035) + + // Return object + const obj = { + footprints: {}, + pts: {} + } + + // Helper functions + const degToRad = Math.PI / 180 // multiply by degrees to get radians + function pAdd(pt1, delta) { // adds two points + return pt1.map((e,i) => e + delta[i]) + } + function pDiff(pos, neg) { // return the difference between two points + return pos.map((e,i) => e - neg[i]) + } + function pCenter(pt1, pt2) { // returns the midpoint + return pt1.map((e,i) => (e + pt2[i]) / 2) + } + function vRotate(v, deg) { // returns a vector rotated by some amount + return [ + Math.cos(deg * degToRad) * v[0] - Math.sin(deg * degToRad) * v[1], + Math.sin(deg * degToRad) * v[0] + Math.cos(deg * degToRad) * v[1], + ] + } + function vScale(v, scale) { // returns a vector scaled by some factor + return v.map((e,i) => (e * scale)) + } + function vProject(v, ref) { // returns the projection of v onto a reference vector + const aDotb = v[0]*ref[0] + v[1]*ref[1] + const bDotb = ref[0]*ref[0] + ref[1]*ref[1] + return vScale(ref, aDotb / bDotb) + } + function smoothPath(pt1, pt2, pt1Angle, pt2Angle=null) { // return the path(...) components for a curve between two points, with entry and exit slope + function degToVector(deg, len=1) { // given a slope in degrees, convert it to a vector + return [Math.cos(deg * Math.PI / 180) * len, Math.sin(deg * Math.PI / 180) * len] + } + if (pt2Angle == null) { + pt2Angle = pt1Angle + } + const pt1Projection = vProject(pDiff(pt2, pt1), degToVector(pt1Angle)) + const pt2Projection = vProject(pDiff(pt2, pt1), degToVector(pt2Angle)) + return [ + pt1, + ["cubic", + pAdd(pt1, vScale(pt1Projection, 0.33)), + pCenter(pAdd(pt1, vScale(pt1Projection, 0.33)), pDiff(pt2, vScale(pt2Projection, 0.33))), + pDiff(pt2, vScale(pt2Projection, 0.33)), + ], + pt2 + ] + } + + const incrAngle = (endAngle - startAngle) / (kCount) + + var prevAngle = null + var prevLed = null + var prevGndOrigin = null + var prevVinOrigin = null + + for (i=0; i e + delta[i]) + } + function pDiff(pos, neg) { // return the difference between two points + return pos.map((e,i) => e - neg[i]) + } + function pCenter(pt1, pt2) { // returns the midpoint + return pt1.map((e,i) => (e + pt2[i]) / 2) + } + function vRotate(v, deg) { // returns a vector rotated by some amount + return [ + Math.cos(deg * degToRad) * v[0] - Math.sin(deg * degToRad) * v[1], + Math.sin(deg * degToRad) * v[0] + Math.cos(deg * degToRad) * v[1], + ] + } + function vScale(v, scale) { // returns a vector scaled by some factor + return v.map((e,i) => (e * scale)) + } + function vProject(v, ref) { // returns the projection of v onto a reference vector + const aDotb = v[0]*ref[0] + v[1]*ref[1] + const bDotb = ref[0]*ref[0] + ref[1]*ref[1] + return vScale(ref, aDotb / bDotb) + } + function smoothPath(pt1, pt2, pt1Angle, pt2Angle=null) { // return the path(...) components for a curve between two points, with entry and exit slope + function degToVector(deg, len=1) { // given a slope in degrees, convert it to a vector + return [Math.cos(deg * Math.PI / 180) * len, Math.sin(deg * Math.PI / 180) * len] + } + if (pt2Angle == null) { + pt2Angle = pt1Angle + } + const pt1Projection = vProject(pDiff(pt2, pt1), degToVector(pt1Angle)) + const pt2Projection = vProject(pDiff(pt2, pt1), degToVector(pt2Angle)) + return [ + pt1, + ["cubic", + pAdd(pt1, vScale(pt1Projection, 0.33)), + pCenter(pAdd(pt1, vScale(pt1Projection, 0.33)), pDiff(pt2, vScale(pt2Projection, 0.33))), + pDiff(pt2, vScale(pt2Projection, 0.33)), + ], + pt2 + ] + } + + const incrAngle = (endAngle - startAngle) / (kCount) + + var prevAngle = null + var prevLed = null + var prevGndOrigin = null + var prevVinOrigin = null + + for (i=0; i e + delta[i]) + } + function pDiff(pos, neg) { // return the difference between two points + return pos.map((e,i) => e - neg[i]) + } + function pCenter(pt1, pt2) { // returns the midpoint + return pt1.map((e,i) => (e + pt2[i]) / 2) + } + function vRotate(v, deg) { // returns a vector rotated by some amount + return [ + Math.cos(deg * degToRad) * v[0] - Math.sin(deg * degToRad) * v[1], + Math.sin(deg * degToRad) * v[0] + Math.cos(deg * degToRad) * v[1], + ] + } + function vScale(v, scale) { // returns a vector scaled by some factor + return v.map((e,i) => (e * scale)) + } + function vProject(v, ref) { // returns the projection of v onto a reference vector + const aDotb = v[0]*ref[0] + v[1]*ref[1] + const bDotb = ref[0]*ref[0] + ref[1]*ref[1] + return vScale(ref, aDotb / bDotb) + } + function smoothPath(pt1, pt2, pt1Angle, pt2Angle=null) { // return the path(...) components for a curve between two points, with entry and exit slope + function degToVector(deg, len=1) { // given a slope in degrees, convert it to a vector + return [Math.cos(deg * Math.PI / 180) * len, Math.sin(deg * Math.PI / 180) * len] + } + if (pt2Angle == null) { + pt2Angle = pt1Angle + } + const pt1Projection = vProject(pDiff(pt2, pt1), degToVector(pt1Angle)) + const pt2Projection = vProject(pDiff(pt2, pt1), degToVector(pt2Angle)) + return [ + pt1, + ["cubic", + pAdd(pt1, vScale(pt1Projection, 0.33)), + pCenter(pAdd(pt1, vScale(pt1Projection, 0.33)), pDiff(pt2, vScale(pt2Projection, 0.33))), + pDiff(pt2, vScale(pt2Projection, 0.33)), + ], + pt2 + ] + } + + const incrAngle = (endAngle - startAngle) / (kCount) + + var prevAngle = null + var prevLed = null + var prevGndOrigin = null + var prevVinOrigin = null + + for (i=0; i column common line + colWirePoint = [buttonPos[0], button.padY("2")] + board.wire([colWirePoint, button.pad("2")], traceSize, "F.Cu") + colWirePoints.push(colWirePoint) + + // create wire for button -> diode + board.wire([button.pad("1"), diode.pad("1")], traceSize, "F.Cu") + diodeViaPos = [diode.padX("2"), buttonPos[1] + rowSpacing / 2] + diodeVia = board.add(viaTemplate, {translate: diodeViaPos}) + board.wire([diode.pad("2"), diodeVia.pos], traceSize) + + if (rowDiodeVias.length > 0) { + board.wire([rowDiodeVias[rowDiodeVias.length - 1].pos, diodeVia.pos], traceSize, "B.Cu") + } + rowDiodeVias.push(diodeVia) + } + allColWirePoints.push(colWirePoints) + } + + // Inter-row wiring + for (let xIndex=0; xIndex < allColWirePoints[0].length; xIndex++) { + board.wire([ + allColWirePoints[0][xIndex], + allColWirePoints[allColWirePoints.length - 1][xIndex] + ], traceSize, "F.Cu") + } + + return obj +} + diff --git a/examples/LedMatrix/LedMatrix.net b/examples/LedMatrix/LedMatrix.net new file mode 100644 index 000000000..062b4fb3c --- /dev/null +++ b/examples/LedMatrix/LedMatrix.net @@ -0,0 +1,834 @@ +(export (version D) +(components +(comp (ref "H1") + (value "jlc_th.th1") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th1")) + (property (name "edg_short_path") (value "jlc_th.th1")) + (property (name "edg_refdes") (value "H1")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "0260010e")) +(comp (ref "H2") + (value "jlc_th.th2") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th2")) + (property (name "edg_short_path") (value "jlc_th.th2")) + (property (name "edg_refdes") (value "H2")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "0261010f")) +(comp (ref "H3") + (value "jlc_th.th3") + (footprint "edg:JlcToolingHole_1.152mm") + (property (name "Sheetname") (value "jlc_th")) + (property (name "Sheetfile") (value "edg.BoardTop.JlcToolingHoles")) + (property (name "edg_path") (value "jlc_th.th3")) + (property (name "edg_short_path") (value "jlc_th.th3")) + (property (name "edg_refdes") (value "H3")) + (property (name "edg_part") (value "")) + (property (name "edg_value") (value "")) + (sheetpath (names "/jlc_th/") (tstamps "/08970275/")) + (tstamps "02620110")) +(comp (ref "J1") + (value "usb.conn") + (footprint "Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11") + (property (name "Sheetname") (value "usb")) + (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCReceptacle")) + (property (name "edg_path") (value "usb.conn")) + (property (name "edg_short_path") (value "usb.conn")) + (property (name "edg_refdes") (value "J1")) + (property (name "edg_part") (value "COM-15111 (Sparkfun)")) + (property (name "edg_value") (value "COM-15111")) + (sheetpath (names "/usb/") (tstamps "/02aa014b/")) + (tstamps "042701af")) +(comp (ref "R1") + (value "usb.cc_pull.cc1") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "cc_pull")) + (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) + (property (name "edg_path") (value "usb.cc_pull.cc1.res")) + (property (name "edg_short_path") (value "usb.cc_pull.cc1")) + (property (name "edg_refdes") (value "R1")) + (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/usb/cc_pull/") (tstamps "/02aa014b/0b4c02e3/")) + (tstamps "022300f8")) +(comp (ref "R2") + (value "usb.cc_pull.cc2") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "cc_pull")) + (property (name "Sheetfile") (value "edg.parts.UsbPorts.UsbCcPulldownResistor")) + (property (name "edg_path") (value "usb.cc_pull.cc2.res")) + (property (name "edg_short_path") (value "usb.cc_pull.cc2")) + (property (name "edg_refdes") (value "R2")) + (property (name "edg_part") (value "0603WAF5101T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 5.1kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/usb/cc_pull/") (tstamps "/02aa014b/0b4c02e3/")) + (tstamps "022400f9")) +(comp (ref "TP1") + (value "vusb") + (footprint "TestPoint:TestPoint_Keystone_5015_Micro-Minature") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_vusb.tp")) + (property (name "edg_short_path") (value "tp_vusb")) + (property (name "edg_refdes") (value "TP1")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "vusb")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0c2d0304")) +(comp (ref "TP2") + (value "gnd") + (footprint "TestPoint:TestPoint_Keystone_5015_Micro-Minature") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_gnd.tp")) + (property (name "edg_short_path") (value "tp_gnd")) + (property (name "edg_refdes") (value "TP2")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "gnd")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "08df027d")) +(comp (ref "U1") + (value "reg_3v3.ic") + (footprint "Package_TO_SOT_SMD:SOT-223-3_TabPin2") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) + (property (name "edg_path") (value "reg_3v3.ic")) + (property (name "edg_short_path") (value "reg_3v3.ic")) + (property (name "edg_refdes") (value "U1")) + (property (name "edg_part") (value "LDL1117S33R (STMicroelectronics)")) + (property (name "edg_value") (value "LDL1117S33R")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "013700cd")) +(comp (ref "C1") + (value "reg_3v3.in_cap") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) + (property (name "edg_path") (value "reg_3v3.in_cap.cap")) + (property (name "edg_short_path") (value "reg_3v3.in_cap")) + (property (name "edg_refdes") (value "C1")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "0879026b")) +(comp (ref "C2") + (value "reg_3v3.out_cap") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "reg_3v3")) + (property (name "Sheetfile") (value "edg.parts.LinearRegulators.Ldl1117")) + (property (name "edg_path") (value "reg_3v3.out_cap.cap")) + (property (name "edg_short_path") (value "reg_3v3.out_cap")) + (property (name "edg_refdes") (value "C2")) + (property (name "edg_part") (value "CL21A475KAQNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "25V 4.7uF X5R ±10% 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/reg_3v3/") (tstamps "/0aba027a/")) + (tstamps "0be902ec")) +(comp (ref "TP3") + (value "v3v3") + (footprint "TestPoint:TestPoint_Keystone_5015_Micro-Minature") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "tp_3v3.tp")) + (property (name "edg_short_path") (value "tp_3v3")) + (property (name "edg_refdes") (value "TP3")) + (property (name "edg_part") (value "5015 (Keystone)")) + (property (name "edg_value") (value "v3v3")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "08220220")) +(comp (ref "D1") + (value "prot_3v3") + (footprint "Diode_SMD:D_SOD-323") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "prot_3v3.diode")) + (property (name "edg_short_path") (value "prot_3v3")) + (property (name "edg_refdes") (value "D1")) + (property (name "edg_part") (value "BZT52B3V6S (SMC(Sangdest Microelectronicstronic (Nanjing)))")) + (property (name "edg_value") (value "5μA@1V 90Ω Single 3.53V~3.67V 200mW 3.6V SOD-323 Zener Diodes ROHS")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "0eb80301")) +(comp (ref "U2") + (value "mcu.ic") + (footprint "RF_Module:ESP-WROOM-02") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3_Wroom02")) + (property (name "edg_path") (value "mcu.ic")) + (property (name "edg_short_path") (value "mcu.ic")) + (property (name "edg_refdes") (value "U2")) + (property (name "edg_part") (value "ESP32-C3-WROOM-02 (Espressif Systems)")) + (property (name "edg_value") (value "ESP32-C3-WROOM-02")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "013700cd")) +(comp (ref "C3") + (value "mcu.vcc_cap0") + (footprint "Capacitor_SMD:C_0805_2012Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3_Wroom02")) + (property (name "edg_path") (value "mcu.vcc_cap0.cap")) + (property (name "edg_short_path") (value "mcu.vcc_cap0")) + (property (name "edg_refdes") (value "C3")) + (property (name "edg_part") (value "CL21A106KAYNNNE (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "X5R 25V ±10% 10uF 0805 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "0e590300")) +(comp (ref "C4") + (value "mcu.vcc_cap1") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3_Wroom02")) + (property (name "edg_path") (value "mcu.vcc_cap1.cap")) + (property (name "edg_short_path") (value "mcu.vcc_cap1")) + (property (name "edg_refdes") (value "C4")) + (property (name "edg_part") (value "CC0603KRX7R9BB104 (YAGEO)")) + (property (name "edg_value") (value "50V 100nF X7R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "0e5a0301")) +(comp (ref "J2") + (value "mcu.prog") + (footprint "Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3_Wroom02")) + (property (name "edg_path") (value "mcu.prog.conn")) + (property (name "edg_short_path") (value "mcu.prog")) + (property (name "edg_refdes") (value "J2")) + (property (name "edg_part") (value "PinHeader2.54 1x4 (Generic)")) + (property (name "edg_value") (value "PinHeader2.54 1x4")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "045f01b9")) +(comp (ref "SW1") + (value "mcu.boot") + (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") + (property (name "Sheetname") (value "mcu")) + (property (name "Sheetfile") (value "edg.parts.Microcontroller_Esp32c3.Esp32c3_Wroom02")) + (property (name "edg_path") (value "mcu.boot.package")) + (property (name "edg_short_path") (value "mcu.boot")) + (property (name "edg_refdes") (value "SW1")) + (property (name "edg_part") (value "5.1mm switch")) + (property (name "edg_value") (value "5.1mm switch")) + (sheetpath (names "/mcu/") (tstamps "/02850146/")) + (tstamps "042b01b5")) +(comp (ref "R3") + (value "mcu.en_pull.r") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "en_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) + (property (name "edg_path") (value "mcu.en_pull.rc.r")) + (property (name "edg_short_path") (value "mcu.en_pull.r")) + (property (name "edg_refdes") (value "R3")) + (property (name "edg_part") (value "0603WAF1002T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 10kΩ 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) + (tstamps "00730073")) +(comp (ref "C5") + (value "mcu.en_pull.c") + (footprint "Capacitor_SMD:C_0603_1608Metric") + (property (name "Sheetname") (value "en_pull")) + (property (name "Sheetfile") (value "edg.abstract_parts.PassiveFilters.PullupDelayRc")) + (property (name "edg_path") (value "mcu.en_pull.rc.c")) + (property (name "edg_short_path") (value "mcu.en_pull.c")) + (property (name "edg_refdes") (value "C5")) + (property (name "edg_part") (value "CL10A105KB8NNNC (Samsung Electro-Mechanics)")) + (property (name "edg_value") (value "50V 1uF X5R ±10% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHS")) + (sheetpath (names "/mcu/en_pull/") (tstamps "/02850146/0b9c02f0/")) + (tstamps "00640064")) +(comp (ref "SW2") + (value "sw1") + (footprint "Button_Switch_SMD:SW_SPST_SKQG_WithoutStem") + (property (name "Sheetname") (value "")) + (property (name "Sheetfile") (value "")) + (property (name "edg_path") (value "sw1.package")) + (property (name "edg_short_path") (value "sw1")) + (property (name "edg_refdes") (value "SW2")) + (property (name "edg_part") (value "5.1mm switch")) + (property (name "edg_value") (value "5.1mm switch")) + (sheetpath (names "/") (tstamps "/")) + (tstamps "027b011c")) +(comp (ref "R4") + (value "matrix.res[0]") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.res[0]")) + (property (name "edg_short_path") (value "matrix.res[0]")) + (property (name "edg_refdes") (value "R4")) + (property (name "edg_part") (value "0603WAF8200T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 820Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "08450233")) +(comp (ref "D2") + (value "matrix.led[0_0]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[0_0]")) + (property (name "edg_short_path") (value "matrix.led[0_0]")) + (property (name "edg_refdes") (value "D2")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0ce402ad")) +(comp (ref "D3") + (value "matrix.led[1_0]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[1_0]")) + (property (name "edg_short_path") (value "matrix.led[1_0]")) + (property (name "edg_refdes") (value "D3")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0ce802ae")) +(comp (ref "D4") + (value "matrix.led[2_0]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[2_0]")) + (property (name "edg_short_path") (value "matrix.led[2_0]")) + (property (name "edg_refdes") (value "D4")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cec02af")) +(comp (ref "D5") + (value "matrix.led[3_0]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[3_0]")) + (property (name "edg_short_path") (value "matrix.led[3_0]")) + (property (name "edg_refdes") (value "D5")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cf002b0")) +(comp (ref "D6") + (value "matrix.led[4_0]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[4_0]")) + (property (name "edg_short_path") (value "matrix.led[4_0]")) + (property (name "edg_refdes") (value "D6")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cf402b1")) +(comp (ref "D7") + (value "matrix.led[5_0]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[5_0]")) + (property (name "edg_short_path") (value "matrix.led[5_0]")) + (property (name "edg_refdes") (value "D7")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cf802b2")) +(comp (ref "R5") + (value "matrix.res[1]") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.res[1]")) + (property (name "edg_short_path") (value "matrix.res[1]")) + (property (name "edg_refdes") (value "R5")) + (property (name "edg_part") (value "0603WAF8200T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 820Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "08470234")) +(comp (ref "D8") + (value "matrix.led[0_1]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[0_1]")) + (property (name "edg_short_path") (value "matrix.led[0_1]")) + (property (name "edg_refdes") (value "D8")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0ce602ae")) +(comp (ref "D9") + (value "matrix.led[1_1]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[1_1]")) + (property (name "edg_short_path") (value "matrix.led[1_1]")) + (property (name "edg_refdes") (value "D9")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cea02af")) +(comp (ref "D10") + (value "matrix.led[2_1]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[2_1]")) + (property (name "edg_short_path") (value "matrix.led[2_1]")) + (property (name "edg_refdes") (value "D10")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cee02b0")) +(comp (ref "D11") + (value "matrix.led[3_1]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[3_1]")) + (property (name "edg_short_path") (value "matrix.led[3_1]")) + (property (name "edg_refdes") (value "D11")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cf202b1")) +(comp (ref "D12") + (value "matrix.led[4_1]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[4_1]")) + (property (name "edg_short_path") (value "matrix.led[4_1]")) + (property (name "edg_refdes") (value "D12")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cf602b2")) +(comp (ref "D13") + (value "matrix.led[5_1]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[5_1]")) + (property (name "edg_short_path") (value "matrix.led[5_1]")) + (property (name "edg_refdes") (value "D13")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cfa02b3")) +(comp (ref "R6") + (value "matrix.res[2]") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.res[2]")) + (property (name "edg_short_path") (value "matrix.res[2]")) + (property (name "edg_refdes") (value "R6")) + (property (name "edg_part") (value "0603WAF8200T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 820Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "08490235")) +(comp (ref "D14") + (value "matrix.led[0_2]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[0_2]")) + (property (name "edg_short_path") (value "matrix.led[0_2]")) + (property (name "edg_refdes") (value "D14")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0ce802af")) +(comp (ref "D15") + (value "matrix.led[1_2]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[1_2]")) + (property (name "edg_short_path") (value "matrix.led[1_2]")) + (property (name "edg_refdes") (value "D15")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cec02b0")) +(comp (ref "D16") + (value "matrix.led[2_2]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[2_2]")) + (property (name "edg_short_path") (value "matrix.led[2_2]")) + (property (name "edg_refdes") (value "D16")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cf002b1")) +(comp (ref "D17") + (value "matrix.led[3_2]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[3_2]")) + (property (name "edg_short_path") (value "matrix.led[3_2]")) + (property (name "edg_refdes") (value "D17")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cf402b2")) +(comp (ref "D18") + (value "matrix.led[4_2]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[4_2]")) + (property (name "edg_short_path") (value "matrix.led[4_2]")) + (property (name "edg_refdes") (value "D18")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cf802b3")) +(comp (ref "D19") + (value "matrix.led[5_2]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[5_2]")) + (property (name "edg_short_path") (value "matrix.led[5_2]")) + (property (name "edg_refdes") (value "D19")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cfc02b4")) +(comp (ref "R7") + (value "matrix.res[3]") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.res[3]")) + (property (name "edg_short_path") (value "matrix.res[3]")) + (property (name "edg_refdes") (value "R7")) + (property (name "edg_part") (value "0603WAF8200T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 820Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "084b0236")) +(comp (ref "D20") + (value "matrix.led[0_3]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[0_3]")) + (property (name "edg_short_path") (value "matrix.led[0_3]")) + (property (name "edg_refdes") (value "D20")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cea02b0")) +(comp (ref "D21") + (value "matrix.led[1_3]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[1_3]")) + (property (name "edg_short_path") (value "matrix.led[1_3]")) + (property (name "edg_refdes") (value "D21")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cee02b1")) +(comp (ref "D22") + (value "matrix.led[2_3]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[2_3]")) + (property (name "edg_short_path") (value "matrix.led[2_3]")) + (property (name "edg_refdes") (value "D22")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cf202b2")) +(comp (ref "D23") + (value "matrix.led[3_3]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[3_3]")) + (property (name "edg_short_path") (value "matrix.led[3_3]")) + (property (name "edg_refdes") (value "D23")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cf602b3")) +(comp (ref "D24") + (value "matrix.led[4_3]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[4_3]")) + (property (name "edg_short_path") (value "matrix.led[4_3]")) + (property (name "edg_refdes") (value "D24")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cfa02b4")) +(comp (ref "D25") + (value "matrix.led[5_3]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[5_3]")) + (property (name "edg_short_path") (value "matrix.led[5_3]")) + (property (name "edg_refdes") (value "D25")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cfe02b5")) +(comp (ref "R8") + (value "matrix.res[4]") + (footprint "Resistor_SMD:R_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.res[4]")) + (property (name "edg_short_path") (value "matrix.res[4]")) + (property (name "edg_refdes") (value "R8")) + (property (name "edg_part") (value "0603WAF8200T5E (UNI-ROYAL(Uniroyal Elec))")) + (property (name "edg_value") (value "±1% 1/10W Thick Film Resistors 75V ±100ppm/℃ -55℃~+155℃ 820Ω 0603 Chip Resistor - Surface Mount ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "084d0237")) +(comp (ref "D26") + (value "matrix.led[0_4]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[0_4]")) + (property (name "edg_short_path") (value "matrix.led[0_4]")) + (property (name "edg_refdes") (value "D26")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cec02b1")) +(comp (ref "D27") + (value "matrix.led[1_4]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[1_4]")) + (property (name "edg_short_path") (value "matrix.led[1_4]")) + (property (name "edg_refdes") (value "D27")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cf002b2")) +(comp (ref "D28") + (value "matrix.led[2_4]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[2_4]")) + (property (name "edg_short_path") (value "matrix.led[2_4]")) + (property (name "edg_refdes") (value "D28")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cf402b3")) +(comp (ref "D29") + (value "matrix.led[3_4]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[3_4]")) + (property (name "edg_short_path") (value "matrix.led[3_4]")) + (property (name "edg_refdes") (value "D29")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cf802b4")) +(comp (ref "D30") + (value "matrix.led[4_4]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[4_4]")) + (property (name "edg_short_path") (value "matrix.led[4_4]")) + (property (name "edg_refdes") (value "D30")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0cfc02b5")) +(comp (ref "D31") + (value "matrix.led[5_4]") + (footprint "LED_SMD:LED_0603_1608Metric") + (property (name "Sheetname") (value "matrix")) + (property (name "Sheetfile") (value "edg.parts.LedMatrix.CharlieplexedLedMatrix")) + (property (name "edg_path") (value "matrix.led[5_4]")) + (property (name "edg_short_path") (value "matrix.led[5_4]")) + (property (name "edg_refdes") (value "D31")) + (property (name "edg_part") (value "19-213/Y2C-CQ2R2L/3T(CY) (Everlight Elec)")) + (property (name "edg_value") (value "20mA 180mcd 2.3V 591nm Colorless transparence -40℃~+85℃ 585.5nm~591.5nm yellow 120° 60mW 0603 Light Emitting Diodes (LED) ROHS")) + (sheetpath (names "/matrix/") (tstamps "/08e90296/")) + (tstamps "0d0002b6"))) +(nets +(net (code 1) (name "vusb") + (node (ref J1) (pin A4)) + (node (ref J1) (pin B9)) + (node (ref J1) (pin B4)) + (node (ref J1) (pin A9)) + (node (ref TP1) (pin 1)) + (node (ref U1) (pin 3)) + (node (ref C1) (pin 1))) +(net (code 2) (name "gnd") + (node (ref J1) (pin A1)) + (node (ref J1) (pin B12)) + (node (ref J1) (pin B1)) + (node (ref J1) (pin A12)) + (node (ref TP2) (pin 1)) + (node (ref U1) (pin 1)) + (node (ref D1) (pin 2)) + (node (ref U2) (pin 9)) + (node (ref U2) (pin 19)) + (node (ref SW2) (pin 2)) + (node (ref J1) (pin S1)) + (node (ref C1) (pin 2)) + (node (ref C2) (pin 2)) + (node (ref C3) (pin 2)) + (node (ref C4) (pin 2)) + (node (ref J2) (pin 4)) + (node (ref SW1) (pin 2)) + (node (ref C5) (pin 2)) + (node (ref R1) (pin 1)) + (node (ref R2) (pin 1))) +(net (code 3) (name "v3v3") + (node (ref U1) (pin 2)) + (node (ref TP3) (pin 1)) + (node (ref D1) (pin 1)) + (node (ref U2) (pin 1)) + (node (ref C2) (pin 1)) + (node (ref U2) (pin 7)) + (node (ref U2) (pin 16)) + (node (ref C3) (pin 1)) + (node (ref C4) (pin 1)) + (node (ref J2) (pin 1)) + (node (ref R3) (pin 1))) +(net (code 4) (name "sw1.out") + (node (ref U2) (pin 18)) + (node (ref SW2) (pin 1))) +(net (code 5) (name "mcu.gpio.led_0") + (node (ref U2) (pin 3)) + (node (ref R4) (pin 2)) + (node (ref D8) (pin 2)) + (node (ref D14) (pin 2)) + (node (ref D20) (pin 2)) + (node (ref D26) (pin 2))) +(net (code 6) (name "mcu.gpio.led_1") + (node (ref U2) (pin 4)) + (node (ref D2) (pin 2)) + (node (ref R5) (pin 2)) + (node (ref D15) (pin 2)) + (node (ref D21) (pin 2)) + (node (ref D27) (pin 2))) +(net (code 7) (name "mcu.gpio.led_2") + (node (ref U2) (pin 5)) + (node (ref D3) (pin 2)) + (node (ref D9) (pin 2)) + (node (ref R6) (pin 2)) + (node (ref D22) (pin 2)) + (node (ref D28) (pin 2))) +(net (code 8) (name "mcu.gpio.led_3") + (node (ref U2) (pin 6)) + (node (ref D4) (pin 2)) + (node (ref D10) (pin 2)) + (node (ref D16) (pin 2)) + (node (ref R7) (pin 2)) + (node (ref D29) (pin 2))) +(net (code 9) (name "mcu.gpio.led_4") + (node (ref U2) (pin 17)) + (node (ref D5) (pin 2)) + (node (ref D11) (pin 2)) + (node (ref D17) (pin 2)) + (node (ref D23) (pin 2)) + (node (ref R8) (pin 2))) +(net (code 10) (name "mcu.gpio.led_5") + (node (ref U2) (pin 15)) + (node (ref D6) (pin 2)) + (node (ref D12) (pin 2)) + (node (ref D18) (pin 2)) + (node (ref D24) (pin 2)) + (node (ref D30) (pin 2))) +(net (code 11) (name "mcu.gpio.led_6") + (node (ref U2) (pin 10)) + (node (ref D7) (pin 2)) + (node (ref D13) (pin 2)) + (node (ref D19) (pin 2)) + (node (ref D25) (pin 2)) + (node (ref D31) (pin 2))) +(net (code 12) (name "usb.usb.dp") + (node (ref J1) (pin A6)) + (node (ref J1) (pin B6))) +(net (code 13) (name "usb.usb.dm") + (node (ref J1) (pin A7)) + (node (ref J1) (pin B7))) +(net (code 14) (name "usb.conn.cc.cc1") + (node (ref J1) (pin A5)) + (node (ref R1) (pin 2))) +(net (code 15) (name "usb.conn.cc.cc2") + (node (ref J1) (pin B5)) + (node (ref R2) (pin 2))) +(net (code 16) (name "mcu.program_uart_node.a_tx") + (node (ref U2) (pin 12)) + (node (ref J2) (pin 2))) +(net (code 17) (name "mcu.program_uart_node.b_tx") + (node (ref U2) (pin 11)) + (node (ref J2) (pin 3))) +(net (code 18) (name "mcu.program_en_node") + (node (ref U2) (pin 2)) + (node (ref R3) (pin 2)) + (node (ref C5) (pin 1))) +(net (code 19) (name "mcu.program_boot_node") + (node (ref U2) (pin 8)) + (node (ref SW1) (pin 1))) +(net (code 20) (name "matrix.led[0_0].k") + (node (ref D2) (pin 1)) + (node (ref R4) (pin 1)) + (node (ref D3) (pin 1)) + (node (ref D4) (pin 1)) + (node (ref D5) (pin 1)) + (node (ref D6) (pin 1)) + (node (ref D7) (pin 1))) +(net (code 21) (name "matrix.led[0_1].k") + (node (ref D8) (pin 1)) + (node (ref R5) (pin 1)) + (node (ref D9) (pin 1)) + (node (ref D10) (pin 1)) + (node (ref D11) (pin 1)) + (node (ref D12) (pin 1)) + (node (ref D13) (pin 1))) +(net (code 22) (name "matrix.led[0_2].k") + (node (ref D14) (pin 1)) + (node (ref R6) (pin 1)) + (node (ref D15) (pin 1)) + (node (ref D16) (pin 1)) + (node (ref D17) (pin 1)) + (node (ref D18) (pin 1)) + (node (ref D19) (pin 1))) +(net (code 23) (name "matrix.led[0_3].k") + (node (ref D20) (pin 1)) + (node (ref R7) (pin 1)) + (node (ref D21) (pin 1)) + (node (ref D22) (pin 1)) + (node (ref D23) (pin 1)) + (node (ref D24) (pin 1)) + (node (ref D25) (pin 1))) +(net (code 24) (name "matrix.led[0_4].k") + (node (ref D26) (pin 1)) + (node (ref R8) (pin 1)) + (node (ref D27) (pin 1)) + (node (ref D28) (pin 1)) + (node (ref D29) (pin 1)) + (node (ref D30) (pin 1)) + (node (ref D31) (pin 1)))) +) \ No newline at end of file diff --git a/examples/LedMatrix/LedMatrix.svgpcb.js b/examples/LedMatrix/LedMatrix.svgpcb.js new file mode 100644 index 000000000..f60d551e9 --- /dev/null +++ b/examples/LedMatrix/LedMatrix.svgpcb.js @@ -0,0 +1,306 @@ +const board = new PCB(); + +const matrix = CharlieplexedLedMatrix_5_6_matrix(pt(0.039, 0.039)) +// jlc_th.th1 +const H1 = board.add(JlcToolingHole_1_152mm, { + translate: pt(2.561, 1.518), rotate: 0, + id: 'H1' +}) +// jlc_th.th2 +const H2 = board.add(JlcToolingHole_1_152mm, { + translate: pt(2.600, 1.518), rotate: 0, + id: 'H2' +}) +// jlc_th.th3 +const H3 = board.add(JlcToolingHole_1_152mm, { + translate: pt(2.561, 1.557), rotate: 0, + id: 'H3' +}) +// usb.conn +const J1 = board.add(USB_C_Receptacle_XKB_U262_16XN_4BVC11, { + translate: pt(0.209, 1.683), rotate: 0, + id: 'J1' +}) +// usb.cc_pull.cc1.res +const R1 = board.add(R_0603_1608Metric, { + translate: pt(0.058, 1.938), rotate: 0, + id: 'R1' +}) +// usb.cc_pull.cc2.res +const R2 = board.add(R_0603_1608Metric, { + translate: pt(0.214, 1.938), rotate: 0, + id: 'R2' +}) +// tp_vusb.tp +const TP1 = board.add(TestPoint_Keystone_5015_Micro_Minature, { + translate: pt(1.539, 1.571), rotate: 0, + id: 'TP1' +}) +// tp_gnd.tp +const TP2 = board.add(TestPoint_Keystone_5015_Micro_Minature, { + translate: pt(1.826, 1.571), rotate: 0, + id: 'TP2' +}) +// reg_3v3.ic +const U1 = board.add(SOT_223_3_TabPin2, { + translate: pt(0.710, 1.660), rotate: 0, + id: 'U1' +}) +// reg_3v3.in_cap.cap +const C1 = board.add(C_0603_1608Metric, { + translate: pt(0.769, 1.870), rotate: 0, + id: 'C1' +}) +// reg_3v3.out_cap.cap +const C2 = board.add(C_0805_2012Metric, { + translate: pt(0.604, 1.880), rotate: 0, + id: 'C2' +}) +// tp_3v3.tp +const TP3 = board.add(TestPoint_Keystone_5015_Micro_Minature, { + translate: pt(2.114, 1.571), rotate: 0, + id: 'TP3' +}) +// prot_3v3.diode +const D1 = board.add(D_SOD_323, { + translate: pt(2.380, 1.556), rotate: 0, + id: 'D1' +}) +// mcu.ic +const U2 = board.add(ESP_WROOM_02, { + translate: pt(1.679, 0.281), rotate: 0, + id: 'U2' +}) +// mcu.vcc_cap0.cap +const C3 = board.add(C_0805_2012Metric, { + translate: pt(2.346, 0.783), rotate: 0, + id: 'C3' +}) +// mcu.vcc_cap1.cap +const C4 = board.add(C_0603_1608Metric, { + translate: pt(2.511, 0.773), rotate: 0, + id: 'C4' +}) +// mcu.prog.conn +const J2 = board.add(PinHeader_1x04_P2_54mm_Vertical, { + translate: pt(2.350, 0.370), rotate: 0, + id: 'J2' +}) +// mcu.boot.package +const SW1 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(2.447, 0.593), rotate: 0, + id: 'SW1' +}) +// mcu.en_pull.rc.r +const R3 = board.add(R_0603_1608Metric, { + translate: pt(2.338, 0.889), rotate: 0, + id: 'R3' +}) +// mcu.en_pull.rc.c +const C5 = board.add(C_0603_1608Metric, { + translate: pt(2.494, 0.889), rotate: 0, + id: 'C5' +}) +// sw1.package +const SW2 = board.add(SW_SPST_SKQG_WithoutStem, { + translate: pt(1.169, 1.630), rotate: 0, + id: 'SW2' +}) + +board.setNetlist([ + {name: "vusb", pads: [["J1", "A4"], ["J1", "B9"], ["J1", "B4"], ["J1", "A9"], ["TP1", "1"], ["U1", "3"], ["C1", "1"]]}, + {name: "gnd", pads: [["J1", "A1"], ["J1", "B12"], ["J1", "B1"], ["J1", "A12"], ["TP2", "1"], ["U1", "1"], ["D1", "2"], ["U2", "9"], ["U2", "19"], ["SW2", "2"], ["J1", "S1"], ["C1", "2"], ["C2", "2"], ["C3", "2"], ["C4", "2"], ["J2", "4"], ["SW1", "2"], ["C5", "2"], ["R1", "1"], ["R2", "1"]]}, + {name: "v3v3", pads: [["U1", "2"], ["TP3", "1"], ["D1", "1"], ["U2", "1"], ["C2", "1"], ["U2", "7"], ["U2", "16"], ["C3", "1"], ["C4", "1"], ["J2", "1"], ["R3", "1"]]}, + {name: "sw1.out", pads: [["U2", "18"], ["SW2", "1"]]}, + {name: "mcu.gpio.led_0", pads: [["U2", "3"], ["R4", "2"], ["D8", "2"], ["D14", "2"], ["D20", "2"], ["D26", "2"]]}, + {name: "mcu.gpio.led_1", pads: [["U2", "4"], ["D2", "2"], ["R5", "2"], ["D15", "2"], ["D21", "2"], ["D27", "2"]]}, + {name: "mcu.gpio.led_2", pads: [["U2", "5"], ["D3", "2"], ["D9", "2"], ["R6", "2"], ["D22", "2"], ["D28", "2"]]}, + {name: "mcu.gpio.led_3", pads: [["U2", "6"], ["D4", "2"], ["D10", "2"], ["D16", "2"], ["R7", "2"], ["D29", "2"]]}, + {name: "mcu.gpio.led_4", pads: [["U2", "17"], ["D5", "2"], ["D11", "2"], ["D17", "2"], ["D23", "2"], ["R8", "2"]]}, + {name: "mcu.gpio.led_5", pads: [["U2", "15"], ["D6", "2"], ["D12", "2"], ["D18", "2"], ["D24", "2"], ["D30", "2"]]}, + {name: "mcu.gpio.led_6", pads: [["U2", "10"], ["D7", "2"], ["D13", "2"], ["D19", "2"], ["D25", "2"], ["D31", "2"]]}, + {name: "usb.usb.dp", pads: [["J1", "A6"], ["J1", "B6"]]}, + {name: "usb.usb.dm", pads: [["J1", "A7"], ["J1", "B7"]]}, + {name: "usb.conn.cc.cc1", pads: [["J1", "A5"], ["R1", "2"]]}, + {name: "usb.conn.cc.cc2", pads: [["J1", "B5"], ["R2", "2"]]}, + {name: "mcu.program_uart_node.a_tx", pads: [["U2", "12"], ["J2", "2"]]}, + {name: "mcu.program_uart_node.b_tx", pads: [["U2", "11"], ["J2", "3"]]}, + {name: "mcu.program_en_node", pads: [["U2", "2"], ["R3", "2"], ["C5", "1"]]}, + {name: "mcu.program_boot_node", pads: [["U2", "8"], ["SW1", "1"]]}, + {name: "matrix.led[0_0].k", pads: [["D2", "1"], ["R4", "1"], ["D3", "1"], ["D4", "1"], ["D5", "1"], ["D6", "1"], ["D7", "1"]]}, + {name: "matrix.led[0_1].k", pads: [["D8", "1"], ["R5", "1"], ["D9", "1"], ["D10", "1"], ["D11", "1"], ["D12", "1"], ["D13", "1"]]}, + {name: "matrix.led[0_2].k", pads: [["D14", "1"], ["R6", "1"], ["D15", "1"], ["D16", "1"], ["D17", "1"], ["D18", "1"], ["D19", "1"]]}, + {name: "matrix.led[0_3].k", pads: [["D20", "1"], ["R7", "1"], ["D21", "1"], ["D22", "1"], ["D23", "1"], ["D24", "1"], ["D25", "1"]]}, + {name: "matrix.led[0_4].k", pads: [["D26", "1"], ["R8", "1"], ["D27", "1"], ["D28", "1"], ["D29", "1"], ["D30", "1"], ["D31", "1"]]} +]) + +const limit0 = pt(-0.07874015748031496, -0.07874015748031496); +const limit1 = pt(2.7322834645669296, 2.084645669291339); +const xMin = Math.min(limit0[0], limit1[0]); +const xMax = Math.max(limit0[0], limit1[0]); +const yMin = Math.min(limit0[1], limit1[1]); +const yMax = Math.max(limit0[1], limit1[1]); + +const filletRadius = 0.1; +const outline = path( + [(xMin+xMax/2), yMax], + ["fillet", filletRadius, [xMax, yMax]], + ["fillet", filletRadius, [xMax, yMin]], + ["fillet", filletRadius, [xMin, yMin]], + ["fillet", filletRadius, [xMin, yMax]], + [(xMin+xMax/2), yMax], +); +board.addShape("outline", outline); + +renderPCB({ + pcb: board, + layerColors: { + "F.Paste": "#000000ff", + "F.Mask": "#000000ff", + "B.Mask": "#000000ff", + "componentLabels": "#00e5e5e5", + "outline": "#002d00ff", + "padLabels": "#ffff99e5", + "B.Cu": "#ef4e4eff", + "F.Cu": "#ff8c00cc", + }, + limits: { + x: [xMin, xMax], + y: [yMin, yMax] + }, + background: "#00000000", + mmPerUnit: 25.4 +}) + +function CharlieplexedLedMatrix_5_6_matrix(xy, colSpacing=0.2, rowSpacing=0.2) { + const kXCount = 5 // number of columns (x dimension) + const kYCount = 6 // number of rows (y dimension) + + // Global params + const traceSize = 0.015 + const viaTemplate = via(0.02, 0.035) + + // Return object + const obj = { + footprints: {}, + pts: {} + } + + allLeds = [] + allVias = [] + lastViasPreResistor = [] // state preserved between rows + for (let yIndex=0; yIndex < kYCount; yIndex++) { + rowLeds = [] + rowVias = [] + + viasPreResistor = [] + viasPostResistor = [] // on the same net as the prior row pre-resistor + + for (let xIndex=0; xIndex < kXCount; xIndex++) { + ledPos = [xy[0] + colSpacing * xIndex, xy[1] + rowSpacing * yIndex] + obj.footprints[`D${2 + yIndex + xIndex * kYCount}`] = led = board.add(LED_0603_1608Metric, { + translate: ledPos, + id: `D${2 + yIndex + xIndex * kYCount}` + }) + rowLeds.push(led) + + // anode line + thisVia = board.add(viaTemplate, { + translate: [ledPos[0] + colSpacing*1/3, ledPos[1]] + }) + rowVias.push(thisVia) + board.wire([led.pad("2"), thisVia.pos], traceSize, "F.Cu") + if (xIndex <= yIndex) { + viasPreResistor.push(thisVia) + } else { + viasPostResistor.push(thisVia) + } + } + allLeds.push(rowLeds) + allVias.push(rowVias) + + // Wire the anode lines, including the row-crossing one accounting for the diagonal-skip where the resistor is in the schematic matrix + // viasPreResistor guaranteed nonempty + board.wire([viasPreResistor[0].pos, viasPreResistor[viasPreResistor.length - 1].pos], traceSize, "B.Cu") + if (viasPostResistor.length > 0) { + board.wire([viasPostResistor[0].pos, viasPostResistor[viasPostResistor.length - 1].pos], traceSize, "B.Cu") + } + + // Create the inter-row bridging trace, if applicable + if (viasPostResistor.length > 0 && lastViasPreResistor.length > 0) { + via1Pos = lastViasPreResistor[lastViasPreResistor.length - 1].pos + via2Pos = viasPostResistor[0].pos + centerY = (via1Pos[1] + via2Pos[1]) / 2 + board.wire([via1Pos, + [via1Pos[0], centerY], + [via2Pos[0], centerY], + via2Pos + ], + traceSize, "B.Cu") + } + + lastViasPreResistor = viasPreResistor + } + + allResistors = [] + for (let xIndex=0; xIndex < kXCount; xIndex++) { + const resPos = [xy[0] + colSpacing * xIndex, xy[1] + rowSpacing * kYCount] + obj.footprints[`R${4 + xIndex + 1}`] = res = board.add(R_0603_1608Metric, { + translate: resPos, + id: `R${4 + xIndex}` + }) + allResistors.push(res) + + if (xIndex < allVias.length && xIndex < allVias[xIndex].length - 1) { + targetVia = allVias[xIndex][xIndex + 1] + thisVia = board.add(viaTemplate, { + translate: [resPos[0] + colSpacing*2/3, targetVia.pos[1]] + }) + + board.wire([ + res.pad("2"), + [resPos[0] + colSpacing*2/3, res.padY("2")], + thisVia.pos + ], traceSize, "F.Cu") + board.wire([ + thisVia.pos, + targetVia.pos, + ], traceSize, "B.Cu") + } else if (xIndex <= allVias.length && xIndex < allVias[xIndex - 1].length) { + // connect the last via + thisVia = board.add(viaTemplate, { + translate: [resPos[0] + colSpacing*2/3, resPos[1]] + }) + targetVia = allVias[xIndex - 1][xIndex - 1] + board.wire([ + res.pad("2"), + thisVia.pos + ], traceSize, "F.Cu") + centerY = targetVia.pos[1] + colSpacing/2 + board.wire([ + thisVia.pos, + [thisVia.pos[0], centerY], + [targetVia.pos[0], centerY], + targetVia.pos, + ], traceSize, "B.Cu") + } + } + + // create the along-column cathode line + for (let xIndex=0; xIndex < kXCount; xIndex++) { + colPads = allLeds.flatMap(row => row.length > xIndex ? [row[xIndex].pad("1")] : []) + if (xIndex < allResistors.length) { + colPads.push(allResistors[xIndex].pad("1")) + } + + for (let i=0; i