diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 5be4776..1fd1a2a 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -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 ============ -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) - [QEDA](http://qeda.org/): to generate footprints for the parts -- [Lepton EDA](https://github.com/lepton-eda/lepton-eda): for the schematic capture -- [pcb-rnd](http://repo.hu/projects/pcb-rnd/): for the board layout -the output generation is automatized. +- [KiCad](https://www.kicad.org/): EDA software used for schematic capture and board layout +- [PcbDraw](https://github.com/yaqwsx/PcbDraw): to generate board layout rendering +- [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 ========= +to generate schematic, BoM, board render, and fabrication output, run `rake`. + library ------- @@ -38,18 +42,15 @@ to generate the parts: 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. - -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. +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. schematic --------- -the `.sch` file is the schematic source file. -it has been drawn using [Lepton EDA](https://github.com/lepton-eda/lepton-eda). +the `.kicad_sch` file is the schematic source file. +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. to export as pdf: @@ -68,15 +69,25 @@ rake bom board ----- -the `.lht` file is the board layout source file. -it has been drawn using [coralEDA pcb-rnd](http://repo.hu/projects/pcb-rnd/). +the `.kicad_brd` file is the board layout source file. +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. -`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): ~~~ 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