doc: update development doc for kicad toolchain

This commit is contained in:
King Kévin 2022-06-10 19:03:02 +02:00
parent 6c6f31aa5a
commit 7deaea588c
1 changed files with 28 additions and 17 deletions

View File

@ -1,19 +1,23 @@
this will describe how to generate the output file form the sources. this will describe how to generate the output files form the sources.
requirements requirements
============ ============
to be able to generate the outputs you need following software: to be able to generate the outputs, you need following software:
- rake: the central script taking care of generating the output files (Makefile is too cumbersome to parse files) - rake: the central script taking care of generating the output files (Makefile is too cumbersome to parse files)
- [QEDA](http://qeda.org/): to generate footprints for the parts - [QEDA](http://qeda.org/): to generate footprints for the parts
- [Lepton EDA](https://github.com/lepton-eda/lepton-eda): for the schematic capture - [KiCad](https://www.kicad.org/): EDA software used for schematic capture and board layout
- [pcb-rnd](http://repo.hu/projects/pcb-rnd/): for the board layout - [PcbDraw](https://github.com/yaqwsx/PcbDraw): to generate board layout rendering
the output generation is automatized. - [KiKit](https://github.com/yaqwsx/KiKit): to generate fabrications files (Gerber, Excellon)
- [KiAuto](https://github.com/INTI-CMNB/KiAuto): to generate schematic printout (PDF)
- [KiBoM](https://github.com/SchrodingersGat/KiBoM): to generate Bill of Material (CSV)
compiling compiling
========= =========
to generate schematic, BoM, board render, and fabrication output, run `rake`.
library library
------- -------
@ -38,18 +42,15 @@ to generate the parts:
rake library rake library
~~~ ~~~
this will use the parts definition (.yaml files) in the `library` to generate [gEDA gschem](http://wiki.geda-project.org/geda:gaf)/[Lepton EDA](https://github.com/lepton-eda/lepton-eda) symbols (.sym files) in the `geda/symbols` folder, and [coralEDA pcb-rnd](http://repo.hu/projects/pcb-rnd/) footprints (.lht files) in the `coraleda/subc` folder. this will use the parts definition (.yaml files) in the `library` to generate the symbols (.sym files) and footprints used by KiCAD in the `kicad` folder.
only the QEDA parts in subfolders within `library` come from the [QEDA library](https://doc.qeda.org/library/), but the files are included in this project for simplicity and archiving purposes.
all other parts are custom and written for this project.
schematic schematic
--------- ---------
the `.sch` file is the schematic source file. the `.kicad_sch` file is the schematic source file.
it has been drawn using [Lepton EDA](https://github.com/lepton-eda/lepton-eda). it has been drawn using the [KiCAD eeschema](https://www.kicad.org/) schematic editor.
it uses standard symbols, and the ones in the `geda/symbols/` folder. it uses standard symbols, and the ones in the `kicad/` folder.
most symbols are generated by QEDA as described above. most symbols are generated by QEDA as described above.
to export as pdf: to export as pdf:
@ -68,15 +69,25 @@ rake bom
board board
----- -----
the `.lht` file is the board layout source file. the `.kicad_brd` file is the board layout source file.
it has been drawn using [coralEDA pcb-rnd](http://repo.hu/projects/pcb-rnd/). it has been drawn using the [KiCAD pcbnew](https://docs.kicad.org/6.0/en/pcbnew/pcbnew.html) PCB editor.
it uses the symbols from the `coraleda/subc/` folder. it uses the footprints from the `kicad/` folder.
most symbols are generated by QEDA as described above. most symbols are generated by QEDA as described above.
`oshw_logo.lht` is just the Open Source Hardware Logo.
it been generated from https://oshwlogo.cuvoodoo.info/.
to export gerber files for PCB manufacturer (and photo preview + overview document): to export gerber files for PCB manufacturer (and photo preview + overview document):
~~~ ~~~
rake fabrication rake fabrication
~~~ ~~~
versioning
----------
the source schematic and board layout do not include version information.
when generating schematic or board fabrication output, a copy of the source files with date and version information is done as `.versioned.` files.
the date corresponds to the last changes (i.e. commit).
the version is formatted as `v.r hhhhhhh`:
- `v` corresponds to the major version information defined in `version`
- `r` corresponds to the total number of changes done to the source files
- `hhhhhhh` corresponds to the git hash of the commit used to generate the version information