Converted CSV examples to markdown tables.

This commit is contained in:
Salvador E. Tropea 2021-02-05 10:33:15 -03:00
parent 8f38499031
commit 9ae5bcc3a9
2 changed files with 214 additions and 224 deletions

219
README.md
View File

@ -1410,30 +1410,29 @@ src/kibot -c m1.kibot.yaml -e tests/board_samples/kicad_5/merge_2.sch -d test_me
We'll get `test_merge/BoM/merge_2-bom.csv`:
```csv
Row,Description,Part,References,Value,Footprint,Quantity Per PCB,Status,Datasheet
1,Unpolarized capacitor,C,C2,1nF,,1, ,~
2,Unpolarized capacitor,C,C1,10nF,,1, ,~
3,Resistor,R,R2-R4,1000,,3, ,~
4,Resistor,R,R1,10k,,1, ,~
Project info:
Schematic:,merge_2
Variant:,default
Revision:,
Date:,2021-01-27_10-19-46
KiCad Version:,5.1.9-73d0e3b20d~88~ubuntu21.04.1
Statistics:
Component Groups:,4
Component Count:,6
Fitted Components:,6
Number of PCBs:,1
Total Components:,6
```
| Row | Description | Part | References | Value | Footprint | Quantity Per PCB | Status | Datasheet |
|--------------------|-----------------------------------|------|------------|-------|-----------|------------------|--------|-----------|
| 1 | Unpolarized capacitor | C | C2 | 1nF | | 1 | | ~ |
| 2 | Unpolarized capacitor | C | C1 | 10nF | | 1 | | ~ |
| 3 | Resistor | R | R2-R4 | 1000 | | 3 | | ~ |
| 4 | Resistor | R | R1 | 10k | | 1 | | ~ |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| Project info: | | | | | | | | |
| Schematic: | merge_2 | | | | | | | |
| Variant: | default | | | | | | | |
| Revision: | | | | | | | | |
| Date: | 2021-01-27_10-19-46 | | | | | | | |
| KiCad Version: | 5.1.9-73d0e3b20d~88~ubuntu21.04.1 | | | | | | | |
| Statistics: | | | | | | | | |
| Component Groups: | 4 | | | | | | | |
| Component Count: | 6 | | | | | | | |
| Fitted Components: | 6 | | | | | | | |
| 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.
We don't need to generate this BoM to consolidate our projects, but is good to know what we have.
@ -1445,28 +1444,27 @@ src/kibot -c m1.kibot.yaml -e tests/board_samples/kicad_5/merge_3.sch -d test_me
We'll get `test_merge/BoM/merge_3-bom.csv`:
```csv
Row,Description,Part,References,Value,Footprint,Quantity Per PCB,Status,Datasheet
1,Resistor,R,R5,1k,,1, ,~
2,Resistor,R,R1-R4,10k,,4, ,~
Project info:
Schematic:,merge_3
Variant:,default
Revision:,
Date:,2021-01-27_10-21-29
KiCad Version:,5.1.9-73d0e3b20d~88~ubuntu21.04.1
Statistics:
Component Groups:,2
Component Count:,5
Fitted Components:,5
Number of PCBs:,1
Total Components:,5
```
| Row | Description | Part | References | Value | Footprint | Quantity Per PCB | Status | Datasheet |
|--------------------|-----------------------------------|------|------------|-------|-----------|------------------|--------|-----------|
| 1 | Resistor | R | R5 | 1k | | 1 | | ~ |
| 2 | Resistor | R | R1-R4 | 10k | | 4 | | ~ |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| Project info: | | | | | | | | |
| Schematic: | merge_3 | | | | | | | |
| Variant: | default | | | | | | | |
| Revision: | | | | | | | | |
| Date: | 2021-01-27_10-21-29 | | | | | | | |
| KiCad Version: | 5.1.9-73d0e3b20d~88~ubuntu21.04.1 | | | | | | | |
| Statistics: | | | | | | | | |
| Component Groups: | 2 | | | | | | | |
| Component Count: | 5 | | | | | | | |
| Fitted Components: | 5 | | | | | | | |
| 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.
Now suppose we want to create 10 boards for *merge_1*, 20 for *merge_2* and 30 for *merge_3*.
@ -1499,58 +1497,57 @@ src/kibot -c m2.kibot.yaml -e tests/board_samples/kicad_5/merge_1.sch -d test_me
The `test_merge_consolidate/BoM/merge_1-bom.csv` file will be generated containing:
```csv
Row,Description,Part,References,Value,Footprint,Quantity Per PCB,Build Quantity,Status,Datasheet,Source BoM
1,Unpolarized capacitor,C,C1-C2,1nF,,2,30, ,~,merge_1(1) merge_2(1)
2,Unpolarized capacitor,C,C1-C2,10nF,,2,30, ,~,merge_1(1) merge_2(1)
3,Resistor,R,R1-R5,1k,,5,80, ,~,merge_1(3) merge_2(1) merge_3(1)
4,Resistor,R,R1-R4,10k,,4,110, ,~,merge_2(1) merge_3(3)
Project info:
Variant:,default
KiCad Version:,5.1.9-73d0e3b20d~88~ubuntu21.04.1
Global statistics:
Component Groups:,4
Component Count:,13
Fitted Components:,13
Number of PCBs:,60
Total Components:,250
Project info:,merge_1
Schematic:,merge_1
Revision:,
Date:,2021-02-02_12-12-27
Company:,Test company
Statistics:,merge_1
Component Groups:,3
Component Count:,5
Fitted Components:,5
Number of PCBs:,10
Total Components:,50
Project info:,merge_2
Schematic:,merge_2
Revision:,
Date:,2021-01-27_10-19-46
Statistics:,merge_2
Component Groups:,4
Component Count:,4
Fitted Components:,4
Number of PCBs:,20
Total Components:,80
Project info:,merge_3
Schematic:,merge_3
Revision:,
Date:,2021-01-27_10-21-29
Statistics:,merge_3
Component Groups:,2
Component Count:,4
Fitted Components:,4
Number of PCBs:,30
Total Components:,120
```
| Row | Description | Part | References | Value | Footprint | Quantity Per PCB | Build Quantity | Status | Datasheet | Source BoM |
|--------------------|-----------------------------------|------|------------|-------|-----------|------------------|----------------|--------|-----------|----------------------------------|
| 1 | Unpolarized capacitor | C | C1-C2 | 1nF | | 2 | 30 | | ~ | merge_1(1) merge_2(1) |
| 2 | Unpolarized capacitor | C | C1-C2 | 10nF | | 2 | 30 | | ~ | merge_1(1) merge_2(1) |
| 3 | Resistor | R | R1-R5 | 1k | | 5 | 80 | | ~ | merge_1(3) merge_2(1) merge_3(1) |
| 4 | Resistor | R | R1-R4 | 10k | | 4 | 110 | | ~ | merge_2(1) merge_3(3) |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| Project info: | | | | | | | | | | |
| Variant: | default | | | | | | | | | |
| KiCad Version: | 5.1.9-73d0e3b20d~88~ubuntu21.04.1 | | | | | | | | | |
| Global statistics: | | | | | | | | | | |
| Component Groups: | 4 | | | | | | | | | |
| Component Count: | 13 | | | | | | | | | |
| Fitted Components: | 13 | | | | | | | | | |
| Number of PCBs: | 60 | | | | | | | | | |
| Total Components: | 250 | | | | | | | | | |
| Project info: | merge_1 | | | | | | | | | |
| Schematic: | merge_1 | | | | | | | | | |
| Revision: | | | | | | | | | | |
| Date: | 2021-02-02_12-12-27 | | | | | | | | | |
| Company: | Test company | | | | | | | | | |
| Statistics: | merge_1 | | | | | | | | | |
| Component Groups: | 3 | | | | | | | | | |
| Component Count: | 5 | | | | | | | | | |
| Fitted Components: | 5 | | | | | | | | | |
| Number of PCBs: | 10 | | | | | | | | | |
| Total Components: | 50 | | | | | | | | | |
| Project info: | merge_2 | | | | | | | | | |
| Schematic: | merge_2 | | | | | | | | | |
| Revision: | | | | | | | | | | |
| Date: | 2021-01-27_10-19-46 | | | | | | | | | |
| Statistics: | merge_2 | | | | | | | | | |
| Component Groups: | 4 | | | | | | | | | |
| Component Count: | 4 | | | | | | | | | |
| Fitted Components: | 4 | | | | | | | | | |
| Number of PCBs: | 20 | | | | | | | | | |
| Total Components: | 80 | | | | | | | | | |
| Project info: | merge_3 | | | | | | | | | |
| Schematic: | merge_3 | | | | | | | | | |
| Revision: | | | | | | | | | | |
| Date: | 2021-01-27_10-21-29 | | | | | | | | | |
| Statistics: | merge_3 | | | | | | | | | |
| Component Groups: | 2 | | | | | | | | | |
| Component Count: | 4 | | | | | | | | | |
| Fitted Components: | 4 | | | | | | | | | |
| Number of PCBs: | 30 | | | | | | | | | |
| Total Components: | 120 | | | | | | | | | |
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.
@ -1584,13 +1581,12 @@ outputs:
Now `test_merge_consolidate/BoM/merge_1-bom.csv` will have the following information:
```csv
Row,Description,Part,References,Value,Footprint,Quantity Per PCB,Build Quantity,Status,Datasheet,Source BoM
1,Unpolarized capacitor,C,A:C1 B:C2,1nF,,2,30, ,~,merge_1(1) merge_2(1)
2,Unpolarized capacitor,C,A:C2 B:C1,10nF,,2,30, ,~,merge_1(1) merge_2(1)
3,Resistor,R,A:R1-A:R3 B:R2-B:R4 C:R5,1k,,7,120, ,~,merge_1(3) merge_2(3) merge_3(1)
4,Resistor,R,B:R1 C:R1-C:R4,10k,,5,140, ,~,merge_2(1) merge_3(4)
```
| Row | Description | Part | References | Value | Footprint | Quantity Per PCB | Build Quantity | Status | Datasheet | Source BoM |
|-----|-----------------------|------|--------------------------|-------|-----------|------------------|----------------|--------|-----------|----------------------------------|
| 1 | Unpolarized capacitor | C | A:C1 B:C2 | 1nF | | 2 | 30 | | ~ | merge_1(1) merge_2(1) |
| 2 | Unpolarized capacitor | C | A:C2 B:C1 | 10nF | | 2 | 30 | | ~ | merge_1(1) merge_2(1) |
| 3 | Resistor | R | A:R1-A:R3 B:R2-B:R4 C:R5 | 1k | | 7 | 120 | | ~ | merge_1(3) merge_2(3) merge_3(1) |
| 4 | Resistor | R | B:R1 C:R1-C:R4 | 10k | | 5 | 140 | | ~ | merge_2(1) merge_3(4) |
As you can see now we know `A` has R1-R3, `B` R2-R4 and for `C` R5 is the 1k resistor.
If we want to compact the `Source BoM` column we just need to enable the `source_by_id` option:
@ -1620,13 +1616,12 @@ outputs:
And we'll get:
```csv
Row,Description,Part,References,Value,Footprint,Quantity Per PCB,Build Quantity,Status,Datasheet,Source BoM
1,Unpolarized capacitor,C,A:C1 B:C2,1nF,,2,30, ,~,A:(1) B:(1)
2,Unpolarized capacitor,C,A:C2 B:C1,10nF,,2,30, ,~,A:(1) B:(1)
3,Resistor,R,A:R1-A:R3 B:R2-B:R4 C:R5,1k,,7,120, ,~,A:(3) B:(3) C:(1)
4,Resistor,R,B:R1 C:R1-C:R4,10k,,5,140, ,~,B:(1) C:(4)
```
| Row | Description | Part | References | Value | Footprint | Quantity Per PCB | Build Quantity | Status | Datasheet | Source BoM |
|-----|-----------------------|------|--------------------------|-------|-----------|------------------|----------------|--------|-----------|-------------------|
| 1 | Unpolarized capacitor | C | A:C1 B:C2 | 1nF | | 2 | 30 | | ~ | A:(1) B:(1) |
| 2 | Unpolarized capacitor | C | A:C2 B:C1 | 10nF | | 2 | 30 | | ~ | A:(1) B:(1) |
| 3 | Resistor | R | A:R1-A:R3 B:R2-B:R4 C:R5 | 1k | | 7 | 120 | | ~ | A:(3) B:(3) C:(1) |
| 4 | Resistor | R | B:R1 C:R1-C:R4 | 10k | | 5 | 140 | | ~ | B:(1) C:(4) |
## Usage

View File

@ -536,30 +536,29 @@ src/kibot -c m1.kibot.yaml -e tests/board_samples/kicad_5/merge_2.sch -d test_me
We'll get `test_merge/BoM/merge_2-bom.csv`:
```csv
Row,Description,Part,References,Value,Footprint,Quantity Per PCB,Status,Datasheet
1,Unpolarized capacitor,C,C2,1nF,,1, ,~
2,Unpolarized capacitor,C,C1,10nF,,1, ,~
3,Resistor,R,R2-R4,1000,,3, ,~
4,Resistor,R,R1,10k,,1, ,~
Project info:
Schematic:,merge_2
Variant:,default
Revision:,
Date:,2021-01-27_10-19-46
KiCad Version:,5.1.9-73d0e3b20d~88~ubuntu21.04.1
Statistics:
Component Groups:,4
Component Count:,6
Fitted Components:,6
Number of PCBs:,1
Total Components:,6
```
| Row | Description | Part | References | Value | Footprint | Quantity Per PCB | Status | Datasheet |
|--------------------|-----------------------------------|------|------------|-------|-----------|------------------|--------|-----------|
| 1 | Unpolarized capacitor | C | C2 | 1nF | | 1 | | ~ |
| 2 | Unpolarized capacitor | C | C1 | 10nF | | 1 | | ~ |
| 3 | Resistor | R | R2-R4 | 1000 | | 3 | | ~ |
| 4 | Resistor | R | R1 | 10k | | 1 | | ~ |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| Project info: | | | | | | | | |
| Schematic: | merge_2 | | | | | | | |
| Variant: | default | | | | | | | |
| Revision: | | | | | | | | |
| Date: | 2021-01-27_10-19-46 | | | | | | | |
| KiCad Version: | 5.1.9-73d0e3b20d~88~ubuntu21.04.1 | | | | | | | |
| Statistics: | | | | | | | | |
| Component Groups: | 4 | | | | | | | |
| Component Count: | 6 | | | | | | | |
| Fitted Components: | 6 | | | | | | | |
| 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.
We don't need to generate this BoM to consolidate our projects, but is good to know what we have.
@ -571,28 +570,27 @@ src/kibot -c m1.kibot.yaml -e tests/board_samples/kicad_5/merge_3.sch -d test_me
We'll get `test_merge/BoM/merge_3-bom.csv`:
```csv
Row,Description,Part,References,Value,Footprint,Quantity Per PCB,Status,Datasheet
1,Resistor,R,R5,1k,,1, ,~
2,Resistor,R,R1-R4,10k,,4, ,~
Project info:
Schematic:,merge_3
Variant:,default
Revision:,
Date:,2021-01-27_10-21-29
KiCad Version:,5.1.9-73d0e3b20d~88~ubuntu21.04.1
Statistics:
Component Groups:,2
Component Count:,5
Fitted Components:,5
Number of PCBs:,1
Total Components:,5
```
| Row | Description | Part | References | Value | Footprint | Quantity Per PCB | Status | Datasheet |
|--------------------|-----------------------------------|------|------------|-------|-----------|------------------|--------|-----------|
| 1 | Resistor | R | R5 | 1k | | 1 | | ~ |
| 2 | Resistor | R | R1-R4 | 10k | | 4 | | ~ |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| Project info: | | | | | | | | |
| Schematic: | merge_3 | | | | | | | |
| Variant: | default | | | | | | | |
| Revision: | | | | | | | | |
| Date: | 2021-01-27_10-21-29 | | | | | | | |
| KiCad Version: | 5.1.9-73d0e3b20d~88~ubuntu21.04.1 | | | | | | | |
| Statistics: | | | | | | | | |
| Component Groups: | 2 | | | | | | | |
| Component Count: | 5 | | | | | | | |
| Fitted Components: | 5 | | | | | | | |
| 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.
Now suppose we want to create 10 boards for *merge_1*, 20 for *merge_2* and 30 for *merge_3*.
@ -625,58 +623,57 @@ src/kibot -c m2.kibot.yaml -e tests/board_samples/kicad_5/merge_1.sch -d test_me
The `test_merge_consolidate/BoM/merge_1-bom.csv` file will be generated containing:
```csv
Row,Description,Part,References,Value,Footprint,Quantity Per PCB,Build Quantity,Status,Datasheet,Source BoM
1,Unpolarized capacitor,C,C1-C2,1nF,,2,30, ,~,merge_1(1) merge_2(1)
2,Unpolarized capacitor,C,C1-C2,10nF,,2,30, ,~,merge_1(1) merge_2(1)
3,Resistor,R,R1-R5,1k,,5,80, ,~,merge_1(3) merge_2(1) merge_3(1)
4,Resistor,R,R1-R4,10k,,4,110, ,~,merge_2(1) merge_3(3)
Project info:
Variant:,default
KiCad Version:,5.1.9-73d0e3b20d~88~ubuntu21.04.1
Global statistics:
Component Groups:,4
Component Count:,13
Fitted Components:,13
Number of PCBs:,60
Total Components:,250
Project info:,merge_1
Schematic:,merge_1
Revision:,
Date:,2021-02-02_12-12-27
Company:,Test company
Statistics:,merge_1
Component Groups:,3
Component Count:,5
Fitted Components:,5
Number of PCBs:,10
Total Components:,50
Project info:,merge_2
Schematic:,merge_2
Revision:,
Date:,2021-01-27_10-19-46
Statistics:,merge_2
Component Groups:,4
Component Count:,4
Fitted Components:,4
Number of PCBs:,20
Total Components:,80
Project info:,merge_3
Schematic:,merge_3
Revision:,
Date:,2021-01-27_10-21-29
Statistics:,merge_3
Component Groups:,2
Component Count:,4
Fitted Components:,4
Number of PCBs:,30
Total Components:,120
```
| Row | Description | Part | References | Value | Footprint | Quantity Per PCB | Build Quantity | Status | Datasheet | Source BoM |
|--------------------|-----------------------------------|------|------------|-------|-----------|------------------|----------------|--------|-----------|----------------------------------|
| 1 | Unpolarized capacitor | C | C1-C2 | 1nF | | 2 | 30 | | ~ | merge_1(1) merge_2(1) |
| 2 | Unpolarized capacitor | C | C1-C2 | 10nF | | 2 | 30 | | ~ | merge_1(1) merge_2(1) |
| 3 | Resistor | R | R1-R5 | 1k | | 5 | 80 | | ~ | merge_1(3) merge_2(1) merge_3(1) |
| 4 | Resistor | R | R1-R4 | 10k | | 4 | 110 | | ~ | merge_2(1) merge_3(3) |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| Project info: | | | | | | | | | | |
| Variant: | default | | | | | | | | | |
| KiCad Version: | 5.1.9-73d0e3b20d~88~ubuntu21.04.1 | | | | | | | | | |
| Global statistics: | | | | | | | | | | |
| Component Groups: | 4 | | | | | | | | | |
| Component Count: | 13 | | | | | | | | | |
| Fitted Components: | 13 | | | | | | | | | |
| Number of PCBs: | 60 | | | | | | | | | |
| Total Components: | 250 | | | | | | | | | |
| Project info: | merge_1 | | | | | | | | | |
| Schematic: | merge_1 | | | | | | | | | |
| Revision: | | | | | | | | | | |
| Date: | 2021-02-02_12-12-27 | | | | | | | | | |
| Company: | Test company | | | | | | | | | |
| Statistics: | merge_1 | | | | | | | | | |
| Component Groups: | 3 | | | | | | | | | |
| Component Count: | 5 | | | | | | | | | |
| Fitted Components: | 5 | | | | | | | | | |
| Number of PCBs: | 10 | | | | | | | | | |
| Total Components: | 50 | | | | | | | | | |
| Project info: | merge_2 | | | | | | | | | |
| Schematic: | merge_2 | | | | | | | | | |
| Revision: | | | | | | | | | | |
| Date: | 2021-01-27_10-19-46 | | | | | | | | | |
| Statistics: | merge_2 | | | | | | | | | |
| Component Groups: | 4 | | | | | | | | | |
| Component Count: | 4 | | | | | | | | | |
| Fitted Components: | 4 | | | | | | | | | |
| Number of PCBs: | 20 | | | | | | | | | |
| Total Components: | 80 | | | | | | | | | |
| Project info: | merge_3 | | | | | | | | | |
| Schematic: | merge_3 | | | | | | | | | |
| Revision: | | | | | | | | | | |
| Date: | 2021-01-27_10-21-29 | | | | | | | | | |
| Statistics: | merge_3 | | | | | | | | | |
| Component Groups: | 2 | | | | | | | | | |
| Component Count: | 4 | | | | | | | | | |
| Fitted Components: | 4 | | | | | | | | | |
| Number of PCBs: | 30 | | | | | | | | | |
| Total Components: | 120 | | | | | | | | | |
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.
@ -710,13 +707,12 @@ outputs:
Now `test_merge_consolidate/BoM/merge_1-bom.csv` will have the following information:
```csv
Row,Description,Part,References,Value,Footprint,Quantity Per PCB,Build Quantity,Status,Datasheet,Source BoM
1,Unpolarized capacitor,C,A:C1 B:C2,1nF,,2,30, ,~,merge_1(1) merge_2(1)
2,Unpolarized capacitor,C,A:C2 B:C1,10nF,,2,30, ,~,merge_1(1) merge_2(1)
3,Resistor,R,A:R1-A:R3 B:R2-B:R4 C:R5,1k,,7,120, ,~,merge_1(3) merge_2(3) merge_3(1)
4,Resistor,R,B:R1 C:R1-C:R4,10k,,5,140, ,~,merge_2(1) merge_3(4)
```
| Row | Description | Part | References | Value | Footprint | Quantity Per PCB | Build Quantity | Status | Datasheet | Source BoM |
|-----|-----------------------|------|--------------------------|-------|-----------|------------------|----------------|--------|-----------|----------------------------------|
| 1 | Unpolarized capacitor | C | A:C1 B:C2 | 1nF | | 2 | 30 | | ~ | merge_1(1) merge_2(1) |
| 2 | Unpolarized capacitor | C | A:C2 B:C1 | 10nF | | 2 | 30 | | ~ | merge_1(1) merge_2(1) |
| 3 | Resistor | R | A:R1-A:R3 B:R2-B:R4 C:R5 | 1k | | 7 | 120 | | ~ | merge_1(3) merge_2(3) merge_3(1) |
| 4 | Resistor | R | B:R1 C:R1-C:R4 | 10k | | 5 | 140 | | ~ | merge_2(1) merge_3(4) |
As you can see now we know `A` has R1-R3, `B` R2-R4 and for `C` R5 is the 1k resistor.
If we want to compact the `Source BoM` column we just need to enable the `source_by_id` option:
@ -746,13 +742,12 @@ outputs:
And we'll get:
```csv
Row,Description,Part,References,Value,Footprint,Quantity Per PCB,Build Quantity,Status,Datasheet,Source BoM
1,Unpolarized capacitor,C,A:C1 B:C2,1nF,,2,30, ,~,A:(1) B:(1)
2,Unpolarized capacitor,C,A:C2 B:C1,10nF,,2,30, ,~,A:(1) B:(1)
3,Resistor,R,A:R1-A:R3 B:R2-B:R4 C:R5,1k,,7,120, ,~,A:(3) B:(3) C:(1)
4,Resistor,R,B:R1 C:R1-C:R4,10k,,5,140, ,~,B:(1) C:(4)
```
| Row | Description | Part | References | Value | Footprint | Quantity Per PCB | Build Quantity | Status | Datasheet | Source BoM |
|-----|-----------------------|------|--------------------------|-------|-----------|------------------|----------------|--------|-----------|-------------------|
| 1 | Unpolarized capacitor | C | A:C1 B:C2 | 1nF | | 2 | 30 | | ~ | A:(1) B:(1) |
| 2 | Unpolarized capacitor | C | A:C2 B:C1 | 10nF | | 2 | 30 | | ~ | A:(1) B:(1) |
| 3 | Resistor | R | A:R1-A:R3 B:R2-B:R4 C:R5 | 1k | | 7 | 120 | | ~ | A:(3) B:(3) C:(1) |
| 4 | Resistor | R | B:R1 C:R1-C:R4 | 10k | | 5 | 140 | | ~ | B:(1) C:(4) |
## Usage