Skip to content

Commit

Permalink
Merge pull request #59 from spacelab-ufsc/dev
Browse files Browse the repository at this point in the history
Release v0.2
  • Loading branch information
vitoria-b authored May 31, 2023
2 parents 74525bc + a17ca2c commit 7bd36b5
Show file tree
Hide file tree
Showing 98 changed files with 659,777 additions and 284,826 deletions.
32 changes: 32 additions & 0 deletions .github/workflows/doc-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Build LaTeX documentation

on:
push:
branches: [dev_doc]
pull_request:
branches: [main, dev, dov_doc]

jobs:
build_user_manual:
name: Build User Manual
runs-on: ubuntu-latest
steps:
- name: Set up Git repository
uses: actions/checkout@v2
- name: Compile LaTeX document
uses: xu-cheng/latex-action@v2
with:
working_directory: docs/user_manual
root_file: main.tex

build_pdr:
name: Build PDR
runs-on: ubuntu-latest
steps:
- name: Set up Git repository
uses: actions/checkout@v2
- name: Compile LaTeX document
uses: xu-cheng/latex-action@v2
with:
working_directory: docs/pdr
root_file: main.tex
130 changes: 130 additions & 0 deletions .github/workflows/kibot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# SPDX-FileCopyrightText: 2022 nerdyscout <https://github.com/nerdyscout/>
#
# SPDX-License-Identifier: CC0-1.0

name: KiBot

on:
workflow_dispatch:
push:
paths:
- "hardware/*.kicad_sch"
- "hardware/*.kicad_pcb"
- "hardware/*.kicad_pro"
- "**/*kibot.yml"
pull_request:
paths:
- "hardware/*.kicad_sch"
- "hardware/*.kicad_pcb"
- "hardware/*.kicad_pro"
- "**/*kibot.yml"

env:
schema: "hardware/*.kicad_sch"
board: "hardware/*.kicad_pcb"
dir: .

jobs:
# checks
ERC:
runs-on: ubuntu-latest
container:
image: setsoft/kicad_auto:ki6
steps:
- uses: actions/checkout@v3
- name: run kibot
run: |
kibot -c kibot.yml -e ${{env.schema}} -b ${{env.board}} -d ${{env.dir}} -s run_drc -v -i
DRC:
runs-on: ubuntu-latest
container:
image: setsoft/kicad_auto:ki6
steps:
- uses: actions/checkout@v3
- name: run kibot
run: |
kibot -c kibot.yml -e ${{env.schema}} -b ${{env.board}} -d ${{env.dir}} -s run_erc -v -i
# documentation
docs:
runs-on: ubuntu-latest
needs: [ERC]
container:
image: setsoft/kicad_auto:ki6
steps:
- uses: actions/checkout@v3
- name: run kibot
run: |
kibot -c kibot.yml -e ${{env.schema}} -b ${{env.board}} -d ${{env.dir}} -s run_erc,run_drc -v \
ibom.html octopart.csv schematic.pdf schematic.svg board_top.pdf board_bottom.pdf
- uses: actions/upload-artifact@v3.1.1
if: ${{success()}}
with:
name: ${{github.event.repository.name}}_docs
if-no-files-found: error
path: |
${{env.dir}}/docs/**
!${{env.dir}}/**/*.ogv
!${{env.dir}}/**/*.log
# fabrications
gerbers:
runs-on: ubuntu-latest
needs: [DRC]
container:
image: setsoft/kicad_auto:ki6
steps:
- uses: actions/checkout@v3
- name: run kibot
run: |
kibot -c kibot.yml -e ${{env.schema}} -b ${{env.board}} -d ${{env.dir}} -s run_erc,run_drc -v \
gerbers.gbr drills.gbr drills.drl pickandplace.csv bom.csv
- uses: actions/upload-artifact@v3.1.1
if: ${{success()}}
with:
name: ${{github.event.repository.name}}_gerbers
if-no-files-found: error
path: |
${{env.dir}}/gerbers/**
!${{env.dir}}/**/*.ogv
!${{env.dir}}/**/*.log
# cad
cad:
runs-on: ubuntu-latest
needs: [DRC]
container:
image: setsoft/kicad_auto:ki6
steps:
- uses: actions/checkout@v3
- name: run kibot
run: |
kibot -c kibot.yml -e ${{env.schema}} -b ${{env.board}} -d ${{env.dir}} -s run_erc,run_drc -v \
model.step openboardview.brd autocad.dxf
- uses: actions/upload-artifact@v3.1.1
if: ${{success()}}
with:
name: ${{github.event.repository.name}}_cad
if-no-files-found: error
path: |
${{env.dir}}/cad/**
!${{env.dir}}/**/*.ogv
!${{env.dir}}/**/*.log
# images
# render:
# runs-on: ubuntu-latest
# needs: [DRC]
# container:
# image: setsoft/kicad_auto:ki6
# steps:
# - uses: actions/checkout@v3
# - name: run kibot
# run: |
# kibot -c kibot.yml -e ${{env.schema}} -b ${{env.board}} -d ${{env.dir}} -s run_erc,run_drc -v \
# board_black_top.svg board_black_bottom.svg
# - uses: actions/upload-artifact@v3.1.1
# if: ${{success()}}
# with:
# name: ${{github.event.repository.name}}_img
# if-no-files-found: error
# path: |
# ${{env.dir}}/img/**
# !${{env.dir}}/**/*.ogv
# !${{env.dir}}/**/*.log
7 changes: 7 additions & 0 deletions .kibot/boardview.kibot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
outputs:
- name: 'openboardview.brd'
comment: 'https://openboardview.org/'
type: boardview
dir: cad
options:
output: '%f.%x'
80 changes: 80 additions & 0 deletions .kibot/bom_ibom.kibot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
outputs:
- name: 'ibom.html'
comment: 'https://github.com/openscopeproject/InteractiveHtmlBom'
type: 'ibom'
dir: 'docs/bom'
options:
# [string=''] List of comma separated blacklisted components or prefixes with *. E.g. 'X1,MH*'.
# IBoM option, avoid using in conjunction with KiBot variants/filters
blacklist: ''
# [boolean=false] Blacklist components with empty value.
# IBoM option, avoid using in conjunction with KiBot variants/filters
blacklist_empty_val: false
# [number=0] Board rotation in degrees (-180 to 180). Will be rounded to multiple of 5
board_rotation: 0
# [string='left-right'] [bom-only,left-right,top-bottom] Default BOM view
bom_view: 'left-right'
# [string='Sourced,Placed'] Comma separated list of checkbox columns
checkboxes: 'Sourced,Placed'
# [boolean=false] Default to dark mode
dark_mode: true
# [string|list(string)=''] Name of the filter to mark components as not fitted.
# A short-cut to use for simple cases where a variant is an overkill.
# Avoid using it in conjunction with with IBoM native filtering options
dnf_filter: ''
# [string=''] Name of the extra field that indicates do not populate status.
# Components with this field not empty will be blacklisted.
# IBoM option, avoid using in conjunction with KiBot variants/filters
dnp_field: ''
# [string=''] Comma separated list of extra fields to pull from netlist or xml file
# extra_fields: 'MPN'
# [boolean=false] Hide footprint pads by default
hide_pads: false
# [boolean=false] Hide silkscreen by default
hide_silkscreen: false
# [boolean=false] Highlight pin1 by default
highlight_pin1: true
# [boolean=false] Include netlist information in output.
include_nets: true
# [boolean=false] Include track/zone information in output. F.Cu and B.Cu layers only
include_tracks: true
# [string='FB'] [F,FB,B] Default layer view
layer_view: 'FB'
# [string='ibom'] Output file name format supports substitutions:
# %f : original pcb file name without extension.
# %p : pcb/project title from pcb metadata.
# %c : company from pcb metadata.
# %r : revision from pcb metadata.
# %d : pcb date from metadata if available, file modification date otherwise.
# %D : bom generation date.
# %T : bom generation time.
# Extension .html will be added automatically.
# Note that this name is used only when output is ''
name_format: 'ibom'
# [string=''] Path to netlist or xml file
netlist_file: ''
# [boolean=false] Do not blacklist virtual components.
# IBoM option, avoid using in conjunction with KiBot variants/filters
no_blacklist_virtual: false
# [boolean=false] Do not redraw pcb on drag by default
no_redraw_on_drag: false
# [boolean=false] Normalize extra field name case. E.g. 'MPN' and 'mpn' will be considered the same field
normalize_field_case: true
# [string='%f-%i%v.%x'] Filename for the output, use '' to use the IBoM filename (%i=ibom, %x=html). Affected by global options
output: '%f-%i.%x'
# [boolean=false] Show fabrication layer by default
show_fabrication: false
# [string='C,R,L,D,U,Y,X,F,SW,A,~,HS,CNN,J,P,NT,MH'] Default sort order for components. Must contain '~' once
sort_order: 'C,R,L,D,U,Y,X,F,SW,A,~,HS,CNN,J,P,NT,MH'
# [string=''] Board variant to apply.
# Avoid using it in conjunction with with IBoM native filtering options
variant: ''
# [string=''] Name of the extra field that stores board variant for component.
# IBoM option, avoid using in conjunction with KiBot variants/filters
variant_field: ''
# [string=''] List of board variants to exclude from the BOM.
# IBoM option, avoid using in conjunction with KiBot variants/filters
variants_blacklist: ''
# [string=''] List of board variants to include in the BOM.
# IBoM option, avoid using in conjunction with KiBot variants/filters
variants_whitelist: ''
50 changes: 50 additions & 0 deletions .kibot/bom_kicost.kibot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
outputs:
- name: 'kicost.xlsx'
comment: 'https://github.com/hildogjr/KiCost'
type: 'kicost'
dir: 'docs/bom'
options:
# [list(dict)] Add components from other projects
# aggregate:
# [string=''] Name of the XML to aggregate
# - file: ''
# [string=' '] Variant for this project
# variant: ' '
# [string|list(string)=USD] Currency priority. Use ISO4217 codes (i.e. USD, EUR)
currency: EUR
# [string|list(string)] Use only this distributors list. Default is all the available.
# Not compatible with `no_distributors` option
# distributors:
# [string|list(string)=''] Name of the filter to mark components as not fitted.
# A short-cut to use for simple cases where a variant is an overkill.
# Internal variants and filters are currently ignored
dnf_filter: ''
# [string|list(string)] List of fields to be added to the global data section
# fields:
# [string|list(string)] List of fields that can be different for a group.
# Parts with differences in these fields are grouped together, but displayed individually
# group_fields:
# [string|list(string)] List of fields to be ignored
# ignore_fields:
# [string=''] Regular expression to match the variant field (KiCost option, not internal variants)
kicost_variant: ''
# [boolean=false] Do not collapse the part references (collapse=R1-R4)
no_collapse: false
# [string|list(string)] Use all but this distributors list. Default is use all the available.
# Not compatible with `distributors` option
# no_distributors:
# [boolean=false] Do not look for components price. For testing purposes
no_price: false
# [string='%f-%i%v.%x'] Filename for the output (%i=kicost, %x=xlsx). Affected by global options
output: '%f-%i.%x'
# [boolean=false] Include the catalogue links in the catalogue code
show_cat_url: true
# [list(dict)] Fields to rename (KiCost option, not internal filters)
translate_fields:
# [string=''] Name of the field to rename
- field: 'mpn'
# [string=''] New name
name: 'manf#'
# [string=''] Board variant to apply.
# Internal variants and filters are currently ignored
variant: ''
Loading

0 comments on commit 7bd36b5

Please sign in to comment.