From c81f4ee7d13d17300acc6eb3d658ad04e173db85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Mon, 13 Feb 2023 12:56:50 +0100 Subject: [PATCH 01/71] Update render.kibot.yaml --- kibot/render.kibot.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/kibot/render.kibot.yaml b/kibot/render.kibot.yaml index 62b801c..8feff07 100644 --- a/kibot/render.kibot.yaml +++ b/kibot/render.kibot.yaml @@ -91,9 +91,7 @@ outputs: warnings: 'none' margin: 5 - -outputs: - - name: 'white png top' + - name: 'white svg top' type: 'pcbdraw' dir: 'img' options: From c1e5373d397b886f7d2704298fe963c7efe648ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Mon, 13 Feb 2023 13:18:54 +0100 Subject: [PATCH 02/71] Update kicad_outputs.yml --- workflows/kicad_outputs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/kicad_outputs.yml b/workflows/kicad_outputs.yml index ebfbcc8..98423eb 100644 --- a/workflows/kicad_outputs.yml +++ b/workflows/kicad_outputs.yml @@ -257,7 +257,7 @@ jobs: cp -r doc_cad/cad/* doc/gen || true cp -r hw_cam_profi/* hw/cam_profi || true cp -r doc_sch/docs/* doc/gen || true - cp -r doc_xml/* doc/gen || true + cp -r doc_xml/* hw/cam_profi || true cp -r doc_sch/img/pcb/* doc/gen/img || true cp -r doc_placement/doc* hw/cam_profi || true cp -r doc_report/* doc/gen || true From 60febd4615306947e171a3be36c12e4e751721dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Mon, 13 Feb 2023 13:29:54 +0100 Subject: [PATCH 03/71] Update placement.kibot.yaml --- kibot/placement.kibot.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/kibot/placement.kibot.yaml b/kibot/placement.kibot.yaml index 2e6dc79..af432c4 100644 --- a/kibot/placement.kibot.yaml +++ b/kibot/placement.kibot.yaml @@ -23,3 +23,19 @@ outputs: layers: - F.Fab - Edge.Cuts + + - name: 'SVG print' + type: pcb_print + dir: docs + options: + mirror: true + scaling: 0 + plot_sheet_reference: false + format: 'svg' + pages: + - layers: + - B.Fab + - Edge.Cuts + - layers: + - B.Fab + - Edge.Cuts From 8844df1521f9b99db63fbd574aacc4374516becf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Mon, 13 Feb 2023 13:32:46 +0100 Subject: [PATCH 04/71] Update placement.kibot.yaml --- kibot/placement.kibot.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kibot/placement.kibot.yaml b/kibot/placement.kibot.yaml index af432c4..d8f6184 100644 --- a/kibot/placement.kibot.yaml +++ b/kibot/placement.kibot.yaml @@ -31,7 +31,7 @@ outputs: mirror: true scaling: 0 plot_sheet_reference: false - format: 'svg' + format: 'SVG' pages: - layers: - B.Fab From b825361820270628394db34a138867fa7965b7f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Mon, 13 Feb 2023 13:36:29 +0100 Subject: [PATCH 05/71] Update placement.kibot.yaml --- kibot/placement.kibot.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/kibot/placement.kibot.yaml b/kibot/placement.kibot.yaml index d8f6184..4d4a5a4 100644 --- a/kibot/placement.kibot.yaml +++ b/kibot/placement.kibot.yaml @@ -32,10 +32,10 @@ outputs: scaling: 0 plot_sheet_reference: false format: 'SVG' - pages: - - layers: - - B.Fab - - Edge.Cuts - - layers: - - B.Fab - - Edge.Cuts + pages: + - layers: + - B.Fab + - Edge.Cuts + - layers: + - B.Fab + - Edge.Cuts From e07c646e90e7497799ef9d6118bb5aa34ee75ed1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Mon, 13 Feb 2023 14:16:01 +0100 Subject: [PATCH 06/71] Create ibom.kibot.yml --- kibot/ibom.kibot.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 kibot/ibom.kibot.yml diff --git a/kibot/ibom.kibot.yml b/kibot/ibom.kibot.yml new file mode 100644 index 0000000..8accafe --- /dev/null +++ b/kibot/ibom.kibot.yml @@ -0,0 +1,13 @@ +kibot: + version: 1 + +global: + kiauto_time_out_scale: 15 + +outputs: + - name: 'ibom' + type: ibom + dir: docs + options: + extra_fields: "UST_ID" + include_nets: true From 35bece9cf4bb8bd43ebcb87a3696ec0e0a934a9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Mon, 13 Feb 2023 14:20:56 +0100 Subject: [PATCH 07/71] Update kicad_outputs.yml --- workflows/kicad_outputs.yml | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/workflows/kicad_outputs.yml b/workflows/kicad_outputs.yml index 98423eb..6c3e2ef 100644 --- a/workflows/kicad_outputs.yml +++ b/workflows/kicad_outputs.yml @@ -105,8 +105,7 @@ jobs: config: ${{ env.kibot }}/xml.kibot.yaml schema: ${{ env.schema }} board: ${{ env.board }} - dir: ${{ env.dir }} - + dir: ${{ env.dir }} - name: "Rename output" run: | @@ -149,6 +148,31 @@ jobs: name: doc_report path: ${{ env.dir }}_report/ + + ibom: + runs-on: ubuntu-latest + continue-on-error: true + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + token: ${{ secrets.pat }} + ref: ${{ github.head_ref }} + + - uses: INTI-CMNB/KiBot@v2_dk6 + with: + config: ${{ env.kibot }}/ibom.kibot.yaml + schema: ${{ env.schema }} + board: ${{ env.board }} + dir: ${{ env.dir }}_ibom + + - uses: actions/upload-artifact@v3 + if: ${{ success() }} + with: + name: doc_ibom + path: ${{ env.dir }}_ibom/ + + # fabrications gerbers: name: "Fabrication: Gerebrs, Drill and PnP" @@ -250,6 +274,7 @@ jobs: mkdir doc/img/render || true mkdir hw || true mkdir hw/cam_profi || true + mkdir hw/cam_profi/ibom || true cp doc/assets/kibot/autogenerated.md hw/cam_profi.readme.md || true @@ -261,6 +286,7 @@ jobs: cp -r doc_sch/img/pcb/* doc/gen/img || true cp -r doc_placement/doc* hw/cam_profi || true cp -r doc_report/* doc/gen || true + cp -l doc_ibom/* hw/cam_profi/ibom || true rm -r doc_img || true rm -r doc_cad || true @@ -269,6 +295,7 @@ jobs: rm -r doc_placement || true rm -r doc_xml || true rm -r doc_report || true + rm -r doc_ibom || true tree From cbdcd70b5e94bccd886f8bcceb7136c76f82067d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Mon, 13 Feb 2023 14:25:46 +0100 Subject: [PATCH 08/71] Rename ibom.kibot.yml to ibom.kibot.yaml --- kibot/{ibom.kibot.yml => ibom.kibot.yaml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename kibot/{ibom.kibot.yml => ibom.kibot.yaml} (100%) diff --git a/kibot/ibom.kibot.yml b/kibot/ibom.kibot.yaml similarity index 100% rename from kibot/ibom.kibot.yml rename to kibot/ibom.kibot.yaml From 0e03ef64b0c49eb4e8039f00b581388c10b97e14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Mon, 13 Feb 2023 14:26:21 +0100 Subject: [PATCH 09/71] Update kicad_outputs.yml --- workflows/kicad_outputs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/kicad_outputs.yml b/workflows/kicad_outputs.yml index 6c3e2ef..bf9229c 100644 --- a/workflows/kicad_outputs.yml +++ b/workflows/kicad_outputs.yml @@ -245,7 +245,7 @@ jobs: UPDATE_REPO: runs-on: ubuntu-latest name: Update repository - needs: [graphics, gerbers, schematics, placement, report] + needs: [graphics, gerbers, schematics, placement, report, ibom] steps: - uses: actions/checkout@v3 with: From fd43d1ad601ac5e54ebdfca1f6ad854d5eede468 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Mon, 13 Feb 2023 14:33:22 +0100 Subject: [PATCH 10/71] Update kicad_outputs.yml --- workflows/kicad_outputs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/kicad_outputs.yml b/workflows/kicad_outputs.yml index bf9229c..aed4bf7 100644 --- a/workflows/kicad_outputs.yml +++ b/workflows/kicad_outputs.yml @@ -286,7 +286,7 @@ jobs: cp -r doc_sch/img/pcb/* doc/gen/img || true cp -r doc_placement/doc* hw/cam_profi || true cp -r doc_report/* doc/gen || true - cp -l doc_ibom/* hw/cam_profi/ibom || true + cp -r doc_ibom/docs/* hw/cam_profi/ibom || true rm -r doc_img || true rm -r doc_cad || true From 68f27b40333c269477413924aeb3c9f3855ccc0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Mon, 13 Feb 2023 14:42:09 +0100 Subject: [PATCH 11/71] Update kicad_outputs.yml --- workflows/kicad_outputs.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/workflows/kicad_outputs.yml b/workflows/kicad_outputs.yml index aed4bf7..4230b4b 100644 --- a/workflows/kicad_outputs.yml +++ b/workflows/kicad_outputs.yml @@ -105,7 +105,7 @@ jobs: config: ${{ env.kibot }}/xml.kibot.yaml schema: ${{ env.schema }} board: ${{ env.board }} - dir: ${{ env.dir }} + dir: ${{ env.dir }}_docs - name: "Rename output" run: | @@ -165,6 +165,9 @@ jobs: schema: ${{ env.schema }} board: ${{ env.board }} dir: ${{ env.dir }}_ibom + + - name: "Rename output" + run: for file in $(find ${{env.dir}} -type f); do sudo mv "${file}" "${file//${{env.project}}/${{env.branch}}}" ; done - uses: actions/upload-artifact@v3 if: ${{ success() }} From c1c4ac27eea010ff7249ad10abe7dc98339b02ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Mon, 13 Feb 2023 14:43:39 +0100 Subject: [PATCH 12/71] Update kicad_outputs.yml --- workflows/kicad_outputs.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/workflows/kicad_outputs.yml b/workflows/kicad_outputs.yml index 4230b4b..14c3496 100644 --- a/workflows/kicad_outputs.yml +++ b/workflows/kicad_outputs.yml @@ -123,7 +123,10 @@ jobs: if: ${{ success() }} with: name: doc_placement - path: ${{ env.dir }}_docs/**/*.pdf + path: | + ${{ env.dir }}_docs/**/*.pdf + ${{ env.dir }}_docs/**/*.svg + report: runs-on: ubuntu-latest From 978ac9751d1b99606d600288213c857b5552bf60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Mon, 13 Feb 2023 14:47:16 +0100 Subject: [PATCH 13/71] Update readme.md --- workflows/readme.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/workflows/readme.md b/workflows/readme.md index 1675bb7..8fc762f 100644 --- a/workflows/readme.md +++ b/workflows/readme.md @@ -3,3 +3,19 @@ - `kicad_outputs.yml` - KiCAD manufacturing and documentation outputs automation. In case of creation of a new module from [module template](https://github.com/mlab-modules/MODUL01/tree/MODUL01A/.github/workflows) use `copy_workflow_to_repo.sh` script to copy the workflow file to the new MLAB module repository. + + +## Aktualizace submodulu v jednom prikazu pro starsi moduly +``` +git pull; git submodule update --init --remote; cd doc/assets/workflows; ./copy_workflow_to_repo.sh; cd ../../..; git add .gitmodules doc/assets/ .github; git commit -m"update actions"; git push +``` + + +.gitmodules +``` +[submodule "doc/assets"] + path = doc/assets + url = git@github.com:MLAB-project/documents.git + branch = old_mlab_naming + shallow = true +``` From 9d1ca87ded2324e081d0535a308ca736df011a12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Mon, 13 Feb 2023 14:51:31 +0100 Subject: [PATCH 14/71] Update update_metadata.py --- workflows/update_metadata.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index 6d8c3f0..9946bdc 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -63,6 +63,11 @@ if len(scheme): data['mod_scheme'] = scheme[0] +scheme = glob("hw/**/*ibom.html", recursive=True) +if len(scheme): + data['mod_ibom'] = scheme[0] + + print(data) yaml.dump(data, stream) stream.close() From 8bab4992f97f62a95b6edf2289dd8215e6bdbfee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Mon, 13 Feb 2023 16:28:00 +0100 Subject: [PATCH 15/71] Update update_metadata.py --- workflows/update_metadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index 9946bdc..7793589 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -31,7 +31,7 @@ new = 0 else: data = {} - data['homepage'] = True + data['homepage'] = False data['mark'] = 50 new = 1 From 40f4c70018b42daf9bead3cbf111179ff018d781 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C3=A1kona?= Date: Mon, 13 Feb 2023 23:47:54 +0100 Subject: [PATCH 16/71] The first version of kitspace metadata generator. --- workflows/metadata_updater.yml | 9 +++--- workflows/update_kitspace.py | 51 ++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 workflows/update_kitspace.py diff --git a/workflows/metadata_updater.yml b/workflows/metadata_updater.yml index fa42608..128eae7 100644 --- a/workflows/metadata_updater.yml +++ b/workflows/metadata_updater.yml @@ -15,18 +15,18 @@ jobs: - uses: actions/checkout@v3 with: submodules: 'recursive' - + - name: Set up Python 3.10 uses: actions/setup-python@v3 with: python-version: "3.10" - + - name: Install dependencies run: | python -m pip install --upgrade pip pip install flake8 pytest if [ -f doc/assets/workflows/requirements.txt ]; then pip install -r doc/assets/workflows/requirements.txt; fi - + - name: Update metadata env: gh_repo: ${{ github.event.repository.name }} @@ -37,7 +37,8 @@ jobs: gh_token: ${{ secrets.GITHUB_TOKEN }} run: | python3 doc/assets/workflows/update_metadata.py - + python3 doc/assets/workflows/update_kitspace.py + - uses: stefanzweifel/git-auto-commit-action@v4.16.0 with: commit_message: Update metadata files diff --git a/workflows/update_kitspace.py b/workflows/update_kitspace.py new file mode 100644 index 0000000..abfe220 --- /dev/null +++ b/workflows/update_kitspace.py @@ -0,0 +1,51 @@ + +# This tool should update kitspace.yaml metadata file. +# It should be run from the repository root. + +from github import Github +import yaml +from yaml import load, dump +from yaml import CLoader as Loader, CDumper as Dumper +import os +from glob import glob + +g = Github(os.environ['gh_token']) +repo = g.get_repo(os.environ['gh_repository']) +print(repo) + +config_file = 'kitspace.yaml' +new = 0 + +try: + stream = open(config_file, 'r') + data = yaml.full_load(stream) + stream.close() +except: + print("File does not exists") + data = None + +stream = open(config_file, 'w+') +print(data, type(data)) + +if data: + new = 0 +else: + data = {} + data['homepage'] = False + data['mark'] = 50 + new = 1 + +if new: + pass + +data['summary'] = repo.description +data['site'] = os.environ.get('gh_url', "https://www.github.com/MLAB-project")+os.environ.get('gh_repo', "repository_name") +#data['color'] = "white" +data['bom'] = +data['gerbers'] = 'hw/cam_profi/' +data['eda']['type'] = 'kicad' +data['eda']['pcb'] = 'hw/sch_pcb/'++os.environ.get('gh_repo', "repository_name")+'.kicad_pcb' + +print(data) +yaml.dump(data, stream) +stream.close() From b8e3b4760713de5c24c2cdd22e9c980b821a7c91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C3=A1kona?= Date: Mon, 13 Feb 2023 23:50:14 +0100 Subject: [PATCH 17/71] fix syntax issue. --- workflows/update_kitspace.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/update_kitspace.py b/workflows/update_kitspace.py index abfe220..4de9e7e 100644 --- a/workflows/update_kitspace.py +++ b/workflows/update_kitspace.py @@ -41,7 +41,7 @@ data['summary'] = repo.description data['site'] = os.environ.get('gh_url', "https://www.github.com/MLAB-project")+os.environ.get('gh_repo', "repository_name") #data['color'] = "white" -data['bom'] = +data['bom'] = '' data['gerbers'] = 'hw/cam_profi/' data['eda']['type'] = 'kicad' data['eda']['pcb'] = 'hw/sch_pcb/'++os.environ.get('gh_repo', "repository_name")+'.kicad_pcb' From 7e9606d61724ff4eaba488597f9b118c7b7e6ac1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C3=A1kona?= Date: Mon, 13 Feb 2023 23:57:46 +0100 Subject: [PATCH 18/71] Resolve key error. --- workflows/update_kitspace.py | 1 + 1 file changed, 1 insertion(+) diff --git a/workflows/update_kitspace.py b/workflows/update_kitspace.py index 4de9e7e..d3fe8d4 100644 --- a/workflows/update_kitspace.py +++ b/workflows/update_kitspace.py @@ -43,6 +43,7 @@ #data['color'] = "white" data['bom'] = '' data['gerbers'] = 'hw/cam_profi/' +data['eda'] = [] data['eda']['type'] = 'kicad' data['eda']['pcb'] = 'hw/sch_pcb/'++os.environ.get('gh_repo', "repository_name")+'.kicad_pcb' From 9428bdff9e8148adb25850217e2f5ef302233f9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C3=A1kona?= Date: Tue, 14 Feb 2023 00:10:30 +0100 Subject: [PATCH 19/71] Fix type error. --- workflows/update_kitspace.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/update_kitspace.py b/workflows/update_kitspace.py index d3fe8d4..91d3216 100644 --- a/workflows/update_kitspace.py +++ b/workflows/update_kitspace.py @@ -43,7 +43,7 @@ #data['color'] = "white" data['bom'] = '' data['gerbers'] = 'hw/cam_profi/' -data['eda'] = [] +data['eda'] = {} data['eda']['type'] = 'kicad' data['eda']['pcb'] = 'hw/sch_pcb/'++os.environ.get('gh_repo', "repository_name")+'.kicad_pcb' From 6f8f9e92206b3f2f822bfbcda0f05427f73bb25e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C3=A1kona?= Date: Tue, 14 Feb 2023 00:14:03 +0100 Subject: [PATCH 20/71] Fix typo in script. --- workflows/update_kitspace.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/update_kitspace.py b/workflows/update_kitspace.py index 91d3216..b493e27 100644 --- a/workflows/update_kitspace.py +++ b/workflows/update_kitspace.py @@ -45,7 +45,7 @@ data['gerbers'] = 'hw/cam_profi/' data['eda'] = {} data['eda']['type'] = 'kicad' -data['eda']['pcb'] = 'hw/sch_pcb/'++os.environ.get('gh_repo', "repository_name")+'.kicad_pcb' +data['eda']['pcb'] = 'hw/sch_pcb/'+os.environ.get('gh_repo', "repository_name")+'.kicad_pcb' print(data) yaml.dump(data, stream) From df0f8d1639f91c89500557b1f60d26851082e6af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Tue, 14 Feb 2023 00:25:39 +0100 Subject: [PATCH 21/71] Update update_metadata.py --- workflows/update_metadata.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index 7793589..7998888 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -56,7 +56,9 @@ images.extend(glob("**/*.GIF", recursive=True)) images.extend(glob("**/*.svg", recursive=True)) images.extend(glob("**/*.SVG", recursive=True)) - data['images'] = images + + data['images] = [x if 'doc/assets' not in x; for x in images] + # try to guess schematics file scheme = glob("doc/**/*schematic.pdf", recursive=True) From f8b1417b37d4d8a54b48233d6195109005c1e0ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C3=A1kona?= Date: Tue, 14 Feb 2023 00:27:41 +0100 Subject: [PATCH 22/71] Update update_kitspace.py --- workflows/update_kitspace.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/workflows/update_kitspace.py b/workflows/update_kitspace.py index b493e27..a18244b 100644 --- a/workflows/update_kitspace.py +++ b/workflows/update_kitspace.py @@ -31,15 +31,13 @@ new = 0 else: data = {} - data['homepage'] = False - data['mark'] = 50 new = 1 if new: pass data['summary'] = repo.description -data['site'] = os.environ.get('gh_url', "https://www.github.com/MLAB-project")+os.environ.get('gh_repo', "repository_name") +data['site'] = os.environ.get('gh_url', "https://www.github.com/MLAB-project") #data['color'] = "white" data['bom'] = '' data['gerbers'] = 'hw/cam_profi/' From 420c26e3dcc806531da89507cbb3b757d60fa0dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Tue, 14 Feb 2023 00:29:26 +0100 Subject: [PATCH 23/71] Update update_metadata.py --- workflows/update_metadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index 7998888..fc039eb 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -57,7 +57,7 @@ images.extend(glob("**/*.svg", recursive=True)) images.extend(glob("**/*.SVG", recursive=True)) - data['images] = [x if 'doc/assets' not in x; for x in images] + data['images'] = [x if 'doc/assets' not in x; for x in images] # try to guess schematics file From 3ec02da60d8d3a825aad7b26999aae5b882917d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Tue, 14 Feb 2023 00:30:57 +0100 Subject: [PATCH 24/71] Update report.kibot.yaml --- kibot/report.kibot.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/kibot/report.kibot.yaml b/kibot/report.kibot.yaml index 41b0786..31a01f2 100644 --- a/kibot/report.kibot.yaml +++ b/kibot/report.kibot.yaml @@ -13,9 +13,3 @@ outputs: options: output: 'README.md' template: 'full_svg' - - - name: 'bom' - comment: "Bill of Materials in CSV format" - type: bom - options: - group_fields: ['Part', 'Part Lib', 'Value', 'Footprint', 'Footprint Lib'] From 8470efe7af7a90a130f3697a1fbe0bce1ccb71ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Tue, 14 Feb 2023 00:32:06 +0100 Subject: [PATCH 25/71] Update xml.kibot.yaml --- kibot/xml.kibot.yaml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/kibot/xml.kibot.yaml b/kibot/xml.kibot.yaml index 0d1b3c7..ca5e925 100644 --- a/kibot/xml.kibot.yaml +++ b/kibot/xml.kibot.yaml @@ -2,8 +2,14 @@ kibot: version: 1 preflight: - run_erc: false - run_drc: false - check_zone_fills: false - ignore_unconnected: true update_xml: true + +global: + kiauto_time_out_scale: 10 + +outputs: + - name: 'bom' + comment: "Bill of Materials in CSV format" + type: bom + options: + group_fields: ['Part', 'Part Lib', 'Value', 'Footprint', 'Footprint Lib'] From 91e1c133480e047e244fd66b74a69fcb643daf61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Tue, 14 Feb 2023 00:36:24 +0100 Subject: [PATCH 26/71] Update update_metadata.py --- workflows/update_metadata.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index fc039eb..5d27d32 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -57,8 +57,10 @@ images.extend(glob("**/*.svg", recursive=True)) images.extend(glob("**/*.SVG", recursive=True)) - data['images'] = [x if 'doc/assets' not in x; for x in images] - + data['images'] = [] + for x n images: + if 'doc/assets' not in x: + data['images'].append(x) # try to guess schematics file scheme = glob("doc/**/*schematic.pdf", recursive=True) From 3f5e28792f01a7d629c8451259fd179fce812c47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Tue, 14 Feb 2023 00:40:20 +0100 Subject: [PATCH 27/71] Update kicad_outputs.yml --- workflows/kicad_outputs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/kicad_outputs.yml b/workflows/kicad_outputs.yml index 14c3496..d6081f0 100644 --- a/workflows/kicad_outputs.yml +++ b/workflows/kicad_outputs.yml @@ -126,7 +126,7 @@ jobs: path: | ${{ env.dir }}_docs/**/*.pdf ${{ env.dir }}_docs/**/*.svg - + ${{ env.dir }}_docs/**/*.csv report: runs-on: ubuntu-latest From 903f8b46cc843ba716fe7588e8ff76574365f574 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Tue, 14 Feb 2023 00:41:23 +0100 Subject: [PATCH 28/71] Update update_metadata.py --- workflows/update_metadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index 5d27d32..3e107cc 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -58,7 +58,7 @@ images.extend(glob("**/*.SVG", recursive=True)) data['images'] = [] - for x n images: + for x in images: if 'doc/assets' not in x: data['images'].append(x) From 6a11f499522b147f91b773c06b948966b780ef72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Tue, 14 Feb 2023 00:44:17 +0100 Subject: [PATCH 29/71] Update update_metadata.py --- workflows/update_metadata.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index 3e107cc..c039d01 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -59,7 +59,8 @@ data['images'] = [] for x in images: - if 'doc/assets' not in x: + if "asset" not in x: + print("Add", x) data['images'].append(x) # try to guess schematics file From 5b429e1618492068b90a67c8da792fc4999d3a63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Tue, 14 Feb 2023 10:47:26 +0100 Subject: [PATCH 30/71] Update update_metadata.py --- workflows/update_metadata.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index c039d01..40bd98d 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -47,21 +47,21 @@ data['title'] = data['github_repo'] -if not 'images' in data: - images = glob("**/*.jpg", recursive=True) - images.extend(glob("**/*.JPG", recursive=True)) - images.extend(glob("**/*.png", recursive=True)) - images.extend(glob("**/*.PNG", recursive=True)) - images.extend(glob("**/*.gif", recursive=True)) - images.extend(glob("**/*.GIF", recursive=True)) - images.extend(glob("**/*.svg", recursive=True)) - images.extend(glob("**/*.SVG", recursive=True)) - - data['images'] = [] - for x in images: - if "asset" not in x: - print("Add", x) - data['images'].append(x) +#if not 'images' in data: +images = glob("**/*.jpg", recursive=True) +images.extend(glob("**/*.JPG", recursive=True)) +images.extend(glob("**/*.png", recursive=True)) +images.extend(glob("**/*.PNG", recursive=True)) +images.extend(glob("**/*.gif", recursive=True)) +images.extend(glob("**/*.GIF", recursive=True)) +images.extend(glob("**/*.svg", recursive=True)) +images.extend(glob("**/*.SVG", recursive=True)) + +data['images'] = [] +for x in images: + if "asset" not in x: + print("Add", x) + data['images'].append(x) # try to guess schematics file scheme = glob("doc/**/*schematic.pdf", recursive=True) From f7a2cdfede09fcd85fc18c0ec04b04ec5e43d8a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C3=A1kona?= Date: Tue, 14 Feb 2023 14:46:53 +0100 Subject: [PATCH 31/71] Draw of MLAB signal connectors. --- graphics/images/SignalConnectors.dia | Bin 0 -> 3457 bytes graphics/images/SignalConnectors.png | Bin 0 -> 24766 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 graphics/images/SignalConnectors.dia create mode 100644 graphics/images/SignalConnectors.png diff --git a/graphics/images/SignalConnectors.dia b/graphics/images/SignalConnectors.dia new file mode 100644 index 0000000000000000000000000000000000000000..65b689995fae4d0b52a292df8a05716332e863f7 GIT binary patch literal 3457 zcmV-{4Sw<;iwFP!000021MQvJa@)uihVT6pEc!BHtM_F%_LRo1#IAUmDot|h0!4^I zh9XrUC0n`38|5aCki1w<1E9Eq8@gdaZn3$VPaiaY{^i^4u=Nn9lVm)4 z)g}nHTk+^>+)qY>SM9(3{^yQv|ML39&;2C&3H}b!=(Yv_V>Gd^UbSzg)4QL}&%b{C ziiVGqXgW^OFu6yQ`21hda2TD#LFet)FIug|6ZE5LWZx^^ji%Ey>D^D`)+oA-U$uMD z)gOa&d_U^9^P`I6uExW0+IonFui7uKi=Xy+aia63Gi^EhT{MV$X&n7gesT;y#vFI@ zyEt7v@$KDslE5L;$Gf#dO3q{dT{xyVY61t12CrXU@R#`|6>rSXwdq1jMW(k=I!H$A zI&gP}`K_QxQ%d1>2%`;FT#?y5Ib5z+uiUU+xwKxnWb);1oKDjynXXIr#^YfejdIm# zdLJLJGr5X}5MtY!RiPEv$#gp2asAiPaI#MW^0%LQ+o3&okS6`@9e3%7lC$(5;dgT7 z^&|P3^rtspzIpmc^0PmBI{QO1NqWP0)72-Vsk75Rx;g!71Y~2x{J&R>xcqFTgHT_` zA{NICLWBFHA5V4!^YSqzXSyj4JKuHRSC6ZBYx>FLZWujoZ^G(9CFhDp(*zh6P2#>I z(v+cc6y0^Ea>23 zzfIc)OlZ~|*RIlF^}?I1`BOwI^m0%N+`N!M>!nM|*@s*>6! zj|RhdSqUQv_J-3g!^kjUr3KT{949@s_hko}SB@zQv&=3p9k=4Fe@o-*I8EbzD@XC< z>L$L8O5FCAC@=Fn1B=|Us4VsZiyFxyRoxb4%RUBvdG$n@ibh&;LSSZO1b8BYG&fS8K8N1__djpG zBZ%}mi8{ZIhy5CG1S5xLj8Q`+X53Ka-z#m1#{j2B!bw+Ogv9k4Dj;F39tTG3$29!5|IT0$h@%CKLH#x?->&ybWX3GQ@BdY`R<$wsfEs|pGHm3 zozp?{!ti{39f>eJpC|zwRCYcYXYF^9kmET4Y*I|rf&d5Y3kc9XX$TJpI7tLlE~q3n z@mU80Y@Tz$27s=r#|OA*VW2>mr=RfCW~6fIVn-n(iIQg+G0BAV2!bc64n~|(#(1|w zkPTt0E+nI@0X5c_zrAn4-HX%f=qe7y*0mH{mj`KBGi&6US>-avjs{?W$3KIyopb5) z;WUtvB$pyEcF=AIoJ*!HkyroXrj7e;2PKwP&X~`oGj4OIOg)KF{fxGQ!Vbn`h_-A4 zFbvVg{f@^{7E%yjFd9o_3T<_~_MXA*q@BT@hdkZsPSR=RvbBy~YBpIfA=LP#0Z55l z3M*r2z>qGq_3_$!(!fbO0}aAt{e)>yxljzoXS~=&ebPW8Qgld6Ga3lQ3T>r))4)kP z!vcHgsK;g1D09$LRc5UT(wzJ5sWT~pDVALrOBE)@P8%^}jGTT-?c?Xm_u&Z`$0@VY z2n;E+Mm_^WE7#<8h|RKdyO+6lD9xn`C~2g$1Ss*QKGynsWn#m+teK#jVF$d#J6&2d+ZcdpH zMqEp&rF|riX=Ol}D@x_*^XOs}4abAl1U~j?7-}JEsf8$u&VZ|C;!0J=6@`EhHEh#6 zSIYP4Rq&f;iKehm?~l9xTuJl=9yOCk+CgEt%0?*fd#x-e<$KUEBmhWZx0SHl${yhu z0M$%D83&7Vn%TNa1Gw(|6n5}+O`*+E7bw(B3K0iSBj{QvlLAffY6c^LI4Pu?L8GvlxcjMDN%RFEH4{k8 zMJXjr*JT|*nn`6qvQJ_dgfX2>(?rN}hb;HDfDDXk;tmPSNwqguCjagMuNypNWxcde zV#03fBC=E_VMzMjTHHw^!{*{O?vTK$mkb*usa-`O6nvT2zy>8XQ?h}rk(ntgzk8QC zX=HdFIy?`3y3a#1>0lMg|gu9g|L&1lmE}#N4y{B>_i@E|P%FJ%Vo%xM*Y`LD=B@gh^1n%ro0dtQHc0 z(vl~jh}Y!_Tr@I}Amj;7csnMJ9qcloB&T(())h)mi**Oa}xnlDI0Yb*&gbCnc*I4}2Gd*waTy#aHvz?t)K>+4^Tjz?+ z3j_%3n5Uena8k9WZ9yA!M(TI>u_vjV0vc(eu%&<^gf<{m@$voT=kTb5hce=g;TLif zjeOLB3kRlzXE_4}(+1B(nn}rQX2OwSLUIs>v9$?Adh_A00Z7iDy()>m0HkIDNjg}} z;XI$OaN!w9Gbyl0#6H)MmwpNG{LKK;W#EzXwVRUQ3p_dv9@&}g-B#h-cpB~Mf&Bz# zlSlRM+X!BNTll|6WRleCo{dp6E{&Q(q&}ktVsoRWmX_pw8?|cf3`T9&f?zOeCvVgQc4^eAb>9Px zngvH@)HGs@6EJSLX-4hM#i!Q0)_H4NzCQRh$9`=!NP}Mseywi5CWuSF1~XN$@|8DU zEgR_Buh@BVZ4%LH`iB~~$_)`Oj1ANQEG{E;{;d|WFl)Idoa)hxYvbL!ya7}>T)6|s1+m-YW zotjo|@DDOI4fDkc^Tp?z7ZWbw0}Q}*=EW#tVlgkq5W%(P#VR*A0InrEzdd_5zkvyXCeSLELb;tiS2G@2Kv$sEc|rpT0x8ImG|P^e@UWhiszvP%eQLP(ON!H_bKl_`p-Y%`fN zQ|95Ut@r)j_k7=b&iS4F`v(8mdq2&I z5(w+qDAwa&lB~s?@c%Zrs2nq(prB~&*6G53ZoQ;#>_Q-HsVD#My1dYV1OkDRa7^`( zfoI%EyN40IaT8&J<+RH9alr;*k}mDj=j%=ws;U|&^ZabtWS~l8&yoAGhMR)6^)w?d z=eCEN4rOw!+qiw0`@u;AWx%W14qTdyKVl zWf%!>#8nUo#Jg3>{A)iE@~K1ev^~AO=_xj@ze>ZzB%Kj+@BaO~{QL_SE?CTuv=?}o zO|QeB25{1RvPgUT*7eV?@A>)pbaZr6Q&UHe9t{r<_nsYdu(d5+|Ng^=t*e?xkJ>am zJ!WohzHi??PkB!gwbD|3=+I6^#?4#Euhq#)jv~^?lOv&Y^z@x2{+*!?Y}1@CZO zZ*uC?DVqxy7KR%6M=oBxI2}4L%7}}X_xsq1KY#wrue}V@&lO#ne)jyi zKtg+Sb91En9^&oHO!0&u21drQ=BzDTs)@RB@$vHqLvnJQI#=cg5-1WA4+r)4_wN-F zq7VLf&TbcZ0aT99h2(A6LS=S8E;2GQG&B@UY)7Jjg_HBK=u7ZNX<;$1d+}vDTT!g#u3nOJOFFBQ)Wo9z6 zvb&g>t7>X+-!D^BKgY{Q6&)h#9zXs$&7`0roJ|OikcVf#`v~drV@}1tVGuxH94X7o z%RBNRX8-x6r6t^KW;(90kQzUI{`~m}MYsO2mqleb+jvLO2gTLp+0HLtzLb}j9}c4G z^Zhp5l%Ap;A3~jVKw3H_C8aapZMe7k?#olJEg~qlZWR<39+3=NoElslmHXpFSN@dC+&^ZCV;t0d1|nB6+E4wBAcgNc*q&j2!m# z%)N1=BE$ScTU*=DpFc?n_FWUBtvRn=z54deU}Sir`-AtRqbE;(@BR?PanRGu&Muhd zf}^9NOFyN`;KyM4lBKEbjQcPCc!lTLS?tT=Kjk{w^3JI5t>5wjKJNE#*8>L*FoyPx zj+z)7S9kcCnZV8$%# z+>15IjLyi&2>)Vu`gH!=xA%DLXGWUY+y?sku9ttTsCeUVl5M|>F+kLKswYCp;>?{p zcQW=dY`b10Sa`7E+c*1*7e7d016r~qJ$XWE&3W_2LTP5Ky?`{cYrjo~lhehE2mu#& zcXlPe!oWoX-lZmA+s3$wcAN4CMy!xy0RN9P^O5xH{(D~@#L7A>eC!K zY;Dc!A^z#I{!Wg7UI*lq6rF_rjukwnbkmYz&&l?D>eS4y?=O)TEG#T=J4VLURuYr!xM%9W z0dGcEY%$iB=YqdjSXdw#uD>eg_RCEylHL)4VizWS)r#6enXw8hyX(2G)H8kkW zl!-Bh{uynRp6PP05v9UzA#Ksu*B>!%zjKFfW}Ql5WkW*)zs{puZ1UNy^W@u87Tel6 zsHviI4R>|@`t_0$e=DnAJfA3G<7=Z52M(~2+Qg6vNkIi3_!ypvs=g2q7UML^KUMyCU{%$?8hMOE%;Ta}M@{p10%UmwylGQ&UsV5O(Yc zGtRQ%B1UUHD=J#XE^}(jy^JuFb?N_oWNkMM`eQc*(O6^}A!p$`*%y!Q+7*MJs0}nm z__X5$`1xo1YNDi_I!LXpJVYusx!%#yFdDhbKR0GGR5fRvuY07>`XT(*ty@)A&NenS zCMNB_hZ<>BKHS*xA-}>hoI^>`q2(C#+ z!?K6nx@Bc$wP(*BS2s6>g9lfZrt2>ERP1ndr{LPNZ=Y}X`|Dfj`EDY3M;aO%z2_zp zOG;LewU6z&gVd3jh~ICww6HiD&e|MSjEW=3fNu+bJ9@E35{?Xyo?`WCx-tG-nR#oUoC_h~ky)nE zKwUy*$+<$$$@;{@Z9+pn(jy}y>U-!^sz@Zy$1dv#0UcY)SqXvKco`e-T6veBzp(IU zn2L&OL$qFk^V)0opfG{(IK9;26k&7x+??mghlXTL*=)0km~-Od;z%6QVq%ea%+!ra{4hYwq@%1-V1hOq@_99+S+PpY!^=<41sEc6-AZst9c zeQMFQwJZ(wTbj~zs;e`TC?uGnWDH&R<$Yf|98Yxiz< zSM?~bq4rP$Vb$K=o|TpL!M-!@^HY6DtGcNMW6}NnHXUJwUVmP^e(lir={|BIvd;Jg zs77-DdD{0Qj0`8centCW{cPAxi^Dr|MNF*?v$Bv5{vBWOUkon+{EVwFCIO5gilRM!sT&fcH#dN zu`ccI{WN^F!Dj?BQySuxi&`~4;i}|lC#qjtc%1B#$ zUK~Gue8-GAYH`hjeTzU5>U|l1l39=WL3K?{%K_){4h4Dn0s!t8&z}pQ$$s_p>C^VPw3&ub0`0q{oBH1J~9+qXW`{X6b! z6gl^O!V@NE2$QBXlUR9=G;CB0i=UA^YJffV4i3v>?eb$s<-&Rud8mL{MNNwjx{oji zmOa)>Ma=*d?1^Vrd7hRAG;58`4t#_7XOXh6s;&L#?&cLa{OgwhAeRb~Vf~LEc-WZ< z38v1@Q!C4hsRqB|_~&(+#Xas+A?yFE7qE&;A-7M%PQ!1w=Y|a%Z-Xv~*6R4{~W>VBq#`+mQ4V zl>8md&9BmU{rPpWK-xOLeS47O*^PvJtDhf(5fK10+o`CY=?b9PCAo7)$^aK0e1#@d zNT{Z~{0PcqD>omX6f#^~9P60W{MLTk1k3H?j93|@AV$%1x0VGDQyfoFG||`3YNxli zwXOR6IayZ#yOgy67dJgUjpp#kkt3P=Zrr#56kYx0%h=I9v%4}sIBpql&Kel}nlz#$ z>G?D$^4`5Tam&p!#s&tiNFSsZI!kA*1O)|ISXf4;Z*v`HU|_KM{P22MAvf`81p8-; z%#0JI4<0<2n3xEr=f@7ct-fcZShkW{+UPu0K-rUL&-wu}D7d&ItHkfhiHS`l_^;$4 z10OlENr}3(M;zf>_2tVcJ-rLFUpC1jZQy%02Yzj7$@iSJKqng#vTeyu*FKVgmp3_8 zKgH(!dH=;3hp$hL#7a4Mtt`z~-{qJ8e7@zao#q4K7@5mY9z6JgR%@bKgmheos(tMG zVQG=|1QR-t5w3%}hQl3-wQyR;=c}Lv#OJTSec6 zZ!ImKCMjhq4bLK<-K}PobG0ofFcM}|InCnC84jLKdQ`lunt3ry9Fg5LLOwkD<618F^j-Y!$ z2qL4->Bv$txDY5AnMBUo+SwhVXeN;^6}}hZ;pqVc6=oa;%34`jiI=jrvQp){3+#z> z@k}QnoMyL_eKfEUxDHQNx23sBtQe|#H_9A|hk|+A^*3155f@L-xwm$W4@H1LIOX0tds`OCZ87fiMfUq3vHg>Y-tDcH5*1E}?H{ZHU zzt${kAJj%bojn_8x!%#u?GKvd+*myW0|r`J^Mvaa#i7cah5oCLd@a$Qd6zeSS7(3w z?p;z+60M3(f}(A7xEVNv@ztGadWfEB@`<-}tCqlsAftSJb8E+HN>*@ko+C zapJ^C9TWTN&+<^fQ1@8u*EiYO;h~`yZEd^8%D;V+6c?xEFcsaqH{X9%(fw|wcjOZD zej6(3at%|E$QG9NA{|3L=jG<&C`tI)TkyfBR zQ6ZsF8n3wtu3~XXNrp9`hX?`k86#yLMo(a9$dqu^^XJE{#M`f5k0Nrw%c-cSJkyTP z$9|nDMz8qY>HL;}+wb|0_kj8dTFzMLi!vp?WFq8;Rd((kO*^>=)P=?%Ha0dv)`d?& zVHqU{4?^B!%d+R{Q`-1DJL39+v+qZ9H!!e1Ti;j&29`X21P(63<(bK2B z(c+d*l9I@c4L?nOGrI0|E$3LW}Y2 z_4N-^paNuaD3U^Dsi`BdJ$hL1zC9u$#TMn;W-LUoh{~M8#&3wrq5iu z1lKc$p|Ys6vz`8cr_2R4smaOj%*xh}m>(On2v@sQ@E0E%37_)uSwdUMyJrs>$f51& za0;lZt4jdzKs^Xn-F@J~x2qerOqh^>FQ==XBRv7X`~EIiu8M$J`vgJg3Yv@N#tHsRMg$OE|)HqIxZX%pA{X6&>-`B zgIEVr1>TLQGz(?uDvt{c+_1Ra=MpKYJSHYam{Ai=`PZ+J9;Opf8wv4yMMVdS$-OH# z56|^9CIVrQBhcdus}0HtA0OY`J+|Fp*;dtbOOrN4n!D9jV$8s3ZFO0>`T5*LKr|W^ zMn*;yQUor^vYHSuc0yOzsK9;n`H3V{RM3Axl)K*8etl9~s|B_*ad;Dfu(0Le=a9Dc zb{=kSzvVwoPo6wMGY9k&<~#oY`Cwte3lTH6Av27WK8Gy_K#2T_7XS?Sg>!k%)+s_w z8wfIJJXw|emKF!epIK?f5p$SgpGp32l=xk{c1iAbz#Y)@X_<8b*3hVors)KZzPG)2 zaiG6n(PvIfSQx#JFc()DC|=*IYm{(6F@eWL{qSKl%y|1K^6(tJgA5|f&Th!vbn0eN zt=gG0ES-QXcwM7en49dWjoH6p{rXdBXM+`3wv!oxdL}a~DlQ`K4#4%y>C+mCx-#y; zH*emq?rm#3I~KLbw`UJ05tuWN#o**g)O_F?5Zb?z;>cV(frh~)dee4BaGv%Zg)zR- zI|c>@ni?9e6}@5VoEvG*vaAe`iH)@sDpB%ZiR%%t|7>orz)XH)fa3ZbV_FsU)2A0e z0arX0D0W2pM)4nMO2M1s@CSfBndr}6_6-wgAkE(`- zhJNQ?K@qu93qg`SZH#L&HauDw-}*xIxd z8)D2@KbM zexy+F>XrTDtT{jA9povS$618sUjWtyd;j18AvW~%^uV*bySkpuag4uqZN17(jbz8> zH%GwqJ$JJgthg$oM{BU7d9funaGJUFGVA1i6sfVILR)Q`RrF)e0gXJ5e* zgND3dYa9LWAxgrXYAd4drAuP>HGsZHyMtZmYc=tld{uQr@{s%yxmUmZTue+&m8};H z@N=8!I%H~U3N#Kpp`cJyQBeUB26#b?`4))YZu9ZZ5+&!}n+XXV5zjy{;C;;qiqoeb z-nsJ=^iNlpa!MnzM*hR^07__8poFl{(Qyk2ozc_7HM^sEe-#Zrale$**g~GWikK)O z|2Nwq!G5u!p`p=Yww)7zGeIzoX)*u9_7VA(p;w;)mH4=`s2rg+ASU)v!L$(STwP-vr{C3 zRGzhnZSyB>I#rU~Qoy$L2WY&3L#enZL(1A3?(4 z9pt53w~q-rO+X9TOg76xL-YR&e*v5dmBOyqR-MY`33gCrtT5iTlAJS z?ty{VuJLI_-;R#H>B}Z=LCnj$5|vNiOI{v8IWD4o?W&HZuS7(~?}CE8N{a8Vd2fo> zUS0U}vZ%=S^y%G!WhmrFo!$uxFIX(7DKWbqktTHRVhkibHX`0Yb5Yzgxknypxizs**8DcUz z-bub5>F0aHzU{Io@8Ni|u_W-54=^LrysYnnWTg7jueKuvp#PAN5I0EC;84H>lj#tj zaUfpcbvIX6{3FsAx&zsj+)Nak|4z1)6-z5B`k`grLuUtIf)xhXnA5poUGw00jKp;X zPY@rDj*fFp*REZ=GTkpIAOPw_J5~yd?#zoK$aqs0pPuR26lFW#YX^!%FM)=Dedp?aKsf|u(R8`eS1&VcKhbX zj!N7Ppc@7T)KVHXH8g;vnP_Nq4Gk-4r;(X{{5S>mU?vP}Yw}Bd0$cjpt0zycm6_${ z<>A83sU4e|nzFVSfG=r&!wa1ZXbD0{bB6f_DNPnGgVU#xt~@8Y%8+74Ntrynyw{gK z_PhU|nGSnVsdfv1NwkS5s_4vq`X`4jE%|`;MQG9UYu69CqJW+`(+V>G9SaiE(o|m! z_MJF0<=*>f8t2f`k7a0258c1m;BqN;C!w2Rrm7qOGBk#e}->EdCYcbg$^SWE_)ux3-3fqA7N4QnJe|Hd#kVFDoCJF z2Bg>Ga{*06k%+FLamZCJKHRrl^1y-RmBn$Ccx4KQ*6e+9a&n4_?29~7K>m2B=H>w0 z(o#~{85y3-3-2C1VpkKzgOLyu15x$iku+W$vd(0QVMhL>&a*Rfi;LKbxJRtZ8bt~e zKo3;S!cs%q4E<17mxi9cXJq7-!_f2EUy=#u^7s_C@VF2tity#W%M0Hd8}F{B?njOk zW)zZ?eA|dLP=y+N#oIeH*lpgU1fbT%9-*d8arss$7ZH32Qp{4&v-GNedI2gq{JYMO zg%0GQv>AbnsP%+0wWO~{!*(CIGG(>K9|JVVj=d!lG$*%Ll$H`qM@y2Ec@G}+0W*R1 z+e5eYrH#y30ypu$XoSi8fs{LTq-e$5iH{HSl4^hQPo84a%U&84AQ_i|FQ2QcyQ%mh z)q#A-5)Ooryt^MK@9Na0A4?D5IEH&fpaxyPKEJrA_?SUB8TQ3`5mC`}NR0zu;^#DtL8Ei9 zv6-AZ7ak=FIbPg?feS;4oJmuQ~Nl7rA zM6AWn>47>xApo3_EN2i36FG&K5FH?a@WMlA`2PJ5$e5X#{+r$W36D(go?8c&yE71? zJHV)3>NoVH5gbbB8p4^yE!y+lK+Nu;OKm@lphk#`j}2YKt~^39ELN<&2`STu7c)Pl~o<7|JOohJ$MSpqeac__r zs_n+JT3VDUwxG(OxLS6yGco1hCvED8f3@T9l7d1QcJAD|@jc*2vo!GfUO_=F#b;;0 z_Jqecpct1a3J3^*NU?9rrCqcP9Uf#-ac~%g=0mKjwN1NrCjrXO)6=Q9ZF`fIrEg#$ymxO)j#C0a z?YUNnd0&uZfUie}hJrs2zkdzI6fg=`TUf({NCCTzI#d@gZ>XtB=5`RXqXM4rJfPo2 z@P?&Sx4y58AlC3@}H&)lp}4u;IXvtS4bTfs+QA zBs3)C)GH%%2ZtiNMm|eRq$&HA&d-2m*;q$>=F(T~wl~%_P*Y{t18tkY7gR)WIKjY> zoP7V`!w{vFYKI@MjM2uS=-~@lq#e;&`8Ya?6t_`JwR0;eb(WQJ;oTAvdSFZw9K|nu zdyc%p%g;YNIH)VY0N6Q`a{zcrTvSv?O|7!7&gn~>te>AB(6nQYs=l5cT17CYWZlxu z4cXESd!``b^VFA=oU~(gw7F5utTZqcfdfFx2nAz9eCVZ`PoKE&Rs#erm2BIL7DxHA zvva=d(4Cq%Po8!TPh$LWH?L_ac^;k*6&24qorlRiJor+By>1|AH^gsOxfVrD<(M_~ z-bwJn1Zox2T5|*I$UBtj0U~WHYo0M0_R-pp50(6jLqaqz3JoZq z0=WuSw8P_2vfkEJE@UW3nVyqBk*#Jt{VdjcH)Wl-`y~dtyCV_H4<1OtoHH{D)eOx8 znYzh|lew${<~uJh@9kSjUfyyf=&~{(#vQ9f@?{Gm8%taLx`LEjeWC3$7fj?nKoPm`lN&GAG-NB|4s!M+jk~g*d$+)k8iW7 zn>F$STuYihJ_o&fk$nyyJ`9{L%G21rfe-rzn}Kv59qHct`9Qv4yg}j>%Wo=u{pQUS zNTLn#(2$UC<8=Y7}lsQl@nS@{7Y`# zs)dnF=0_b8=kKX0i%y74;I&~dLd7dP-y=3Bmx1!vKQ^XVZ|oBUofYU=vfdc>2YI=( z53K;>TF zo}O4g?<-d(OZpE`7E^J;$s%r9L5bDm^4z{177e$#p6d2?6IIoXvDXeKeSMmo3_hM@ z=YlJz;DWJ@y&|9(t+T$VX+&6r1xUJmEa7ut@ByyXR8=QBH&GUo?TE|IK19kQPO(+7 zZP7rQqRoWnhpseUD(YY0wSwXvxIFg#6*MYZd|91$hGfT%DSiL`9XooiDL-FsW*Yxt z^6tXU`x@=&7^Ct7$_(-Gk2xm1HjpC$h#JbrIeq;P#f4|pK)r$b%(1MbVow+7D z(z#u2B^SSPKjKO?SRWG;VIB#IDX^Ub{0(2eg!h=Q?^qDY)#v8swvvz~w{vM!u~PgZ zBHCo3{6B(yF4w?xTtvXc&y%%annh2)9Ym0#m|pal8gF@bkyZuy0RRu*2A3pQ?e?2P z!Qi-mG&N1r3&QsKy+V*-TY}{YlOx=bz(jZN-!In@bKl|p6#6hNbD6KKMDv5<(wg=zI^HJ?G554!Q0T3dM!i(wlK@@dJ3TwJ>Ico zJp{g@-;w~#0~Q}|x()xh0@_IZsXKKut`QprwwwfaqvufQXrxqQJk}Gu_wVT?zsz4OIgg z27Ik84(E|VU;wW3P&#E`fQBBB(PjL-+)ng5Mpqtbr&z{7L+oPtPa=++p-u)+TSDBX zUAJI@A`q_GLIM~~+kOM7VZ@vX?akQ&cOZTTkm=xB@QhENZh`kAEH>pia6ck^ z-_*5sl=%BAD+eIioiIy?p3N;a6Z`%9_ncDMIAM)mEai0TDqRQaADYI`K0`Az zGk|^XTVMtg6S-!Zo0_85xI4!Q=2QCr1a?1~Di(wO#E_xR#_Oo`~|9 z`1p8GeUlbx*zWuGg{dUM-m|$CT^1WNbFNkO9W+uFqrzu%Z>uC~Jvtbpk_fOEv`W83 zMK)|HcY00rR$D5T*7&R&^oK-+?v-_eT_F<*qFQD~hKzHs`o&@Y&esg|^oTI$h2M4% ztCGITjY`VP$Ij+&85LByLILdgc~dbR?t(~$S9gfR5dbU_C8{3Z(nHs;RZ~6 zKWlQ`dp2ID#ZwX^k<$@6l_jkLF1lb;UT7*y((H6}?*~|S6Lk+ADg&)O@5IXWdv4Ow z@6jBKoa=K`{;1QN&BPG4xjysGu-U>i8XiuSp!Tl{MS5BU{Jc4^duS;2*|Qt%R~5W| z3q$fe|p6tu=)&Ga8kZ8hpx7th$7Tp_EY@aSae))13fex?; zg|uUoo$v;R3!dEn=KEo*ta!_yf+>o}okk~&?lgS2$<&DCK<0&_fV(O^bmoja zoCnaMp}oOu34jFKEEG}%Xa8k}nZp}ON{;=H?%z)Gv|9OD7^}dlp!Mvqa|FTLp6zf3 z=-I}mA0juuR&)T93+vWP13y0ey&i1Mz=v=|1P5KQiML5kOe9y|-C^!%LXq<_ z$FVJe^h5*&yA^-I%R#{vo>t&>O=Syv0KOcoK1J$_7kUEsfOEl$PEu$dKYsu2T^4zF zVHE)&8LqcZor>kF@KG?_t-b|4b(YlIYb6mQ4DMG)5uuJI3q=`n$w=!FRaIC^9UaFI z*fLbG+$dAHNpeNh{p(i0;lg2q)SQA*#?4h7hFXBA!lI(`k01Zlf6keL@*Y)e{A7`d zF@t%3|5=a{@V$XOs#U1^E4zTQtMoJd14;x!2)cmEM}C7HTetD#ekRX;Q0f7o0Ag)t z6lR7|1~>_yZej7{<;$0FnX!K`6Wg|ZJJeOQF(M}UFo^XH4w8FXntY%6DUd-BxnzHI znLu@f+YH5A=E0_7uoa+`!IsQx>HL*)M#sDU6TIagI63U_8 z@$nKYBl|kkcZCsd>>)wHAvj{un)1+4AUwFZxS;Qji2n~tqWkbg802sXKnkp%MF242 zvO1b{nZc#Hy815P@n5f1F8rUQAo;~4?WMRb55k&kqnt4~Jj_F!2$H@+vvcPG35j3s zYUn5N`X^`5ec4m(gAJ%EY=qH@f`Wo+?O?T(w&pKu_HN^Yr-!?@ZrlF%mdfa8X)~cc zDl&cSKPO{o_Qywn_O0gNnhFbOru~6p<#!r4l&f6Dr^{C@EmTc*d-PlE)?r^4c06HmA5_V?FBBf)LA#Jl@ytCpF8ygTMOWQ!@5`XVbY=5dwZR~f zoRFRV+a$QIDJ=a5$`@0-+YXG$1a#6d<^|5^mn4P!SkNpNK1YFTbOr^T`f?IDZQYuC+#j5sNW3 zoeA$cDH()>#svAT`q4%fQV1{MDe8={DrPZaos@z;eDpnaY3kzrX z;YP+SiMng$T9c!1!{!iphJkhGV=jOm3VA*Mr36W+$m>r?wUztsV|(Z(-4y4)CI6&e z?Swd5ynmG~23RK~A_7wnRORqt zWNhTxFO$;Tio@9S?obw3{WraLVed@f@L#$-`Li4-C;q6$v17EsA4Lv0+SojZk8f}P zCf5!5w!XepXV;6A6zR)9KPqZ~ec1fNKUDVo`2iHd!swSUf@*3e=?a|x5@$DCr5)q| zPHMx34Hy7$h7Do;)c_hOU0l~yVh&!BxUK>dgf>S!UDuX1Dc(xL_|T!mB;othsuCE6JIU)-qV#tHJvlbhau=s7EyAYCV{sAv8-+Hn@ z1-6(&(TACl5p5_8qGk>bzR)zTepyr1SN|yWTtFEB^3&p*20ce+<2v)oyh%4IOR2Lb zJFhF15>CKo^WcFWxTTaxbko=-FxNbNY6W5t@-^G>Br=_$yt}>hV`w z^xlue%-2WoT%m3?)4$W~l<{*e<~8NQLsa~*u;aKK2ZwzLLC^oKe*Lj?Bxi@N&Q%5% zz$f5Bd=5$!SzcDE^pLcN@{Ab;6Ft56zE!B^G%8Tei*73pUJVEcK-od*hPyJ;iOecV zxlQ3oum%BTa}vLO`?j#}82Pg&D)MYIkR5}9wuF{H(G@VcK*5qtZYdzZlgBXD1Q&pE zkQCBZRWvhIkln~uAO~vwEecjxJm6eVBq%fZ5X;cbow=8J1O>OoeuV=9zK~qAvTMMG z=uu%V=jG$W(?B<~!*z`O-E&Om#dGinu$Um5d&oJ@0AQX-I-2R!&73_sJ&p7UKJ7yk z-ysS(M*;aQQPxdN*zN_vQPYu?3j<|Ar`JxE%!3;qxt5Hs8|dk=w6S3XcgoIw&cx*P zJB4WJU#S^k*Qj(>p)XlPvYXRpt-xf}HrKLR$nO{mC zO=tRiaJ`0-&+ySK6ALh%c6QBUB4iavI;U8h{9Ocvuge};Q~T}VvY^t}Z^ZM5^=QQH z+<$o(D*KlLQs*8nlWCh=3-8{gS1YSb0d&N5f}wDqooX~Ze0W2=wi-owMTJC+*4R;UuL#SEV=rG}mlT;I z5%Xk|xm5b`V=s)*m=Oyf-?(}6PyKw1zM#d2uk|M;YnI$b;WS^Iu2U+I_Lr2EZT|W- zvznEYC*tdOfGPE zf`mcsTT~pG-M01>Fo%Dl!uSUA?O!v?7^V!8l0FoNVy=yuQX=Nnt8S#Q1%6LjdgVq+9^@@?%iUM7UAT4 zjM@w50Sq_^O~R98o8;dHXLPJDB^{o$_wQ9urjfhxf+m4Hy`T9OpwCzr6gjvrh}WI=0#t@oql$2I$%=1|}9IW#ITPi&!Lo%r*|7x@+S1k+$(R6*o` zz9V%K{6cx>5<`xaJTD>I!VMBgCP}nBXWhW}!qDiwW~Q1+g36QyE*cE@*!7zz zKSf1F;OskxjtolrAF8CIL_bB52p7OrZPh{Z8Y`qbN>_67%omiCd#JuAWV)=hv#{O=$`Ls;i+oKJ9y>h8eypFu?wvuCb+F6nky=9EPL?bdd&!7tg;PoVxd%Rh_9O6 z>X=2QmmfP}9-hi|Tj&0=z5Nf-96o%wS#EpxjS^k*&|xCaZ~lLJ0SJLt&33u~ENqA; zzmX6iMtjdf8`)b!;{w?ZSE?CA{?|h)y8mdg3GIZ?%|Ms`cT?SF=-1@;(fkcCg7VG( zJkj`%kC7oe2mx=As9}XbY$8n{07)Wy?`v?B>v8lV)4$>E*08gA&b*wQrC`OiQ^-dOXyNIVc1`xxFcE2-kJ!r8 z<;oDxt@1NdVmfsBFG+MxM<<;>Y;JDu7PI(I^qr7m248=~?NaJ75c?-7a|7##{XT7? zknkitk#25n#j0@&3){m)hrh`WsMMg!-6?bm1TAKVF4$q_7 zVu6AKtPF8-Zs1+2!KJElL)T99xJ$;}UQ7u>vh_p1(TumWwx%Q}i!mddp2rF zf%p7D+74LO$1r}1aY{`5n5XvAK;%N^R=m^|ke)scJ_-JGNaMJBw8$8`0j#fA|mJ<_QyFb@y4pd0+$=XCGjfz>yuV z4J*xa2%z4#;28=EQUk3DLpL&`Qc=^lZoE=Lrorg*Hz9JwkY&aq#cVZ zRqVK^!EK6$&ZYg;<}c|n@fNp6dybWdfWBbESPz(&^L6ZgUgNgE&Zq%d4b;Xoj(O1r z`W)LP&@W>Qs_XRW?1Gv~@++v$WDngC@KaF&d6K)n#8$Ee{_hOl-*{INTwY0Eb3-8{ zwx4`?>O|@{@PpHh_K?USSWl!wvBy#MK72Qk3sQpvZ(Uf z)HS8v(yQLvQBj6QM!9H%m!t;KmtaN(CKEhY*=ru7EpAYIAn0tn-e5Nl5g65E4r3uI z>}5zEfF^Hpa>i$ZU14B^9R~^&SdR;kqZI63B$RC+o0UsBufOiS9TQV+S$z8cU8kkL zud$SEU+oY2X+PB`-C@97)8wB&3Ydw@X&v$xlh}gKq}a1t#lv$m!>kHF`cU*8NIgn8 z!(-9qG3Kc-pv`mimJAMufYT7B9#RB&xF=t2VUZnh6vGG>MyGK$K+)|sf7nCOAfo-5 zzS-@|?W0&9vhUc}wziSJK3+k=Jd5%WcAE~Rf67HAJvvMUbZsVuhR)#Z|G_r`2`-)> zn+M-mYho69_An)CeMd(JcKG-ANXS+Xafq%m>fr5R;1Y3NqTyPq_fBznKxDOVY za$)FQ9?4v`pf2diyz>DM0M8Ffh%A+Hw!N{kG9m2f#o6F*u*4xxy#mJ)6x@yIL4$+_ z<@+donPqVeuOP+JQps9X6Vt_j{?OQ%h%0r>49kCc!4Iwxtc3qIWlvtq|BGMz|Fg8= z)BdyVT&jM}0pI0c=reyuBUvJ*R+|U$k*c84z=saf9XR5mqoWP=b_xp4rAllR+1*>IsVisSM1<(4 z8rUc0Un+5{>mT57sr zlmZaRrr4~r1CoQ39TqrK=R8KqS|J;O3qcZu*%-wa@+-VJ4d{)3nq$ZffiTyEPLRxw zee1`3_s2S)leik?$Lhz9l~-0~IR%G>;gUuLRxq0d29$p1&K+B~qCcnw4TQK%7eA5{}hD zc8B7|NIRc!5do)v>eLPY*J)|!6ui_vV`xZNTs(8UVY9M8*N5+TGY&0DPPT?K8O#Up zBf2penP{Fzb>hyD<{(C5TA;iH21Qh=eP?qslIH%)3h(m$#Yx~!>%;aMJ~2Fcc@l;7L+YQ5Cz7o`&WE zo_gy4T2$9&8)0pf#U4!Q)m<|=RobQUuFF#t5;EMACj3l3FGBhM^Wtk``=s7i#^A3 zQkA&m!|oS8L}np8#c^Cf4jv>oQGHJX`VjyIS{10s82@Nzv67nle94vTmJ%_P zo5?394Av*I7MwLPp;dw5xF|}V`CfS&&Vxav%&5b|?5Dkgst-FS7ZL40NHs|~iHN$s zzROsq+`xUp!Zu&xg3bC_32dYi|5Y?37O4020E`!ppm9)h%J|2`L$2k0813myp0({MF`4 zdCA3c??`!=h&YIAbx+V>?^KF!ADAu^4lx?3F9?t4`xzk{;%EC)mp(mGK897`rA*q)3QC!=8@TevnV@(Vf&{`LaPy8&wY9D;F54+7 zVa0kn+b3qqvn7Da%+hkdZT(|dl~Ag5V7IRp1VTe)Y{o7}o0OpF3oQmtWv-76vrTdzU+pfH%OnIM`0V4|%^Et+MwPzD=d;(H!Bz z^ywZ?#-B%CL&*SY9Zida$xLV|HaTG*=mNCTTHqnNtRWB0>)2gB$RKKa?~~7w0e6HCR!O|=_b3i<8G7vdJn~5f z$gtRu*pW!;6!X6ub#|WXcEe!-n12d+0#hg)P-mnS z%}NPgm$kj;H@H%1{it$_Vhi}P2PYnF+9clW-HzOcE22_Ab_gP?k+Amh<2a3_>yivv z_X!O>gHsoLv|L@^!mI}h8OR@uv~S}uD&D5`hbsBos!y000rkVkS9)~=Mt?jHJ}N3& z#_2oQ+4C4ch*Vcy^??+;^UIx+eh65GBd<+M9+zWg z3sQ#pC!PcaZ@$)j=k4ubF#e6+?)yta|C#3V2rrAwTuZvm1hWHF*JFw6l#`_FNy?(9 zsad4Rbor-1j3^vSkIY$lU?j}G-{#gSy^VxH)%>6BuLzHo4k{>Mn)Yk|?s?4AxW%KL z-fm`1W`hFCGu8lQsl{KQWJLM5nGa1|JB!Fn{O<^z@QpR@D4_f=kD9^!m!4u=G!*wh zE03T-d&#nE7cl(Hc&9%UP4F`*C9(JJeeAx3NCZ7+oq`tUl1v;hTvcU#?dQ)xc(4_4 zGKL;_B;9_(&MtN7kX#IgeeDVhsOtM~N`@cNCu0vS=1;{M>gq=?;NwIg ze@90f;f#W*-eblj>`e?!siMO@4x!M&-X6R)4(vdJ#?f;utgIMB_v7K=*+-Rp7#kbo zR~fFH(H6LW?VC>oLY{yskYW7-NC5ssP!@Rr)#-N=%nd~J6E|?0VX&$Shp>nUAJNLj z=2ImkEW_eR$RjFM==23Y+hy^{?J|Df0yPow_%iH4D{JKDOvey%^B7zrngtgo{>Kpz z2L{F4qJQRmRxnP|8-WB56B3`GVDOcqTnw~A%0b$%s5p8+Q`__6-|Gw3qyWB`MKB=7 z=6(DM_~A(b!NH@bSPWCl6=@hOA-5H|k3L+8$;M#SLLTdVyO)@?A6Fo_(w~!QQZli1Qsg+UMW{IS@Im1g+(| zGX}0CTNSyUrlub2R^z&_Va<`Oms;WdZS#z__%LkWn2iCX@h-cz3AzIA5Rx+18*Ryy z`R@wVzT?R$DWT;*0UR)CiUDj_1Uc^1z-`n8JR5$J6cfXA2H6gWIlctw>AJd{99ht8 zL9!zIV_FA?24pu!8tiQ^@mJ!qLbin6V{ad)K4xT7-?h3|!c5OVLqi_@C=X>Kdk1kG z9N;qsR!#`aNvd}~V<+U(ggn6!k6XEr@ghxpk|V0>TT=!<>p{7FCU60Rh?rae0@ac- zIKcq($zcjv&xyy+M5r6tklB~_^7HTn+IrQ+O|8;Lut;m`v)Q@Tv9hE@hyA`}`2|ko@ixv#qER8wbLvq^>~3>@;d2&rM7MJu9Ek?eHvv6h zB8zW$uOzJy=S3Kl%O%o4Qbodr!CQGICBANe30KC*h{nC>GtLd+dxp_H*aSwuhxiML zilQpEv`E}KU)9;^pTX+zs&>=HjSQdg@sL^HMBo6$2G59=(hflzCWW?WBj{GhlOnUG z)LeRgjg!)yK0N~i@U6Cd`?g0u8iy3oP)O|G55wEgd+nTi5f^b74O);h+4d)*Z$dit z{ry#~rAm!D1RGhbBN`i%n^6X}J*;gcFHiB_JM? zMva3C2sJ$OM#Gp4s`s9t58bfsRw;UUdJf7RIx1GqrmQ5*w=h57H!$Et%D9@Ay$d6C z57hTaJGMPmQUn=-*&duA3M}+{zbzWm=$vOeG%CL1TsP$muXp1-Y%8~F`YNCzvBccD1MR#SE{20dtst@TmS+hp^!OI2naF!X zAbOmfl+Xr)*Lm4OTcqQNAq?Ve%wd3#{<=8Ol3cVeMWf<~4iV?2wS>LY_{Udr>}G|t z532;%IYI%@2F~?)a?W4=V+b}0!G(kQhWB4r=|(%$x}<4pWMl+&v%Y=;nH(_Y?^&oo zoTm#84>5$Z$=g_3@+{g~TjP|dr;!iD%Uh0~xc5Ht#f!a(x&n&=k?P32)*O&ncQG

I&kDY~DJidUNjB0~vv3+)Et?lSzzfF(9a1$=ya#|;vbF#Z9{8m^R9&S7d4$3YFX*OqcT~LBJ`+0TF{;~VV?sNP(uko1I@BMzipW9cUcZk_i{dZKo=lZp@wV#{4YF$57e;uX%`Ezk$;nmy%@NEu>Sk^Lhtth5cy0*Y)!PGw@ zq5{@bY^u1GygdPS3DhFG)#+Q0?rAXfV{2@$Crk<$v8$x;tlaYU@bbc}_8mG3Btp<^ ziAWT{e*7eHcA~)``Xak{G7=dWICtPYbU(7O?BKsPg4C^4MT}^O6eo`58xaNW29BGx zwY0FQ_fl#qjZXL6l!5vU_b*uPX<&?KcTh4w6XZ;S`3v-{&ISl+5KEy~1Jz~l9Y8Dt z`l2vRPfc+w&GzhdDMLHM0E1hBFLn-H1``yZu}H+UUL&MOd%n1$Eh!io?9^ng%~j;R zpY&`PM;r|Rrc;J#JLsXNrXOHL$67I`xgfzwo{^jMyfQiAuHZ?vLpBrx>?*5?9D;f% z+D%0dL1_el1WL5szI_aE9w`2aYsxFc z*7TyL{Oc^_x=1M2ALaENllAm40149BTB<{*PL+`IRwX%XC00dh?m`FxW!77)vBUk* zo`YQoF%b1T`(A(QWO_{kdLrFROBDc{GV*{?ImqG@TVjvdh8;dk!T!?4Yg}$onIHMn z90v3ai33rXzrb`W=*v5tQFakWeIC7r=_?2}Y_GmPAhT~1XpM{*=q9$aVR^z zzBh!)PmPsgak}Y_77ESAh7akn&6p%)=kDG-n%?Z2sh64eUWi5QU&J2aJ<+T>PX5}N zj|oTdnG$hDrepKMaG{g#Ov$xR)6@*Ftkk(k$>4%#aACK=Q^{>7$xHd_w4l&2S{zH; zO8@)=+kn7~$G2PFy8SS&cv@$}_zh##$YZ~i6B9Rezp%x3M}=5h4-@oiKwdN&>^}S4 zI2;ow!mopapY67RC7EQ>YUGt})( zEl=upGIjaIPP+8s>+_-G%d_T8R|yN_XTGa0a`mw^b@tI8(Ejs|3Lb0zj{U$` zUq?jk4YkEb0nEJbOS>&n)dAf;^Ik72^@3j%sW*|<7kM@gpYrE87vaLB`5h{DR(ME* z;SD~|2=?Qxaw^XXhC^3p1E>0Xbx>&)dl~q`&8cet?#V;pv+TzFl$(B*=A2)T+A~PS zKngIZdQ_B`m&Zz%3CLhBv>u6Z^I$}${8c8~#nQ^^;*82Na~fC5xp-ty)1XRX3c@3! zrw6__-**U0DnQnI1&d(Vls!1d&myCHIL`N5OE7S~Yj~ol+VMVGeP!j>!LzuFTpJTA zM5uexM%lKHNqm#Hzb0%2VSgNEmX>}cIh9Dl6RU6BwTgfLWcaLNV9apgqm!rZj;=Ro zFS@U}nxH$O$jl&->Gt8{Qg$3T1e~R+ua?JqzO?h5E}1(#6%$cgQ$y0P?cDBi88CH` z)sJ9D@fNR*7~!1CApjTJKjQrlt{>b6CcJKBii*W~SWLXx*&1L8bJ0HD zPC7jn(AvnY+8EKF^(H3!ctS%s%co`jhitFLVXHWtmK?4cxE*%Wkd^<20s}h07d0bW zaC8N8JgUBL59>;|;9XbTsslV>!ywvP#r;Tv_!1rF&m5KCz~=w8ivO0+(KJ3u&`+pT zqfhrSg}^I^P<26c8~5#R+iL_&Q;N!u7l?hb-L_3b%G3RIy~@I*dB1Ui9IuLY@Qluy ztZ3@(l@9rlzYf8XDyde)i54XCcD^3aT&(4Jc>@+_F5==2@_z)ly{YT?cnav}*eAKz zY@)nP{+1h+qsh$Y1P0C`twFx?a_cMnLC{19`KEa@3awGVi|-?$IpN{vy{n9MIQbV3 Cgaw%Z literal 0 HcmV?d00001 From 51396a7477e3b872b8eab9337ccf4ced9d1d846b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C3=A1kona?= Date: Wed, 15 Feb 2023 12:50:56 +0100 Subject: [PATCH 32/71] Update update_kitspace.py Change BOM to use kicad_pcb. --- workflows/update_kitspace.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/update_kitspace.py b/workflows/update_kitspace.py index a18244b..2162c86 100644 --- a/workflows/update_kitspace.py +++ b/workflows/update_kitspace.py @@ -39,7 +39,7 @@ data['summary'] = repo.description data['site'] = os.environ.get('gh_url', "https://www.github.com/MLAB-project") #data['color'] = "white" -data['bom'] = '' +data['bom'] = 'hw/sch_pcb/'+os.environ.get('gh_repo', "repository_name")+'.kicad_pcb' data['gerbers'] = 'hw/cam_profi/' data['eda'] = {} data['eda']['type'] = 'kicad' From ddaeae9f676fa53c3c16e22a711d1520dce28cd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C3=A1kona?= Date: Wed, 15 Feb 2023 20:40:20 +0100 Subject: [PATCH 33/71] Update update_kitspace.py Activate white solder mask. --- workflows/update_kitspace.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/update_kitspace.py b/workflows/update_kitspace.py index 2162c86..dbcee4a 100644 --- a/workflows/update_kitspace.py +++ b/workflows/update_kitspace.py @@ -38,7 +38,7 @@ data['summary'] = repo.description data['site'] = os.environ.get('gh_url', "https://www.github.com/MLAB-project") -#data['color'] = "white" +data['color'] = 'white' data['bom'] = 'hw/sch_pcb/'+os.environ.get('gh_repo', "repository_name")+'.kicad_pcb' data['gerbers'] = 'hw/cam_profi/' data['eda'] = {} From 41a3345f054cde851f7fd6334006d59976d01a11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20K=C3=A1kona?= Date: Wed, 15 Feb 2023 23:08:38 +0100 Subject: [PATCH 34/71] Update update_actions.yml Increase time interval of self actions update. --- workflows/update_actions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/update_actions.yml b/workflows/update_actions.yml index 270306f..5b565ce 100644 --- a/workflows/update_actions.yml +++ b/workflows/update_actions.yml @@ -1,7 +1,7 @@ name: Update actions and assets repository on: schedule: - - cron: "0 */2 * * *" + - cron: "0 */24 * * *" workflow_dispatch: From 3dc8cd05d68a59dcca2e9716ee37f7c796e0e982 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Thu, 16 Feb 2023 21:23:49 +0100 Subject: [PATCH 35/71] Update update_actions.yml --- workflows/update_actions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/update_actions.yml b/workflows/update_actions.yml index 5b565ce..a4de761 100644 --- a/workflows/update_actions.yml +++ b/workflows/update_actions.yml @@ -1,7 +1,7 @@ name: Update actions and assets repository on: schedule: - - cron: "0 */24 * * *" + - cron: "0 0 * * *" workflow_dispatch: From 005d4d8e06c4a3e8dec452f4fb79bd137a40ddfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Thu, 16 Feb 2023 21:32:11 +0100 Subject: [PATCH 36/71] Update update_actions.yml --- workflows/update_actions.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/workflows/update_actions.yml b/workflows/update_actions.yml index a4de761..8f31fe8 100644 --- a/workflows/update_actions.yml +++ b/workflows/update_actions.yml @@ -16,6 +16,11 @@ jobs: token: ${{ secrets.pat }} ref: ${{ github.head_ref }} + - name: Update submodules + run: | + git -C doc/assets config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*' + git submodule sync doc/assets + git submodule update --init --remote doc/assets - name: Update submodules run: | From d3425dff616cc7201ccb07a951fa1cc7a8106e60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Sat, 4 Mar 2023 11:41:59 +0100 Subject: [PATCH 37/71] Update update_actions.yml --- workflows/update_actions.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/workflows/update_actions.yml b/workflows/update_actions.yml index 8f31fe8..1f296c0 100644 --- a/workflows/update_actions.yml +++ b/workflows/update_actions.yml @@ -3,6 +3,10 @@ on: schedule: - cron: "0 0 * * *" + push: + paths: + - '.gitmodules' + workflow_dispatch: jobs: From e7e9fc27e2849aaf65e4dbe7e9fc860e7664f199 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Wed, 12 Apr 2023 17:27:37 +0200 Subject: [PATCH 38/71] Update update_actions.yml --- workflows/update_actions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/update_actions.yml b/workflows/update_actions.yml index 1f296c0..e97addb 100644 --- a/workflows/update_actions.yml +++ b/workflows/update_actions.yml @@ -1,7 +1,7 @@ name: Update actions and assets repository on: schedule: - - cron: "0 0 * * *" + - cron: "0 */24 * * *" push: paths: From 681551cfbfda47ef4421cc6f86a0a8dc7a2d97ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Thu, 13 Apr 2023 20:04:54 +0200 Subject: [PATCH 39/71] Update gerbers.kibot.yaml --- kibot/gerbers.kibot.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kibot/gerbers.kibot.yaml b/kibot/gerbers.kibot.yaml index d7afc3c..039e326 100644 --- a/kibot/gerbers.kibot.yaml +++ b/kibot/gerbers.kibot.yaml @@ -145,4 +145,5 @@ outputs: # (%i='drill_report' %x='txt') # filename: '%i.%x' # [boolean=false] use the auxiliar axis as origin for coordinates - use_aux_axis_as_origin: true + zeros_format: "SUPPRESS_LEADING" + #use_aux_axis_as_origin: true From 13f4c911b1310108c64558e01ff96bb8f64e0451 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Thu, 13 Apr 2023 20:24:58 +0200 Subject: [PATCH 40/71] Update gerbers.kibot.yaml --- kibot/gerbers.kibot.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kibot/gerbers.kibot.yaml b/kibot/gerbers.kibot.yaml index 039e326..14bbf40 100644 --- a/kibot/gerbers.kibot.yaml +++ b/kibot/gerbers.kibot.yaml @@ -146,4 +146,4 @@ outputs: # filename: '%i.%x' # [boolean=false] use the auxiliar axis as origin for coordinates zeros_format: "SUPPRESS_LEADING" - #use_aux_axis_as_origin: true + use_aux_axis_as_origin: true From e1d0d17fc71168fcf8ddc1050dc94ae20dd0d6f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Thu, 25 May 2023 08:37:12 +0200 Subject: [PATCH 41/71] Update update_metadata.py --- workflows/update_metadata.py | 1 + 1 file changed, 1 insertion(+) diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index 40bd98d..3f64d11 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -43,6 +43,7 @@ #data['github_org'] = os.environ.get('gh_org', 'repository_org') data['github_repo'] = os.environ.get('gh_repo', "repository_name") data['github_branch'] = os.environ.get('gh_branch', "repository_branch") +data['github_branches'] = [b if data['github_branch'] in b for b in repo.get_branches()] data['tags'] = repo.get_topics() data['title'] = data['github_repo'] From 1ad9494269c8d6971a3a716de3f8848107757704 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Thu, 25 May 2023 09:05:59 +0200 Subject: [PATCH 42/71] Update update_metadata.py --- workflows/update_metadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index 3f64d11..d8d54c4 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -43,7 +43,7 @@ #data['github_org'] = os.environ.get('gh_org', 'repository_org') data['github_repo'] = os.environ.get('gh_repo', "repository_name") data['github_branch'] = os.environ.get('gh_branch', "repository_branch") -data['github_branches'] = [b if data['github_branch'] in b for b in repo.get_branches()] +data['github_branches'] = [b for b in repo.get_branches() if data['github_repo] in b] data['tags'] = repo.get_topics() data['title'] = data['github_repo'] From 13257ff71ddc1793da8e89ffb69684b477fa7722 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Thu, 25 May 2023 09:21:16 +0200 Subject: [PATCH 43/71] Update update_metadata.py --- workflows/update_metadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index d8d54c4..d6adf32 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -43,7 +43,7 @@ #data['github_org'] = os.environ.get('gh_org', 'repository_org') data['github_repo'] = os.environ.get('gh_repo', "repository_name") data['github_branch'] = os.environ.get('gh_branch', "repository_branch") -data['github_branches'] = [b for b in repo.get_branches() if data['github_repo] in b] +data['github_branches'] = [b for b in repo.get_branches() if data['github_repo'] in b] data['tags'] = repo.get_topics() data['title'] = data['github_repo'] From 10503a71c56a04473e48bc5a0b852160aebd798f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Thu, 25 May 2023 09:22:39 +0200 Subject: [PATCH 44/71] Update update_metadata.py --- workflows/update_metadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index d6adf32..6536023 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -43,7 +43,7 @@ #data['github_org'] = os.environ.get('gh_org', 'repository_org') data['github_repo'] = os.environ.get('gh_repo', "repository_name") data['github_branch'] = os.environ.get('gh_branch', "repository_branch") -data['github_branches'] = [b for b in repo.get_branches() if data['github_repo'] in b] +data['github_branches'] = repo.get_branches() data['tags'] = repo.get_topics() data['title'] = data['github_repo'] From 66a86c666012a5cbab022569b1a500bf54c97feb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Thu, 25 May 2023 09:31:59 +0200 Subject: [PATCH 45/71] Update update_metadata.py --- workflows/update_metadata.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index 6536023..41f78d8 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -43,7 +43,8 @@ #data['github_org'] = os.environ.get('gh_org', 'repository_org') data['github_repo'] = os.environ.get('gh_repo', "repository_name") data['github_branch'] = os.environ.get('gh_branch', "repository_branch") -data['github_branches'] = repo.get_branches() +data['github_branches'] = [b.name for b in repo.get_branches()] +data['issues'] = len(repo.get_issues(state='open')) data['tags'] = repo.get_topics() data['title'] = data['github_repo'] From e283b6dd9888ed47060f0366bab5c10a86cd7ff1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Thu, 25 May 2023 09:34:03 +0200 Subject: [PATCH 46/71] Update update_metadata.py --- workflows/update_metadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index 41f78d8..36908fd 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -44,7 +44,7 @@ data['github_repo'] = os.environ.get('gh_repo', "repository_name") data['github_branch'] = os.environ.get('gh_branch', "repository_branch") data['github_branches'] = [b.name for b in repo.get_branches()] -data['issues'] = len(repo.get_issues(state='open')) +data['issues'] = repo.get_issues(state='open').totalCount data['tags'] = repo.get_topics() data['title'] = data['github_repo'] From e69d41ac043abefddd29ed9fee95fc1022ffd00e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Thu, 25 May 2023 09:38:47 +0200 Subject: [PATCH 47/71] Update update_metadata.py --- workflows/update_metadata.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index 36908fd..f54c65d 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -65,6 +65,10 @@ print("Add", x) data['images'].append(x) +if not 'image' in data: + if len(data['images')): + data['image'] = data['images'][0] + # try to guess schematics file scheme = glob("doc/**/*schematic.pdf", recursive=True) if len(scheme): From d4b70b3ce04d2681644d3b78b034ba01c229ae16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Thu, 25 May 2023 09:41:13 +0200 Subject: [PATCH 48/71] Update update_metadata.py --- workflows/update_metadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index f54c65d..44eed55 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -66,7 +66,7 @@ data['images'].append(x) if not 'image' in data: - if len(data['images')): + if len(data['images']): data['image'] = data['images'][0] # try to guess schematics file From af28b70b0f8be9e962cf2ae007c68a75ed525bcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Sat, 27 May 2023 19:47:43 +0200 Subject: [PATCH 49/71] synchronizace s TF assets --- .gitmodules | 3 ++ kibot/cad.kibot.yaml | 15 ++++--- kibot/erc.kibot.yaml | 5 ++- kibot/gerbers.kibot.yaml | 11 ++++++ kibot/ibom.kibot.yaml | 12 +++++- kibot/placement.kibot.yaml | 15 ++++++- kibot/pnp.kibot.yaml | 5 ++- kibot/render.kibot.yaml | 77 ++++++++++++++++++++---------------- kibot/report.kibot.yaml | 11 +++++- kibot/schematics.kibot.yaml | 12 ++++++ kibot/xml.kibot.yaml | 11 +++++- workflows/kicad_outputs.yml | 5 ++- workflows/update_metadata.py | 8 +--- 13 files changed, 135 insertions(+), 55 deletions(-) create mode 100644 .gitmodules diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..6f52506 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "templates/PcbDraw-Lib"] + path = templates/PcbDraw-Lib + url = git@github.com:MLAB-project/PcbDraw-Lib.git diff --git a/kibot/cad.kibot.yaml b/kibot/cad.kibot.yaml index 18e0e72..f6c8c01 100644 --- a/kibot/cad.kibot.yaml +++ b/kibot/cad.kibot.yaml @@ -1,12 +1,15 @@ kibot: version: 1 -# preflight: -# run_erc: false -# run_drc: false -# check_zone_fills: false -# ignore_unconnected: false -# update_xml: false +preflight: + run_erc: false + run_drc: false + check_zone_fills: true + ignore_unconnected: false + update_xml: + enabled: true + check_pcb_parity: true + as_warnings: true # pcb_replace: # date_command: date -d @`git log -1 --format='%at' -- $KIBOT_PCB_NAME` +%Y-%m-%d_%H-%M-%S diff --git a/kibot/erc.kibot.yaml b/kibot/erc.kibot.yaml index 68fcccd..8872668 100644 --- a/kibot/erc.kibot.yaml +++ b/kibot/erc.kibot.yaml @@ -6,4 +6,7 @@ preflight: run_drc: false check_zone_fills: true ignore_unconnected: true - update_xml: false \ No newline at end of file + update_xml: + enabled: true + check_pcb_parity: true + as_warnings: false \ No newline at end of file diff --git a/kibot/gerbers.kibot.yaml b/kibot/gerbers.kibot.yaml index 14bbf40..1bfc117 100644 --- a/kibot/gerbers.kibot.yaml +++ b/kibot/gerbers.kibot.yaml @@ -1,6 +1,17 @@ kibot: version: 1 + +preflight: + run_erc: false + run_drc: false + check_zone_fills: true + ignore_unconnected: false + update_xml: + enabled: true + check_pcb_parity: true + as_warnings: true + outputs: - name: "https://en.wikipedia.org/wiki/Gerber_format" comment: "Gerbers" diff --git a/kibot/ibom.kibot.yaml b/kibot/ibom.kibot.yaml index 8accafe..09ac703 100644 --- a/kibot/ibom.kibot.yaml +++ b/kibot/ibom.kibot.yaml @@ -1,6 +1,16 @@ kibot: version: 1 - + +preflight: + run_erc: false + run_drc: false + check_zone_fills: true + ignore_unconnected: false + update_xml: + enabled: true + check_pcb_parity: true + as_warnings: true + global: kiauto_time_out_scale: 15 diff --git a/kibot/placement.kibot.yaml b/kibot/placement.kibot.yaml index 4d4a5a4..590912b 100644 --- a/kibot/placement.kibot.yaml +++ b/kibot/placement.kibot.yaml @@ -1,6 +1,17 @@ kibot: version: 1 + +preflight: + run_erc: false + run_drc: false + check_zone_fills: true + ignore_unconnected: false + update_xml: + enabled: true + check_pcb_parity: true + as_warnings: true + global: kiauto_time_out_scale: 15 @@ -36,6 +47,8 @@ outputs: - layers: - B.Fab - Edge.Cuts + mirror: false - layers: - - B.Fab + - F.Fab - Edge.Cuts + mirror: true diff --git a/kibot/pnp.kibot.yaml b/kibot/pnp.kibot.yaml index 459e56c..6b3d083 100644 --- a/kibot/pnp.kibot.yaml +++ b/kibot/pnp.kibot.yaml @@ -6,7 +6,10 @@ preflight: run_drc: false check_zone_fills: true ignore_unconnected: false - update_xml: false + update_xml: + enabled: true + check_pcb_parity: true + as_warnings: true outputs: diff --git a/kibot/render.kibot.yaml b/kibot/render.kibot.yaml index 8feff07..c67d7dc 100644 --- a/kibot/render.kibot.yaml +++ b/kibot/render.kibot.yaml @@ -1,72 +1,80 @@ kibot: version: 1 + preflight: run_erc: false run_drc: false - check_zone_fills: false + check_zone_fills: true ignore_unconnected: false - update_xml: false + update_xml: + enabled: true + check_pcb_parity: true + as_warnings: true + outputs: - - name: 'white png top' + - name: 'Yellow png top' type: 'pcbdraw' dir: 'img' options: - # [boolean=false] render the bottom side of the board (default is top side) bottom: false - # [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 dnf_filter: '' - # [number=300] [10,1200] dots per inch (resolution) of the generated image dpi: 600 - # [string='svg'] [svg,png,jpg] output format. Only used if no `output` is specified format: 'png' - # [list(string)=[]] list of components to highlight highlight: [] - # [list(string)=[]] list of libraries - libs: [] - # [boolean=false] mirror the board + libs: ['/usr/share/pcbdraw/footprints/KiCAD-base', '/github/workspace/doc/assets/templates/PcbDraw-Lib/KiCAD-base'] mirror: false - # [boolean=false] do not make holes transparent no_drillholes: false - # [string='%f-%i%v.%x'] name for the generated file. Affected by global options output: '%f-%i.%x' - # [boolean=false] show placeholder for missing components placeholder: false - # [dict|None] replacements for PCB references using components (lib:component) remap: - # [list(string)|string=none] [none,all] list of components to draw, can be also a string for none or all. - # The default is none show_components: all - # [string|dict] PCB style (colors). An internal name, the name of a JSON file or the style options - #style: '/usr/share/pcbdraw/styles/set-black-cu.json' - style: 'doc/assets/kibot/styles/mlab.json' - # [string=''] Board variant to apply + style: 'doc/assets/kibot/styles/tf.json' variant: '' - # [boolean=false] render V-CUTS on the Cmts.User layer vcuts: false - # [string='visible'] [visible,all,none] using visible only the warnings about components in the visible side are generated warnings: 'none' margin: 5 - - name: 'white png bottom' + - name: 'Yellow png bottom' type: 'pcbdraw' dir: 'img' options: - # [boolean=false] render the bottom side of the board (default is top side) bottom: true + dnf_filter: '' + dpi: 600 + format: 'png' + highlight: [] + libs: ['/usr/share/pcbdraw/footprints/KiCAD-base', '/github/workspace/doc/assets/templates/PcbDraw-Lib/KiCAD-base'] + mirror: false + no_drillholes: false + output: '%f-%i.%x' + placeholder: false + remap: + show_components: all + style: 'doc/assets/kibot/styles/tf.json' + variant: '' + vcuts: false + warnings: 'none' + margin: 5 + + - name: 'Yellow svg top' + type: 'pcbdraw' + dir: 'img' + options: + # [boolean=false] render the bottom side of the board (default is top side) + bottom: false # [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 dnf_filter: '' # [number=300] [10,1200] dots per inch (resolution) of the generated image dpi: 600 - # [string='png'] [svg,png,jpg] output format. Only used if no `output` is specified - format: 'png' + # [string='svg'] [svg,png,jpg] output format. Only used if no `output` is specified + format: 'svg' # [list(string)=[]] list of components to highlight highlight: [] # [list(string)=[]] list of libraries - libs: [] + libs: ['/usr/share/pcbdraw/footprints/KiCAD-base', '/github/workspace/doc/assets/templates/PcbDraw-Lib/KiCAD-base'] # [boolean=false] mirror the board mirror: false # [boolean=false] do not make holes transparent @@ -82,7 +90,7 @@ outputs: show_components: all # [string|dict] PCB style (colors). An internal name, the name of a JSON file or the style options #style: '/usr/share/pcbdraw/styles/set-black-cu.json' - style: 'doc/assets/kibot/styles/mlab.json' + style: 'doc/assets/kibot/styles/tf.json' # [string=''] Board variant to apply variant: '' # [boolean=false] render V-CUTS on the Cmts.User layer @@ -91,12 +99,13 @@ outputs: warnings: 'none' margin: 5 - - name: 'white svg top' + + - name: 'Yellow svg bottom' type: 'pcbdraw' dir: 'img' options: # [boolean=false] render the bottom side of the board (default is top side) - bottom: false + bottom: 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 dnf_filter: '' @@ -107,7 +116,7 @@ outputs: # [list(string)=[]] list of components to highlight highlight: [] # [list(string)=[]] list of libraries - libs: [] + libs: ['/usr/share/pcbdraw/footprints/KiCAD-base', '/github/workspace/doc/assets/templates/PcbDraw-Lib/KiCAD-base'] # [boolean=false] mirror the board mirror: false # [boolean=false] do not make holes transparent @@ -123,7 +132,7 @@ outputs: show_components: all # [string|dict] PCB style (colors). An internal name, the name of a JSON file or the style options #style: '/usr/share/pcbdraw/styles/set-black-cu.json' - style: 'doc/assets/kibot/styles/mlab.json' + style: 'doc/assets/kibot/styles/tf.json' # [string=''] Board variant to apply variant: '' # [boolean=false] render V-CUTS on the Cmts.User layer diff --git a/kibot/report.kibot.yaml b/kibot/report.kibot.yaml index 31a01f2..7b2ce81 100644 --- a/kibot/report.kibot.yaml +++ b/kibot/report.kibot.yaml @@ -1,8 +1,17 @@ kibot: version: 1 + preflight: - update_xml: true + run_erc: false + run_drc: false + check_zone_fills: true + ignore_unconnected: false + update_xml: + enabled: true + check_pcb_parity: true + as_warnings: true + global: kiauto_time_out_scale: 10 diff --git a/kibot/schematics.kibot.yaml b/kibot/schematics.kibot.yaml index 4421b79..354a02b 100644 --- a/kibot/schematics.kibot.yaml +++ b/kibot/schematics.kibot.yaml @@ -1,6 +1,18 @@ kibot: version: 1 + +preflight: + run_erc: false + run_drc: false + check_zone_fills: true + ignore_unconnected: false + update_xml: + enabled: true + check_pcb_parity: true + as_warnings: true + + global: kiauto_time_out_scale: 10 diff --git a/kibot/xml.kibot.yaml b/kibot/xml.kibot.yaml index ca5e925..bc1a00f 100644 --- a/kibot/xml.kibot.yaml +++ b/kibot/xml.kibot.yaml @@ -1,8 +1,17 @@ kibot: version: 1 + preflight: - update_xml: true + run_erc: false + run_drc: false + check_zone_fills: true + ignore_unconnected: false + update_xml: + enabled: true + check_pcb_parity: true + as_warnings: true + global: kiauto_time_out_scale: 10 diff --git a/workflows/kicad_outputs.yml b/workflows/kicad_outputs.yml index d6081f0..4c1f104 100644 --- a/workflows/kicad_outputs.yml +++ b/workflows/kicad_outputs.yml @@ -200,7 +200,7 @@ jobs: verbose: 3 - name: "Rename output" - run: for file in $(find ${{env.dir}}_gerbers -type f); do sudo mv "${file}" "${file//${{env.project}}/${{env.branch}}}" ; done + run: for file in $(find ${{env.dir}}_gerbers -type f); do sudo mv "${file}" "${file//${{env.project}}/${{env.branch}}}" || true ; done - uses: actions/upload-artifact@v2 if: ${{ success() }} @@ -280,13 +280,14 @@ jobs: mkdir doc/img/render || true mkdir hw || true mkdir hw/cam_profi || true + mkdir hw/cam_profi/grb || true mkdir hw/cam_profi/ibom || true cp doc/assets/kibot/autogenerated.md hw/cam_profi.readme.md || true cp -r doc_img/* doc/gen/img || true cp -r doc_cad/cad/* doc/gen || true - cp -r hw_cam_profi/* hw/cam_profi || true + cp -r hw_cam_profi/* hw/cam_profi/grb || true cp -r doc_sch/docs/* doc/gen || true cp -r doc_xml/* hw/cam_profi || true cp -r doc_sch/img/pcb/* doc/gen/img || true diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index 44eed55..5a35f58 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -39,12 +39,10 @@ pass data['description'] = repo.description -data['github_url'] = os.environ.get('gh_url', "https://www.github.com/MLAB-project") +data['github_url'] = os.environ.get('gh_url', "https://www.github.com/ThunderFly-aerospace") #data['github_org'] = os.environ.get('gh_org', 'repository_org') data['github_repo'] = os.environ.get('gh_repo', "repository_name") data['github_branch'] = os.environ.get('gh_branch', "repository_branch") -data['github_branches'] = [b.name for b in repo.get_branches()] -data['issues'] = repo.get_issues(state='open').totalCount data['tags'] = repo.get_topics() data['title'] = data['github_repo'] @@ -65,10 +63,6 @@ print("Add", x) data['images'].append(x) -if not 'image' in data: - if len(data['images']): - data['image'] = data['images'][0] - # try to guess schematics file scheme = glob("doc/**/*schematic.pdf", recursive=True) if len(scheme): From 5407f27ee9171e92a86976d2ed7ac46943384019 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Sat, 27 May 2023 19:52:46 +0200 Subject: [PATCH 50/71] add submodule with PCBDRAW library --- .gitmodules | 2 ++ templates/PcbDraw-Lib | 1 + 2 files changed, 3 insertions(+) create mode 160000 templates/PcbDraw-Lib diff --git a/.gitmodules b/.gitmodules index 6f52506..f11e9a0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,5 @@ [submodule "templates/PcbDraw-Lib"] path = templates/PcbDraw-Lib url = git@github.com:MLAB-project/PcbDraw-Lib.git + branch = master + shallow = true diff --git a/templates/PcbDraw-Lib b/templates/PcbDraw-Lib new file mode 160000 index 0000000..c0d67c4 --- /dev/null +++ b/templates/PcbDraw-Lib @@ -0,0 +1 @@ +Subproject commit c0d67c4dd50de996ad5e900c8000974b9b480bdd From aeee78d534b664c65ac371e7abca72ed83a4da26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Sat, 27 May 2023 19:53:45 +0200 Subject: [PATCH 51/71] Update .gitmodules --- .gitmodules | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index f11e9a0..7943d5e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,5 +1,5 @@ [submodule "templates/PcbDraw-Lib"] path = templates/PcbDraw-Lib url = git@github.com:MLAB-project/PcbDraw-Lib.git - branch = master - shallow = true + branch = master + shallow = true From 5ec096c1ac1260b3c594d0fef2771e65918d2001 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Sat, 27 May 2023 19:54:51 +0200 Subject: [PATCH 52/71] Update update_metadata.py --- workflows/update_metadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/update_metadata.py b/workflows/update_metadata.py index 5a35f58..40bd98d 100644 --- a/workflows/update_metadata.py +++ b/workflows/update_metadata.py @@ -39,7 +39,7 @@ pass data['description'] = repo.description -data['github_url'] = os.environ.get('gh_url', "https://www.github.com/ThunderFly-aerospace") +data['github_url'] = os.environ.get('gh_url', "https://www.github.com/MLAB-project") #data['github_org'] = os.environ.get('gh_org', 'repository_org') data['github_repo'] = os.environ.get('gh_repo', "repository_name") data['github_branch'] = os.environ.get('gh_branch', "repository_branch") From 417a802b242f6453ce078c5cf59430989f980334 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Sat, 27 May 2023 19:57:29 +0200 Subject: [PATCH 53/71] render update --- kibot/render.kibot.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/kibot/render.kibot.yaml b/kibot/render.kibot.yaml index c67d7dc..d966b0a 100644 --- a/kibot/render.kibot.yaml +++ b/kibot/render.kibot.yaml @@ -23,14 +23,14 @@ outputs: dpi: 600 format: 'png' highlight: [] - libs: ['/usr/share/pcbdraw/footprints/KiCAD-base', '/github/workspace/doc/assets/templates/PcbDraw-Lib/KiCAD-base'] + libs: ['/github/workspace/doc/assets/templates/PcbDraw-Lib/KiCAD-base', '/github/workspace/doc/assets/templates/PcbDraw-Lib/MLAB-base'] mirror: false no_drillholes: false output: '%f-%i.%x' placeholder: false remap: show_components: all - style: 'doc/assets/kibot/styles/tf.json' + style: 'doc/assets/kibot/styles/mlab.json' variant: '' vcuts: false warnings: 'none' @@ -45,14 +45,14 @@ outputs: dpi: 600 format: 'png' highlight: [] - libs: ['/usr/share/pcbdraw/footprints/KiCAD-base', '/github/workspace/doc/assets/templates/PcbDraw-Lib/KiCAD-base'] + libs: ['/github/workspace/doc/assets/templates/PcbDraw-Lib/KiCAD-base', '/github/workspace/doc/assets/templates/PcbDraw-Lib/MLAB-base'] mirror: false no_drillholes: false output: '%f-%i.%x' placeholder: false remap: show_components: all - style: 'doc/assets/kibot/styles/tf.json' + style: 'doc/assets/kibot/styles/mlab.json' variant: '' vcuts: false warnings: 'none' @@ -74,7 +74,7 @@ outputs: # [list(string)=[]] list of components to highlight highlight: [] # [list(string)=[]] list of libraries - libs: ['/usr/share/pcbdraw/footprints/KiCAD-base', '/github/workspace/doc/assets/templates/PcbDraw-Lib/KiCAD-base'] + libs: ['/github/workspace/doc/assets/templates/PcbDraw-Lib/KiCAD-base', '/github/workspace/doc/assets/templates/PcbDraw-Lib/MLAB-base'] # [boolean=false] mirror the board mirror: false # [boolean=false] do not make holes transparent @@ -90,7 +90,7 @@ outputs: show_components: all # [string|dict] PCB style (colors). An internal name, the name of a JSON file or the style options #style: '/usr/share/pcbdraw/styles/set-black-cu.json' - style: 'doc/assets/kibot/styles/tf.json' + style: 'doc/assets/kibot/styles/mlab.json' # [string=''] Board variant to apply variant: '' # [boolean=false] render V-CUTS on the Cmts.User layer @@ -116,7 +116,7 @@ outputs: # [list(string)=[]] list of components to highlight highlight: [] # [list(string)=[]] list of libraries - libs: ['/usr/share/pcbdraw/footprints/KiCAD-base', '/github/workspace/doc/assets/templates/PcbDraw-Lib/KiCAD-base'] + libs: ['/github/workspace/doc/assets/templates/PcbDraw-Lib/KiCAD-base', '/github/workspace/doc/assets/templates/PcbDraw-Lib/MLAB-base'] # [boolean=false] mirror the board mirror: false # [boolean=false] do not make holes transparent @@ -132,7 +132,7 @@ outputs: show_components: all # [string|dict] PCB style (colors). An internal name, the name of a JSON file or the style options #style: '/usr/share/pcbdraw/styles/set-black-cu.json' - style: 'doc/assets/kibot/styles/tf.json' + style: 'doc/assets/kibot/styles/mlab.json' # [string=''] Board variant to apply variant: '' # [boolean=false] render V-CUTS on the Cmts.User layer From cc128b91ae8d17b0d846f26fce2470a999b99690 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Sun, 28 May 2023 10:10:00 +0200 Subject: [PATCH 54/71] Update kicad_outputs.yml --- workflows/kicad_outputs.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/workflows/kicad_outputs.yml b/workflows/kicad_outputs.yml index 4c1f104..213ff1c 100644 --- a/workflows/kicad_outputs.yml +++ b/workflows/kicad_outputs.yml @@ -280,14 +280,14 @@ jobs: mkdir doc/img/render || true mkdir hw || true mkdir hw/cam_profi || true - mkdir hw/cam_profi/grb || true + mkdir hw/cam_profi/gbr || true + mkdir hw/cam_profi/PnP || true mkdir hw/cam_profi/ibom || true - - cp doc/assets/kibot/autogenerated.md hw/cam_profi.readme.md || true - + cp -r doc_img/* doc/gen/img || true cp -r doc_cad/cad/* doc/gen || true - cp -r hw_cam_profi/* hw/cam_profi/grb || true + mv -r hw_cam_profi/PnP/* hw/cam_profi/PnP || true + cp -r hw_cam_profi/* hw/cam_profi/gbr || true cp -r doc_sch/docs/* doc/gen || true cp -r doc_xml/* hw/cam_profi || true cp -r doc_sch/img/pcb/* doc/gen/img || true From 5641e137754b19ee4f08792b2584c4682353eded Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Wed, 14 Jun 2023 16:05:23 +0200 Subject: [PATCH 55/71] add update pcbdraw lib --- templates/PcbDraw-Lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/PcbDraw-Lib b/templates/PcbDraw-Lib index c0d67c4..b549302 160000 --- a/templates/PcbDraw-Lib +++ b/templates/PcbDraw-Lib @@ -1 +1 @@ -Subproject commit c0d67c4dd50de996ad5e900c8000974b9b480bdd +Subproject commit b549302ecbe9ae0d4050d8d2c578ec1b56330507 From 28852531136e2ce3898f1d5f6a2de05539045d62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Wed, 14 Jun 2023 19:49:18 +0200 Subject: [PATCH 56/71] update pcbdraw --- templates/PcbDraw-Lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/PcbDraw-Lib b/templates/PcbDraw-Lib index b549302..fcf1f18 160000 --- a/templates/PcbDraw-Lib +++ b/templates/PcbDraw-Lib @@ -1 +1 @@ -Subproject commit b549302ecbe9ae0d4050d8d2c578ec1b56330507 +Subproject commit fcf1f1804011821dc5652a832f859e8d1789902b From cd15626bf35f2a4245c31ea5ef6e70a68c1ec63e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Fri, 30 Jun 2023 09:49:43 +0200 Subject: [PATCH 57/71] Update kicad_outputs.yml --- workflows/kicad_outputs.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/workflows/kicad_outputs.yml b/workflows/kicad_outputs.yml index 213ff1c..388bb01 100644 --- a/workflows/kicad_outputs.yml +++ b/workflows/kicad_outputs.yml @@ -33,7 +33,7 @@ jobs: token: ${{ secrets.pat }} ref: ${{ github.head_ref }} - - uses: INTI-CMNB/KiBot@v2_dk6 + - uses: INTI-CMNB/KiBot@v2_dk7 with: config: ${{ env.kibot }}/erc.kibot.yaml schema: ${{ env.schema }} @@ -51,7 +51,7 @@ jobs: token: ${{ secrets.pat }} ref: ${{ github.head_ref }} - - uses: INTI-CMNB/KiBot@v2_dk6 + - uses: INTI-CMNB/KiBot@v2_dk7 with: config: ${{ env.kibot }}/drc.kibot.yaml schema: ${{ env.schema }} @@ -69,7 +69,7 @@ jobs: token: ${{ secrets.pat }} ref: ${{ github.head_ref }} - - uses: INTI-CMNB/KiBot@v2_dk6 + - uses: INTI-CMNB/KiBot@v2_dk7 with: config: ${{ env.kibot }}/schematics.kibot.yaml schema: ${{ env.schema }} @@ -93,14 +93,14 @@ jobs: token: ${{ secrets.pat }} ref: ${{ github.head_ref }} - - uses: INTI-CMNB/KiBot@v2_dk6 + - uses: INTI-CMNB/KiBot@v2_dk7 with: config: ${{ env.kibot }}/placement.kibot.yaml schema: ${{ env.schema }} board: ${{ env.board }} dir: ${{ env.dir }}_docs - - uses: INTI-CMNB/KiBot@v2_dk6 + - uses: INTI-CMNB/KiBot@v2_dk7 with: config: ${{ env.kibot }}/xml.kibot.yaml schema: ${{ env.schema }} @@ -138,7 +138,7 @@ jobs: token: ${{ secrets.pat }} ref: ${{ github.head_ref }} - - uses: INTI-CMNB/KiBot@v2_dk6 + - uses: INTI-CMNB/KiBot@v2_dk7 with: config: ${{ env.kibot }}/report.kibot.yaml schema: ${{ env.schema }} @@ -162,7 +162,7 @@ jobs: token: ${{ secrets.pat }} ref: ${{ github.head_ref }} - - uses: INTI-CMNB/KiBot@v2_dk6 + - uses: INTI-CMNB/KiBot@v2_dk7 with: config: ${{ env.kibot }}/ibom.kibot.yaml schema: ${{ env.schema }} @@ -191,7 +191,7 @@ jobs: token: ${{ secrets.pat }} ref: ${{ github.head_ref }} - - uses: INTI-CMNB/KiBot@v2_dk6 + - uses: INTI-CMNB/KiBot@v2_dk7 with: config: ${{ env.kibot }}/gerbers.kibot.yaml schema: ${{ env.schema }} @@ -220,14 +220,14 @@ jobs: token: ${{ secrets.pat }} ref: ${{ github.head_ref }} - - uses: INTI-CMNB/KiBot@v2_dk6 + - uses: INTI-CMNB/KiBot@v2_dk7 with: config: ${{ env.kibot }}/cad.kibot.yaml schema: ${{ env.schema }} board: ${{ env.board }} dir: ${{ env.dir }}_cad - - uses: INTI-CMNB/KiBot@v2_dk6 + - uses: INTI-CMNB/KiBot@v2_dk7 with: config: ${{ env.kibot }}/render.kibot.yaml schema: ${{ env.schema }} From 738ec673d38af38ed768afe900cced94dd63353c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Wed, 5 Jul 2023 00:46:58 +0200 Subject: [PATCH 58/71] Update copy_workflow_to_repo.sh --- workflows/copy_workflow_to_repo.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/workflows/copy_workflow_to_repo.sh b/workflows/copy_workflow_to_repo.sh index fde6439..8e7e490 100755 --- a/workflows/copy_workflow_to_repo.sh +++ b/workflows/copy_workflow_to_repo.sh @@ -5,6 +5,11 @@ # mkdir -p ../../../.github/workflows -cp kicad_outputs.yml ../../../.github/workflows/kicad_outputs.yml +if [ -n "$(find ../../../ -name *kicad* 2>/dev/null)" ] +then + cp kicad_outputs.yml ../../../.github/workflows/kicad_outputs.yml +else + echo "Kicad nenalezen" +fi cp update_actions.yml ../../../.github/workflows/update_actions.yml cp metadata_updater.yml ../../../.github/workflows/metadata_updater.yml From b2eec3be05a0d35fcd95ed087fd899f916998c73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Wed, 5 Jul 2023 00:47:09 +0200 Subject: [PATCH 59/71] Update copy_workflow_to_repo.sh --- workflows/copy_workflow_to_repo.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/copy_workflow_to_repo.sh b/workflows/copy_workflow_to_repo.sh index 8e7e490..cb90162 100755 --- a/workflows/copy_workflow_to_repo.sh +++ b/workflows/copy_workflow_to_repo.sh @@ -5,7 +5,7 @@ # mkdir -p ../../../.github/workflows -if [ -n "$(find ../../../ -name *kicad* 2>/dev/null)" ] +if [ -n "$(find ../../../ -name *kicad_* 2>/dev/null)" ] then cp kicad_outputs.yml ../../../.github/workflows/kicad_outputs.yml else From 5cbb545751a027b1e64ea9ce7e3057b557c3ad12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Wed, 5 Jul 2023 00:49:19 +0200 Subject: [PATCH 60/71] Update copy_workflow_to_repo.sh --- workflows/copy_workflow_to_repo.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/workflows/copy_workflow_to_repo.sh b/workflows/copy_workflow_to_repo.sh index fde6439..92a8b77 100755 --- a/workflows/copy_workflow_to_repo.sh +++ b/workflows/copy_workflow_to_repo.sh @@ -5,6 +5,12 @@ # mkdir -p ../../../.github/workflows -cp kicad_outputs.yml ../../../.github/workflows/kicad_outputs.yml + +if [ -n "$(find ../../../ -name *kicad_* 2>/dev/null)" ] +then + cp kicad_outputs.yml ../../../.github/workflows/kicad_outputs.yml +else + echo "Kicad nenalezen" +fi cp update_actions.yml ../../../.github/workflows/update_actions.yml cp metadata_updater.yml ../../../.github/workflows/metadata_updater.yml From 7e6724ced612b25f8b7d2f0f194ff18b8be63e3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Wed, 5 Jul 2023 01:09:39 +0200 Subject: [PATCH 61/71] Update copy_workflow_to_repo.sh --- workflows/copy_workflow_to_repo.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/workflows/copy_workflow_to_repo.sh b/workflows/copy_workflow_to_repo.sh index 92a8b77..30da934 100755 --- a/workflows/copy_workflow_to_repo.sh +++ b/workflows/copy_workflow_to_repo.sh @@ -10,6 +10,7 @@ if [ -n "$(find ../../../ -name *kicad_* 2>/dev/null)" ] then cp kicad_outputs.yml ../../../.github/workflows/kicad_outputs.yml else + rm ../../../.github/workflows/kicad_outputs.yml || true echo "Kicad nenalezen" fi cp update_actions.yml ../../../.github/workflows/update_actions.yml From eb2c96d432dc7a2de3f6d688381f50d27d747b2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Wed, 5 Jul 2023 01:20:14 +0200 Subject: [PATCH 62/71] Update kicad_outputs.yml --- workflows/kicad_outputs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/kicad_outputs.yml b/workflows/kicad_outputs.yml index 213ff1c..1ddc08a 100644 --- a/workflows/kicad_outputs.yml +++ b/workflows/kicad_outputs.yml @@ -286,7 +286,7 @@ jobs: cp -r doc_img/* doc/gen/img || true cp -r doc_cad/cad/* doc/gen || true - mv -r hw_cam_profi/PnP/* hw/cam_profi/PnP || true + mv -r hw_cam_profi/PnP hw/cam_profi/PnP || true cp -r hw_cam_profi/* hw/cam_profi/gbr || true cp -r doc_sch/docs/* doc/gen || true cp -r doc_xml/* hw/cam_profi || true From 9d550c4a74e060a307a3a3b54052a828666ef2ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Wed, 5 Jul 2023 01:23:57 +0200 Subject: [PATCH 63/71] Update kicad_outputs.yml --- workflows/kicad_outputs.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workflows/kicad_outputs.yml b/workflows/kicad_outputs.yml index 1ddc08a..c3d03a3 100644 --- a/workflows/kicad_outputs.yml +++ b/workflows/kicad_outputs.yml @@ -116,7 +116,9 @@ jobs: if: ${{ success() }} with: name: doc_xml - path: hw/sch_pcb/*.xml + path: | + hw/sch_pcb/*.xml + hw/sch_pcb/*.csv # Zde se zahazuji debugovaci videa - uses: actions/upload-artifact@v3 From 8c15f1fba0ab7ce591f9e170597f3f98fb412bee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Wed, 5 Jul 2023 01:31:04 +0200 Subject: [PATCH 64/71] Update copy_workflow_to_repo.sh --- workflows/copy_workflow_to_repo.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/copy_workflow_to_repo.sh b/workflows/copy_workflow_to_repo.sh index 30da934..fbbc545 100755 --- a/workflows/copy_workflow_to_repo.sh +++ b/workflows/copy_workflow_to_repo.sh @@ -6,7 +6,7 @@ mkdir -p ../../../.github/workflows -if [ -n "$(find ../../../ -name *kicad_* 2>/dev/null)" ] +if [ -n "$(find ../../../hw -name *kicad_* 2>/dev/null)" ] then cp kicad_outputs.yml ../../../.github/workflows/kicad_outputs.yml else From 69a9235d54fbd9ee585363b18863bda33c5b9645 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Wed, 5 Jul 2023 01:37:23 +0200 Subject: [PATCH 65/71] Update copy_workflow_to_repo.sh --- workflows/copy_workflow_to_repo.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/copy_workflow_to_repo.sh b/workflows/copy_workflow_to_repo.sh index fbbc545..4471f6e 100755 --- a/workflows/copy_workflow_to_repo.sh +++ b/workflows/copy_workflow_to_repo.sh @@ -6,7 +6,7 @@ mkdir -p ../../../.github/workflows -if [ -n "$(find ../../../hw -name *kicad_* 2>/dev/null)" ] +if [ "$(find ../../../hw -name *kicad_* 2>/dev/null)" ] then cp kicad_outputs.yml ../../../.github/workflows/kicad_outputs.yml else From e4862e1b197f3c40bcdeaec63b1ed7755d4f4cf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Wed, 5 Jul 2023 01:41:34 +0200 Subject: [PATCH 66/71] Update copy_workflow_to_repo.sh --- workflows/copy_workflow_to_repo.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/workflows/copy_workflow_to_repo.sh b/workflows/copy_workflow_to_repo.sh index 4471f6e..0421448 100755 --- a/workflows/copy_workflow_to_repo.sh +++ b/workflows/copy_workflow_to_repo.sh @@ -6,12 +6,12 @@ mkdir -p ../../../.github/workflows -if [ "$(find ../../../hw -name *kicad_* 2>/dev/null)" ] -then - cp kicad_outputs.yml ../../../.github/workflows/kicad_outputs.yml -else - rm ../../../.github/workflows/kicad_outputs.yml || true - echo "Kicad nenalezen" -fi +# if [ "$(find ../../../hw -name *kicad_* 2>/dev/null)" ] +# then +cp kicad_outputs.yml ../../../.github/workflows/kicad_outputs.yml +#else +# rm ../../../.github/workflows/kicad_outputs.yml || true +# echo "Kicad nenalezen" +#fi cp update_actions.yml ../../../.github/workflows/update_actions.yml cp metadata_updater.yml ../../../.github/workflows/metadata_updater.yml From 4f31bb28443e017a9b8cd1409e085c1634b7b7ce Mon Sep 17 00:00:00 2001 From: Roman Dvorak Date: Wed, 5 Jul 2023 01:47:29 +0200 Subject: [PATCH 67/71] detekce kicadu --- workflows/copy_workflow_to_repo.sh | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/workflows/copy_workflow_to_repo.sh b/workflows/copy_workflow_to_repo.sh index 0421448..fd4abfe 100755 --- a/workflows/copy_workflow_to_repo.sh +++ b/workflows/copy_workflow_to_repo.sh @@ -6,12 +6,13 @@ mkdir -p ../../../.github/workflows -# if [ "$(find ../../../hw -name *kicad_* 2>/dev/null)" ] -# then -cp kicad_outputs.yml ../../../.github/workflows/kicad_outputs.yml -#else -# rm ../../../.github/workflows/kicad_outputs.yml || true -# echo "Kicad nenalezen" -#fi +if [ "$(find ../../../hw -name *kicad_* 2>/dev/null)" ] +then + echo "This is KICAD project" + cp kicad_outputs.yml ../../../.github/workflows/kicad_outputs.yml +else + rm ../../../.github/workflows/kicad_outputs.yml 2>/dev/null || true + echo "Kicad not found" +fi cp update_actions.yml ../../../.github/workflows/update_actions.yml cp metadata_updater.yml ../../../.github/workflows/metadata_updater.yml From 01189361f7a8be2411a8fc8aafe669a982cefbac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Wed, 5 Jul 2023 02:02:39 +0200 Subject: [PATCH 68/71] Update copy_workflow_to_repo.sh --- workflows/copy_workflow_to_repo.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/copy_workflow_to_repo.sh b/workflows/copy_workflow_to_repo.sh index fd4abfe..41a172b 100755 --- a/workflows/copy_workflow_to_repo.sh +++ b/workflows/copy_workflow_to_repo.sh @@ -6,7 +6,7 @@ mkdir -p ../../../.github/workflows -if [ "$(find ../../../hw -name *kicad_* 2>/dev/null)" ] +if [ "$(find ../../../hw -name '*kicad_pro' 2>/dev/null)" ] then echo "This is KICAD project" cp kicad_outputs.yml ../../../.github/workflows/kicad_outputs.yml From 2069e9e4c03837293434b5bf56f1982e7ab0b391 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Wed, 5 Jul 2023 13:46:23 +0200 Subject: [PATCH 69/71] Update xml.kibot.yaml --- kibot/xml.kibot.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/kibot/xml.kibot.yaml b/kibot/xml.kibot.yaml index bc1a00f..10f8f60 100644 --- a/kibot/xml.kibot.yaml +++ b/kibot/xml.kibot.yaml @@ -20,5 +20,6 @@ outputs: - name: 'bom' comment: "Bill of Materials in CSV format" type: bom + dir: hw/sch_pcb/ options: group_fields: ['Part', 'Part Lib', 'Value', 'Footprint', 'Footprint Lib'] From d1a9d5287680803be4c735e16fc7a15bf1f4b6c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Dvo=C5=99=C3=A1k?= Date: Wed, 5 Jul 2023 13:47:28 +0200 Subject: [PATCH 70/71] Update kicad_outputs.yml --- workflows/kicad_outputs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflows/kicad_outputs.yml b/workflows/kicad_outputs.yml index c3d03a3..50d77ae 100644 --- a/workflows/kicad_outputs.yml +++ b/workflows/kicad_outputs.yml @@ -297,6 +297,8 @@ jobs: cp -r doc_report/* doc/gen || true cp -r doc_ibom/docs/* hw/cam_profi/ibom || true + mv hw/cam_profi/grb/PnP hw/cam_profi/PnP || true + rm -r doc_img || true rm -r doc_cad || true rm -r hw_cam_profi || true @@ -306,8 +308,6 @@ jobs: rm -r doc_report || true rm -r doc_ibom || true - tree - git add . -f - uses: stefanzweifel/git-auto-commit-action@v4.16.0 From d06bc433dfcf2712cab3b18d6ca7f6f96c0969c1 Mon Sep 17 00:00:00 2001 From: Roman Dvorak Date: Wed, 20 Sep 2023 20:01:38 +0200 Subject: [PATCH 71/71] update submodule --- templates/PcbDraw-Lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/PcbDraw-Lib b/templates/PcbDraw-Lib index fcf1f18..187fe15 160000 --- a/templates/PcbDraw-Lib +++ b/templates/PcbDraw-Lib @@ -1 +1 @@ -Subproject commit fcf1f1804011821dc5652a832f859e8d1789902b +Subproject commit 187fe155582bcabb99a82345e9368f2a4b410ad3