Compare commits
32 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d2c2e72db1 | ||
| 8afb0f11e3 | |||
| 9e36c93eb6 | |||
|
|
eb9192b67d | ||
| 1e58530fdb | |||
| eb41358254 | |||
| 74e91a560b | |||
| 781a0de536 | |||
| 50dcde2d53 | |||
| bd5eff3816 | |||
| 69cbded632 | |||
| 1c9f199ca3 | |||
|
|
01fac39ee6 | ||
| 7c913f5f06 | |||
|
|
9f8bac09c8 | ||
| e30ec22dcc | |||
|
|
8f744ce121 | ||
| 9241a228b7 | |||
|
|
1a389d8398 | ||
| f060645431 | |||
|
|
99d7feab4e | ||
| de1c19795d | |||
| 8060c688ef | |||
| 684dceec17 | |||
| 294edcf797 | |||
|
|
5ccf357fcc | ||
| 974f9a11e3 | |||
|
|
86cd82203c | ||
| cbf7e8e00b | |||
|
|
3706c4103a | ||
| 68b80701e9 | |||
|
|
7517d49113 |
7
.gitattributes
vendored
Normal file
7
.gitattributes
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
*.csv filter=bom_csv
|
||||
*.html filter=bom_html
|
||||
*.gbr filter=gerber
|
||||
*.gbrjob filter=gbrjob
|
||||
*.xml filter=xml
|
||||
*.kicad_pcb filter=kicad_pcb_f
|
||||
*.net filter=net_filter
|
||||
20
.gitconfig
Normal file
20
.gitconfig
Normal file
@@ -0,0 +1,20 @@
|
||||
[filter "bom_csv"]
|
||||
clean = sed -E 's/^BoM Date:.*$/BoM Date:Date/'
|
||||
smudge = sed -E \"s/BoM Date:Date/BoM Date:,`date +\\\"%a %d %b %Y %X %:::z\\\"`/\"
|
||||
[filter "bom_html"]
|
||||
clean = sed -E 's/^<tr><td>BoM Date<\\/td><td>.*$/<tr><td>BoM Date<\\/td><td>Date<\\/td><\\/tr>/'
|
||||
smudge = sed -E \"s/<tr><td>BoM Date<\\/td><td>Date<\\/td><\\/tr>/<tr><td>BoM Date<\\/td><td>`date +\\\"%a %d %b %Y %X %:::z\\\"`<\\/td><\\/tr>/\"
|
||||
[filter "gerber"]
|
||||
clean = sed -E -e 's/^%TF.CreationDate,.*$/%TF.CreationDate,Date%/' -e 's/^G04 Created by KiCad.*$/G04 Created by KiCad*/'
|
||||
smudge = sed -E \"s/%TF.CreationDate,Date%/%TF.CreationDate,`date +%Y-%m-%dT%H:%M:%S%:z`/\"
|
||||
[filter "gbrjob"]
|
||||
clean = sed -E 's/\"CreationDate\":.*/\"CreationDate\": \"Date\"/'
|
||||
smudge = sed -E \"s/\\\"CreationDate\\\": \\\"Date\\\"/\\\"CreationDate\\\": \\\"`date +%Y-%m-%dT%H:%M:%S%:z`\\\"/\"
|
||||
[filter "xml"]
|
||||
clean = sed -E -e 's/^ <date>.*<\\/date>/ <date>Date2<\\/date>/' -e 's/^ <date>.*<\\/date>/ <date>Date1<\\/date>/'
|
||||
smudge = sed -E -e \"s/<date>Date1<\\/date>/<date>`date +\\\"%a %d %b %Y %X %:::z\\\"`<\\/date>/\" -e \"s/<date>Date2<\\/date>/<date>`date +\\\"%Y-%m-%d\\\"`<\\/date>/\"
|
||||
[filter "kicad_pcb_f"]
|
||||
clean = sed -E 's/\\(host pcbnew ([[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+).*/\\(host pcbnew \\1\\)/'
|
||||
[filter "net_filter"]
|
||||
clean = sed -E -e 's/\\(date \\\".*\\\"\\)/\\(date \\\"Date\\\"\\)/'
|
||||
smudge = sed -E -e \"s/\\(date \\\"Date\\\"\\)/\\(date \\\"`date +\\\"%a %d %b %Y %X %:::z\\\"`\\\"\\)/\"
|
||||
@@ -125,7 +125,7 @@ jobs:
|
||||
shell: bash
|
||||
run: |
|
||||
/usr/bin/kicad-git-filters.py
|
||||
kibot -c kibot/yaml/kibot_pre_update_xml.yaml -d . --log kibot_run_xml.log
|
||||
kibot -c kibot/yaml/preflights/kibot_pre_update_xml.yaml -d . --log kibot_run_xml.log
|
||||
|
||||
- name: Run KiBot (Preprocessing)
|
||||
shell: bash
|
||||
|
||||
@@ -649,32 +649,35 @@
|
||||
]
|
||||
],
|
||||
"text_variables": {
|
||||
"ASSEMBLY_NAME": "",
|
||||
"ASSEMBLY_NUMBER": "",
|
||||
"ASSEMBLY_SCALE": "",
|
||||
"ASSEMBLY_NAME": "nRF52840 Development Board",
|
||||
"ASSEMBLY_NOTES": "ASSEMBLY NOTES (UNLESS OTHERWISE SPECIFIED)\n\n1)\tDO NOT POPULATE COMPONENTS ARE MARKED WITH A RED CROSS\n\n2)\tDO NOT POPULATE COMPONENTS ARE NOT PRESENT IN THE BOM\n\n3)\tIF CONFLICTING INFORMATION IS FOUND BETWEEN THE ASSEMBLY\n\tFILE AND BOM, BOM SHOULD BE USED AS THE MAIN SOURCE.\n\n4)\tDOT IDENTIFIES PIN #1 LOCATION AND DEVICE ORIENTATION\n\tWHEN VIEWED FROM THE TOP.",
|
||||
"ASSEMBLY_NUMBER": "A98-1001",
|
||||
"ASSEMBLY_SCALE": "1",
|
||||
"COMPANY": "Asymworks, LLC",
|
||||
"DESIGNER": "JPK",
|
||||
"DWG_NUMBER_PCB": "",
|
||||
"DWG_NUMBER_SCH": "",
|
||||
"DWG_TITLE_ASSY": "",
|
||||
"DWG_TITLE_PCB": "",
|
||||
"DWG_TITLE_SCH": "",
|
||||
"GIT_HASH": "",
|
||||
"GIT_HASH_PCB": "",
|
||||
"GIT_HASH_SCH": "",
|
||||
"GIT_URL": "",
|
||||
"PROJECT_CODE": "",
|
||||
"RELEASE_DATE": "",
|
||||
"RELEASE_STATE": "",
|
||||
"REVISION": "${REVISION}",
|
||||
"DWG_NUMBER_PCB": "P98-1001",
|
||||
"DWG_NUMBER_SCH": "S98-1001",
|
||||
"DWG_TITLE_ASSY": "Assembly, nRF52840 Development Board",
|
||||
"DWG_TITLE_PCB": "PCB Fabrication, nRF52840 Development Board",
|
||||
"DWG_TITLE_SCH": "Schematic, nRF52840 Development Board",
|
||||
"FABRICATION_NOTES": "FABRICATION NOTES (UNLESS OTHERWISE SPECIFIED)\n\n1)\tFABRICATE PER IPC-6012A CLASS 2.\n\n2)\tOUTLINE DEFINED IN SEPARATE GERBER FILE WITH\n\t\"Edge_Cuts.GBR\" SUFFIX.\n\n3)\tSEE SEPARATE DRILL FILES WITH \".DRL\" SUFFIX \n\tFOR HOLE LOCATIONS.\n\n\tSELECTED HOLE LOCATIONS SHOWN ON THIS DRAWING \n\tFOR REFERENCE ONLY.\n\n4)\tSURFACE FINISH: ENIG\n\n5)\tSOLDERMASK ON BOTH SIDES OF THE BOARD SHALL \n\tBE LPI, COLOR GREEN.\n\n6)\tSILK SCREEN LEGEND TO BE APPLIED PER LAYER \n\tSTACKUP USING WHITE NON-CONDUCTIVE EPOXY INK.\n\n7)\tALL VIAS ARE TENTED ON BOTH SIDES UNLESS \n\tSOLDERMASK OPENED IN GERBER.\n\n8)\tRESERVED\n\n9)\tPCB MATERIAL REQUIREMENTS:\n\n\tA.\tFLAMMABILITY RATING MUST MEET OR EXCEED \n\t\tUL94V-0 REQUIREMENTS.\n\tB.\tTg 135 C OR EQUIVALENT.\n\n10)\tDESIGN GEOMETRY MINIMUM FEATURE SIZES:\n\n\tBOARD SIZE\t\t\t\tN/A \u00d7 N/A mm\n\tBOARD THICKNESS\t\t1.647 mm\n\tTRACE WIDTH\t\t\tN/A mm\n\tTRACE TO TRACE\t\t0.200 mm\n\tMIN. HOLE (PTH)\t\t\tN/A mm\n\tMIN. HOLE (NPTH)\t\tN/A mm\n\tANNULAR RING\t\t\tN/A mm\n\tCOPPER TO HOLE\t\t0.250 mm\n\tCOPPER TO EDGE\t\t0.500 mm\n\tHOLE TO HOLE\t\t\t0.250 mm\n\n11)\tALL DIMENSIONS ARE IN MILLIMETERS UNLESS OTHERWISE\n\tSPECIFIED.\n\n12)\tFOR REFERENCE ONLY THE STACKUP CORRESPONDS TO JLCPCB\n\tSTACKUP JLC04161H-7628.",
|
||||
"GIT_HASH": "8afb0f1",
|
||||
"GIT_HASH_PCB": "68b8070",
|
||||
"GIT_HASH_SCH": "68b8070",
|
||||
"GIT_URL": "https://git.asymworks.com/jkrauss/Test_7",
|
||||
"PROJECT_CODE": "P98",
|
||||
"RELEASE_DATE": "2026-03-10",
|
||||
"RELEASE_STATE": "DRAFT",
|
||||
"REVISION": "NO_TAG+ (Unreleased)",
|
||||
"SCALE": "1:1",
|
||||
"SCHEMATIC_NOTES": "Unless otherwise specified, components Values are in ohms, \u00b5F, and \u00b5H.",
|
||||
"SHEET_NAME_01": "Cover Page",
|
||||
"SHEET_NAME_02": "Block Diagram",
|
||||
"SHEET_NAME_03": "Project Architecture",
|
||||
"SHEET_NAME_04": "Circuit 1",
|
||||
"SHEET_NAME_05": "Circuit 2",
|
||||
"SHEET_NAME_06": "Circuit 3",
|
||||
"SHEET_NAME_07": "Parts List",
|
||||
"SHEET_NAME_07": "......................................",
|
||||
"SHEET_NAME_08": "......................................",
|
||||
"SHEET_NAME_09": "......................................",
|
||||
"SHEET_NAME_10": "......................................",
|
||||
@@ -688,7 +691,6 @@
|
||||
"SHEET_NAME_18": "......................................",
|
||||
"SHEET_NAME_19": "......................................",
|
||||
"SHEET_NAME_20": "......................................",
|
||||
"STATE": "TEMPLATE",
|
||||
"VARIANT": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
222
A98-1001.xml
Normal file
222
A98-1001.xml
Normal file
@@ -0,0 +1,222 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<export version="E">
|
||||
<design>
|
||||
<source>/workspace/jkrauss/Test_7/A98-1001.kicad_sch</source>
|
||||
<date>Date1</date>
|
||||
<tool>Eeschema 9.0.7+1</tool>
|
||||
<textvar name="ASSEMBLY_NAME">nRF52840 Development Board</textvar>
|
||||
<textvar name="ASSEMBLY_NOTES">ASSEMBLY NOTES (UNLESS OTHERWISE SPECIFIED)
|
||||
|
||||
1) DO NOT POPULATE COMPONENTS ARE MARKED WITH A RED CROSS
|
||||
|
||||
2) DO NOT POPULATE COMPONENTS ARE NOT PRESENT IN THE BOM
|
||||
|
||||
3) IF CONFLICTING INFORMATION IS FOUND BETWEEN THE ASSEMBLY
|
||||
FILE AND BOM, BOM SHOULD BE USED AS THE MAIN SOURCE.
|
||||
|
||||
4) DOT IDENTIFIES PIN #1 LOCATION AND DEVICE ORIENTATION
|
||||
WHEN VIEWED FROM THE TOP.</textvar>
|
||||
<textvar name="ASSEMBLY_NUMBER">A98-1001</textvar>
|
||||
<textvar name="ASSEMBLY_SCALE">1</textvar>
|
||||
<textvar name="COMPANY">Asymworks, LLC</textvar>
|
||||
<textvar name="DESIGNER">JPK</textvar>
|
||||
<textvar name="DWG_NUMBER_PCB">P98-1001</textvar>
|
||||
<textvar name="DWG_NUMBER_SCH">S98-1001</textvar>
|
||||
<textvar name="DWG_TITLE_ASSY">Assembly, nRF52840 Development Board</textvar>
|
||||
<textvar name="DWG_TITLE_PCB">PCB Fabrication, nRF52840 Development Board</textvar>
|
||||
<textvar name="DWG_TITLE_SCH">Schematic, nRF52840 Development Board</textvar>
|
||||
<textvar name="FABRICATION_NOTES">FABRICATION NOTES (UNLESS OTHERWISE SPECIFIED)
|
||||
|
||||
1) FABRICATE PER IPC-6012A CLASS 2.
|
||||
|
||||
2) OUTLINE DEFINED IN SEPARATE GERBER FILE WITH
|
||||
"Edge_Cuts.GBR" SUFFIX.
|
||||
|
||||
3) SEE SEPARATE DRILL FILES WITH ".DRL" SUFFIX
|
||||
FOR HOLE LOCATIONS.
|
||||
|
||||
SELECTED HOLE LOCATIONS SHOWN ON THIS DRAWING
|
||||
FOR REFERENCE ONLY.
|
||||
|
||||
4) SURFACE FINISH: ENIG
|
||||
|
||||
5) SOLDERMASK ON BOTH SIDES OF THE BOARD SHALL
|
||||
BE LPI, COLOR GREEN.
|
||||
|
||||
6) SILK SCREEN LEGEND TO BE APPLIED PER LAYER
|
||||
STACKUP USING WHITE NON-CONDUCTIVE EPOXY INK.
|
||||
|
||||
7) ALL VIAS ARE TENTED ON BOTH SIDES UNLESS
|
||||
SOLDERMASK OPENED IN GERBER.
|
||||
|
||||
8) RESERVED
|
||||
|
||||
9) PCB MATERIAL REQUIREMENTS:
|
||||
|
||||
A. FLAMMABILITY RATING MUST MEET OR EXCEED
|
||||
UL94V-0 REQUIREMENTS.
|
||||
B. Tg 135 C OR EQUIVALENT.
|
||||
|
||||
10) DESIGN GEOMETRY MINIMUM FEATURE SIZES:
|
||||
|
||||
BOARD SIZE N/A × N/A mm
|
||||
BOARD THICKNESS 1.647 mm
|
||||
TRACE WIDTH N/A mm
|
||||
TRACE TO TRACE 0.200 mm
|
||||
MIN. HOLE (PTH) N/A mm
|
||||
MIN. HOLE (NPTH) N/A mm
|
||||
ANNULAR RING N/A mm
|
||||
COPPER TO HOLE 0.250 mm
|
||||
COPPER TO EDGE 0.500 mm
|
||||
HOLE TO HOLE 0.250 mm
|
||||
|
||||
11) ALL DIMENSIONS ARE IN MILLIMETERS UNLESS OTHERWISE
|
||||
SPECIFIED.
|
||||
|
||||
12) FOR REFERENCE ONLY THE STACKUP CORRESPONDS TO JLCPCB
|
||||
STACKUP JLC04161H-7628.</textvar>
|
||||
<textvar name="GIT_HASH">8afb0f1</textvar>
|
||||
<textvar name="GIT_HASH_PCB">68b8070</textvar>
|
||||
<textvar name="GIT_HASH_SCH">68b8070</textvar>
|
||||
<textvar name="GIT_URL">https://git.asymworks.com/jkrauss/Test_7</textvar>
|
||||
<textvar name="PROJECT_CODE">P98</textvar>
|
||||
<textvar name="RELEASE_DATE">2026-03-10</textvar>
|
||||
<textvar name="RELEASE_STATE">DRAFT</textvar>
|
||||
<textvar name="REVISION">NO_TAG+ (Unreleased)</textvar>
|
||||
<textvar name="SCALE">1:1</textvar>
|
||||
<textvar name="SCHEMATIC_NOTES">Unless otherwise specified, components Values are in ohms, µF, and µH.</textvar>
|
||||
<textvar name="SHEET_NAME_01">Cover Page</textvar>
|
||||
<textvar name="SHEET_NAME_02">Block Diagram</textvar>
|
||||
<textvar name="SHEET_NAME_03">Project Architecture</textvar>
|
||||
<textvar name="SHEET_NAME_04">Circuit 1</textvar>
|
||||
<textvar name="SHEET_NAME_05">Circuit 2</textvar>
|
||||
<textvar name="SHEET_NAME_06">Circuit 3</textvar>
|
||||
<textvar name="SHEET_NAME_07">......................................</textvar>
|
||||
<textvar name="SHEET_NAME_08">......................................</textvar>
|
||||
<textvar name="SHEET_NAME_09">......................................</textvar>
|
||||
<textvar name="SHEET_NAME_10">......................................</textvar>
|
||||
<textvar name="SHEET_NAME_11">......................................</textvar>
|
||||
<textvar name="SHEET_NAME_12">......................................</textvar>
|
||||
<textvar name="SHEET_NAME_13">......................................</textvar>
|
||||
<textvar name="SHEET_NAME_14">......................................</textvar>
|
||||
<textvar name="SHEET_NAME_15">......................................</textvar>
|
||||
<textvar name="SHEET_NAME_16">......................................</textvar>
|
||||
<textvar name="SHEET_NAME_17">......................................</textvar>
|
||||
<textvar name="SHEET_NAME_18">......................................</textvar>
|
||||
<textvar name="SHEET_NAME_19">......................................</textvar>
|
||||
<textvar name="SHEET_NAME_20">......................................</textvar>
|
||||
<textvar name="VARIANT"/>
|
||||
<sheet number="1" name="/" tstamps="/">
|
||||
<title_block>
|
||||
<title>Title Page</title>
|
||||
<company>Asymworks, LLC</company>
|
||||
<rev>NO_TAG+ (Unreleased)</rev>
|
||||
<date/>
|
||||
<source>A98-1001.kicad_sch</source>
|
||||
<comment number="1" value=""/>
|
||||
<comment number="2" value=""/>
|
||||
<comment number="3" value=""/>
|
||||
<comment number="4" value=""/>
|
||||
<comment number="5" value=""/>
|
||||
<comment number="6" value=""/>
|
||||
<comment number="7" value=""/>
|
||||
<comment number="8" value=""/>
|
||||
<comment number="9" value=""/>
|
||||
</title_block>
|
||||
</sheet>
|
||||
<sheet number="2" name="/Block Diagram/" tstamps="/28ad8293-baaf-4ee1-8056-ad34096542a0/">
|
||||
<title_block>
|
||||
<title>Block Diagram</title>
|
||||
<company>Asymworks, LLC</company>
|
||||
<rev>NO_TAG+ (Unreleased)</rev>
|
||||
<date/>
|
||||
<source>Block_Diagram.kicad_sch</source>
|
||||
<comment number="1" value=""/>
|
||||
<comment number="2" value=""/>
|
||||
<comment number="3" value=""/>
|
||||
<comment number="4" value=""/>
|
||||
<comment number="5" value=""/>
|
||||
<comment number="6" value=""/>
|
||||
<comment number="7" value=""/>
|
||||
<comment number="8" value=""/>
|
||||
<comment number="9" value=""/>
|
||||
</title_block>
|
||||
</sheet>
|
||||
<sheet number="3" name="/Project Architecture/" tstamps="/f6afef58-d841-4ad6-baf9-746b0a35f011/">
|
||||
<title_block>
|
||||
<title>Project Architecture</title>
|
||||
<company>Asymworks, LLC</company>
|
||||
<rev>NO_TAG+ (Unreleased)</rev>
|
||||
<date/>
|
||||
<source>Architecture.kicad_sch</source>
|
||||
<comment number="1" value=""/>
|
||||
<comment number="2" value=""/>
|
||||
<comment number="3" value=""/>
|
||||
<comment number="4" value=""/>
|
||||
<comment number="5" value=""/>
|
||||
<comment number="6" value=""/>
|
||||
<comment number="7" value=""/>
|
||||
<comment number="8" value=""/>
|
||||
<comment number="9" value=""/>
|
||||
</title_block>
|
||||
</sheet>
|
||||
<sheet number="4" name="/Project Architecture/Circuit 1/" tstamps="/f6afef58-d841-4ad6-baf9-746b0a35f011/a5aa3c11-5084-4ea5-9da5-c9ff4a86f01f/">
|
||||
<title_block>
|
||||
<title>Circuit 1</title>
|
||||
<company>Asymworks, LLC</company>
|
||||
<rev>NO_TAG+ (Unreleased)</rev>
|
||||
<date/>
|
||||
<source>Circuit-1.kicad_sch</source>
|
||||
<comment number="1" value=""/>
|
||||
<comment number="2" value=""/>
|
||||
<comment number="3" value=""/>
|
||||
<comment number="4" value=""/>
|
||||
<comment number="5" value=""/>
|
||||
<comment number="6" value=""/>
|
||||
<comment number="7" value=""/>
|
||||
<comment number="8" value=""/>
|
||||
<comment number="9" value=""/>
|
||||
</title_block>
|
||||
</sheet>
|
||||
<sheet number="5" name="/Project Architecture/Circuit 2/" tstamps="/f6afef58-d841-4ad6-baf9-746b0a35f011/9da43fd7-7a0a-403c-bf2c-ba67cd8fa669/">
|
||||
<title_block>
|
||||
<title>Circuit 2</title>
|
||||
<company>Asymworks, LLC</company>
|
||||
<rev>NO_TAG+ (Unreleased)</rev>
|
||||
<date/>
|
||||
<source>Circuit-2.kicad_sch</source>
|
||||
<comment number="1" value=""/>
|
||||
<comment number="2" value=""/>
|
||||
<comment number="3" value=""/>
|
||||
<comment number="4" value=""/>
|
||||
<comment number="5" value=""/>
|
||||
<comment number="6" value=""/>
|
||||
<comment number="7" value=""/>
|
||||
<comment number="8" value=""/>
|
||||
<comment number="9" value=""/>
|
||||
</title_block>
|
||||
</sheet>
|
||||
<sheet number="6" name="/Project Architecture/Circuit 3/" tstamps="/f6afef58-d841-4ad6-baf9-746b0a35f011/6c8ce547-8e28-496a-9003-0e7dbfd93e8c/">
|
||||
<title_block>
|
||||
<title/>
|
||||
<company>Asymworks, LLC</company>
|
||||
<rev>NO_TAG+ (Unreleased)</rev>
|
||||
<date/>
|
||||
<source>Circuit-3.kicad_sch</source>
|
||||
<comment number="1" value=""/>
|
||||
<comment number="2" value=""/>
|
||||
<comment number="3" value=""/>
|
||||
<comment number="4" value=""/>
|
||||
<comment number="5" value=""/>
|
||||
<comment number="6" value=""/>
|
||||
<comment number="7" value=""/>
|
||||
<comment number="8" value=""/>
|
||||
<comment number="9" value=""/>
|
||||
</title_block>
|
||||
</sheet>
|
||||
</design>
|
||||
<components/>
|
||||
<libparts/>
|
||||
<libraries/>
|
||||
<nets/>
|
||||
</export>
|
||||
39
kibot/scripts/bootstrap.sh
Normal file → Executable file
39
kibot/scripts/bootstrap.sh
Normal file → Executable file
@@ -3,31 +3,48 @@
|
||||
# KiBot Template Bootstrapping Script
|
||||
# ============================================================================
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Create the Development Branch
|
||||
git checkout -qb dev
|
||||
echo "Created Development Branch"
|
||||
|
||||
# Add the Asymworks KiCad Library
|
||||
git remote add -qf asymworks-kicad-lib https://git.asymworks.com/asymworks/kicad-library
|
||||
git subtree add -q --prefix lib/asymworks asymworks-kicad-lib main --squash -m "[bootstrap] Add subtree 'Asymworks/KiCad-Library' at 'lib/asymworks'"
|
||||
git remote --no-verbose add -f asymworks-kicad-lib https://git.asymworks.com/asymworks/kicad-library >/dev/null
|
||||
git subtree -q add --prefix lib/asymworks asymworks-kicad-lib main --squash -m "[bootstrap] Add subtree 'Asymworks/KiCad-Library' at 'lib/asymworks'"
|
||||
echo "Added Asymworks KiCad Library"
|
||||
|
||||
# Initialize the Project Metadata
|
||||
python kibot/scripts/metadata.py init
|
||||
python kibot/scripts/metadata.py update Asymworks_Template.kicad_pro
|
||||
ASSY_NUMBER=$(python kibot/scripts/metadata.py print AssemblyNumber)
|
||||
PYTHON=$(which python || echo "")
|
||||
if [ -z "$PYTHON" ] ; then
|
||||
PYTHON=$(which python3 || echo "")
|
||||
if [ -z "$PYTHON" ] ; then
|
||||
echo "Python interpreter not found as 'python' or 'python3'" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "Initializing Project Metadata"
|
||||
echo "-----------------------------"
|
||||
${PYTHON} kibot/scripts/metadata.py init
|
||||
${PYTHON} kibot/scripts/metadata.py update Asymworks_Template.kicad_pro
|
||||
ASSY_NUMBER=$(${PYTHON} kibot/scripts/metadata.py print AssemblyNumber)
|
||||
|
||||
echo
|
||||
echo "Initialized ${ASSY_NUMBER}"
|
||||
|
||||
# Rename the KiCad Project based on the directory name
|
||||
git mv -q Asymworks_Template.kicad_dru "${ASSY_NUMBER}.kicad_dru"
|
||||
git mv -q Asymworks_Template.kicad_pro "${ASSY_NUMBER}.kicad_pro"
|
||||
git mv -q Asymworks_Template.kicad_sch "${ASSY_NUMBER}.kicad_sch"
|
||||
git mv -q Asymworks_Template.kicad_pcb "${ASSY_NUMBER}.kicad_pcb"
|
||||
git mv --no-verbose Asymworks_Template.kicad_dru "${ASSY_NUMBER}.kicad_dru"
|
||||
git mv --no-verbose Asymworks_Template.kicad_pro "${ASSY_NUMBER}.kicad_pro"
|
||||
git mv --no-verbose Asymworks_Template.kicad_sch "${ASSY_NUMBER}.kicad_sch"
|
||||
git mv --no-verbose Asymworks_Template.kicad_pcb "${ASSY_NUMBER}.kicad_pcb"
|
||||
echo "Renamed project to \"${ASSY_NUMBER}.kicad_pro\""
|
||||
|
||||
# Push the Develpment Branch to Gitea
|
||||
git add -q project.json
|
||||
git add --no-verbose project.json
|
||||
git commit -aq -m 'Initialize Project'
|
||||
git push -qu origin dev
|
||||
git push --no-verbose -qu origin dev >/dev/null
|
||||
echo "Initialized and Committed Project"
|
||||
|
||||
# Bootstrap Complete
|
||||
|
||||
99
kibot/yaml/kibot_grp_bom.yaml
Normal file
99
kibot/yaml/kibot_grp_bom.yaml
Normal file
@@ -0,0 +1,99 @@
|
||||
# KiBot BOM Output Group
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
groups:
|
||||
- name: bom
|
||||
outputs:
|
||||
- @NAME_CSV_BOM_OUTPUT@
|
||||
- @NAME_HTML_BOM_OUTPUT@
|
||||
- @NAME_HTML_IBOM_OUTPUT@
|
||||
|
||||
outputs:
|
||||
- name: @NAME_CSV_BOM_OUTPUT@
|
||||
comment: Bill of Materials in CSV format
|
||||
type: bom
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
format: CSV
|
||||
csv:
|
||||
hide_pcb_info: true
|
||||
hide_stats_info: true
|
||||
|
||||
group_fields: ['@MPN_FIELD@', '@IPN_FIELD@', 'Value']
|
||||
columns:
|
||||
- "Row"
|
||||
- "Quantity Per PCB"
|
||||
- "References"
|
||||
- "Value"
|
||||
- "Datasheet"
|
||||
- "Footprint"
|
||||
- "Description"
|
||||
- "@IPN_FIELD@"
|
||||
- "@MFG_FIELD@"
|
||||
- "@MPN_FIELD@"
|
||||
- "LCSC"
|
||||
|
||||
- name: @NAME_HTML_BOM_OUTPUT@
|
||||
comment: Bill of Materials in HTML format
|
||||
type: bom
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
format: HTML
|
||||
html:
|
||||
title: 'Bill of Materials'
|
||||
datasheet_as_link: "Datasheet"
|
||||
lcsc_link: true
|
||||
logo: false
|
||||
style: modern-blue
|
||||
|
||||
group_fields: ['@MPN_FIELD@', '@IPN_FIELD@', 'Value']
|
||||
columns:
|
||||
- "Row"
|
||||
- "Quantity Per PCB"
|
||||
- "References"
|
||||
- "Value"
|
||||
- "Datasheet"
|
||||
- "Footprint"
|
||||
- "Description"
|
||||
- "@IPN_FIELD@"
|
||||
- "@MFG_FIELD@"
|
||||
- "@MPN_FIELD@"
|
||||
- "LCSC"
|
||||
|
||||
- name: @NAME_HTML_IBOM_OUTPUT@
|
||||
comment: Interactive Bill of Materials in HTML Format
|
||||
type: ibom
|
||||
dir: '@DIR@'
|
||||
category: '@DIR@'
|
||||
options:
|
||||
# extra_data_file: '%F.net'
|
||||
dark_mode: true
|
||||
show_fields: 'Value,Footprint,@IPN_FIELD@,@MPN_FIELD@'
|
||||
group_fields: 'Value,@IPN_FIELD@,@MPN_FIELD@'
|
||||
show_fabrication: true
|
||||
highlight_pin1: "selected"
|
||||
exclude_filter: '@EXCLUDE_FILTER@'
|
||||
hide_excluded: true
|
||||
forced_name: '@IBOM_TITLE@'
|
||||
mark_when_checked: 'Placed'
|
||||
|
||||
...
|
||||
definitions:
|
||||
# Output Directory
|
||||
DIR: +manufacturing/assembly
|
||||
|
||||
# Output Names
|
||||
NAME_CSV_BOM_OUTPUT: csv_bom
|
||||
NAME_HTML_BOM_OUTPUT: html_bom
|
||||
NAME_HTML_IBOM_OUTPUT: html_bom_interactive
|
||||
|
||||
# BOM Configuration
|
||||
IPN_FIELD: 'Asymworks IPN'
|
||||
MFG_FIELD: 'Manufacturer PN'
|
||||
MPN_FIELD: 'Manufacturer'
|
||||
IBOM_TITLE: ''
|
||||
EXCLUDE_FILTER: exclude_testpoints
|
||||
55
kibot/yaml/kibot_grp_notes.yaml
Normal file
55
kibot/yaml/kibot_grp_notes.yaml
Normal file
@@ -0,0 +1,55 @@
|
||||
# KiBot Drawing Notes Output Group
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
groups:
|
||||
- name: notes
|
||||
outputs:
|
||||
- @NAME_TXT_SCH_NOTES_OUTPUT@
|
||||
- @NAME_TXT_FAB_NOTES_OUTPUT@
|
||||
- @NAME_TXT_ASSY_NOTES_OUTPUT@
|
||||
|
||||
import:
|
||||
|
||||
- file: outputs/kibot_out_txt_report.yaml
|
||||
definitions:
|
||||
NAME: @NAME_TXT_SCH_NOTES_OUTPUT@
|
||||
COMMENT: Schematic notes in TXT format
|
||||
DIR: @SCHEMATIC_DIR@
|
||||
OUTPUT_ID: schematic_notes
|
||||
TEMPLATE: @SCHEMATIC_NOTES_TEMPLATE@
|
||||
|
||||
- file: outputs/kibot_out_txt_report.yaml
|
||||
definitions:
|
||||
NAME: @NAME_TXT_FAB_NOTES_OUTPUT@
|
||||
COMMENT: Fabrication notes in TXT format
|
||||
DIR: @FABRICATION_DIR@
|
||||
OUTPUT_ID: fabrication_notes
|
||||
TEMPLATE: @FABRICATION_NOTES_TEMPLATE@
|
||||
|
||||
- file: outputs/kibot_out_txt_report.yaml
|
||||
definitions:
|
||||
NAME: @NAME_TXT_ASSY_NOTES_OUTPUT@
|
||||
COMMENT: Assembly notes in TXT format
|
||||
DIR: @ASSEMBLY_DIR@
|
||||
OUTPUT_ID: assembly_notes
|
||||
TEMPLATE: @ASSEMBLY_NOTES_TEMPLATE@
|
||||
|
||||
...
|
||||
definitions:
|
||||
# Directories
|
||||
SCHEMATIC_DIR: schematic
|
||||
FABRICATION_DIR: manufacturing/fabrication
|
||||
ASSEMBLY_DIR: manufacturing/assembly
|
||||
|
||||
# Output Names
|
||||
NAME_TXT_SCH_NOTES_OUTPUT: txt_schematic_notes
|
||||
NAME_TXT_FAB_NOTES_OUTPUT: txt_fabrication_notes
|
||||
NAME_TXT_ASSY_NOTES_OUTPUT: txt_assembly_notes
|
||||
|
||||
# Drawing Note Configuration
|
||||
SCHEMATIC_NOTES_TEMPLATE: notes/schematic.txt
|
||||
FABRICATION_NOTES_TEMPLATE: notes/fabrication.txt
|
||||
ASSEMBLY_NOTES_TEMPLATE: notes/assembly.txt
|
||||
|
||||
144
kibot/yaml/kibot_grp_renders.yaml
Normal file
144
kibot/yaml/kibot_grp_renders.yaml
Normal file
@@ -0,0 +1,144 @@
|
||||
# KiBot Render Output Group
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
groups:
|
||||
- name: renders
|
||||
outputs:
|
||||
- @NAME_PCBDRAW_2D_TOP_PCB_OUTPUT@
|
||||
- @NAME_PCBDRAW_2D_BOT_PCB_OUTPUT@
|
||||
- @NAME_BLENDER_3D_TOP_OUTPUT@
|
||||
- @NAME_BLENDER_3D_BOT_OUTPUT@
|
||||
- @NAME_BLENDER_3D_ANGLED_TOP_OUTPUT@
|
||||
- @NAME_BLENDER_3D_ANGLED_BOT_OUTPUT@
|
||||
|
||||
import:
|
||||
|
||||
# PCB 2D Renders (Bare Board) ------------------------------------------
|
||||
- file: outputs/kibot_out_pcbdraw.yaml
|
||||
definitions:
|
||||
NAME: @NAME_PCBDRAW_2D_TOP_PCB_OUTPUT@
|
||||
COMMENT: PCB 2D Render (Top)
|
||||
DIR: @DIR@
|
||||
FORMAT: svg
|
||||
BOTTOM: false
|
||||
COMPONENTS: none
|
||||
|
||||
- file: outputs/kibot_out_pcbdraw.yaml
|
||||
definitions:
|
||||
NAME: @NAME_PCBDRAW_2D_BOT_PCB_OUTPUT@
|
||||
COMMENT: PCB 2D Render (Bottom)
|
||||
DIR: @DIR@
|
||||
FORMAT: svg
|
||||
BOTTOM: true
|
||||
COMPONENTS: none
|
||||
|
||||
# PCBA 3D Renders (Populated Board; Blender) -------------------------------
|
||||
- file: outputs/kibot_out_blender.yaml
|
||||
definitions:
|
||||
NAME: @NAME_BLENDER_3D_TOP_OUTPUT@
|
||||
COMMENT: High Quality 3D Render (Top)
|
||||
DIR: @DIR@
|
||||
VIEW: top
|
||||
ROTATE_X: 0
|
||||
ROTATE_Y: 0
|
||||
ROTATE_Z: 0
|
||||
SAMPLES: @BLENDER_SAMPLES@
|
||||
RESOLUTION_X: @BLENDER_RESOLUTION_X@
|
||||
RESOLUTION_Y: @BLENDER_RESOLUTION_Y@
|
||||
TEXTURE_DPI: @BLENDER_TEXTURE_DPI@
|
||||
DNF_FILTER: @BLENDER_DNF_FILTER@
|
||||
DIFFUSE_RADIUS: @BLENDER_DIFFUSE_RADIUS@
|
||||
DIFFUSE_HEIGHT: @BLENDER_DIFFUSE_HEIGHT@
|
||||
DIFFUSE_LIGHT: 0.7
|
||||
ACCENT_LIGHT: 0.1
|
||||
SPOT_LIGHT: 0.1
|
||||
|
||||
- file: outputs/kibot_out_blender.yaml
|
||||
definitions:
|
||||
NAME: @NAME_BLENDER_3D_BOT_OUTPUT@
|
||||
COMMENT: High Quality 3D Render (Bottom)
|
||||
DIR: @DIR@
|
||||
VIEW: bottom
|
||||
ROTATE_X: 0
|
||||
ROTATE_Y: 0
|
||||
ROTATE_Z: 0
|
||||
SAMPLES: @BLENDER_SAMPLES@
|
||||
RESOLUTION_X: @BLENDER_RESOLUTION_X@
|
||||
RESOLUTION_Y: @BLENDER_RESOLUTION_Y@
|
||||
TEXTURE_DPI: @BLENDER_TEXTURE_DPI@
|
||||
DNF_FILTER: @BLENDER_DNF_FILTER@
|
||||
DIFFUSE_RADIUS: @BLENDER_DIFFUSE_RADIUS@
|
||||
DIFFUSE_HEIGHT: @BLENDER_DIFFUSE_HEIGHT@
|
||||
DIFFUSE_LIGHT: 0.7
|
||||
ACCENT_LIGHT: 0.1
|
||||
SPOT_LIGHT: 0.1
|
||||
|
||||
- file: outputs/kibot_out_blender.yaml
|
||||
definitions:
|
||||
NAME: @NAME_BLENDER_3D_ANGLED_TOP_OUTPUT@
|
||||
COMMENT: High Quality 3D Render (Angled Top)
|
||||
DIR: @DIR@
|
||||
VIEW: top
|
||||
ROTATE_X: @BLENDER_TOP_ROT_X@
|
||||
ROTATE_Y: @BLENDER_TOP_ROT_Y@
|
||||
ROTATE_Z: @BLENDER_TOP_ROT_Z@
|
||||
SAMPLES: @BLENDER_SAMPLES@
|
||||
RESOLUTION_X: @BLENDER_RESOLUTION_X@
|
||||
RESOLUTION_Y: @BLENDER_RESOLUTION_Y@
|
||||
TEXTURE_DPI: @BLENDER_TEXTURE_DPI@
|
||||
DNF_FILTER: @BLENDER_DNF_FILTER@
|
||||
DIFFUSE_RADIUS: @BLENDER_DIFFUSE_RADIUS@
|
||||
DIFFUSE_HEIGHT: @BLENDER_DIFFUSE_HEIGHT@
|
||||
DIFFUSE_LIGHT: 0.4
|
||||
ACCENT_LIGHT: 0.1
|
||||
SPOT_LIGHT: 2.0
|
||||
|
||||
- file: outputs/kibot_out_blender.yaml
|
||||
definitions:
|
||||
NAME: @NAME_BLENDER_3D_ANGLED_BOT_OUTPUT@
|
||||
COMMENT: High Quality 3D Render (Angled Bottom)
|
||||
DIR: @DIR@
|
||||
VIEW: bottom
|
||||
ROTATE_X: @BLENDER_BOT_ROT_X@
|
||||
ROTATE_Y: @BLENDER_BOT_ROT_Y@
|
||||
ROTATE_Z: @BLENDER_BOT_ROT_Z@
|
||||
SAMPLES: @BLENDER_SAMPLES@
|
||||
RESOLUTION_X: @BLENDER_RESOLUTION_X@
|
||||
RESOLUTION_Y: @BLENDER_RESOLUTION_Y@
|
||||
TEXTURE_DPI: @BLENDER_TEXTURE_DPI@
|
||||
DNF_FILTER: @BLENDER_DNF_FILTER@
|
||||
DIFFUSE_RADIUS: @BLENDER_DIFFUSE_RADIUS@
|
||||
DIFFUSE_HEIGHT: @BLENDER_DIFFUSE_HEIGHT@
|
||||
DIFFUSE_LIGHT: 0.4
|
||||
ACCENT_LIGHT: 0.1
|
||||
SPOT_LIGHT: 2.0
|
||||
|
||||
...
|
||||
definitions:
|
||||
# Directories
|
||||
DIR: +renders
|
||||
|
||||
# Output Names
|
||||
NAME_PCBDRAW_2D_TOP_PCB_OUTPUT: pcbdraw_top
|
||||
NAME_PCBDRAW_2D_BOT_PCB_OUTPUT: pcbdraw_bottom
|
||||
NAME_BLENDER_3D_TOP_OUTPUT: blender_3d_top
|
||||
NAME_BLENDER_3D_BOT_OUTPUT: blender_3d_bottom
|
||||
NAME_BLENDER_3D_ANGLED_TOP_OUTPUT: blender_3d_angled_top
|
||||
NAME_BLENDER_3D_ANGLED_BOT_OUTPUT: blender_3d_angled_bottom
|
||||
|
||||
# Blender Configuration
|
||||
BLENDER_DNF_FILTER: _kibom_dnf_Config
|
||||
BLENDER_SAMPLES: 2
|
||||
BLENDER_TOP_ROT_X: 30
|
||||
BLENDER_TOP_ROT_Y: 10
|
||||
BLENDER_TOP_ROT_Z: 10
|
||||
BLENDER_BOT_ROT_X: -30
|
||||
BLENDER_BOT_ROT_Y: 10
|
||||
BLENDER_BOT_ROT_Z: 10
|
||||
BLENDER_RESOLUTION_X: 1500
|
||||
BLENDER_RESOLUTION_Y: 1500
|
||||
BLENDER_TEXTURE_DPI: 1031.0
|
||||
BLENDER_DIFFUSE_HEIGHT: 10.0
|
||||
BLENDER_DIFFUSE_RADIUS: 6.0
|
||||
93
kibot/yaml/kibot_grp_tables.yaml
Normal file
93
kibot/yaml/kibot_grp_tables.yaml
Normal file
@@ -0,0 +1,93 @@
|
||||
# KiBot Drawing Tables Output Group
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
groups:
|
||||
- name: tables
|
||||
outputs:
|
||||
- @NAME_CSV_IMPEDANCE_TABLE_OUTPUT@
|
||||
- @NAME_CSV_COMP_COUNT_OUPUT@
|
||||
- @NAME_CSV_DRILL_TABLE_OUTPUT@
|
||||
- @NAME_CSV_TP_OUTPUT@
|
||||
- @NAME_CSV_TP_TOP_OUTPUT@
|
||||
- @NAME_CSV_TP_BOTTOM_OUTPUT@
|
||||
|
||||
import:
|
||||
|
||||
# Impedance and Component Count Reports
|
||||
- file: outputs/kibot_out_csv_report.yaml
|
||||
definitions:
|
||||
NAME: @NAME_CSV_IMPEDANCE_TABLE_OUTPUT@
|
||||
COMMENT: Impedance Table in CSV format
|
||||
DIR: @FABRICATION_DIR@
|
||||
OUTPUT_ID: impedance_table
|
||||
TEMPLATE: @IMPEDANCE_TABLE_TEMPLATE@
|
||||
|
||||
- file: outputs/kibot_out_csv_report.yaml
|
||||
definitions:
|
||||
NAME: @NAME_CSV_COMP_COUNT_OUPUT@
|
||||
COMMENT: Component Report in CSV format
|
||||
DIR: @ASSEMBLY_DIR@
|
||||
OUTPUT_ID: components_count
|
||||
TEMPLATE: total_components
|
||||
|
||||
# CSV Test Point Files
|
||||
- file: outputs/kibot_out_csv_testpoints.yaml
|
||||
definitions:
|
||||
NAME: @NAME_CSV_TP_OUTPUT@
|
||||
COMMENT: Testpoint report in CSV format
|
||||
DIR: @TESTPOINTS_DIR@
|
||||
EXCLUDE_FILTER: @FILT_TP_ONLY@
|
||||
|
||||
- file: outputs/kibot_out_csv_testpoints_simple.yaml
|
||||
definitions:
|
||||
NAME: @NAME_CSV_TP_TOP_OUTPUT@
|
||||
COMMENT: Top testpoint report in CSV format
|
||||
DIR: @TESTPOINTS_DIR@
|
||||
SUFFIX: -top
|
||||
EXCLUDE_FILTER: @FILT_TP_TOP_ONLY@
|
||||
|
||||
- file: outputs/kibot_out_csv_testpoints_simple.yaml
|
||||
definitions:
|
||||
NAME: @NAME_CSV_TP_BOTTOM_OUTPUT@
|
||||
COMMENT: Bottom testpoint report in CSV format
|
||||
DIR: @TESTPOINTS_DIR@
|
||||
SUFFIX: -bottom
|
||||
EXCLUDE_FILTER: @FILT_TP_BOTTOM_ONLY@
|
||||
|
||||
outputs:
|
||||
- name: @NAME_CSV_DRILL_TABLE_OUTPUT@
|
||||
comment: Drill Table in CSV format
|
||||
type: excellon
|
||||
category: '@DRILL_TABLE_DIR@'
|
||||
dir: '@DRILL_TABLE_DIR@'
|
||||
options:
|
||||
generate_drill_files: false
|
||||
table:
|
||||
unify_pth_and_npth: '@DRILL_TABLE_UNIFY_PTH_NPTH@'
|
||||
group_slots_and_round_holes: @DRILL_TABLE_GROUP_ROUND_SLOTS@
|
||||
|
||||
...
|
||||
definitions:
|
||||
# Directories
|
||||
FABRICATION_DIR: manufacturing/fabrication
|
||||
DRILL_TABLE_DIR: manufacturing/fabrication/drill-tables
|
||||
ASSEMBLY_DIR: manufacturing/assembly
|
||||
TESTPOINTS_DIR: test/testpoints
|
||||
|
||||
# Output Names
|
||||
NAME_CSV_IMPEDANCE_TABLE_OUTPUT: csv_impedance_table
|
||||
NAME_CSV_COMP_COUNT_OUPUT: csv_comp_count
|
||||
NAME_CSV_DRILL_TABLE_OUTPUT: csv_drill_table
|
||||
NAME_CSV_TP_OUTPUT: csv_testpoints
|
||||
NAME_CSV_TP_TOP_OUTPUT: csv_testpoints_top
|
||||
NAME_CSV_TP_BOTTOM_OUTPUT: csv_testpoints_bottom
|
||||
|
||||
# Table Configuration
|
||||
IMPEDANCE_TABLE_TEMPLATE: notes/impedance-table.txt
|
||||
DRILL_TABLE_UNIFY_PTH_NPTH: 'yes'
|
||||
DRILL_TABLE_GROUP_ROUND_SLOTS: True
|
||||
FILT_TP_ONLY: only_testpoints
|
||||
FILT_TP_TOP_ONLY: only_testpoints_top
|
||||
FILT_TP_BOTTOM_ONLY: only_testpoints_bottom
|
||||
@@ -16,16 +16,11 @@ groups:
|
||||
# Pre-Process Group (generates Notes and Netlist for set_text_variables) ---
|
||||
- name: preprocess_group
|
||||
outputs:
|
||||
- @NETLIST_OUTPUT@
|
||||
- @TXT_SCH_NOTES_OUTPUT@
|
||||
- @TXT_FAB_NOTES_OUTPUT@
|
||||
- @TXT_ASSY_NOTES_OUTPUT@
|
||||
- tables
|
||||
- notes
|
||||
|
||||
# Draft Outputs Group (used in DRAFT state only) ---------------------------
|
||||
- name: draft_group
|
||||
outputs:
|
||||
- @NETLIST_OUTPUT@
|
||||
- @TXT_SCH_NOTES_OUTPUT@
|
||||
- @PDF_SCHEMATIC_OUTPUT@
|
||||
- @CSV_BOM_OUTPUT@
|
||||
@@ -42,21 +37,6 @@ groups:
|
||||
- panels
|
||||
- assembly
|
||||
- @PDF_SCHEMATIC_OUTPUT@
|
||||
- @HTML_NAV_RES_OUTPUT@
|
||||
|
||||
# All Outputs Group, including KiRi (not enabled by default) ---------------
|
||||
- name: all_group_kiri
|
||||
outputs:
|
||||
- bom
|
||||
- renders
|
||||
- models
|
||||
- fab
|
||||
- jlcpcb
|
||||
- panels
|
||||
- assembly
|
||||
- @PDF_SCHEMATIC_OUTPUT@
|
||||
- @HTML_KIRI_OUTPUT@
|
||||
- @HTML_NAV_RES_OUTPUT@
|
||||
|
||||
# Panel Fabrication Outputs Group (not used in DRAFT state) ----------------
|
||||
- name: panel_fab_jlcpcb_group
|
||||
@@ -64,31 +44,6 @@ groups:
|
||||
|
||||
# Output Sub-Groups ========================================================
|
||||
|
||||
# Bill of Material Outputs -------------------------------------------------
|
||||
- name: bom
|
||||
outputs:
|
||||
- @CSV_BOM_OUTPUT@
|
||||
- @HTML_BOM_OUTPUT@
|
||||
- @HTML_IBOM_OUTPUT@
|
||||
|
||||
# PCB Render Outputs -------------------------------------------------------
|
||||
- name: renders
|
||||
outputs:
|
||||
- @PCBDRAW_2D_TOP_PCB_OUTPUT@
|
||||
- @PCBDRAW_2D_BOT_PCB_OUTPUT@
|
||||
- @BLENDER_3D_TOP@
|
||||
- @BLENDER_3D_BOT@
|
||||
- @BLENDER_3D_ANGLED_TOP@
|
||||
- @BLENDER_3D_ANGLED_BOT@
|
||||
|
||||
# KiCad 3D Viewer Renders (render_3d) are currently disabled as they do
|
||||
# not look very good in KiCad 9 and they cause a warning in the KiBot
|
||||
# output.
|
||||
# - @PNG_3D_VIEWER_TOP@
|
||||
# - @PNG_3D_VIEWER_BOT@
|
||||
# - @PNG_3D_VIEWER_ANGLED_TOP@
|
||||
# - @PNG_3D_VIEWER_ANGLED_BOT@
|
||||
|
||||
# PCB 3d Model Outputs -----------------------------------------------------
|
||||
- name: models
|
||||
outputs:
|
||||
@@ -98,6 +53,7 @@ groups:
|
||||
# Fabrication Outputs ------------------------------------------------------
|
||||
- name: fab
|
||||
outputs:
|
||||
- tables
|
||||
- @GERBER_OUTPUT@
|
||||
- @EXCELLON_DRILL_OUTPUT@
|
||||
- @ODB_OUTPUT@
|
||||
@@ -105,19 +61,6 @@ groups:
|
||||
- @PDF_FABRICATION_OUTPUT@
|
||||
- @ZIP_COMPRESS_FAB_OUTPUT@
|
||||
|
||||
- name: tables
|
||||
outputs:
|
||||
- @CSV_COMP_COUNT_OUPUT@
|
||||
- @CSV_IMPEDANCE_TABLE_OUTPUT@
|
||||
- @CSV_DRILL_TABLE_OUTPUT@
|
||||
- testpoints
|
||||
|
||||
- name: testpoints
|
||||
outputs:
|
||||
- @CSV_TP_OUTPUT@
|
||||
- @CSV_TP_TOP_OUTPUT@
|
||||
- @CSV_TP_BOTTOM_OUTPUT@
|
||||
|
||||
# JLCPCB Fabrication and Assembly Outputs ----------------------------------
|
||||
- name: jlcpcb
|
||||
outputs:
|
||||
@@ -150,73 +93,68 @@ import:
|
||||
|
||||
# Filters ==================================================================
|
||||
|
||||
- file: kibot_filt_field_rename.yaml
|
||||
- file: filters/kibot_filt_field_rename.yaml
|
||||
definitions:
|
||||
NAME: @FILT_FIELD_RENAME@
|
||||
COMMENT: Rename fields
|
||||
MPN_FIELD: @MPN_FIELD@
|
||||
MAN_FIELD: @MAN_FIELD@
|
||||
|
||||
- file: kibot_filt_testpoints.yaml
|
||||
- file: filters/kibot_filt_testpoints.yaml
|
||||
definitions:
|
||||
NAME: @FILT_TP_ONLY@
|
||||
COMMENT: Include only testpoints
|
||||
|
||||
- file: kibot_filt_exclude_testpoints.yaml
|
||||
- file: filters/kibot_filt_exclude_testpoints.yaml
|
||||
definitions:
|
||||
NAME: @FILT_TP_EXCLUDE@
|
||||
COMMENT: Exclude only testpoints
|
||||
|
||||
- file: kibot_filt_testpoints.yaml
|
||||
- file: filters/kibot_filt_testpoints.yaml
|
||||
definitions:
|
||||
NAME: @FILT_TP_TOP_ONLY@
|
||||
COMMENT: Select only top testpoints
|
||||
EXCLUDE_BOTTOM: true
|
||||
EXCLUDE_REFS: "@TP_EXCLUDE_REFS@"
|
||||
|
||||
- file: kibot_filt_testpoints.yaml
|
||||
- file: filters/kibot_filt_testpoints.yaml
|
||||
definitions:
|
||||
NAME: @FILT_TP_BOTTOM_ONLY@
|
||||
COMMENT: Select only bottom testpoints
|
||||
EXCLUDE_TOP: true
|
||||
EXCLUDE_REFS: "@TP_EXCLUDE_REFS@"
|
||||
|
||||
- file: kibot_filt_lcsc_parts.yaml
|
||||
- file: filters/kibot_filt_lcsc_parts.yaml
|
||||
definitions:
|
||||
NAME: @FILT_LCSC_PARTS@
|
||||
COMMENT: Only parts with LCSC Part Number
|
||||
|
||||
# Preflights ===============================================================
|
||||
- file: kibot_pre_set_text_variables.yaml
|
||||
- file: preflights/kibot_pre_set_text_variables.yaml
|
||||
definitions:
|
||||
PROJECT_CODE: @PROJECT_CODE@
|
||||
ASSEMBLY_NUMBER: @ASSEMBLY_NUMBER@
|
||||
ASSEMBLY_NAME: @ASSEMBLY_NAME@
|
||||
COMPANY: @COMPANY@
|
||||
DESIGNER: @DESIGNER@
|
||||
SCRIPTS_DIR: @SCRIPTS_DIR@
|
||||
FABRICATION_DIR: @FABRICATION_DIR@
|
||||
ASSEMBLY_DIR: @ASSEMBLY_DIR@
|
||||
|
||||
# Generate ERC Report
|
||||
- file: kibot_pre_erc_report.yaml
|
||||
- file: preflights/kibot_pre_erc_report.yaml
|
||||
definitions:
|
||||
DIR: @REPORT_DIR@
|
||||
|
||||
# Generate DRC Report
|
||||
- file: kibot_pre_drc_report.yaml
|
||||
- file: preflights/kibot_pre_drc_report.yaml
|
||||
definitions:
|
||||
CHECK_ZONE_FILLS: @CHECK_ZONE_FILLS@
|
||||
DIR: @REPORT_DIR@
|
||||
|
||||
# Draw stackup table in PCB. Needs gerber output
|
||||
- file: kibot_pre_draw_stackup.yaml
|
||||
- file: preflights/kibot_pre_draw_stackup.yaml
|
||||
definitions:
|
||||
GERBER_OUTPUT: @GERBER_OUTPUT@
|
||||
NOTE: @STACKUP_TABLE_NOTE@
|
||||
|
||||
# Include tables for PCB and Assembly Drawings
|
||||
- file: kibot_pre_include_table.yaml
|
||||
- file: preflights/kibot_pre_include_table.yaml
|
||||
definitions:
|
||||
NAME_TP_TOP: @CSV_TP_TOP_OUTPUT@
|
||||
NAME_TP_BOTTOM: @CSV_TP_BOTTOM_OUTPUT@
|
||||
@@ -224,13 +162,7 @@ import:
|
||||
NAME_CSV_DRILL_TABLE: @CSV_DRILL_TABLE_OUTPUT@
|
||||
NAME_IMPEDANCE_TABLE: @CSV_IMPEDANCE_TABLE_OUTPUT@
|
||||
|
||||
# Generated Outputs ========================================================
|
||||
|
||||
# Schematic Netlist --------------------------------------------------------
|
||||
- file: kibot_out_netlist.yaml
|
||||
definitions:
|
||||
NAME: @NETLIST_OUTPUT@
|
||||
COMMENT: Schematic netlist in KiCad format
|
||||
# Individual Outputs =======================================================
|
||||
|
||||
# Drawings in PDF format ---------------------------------------------------
|
||||
- file: kibot_out_pdf_schematic.yaml
|
||||
@@ -242,200 +174,6 @@ import:
|
||||
DEFAULT_FONT: 'Arial Narrow'
|
||||
SHEET_WKS: @SHEET_WKS_SCH@
|
||||
|
||||
# Bills of Materials (BOMs) ------------------------------------------------
|
||||
- file: kibot_out_csv_bom.yaml
|
||||
definitions:
|
||||
NAME: @CSV_BOM_OUTPUT@
|
||||
COMMENT: Bill of Materials in CSV format
|
||||
DIR: @ASSEMBLY_DIR@
|
||||
IPN_FIELD: @IPN_FIELD@
|
||||
MPN_FIELD: @MPN_FIELD@
|
||||
MAN_FIELD: @MAN_FIELD@
|
||||
|
||||
- file: kibot_out_html_bom.yaml
|
||||
definitions:
|
||||
NAME: @HTML_BOM_OUTPUT@
|
||||
COMMENT: Bill of Materials in HTML format
|
||||
DIR: @ASSEMBLY_DIR@
|
||||
IPN_FIELD: @IPN_FIELD@
|
||||
MPN_FIELD: @MPN_FIELD@
|
||||
MAN_FIELD: @MAN_FIELD@
|
||||
|
||||
- file: kibot_out_html_ibom.yaml
|
||||
definitions:
|
||||
NAME: @HTML_IBOM_OUTPUT@
|
||||
COMMENT: Bill of Materials in HTML format
|
||||
DIR: @ASSEMBLY_DIR@
|
||||
IPN_FIELD: @IPN_FIELD@
|
||||
MPN_FIELD: @MPN_FIELD@
|
||||
MAN_FIELD: @MAN_FIELD@
|
||||
|
||||
# Generate Webpage with Diff's ---------------------------------------------
|
||||
- file: kibot_out_html_kiri.yaml
|
||||
definitions:
|
||||
NAME: @HTML_KIRI_OUTPUT@
|
||||
COMMENT: KiRI webpage
|
||||
DIR: kiri
|
||||
|
||||
# Generate HTML Navigation of Outputs --------------------------------------
|
||||
- file: kibot_out_navigate_results.yaml
|
||||
definitions:
|
||||
NAME: @HTML_NAV_RES_OUTPUT@
|
||||
COMMENT: Results webpage in HTML format
|
||||
DIR: html
|
||||
TITLE: '@ASSEMBLY_NUMBER@ (@ASSEMBLY_NAME@)'
|
||||
# LOGO: @LOGO@
|
||||
# LOGO_URL: @GIT_URL@
|
||||
|
||||
# PCB 2D Renders (Bare Board) ------------------------------------------
|
||||
- file: kibot_out_pcbdraw.yaml
|
||||
definitions:
|
||||
NAME: @PCBDRAW_2D_TOP_PCB_OUTPUT@
|
||||
COMMENT: PCB 2D Render (Top)
|
||||
DIR: @RENDER_DIR@
|
||||
FORMAT: svg
|
||||
BOTTOM: false
|
||||
COMPONENTS: none
|
||||
|
||||
- file: kibot_out_pcbdraw.yaml
|
||||
definitions:
|
||||
NAME: @PCBDRAW_2D_BOT_PCB_OUTPUT@
|
||||
COMMENT: PCB 2D Render (Bottom)
|
||||
DIR: @RENDER_DIR@
|
||||
FORMAT: svg
|
||||
BOTTOM: true
|
||||
COMPONENTS: none
|
||||
|
||||
# PCBA 3D Renders (Populated Board; KiCad Viewer) --------------------------
|
||||
- file: kibot_out_png_3d_viewer.yaml
|
||||
definitions:
|
||||
NAME: @PNG_3D_VIEWER_TOP@
|
||||
COMMENT: Top 3D viewer PCB render in PNG format
|
||||
DIR: @RENDER_DIR@
|
||||
SUFFIX: top
|
||||
VIEW: top
|
||||
KEY_COLOR: '@KEY_COLOR@'
|
||||
RAYTRACING: false
|
||||
|
||||
- file: kibot_out_png_3d_viewer.yaml
|
||||
definitions:
|
||||
NAME: @PNG_3D_VIEWER_BOT@
|
||||
COMMENT: Bottom 3D viewer PCB render in PNG format
|
||||
DIR: @RENDER_DIR@
|
||||
SUFFIX: bottom
|
||||
VIEW: bottom
|
||||
KEY_COLOR: '@KEY_COLOR@'
|
||||
RAYTRACING: false
|
||||
|
||||
- file: kibot_out_png_3d_viewer.yaml
|
||||
definitions:
|
||||
NAME: @PNG_3D_VIEWER_ANGLED_TOP@
|
||||
COMMENT: Top (angled) 3D viewer PCB render in PNG format
|
||||
DIR: @RENDER_DIR@
|
||||
SUFFIX: angled_top
|
||||
VIEW: top
|
||||
ROTATE_X: @3D_VIEWER_ROT_X@
|
||||
ROTATE_Y: @3D_VIEWER_ROT_Y@
|
||||
ROTATE_Z: @3D_VIEWER_ROT_Z@
|
||||
ZOOM: @3D_VIEWER_ZOOM@
|
||||
KEY_COLOR: '@KEY_COLOR@'
|
||||
RAYTRACING: false
|
||||
|
||||
- file: kibot_out_png_3d_viewer.yaml
|
||||
definitions:
|
||||
NAME: @PNG_3D_VIEWER_ANGLED_BOT@
|
||||
COMMENT: Bottom (angled) 3D viewer PCB render in PNG format
|
||||
DIR: @RENDER_DIR@
|
||||
SUFFIX: angled_bottom
|
||||
VIEW: bottom
|
||||
ROTATE_X: @3D_VIEWER_ROT_X@
|
||||
ROTATE_Y: @3D_VIEWER_ROT_Y@
|
||||
ROTATE_Z: -@3D_VIEWER_ROT_Z@
|
||||
ZOOM: @3D_VIEWER_ZOOM@
|
||||
KEY_COLOR: '@KEY_COLOR@'
|
||||
RAYTRACING: false
|
||||
|
||||
# PCBA 3D Renders (Populated Board; Blender) -------------------------------
|
||||
- file: kibot_out_blender.yaml
|
||||
definitions:
|
||||
NAME: @BLENDER_3D_TOP@
|
||||
COMMENT: High Quality 3D Render (Top)
|
||||
DIR: @RENDER_DIR@
|
||||
VIEW: top
|
||||
ROTATE_X: 0
|
||||
ROTATE_Y: 0
|
||||
ROTATE_Z: 0
|
||||
SAMPLES: @BLENDER_SAMPLES@
|
||||
RESOLUTION_X: @BLENDER_RESOLUTION_X@
|
||||
RESOLUTION_Y: @BLENDER_RESOLUTION_Y@
|
||||
TEXTURE_DPI: @BLENDER_TEXTURE_DPI@
|
||||
DNF_FILTER: @RENDER_DNF_FILTER@
|
||||
DIFFUSE_RADIUS: @BLENDER_DIFFUSE_RADIUS@
|
||||
DIFFUSE_HEIGHT: @BLENDER_DIFFUSE_HEIGHT@
|
||||
DIFFUSE_LIGHT: 0.7
|
||||
ACCENT_LIGHT: 0.1
|
||||
SPOT_LIGHT: 0.1
|
||||
|
||||
- file: kibot_out_blender.yaml
|
||||
definitions:
|
||||
NAME: @BLENDER_3D_BOT@
|
||||
COMMENT: High Quality 3D Render (Bottom)
|
||||
DIR: @RENDER_DIR@
|
||||
VIEW: bottom
|
||||
ROTATE_X: 0
|
||||
ROTATE_Y: 0
|
||||
ROTATE_Z: 0
|
||||
SAMPLES: @BLENDER_SAMPLES@
|
||||
RESOLUTION_X: @BLENDER_RESOLUTION_X@
|
||||
RESOLUTION_Y: @BLENDER_RESOLUTION_Y@
|
||||
TEXTURE_DPI: @BLENDER_TEXTURE_DPI@
|
||||
DNF_FILTER: @RENDER_DNF_FILTER@
|
||||
DIFFUSE_RADIUS: @BLENDER_DIFFUSE_RADIUS@
|
||||
DIFFUSE_HEIGHT: @BLENDER_DIFFUSE_HEIGHT@
|
||||
DIFFUSE_LIGHT: 0.7
|
||||
ACCENT_LIGHT: 0.1
|
||||
SPOT_LIGHT: 0.1
|
||||
|
||||
- file: kibot_out_blender.yaml
|
||||
definitions:
|
||||
NAME: @BLENDER_3D_ANGLED_TOP@
|
||||
COMMENT: High Quality 3D Render (Angled Top)
|
||||
DIR: @RENDER_DIR@
|
||||
VIEW: top
|
||||
ROTATE_X: @BLENDER_ROT_X@
|
||||
ROTATE_Y: @BLENDER_ROT_Y@
|
||||
ROTATE_Z: @BLENDER_ROT_Z@
|
||||
SAMPLES: @BLENDER_SAMPLES@
|
||||
RESOLUTION_X: @BLENDER_RESOLUTION_X@
|
||||
RESOLUTION_Y: @BLENDER_RESOLUTION_Y@
|
||||
TEXTURE_DPI: @BLENDER_TEXTURE_DPI@
|
||||
DNF_FILTER: @RENDER_DNF_FILTER@
|
||||
DIFFUSE_RADIUS: @BLENDER_DIFFUSE_RADIUS@
|
||||
DIFFUSE_HEIGHT: @BLENDER_DIFFUSE_HEIGHT@
|
||||
DIFFUSE_LIGHT: 0.4
|
||||
ACCENT_LIGHT: 0.1
|
||||
SPOT_LIGHT: 2.0
|
||||
|
||||
- file: kibot_out_blender.yaml
|
||||
definitions:
|
||||
NAME: @BLENDER_3D_ANGLED_BOT@
|
||||
COMMENT: High Quality 3D Render (Angled Bottom)
|
||||
DIR: @RENDER_DIR@
|
||||
VIEW: bottom
|
||||
ROTATE_X: -@BLENDER_ROT_X@
|
||||
ROTATE_Y: @BLENDER_ROT_Y@
|
||||
ROTATE_Z: @BLENDER_ROT_Z@
|
||||
SAMPLES: @BLENDER_SAMPLES@
|
||||
RESOLUTION_X: @BLENDER_RESOLUTION_X@
|
||||
RESOLUTION_Y: @BLENDER_RESOLUTION_Y@
|
||||
TEXTURE_DPI: @BLENDER_TEXTURE_DPI@
|
||||
DNF_FILTER: @RENDER_DNF_FILTER@
|
||||
DIFFUSE_RADIUS: @BLENDER_DIFFUSE_RADIUS@
|
||||
DIFFUSE_HEIGHT: @BLENDER_DIFFUSE_HEIGHT@
|
||||
DIFFUSE_LIGHT: 0.4
|
||||
ACCENT_LIGHT: 0.1
|
||||
SPOT_LIGHT: 2.0
|
||||
|
||||
# STEP File ----------------------------------------------------------------
|
||||
- file: kibot_out_3d_model.yaml
|
||||
definitions:
|
||||
@@ -493,15 +231,6 @@ import:
|
||||
PTH_NPTH: @GROUP_PTH_NPTH_DRL@
|
||||
MAP_FORMAT: pdf
|
||||
|
||||
# CSV Drill Table
|
||||
- file: kibot_out_csv_drill_table.yaml
|
||||
definitions:
|
||||
NAME: @CSV_DRILL_TABLE_OUTPUT@
|
||||
COMMENT: Drill Table in CSV format
|
||||
DIR: @FAB_DRILL_TABLES_DIR@
|
||||
PTH_NPTH: '@GROUP_PTH_NPTH@'
|
||||
GROUP_ROUND_SLOTS: @GROUP_ROUND_SLOTS@
|
||||
|
||||
# CSV Component Placement File
|
||||
- file: kibot_out_csv_position.yaml
|
||||
definitions:
|
||||
@@ -509,30 +238,6 @@ import:
|
||||
COMMENT: Position file in CSV format
|
||||
DIR: @ASSEMBLY_DIR@
|
||||
|
||||
# CSV Test Point Files
|
||||
- file: kibot_out_csv_testpoints.yaml
|
||||
definitions:
|
||||
NAME: @CSV_TP_OUTPUT@
|
||||
COMMENT: Testpoint report in CSV format
|
||||
DIR: @TESTPOINTS_DIR@
|
||||
EXCLUDE_FILTER: @FILT_TP_ONLY@
|
||||
|
||||
- file: kibot_out_csv_testpoints_simple.yaml
|
||||
definitions:
|
||||
NAME: @CSV_TP_TOP_OUTPUT@
|
||||
COMMENT: Top testpoint report in CSV format
|
||||
DIR: @TESTPOINTS_DIR@
|
||||
SUFFIX: -top
|
||||
EXCLUDE_FILTER: @FILT_TP_TOP_ONLY@
|
||||
|
||||
- file: kibot_out_csv_testpoints_simple.yaml
|
||||
definitions:
|
||||
NAME: @CSV_TP_BOTTOM_OUTPUT@
|
||||
COMMENT: Bottom testpoint report in CSV format
|
||||
DIR: @TESTPOINTS_DIR@
|
||||
SUFFIX: -bottom
|
||||
EXCLUDE_FILTER: @FILT_TP_BOTTOM_ONLY@
|
||||
|
||||
# Fabrication and Assembly Drawings
|
||||
- file: kibot_out_pdf_fabrication.yaml
|
||||
definitions:
|
||||
@@ -612,46 +317,6 @@ import:
|
||||
DIR: @JLCPCB_ASSY_DIR@
|
||||
EXCLUDE_FILTER: @FILT_LCSC_PARTS@
|
||||
|
||||
# Notes and Reports --------------------------------------------------------
|
||||
- file: kibot_out_csv_report.yaml
|
||||
definitions:
|
||||
NAME: @CSV_COMP_COUNT_OUPUT@
|
||||
COMMENT: Component report (count) in CSV format
|
||||
DIR: @ASSEMBLY_DIR@
|
||||
OUTPUT_ID: components_count
|
||||
TEMPLATE: total_components
|
||||
|
||||
- file: kibot_out_csv_report.yaml
|
||||
definitions:
|
||||
NAME: @CSV_IMPEDANCE_TABLE_OUTPUT@
|
||||
COMMENT: Impedance table in CSV format
|
||||
DIR: @FABRICATION_DIR@
|
||||
OUTPUT_ID: impedance_table
|
||||
TEMPLATE: @NOTES_DIR@/impedance_table.txt
|
||||
|
||||
- file: kibot_out_txt_report.yaml
|
||||
definitions:
|
||||
NAME: @TXT_SCH_NOTES_OUTPUT@
|
||||
COMMENT: Schematic notes in TXT format
|
||||
DIR: @SCHEMATIC_DIR@
|
||||
OUTPUT_ID: schematic_notes
|
||||
TEMPLATE: @NOTES_DIR@/schematic_notes.txt
|
||||
|
||||
- file: kibot_out_txt_report.yaml
|
||||
definitions:
|
||||
NAME: @TXT_FAB_NOTES_OUTPUT@
|
||||
COMMENT: Fabrication notes in TXT format
|
||||
DIR: @FABRICATION_DIR@
|
||||
OUTPUT_ID: fabrication_notes
|
||||
TEMPLATE: @NOTES_DIR@/fabrication_notes.txt
|
||||
|
||||
- file: kibot_out_txt_report.yaml
|
||||
definitions:
|
||||
NAME: @TXT_ASSY_NOTES_OUTPUT@
|
||||
COMMENT: Assembly notes in TXT format
|
||||
DIR: @ASSEMBLY_DIR@
|
||||
OUTPUT_ID: assembly_notes
|
||||
TEMPLATE: @NOTES_DIR@/assembly_notes.txt
|
||||
|
||||
# Panelization Outputs -----------------------------------------------------
|
||||
- file: kibot_out_panelize.yaml
|
||||
@@ -661,27 +326,90 @@ import:
|
||||
CONFIG: '@PANEL_800_CONFIG@'
|
||||
TITLE: '@PANEL_800_TITLE@'
|
||||
|
||||
# Output Groups ============================================================
|
||||
|
||||
# Bills of Materials (BOMs) ------------------------------------------------
|
||||
- file: kibot_grp_bom.yaml
|
||||
definitions:
|
||||
DIR: @ASSEMBLY_DIR@
|
||||
|
||||
NAME_CSV_BOM_OUTPUT: @CSV_BOM_OUTPUT@
|
||||
NAME_HTML_BOM_OUTPUT: @HTML_BOM_OUTPUT@
|
||||
NAME_HTML_IBOM_OUTPUT: @HTML_IBOM_OUTPUT@
|
||||
|
||||
IPN_FIELD: @IPN_FIELD@
|
||||
MPN_FIELD: @MPN_FIELD@
|
||||
MAN_FIELD: @MAN_FIELD@
|
||||
|
||||
# Drawing Notes ------------------------------------------------------------
|
||||
- file: kibot_grp_notes.yaml
|
||||
definitions:
|
||||
SCHEMATIC_DIR: @SCHEMATIC_DIR@
|
||||
FABRICATION_DIR: @FABRICATION_DIR@
|
||||
ASSEMBLY_DIR: @ASSEMBLY_DIR@
|
||||
|
||||
NAME_TXT_SCH_NOTES_OUTPUT: @TXT_SCH_NOTES_OUTPUT@
|
||||
NAME_TXT_FAB_NOTES_OUTPUT: @TXT_FAB_NOTES_OUTPUT@
|
||||
NAME_TXT_ASSY_NOTES_OUTPUT: @TXT_ASSY_NOTES_OUTPUT@
|
||||
|
||||
SCHEMATIC_NOTES_TEMPLATE: notes/schematic_notes.txt
|
||||
FABRICATION_NOTES_TEMPLATE: notes/fabrication_notes.txt
|
||||
ASSEMBLY_NOTES_TEMPLATE: notes/assembly_notes.txt
|
||||
|
||||
# Drawing Tables -----------------------------------------------------------
|
||||
- file: kibot_grp_tables.yaml
|
||||
definitions:
|
||||
FABRICATION_DIR: @FABRICATION_DIR@
|
||||
DRILL_TABLE_DIR: @DRILL_TABLE_DIR@
|
||||
ASSEMBLY_DIR: @ASSEMBLY_DIR@
|
||||
TESTPOINTS_DIR: @TESTPOINTS_DIR@
|
||||
|
||||
NAME_CSV_IMPEDANCE_TABLE_OUTPUT: @CSV_IMPEDANCE_TABLE_OUTPUT@
|
||||
NAME_CSV_COMP_COUNT_OUPUT: @CSV_COMP_COUNT_OUPUT@
|
||||
NAME_CSV_DRILL_TABLE_OUTPUT: @CSV_DRILL_TABLE_OUTPUT@
|
||||
NAME_CSV_TP_OUTPUT: @CSV_TP_OUTPUT@
|
||||
NAME_CSV_TP_TOP_OUTPUT: @CSV_TP_TOP_OUTPUT@
|
||||
NAME_CSV_TP_BOTTOM_OUTPUT: @CSV_TP_BOTTOM_OUTPUT@
|
||||
|
||||
IMPEDANCE_TABLE_TEMPLATE: notes/impedance_table.txt
|
||||
DRILL_TABLE_UNIFY_PTH_NPTH: '@GROUP_PTH_NPTH@'
|
||||
DRILL_TABLE_GROUP_ROUND_SLOTS: @GROUP_ROUND_SLOTS@
|
||||
FILT_TP_ONLY: @FILT_TP_ONLY@
|
||||
FILT_TP_TOP_ONLY: @FILT_TP_TOP_ONLY@
|
||||
FILT_TP_BOTTOM_ONLY: @FILT_TP_BOTTOM_ONLY@
|
||||
|
||||
# Renders ------------------------------------------------------------------
|
||||
- file: kibot_grp_renders.yaml
|
||||
definitions:
|
||||
DIR: @RENDER_DIR@
|
||||
|
||||
NAME_PCBDRAW_2D_TOP_PCB_OUTPUT: @PCBDRAW_2D_TOP_PCB_OUTPUT@
|
||||
NAME_PCBDRAW_2D_BOT_PCB_OUTPUT: @PCBDRAW_2D_BOT_PCB_OUTPUT@
|
||||
NAME_BLENDER_3D_TOP_OUTPUT: @BLENDER_3D_TOP_OUTPUT@
|
||||
NAME_BLENDER_3D_BOT_OUTPUT: @BLENDER_3D_BOT_OUTPUT@
|
||||
NAME_BLENDER_3D_ANGLED_TOP_OUTPUT: @BLENDER_3D_ANGLED_TOP_OUTPUT@
|
||||
NAME_BLENDER_3D_ANGLED_BOT_OUTPUT: @BLENDER_3D_ANGLED_BOT_OUTPUT@
|
||||
|
||||
BLENDER_DNF_FILTER: @BLENDER_DNF_FILTER@
|
||||
BLENDER_SAMPLES: @BLENDER_SAMPLES@
|
||||
BLENDER_TOP_ROT_X: @BLENDER_ROT_X@
|
||||
BLENDER_TOP_ROT_Y: @BLENDER_ROT_Y@
|
||||
BLENDER_TOP_ROT_Z: @BLENDER_ROT_Z@
|
||||
BLENDER_BOT_ROT_X: -@BLENDER_ROT_X@
|
||||
BLENDER_BOT_ROT_Y: @BLENDER_ROT_Y@
|
||||
BLENDER_BOT_ROT_Z: @BLENDER_ROT_Z@
|
||||
BLENDER_RESOLUTION_X: @BLENDER_RESOLUTION_X@
|
||||
BLENDER_RESOLUTION_Y: @BLENDER_RESOLUTION_Y@
|
||||
BLENDER_TEXTURE_DPI: @BLENDER_TEXTURE_DPI@
|
||||
BLENDER_DIFFUSE_HEIGHT: @BLENDER_DIFFUSE_HEIGHT@
|
||||
BLENDER_DIFFUSE_RADIUS: @BLENDER_DIFFUSE_RADIUS@
|
||||
|
||||
# ============================================================================
|
||||
# Definitions
|
||||
|
||||
...
|
||||
definitions:
|
||||
|
||||
# Project Metadata =========================================================
|
||||
PROJECT_CODE: P99
|
||||
ASSEMBLY_NUMBER: A99-9000
|
||||
ASSEMBLY_NAME: Assembly Name
|
||||
GIT_URL: /jkrauss/Test_4
|
||||
|
||||
COMPANY: Asymworks, LLC
|
||||
DESIGNER: JPK
|
||||
|
||||
DWG_NUMBER_SCH: S99-9000
|
||||
DWG_TITLE_SCH: Schematic, Assembly Name
|
||||
DWG_NUMBER_PCB: P99-9000
|
||||
DWG_TITLE_PCB: PCB, Assembly Name
|
||||
DWG_TITLE_ASSY: PCB Assembly, Assembly Name
|
||||
|
||||
# Panel Configurations -----------------------------------------------------
|
||||
PANEL_800_OUTPUT: panel_801
|
||||
PANEL_800_CONFIG: '@PANELS_DIR@/panel-800.json'
|
||||
@@ -701,7 +429,7 @@ definitions:
|
||||
# Drill Table and Drill Map Parameters =====================================
|
||||
|
||||
GROUP_ROUND_SLOTS: true # whether or not to group round holes and slots
|
||||
GROUP_PTH_NPTH: 'no' # for drill tables (CSV, PCB Print)
|
||||
GROUP_PTH_NPTH: 'yes' # for drill tables (CSV, PCB Print)
|
||||
GROUP_PTH_NPTH_DRL: false # for .drl files
|
||||
|
||||
# Gerber Parameters ========================================================
|
||||
@@ -726,13 +454,7 @@ definitions:
|
||||
|
||||
# 3D Render parameters =====================================================
|
||||
|
||||
RENDER_DNF_FILTER: _kibom_dnf_Config
|
||||
|
||||
3D_VIEWER_ROT_X: 2
|
||||
3D_VIEWER_ROT_Y: -1
|
||||
3D_VIEWER_ROT_Z: 1
|
||||
3D_VIEWER_ZOOM: -1
|
||||
KEY_COLOR: '#FF00FF' # Background color to remove. Use a color different from your PCB
|
||||
BLENDER_DNF_FILTER: _kibom_dnf_Config
|
||||
|
||||
BLENDER_SAMPLES: 20 # Overridden to 2 samples for WORKING state by CI Script
|
||||
BLENDER_ROT_X: 30
|
||||
@@ -758,7 +480,7 @@ definitions:
|
||||
ASSEMBLY_DIR: '@MANUFACTURING_DIR@/assembly'
|
||||
FABRICATION_DIR: '@MANUFACTURING_DIR@/fab'
|
||||
GERBERS_DIR: '@FABRICATION_DIR@/gerbers'
|
||||
FAB_DRILL_TABLES_DIR: '@FABRICATION_DIR@/drill-tables'
|
||||
DRILL_TABLE_DIR: '@FABRICATION_DIR@/drill-tables'
|
||||
TESTING_DIR: test
|
||||
TESTPOINTS_DIR: '@TESTING_DIR@/testpoints'
|
||||
RESOURCES_DIR: kibot
|
||||
@@ -829,15 +551,10 @@ definitions:
|
||||
PCBDRAW_2D_TOP_PCB_OUTPUT: pcbdraw_top
|
||||
PCBDRAW_2D_BOT_PCB_OUTPUT: pcbdraw_bottom
|
||||
|
||||
PNG_3D_VIEWER_TOP: png_3d_viewer_top
|
||||
PNG_3D_VIEWER_BOT: png_3d_viewer_bottom
|
||||
PNG_3D_VIEWER_ANGLED_TOP: png_3d_viewer_angled_top
|
||||
PNG_3D_VIEWER_ANGLED_BOT: png_3d_viewer_angled_bottom
|
||||
|
||||
BLENDER_3D_TOP: blender_3d_top
|
||||
BLENDER_3D_BOT: blender_3d_bottom
|
||||
BLENDER_3D_ANGLED_TOP: blender_3d_angled_top
|
||||
BLENDER_3D_ANGLED_BOT: blender_3d_angled_bottom
|
||||
BLENDER_3D_TOP_OUTPUT: blender_3d_top
|
||||
BLENDER_3D_BOT_OUTPUT: blender_3d_bottom
|
||||
BLENDER_3D_ANGLED_TOP_OUTPUT: blender_3d_angled_top
|
||||
BLENDER_3D_ANGLED_BOT_OUTPUT: blender_3d_angled_bottom
|
||||
|
||||
TXT_SCH_NOTES_OUTPUT: txt_schematic_notes
|
||||
TXT_FAB_NOTES_OUTPUT: txt_fabrication_notes
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
# KiBot output for generating Bill of Materials in CSV format
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/bom.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: bom
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
format: CSV
|
||||
csv:
|
||||
hide_pcb_info: true
|
||||
hide_stats_info: true
|
||||
|
||||
group_fields: ['@MPN_FIELD@', '@IPN_FIELD@', 'Value']
|
||||
|
||||
columns:
|
||||
- "Row"
|
||||
- "Quantity Per PCB"
|
||||
- "References"
|
||||
- "Value"
|
||||
- "Datasheet"
|
||||
- "Footprint"
|
||||
- "Description"
|
||||
- "@IPN_FIELD@"
|
||||
- "@MAN_FIELD@"
|
||||
- "@MPN_FIELD@"
|
||||
- "LCSC"
|
||||
# - "arrow#"
|
||||
# - "digikey#"
|
||||
# - "farnell#"
|
||||
# - "mouser#"
|
||||
# - "newark#"
|
||||
# - "rs#"
|
||||
# - "tme#"
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: csv_bom
|
||||
COMMENT: Bill of Materials in CSV format
|
||||
DIR: mfg/assembly
|
||||
IPN_FIELD: 'Asymworks IPN'
|
||||
MPN_FIELD: 'Manufacturer PN'
|
||||
MAN_FIELD: 'Manufacturer'
|
||||
@@ -1,25 +0,0 @@
|
||||
# KiBot output for generating Drill Tables
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/excellon.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: excellon
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
generate_drill_files: false
|
||||
table:
|
||||
unify_pth_and_npth: '@PTH_NPTH@'
|
||||
group_slots_and_round_holes: @GROUP_ROUND_SLOTS@
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: csv_drill_table
|
||||
COMMENT: Drill Table in CSV format
|
||||
DIR: mfg/fab/tables
|
||||
PTH_NPTH: 'yes'
|
||||
GROUP_ROUND_SLOTS: true
|
||||
@@ -1,51 +0,0 @@
|
||||
# KiBot output for generating Interactive HTML BoM
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/ibom.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: bom
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
format: HTML
|
||||
html:
|
||||
title: 'Bill of Materials'
|
||||
datasheet_as_link: "Datasheet"
|
||||
lcsc_link: true
|
||||
logo: false
|
||||
style: modern-blue
|
||||
|
||||
group_fields: ['@MPN_FIELD@', 'Value']
|
||||
|
||||
columns:
|
||||
- "Row"
|
||||
- "Quantity Per PCB"
|
||||
- "References"
|
||||
- "Value"
|
||||
- "Datasheet"
|
||||
- "Footprint"
|
||||
- "Description"
|
||||
- "@IPN_FIELD@"
|
||||
- "@MAN_FIELD@"
|
||||
- "@MPN_FIELD@"
|
||||
- "LCSC"
|
||||
# - "arrow#"
|
||||
# - "digikey#"
|
||||
# - "farnell#"
|
||||
# - "mouser#"
|
||||
# - "newark#"
|
||||
# - "rs#"
|
||||
# - "tme#"
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: html_bom
|
||||
COMMENT: BOM in HTML format
|
||||
DIR: mfg/assembly
|
||||
IPN_FIELD: 'Asymworks IPN'
|
||||
MPN_FIELD: 'Manufacturer PN'
|
||||
MAN_FIELD: 'Manufacturer'
|
||||
@@ -1,36 +0,0 @@
|
||||
# KiBot output for generating Interactive HTML BoM
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/ibom.html
|
||||
|
||||
# This output is currently somewhat buggy, and fails at odd times complaining
|
||||
# about missing embedded Schematic WKS frame files.
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: ibom
|
||||
dir: '@DIR@'
|
||||
category: '@DIR@'
|
||||
options:
|
||||
# extra_data_file: '%F.net'
|
||||
dark_mode: true
|
||||
show_fields: 'Value,Footprint,@IPN_FIELD@,@MPN_FIELD@'
|
||||
group_fields: 'Value,@IPN_FIELD@'
|
||||
show_fabrication: true
|
||||
highlight_pin1: "selected"
|
||||
exclude_filter: '@EXCLUDE_FILTER@'
|
||||
hide_excluded: true
|
||||
forced_name: '@TITLE@'
|
||||
mark_when_checked: 'Placed'
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: html_bom_interactive
|
||||
COMMENT: Interactive BOM in HTML format
|
||||
DIR: mfg/assembly
|
||||
EXCLUDE_FILTER: exclude_testpoints
|
||||
TITLE: ""
|
||||
IPN_FIELD: 'Asymworks IPN'
|
||||
MPN_FIELD: 'Manufacturer PN'
|
||||
@@ -1,18 +0,0 @@
|
||||
# KiBot output for generating netlist in KiCad format
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/netlist.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: netlist
|
||||
options:
|
||||
format: '@FORMAT@'
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: netlist
|
||||
FORMAT: classic
|
||||
COMMENT: Schematic netlist in KiCad format
|
||||
@@ -1,43 +0,0 @@
|
||||
# KiBot output for 3D Viewer renders in PNG format
|
||||
# https://kibot.readthedocs.io/en/latest/configuration/outputs/render_3d.html
|
||||
|
||||
kibot:
|
||||
version: 1
|
||||
|
||||
outputs:
|
||||
- name: @NAME@
|
||||
comment: '@COMMENT@'
|
||||
type: render_3d
|
||||
category: '@DIR@'
|
||||
dir: '@DIR@'
|
||||
options:
|
||||
output: '%f-@SUFFIX@%I%v.%x'
|
||||
auto_crop: true
|
||||
enable_crop_workaround: true
|
||||
rotate_x: @ROTATE_X@
|
||||
rotate_y: @ROTATE_Y@
|
||||
rotate_z: @ROTATE_Z@
|
||||
zoom: @ZOOM@
|
||||
height: @HEIGHT@
|
||||
width: @WIDTH@
|
||||
view: '@VIEW@'
|
||||
force_stackup_colors: true
|
||||
orthographic: true
|
||||
transparent_background: true
|
||||
transparent_background_color: '@KEY_COLOR@'
|
||||
transparent_background_fuzz: 40
|
||||
|
||||
...
|
||||
definitions:
|
||||
NAME: png_3d_viewer
|
||||
COMMENT: 3D viewer PCB render in PNG format
|
||||
DIR: renders
|
||||
SUFFIX: ""
|
||||
VIEW: top
|
||||
ROTATE_X: 0
|
||||
ROTATE_Y: 0
|
||||
ROTATE_Z: 0
|
||||
ZOOM: 0
|
||||
HEIGHT: 2000
|
||||
WIDTH: 2000
|
||||
KEY_COLOR: '#FF00FF'
|
||||
@@ -22,45 +22,21 @@ preflight:
|
||||
- variable: 'GIT_HASH'
|
||||
command: 'git log -1 --format="%h"'
|
||||
- variable: 'GIT_URL'
|
||||
text: '@GIT_URL@'
|
||||
command: 'git remote get-url origin | sed -e s"/\\.git$//g"'
|
||||
|
||||
# Metadata
|
||||
- variable: 'PROJECT_CODE'
|
||||
text: '@PROJECT_CODE@'
|
||||
- variable: 'ASSEMBLY_NUMBER'
|
||||
text: '@ASSEMBLY_NUMBER@'
|
||||
- variable: 'ASSEMBLY_NAME'
|
||||
text: '@ASSEMBLY_NAME@'
|
||||
- variable: 'ASSEMBLY_SCALE'
|
||||
text: '@ASSEMBLY_SCALING@'
|
||||
- variable: 'DWG_NUMBER_PCB'
|
||||
text: '@DWG_NUMBER_PCB@'
|
||||
- variable: 'DWG_NUMBER_SCH'
|
||||
text: '@DWG_NUMBER_SCH@'
|
||||
- variable: 'DWG_TITLE_PCB'
|
||||
text: '@DWG_TITLE_PCB@'
|
||||
- variable: 'DWG_TITLE_SCH'
|
||||
text: '@DWG_TITLE_SCH@'
|
||||
- variable: 'DWG_TITLE_ASSY'
|
||||
text: '@DWG_TITLE_ASSY@'
|
||||
- variable: 'COMPANY'
|
||||
text: '@COMPANY@'
|
||||
- variable: 'DESIGNER'
|
||||
text: '@DESIGNER@'
|
||||
- variable: 'VARIANT'
|
||||
text: '%V'
|
||||
|
||||
# Schematic notes
|
||||
# Notes
|
||||
- variable: 'SCHEMATIC_NOTES'
|
||||
expand_in_command: true
|
||||
command: '[ -f "@SCHEMATIC_DIR@/%f-schematic_notes%v.txt" ] && cat "@SCHEMATIC_DIR@/%f-schematic_notes%v.txt" || echo ""'
|
||||
|
||||
# Fabrication notes
|
||||
- variable: 'FABRICATION_NOTES'
|
||||
expand_in_command: true
|
||||
command: '[ -f "@FABRICATION_DIR@/%f-fabrication_notes%v.txt" ] && cat "@FABRICATION_DIR@/%f-fabrication_notes%v.txt" || echo ""'
|
||||
|
||||
# Assembly notes
|
||||
- variable: 'ASSEMBLY_NOTES'
|
||||
expand_in_command: true
|
||||
command: '[ -f "@ASSEMBLY_DIR@/%f-assembly_notes%v.txt" ] && cat "@ASSEMBLY_DIR@/%f-assembly_notes%v.txt" || echo ""'
|
||||
@@ -109,24 +85,13 @@ preflight:
|
||||
|
||||
...
|
||||
definitions:
|
||||
PROJECT_CODE: ''
|
||||
ASSEMBLY_NUMBER: ''
|
||||
ASSEMBLY_NAME: ''
|
||||
ASSEMBLY_SCALING: ''
|
||||
DWG_NUMBER_SCH: ''
|
||||
DWG_TITLE_SCH: ''
|
||||
DWG_NUMBER_PCB: ''
|
||||
DWG_TITLE_PCB: ''
|
||||
DWG_TITLE_ASSY: ''
|
||||
COMPANY: ''
|
||||
DESIGNER: ''
|
||||
REVISION: ''
|
||||
RELEASE_STATE: ''
|
||||
RELEASE_DATE: ''
|
||||
GIT_URL: ''
|
||||
|
||||
SHEET_NAME_VAR: SHEET_NAME_
|
||||
SCRIPTS_DIR: kibot/scripts
|
||||
FABRICATION_DIR: mfg/fab
|
||||
ASSEMBLY_DIR: mfg/assembly
|
||||
GET_SHEET_CMD: python3 @SCRIPTS_DIR@/get_sheet_title.py -f "${KIBOT_SCH_NAME%.kicad_sch}.xml" --dots-number 38 -p
|
||||
GET_GITURL_CMD: git remote get-url origin | sed -e s'/\.git$//g'
|
||||
11
mfg/assembly/A98-1001-assembly_notes.txt
Normal file
11
mfg/assembly/A98-1001-assembly_notes.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
ASSEMBLY NOTES (UNLESS OTHERWISE SPECIFIED)
|
||||
|
||||
1) DO NOT POPULATE COMPONENTS ARE MARKED WITH A RED CROSS
|
||||
|
||||
2) DO NOT POPULATE COMPONENTS ARE NOT PRESENT IN THE BOM
|
||||
|
||||
3) IF CONFLICTING INFORMATION IS FOUND BETWEEN THE ASSEMBLY
|
||||
FILE AND BOM, BOM SHOULD BE USED AS THE MAIN SOURCE.
|
||||
|
||||
4) DOT IDENTIFIES PIN #1 LOCATION AND DEVICE ORIENTATION
|
||||
WHEN VIEWED FROM THE TOP.
|
||||
1
mfg/assembly/A98-1001-bom.csv
Normal file
1
mfg/assembly/A98-1001-bom.csv
Normal file
@@ -0,0 +1 @@
|
||||
Row,Quantity Per PCB,References,Value,Datasheet,Footprint,Description,Asymworks IPN,Manufacturer PN,Manufacturer PN,LCSC
|
||||
|
242
mfg/assembly/A98-1001-bom.html
Normal file
242
mfg/assembly/A98-1001-bom.html
Normal file
@@ -0,0 +1,242 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Bill of Materials</title>
|
||||
<style>
|
||||
.cell-title { vertical-align: bottom; }
|
||||
.cell-info { vertical-align: top; padding: 1em;}
|
||||
.cell-extra-info { vertical-align: top; padding: 1em;}
|
||||
.cell-stats { vertical-align: top; padding: 1em;}
|
||||
.title { font-size:2.5em; font-weight: bold; }
|
||||
.subtitle { font-size:1.5em; font-weight: bold; }
|
||||
.h2 { font-size:1.5em; font-weight: bold; }
|
||||
.td-empty0 { text-align: center; background-color: #F57676;}
|
||||
.td-gen0 { text-align: center; background-color: #DCF5E4;}
|
||||
.td-kicad0 { text-align: center; background-color: #F5DCA9;}
|
||||
.td-user0 { text-align: center; background-color: #DCEFF5;}
|
||||
.td-empty1 { text-align: center; background-color: #FF8080;}
|
||||
.td-gen1 { text-align: center; background-color: #E6FFEE;}
|
||||
.td-kicad1 { text-align: center; background-color: #FFE6B3;}
|
||||
.td-user1 { text-align: center; background-color: #E6F9FF;}
|
||||
.td-nocolor { text-align: center; }
|
||||
.color-ref { margin: 25px 0; }
|
||||
.color-ref th { text-align: left }
|
||||
.color-ref td { padding: 5px 20px; }
|
||||
.head-table { margin-bottom: 2em; }
|
||||
.centered-checkmark { font-size: 30vw; text-align: center; color: green; }
|
||||
.tg-sort-header::-moz-selection{background:0 0}
|
||||
.tg-sort-header::selection{background:0 0}.tg-sort-header{cursor:pointer}
|
||||
.tg-sort-header:after{content:'';float:right;border-width:0 5px 5px;border-style:solid;
|
||||
border-color:#ffffff transparent;visibility:hidden;opacity:.6}
|
||||
.tg-sort-header:hover:after{visibility:visible}
|
||||
.tg-sort-asc:after,.tg-sort-asc:hover:after,.tg-sort-desc:after{visibility:visible;opacity:1}
|
||||
.tg-sort-desc:after{border-bottom:none;border-width:5px 5px 0}
|
||||
|
||||
.content-table {
|
||||
border-collapse:
|
||||
collapse;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 4em;
|
||||
font-size: 0.9em;
|
||||
font-family: sans-serif;
|
||||
min-width: 400px;
|
||||
border-radius: 5px 5px 0 0;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
.content-table thead tr { background-color: #0e4e8e; color: #ffffff; text-align: left; }
|
||||
.content-table th, .content-table td { padding: 12px 15px; }
|
||||
.content-table tbody tr { border-bottom: 1px solid #dddddd; }
|
||||
.content-table tbody tr:nth-of-type(even) { background-color: #f3f3f3; }
|
||||
.content-table tbody tr:last-of-type { border-bottom: 2px solid #0e4e8e; }
|
||||
.content-table * tr:hover > td { background-color: @bgl@ !important }
|
||||
|
||||
.content-table {
|
||||
border-collapse:
|
||||
collapse;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 4em;
|
||||
font-size: 0.9em;
|
||||
font-family: sans-serif;
|
||||
min-width: 400px;
|
||||
border-radius: 5px 5px 0 0;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
.content-table thead tr { background-color: @bg@; color: #ffffff; text-align: left; }
|
||||
.content-table th, .content-table td { padding: 12px 15px; }
|
||||
.content-table tbody tr { border-bottom: 1px solid #dddddd; }
|
||||
.content-table tbody tr:nth-of-type(even) { background-color: #f3f3f3; }
|
||||
.content-table tbody tr:last-of-type { border-bottom: 2px solid @bg@; }
|
||||
.content-table * tr:hover > td { background-color: #3e7ebe !important }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<table class="head-table">
|
||||
<tr>
|
||||
<td rowspan="2">
|
||||
</td>
|
||||
<td colspan="2" class="cell-title">
|
||||
<div class="title">Bill of Materials</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cell-info">
|
||||
<b>Schematic</b>: A98-1001<br>
|
||||
<b>Variant</b>: default<br>
|
||||
<b>Revision</b>: NO_TAG+ (Unreleased)<br>
|
||||
<b>Date</b>: 2026-03-11_01-52-46<br>
|
||||
<b>KiCad Version</b>: 9.0.7+1<br>
|
||||
</td>
|
||||
<td class="cell-stats">
|
||||
<b>Component Groups</b>: 0<br>
|
||||
<b>Component Count</b>: 0 (per PCB)<br>
|
||||
|
||||
<b>Fitted Components</b>: 0 (per PCB)<br>
|
||||
<b>Number of PCBs</b>: 1<br>
|
||||
<b>Total Components</b>: 0 (for 1 PCBs)<br>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2>Component Groups</h2>
|
||||
<table class="content-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="th-gen">Row</th>
|
||||
<th class="th-gen">Quantity Per PCB</th>
|
||||
<th class="th-kicad">References</th>
|
||||
<th class="th-kicad">Value</th>
|
||||
<th class="th-kicad">Datasheet</th>
|
||||
<th class="th-kicad">Footprint</th>
|
||||
<th class="th-user">Description</th>
|
||||
<th class="th-user">Asymworks IPN</th>
|
||||
<th class="th-user">Manufacturer PN</th>
|
||||
<th class="th-user">Manufacturer PN</th>
|
||||
<th class="th-user">LCSC</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="color-ref">
|
||||
<tr><th>Color reference for columns:</th></tr>
|
||||
<tr><td class="td-kicad0">KiCad Fields (default)</td></tr>
|
||||
<tr><td class="td-gen0">Generated Fields</td></tr>
|
||||
<tr><td class="td-user0">User Fields</td></tr>
|
||||
<tr><td class="td-empty0">Empty Fields</td></tr>
|
||||
</table>
|
||||
<script charset="utf-8">
|
||||
var TGSort = window.TGSort || function(n) {
|
||||
"use strict";
|
||||
function r(n) { return n ? n.length : 0 }
|
||||
function t(n, t, e, o = 0) { for (e = r(n); o < e; ++o) t(n[o], o) }
|
||||
function e(n) { return n.split("").reverse().join("") }
|
||||
function o(n) {
|
||||
var e = n[0];
|
||||
return t(n, function(n) {
|
||||
for (; !n.startsWith(e);) e = e.substring(0, r(e) - 1)
|
||||
}), r(e)
|
||||
}
|
||||
function u(n, r, e = []) {
|
||||
return t(n, function(n) {
|
||||
r(n) && e.push(n)
|
||||
}), e
|
||||
}
|
||||
var a = parseFloat;
|
||||
function i(n, r) {
|
||||
return function(t) {
|
||||
var e = "";
|
||||
return t.replace(n, function(n, t, o) {
|
||||
return e = t.replace(r, "") + "." + (o || "").substring(1)
|
||||
}), a(e)
|
||||
}
|
||||
}
|
||||
var s = i(/^(?:\s*)([+-]?(?:\d+)(?:,\d{3})*)(\.\d*)?$/g, /,/g),
|
||||
c = i(/^(?:\s*)([+-]?(?:\d+)(?:\.\d{3})*)(,\d*)?$/g, /\./g);
|
||||
function f(n) {
|
||||
var t = a(n);
|
||||
return !isNaN(t) && r("" + t) + 1 >= r(n) ? t : NaN
|
||||
}
|
||||
function d(n) {
|
||||
var e = [],
|
||||
o = n;
|
||||
return t([f, s, c], function(u) {
|
||||
var a = [],
|
||||
i = [];
|
||||
t(n, function(n, r) {
|
||||
r = u(n), a.push(r), r || i.push(n)
|
||||
}), r(i) < r(o) && (o = i, e = a)
|
||||
}), r(u(o, function(n) {
|
||||
return n == o[0]
|
||||
})) == r(o) ? e : []
|
||||
}
|
||||
function v(n) {
|
||||
if ("TABLE" == n.nodeName) {
|
||||
for (var a = function(r) {
|
||||
var e, o, u = [],
|
||||
a = [];
|
||||
return function n(r, e) {
|
||||
e(r), t(r.childNodes, function(r) {
|
||||
n(r, e)
|
||||
})
|
||||
}(n, function(n) {
|
||||
"TR" == (o = n.nodeName) ? (e = [], u.push(e), a.push(n)) : "TD" != o && "TH" != o || e.push(n)
|
||||
}), [u, a]
|
||||
}(), i = a[0], s = a[1], c = r(i), f = c > 1 && r(i[0]) < r(i[1]) ? 1 : 0, v = f + 1, p = i[f], h = r(p), l = [], g = [], N = [], m = v; m < c; ++m) {
|
||||
for (var T = 0; T < h; ++T) {
|
||||
r(g) < h && g.push([]);
|
||||
var C = i[m][T],
|
||||
L = C.textContent || C.innerText || "";
|
||||
g[T].push(L.trim())
|
||||
}
|
||||
N.push(m - v)
|
||||
}
|
||||
t(p, function(n, t) {
|
||||
l[t] = 0;
|
||||
var a = n.classList;
|
||||
a.add("tg-sort-header"), n.addEventListener("click", function() {
|
||||
var n = l[t];
|
||||
! function() {
|
||||
for (var n = 0; n < h; ++n) {
|
||||
var r = p[n].classList;
|
||||
r.remove("tg-sort-asc"), r.remove("tg-sort-desc"), l[n] = 0
|
||||
}
|
||||
}(), (n = 1 == n ? -1 : +!n) && a.add(n > 0 ? "tg-sort-asc" : "tg-sort-desc"), l[t] = n;
|
||||
var i, f = g[t],
|
||||
m = function(r, t) {
|
||||
return n * f[r].localeCompare(f[t]) || n * (r - t)
|
||||
},
|
||||
T = function(n) {
|
||||
var t = d(n);
|
||||
if (!r(t)) {
|
||||
var u = o(n),
|
||||
a = o(n.map(e));
|
||||
t = d(n.map(function(n) {
|
||||
return n.substring(u, r(n) - a)
|
||||
}))
|
||||
}
|
||||
return t
|
||||
}(f);
|
||||
(r(T) || r(T = r(u(i = f.map(Date.parse), isNaN)) ? [] : i)) && (m = function(r, t) {
|
||||
var e = T[r],
|
||||
o = T[t],
|
||||
u = isNaN(e),
|
||||
a = isNaN(o);
|
||||
return u && a ? 0 : u ? -n : a ? n : e > o ? n : e < o ? -n : n * (r - t)
|
||||
});
|
||||
var C, L = N.slice();
|
||||
L.sort(m);
|
||||
for (var E = v; E < c; ++E)(C = s[E].parentNode).removeChild(s[E]);
|
||||
for (E = v; E < c; ++E) C.appendChild(s[v + L[E - v]])
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
n.addEventListener("DOMContentLoaded", function() {
|
||||
for (var t = n.getElementsByClassName("content-table"), e = 0; e < r(t); ++e) try {
|
||||
v(t[e])
|
||||
} catch (n) {}
|
||||
})
|
||||
}(document)
|
||||
</script>
|
||||
</body></html>
|
||||
4
mfg/assembly/A98-1001-components_count.csv
Normal file
4
mfg/assembly/A98-1001-components_count.csv
Normal file
@@ -0,0 +1,4 @@
|
||||
Type,Front Side,Back Side,Total
|
||||
THT,0,0,0
|
||||
SMD,0,0,0
|
||||
Total,0,0,0
|
||||
|
11
mfg/assembly/Asymworks_Template-assembly_notes.txt
Normal file
11
mfg/assembly/Asymworks_Template-assembly_notes.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
ASSEMBLY NOTES (UNLESS OTHERWISE SPECIFIED)
|
||||
|
||||
1) DO NOT POPULATE COMPONENTS ARE MARKED WITH A RED CROSS
|
||||
|
||||
2) DO NOT POPULATE COMPONENTS ARE NOT PRESENT IN THE BOM
|
||||
|
||||
3) IF CONFLICTING INFORMATION IS FOUND BETWEEN THE ASSEMBLY
|
||||
FILE AND BOM, BOM SHOULD BE USED AS THE MAIN SOURCE.
|
||||
|
||||
4) DOT IDENTIFIES PIN #1 LOCATION AND DEVICE ORIENTATION
|
||||
WHEN VIEWED FROM THE TOP.
|
||||
1
mfg/assembly/Asymworks_Template-bom.csv
Normal file
1
mfg/assembly/Asymworks_Template-bom.csv
Normal file
@@ -0,0 +1 @@
|
||||
Row,Quantity Per PCB,References,Value,Datasheet,Footprint,Description,Asymworks IPN,Manufacturer,Manufacturer PN,LCSC
|
||||
|
242
mfg/assembly/Asymworks_Template-bom.html
Normal file
242
mfg/assembly/Asymworks_Template-bom.html
Normal file
@@ -0,0 +1,242 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Bill of Materials</title>
|
||||
<style>
|
||||
.cell-title { vertical-align: bottom; }
|
||||
.cell-info { vertical-align: top; padding: 1em;}
|
||||
.cell-extra-info { vertical-align: top; padding: 1em;}
|
||||
.cell-stats { vertical-align: top; padding: 1em;}
|
||||
.title { font-size:2.5em; font-weight: bold; }
|
||||
.subtitle { font-size:1.5em; font-weight: bold; }
|
||||
.h2 { font-size:1.5em; font-weight: bold; }
|
||||
.td-empty0 { text-align: center; background-color: #F57676;}
|
||||
.td-gen0 { text-align: center; background-color: #DCF5E4;}
|
||||
.td-kicad0 { text-align: center; background-color: #F5DCA9;}
|
||||
.td-user0 { text-align: center; background-color: #DCEFF5;}
|
||||
.td-empty1 { text-align: center; background-color: #FF8080;}
|
||||
.td-gen1 { text-align: center; background-color: #E6FFEE;}
|
||||
.td-kicad1 { text-align: center; background-color: #FFE6B3;}
|
||||
.td-user1 { text-align: center; background-color: #E6F9FF;}
|
||||
.td-nocolor { text-align: center; }
|
||||
.color-ref { margin: 25px 0; }
|
||||
.color-ref th { text-align: left }
|
||||
.color-ref td { padding: 5px 20px; }
|
||||
.head-table { margin-bottom: 2em; }
|
||||
.centered-checkmark { font-size: 30vw; text-align: center; color: green; }
|
||||
.tg-sort-header::-moz-selection{background:0 0}
|
||||
.tg-sort-header::selection{background:0 0}.tg-sort-header{cursor:pointer}
|
||||
.tg-sort-header:after{content:'';float:right;border-width:0 5px 5px;border-style:solid;
|
||||
border-color:#ffffff transparent;visibility:hidden;opacity:.6}
|
||||
.tg-sort-header:hover:after{visibility:visible}
|
||||
.tg-sort-asc:after,.tg-sort-asc:hover:after,.tg-sort-desc:after{visibility:visible;opacity:1}
|
||||
.tg-sort-desc:after{border-bottom:none;border-width:5px 5px 0}
|
||||
|
||||
.content-table {
|
||||
border-collapse:
|
||||
collapse;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 4em;
|
||||
font-size: 0.9em;
|
||||
font-family: sans-serif;
|
||||
min-width: 400px;
|
||||
border-radius: 5px 5px 0 0;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
.content-table thead tr { background-color: #0e4e8e; color: #ffffff; text-align: left; }
|
||||
.content-table th, .content-table td { padding: 12px 15px; }
|
||||
.content-table tbody tr { border-bottom: 1px solid #dddddd; }
|
||||
.content-table tbody tr:nth-of-type(even) { background-color: #f3f3f3; }
|
||||
.content-table tbody tr:last-of-type { border-bottom: 2px solid #0e4e8e; }
|
||||
.content-table * tr:hover > td { background-color: @bgl@ !important }
|
||||
|
||||
.content-table {
|
||||
border-collapse:
|
||||
collapse;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 4em;
|
||||
font-size: 0.9em;
|
||||
font-family: sans-serif;
|
||||
min-width: 400px;
|
||||
border-radius: 5px 5px 0 0;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
.content-table thead tr { background-color: @bg@; color: #ffffff; text-align: left; }
|
||||
.content-table th, .content-table td { padding: 12px 15px; }
|
||||
.content-table tbody tr { border-bottom: 1px solid #dddddd; }
|
||||
.content-table tbody tr:nth-of-type(even) { background-color: #f3f3f3; }
|
||||
.content-table tbody tr:last-of-type { border-bottom: 2px solid @bg@; }
|
||||
.content-table * tr:hover > td { background-color: #3e7ebe !important }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<table class="head-table">
|
||||
<tr>
|
||||
<td rowspan="2">
|
||||
</td>
|
||||
<td colspan="2" class="cell-title">
|
||||
<div class="title">Bill of Materials</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="cell-info">
|
||||
<b>Schematic</b>: Asymworks_Template<br>
|
||||
<b>Variant</b>: default<br>
|
||||
<b>Revision</b>: NO_TAG+ (Unreleased)<br>
|
||||
<b>Date</b>: 2026-03-10_23-05-42<br>
|
||||
<b>KiCad Version</b>: 9.0.7+1<br>
|
||||
</td>
|
||||
<td class="cell-stats">
|
||||
<b>Component Groups</b>: 0<br>
|
||||
<b>Component Count</b>: 0 (per PCB)<br>
|
||||
|
||||
<b>Fitted Components</b>: 0 (per PCB)<br>
|
||||
<b>Number of PCBs</b>: 1<br>
|
||||
<b>Total Components</b>: 0 (for 1 PCBs)<br>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2>Component Groups</h2>
|
||||
<table class="content-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="th-gen">Row</th>
|
||||
<th class="th-gen">Quantity Per PCB</th>
|
||||
<th class="th-kicad">References</th>
|
||||
<th class="th-kicad">Value</th>
|
||||
<th class="th-kicad">Datasheet</th>
|
||||
<th class="th-kicad">Footprint</th>
|
||||
<th class="th-user">Description</th>
|
||||
<th class="th-user">Asymworks IPN</th>
|
||||
<th class="th-user">Manufacturer</th>
|
||||
<th class="th-user">Manufacturer PN</th>
|
||||
<th class="th-user">LCSC</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="color-ref">
|
||||
<tr><th>Color reference for columns:</th></tr>
|
||||
<tr><td class="td-kicad0">KiCad Fields (default)</td></tr>
|
||||
<tr><td class="td-gen0">Generated Fields</td></tr>
|
||||
<tr><td class="td-user0">User Fields</td></tr>
|
||||
<tr><td class="td-empty0">Empty Fields</td></tr>
|
||||
</table>
|
||||
<script charset="utf-8">
|
||||
var TGSort = window.TGSort || function(n) {
|
||||
"use strict";
|
||||
function r(n) { return n ? n.length : 0 }
|
||||
function t(n, t, e, o = 0) { for (e = r(n); o < e; ++o) t(n[o], o) }
|
||||
function e(n) { return n.split("").reverse().join("") }
|
||||
function o(n) {
|
||||
var e = n[0];
|
||||
return t(n, function(n) {
|
||||
for (; !n.startsWith(e);) e = e.substring(0, r(e) - 1)
|
||||
}), r(e)
|
||||
}
|
||||
function u(n, r, e = []) {
|
||||
return t(n, function(n) {
|
||||
r(n) && e.push(n)
|
||||
}), e
|
||||
}
|
||||
var a = parseFloat;
|
||||
function i(n, r) {
|
||||
return function(t) {
|
||||
var e = "";
|
||||
return t.replace(n, function(n, t, o) {
|
||||
return e = t.replace(r, "") + "." + (o || "").substring(1)
|
||||
}), a(e)
|
||||
}
|
||||
}
|
||||
var s = i(/^(?:\s*)([+-]?(?:\d+)(?:,\d{3})*)(\.\d*)?$/g, /,/g),
|
||||
c = i(/^(?:\s*)([+-]?(?:\d+)(?:\.\d{3})*)(,\d*)?$/g, /\./g);
|
||||
function f(n) {
|
||||
var t = a(n);
|
||||
return !isNaN(t) && r("" + t) + 1 >= r(n) ? t : NaN
|
||||
}
|
||||
function d(n) {
|
||||
var e = [],
|
||||
o = n;
|
||||
return t([f, s, c], function(u) {
|
||||
var a = [],
|
||||
i = [];
|
||||
t(n, function(n, r) {
|
||||
r = u(n), a.push(r), r || i.push(n)
|
||||
}), r(i) < r(o) && (o = i, e = a)
|
||||
}), r(u(o, function(n) {
|
||||
return n == o[0]
|
||||
})) == r(o) ? e : []
|
||||
}
|
||||
function v(n) {
|
||||
if ("TABLE" == n.nodeName) {
|
||||
for (var a = function(r) {
|
||||
var e, o, u = [],
|
||||
a = [];
|
||||
return function n(r, e) {
|
||||
e(r), t(r.childNodes, function(r) {
|
||||
n(r, e)
|
||||
})
|
||||
}(n, function(n) {
|
||||
"TR" == (o = n.nodeName) ? (e = [], u.push(e), a.push(n)) : "TD" != o && "TH" != o || e.push(n)
|
||||
}), [u, a]
|
||||
}(), i = a[0], s = a[1], c = r(i), f = c > 1 && r(i[0]) < r(i[1]) ? 1 : 0, v = f + 1, p = i[f], h = r(p), l = [], g = [], N = [], m = v; m < c; ++m) {
|
||||
for (var T = 0; T < h; ++T) {
|
||||
r(g) < h && g.push([]);
|
||||
var C = i[m][T],
|
||||
L = C.textContent || C.innerText || "";
|
||||
g[T].push(L.trim())
|
||||
}
|
||||
N.push(m - v)
|
||||
}
|
||||
t(p, function(n, t) {
|
||||
l[t] = 0;
|
||||
var a = n.classList;
|
||||
a.add("tg-sort-header"), n.addEventListener("click", function() {
|
||||
var n = l[t];
|
||||
! function() {
|
||||
for (var n = 0; n < h; ++n) {
|
||||
var r = p[n].classList;
|
||||
r.remove("tg-sort-asc"), r.remove("tg-sort-desc"), l[n] = 0
|
||||
}
|
||||
}(), (n = 1 == n ? -1 : +!n) && a.add(n > 0 ? "tg-sort-asc" : "tg-sort-desc"), l[t] = n;
|
||||
var i, f = g[t],
|
||||
m = function(r, t) {
|
||||
return n * f[r].localeCompare(f[t]) || n * (r - t)
|
||||
},
|
||||
T = function(n) {
|
||||
var t = d(n);
|
||||
if (!r(t)) {
|
||||
var u = o(n),
|
||||
a = o(n.map(e));
|
||||
t = d(n.map(function(n) {
|
||||
return n.substring(u, r(n) - a)
|
||||
}))
|
||||
}
|
||||
return t
|
||||
}(f);
|
||||
(r(T) || r(T = r(u(i = f.map(Date.parse), isNaN)) ? [] : i)) && (m = function(r, t) {
|
||||
var e = T[r],
|
||||
o = T[t],
|
||||
u = isNaN(e),
|
||||
a = isNaN(o);
|
||||
return u && a ? 0 : u ? -n : a ? n : e > o ? n : e < o ? -n : n * (r - t)
|
||||
});
|
||||
var C, L = N.slice();
|
||||
L.sort(m);
|
||||
for (var E = v; E < c; ++E)(C = s[E].parentNode).removeChild(s[E]);
|
||||
for (E = v; E < c; ++E) C.appendChild(s[v + L[E - v]])
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
n.addEventListener("DOMContentLoaded", function() {
|
||||
for (var t = n.getElementsByClassName("content-table"), e = 0; e < r(t); ++e) try {
|
||||
v(t[e])
|
||||
} catch (n) {}
|
||||
})
|
||||
}(document)
|
||||
</script>
|
||||
</body></html>
|
||||
4
mfg/assembly/Asymworks_Template-components_count.csv
Normal file
4
mfg/assembly/Asymworks_Template-components_count.csv
Normal file
@@ -0,0 +1,4 @@
|
||||
Type,Front Side,Back Side,Total
|
||||
THT,0,0,0
|
||||
SMD,0,0,0
|
||||
Total,0,0,0
|
||||
|
50
mfg/fab/A98-1001-fabrication_notes.txt
Normal file
50
mfg/fab/A98-1001-fabrication_notes.txt
Normal file
@@ -0,0 +1,50 @@
|
||||
FABRICATION NOTES (UNLESS OTHERWISE SPECIFIED)
|
||||
|
||||
1) FABRICATE PER IPC-6012A CLASS 2.
|
||||
|
||||
2) OUTLINE DEFINED IN SEPARATE GERBER FILE WITH
|
||||
"Edge_Cuts.GBR" SUFFIX.
|
||||
|
||||
3) SEE SEPARATE DRILL FILES WITH ".DRL" SUFFIX
|
||||
FOR HOLE LOCATIONS.
|
||||
|
||||
SELECTED HOLE LOCATIONS SHOWN ON THIS DRAWING
|
||||
FOR REFERENCE ONLY.
|
||||
|
||||
4) SURFACE FINISH: ENIG
|
||||
|
||||
5) SOLDERMASK ON BOTH SIDES OF THE BOARD SHALL
|
||||
BE LPI, COLOR GREEN.
|
||||
|
||||
6) SILK SCREEN LEGEND TO BE APPLIED PER LAYER
|
||||
STACKUP USING WHITE NON-CONDUCTIVE EPOXY INK.
|
||||
|
||||
7) ALL VIAS ARE TENTED ON BOTH SIDES UNLESS
|
||||
SOLDERMASK OPENED IN GERBER.
|
||||
|
||||
8) RESERVED
|
||||
|
||||
9) PCB MATERIAL REQUIREMENTS:
|
||||
|
||||
A. FLAMMABILITY RATING MUST MEET OR EXCEED
|
||||
UL94V-0 REQUIREMENTS.
|
||||
B. Tg 135 C OR EQUIVALENT.
|
||||
|
||||
10) DESIGN GEOMETRY MINIMUM FEATURE SIZES:
|
||||
|
||||
BOARD SIZE N/A × N/A mm
|
||||
BOARD THICKNESS 1.647 mm
|
||||
TRACE WIDTH N/A mm
|
||||
TRACE TO TRACE 0.200 mm
|
||||
MIN. HOLE (PTH) N/A mm
|
||||
MIN. HOLE (NPTH) N/A mm
|
||||
ANNULAR RING N/A mm
|
||||
COPPER TO HOLE 0.250 mm
|
||||
COPPER TO EDGE 0.500 mm
|
||||
HOLE TO HOLE 0.250 mm
|
||||
|
||||
11) ALL DIMENSIONS ARE IN MILLIMETERS UNLESS OTHERWISE
|
||||
SPECIFIED.
|
||||
|
||||
12) FOR REFERENCE ONLY THE STACKUP CORRESPONDS TO JLCPCB
|
||||
STACKUP JLC04161H-7628.
|
||||
4
mfg/fab/A98-1001-impedance_table.csv
Normal file
4
mfg/fab/A98-1001-impedance_table.csv
Normal file
@@ -0,0 +1,4 @@
|
||||
Layer,Ref1,Ref2,Type,Impedance,Width,Space,Tolerance
|
||||
L1,AIR,L2,SE,50,0.349,-----,10%
|
||||
L1,AIR,L2,DIFF,90,0.286,0.203,10%
|
||||
L1,AIR,L2,DIFF,100,0.221,0.203,10%
|
||||
|
50
mfg/fab/Asymworks_Template-fabrication_notes.txt
Normal file
50
mfg/fab/Asymworks_Template-fabrication_notes.txt
Normal file
@@ -0,0 +1,50 @@
|
||||
FABRICATION NOTES (UNLESS OTHERWISE SPECIFIED)
|
||||
|
||||
1) FABRICATE PER IPC-6012A CLASS 2.
|
||||
|
||||
2) OUTLINE DEFINED IN SEPARATE GERBER FILE WITH
|
||||
"Edge_Cuts.GBR" SUFFIX.
|
||||
|
||||
3) SEE SEPARATE DRILL FILES WITH ".DRL" SUFFIX
|
||||
FOR HOLE LOCATIONS.
|
||||
|
||||
SELECTED HOLE LOCATIONS SHOWN ON THIS DRAWING
|
||||
FOR REFERENCE ONLY.
|
||||
|
||||
4) SURFACE FINISH: ENIG
|
||||
|
||||
5) SOLDERMASK ON BOTH SIDES OF THE BOARD SHALL
|
||||
BE LPI, COLOR GREEN.
|
||||
|
||||
6) SILK SCREEN LEGEND TO BE APPLIED PER LAYER
|
||||
STACKUP USING WHITE NON-CONDUCTIVE EPOXY INK.
|
||||
|
||||
7) ALL VIAS ARE TENTED ON BOTH SIDES UNLESS
|
||||
SOLDERMASK OPENED IN GERBER.
|
||||
|
||||
8) RESERVED
|
||||
|
||||
9) PCB MATERIAL REQUIREMENTS:
|
||||
|
||||
A. FLAMMABILITY RATING MUST MEET OR EXCEED
|
||||
UL94V-0 REQUIREMENTS.
|
||||
B. Tg 135 C OR EQUIVALENT.
|
||||
|
||||
10) DESIGN GEOMETRY MINIMUM FEATURE SIZES:
|
||||
|
||||
BOARD SIZE N/A × N/A mm
|
||||
BOARD THICKNESS 1.647 mm
|
||||
TRACE WIDTH N/A mm
|
||||
TRACE TO TRACE 0.200 mm
|
||||
MIN. HOLE (PTH) N/A mm
|
||||
MIN. HOLE (NPTH) N/A mm
|
||||
ANNULAR RING N/A mm
|
||||
COPPER TO HOLE 0.250 mm
|
||||
COPPER TO EDGE 0.500 mm
|
||||
HOLE TO HOLE 0.250 mm
|
||||
|
||||
11) ALL DIMENSIONS ARE IN MILLIMETERS UNLESS OTHERWISE
|
||||
SPECIFIED.
|
||||
|
||||
12) FOR REFERENCE ONLY THE STACKUP CORRESPONDS TO JLCPCB
|
||||
STACKUP JLC04161H-7628.
|
||||
4
mfg/fab/Asymworks_Template-impedance_table.csv
Normal file
4
mfg/fab/Asymworks_Template-impedance_table.csv
Normal file
@@ -0,0 +1,4 @@
|
||||
Layer,Ref1,Ref2,Type,Impedance,Width,Space,Tolerance
|
||||
L1,AIR,L2,SE,50,0.349,-----,10%
|
||||
L1,AIR,L2,DIFF,90,0.286,0.203,10%
|
||||
L1,AIR,L2,DIFF,100,0.221,0.203,10%
|
||||
|
12
project.json
Normal file
12
project.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"AssemblyName": "nRF52840 Development Board",
|
||||
"AssemblyNumber": "A98-1001",
|
||||
"AssemblyTitle": "Assembly, nRF52840 Development Board",
|
||||
"Company": "Asymworks, LLC",
|
||||
"Designer": "JPK",
|
||||
"FabNumber": "P98-1001",
|
||||
"FabTitle": "PCB Fabrication, nRF52840 Development Board",
|
||||
"ProjectNumber": "P98",
|
||||
"SchematicNumber": "S98-1001",
|
||||
"SchematicTitle": "Schematic, nRF52840 Development Board"
|
||||
}
|
||||
BIN
schematic/A98-1001-schematic.pdf
Normal file
BIN
schematic/A98-1001-schematic.pdf
Normal file
Binary file not shown.
1
schematic/A98-1001-schematic_notes.txt
Normal file
1
schematic/A98-1001-schematic_notes.txt
Normal file
@@ -0,0 +1 @@
|
||||
Unless otherwise specified, components Values are in ohms, µF, and µH.
|
||||
BIN
schematic/Asymworks_Template-schematic.pdf
Normal file
BIN
schematic/Asymworks_Template-schematic.pdf
Normal file
Binary file not shown.
1
schematic/Asymworks_Template-schematic_notes.txt
Normal file
1
schematic/Asymworks_Template-schematic_notes.txt
Normal file
@@ -0,0 +1 @@
|
||||
Unless otherwise specified, components Values are in ohms, µF, and µH.
|
||||
1
test/testpoints/A98-1001-testpoints-bottom.csv
Normal file
1
test/testpoints/A98-1001-testpoints-bottom.csv
Normal file
@@ -0,0 +1 @@
|
||||
Ref.,Net,X [mm],Y [mm]
|
||||
|
1
test/testpoints/A98-1001-testpoints-top.csv
Normal file
1
test/testpoints/A98-1001-testpoints-top.csv
Normal file
@@ -0,0 +1 @@
|
||||
Ref.,Net,X [mm],Y [mm]
|
||||
|
1
test/testpoints/A98-1001-testpoints.csv
Normal file
1
test/testpoints/A98-1001-testpoints.csv
Normal file
@@ -0,0 +1 @@
|
||||
Testpoint Ref.,Net,Net Class,X,Y,Side,Pad Type,Value,Footprint
|
||||
|
1
test/testpoints/Asymworks_Template-testpoints-bottom.csv
Normal file
1
test/testpoints/Asymworks_Template-testpoints-bottom.csv
Normal file
@@ -0,0 +1 @@
|
||||
Ref.,Net,X [mm],Y [mm]
|
||||
|
1
test/testpoints/Asymworks_Template-testpoints-top.csv
Normal file
1
test/testpoints/Asymworks_Template-testpoints-top.csv
Normal file
@@ -0,0 +1 @@
|
||||
Ref.,Net,X [mm],Y [mm]
|
||||
|
1
test/testpoints/Asymworks_Template-testpoints.csv
Normal file
1
test/testpoints/Asymworks_Template-testpoints.csv
Normal file
@@ -0,0 +1 @@
|
||||
Testpoint Ref.,Net,Net Class,X,Y,Side,Pad Type,Value,Footprint
|
||||
|
Reference in New Issue
Block a user