This repository can be forked for each new project. This structure has a few goals:
- Standardization of project structure
- Making it trivially easy to distinguish human changes vs. automated outputs
- Tracking hardware bugs and bringup problems in a sensible way
- human/ Human modified files. Many of these will be copies from the bot/ directory with light modification.
- doc/ Human documentation relevant to the project.
- input/ The design generator fed in to JITPCB, generated by human. Also contains a makefile which will populate the bot/ directory.
- xxxxx/ Copies of folders from the "bot" directory with human modifications.
- bot/ This folder should contain files generated only by a pure pipeline through the tool from the inputspec.
- esir/ All passes of esir files
- fab/ gerbers, ncdrill, bom.
- kicad/ Kicad export.
- Click the 'Use this template' button, set up the repo and clone it.
- Make sure that the stanza.proj file in human/input includes points to the libraries you need (e.g. ocdb)
- Using your (presumably) human brain, write the design generator in human/input.
- Generate your design by running the REPL from the human/input directory
- If JITPCB's outputs do not meet your requirements, copy the outputs from the bot directory (esir, kicad) to the human directory and make modifications in the human directory.
- When you are ready to release a design to fabrication, create a new dated folder in the releases/ dir. Date format should be YYYYMMDD.
- Make sure all your changes are committed to git.
- Copy the "human" and "bot" folders in to the dated folder in release.
- If you zip a subset of files (eg just the kicad files) to send to the customer or fab house, add the zip file as well in the dated directory.
When you are finalizing schematics:
- Build the generator in the human/input directory, using export-kicad
- Check the generated schematic file and jitpcb-associations file into the repository
- Ensure that
export-kicadis going to use your existing schematic by setting in the list of arguements:
`fresh => false
- Make changes to the schematic, save them, and check them into the repository
- When you make a change to the generator, re-run the generator in the input directory. It will overwrite your kicad project, keeping as many of your saved schematic edits as possible.
- If something goes wrong, restore the schematic using git.