Better folder and file structure
To better organize the project, simulations and revisions, we have adopted at LNLS a new folder structure that is inspired by the current structure of OHWR repositories with a few additions. I propose we adopt this structure for the AFC project as to facilitate collaboration and keep the repository "clean":
- root |- README.md -> Usual readme file, akin to the wiki file (maybe identical |- LICENSE.txt -> License for the file
- circuit_board -> Altium files (only sources, not Output or generated files)
- documentation -> Programming guides, howtos and other end-user documentation |+ images -> Board pictures, block diagrams and other images that may be used in wikis and docs
- mechanical -> Sources for mechanical files, such as faceplates or heatsinks. Again, only sources.
- manufacturing -> Sources for manually written manufacturing documentation such as assembly instructions.
- design_reports -> Simulations, calculations and reports on design decisions
In this scheme, all automatically generated (such as PDF for schematics, Gerbers, BOMs, step files, PDF for documents, etc) should be generated for specific releases (in hardware, this usually means board spins for either prototype or production) and associated with specific tags. This prevent the common issue of having de-synced binaries and associated sources in the repo, and also makes the repository cleaner and easier to work on.
One way to translate this to specifc Altium files would be to commit: *.SchDoc *.PcbDoc *.PrjPCB -> Care should be taken to avoid commiting PC-specific configurations like printer setup. *.OutJob *.Harness -> This is generated, but gives error when harness change and may count as a source. *.PrjPcbVariants *.PCBDwf
Those should be in gitignore: circuit_board/.PrjPCBStructure circuit_board/.SchDocPreview circuit_board/.PcbDocPreview circuit_board/__Previews circuit_board/.PrjPcbStructure circuit_board/.Dat circuit_board/.REP circuit_board/.TLT circuit_board/.LOG circuit_board/.log circuit_board/.htm circuit_board/.$$$ circuit_board/Project\ Outputs* circuit_board/Project\ Logs* circuit_board/History* circuit_board/Previews