Fix spelling in README.md
- This is basically #95, but applied in a way that we won't lose the changes after regenerating the docs. - @SebastianGrau contributed the original changes.
This commit is contained in:
parent
995219a8ea
commit
c324b0a848
62
README.md
62
README.md
|
|
@ -64,7 +64,7 @@ For example, it's common that you might want for each board rev:
|
|||
* PCB 3D render in PNG format
|
||||
|
||||
You want to do this in a one-touch way, and make sure everything you need to
|
||||
do so it securely saved in version control, not on the back of an old
|
||||
do so is securely saved in version control, not on the back of an old
|
||||
datasheet.
|
||||
|
||||
KiBot lets you do this. The following picture depicts the data flow:
|
||||
|
|
@ -104,9 +104,9 @@ This section is used to specify tasks that will be executed before generating an
|
|||
|
||||
#### Supported preflight options:
|
||||
|
||||
- check_zone_fills: [boolean=false] Zones are filled before doing any operation involving PCB layers.
|
||||
- erc_warnings: [boolean=false] Option for `run_erc`. ERC warnings are considered errors.
|
||||
- filters: [list(dict)] A list of entries to filter out ERC/DRC messages.
|
||||
- `check_zone_fills`: [boolean=false] Zones are filled before doing any operation involving PCB layers.
|
||||
- `erc_warnings`: [boolean=false] Option for `run_erc`. ERC warnings are considered errors.
|
||||
- `filters`: [list(dict)] A list of entries to filter out ERC/DRC messages.
|
||||
* Valid keys:
|
||||
- `error`: [string=''] Error id we want to exclude. A name for KiCad 6 or a number for KiCad 5, but always a string.
|
||||
- *error_number*: Alias for number.
|
||||
|
|
@ -115,12 +115,12 @@ This section is used to specify tasks that will be executed before generating an
|
|||
- `number`: [number=0] Error number we want to exclude. KiCad 5 only.
|
||||
- `regex`: [string='None'] Regular expression to match the text for the error we want to exclude.
|
||||
- *regexp*: Alias for regex.
|
||||
- ignore_unconnected: [boolean=false] Option for `run_drc`. Ignores the unconnected nets. Useful if you didn't finish the routing.
|
||||
- run_drc: [boolean=false] Runs the DRC (Distance Rules Check). To ensure we have a valid PCB.
|
||||
- `ignore_unconnected`: [boolean=false] Option for `run_drc`. Ignores the unconnected nets. Useful if you didn't finish the routing.
|
||||
- `run_drc`: [boolean=false] Runs the DRC (Distance Rules Check). To ensure we have a valid PCB.
|
||||
The report file name is controlled by the global output pattern (%i=drc %x=txt).
|
||||
- run_erc: [boolean=false] Runs the ERC (Electrical Rules Check). To ensure the schematic is electrically correct.
|
||||
- `run_erc`: [boolean=false] Runs the ERC (Electrical Rules Check). To ensure the schematic is electrically correct.
|
||||
The report file name is controlled by the global output pattern (%i=erc %x=txt).
|
||||
- update_xml: [boolean=false] Update the XML version of the BoM (Bill of Materials).
|
||||
- `update_xml`: [boolean=false] Update the XML version of the BoM (Bill of Materials).
|
||||
To ensure our generated BoM is up to date.
|
||||
Note that this isn't needed when using the internal BoM generator (`bom`).
|
||||
|
||||
|
|
@ -183,7 +183,7 @@ If you need to match text from two different lines in the error message try usin
|
|||
|
||||
If you have two or more different options for a text to match try using `(OPTION1|OPTION2)`.
|
||||
|
||||
A complete Python regular expressions explanation is out the scope of this manual. For a complete reference consult the [Python manual](https://docs.python.org/3/library/re.html).
|
||||
A complete Python regular expressions explanation is out of the scope of this manual. For a complete reference consult the [Python manual](https://docs.python.org/3/library/re.html).
|
||||
|
||||
KiCad 6 uses strings to differentiate errors, use them for the `error` field. To keep compatibility you can use the `number` or `error_number` options for KiCad 5.
|
||||
|
||||
|
|
@ -289,7 +289,7 @@ global:
|
|||
|
||||
### Filters and variants
|
||||
|
||||
The filters and variants are mechanism used to modify the circuit components.
|
||||
The filters and variants are mechanisms used to modify the circuit components.
|
||||
Both concepts are closely related. In fact variants can use filters.
|
||||
|
||||
The current implementation of the filters allow to exclude components from some of the processing stages. The most common use is to exclude them from some output.
|
||||
|
|
@ -493,11 +493,14 @@ You can define your own lists as the `int_bom_fil_1.kibot.yaml` shows.
|
|||
|
||||
### The *outputs* section
|
||||
|
||||
In this section you put all the things that you want to generate. This section contains one or more **outputs**. Each output contain the following data:
|
||||
In this section you put all the things that you want to generate.
|
||||
This section contains one or more **outputs**.
|
||||
Each output contain the following data:
|
||||
|
||||
- `name` a name so you can easily identify it.
|
||||
- `comment` a short description of this output.
|
||||
- `type` selects which type of output will be generated. Examples are *gerbers*, *drill files* and *pick & place files*
|
||||
- `type` selects which type of output will be generated.
|
||||
Examples are *gerbers*, *drill files* and *pick & place files*
|
||||
- `dir` is the directory where this output will be stored.
|
||||
- `options` contains one or more options to configure this output.
|
||||
- `layers` a list of layers used for this output. Not all outputs needs this subsection.
|
||||
|
|
@ -639,7 +642,7 @@ You can also mix the styles:
|
|||
```
|
||||
|
||||
If you need to use the same list of layers for various outputs you can use YAML anchors.
|
||||
The first time you define the list of layers just assign an ancho, here is an example:
|
||||
The first time you define the list of layers just assign an anchor, here is an example:
|
||||
|
||||
```yaml
|
||||
layers: &copper_and_cmts
|
||||
|
|
@ -1577,7 +1580,7 @@ Next time you need this list just use an alias, like this:
|
|||
|
||||
#### Consolidating BoMs
|
||||
|
||||
Some times your project is composed by various boards, other you are producing various products at the same time.
|
||||
Some times your project is composed by various boards, other times you are producing various products at the same time.
|
||||
In both cases you would want to consolidate the components acquisition in one operation.
|
||||
Of course you can create individual BoMs for each project in CSV format and then consolidate them using a spreadsheet editor.
|
||||
But KiBot offers another option: you create a BoM for your main project and then aggregate the components from the other projects.
|
||||
|
|
@ -1626,7 +1629,8 @@ And get `test_merge/BoM/merge_1-bom.csv`:
|
|||
| Number of PCBs: | 1 |
|
||||
| Total Components: | 5 |
|
||||
|
||||
This CSV says you have five components groped in three different types. They are one 1 nF capacitor, one 10 nF capacitor and three 1 k resistors.
|
||||
This CSV says you have five components groped in three different types.
|
||||
They are one 1 nF capacitor, one 10 nF capacitor and three 1 k resistors.
|
||||
Now lets generate BoMs for the *merge_2* example:
|
||||
|
||||
```shell
|
||||
|
|
@ -1656,7 +1660,8 @@ We'll get `test_merge/BoM/merge_2-bom.csv`:
|
|||
| Number of PCBs: | 1 |
|
||||
| Total Components: | 6 |
|
||||
|
||||
In this project we have six components from four different types. They are similar to *merge_1* but now we also have a 10 k resistor.
|
||||
In this project we have six components from four different types.
|
||||
They are similar to *merge_1* but now we also have a 10 k resistor.
|
||||
We don't need to generate this BoM to consolidate our projects, but is good to know what we have.
|
||||
And now lets generate BoMs for the *merge_3* example:
|
||||
|
||||
|
|
@ -1685,7 +1690,8 @@ We'll get `test_merge/BoM/merge_3-bom.csv`:
|
|||
| Number of PCBs: | 1 |
|
||||
| Total Components: | 5 |
|
||||
|
||||
This time we also have five components, but from two different types. They are one 1 k resistor and four 10 k resistors.
|
||||
This time we also have five components, but from two different types.
|
||||
They are one 1 k resistor and four 10 k resistors.
|
||||
Now suppose we want to create 10 boards for *merge_1*, 20 for *merge_2* and 30 for *merge_3*.
|
||||
We could use the following configuration:
|
||||
|
||||
|
|
@ -1765,7 +1771,8 @@ The `test_merge_consolidate/BoM/merge_1-bom.csv` file will be generated containi
|
|||
| Number of PCBs: | 30 |
|
||||
| Total Components: | 150 |
|
||||
|
||||
You can see that now we have much more stats. They say we have four different types, thirteen for board sets, a total of 60 boards and 250 components.
|
||||
You can see that now we have much more stats.
|
||||
They say we have four different types, thirteen for board sets, a total of 60 boards and 250 components.
|
||||
Then we have individual stats for each project.
|
||||
The capacitors are easy to interpret, we have 30 1 nF capacitors *merge_1* project has one and *merge_2* another.
|
||||
As we have 10 *merge_1* and 20 *merge_2* boards this is clear.
|
||||
|
|
@ -1924,26 +1931,25 @@ And if you want to use the same options selected in the plot dialog use:
|
|||
kibot -b PCB_FILE -p --example
|
||||
```
|
||||
|
||||
If the current directory contains only one PCB file and only one configuration file (named *.kibot.yaml)
|
||||
you can just call `kibot`. No arguments needed. The tool will figure out which files to use.
|
||||
If the current directory contains only one PCB file and only one configuration file (named *.kibot.yaml) you can just call `kibot`.
|
||||
No arguments needed.
|
||||
The tool will figure out which files to use.
|
||||
|
||||
If more than one file is found in the current directory `kibot` will use the first found and issue a
|
||||
warning. If you need to use other file just tell it explicitly:
|
||||
If more than one file is found in the current directory `kibot` will use the first found and issue a warning.
|
||||
If you need to use other file just tell it explicitly:
|
||||
|
||||
```shell
|
||||
kibot -b PCB_FILE.kicad_pcb -c CONFIG.kibot.yaml
|
||||
```
|
||||
|
||||
A simple target can be added to your `makefile`, so you can just run
|
||||
`make pcb_files` or integrate into your current build process.
|
||||
A simple target can be added to your `makefile`, so you can just run `make pcb_files` or integrate into your current build process.
|
||||
|
||||
```Makefile
|
||||
pcb_files:
|
||||
kibot -b $(PCB) -c $(KIBOT_CFG)
|
||||
```
|
||||
|
||||
If you need to supress messages use `--quiet` or `-q` and if you need to get more informatio about
|
||||
what's going on use `--verbose` or `-v`.
|
||||
If you need to supress messages use `--quiet` or `-q` and if you need to get more informatio about what's going on use `--verbose` or `-v`.
|
||||
|
||||
If you want to generate only some of the outputs use:
|
||||
|
||||
|
|
@ -1970,8 +1976,8 @@ If you want to skip all the `preflight` tasks use:
|
|||
kibot --skip-pre all
|
||||
```
|
||||
|
||||
All outputs are generated using the current directory as base. If you want to use another
|
||||
directory as base use:
|
||||
All outputs are generated using the current directory as base.
|
||||
If you want to use another directory as base use:
|
||||
|
||||
```shell
|
||||
kibot --out-dir OTHER_PLACE
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ For example, it's common that you might want for each board rev:
|
|||
* PCB 3D render in PNG format
|
||||
|
||||
You want to do this in a one-touch way, and make sure everything you need to
|
||||
do so it securely saved in version control, not on the back of an old
|
||||
do so is securely saved in version control, not on the back of an old
|
||||
datasheet.
|
||||
|
||||
KiBot lets you do this. The following picture depicts the data flow:
|
||||
|
|
@ -162,7 +162,7 @@ If you need to match text from two different lines in the error message try usin
|
|||
|
||||
If you have two or more different options for a text to match try using `(OPTION1|OPTION2)`.
|
||||
|
||||
A complete Python regular expressions explanation is out the scope of this manual. For a complete reference consult the [Python manual](https://docs.python.org/3/library/re.html).
|
||||
A complete Python regular expressions explanation is out of the scope of this manual. For a complete reference consult the [Python manual](https://docs.python.org/3/library/re.html).
|
||||
|
||||
KiCad 6 uses strings to differentiate errors, use them for the `error` field. To keep compatibility you can use the `number` or `error_number` options for KiCad 5.
|
||||
|
||||
|
|
@ -268,7 +268,7 @@ global:
|
|||
|
||||
### Filters and variants
|
||||
|
||||
The filters and variants are mechanism used to modify the circuit components.
|
||||
The filters and variants are mechanisms used to modify the circuit components.
|
||||
Both concepts are closely related. In fact variants can use filters.
|
||||
|
||||
The current implementation of the filters allow to exclude components from some of the processing stages. The most common use is to exclude them from some output.
|
||||
|
|
@ -353,11 +353,14 @@ You can define your own lists as the `int_bom_fil_1.kibot.yaml` shows.
|
|||
|
||||
### The *outputs* section
|
||||
|
||||
In this section you put all the things that you want to generate. This section contains one or more **outputs**. Each output contain the following data:
|
||||
In this section you put all the things that you want to generate.
|
||||
This section contains one or more **outputs**.
|
||||
Each output contain the following data:
|
||||
|
||||
- `name` a name so you can easily identify it.
|
||||
- `comment` a short description of this output.
|
||||
- `type` selects which type of output will be generated. Examples are *gerbers*, *drill files* and *pick & place files*
|
||||
- `type` selects which type of output will be generated.
|
||||
Examples are *gerbers*, *drill files* and *pick & place files*
|
||||
- `dir` is the directory where this output will be stored.
|
||||
- `options` contains one or more options to configure this output.
|
||||
- `layers` a list of layers used for this output. Not all outputs needs this subsection.
|
||||
|
|
@ -499,7 +502,7 @@ You can also mix the styles:
|
|||
```
|
||||
|
||||
If you need to use the same list of layers for various outputs you can use YAML anchors.
|
||||
The first time you define the list of layers just assign an ancho, here is an example:
|
||||
The first time you define the list of layers just assign an anchor, here is an example:
|
||||
|
||||
```yaml
|
||||
layers: &copper_and_cmts
|
||||
|
|
@ -517,7 +520,7 @@ Next time you need this list just use an alias, like this:
|
|||
|
||||
#### Consolidating BoMs
|
||||
|
||||
Some times your project is composed by various boards, other you are producing various products at the same time.
|
||||
Some times your project is composed by various boards, other times you are producing various products at the same time.
|
||||
In both cases you would want to consolidate the components acquisition in one operation.
|
||||
Of course you can create individual BoMs for each project in CSV format and then consolidate them using a spreadsheet editor.
|
||||
But KiBot offers another option: you create a BoM for your main project and then aggregate the components from the other projects.
|
||||
|
|
@ -566,7 +569,8 @@ And get `test_merge/BoM/merge_1-bom.csv`:
|
|||
| Number of PCBs: | 1 |
|
||||
| Total Components: | 5 |
|
||||
|
||||
This CSV says you have five components groped in three different types. They are one 1 nF capacitor, one 10 nF capacitor and three 1 k resistors.
|
||||
This CSV says you have five components groped in three different types.
|
||||
They are one 1 nF capacitor, one 10 nF capacitor and three 1 k resistors.
|
||||
Now lets generate BoMs for the *merge_2* example:
|
||||
|
||||
```shell
|
||||
|
|
@ -596,7 +600,8 @@ We'll get `test_merge/BoM/merge_2-bom.csv`:
|
|||
| Number of PCBs: | 1 |
|
||||
| Total Components: | 6 |
|
||||
|
||||
In this project we have six components from four different types. They are similar to *merge_1* but now we also have a 10 k resistor.
|
||||
In this project we have six components from four different types.
|
||||
They are similar to *merge_1* but now we also have a 10 k resistor.
|
||||
We don't need to generate this BoM to consolidate our projects, but is good to know what we have.
|
||||
And now lets generate BoMs for the *merge_3* example:
|
||||
|
||||
|
|
@ -625,7 +630,8 @@ We'll get `test_merge/BoM/merge_3-bom.csv`:
|
|||
| Number of PCBs: | 1 |
|
||||
| Total Components: | 5 |
|
||||
|
||||
This time we also have five components, but from two different types. They are one 1 k resistor and four 10 k resistors.
|
||||
This time we also have five components, but from two different types.
|
||||
They are one 1 k resistor and four 10 k resistors.
|
||||
Now suppose we want to create 10 boards for *merge_1*, 20 for *merge_2* and 30 for *merge_3*.
|
||||
We could use the following configuration:
|
||||
|
||||
|
|
@ -705,7 +711,8 @@ The `test_merge_consolidate/BoM/merge_1-bom.csv` file will be generated containi
|
|||
| Number of PCBs: | 30 |
|
||||
| Total Components: | 150 |
|
||||
|
||||
You can see that now we have much more stats. They say we have four different types, thirteen for board sets, a total of 60 boards and 250 components.
|
||||
You can see that now we have much more stats.
|
||||
They say we have four different types, thirteen for board sets, a total of 60 boards and 250 components.
|
||||
Then we have individual stats for each project.
|
||||
The capacitors are easy to interpret, we have 30 1 nF capacitors *merge_1* project has one and *merge_2* another.
|
||||
As we have 10 *merge_1* and 20 *merge_2* boards this is clear.
|
||||
|
|
@ -864,26 +871,25 @@ And if you want to use the same options selected in the plot dialog use:
|
|||
kibot -b PCB_FILE -p --example
|
||||
```
|
||||
|
||||
If the current directory contains only one PCB file and only one configuration file (named *.kibot.yaml)
|
||||
you can just call `kibot`. No arguments needed. The tool will figure out which files to use.
|
||||
If the current directory contains only one PCB file and only one configuration file (named *.kibot.yaml) you can just call `kibot`.
|
||||
No arguments needed.
|
||||
The tool will figure out which files to use.
|
||||
|
||||
If more than one file is found in the current directory `kibot` will use the first found and issue a
|
||||
warning. If you need to use other file just tell it explicitly:
|
||||
If more than one file is found in the current directory `kibot` will use the first found and issue a warning.
|
||||
If you need to use other file just tell it explicitly:
|
||||
|
||||
```shell
|
||||
kibot -b PCB_FILE.kicad_pcb -c CONFIG.kibot.yaml
|
||||
```
|
||||
|
||||
A simple target can be added to your `makefile`, so you can just run
|
||||
`make pcb_files` or integrate into your current build process.
|
||||
A simple target can be added to your `makefile`, so you can just run `make pcb_files` or integrate into your current build process.
|
||||
|
||||
```Makefile
|
||||
pcb_files:
|
||||
kibot -b $(PCB) -c $(KIBOT_CFG)
|
||||
```
|
||||
|
||||
If you need to supress messages use `--quiet` or `-q` and if you need to get more informatio about
|
||||
what's going on use `--verbose` or `-v`.
|
||||
If you need to supress messages use `--quiet` or `-q` and if you need to get more informatio about what's going on use `--verbose` or `-v`.
|
||||
|
||||
If you want to generate only some of the outputs use:
|
||||
|
||||
|
|
@ -910,8 +916,8 @@ If you want to skip all the `preflight` tasks use:
|
|||
kibot --skip-pre all
|
||||
```
|
||||
|
||||
All outputs are generated using the current directory as base. If you want to use another
|
||||
directory as base use:
|
||||
All outputs are generated using the current directory as base.
|
||||
If you want to use another directory as base use:
|
||||
|
||||
```shell
|
||||
kibot --out-dir OTHER_PLACE
|
||||
|
|
|
|||
|
|
@ -480,7 +480,7 @@ def print_preflights_help():
|
|||
help, options = o.get_doc()
|
||||
if help is None:
|
||||
help = 'Undocumented'
|
||||
print('- {}: {}.'.format(n, help.strip()))
|
||||
print('- `{}`: {}.'.format(n, help.strip()))
|
||||
if options:
|
||||
print_output_options(n, options, 2)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue