This commit is contained in:
215
.gitea/workflows/ci.yaml
Normal file
215
.gitea/workflows/ci.yaml
Normal file
@@ -0,0 +1,215 @@
|
|||||||
|
name: KiBot CI
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- release/rev-**
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- dev
|
||||||
|
- review/rev-**
|
||||||
|
paths-ignore:
|
||||||
|
- '*.md'
|
||||||
|
|
||||||
|
env:
|
||||||
|
# KiBot Configuration
|
||||||
|
kibot_cache: kibot/cache
|
||||||
|
kibot_config: kibot/yaml/kibot_main.yaml
|
||||||
|
kibot_draft: true
|
||||||
|
kibot_log: kibot_run.log
|
||||||
|
|
||||||
|
# Update these to correspond to the KiCad version
|
||||||
|
kibot_group: "all_group"
|
||||||
|
kibot_tag: "dev"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
container: ghcr.io/inti-cmnb/kicad9_auto_full:${{ env.kibot_tag }}
|
||||||
|
if: ${{ github.ref_type == 'tag' || !startsWith(github.event.head_commit.message, 'Merge pull request') }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Install NodeJS
|
||||||
|
run: |
|
||||||
|
apt-get update && apt -y install --no-install-recommends nodejs
|
||||||
|
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
sparse-checkout: null
|
||||||
|
|
||||||
|
- name: Determine Release Stage
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
stage=unknown
|
||||||
|
if [ "${{ github.ref == 'refs/heads/dev' }}" = "true" ] ; then
|
||||||
|
if [ "${{ env.kibot_draft }}" = "true" ] ; then
|
||||||
|
stage=DRAFT
|
||||||
|
else
|
||||||
|
stage=WORKING
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ "${{ env.kibot_draft}}" == "true" ] ; then
|
||||||
|
echo "Error: kibot_draft is set outside of dev branch"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${{ startsWith(github.ref, 'refs/heads/review/rev-') }}" = "true" ] ; then
|
||||||
|
stage=REVIEW
|
||||||
|
elif [ "${{ github.ref_type == 'tag' }}" = "true" ] ; then
|
||||||
|
stage=RELEASE
|
||||||
|
else
|
||||||
|
echo "Error: could not determine release stage"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Release Stage: $stage"
|
||||||
|
echo "kibot_stage=$stage" > $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Setup KiBot Arguments
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
last_tag=$(git describe --tags --abbrev=0 || echo "NO_TAG")
|
||||||
|
echo "Last tag: ${last_tag}"
|
||||||
|
if [ "${{ github.ref_type }}" = "tag" ]; then
|
||||||
|
version_arg="-E RELEASE_STATE='RELEASE' -E REVISION='${last_tag##release/rev-}'"
|
||||||
|
echo "Overriding kibot_variant to 'RELEASE' for tag"
|
||||||
|
echo "kibot_variant=RELEASE" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
version_arg="-E RELEASE_STATE='${{ env.kibot_stage }}' -E REVISION='${last_tag##release/rev-}+ (Unreleased)'"
|
||||||
|
echo "kibot_variant=${{ env.kibot_stage }}" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$kibot_stage" in
|
||||||
|
"DRAFT")
|
||||||
|
additional_args="--skip-pre draw_fancy_stackup,erc,drc ${version_arg} --log ${{ env.kibot_log }} draft_group"
|
||||||
|
;;
|
||||||
|
"WORKING")
|
||||||
|
additional_args="--skip-pre erc,drc ${version_arg} -E BLENDER_SAMPLES=2 --log ${{ env.kibot_log }} ${{ env.kibot_group }}"
|
||||||
|
;;
|
||||||
|
"REVIEW"|"RELEASE")
|
||||||
|
additional_args="${version_arg} --log ${{ env.kibot_log }} ${{ env.kibot_group }}"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown Stage: $kibot_stage"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo "version_arg=${version_arg}" >> $GITHUB_ENV
|
||||||
|
echo "additional_args=${additional_args}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Remove KiRi Files from Prior Revisions
|
||||||
|
shell: bash
|
||||||
|
run: '[ -d kiri ] && git rm -rf kiri/* || echo "No KiRi files to delete"'
|
||||||
|
|
||||||
|
- name: Retrieve Cached 3d Models
|
||||||
|
id: cache-models-restore
|
||||||
|
uses: actions/cache/restore@v4
|
||||||
|
with:
|
||||||
|
path: ${{ env.kibot_cache }}/3d_models
|
||||||
|
key: 3d_models
|
||||||
|
|
||||||
|
- name: Check KiBot Version Information
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
kibot --version | awk '{ print $1 ": " $2 }'
|
||||||
|
echo KiCad: `dpkg --robot -l kicad | grep kicad | awk '{print $3}'`
|
||||||
|
echo Debian: `cat /etc/debian_version`
|
||||||
|
pcbnew_do --version | awk 'BEGIN{ done=0 } { if (done == 0) { print "KiAuto: " $2; done=1 } }'
|
||||||
|
echo "iBoM:" `INTERACTIVE_HTML_BOM_NO_DISPLAY=True generate_interactive_bom.py --version 2> /dev/null | grep "^v" | tr -d 'v'`
|
||||||
|
|
||||||
|
- name: Run KiBot (Update XML)
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
/usr/bin/kicad-git-filters.py
|
||||||
|
kibot -c kibot/yaml/kibot_pre_update_xml.yaml -d . --log kibot_run_xml.log
|
||||||
|
|
||||||
|
- name: Run KiBot (Preprocessing)
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
/usr/bin/kicad-git-filters.py
|
||||||
|
kibot -c ${{ env.kibot_config }} \
|
||||||
|
-d . \
|
||||||
|
--log kibot_run_preprocess.log \
|
||||||
|
--skip-pre all \
|
||||||
|
${{ env.version_arg }} \
|
||||||
|
preprocess_group
|
||||||
|
|
||||||
|
- name: Run KiBot (Outputs)
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
/usr/bin/kicad-git-filters.py
|
||||||
|
export KIBOT_3D_MODELS="${{ env.kibot_cache }}/3d_models"
|
||||||
|
echo Exporting KIBOT_3D_MODELS=$KIBOT_3D_MODELS
|
||||||
|
kibot -c ${{ env.kibot_config }} -d . ${{ env.additional_args }}
|
||||||
|
|
||||||
|
- name: Save Cached 3d Models
|
||||||
|
id: cache-models-save
|
||||||
|
if: always()
|
||||||
|
uses: actions/cache/save@v4
|
||||||
|
with:
|
||||||
|
path: ${{ env.kibot_cache }}/3d_models
|
||||||
|
key: ${{ steps.cache-models-restore.outputs.cache-primary-key }}
|
||||||
|
|
||||||
|
- name: Pull latest changes
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
git config --global user.email "gitea-actions[bot]@users.noreply.git.asymworks.com"
|
||||||
|
git config --global user.name "Gitea Actions"
|
||||||
|
|
||||||
|
if [ "${{ github.ref_type }}" = "tag" ]; then
|
||||||
|
echo "Triggered by a tag, committing changes in detached HEAD state"
|
||||||
|
git add -A
|
||||||
|
git commit -m "[bot]: Update Outputs (release)"
|
||||||
|
|
||||||
|
DETACHED_COMMIT=$(git rev-parse HEAD)
|
||||||
|
echo "Checking out the main branch"
|
||||||
|
git fetch origin main
|
||||||
|
git checkout main
|
||||||
|
|
||||||
|
echo "Merging detached HEAD commit into main"
|
||||||
|
git merge --no-ff $DETACHED_COMMIT -m "[bot]: Merge release artifacts from workflow" -X theirs
|
||||||
|
echo "Pushing to main branch"
|
||||||
|
git push origin main
|
||||||
|
else
|
||||||
|
echo "Triggered by a branch, using the current branch"
|
||||||
|
git pull origin ${{ github.ref_name }} --tags --force
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Discard changes to .kicad_pcb files and remove temp files
|
||||||
|
run: |
|
||||||
|
git checkout HEAD -- $(git ls-files "*.kicad_pcb")
|
||||||
|
git clean -f -e "panels/*" "*.kicad_pcb"
|
||||||
|
git clean -f -e "panels/*" "*.kicad_pro"
|
||||||
|
git clean -f -e "panels/*" "*.kicad_dru"
|
||||||
|
git clean -f -e "panels/*" "*.kicad_prl"
|
||||||
|
|
||||||
|
- name: Push Outputs
|
||||||
|
uses: stefanzweifel/git-auto-commit-action@v5
|
||||||
|
with:
|
||||||
|
branch: ${{ github.ref_name }}
|
||||||
|
commit_message: '[bot]: Update Outputs'
|
||||||
|
|
||||||
|
- name: Upload XML Update Log
|
||||||
|
if: ${{ always() }}
|
||||||
|
uses: christopherhx/gitea-upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: log_file_xml
|
||||||
|
path: kibot_run_xml.log
|
||||||
|
|
||||||
|
- name: Upload Preprocessing Log
|
||||||
|
if: ${{ always() }}
|
||||||
|
uses: christopherhx/gitea-upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: log_file_preprocess
|
||||||
|
path: kibot_run_preprocess.log
|
||||||
|
|
||||||
|
- name: Upload KiBot Log
|
||||||
|
if: ${{ always() }}
|
||||||
|
uses: christopherhx/gitea-upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: log_file_kibot
|
||||||
|
path: ${{ env.kibot_log }}
|
||||||
46
.gitignore
vendored
Normal file
46
.gitignore
vendored
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
# ---> KiBot
|
||||||
|
*-backups
|
||||||
|
\#auto_saved_files#
|
||||||
|
_autosave-*
|
||||||
|
*.lck
|
||||||
|
*.bak
|
||||||
|
*.ini
|
||||||
|
*.kicad_sch-bak
|
||||||
|
*.kicad_pro-bak
|
||||||
|
*.kicad_pcb-bak
|
||||||
|
*.kicad_prl-bak
|
||||||
|
fp-info-cache
|
||||||
|
*Zone.Identifier
|
||||||
|
kibot_*.kicad_pcb
|
||||||
|
kibot_*.kicad_dru
|
||||||
|
kibot_*.kicad_prl
|
||||||
|
kibot_*.kicad_pro
|
||||||
|
kibot_*.log
|
||||||
|
pcbnew.kicad_wks
|
||||||
|
schematic.kicad_wks
|
||||||
|
kibot/cache/
|
||||||
|
|
||||||
|
# ---> KiCad
|
||||||
|
# For PCBs designed using KiCad: https://www.kicad.org/
|
||||||
|
# Format documentation: https://kicad.org/help/file-formats/
|
||||||
|
|
||||||
|
# Temporary files
|
||||||
|
*.000
|
||||||
|
*.bak
|
||||||
|
*.bck
|
||||||
|
*.kicad_pcb-bak
|
||||||
|
*.kicad_sch-bak
|
||||||
|
*-backups
|
||||||
|
*.kicad_prl
|
||||||
|
*.sch-bak
|
||||||
|
*~
|
||||||
|
_autosave-*
|
||||||
|
*.tmp
|
||||||
|
*-save.pro
|
||||||
|
*-save.kicad_pcb
|
||||||
|
fp-info-cache
|
||||||
|
~*.lck
|
||||||
|
\#auto_saved_files#
|
||||||
|
|
||||||
|
# MacOS Cruft
|
||||||
|
.DS_Store
|
||||||
242
Asymworks_Template.kicad_dru
Normal file
242
Asymworks_Template.kicad_dru
Normal file
@@ -0,0 +1,242 @@
|
|||||||
|
(version 1)
|
||||||
|
|
||||||
|
# Custom Design Rules (DRC) for KiCAD 9.0 (Stored in '<project>.kicad_dru' file).
|
||||||
|
#
|
||||||
|
# Matching JLCPCB capabilities: https://jlcpcb.com/capabilities/pcb-capabilities
|
||||||
|
#
|
||||||
|
# KiCad documentation: https://docs.kicad.org/master/id/pcbnew/pcbnew_advanced.html#custom_design_rules
|
||||||
|
#
|
||||||
|
# Inspiration
|
||||||
|
# - https://gist.github.com/darkxst/f713268e5469645425eed40115fb8b49 (with comments)
|
||||||
|
# - https://gist.github.com/denniskupec/e163d13b0a64c2044bd259f64659485e (with comments)
|
||||||
|
# - https://github.com/labtroll/KiCad-DesignRules/blob/main/JLCPCB/JLCPCB.kicad_dru
|
||||||
|
|
||||||
|
# ======================================================================================================
|
||||||
|
# Drilling and Pads
|
||||||
|
|
||||||
|
# Minimum Drill Diameter (All Holes)
|
||||||
|
# Note that JLCPCB supports drills down to 0.15mm for multilayer boards, but it incurs additional
|
||||||
|
# cost. This design rule assumes the 0.2mm "preferred" minimum via size callout.
|
||||||
|
(rule "Hole Diameter"
|
||||||
|
(constraint hole_size (min 0.2mm) (max 6.3mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# Blind/Buried Vias Not Supported
|
||||||
|
(rule "No Blind or Buried Vias"
|
||||||
|
(constraint disallow buried_via)
|
||||||
|
)
|
||||||
|
|
||||||
|
# Minimum Via Diameter
|
||||||
|
# JLCPCB: "Multilayer: 0.15 mm hole size / 0.25 mm via diameter"
|
||||||
|
# "1. Via diameter should be 0.1mm (0.15mm preferred) larger than Via hole size."
|
||||||
|
# "2. Preferred Min. Via hole size: 0.2mm"
|
||||||
|
(rule "Via Diameter"
|
||||||
|
(layer outer)
|
||||||
|
(condition "A.isPlated() && A.Type == 'Via'")
|
||||||
|
(constraint annular_width (min 0.05mm) (opt 0.075mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# Minimum NPTH
|
||||||
|
# JLCPCB: "Please draw NPTHs in the mechanical layer or keep out layer."
|
||||||
|
(rule "Hole (NPTH) Diameter"
|
||||||
|
(condition "!A.isPlated()")
|
||||||
|
(constraint hole_size (min 0.5mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# Minimum Plated Slot Width
|
||||||
|
# JLCPCB: "The minimum plated slot width is 0.5mm, which is drawn with a pad."
|
||||||
|
(rule "Plated Slot Size"
|
||||||
|
(constraint hole_size (min 0.5mm))
|
||||||
|
(condition "A.isPlated() && A.Hole_Size_X != A.Hole_Size_Y")
|
||||||
|
)
|
||||||
|
|
||||||
|
# TODO: Plated Slot Minimum Aspect Ratio
|
||||||
|
# JLCPCB: "The length of the slot should be at least 2 times of the width."
|
||||||
|
|
||||||
|
# Minimum Unplated Slot Width
|
||||||
|
# JLCPCB: "The minimum Non-Plated Slot Width is 1.0mm, please draw the slot outline in the mechanical layer (GM1 or GKO)"
|
||||||
|
(rule "Unplated Slot Size"
|
||||||
|
(constraint hole_size (min 1.0mm))
|
||||||
|
(condition "!A.isPlated() && A.Hole_Size_X != A.Hole_Size_Y")
|
||||||
|
)
|
||||||
|
|
||||||
|
# Via Hole-to-Hole Spacing
|
||||||
|
(rule "Clearance: Via Hole to Hole"
|
||||||
|
(layer outer)
|
||||||
|
(condition "A.isPlated() && B.isPlated() && A.Type == 'Via' && B.Type == 'Via' && A.Net != B.Net")
|
||||||
|
(constraint hole_to_hole (min 0.2mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# Pad Hole-to-Hole Spacing
|
||||||
|
(rule "Clearance: Pad Hole to Hole"
|
||||||
|
(layer outer)
|
||||||
|
(condition "A.isPlated() && B.isPlated() && A.Type == 'Pad' && B.Type == 'Pad' && A.Net != B.Net")
|
||||||
|
(constraint hole_to_hole (min 0.45mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# Castellated Hole Size
|
||||||
|
# JLCPCB: "Hole diameter (Φ): ≥ 0.5 mm"
|
||||||
|
# JLCPCB: "Hole to hole (D): ≥ 0.5 mm"
|
||||||
|
(rule "Castellated Hole Diameter and Spacing"
|
||||||
|
(layer outer)
|
||||||
|
(condition "A.Type == 'Pad' && A.Fabrication_Property == 'Castellated pad'")
|
||||||
|
(constraint hole_size (min 0.5mm))
|
||||||
|
(constraint hole_to_hole (min 0.5mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# TODO: Castellated Hole to Board Edge
|
||||||
|
# JLCPCB: "Hole to board edge (L): ≥ 1 mm"
|
||||||
|
|
||||||
|
# TODO: Castellated Hole Minimum Board Size
|
||||||
|
# JLCPCB: "Min. PCB size:10 × 10 mm"
|
||||||
|
|
||||||
|
# TODO: Castellated Hole Minimum Board Thickness
|
||||||
|
# JLCPCB: "Min. PCB thickness: 0.6 mm"
|
||||||
|
|
||||||
|
# TODO: Blind Slots
|
||||||
|
|
||||||
|
# TODO: Slot Minimum Radius
|
||||||
|
# JLCPCB: "Rectangular holes and slots without rounded corners are not supported."
|
||||||
|
|
||||||
|
# ======================================================================================================
|
||||||
|
# Traces
|
||||||
|
|
||||||
|
# Track Width and Spacing (1oz copper outer / 0.5oz copper inner)
|
||||||
|
# JLCPCB: "Multilayer: 0.09 / 0.09 mm (3.5 / 3.5 mil). 3 mil is acceptable in BGA fan-outs."
|
||||||
|
# Adjust these down when doing BGA breakouts
|
||||||
|
(rule "Track Width, Outer Layer, 1oz Copper"
|
||||||
|
(layer outer)
|
||||||
|
(condition "A.Type == 'track'")
|
||||||
|
(constraint track_width (min 0.1mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
(rule "Track Spacing, Outer Layer, 1oz Copper"
|
||||||
|
(layer outer)
|
||||||
|
(condition "A.Type == 'track' && B.Type == A.Type")
|
||||||
|
(constraint clearance (min 0.1mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
(rule "Track Width, Inner Layer, 0.5oz Copper"
|
||||||
|
(layer inner)
|
||||||
|
(condition "A.Type == 'track'")
|
||||||
|
(constraint track_width (min 0.09mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
(rule "Track Spacing, Inner Layer, 0.5oz Copper"
|
||||||
|
(layer inner)
|
||||||
|
(condition "A.Type == 'track' && B.Type == A.Type")
|
||||||
|
(constraint clearance (min 0.09mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# PTH Annular Ring
|
||||||
|
# JLCPCB: "1 oz: Recommended 0.20 mm or above; absolute minimum 0.15 mm"
|
||||||
|
(rule "Annular Ring (PTH), 1.0oz Copper"
|
||||||
|
(layer outer)
|
||||||
|
(condition "A.isPlated() && A.Type == 'Pad'")
|
||||||
|
(constraint annular_width (min 0.15mm) (opt 0.2mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# NPTH Annular Ring
|
||||||
|
# JLCPCB: "Recommended 0.45 mm or more. This is to allow a 0.2 mm ring of copper to be removed around the hole for the sealing film to attach. Pad sizes smaller than the recommended value can result in the annular ring being very thin or completely missing."
|
||||||
|
(rule "Annular Ring (NPTH)"
|
||||||
|
(layer outer)
|
||||||
|
(condition "!A.isPlated() && A.Type == 'Pad'")
|
||||||
|
(constraint annular_width (min 0.45mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# TODO: BGA Pad Size
|
||||||
|
# JLCPCB: "1. BGA pad diameter ≥ 0.25 mm"
|
||||||
|
# "2. BGA pad to trace clearance ≥ 0.1 mm (min. 0.09 mm for multilayer boards)"
|
||||||
|
# "3. Vias can be placed within BGA pads using filled and plated-over vias"
|
||||||
|
|
||||||
|
# TODO: Same-Net Track Spacing
|
||||||
|
|
||||||
|
# Inner Layer Via to Trace Clearance
|
||||||
|
(rule "Via to Trace Clearance (Inner Layer)"
|
||||||
|
(layer inner)
|
||||||
|
(condition "A.Type == 'Via' && B.Type == 'Track' && A.Net != B.Net")
|
||||||
|
(constraint hole_clearance (min 0.2mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# Inner Layer PTH to Trace Clearance
|
||||||
|
(rule "Hole to Trace Clearance (Inner Layer)"
|
||||||
|
(layer inner)
|
||||||
|
(condition "A.Type == 'Pad' && B.Type == 'Track' && A.Net != B.Net")
|
||||||
|
(constraint hole_clearance (min 0.3mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# Outer Layer Pad to Track Clearance
|
||||||
|
# JLCPCB: "Min. 0.1 mm (stay well above if possible). Min. 0.09 mm locally for BGA pads"
|
||||||
|
(rule "Pad to Trace Clearance (Outer Layer)"
|
||||||
|
(layer outer)
|
||||||
|
(condition "A.Type == 'Pad' && B.Type == 'Track' && A.Net != B.Net")
|
||||||
|
(constraint clearance (min 0.1mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# SMD Pad-to-Pad Clearance
|
||||||
|
(rule "Pad to Pad Clearance"
|
||||||
|
(layer outer)
|
||||||
|
(condition "A.Type == 'Pad' && B.Type == A.Type && A.Net != B.Net")
|
||||||
|
(constraint clearance (min 0.15mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# Outer Layer Via Hole to Trace Clearance
|
||||||
|
(rule "Via to Trace Clearance (Outer Layer)"
|
||||||
|
(layer outer)
|
||||||
|
(condition "A.Type == 'Via' && B.Type == 'Track' && A.Net != B.Net")
|
||||||
|
(constraint hole_clearance (min 0.2mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# Outer Layer PTH to Trace Clearance
|
||||||
|
(rule "PTH to Trace Clearance (Outer Layer)"
|
||||||
|
(layer outer)
|
||||||
|
(condition "A.isPlated() && A.Type != 'Via' && B.Type == 'Track' && A.Net != B.Net")
|
||||||
|
(constraint hole_clearance (min 0.28mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# Outer Layer NPTH to Trace Clearance
|
||||||
|
(rule "NPTH to Trace Clearance (Outer Layer)"
|
||||||
|
(layer outer)
|
||||||
|
(condition "!A.isPlated() && B.Type == 'Track'")
|
||||||
|
(constraint hole_clearance (min 0.2mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# ======================================================================================================
|
||||||
|
# Silkscreen
|
||||||
|
|
||||||
|
# Minimum Line Width
|
||||||
|
(rule "Silkscreen Minimum Width (Lines)"
|
||||||
|
(layer "?.Silkscreen")
|
||||||
|
(condition "A.Type == 'Graphic' && A.Line_Width <= 0.153mm")
|
||||||
|
(constraint disallow graphic)
|
||||||
|
)
|
||||||
|
|
||||||
|
# Minimum Text Width / Height
|
||||||
|
(rule "Silkscreen Minimum Width (Text)"
|
||||||
|
(layer "?.Silkscreen")
|
||||||
|
(condition "A.Type == 'Text' || A.Type == 'TextBox'")
|
||||||
|
(constraint text_thickness (min 0.15mm))
|
||||||
|
(constraint text_height (min 1mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# Pad to Silkscreen Clearance
|
||||||
|
(rule "Pad to Sillkscreen Clearance"
|
||||||
|
(layer outer)
|
||||||
|
(condition "A.Type == 'Pad' && B.Layer == '?.Silkscreen'")
|
||||||
|
(constraint silk_clearance (min 0.15mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# ======================================================================================================
|
||||||
|
# Outline
|
||||||
|
|
||||||
|
# Copper to Edge Clearance
|
||||||
|
(rule "Copper to Routed Edge Clearance"
|
||||||
|
(condition "A.Type == 'track'")
|
||||||
|
(constraint edge_clearance (min 0.2mm))
|
||||||
|
)
|
||||||
|
|
||||||
|
# Copper to V-Cut Clearance
|
||||||
|
# (rule "Copper to V-Cut Edge Clearance"
|
||||||
|
# (condition "A.Type == 'track'")
|
||||||
|
# (constraint edge_clearance (min 0.4mm))
|
||||||
|
# )
|
||||||
2076
Asymworks_Template.kicad_pcb
Normal file
2076
Asymworks_Template.kicad_pcb
Normal file
File diff suppressed because it is too large
Load Diff
694
Asymworks_Template.kicad_pro
Normal file
694
Asymworks_Template.kicad_pro
Normal file
@@ -0,0 +1,694 @@
|
|||||||
|
{
|
||||||
|
"board": {
|
||||||
|
"3dviewports": [],
|
||||||
|
"design_settings": {
|
||||||
|
"defaults": {
|
||||||
|
"apply_defaults_to_fp_fields": false,
|
||||||
|
"apply_defaults_to_fp_shapes": false,
|
||||||
|
"apply_defaults_to_fp_text": false,
|
||||||
|
"board_outline_line_width": 0.05,
|
||||||
|
"copper_line_width": 0.2,
|
||||||
|
"copper_text_italic": false,
|
||||||
|
"copper_text_size_h": 1.5,
|
||||||
|
"copper_text_size_v": 1.5,
|
||||||
|
"copper_text_thickness": 0.3,
|
||||||
|
"copper_text_upright": false,
|
||||||
|
"courtyard_line_width": 0.05,
|
||||||
|
"dimension_precision": 4,
|
||||||
|
"dimension_units": 3,
|
||||||
|
"dimensions": {
|
||||||
|
"arrow_length": 1270000,
|
||||||
|
"extension_offset": 500000,
|
||||||
|
"keep_text_aligned": true,
|
||||||
|
"suppress_zeroes": true,
|
||||||
|
"text_position": 0,
|
||||||
|
"units_format": 0
|
||||||
|
},
|
||||||
|
"fab_line_width": 0.1,
|
||||||
|
"fab_text_italic": false,
|
||||||
|
"fab_text_size_h": 1.0,
|
||||||
|
"fab_text_size_v": 1.0,
|
||||||
|
"fab_text_thickness": 0.15,
|
||||||
|
"fab_text_upright": false,
|
||||||
|
"other_line_width": 0.1,
|
||||||
|
"other_text_italic": false,
|
||||||
|
"other_text_size_h": 1.0,
|
||||||
|
"other_text_size_v": 1.0,
|
||||||
|
"other_text_thickness": 0.15,
|
||||||
|
"other_text_upright": false,
|
||||||
|
"pads": {
|
||||||
|
"drill": 0.8,
|
||||||
|
"height": 1.27,
|
||||||
|
"width": 2.54
|
||||||
|
},
|
||||||
|
"silk_line_width": 0.1,
|
||||||
|
"silk_text_italic": false,
|
||||||
|
"silk_text_size_h": 1.0,
|
||||||
|
"silk_text_size_v": 1.0,
|
||||||
|
"silk_text_thickness": 0.1,
|
||||||
|
"silk_text_upright": false,
|
||||||
|
"zones": {
|
||||||
|
"min_clearance": 0.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"diff_pair_dimensions": [
|
||||||
|
{
|
||||||
|
"gap": 0.0,
|
||||||
|
"via_gap": 0.0,
|
||||||
|
"width": 0.0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"drc_exclusions": [],
|
||||||
|
"meta": {
|
||||||
|
"version": 2
|
||||||
|
},
|
||||||
|
"rule_severities": {
|
||||||
|
"annular_width": "error",
|
||||||
|
"clearance": "error",
|
||||||
|
"connection_width": "warning",
|
||||||
|
"copper_edge_clearance": "error",
|
||||||
|
"copper_sliver": "warning",
|
||||||
|
"courtyards_overlap": "error",
|
||||||
|
"creepage": "error",
|
||||||
|
"diff_pair_gap_out_of_range": "error",
|
||||||
|
"diff_pair_uncoupled_length_too_long": "error",
|
||||||
|
"drill_out_of_range": "error",
|
||||||
|
"duplicate_footprints": "warning",
|
||||||
|
"extra_footprint": "warning",
|
||||||
|
"footprint": "error",
|
||||||
|
"footprint_filters_mismatch": "ignore",
|
||||||
|
"footprint_symbol_mismatch": "warning",
|
||||||
|
"footprint_type_mismatch": "ignore",
|
||||||
|
"hole_clearance": "error",
|
||||||
|
"hole_to_hole": "warning",
|
||||||
|
"holes_co_located": "warning",
|
||||||
|
"invalid_outline": "error",
|
||||||
|
"isolated_copper": "warning",
|
||||||
|
"item_on_disabled_layer": "error",
|
||||||
|
"items_not_allowed": "error",
|
||||||
|
"length_out_of_range": "error",
|
||||||
|
"lib_footprint_issues": "warning",
|
||||||
|
"lib_footprint_mismatch": "warning",
|
||||||
|
"malformed_courtyard": "error",
|
||||||
|
"microvia_drill_out_of_range": "error",
|
||||||
|
"mirrored_text_on_front_layer": "warning",
|
||||||
|
"missing_courtyard": "ignore",
|
||||||
|
"missing_footprint": "warning",
|
||||||
|
"net_conflict": "warning",
|
||||||
|
"nonmirrored_text_on_back_layer": "warning",
|
||||||
|
"npth_inside_courtyard": "ignore",
|
||||||
|
"padstack": "warning",
|
||||||
|
"pth_inside_courtyard": "ignore",
|
||||||
|
"shorting_items": "error",
|
||||||
|
"silk_edge_clearance": "warning",
|
||||||
|
"silk_over_copper": "warning",
|
||||||
|
"silk_overlap": "warning",
|
||||||
|
"skew_out_of_range": "error",
|
||||||
|
"solder_mask_bridge": "error",
|
||||||
|
"starved_thermal": "error",
|
||||||
|
"text_height": "warning",
|
||||||
|
"text_on_edge_cuts": "error",
|
||||||
|
"text_thickness": "warning",
|
||||||
|
"through_hole_pad_without_hole": "error",
|
||||||
|
"too_many_vias": "error",
|
||||||
|
"track_angle": "error",
|
||||||
|
"track_dangling": "warning",
|
||||||
|
"track_segment_length": "error",
|
||||||
|
"track_width": "error",
|
||||||
|
"tracks_crossing": "error",
|
||||||
|
"unconnected_items": "error",
|
||||||
|
"unresolved_variable": "error",
|
||||||
|
"via_dangling": "warning",
|
||||||
|
"zones_intersect": "error"
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
"max_error": 0.005,
|
||||||
|
"min_clearance": 0.0,
|
||||||
|
"min_connection": 0.0,
|
||||||
|
"min_copper_edge_clearance": 0.5,
|
||||||
|
"min_groove_width": 0.0,
|
||||||
|
"min_hole_clearance": 0.25,
|
||||||
|
"min_hole_to_hole": 0.25,
|
||||||
|
"min_microvia_diameter": 0.2,
|
||||||
|
"min_microvia_drill": 0.1,
|
||||||
|
"min_resolved_spokes": 2,
|
||||||
|
"min_silk_clearance": 0.0,
|
||||||
|
"min_text_height": 0.8,
|
||||||
|
"min_text_thickness": 0.08,
|
||||||
|
"min_through_hole_diameter": 0.3,
|
||||||
|
"min_track_width": 0.0,
|
||||||
|
"min_via_annular_width": 0.1,
|
||||||
|
"min_via_diameter": 0.5,
|
||||||
|
"solder_mask_to_copper_clearance": 0.0,
|
||||||
|
"use_height_for_length_calcs": true
|
||||||
|
},
|
||||||
|
"teardrop_options": [
|
||||||
|
{
|
||||||
|
"td_onpthpad": true,
|
||||||
|
"td_onroundshapesonly": false,
|
||||||
|
"td_onsmdpad": true,
|
||||||
|
"td_ontrackend": false,
|
||||||
|
"td_onvia": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"teardrop_parameters": [
|
||||||
|
{
|
||||||
|
"td_allow_use_two_tracks": true,
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_on_pad_in_zone": false,
|
||||||
|
"td_target_name": "td_round_shape",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"td_allow_use_two_tracks": true,
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_on_pad_in_zone": false,
|
||||||
|
"td_target_name": "td_rect_shape",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"td_allow_use_two_tracks": true,
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_on_pad_in_zone": false,
|
||||||
|
"td_target_name": "td_track_end",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"track_widths": [
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"tuning_pattern_settings": {
|
||||||
|
"diff_pair_defaults": {
|
||||||
|
"corner_radius_percentage": 80,
|
||||||
|
"corner_style": 1,
|
||||||
|
"max_amplitude": 1.0,
|
||||||
|
"min_amplitude": 0.2,
|
||||||
|
"single_sided": false,
|
||||||
|
"spacing": 1.0
|
||||||
|
},
|
||||||
|
"diff_pair_skew_defaults": {
|
||||||
|
"corner_radius_percentage": 80,
|
||||||
|
"corner_style": 1,
|
||||||
|
"max_amplitude": 1.0,
|
||||||
|
"min_amplitude": 0.2,
|
||||||
|
"single_sided": false,
|
||||||
|
"spacing": 0.6
|
||||||
|
},
|
||||||
|
"single_track_defaults": {
|
||||||
|
"corner_radius_percentage": 80,
|
||||||
|
"corner_style": 1,
|
||||||
|
"max_amplitude": 1.0,
|
||||||
|
"min_amplitude": 0.2,
|
||||||
|
"single_sided": false,
|
||||||
|
"spacing": 0.6
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"via_dimensions": [
|
||||||
|
{
|
||||||
|
"diameter": 0.0,
|
||||||
|
"drill": 0.0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"zones_allow_external_fillets": false
|
||||||
|
},
|
||||||
|
"ipc2581": {
|
||||||
|
"dist": "",
|
||||||
|
"distpn": "",
|
||||||
|
"internal_id": "",
|
||||||
|
"mfg": "",
|
||||||
|
"mpn": ""
|
||||||
|
},
|
||||||
|
"layer_pairs": [],
|
||||||
|
"layer_presets": [],
|
||||||
|
"viewports": []
|
||||||
|
},
|
||||||
|
"boards": [],
|
||||||
|
"cvpcb": {
|
||||||
|
"equivalence_files": []
|
||||||
|
},
|
||||||
|
"erc": {
|
||||||
|
"erc_exclusions": [],
|
||||||
|
"meta": {
|
||||||
|
"version": 0
|
||||||
|
},
|
||||||
|
"pin_map": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"rule_severities": {
|
||||||
|
"bus_definition_conflict": "error",
|
||||||
|
"bus_entry_needed": "error",
|
||||||
|
"bus_to_bus_conflict": "error",
|
||||||
|
"bus_to_net_conflict": "error",
|
||||||
|
"different_unit_footprint": "error",
|
||||||
|
"different_unit_net": "error",
|
||||||
|
"duplicate_reference": "error",
|
||||||
|
"duplicate_sheet_names": "error",
|
||||||
|
"endpoint_off_grid": "warning",
|
||||||
|
"extra_units": "error",
|
||||||
|
"footprint_filter": "ignore",
|
||||||
|
"footprint_link_issues": "warning",
|
||||||
|
"four_way_junction": "ignore",
|
||||||
|
"global_label_dangling": "warning",
|
||||||
|
"hier_label_mismatch": "error",
|
||||||
|
"label_dangling": "error",
|
||||||
|
"label_multiple_wires": "warning",
|
||||||
|
"lib_symbol_issues": "warning",
|
||||||
|
"lib_symbol_mismatch": "warning",
|
||||||
|
"missing_bidi_pin": "warning",
|
||||||
|
"missing_input_pin": "warning",
|
||||||
|
"missing_power_pin": "error",
|
||||||
|
"missing_unit": "warning",
|
||||||
|
"multiple_net_names": "warning",
|
||||||
|
"net_not_bus_member": "warning",
|
||||||
|
"no_connect_connected": "warning",
|
||||||
|
"no_connect_dangling": "warning",
|
||||||
|
"pin_not_connected": "error",
|
||||||
|
"pin_not_driven": "error",
|
||||||
|
"pin_to_pin": "error",
|
||||||
|
"power_pin_not_driven": "error",
|
||||||
|
"same_local_global_label": "warning",
|
||||||
|
"similar_label_and_power": "warning",
|
||||||
|
"similar_labels": "warning",
|
||||||
|
"similar_power": "warning",
|
||||||
|
"simulation_model_issue": "ignore",
|
||||||
|
"single_global_label": "ignore",
|
||||||
|
"unannotated": "error",
|
||||||
|
"unconnected_wire_endpoint": "warning",
|
||||||
|
"undefined_netclass": "error",
|
||||||
|
"unit_value_mismatch": "error",
|
||||||
|
"unresolved_variable": "error",
|
||||||
|
"wire_dangling": "error"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"pinned_footprint_libs": [],
|
||||||
|
"pinned_symbol_libs": []
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"filename": "Asymworks_Template.kicad_pro",
|
||||||
|
"version": 3
|
||||||
|
},
|
||||||
|
"net_settings": {
|
||||||
|
"classes": [
|
||||||
|
{
|
||||||
|
"bus_width": 12,
|
||||||
|
"clearance": 0.2,
|
||||||
|
"diff_pair_gap": 0.25,
|
||||||
|
"diff_pair_via_gap": 0.25,
|
||||||
|
"diff_pair_width": 0.2,
|
||||||
|
"line_style": 0,
|
||||||
|
"microvia_diameter": 0.3,
|
||||||
|
"microvia_drill": 0.1,
|
||||||
|
"name": "Default",
|
||||||
|
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"priority": 2147483647,
|
||||||
|
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"track_width": 0.2,
|
||||||
|
"via_diameter": 0.6,
|
||||||
|
"via_drill": 0.3,
|
||||||
|
"wire_width": 6
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"meta": {
|
||||||
|
"version": 4
|
||||||
|
},
|
||||||
|
"net_colors": null,
|
||||||
|
"netclass_assignments": null,
|
||||||
|
"netclass_patterns": []
|
||||||
|
},
|
||||||
|
"pcbnew": {
|
||||||
|
"last_paths": {
|
||||||
|
"gencad": "",
|
||||||
|
"idf": "",
|
||||||
|
"netlist": "",
|
||||||
|
"plot": "",
|
||||||
|
"pos_files": "",
|
||||||
|
"specctra_dsn": "",
|
||||||
|
"step": "",
|
||||||
|
"svg": "",
|
||||||
|
"vrml": ""
|
||||||
|
},
|
||||||
|
"page_layout_descr_file": "kicad-embed://Asymworks_PCB.kicad_wks"
|
||||||
|
},
|
||||||
|
"schematic": {
|
||||||
|
"annotate_start_num": 0,
|
||||||
|
"bom_export_filename": "${PROJECTNAME}.csv",
|
||||||
|
"bom_fmt_presets": [],
|
||||||
|
"bom_fmt_settings": {
|
||||||
|
"field_delimiter": ",",
|
||||||
|
"keep_line_breaks": false,
|
||||||
|
"keep_tabs": false,
|
||||||
|
"name": "CSV",
|
||||||
|
"ref_delimiter": ",",
|
||||||
|
"ref_range_delimiter": "",
|
||||||
|
"string_delimiter": "\""
|
||||||
|
},
|
||||||
|
"bom_presets": [],
|
||||||
|
"bom_settings": {
|
||||||
|
"exclude_dnp": false,
|
||||||
|
"fields_ordered": [
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "Reference",
|
||||||
|
"name": "Reference",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "Qty",
|
||||||
|
"name": "${QUANTITY}",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": true,
|
||||||
|
"label": "Value",
|
||||||
|
"name": "Value",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": true,
|
||||||
|
"label": "DNP",
|
||||||
|
"name": "${DNP}",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": true,
|
||||||
|
"label": "Exclude from BOM",
|
||||||
|
"name": "${EXCLUDE_FROM_BOM}",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": true,
|
||||||
|
"label": "Exclude from Board",
|
||||||
|
"name": "${EXCLUDE_FROM_BOARD}",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": true,
|
||||||
|
"label": "Footprint",
|
||||||
|
"name": "Footprint",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "Datasheet",
|
||||||
|
"name": "Datasheet",
|
||||||
|
"show": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"filter_string": "",
|
||||||
|
"group_symbols": true,
|
||||||
|
"include_excluded_from_bom": true,
|
||||||
|
"name": "Default Editing",
|
||||||
|
"sort_asc": true,
|
||||||
|
"sort_field": "Reference"
|
||||||
|
},
|
||||||
|
"connection_grid_size": 50.0,
|
||||||
|
"drawing": {
|
||||||
|
"dashed_lines_dash_length_ratio": 12.0,
|
||||||
|
"dashed_lines_gap_length_ratio": 3.0,
|
||||||
|
"default_line_thickness": 6.0,
|
||||||
|
"default_text_size": 50.0,
|
||||||
|
"field_names": [],
|
||||||
|
"intersheets_ref_own_page": false,
|
||||||
|
"intersheets_ref_prefix": "",
|
||||||
|
"intersheets_ref_short": true,
|
||||||
|
"intersheets_ref_show": false,
|
||||||
|
"intersheets_ref_suffix": "",
|
||||||
|
"junction_size_choice": 3,
|
||||||
|
"label_size_ratio": 0.375,
|
||||||
|
"operating_point_overlay_i_precision": 3,
|
||||||
|
"operating_point_overlay_i_range": "~A",
|
||||||
|
"operating_point_overlay_v_precision": 3,
|
||||||
|
"operating_point_overlay_v_range": "~V",
|
||||||
|
"overbar_offset_ratio": 1.23,
|
||||||
|
"pin_symbol_size": 25.0,
|
||||||
|
"text_offset_ratio": 0.15
|
||||||
|
},
|
||||||
|
"legacy_lib_dir": "",
|
||||||
|
"legacy_lib_list": [],
|
||||||
|
"meta": {
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
"net_format_name": "KiCad",
|
||||||
|
"page_layout_descr_file": "kicad-embed://Asymworks_SCH.kicad_wks",
|
||||||
|
"plot_directory": "",
|
||||||
|
"space_save_all_events": true,
|
||||||
|
"spice_current_sheet_as_root": false,
|
||||||
|
"spice_external_command": "spice \"%I\"",
|
||||||
|
"spice_model_current_sheet_as_root": true,
|
||||||
|
"spice_save_all_currents": false,
|
||||||
|
"spice_save_all_dissipations": false,
|
||||||
|
"spice_save_all_voltages": false,
|
||||||
|
"subpart_first_id": 65,
|
||||||
|
"subpart_id_separator": 0
|
||||||
|
},
|
||||||
|
"sheets": [
|
||||||
|
[
|
||||||
|
"8bfb0b6c-9e3a-4761-bc1e-4eb40915aa0b",
|
||||||
|
"Root"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"28ad8293-baaf-4ee1-8056-ad34096542a0",
|
||||||
|
"Block Diagram"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"f6afef58-d841-4ad6-baf9-746b0a35f011",
|
||||||
|
"Project Architecture"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"a5aa3c11-5084-4ea5-9da5-c9ff4a86f01f",
|
||||||
|
"Circuit 1"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"9da43fd7-7a0a-403c-bf2c-ba67cd8fa669",
|
||||||
|
"Circuit 2"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"6c8ce547-8e28-496a-9003-0e7dbfd93e8c",
|
||||||
|
"Circuit 3"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"text_variables": {
|
||||||
|
"ASSEMBLY_NAME": "",
|
||||||
|
"ASSEMBLY_NUMBER": "",
|
||||||
|
"ASSEMBLY_SCALE": "",
|
||||||
|
"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}",
|
||||||
|
"SCALE": "1:1",
|
||||||
|
"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_08": "......................................",
|
||||||
|
"SHEET_NAME_09": "......................................",
|
||||||
|
"SHEET_NAME_10": "......................................",
|
||||||
|
"SHEET_NAME_11": "......................................",
|
||||||
|
"SHEET_NAME_12": "......................................",
|
||||||
|
"SHEET_NAME_13": "......................................",
|
||||||
|
"SHEET_NAME_14": "......................................",
|
||||||
|
"SHEET_NAME_15": "......................................",
|
||||||
|
"SHEET_NAME_16": "......................................",
|
||||||
|
"SHEET_NAME_17": "......................................",
|
||||||
|
"SHEET_NAME_18": "......................................",
|
||||||
|
"SHEET_NAME_19": "......................................",
|
||||||
|
"SHEET_NAME_20": "......................................",
|
||||||
|
"STATE": "TEMPLATE",
|
||||||
|
"VARIANT": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
928
Asymworks_Template.kicad_sch
Normal file
928
Asymworks_Template.kicad_sch
Normal file
@@ -0,0 +1,928 @@
|
|||||||
|
(kicad_sch
|
||||||
|
(version 20250114)
|
||||||
|
(generator "eeschema")
|
||||||
|
(generator_version "9.0")
|
||||||
|
(uuid "8bfb0b6c-9e3a-4761-bc1e-4eb40915aa0b")
|
||||||
|
(paper "A3")
|
||||||
|
(title_block
|
||||||
|
(title "Title Page")
|
||||||
|
(rev "${REVISION}")
|
||||||
|
(company "${COMPANY}")
|
||||||
|
)
|
||||||
|
(lib_symbols)
|
||||||
|
(text "${SHEET_NAME_10}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 35.56 64.77 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#10")
|
||||||
|
)
|
||||||
|
(uuid "0d8238a6-a26e-410a-a396-b84eb366acdd")
|
||||||
|
)
|
||||||
|
(text "Sheet 15"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 76.2 45.72 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#15")
|
||||||
|
)
|
||||||
|
(uuid "12257cc1-f441-406a-b206-5f9f6abdae62")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_15}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 86.36 45.72 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#15")
|
||||||
|
)
|
||||||
|
(uuid "12cf5bc2-996e-4d2d-9d59-08f5928edc34")
|
||||||
|
)
|
||||||
|
(text "Sheet 16"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 76.2 49.53 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#16")
|
||||||
|
)
|
||||||
|
(uuid "1f7fbefc-60b0-4ef1-a843-df27827f4a57")
|
||||||
|
)
|
||||||
|
(text "Sheet 11"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 76.2 30.48 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#11")
|
||||||
|
)
|
||||||
|
(uuid "31c54666-5e5b-4c26-a755-807ffc9d912a")
|
||||||
|
)
|
||||||
|
(text "Sheet 19"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 76.2 60.96 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#19")
|
||||||
|
)
|
||||||
|
(uuid "36a549fb-00fb-4d38-b358-b84e28b9afea")
|
||||||
|
)
|
||||||
|
(text "Sheet 17"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 76.2 53.34 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#17")
|
||||||
|
)
|
||||||
|
(uuid "397c491c-915f-4dc9-be8f-a023d44ecaa4")
|
||||||
|
)
|
||||||
|
(text "Sheet 6"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 25.4 49.53 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#6")
|
||||||
|
)
|
||||||
|
(uuid "3d430d38-1ba9-4a85-81eb-c55b6b4df09a")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_12}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 86.36 34.29 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#12")
|
||||||
|
)
|
||||||
|
(uuid "3e0737e6-d0e9-4d49-a0a1-2e7f24b692d4")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_19}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 86.36 60.96 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#19")
|
||||||
|
)
|
||||||
|
(uuid "4a4593ec-30ce-4058-b38e-4715dbb5513e")
|
||||||
|
)
|
||||||
|
(text "Sheet 3"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 25.4 38.1 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#3")
|
||||||
|
)
|
||||||
|
(uuid "52c055ef-1235-44c3-bcc1-af0a77aeb5ec")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_07}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 35.56 53.34 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#7")
|
||||||
|
)
|
||||||
|
(uuid "52c1f26a-1bd8-46e4-8232-05acf4e428a5")
|
||||||
|
)
|
||||||
|
(text "Sheet 18"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 76.2 57.15 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#18")
|
||||||
|
)
|
||||||
|
(uuid "58d3cb55-c0c9-4146-8f82-08b5635468c0")
|
||||||
|
)
|
||||||
|
(text "Sheet 1"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 25.4 30.48 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#1")
|
||||||
|
)
|
||||||
|
(uuid "5ecc74bb-919a-476c-bd7f-9fecef959dfe")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_01}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 35.56 30.48 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#1")
|
||||||
|
)
|
||||||
|
(uuid "616a8d75-edc5-4fa1-b87d-1fabac30fcbc")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_02}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 35.56 34.29 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#2")
|
||||||
|
)
|
||||||
|
(uuid "6d436dbd-1cf6-4c61-b6c6-716b295a48a7")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_06}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 35.56 49.53 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#6")
|
||||||
|
)
|
||||||
|
(uuid "6d886c7c-2b93-4843-8180-1a80cc4028c0")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_03}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 35.56 38.1 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#3")
|
||||||
|
)
|
||||||
|
(uuid "6eebeec5-502b-4a22-851a-75421f457b86")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_18}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 86.36 57.15 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#18")
|
||||||
|
)
|
||||||
|
(uuid "74dfded3-150a-403d-bab4-4249652d2126")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_08}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 35.56 57.15 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#8")
|
||||||
|
)
|
||||||
|
(uuid "75704f4a-74dc-4dcc-9528-8e82f84cc12f")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_20}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 86.36 64.77 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#20")
|
||||||
|
)
|
||||||
|
(uuid "7ae381d0-130a-4840-8a49-73e0bcbe7b37")
|
||||||
|
)
|
||||||
|
(text "SCHEMATIC NOTES"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 25.4 74.93 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.54 2.54)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
)
|
||||||
|
(uuid "80cb4d06-1500-4227-86cb-d09e41384a4e")
|
||||||
|
)
|
||||||
|
(text "Sheet 12"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 76.2 34.29 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#12")
|
||||||
|
)
|
||||||
|
(uuid "85c38101-b296-4cce-bd25-c66c8be77842")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_17}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 86.36 53.34 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#17")
|
||||||
|
)
|
||||||
|
(uuid "8710a76c-86f9-4860-91c6-f93270c02cbd")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_05}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 35.56 45.72 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#5")
|
||||||
|
)
|
||||||
|
(uuid "8b9e299c-61e8-461f-9708-e81c0cdde029")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_14}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 86.36 41.91 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#14")
|
||||||
|
)
|
||||||
|
(uuid "935d930b-82d5-4dd0-abb6-284a8acc2dbf")
|
||||||
|
)
|
||||||
|
(text "Sheet 4"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 25.4 41.91 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#4")
|
||||||
|
)
|
||||||
|
(uuid "997bd171-a05d-4693-a8c9-79e57b1b96d8")
|
||||||
|
)
|
||||||
|
(text "PCBA RENDERS"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 278.13 49.53 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.54 2.54)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
)
|
||||||
|
(uuid "9b8b4979-e7c2-414c-ad6a-28d852f29a05")
|
||||||
|
)
|
||||||
|
(text "TABLE OF CONTENTS"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 25.4 24.13 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.54 2.54)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
)
|
||||||
|
(uuid "9d98cb42-7342-42e1-855a-da79d8cff176")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_11}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 86.36 30.48 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#11")
|
||||||
|
)
|
||||||
|
(uuid "a7b5ffea-9e37-4616-aa94-cbde595bf314")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_04}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 35.56 41.91 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#4")
|
||||||
|
)
|
||||||
|
(uuid "a8e92d65-a91a-4a60-ba8a-7ff3352ca6ef")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_16}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 86.36 49.53 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#16")
|
||||||
|
)
|
||||||
|
(uuid "b0c386ac-5568-40c4-a802-a92dd108fcd3")
|
||||||
|
)
|
||||||
|
(text "Sheet 14"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 76.2 41.91 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#14")
|
||||||
|
)
|
||||||
|
(uuid "be0c7bf9-8a53-41a4-96c8-1b1cc07c8dd2")
|
||||||
|
)
|
||||||
|
(text "DESIGN NOTES"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 17.78 266.7 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.54 2.54)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
)
|
||||||
|
(uuid "be18267d-084e-44ca-8de9-8034fbb5679d")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_13}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 86.36 38.1 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#13")
|
||||||
|
)
|
||||||
|
(uuid "c2fbc0d5-399f-4475-89de-17f0eb981dd1")
|
||||||
|
)
|
||||||
|
(text "Sheet 5"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 25.4 45.72 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#5")
|
||||||
|
)
|
||||||
|
(uuid "c3909cef-d271-4962-9737-86a97f208fbd")
|
||||||
|
)
|
||||||
|
(text "Sheet 9"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 25.4 60.96 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#9")
|
||||||
|
)
|
||||||
|
(uuid "c6d60970-4975-4f0c-997a-bddd6955d8d5")
|
||||||
|
)
|
||||||
|
(text "Sheet 7"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 25.4 53.34 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#7")
|
||||||
|
)
|
||||||
|
(uuid "c7798015-3d82-4040-957d-290b73c90188")
|
||||||
|
)
|
||||||
|
(text "Sheet 13"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 76.2 38.1 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#13")
|
||||||
|
)
|
||||||
|
(uuid "d3561853-77cb-4a66-b906-e9a4cdb9d7b0")
|
||||||
|
)
|
||||||
|
(text "Sheet 10"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 25.4 64.77 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#10")
|
||||||
|
)
|
||||||
|
(uuid "ddb8ef5d-af61-46a4-86f6-271c3fac1c00")
|
||||||
|
)
|
||||||
|
(text "Sheet 20"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 76.2 64.77 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#20")
|
||||||
|
)
|
||||||
|
(uuid "de35d7f9-a7e7-4c50-9ffd-c89960ab2af3")
|
||||||
|
)
|
||||||
|
(text "Sheet 2"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 25.4 34.29 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#2")
|
||||||
|
)
|
||||||
|
(uuid "eafb43cf-53a5-4310-be03-07b3a24c075e")
|
||||||
|
)
|
||||||
|
(text "${SHEET_NAME_09}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 35.56 60.96 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#9")
|
||||||
|
)
|
||||||
|
(uuid "f8903c8d-677e-478c-bc7b-8e6f4b0a6923")
|
||||||
|
)
|
||||||
|
(text "Sheet 8"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 25.4 57.15 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
(href "#8")
|
||||||
|
)
|
||||||
|
(uuid "fff721b6-41b0-4009-b57e-54214f1ae51d")
|
||||||
|
)
|
||||||
|
(text_box "DESIGN NOTE:\nExample text for debug notes."
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 71.12 267.97 0)
|
||||||
|
(size 25.4 10.16)
|
||||||
|
(margins 1.27 1.27 1.27 1.27)
|
||||||
|
(stroke
|
||||||
|
(width 0.635)
|
||||||
|
(type solid)
|
||||||
|
(color 255 165 0 1)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial")
|
||||||
|
(size 1.27 1.27)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left top)
|
||||||
|
)
|
||||||
|
(uuid "56a6fee7-5c63-44e0-8b96-244e4ce15659")
|
||||||
|
)
|
||||||
|
(text_box "DESIGN NOTE:\nExample text for cautionary design notes."
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 44.45 267.97 0)
|
||||||
|
(size 25.4 10.16)
|
||||||
|
(margins 1.27 1.27 1.27 1.27)
|
||||||
|
(stroke
|
||||||
|
(width 0.508)
|
||||||
|
(type solid)
|
||||||
|
(color 250 236 0 1)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial")
|
||||||
|
(size 1.27 1.27)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left top)
|
||||||
|
)
|
||||||
|
(uuid "606d42aa-4355-4c3d-96b4-10778d0031a7")
|
||||||
|
)
|
||||||
|
(text_box "${SCHEMATIC_NOTES}"
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 25.4 76.2 0)
|
||||||
|
(size 127 152.4)
|
||||||
|
(margins 0 0 0 0)
|
||||||
|
(stroke
|
||||||
|
(width -0.0001)
|
||||||
|
(type solid)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Inconsolata")
|
||||||
|
(size 2.54 2.54)
|
||||||
|
(thickness 0.254)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left top)
|
||||||
|
)
|
||||||
|
(uuid "93470195-2585-4f38-8fd4-6a6d463aa451")
|
||||||
|
)
|
||||||
|
(text_box "Replace this text with \"kibot_image_blender_3d_angled_bottom\" to invoke the Blender 3D Rendering output."
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 279.4 139.7 0)
|
||||||
|
(size 101.6 76.2)
|
||||||
|
(margins 0.9525 0.9525 0.9525 0.9525)
|
||||||
|
(stroke
|
||||||
|
(width 0)
|
||||||
|
(type solid)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left top)
|
||||||
|
)
|
||||||
|
(uuid "bf1fa8e6-3d16-4dab-9141-73217f66d51f")
|
||||||
|
)
|
||||||
|
(text_box "LAYOUT NOTE:\nExample text for critical layout guidelines."
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 97.79 267.97 0)
|
||||||
|
(size 25.4 10.16)
|
||||||
|
(margins 1.27 1.27 1.27 1.27)
|
||||||
|
(stroke
|
||||||
|
(width 0.635)
|
||||||
|
(type solid)
|
||||||
|
(color 0 0 255 1)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial")
|
||||||
|
(size 1.27 1.27)
|
||||||
|
(thickness 0.4)
|
||||||
|
(bold yes)
|
||||||
|
(color 0 0 255 1)
|
||||||
|
)
|
||||||
|
(justify left top)
|
||||||
|
)
|
||||||
|
(uuid "ce23ffec-a353-4172-bf8e-55b9d63592b6")
|
||||||
|
)
|
||||||
|
(text_box "DESIGN NOTE:\nExample text for critical design notes."
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 124.46 267.97 0)
|
||||||
|
(size 25.4 10.16)
|
||||||
|
(margins 1.27 1.27 1.27 1.27)
|
||||||
|
(stroke
|
||||||
|
(width 0.635)
|
||||||
|
(type solid)
|
||||||
|
(color 255 0 0 1)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial")
|
||||||
|
(size 1.27 1.27)
|
||||||
|
(thickness 0.4)
|
||||||
|
(bold yes)
|
||||||
|
(color 255 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left top)
|
||||||
|
)
|
||||||
|
(uuid "ee2ce514-b261-4f0a-9d2c-365116209738")
|
||||||
|
)
|
||||||
|
(text_box "Replace this text with \"kibot_image_blender_3d_angled_top\" to invoke the Blender 3D Rendering output."
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 278.13 50.8 0)
|
||||||
|
(size 102.87 76.2)
|
||||||
|
(margins 0.9525 0.9525 0.9525 0.9525)
|
||||||
|
(stroke
|
||||||
|
(width 0)
|
||||||
|
(type solid)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left top)
|
||||||
|
)
|
||||||
|
(uuid "f1b74e04-bfcf-4140-95ea-db16e5a9780b")
|
||||||
|
)
|
||||||
|
(text_box "DESIGN NOTE:\nExample text for informational design notes."
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(at 17.78 267.97 0)
|
||||||
|
(size 25.4 10.16)
|
||||||
|
(margins 1.27 1.27 1.27 1.27)
|
||||||
|
(stroke
|
||||||
|
(width 0.508)
|
||||||
|
(type solid)
|
||||||
|
(color 200 200 200 1)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(type none)
|
||||||
|
)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(face "Arial")
|
||||||
|
(size 1.27 1.27)
|
||||||
|
(color 0 0 0 1)
|
||||||
|
)
|
||||||
|
(justify left top)
|
||||||
|
)
|
||||||
|
(uuid "f455215d-ebdc-4ea9-9798-407046434784")
|
||||||
|
)
|
||||||
|
(sheet
|
||||||
|
(at 280.67 307.34)
|
||||||
|
(size 27.94 7.62)
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(in_bom yes)
|
||||||
|
(on_board yes)
|
||||||
|
(dnp no)
|
||||||
|
(fields_autoplaced yes)
|
||||||
|
(stroke
|
||||||
|
(width 0.1524)
|
||||||
|
(type solid)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(color 0 0 0 0.0000)
|
||||||
|
)
|
||||||
|
(uuid "28ad8293-baaf-4ee1-8056-ad34096542a0")
|
||||||
|
(property "Sheetname" "Block Diagram"
|
||||||
|
(at 280.67 306.6284 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Sheetfile" "sheets/Block_Diagram.kicad_sch"
|
||||||
|
(at 280.67 315.5446 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left top)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(instances
|
||||||
|
(project "Asymworks_Template"
|
||||||
|
(path "/8bfb0b6c-9e3a-4761-bc1e-4eb40915aa0b"
|
||||||
|
(page "2")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(sheet
|
||||||
|
(at 322.58 307.34)
|
||||||
|
(size 27.94 7.62)
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(in_bom yes)
|
||||||
|
(on_board yes)
|
||||||
|
(dnp no)
|
||||||
|
(fields_autoplaced yes)
|
||||||
|
(stroke
|
||||||
|
(width 0.1524)
|
||||||
|
(type solid)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(color 0 0 0 0.0000)
|
||||||
|
)
|
||||||
|
(uuid "f6afef58-d841-4ad6-baf9-746b0a35f011")
|
||||||
|
(property "Sheetname" "Project Architecture"
|
||||||
|
(at 322.58 306.6284 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Sheetfile" "sheets/Architecture.kicad_sch"
|
||||||
|
(at 322.58 315.5446 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left top)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(instances
|
||||||
|
(project "Asymworks_Template"
|
||||||
|
(path "/8bfb0b6c-9e3a-4761-bc1e-4eb40915aa0b"
|
||||||
|
(page "3")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(sheet_instances
|
||||||
|
(path "/"
|
||||||
|
(page "1")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(embedded_fonts no)
|
||||||
|
(embedded_files
|
||||||
|
(file
|
||||||
|
(name "Asymworks_SCH.kicad_wks")
|
||||||
|
(type worksheet)
|
||||||
|
(data |KLUv/WDBHEUnAGZwkyfwsOgB+FDFmiD3lqIi+C74plZ6LHe96wNcyhfCWNApSrPAM1BuoSGIAIQA
|
||||||
|
igA1929yYyzFxVc/ne1zOPeCgdn7XnN1cue2N8a+O9c8No1ok7QzvnL2PP2cy+bLY87N+Vo6N280
|
||||||
|
FbvXtmrwxbFy5rEB+ZrrTcZUi7cVG5Dt9WfULF98fjgcAB2K/Jlr9LEefHPFvIV1nsY3X/jtax4O
|
||||||
|
gIHovQfdedtbM/wVDwdANmFhYa5LnXgEkWuxn7t88RWCB0FZqFRUpCcLVEU5TJT4JgRFslEqaRSb
|
||||||
|
fBJ6Dl+7O9dc5O10vq0SgsfRfBYdbNRl8zefa/TJJjHGGPiz/UtjZGrOKCSk95MwXLazWCzuwYfD
|
||||||
|
3sxr6Z3dzvOezhefLVk6KL2dxLjAF1vz9Z3H+C2+l4y1a/dMXC5m6cdykUqKWBUKYZNdkc4VwfmM
|
||||||
|
HhuVEGtqqCrKTYhXpEplTZU0SSYKhd5mvnLVn12PPcVfNEkkg4pG+th1gWZsUaRMDhZEMqASnHZ8
|
||||||
|
M5ozwglfgxsBnbm9EaAh4DCCGuwJ8/+moi2CpslCxIPeYIwVBopiUE0QaE5/Hd3xxe5FOgotLsbX
|
||||||
|
pLGrYunpv1yZAANUPnefzjXotcdG/dmFxnzWACEpUJiqSqLO+ZsgUNUUwdfi82c1NfsozuZgtDdf
|
||||||
|
6062KMaovUlSoSoQatFzrdDIG+QOncoHTcpUoNAwsRAeIA5dcxm1uEGZGCSGOe2tWa14CoTfwqGY
|
||||||
|
tMZWiwtDoITazKgV55r0Y/UggqDmnlSQJpOEOogYVFaBGKCBsUKoSEYKCpJkmAPxCDGMUOmY9b9Y
|
||||||
|
BGh7r2hMnqK242fOaqINra6qJ0D6qdcqw+/0Sw7Xkhc4osYQvBojsdtEp3BzzCETEbaXTtfv+la7
|
||||||
|
dHleONlTKomTqlljV9NFR+2VYLbIjHkhZOxmbSAssUToJCjLELGifUFwagqUXd4roKxn4RnWHYoO
|
||||||
|
jnvJgSRGYuN0rBmWYHD8vjYHZ+MCIRBgCtq/cKobeWmeaFZUwncirtp9fcI6oKWiCReDrD9NZgzh
|
||||||
|
v9HvScdIL/WXJoYPsw0vs4GI7elhFx1+yw7kQ2S6et5Ga3dITIQnF3I+eQT/TqJijMMOmqctfPAz
|
||||||
|
JY9TxooS+WLnSRqfZGAu8JyqECfQqQB21HVL9iTZOR3iMkeHOR2edUgNyJOnLTfUA5vOKPeRGiKP
|
||||||
|
v4RwCn3gOpUQ+Kj3uCQIRAxaBuyG5jW19sb4UIlFDNMAzjeyxnKivKIPN6mHFw1U4gT5tdrBCQJS
|
||||||
|
K8P5KOi3KbN4VBBrnm8dwezosxvArI6BCaRhSRwDDYwphFIYqnQzeOcSKK+LXLdDCRygJN8q1K0D
|
||||||
|
DpHhXWq7YSYSR6sSj9c8edkmFkLHGgo2wIq1Qo0HxIg0wB5Ad9L2UIAY2Qdu3IkT0qsi35+ItQPE
|
||||||
|
XENBk3NSANPYlndRZG30mlMKN6zJ13IYj7iWQ2G6/kZH35sWw8x1IoEbFr4kn/qNwSNBDQL0DBNc
|
||||||
|
QUwsSBxPn6D0QaAkHOCUqRm/Yh6aLI0g/omcqRzFv047+yLJla/2tdW/vHBZDbJ8okLNIenWJlZE
|
||||||
|
OBAX4RVCU5EXA427n3lEKTd8YXtfFB6jZr4ktMh4Bfwd6BpHua5DdNvEevjDVHR9jKP5qnFyV5PR
|
||||||
|
iO6N7/FVNzEbH0YV|
|
||||||
|
)
|
||||||
|
(checksum "B1BB6376E1D9DA80DB045BB70219177D")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
170
LICENSE
Normal file
170
LICENSE
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
Creative Commons Attribution-ShareAlike 4.0 International
|
||||||
|
|
||||||
|
Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
|
||||||
|
|
||||||
|
Using Creative Commons Public Licenses
|
||||||
|
|
||||||
|
Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
|
||||||
|
|
||||||
|
Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors.
|
||||||
|
|
||||||
|
Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described.
|
||||||
|
|
||||||
|
Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public.
|
||||||
|
|
||||||
|
Creative Commons Attribution-ShareAlike 4.0 International Public License
|
||||||
|
|
||||||
|
By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
|
||||||
|
|
||||||
|
Section 1 – Definitions.
|
||||||
|
|
||||||
|
a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
|
||||||
|
|
||||||
|
b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
|
||||||
|
|
||||||
|
c. BY-SA Compatible License means a license listed at creativecommons.org/compatiblelicenses, approved by Creative Commons as essentially the equivalent of this Public License.
|
||||||
|
|
||||||
|
d. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
|
||||||
|
|
||||||
|
e. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
|
||||||
|
|
||||||
|
f. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
|
||||||
|
|
||||||
|
g. License Elements means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike.
|
||||||
|
|
||||||
|
h. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
|
||||||
|
|
||||||
|
i. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
|
||||||
|
|
||||||
|
j. Licensor means the individual(s) or entity(ies) granting rights under this Public License.
|
||||||
|
|
||||||
|
k. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
|
||||||
|
|
||||||
|
l. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
|
||||||
|
|
||||||
|
m. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
|
||||||
|
|
||||||
|
Section 2 – Scope.
|
||||||
|
|
||||||
|
a. License grant.
|
||||||
|
|
||||||
|
1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
|
||||||
|
|
||||||
|
A. reproduce and Share the Licensed Material, in whole or in part; and
|
||||||
|
|
||||||
|
B. produce, reproduce, and Share Adapted Material.
|
||||||
|
|
||||||
|
2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
|
||||||
|
|
||||||
|
3. Term. The term of this Public License is specified in Section 6(a).
|
||||||
|
|
||||||
|
4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
|
||||||
|
|
||||||
|
5. Downstream recipients.
|
||||||
|
|
||||||
|
A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
|
||||||
|
|
||||||
|
B. Additional offer from the Licensor – Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapter’s License You apply.
|
||||||
|
|
||||||
|
C. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
|
||||||
|
|
||||||
|
6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
|
||||||
|
|
||||||
|
b. Other rights.
|
||||||
|
|
||||||
|
1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
|
||||||
|
|
||||||
|
2. Patent and trademark rights are not licensed under this Public License.
|
||||||
|
|
||||||
|
3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.
|
||||||
|
|
||||||
|
Section 3 – License Conditions.
|
||||||
|
|
||||||
|
Your exercise of the Licensed Rights is expressly made subject to the following conditions.
|
||||||
|
|
||||||
|
a. Attribution.
|
||||||
|
|
||||||
|
1. If You Share the Licensed Material (including in modified form), You must:
|
||||||
|
|
||||||
|
A. retain the following if it is supplied by the Licensor with the Licensed Material:
|
||||||
|
|
||||||
|
i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
|
||||||
|
|
||||||
|
ii. a copyright notice;
|
||||||
|
|
||||||
|
iii. a notice that refers to this Public License;
|
||||||
|
|
||||||
|
iv. a notice that refers to the disclaimer of warranties;
|
||||||
|
|
||||||
|
v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
|
||||||
|
|
||||||
|
B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
|
||||||
|
|
||||||
|
C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
|
||||||
|
|
||||||
|
2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
|
||||||
|
|
||||||
|
3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
|
||||||
|
|
||||||
|
b. ShareAlike.In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply.
|
||||||
|
|
||||||
|
1. The Adapter’s License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License.
|
||||||
|
|
||||||
|
2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material.
|
||||||
|
|
||||||
|
3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply.
|
||||||
|
|
||||||
|
Section 4 – Sui Generis Database Rights.
|
||||||
|
|
||||||
|
Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
|
||||||
|
|
||||||
|
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database;
|
||||||
|
|
||||||
|
b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and
|
||||||
|
|
||||||
|
c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
|
||||||
|
For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
|
||||||
|
|
||||||
|
Section 5 – Disclaimer of Warranties and Limitation of Liability.
|
||||||
|
|
||||||
|
a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
|
||||||
|
|
||||||
|
b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
|
||||||
|
|
||||||
|
c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
|
||||||
|
|
||||||
|
Section 6 – Term and Termination.
|
||||||
|
|
||||||
|
a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
|
||||||
|
|
||||||
|
b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
|
||||||
|
|
||||||
|
1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
|
||||||
|
|
||||||
|
2. upon express reinstatement by the Licensor.
|
||||||
|
|
||||||
|
c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
|
||||||
|
|
||||||
|
d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
|
||||||
|
|
||||||
|
e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
|
||||||
|
|
||||||
|
Section 7 – Other Terms and Conditions.
|
||||||
|
|
||||||
|
a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
|
||||||
|
|
||||||
|
b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
|
||||||
|
|
||||||
|
Section 8 – Interpretation.
|
||||||
|
|
||||||
|
a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
|
||||||
|
|
||||||
|
b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
|
||||||
|
|
||||||
|
c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
|
||||||
|
|
||||||
|
d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
|
||||||
|
|
||||||
|
Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
|
||||||
|
|
||||||
|
Creative Commons may be contacted at creativecommons.org.
|
||||||
170
README.md
Normal file
170
README.md
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
# KiBot_Template
|
||||||
|
|
||||||
|
Template for a KiCad project using the KiBot Workflow
|
||||||
|
|
||||||
|
## TODO
|
||||||
|
Things that are still open or not implemented in the template:
|
||||||
|
- [ ] Verify the Blender settings hold over multiple board sizes, otherwise add a statement here about how to configure
|
||||||
|
- [ ] Generate Panel Fabpacks (CI Post-Processing Steps)
|
||||||
|
- [x] Validate ERC/DRC ruleset in the template and add JLCPCB `kicad_dru` files
|
||||||
|
- [ ] The Worksheet Frame situation is still broken. Need to do more focused testing with the `dev` image to see if it can be debugged.
|
||||||
|
|
||||||
|
At this point it seems like the best course of action right now is to finalize the PCB and SCH templates themselves--namely the ERC/DRC rulesets--and from there start sort of from scratch with the KiBot scripts, building it back up to something useful. Now that all the moving parts are in place, it is clear there is much optimization needed to make it useful. It's also worth revisiting (again) if it makes sense to actually keep all of the generated files in the repo proper or to use Action Assets to hold some of the items. There might be a mix-and-match strategy here.
|
||||||
|
|
||||||
|
## GETTING STARTED
|
||||||
|
|
||||||
|
1. Create a new repository using the `pdm/KiBot_Template` as the template. Make sure to select the `Git Content (Default Branch)` option to copy the files and default `main` branch into the new repository.
|
||||||
|
2. Check out the new repository (`pdm/A99-9000` in this example) and run the bootstrapping script to set up the Asymworks KiCad library, add the `dev` working branch, and rename the project based on the current directory.
|
||||||
|
```shell
|
||||||
|
$ git clone https://git.asymworks.com/pdm/A99-9000
|
||||||
|
$ cd A99-9000
|
||||||
|
$ source kibot/scripts/bootstrap.sh
|
||||||
|
Created Development Branch
|
||||||
|
Added Asymworks KiCad Library
|
||||||
|
Renamed KiCad Project to "A99-9000.kicad_pro"
|
||||||
|
```
|
||||||
|
3. The Gitea action will run on the server in response to the bootstrap script pushing the `dev` branch. Wait for it to complete and then run `git pull` to finish setting up the project.
|
||||||
|
|
||||||
|
## USAGE
|
||||||
|
|
||||||
|
1. Open KiCad and start drafting the schematic. The KiBot script will start in the `DRAFT` state, which generates the Schematic Netlist, PDF, and BOM. After each `git push`, assuming the KiBot script ran successfully, run a `git pull` to download the generated outputs.
|
||||||
|
2. Once the schematic is done and the PCB has been initialized with parts and a board outline, change the `kibot_draft` parameter in `.gitea/workflows/ci.yaml` to `false`. This will cause the KiBot script to run in `WORKING` mode, which generates all outputs. It will error out if the board outline does not exist.
|
||||||
|
3. When the board is ready to review, create a release branch named `review/rev-XX` where `XX` is the revision code. The revision code should start at `NC` (or `100`) and from there increment as specified in the Asymworks product management guidelines. KiBot will run in `REVIEW` mode when a release branch exists.
|
||||||
|
4. When the board is ready to release, create a Pull Request from the review branch into `main`. Merge the PR and create a tag named `release/rev-XX`. KiBot will run on the `main` branch and create the Gitea Release from the release tag.
|
||||||
|
5. Continue with the next revision by merging `main` back into `dev`.
|
||||||
|
|
||||||
|
## PROJECT CONVERSION GUIDE
|
||||||
|
|
||||||
|
This section will describe the necessary steps to convert an existing project to work with this template. This will also give more insights into how the template works in general. For more information, you should refer to the template.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### Folders
|
||||||
|
|
||||||
|
You should keep the folder structure as defined in [DIRECTORY STRUCTURE](#directory-structure). The folders marked as optional are not mandatory for the project to work, as long as the relevant file paths are correct. You should then go through the same steps as in [GETTING STARTED](#getting-started) and [USAGE](#usage).
|
||||||
|
|
||||||
|
### Schematic
|
||||||
|
|
||||||
|
You should select [`templates/Asymworks_SCH.kicad_wks`](templates/Asymworks_Sch.kicad_wks) as your Drawing Sheet in:
|
||||||
|
|
||||||
|
**File → Page Settings → Drawing Sheet**
|
||||||
|
|
||||||
|
On the same page, The `Revision` and `Company` fields should be set to `${REVISION}` and `${COMPANY}` and exported to all sheets.
|
||||||
|
|
||||||
|
For an automated table of contents, you should copy the root page of the template into your project, or use the `${SHEET_NAME_X}` text variables. These variables will be replaced by the sheet name (page `X`) when running KiBot. Currently the maximum number of pages is set to 20. You are free to add new text variables in [`kibot/yaml/kibot_pre_set_text_variables`](kibot_yaml/kibot_pre_set_text_variables.yaml#L69).
|
||||||
|
|
||||||
|
The `${RELEASE_STATE}` text variable is replaced by the current variant name (e.g. DRAFT or RELEASED).
|
||||||
|
|
||||||
|
The `${RELEASE_DATE}` text variable will be replaced by the tag release date (for example, `${RELEASE_DATE} = 2024-12-17`).
|
||||||
|
|
||||||
|
To get 3D pictures of the PCB in the schematic, you can create text boxes with the desired size, with the following names: `kibot_image_blender_3d_angled_top` and `kibot_image_blender_3d_angled_bottom`.
|
||||||
|
|
||||||
|
> You can add any image generated by a KiBot output using by changing the name to `kibot_image_<output_name>`.
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
### PCB
|
||||||
|
|
||||||
|
The layer names of the PCB should follow the ones defined in [kibot_main.yaml](kibot/yaml/kibot_main.yaml#L754).
|
||||||
|
|
||||||
|
```
|
||||||
|
LAYER_TITLE_PAGE: AssyTitlePage
|
||||||
|
LAYER_DNP_TOP: F.DNP
|
||||||
|
LAYER_DNP_BOTTOM: B.DNP
|
||||||
|
LAYER_DRILL_MAP: DrillMap
|
||||||
|
LAYER_TP_LIST_TOP: F.TestPointList
|
||||||
|
LAYER_TP_LIST_BOTTOM: B.TestPointList
|
||||||
|
LAYER_ASSEMBLY_TEXT_TOP: F.AssemblyText
|
||||||
|
LAYER_ASSEMBLY_TEXT_BOTTOM: B.AssemblyText
|
||||||
|
LAYER_DNP_CROSS_TOP: F.DNP
|
||||||
|
LAYER_DNP_CROSS_BOTTOM: B.DNP
|
||||||
|
```
|
||||||
|
|
||||||
|
The layer names can be set in
|
||||||
|
|
||||||
|
**File → Board Setup → Board Stackup → Board Editor Layers**
|
||||||
|
|
||||||
|
Each layer has a specific function, and must be setup in a particular way.
|
||||||
|
|
||||||
|
In the following explanation, when a group must be created, this can be done using KiCad's **Draw Rectangle** tool, and then a group can be created with:
|
||||||
|
|
||||||
|
**Right-Click → Grouping → Group Items**
|
||||||
|
|
||||||
|
Pressing **E** then allows you to rename the group. The size and position of the group usually determines the size and location of the element to be drawn. To change the font inside a group, you can create a textbox with the desired font in the group. You can set the border width to 0.
|
||||||
|
|
||||||
|
### Summary in table format
|
||||||
|
|
||||||
|
| **Layer** | **Description** | **Changes/Included Items** |
|
||||||
|
|-------------------------------|----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| **AssyTitlePage** | First page of the assembly document. | Add groups: `kibot_image_png_3d_viewer_angled_top` and `kibot_image_png_3d_viewer_angled_bottom`. |
|
||||||
|
| **User.Comments** | Reserved for project-specific comments. | Not used by default; customize as needed. |
|
||||||
|
| **F.DNP / B.DNP** | Holds red crosses for components marked as *Do Not Populate*. | Keep these layers empty. |
|
||||||
|
| **DrillMap** | Draws drill map drawings and tables in the fabrication document, aligned by default with the PCB. | Add group: `kibot_table_csv_drill_table`. |
|
||||||
|
| **F.TestPoint / B.TestPoint** | Highlights testpoint locations in the fabrication document. | Keep these layers empty. |
|
||||||
|
| **F.AssemblyText** | Contains component count, assembly notes, drawings, and 3D renders for the top side of the PCB. | Add group: `kibot_table_csv_comp_count` (table) and `kibot_image_png_3d_viewer_top` (image). Include `${ASSEMBLY_NOTES}` text.|
|
||||||
|
| **B.AssemblyText** | Holds assembly drawings and 3D render for the bottom side of the PCB. | Add group: `kibot_image_png_3d_viewer_bottom` for the 3D render. |
|
||||||
|
| **F.Dimensions** | Holds PCB stackup, dimensions, impedance table, and fabrication notes. | Add groups: `kibot_fancy_stackup` (stackup), `kibot_table_csv_impedance_table` (impedance table), and `${FABRICATION_NOTES}`. |
|
||||||
|
| **B.Dimensions** | Holds dimensions of the PCB, seen from the backside. | Use KiCad **Dimensions** tool to add details. |
|
||||||
|
| **F.TestPointList** | Lists testpoint locations and nets for the top layer. | Add group: `kibot_table_csv_testpoints_top`. Use slicing (e.g., `[:32]`) for multiple tables. |
|
||||||
|
| **B.TestPointList** | Lists testpoint locations and nets for the bottom layer. | Add group: `kibot_table_csv_testpoints_bottom`. Adjust left-side placements for inverted print alignment. |
|
||||||
|
|
||||||
|
## DIRECTORY STRUCTURE
|
||||||
|
The following directory structure is used in the template. Folders marked as 'optional' are not crucial for KiBot to work. Other folders will be generated automatically during a KiBot run.
|
||||||
|
|
||||||
|
```
|
||||||
|
├─ design # Misc design and analysis (optional)
|
||||||
|
├─ html # HTML files for generated webpage
|
||||||
|
│
|
||||||
|
├─ kibot
|
||||||
|
│ ├─ colors # Color theme for KiCad
|
||||||
|
│ ├─ fonts # Fonts used in the project
|
||||||
|
│ ├─ scripts # External scripts used with KiBot
|
||||||
|
│ ├─ templates # Templates for KiBot generated reports
|
||||||
|
│ └─ yaml # KiBot YAML config files
|
||||||
|
│
|
||||||
|
├─ lib # Footprint and symbol libraries
|
||||||
|
│ ├─ asymworks # Asymworks KiCad library
|
||||||
|
│ └─ ... # Additional libraries (optional)
|
||||||
|
│
|
||||||
|
├─ mfg
|
||||||
|
│ ├─ assembly # Assembly documents (BoM, pos, notes)
|
||||||
|
│ ├─ fab # Fabrication documents (ZIP, notes)
|
||||||
|
│ │ ├─ drill-tables # CSV drill tables
|
||||||
|
│ │ └─ gerbers # Gerbers
|
||||||
|
│ │
|
||||||
|
│ └─ jlcpcb # JLCPCB documents (Gerber, BOM, CPL)
|
||||||
|
│
|
||||||
|
├─ models # Generated 3D models (step, gITF)
|
||||||
|
├─ notes # Drawing note text templates
|
||||||
|
├─ panels # KiKit panel definitions and outputs
|
||||||
|
├─ renders # 2D and 3D PCB renders
|
||||||
|
├─ schematic # PDF of schematic
|
||||||
|
├─ sheets # Schematic sheets
|
||||||
|
├─ templates # Title block templates
|
||||||
|
└─ test
|
||||||
|
└─ testpoints # Testpoints tables
|
||||||
|
```
|
||||||
|
|
||||||
|
## CREDITS
|
||||||
|
|
||||||
|
[@set-soft](https://github.com/set-soft) for his amazing work on [KiBot](https://github.com/INTI-CMNB/KiBot/tree/master). Check out the [documentation](https://kibot.readthedocs.io/en/latest/) for more!
|
||||||
|
|
||||||
|
[@nguyen-v](https://github.com/nguyen-v) for the original version of this CI workflow [KDT_Hierarchical_KiBot](https://github.com/nguyen-v/KDT_Hierarchical_KiBot?tab=readme-ov-file#pcb).
|
||||||
|
|
||||||
|
## RESOURCES
|
||||||
|
|
||||||
|
- [(Outdated) Best practices and tips for good schematics](https://www.youtube.com/watch?v=_ZjyeltLMAg)
|
||||||
|
|
||||||
|
- [GitHub Actions Documentation](https://docs.github.com/en/actions)
|
||||||
|
|
||||||
|
- [KiBot Documentation](https://kibot.readthedocs.io/en/latest/)
|
||||||
|
|
||||||
|
- [KiBot Repository](https://github.com/INTI-CMNB/KiBot)
|
||||||
|
|
||||||
|
- [KiBot Report Sample](https://github.com/INTI-CMNB/KiBot/blob/master/kibot/resources/report_templates/report_full.txt)
|
||||||
|
|
||||||
|
- [KiCost Documentation](https://hildogjr.github.io/KiCost/docs/_build/singlehtml/index.html)
|
||||||
|
|
||||||
|
- [KiCost Repository](https://github.com/hildogjr/KiCost)
|
||||||
|
|
||||||
|
- [KiRI Repository](https://github.com/leoheck/kiri)
|
||||||
312
kibot/colors/Altium_Theme.json
Normal file
312
kibot/colors/Altium_Theme.json
Normal file
@@ -0,0 +1,312 @@
|
|||||||
|
{
|
||||||
|
"3d_viewer": {
|
||||||
|
"background_bottom": "rgb(102, 102, 128)",
|
||||||
|
"background_top": "rgb(204, 204, 230)",
|
||||||
|
"board": "rgba(51, 43, 23, 0.902)",
|
||||||
|
"copper": "rgb(179, 156, 0)",
|
||||||
|
"silkscreen_bottom": "rgb(230, 230, 230)",
|
||||||
|
"silkscreen_top": "rgb(230, 230, 230)",
|
||||||
|
"soldermask_bottom": "rgba(20, 51, 36, 0.831)",
|
||||||
|
"soldermask_top": "rgba(20, 51, 36, 0.831)",
|
||||||
|
"solderpaste": "rgb(128, 128, 128)",
|
||||||
|
"use_board_stackup_colors": true,
|
||||||
|
"user_1": "rgb(194, 194, 194)",
|
||||||
|
"user_10": "rgb(89, 148, 220)",
|
||||||
|
"user_11": "rgb(180, 219, 210)",
|
||||||
|
"user_12": "rgb(216, 200, 82)",
|
||||||
|
"user_13": "rgb(194, 194, 194)",
|
||||||
|
"user_14": "rgb(89, 148, 220)",
|
||||||
|
"user_15": "rgb(180, 219, 210)",
|
||||||
|
"user_16": "rgb(216, 200, 82)",
|
||||||
|
"user_17": "rgb(194, 194, 194)",
|
||||||
|
"user_18": "rgb(89, 148, 220)",
|
||||||
|
"user_19": "rgb(180, 219, 210)",
|
||||||
|
"user_2": "rgb(89, 148, 220)",
|
||||||
|
"user_20": "rgb(216, 200, 82)",
|
||||||
|
"user_21": "rgb(194, 194, 194)",
|
||||||
|
"user_22": "rgb(89, 148, 220)",
|
||||||
|
"user_23": "rgb(180, 219, 210)",
|
||||||
|
"user_24": "rgb(216, 200, 82)",
|
||||||
|
"user_25": "rgb(194, 194, 194)",
|
||||||
|
"user_26": "rgb(89, 148, 220)",
|
||||||
|
"user_27": "rgb(180, 219, 210)",
|
||||||
|
"user_28": "rgb(216, 200, 82)",
|
||||||
|
"user_29": "rgb(194, 194, 194)",
|
||||||
|
"user_3": "rgb(180, 219, 210)",
|
||||||
|
"user_30": "rgb(89, 148, 220)",
|
||||||
|
"user_31": "rgb(180, 219, 210)",
|
||||||
|
"user_32": "rgb(216, 200, 82)",
|
||||||
|
"user_33": "rgb(194, 194, 194)",
|
||||||
|
"user_34": "rgb(89, 148, 220)",
|
||||||
|
"user_35": "rgb(180, 219, 210)",
|
||||||
|
"user_36": "rgb(216, 200, 82)",
|
||||||
|
"user_37": "rgb(194, 194, 194)",
|
||||||
|
"user_38": "rgb(89, 148, 220)",
|
||||||
|
"user_39": "rgb(180, 219, 210)",
|
||||||
|
"user_4": "rgb(216, 200, 82)",
|
||||||
|
"user_40": "rgb(216, 200, 82)",
|
||||||
|
"user_41": "rgb(194, 194, 194)",
|
||||||
|
"user_42": "rgb(89, 148, 220)",
|
||||||
|
"user_43": "rgb(180, 219, 210)",
|
||||||
|
"user_44": "rgb(216, 200, 82)",
|
||||||
|
"user_45": "rgb(194, 194, 194)",
|
||||||
|
"user_5": "rgb(194, 194, 194)",
|
||||||
|
"user_6": "rgb(89, 148, 220)",
|
||||||
|
"user_7": "rgb(180, 219, 210)",
|
||||||
|
"user_8": "rgb(216, 200, 82)",
|
||||||
|
"user_9": "rgb(232, 178, 167)"
|
||||||
|
},
|
||||||
|
"board": {
|
||||||
|
"anchor": "rgb(255, 38, 226)",
|
||||||
|
"aux_items": "rgb(255, 255, 255)",
|
||||||
|
"b_adhes": "rgb(0, 0, 132)",
|
||||||
|
"b_crtyd": "rgb(38, 233, 255)",
|
||||||
|
"b_fab": "rgb(88, 93, 132)",
|
||||||
|
"b_mask": "rgba(2, 255, 238, 0.400)",
|
||||||
|
"b_paste": "rgba(0, 194, 194, 0.902)",
|
||||||
|
"b_silks": "rgb(232, 178, 167)",
|
||||||
|
"background": "rgb(0, 16, 35)",
|
||||||
|
"cmts_user": "rgb(89, 148, 220)",
|
||||||
|
"conflicts_shadow": "rgba(255, 0, 5, 0.502)",
|
||||||
|
"copper": {
|
||||||
|
"b": "rgb(77, 127, 196)",
|
||||||
|
"f": "rgb(200, 52, 52)",
|
||||||
|
"in1": "rgb(127, 200, 127)",
|
||||||
|
"in10": "rgb(237, 124, 51)",
|
||||||
|
"in11": "rgb(91, 195, 235)",
|
||||||
|
"in12": "rgb(247, 111, 142)",
|
||||||
|
"in13": "rgb(167, 165, 198)",
|
||||||
|
"in14": "rgb(40, 204, 217)",
|
||||||
|
"in15": "rgb(232, 178, 167)",
|
||||||
|
"in16": "rgb(242, 237, 161)",
|
||||||
|
"in17": "rgb(237, 124, 51)",
|
||||||
|
"in18": "rgb(91, 195, 235)",
|
||||||
|
"in19": "rgb(247, 111, 142)",
|
||||||
|
"in2": "rgb(206, 125, 44)",
|
||||||
|
"in20": "rgb(167, 165, 198)",
|
||||||
|
"in21": "rgb(40, 204, 217)",
|
||||||
|
"in22": "rgb(232, 178, 167)",
|
||||||
|
"in23": "rgb(242, 237, 161)",
|
||||||
|
"in24": "rgb(237, 124, 51)",
|
||||||
|
"in25": "rgb(91, 195, 235)",
|
||||||
|
"in26": "rgb(247, 111, 142)",
|
||||||
|
"in27": "rgb(167, 165, 198)",
|
||||||
|
"in28": "rgb(40, 204, 217)",
|
||||||
|
"in29": "rgb(232, 178, 167)",
|
||||||
|
"in3": "rgb(79, 203, 203)",
|
||||||
|
"in30": "rgb(242, 237, 161)",
|
||||||
|
"in4": "rgb(219, 98, 139)",
|
||||||
|
"in5": "rgb(167, 165, 198)",
|
||||||
|
"in6": "rgb(40, 204, 217)",
|
||||||
|
"in7": "rgb(232, 178, 167)",
|
||||||
|
"in8": "rgb(242, 237, 161)",
|
||||||
|
"in9": "rgb(141, 203, 129)"
|
||||||
|
},
|
||||||
|
"cursor": "rgb(255, 255, 255)",
|
||||||
|
"drc_error": "rgba(215, 91, 107, 0.800)",
|
||||||
|
"drc_exclusion": "rgba(255, 255, 255, 0.800)",
|
||||||
|
"drc_warning": "rgba(255, 208, 66, 0.800)",
|
||||||
|
"dwgs_user": "rgb(194, 194, 194)",
|
||||||
|
"eco1_user": "rgb(180, 219, 210)",
|
||||||
|
"eco2_user": "rgb(216, 200, 82)",
|
||||||
|
"edge_cuts": "rgb(208, 210, 205)",
|
||||||
|
"f_adhes": "rgb(132, 0, 132)",
|
||||||
|
"f_crtyd": "rgb(255, 38, 226)",
|
||||||
|
"f_fab": "rgb(175, 175, 175)",
|
||||||
|
"f_mask": "rgba(216, 100, 255, 0.400)",
|
||||||
|
"f_paste": "rgba(180, 160, 154, 0.902)",
|
||||||
|
"f_silks": "rgb(242, 237, 161)",
|
||||||
|
"footprint_text_invisible": "rgb(132, 132, 132)",
|
||||||
|
"grid": "rgb(132, 132, 132)",
|
||||||
|
"grid_axes": "rgb(194, 194, 194)",
|
||||||
|
"locked_shadow": "rgba(255, 38, 226, 0.502)",
|
||||||
|
"margin": "rgb(255, 38, 226)",
|
||||||
|
"pad_net_names": "rgba(255, 255, 255, 0.902)",
|
||||||
|
"pad_plated_hole": "rgb(194, 194, 0)",
|
||||||
|
"pad_through_hole": "rgb(227, 183, 46)",
|
||||||
|
"page_limits": "rgb(132, 132, 132)",
|
||||||
|
"plated_hole": "rgb(26, 196, 210)",
|
||||||
|
"ratsnest": "rgba(0, 248, 255, 0.349)",
|
||||||
|
"track_net_names": "rgba(255, 255, 255, 0.702)",
|
||||||
|
"user_1": "rgb(194, 194, 194)",
|
||||||
|
"user_10": "rgb(89, 148, 220)",
|
||||||
|
"user_11": "rgb(180, 219, 210)",
|
||||||
|
"user_12": "rgb(216, 200, 82)",
|
||||||
|
"user_13": "rgb(194, 194, 194)",
|
||||||
|
"user_14": "rgb(89, 148, 220)",
|
||||||
|
"user_15": "rgb(180, 219, 210)",
|
||||||
|
"user_16": "rgb(216, 200, 82)",
|
||||||
|
"user_17": "rgb(194, 194, 194)",
|
||||||
|
"user_18": "rgb(89, 148, 220)",
|
||||||
|
"user_19": "rgb(180, 219, 210)",
|
||||||
|
"user_2": "rgb(89, 148, 220)",
|
||||||
|
"user_20": "rgb(216, 200, 82)",
|
||||||
|
"user_21": "rgb(194, 194, 194)",
|
||||||
|
"user_22": "rgb(89, 148, 220)",
|
||||||
|
"user_23": "rgb(180, 219, 210)",
|
||||||
|
"user_24": "rgb(216, 200, 82)",
|
||||||
|
"user_25": "rgb(194, 194, 194)",
|
||||||
|
"user_26": "rgb(89, 148, 220)",
|
||||||
|
"user_27": "rgb(180, 219, 210)",
|
||||||
|
"user_28": "rgb(216, 200, 82)",
|
||||||
|
"user_29": "rgb(194, 194, 194)",
|
||||||
|
"user_3": "rgb(180, 219, 210)",
|
||||||
|
"user_30": "rgb(89, 148, 220)",
|
||||||
|
"user_31": "rgb(180, 219, 210)",
|
||||||
|
"user_32": "rgb(216, 200, 82)",
|
||||||
|
"user_33": "rgb(194, 194, 194)",
|
||||||
|
"user_34": "rgb(89, 148, 220)",
|
||||||
|
"user_35": "rgb(180, 219, 210)",
|
||||||
|
"user_36": "rgb(216, 200, 82)",
|
||||||
|
"user_37": "rgb(194, 194, 194)",
|
||||||
|
"user_38": "rgb(89, 148, 220)",
|
||||||
|
"user_39": "rgb(180, 219, 210)",
|
||||||
|
"user_4": "rgb(216, 200, 82)",
|
||||||
|
"user_40": "rgb(216, 200, 82)",
|
||||||
|
"user_41": "rgb(194, 194, 194)",
|
||||||
|
"user_42": "rgb(89, 148, 220)",
|
||||||
|
"user_43": "rgb(180, 219, 210)",
|
||||||
|
"user_44": "rgb(216, 200, 82)",
|
||||||
|
"user_45": "rgb(194, 194, 194)",
|
||||||
|
"user_5": "rgb(194, 194, 194)",
|
||||||
|
"user_6": "rgb(89, 148, 220)",
|
||||||
|
"user_7": "rgb(180, 219, 210)",
|
||||||
|
"user_8": "rgb(216, 200, 82)",
|
||||||
|
"user_9": "rgb(232, 178, 167)",
|
||||||
|
"via_blind_buried": "rgb(187, 151, 38)",
|
||||||
|
"via_hole": "rgb(227, 183, 46)",
|
||||||
|
"via_hole_walls": "rgb(236, 236, 236)",
|
||||||
|
"via_micro": "rgb(0, 132, 132)",
|
||||||
|
"via_net_names": "rgba(50, 50, 50, 0.902)",
|
||||||
|
"via_through": "rgb(236, 236, 236)",
|
||||||
|
"worksheet": "rgb(200, 114, 171)"
|
||||||
|
},
|
||||||
|
"gerbview": {
|
||||||
|
"axes": "rgb(0, 0, 132)",
|
||||||
|
"background": "rgb(0, 0, 0)",
|
||||||
|
"dcodes": "rgb(255, 255, 255)",
|
||||||
|
"grid": "rgb(132, 132, 132)",
|
||||||
|
"layers": [
|
||||||
|
"rgb(200, 52, 52)",
|
||||||
|
"rgb(127, 200, 127)",
|
||||||
|
"rgb(206, 125, 44)",
|
||||||
|
"rgb(79, 203, 203)",
|
||||||
|
"rgb(219, 98, 139)",
|
||||||
|
"rgb(167, 165, 198)",
|
||||||
|
"rgb(40, 204, 217)",
|
||||||
|
"rgb(232, 178, 167)",
|
||||||
|
"rgb(242, 237, 161)",
|
||||||
|
"rgb(141, 203, 129)",
|
||||||
|
"rgb(237, 124, 51)",
|
||||||
|
"rgb(91, 195, 235)",
|
||||||
|
"rgb(247, 111, 142)",
|
||||||
|
"rgb(77, 127, 196)",
|
||||||
|
"rgb(200, 52, 52)",
|
||||||
|
"rgb(127, 200, 127)",
|
||||||
|
"rgb(206, 125, 44)",
|
||||||
|
"rgb(79, 203, 203)",
|
||||||
|
"rgb(219, 98, 139)",
|
||||||
|
"rgb(167, 165, 198)",
|
||||||
|
"rgb(40, 204, 217)",
|
||||||
|
"rgb(232, 178, 167)",
|
||||||
|
"rgb(242, 237, 161)",
|
||||||
|
"rgb(141, 203, 129)",
|
||||||
|
"rgb(237, 124, 51)",
|
||||||
|
"rgb(91, 195, 235)",
|
||||||
|
"rgb(247, 111, 142)",
|
||||||
|
"rgb(77, 127, 196)",
|
||||||
|
"rgb(200, 52, 52)",
|
||||||
|
"rgb(127, 200, 127)",
|
||||||
|
"rgb(206, 125, 44)",
|
||||||
|
"rgb(79, 203, 203)",
|
||||||
|
"rgb(219, 98, 139)",
|
||||||
|
"rgb(167, 165, 198)",
|
||||||
|
"rgb(40, 204, 217)",
|
||||||
|
"rgb(232, 178, 167)",
|
||||||
|
"rgb(242, 237, 161)",
|
||||||
|
"rgb(141, 203, 129)",
|
||||||
|
"rgb(237, 124, 51)",
|
||||||
|
"rgb(91, 195, 235)",
|
||||||
|
"rgb(247, 111, 142)",
|
||||||
|
"rgb(77, 127, 196)",
|
||||||
|
"rgb(200, 52, 52)",
|
||||||
|
"rgb(127, 200, 127)",
|
||||||
|
"rgb(206, 125, 44)",
|
||||||
|
"rgb(79, 203, 203)",
|
||||||
|
"rgb(219, 98, 139)",
|
||||||
|
"rgb(167, 165, 198)",
|
||||||
|
"rgb(40, 204, 217)",
|
||||||
|
"rgb(232, 178, 167)",
|
||||||
|
"rgb(242, 237, 161)",
|
||||||
|
"rgb(141, 203, 129)",
|
||||||
|
"rgb(237, 124, 51)",
|
||||||
|
"rgb(91, 195, 235)",
|
||||||
|
"rgb(247, 111, 142)",
|
||||||
|
"rgb(77, 127, 196)",
|
||||||
|
"rgb(200, 52, 52)",
|
||||||
|
"rgb(127, 200, 127)",
|
||||||
|
"rgb(206, 125, 44)",
|
||||||
|
"rgb(79, 203, 203)",
|
||||||
|
"rgb(219, 98, 139)",
|
||||||
|
"rgb(167, 165, 198)",
|
||||||
|
"rgb(40, 204, 217)",
|
||||||
|
"rgb(232, 178, 167)"
|
||||||
|
],
|
||||||
|
"negative_objects": "rgb(132, 132, 132)",
|
||||||
|
"page_limits": "rgb(132, 132, 132)",
|
||||||
|
"worksheet": "rgb(0, 0, 132)"
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"name": "Altium_Theme",
|
||||||
|
"version": 5
|
||||||
|
},
|
||||||
|
"schematic": {
|
||||||
|
"anchor": "rgb(0, 0, 255)",
|
||||||
|
"aux_items": "rgb(0, 0, 0)",
|
||||||
|
"background": "rgb(245, 244, 239)",
|
||||||
|
"brightened": "rgb(255, 0, 255)",
|
||||||
|
"bus": "rgb(0, 0, 132)",
|
||||||
|
"bus_junction": "rgb(0, 0, 132)",
|
||||||
|
"component_body": "rgb(255, 255, 194)",
|
||||||
|
"component_outline": "rgb(132, 0, 0)",
|
||||||
|
"cursor": "rgb(15, 15, 15)",
|
||||||
|
"dnp_marker": "rgba(220, 9, 13, 0.851)",
|
||||||
|
"erc_error": "rgba(230, 9, 13, 0.800)",
|
||||||
|
"erc_exclusion": "rgba(94, 194, 194, 0.800)",
|
||||||
|
"erc_warning": "rgba(209, 146, 0, 0.800)",
|
||||||
|
"excluded_from_sim": "rgba(194, 194, 194, 0.949)",
|
||||||
|
"fields": "rgb(132, 0, 132)",
|
||||||
|
"grid": "rgb(181, 181, 181)",
|
||||||
|
"grid_axes": "rgb(0, 0, 132)",
|
||||||
|
"hidden": "rgb(94, 194, 194)",
|
||||||
|
"hovered": "rgb(0, 0, 255)",
|
||||||
|
"junction": "rgb(0, 0, 0)",
|
||||||
|
"label_global": "rgb(132, 0, 0)",
|
||||||
|
"label_hier": "rgb(114, 86, 0)",
|
||||||
|
"label_local": "rgb(132, 0, 0)",
|
||||||
|
"netclass_flag": "rgb(72, 72, 72)",
|
||||||
|
"no_connect": "rgb(0, 0, 132)",
|
||||||
|
"note": "rgb(0, 0, 194)",
|
||||||
|
"note_background": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"op_currents": "rgb(224, 0, 12)",
|
||||||
|
"op_voltages": "rgb(132, 0, 50)",
|
||||||
|
"override_item_colors": false,
|
||||||
|
"page_limits": "rgb(181, 181, 181)",
|
||||||
|
"pin": "rgb(0, 0, 0)",
|
||||||
|
"pin_name": "rgb(0, 0, 0)",
|
||||||
|
"pin_number": "rgb(0, 0, 0)",
|
||||||
|
"private_note": "rgb(72, 72, 255)",
|
||||||
|
"reference": "rgb(0, 0, 194)",
|
||||||
|
"rule_area": "rgb(255, 0, 0)",
|
||||||
|
"shadow": "rgba(102, 179, 255, 0.800)",
|
||||||
|
"sheet": "rgb(0, 0, 0)",
|
||||||
|
"sheet_background": "rgba(255, 255, 255, 0.000)",
|
||||||
|
"sheet_fields": "rgb(132, 0, 132)",
|
||||||
|
"sheet_filename": "rgb(0, 0, 132)",
|
||||||
|
"sheet_label": "rgb(0, 0, 0)",
|
||||||
|
"sheet_name": "rgb(0, 0, 132)",
|
||||||
|
"value": "rgb(0, 0, 194)",
|
||||||
|
"wire": "rgb(0, 0, 0)",
|
||||||
|
"worksheet": "rgb(0, 0, 0)"
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
kibot/fonts/Arial Bold.ttf
Normal file
BIN
kibot/fonts/Arial Bold.ttf
Normal file
Binary file not shown.
BIN
kibot/fonts/Arial Narrow Bold.ttf
Normal file
BIN
kibot/fonts/Arial Narrow Bold.ttf
Normal file
Binary file not shown.
BIN
kibot/fonts/Arial Narrow.ttf
Normal file
BIN
kibot/fonts/Arial Narrow.ttf
Normal file
Binary file not shown.
BIN
kibot/fonts/Arial.ttf
Normal file
BIN
kibot/fonts/Arial.ttf
Normal file
Binary file not shown.
BIN
kibot/fonts/Inconsolata.ttf
Normal file
BIN
kibot/fonts/Inconsolata.ttf
Normal file
Binary file not shown.
34
kibot/scripts/bootstrap.sh
Normal file
34
kibot/scripts/bootstrap.sh
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# ============================================================================
|
||||||
|
# KiBot Template Bootstrapping Script
|
||||||
|
# ============================================================================
|
||||||
|
|
||||||
|
# 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'"
|
||||||
|
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)
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
echo "Renamed project to \"${ASSY_NUMBER}.kicad_pro\""
|
||||||
|
|
||||||
|
# Push the Develpment Branch to Gitea
|
||||||
|
git add -q project.json
|
||||||
|
git commit -aq -m 'Initialize Project'
|
||||||
|
git push -qu origin dev
|
||||||
|
echo "Initialized and Committed Project"
|
||||||
|
|
||||||
|
# Bootstrap Complete
|
||||||
|
echo "Bootstrap complete. Please run 'git pull' after the CI action finishes.'"
|
||||||
49
kibot/scripts/get_sheet_title.py
Normal file
49
kibot/scripts/get_sheet_title.py
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
import argparse
|
||||||
|
import xml.etree.ElementTree as ET
|
||||||
|
import sys
|
||||||
|
|
||||||
|
def get_sheet_title(file_path, page_number, dots_number):
|
||||||
|
try:
|
||||||
|
tree = ET.parse(file_path)
|
||||||
|
root = tree.getroot()
|
||||||
|
|
||||||
|
page_number = str(page_number)
|
||||||
|
titles = []
|
||||||
|
|
||||||
|
for sheet in root.findall(".//sheet"):
|
||||||
|
number = sheet.get("number")
|
||||||
|
if number == page_number:
|
||||||
|
# Get the last part of the 'name' attribute after '/'
|
||||||
|
name = sheet.get("name")
|
||||||
|
title_block = sheet.find("title_block")
|
||||||
|
title = title_block.find("title").text if title_block is not None else None
|
||||||
|
if name:
|
||||||
|
titles.append(name.split("/")[-2 if name.endswith("/") else -1])
|
||||||
|
|
||||||
|
if not titles:
|
||||||
|
print('.'*dots_number)
|
||||||
|
|
||||||
|
elif len(set(titles)) > 1:
|
||||||
|
print("Conflicting page numbers")
|
||||||
|
else:
|
||||||
|
print(titles[0])
|
||||||
|
except ET.ParseError:
|
||||||
|
print("Error: Invalid XML format")
|
||||||
|
except FileNotFoundError:
|
||||||
|
print("Error: XML File not found")
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Error: {e}")
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = argparse.ArgumentParser(description="Get the sheet title based on page number from a KiCad XML file")
|
||||||
|
parser.add_argument("-p", "--page-number", type=int, required=True, help="Page number to search")
|
||||||
|
parser.add_argument("-f", "--file", type=str, required=True, help="Path to the schematic XML file")
|
||||||
|
parser.add_argument("-d", "--dots-number", type=int, required=True, help="Number of dots for empty lines")
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
get_sheet_title(args.file, args.page_number, args.dots_number)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
257
kibot/scripts/metadata.py
Normal file
257
kibot/scripts/metadata.py
Normal file
@@ -0,0 +1,257 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
#
|
||||||
|
# Script to maintain the project.json metadata file
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
import shutil
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from dataclasses import dataclass, asdict
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ProjectMetadata:
|
||||||
|
AssemblyName: str = ''
|
||||||
|
AssemblyNumber: str = ''
|
||||||
|
AssemblyTitle: str = ''
|
||||||
|
Company: str = 'Asymworks, LLC'
|
||||||
|
Designer: str = 'JPK'
|
||||||
|
FabNumber: str = ''
|
||||||
|
FabTitle: str = ''
|
||||||
|
ProjectNumber: str = ''
|
||||||
|
SchematicNumber: str = ''
|
||||||
|
SchematicTitle: str = ''
|
||||||
|
|
||||||
|
|
||||||
|
#: Mapping from `ProjectMetadata` key to KiCad Text Variable name
|
||||||
|
TEXT_VARS = {
|
||||||
|
'AssemblyName': 'ASSEMBLY_NAME',
|
||||||
|
'AssemblyNumber': 'ASSEMBLY_NUMBER',
|
||||||
|
'AssemblyTitle': 'DWG_TITLE_ASSY',
|
||||||
|
'Company': 'COMPANY',
|
||||||
|
'Designer': 'DESIGNER',
|
||||||
|
'FabNumber': 'DWG_NUMBER_PCB',
|
||||||
|
'FabTitle': 'DWG_TITLE_PCB',
|
||||||
|
'ProjectNumber': 'PROJECT_CODE',
|
||||||
|
'SchematicNumber': 'DWG_NUMBER_SCH',
|
||||||
|
'SchematicTitle': 'DWG_TITLE_SCH',
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def read_input(
|
||||||
|
prompt: str,
|
||||||
|
default: str | None = None,
|
||||||
|
*,
|
||||||
|
format_help: str | None = None,
|
||||||
|
optional: bool = False,
|
||||||
|
regex: str | re.Pattern | None = None,
|
||||||
|
use_color: bool = True
|
||||||
|
) -> str | None:
|
||||||
|
"""Read an input string from the console, with defaults and retry."""
|
||||||
|
prompt_str = f'{prompt} [{default or None}]'
|
||||||
|
if use_color:
|
||||||
|
prompt_str = f'{prompt} [\033[1;34m{default or None}\033[0m]'
|
||||||
|
|
||||||
|
check_re = None
|
||||||
|
if isinstance(regex, re.Pattern):
|
||||||
|
check_re = regex
|
||||||
|
elif isinstance(regex, str):
|
||||||
|
check_re = re.compile(regex, re.I)
|
||||||
|
|
||||||
|
error = None
|
||||||
|
while True:
|
||||||
|
error_str = f'\033[31m({error})\033[0m ' if error is not None else ''
|
||||||
|
value = input(f'{error_str}{prompt_str}: ')
|
||||||
|
if not value and not default and not optional:
|
||||||
|
error = 'input required'
|
||||||
|
continue
|
||||||
|
|
||||||
|
if not value:
|
||||||
|
value = default
|
||||||
|
|
||||||
|
if check_re and not check_re.match(value):
|
||||||
|
error = 'invalid format' if not format_help else format_help
|
||||||
|
continue
|
||||||
|
|
||||||
|
break
|
||||||
|
|
||||||
|
if not value and optional:
|
||||||
|
return None
|
||||||
|
|
||||||
|
return value
|
||||||
|
|
||||||
|
|
||||||
|
def load_file(filename: str) -> ProjectMetadata:
|
||||||
|
"""Load the Project Metadata from a JSON File."""
|
||||||
|
with open(filename, 'r') as f:
|
||||||
|
data = json.load(f)
|
||||||
|
|
||||||
|
return ProjectMetadata(**data)
|
||||||
|
|
||||||
|
|
||||||
|
def load_interactive(defaults: ProjectMetadata | None = None) -> ProjectMetadata:
|
||||||
|
"""Load the Project Metadata from an interactive console questionnaire."""
|
||||||
|
md = defaults or ProjectMetadata()
|
||||||
|
|
||||||
|
# Get the Company and Designer information first.
|
||||||
|
md.Company = read_input('Company', md.Company)
|
||||||
|
md.Designer = read_input('Designer', md.Designer)
|
||||||
|
|
||||||
|
# Next get the Assembly Number and Name; this will allow us to
|
||||||
|
# generate sensible defaults for the rest.
|
||||||
|
md.AssemblyNumber = read_input('Assembly Number', md.AssemblyNumber)
|
||||||
|
md.AssemblyName = read_input('Assembly Name', md.AssemblyName)
|
||||||
|
|
||||||
|
if not md.AssemblyTitle:
|
||||||
|
md.AssemblyTitle = f'Assembly, {md.AssemblyName}'
|
||||||
|
|
||||||
|
if not md.FabNumber:
|
||||||
|
md.FabNumber = f'P{md.AssemblyNumber[1:]}'
|
||||||
|
if not md.FabTitle:
|
||||||
|
md.FabTitle = f'PCB Fabrication, {md.AssemblyName}'
|
||||||
|
|
||||||
|
if not md.SchematicNumber:
|
||||||
|
md.SchematicNumber = f'S{md.AssemblyNumber[1:]}'
|
||||||
|
if not md.SchematicTitle:
|
||||||
|
md.SchematicTitle = f'Schematic, {md.AssemblyName}'
|
||||||
|
|
||||||
|
md.AssemblyTitle = read_input('Assembly Drawing Title', md.AssemblyTitle)
|
||||||
|
md.FabNumber = read_input('Fabrication Drawing Number', md.FabNumber)
|
||||||
|
md.FabTitle = read_input('Fabrication Drawing Title', md.FabTitle)
|
||||||
|
md.SchematicNumber = read_input('Schematic Drawing Number', md.SchematicNumber)
|
||||||
|
md.SchematicTitle = read_input('Schematic Drawing Title', md.SchematicTitle)
|
||||||
|
|
||||||
|
# Finally load the Project Number
|
||||||
|
if not md.ProjectNumber:
|
||||||
|
md.ProjectNumber = f'P{md.AssemblyNumber[1:3]}'
|
||||||
|
|
||||||
|
md.ProjectNumber = read_input(
|
||||||
|
'Project Number',
|
||||||
|
md.ProjectNumber,
|
||||||
|
format_help='Format as P##',
|
||||||
|
regex=r'^P[0-9]{2}$',
|
||||||
|
)
|
||||||
|
|
||||||
|
return md
|
||||||
|
|
||||||
|
|
||||||
|
def run_init(filename: str) -> int:
|
||||||
|
"""Run the `init` subcommand to initialize the Metadata."""
|
||||||
|
md = None
|
||||||
|
if os.path.isfile(filename):
|
||||||
|
md = load_file(filename)
|
||||||
|
|
||||||
|
md = load_interactive(md)
|
||||||
|
with open(filename, 'w') as f:
|
||||||
|
json.dump(asdict(md), f, indent=2)
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
def run_print(filename: str, variable: str) -> int:
|
||||||
|
"""Run the `print` subcommand to echo Metadata to `stdout`."""
|
||||||
|
try:
|
||||||
|
md = load_file(filename)
|
||||||
|
except FileNotFoundError:
|
||||||
|
sys.stderr.write(f'{filename} not found\n')
|
||||||
|
return 1
|
||||||
|
except TypeError as e:
|
||||||
|
sys.stderr.write(f'{filename} has unexpected data\n {str(e)}\n')
|
||||||
|
return 1
|
||||||
|
|
||||||
|
var_lcase = variable.lower()
|
||||||
|
for md_key, txt_var in TEXT_VARS.items():
|
||||||
|
if var_lcase != md_key.lower() and var_lcase != txt_var.lower():
|
||||||
|
continue
|
||||||
|
|
||||||
|
var_found = True
|
||||||
|
if not hasattr(md, md_key):
|
||||||
|
sys.stderr.write(f'Internal error: {md_key} not defined in metadata')
|
||||||
|
return 2
|
||||||
|
|
||||||
|
sys.stdout.write(getattr(md, md_key))
|
||||||
|
return 0
|
||||||
|
|
||||||
|
sys.stderr.write(f'{variable} is not a valid Metadata variable\n')
|
||||||
|
return 1
|
||||||
|
|
||||||
|
def run_update(filename: str, kicad_project: str) -> int:
|
||||||
|
"""Run the `update` subcommand to update the KiCad Project."""
|
||||||
|
try:
|
||||||
|
md = load_file(filename)
|
||||||
|
except FileNotFoundError:
|
||||||
|
sys.stderr.write(f'{filename} not found\n')
|
||||||
|
return 1
|
||||||
|
except TypeError as e:
|
||||||
|
sys.stderr.write(f'{filename} has unexpected data\n {str(e)}\n')
|
||||||
|
return 1
|
||||||
|
|
||||||
|
kicad_filepath = os.path.abspath(kicad_project)
|
||||||
|
if not os.path.isfile(kicad_filepath):
|
||||||
|
sys.stderr.write(f'{kicad_filepath} does not exist\n')
|
||||||
|
return 1
|
||||||
|
|
||||||
|
if os.path.splitext(kicad_filepath)[1] != '.kicad_pro':
|
||||||
|
sys.stderr.write(f'{kicad_filepath} is not a KiCad Project file\n')
|
||||||
|
return 1
|
||||||
|
|
||||||
|
kicad_data = None
|
||||||
|
try:
|
||||||
|
with open(kicad_filepath, 'r') as f:
|
||||||
|
kicad_data = json.load(f)
|
||||||
|
|
||||||
|
if 'text_variables' not in kicad_data:
|
||||||
|
sys.stderr.write(f'Warning: "text-variables" is not set in KiCad Project')
|
||||||
|
|
||||||
|
for md_key, txt_var in TEXT_VARS.items():
|
||||||
|
if not hasattr(md, md_key):
|
||||||
|
sys.stderr.write(f'Internal error: {md_key} not defined in metadata')
|
||||||
|
return 2
|
||||||
|
|
||||||
|
if txt_var not in kicad_data['text_variables']:
|
||||||
|
sys.stderr.write(f'Warning: creating KiCad text variable {txt_var}')
|
||||||
|
|
||||||
|
kicad_data['text_variables'][txt_var] = getattr(md, md_key)
|
||||||
|
|
||||||
|
shutil.copy(kicad_filepath, f'{kicad_filepath}-bak')
|
||||||
|
with open(kicad_filepath, 'w') as f:
|
||||||
|
json.dump(kicad_data, f, indent=2)
|
||||||
|
|
||||||
|
except FileNotFoundError:
|
||||||
|
sys.stderr.write(f'{kicad_filepath} does not exist\n')
|
||||||
|
return 1
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
parser = argparse.ArgumentParser(description='Script to maintain the project.json metadata file')
|
||||||
|
parser.add_argument('-f', '--filename', type=str, default='project.json', help='Project Metadata filename (default is "project.json")')
|
||||||
|
|
||||||
|
subparsers = parser.add_subparsers(dest='command', metavar='command', help='subcommands')
|
||||||
|
|
||||||
|
init_parser = subparsers.add_parser('init', help='Initialize the Project Metadata')
|
||||||
|
print_parser = subparsers.add_parser('print', help='Print Metadata values')
|
||||||
|
print_parser.add_argument('variable', help='Metadata variable name to print')
|
||||||
|
update_parser = subparsers.add_parser('update', help='Update the KiCad Project with the Metadata')
|
||||||
|
update_parser.add_argument('kicad_project', help='KiCad project to update with the Metadata')
|
||||||
|
|
||||||
|
# parser.add_argument('-i', '--interactive', action='store_true', help='Run in interactive mode to prompt for each data field.')
|
||||||
|
# parser.add_argument('-u', '--update', nargs=1, metavar='KICAD-PROJECT', help='Write the text variables in the KiCad Project file')
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
filepath = os.path.abspath(args.filename)
|
||||||
|
|
||||||
|
if args.command == 'init':
|
||||||
|
sys.exit(run_init(filepath))
|
||||||
|
|
||||||
|
elif args.command == 'print':
|
||||||
|
sys.exit(run_print(filepath, args.variable))
|
||||||
|
|
||||||
|
elif args.command == 'update':
|
||||||
|
sys.exit(run_update(filepath, args.kicad_project))
|
||||||
|
|
||||||
|
sys.stderr.write(f'Unknown command: {args.command}\n')
|
||||||
|
sys.exit(1)
|
||||||
17
kibot/yaml/kibot_filt_exclude_testpoints.yaml
Normal file
17
kibot/yaml/kibot_filt_exclude_testpoints.yaml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# KiBot Filter for excluding testpoints
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
filters:
|
||||||
|
- name: '@NAME@'
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: generic
|
||||||
|
exclude_any:
|
||||||
|
- column: Reference
|
||||||
|
regex: "TP"
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
COMMENT: Exclude only testpoints
|
||||||
|
NAME: exclude_testpoints
|
||||||
21
kibot/yaml/kibot_filt_field_rename.yaml
Normal file
21
kibot/yaml/kibot_filt_field_rename.yaml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# KiBot Filter for renaming Manufacturer Part Number field
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
filters:
|
||||||
|
- name: '@NAME@'
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: field_rename
|
||||||
|
rename:
|
||||||
|
- field: '@MPN_FIELD@'
|
||||||
|
name: manf#
|
||||||
|
- field: '@MAN_FIELD@'
|
||||||
|
name: manf
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
COMMENT: Rename fields
|
||||||
|
NAME: field_rename
|
||||||
|
MPN_FIELD: 'Manufacturer PN'
|
||||||
|
MAN_FIELD: 'Manufacturer'
|
||||||
17
kibot/yaml/kibot_filt_lcsc_parts.yaml
Normal file
17
kibot/yaml/kibot_filt_lcsc_parts.yaml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# KiBot Filter for components with an LCSC Part Number
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
filters:
|
||||||
|
- name: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: generic
|
||||||
|
include_only:
|
||||||
|
- column: _field_lcsc_part
|
||||||
|
regex: '^C\d+'
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
COMMENT: Only parts with LCSC Part Number
|
||||||
|
NAME: only_lcsc_parts
|
||||||
25
kibot/yaml/kibot_filt_testpoints.yaml
Normal file
25
kibot/yaml/kibot_filt_testpoints.yaml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# KiBot Filter for testpoints
|
||||||
|
# These filters are used for multiple outputs to highlight testpoints
|
||||||
|
# or generate testpoint lists for top and bottom layers
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
filters:
|
||||||
|
- name: '@NAME@'
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: generic
|
||||||
|
exclude_top: @EXCLUDE_TOP@
|
||||||
|
exclude_bottom: @EXCLUDE_BOTTOM@
|
||||||
|
include_only:
|
||||||
|
- column: Reference
|
||||||
|
regex: "TP"
|
||||||
|
exclude_refs: @EXCLUDE_REFS@
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
COMMENT: Select only testpoints
|
||||||
|
NAME: only_testpoints
|
||||||
|
EXCLUDE_TOP: false
|
||||||
|
EXCLUDE_BOTTOM: false
|
||||||
|
EXCLUDE_REFS: '[MB*]'
|
||||||
20
kibot/yaml/kibot_globals.yaml
Normal file
20
kibot/yaml/kibot_globals.yaml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# KiBot Globals
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/global.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
global:
|
||||||
|
resources_dir: 'kibot'
|
||||||
|
out_dir: '@OUTPUT_DIR@'
|
||||||
|
dnp_cross_top_layer: '@LAYER_DNP_TOP@'
|
||||||
|
dnp_cross_bottom_layer: '@LAYER_DNP_BOTTOM@'
|
||||||
|
disable_kicad_cross_on_fab: true
|
||||||
|
extra_pth_drill: 0 # for annular ring computation.
|
||||||
|
filters: []
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
OUTPUT_DIR: ./
|
||||||
|
LAYER_DNP_TOP: F.DNP
|
||||||
|
LAYER_DNP_BOTTOM: B.DNP
|
||||||
852
kibot/yaml/kibot_main.yaml
Normal file
852
kibot/yaml/kibot_main.yaml
Normal file
@@ -0,0 +1,852 @@
|
|||||||
|
# KiBot configuration file for Asymworks_KiBot Template
|
||||||
|
# KiCad 9.0
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
variants: []
|
||||||
|
|
||||||
|
# ============================================================================
|
||||||
|
# Output Groups
|
||||||
|
|
||||||
|
groups:
|
||||||
|
|
||||||
|
# Top-Level 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
|
||||||
|
|
||||||
|
# Draft Outputs Group (used in DRAFT state only) ---------------------------
|
||||||
|
- name: draft_group
|
||||||
|
outputs:
|
||||||
|
- @NETLIST_OUTPUT@
|
||||||
|
- @TXT_SCH_NOTES_OUTPUT@
|
||||||
|
- @PDF_SCHEMATIC_OUTPUT@
|
||||||
|
- @CSV_BOM_OUTPUT@
|
||||||
|
- @HTML_BOM_OUTPUT@
|
||||||
|
|
||||||
|
# All Outputs Group (used in all other states) -----------------------------
|
||||||
|
- name: all_group
|
||||||
|
outputs:
|
||||||
|
- bom
|
||||||
|
- renders
|
||||||
|
- models
|
||||||
|
- fab
|
||||||
|
- jlcpcb
|
||||||
|
- 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
|
||||||
|
outputs: []
|
||||||
|
|
||||||
|
# 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:
|
||||||
|
- @STEP_OUTPUT@
|
||||||
|
- @GLB_OUTPUT@
|
||||||
|
|
||||||
|
# Fabrication Outputs ------------------------------------------------------
|
||||||
|
- name: fab
|
||||||
|
outputs:
|
||||||
|
- @GERBER_OUTPUT@
|
||||||
|
- @EXCELLON_DRILL_OUTPUT@
|
||||||
|
- @ODB_OUTPUT@
|
||||||
|
- @PDF_DRILL_MAP_OUTPUT@
|
||||||
|
- @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:
|
||||||
|
- @JLCPCB_GERBER_OUTPUT@
|
||||||
|
- @JLCPCB_FABPACK_OUTPUT@
|
||||||
|
- @JLCPCB_BOM_OUTPUT@
|
||||||
|
- @JLCPCB_CPL_OUTPUT@
|
||||||
|
|
||||||
|
# Assembly Outputs ---------------------------------------------------------
|
||||||
|
- name: assembly
|
||||||
|
outputs:
|
||||||
|
- @CSV_POS_OUTPUT@
|
||||||
|
- @PDF_ASSEMBLY_OUTPUT@
|
||||||
|
|
||||||
|
# Panelization Outputs -----------------------------------------------------
|
||||||
|
- name: panels
|
||||||
|
outputs: [ @PANEL_800_OUTPUT@ ]
|
||||||
|
|
||||||
|
# ============================================================================
|
||||||
|
# Imports
|
||||||
|
|
||||||
|
import:
|
||||||
|
|
||||||
|
# Global Parameters ========================================================
|
||||||
|
- file: kibot_globals.yaml
|
||||||
|
definitions:
|
||||||
|
OUTPUT_DIR: @OUTPUT_DIR@
|
||||||
|
LAYER_DNP_TOP: @LAYER_DNP_TOP@
|
||||||
|
LAYER_DNP_BOT: @LAYER_DNP_BOTTOM@
|
||||||
|
|
||||||
|
# Filters ==================================================================
|
||||||
|
|
||||||
|
- file: 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
|
||||||
|
definitions:
|
||||||
|
NAME: @FILT_TP_ONLY@
|
||||||
|
COMMENT: Include only testpoints
|
||||||
|
|
||||||
|
- file: kibot_filt_exclude_testpoints.yaml
|
||||||
|
definitions:
|
||||||
|
NAME: @FILT_TP_EXCLUDE@
|
||||||
|
COMMENT: Exclude only testpoints
|
||||||
|
|
||||||
|
- file: 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
|
||||||
|
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
|
||||||
|
definitions:
|
||||||
|
NAME: @FILT_LCSC_PARTS@
|
||||||
|
COMMENT: Only parts with LCSC Part Number
|
||||||
|
|
||||||
|
# Preflights ===============================================================
|
||||||
|
- file: 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
|
||||||
|
definitions:
|
||||||
|
DIR: @REPORT_DIR@
|
||||||
|
|
||||||
|
# Generate DRC Report
|
||||||
|
- file: 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
|
||||||
|
definitions:
|
||||||
|
GERBER_OUTPUT: @GERBER_OUTPUT@
|
||||||
|
NOTE: @STACKUP_TABLE_NOTE@
|
||||||
|
|
||||||
|
# Include tables for PCB and Assembly Drawings
|
||||||
|
- file: kibot_pre_include_table.yaml
|
||||||
|
definitions:
|
||||||
|
NAME_TP_TOP: @CSV_TP_TOP_OUTPUT@
|
||||||
|
NAME_TP_BOTTOM: @CSV_TP_BOTTOM_OUTPUT@
|
||||||
|
NAME_COMP_COUNT: @CSV_COMP_COUNT_OUPUT@
|
||||||
|
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
|
||||||
|
|
||||||
|
# Drawings in PDF format ---------------------------------------------------
|
||||||
|
- file: kibot_out_pdf_schematic.yaml
|
||||||
|
definitions:
|
||||||
|
NAME: @PDF_SCHEMATIC_OUTPUT@
|
||||||
|
COMMENT: Schematic in PDF format
|
||||||
|
COLOR_THEME: @COLOR_THEME@
|
||||||
|
DIR: @SCHEMATIC_DIR@
|
||||||
|
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:
|
||||||
|
NAME: @STEP_OUTPUT@
|
||||||
|
COMMENT: PCB 3D model in STEP format
|
||||||
|
FORMAT: step
|
||||||
|
DIR: @MODELS_DIR@
|
||||||
|
INCLUDE_SILKSCREEN: false
|
||||||
|
INCLUDE_SOLDERMASK: false
|
||||||
|
INCLUDE_TRACKS: false
|
||||||
|
|
||||||
|
- file: kibot_out_3d_model.yaml
|
||||||
|
definitions:
|
||||||
|
NAME: @GLB_OUTPUT@
|
||||||
|
COMMENT: PCB 3D model in GLB/gITF format
|
||||||
|
FORMAT: glb
|
||||||
|
DIR: @MODELS_DIR@
|
||||||
|
INCLUDE_SILKSCREEN: true
|
||||||
|
INCLUDE_SOLDERMASK: false
|
||||||
|
INCLUDE_TRACKS: false
|
||||||
|
|
||||||
|
# Fabrication Files (Non-Vendor Specific) ----------------------------------
|
||||||
|
- file: kibot_out_gerber.yaml
|
||||||
|
definitions:
|
||||||
|
NAME: @GERBER_OUTPUT@
|
||||||
|
COMMENT: Gerbers in GBR format
|
||||||
|
DIR: @GERBERS_DIR@
|
||||||
|
PLOT_REFS: @PLOT_REFS@
|
||||||
|
PROTEL_EXTENSIONS: @PROTEL_EXTENSIONS@
|
||||||
|
SUBTRACT_MASK: @SUBTRACT_MASK@
|
||||||
|
|
||||||
|
# Excellon Drill
|
||||||
|
- file: kibot_out_excellon_drill.yaml
|
||||||
|
definitions:
|
||||||
|
NAME: @EXCELLON_DRILL_OUTPUT@
|
||||||
|
COMMENT: Drill in Excellon format
|
||||||
|
DIR: @GERBERS_DIR@
|
||||||
|
METRIC_UNITS: @EXCELLON_METRIC_UNITS@
|
||||||
|
|
||||||
|
# ODB++
|
||||||
|
- file: kibot_out_odb.yaml
|
||||||
|
definitions:
|
||||||
|
NAME: @ODB_OUTPUT@
|
||||||
|
COMMENT: ODB++ in ZIP format
|
||||||
|
DIR: @FABRICATION_DIR@
|
||||||
|
|
||||||
|
# PDF Drill Map
|
||||||
|
- file: kibot_out_excellon_drill.yaml
|
||||||
|
definitions:
|
||||||
|
NAME: @PDF_DRILL_MAP_OUTPUT@
|
||||||
|
COMMENT: Drill Map in PDF format
|
||||||
|
DIR: @GERBERS_DIR@
|
||||||
|
METRIC_UNITS: @EXCELLON_METRIC_UNITS@
|
||||||
|
GENERATE_DRILL: false
|
||||||
|
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:
|
||||||
|
NAME: @CSV_POS_OUTPUT@
|
||||||
|
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:
|
||||||
|
NAME: @PDF_FABRICATION_OUTPUT@
|
||||||
|
COMMENT: Fabrication document in PDF format
|
||||||
|
DIR: @FABRICATION_DIR@
|
||||||
|
COLOR_THEME: @COLOR_THEME@
|
||||||
|
SHEET_WKS: @SHEET_WKS_PCB@
|
||||||
|
SCALING: @FAB_SCALING@
|
||||||
|
PTH_NPTH: '@GROUP_PTH_NPTH@'
|
||||||
|
GROUP_ROUND_SLOTS: @GROUP_ROUND_SLOTS@
|
||||||
|
FAB_EXCLUDE_FILTER: @FILT_TP_ONLY@
|
||||||
|
LAYER_DRILL_MAP: @LAYER_DRILL_MAP@
|
||||||
|
LAYER_TP_LIST_TOP: @LAYER_TP_LIST_TOP@
|
||||||
|
LAYER_TP_LIST_BOTTOM: @LAYER_TP_LIST_BOTTOM@
|
||||||
|
NAME_TP_TOP: @CSV_TP_TOP_OUTPUT@
|
||||||
|
NAME_TP_BOTTOM: @CSV_TP_BOTTOM_OUTPUT@
|
||||||
|
NAME_IMPEDANCE_TABLE: @CSV_IMPEDANCE_TABLE_OUTPUT@
|
||||||
|
NAME_DRILL_TABLE: @CSV_DRILL_TABLE_OUTPUT@
|
||||||
|
|
||||||
|
- file: kibot_out_pdf_assembly.yaml
|
||||||
|
definitions:
|
||||||
|
NAME: @PDF_ASSEMBLY_OUTPUT@
|
||||||
|
COMMENT: Assembly document in PDF format
|
||||||
|
DIR: @ASSEMBLY_DIR@
|
||||||
|
COLOR_THEME: @COLOR_THEME@
|
||||||
|
SHEET_WKS: @SHEET_WKS_ASSY@
|
||||||
|
SCALING: @ASSEMBLY_SCALING@
|
||||||
|
FAB_EXCLUDE_FILTER: @FILT_TP_EXCLUDE@
|
||||||
|
LAYER_TITLE_PAGE: @LAYER_TITLE_PAGE@
|
||||||
|
LAYER_ASSEMBLY_TEXT_TOP: @LAYER_ASSEMBLY_TEXT_TOP@
|
||||||
|
LAYER_ASSEMBLY_TEXT_BOTTOM: @LAYER_ASSEMBLY_TEXT_BOTTOM@
|
||||||
|
LAYER_DNP_CROSS_TOP: @LAYER_DNP_CROSS_TOP@
|
||||||
|
LAYER_DNP_CROSS_BOTTOM: @LAYER_DNP_CROSS_BOTTOM@
|
||||||
|
NAME_COMP_COUNT: @CSV_COMP_COUNT_OUPUT@
|
||||||
|
|
||||||
|
# Zip File of Fabrication Data
|
||||||
|
- file: kibot_out_compress_fab.yaml
|
||||||
|
definitions:
|
||||||
|
NAME: @ZIP_COMPRESS_FAB_OUTPUT@
|
||||||
|
COMMENT: Generates a ZIP file with gerbers, drill and fabrication document
|
||||||
|
DIR: @FABRICATION_DIR@
|
||||||
|
GERBER_OUTPUT: @GERBER_OUTPUT@
|
||||||
|
DRILL_MAP_OUTPUT: @PDF_DRILL_MAP_OUTPUT@
|
||||||
|
DRILL_OUTPUT: @EXCELLON_DRILL_OUTPUT@
|
||||||
|
FABRICATION_OUTPUT: @PDF_FABRICATION_OUTPUT@
|
||||||
|
|
||||||
|
# Fabrication and Assembly Files (JLCPCB) ----------------------------------
|
||||||
|
- file: kibot_out_gerber.yaml
|
||||||
|
definitions:
|
||||||
|
NAME: @JLCPCB_GERBER_OUTPUT@
|
||||||
|
COMMENT: Gerbers in GBR format for JLCPCB
|
||||||
|
DIR: @JLCPCB_GERBERS_DIR@
|
||||||
|
PLOT_REFS: true
|
||||||
|
PROTEL_EXTENSIONS: true
|
||||||
|
SUBTRACT_MASK: false
|
||||||
|
|
||||||
|
- file: kibot_out_jlcpcb_fabpack.yaml
|
||||||
|
definitions:
|
||||||
|
NAME: @JLCPCB_FABPACK_OUTPUT@
|
||||||
|
COMMENT: Zipped Fabpack for JLCPCB
|
||||||
|
DIR: @JLCPCB_FAB_DIR@
|
||||||
|
GERBER_OUTPUT: @JLCPCB_GERBER_OUTPUT@
|
||||||
|
DRILL_OUTPUT: @EXCELLON_DRILL_OUTPUT@
|
||||||
|
|
||||||
|
- file: kibot_out_jlcpcb_bom.yaml
|
||||||
|
definitions:
|
||||||
|
NAME: @JLCPCB_BOM_OUTPUT@
|
||||||
|
COMMENT: Bill of Materials for JLCPCB
|
||||||
|
DIR: @JLCPCB_ASSY_DIR@
|
||||||
|
EXCLUDE_FILTER: @FILT_LCSC_PARTS@
|
||||||
|
|
||||||
|
- file: kibot_out_jlcpcb_cpl.yaml
|
||||||
|
definitions:
|
||||||
|
NAME: @JLCPCB_CPL_OUTPUT@
|
||||||
|
COMMENT: Component Placement File for JLCPCB
|
||||||
|
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
|
||||||
|
definitions:
|
||||||
|
NAME: @PANEL_800_OUTPUT@
|
||||||
|
DIR: '@PANELS_DIR@/panel-800'
|
||||||
|
CONFIG: '@PANEL_800_CONFIG@'
|
||||||
|
TITLE: '@PANEL_800_TITLE@'
|
||||||
|
|
||||||
|
# ============================================================================
|
||||||
|
# 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'
|
||||||
|
PANEL_800_TITLE: Panel Fabrication (Panel -800)
|
||||||
|
|
||||||
|
# Preflight ================================================================
|
||||||
|
|
||||||
|
CHECK_ZONE_FILLS: false
|
||||||
|
STACKUP_TABLE_NOTE: external layer thicknesses are specified after plating
|
||||||
|
|
||||||
|
# BOM ======================================================================
|
||||||
|
|
||||||
|
IPN_FIELD: 'Asymworks IPN'
|
||||||
|
MPN_FIELD: 'Manufacturer PN'
|
||||||
|
MAN_FIELD: 'Manufacturer'
|
||||||
|
|
||||||
|
# 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_DRL: false # for .drl files
|
||||||
|
|
||||||
|
# Gerber Parameters ========================================================
|
||||||
|
|
||||||
|
PLOT_REFS: true # reference designators
|
||||||
|
PROTEL_EXTENSIONS: false # use Protel extensions
|
||||||
|
SUBTRACT_MASK: false # subtract Solder Mask from Silkscreen
|
||||||
|
EXCELLON_METRIC_UNITS: true # use Metric units for Excellon drill file
|
||||||
|
|
||||||
|
# References to exclude from testpoint highlighting ========================
|
||||||
|
|
||||||
|
TP_EXCLUDE_REFS: '[MB*]' # for components on the PCB but not on the schematic
|
||||||
|
|
||||||
|
# Schematic parameters =====================================================
|
||||||
|
|
||||||
|
COLOR_THEME: Altium_Theme
|
||||||
|
SHEET_WKS_SCH: templates/Asymworks_SCH.kicad_wks
|
||||||
|
SHEET_WKS_PCB: templates/Asymworks_PCB.kicad_wks
|
||||||
|
SHEET_WKS_ASSY: templates/Asymworks_PCBA.kicad_wks
|
||||||
|
FAB_SCALING: 1
|
||||||
|
ASSEMBLY_SCALING: 1
|
||||||
|
|
||||||
|
# 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_SAMPLES: 20 # Overridden to 2 samples for WORKING state by CI Script
|
||||||
|
BLENDER_ROT_X: 30
|
||||||
|
BLENDER_ROT_Y: 10
|
||||||
|
BLENDER_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
|
||||||
|
|
||||||
|
# Directories ==============================================================
|
||||||
|
|
||||||
|
# Root
|
||||||
|
OUTPUT_DIR: ./
|
||||||
|
|
||||||
|
# Relative to root
|
||||||
|
REPORT_DIR: reports
|
||||||
|
SCHEMATIC_DIR: schematic
|
||||||
|
MANUFACTURING_DIR: mfg
|
||||||
|
ASSEMBLY_DIR: '@MANUFACTURING_DIR@/assembly'
|
||||||
|
FABRICATION_DIR: '@MANUFACTURING_DIR@/fab'
|
||||||
|
GERBERS_DIR: '@FABRICATION_DIR@/gerbers'
|
||||||
|
FAB_DRILL_TABLES_DIR: '@FABRICATION_DIR@/drill-tables'
|
||||||
|
TESTING_DIR: test
|
||||||
|
TESTPOINTS_DIR: '@TESTING_DIR@/testpoints'
|
||||||
|
RESOURCES_DIR: kibot
|
||||||
|
MODELS_DIR: models
|
||||||
|
NOTES_DIR: notes
|
||||||
|
RENDER_DIR: renders
|
||||||
|
REPORT_TEMPLATE_DIR: '@RESOURCES_DIR@/templates'
|
||||||
|
SCRIPTS_DIR: '@RESOURCES_DIR@/scripts'
|
||||||
|
PANELS_DIR: panels
|
||||||
|
PANEL_FAB_DIR: '@FABRICATION_DIR@/panels'
|
||||||
|
JLCPCB_FAB_DIR: '@MANUFACTURING_DIR@/jlcpcb'
|
||||||
|
JLCPCB_ASSY_DIR: '@MANUFACTURING_DIR@/jlcpcb'
|
||||||
|
JLCPCB_GERBERS_DIR: '@MANUFACTURING_DIR@/jlcpcb/gerbers'
|
||||||
|
|
||||||
|
# Layer Names - should match user-defined names in the PCB. ===============
|
||||||
|
|
||||||
|
LAYER_TITLE_PAGE: AssyTitlePage
|
||||||
|
LAYER_DNP_TOP: F.DNP
|
||||||
|
LAYER_DNP_BOTTOM: B.DNP
|
||||||
|
LAYER_DRILL_MAP: DrillMap
|
||||||
|
LAYER_TP_LIST_TOP: F.TestPointList
|
||||||
|
LAYER_TP_LIST_BOTTOM: B.TestPointList
|
||||||
|
LAYER_ASSEMBLY_TEXT_TOP: F.AssemblyText
|
||||||
|
LAYER_ASSEMBLY_TEXT_BOTTOM: B.AssemblyText
|
||||||
|
LAYER_DNP_CROSS_TOP: F.DNP
|
||||||
|
LAYER_DNP_CROSS_BOTTOM: B.DNP
|
||||||
|
|
||||||
|
# Filter Names =============================================================
|
||||||
|
|
||||||
|
FILT_FIELD_RENAME: field_rename
|
||||||
|
FILT_LCSC_PARTS: only_lcsc_parts
|
||||||
|
FILT_TP_ONLY: only_testpoints
|
||||||
|
FILT_TP_EXCLUDE: exclude_testpoints
|
||||||
|
FILT_TP_TOP_ONLY: only_testpoints_top
|
||||||
|
FILT_TP_BOTTOM_ONLY: only_testpoints_bottom
|
||||||
|
|
||||||
|
# Output Names ============================================================
|
||||||
|
|
||||||
|
NETLIST_OUTPUT: netlist
|
||||||
|
|
||||||
|
PDF_SCHEMATIC_OUTPUT: pdf_schematic
|
||||||
|
PDF_FABRICATION_OUTPUT: pdf_fabrication
|
||||||
|
PDF_ASSEMBLY_OUTPUT: pdf_assembly
|
||||||
|
|
||||||
|
CSV_BOM_OUTPUT: csv_bom
|
||||||
|
HTML_IBOM_OUTPUT: html_bom_interactive
|
||||||
|
HTML_BOM_OUTPUT: html_bom
|
||||||
|
CSV_COMP_COUNT_OUPUT: csv_comp_count
|
||||||
|
CSV_IMPEDANCE_TABLE_OUTPUT: csv_impedance_table
|
||||||
|
|
||||||
|
GERBER_OUTPUT: gbr_gerbers
|
||||||
|
ODB_OUTPUT: zip_odb
|
||||||
|
EXCELLON_DRILL_OUTPUT: drl_excellon
|
||||||
|
PDF_DRILL_MAP_OUTPUT: pdf_drill_map
|
||||||
|
DXF_DRILL_MAP_OUTPUT: dxf_drill_map
|
||||||
|
CSV_DRILL_TABLE_OUTPUT: csv_drill_table
|
||||||
|
CSV_POS_OUTPUT: csv_position
|
||||||
|
|
||||||
|
CSV_TP_OUTPUT: csv_testpoints
|
||||||
|
CSV_TP_TOP_OUTPUT: csv_testpoints_top
|
||||||
|
CSV_TP_BOTTOM_OUTPUT: csv_testpoints_bottom
|
||||||
|
|
||||||
|
ZIP_COMPRESS_FAB_OUTPUT: zip_compress_fab
|
||||||
|
|
||||||
|
STEP_OUTPUT: step
|
||||||
|
GLB_OUTPUT: glb
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
TXT_SCH_NOTES_OUTPUT: txt_schematic_notes
|
||||||
|
TXT_FAB_NOTES_OUTPUT: txt_fabrication_notes
|
||||||
|
TXT_ASSY_NOTES_OUTPUT: txt_assembly_notes
|
||||||
|
|
||||||
|
HTML_KIRI_OUTPUT: html_kiri
|
||||||
|
HTML_NAV_RES_OUTPUT: html_navigate_results
|
||||||
|
|
||||||
|
JLCPCB_GERBER_OUTPUT: jlcpcb_gerbers
|
||||||
|
JLCPCB_FABPACK_OUTPUT: jlcpcb_fabpack
|
||||||
|
JLCPCB_BOM_OUTPUT: jlcpcb_bom
|
||||||
|
JLCPCB_CPL_OUTPUT: jlcpcb_cpl
|
||||||
32
kibot/yaml/kibot_out_3d_model.yaml
Normal file
32
kibot/yaml/kibot_out_3d_model.yaml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# KiBot output for generating PCB 3D models in various formats (Requires KiCad 9+)
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/export_3d.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
output_id: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: export_3d
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
options:
|
||||||
|
format: @FORMAT@
|
||||||
|
origin: drill
|
||||||
|
output: '%f-%I%v.%x'
|
||||||
|
|
||||||
|
# Configurable for higher-fidelity outputs (e.g. gITF)
|
||||||
|
include_silkscreen: @INCLUDE_SILKSCREEN@
|
||||||
|
include_soldermask: @INCLUDE_SOLDERMASK@
|
||||||
|
include_tracks: @INCLUDE_TRACKS@
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: step
|
||||||
|
COMMENT: PCB 3D model in STEP format
|
||||||
|
DIR: models
|
||||||
|
FORMAT: step
|
||||||
|
INCLUDE_SILKSCREEN: false
|
||||||
|
INCLUDE_SOLDERMASK: false
|
||||||
|
INCLUDE_TRACKS: false
|
||||||
150
kibot/yaml/kibot_out_blender.yaml
Normal file
150
kibot/yaml/kibot_out_blender.yaml
Normal file
@@ -0,0 +1,150 @@
|
|||||||
|
# KiBot output for generating PCB 3D model PCB3D Blender format
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/PCB2Blender_ToolsOptions.html
|
||||||
|
|
||||||
|
# The lighting setup allows for even, diffuse background lighting as well as
|
||||||
|
# a focused light for shadows/depth. The eight area lights form a ring around
|
||||||
|
# the top of the board, while the spot light illuminates from behind and to the
|
||||||
|
# right of the camera. The accent lights illuminate from behind the board at a
|
||||||
|
# low angle to help light up solder pads.
|
||||||
|
#
|
||||||
|
# For top/bottom renders that look directly down at the board, set @SPOT_LIGHT@
|
||||||
|
# to 0.1 and @ADIFFUSE_LIGHT@ to 0.7. For angle renders, start with @SPOT_LIGHT@
|
||||||
|
# set to 2.0 and @DIFFUSE_LIGHT@ at 0.4. Some experimentation, including with
|
||||||
|
# the ring radius and height, may be required to get good results.
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
output_id: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: blender_export
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
options:
|
||||||
|
auto_camera_z_axis_factor: 1.1
|
||||||
|
pcb_import:
|
||||||
|
enhance_materials: true
|
||||||
|
texture_dpi: @TEXTURE_DPI@
|
||||||
|
|
||||||
|
pcb3d:
|
||||||
|
download: true
|
||||||
|
download_lcsc: true
|
||||||
|
dnf_filter:
|
||||||
|
- @DNF_FILTER@
|
||||||
|
|
||||||
|
render_options:
|
||||||
|
auto_crop: true
|
||||||
|
transparent_background: true
|
||||||
|
samples: @SAMPLES@
|
||||||
|
resolution_x: @RESOLUTION_X@
|
||||||
|
resolution_y: @RESOLUTION_Y@
|
||||||
|
|
||||||
|
point_of_view:
|
||||||
|
rotate_x: @ROTATE_X@
|
||||||
|
rotate_y: @ROTATE_Y@
|
||||||
|
rotate_z: @ROTATE_Z@
|
||||||
|
view: @VIEW@
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- type: render
|
||||||
|
output: '%f-%I%v.%x'
|
||||||
|
|
||||||
|
light:
|
||||||
|
- name: spot
|
||||||
|
energy: @SPOT_LIGHT@
|
||||||
|
pos_x: -size*3.33
|
||||||
|
pos_y: size*3.33
|
||||||
|
pos_z: size*5
|
||||||
|
type: POINT
|
||||||
|
|
||||||
|
- name: accent_1
|
||||||
|
energy: @ACCENT_LIGHT@
|
||||||
|
pos_x: -size*2
|
||||||
|
pos_y: size*6
|
||||||
|
pos_z: size*3
|
||||||
|
type: AREA
|
||||||
|
|
||||||
|
- name: accent_2
|
||||||
|
energy: @ACCENT_LIGHT@
|
||||||
|
pos_x: size*2
|
||||||
|
pos_y: size*6
|
||||||
|
pos_z: size*3
|
||||||
|
type: AREA
|
||||||
|
|
||||||
|
- name: ring_1
|
||||||
|
energy: @DIFFUSE_LIGHT@
|
||||||
|
pos_x: size*@DIFFUSE_RADIUS@
|
||||||
|
pos_y: 0
|
||||||
|
pos_z: size*@DIFFUSE_HEIGHT@
|
||||||
|
type: AREA
|
||||||
|
|
||||||
|
- name: ring_2
|
||||||
|
energy: @DIFFUSE_LIGHT@
|
||||||
|
pos_x: -size*@DIFFUSE_RADIUS@
|
||||||
|
pos_y: 0
|
||||||
|
pos_z: size*@DIFFUSE_HEIGHT@
|
||||||
|
type: AREA
|
||||||
|
|
||||||
|
- name: ring_3
|
||||||
|
energy: @DIFFUSE_LIGHT@
|
||||||
|
pos_x: 0
|
||||||
|
pos_y: size*@DIFFUSE_RADIUS@
|
||||||
|
pos_z: size*@DIFFUSE_HEIGHT@
|
||||||
|
type: AREA
|
||||||
|
|
||||||
|
- name: ring_4
|
||||||
|
energy: @DIFFUSE_LIGHT@
|
||||||
|
pos_x: 0
|
||||||
|
pos_y: -size*@DIFFUSE_RADIUS@
|
||||||
|
pos_z: size*@DIFFUSE_HEIGHT@
|
||||||
|
type: AREA
|
||||||
|
|
||||||
|
- name: ring_5
|
||||||
|
energy: @DIFFUSE_LIGHT@
|
||||||
|
pos_x: size*0.71*@DIFFUSE_RADIUS@
|
||||||
|
pos_y: size*0.71*@DIFFUSE_RADIUS@
|
||||||
|
pos_z: size*@DIFFUSE_HEIGHT@
|
||||||
|
type: AREA
|
||||||
|
|
||||||
|
- name: ring_6
|
||||||
|
energy: @DIFFUSE_LIGHT@
|
||||||
|
pos_x: -size*0.71*@DIFFUSE_RADIUS@
|
||||||
|
pos_y: size*0.71*@DIFFUSE_RADIUS@
|
||||||
|
pos_z: size*@DIFFUSE_HEIGHT@
|
||||||
|
type: AREA
|
||||||
|
|
||||||
|
- name: ring_7
|
||||||
|
energy: @DIFFUSE_LIGHT@
|
||||||
|
pos_x: size*0.71*@DIFFUSE_RADIUS@
|
||||||
|
pos_y: -size*0.71*@DIFFUSE_RADIUS@
|
||||||
|
pos_z: size*@DIFFUSE_HEIGHT@
|
||||||
|
type: AREA
|
||||||
|
|
||||||
|
- name: ring_8
|
||||||
|
energy: @DIFFUSE_LIGHT@
|
||||||
|
pos_x: -size*0.71*@DIFFUSE_RADIUS@
|
||||||
|
pos_y: -size*0.71*@DIFFUSE_RADIUS@
|
||||||
|
pos_z: size*@DIFFUSE_HEIGHT@
|
||||||
|
type: AREA
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: blender_3d_angled_top
|
||||||
|
COMMENT: PCB 3D model in PCB3D Blender format
|
||||||
|
DIR: renders
|
||||||
|
DNF_FILTER: _kibom_dnf_Config
|
||||||
|
RESOLUTION_X: 1280
|
||||||
|
RESOLUTION_Y: 1280
|
||||||
|
TEXTURE_DPI: 1031.0
|
||||||
|
SAMPLES: 5
|
||||||
|
ROTATE_X: 30
|
||||||
|
ROTATE_Y: 10
|
||||||
|
ROTATE_Z: 10
|
||||||
|
VIEW: top
|
||||||
|
DIFFUSE_RADIUS: 6.0
|
||||||
|
DIFFUSE_HEIGHT: 10.0
|
||||||
|
DIFFUSE_LIGHT: 0.4
|
||||||
|
ACCENT_LIGHT: 0.1
|
||||||
|
SPOT_LIGHT: 2.0
|
||||||
34
kibot/yaml/kibot_out_compress_fab.yaml
Normal file
34
kibot/yaml/kibot_out_compress_fab.yaml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# KiBot output for compressing Fabrication files to a ZIP archive
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/compress.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: compress
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
options:
|
||||||
|
output: '%f-GERBERS%I%v.%x'
|
||||||
|
move_files: false
|
||||||
|
files:
|
||||||
|
- from_output: @GERBER_OUTPUT@
|
||||||
|
dest: '/'
|
||||||
|
- from_output: @DRILL_MAP_OUTPUT@
|
||||||
|
dest: '/'
|
||||||
|
- from_output: @DRILL_OUTPUT@
|
||||||
|
dest: '/'
|
||||||
|
- from_output: @FABRICATION_OUTPUT@
|
||||||
|
dest: '/'
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: zip_compress_fab
|
||||||
|
COMMENT: Generates a ZIP file with gerbers, drill and fabrication document
|
||||||
|
DIR: Manufacturing/Fabrication
|
||||||
|
GERBER_OUTPUT: gbr_gerbers
|
||||||
|
DRILL_MAP_OUTPUT: pdf_drill_map
|
||||||
|
DRILL_OUTPUT: drl_excellon
|
||||||
|
FABRICATION_OUTPUT: pdf_fabrication
|
||||||
48
kibot/yaml/kibot_out_csv_bom.yaml
Normal file
48
kibot/yaml/kibot_out_csv_bom.yaml
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# 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'
|
||||||
25
kibot/yaml/kibot_out_csv_drill_table.yaml
Normal file
25
kibot/yaml/kibot_out_csv_drill_table.yaml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# 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
|
||||||
24
kibot/yaml/kibot_out_csv_position.yaml
Normal file
24
kibot/yaml/kibot_out_csv_position.yaml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# KiBot output for generating Position file in CSV format
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/position.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: position
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
options:
|
||||||
|
format: 'CSV'
|
||||||
|
only_smd: false
|
||||||
|
include_virtual: false
|
||||||
|
output: '%f-CPL%I%v.%x'
|
||||||
|
separate_files_for_front_and_back: false
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: csv_position
|
||||||
|
COMMENT: Position file in CSV format
|
||||||
|
DIR: Manufacturing/Assembly
|
||||||
26
kibot/yaml/kibot_out_csv_report.yaml
Normal file
26
kibot/yaml/kibot_out_csv_report.yaml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# KiBot output for CSV Report
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/report.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: report
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
output_id: @OUTPUT_ID@
|
||||||
|
options:
|
||||||
|
output: '%f-%I%v.csv'
|
||||||
|
template: @TEMPLATE@
|
||||||
|
exclude_filter: '_mechanical'
|
||||||
|
csv_remove_leading_spaces: true
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: csv_report
|
||||||
|
COMMENT: Report in CSV format
|
||||||
|
DIR: mfg
|
||||||
|
OUTPUT_ID: ''
|
||||||
|
TEMPLATE: total_components
|
||||||
51
kibot/yaml/kibot_out_csv_testpoints.yaml
Normal file
51
kibot/yaml/kibot_out_csv_testpoints.yaml
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
# KiBot output for generating CSV Tespoints
|
||||||
|
# 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:
|
||||||
|
output: '%f-testpoints@SUFFIX@%I%v.%x'
|
||||||
|
csv:
|
||||||
|
hide_pcb_info: True
|
||||||
|
hide_stats_info: True
|
||||||
|
pre_transform: ['_kicost_rename']
|
||||||
|
exclude_filter: '@EXCLUDE_FILTER@'
|
||||||
|
dnf_filter: '_null'
|
||||||
|
exclude_marked_in_sch: false
|
||||||
|
group_fields: []
|
||||||
|
sort_style: ref
|
||||||
|
use_aux_axis_as_origin: true
|
||||||
|
ignore_dnf: false
|
||||||
|
format: CSV
|
||||||
|
footprint_type_values: 'SMT,THRU,'
|
||||||
|
columns:
|
||||||
|
- field: References
|
||||||
|
name: Testpoint Ref.
|
||||||
|
- field: Net Name
|
||||||
|
name: Net
|
||||||
|
- field: Net Class
|
||||||
|
- field: Footprint X
|
||||||
|
name: X
|
||||||
|
- field: Footprint Y
|
||||||
|
name: Y
|
||||||
|
- field: Footprint Side
|
||||||
|
name: Side
|
||||||
|
- field: Footprint Type
|
||||||
|
name: Pad Type
|
||||||
|
- field: Value
|
||||||
|
- field: Footprint
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: csv_testpoints
|
||||||
|
COMMENT: Testpoint report in CSV format
|
||||||
|
DIR: Testing/Testpoints
|
||||||
|
SUFFIX: ""
|
||||||
|
EXCLUDE_FILTER: only_testpoints
|
||||||
45
kibot/yaml/kibot_out_csv_testpoints_simple.yaml
Normal file
45
kibot/yaml/kibot_out_csv_testpoints_simple.yaml
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
# KiBot output for generating CSV Tespoints
|
||||||
|
# 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:
|
||||||
|
output: '%f-testpoints@SUFFIX@%I%v.%x'
|
||||||
|
csv:
|
||||||
|
hide_pcb_info: True
|
||||||
|
hide_stats_info: True
|
||||||
|
pre_transform: ['_kicost_rename']
|
||||||
|
exclude_filter: '@EXCLUDE_FILTER@'
|
||||||
|
dnf_filter: '_null'
|
||||||
|
exclude_marked_in_sch: false
|
||||||
|
group_fields: []
|
||||||
|
sort_style: ref
|
||||||
|
use_aux_axis_as_origin: true
|
||||||
|
ignore_dnf: false
|
||||||
|
format: CSV
|
||||||
|
footprint_type_values: 'SMT,THRU,'
|
||||||
|
right_digits: 2
|
||||||
|
columns:
|
||||||
|
- field: References
|
||||||
|
name: Ref.
|
||||||
|
- field: Net Label
|
||||||
|
name: Net
|
||||||
|
- field: Footprint X
|
||||||
|
name: X [mm]
|
||||||
|
- field: Footprint Y
|
||||||
|
name: Y [mm]
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: csv_testpoints
|
||||||
|
COMMENT: Testpoint report in CSV format
|
||||||
|
DIR: Testing/Testpoints
|
||||||
|
SUFFIX: ""
|
||||||
|
EXCLUDE_FILTER: only_testpoints
|
||||||
30
kibot/yaml/kibot_out_excellon_drill.yaml
Normal file
30
kibot/yaml/kibot_out_excellon_drill.yaml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# KiBot output for generating drill Gerber files
|
||||||
|
# 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: @GENERATE_DRILL@
|
||||||
|
pth_and_npth_single_file: @PTH_NPTH@
|
||||||
|
pth_id: '-pth'
|
||||||
|
npth_id: '-npth'
|
||||||
|
map: '@MAP_FORMAT@'
|
||||||
|
metric_units: @METRIC_UNITS@
|
||||||
|
use_aux_axis_as_origin: true
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: drl_excellon
|
||||||
|
COMMENT: Drill in Excellon format
|
||||||
|
DIR: mfg/fab/gerbers
|
||||||
|
GENERATE_DRILL: true
|
||||||
|
PTH_NPTH: false
|
||||||
|
MAP_FORMAT: None
|
||||||
|
METRIC_UNITS: true
|
||||||
29
kibot/yaml/kibot_out_gerber.yaml
Normal file
29
kibot/yaml/kibot_out_gerber.yaml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
# KiBot output for generating Gerber files
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/gerber.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: gerber
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
layers: ['copper', 'Edge.Cuts', 'F.Silkscreen', 'F.Mask', 'F.Paste', 'B.Silkscreen', 'B.Mask', 'B.Paste']
|
||||||
|
options:
|
||||||
|
subtract_mask_from_silk: @SUBTRACT_MASK@
|
||||||
|
plot_footprint_refs: @PLOT_REFS@
|
||||||
|
plot_footprint_values: false
|
||||||
|
create_gerber_job_file: false
|
||||||
|
use_aux_axis_as_origin: true
|
||||||
|
use_protel_extensions: @PROTEL_EXTENSIONS@
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: gbr_gerbers
|
||||||
|
COMMENT: Gerbers in GBR format
|
||||||
|
DIR: mfg/fab/gerbers
|
||||||
|
PLOT_REFS: true
|
||||||
|
PROTEL_EXTENSIONS: false
|
||||||
|
SUBTRACT_MASK: false
|
||||||
51
kibot/yaml/kibot_out_html_bom.yaml
Normal file
51
kibot/yaml/kibot_out_html_bom.yaml
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
# 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'
|
||||||
36
kibot/yaml/kibot_out_html_ibom.yaml
Normal file
36
kibot/yaml/kibot_out_html_ibom.yaml
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
# 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'
|
||||||
24
kibot/yaml/kibot_out_html_kiri.yaml
Normal file
24
kibot/yaml/kibot_out_html_kiri.yaml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# KiBot output for diff web page between commits
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/kiri.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: kiri
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
layers: all
|
||||||
|
options:
|
||||||
|
keep_generated: true
|
||||||
|
max_commits: 3
|
||||||
|
revision: 'HEAD'
|
||||||
|
zones: 'global'
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: html_kiri
|
||||||
|
COMMENT: KiRi webpage
|
||||||
|
DIR: kiri
|
||||||
35
kibot/yaml/kibot_out_jlcpcb_bom.yaml
Normal file
35
kibot/yaml/kibot_out_jlcpcb_bom.yaml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
# KiBot output for generating Bill of Materials in CSV format for JLCPCB
|
||||||
|
# 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:
|
||||||
|
exclude_filter: @EXCLUDE_FILTER@
|
||||||
|
format: CSV
|
||||||
|
csv:
|
||||||
|
hide_pcb_info: true
|
||||||
|
hide_stats_info: true
|
||||||
|
quote_all: true
|
||||||
|
columns:
|
||||||
|
- field: Value
|
||||||
|
name: Comment
|
||||||
|
- field: References
|
||||||
|
name: Designator
|
||||||
|
- Footprint
|
||||||
|
- field: _field_lcsc_part
|
||||||
|
name: 'LCSC Part #'
|
||||||
|
ref_separator: ','
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: jlcpcb_bom
|
||||||
|
COMMENT: Bill of Materials for JLCPCB
|
||||||
|
DIR: mfg/assembly/jlcpcb
|
||||||
|
EXCLUDE_FILTER: only_lcsc_parts
|
||||||
48
kibot/yaml/kibot_out_jlcpcb_cpl.yaml
Normal file
48
kibot/yaml/kibot_out_jlcpcb_cpl.yaml
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# KiBot output for generating Position file in CSV format for JLCPCB
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/position.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
filters:
|
||||||
|
- name: fix_rotation
|
||||||
|
comment: Adjust rotation for JLCPCB
|
||||||
|
type: rot_footprint
|
||||||
|
negative_bottom: false
|
||||||
|
mirror_bottom: true
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: position
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
options:
|
||||||
|
format: 'CSV'
|
||||||
|
output: '%f-cpl%I%v.%x'
|
||||||
|
separate_files_for_front_and_back: false
|
||||||
|
units: millimeters
|
||||||
|
only_smd: true
|
||||||
|
include_virtual: false
|
||||||
|
exclude_filter: @EXCLUDE_FILTER@
|
||||||
|
pre_transform: '_rot_footprint_jlcpcb'
|
||||||
|
columns:
|
||||||
|
- id: Ref
|
||||||
|
name: Designator
|
||||||
|
- Val
|
||||||
|
- Package
|
||||||
|
- id: PosX
|
||||||
|
name: "Mid X"
|
||||||
|
- id: PosY
|
||||||
|
name: "Mid Y"
|
||||||
|
- id: Rot
|
||||||
|
name: Rotation
|
||||||
|
- id: Side
|
||||||
|
name: Layer
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: jlcpcb_cpl
|
||||||
|
COMMENT: Component Placement for JLCPCB
|
||||||
|
DIR: mfg/assembly/jlcpcb
|
||||||
|
EXCLUDE_FILTER: only_lcsc_parts
|
||||||
28
kibot/yaml/kibot_out_jlcpcb_fabpack.yaml
Normal file
28
kibot/yaml/kibot_out_jlcpcb_fabpack.yaml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# KiBot output for compressing Fabrication files to a ZIP archive for JLCPCB
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/compress.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: compress
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
options:
|
||||||
|
output: '%f-Fabpack%I%v.%x'
|
||||||
|
move_files: false
|
||||||
|
files:
|
||||||
|
- from_output: @GERBER_OUTPUT@
|
||||||
|
dest: '/'
|
||||||
|
- from_output: @DRILL_OUTPUT@
|
||||||
|
dest: '/'
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: jlcpcb_fabpack
|
||||||
|
COMMENT: Generates a ZIP file with gerbers and drill for JLCPCB
|
||||||
|
DIR: mfg/fab
|
||||||
|
GERBER_OUTPUT: jlcpcb_gerbers
|
||||||
|
DRILL_OUTPUT: drl_excellon
|
||||||
32
kibot/yaml/kibot_out_navigate_results.yaml
Normal file
32
kibot/yaml/kibot_out_navigate_results.yaml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# KiBot output for generating an HTML page for navigating the results
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/navigate_results_rb.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: navigate_results_rb
|
||||||
|
# category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
options:
|
||||||
|
link_from_root: 'index.html'
|
||||||
|
logo: '@LOGO@'
|
||||||
|
logo_force_height: 40
|
||||||
|
logo_url: '@LOGO_URL@'
|
||||||
|
nav_bar: true
|
||||||
|
render_markdown: true
|
||||||
|
display_category_images: false
|
||||||
|
display_kibot_version: false
|
||||||
|
title: '@TITLE@'
|
||||||
|
title_url: '@LOGO_URL@'
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: html_navigate_results
|
||||||
|
COMMENT: Results webpage in HTML format
|
||||||
|
DIR: html
|
||||||
|
TITLE: ''
|
||||||
|
LOGO: ''
|
||||||
|
LOGO_URL: ''
|
||||||
18
kibot/yaml/kibot_out_netlist.yaml
Normal file
18
kibot/yaml/kibot_out_netlist.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# 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
|
||||||
20
kibot/yaml/kibot_out_odb.yaml
Normal file
20
kibot/yaml/kibot_out_odb.yaml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# KiBot output for generating ODB++ files
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/odb.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: odb
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
options:
|
||||||
|
dnf_filter: _kibom_dnf_Config
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: zip_odb
|
||||||
|
COMMENT: ODB++ in ZIP format
|
||||||
|
DIR: mfg/fab
|
||||||
27
kibot/yaml/kibot_out_panelize.yaml
Normal file
27
kibot/yaml/kibot_out_panelize.yaml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
# KiBot output for generating PCB Panels with KiKit
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/panelize.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
output_id: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: panelize
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
options:
|
||||||
|
configs: @CONFIG@
|
||||||
|
output: '%f-%I%v.%x'
|
||||||
|
create_preview: true
|
||||||
|
title: '@TITLE@'
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: panel
|
||||||
|
COMMENT: PCB Panelization
|
||||||
|
CATEGORY: Panels
|
||||||
|
DIR: fab/panel
|
||||||
|
CONFIG: ''
|
||||||
|
TITLE: ''
|
||||||
24
kibot/yaml/kibot_out_pcbdraw.yaml
Normal file
24
kibot/yaml/kibot_out_pcbdraw.yaml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# KiBot output for generating PCB 2D renders with PcbDraw
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/pcbdraw.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
output_id: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: pcbdraw
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
options:
|
||||||
|
bottom: @BOTTOM@
|
||||||
|
format: @FORMAT@
|
||||||
|
output: '%f-%I%v.%x'
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: pcbdraw_top
|
||||||
|
COMMENT: PCB 2D Render (Top)
|
||||||
|
DIR: renders
|
||||||
|
BOTTOM: false
|
||||||
117
kibot/yaml/kibot_out_pdf_assembly.yaml
Normal file
117
kibot/yaml/kibot_out_pdf_assembly.yaml
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
# KiBot output for generating Assembly Document in PDF format
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/pcb_print.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: pcb_print
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
options:
|
||||||
|
colored_vias: false
|
||||||
|
colored_pads: false
|
||||||
|
color_theme: '@COLOR_THEME@'
|
||||||
|
output: '%f-assembly%I%v.%x'
|
||||||
|
format: 'PDF'
|
||||||
|
title: '@DOC_TITLE@ Document'
|
||||||
|
realistic_solder_mask: false
|
||||||
|
dpi: 1200
|
||||||
|
dnf_filter: _kibom_dnf_Config
|
||||||
|
# dnf_filter: '_null'
|
||||||
|
sheet_reference_layout: '@SHEET_WKS@'
|
||||||
|
include_table:
|
||||||
|
outputs:
|
||||||
|
- name: '@NAME_COMP_COUNT@'
|
||||||
|
text_alignment: 'left'
|
||||||
|
invert_columns_order: false
|
||||||
|
border_width: 0.4
|
||||||
|
header_rule_width: 0.2
|
||||||
|
horizontal_rule_width: 0
|
||||||
|
vertical_rule_width: 0
|
||||||
|
top_rule_width: 0
|
||||||
|
bottom_rule_width: 0
|
||||||
|
row_spacing: 3
|
||||||
|
column_spacing: 2
|
||||||
|
pages:
|
||||||
|
- scaling: @SCALING@
|
||||||
|
layer_var: ''
|
||||||
|
title: '@DOC_TITLE@'
|
||||||
|
sheet: Top/Bottom View
|
||||||
|
sheet_reference_color: '#000000'
|
||||||
|
layers:
|
||||||
|
- layer: '@LAYER_TITLE_PAGE@'
|
||||||
|
color: '#000000'
|
||||||
|
|
||||||
|
- scaling: @SCALING@
|
||||||
|
layer_var: "Top Assembly (Scale @SCALING@:1)"
|
||||||
|
title: '@DOC_TITLE@'
|
||||||
|
sheet: Top Assembly (Scale @SCALING@:1)
|
||||||
|
sheet_reference_color: '#000000'
|
||||||
|
colored_holes: true
|
||||||
|
holes_color: "#FFFFFF"
|
||||||
|
layers:
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
color: '#000000'
|
||||||
|
- layer: F.Cu
|
||||||
|
color: '#EEDAB5'
|
||||||
|
- layer: F.Mask
|
||||||
|
color: '#B9B9B9'
|
||||||
|
- layer: F.Paste
|
||||||
|
color: '#E1A98E'
|
||||||
|
- layer: F.Silkscreen
|
||||||
|
color: '#DB9DE1'
|
||||||
|
- layer: F.Fab
|
||||||
|
exclude_filter: '@FAB_EXCLUDE_FILTER@'
|
||||||
|
color: '#744679'
|
||||||
|
- layer: '@LAYER_ASSEMBLY_TEXT_TOP@'
|
||||||
|
color: '#000000'
|
||||||
|
- layer: '@LAYER_DNP_CROSS_TOP@'
|
||||||
|
color: '#D63034'
|
||||||
|
|
||||||
|
- scaling: @SCALING@
|
||||||
|
layer_var: "Bottom Assembly (Scale @SCALING@:1)"
|
||||||
|
mirror: true
|
||||||
|
mirror_pcb_text: false
|
||||||
|
title: '@DOC_TITLE@'
|
||||||
|
sheet: Bottom Assembly (Scale @SCALING@:1)
|
||||||
|
sheet_reference_color: '#000000'
|
||||||
|
colored_holes: true
|
||||||
|
holes_color: "#FFFFFF"
|
||||||
|
layers:
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
color: '#000000'
|
||||||
|
- layer: B.Cu
|
||||||
|
color: '#D5DBF4'
|
||||||
|
- layer: B.Mask
|
||||||
|
color: '#B9B9B9'
|
||||||
|
- layer: B.Paste
|
||||||
|
color: '#BCB9DD'
|
||||||
|
- layer: B.Silkscreen
|
||||||
|
color: '#DB9DE1'
|
||||||
|
- layer: B.Fab
|
||||||
|
exclude_filter: '@FAB_EXCLUDE_FILTER@'
|
||||||
|
color: '#400080'
|
||||||
|
- layer: '@LAYER_ASSEMBLY_TEXT_BOTTOM@'
|
||||||
|
color: '#000000'
|
||||||
|
- layer: '@LAYER_DNP_CROSS_BOTTOM@'
|
||||||
|
color: '#D63034'
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: pdf_assembly
|
||||||
|
COMMENT: Assembly document in PDF format
|
||||||
|
DIR: mfg/assembly
|
||||||
|
DOC_TITLE: Assembly
|
||||||
|
COLOR_THEME: Altium_Theme
|
||||||
|
SHEET_WKS: ${KIPRJMOD}/templates/Asymworks_PCB.kicad_wks
|
||||||
|
SCALING: 1.0
|
||||||
|
FAB_EXCLUDE_FILTER: exclude_testpoints
|
||||||
|
LAYER_TITLE_PAGE: AssyTitlePage
|
||||||
|
LAYER_ASSEMBLY_TEXT_TOP: F.AssemblyText
|
||||||
|
LAYER_ASSEMBLY_TEXT_BOTTOM: B.AssemblyText
|
||||||
|
LAYER_DNP_CROSS_TOP: F.DNP
|
||||||
|
LAYER_DNP_CROSS_BOTTOM: B.DNP
|
||||||
|
NAME_COMP_COUNT: csv_comp_count
|
||||||
234
kibot/yaml/kibot_out_pdf_fabrication.yaml
Normal file
234
kibot/yaml/kibot_out_pdf_fabrication.yaml
Normal file
@@ -0,0 +1,234 @@
|
|||||||
|
# KiBot output for generating Fabrication Document in PDF format
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/pcb_print.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: pcb_print
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
options:
|
||||||
|
colored_pads: false
|
||||||
|
colored_vias: false
|
||||||
|
color_theme: '@COLOR_THEME@'
|
||||||
|
output: '%f-fabrication%I%v.%x'
|
||||||
|
format: 'PDF'
|
||||||
|
title: '@DOC_TITLE@ Document'
|
||||||
|
realistic_solder_mask: false
|
||||||
|
dpi: 1200
|
||||||
|
dnf_filter: _kibom_dnf_Config
|
||||||
|
frame_plot_mechanism: 'internal'
|
||||||
|
sheet_reference_layout: '@SHEET_WKS@'
|
||||||
|
drill:
|
||||||
|
unify_pth_and_npth: '@PTH_NPTH@'
|
||||||
|
group_slots_and_round_holes: @GROUP_ROUND_SLOTS@
|
||||||
|
include_table:
|
||||||
|
outputs:
|
||||||
|
- name: '@NAME_TP_TOP@'
|
||||||
|
text_alignment: 'left'
|
||||||
|
invert_columns_order: false
|
||||||
|
border_width: 0.4
|
||||||
|
header_rule_width: 0.2
|
||||||
|
horizontal_rule_width: 0
|
||||||
|
vertical_rule_width: 0.2
|
||||||
|
top_rule_width: 0.2
|
||||||
|
bottom_rule_width: 0.2
|
||||||
|
column_spacing: 2
|
||||||
|
force_font_width: 1.27 # mm
|
||||||
|
|
||||||
|
- name: '@NAME_TP_BOTTOM@'
|
||||||
|
text_alignment: 'right'
|
||||||
|
invert_columns_order: true
|
||||||
|
border_width: 0.4
|
||||||
|
header_rule_width: 0.2
|
||||||
|
horizontal_rule_width: 0
|
||||||
|
vertical_rule_width: 0.2
|
||||||
|
top_rule_width: 0.2
|
||||||
|
bottom_rule_width: 0.2
|
||||||
|
column_spacing: 2
|
||||||
|
force_font_width: 1.27 # mm
|
||||||
|
|
||||||
|
- name: '@NAME_IMPEDANCE_TABLE@'
|
||||||
|
text_alignment: 'left'
|
||||||
|
invert_columns_order: false
|
||||||
|
border_width: 0.4
|
||||||
|
header_rule_width: 0.2
|
||||||
|
horizontal_rule_width: 0
|
||||||
|
vertical_rule_width: 0.2
|
||||||
|
top_rule_width: 0.2
|
||||||
|
bottom_rule_width: 0.2
|
||||||
|
row_spacing: 3
|
||||||
|
column_spacing: 2
|
||||||
|
row_spacing: 3
|
||||||
|
|
||||||
|
- name: '@NAME_DRILL_TABLE@'
|
||||||
|
text_alignment: 'left'
|
||||||
|
invert_columns_order: false
|
||||||
|
border_width: 0.4
|
||||||
|
header_rule_width: 0.2
|
||||||
|
horizontal_rule_width: 0
|
||||||
|
vertical_rule_width: 0.2
|
||||||
|
top_rule_width: 0.2
|
||||||
|
bottom_rule_width: 0.2
|
||||||
|
row_spacing: 3
|
||||||
|
column_spacing: 2
|
||||||
|
force_font_width: 1 # mm
|
||||||
|
|
||||||
|
pages:
|
||||||
|
- scaling: @SCALING@
|
||||||
|
title: '@DOC_TITLE@'
|
||||||
|
sheet: 'Top Fabrication (Scale @SCALING@:1)'
|
||||||
|
layer_var: 'Top Fabrication (Scale @SCALING@:1)'
|
||||||
|
sheet_reference_color: '#000000'
|
||||||
|
colored_holes: true
|
||||||
|
holes_color: "#FFFFFF"
|
||||||
|
layers:
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
color: '#000000'
|
||||||
|
- layer: F.Cu
|
||||||
|
color: '#F2F2F2'
|
||||||
|
- layer: F.Mask
|
||||||
|
color: '#E2E2E2'
|
||||||
|
- layer: F.Paste
|
||||||
|
color: '#E2E2E2'
|
||||||
|
- layer: F.Silkscreen
|
||||||
|
color: '#DBDBDB'
|
||||||
|
- layer: F.Fab
|
||||||
|
plot_footprint_refs: false
|
||||||
|
plot_footprint_values: false
|
||||||
|
color: '#818181'
|
||||||
|
- layer: F.Dimensions
|
||||||
|
color: '#000000'
|
||||||
|
|
||||||
|
- scaling: @SCALING@
|
||||||
|
mirror: true
|
||||||
|
mirror_pcb_text: false
|
||||||
|
title: '@DOC_TITLE@'
|
||||||
|
sheet: 'Bottom Fabrication (Scale @SCALING@:1)'
|
||||||
|
layer_var: 'Bottom Fabrication (Scale @SCALING@:1)'
|
||||||
|
sheet_reference_color: '#000000'
|
||||||
|
colored_holes: true
|
||||||
|
holes_color: "#FFFFFF"
|
||||||
|
layers:
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
color: '#000000'
|
||||||
|
- layer: B.Cu
|
||||||
|
color: '#F2F2F2'
|
||||||
|
- layer: B.Mask
|
||||||
|
color: '#E2E2E2'
|
||||||
|
- layer: B.Paste
|
||||||
|
color: '#E2E2E2'
|
||||||
|
- layer: B.Silkscreen
|
||||||
|
color: '#DBDBDB'
|
||||||
|
- layer: B.Fab
|
||||||
|
plot_footprint_refs: false
|
||||||
|
plot_footprint_values: false
|
||||||
|
color: '#818181'
|
||||||
|
- layer: B.Dimensions
|
||||||
|
color: '#000000'
|
||||||
|
|
||||||
|
- scaling: @SCALING@
|
||||||
|
title: '@DOC_TITLE@'
|
||||||
|
sheet: 'Drill Drawing (%lp)'
|
||||||
|
layer_var: 'Drill Drawing %lp (Scale @SCALING@:1)'
|
||||||
|
sheet_reference_color: '#000000'
|
||||||
|
colored_holes: true
|
||||||
|
holes_color: "#FFFFFF"
|
||||||
|
repeat_for_layer: '@LAYER_DRILL_MAP@'
|
||||||
|
repeat_layers: 'drill_pairs'
|
||||||
|
layers:
|
||||||
|
- layer: '@LAYER_DRILL_MAP@'
|
||||||
|
color: '#000000'
|
||||||
|
- layer: 'Edge.Cuts'
|
||||||
|
color: '#000000'
|
||||||
|
|
||||||
|
- scaling: @SCALING@
|
||||||
|
title: '@DOC_TITLE@'
|
||||||
|
sheet: 'Top Test Points (Scale @SCALING@:1)'
|
||||||
|
layer_var: 'Top Test Points (Scale @SCALING@:1)'
|
||||||
|
sheet_reference_color: '#000000'
|
||||||
|
colored_holes: true
|
||||||
|
holes_color: "#FFFFFF"
|
||||||
|
layers:
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
color: '#000000'
|
||||||
|
- layer: F.Cu
|
||||||
|
color: '#E5E5E5'
|
||||||
|
- layer: F.Mask
|
||||||
|
color: '#CECECE'
|
||||||
|
- layer: F.Paste
|
||||||
|
color: '#CECECE'
|
||||||
|
- layer: F.Silkscreen
|
||||||
|
color: '#C7C7C7'
|
||||||
|
- layer: F.Fab
|
||||||
|
exclude_filter: '@FAB_EXCLUDE_FILTER@'
|
||||||
|
plot_footprint_values: false
|
||||||
|
sketch_pads_on_fab_layers: false
|
||||||
|
color: '#E10000'
|
||||||
|
- layer: '@LAYER_TP_LIST_TOP@'
|
||||||
|
color: '#000000'
|
||||||
|
|
||||||
|
- scaling: @SCALING@
|
||||||
|
mirror : true
|
||||||
|
mirror_pcb_text: true
|
||||||
|
title: '@DOC_TITLE@'
|
||||||
|
sheet: 'Bottom Test Points (Scale @SCALING@:1)'
|
||||||
|
layer_var: 'Bottom Test Points (Scale @SCALING@:1)'
|
||||||
|
sheet_reference_color: '#000000'
|
||||||
|
colored_holes: true
|
||||||
|
holes_color: "#FFFFFF"
|
||||||
|
layers:
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
color: '#000000'
|
||||||
|
- layer: B.Cu
|
||||||
|
color: '#E5E5E5'
|
||||||
|
- layer: B.Mask
|
||||||
|
color: '#CECECE'
|
||||||
|
- layer: B.Paste
|
||||||
|
color: '#CECECE'
|
||||||
|
- layer: B.Silkscreen
|
||||||
|
color: '#C7C7C7'
|
||||||
|
- layer: B.Fab
|
||||||
|
exclude_filter: '@FAB_EXCLUDE_FILTER@'
|
||||||
|
plot_footprint_values: false
|
||||||
|
sketch_pads_on_fab_layers: false
|
||||||
|
color: '#0B00CC'
|
||||||
|
- layer: '@LAYER_TP_LIST_BOTTOM@'
|
||||||
|
color: '#000000'
|
||||||
|
|
||||||
|
- scaling: @SCALING@
|
||||||
|
sheet: '%ln (Scale @SCALING@:1)'
|
||||||
|
layer_var: '%ln (Scale @SCALING@:1)'
|
||||||
|
title: '@DOC_TITLE@'
|
||||||
|
sheet_reference_color: '#000000'
|
||||||
|
colored_holes: true
|
||||||
|
holes_color: "#FFFFFF"
|
||||||
|
repeat_for_layer: 'F.Cu'
|
||||||
|
repeat_layers: 'copper'
|
||||||
|
layers:
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
color: '#000000'
|
||||||
|
- layer: 'F.Cu'
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: pdf_fabrication
|
||||||
|
COMMENT: Fabrication document in PDF format
|
||||||
|
DIR: mfg/fab
|
||||||
|
DOC_TITLE: Fabrication
|
||||||
|
COLOR_THEME: Altium_Theme
|
||||||
|
SHEET_WKS: ${KIPRJMOD}/templates/Asymworks_PCB.kicad_wks
|
||||||
|
SCALING: 1.0
|
||||||
|
FAB_EXCLUDE_FILTER: only_testpoints
|
||||||
|
LAYER_DRILL_MAP: DrillMap
|
||||||
|
LAYER_TP_LIST_TOP: F.TestPointList
|
||||||
|
LAYER_TP_LIST_BOTTOM: B.TestPointList
|
||||||
|
PTH_NPTH: 'yes'
|
||||||
|
GROUP_ROUND_SLOTS: true
|
||||||
|
NAME_TP_TOP: csv_testpoints_top
|
||||||
|
NAME_TP_BOTTOM: csv_testpoints_bottom
|
||||||
|
NAME_IMPEDANCE_TABLE: csv_impedance_table
|
||||||
|
NAME_DRILL_TABLE: csv_drill_table
|
||||||
26
kibot/yaml/kibot_out_pdf_schematic.yaml
Normal file
26
kibot/yaml/kibot_out_pdf_schematic.yaml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# KiBot output for generating schematics in PDF format
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/pdf_sch_print.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: pdf_sch_print
|
||||||
|
dir: '@DIR@'
|
||||||
|
category: '@DIR@'
|
||||||
|
options:
|
||||||
|
background_color: false
|
||||||
|
color_theme: '@COLOR_THEME@'
|
||||||
|
default_font: '@DEFAULT_FONT@'
|
||||||
|
sheet_reference_layout: '@SHEET_WKS@'
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: pdf_schematic
|
||||||
|
COMMENT: Schematic in PDF format
|
||||||
|
COLOR_THEME: Altium_Theme
|
||||||
|
DEFAULT_FONT: Arial
|
||||||
|
DIR: schematic
|
||||||
|
SHEET_WKS: ${KIPRJMOD}/templates/Asymworks_SCH.kicad_wks
|
||||||
43
kibot/yaml/kibot_out_png_3d_viewer.yaml
Normal file
43
kibot/yaml/kibot_out_png_3d_viewer.yaml
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# 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'
|
||||||
20
kibot/yaml/kibot_out_step.yaml
Normal file
20
kibot/yaml/kibot_out_step.yaml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# KiBot output for generating PCB 3D model in STEP format
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/step.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: step
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
options:
|
||||||
|
output: '%f%I%v.%x'
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: step
|
||||||
|
COMMENT: PCB 3D model in STEP format
|
||||||
|
DIR: 3d_model
|
||||||
27
kibot/yaml/kibot_out_txt_report.yaml
Normal file
27
kibot/yaml/kibot_out_txt_report.yaml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
# KiBot output for TXT Report (e.g. Fabrication/Assembly notes)
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/outputs/report.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: @NAME@
|
||||||
|
comment: '@COMMENT@'
|
||||||
|
type: report
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
output_id: @OUTPUT_ID@
|
||||||
|
options:
|
||||||
|
output: '%f-%I%v.txt'
|
||||||
|
template: @TEMPLATE@
|
||||||
|
exclude_filter: '_mechanical'
|
||||||
|
mm_digits: 3
|
||||||
|
display_trailing_zeros: True
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME: txt_fabrication_notes
|
||||||
|
COMMENT: Report
|
||||||
|
DIR: mfg
|
||||||
|
OUTPUT_ID: _notes
|
||||||
|
TEMPLATE: notes/fabrication_notes.txt
|
||||||
25
kibot/yaml/kibot_pre_draw_stackup.yaml
Normal file
25
kibot/yaml/kibot_pre_draw_stackup.yaml
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# KiBot preflight for Draw Fancy Stackup feature
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/preflights/draw_fancy_stackup.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
preflight:
|
||||||
|
update_xml: true
|
||||||
|
draw_fancy_stackup:
|
||||||
|
gerber: '@GERBER_OUTPUT@'
|
||||||
|
gerber_extension_only: True
|
||||||
|
draw_stackup: True
|
||||||
|
draw_vias: True
|
||||||
|
columns:
|
||||||
|
- 'material'
|
||||||
|
- 'layer'
|
||||||
|
- 'thickness'
|
||||||
|
- 'dielectric'
|
||||||
|
- 'layer_type'
|
||||||
|
note: '@NOTE@'
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
GERBER_OUTPUT: gbr_gerbers
|
||||||
|
NOTE: external layer thicknesses are specified after plating
|
||||||
20
kibot/yaml/kibot_pre_drc_report.yaml
Normal file
20
kibot/yaml/kibot_pre_drc_report.yaml
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# KiBot preflight for generating DRC reports
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/preflights/drc.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
preflight:
|
||||||
|
check_zone_fills: @CHECK_ZONE_FILLS@
|
||||||
|
drc:
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
dont_stop: true
|
||||||
|
format: 'HTML, RPT'
|
||||||
|
output: 'report_%f-%i%I%v.%x'
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
CHECK_ZONE_FILLS: true
|
||||||
|
CATEGORY: Schematic
|
||||||
|
DIR: reports
|
||||||
17
kibot/yaml/kibot_pre_erc_report.yaml
Normal file
17
kibot/yaml/kibot_pre_erc_report.yaml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# KiBot preflight for generating ERC reports
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/preflights/erc.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
preflight:
|
||||||
|
erc:
|
||||||
|
category: '@DIR@'
|
||||||
|
dir: '@DIR@'
|
||||||
|
format: 'HTML, RPT'
|
||||||
|
output: 'report_%f-%i%I%v.%x'
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
CATEGORY: Schematic
|
||||||
|
DIR: reports
|
||||||
75
kibot/yaml/kibot_pre_include_table.yaml
Normal file
75
kibot/yaml/kibot_pre_include_table.yaml
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
# KiBot preflight for Include Table feature
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/preflights/include_table.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
preflight:
|
||||||
|
include_table:
|
||||||
|
outputs:
|
||||||
|
- name: '@NAME_TP_TOP@'
|
||||||
|
text_alignment: 'left'
|
||||||
|
invert_columns_order: false
|
||||||
|
border_width: 0.2
|
||||||
|
header_rule_width: 0.2
|
||||||
|
horizontal_rule_width: 0
|
||||||
|
vertical_rule_width: 0
|
||||||
|
top_rule_width: 0
|
||||||
|
bottom_rule_width: 0
|
||||||
|
column_spacing: 1
|
||||||
|
# force_font_width: 1.27 # mm
|
||||||
|
|
||||||
|
- name: '@NAME_TP_BOTTOM@'
|
||||||
|
text_alignment: 'right'
|
||||||
|
invert_columns_order: true
|
||||||
|
border_width: 0.2
|
||||||
|
header_rule_width: 0.2
|
||||||
|
horizontal_rule_width: 0
|
||||||
|
vertical_rule_width: 0
|
||||||
|
top_rule_width: 0
|
||||||
|
bottom_rule_width: 0
|
||||||
|
column_spacing: 1
|
||||||
|
# force_font_width: 1.27 # mm
|
||||||
|
|
||||||
|
- name: '@NAME_COMP_COUNT@'
|
||||||
|
text_alignment: 'left'
|
||||||
|
invert_columns_order: false
|
||||||
|
border_width: 0.2
|
||||||
|
header_rule_width: 0.2
|
||||||
|
horizontal_rule_width: 0
|
||||||
|
vertical_rule_width: 0
|
||||||
|
top_rule_width: 0
|
||||||
|
bottom_rule_width: 0
|
||||||
|
row_spacing: 3
|
||||||
|
column_spacing: 1
|
||||||
|
|
||||||
|
- name: '@NAME_CSV_DRILL_TABLE@'
|
||||||
|
text_alignment: 'left'
|
||||||
|
invert_columns_order: false
|
||||||
|
border_width: 0.2
|
||||||
|
header_rule_width: 0.2
|
||||||
|
horizontal_rule_width: 0
|
||||||
|
vertical_rule_width: 0
|
||||||
|
top_rule_width: 0
|
||||||
|
bottom_rule_width: 0
|
||||||
|
row_spacing: 3
|
||||||
|
column_spacing: 1
|
||||||
|
|
||||||
|
- name: '@NAME_IMPEDANCE_TABLE@'
|
||||||
|
text_alignment: 'left'
|
||||||
|
invert_columns_order: false
|
||||||
|
border_width: 0.2
|
||||||
|
header_rule_width: 0.2
|
||||||
|
vertical_rule_width: 0
|
||||||
|
top_rule_width: 0
|
||||||
|
bottom_rule_width: 0
|
||||||
|
row_spacing: 3
|
||||||
|
column_spacing: 1
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
NAME_TP_TOP: csv_testpoints_top
|
||||||
|
NAME_TP_BOTTOM: csv_testpoints_bottom
|
||||||
|
NAME_COMP_COUNT: csv_comp_count
|
||||||
|
NAME_CSV_DRILL_TABLE: csv_drill_table
|
||||||
|
NAME_IMPEDANCE_TABLE: csv_impedance_table
|
||||||
132
kibot/yaml/kibot_pre_set_text_variables.yaml
Normal file
132
kibot/yaml/kibot_pre_set_text_variables.yaml
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
# KiBot preflight for setting Text Variables
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/preflights/set_text_variables.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
preflight:
|
||||||
|
update_xml: true
|
||||||
|
set_text_variables:
|
||||||
|
|
||||||
|
# Git-related information
|
||||||
|
- variable: 'REVISION'
|
||||||
|
text: '@REVISION@'
|
||||||
|
- variable: 'RELEASE_STATE'
|
||||||
|
text: '@RELEASE_STATE@'
|
||||||
|
- variable: 'RELEASE_DATE'
|
||||||
|
command: 'git log -1 --format="%ad" --date=short'
|
||||||
|
- variable: 'GIT_HASH_SCH'
|
||||||
|
command: 'git log -1 --format="%h" $KIBOT_SCH_NAME'
|
||||||
|
- variable: 'GIT_HASH_PCB'
|
||||||
|
command: 'git log -1 --format="%h" $KIBOT_PCB_NAME'
|
||||||
|
- variable: 'GIT_HASH'
|
||||||
|
command: 'git log -1 --format="%h"'
|
||||||
|
- variable: 'GIT_URL'
|
||||||
|
text: '@GIT_URL@'
|
||||||
|
|
||||||
|
# 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
|
||||||
|
- 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 ""'
|
||||||
|
|
||||||
|
# Page titles for automatic ToC
|
||||||
|
- variable: '@SHEET_NAME_VAR@01'
|
||||||
|
text: 'Cover Page'
|
||||||
|
- variable: '@SHEET_NAME_VAR@02'
|
||||||
|
command: '@GET_SHEET_CMD@ 2'
|
||||||
|
- variable: '@SHEET_NAME_VAR@03'
|
||||||
|
command: '@GET_SHEET_CMD@ 3'
|
||||||
|
- variable: '@SHEET_NAME_VAR@04'
|
||||||
|
command: '@GET_SHEET_CMD@ 4'
|
||||||
|
- variable: '@SHEET_NAME_VAR@05'
|
||||||
|
command: '@GET_SHEET_CMD@ 5'
|
||||||
|
- variable: '@SHEET_NAME_VAR@06'
|
||||||
|
command: '@GET_SHEET_CMD@ 6'
|
||||||
|
- variable: '@SHEET_NAME_VAR@07'
|
||||||
|
command: '@GET_SHEET_CMD@ 7'
|
||||||
|
- variable: '@SHEET_NAME_VAR@08'
|
||||||
|
command: '@GET_SHEET_CMD@ 8'
|
||||||
|
- variable: '@SHEET_NAME_VAR@09'
|
||||||
|
command: '@GET_SHEET_CMD@ 9'
|
||||||
|
- variable: '@SHEET_NAME_VAR@10'
|
||||||
|
command: '@GET_SHEET_CMD@ 10'
|
||||||
|
- variable: '@SHEET_NAME_VAR@11'
|
||||||
|
command: '@GET_SHEET_CMD@ 11'
|
||||||
|
- variable: '@SHEET_NAME_VAR@12'
|
||||||
|
command: '@GET_SHEET_CMD@ 12'
|
||||||
|
- variable: '@SHEET_NAME_VAR@13'
|
||||||
|
command: '@GET_SHEET_CMD@ 13'
|
||||||
|
- variable: '@SHEET_NAME_VAR@14'
|
||||||
|
command: '@GET_SHEET_CMD@ 14'
|
||||||
|
- variable: '@SHEET_NAME_VAR@15'
|
||||||
|
command: '@GET_SHEET_CMD@ 15'
|
||||||
|
- variable: '@SHEET_NAME_VAR@16'
|
||||||
|
command: '@GET_SHEET_CMD@ 16'
|
||||||
|
- variable: '@SHEET_NAME_VAR@17'
|
||||||
|
command: '@GET_SHEET_CMD@ 17'
|
||||||
|
- variable: '@SHEET_NAME_VAR@18'
|
||||||
|
command: '@GET_SHEET_CMD@ 18'
|
||||||
|
- variable: '@SHEET_NAME_VAR@19'
|
||||||
|
command: '@GET_SHEET_CMD@ 19'
|
||||||
|
- variable: '@SHEET_NAME_VAR@20'
|
||||||
|
command: '@GET_SHEET_CMD@ 20'
|
||||||
|
|
||||||
|
...
|
||||||
|
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
|
||||||
9
kibot/yaml/kibot_pre_update_xml.yaml
Normal file
9
kibot/yaml/kibot_pre_update_xml.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# KiBot preflight for updating the Schematic XML
|
||||||
|
# https://kibot.readthedocs.io/en/latest/configuration/preflights/update_xml.html
|
||||||
|
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
preflight:
|
||||||
|
update_xml: true
|
||||||
|
|
||||||
11
notes/assembly_notes.txt
Normal file
11
notes/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.
|
||||||
62
notes/fabrication_notes.txt
Normal file
62
notes/fabrication_notes.txt
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
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: ${pcb_finish_cap}
|
||||||
|
|
||||||
|
5) SOLDERMASK ON BOTH SIDES OF THE BOARD SHALL
|
||||||
|
BE LPI, COLOR ${solder_mask_color_text_cap}.
|
||||||
|
|
||||||
|
6) SILK SCREEN LEGEND TO BE APPLIED PER LAYER
|
||||||
|
STACKUP USING ${silk_screen_color_text_cap} 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 ${bb_w_mm} × ${bb_h_mm} mm
|
||||||
|
BOARD THICKNESS ${thickness_mm} mm
|
||||||
|
TRACE WIDTH ${track_mm} mm
|
||||||
|
TRACE TO TRACE ${clearance_mm} mm
|
||||||
|
MIN. HOLE (PTH) ${drill_pth_real_mm} mm
|
||||||
|
MIN. HOLE (NPTH) ${drill_npth_real_mm} mm
|
||||||
|
ANNULAR RING ${oar_mm} mm
|
||||||
|
COPPER TO HOLE ${c2h_mm} mm
|
||||||
|
COPPER TO EDGE ${c2e_mm} mm
|
||||||
|
HOLE TO HOLE ${h2h_mm} mm
|
||||||
|
|
||||||
|
11) ALL DIMENSIONS ARE IN MILLIMETERS UNLESS OTHERWISE
|
||||||
|
SPECIFIED.
|
||||||
|
|
||||||
|
12) FOR REFERENCE ONLY THE STACKUP CORRESPONDS TO JLCPCB
|
||||||
|
STACKUP JLC04161H-7628.
|
||||||
|
#?stackup and impedance_controlled
|
||||||
|
|
||||||
|
#?stackup and impedance_controlled
|
||||||
|
13) REFER TO IMPEDANCE TABLE FOR IMPEDANCE CONTROL REQUIREMENTS.
|
||||||
|
#?stackup and impedance_controlled
|
||||||
|
THE SUPPLIED ARTWORK MAY OR MAY NOT CONTAIN THE SPECIFIED
|
||||||
|
#?stackup and impedance_controlled
|
||||||
|
TRACE GEOMETRIES ON EVERY LAYERS SPECIFIED.
|
||||||
|
#?stackup and impedance_controlled
|
||||||
|
|
||||||
|
#?stackup and impedance_controlled
|
||||||
|
14) CONFIRM SPACE WIDTHS AND SPACINGS.
|
||||||
4
notes/impedance_table.txt
Normal file
4
notes/impedance_table.txt
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%
|
||||||
1
notes/schematic_notes.txt
Normal file
1
notes/schematic_notes.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Unless otherwise specified, components Values are in ohms, µF, and µH.
|
||||||
139
sheets/Architecture.kicad_sch
Normal file
139
sheets/Architecture.kicad_sch
Normal file
@@ -0,0 +1,139 @@
|
|||||||
|
(kicad_sch
|
||||||
|
(version 20250114)
|
||||||
|
(generator "eeschema")
|
||||||
|
(generator_version "9.0")
|
||||||
|
(uuid "012d7bf9-8223-4140-afc5-ecb09d57c558")
|
||||||
|
(paper "A3")
|
||||||
|
(title_block
|
||||||
|
(title "Project Architecture")
|
||||||
|
(rev "${REVISION}")
|
||||||
|
(company "${COMPANY}")
|
||||||
|
)
|
||||||
|
(lib_symbols)
|
||||||
|
(sheet
|
||||||
|
(at 127 152.4)
|
||||||
|
(size 115.57 26.67)
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(in_bom yes)
|
||||||
|
(on_board yes)
|
||||||
|
(dnp no)
|
||||||
|
(fields_autoplaced yes)
|
||||||
|
(stroke
|
||||||
|
(width 0.1524)
|
||||||
|
(type solid)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(color 0 0 0 0.0000)
|
||||||
|
)
|
||||||
|
(uuid "6c8ce547-8e28-496a-9003-0e7dbfd93e8c")
|
||||||
|
(property "Sheetname" "Circuit 3"
|
||||||
|
(at 127 151.6884 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Sheetfile" "Circuit-3.kicad_sch"
|
||||||
|
(at 127 179.6546 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left top)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(instances
|
||||||
|
(project "Asymworks_Template"
|
||||||
|
(path "/8bfb0b6c-9e3a-4761-bc1e-4eb40915aa0b/f6afef58-d841-4ad6-baf9-746b0a35f011"
|
||||||
|
(page "6")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(sheet
|
||||||
|
(at 190.5 63.5)
|
||||||
|
(size 52.07 63.5)
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(in_bom yes)
|
||||||
|
(on_board yes)
|
||||||
|
(dnp no)
|
||||||
|
(fields_autoplaced yes)
|
||||||
|
(stroke
|
||||||
|
(width 0.1524)
|
||||||
|
(type solid)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(color 0 0 0 0.0000)
|
||||||
|
)
|
||||||
|
(uuid "9da43fd7-7a0a-403c-bf2c-ba67cd8fa669")
|
||||||
|
(property "Sheetname" "Circuit 2"
|
||||||
|
(at 190.5 62.7884 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Sheetfile" "Circuit-2.kicad_sch"
|
||||||
|
(at 190.5 127.5846 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left top)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(instances
|
||||||
|
(project "Asymworks_Template"
|
||||||
|
(path "/8bfb0b6c-9e3a-4761-bc1e-4eb40915aa0b/f6afef58-d841-4ad6-baf9-746b0a35f011"
|
||||||
|
(page "5")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(sheet
|
||||||
|
(at 127 63.5)
|
||||||
|
(size 50.8 63.5)
|
||||||
|
(exclude_from_sim no)
|
||||||
|
(in_bom yes)
|
||||||
|
(on_board yes)
|
||||||
|
(dnp no)
|
||||||
|
(fields_autoplaced yes)
|
||||||
|
(stroke
|
||||||
|
(width 0.1524)
|
||||||
|
(type solid)
|
||||||
|
)
|
||||||
|
(fill
|
||||||
|
(color 0 0 0 0.0000)
|
||||||
|
)
|
||||||
|
(uuid "a5aa3c11-5084-4ea5-9da5-c9ff4a86f01f")
|
||||||
|
(property "Sheetname" "Circuit 1"
|
||||||
|
(at 127 62.7884 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left bottom)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(property "Sheetfile" "Circuit-1.kicad_sch"
|
||||||
|
(at 127 127.5846 0)
|
||||||
|
(effects
|
||||||
|
(font
|
||||||
|
(size 1.27 1.27)
|
||||||
|
)
|
||||||
|
(justify left top)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(instances
|
||||||
|
(project "Asymworks_Template"
|
||||||
|
(path "/8bfb0b6c-9e3a-4761-bc1e-4eb40915aa0b/f6afef58-d841-4ad6-baf9-746b0a35f011"
|
||||||
|
(page "4")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
13
sheets/Block_Diagram.kicad_sch
Normal file
13
sheets/Block_Diagram.kicad_sch
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
(kicad_sch
|
||||||
|
(version 20250114)
|
||||||
|
(generator "eeschema")
|
||||||
|
(generator_version "9.0")
|
||||||
|
(uuid "b8d4aec6-3776-46e2-a068-8f537360a721")
|
||||||
|
(paper "A3")
|
||||||
|
(title_block
|
||||||
|
(title "Block Diagram")
|
||||||
|
(rev "${REVISION}")
|
||||||
|
(company "${COMPANY}")
|
||||||
|
)
|
||||||
|
(lib_symbols)
|
||||||
|
)
|
||||||
13
sheets/Circuit-1.kicad_sch
Normal file
13
sheets/Circuit-1.kicad_sch
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
(kicad_sch
|
||||||
|
(version 20250114)
|
||||||
|
(generator "eeschema")
|
||||||
|
(generator_version "9.0")
|
||||||
|
(uuid "ae274b30-ea86-4fd2-9b53-0688fcc83854")
|
||||||
|
(paper "A3")
|
||||||
|
(title_block
|
||||||
|
(title "Circuit 1")
|
||||||
|
(rev "${REVISION}")
|
||||||
|
(company "${COMPANY}")
|
||||||
|
)
|
||||||
|
(lib_symbols)
|
||||||
|
)
|
||||||
13
sheets/Circuit-2.kicad_sch
Normal file
13
sheets/Circuit-2.kicad_sch
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
(kicad_sch
|
||||||
|
(version 20250114)
|
||||||
|
(generator "eeschema")
|
||||||
|
(generator_version "9.0")
|
||||||
|
(uuid "9862af89-a2d7-4c8f-b21b-98b3a07ff6c9")
|
||||||
|
(paper "A3")
|
||||||
|
(title_block
|
||||||
|
(title "Circuit 2")
|
||||||
|
(rev "${REVISION}")
|
||||||
|
(company "${COMPANY}")
|
||||||
|
)
|
||||||
|
(lib_symbols)
|
||||||
|
)
|
||||||
12
sheets/Circuit-3.kicad_sch
Normal file
12
sheets/Circuit-3.kicad_sch
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
(kicad_sch
|
||||||
|
(version 20250114)
|
||||||
|
(generator "eeschema")
|
||||||
|
(generator_version "9.0")
|
||||||
|
(uuid "3e6e4bf0-cb66-44ec-867d-d511c2b5b480")
|
||||||
|
(paper "A3")
|
||||||
|
(title_block
|
||||||
|
(rev "${REVISION}")
|
||||||
|
(company "${COMPANY}")
|
||||||
|
)
|
||||||
|
(lib_symbols)
|
||||||
|
)
|
||||||
10
sym-lib-table
Normal file
10
sym-lib-table
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
(sym_lib_table
|
||||||
|
(version 7)
|
||||||
|
(lib (name "Asym_Battery_Management")(type "KiCad")(uri "${KIPRJMOD}/lib/asymworks/symbols/Asym_Battery_Management.kicad_sym")(options "")(descr "Asymworks Battery Management"))
|
||||||
|
(lib (name "Asym_Interface")(type "KiCad")(uri "${KIPRJMOD}/lib/asymworks/symbols/Asym_Interface.kicad_sym")(options "")(descr "Asymworks Digital Interface"))
|
||||||
|
(lib (name "Asym_MCU_Module")(type "KiCad")(uri "${KIPRJMOD}/lib/asymworks/symbols/Asym_MCU_Module.kicad_sym")(options "")(descr "Asymworks MCU Modules"))
|
||||||
|
(lib (name "Asym_Regulator_Linear")(type "KiCad")(uri "${KIPRJMOD}/lib/asymworks/symbols/Asym_Regulator_Linear.kicad_sym")(options "")(descr "Asymworks Linear Regulators"))
|
||||||
|
(lib (name "Asym_Regulator_Switching")(type "KiCad")(uri "${KIPRJMOD}/lib/asymworks/symbols/Asym_Regulator_Switching.kicad_sym")(options "")(descr "Asymworks Switching Regulators"))
|
||||||
|
(lib (name "Asym_Switch_THT")(type "KiCad")(uri "${KIPRJMOD}/lib/asymworks/symbols/Asym_Switch_THT.kicad_sym")(options "")(descr "Asymworks Switches (THT)"))
|
||||||
|
(lib (name "Asym_Transistor_FET")(type "KiCad")(uri "${KIPRJMOD}/lib/asymworks/symbols/Asym_Transistor_FET.kicad_sym")(options "")(descr "Asymworks Transistors (FET)"))
|
||||||
|
)
|
||||||
502
templates/Asymworks_PCB.kicad_wks
Normal file
502
templates/Asymworks_PCB.kicad_wks
Normal file
@@ -0,0 +1,502 @@
|
|||||||
|
(kicad_wks
|
||||||
|
(version 20231118)
|
||||||
|
(generator "pl_editor")
|
||||||
|
(generator_version "9.0")
|
||||||
|
(setup
|
||||||
|
(textsize 1.5 1.5)
|
||||||
|
(linewidth 0.15)
|
||||||
|
(textlinewidth 0.15)
|
||||||
|
(left_margin 10)
|
||||||
|
(right_margin 10)
|
||||||
|
(top_margin 10)
|
||||||
|
(bottom_margin 10)
|
||||||
|
)
|
||||||
|
(rect
|
||||||
|
(name "")
|
||||||
|
(start 95.989 42.002)
|
||||||
|
(end 2 2)
|
||||||
|
(option page1only)
|
||||||
|
(comment "rect around the title block")
|
||||||
|
)
|
||||||
|
(rect
|
||||||
|
(name "")
|
||||||
|
(start 0 0 ltcorner)
|
||||||
|
(end 0 0)
|
||||||
|
(repeat 2)
|
||||||
|
(incrx 2)
|
||||||
|
(incry 2)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 50 2 ltcorner)
|
||||||
|
(end 50 0 ltcorner)
|
||||||
|
(repeat 30)
|
||||||
|
(incrx 50)
|
||||||
|
)
|
||||||
|
(tbtext "1"
|
||||||
|
(name "")
|
||||||
|
(pos 25 1 ltcorner)
|
||||||
|
(font
|
||||||
|
(size 1.3 1.3)
|
||||||
|
)
|
||||||
|
(repeat 100)
|
||||||
|
(incrx 50)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 50 2 lbcorner)
|
||||||
|
(end 50 0 lbcorner)
|
||||||
|
(repeat 30)
|
||||||
|
(incrx 50)
|
||||||
|
)
|
||||||
|
(tbtext "1"
|
||||||
|
(name "")
|
||||||
|
(pos 25 1 lbcorner)
|
||||||
|
(font
|
||||||
|
(size 1.3 1.3)
|
||||||
|
)
|
||||||
|
(repeat 100)
|
||||||
|
(incrx 50)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 0 50 ltcorner)
|
||||||
|
(end 2 50 ltcorner)
|
||||||
|
(repeat 30)
|
||||||
|
(incry 50)
|
||||||
|
)
|
||||||
|
(tbtext "A"
|
||||||
|
(name "")
|
||||||
|
(pos 1 25 ltcorner)
|
||||||
|
(font
|
||||||
|
(size 1.3 1.3)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
(repeat 100)
|
||||||
|
(incry 50)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 0 50 rtcorner)
|
||||||
|
(end 2 50 rtcorner)
|
||||||
|
(repeat 30)
|
||||||
|
(incry 50)
|
||||||
|
)
|
||||||
|
(tbtext "A"
|
||||||
|
(name "")
|
||||||
|
(pos 1 25 rtcorner)
|
||||||
|
(font
|
||||||
|
(size 1.3 1.3)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
(repeat 100)
|
||||||
|
(incry 50)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 95.989 5.512)
|
||||||
|
(end 2 5.512)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 95.989 9.017)
|
||||||
|
(end 2 9.017)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 95.989 12.522)
|
||||||
|
(end 2 12.522)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 95.989 19.304)
|
||||||
|
(end 2 19.304)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm1:Line")
|
||||||
|
(start 79.9892 2 rtcorner)
|
||||||
|
(end 80.0022 13 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm2:Line")
|
||||||
|
(start 71.0022 6 rtcorner)
|
||||||
|
(end 71.0022 13 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm5:Line")
|
||||||
|
(start 15.4892 6 rtcorner)
|
||||||
|
(end 15.5022 13 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm9:Line")
|
||||||
|
(start 1.9892 9.5 rtcorner)
|
||||||
|
(end 80.0022 9.5 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm8:Line")
|
||||||
|
(start 1.9892 6 rtcorner)
|
||||||
|
(end 80.0022 6 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm7:Line")
|
||||||
|
(start 1.989 2 rtcorner)
|
||||||
|
(end 141.989 2 rtcorner)
|
||||||
|
)
|
||||||
|
(tbtext "REVISION HISTORY"
|
||||||
|
(name "text1:Text")
|
||||||
|
(pos 41.021 4.08 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(linewidth 0.35)
|
||||||
|
(size 1.905 1.905)
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "REV"
|
||||||
|
(name "text2:Text")
|
||||||
|
(pos 75.4892 7.906 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(linewidth 0.35)
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "DESCRIPTION"
|
||||||
|
(name "text4:Text")
|
||||||
|
(pos 43.2312 7.906 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(linewidth 0.35)
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "ZONE"
|
||||||
|
(name "text6:Text")
|
||||||
|
(pos 8.9892 7.906 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(linewidth 0.35)
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "Sheet"
|
||||||
|
(name "")
|
||||||
|
(pos 23.987 3.6832)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${#} of ${##}"
|
||||||
|
(name "")
|
||||||
|
(pos 3.137 3.734)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
(justify right)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 71.984 9.002)
|
||||||
|
(end 71.984 2)
|
||||||
|
)
|
||||||
|
(tbtext "${KICAD_VERSION}"
|
||||||
|
(name "")
|
||||||
|
(pos 48.476 3.683)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "Scale"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 3.683)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${SCALE}"
|
||||||
|
(name "")
|
||||||
|
(pos 81.989 3.6832)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "Release State"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 7.239)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${RELEASE_STATE}"
|
||||||
|
(name "")
|
||||||
|
(pos 82.989 7.239)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Release Date"
|
||||||
|
(name "")
|
||||||
|
(pos 70.989 7.239)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${ISSUE_DATE}"
|
||||||
|
(name "")
|
||||||
|
(pos 59.489 7.2392)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 24.987 9.0022)
|
||||||
|
(end 24.987 2.0002)
|
||||||
|
)
|
||||||
|
(tbtext "Git Hash"
|
||||||
|
(name "")
|
||||||
|
(pos 23.987 7.239)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${GIT_HASH_PCB}"
|
||||||
|
(name "")
|
||||||
|
(pos 3.137 7.239)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
(justify right)
|
||||||
|
)
|
||||||
|
(tbtext "${FILENAME}"
|
||||||
|
(name "")
|
||||||
|
(pos 85.989 10.668)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "File Name"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 10.668)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Size"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 17.653)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Drawing Number"
|
||||||
|
(name "")
|
||||||
|
(pos 76.989 17.653)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Revision"
|
||||||
|
(name "")
|
||||||
|
(pos 23.987 17.653)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 24.989 19.304)
|
||||||
|
(end 24.989 12.522)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 77.989 19.304)
|
||||||
|
(end 77.989 12.522)
|
||||||
|
)
|
||||||
|
(tbtext "${PAPER}"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 14.8592)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${DWG_NUMBER_PCB}"
|
||||||
|
(name "")
|
||||||
|
(pos 76.989 14.859)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.159 2.159)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${REVISION}"
|
||||||
|
(name "")
|
||||||
|
(pos 23.989 14.8592)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.159 2.159)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 95.989 26.289)
|
||||||
|
(end 2 26.289)
|
||||||
|
)
|
||||||
|
(tbtext "Drawing Title"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 24.638)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${DWG_TITLE_PCB}"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 21.844)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Sheet Title"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 28.502)
|
||||||
|
(option notonpage1)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${TITLE}"
|
||||||
|
(name "")
|
||||||
|
(pos 85.489 28.502)
|
||||||
|
(option notonpage1)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(rect
|
||||||
|
(name "")
|
||||||
|
(start 95.989 30.748)
|
||||||
|
(end 2 2)
|
||||||
|
(option notonpage1)
|
||||||
|
(comment "rect around the title block")
|
||||||
|
)
|
||||||
|
(tbtext "Designer"
|
||||||
|
(name "")
|
||||||
|
(pos 128.9892 14.1382)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${DESIGNER}"
|
||||||
|
(name "")
|
||||||
|
(pos 120.9892 14.0982)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${ASSEMBLY_NUMBER}"
|
||||||
|
(name "")
|
||||||
|
(pos 120.989 3.683)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Used On"
|
||||||
|
(name "")
|
||||||
|
(pos 128.989 3.683)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 129.489 12.522)
|
||||||
|
(end 95.989 12.522)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 129.489 9.017)
|
||||||
|
(end 95.989 9.017)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 129.489 5.512)
|
||||||
|
(end 95.989 5.512)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(rect
|
||||||
|
(name "")
|
||||||
|
(start 129.4892 16.0072)
|
||||||
|
(end 96.0022 2.0002)
|
||||||
|
(option page1only)
|
||||||
|
(comment "rect around the title block")
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm9:Line")
|
||||||
|
(start 2.0022 13 rtcorner)
|
||||||
|
(end 80.0152 13 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(tbtext "Used On"
|
||||||
|
(name "")
|
||||||
|
(pos 129.002 7.239)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Used On"
|
||||||
|
(name "")
|
||||||
|
(pos 129.002 10.668)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
493
templates/Asymworks_PCBA.kicad_wks
Normal file
493
templates/Asymworks_PCBA.kicad_wks
Normal file
@@ -0,0 +1,493 @@
|
|||||||
|
(kicad_wks
|
||||||
|
(version 20231118)
|
||||||
|
(generator "pl_editor")
|
||||||
|
(generator_version "9.0")
|
||||||
|
(setup
|
||||||
|
(textsize 1.5 1.5)
|
||||||
|
(linewidth 0.15)
|
||||||
|
(textlinewidth 0.15)
|
||||||
|
(left_margin 10)
|
||||||
|
(right_margin 10)
|
||||||
|
(top_margin 10)
|
||||||
|
(bottom_margin 10)
|
||||||
|
)
|
||||||
|
(rect
|
||||||
|
(name "")
|
||||||
|
(start 95.989 42.002)
|
||||||
|
(end 2 2)
|
||||||
|
(option page1only)
|
||||||
|
(comment "rect around the title block")
|
||||||
|
)
|
||||||
|
(rect
|
||||||
|
(name "")
|
||||||
|
(start 0 0 ltcorner)
|
||||||
|
(end 0 0)
|
||||||
|
(repeat 2)
|
||||||
|
(incrx 2)
|
||||||
|
(incry 2)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 50 2 ltcorner)
|
||||||
|
(end 50 0 ltcorner)
|
||||||
|
(repeat 30)
|
||||||
|
(incrx 50)
|
||||||
|
)
|
||||||
|
(tbtext "1"
|
||||||
|
(name "")
|
||||||
|
(pos 25 1 ltcorner)
|
||||||
|
(font
|
||||||
|
(size 1.3 1.3)
|
||||||
|
)
|
||||||
|
(repeat 100)
|
||||||
|
(incrx 50)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 50 2 lbcorner)
|
||||||
|
(end 50 0 lbcorner)
|
||||||
|
(repeat 30)
|
||||||
|
(incrx 50)
|
||||||
|
)
|
||||||
|
(tbtext "1"
|
||||||
|
(name "")
|
||||||
|
(pos 25 1 lbcorner)
|
||||||
|
(font
|
||||||
|
(size 1.3 1.3)
|
||||||
|
)
|
||||||
|
(repeat 100)
|
||||||
|
(incrx 50)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 0 50 ltcorner)
|
||||||
|
(end 2 50 ltcorner)
|
||||||
|
(repeat 30)
|
||||||
|
(incry 50)
|
||||||
|
)
|
||||||
|
(tbtext "A"
|
||||||
|
(name "")
|
||||||
|
(pos 1 25 ltcorner)
|
||||||
|
(font
|
||||||
|
(size 1.3 1.3)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
(repeat 100)
|
||||||
|
(incry 50)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 0 50 rtcorner)
|
||||||
|
(end 2 50 rtcorner)
|
||||||
|
(repeat 30)
|
||||||
|
(incry 50)
|
||||||
|
)
|
||||||
|
(tbtext "A"
|
||||||
|
(name "")
|
||||||
|
(pos 1 25 rtcorner)
|
||||||
|
(font
|
||||||
|
(size 1.3 1.3)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
(repeat 100)
|
||||||
|
(incry 50)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 95.989 5.512)
|
||||||
|
(end 2 5.512)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 95.989 9.017)
|
||||||
|
(end 2 9.017)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 95.989 12.522)
|
||||||
|
(end 2 12.522)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 95.989 19.304)
|
||||||
|
(end 2 19.304)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm1:Line")
|
||||||
|
(start 79.9892 2 rtcorner)
|
||||||
|
(end 80.0022 13 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm2:Line")
|
||||||
|
(start 71.0022 6 rtcorner)
|
||||||
|
(end 71.0022 13 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm5:Line")
|
||||||
|
(start 15.4892 6 rtcorner)
|
||||||
|
(end 15.5022 13 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm9:Line")
|
||||||
|
(start 1.9892 9.5 rtcorner)
|
||||||
|
(end 80.0022 9.5 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm8:Line")
|
||||||
|
(start 1.9892 6 rtcorner)
|
||||||
|
(end 80.0022 6 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm7:Line")
|
||||||
|
(start 1.989 2 rtcorner)
|
||||||
|
(end 141.989 2 rtcorner)
|
||||||
|
)
|
||||||
|
(tbtext "REVISION HISTORY"
|
||||||
|
(name "text1:Text")
|
||||||
|
(pos 41.021 4.08 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(linewidth 0.35)
|
||||||
|
(size 1.905 1.905)
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "REV"
|
||||||
|
(name "text2:Text")
|
||||||
|
(pos 75.4892 7.906 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(linewidth 0.35)
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "DESCRIPTION"
|
||||||
|
(name "text4:Text")
|
||||||
|
(pos 43.2312 7.906 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(linewidth 0.35)
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "ZONE"
|
||||||
|
(name "text6:Text")
|
||||||
|
(pos 8.9892 7.906 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(linewidth 0.35)
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "Sheet"
|
||||||
|
(name "")
|
||||||
|
(pos 23.987 3.6832)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${#} of ${##}"
|
||||||
|
(name "")
|
||||||
|
(pos 3.137 3.734)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
(justify right)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 71.984 9.002)
|
||||||
|
(end 71.984 2)
|
||||||
|
)
|
||||||
|
(tbtext "${KICAD_VERSION}"
|
||||||
|
(name "")
|
||||||
|
(pos 48.476 3.683)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "Scale"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 3.683)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${ASSEMBLY_SCALE}:1"
|
||||||
|
(name "")
|
||||||
|
(pos 81.989 3.683)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "Release State"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 7.239)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${RELEASE_STATE}"
|
||||||
|
(name "")
|
||||||
|
(pos 82.989 7.239)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Release Date"
|
||||||
|
(name "")
|
||||||
|
(pos 70.989 7.239)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${ISSUE_DATE}"
|
||||||
|
(name "")
|
||||||
|
(pos 59.489 7.2392)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 24.987 9.0022)
|
||||||
|
(end 24.987 2.0002)
|
||||||
|
)
|
||||||
|
(tbtext "Git Hash"
|
||||||
|
(name "")
|
||||||
|
(pos 23.987 7.239)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${GIT_HASH}"
|
||||||
|
(name "")
|
||||||
|
(pos 3.137 7.239)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
(justify right)
|
||||||
|
)
|
||||||
|
(tbtext "${FILENAME}"
|
||||||
|
(name "")
|
||||||
|
(pos 85.989 10.668)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "File Name"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 10.668)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Size"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 17.653)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Drawing Number"
|
||||||
|
(name "")
|
||||||
|
(pos 76.989 17.653)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Revision"
|
||||||
|
(name "")
|
||||||
|
(pos 23.987 17.653)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 24.989 19.304)
|
||||||
|
(end 24.989 12.522)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 77.989 19.304)
|
||||||
|
(end 77.989 12.522)
|
||||||
|
)
|
||||||
|
(tbtext "${PAPER}"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 14.8592)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${ASSEMBLY_NUMBER}"
|
||||||
|
(name "")
|
||||||
|
(pos 76.989 14.859)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.159 2.159)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${REVISION}"
|
||||||
|
(name "")
|
||||||
|
(pos 23.989 14.8592)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.159 2.159)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 95.989 26.289)
|
||||||
|
(end 2 26.289)
|
||||||
|
)
|
||||||
|
(tbtext "Drawing Title"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 24.638)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${DWG_TITLE_ASSY}"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 21.844)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Sheet Title"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 28.502)
|
||||||
|
(option notonpage1)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${TITLE}"
|
||||||
|
(name "")
|
||||||
|
(pos 85.489 28.502)
|
||||||
|
(option notonpage1)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(rect
|
||||||
|
(name "")
|
||||||
|
(start 95.989 30.748)
|
||||||
|
(end 2 2)
|
||||||
|
(option notonpage1)
|
||||||
|
(comment "rect around the title block")
|
||||||
|
)
|
||||||
|
(tbtext "Designer"
|
||||||
|
(name "")
|
||||||
|
(pos 128.9892 14.1382)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${DESIGNER}"
|
||||||
|
(name "")
|
||||||
|
(pos 120.9892 14.0982)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Used On"
|
||||||
|
(name "")
|
||||||
|
(pos 128.989 3.683)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 129.489 12.522)
|
||||||
|
(end 95.989 12.522)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 129.489 9.017)
|
||||||
|
(end 95.989 9.017)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 129.489 5.512)
|
||||||
|
(end 95.989 5.512)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(rect
|
||||||
|
(name "")
|
||||||
|
(start 129.4892 16.0072)
|
||||||
|
(end 96.0022 2.0002)
|
||||||
|
(option page1only)
|
||||||
|
(comment "rect around the title block")
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm9:Line")
|
||||||
|
(start 2.0022 13 rtcorner)
|
||||||
|
(end 80.0152 13 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(tbtext "Used On"
|
||||||
|
(name "")
|
||||||
|
(pos 129.002 7.239)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Used On"
|
||||||
|
(name "")
|
||||||
|
(pos 129.002 10.668)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
502
templates/Asymworks_SCH.kicad_wks
Normal file
502
templates/Asymworks_SCH.kicad_wks
Normal file
@@ -0,0 +1,502 @@
|
|||||||
|
(kicad_wks
|
||||||
|
(version 20231118)
|
||||||
|
(generator "pl_editor")
|
||||||
|
(generator_version "9.0")
|
||||||
|
(setup
|
||||||
|
(textsize 1.5 1.5)
|
||||||
|
(linewidth 0.15)
|
||||||
|
(textlinewidth 0.15)
|
||||||
|
(left_margin 10)
|
||||||
|
(right_margin 10)
|
||||||
|
(top_margin 10)
|
||||||
|
(bottom_margin 10)
|
||||||
|
)
|
||||||
|
(rect
|
||||||
|
(name "")
|
||||||
|
(start 95.989 42.002)
|
||||||
|
(end 2 2)
|
||||||
|
(option page1only)
|
||||||
|
(comment "rect around the title block")
|
||||||
|
)
|
||||||
|
(rect
|
||||||
|
(name "")
|
||||||
|
(start 0 0 ltcorner)
|
||||||
|
(end 0 0)
|
||||||
|
(repeat 2)
|
||||||
|
(incrx 2)
|
||||||
|
(incry 2)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 50 2 ltcorner)
|
||||||
|
(end 50 0 ltcorner)
|
||||||
|
(repeat 30)
|
||||||
|
(incrx 50)
|
||||||
|
)
|
||||||
|
(tbtext "1"
|
||||||
|
(name "")
|
||||||
|
(pos 25 1 ltcorner)
|
||||||
|
(font
|
||||||
|
(size 1.3 1.3)
|
||||||
|
)
|
||||||
|
(repeat 100)
|
||||||
|
(incrx 50)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 50 2 lbcorner)
|
||||||
|
(end 50 0 lbcorner)
|
||||||
|
(repeat 30)
|
||||||
|
(incrx 50)
|
||||||
|
)
|
||||||
|
(tbtext "1"
|
||||||
|
(name "")
|
||||||
|
(pos 25 1 lbcorner)
|
||||||
|
(font
|
||||||
|
(size 1.3 1.3)
|
||||||
|
)
|
||||||
|
(repeat 100)
|
||||||
|
(incrx 50)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 0 50 ltcorner)
|
||||||
|
(end 2 50 ltcorner)
|
||||||
|
(repeat 30)
|
||||||
|
(incry 50)
|
||||||
|
)
|
||||||
|
(tbtext "A"
|
||||||
|
(name "")
|
||||||
|
(pos 1 25 ltcorner)
|
||||||
|
(font
|
||||||
|
(size 1.3 1.3)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
(repeat 100)
|
||||||
|
(incry 50)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 0 50 rtcorner)
|
||||||
|
(end 2 50 rtcorner)
|
||||||
|
(repeat 30)
|
||||||
|
(incry 50)
|
||||||
|
)
|
||||||
|
(tbtext "A"
|
||||||
|
(name "")
|
||||||
|
(pos 1 25 rtcorner)
|
||||||
|
(font
|
||||||
|
(size 1.3 1.3)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
(repeat 100)
|
||||||
|
(incry 50)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 95.989 5.512)
|
||||||
|
(end 2 5.512)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 95.989 9.017)
|
||||||
|
(end 2 9.017)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 95.989 12.522)
|
||||||
|
(end 2 12.522)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 95.989 19.304)
|
||||||
|
(end 2 19.304)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm1:Line")
|
||||||
|
(start 79.9892 2 rtcorner)
|
||||||
|
(end 80.0022 13 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm2:Line")
|
||||||
|
(start 71.0022 6 rtcorner)
|
||||||
|
(end 71.0022 13 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm5:Line")
|
||||||
|
(start 15.4892 6 rtcorner)
|
||||||
|
(end 15.5022 13 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm9:Line")
|
||||||
|
(start 1.9892 9.5 rtcorner)
|
||||||
|
(end 80.0022 9.5 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm8:Line")
|
||||||
|
(start 1.9892 6 rtcorner)
|
||||||
|
(end 80.0022 6 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm7:Line")
|
||||||
|
(start 1.989 2 rtcorner)
|
||||||
|
(end 141.989 2 rtcorner)
|
||||||
|
)
|
||||||
|
(tbtext "REVISION HISTORY"
|
||||||
|
(name "text1:Text")
|
||||||
|
(pos 41.021 4.08 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(linewidth 0.35)
|
||||||
|
(size 1.905 1.905)
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "REV"
|
||||||
|
(name "text2:Text")
|
||||||
|
(pos 75.4892 7.906 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(linewidth 0.35)
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "DESCRIPTION"
|
||||||
|
(name "text4:Text")
|
||||||
|
(pos 43.2312 7.906 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(linewidth 0.35)
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "ZONE"
|
||||||
|
(name "text6:Text")
|
||||||
|
(pos 8.9892 7.906 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(linewidth 0.35)
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "Sheet"
|
||||||
|
(name "")
|
||||||
|
(pos 23.987 3.6832)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${#} of ${##}"
|
||||||
|
(name "")
|
||||||
|
(pos 3.137 3.734)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
(justify right)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 71.984 9.002)
|
||||||
|
(end 71.984 2)
|
||||||
|
)
|
||||||
|
(tbtext "${KICAD_VERSION}"
|
||||||
|
(name "")
|
||||||
|
(pos 48.476 3.683)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "Scale"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 3.683)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${SCALE}"
|
||||||
|
(name "")
|
||||||
|
(pos 81.989 3.6832)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
(justify center)
|
||||||
|
)
|
||||||
|
(tbtext "Release State"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 7.239)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${RELEASE_STATE}"
|
||||||
|
(name "")
|
||||||
|
(pos 82.989 7.239)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Release Date"
|
||||||
|
(name "")
|
||||||
|
(pos 70.989 7.239)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${ISSUE_DATE}"
|
||||||
|
(name "")
|
||||||
|
(pos 59.489 7.2392)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 24.987 9.0022)
|
||||||
|
(end 24.987 2.0002)
|
||||||
|
)
|
||||||
|
(tbtext "Git Hash"
|
||||||
|
(name "")
|
||||||
|
(pos 23.987 7.239)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${GIT_HASH_SCH}"
|
||||||
|
(name "")
|
||||||
|
(pos 3.137 7.239)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
(justify right)
|
||||||
|
)
|
||||||
|
(tbtext "${FILENAME}"
|
||||||
|
(name "")
|
||||||
|
(pos 85.989 10.668)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "File Name"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 10.668)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Size"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 17.653)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Drawing Number"
|
||||||
|
(name "")
|
||||||
|
(pos 76.989 17.653)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Revision"
|
||||||
|
(name "")
|
||||||
|
(pos 23.987 17.653)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 24.989 19.304)
|
||||||
|
(end 24.989 12.522)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 77.989 19.304)
|
||||||
|
(end 77.989 12.522)
|
||||||
|
)
|
||||||
|
(tbtext "${PAPER}"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 14.8592)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${DWG_NUMBER_SCH}"
|
||||||
|
(name "")
|
||||||
|
(pos 76.989 14.859)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.159 2.159)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${REVISION}"
|
||||||
|
(name "")
|
||||||
|
(pos 23.989 14.8592)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.159 2.159)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 95.989 26.289)
|
||||||
|
(end 2 26.289)
|
||||||
|
)
|
||||||
|
(tbtext "Drawing Title"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 24.638)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${DWG_TITLE_SCH}"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 21.844)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Sheet Title"
|
||||||
|
(name "")
|
||||||
|
(pos 94.989 28.502)
|
||||||
|
(option notonpage1)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${TITLE}"
|
||||||
|
(name "")
|
||||||
|
(pos 85.489 28.502)
|
||||||
|
(option notonpage1)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 2.032 2.032)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(rect
|
||||||
|
(name "")
|
||||||
|
(start 95.989 30.748)
|
||||||
|
(end 2 2)
|
||||||
|
(option notonpage1)
|
||||||
|
(comment "rect around the title block")
|
||||||
|
)
|
||||||
|
(tbtext "Designer"
|
||||||
|
(name "")
|
||||||
|
(pos 128.9892 14.1382)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${DESIGNER}"
|
||||||
|
(name "")
|
||||||
|
(pos 120.9892 14.0982)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "${ASSEMBLY_NUMBER}"
|
||||||
|
(name "")
|
||||||
|
(pos 120.989 3.683)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(size 1.778 1.778)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Used On"
|
||||||
|
(name "")
|
||||||
|
(pos 128.989 3.683)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 129.489 12.522)
|
||||||
|
(end 95.989 12.522)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 129.489 9.017)
|
||||||
|
(end 95.989 9.017)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "")
|
||||||
|
(start 129.489 5.512)
|
||||||
|
(end 95.989 5.512)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(rect
|
||||||
|
(name "")
|
||||||
|
(start 129.4892 16.0072)
|
||||||
|
(end 96.0022 2.0002)
|
||||||
|
(option page1only)
|
||||||
|
(comment "rect around the title block")
|
||||||
|
)
|
||||||
|
(line
|
||||||
|
(name "segm9:Line")
|
||||||
|
(start 2.0022 13 rtcorner)
|
||||||
|
(end 80.0152 13 rtcorner)
|
||||||
|
(option page1only)
|
||||||
|
)
|
||||||
|
(tbtext "Used On"
|
||||||
|
(name "")
|
||||||
|
(pos 129.002 7.239)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
(tbtext "Used On"
|
||||||
|
(name "")
|
||||||
|
(pos 129.002 10.668)
|
||||||
|
(option page1only)
|
||||||
|
(font
|
||||||
|
(face "Arial Narrow")
|
||||||
|
(color 0 0 224 1)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user