You are not Logged In!

Difference between revisions of "Public:GitHub/PCB"

From Illini Solar Car Wiki
Jump to navigation Jump to search
(Created page with "Test")
 
Line 1: Line 1:
Test
+
 
 +
== KiCad Files and Git ==
 +
KiCad has a lot of files of different file types it generates. Unlike other programs, that might put these all in temp, KiCad puts many of them in the project repo. For the target audience of KiCad, that is Engineers, this makes sense as it gives us the power to use these files as we may need them.
 +
 
 +
KiCad has a bit of a habit of adding more of these, so this page might be out of date. You can see the up to date list for the current release version on the [https://kicad-pcb.org/help/file-formats/ KiCad Website]. Luckily, this is supposedly addressed in [[KiCad v6]].
 +
 
 +
KiCad files are intentionally human readable and compatible with version control, allowing better collaboration than other tools. We take significant advantage of this in our workflow, but we don't need all your files on git - it can get messy with how many KiCad has. Read below for which files to include or not include. This should mostly be handled by the [https://github.com/IlliniSolarCar/PCB/blob/master/.gitignore .gitignore] if you don't override it.
 +
 
 +
=== Project File Types ===
 +
{| class="wikitable"
 +
!File Name / Extensions
 +
!Type
 +
!Include on Git
 +
!Description
 +
|-
 +
|projectName.pro
 +
|KiCad Project Meta File
 +
|REQUIRED
 +
|This file contains information about the KiCad project. {{Highlight|There can only be one project file per project!}} (If you see others associated with your hierarchical schematics, get rid of them and don't open your schematic files straight from your file browser.)
 +
|-
 +
|projectName.sch
 +
|KiCad Schemaatic File
 +
|REQUIRED
 +
|This is the top-level schematic for the project. You can add additional schematic files to your project and include them as heirarchical schematics, or "schematics within a schematic"
 +
|-
 +
|projectName.kicad_pcb
 +
|KiCad PCB File
 +
|REQUIRED
 +
|This is the physical layout of your circuit board. {{Highlight|There can only be one PCB per project!}}
 +
|-
 +
|projectName_subSection.sch
 +
|KiCad Schematic File
 +
|Optional
 +
|It is normal to have more than one schematic file. Since each schematic file is the size of one page of paper when printed, it is common to have multiple-page schematics for larger projects
 +
|-
 +
|sym-lib-table
 +
|KiCad Library Database
 +
|REQUIRED
 +
|This tells KiCad what symbol libraries your project uses. If it doesn't exist, all your components will be '?'.
 +
|-
 +
|fp-lib-table
 +
|KiCad Library Database
 +
|REQUIRED
 +
|This tells KiCad what footprint libraries your project uses. If it doesn't exist, you won't be able to add new footprints or update them from library changes.
 +
|-
 +
|symbols/
 +
|Folder
 +
|Optional
 +
|This folder contains any local symbol libraries you create. You can put stuff here that you don't want to commit to the main libraries, for example, a board specific symbol. See the Symbols Libraries section below for more information on what goes in here. These are uncommon
 +
|-
 +
|footprints.pretty/
 +
|Folder
 +
|Optional
 +
|This folder contains any local component footprints you create. You can put stuff here that you don't want to commit to the main libraries. See the Footprint Libraries section for more information on what goes in here. These are more common for board specific physical components.
 +
|-
 +
|models.3dshapes/
 +
|Folder
 +
|Optional
 +
|This folder contains 3D CAD models of components. See the 3D Model Libraries section for more information on what goes in here
 +
|-
 +
|bom.ini
 +
|BOM Settings File
 +
|Optional
 +
|This file is generated by the KiCad BOM generator plugin if it can't find a settings file. It contains information on how the BOM plugin parses the component list to generate the BOM
 +
|-
 +
|schematicName.bak
 +
|KiCad Schematic Backup File
 +
|NEVER
 +
|This file contains a backup of your schematic when it's saved. If you really mess something up and the previous git commit is not up-to-date at all (in this case, shame on you!), then you can change the name of this file to have a .sch ending and open it in KiCad
 +
|-
 +
|projectName.kicad_pcb-bak
 +
|KiCad PCB Backup File
 +
|NEVER
 +
|This file is a back-up of your PCB when it is saved. If you really mess something up and the previous git commit is not up-to-date at all (in this case, shame on you!), then you can change the name of this file to have a .pcb ending and open it in KiCad
 +
|-
 +
|_saved_anyName.sch
 +
|Autosave
 +
|NEVER
 +
|This file is an autosave file from KiCAD to restore from crashes. YIf you have one of these, you should fix things that may have broken due to the crash. We don't need them on git.
 +
|-
 +
|projectName-cache.lib
 +
|KiCad Library File, Automatic
 +
|NEVER
 +
|This file will be generated automatically by KiCad to store a local copy of schematic symbols. This lets you view the schematic even if the main libraries are unavailable (but should not replace using them!), and it protect you if symbols in a library change
 +
|}
 +
KiCad has a lot more temporary type files not listed here, you shouldn't have any issue with those - they typically get cleaned up by KiCad
 +
 
 +
=== Symbol Library Files ===
 +
 
 +
=== Footprint Library Files ===
 +
 
 +
=== 3D Model Library Files ===

Revision as of 23:00, 28 August 2020

KiCad Files and Git

KiCad has a lot of files of different file types it generates. Unlike other programs, that might put these all in temp, KiCad puts many of them in the project repo. For the target audience of KiCad, that is Engineers, this makes sense as it gives us the power to use these files as we may need them.

KiCad has a bit of a habit of adding more of these, so this page might be out of date. You can see the up to date list for the current release version on the KiCad Website. Luckily, this is supposedly addressed in KiCad v6.

KiCad files are intentionally human readable and compatible with version control, allowing better collaboration than other tools. We take significant advantage of this in our workflow, but we don't need all your files on git - it can get messy with how many KiCad has. Read below for which files to include or not include. This should mostly be handled by the .gitignore if you don't override it.

Project File Types

File Name / Extensions Type Include on Git Description
projectName.pro KiCad Project Meta File REQUIRED This file contains information about the KiCad project. There can only be one project file per project! (If you see others associated with your hierarchical schematics, get rid of them and don't open your schematic files straight from your file browser.)
projectName.sch KiCad Schemaatic File REQUIRED This is the top-level schematic for the project. You can add additional schematic files to your project and include them as heirarchical schematics, or "schematics within a schematic"
projectName.kicad_pcb KiCad PCB File REQUIRED This is the physical layout of your circuit board. There can only be one PCB per project!
projectName_subSection.sch KiCad Schematic File Optional It is normal to have more than one schematic file. Since each schematic file is the size of one page of paper when printed, it is common to have multiple-page schematics for larger projects
sym-lib-table KiCad Library Database REQUIRED This tells KiCad what symbol libraries your project uses. If it doesn't exist, all your components will be '?'.
fp-lib-table KiCad Library Database REQUIRED This tells KiCad what footprint libraries your project uses. If it doesn't exist, you won't be able to add new footprints or update them from library changes.
symbols/ Folder Optional This folder contains any local symbol libraries you create. You can put stuff here that you don't want to commit to the main libraries, for example, a board specific symbol. See the Symbols Libraries section below for more information on what goes in here. These are uncommon
footprints.pretty/ Folder Optional This folder contains any local component footprints you create. You can put stuff here that you don't want to commit to the main libraries. See the Footprint Libraries section for more information on what goes in here. These are more common for board specific physical components.
models.3dshapes/ Folder Optional This folder contains 3D CAD models of components. See the 3D Model Libraries section for more information on what goes in here
bom.ini BOM Settings File Optional This file is generated by the KiCad BOM generator plugin if it can't find a settings file. It contains information on how the BOM plugin parses the component list to generate the BOM
schematicName.bak KiCad Schematic Backup File NEVER This file contains a backup of your schematic when it's saved. If you really mess something up and the previous git commit is not up-to-date at all (in this case, shame on you!), then you can change the name of this file to have a .sch ending and open it in KiCad
projectName.kicad_pcb-bak KiCad PCB Backup File NEVER This file is a back-up of your PCB when it is saved. If you really mess something up and the previous git commit is not up-to-date at all (in this case, shame on you!), then you can change the name of this file to have a .pcb ending and open it in KiCad
_saved_anyName.sch Autosave NEVER This file is an autosave file from KiCAD to restore from crashes. YIf you have one of these, you should fix things that may have broken due to the crash. We don't need them on git.
projectName-cache.lib KiCad Library File, Automatic NEVER This file will be generated automatically by KiCad to store a local copy of schematic symbols. This lets you view the schematic even if the main libraries are unavailable (but should not replace using them!), and it protect you if symbols in a library change

KiCad has a lot more temporary type files not listed here, you shouldn't have any issue with those - they typically get cleaned up by KiCad

Symbol Library Files

Footprint Library Files

3D Model Library Files