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:
Salvador E. Tropea 2021-12-01 18:37:58 -03:00
parent 995219a8ea
commit c324b0a848
3 changed files with 62 additions and 50 deletions

View File

@ -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

View File

@ -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

View File

@ -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)